서버49 centOS에 Git 설치 Git에서 필요한 라이브러리 다운로드yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel fedora 계열은 sudo apt-get install git Git 소스 다운로드cd /usr/local/srcwget http://git-core.googlecode.com/files/git-1.7.9.tar.gztar xvzf git-1.7.9.tar.gzcd git-1.7.9 Git 소스 컴파일 및 install./configuremakemake install Git 저장소 생성mkdir git-testcd git-testgit init Initialized empty Git repository in /home/nklee/git/git.. 2014. 1. 13. tomcat comet 정리 오픈 소스의 기술을 습득하기 위해 대게 클래스 다이어그램을 뽑거나 클래스 메소드를 이동하면서 분석하는 경우가 있다.하지만 난 위의 두 가지 방식보다는 시퀀스 다이어그램을 이용하여 각 클래스간의 call flow를 도식화 한 후 한 눈으로 보는 것을 선호한다. 다음은 tomcat 서블릿 컨테이너에서 롱폴링 기술을 어떻게 지원하는지에 대해서 분석 한 후 시퀀스 다이어그램으로 그려보았다.그림을 그리고 나니 한층 이해가 더 쉽게 되었고, 각 클래스의 기능이 한 눈에 보이니 객체지향적으로 개발을 했는지 확인도 할 수 있었다. 사람의 기억은 텍스트보다는 이미지를 더 잘 기억한다고 했다.귀찮더라도 그림을 그리면서 학습을 한다면 오랫 동안 그 기술을 기억할 수 있을 것이다. tomcat server.xml 아래와 같이.. 2013. 7. 4. 클러스터드 인덱스와 넌 클러스터드 인덱스 몇일전에 클러스터드 인덱스와 넌 클러스터드 인덱스에 대해서 나에게 물어보신 분이 계셨다.헌데 내 기억 속에는 클러스터드 인덱스는 테이블 당 1개만 생성할 수 있다는 것만 기억날 뿐 다른 것은 기억나지 않았다. 그래서 내 기억 속에 오랫 동안 자리 잡기를 바라는 마음으로 이곳에 정리한다. 클러스터드 인덱스와 넌 클러스터드 인덱스는 간단하게 다음과 같이 정리할 수 있다. 클러스터드 인덱스 넌 클러스터드 인덱스 차이 물리적으로 행을 재배열 물리적으로 재배열 하지 않는다. 크기 인덱스 페이지 용량이 넌 클러스터드 인덱스 페이지 용량보다 작다. 클러스터드 인덱스 페이지 용량보다 크다. 선택도 30% 이내에서 사용해야 좋은 선택도 3% 이내에서 사용해야 좋은 선택도 최대 갯수 테이블당 1개 테이블당 249개 위에서.. 2013. 6. 24. 톰켓 세션 동작 원리 웹 애플리케이션을 개발할 때 세션을 이용하여 사용자 로그인 정보를 저장하고, 사용자의 로그인 상태를 유지할 수 있게 개발하는 방법은 많은 개발자가 알고 있다.하지만 로그인 상태를 유지하기 위해서 서블릿 컨테이너인 tomcat이 내부적으로 어떻게 동작하는지 모르는 분들이 계셔서 이곳에 정리를 해보려고 한다. 로컬에 톰켓 설치 후 구동 HTTP request, response 헤더를 확인해야 하기 때문에 크롬의 개발자 도구를 이용한다. 크롬 개발자 도구의 Network 탭을 선택한 후 http://localhost:8080/login.jsp 접속 HTTP 헤더 정보를 보면 Response Headers에 쿠키 정보를 client로 전달한 것을 볼 수 있다. JSESSIONID 값이 톰켓에서 발급하는 쿠키 정.. 2013. 6. 14. 카티션곱을 이용한 데이터 추출 방법 테이블 a sp_key 111 222 333 테이블 b id sp_key test1 111 test1 222 test1 333 test2 111 test2 222 결과 id sp_key test2 333 테이블 a의 3개 sp_key 컬럼 데이터를 기준으로 테이블 b의 각 id에 sp_key데이터가 없는 것을 추출하는 방법에 대해서 설명한다.대개 쿼리를 작성할 때 inner join이나 outer join을 많이 사용하지만 위와 같이 두 개의 테이블 집합에서 공통으로 존재하는 데이터를 뽑아내는 것이 아닌 없는 데이터를 뽑을 때에는 어려움을 많이 느낀다. 위의 문제를 해결할 수 있는 방법이 몇 가지 있는데 그 중 첫 번째 방법은 카티션 곱을 이용하여 데이터를 복제한 후 결과 값을 추출하는 방법이다.SELE.. 2013. 5. 6. FTP ascii, binary 모드 유의 사항 로컬 윈도우 PC에서 shell 스크립트를 만든 후 리눅스 서버에 FTP 업로드 하였다.업로드 한 shell을 실행하면 다음과 같은 에러 메시지가 떨어진다.bash2: ./test.sh: /bin/sh^M: bad interpreter: 그런 파일이나 디렉토리가 없음 에러 메시지를 잘 보면 ^M 2013. 3. 6. mysql 프로시저 loop를 이용하여 테스트 데이터 insert 간혹 테스트를 위해 수백만 건의 데이터를 테이블에 넣어줄 일이 생긴다.그럴때 다음의 프로시저 샘플을 이용하여 데이터를 밀어 넣자. DELIMITER $$DROP PROCEDURE IF EXISTS FILL_RATE_TEST_DATA$$CREATE PROCEDURE FILL_RATE_TEST_DATA()BEGINDECLARE i INT DEFAULT 1;DECLARE log_date VARCHAR(255);WHILE i 2013. 2. 19. Apache + Tomcat 설치 및 연동 개발 환경 셋팅을 하면서 정리한 문서 2012. 2. 24. 아파치 날짜별 로그 설정 cronolog 아파치의 accesslog 및 errorlog를 날짜별로 생성하는 방법에 대해서 알아보겠습니다. 아파치 설치 후, 서버 기동 시 logs 디렉토리에 access_log 및 error_log 파일이 생성되는데 이 각각의 파일에는 로그 정보가 누적이 되어 몇 일 몇 달이 지나버리면 어마어마한 파일 용량을 가지게 됩니다. 파일 용량이 커지다보면...log write 하는데 적지 않은 시간이 소요 되고, 이로 인하여 웹서버 성능이 저하되는 현상이 발생하게 됩니다. 그리하여 로그 파일의 용량이 커지는것을 방지하기 위해 날짜별로 로그 파일을 생성해주는 cronolog를 이제부터 알아보도록 하겠습니다. (기본적으로 아파치에 내장되어 있는 bin/rotatelogs 유틸이 존재하지만 이보다 더 개선된 로그 유틸이 cr.. 2010. 7. 21. 아파치 톰켓 mod_jk 설치 오늘은 아파치 톰켓 연동을 하겠습니다. ^^ 1. http://tomcat.apache.org/download-connectors.cgi 이동 2. archive download site 링크 클릭 3. jk > source > jk-1.2.30 (해당 파일 URL 경로 복사) 4. 리눅스 커멘드 라인에서 아래와 같이 실행 [kyu@qctest tomcat6028]$ wget http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.30/tomcat-connectors-1.2.30-src.tar.gz 5. 아파치 톰켓 connector 컴파일 [kyu@qctest ~]$ tar xvfz tomcat-connectors-1.2.30-.. 2010. 7. 20. ARP (Address Resolution Protocol) 스위치가 허브와 달리 특정 컴퓨터에 패킷을 어떻게 전달하는지에 대해서 그 원리를 알게 되었다. IP 주소에서 MAC 주소로의 변환 과정을 ARP이 담당하게 됩니다. 1. A사용자가 C사용자에게 "안녕"이라는 메시지를 날립니다. (A는 C의 IP주소를 알고 있음) 2. A사용자의 컴퓨터는 C사용자에게 데이터를 전송하기 위해서 가까이에 연결된 스위치에 요청을 보내게 되고, C사용자의 컴퓨터 MAC Address가 스위치의 CAM(Content Addressable Memory)테이블에 등록되어 있지 않다면, 스위치는 연결되어 있는 모든 컴퓨터에 ARP 브로드캐스트 패킷을 보내게 됩니다. 3. 스위치에 연결되어 있는 컴퓨터들은 들어온 패킷 header 에 있는 IP가 자신의 IP가 아니므로 drop 하게 되고.. 2010. 7. 19. 리눅스에 아파치 설치 오늘은 아파치 설치를 해보았습니다. 1. http://httpd.apache.org/ 페이지 이동 2. 왼쪽 메뉴에 보면 Download! 라벨이 보이며, 하단에 "from a mirror" 링크가 존재합니다. 클릭~~~ 3. 리눅스에 아파치를 설치할 것이므로 Current Releases 의 2.2.15 (released 2010-03-06) 를 다운로드 하겠습니다. 4. 2.2.15 링크 부분에 마우스 커서를 올리고 마우스 오른쪽 버튼을 누른 후, 속성에 들어갑니다. 5. 속성(URL) 창의 http URL을 복사하여 리눅스 command 창에 wget 명령어를 이용하여 파일을 받습니다. [kyu@qctest bin]$ wget http://apache.tt.co.kr/httpd/httpd-2.2.1.. 2010. 7. 16. 리눅스 jdk 설치 오늘은 JDK 를 설치해 보겠습니다. 요즘 개발 환경 셋팅하는 재미가 솔솔하네요. ^^ 먼저 리눅스 운영체제에 JDK를 설치하기 위해선 몇 비트 운영제제 인지를 알아야 합니다. 다운로드 페이지에 들어가보시면 알겠지만 32bit, 64bit 두 가지로 파일 다운로드를 제공하고 있기 때문이죠.. [kyu@qctest ~]$ getconf LONG_BIT 64터미널에서 위의 명령어를 실행 하였을때, 64가 나오면 64bit 운영체제이고, 32bit가 나오면 32bit 운영체제 입니다. 현재 제가 사용하고 있는 테스트 장비는 64bit 입니다. (오오~~ 나름 고급) 다음으로 JDK 를 다운로드 받으로 가겠습니다. 1. http://java.sun.com/javase/downloads/index.jsp 페이지 .. 2010. 7. 12. 리눅스 톰켓 설치 http://apache.org/ 접속합니다. 왼쪽 메뉴에 "Download" 가 있고, 설치하고자 하는 Tomcat 버전을 선택합니다. 이동한 페이지 하단에 보시면 "Binary Distributions" 와 Source Code Distributions 이 있습니다. 리눅스에 톰켓을 설치하기 위한 목적이기에 "Binary Distributions" 의 Core에 있는 tar.gz (pgp, md5) 를 다운로드 받겠습니다. tar.gz (pgp, md5) 에 마우스 커서를 가져다 놓으신 후, 오른쪽 마우스 클릭합니다. 속성창이 뜨며, 주소(URL) 부분을 ctrl + c 를 눌러 복사합니다. 자~ 복사가 되었다면 이제 리눅스에서 tomcat binary를 다운로드 받아야겠죠.. 리눅스에 접속한 후, .. 2010. 7. 12. 리눅스 계정 생성 일요일인 오늘 30분 정도의 짬나는 시간을 이용해 회사 개발서버에 테스트 계정을 생성해 보았습니다. 먼저 root 계정으로 로그인 합니다. [kyu@qctest etc]$ su - Password: 로그인 후, useradd 명령어를 입력하여 계정 생성 [root@qctest ~]# useradd kyu1 다음으로 패스워드를 입력합니다. [root@qctest ~]# passwd kyu1 Changing password for user kyu1. (사용자 kyu1 의 암호 변경) New UNIX password: (새로운 패스워드 입력) BAD PASSWORD: it is based on a dictionary word (입력한 패스워드가 사전상의 단어를 기반으로 구성하였을 경우) Retype new U.. 2010. 7. 11. 이전 1 2 3 4 다음