기본 콘텐츠로 건너뛰기

2016의 게시물 표시

BitTorrent Sync

우분투 설치 apt-get -y install python-software-properties add-apt-repository ppa:tuxpoldo/btsync apt-get update apt-get -y install btsync mkdir /btsync #set ownership to btsync user chown btsync /btsync service btsync start service btsync stop 나머지 설정은 다음에... 참고 사이트 http://blog.djjproject.com/56

웹에서 폴더 선택후 업로드

찾아보니까 이런게 있네요 http://dior.ics.muni.cz/~makub/massupload.html 위의 링크에서 핵심은 아래 구문이네요 document.getElementById('dir_input').files 크롬은 이런 구문으로 폴더내의 파일을 배열로 가져오네요 내용을 보면 불여우나 익스에는 안될것 같네요

톰캣 세션 타임 아웃 설정

web.xml 파일이 있습니다. 이 파일을 열어서 session이라고 검색해 보십시오. <session-config>   <session-timeout>360</session-timeout> </session-config> 위 단락을 찾을 수 있습니다. session-timeout 시간 360이 바로 자동로그아웃 세션 시간입니다.  단위는 분이고요. 30분으로 하고 싶으시면 30으로 바꿔서 저장해주시면 되는 것이죠~ Tomcat 내에서 Session Timeout 를 설정하는 우선 순위가 존재 한다. session.setMaxInactiveInterval() 프로그램내에서 time out 를 설정했을 경우 Web application 내의 WEB-INF/web.xml Tomcat 내의 conf/web.xml 실제로 Tomcat(conf/web.xml)내에 Default 로 설정되어 있는 것은 다음과 같다. < HttpSession 메서드 > getCreationTime() - 세션 생성 시간 getLastAccessedTime() - 마지막 요청 시간 setMaxInactiveInterval() - 최대허용시간 설정 (초) getMaxInactiveInterval() - 최대허용시간 invalidate() - 세션 제거 < 타임아웃 설정하기 > - 일정 시간 동안 요청이 없으면 세션을 제거한다  1. DD에서 전체 세션 타임아웃 설정       web.xml 1. DD에서 전체 세션 타임아웃 설정       web.xml <web-app ... >     <servlet>          ...     </servlet>     <session-config>         <session-timeout>30</session-timeout>

myslq / 마리아 DB lock 확인 풀기

1. 상태 보기  show processlist; MariaDB [data]> show processlist; +------+------+-------------------+------------+---------+-------+-------+------------------+----------+ | Id   | User | Host              | db         | Command | Time  | State | Info             | Progress | +------+------+-------------------+------------+---------+-------+-------+------------------+----------+ |   99 | root | 127.0.0.1:37654   | saintdb    | Sleep   |     1 |       | NULL             |    0.000 | 2. lock 해제 id를 가지고 kill 하면 된다. kill 99;

우분투 PostgreSQL 설치

참조 사이트 http://zetawiki.com/wiki/%EC%9A%B0%EB%B6%84%ED%88%AC_PostgreSQL_%EC%84%A4%EC%B9%98 1. 설치 확인 aptitude show postgresql | grep State State: not installed 2. 설치 apt-get install postgresql 3. 확인 dpkg -l | grep postgres 4. 계정 확인 cat /etc/passwd | grep postgres postgres:x:110:120:PostgreSQL administrator,,,:/var/lib/postgresql:/bin/bash 네트웍 상태 확인 netstat -tnlp | grep postgres 패스워드 설정 sudo -u postgres psql template1 could not change directory to "/root": Permission denied psql (9.3.11) Type "help" for help. template1=# template1=# ALTER USER postgres with encrypted password 'P@ssw0rd'; ALTER ROLE template1=# \q 접속 모든 대역 허용 vi /etc/postgresql/9.3/main/postgresql.conf listen_addresses = '*' vi /etc/postgresql/9.3/main/pg_hba.conf host    all             all             0.0.0.0/0               md5 접속 테스트 psql -h 135.79.246.80 -U postgres template1 접속 db 포함 접속 #psql -h 127.0.0.1 -U postgres customsinsa 다른 DB 접속

탐색기 나 파일 마우스 오른쪽 누른 경우

성능을 위해서 15개만 선택 가능한다. Context menus are shortened when more than 15 files are selected https://support.microsoft.com/ko-kr/kb/2022295 한개 선택 후 사용 할 수 있는 방법 1.시작-프로그램 및 파일 검색에 regedit 입력 후 엔터를 누릅니다. 2.레지스트리 편집기가 뜨면 아래의 경로로 이동합니다.   HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell 3. 마우스 우측 클릭 후 새로 만들기로 키를 선택하고 이름을 Command Prompt로 만들어 줍니다. 영문 사이트(Context Menu Editors) http://www.thewindowsclub.com/remove-click-context-menu-items-editors 16개 이상 선택하는게 쉽지 않다. http://stackoverflow.com/questions/20740846/windows-explorer-right-click-context-menu-for-files-and-folders HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers https://msdn.microsoft.com/en-us/library/bb776881.aspx 1000개 까지 가능하게 수정하자 http://www.sevenforums.com/tutorials/131470-context-menu-items-missing-fix-when-more-than-15-files-selected.html

pdftotext: Linux / UNIX Convert a PDF File To Text

설치 # yum install poppler-utils $ sudo apt-get install poppler-utils 사용법 pdftotext { PDF-file } { text-file } $ pdftotext hp-manual.pdf hp-manual.txt $ pdftotext -f 5 -l 10 hp-manual.pdf hp-manual.txt $ pdftotext -opw 'password' hp-manual.pdf hp-manual.txt $ pdftotext -upw 'password' hp-manual.pdf hp-manual.txt $ pdftotext -eol unix hp-manual.pdf hp-manual.txt

java 난수 발생하기

