인터넷 해지하기 정말 힘드네요.. 대표번호로 전화했더니 통화량이 폭주라며 연결이 되지 않습니다.잠시후 예약 등록이 되었다고 안내가 나옵니다. 약 20분 후 전화가 옵니다.어떤 문의냐고 묻길래 해지상담을 요청했더니, 담당부서로 연결해준답니다. 약 5분간 연결이 지연되며 컬러링만 들립니다;;그리고 뚜.뚜.뚜... 이..이거 지금 무한 루프는 아니겠죠? 인터넷 해지하기 정말 힘드네요....... while (상담사연결요청) {if (해지상담요청)예약번호남김();sleep(20분);continue; if (상담사에게 전화 옴)담당부서가_아니니_담당부서로_연결();연결_비정상_종료됨; if (해지하고자 하는 마음 없어짐)break;} ps겨우겨우 통화되었는데 신분증 사본을 전송해야 한답니다.뭐 이런 경우가......
shell에서 awk의 내장함수인 substr은 문자열 전체가 아닌 일부를 비교할때 사용합니다.아래 예제를 살펴봅니다. #!/bin/sh echo | awk '{ print substr("my name is oops",12,4)}' 입력 받은 "my name is oops"에서 12번째 자리인 o 부터 4개를 출력합니다.응용하면 아래와 같은 코드도 구현할 수 있습니다. #!/bin/sh NAME=`echo | awk '{name=substr("my name is oops",12,4);print name}'` echo -n "name?" echo $NAME 실행 결과는 다음과 같습니다. $ ./oops name?oops 이렇게 되면 NAME 변수를 코드 내에서 활용할 수 있게 되겠지요? 이외에도 내장함수는..
mail()함수 사용시에 수신측 body에 !(느낌표)가 중간중간 삽입되는 경우가 발생합니다. 이때는 여기를 참고해서 처리하도록 합니다.(혹시 링크가 열리지 않을 경우..)// 1000자 이상에서 ! 생기는것 방지 (아래 2줄) $add_mailheader="Content-Transfer-Encoding: base64 \r\n"; $body = chunk_split(base64_encode($body)); mail($to,$subject,$body,"Content-Type: ".$content_type."; charset=euc-kr\r\n".$add_mailheader.$shopname."\r\n"); 반나절간의 삽질이.. 삽질로 끝나지 않아서 다행입니다...ㅠㅠ
Simple and Usable 단순한 디자인이 성공한다저자자일즈 콜본 지음출판사에이콘출판 | 2012-07-20 출간카테고리컴퓨터/IT책소개모바일 기기가 사람들의 삶에 밀착되면서, 걷거나 운전을 하는 등... Simple and Usable 단순한 디자인이 성공한다 뭔가 당연한것 같은데 놓치고 있던 것들이 잘 정리되어 있습니다. 개발자의 생각은 개발에 갇혀있기 마련입니다. UX라 하면 당연히 고객을 위한 디자인이어야 하는데 말이죠.. 고객을 위한 UX에 대해 다시금 생각할 수 있는 기회를 만들어준 책입니다. 직접 디자인 할일이 없더라도, 책은 고객의 입장에서 필요한것과 복잡한것. 그리고 단순한것에 대해서 이야기 합니다. 또한 그 방안을 제시하고 있습니다. 개발자도 어떠한 제품(리모콘?)에 있어서는 곧 ..
php 실행 시에 입력 받은 인자의 종류가 다양할때 옵션 처리가 필요합니다. argc와 argv[]로도 가능하지만 코드가 지저분해질 염려가 있으니까요. 이럴때 필요한 함수가 getopt 입니다. 우선 아래 코드를 봅니다. char는 "-"로 구분되는 옵션이고, string은 "--"로 구분되는 옵션입니다. 뒤에 ":"는 옵션 뒤에 인자를 필수로 입력 받는다는 의미 입니다. 아래와 같은 결과를 얻을 수 있습니다.oops$ php getopt.php --i386 --compile=busybox array(2) { ["i386"]=> bool(false) ["compile"]=> string(4) "busybox" } compile true i386 true oops$ php 버전에 따라 $longopts 는..
기본적으로 ssh접속시에 key 교환 알고리즘은 아래와 같습니다. 내용은 wireshark로 server key init 의 내용입니다. 하지만 때로는 보안상의 이유로 key교환 알고리즘의 종류를 변경해야 합니다. 요즘은 모든 통신이 sha2 이상이어야 한다지요? 그래서 OpenSSH 6.3p1 의 key.c 내용을 수정해서 sha2에 해당하는 "diffie-hellman-group14-sha1"만 사용하도록 수정한 wireshark내용 입니다. 통신에 사용되는 알고리즘의 경우에는 sshd_config 를 수정해서 가능했는데, 기본적으로 key교환 알고리즘은 config를 통해서는 제어 할 수 없나 봅니다..
생애 첫 뮤지컬을 관람했습니다. 제목은 "고스트" 영화 "사랑과 영혼"의 한국 뮤지컬 버전이라고 할 수 있겠습니다. 우선 첫 뮤지컬 관람인 만큼.. VIP석으로 예매를 했습니다. 2층은 무대의 전체적인 흐름이 잘 보여서 좋지만, 배우의 숨소리가 느껴지지 않는다는 단점이 있네요.. 반면 1층 VIP석은 배우는 잘보이겠지만 무대 전체가 한눈에 들어오지 않았을것 같습니다. (뮤지컬 고스트는 무대 효과가 꽤 많은 편이랍니다. 좋은 좌석 선택으로 관람하시길) 디큐브시티에 관람했는데 일본 팬클럽에서도 뭔가를 보내왔네요, 사람 냄새 나는 배우랍니다. 여기저기 보이는 광고판에 뮤지컬 관람온것이 실감이 납니다. 포토존도 있습니다. 사람들이 줄서서 사진을 찍네요, 매회 배우들이 다르기 때문에 어떤 배우의 뮤지컬을 볼것인지..
특정 폴더에 있는 script를 실행하는 shell을 작성해야 할 일이 생겼습니다. 해당 경로에 있는 script를 하드코딩으로 실행해도 되겠지만, 나중에 리스트가 많아지는 경우를 생각해서 확장성에 초점을 맞춘 코드 입니다.#!/bin/sh APPS_SCRIPT=/test/apps/ if [ -e "$APPS_SCRIPT" ]; then SCRIPT_LIST=`ls $APPS_SCRIPT` for SCRIPT in $SCRIPT_LIST; do $APPS_SCRIPT/$SCRIPT done fi shell의 if 문법과 for, 말고는 특별한 내용은 없습니다.
lighttpd와 php를 웹서버로 사용할 때 취약성 부분입니다. 웹사이트 주소를 아래와 같이 입력 했을때 phpinfo()의 내용이 출력되는데요. https://192.168.0.10/test.php/?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000 (test.php 는 php형태를 갖추는 파일만 존재하는 상태입니다. 내용물에는 실제 코드가 없습니다.) 해당 취약성은 php.ini의 수정을 통해 감출 수 있습니다. php.ini에 아래 내용을 추가하고 php를 재시작하도록 합니다. expose_php = off 그리고 웹서버에 접속해보면 내용이 더이상 출력 되지 않습니다. 이런 사소한 부분도 CC에서는 취약성에 걸린다고 하네요~ [ expose_php = off ] 외에도 ph..
Git, 분산 버전 관리 시스템저자트라비스 스위스굿 지음출판사인사이트 | 2010-01-29 출간카테고리컴퓨터/IT책소개네트워크가 다운되어도 소스코드의 변경 이력을 확인할 수 있다면?... 회사가 SVN을 기반으로 코드 관리를 하고 있었는데, 이번에 새로운 프로젝트를 시작하며 Git을 사용하게 되었습니다. 친숙하지 않은 관리 툴을 사용하려니 막연함이 많았는데요, "Git, 분산버전 관리시스템" 은 관리시스템에 익숙하지 않은 사람에게도 큰 도움을 줄 수 있게 구성되어 있습니다. (SVN의 명령어와 매칭 시켜서 소개해주는 부분 덕분에 더 쉽게 이해가 되었네요) 또한 Git을 테스트 할 수 있는 소스를 내려받을 수 있는 주소를 제공합니다. 간단한 명령어 몇개는 쉽게 테스트 할 수 있겠습니다. 어떤 툴이 더 좋..
아래와 같은 데이터가 있습니다. mysql> select sipv4,timestamp,bytes from oops; +-----------+-----------+---------+ | sipv4 | timestamp | bytes | +-----------+-----------+---------+ | 171115273 | 9 | 40 | | 169152406 | 10 | 2772021 | | 169152406 | 10 | 142312 | | 174325910 | 10 | 51029 | | 169152406 | 11 | 1254172 | | 171115273 | 15 | 3192 | | 169152406 | 14 | 132 | | 169152406 | 15 | 11516 | | 171115273 | 16 ..
회사 팀원들끼리 야심차게 3년간 준비한 3박5일간의 외국 여행을 드디어 다녀왔습니다. (다달이 회비 관리까지 해가며..) 외국여행 경험이 그다지 없기 때문에 모든것이 새롭고 신기했습니다, 비행기는 다소 저렴한 이스타항공을 이용했는데, 약 6시간 이상의 비행을 하기에는 좌석이 무척 불편했습니다.. 외국 여행을 나갈때 승무원은 크게 반갑지 않지만.. 왠지 모르게 귀국할때는 무척 반갑더라고요, 살짝 도촬(?)을 해봅니다. 이스타항공의 도시락은 항상 같다고 하더군요, 나름 먹을만 했습니다. 불편한 좌석과 씨름하다가 겨우겨우 6시간만에 태국에 도착했습니다. 도착해서 호텔까지 가는 택시를 탔는데요, 혹시 몰라서 차량에 부착된 기사아저씨의 면허자격을 촬영했습니다. 나중에 들은 이야기지만, 공항에서 택시를 탈때 뭔가 ..
회사 일을 마치고 신도림으로 가는 회사 셔틀버스를 탔습니다.신도림에 도착하니, 약 19시 45분쯤 되었는데요,집이 1호선 하행선을 타야 하는지라 인천행이 출발하는 2번 홈으로 이동했습니다. 그런데, 지하철 직원분들이 4번 홈으로 가서 급행을 타라고 외치고 계시더군요,완행이 운행되지 않나.. 아니면 사람이 몰리니까 인원 밀집 현상을 해소하려는 의도인가.. 싶었지만일단 급행이 운행되는 4번 홈으로 이동했습니다. 4번 홈으로 가서 제가 마주한 상황은 아래와 같았습니다.. 안그래도 신도림은 지옥철로 유명하지요, 특히 출퇴근 시간..무슨일인가 싶었는데 이내 포탈 사이트 검색에 "신도림-영등포 구간 50대 남성 투신" 이라는 기사가 나오더군요..(기사 바로보기) 아.. 무엇이 그렇게 힘드셨기에 투신하셨나요..회사 ..
http://www.slideshare.net/einsub/svn-git-17386752
AhnLab ISF2013에 왔습니다. 기회가 되면 매년 오려고 하는데 2년만이네요, 오랜만에 찾은것에 비하면 새제품이나 새로운 기술에 대한 이야기가 적어서 약간 아쉬웠는데요, 그래도 역시 규모면에서는 상당합니다. 코엑스에 각섹션을 설치해서 운영했는데요 APT는 언제 들어도 유익하고 디지털 포렌식에 대한 섹션이 꽤 인상적이었습니다 통역기를 받지 못해서 오프닝 섹션은 약간 힘들었습니다;; 내년에는 더 많고 유익한 내용을 기대해봅니다^^ (이건.. 인증용 명찰 ^^;;)
commit 관련된 것도 있고.. 어떤 동작이 어느 application에서 취해지는지 확인이 어려울 경우, subversion을 통으로 find하는 습관이 조금 있었습니다. 그리하여.. 개발서버에 application subversion을 거의 통으로 받아놨으니.. (용량도 꽤 차지하지요../웃음/) 그런데 어느날 우연찮게 개발서버의 소스가 날아갔습니다. (물론 백업본이 있어서 어느정도 복구는 되겠지요, 시간이 문제지..) 문제는 당장 뭔가 작업을 해야하는데.. 이게 도대체 어느 application을 뒤져봐야하는지 모른다는 점... 소스를 다 받아놨기 때문에 문제가 되는(수정해야 하는) application을 쉽게 찾고 개발 할 수 있었습니다, 이럴때 크게 도움이 되네요^^;; 비록 최신 소스는 아니..
mysql 에서 결과 컬럼을 합쳐야 할 필요가 있을때가 종종 있습니다.예를들어 아래와 같은 테이블이 있습니다. mysql> select * from new_table; +------+------+-------+-------+-------+ | num | name | descr | sipv4 | dipv4 | +------+------+-------+-------+-------+ | 1 | oops | test | 111 | 222 | | 2 | oops | test | 111 | 333 | | 2 | oops | test | 123 | 122 | | 2 | oops | test | 148 | 843 | +------+------+-------+-------+-------+ 4 rows in set (0...
- Total
- Today
- Yesterday