이상을 꿈꾸는 몽상가.. 프로그래밍을 좋아함..


  • gedit


    gedit
    ( 이미지 출처 : https://upload.wikimedia.org )

    지에디트(gedit)는 그놈 데스크톱 환경용으로 개발된 자유 소프트웨어인 텍스트 편집기이다. 마이크로소프트 윈도, 맥 OS X에서도 사용 할 수 있다. UTF-8과 호환하며, 프로그램 코드, 마크업 언어와 같은 구조화된 텍스트 문서를 편집하는 용도에 중점을 두고 개발했다. 그놈 프로젝트의 철학에 따라 깔끔하고 단순한 GUI가 특징이다.
    ( 출처 : gedit )



  • 패키지가 설치 된 위치 찾기 in Ubuntu


    Windows 에서는 대부분 Program files 디렉토리에 설치가 되는 편인데
    Linux 는 좀 이곳저곳에 설치되는 느낌이 강합니다.

    어떤 방법으로 설치하느냐에 따라서도 좀 달라지고
    게다가 어떤 계정으로 설치하느냐에 따라 달라지는 것 같기도 하고요.

    패키지가 설치 된 디렉토리 찾는법을 알아보겠습니다.



  • Bundler 를 이용한 Jekyll 3.0 업그레이드


    Bundler
    ( 이미지 출처 : http://ruby-korea.github.io/bundler-site/ )

    번들러는 필요한 정확한 gem과 버전을 추적하고 설치하여 루비 프로젝트를 위한 일관된 환경을 제공합니다. 번들러는 의존성 지옥에서 벗어나게 하고, 필요한 gem이 개발, 스테이징, 프로덕션에 있는지 확인해 줍니다. ( 출처 : http://ruby-korea.github.io/bundler-site/ )

    Bundler는 미리 입력되어있는 의존성에 따라 필요한 프로그램들을 자동으로 설치해줍니다.

    아래와 같은 간단한 의존성 기입만으로도 Github-Pages와 동일한 환경을 구성할 수 있습니다.

    $ source 'https://rubygems.org/'
    
    $ gem 'github-pages'
    


  • Github Pages의 Jekyll 3.0 업그레이드


    Github Pages 의 Jekyll3.0 업그레이드

    오늘 아침 Github 트위터 계정을 통해 Github Pages의 새로운 소식을 들었습니다.

    GitHub Pages now faster and simpler with Jekyll 3.0

    2016.02.02부로 Github Pages에서 사용하는 Jekyll 엔진을 버전 2.0에서 3.0 으로 교체했다고 하네요.

    속도가 빨라지고 단순해졌다.. 라면서 여러가지 좋은 점들을 적어놓은 것 같긴한데 별로 중요해 보이지 않습니다.

    중요해 보이는 것들은 변경사항들..

    오늘부터 syntax highlighter 는 Rouge 만으로 사용이 제한되며
    2016.05.01 부터는 Markdown는 Kramdown 만 사용가능하다고 합니다.

    그 외에도 변경사항들이 더 있습니다.

    Jekyll & Github Pages 구성이라면 평생토록 유지보수 없이 사용이 가능하다고 생각했었는데 아주 큰 착각이었네요 -_-ㅋ



  • Log4j 2 설정하기


    Apache Logging Service Logo
    ( 이미지 출처 : https://logging.apache.org )

    Configuration 파일을 어디다가 둬야 혹은 어떻게 처리해야 Log4j 를 사용할 수 있을까요?
    저는 예전에는 이것 때문에 굉장히 애를 먹었습니다.

    분명 Spring을 쓸 때는 src/main/resources 아래에 두면 잘 돌아갔었습니다.
    근데 프레임워크가 없는 레거시 시스템에 적용하려고보니 당연히도 src/main/resources가 없죠.
    알고보니 WAS의 web.xml 에서 설정해야 하더군요.
    또 다른 프로젝트로 가서 적용하려다보니 Daemon으로 돌리는 시스템이라 WAS가 없고 web.xml이 없더군요.

    Log4j 를 접하면 저는 항상 당황스러움이 가장 먼저 떠오릅니다.

    그래서 가장 우선적으로 configuration을 적용하는 방법을 설명합니다.
    그리고 Log4j 2 에서 제공하는 강력한 성능의 비동기방식 로깅처리에 대해서 알아보겠습니다.
    Configuration 작성법은 샘플을 통해서 간략히 설명하겠습니다.



  • Process Status 사용법


      ps -eo user,pid,ppid,rss,vsz,size,pmem,pcpu,time,comm
    
      Result>
      USER   PID   PPID  RSS     VSZ      SIZE    %MEM  %CPU  TIME      CMD
      user1  2699  2615  431076  1421496  991748  7.1   0.9   00:07:44  /opt/google/chrome/
      user1  2584  2016  242248  1266588  596076  4.0   0.9   00:08:06  /opt/google/chrome/
      user1  1750  2615  172932  925232   562376  2.8   0.4   00:00:15  /opt/google/chrome/c
      user1  2841  2016  163652  735372   281308  2.7   0.0   00:00:13  /usr/bin/python3 /us
      user2  1099     1  147772  956008   899016  2.4   0.0   00:00:48  /usr/sbin/mysqld
    

    프로세스별로 메모리, CPU 등의 상태를 파악하는데 유용합니다.

    프로세스별 메모리 값을 합쳐서 전체 메모리 사용량을 구할 수 있습니다.
    하지만 Shared Memory를 사용하는 프로세스들이 존재한다면 중복이 발생하므로 실제 값보다 크게 계산 됩니다.



  • Install Citrix Receiver On Ubuntu


    citrix citrix
    ( 이미지 출처 : http://docs.citrix.com, https://upload.wikimedia.org )

    제가 다니는 회사의 클라우드 컴퓨터에 접속하기 위해서는 Citrix Receiver가 필요합니다.
    모든 데이터가 클라우드 컴퓨터에 보관되고 작업 환경이 구성되어 있기 때문에
    사무실에서도 로컬 컴퓨터로는 할 수 있는 것이 없고 일단 Citrix 로 클라우드 컴퓨터에 접속을 해야만하죠.

    지금까지 단 한번도 우분투에서 접속을 시도해본 적이 없었는데
    갑자기 회사 로컬 컴퓨터를 우분투로 꾸며보고 싶다는 생각이 들어서 시도해보기로 했습니다.
    일단 집에서 테스트겸으로 시도해봤는데 접속이 잘 되네요.



  • Ubuntu Command Line으로 wifi 접속하기


    맨날 집에서 키보드를 깎다가 정말 오랜만에 분위기 전환겸 카페에 왔다.
    우리 집 앞 Twosome은 커피마시면서 작업하기에 최적의 장소다.

    근데 네트워크 설정이 안된다…OTL
    특히 접속하려고하는 Twosome 네트워크는 Connection 버튼을 눌러도 아무 반응조차 없다.

    30분정도를 Network Setting 윈도우와 씨름하다가 결국 포기하고
    핸드폰을 뒤져서 Command 를 찾아봐서 해결….



  • Code Visualization Tools


    ObjectAid
    ( 이미지 출처 : http://www.objectaid.com )

    ObejctAid 는 클래스 다이어그램과 시퀀스 다이어그램을 소스코드로부터 추출해내는 툴이다.
    Eclipse 플러그인 형태로 제공되며 Java 소스코드와 라이브러리의 다이어그램을 추출 가능하다.

    다이어그램은 소스코드로부터 추출되어져야만 한다고 생각한다.

    새로운 시스템을 만났을 때
    산출물의 존재여부는 시스템 파악의 진척률에 매우 큰 영향을 준다.
    또한 산출물의 신뢰도 역시 시스템 파악의 진척률에 매우 큰 영향을 준다.

    시스템이라는 실체로부터 추출 될 수 있는 산출물이 실제 업무에 사용할 수 있는 신뢰성 높은 자료라고 생각한다.

    게다가 시스템으로부터 추출 가능한 산출물을 기반으로 작업을 하게 되면
    매 상황마다 산출물 추출이 용이하며 그 위에 간략하고 빠르게 설계를 진행할 수 있으므로
    애자일 방법론으로 프로젝트를 진행하는 과정에서 전체 사이클이 더 빠르게 돌아갈 수 있다.



  • DISQUS on Jekyll


    DISQUS 는 소셜 댓글 서비스 입니다.
    쇼셜의 종류에 상관없이 특정 계정으로 댓글을 남길 수 있으며 관리가 가능합니다.

    Github Page에서 돌아가는 이 블로그는 매순간의 댓글을 저장할 공간이 없습니다.
    하지만 DISQUS 와 연동은 HTMl, javascript 만으로도 가능하므로 댓글 기능을 사용 할 수 있습니다.

    post에 댓글 추가, 댓글 조회 기능을 추가할 수 있고
    post-list에 댓글 수 기능을 추가할 수 있습니다.