1. 지정 범위까지 난수 발생 하기 public class Example {   public static void main(String[] args) {     // 3에서 12까지 범위의 정수를 랜덤하게 20개 출력     for (int i = 1; i <= 20; i++)       System.out.println(randomRange(3, 12));   }   // 지정된 범위의 정수 1개를 램덤하게 반환하는 메서드   // n1 은 "하한값", n2 는 상한값   public static int randomRange(int n1, int n2) {     return (int) (Math.random() * (n2 - n1 + 1)) + n1;   } }

java 배열 사용 방법

List listA = new ArrayList(); listA.add("김삿갓"); listA.add("홍아리"); listA.add(new String("홍길동")); listA.add(1, "1번째 요소값"); // 인덱스를 통한 조회 String element0 = listA.get(0).toString(); String element1 = listA.get(1).toString(); String element3 = listA.get(2).toString(); //Iterator 통한 전체 조회 Iterator iterator = listA.iterator(); while (iterator.hasNext()) {     String element = (String) iterator.next();     } //for-loop 통한 전체 조회 for(Object object : listA) {     String element = (String) object; }

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 ^^; ***/   } } 정렬해서 가져오기 import java.io.FileFilter; import java.io.IOException; import java.util.Arrays; import java.util.Date; import org.apache.commons.io.comparator.LastModifiedFileComparator; import org.apache.commons.io.filefilter.FileFileFilter; public class LastModifiedFileComparatorTest { public static void main(String[] args) throws IOException { File directory = new File("."); // get just files, not directories File[] files = directory.listFiles((FileFilter) FileFileFilter.FILE); System.out.println("Default order")

java 도메인(Domain)을 IP로 변환하는 법

다음 팁은 도메인(Domain)을 IP로 변환하는 팁입니다. 서버에 접속해야 하는 클라이언트가 서버 IP를 알아야 하는 경우에 사용하실 수 있습니다. import java.net.InetAddress; import java.net.UnknownHostException; public class DomainToIp { public static void main(String args[]){ try {          InetAddress addr = InetAddress.getByName("froginpot.tistory.com");        byte[] ipAddr = addr.getAddress();          // IP 형식으로 변환        String ipAddrStr = "";        for (int i=0; i 0) {                ipAddrStr += ".";            }            ipAddrStr += ipAddr[i]&0xFF;        }              System.out.println("IP : " + ipAddrStr);          } catch (UnknownHostException e) {     System.out.println("Unknown Host");    } } }

java 시스템 시간

long time = System.currentTimeMillis();  SimpleDateFormat dayTime = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss"); //구분자 없이 사용할려면... //SimpleDateFormat dayTime = new SimpleDateFormat("yyyyMMddHHmmss"); String str = dayTime.format(new Date(time)); System.out.println(str); long start = System.currentTimeMillis() ;  new trunc_tweet_tag("./message/"); long end = System.currentTimeMillis();  System.out.println((end-start)/1000 +" 초 걸림");

리눅스 메모리슬롯,cpu정보,파워상태 확인방법

리눅스 메모리슬롯,cpu정보,파워상태 확인방법 centos 현재 사용중인 메모리슬롯, 빈 메모리슬롯 확인방법 1.메모리상태확인 쉘에서 dmidecode -t 17 | egrep ‘Memory|Size’ 를 입력하면 Memory Device         Size: 8192 MB Memory Device         Size: No Module Installed Memory Device         Size: No Module Installed Memory Device         Size: No Module Installed Memory Device         Size: No Module Installed Memory Device         Size: No Module Installed Memory Device         Size: No Module Installed Memory Device         Size: No Module Installed Memory Device         Size: No Module Installed Memory Device         Size: No Module Installed Memory Device         Size: No Module Installed Memory Device         Size: No Module Installed Memory Device         Size: No Module Installed Memory Device         Size: No Module Installed Memory Device         Size: No Module Installed Memory Device         Size: No Module Installed 위와같이 나온다 첫번째 8192MB는 8기가짜리 메모리가 하나 꽂혀있단 뜻이고 아래 No Module Installed 는 빈 슬롯을 뜻한다.

Intel(R) Xeon(R) CPU E3 와 Intel(R) Xeon(R) CPU E5 차이

두 제품은 플렛폼 자체가 다릅니다. 같은 제온 프로세서이기는 하지만, e5-2609 제품은 2011소켓 기반의 프로세서로 보시면되고, e3-1231v3 제품은 우리가 일반적으로 사용하는 1150소켓 기반의 프로세서입니다. 플렛폼적인 부분을 제외하게 되면, 프로세서만으로 비교하여 성능적 우위를 말한다면, e3-1231v3 제품이 실제 성능적인 측면에서 더 좋은 제품이됩니다. 세대에 대한 부분도 그렇고, 실 성능적인 부분에서도 그렇습니다만, 플렛폼이 다르다는건 큰 차이점을 가지게 됩니다. e5는 2011소켓 기반으로 쿼드채널이며, 쿼드코어 4스레드 제품임에도 L3 10MB를 가지고 있습니다. 특정적 환경에서 큰 폭의 다양성을 가지게되는 프로세서로 보심되겠죠. 플렛폼 자체가 다르고, 세대의 차이가 2세대와 4세대로 큰 차이를 가지고있고 일반 유저가 2011소켓 기반의 플렛폼 구축 비용도 상당히 높습니다. 실제 구입이 어려운 부분이고, 단순 프로세서 성능도 e3-1231v3가 더 높으니 현재 시점을 기준으론 e3-1231v3가 더 좋죠.

[Java] Http File Download 이어받기

Http 서버로부터 다운로드 받는 파일을 이어받기 위해서는 Http Header에 아래 두가지 정보를 추가해 주면 된다. URLConnection conn = url.openConnection(); conn.setRequestProperty("Accept-Ranges", "bytes"); conn.setRequestProperty("Range", "bytes=" + mOffset + "-"); 그러면 서버에서는 해당 Offset으로부터 File을 다운로드 시켜준다. 클라이언트가 요청헤더에 Range 필드를 포함 시켜서 보내면, 서버는 그 정보를 가지고 어디서 부터 파일을 보낼지 판단을 합니다. 하지만 클라이언트가(브라우저) Range 필드를 포함 시켜야 할지를 판단하는 기준은 최초 다운로드 요청시 서버의 응답헤더에 따라 다음 요청헤더에 Range 헤더를 생성할지 않할지 판단하게 됩니다. 그걸 당락짓는 응답 헤더 필드는 다음과 같습니다. Accept-Ranges , ETag, Last-Modified 반드시 위 필드를 응답 헤더에 같이 보내줘야 클라이언트는 다음 요청시 Range헤더를 포함시켜 보내게 됩니다. 참고로 말씀 드리면 위 필드를 포함 시켜서 보내더라도 value는 반드시 " " 로 묶어서 보내야 합니다. 안그러면 브라우저는 죽어도 Range 필드를 생성시키지 않습니다. HTTP 1.1 스펙은 따옴표를 강제적으로 해줘라 이런 내용 없습니다. 자바기준 40byte의 파일이라치면 클리이언트 요청을 두번으로 나누었다치면 이케 connection.setRequestProperty("Range", "bytes=0-20"); connection.setRequestProperty("Range", "bytes=20-40"); 단 co

자바스크립트 null 비교하기

alert(null == undefined); //true alert(null === undefined); //false alert(true == 1); //true alert(true === 1); //false alert(true == '1');  //true alert(true === '1'); //false alert(0 === -0); //true alert(NaN === NaN); //false null과 undefined는 값이 없다는 의미의 데이터 형이다. null은 값이 없음을 명시적으로 표시한 것이고, undefined는 그냥 값이 없는 상태라고 생각하자. NaN은 0/0과 같은 연산의 결과로 만들어지는 특수한 데이터 형인데 숫자가 아니라는 뜻이다.

[java] 파일 존재 유무

import java.io.*; public class Example {   public static void main(String[] args) {     File f = new File("test.txt");     // 파일 존재 여부 판단     if (f.isFile()) {       System.out.println("OK 파일 있습니다.");     }     else {       System.out.println("그런 파일 없습니다.");     }     File d = new File("000");     // 디렉토리 존재 여부 판단     // 만약 exists() 메소드를 사용하면,     // 000 이라는 "파일"이 있어도 OK 가 나옴     if (d.isDirectory()) {       System.out.println("OK 디렉토리가 있습니다.");     }     else {       System.out.println("그런 디렉토리가 없습니다.");     }   } }

왜 iSCSI가 필요한가

NetApp 설립자 겸 엔지니어링 부사장 Dave Hitz iSCSI는 파이버 채널을 대체하기 위한 솔루션이 아닙니다. 이미 고객들은 기존의 파이버 채널에 대한 투자로 이익을 거둬들이고 있고 이제는 이러한 인프라를 유지하면서 그간 비용적인 문제로 SAN 기술을 도입할 수 없는 부분에까지도 스토리지 네트워킹을 확장할 수 있는 방법을 찾고 있습니다. 왜냐하면 현재 기업 내 대부분의 데이터가 바로 그곳에 존재하기 때문입니다. 이때 필요한 것이 iSCSI입니다. iSCSI가 중요한 이유는 바로 비용을 줄일 수 있다는 것에 있습니다. iSCSI를 구축하면 이미 기존에 설치된 TCP/IP 인프라를 적극 활용하게 되며, 확장이 필요할 경우에도 인프라 설치 및 관리 비용 측면에서 TCP/IP 인프라 구입 비용은 파이버 채널에 비해 상대적으로 매우 저렴합니다. Microsoft가 저렴한 가격을 강점으로 표방하며 iSCSI를 적극 지원하는 이유가 바로 여기에 있습니다. Microsoft는 파이버 채널 SAN을 실행함에 있어서 호환성 및 관리에 문제가 있다는 판단 하에 Windows®용 iSCSI 관리 솔루션을 개발했습니다. Windows를 통해 iSCSI를 구현하는 경우 이 플러그인 인터페이스를 사용해야 합니다. 그러면 추가적인 비용 부담 없이 Microsoft® 운영 체제와 함께 제공되는 일관성 있고 간편한 표준 소프트웨어 인터페이스를 이용할 수 있습니다. 결론적으로 비용 절감에 관심이 있다면 iSCSI 채택을 고려하는 것이 좋습니다. iSCSI 소개 IETF(Internet Engineering Task Force)가 정의하고 관리하는 업계 표준 스토리지 프로토콜인 iSCSI는 일반적인 SAN 상호 연결 기술의 생소함과 복잡성 및 고비용을 없애고 SAN(Storage Area Network)의 장점인 통합성, 확장성 및 관리 성능을 제공합니다. Internet SCSI로도 알려져 있는 iSCSI는 SCSI 블록 스토리지 명령을 이더넷 패킷에 캡슐화하여 I

Java SFTP 사용

1. jar(jsch-0.1.54.jar) 다운 http://www.jcraft.com/jsch/ 2. 소스 예제 파일업로드 예시. --------------------------------------------------------- import com.jcraft.jsch.Channel; import com.jcraft.jsch.ChannelSftp; import com.jcraft.jsch.JSch; import com.jcraft.jsch.JSchException; import com.jcraft.jsch.Session; import com.jcraft.jsch.SftpException; //    private 로 선언해줌. private Session session = null; private Channel channel = null; private ChannelSftp channelSftp = null; //    sftp 연결.  /**      * 서버와 연결에 필요한 값들을 가져와 초기화 시킴      * @param host      *            서버 주소      * @param userName      *            접속에 사용될 아이디      * @param password      *            비밀번호      * @param port      *            포트번호      */     public void init(String host, String userName, String password, int port) {         JSch jsch = new JSch();         try {             session = jsch.getSession(userName, host, port);             session.setPassword(password);             java.util.

우분투 service 등록

* 서비스 등록  1. 부팅 레벨 확인 #runlevel N 2 2. /etc/init.d 폴더에 스크립트 저장 3. /etc/rc2.d 폴더에 소프트 링크 등록 * 부팅시 실행될 내용 등록 /etc/rc.local : 시작시 실행할 명령 /etc/rc6.d/* : 종료시 실행할 명령 파일은 모두 chmod +x 로 실행권한이 있어야 함. 파일 이름은 K99_로 시작하게 할 것. * 다른 방법(패키지 이용) Ubuntu Service     Ubuntu에서 Service의 등록과 실행 등 Boot-Up Manager     sudo apt-get install bum     각종 서비스의 시작/종료/자동시작 지정등을 할 수 있다. Service 자동 시작     How can I configure a service to run at startup     sysv-rc-conf 패키지를 설치해 CUI 로 적용할 수 있다.     update-rc.d 명령     # 서비스 자동 시작 등록     sudo update-rc.d 서비스명 defaults     # 자동 시작 제거     sudo update-rc.d 서비스명 remove

Toad 사용방법

F4 : 테이블 등 오브젝트의 정보를 보여줌 (또는 ctrl 누른채 오브젝트 클릭) F5 : 현재 화면의 모든 SQL 실행 Ctrl + Enter : 커서가 위치한 곳 또는 블록으로 선택한 영역 실행 F8 : 이전에 실행했던 SQL History 조회 Ctrl + Shift + F : 쿼리 정렬 Ctrl + . : 테이블, 컬럼 등 자동완성 Ctrl + M : 자바코드로 변환. 단축키실행 후 붙여넣기 Ctrl + Insert : 조회된 로우 복사 시 컬럼ID도 같이 복사됨 Ctrl + B : 주석처리 Ctrl + Shift + B : 주석 해제 Ctrl + L : 소문자로 변경 Ctrl + U : 대문자로 변경 Ctrl + F9 : SQL 실행없이 validation 체크 F3 : 단어 찾기 시 다음 일치하는 단어 검색 (이전 검색은 Shift + F3)

로또 728회 당첨

728 (2016년 11월 12일 추첨) 지난회차 당첨번호 바로가기   728   727   726   725   724   723   722   721   720   719   718   717   716   715   714   713   712   711   710   709   708   707   706   705   704   703   702   701   700   699   698   697   696   695   694   693   692   691   690   689   688