기본 콘텐츠로 건너뛰기

2017의 게시물 표시

java 특정 폴더 파일리스트 읽기

String path="C:\"; File dirFile=new File(path); File []fileList=dirFile.listFiles(); for(File tempFile : fileList) {   if(tempFile.isFile()) {     String tempPath=tempFile.getParent();     String tempFileName=tempFile.getName();     System.out.println("Path="+tempPath);     System.out.println("FileName="+tempFileName);     /*** Do something withd tempPath and temp FileName ^^; ***/   } }

MySQL에서의-대소문자-처리

http://deadfile.tistory.com/entry/MySQL%EC%97%90%EC%84%9C%EC%9D%98-%EB%8C%80%EC%86%8C%EB%AC%B8%EC%9E%90-%EC%B2%98%EB%A6%AC 테이블 쿼리를 할 경우는 대소문자를 구분 필드 값을 비교 할때는 대소문자를 구분하지 않음. select * from test where test = BINARY('test'); 이렇게 하거나 필드 자체를 대소문자를 구분하게 생성해야함... 내가 알던 DBMS랑 많이 다른듯

다운로드 파일명 깨짐현상 처리

웹개발시 파일 다운로드 할때 한글 특수 문자 깨짐.. 이것이 설명이 잘되 있는데 공백 처리는 되는데 !@#$%^&*() 이거 처리도 되는지 잘모르겠다 http://devdic.tistory.com/26 public static String getBrowser(HttpServletRequest request) { String userAgent = request.getuserAgent("User-Agent"); if (userAgent.indexOf("MSIE") > -1 || userAgent.indexOf("Trident") > -1 ){ //IE 버전 별 체크 >> Trident/7.0(IE 11), Trident/6.0(IE 10) , Trident/5.0(IE 9) , Trident/4.0(IE 8) return "MSIE"; } else if (userAgent.indexOf("Chrome") > -1) { return "Chrome"; } else if (userAgent.indexOf("Opera") > -1) { return "Opera"; } else if ( userAgent.indexOf("Firefox") > -1 ) { return "Firefox"; } return "Safari"; }

SpringSecurity 강제로 로그인 시키기

http://www.coolio.so/springsecurity-%EA%B0%95%EC%A0%9C%EB%A1%9C-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EC%8B%9C%ED%82%A4%EA%B8%B0/ 정의되지 않은 로그인 폼을 통해서 로그인 할 경우에도 강제로 SpringSecurity의 로그인 세션을 생성하는 방법을 구현하였다. 1. 로그인으로 사용한 URL에 대한 세션체크 기능을 제외한다. 1 2. 컨트롤러에서 SpringSecurity에 세션 주입 @Resource(name="userDetailsService") protected UserDetailsService userDetailsService; @RequestMapping(value="login", method=RequestMethod.POST) public String login(HttpServletRequest request) throws Exception{     UserDetails ckUserDetails = userDetailsService.loadUserByUsername("USER_ID");     Authentication authentication = new UsernamePasswordAuthenticationToken(ckUserDetails, "USER_PASSWORD", ckUserDetails.getAuthorities());     SecurityContext securityContext = SecurityContextHolder.getContext();     securityContext.setAuthentication(authentication);     HttpSession session = request.getSession(true);     session.setAttribute("SPRING_SECURITY_CONTEXT&quo

javascript 반복 실행 setTimeout , setInterval

어떤일을 하고 1초후 실행 setTimeout(function () {     something(); }, 1000); // Execute something() 1 second later. setInterval(): 일이 끝나지 않아도  2초 마다 실행 It is a function that execute a JavaScript statement EVERY x interval. setInterval(function () {     somethingElse(); }, 2000); // Execute somethingElse() every 2 seconds.

리눅스 시간 맞추기...

이걸 몰라서 계속 안된다구 했네.. ㅠ.ㅠ 먼저 서버 시간 설정을 Seoul로 변경 ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime 자동으로 시간 설정 rdate -s time.bora.net 수동으로 시간 설정 date -s "2017-09-09 07:57:50"

PowerPoint에서 개체의 위치를 원하는 대로 정확하게 맞추는 방법 [Step by Step]

https://support.microsoft.com/ko-kr/help/2710268 프레젠테이션 문서에 삽입하는 도형, 텍스트, 그림 등은 보기 좋게 정렬하기 위해 위치를 잘 맞추어야 할 필요가 있습니다. 간혹 이 위치를 잘 맞추지 못해서 고생하는 분들이 있는데, PowerPoint의 맞춤 및 배분 정렬 기능과 스마트 가이드 기능을 잘 이용하면 편리하게 맞출 수 있습니다. PowerPoint의 개체 정렬은 개체의 중심과 끝을 기준으로 정렬됩니다.

듀얼 모니터 작업 표시줄 같게 나오기

https://sourceforge.net/projects/dualmonitortb/ Dual Monitor Taskbar 무료이고 듀얼 모니터에 각각 작업 표시줄이 나오게 합니다. 강추

This is very likely to create a memory leak.

이클립스에서 프로젝트를 WAR파일로 묶어 배포를 주로 하게 되는데, 이때 WAR파일의 Library에 들어있는 MySQL Connector / Driver 파일을 지우고, 이 라이브러리를 tomcat의 lib 디렉토리로 옮겨놓으라는 것이었습니다. 이유는 war 파일 내에 해당 Connector/Driver.jar 파일이 들어있는 경우, 하나의 프로젝트면 크게 상관이 없을지도 모르겠으나 여러 프로젝트를 webapps 아래에 war파일로 배포하게 되는 경우, 해당 커넥터/드라이버가 계속 생성이 될 것이라는 점이었습니다. 게다가 향후 JVM의 가비지컬렉터가 활성화 되더라도 MySQL에 들락날락거리는 그 접속 객체를 삭제할 수가 없게 될 수도 있어 결국 메모리를 고갈시킬 수 있는 문제가 있다는 것이었습니다. 그러니, war 파일에 해당 연결/드라이버 라이브러리를 넣지 말고, 톰캣이 설치된 디렉토리 아래의 lib 디렉토리에 mysql-connector-java-x.x.xx.jar 파일을 이동시키라는 이야기였습니다.

mysql 계정 추가

-  mysql 서버 로그인하기  $ mysql -uroot -prootpassword mysql - 다른 PC에서 mysql 서버로 접속을 하기 위한 사용자 추가  mysql> create user 'userId'@'%' identified by 'userpassword'; - 위 사용자에게 모든 것을 할 수 있는 권한 주기 mysql> grant all privileges on *.* to 'userid'@'%'; - 위 사용자에게 특정 DB를 관리할수 있는 권한 주기  mysql> grant all privileges on dbname.* to 'userid'@'%'; - 로컬PC에서 mysql로 접속하기 위한 사용자 추가  mysql> create user 'userId'@'localhost' identified by 'userpassword'; - 위 사용자에게 모든 것을 할 수 있는 권한 주기  mysql> grant all privileges on *.* to 'userid'@'localhost'; - 위 사용자에게 특정 DB를 관리할 수 있는 권한 주기  mysql> grant all privileges on dbname.* to 'userid'@'localhost';

안드로이드 Spinner

방법 1 Spinner spinner = (Spinner) findViewById(R.id.size_spinner); String size = spinner.getSelectedItem().toString(); // Small, Medium, Large 방법 2 int spinner_pos = spinner.getSelectedItemPosition(); String[] size_values = getResources().getStringArray(R.array.size_values); int size = Integer.valueOf(size_values[spinner_pos]); // 12, 16, 20

[안드로이드] 외부 앱 실행 파라메터 주기

설치 여부 확인하기 public boolean getPackageList() {     boolean isExist = false;     PackageManager pkgMgr = getPackageManager();     List mApps;     Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);     mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);     mApps = pkgMgr.queryIntentActivities(mainIntent, 0);     try {         for (int i = 0; i < mApps.size(); i++) {             if(mApps.get(i).activityInfo.packageName.startsWith("com.kor.app")){                 isExist = true;                 break;             }         }     }     catch (Exception e) {         isExist = false;     }     return isExist; } 외부 실행 Intent intent = getPackageManager().getLaunchIntentForPackage("com.kor.app"); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //파라메터 넣기 intent.putExtra("my_text", "This is my text to send."); startActivity(intent); 앱이 설치되어 있지 않다면 앱스토어로 이동합니다. String url = "market://details?id=" + "c

Java ArrayList 생성,추가,삭제,변경 방법

ArrayList arrBt = new ArrayList (); //선언 arrBt .add(new Bitmap());        //새로 생성해서 추가 arrBt .add(new Bitmap(1,2));   //파라미터를 받을때 int n = arrBt .size();                 //ArrayList에 저장된 갯수 arrBt .get(index);                    //인덱스번째 데이터를 가져오기 arrBt .remove(index);              //인덱스번째 데이터 삭제 arrBt .clear();                          //모든 데이터를 삭제하고 초기화

mysql DATETIME형의 기본값으로 현재시간 설정

