개요 나는 2011년 모 사내 시스템을 MVVM 패턴의 Knockout으로 개발하면서 상당한 생산성 향상을 경험했다.(심지어 해당 시스템은 닷넷 기반의 클라이언트 애플리케이션이었는데 나는 기어코 WebView를 적용하여 도입하고 말았다.) 데이터 바인딩과 컴포넌트의 개념이 일반적인 닷넷 기반의 클라이언트 개발에 익숙한 개발자들은 전통적인 웹 프론트엔드 개발 방식이 비효율적이라는 생각을 많이 했을 것이다. Knockout은 그러한 불만을 적당히 해결해주는 라이브러리였다. 시간이 흘러 웹 프론트엔드 개발 환경이 더욱 복잡해지면서 Angular, React 등의 본격적인 엔터프라이즈 레벨의 프레임워크가 등장하기 시작했다. 서로가 각자의 장점을 내세워 점유율을 높여가고 있지만 반대로 도입에 필요한 학습곡선이 지..
개요 Vue.js는 최근 가장 핫한 MVVM 기반의 JavaScript 프론트엔드 라이브러리이다. Vue.js를 사용하면 jQuery보다 간결하고 직관적인 소스 코드를 작성할 수 있다. 달리 말하면 jQuery를 완전히 배제하고 프론트엔드 소스 코드를 작성할 수 있다. 하지만 AJAX 요청시 jQuery.ajax()를 포기하기에는 너무 매력적인 기능이다. vue-resource는 XMLHttpRequest 오브젝트를 이용한 AJAX 요청을 도와주는 Vue.js의 플러그인 라이브러리이다. 이번 글에서는 TypeScript 환경에서 vue-resource의 사용 예를 간단히 설명하고자 한다. HTML TypeScript Definition 설치 TypeScript 환경이라면 프로젝트 루트 폴더에서 아래와 같..
HTML JavaScript // JavaScript에서 날짜 객체를 획득한다. var someDate = document.getElementById("someDate"); // TypeScript에서 날짜 객체를 획득한다. let someDate = document.getElementById("someDate"); // DOM에서 날짜는 HTMLInputElement 객체이다. someDate instanceof HTMLInputElement; //true; someDate instanceof HTMLElement; //true; // 날짜 값을 획득한다. someDate.value; // "2016-08-15" // 날짜 값을 새로 설정한다. someDate.value = "2016-01-01"; s..
기능 라이브러리 Ramda: JavaScript에 Functional Programming(FP) 개념을 도입한 라이브러리 string.js: 문자열 제어 라이브러리, Java 진영의 StringUtils와 비슷한 기능을 한다. 클라이언트 사이드 라이브러리 window.fetch Polyfill: 현재 크롬 및 파이어폭스에서만 지원하는 window.fetch를 에뮬레이션해주는 라이브러리, (window.fetch는 window.XMLHttpRequest를 대체하는 새로운 AJAX 표준 오브젝트이다.) Velocity.js: jQuery의 $.animate()를 대체하는 애니메이션 라이브러리, 순수 JavaScript로 굉장히 빠른 성능을 보여준다. nanobar: Progress Bar 애니메이션을 제공..
- Total
- Today
- Yesterday
- maven
- Kendo UI
- CentOS
- jstl
- MySQL
- node.js
- Spring Boot
- chrome
- bootstrap
- JavaScript
- 평속
- java
- Spring MVC 3
- jsp
- 자전거
- 로드 바이크
- jpa
- DynamoDB
- Docker
- JHipster
- Kendo UI Web Grid
- 알뜰폰
- Tomcat
- 구동계
- kotlin
- 로드바이크
- spring
- 태그를 입력해 주세요.
- graylog
- Eclipse
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |