Browsed by
[Category:] IT 개발

IT 개발 피드

[linux] daemon 만들기

[linux] daemon 만들기

daemon(데몬) 이란 윈도우의 service 처럼 보이지 않는 곳에서 실행하고 있는 프로그램이라고 보면 됩니다. 뭐 다 아시겠지만.. 데몬을 작성하는 방법은 잘 나와있지만 그 전에 어떻게 작성해야하고 어떻게 실행시켜야 하는지 모르는 분들을 위해 정리를 해봅니다. * 이 포스트의 내용은 Centos 6.x 기준으로 작성되었습니다. 데몬을 만들고 실행시키는 과정은 간단히 이러합니다. 1. 소스코드 작성 2. 작성된 소스코드 컴파일 3. 데몬 파일 테스트 4. 컴파일된 데몬 파일 실행 코드는 c언어로.. 툴은 리눅스의 vim 에디터로 작성합니다. 그리고 컴파일은 gcc 로 하게 됩니다.   gcc 설치 여부…

Read More Read More

[Linux] 라우터가 존재하는 환경에서 네트워크가 간헐적으로 끊기는 문제

[Linux] 라우터가 존재하는 환경에서 네트워크가 간헐적으로 끊기는 문제

이 문제는 검색을 해봐도 나오지 않고 굉장히 오랜 삽질을 했던 기억이 남는 이슈였습니다. 증상 : 1. 네트워크가 연결 된 후 10~20초 후에 연결이 끊김 2. 네트워크를 죽이고 다시 살리면 살아남. (그리고 다시 10~20초 후에 죽음) 처음에는 드라이버문제이거나 네트워크 설정에 문제가 있지 않을까하고 설정을 이것저것 변경해보았으나 특이한 설정도 문제 될것도 없었습니다. 네트워크를 재시작하면 잠시나마 동작이 된다는게 정말 난해한 부분이었습니다. (차라리 아예 안되면 문제가 더 명확했을텐데) ping을 날려봐도 네트워크가 살아있을땐 잘 나가더니 잠시 후 네트워크가 끊기며 먹통이 됩니다.  (난감) 하지만 오랜 삽질 끝에…

Read More Read More

[Linux] SSH 접속 Root 계정 제한하는 방법

[Linux] SSH 접속 Root 계정 제한하는 방법

서버의 보안에서 모든 권한을 가진 계정을 직접 사용할 수 없게 하는 기본 중 기본으로 아직까지 많은 서버들이 처리를 하지 않아 피해를 보는 경우가 있습니다. 그 중 SSH 접속 제한을 하는 조치는 가장 기본이라 할 수 있습니다. 아무리 소규모로 운영되는 서버라도 외부에서 대놓고 SSH 봇 공격시도를 해옵니다. 이를 방어하는 방법은 아주 간단하지만 또 간단하기에 쉬쉬하는 경향이 있습니다. SSH 원격 접속은 보통 일반 사용자 계정으로 접속 뒤 필요한 경우 su로 root권한을 취득한 후에 시스템을 컨트롤하는 것이 기본입니다. 직접적으로 root로 접근하는 것을 막는 것이죠….

Read More Read More

[MySQL] ‘/var/lib/mysql/mysql.sock’ (111) 에러 해결방법

[MySQL] ‘/var/lib/mysql/mysql.sock’ (111) 에러 해결방법

보통 이 문제가 발생하는 경우는 mysql 을 패키지(RPM)으로 설치하는 케이스입니다. 설치하고 실행하는데 문제가 없어보입니다. 하지만 재부팅이나 재시작시 mysql이 동작되지 않고 아래 에러 메세지를 토해냅니다. Another MySQL daemon already running with the same unix socket. 그리고 mysql로 접속하면 이런 에러가 또 나옵니다. ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (111) 이 문제는 간단히 해결 할 수 있습니다. # rm -rf /var/lib/mysql/mysql.sock 하지만 이 방법은 임시 방편에 불과합니다. 삭제해도 다시 생겨나는 파일이기 때문입니다. 그럼 그때마다 지워줘야 할까요?…

Read More Read More

[MySQL] Select 한 내용 Insert 시키는 방법

[MySQL] Select 한 내용 Insert 시키는 방법

Select 한 내용을 그대로 Insert 시키는 방법과 약간 응용하는 법을 소개합니다. 처음에는 저도 방법이 정확히 떠오르지 않아 구글링을 했지만 간단명료하게 나와있는 글이 없어 시간을 좀 뺐겼던 기억이 납니다. 1. select 한 내용의 전체 컬럼 Insert INSERT INTO [table] SELECT * FROM [table] WHERE [조건]; 당연한 이야기지만 select하는 테이블과 insert할 테이블의 컬럼은 일치해야 합니다.   2. 원하는 컬럼만 select 해서 Insert INSERT INTO [table] (column1, colum2, colum3) SELECT column1, colum2, colum3 FROM [table] WHERE [조건]; PRIMARY키가 있어 1번의 방법으로 INSERT가 안되는…

Read More Read More

[PHP] Notice: Undefined Variable 에러 처리 방법

[PHP] Notice: Undefined Variable 에러 처리 방법

