vi(혹은 vim)에서 ASCII Control Codes를 입력하는 방법에 대해 알아봅니다. 일단 ASCII Control Codes는 통상 키보드의 컨트롤키를 누른 상태에서 입력되는 문자를 나타냅니다. 일단 하고자 하는 건 vi에 아래와 같은 예시의 문자를 입력하는 것입니다. ^@^[ ^] shift+6 + * 로 입력되는 문자와는 다릅니다. 실제 vi 에서 확인하면 색상부터 다릅니다. 위는 shift + 6 의 조합으로 표기한 것이고, 아래는 다른 방법입니다. 위는 일반 변수로 선언하거나 macro로 등록할 때 문자열로 입력되지만 아래는 한 개의 단일 문자로 입력 됩니다. 그럼 입력 방법이 어떻게 될까요? 아래와 같은 순서로 입력하면 됩니다. 1. Ctrl + v2. Ctrl + 입력하고자 하는 코..
회사에서 2016 신년맞이 산행을 다녀왔습니다. 목적지는 충북 단양소재의 단양팔결을 볼 수 있다는 옥순봉, 구담봉. 옥순봉은 상대적으로 쉬운 코스고, 구담봉은 전문가 코스로 생각하면 될 것 같네요~ 오전에 대치동 사무실을 출발해서 점심때 도착할 수 있었습니다. 장회나루 휴게소에 들려서 점심을 먹고 주변을 가볍게 산책했는데 경치가 정말 좋더군요~ 아래는 전망대로 꾸며 놓은 산책로 입니다. 충주호가 보입니다. 유람선도 운행을 해서 주변 절경을 설명하는 소리가 들려옵니다. 점심 식사를 마치고 버스로 약 5분 정도 이동해서 본격적인 등산을 위해 모였습니다. 등산로 입구에 제천의 케릭터인 박달이, 금봉이가 반겨줍니다. 현수막을 펼쳐 든 경영팀. 많은 준비를 했네요~ 지란 패밀리의 컨셉인 JIRAN HEROES(지..
신년맞이 대표이사님과의 팀 회식을 위해 대치동에 위치한 W참치(더블유 참치)를 찾았습니다. 밤이라 사진이 다소 어둡지만.. 간판을 확인하는데 무리가 없습니다. 2층에 위치하여 계단으로 오르는 길에 간단하게 메뉴가 보이는데 점심으로 먹기도 괜찮은 가격이네요 예약을 해놔서 그런지 밑반찬이 깔려 있습니다. 일단은 그럭저럭 평범합니다. 개인용 식기류가 세팅이 되어 있는데, 왜 소주잔이 세팅이 되어 있을까요? 아니면.. 왜 맥주잔은 세팅이 되어 있지 않을까요? ㅎㅎ 테이블 사이드에는 김과 간장, 참기름, 소금 등이 비치 되어 있습니다. 모두가 궁금한 메뉴판입니다. 일단 참치는 무한 리필입니다. (하지만 어딜 가나 마찬가지겠지만 맛 좋은 부위가 리필이 되는 것은 아니라는.. ) 간단하게 먹을 수 있는 죽이 나옵니다..
회사에서 계속 무료 툴인 virtualbox를 이용하고 있었는데, VMware를 사용할 일이 있어서 관련 라이선스를 찾아봤습니다. 일단 VMware에는 두 가지 종류가 있는데 그 첫 번째가 VMware Workstation Player, 두 번째가 VMware Workstation Pro 되시겠습니다. VMware Workstation Pro 는 뭔가 이름부터 유료 느낌이 나고.. VMware Workstation Player쪽을 찾아보니 "개인용으로 사용하는 경우 무료" 라는 문구가 눈에 들어오네요. 하지만 일단 회사(기업) 내부에서 사용해야 하는 것이니 (회사 내부에서 혼자 조용히 학습 용) 이러한 경우의 라이선스 정책은 어떠한지 찾아봐야 했습니다. 관련된 정확한 정보는 아래와 같습니다. VMware..
꽤 오랜만에 다음 웹툰에 들어갔는데 미생이 새로 연재가 되고 있더라, 그리고 그 중간에 특별 5부작으로 연재가 되어 있는 오과장의 과거.. 공감 가는 내용이 무척 많고, 현실적인 부분을 정확하게 집어 냈다. 물론 주변에 과로로 인해 고인이 된 사람은 없지만, 과장하자면 그렇다는 거지.. 중간에 이런 대사가 나온다. 요즘 친구들은 애사심이 없어 ! 목숨 걸고 일해야 한다는 대사도 있는데.. 과연 그게 맞는가? 일을 하기 위해 사는 것인가. 살기 위해 일하는 것인가.. 여하튼 이야기가 좀 엉뚱한 방향으로 흘렀는데, 결론은 !! 미생은 정말 직장인 필수 도서(?)가 아닐런지 싶다 ㅎㅎㅎ 아침부터 먹먹한 가슴으로 출근...
마이크로소프트웨어 2015년 12월호에 "나는 프로그래머다" 오프라인 컨퍼런스에 대한 이야기가 다루어졌습니다. 마이크로소프트웨어 2015년 12월호 요즘 출퇴근길에 나프다 팟캐스트를 무척 재밌게 듣고 있는데 여러 사람들과 함께 공유할수 있었으면 좋겠네요. 나프다 팟캐스트는 다양한 개발자들로부터 살아있는 풍부한 경험을 들을 수 있고, 과거부터 현재에 아우르는 IT의 역사교과를 듣는 느낌입니다. 올해는 놓쳤지만 내년에 같은 행사가 진행된다면 꼭 참여하고 싶습니다. "나는 프로그래머다"는 아래 링크에서 청취가 가능합니다. https://iamprogrammer.io/
shell script 에서 때로는 문자열 패턴의 일치 여부를 확인하는 것이 아니라 포함되는지 확인해야 하는 경우가 있습니다. 아래 예시를 살펴보겠습니다. AA="My name is oops" BB="oops" 변수 $BB가 $AA에 포함되는지 확인하는 방법에는 여러가지가 있겠지만 아래 두 가지 방법을 소개합니다. ( Node.js 로 비유하자면 str.includes(word) 같은 역할이겠죠 ) #!/bin/sh AA="My name is oops" BB="name" if [[ "$AA" == *"name"* ]];then echo "1st find it" fi if [[ "$AA" =~ "name" ]];then echo "2nd find it" fi 문자열 패턴을 이용한 * 방법이 있고, =~ 를..
안드로이드 소프트웨어 패치가 있길래 받았더니 뭔지 모를 Application이 설치가 되었습니다. 이름은 "스마트 매니저" 뭔가 내 핸드폰이 스마트 해지는가보다 했지만 앱 정보를 보는 순간 경악을 금치 못했습니다. 저한테 무슨 볼일이 있으신건가요.. (누구냐 넌..!!) "원격 제어", "발신전화를 가로채기합니다." 너무 노골적이지 말입니다.. 이건 삭제도 안됩니다. 무슨 의도일까요? 암만 요즘 세상에 스마트 해지려면 개인정보를 내놓아야 한다지만.. 이건 좀 너무 합니다. ㅎㅎ 관련기사 : http://www.etnews.com/20151118000374
A클래스 개발자를 채용하라 (출처 : '나는 프로그래머다' 정개발님)최상위 개발자와 최하위 개발자의 생산성의 차이는 10배에 달한다.채용의 선순환과 악순환 : A클래스 개발자는 A클래스 개발자를 뽑지만 B클래스 개발자는 C클래스 개발자를 뽑는다. 왜냐하면, A 클래스 개발자는 다른 A클래스 개발자가 자신의 자리를 위협한다고 생각하지 않지만 B클래스 개발자는 다른 B나 A클래스 개발자가 자신의 자리를 빼앗을지도 모른다고 생각하기 때문이다. 그 결과 A클래스를 뽑은 개발자 그룹은 인재의 질이 시간이 지나도 떨어지지 않지만 B클래스 이하를 뽑은 개발자 그룹은 인재의 질이 갈수록 떨어지게 되어 있다. - 구글이 잘 하고 있는것.이번 QCon내내 지겹게 들었던 말 이다. A클래스 개발자를 채용하라. 유니콘 개발자..
명령어 옵션에 낚여서 누군가의 삽질 방지 차원으로 기록해둡니다. 정확히 말하면 CentOS man 페이지에 낚였습니다. CentOS 프롬프트에서 man logger를 입력했을때 -f 옵션에 대한 설명은 아래와 같습니다. -f file Log the specified file. 이건.. 누가 봐도 특정 파일에 로그를 기록하는 것처럼 보이는데요. logger의 man페이지를 website에서 찾아보면 상이한 설명이 나옵니다. -f, --file file Log the contents of the specified file. This option cannot be combined with a command-line message. 이 옵션은 특정 파일에 로그를 기록하는 것이 아니라 특정 파일의 내용을 시스템 ..
소스관리를 git으로 할때 요즘 실리콘밸리의 핫한 프로젝트인 slack으로 push 메시지를 전달할 수 있습니다. 관련된 API의 사용법을 정리합니다. 우선 사용할수 있는 API를 다운로드를 위해 아래 링크로 이동합니다. https://api.slack.com/community 링크의 하단에 git-slack-hook 을 찾습니다. 관련된 소스를 다운도록 합니다. 다운 받은 소스를 아래 방법으로 git repository에 적용을 시킵니다. For bare repos, copy/rename it as /path/to/your/repo/hooks/post-receive. For normal/non-bare repos, copy/rename it as /path/to/your/repo/.git/hooks/p..
테이블의 컬럼 값을 변경할때 update문을 사용합니다. 일단 친절한 help를 살펴보면 아래와 같습니다. MariaDB [oops]> help update; Name: 'UPDATE' Description: Syntax: Single-table syntax: UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ... [WHERE where_condition] [ORDER BY ...] [LIMIT row_count] Multiple-table syntax: UPDATE [LOW_PRIORITY] [IGNORE] table_references SET col_name1..
virtualbox에 Kali Linux 2.0 설치하는 과정을 기록합니다. 우선 적당한 Kali Linux 2.0 이미지를 여기서 다운 받도록 합니다. 가상머신 셋팅은 논외로 하고 이미지가 삽입된 이후 설치과정만 살펴봅시다. 일단 이미지가 삽입되면 아래와 같이 설치 타입을 선택할 수 있습니다. 포스팅 과정에서는 Graphical install을 사용합니다. 언어를 Korean으로 선택합니다. 위치를 대한민국으로 선택합니다. 키보드를 한국어로 설정합니다. 설치가 진행됩니다. 네트워크 설정 부분인데, 각자에 맞는 호스트를 입력합니다. 따로 뭔가 운영하는게 아니기 때문에 크게 중요하지 않습니다. 도메인을 입력합니다. root에 대한 암호를 입력합니다. 중요하므로 설정한 암호는 잊지 말아야 합니다. 파티션을 ..
터미널에 접속했을때 처음 마주하는 프롬프트 메시지(이하 prompt string)를 변경해보자. 일단 prompt string을 변경하기 위해서는 환경변수에 대한 약간의 지식이 필요한데 여기서는 prompt string 만을 다루기 때문에 해당하는 환경변수의 명칭만 알면 된다. prompt string 는 기본적으로 PS1 이라는 변수를 사용한다. (PS2는 논외) 그렇다면 PS1을 어떻게 변경하나? 우리가 Shell Script 에서 다루는 변수와 동일하게 간단히 아래와 같이 변경할 수 있다. PS1='oops' 쓰고 나니 아래와 같이 변경되었다. 입력한 oops라는 문자가 그대로 출력되는 것이 확인된다. 일단 아래와 같이 원래 설정으로 되돌려놓자. PS1='\[\033[01;31m\]\u@\h\[\0..
테이블 생성시에 INT(11) 등으로 괄호 옵션을 주는 경우가 있다. 주변을 보면 의미를 제대로 알지 못하고 쓰는 경우가 종종 있다. 보통은 괄호안의 숫자는 자리수를 나타내는 것으로 많이 알고 있는데, 사실은 그렇지 않다. 실제 의미를 위해서는 zerofill 이라는 옵션과 함께 사용되어야 한다. 그렇지 않은 경우에는 무의미하다. zerofill은 말 그대로 0을 채우라는 의미고, 즉 괄호안의 숫자만큼 빈칸을 0으로 채우라는 의미다. 일단 테스트를 위해 아래와 같은 테이블을 생성한다. create table TEST(seq INT(11) not null auto_increment primary key, \ oops1_fillzero INT(1) zerofill, \ oops1_nozero INT(1) ,..
흔히 $*와 $@를 구분 없이 많이 사용하고 있는데, 사실 약간은 다르다. 레퍼런스에 보면 아래와 같이 정의되어 있다. "$*"All the positional parameters (as a single word) * "$@"All the positional parameters (as separate strings) 무슨 뜻이냐면, $*는 모든 parameter를 하나의 단어로 취급한다는 의미고, $@는 별도의 문자로 취급한다는 의미다. (응?) 다시말해, $*는 입력되는 모든 parameter를 한개의 단어로 취급한다는 뜻. $@는 공백으로 구분된 별도의 문자열로 취급한다는 의미다. 아래와 같은 스크립트 코드가 있다. #!/bin/sh echo "=================" echo "\$@ se..
안랩, ‘웹 방화벽 구축 및 원격관제 서비스’ 한달 무료 체험 프로그램 운영 백신으로 돈 벌고 웹 방화벽의 레퍼런스 확보를 위해 돈을 아끼지 않는다. 이렇게 확보된 레퍼런스가 후에 긍정적인 작용을 하는것은 뻔하니까.. 하지만 너무 무료에 혹해서는 안된다. 어련히 약관에 명시되어 있겠지만(정말?) 한달간 설치되어 있던 웹 방화벽은 생각보다 많은 기업정보를 담아간다. 실시간 관제를 위해서라도 syslog 등 뭔가 정보가 빠져나갈수도 있고... 한달 무료 체험이 끝나고 난 이후에는 모든 정보가 당연히 .. 파기.. 되겠지? 여튼 돈 많은 안랩. 웹 방화벽 시장도 선점할 것인가..!
서버의 MX 레코드 구성을 확인하는 방법에 대해서 기술합니다. 여기서는 nslookup 명령어를 사용하고, 이는 윈도우/리눅스 모두 지원됩니다. 일단 윈도우를 먼저 살펴봅니다. 커맨드 창을 열고 nslookup을 입력합니다. 그리고 아래 명령어로 mx를 지정합니다. set query=mx 꼭 nslookup으로 접속해야만 가능한것은 아닙니다. 아래와 같이 바로 확인도 가능합니다. nslookup -query=mx naver.com 이번에는 리눅스를 살펴보는데 윈도우와 동일하게 실행됩니다. 마찬가지로 nslookup 접속 없이 바로 실행도 가능합니다. 인터넷 메일을 다루는데 있어서는 매우 중요한 정보입니다. 잘 활용하도록 합시다.
- Total
- Today
- Yesterday