AChecker – Open Source 2일차

이전에 pull request 한 것에 대한 메일이 왔다. 1. Commit에 대한 comment 누군가가 github에서 내가 올려둔 pull request에 comment를 달았는데 같은 내용이 메일로 온 것이다. 내용은 내가 수정할 때 사용한 ENT_IGNORE라는 option (flag)가 보안 이슈가 있는 건데 사용한 특별한 이유가 있냐는 것이었다. 앞서도 언급했지만 난 PHP를 잘 모른다. Flag list들을 문서에서 참고했을 때 있으면 좋을… Read more »

AChecker – Open Source 시작

웹 접근성 관련 작업을 할 일이 생겨서 AChecker라는 서비스를 살펴보게 되었다. AChecker는 사용자가 입력한 URL에 대해서 지정한 웹접근성 Guideline(이하 WAG)을 준수하고 있는지 검사를 해주는데, 기본으로는 HTML 형태로 출력해주지면 감사하게도 REST API 역시 제공하고 있다. REST API를 사용할 경우 Output type은 XML 뿐이다. 1. 문제점에 대한 인지 사용해보면서 기능에 대해 몇가지 검토를 하는 도중에 검사 대상이… Read more »

Adapter / Facade pattern

1. Adapter pattern Wrapper pattern 혹은 단순히 wrapper 로도 불리우는 디자인 패턴으로 서로 호환성이 없는 상황에서 하나의 인터페이스를 다른 인터페이스로 변환하는 과정을 거쳐 사용이 가능하도록 만들어준다. 호환성이 없어서 한 인터페이스를 구현한 클래스들을 사용하지 못할 때 가능하게 만들어주는 역할을 하는 것을 Adapter라고 부르며, Adapter에 맞춰서 변환하는 대상을 Adaptee로 한다. (아래 그림 참조)   위 UML에서는 인터페이스와… Read more »

Strategy Pattern

Strategy pattern은 간단히 생각하면 strategy를 runtime에 결정할 수 있도록 만드는 pattern으로 생각하고 있다. 개인적으로는 pattern 공부하면서 가장 인상적이고 재미있는게 strategy pattern 이었다.   1. Strategy pattern의 특징과 구조 Strategy pattern을 사용하면 알고리즘(또는 strategy)의 행위를 runtime에 변경하는 것이 가능하다. Strategy pattern을 적용한다는 것은 알고리즘군을 정의해서 캡슐화하며 서로 교환할 수 있게 만드는 과정이라고 생각할 수 있는데, 알고리즘과… Read more »

GTD – Stressless every day

시간이 지날수록 스트레스가 심해지는 것 같아서 GTD를 사용해 보기로 했다. 스트레스는 마음의 병이라 치유하지 않으면 그게 곧 말이나 행동에 반영이 되는 것처럼 느껴졌다. 그럼 나의 스트레스는 주로 무엇때문에 발생하는가? 를 생각해보니 보통 이런 것들에 기인했던 것 같다. (1) 기대(이상)와 현실의 괴리 (2) 업무와 사생활의 불균형 (3) 복잡한 상황의 누적   (1)은 개인마다 차이가 있겠지만 나의… Read more »