Category Archives: 프로그래밍

프로그래밍 관련

라인 원정대

라인 원정대 http://tech.naver.jp/blog/?p=2852 요약 – 2011년 6월에 서비스를 시작해서 현재 4억명의 유저가 사용하는 메신저가 됐다. – 2012년 12월 스페인에서는 왓츠앱의 유료화에 반발해서 많은 유저가 라인을 선택함으로써 짧은 기간에 유저가 급증. 그러나 메세지 지연, 푸쉬 연착, 밧데리 소모 문제등이 발생! 개발자 3인을 긴급 출장을 보내서 현지에서 문제를 분석. 의미있는 분석결과의 반영을 2013년 4월에 적용. – 스페인… Read More »

Erlang 정리 2(쉘명령어)

[markdown] ### 쉘 명령어 [여기](http://learnyousomeerlang.com/starting-out) 링크를 요약 한 글임을 밝혀드립니다. – Emacs를 베이스로한 라인에디터를 내장하고 있음. (Emacs를 몰라도 됨) – `Ctrl + A`를 누르면 커서가 라인의 가장 앞으로 이동함. – `Ctrl + E`를 누르면 커서가 라인의 가장 끝으로 이동함. – `li`를 누르고 `tab`을 누르면 `lists:`이런식으로 자동완성 됨. 들어오긴 했는데, 끄는법을 모를 때 `help().` 를 누르면… Read More »

Erlang 정리1 (erlang 이란?)

[markdown] “` node코드를 리팩토링 해야하는데, 하기 싫고 귀찮아서 erlang을 잠깐 봄. 명언이 생각난다. “` > 개발자는 자기가 흥미가 가는 것을 열심히하는 직업병이 있다. # Erlang 정리1 (erlang 이란?) > [http://learnyousomeerlang.com/introduction#about-this-tutorial](http://learnyousomeerlang.com/introduction#about-this-tutorial) > 위 링크를 참고, 요약 한 것임을 밝혀 드립니다. – functional 프로그램이다 – 참조의 투명성 (referential transparency) – 변경가능한 데이터를 못씀 (avoiding mutable data) –… Read More »

javascript strict mode 정리

[markdown] # javascript strict mode strict모드를 jslint를 사용하게 되면서 사용하고 있는데, 이게 뭔지 모르는 채로 그냥 사용하는 것은 뭔가 찜찜했기에,찾아서 정리함. strict모드는 파일, 프로그램 또는 함수의 시작 부분에 `”use strict”;`를 추가하여 strict모드를 추가 할 수 있다. ### strict모드의 제한 – Strict모드에서 변수를 선언하지않고 사용할 수 없다. – 읽기 전용 속성에 값을 할당할 수 없다. –… Read More »

Chef 서버 설치하고 테스트해보기

[markdown] # Chef 서버 설치하고 테스트해보기 ## vagrant + virtualbox로 5대의 멀티 인스턴스 올리기 Chef 서버의 환경을 이해해 보려면 3개이상 가상머신을 설치해서 해보는게 좋다. Vagrant로 5대의 가상머신을 올려보자. Vagrant를 설치하고 VagrantFile에 아래와 같이 설정한 후 `vagrant up`을 실행하면 된다. vagrant 사용법은 아래의 링크를 참고 하자. Chef의 테스트 환경을 만드는데 매우 적합한 툴 – Vagrant (http://gyus.me/?p=326)… Read More »

[python] private / public아이피 구분하는 스크립트

아이피가 퍼블릭인지 사설아이피인지 구분해야할 필요가 있어서, 쉘스크립트로 만들려고 찾아보다가 포기하고 쉘에서 스크립트언어를 불러오는 방법으로 변경했다. 요즘 루비를 공부중인지라 루비로 만들고 싶었지만, 회사의 서버에는 루비가 거의 설치가 안되어 있는지라 회사의 서버에 대부분 설치 되어 있는 파이썬으로 만들었다. 첨에는 어떻게 해야되는지 좀 막막했는데, 아래 링크의 소스를 보니 그렇게 어렵지 않았다. 파이썬의 소스도 아래링크의 php소스를 파이썬으로 변경한것이다. Check… Read More »

[ruby기초] Kernel모듈의 출력 메서드들 – p, print, printf, putc, puts –

원래는 shallow copy랑 deep copy라는 것에 대해서 쓸려고 했는데, 그것 관련해서 찾다보니 「p」라는 녀석이 테스트 코드에 보이길래 출력메서드에 대해서 적고자 한다. 찾아보니 문자열을 출력해주는 메서드는 루비의 Kernel모듈에 들어 있는데 거기에 포함되어 있는 출력관련 메서드는 아래와 같다. p, print, printf, putc, puts 루비의 레퍼런스에 있는 설명들을 보자. p – 각 객체에 대해 obj.inspect를 출력하고, 그 다음… Read More »

루비 습작3 스트링의 개행문자 제거하기(String#chop!)

오늘은 바로 코드로 들어가보자. def makeCode(var) puts "/home/www/conf/#{var}.properties" puts "/home/www/db/#{var}.data" puts "/home/www/xml/#{var}.xml" end x = gets makeCode(x) 위의 루비코드는 별거 아니다. 그냥 코드 생성기다. 위의 코드를 실행하면 변수를 콘솔에서 받아온다. 그런데 문제가 하나 있는것이 엔터키로 변수를 받아오기에 #{var} 뒤에 꼭 \n이 붙어서 온다. 실행하면 아래와 같이 변수뒤에 개행이 들어가는데, 아주 신경쓰인다. /home/www/conf/test .properties /home/www/db/test .data… Read More »

루비 습작2 카멜케이스를 abc_def_ghi형식으로 변환하기

루비로 이것 저것 만들기 시작하니 참 재미있고, 편리하다는 생각이 든다. 오늘은 어제랑 완전 반대인 예제를 만들었다. testClassMethod 라는 문자열을 주면 test_class_method의 형식으로 변환해 주는 메서드를 만들어 보았다. 기능은 반대인데 코드는 그다지 닮지 않았다. 이번 예제에서 사용된 중요한 메서드는 gsub메서드인데 풀어쓰면 global substitute정도 될라나? 아래 레퍼런스를 참고하는게 확실하긴 하지만, 간단히 설명하면, 정규식을 사용해서 스트링내부의 문자열을 치환하는… Read More »

루비 습작1 abc_def의 문자열을 카멜표기법으로 변경하기

루비를 공부중인데, 책보고 따라하는거 보다는 실제로 만들어보는게 재밌기도하고 실제로 도움이 되기도 해서 반복적인 작업을 없애기 위해서 아래와 같은 유틸리티성 메서드를 만들어봤다. 제목처럼 abc_def_xyz 처럼 되어있는 문자열을 abcDefXyz로 변경해주는 메서드이다. 여러개를 동시에 받아서 변환가능하다. (문자열이 ‘ ‘ 공백으로 구분되어있어야된다. 머 더 잘 할수 있겠지만, 이 정도로도 사용하는데 문제 없음.^^;) 소스는 아래와 같다. 실제로 돌려본거는 아래와 같은… Read More »