분류 전체보기
-
테스트 주도 개발Review 2016. 12. 8.
테스트 주도 개발(TDD, Test-Driven Development)은 동작하는 깔끔한 코드를 위해서 테스트를 먼저 작성하는 개발 방법론을 의미한다. 여기서 테스트란 유닛 테스트를 의미한다. 유닛테스트란 소스코드에 대한 개발자에게 함수와 모듈의 동작을 검증을 할 수 있게 도와주는 도구이다. 유닛 테스트는 개발된 코드의 사용 방법을 가이드 할 뿐만 아니라 여러 가지를 한번에 고민해야 하는 개발자에게 실수를 줄여주고 작성한 코드에 대한 테스트를 진행할 수 있어 견고한 수문장 역할을 한다고 말할 수 있다. 이미 많은 개발자들이 유닛테스트 활용이 중요하다는 것을 알고 있다고 생각한다. 팀이든 1인 개발이든 말이다. 테스트 주도 개발 - 켄트 벡 지음, 김창준 외 옮김/인사이트 이 책에서 다양한 유머들을 책 곳..
-
2016년 다시 쓰는 블로그 소개Introduction 2016. 12. 7.
2012년도 블로그 소개글을 적고 4년만에 업데이트를 합니다. 최근 제가 관심있는 주제 위주로 카테고리 정리를 하면서 블로그 소개도 다시 쓰는게 좋을거 같아서 이렇게 글을 적습니다. 저는 여전히 리눅스 환경에서 소프트웨어 개발을 하고 있으며 그 동안 진행했던 리눅스 커널 모듈 개발은 환경적인 이유로 더 이상 진행하고 있지는 않습니다. 이 블로그는 개인 성장과 정보 공유를 위해서 운영됩니다. 최근 학습한 내용들이나 관심있는 정보들을 정리하여 포스팅을 합니다. 이 블로그는 쉽게 읽을 수 있는 글 쓰기를 지향합니다. 작성된 글에 대해서 의견이 있으시다면 댓글로 남겨주세요. 피드백은 큰 도움이 됩니다. 대부분의 IT 관련 포스팅은 개발자를 독자라고 고려하고 글을 작성합니다. 이 블로그는 월 1~4회 포스팅을 목..
-
2016 Intel Software Developer ConferenceDaily 2016. 11. 25.
한달 전, 양재동 엘 타워에서 진행한 2016 인텔 소프트웨어 개발자 컨퍼런스를 다녀왔다. 인텔 컨퍼런스가 열릴 때 항상 주요 주제는 HPC(High Performance Computing) 이다. 매년 HPC를 위한 세미나 및 컨퍼런스를 운영하는데 그 동안 관심 있었던 세션을 듣기 위해서 신청을 했다. 이번 컨퍼런스는 2일 동안 진행되었고, 그 중 첫째 날에만 참석을 했다. 발표의 절반은 영어로 진행이 되지만 동시 통역을 해주어서 듣는데 큰 무리는 없었다. 가끔 컴퓨터 용어가 난무하게 될 때는 영어를 직접 듣는게 이해하기 좋은 경우도 있었지만 대체적으로 동시 통역의 퀄리티는 높은 편이었다. 기조연설에서 인텔 비전과 신규 제품 소개 그리고 CPU 병렬을 통해서 얻을 수 있는 성능 이점에 대한 설명을 들을..
-
5년간 사용한 키보드를 뒤로하고Daily 2016. 10. 31.
첫 번째로 구매한 키보드는 필코 기계식 키보드이다. 이 키보드를 사용한지 벌써 5년이 넘었다. 기계식 키보드를 5년간 사용하니, 가볍게 느껴졌던 기계식 키보드의 느낌은 많이 둔탁해졌다. 소음 또한 커져서 이제는 그대로 사용하기는 부담이 되었다. 마침 주변에서 급격하게 무접점 키보드로 바꾸기 시작해서 따라 사려고 했지만 무접점 키보드는 많이 비쌌다. 고민 끝에 결국 무접점 키보드를 구매하긴 했다. 한성 Gtune CHIL5 XRGB이다. 무접점 키보드이지만 가격은 기계식 키보드와 비슷하다. Caps Lock과 Ctrl을 Switch하는 편리 기능부터 화려한 백라이트 기능까지 다양한 기능을 제공한다. 키보드 백라이트는 너무 고급스러워서 꺼버렸고 지금까지 키고 있지 않다. 한성 키보드는 키감은 꽤 무겁게 느껴..
-
가장 쉬운 네트워크 가상화 입문Review 2016. 7. 11.
가장 쉬운 네트워크 가상화 입문 책 - 와타나베 카즈히코 외 지음, 신은화 옮김/비제이퍼블릭 클라우드 컴퓨팅이란 인터넷 등을 통해서 네트워크상에 존재하는 컴퓨터 자원을 이용하여 서비스를 제공하는 컴퓨팅 형태를 말한다. 사용자는 서비스를 제공 받을 뿐, 실제 컴퓨터가 어떻게 동작하는지, 네트워크가 어떻게 연결되어 있는지 등은 신경쓰지 않는다. 한편, 가상화란 하나의 물리적인 자원을 복수의 논리적인 자원으로 활용하거나 복수의 물리적인 자원을 하나의 논리적인 자원으로 활용하는등의 형태를 의미한다. 이와 같이 클라우드와 가상화의 개념은 그 목적이 다르다. 하지만 실제로는 클라우드 서비스를 제공하는 사업자가 시스템 자원의 효율적인 활용을 위하여 가상화 환경을 구축한다. 이 책은 가상화란 무엇인지 그리고 서버, 스..
-
우리가 중요하게 생각하는 것은 무엇인가?Think 2016. 7. 7.
여러명이 함께 조직으로 일을 하게 되는 경우 비전이나 목표와 같이 중요하다고 생각하는 핵심 키워드나 문구등을 정하고 공유한다. 이런 것을 기업 문화, 조직 문화 또는 조직 철학이라 불리운다. 이렇게 정해진 내용들은 일을 하고 결과를 만들 때 큰 도움이 된다. 우리가 정한 방향성과 같은지 알려주는 나침반 역할을 하기 때문이다. 구글에서는 아래와 같이 "Google이 발견한 10가지 진실"을 제정하고 지키려고 노력하고 있다. 1. 사용자에게 초점을 맞추면 나머지는 저절로 따라옵니다.2. 한 분야에서 최고가 되는 것이 최선의 방법입니다.3. 느린 것보다 빠른 것이 낫습니다.4. 인터넷은 민주주의가 통하는 세상입니다.5. 책상 앞에서만 검색이 가능한 것은 아닙니다.6. 부정한 방법을 쓰지 않고도 돈을 벌 수 있..
-
vim essential plugin ctrlpIT/Tools 2016. 7. 2.
vim ctrlp는 vim awesome에서도 상위권에 해당하는 유명한 도구이다. 지원하는 기능은 생각보다 단순하지만 매우 강력하다. ctrlp는 mru, file, buffer에서 원하는 파일을 찾아주는 기능을 제공한다. mru는 most recently used의 줄임말이고, files은 말 그대로 file, buffer는 vim에서 메모리상에 로드된 데이터를 의미한다. vim으로 작업을 하는 과정에서 열어놓았던 buffer를 찾을 때에도 유용하지만 무엇보다도 소스코드를 수정하고 있을 때, 헤더 파일을 쉽게 찾을 수 있도록 도와준다. 실행방법은 :CtrlP를 누르거나 말 그대로 "Ctrl + p"를 누르면 실행된다. 기본적으로는 file mode로 실행되는데 아래의 예를 보자. ngx_stream_u..
-
vim essential plugin airlineIT/Tools 2016. 6. 16.
vim-airlinehttps://github.com/vim-airline/vim-airlinevim-airline은 파일의 다양한 status 정보들과 buffer를 표시해주는 플러그인이다. buffer가 표시됨으로써 vim에 맞게 에디터를 잘 활용할 수 있고, 다양한 status 정보들이 표시되어 IDE와 같은 느낌을 얻을 수 있다는 점이다. buffer 관련해서는 여기를 참고하면 도움이 될 것이다. 설치2013/01/12 - [프로그래밍/개발 도구] - vim plugin manager, vundle vundle을 사용한다면 쉽게 설치할 수 있다. ~/.vimrc 파일을 열어서 아래 한 줄을 추가한다. Plugin 'vim-airline/vim-airline 그리고 "vim"을 실행시킨 후 :Plu..