mysql에서 시간을 저장하는 컬럼에 현재시간을 기본으로 설정하려면 기본값을 CURRENT_TIMESTAMP로 하면 된다. CURRENT_TIMESTAMP를 기본값으로 하면 INSERT나 UPDATE시 now()를 쓰는 것과 같은 효과를 볼 수 있다. 하지만 DATETIME형의 경우 5.6버전 이후부터 CURRENT_TIMESTAMP를 사용할 수 있다. 5.5이하 버전에서 기본값으로 현재시간을 설정하려면 DATETIME형 대신 TIMESTAMP형을 사용한다. 저장하려는 시간이 아래 기간 안에 있다면 문제없이 쓸 수 있다. '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC. 위 시간에 벗어나는 시간대를 저장해야 하고 INSERT시 현재값을 저장하려면 아래 방법 중 1개를 선택한다. 1. mysql 5.6버전 이상으로 업그레이드하고 DATETIME형을 사용, DEFAULT값을 CURRENT_TIMESTAMP로 한다. 2. 5.5버전 이하에서는 DATETIME형으로 선언하고, INSERT시 now()를 사용해서 시간을 수동으로 설정한다. 참조 . 11.3.1 The DATE, DATETIME, and TIMESTAMP Types (ver 5.5)

Ubuntu – Service(e. Tomcat) 등록 및 삭제

새로 시작하는 서비스를 등록하기 위해 스크립트 작성과 서비스 등록법을 설명한다. 해당 자료는  askubuntu.com 에서 참조하였다. Init 스크립트 #!/bin/bash ### BEGIN INIT INFO # Provides: tomcat7 # Required-Start: $network # Required-Stop: $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start/Stop Tomcat server ### END INIT INFO PATH = /sbin:/ bin : /usr/ sbin : /usr/ bin start () { sh / usr / share / tomcat7 / bin / startup . sh } stop () { sh / usr / share / tomcat7 / bin / shutdown . sh } case $1 in start | stop ) $1 ;; restart ) stop ; start ;; *) echo "Run as $0 " ; exit 1 ;; esac 위 스크립트 작성 후  /etc/init.d/ 에 위치시킨다. chmod 755 / etc / init . d / tomcat7 update - rc . d tomcat7 defaults 등록 후 service tomcat7 [ start | stop | restart ] 로 사용이 가능하다. 그럼  update-rc.d 는 무엇일까? 우분투는 부팅시 서비스를 등록 할 수 있다. 그 때 이 명령어를 이용한다. 방법은 위와 동일하다. 1. /etc/init.d/ 위치에 스크립트 생성 2. chmod를 이용하여 권한 부여 3. update-rc.d를 이용하여 서비스를 등록 한다. 삭제 법은 아래와 같다 update-

보안서버 구축(SSL)은 어떻게 하나요?

퍼온 글: https://www.guideline.co.kr/howto/howto_contents.php?idx=119 #2 SSL(Secure Socket Layer) 인증서 종류는 어떤것이 있나요? 일반적으로 홈페이지에 사용하는 인증서는 SSL보안서버 인증서 입니다. 은행,금융 홈페이지에 ActiveX가 설치 되는 것은 응용프로그램 인증서 입니다. 홈페이지에 적용하는 사용 목적 및 이용 용도에 따라 선택을 하시면 됩니다. 또한 SSL 인증서 발급 업체에 따라 종류 및 가격의 차이가 있기에 직접 자신에 맞는 업체 및 종류를 선택 하시는 것이 필요합니다. SSL(Secure Socket Layer) 인증서의 도메인은 어떻게 적용되나요? 예를 들어서 guideline.co.kr 란 도메인에 접속을  https://guideline.co.kr https://www.guideline.co.kr 으로 접속 할때 웹서버(Apache)에서는 알리아스(Alias) 설정으로 동일하게 접속이 되지만 SSL 인증서는 다른 도메인으로 간주되어 인식하게 됩니다. 즉, SSL 인증서 구입시 신청 하신 도메인명으로만 SSL 인증서 적용이 됩니다. Tomcat엔진을 JSP/Servlet 페이지에 인증서를 적용은 어떻게 하나요? SSL 인증서의 경우 보통 웹서버(Apache)용 모듈 인증서가 발급이 됩니다. PHP 호스팅을 신청하는 경우에는 상관이 없지만 JSP 호스팅을 신청하실 경우에는 Apache + tomcat 서버 데몬으로 서비스가 운영되어 집니다. 즉, JSP 호스팅은 JSP/Servlet 페이지로 인증을 받아야 하기 때문에 Apache 인증서가 아닌 Tomcat용 인증서 발급이 필요합니다. 또한 #1에 설명한 인증서 발급 설정과도 다릅니다. Tomcat SSL 설정 문서 :  http://www.apache-korea.org/tomcat/tomcat-4.1-doc/ssl-howto.html Tomcat용 인증서를 발급 받기 certificate keystore 작업은 가이드