PHP 5.x에서는 변수 선언에 대해 조금 더 엄격해 졌습니다. 굳이 변수 초기화를 하지 않고 바로 사용해도 상관이 없었던 때에 비해 지금은 변수 초기화 없이 사용을 하게 되면 Notice 에러가 발생하게 됩니다. Notice는 시스템에 영향을 주는 문제는 아닌 단순 경고 메세지 입니다. Notice 에러 표시를 php.ini의 Error Reporting 설정을 변경해 보이지 않도록 처리하는 방법이 몇몇 곳에서 소개되고 있지만 이런 방법은 권장하고 싶지 않습니다. 모든 Notice 메세지가 비활성화 되기 때문에 중요한 이슈를 자칫 놓칠 수도 있기 때문입니다. 근본적으로 Undefined Variable 메세지를 해결하기…

Read More Read More

[DNS] host 없이 도메인 접속시 www 붙이기

[DNS] host 없이 도메인 접속시 www 붙이기

간단하지만 적어봅니다. 예를들어 www 없이 freezner.com으로 접속시 freezner.com으로 접속되는 경우가 있습니다. 저 같은 경우 이 문제로 인해 www.freezner.com가 아닌 다른 호스트로 접속이 되는 현상이 발생했습니다. 그렇다면 freezner.com으로 접속했을때 www.freezner.com으로 접속할 수 있는 방법은 뭐가 있을까요? 생각외로 간단합니다. zone 파일에 아래 내용을 추가해주시면 됩니다. zone 파일은 일반적으로 /var/named/도메인.zone 으로 되어있습니다. 이 도메인.zone 파일을 vim 에디터로 수정해줍니다. $TTL 86400; TTL(Time To Live) @ IN SOA @ root ( 20130516; serial 1D; refresh 1H; retry 1W; expire 3H); minimum IN NS ns.myDomain.com.; DNS…

Read More Read More

[WP] 나눔고딕을 사용하기 위한 @font-face 설정법

[WP] 나눔고딕을 사용하기 위한 @font-face 설정법

워드프레스로 소개를 하고 있지만 모든 웹사이트에 공통 적용이 되는 내용입니다. 나눔고딕을 사용하기 위해서는 CSS에서 font-family로 참조가 가능해야 합니다. 그러기 위해서는 우선 FTP 업로드 또는 CDN 을 이용해서 폰트 파일을 연결시켜주어야 합니다. 아래 font-face 설정은 그 역할을 합니다.  font-family에 사용할 이름과 파일을 참조하여 CSS에서 쉽게 사용 할 수 있도록 도와줍니다. @font-face{ font-family:”Nanum Gothic”; src:url(‘fonts/NanumGothic.eot’); src:url(‘fonts/NanumGothic.eot?#iefix’) format(’embedded-opentype’), url(‘fonts/NanumGothic.woff’) format(‘woff’), url(‘fonts/NanumGothic.ttf’) format(‘truetype’); url(‘fonts/NanumGothic.svg#NanumGothic’) format(‘svg’); src:local(※), url(‘fonts/NanumGothic.woff’) format(‘woff’); } CDN으로 이용할 경우 http://fonts.googleapis.com/earlyaccess/nanumgothic.css 를 참고하시면 됩니다. 워드프레스에 경우에는 주의사항이 있습니다. 바로 워드프레스 업데이트입니다. 워드프레스에서…

Read More Read More

[Apache] 로컬에서 APM으로 웹서버 구동시 localhost 딜레이 현상 해결 방법

[Apache] 로컬에서 APM으로 웹서버 구동시 localhost 딜레이 현상 해결 방법

윈도우에서 APM을 설치하고 작업 중인 소스를 돌려보려던 참에 예기치 못한 문제가 생겼었습니다. localhost로 접속하자 페이지가 한 번은 열리는듯 하다가 간헐적으로 딜레이 현상이 발생하면서 정상적으로 작업을 할 수 없는 상황이었습니다. 리눅스 서버에 있는 아파치와 PHP config 파일까지 동일하게 세팅했기 때문에 환경적인 문제인가 생각했습니다. 일단 문제를 좀 더 정확하게 보기 위해 아파치 로그를 보기로 했는데 에러가 출력되고 있었습니다. [mpm_winnt:warn] [pid 4960:tid 1616] (OS 64)지정된 네트워크 이름을 더 이상 사용할 수 없습니다.  : AH00341: winnt_accept: Asynchronous AcceptEx failed. 이 에러로 인해 문제가 생겼다는걸…

Read More Read More

[jQuery] 동적 추가 요소 이벤트 부여하기

[jQuery] 동적 추가 요소 이벤트 부여하기

자바스크립트를 이용해 동적으로 추가된 요소에 이벤트 핸들러를 만들어주면 동작하지 않는다. 그래서 live 메소드를 통해 이벤트 핸들러를 생성해서 사용해왔지만 이 방법은 괘나 오래전부터 많은 문제점으로 인해 지원을 하지 않게 되버린지 오래이다. 즉, 옛날 버전 jQeury하면 모를까 요즘 버전의 jQuery 라이브러리에서는 live 메소드는 사용이 불가하다. 하지만 아직도 제목과 같은 검색어로 찾아보면 live 메소드를 이용하는 방법을 소개하는 글이 대다수다. 그렇다면 live를 대체할만한 방법이 있을까? 당연히 있다. jQuery에서는 live 메소드를 제외시키면서 bind나 on 메소드를 사용하라고 권장하고 있다. 하지만 예전 live 메소드를 사용하듯 메소드 이름만…

Read More Read More