POP_part25(법칙 - 프로그래밍 안티패턴)
법칙 - 프로그래밍 안티패턴브룩스 법칙일정이 늦어지고 있는 소프트웨어 개발 프로젝트에서 지연을 만회하기 위해 후반에 사람을 추가하면 오히려 지연이 한층 더초래 된다.맨먼스(man month)로 프로젝트 일정을 환산하는데 man과 month는 교환 불가능이다. 이유는 다 ...
Read more
POP_part24(관점 - 프로그래머가 보는 시각)
관점 - 프로그래머가 보는 시각개밥먹기자신이 개발한 소프트웨어를 직접 사용해 봐야 된다.이렇게 되면 사용자의 관점을 얻을수 있다.본인이 사용해서 편리함을 증명해야된다. 고무오리디버깅 기법이다. 발생한 문제를 누구한테 설명하므로써 문제의 원인을 스스로 깨닫고 자체 해결할 ...
Read more
POP_part23(관점 - 프로그래머가 보는 시각)
관점 - 프로그래머가 보는 시각계약에 의한 설계함수와 함수를 호출하는 쪽이 서로 계약을 맺고 있다고 간주하고 프로그래밍 하는것을 가리켜 계약에 의한 설계라고 한다.계약한 내용을 미리 함수의 주석으로 알려주자 계약이행의 확인을 위한 코드는 단정문으로 표현하자. 주의점 ...
Read more
LockSupport.park()
LockSupport.park()운영중인 시스템에서 아래처럼 에러 코드들이 발생하면서 장애상황이 발생되기 시작했다. 12345678910111213141516171819202122232425262728293031323334353637383940sun.misc.Unsaf ...
Read more
json-lib
json-lib팀원이 json-lib를 써서 json 문자열을 JSONObject로 변환하는 부분이 있었다.하지만 하나의 특정 url에서 아래처럼 에러코드가 나기 시작했다. 123JSON keys must be strings. 그래서 json-lib를 보기 시작했는 ...
Read more
jooq(Java Object Oriented Querying)
jooq(Java Object Oriented Querying)자바 객체지향 쿼리 라고 알려진 jooq는 가벼운 데이터베이스와의 맵핑 입니다.소프트웨어 공학의 active record pattern의 구현체로 database schema로 부터 classes gene ...
Read more
loadtest
loadtest간단하게 자바로 동시성 태스트를 하기 위해서 CyclicBarrier를 사용해서 프로세스 실행을 대기 시켜서 Thread Safe 여부를 확인하려고 한다.아래 코드를 보고 사용법을 보고 여러가지 방향을로 변경시켜서 테스트 해보면 좋을것 같다몇달전에 sta ...
Read more
access log 분석
access log 분석갑자기 DB에서 처리량이 밀리면서 리플리케이션이 밀리기 시작했다.WAS쪽 모니터링을 scourt를 통해서 하고 있는데 was 쪽에서는 특별한 장애 상황이 감지 되지 않았다.scouter agent에서 2초마서 서버로 전송하니 초단위에 부하량은 볼 ...
Read more
CodeSpitz74_Part4(권한과 책임)
코드스피츠 74 4회차프로그램 짤때는 권한과 책임이 일치하게 짜야 된다. 권한과 책임이 일치하면 그것을 역활이라고 한다. TETRIS객체후보 STAGE(현재 스테이지 정보) SCORE(점수 및 계산법) BLOCK(범용 블록정의) - 색깔, 회전 게임본체 범용 패널 시 ...
Read more
POP_part22(관점 - 프로그래머가 보는 시각)
관점 - 프로그래머가 보는 시각비자아적 프로그래밍프로그래밍 할때는 자아를 버려야 된다. 자존심과 자만을 버리고 동료에게 협력을 구하자코드를 작성할때는 자기 능력을 뽐내는것이 아니라 코드가 더 좋아지는 것에 초점을 맞추어야 한다. 자기 자신도 실수를 저지른다는 점을 이 ...
Read more