Gsong's Blog
Developer + Entrepreneur = Entreveloper
'코드 상태 재확인 하기' 알림
11/1 일 아침이 되자 이메일로 알림이 하나 날아왔다. 알림 제목은 '코드 상태 재확인 하기'. 3개월 전의 코드 리뷰에서 파생된 것이었다. 몇 달 전, 코드리뷰과정에서 dead code 에 대한 지적을 했는데, reviewee 가 짧은 미래 안에 그 사용이 확실시 된다는 말을 하며 체크인을 했던 부분이다. dead code 의 내용은, default value...
킨들 도착
킨들 샀다. 아마존 가서 여러 모델이 있었는데, 터치도 안되고 키보드도 필요 없고, 3G 도 되지 않는! 가장 저렴한 모델로 구입했다. 그래도 이미 충분히 이쁘고 심플한 매력이 있다. 사자 마자 일단 예전부터 원서로 사려고 눈여겨 봤던 Fearless Change 를 바로 질렀다. 검색 하고 버튼 두번 누르니까 결제까지 모두 종료. 킨들 안에...
대쉬보드를 논하기 전에
프로젝트 진행상황을 한 눈에 볼 수 있는 대쉬보드가 있었으면 좋겠다는 생각이 들었는데, 곰곰이 생각을 해보니 문제는 그게 아닌 듯하다. 대쉬보드는 어떻게 보여줄 것인가의 해법일 뿐이고, 일단 그 전에 보여줄 꺼리를 모아 놓는 것이 우선이었다. 평상시에는 이슈를 열심히 기록해서, 각 티켓 기반으로 작업을 진행하는데, 일이 많아지거나 급해지면 rush 모드가 가동되어 기록없이...
오랜만에 주말 출근
오랜만에 주말 출근. 옛날만큼 쉽지가 않네. 몸이 힘들다. ㅋ. 출근 길에 문득 보니 세상이 노랗고 누렇구나.
zero initialization in structure
struct 를 0 으로 초기화 하려면 다음과 같이 하면 된다. (from : this link) struct Snapshot { double x; int y ; }; ... Snapshot s; // receives no initialization Snapshot s = {}; // value initializes all members 단 구조체에 constructor 가 선언되어 있지 않을 때만 가능하다. constructor 를...
비스타 및 윈도우즈 7 의 공유 폴더 마운트 할 때 에러
윈도우즈에서 공유해 놓은 폴더를 리눅스등에서 마운트하려고 할 때 아래와 같은 에러 메세지를 낸다면, CIFS VFS: Send error in SessSetup = "-12" 윈도우즈 머신에서 event log viewer 에서 Event ID 2017 로 에러가 났다면 아래 방법을 쓰면 고칠 수 있다. regedit 를 관리자 권한으로 열어, HKEY_LOCAL_MACHINE ->SYSTEM ->CurrentControlSet ->Services ->LanmanServer ->...
OOP design principles, SOLID
리팩토링을 하거나, 클래스등을 디자인할 때 가이드라인이 되어 줄 수 있는 몇 가지 원칙이 있다. Uncle Bob 이라고 알려져 있는 Robert C Martin 이 정리한 것인데, 다음과 같다. Single responsibility principle Open/Closed principle Liskov substitution principle Interface segragation principle Dependency inversion principle 앞 글자를 따서 SOLID 원칙이라고 한다. 각각에 대해 간단하게...
/dev 폐쇄
개인 프로젝트 저장소를 운영하며 알맹이를 채워보겠다던 처음의 의지와는 달리 용두사미로 끝이 나고 말았다. 혼자 뭔가 해본다는 게 쉽지 않구나. 쓸 데 없는 것들 치우고, 코드를 한 줄 더 쓰는 데 집중해야겠다. 관리는 그 후의 일일 뿐.
xunit 테스트 패턴, 68가지 테스트 패턴을 통한 테스트 코드 리팩토링 기법
xUnit 테스트 패턴 - 제라드 메스자로스 지음, 박일 옮김/에이콘출판 존재감 느껴지는 책 이름에 너무 기대했던 탓일까? 굵은 두께에 비해 그리 얻을 게 많진 않았다. 책의 앞쪽 1/3 정도는 아주 유익했다. 책에서 전달하고자 하는 핵심은, 테스팅 코드를 쓸 때도 마찬가지로 Refactoring 에 언급한 냄새들이 나지 않는지 확인해야 하고 그것들을 적극적으로 제거해가는...
Requirements 와 Design
클래스 디자인을 잘 하는 것은 좋은데, 거기에 너무 심취한 나머지 요구사항의 범위를 넘어서는 디자인을 하게 되면 꼭 overkill 로 쓸 데 없는 낭비를 만들어낸 꼴이 되고 만다. 그러니 일단 feature 코딩을 하고, 해당 체인지를 리팩토링하는 순서로 작업하는 것이 가장 낭비가 없이 좋은 접근법이다.