본문 바로가기

분류 전체보기

(872)
[주석] 한 일보다는 이유를... 회사 팀장은 소스코드에 주석이 많으면 잘 짠 코드라고 생각하고 주석을 권장한다. (오늘 회의 시간에도 변수마다 일일이 주석을 달라고 한다. 차라리 'int i = ... // 사용자 ID' 를 'int userID = ...' 과 같이 의미있는 이름을 부여해주는 게 나은데..)하지만 소프트웨어공학 관련 도서를 읽어보면 주석 보다는 코드를 통해 프로그램을 설명하는 프로그래밍을 하라고 조언한다. 이런 것은 프로그래밍 코드 내의 주석 뿐만 아니라 소스코드저장소의 commit log, 에러코드 등에도 적용할 수 있음을 알게 되었다. 지문 장치에 대한 삭제를 만들고 있는데, 특정 사용자가 없을 경우는 에러가 나도록 요구사항에 되어 있었다.그런데 에러코드가 어떻게 들어오나 확인을 하고 있었는데 통합테스트가 실패했다..
Enum에 Description 확장메소드 추가하기 NUnit 테스트 쪽using NUnit.Framework; [TestFixture] class EnumExtsTests { [Test] public void TestGetDescription_Description문자열가져오기() { Assert.AreEqual("The operation completed successfully.", Windows.ErrorCodes.ERROR_SUCCESS.GetDescription()); } [Test] public void TestGetDescription_Description속성은빈문자열획득() { Assert.AreEqual("", Windows.ErrorCodes.ERROR_INVALID_FUNCTION.GetDescription()); } } public c..
[JVM] PermGen? 자바로 프로그램을 짜다 운영(장시간)하다 보면 PermGen에 OutOfMemory라는 예외를 경험하게 된다.보통 흔히 하는 대처로는 JVM 가동시에 XX:MaxPermSize=256m 같은 옵션을 주어 실행을 한다. PermGenPermGen은 Permanent Generation의 약자이다. 여기에 대해서는 jonthecollector가 2006년(!)에 작성한 글을 읽어보면 된다.=> https://blogs.oracle.com/jonthecollector/entry/presenting_the_permanent_generation요약하면 '클래스의 정의들과 연관된 메타데이터를 위해 사용되는 메모리 공간'정도가 될 것이다. permgen은 힙(young generation 과 tenured gener..
nmap : UDP 검색 SNMP 를 위해 검색이 되나 확인해보니 된다. > nmap -sU -P0 -T Aggressive -F [target] ref. http://seclists.org/pen-test/2004/Aug/32
카카오톡PC 버전 - Themida 패킹을! 친구가 URL을 보내줘서 무슨 내용인가 클릭을 해보았다.기본브라우저로 지정되어 있는 크롬이 열리더니 아래와 같이 회색으로 변해버렸다.처음에는 1.링크의 문제라고 생각을 했으나 모바일브라우저에서는 링크로 연결이 잘 되는 것이었다.두 번째는 2. 크롬 브라우저의 문제라고 생각을 하고 브라우저를 모두 종료하고 주소를 복사하니 연결이 잘 되는 것이었다. 마지막 원인은 3. 카카오톡 링크 이벤트라고 밖에 생각할 수 없었다.링크 클릭시 어떻게 브라우저를 띄우는지 알아보기 위해서 32비트 Procmon.exe을 띄었다.(카카오톡PC버전은 아직 32비트이다)그런데 카카오톡이 크래싱이 되어버렸다. 다시 띄어보니 아래와 같은 메시지가 뜬다. 프로그램을 실행시키려면 네놈이 띄운 Procmon.exe를 얼른닫고 다시 프로그램..
[쉘스크립트] Visual Studio 2008 -> 2005 수정해줄 것이 2가지다. .slnMicrosoft Visual Studio Solution File, Format Version 10.00# Visual Studio 2008을Microsoft Visual Studio Solution File, Format Version 9.00# Visual Studio 2005으로 .vcprojProjectType="Visual C++"Version="9.00"을ProjectType="Visual C++"Version="8.00"로 sed 명령으로 치환을 하면 된다. Git을 까니 윈도우에서 리눅스 명령어를 쓸 수 있었다.없으면 sed for Windows 를 사용한다.@echo off REM Cleandel /s /a *.exe *.suo *.ncb *.user *..
[책] Effective Unit Testing 좀 오래 읽은 테스트 관련 도서이다. 목록기존 이펙티브 시리즈 처럼 항목1, 2, 3 처럼 하지는 않다. 하지만 문제가 있는 테스트의 예를 하나하나 조목조목 들어가며 나열을 하고 있다. 또한 지은이이 '라쎄 코스켈라'가 현직 프로그래머인지 현실에서 벌어질 만한 사례를 들어 설명을 하고 있어서 도움이 된다는 것이다. 역자가 번역을 잘 쓴건지, 원자가 표현력이 풍부한 것인지 재미있는 용어들도 많이 나온다.p.34 끝판왕p.98 일용할 야근p.216 삽질 (yak-shaving) 정오표 또는 개선사항p.56 그림 2-4, 오리의 예로 캠벨 오리, 댕기 오리, 테스트 더블 오리로 나왔는데, 차라리 원앙, 청둥 오리와 같이 한국인에게 익숙한 오리 이름으로 표를 대체가능 했을 것 같다. 번역에 직역이 더 이해하기 ..
[ux] 추가 내용 있음 알림 너무 많은 데이터를 사람에게 한 번에 보여주려면 뇌에 과부하가 걸리게 된다.이럴 때 나오는 반응은 1. 하품 / 그리고 2. 취침이다.이런 것을 인지부하이론에서는 인지 과부하 (Cognitive overhead)라고 부른다. UX 디자이너들은 그래서 '점진적인 표시'라는 개념을 사용한다.즉 지금 즉시 필요한 것만 보여주고, 사용자가 인터랙티브하게 더 보거나 안 보는 선택을 할 수 있게 해주는 것이다.개발자에게 늦은 적재(lazy load)와 비슷한 개념이다. 아마존: http://www.amazon.com/CLR-via-C-Developer-Reference/dp/0735667454북 세부정보(Book Description)을 보면 아래 회색으로 흐려지는 부분이 있고, 아래 "더 보기(Show more)..