* 상속은 프로그래밍의 기본 철학인 Don't Repeat Yourself(DRY) 원칙에 있어 매우 중요한 요소 중 하나다. 하지만 이러한 상속을 사용하지 말라는 글을 발견하여 흥미를 느껴 소개한다. Don't inherit code (by Kevin Rutherford) http://silkandspinach.net/2011/09/28/dont-inherit-code/ 상속(extends)보다는 인터페이스(implements) 사용을 권장하는 내용이다. Why you should use composition instead of inheritance (by Hoskinator) http://hoskinator.blogspot.kr/2006/10/why-you-should-use-composition-i..
* 클라이언트 사이드에서 JavaScript를 이용하여 유저가 입력한 값에 대한 유효성 검사 구현에 대해 고민한 결과를 정리하였다. * 유효성 검사를 직접 구현하는 것은 비효율적이라고 판단되어 인터넷에 이미 공개된 유명 밸리데이션 라이브러리를 조사하여 활용하기로 결정했다. * 대부분의 밸리데이션 라이브러리는 HTML 상의 FORM 엘러먼트를 대상으로 작동하며 이미 정의된 밸리데이션 룰을 간편하게 적용할 수 있도록 구현되어 있다. * 가장 오래되고 유명한 라이브러리는 Jorn Zaefferer가 개발한 jQuery Validation이다. 마지막 버전은 2012년 9월 공개된 v1.10.0이다. jQuery에 대해 종속성을 가진다. jQuery Validation CDN http://ajax.aspnetc..
* It's not rocket science. 해외 블로그에서 데이터베이스 디자인에 대해 쉽게 풀이한 글을 읽으면서 본 문장이다. 생각해보면 학부 시절에 처음 접한 데이터베이스 디자인 이론은 쓸데없이 너무 어려웠다는 생각이 든다. 학교를 졸업하고 전산실 개발자가 되어 생존하기 위해 데이터베이스 디자인을 공부하는 요즘 몇가지 사소한 기본 원칙이 무시되어 나중에 큰 재앙으로 다가오는 경우를 보면서 기본의 중요성을 느끼고 있다. 데이터베이스 디자인을 공부하면서 도움이 됬던 글들을 모아봤다. Ten Common Database Design Mistakes (by Louis Davidson) http://www.simple-talk.com/sql/database-administration/ten-common-d..
* 내부 연동 프로젝트 진행 중 크로스 도메인 메시징(Cross-Domain Messaging) 문제에 봉착했다. A 시스템의 페이지에서 IFRAME 또는 팝업의 형태로 B 시스템의 페이지를 호출하는 구조인데 A에서 B의 JavaScript 메써드를 실행하도록 되어 있다. 문제는 A 시스템과 B 시스템의 도메인이 서로 틀리기 때문에 A와 B의 window 객체는 서로 접근이 불가능하여 오류가 발생한다. * 각 시스템의 도메인이 일치하고 추후에 도메인이 변경될 가능성이 없다면 각 시스템의 페이지에 window.domain 프라퍼티를 명시적으로 일치시켜주면 문제는 간단히 해결된다. * 하지만 각 시스템의 도메인이 일치하지 않는다면 다른 방법을 찾아야 한다. 구글링을 통해 window.postMessage 메..
- Total
- Today
- Yesterday
- 평속
- jsp
- JHipster
- chrome
- 자전거
- MySQL
- 태그를 입력해 주세요.
- bootstrap
- 로드바이크
- Kendo UI
- java
- maven
- 알뜰폰
- Docker
- DynamoDB
- JavaScript
- 구동계
- Kendo UI Web Grid
- 로드 바이크
- graylog
- jstl
- Eclipse
- jpa
- Tomcat
- CentOS
- node.js
- kotlin
- Spring Boot
- Spring MVC 3
- spring
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |