Basic of web ref.웹을지탱하는기술_01
1. 웹 이전의 인터넷 : 전자메일, FTP, Telnet, Gopher
2. 팀버너스리에 의해 웹이 탄생, Mosaic 브라우저를 통해 사용자 증가
3. 표준화의 필요성 > IETF, W3C등
4. SOAP vs REST 분쟁
from : http://w3labs.kr/?p=5389
시중에 나와있는 웹소켓 솔루션은 정말 많은 종류가 있습니다.
하지만, 웹소켓을 지원하지 않는 IE6+ , Android2.1+ 버전까지 지원하는 웹소켓 솔루션은
Kaazing 과 Socket.IO 뿐이 없는 실정입니다.
Kaazing 과 Socket.IO 에서는 시뮬레이션모드 라는 것으로 웹소켓 미지원 브라우저에서도 동작 하는데요.
이 시뮬레이션 모드에서 기술의 차이가 발생 합니다.
Socket.IO 는 Long-Polling(Comet) 방식으로 시뮬레이션을 하고 있습니다.
결국 웹소켓이 나오기 이전 기술, 그러니까 결국 Legacy 기술을 이용하는 것으로 웹소켓과는 거리가 멀지요.
웹소켓의 장점인 Full-Duplex 방식이 아닌 Half-Duplex 방식으로 응답(Latency)가 느리고 가비지 트래픽이 발생하게 되지요.
Kaazing 의 경우는 유료 솔루션 답게 시뮬레이션을 자체 기술로 해결 했는데요.
Ajax 통신 2개를 열어 놓고, 하나는 Send를, 하나는 Receive를 담당하게 합니다.
웹소켓과 동일한 Full-Duplex 방식으로 빠른 응답속도와 적은 트래픽을 유발하게 되지요.
또한, 이러한 시뮬레이션 모드가 어떠한 구성환경에서도 완벽하게 동작 하는데요.
* Single Sign-On (SSO) 연동
* VPN 2중화 환경
* DDMZ 환경
* Proxy Server 에서 패킷을 감청 할 수 있는 환경(보안 유지)
* Active-Active Load Balancing
* Binary Data의 WebSocket 지원원
* 병렬적 서버 확장
* 국내 기술지원
이러한 엔터프라이즈 환경의 Needs 를 모두 충족시켜 주고 있습니다.
Kaazing을 도입한 회사들을 보면 솔루션의 완성도를 보실 수 있습니다.
금융권
* JP모건
* HSBC 은행
* 골드만삭스 외 4개사
Software & Service
* 오라클
* 인텔
* 시스코
* 에릭슨
* 구글
* 퀄컴
* 맥아피 외 8개사
Media & Entertainment
* Skybet
* AOL
* The Daily
* CNN Money 외 5개사
기타
* Southwest Airlines 외 4개사
더 자세한 내용은 아래 슬라이드를 참조 하시기 바라며,
문의 사항은 연락 주시기 바랍니다. (contact@w3labs.kr)
* URL : http://w3labs.kr/?p=5389
감사합니다.
안드로이드 웹뷰의 모든것
이형욱
NAVER / Whale Core
웨일 브라우저 TL로 웨일 브라우저 개발 및 관련 기술을 연구하고 있습니다. 웹엔진 (WebKit, Blink) 오픈소스 활동을 하고 있으며, 현재 브라우저 렌더링 성능 및 메모리 최적화에 관심이 있습니다.
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기복연 이
MEAN 스택, 서버와 클라이언트를 넘나드는 풀스택 엔지니어의 선택
MEAN은 서버와 클라이언트 양쪽을 모두 다루는 풀스택 엔지니어를 위한 기술이며, 한번 익혀두면 여러 상황에서 돌파구를 발견할 가능성을 높여준다. 그만큼 개발자의 경쟁력을 높일 수 있음을 의미한다. 스택의 모든 구성 요소가 자바스크립트를 사용하므로 진입 장벽이 낮고 팀 내 협업, 노하우 공유, 의사소통에 큰 도움을 준다.
이 책은 오랜 개발과 번역 경험을 두루 갖춘 베테랑 역자가 원서의 예제를 완결된 형태로 재구성해서 독자의 시간을 절약해주고 아쉬운 설명을 보강해 완성도를 높였다. 책의 흐름에 발맞춰 예제를 조금씩 확장해 나가다 보면 어느 순간 자신만의 멋진 풀스택 앱을 만들 수 있을 것이다.
- 지은이 : 애덤 브레츠, 콜린 J. 이릭
- 옮긴이 : 박재호
- ISBN : 978-89-6848-218-2 93000
- 발행일 : 2015년 9월 1일
- 페이지수 : 348
- 정가 : 28,000원
- 구매(예스24) : http://goo.gl/KNlRGg
Basic of web ref.웹을지탱하는기술_01
1. 웹 이전의 인터넷 : 전자메일, FTP, Telnet, Gopher
2. 팀버너스리에 의해 웹이 탄생, Mosaic 브라우저를 통해 사용자 증가
3. 표준화의 필요성 > IETF, W3C등
4. SOAP vs REST 분쟁
from : http://w3labs.kr/?p=5389
시중에 나와있는 웹소켓 솔루션은 정말 많은 종류가 있습니다.
하지만, 웹소켓을 지원하지 않는 IE6+ , Android2.1+ 버전까지 지원하는 웹소켓 솔루션은
Kaazing 과 Socket.IO 뿐이 없는 실정입니다.
Kaazing 과 Socket.IO 에서는 시뮬레이션모드 라는 것으로 웹소켓 미지원 브라우저에서도 동작 하는데요.
이 시뮬레이션 모드에서 기술의 차이가 발생 합니다.
Socket.IO 는 Long-Polling(Comet) 방식으로 시뮬레이션을 하고 있습니다.
결국 웹소켓이 나오기 이전 기술, 그러니까 결국 Legacy 기술을 이용하는 것으로 웹소켓과는 거리가 멀지요.
웹소켓의 장점인 Full-Duplex 방식이 아닌 Half-Duplex 방식으로 응답(Latency)가 느리고 가비지 트래픽이 발생하게 되지요.
Kaazing 의 경우는 유료 솔루션 답게 시뮬레이션을 자체 기술로 해결 했는데요.
Ajax 통신 2개를 열어 놓고, 하나는 Send를, 하나는 Receive를 담당하게 합니다.
웹소켓과 동일한 Full-Duplex 방식으로 빠른 응답속도와 적은 트래픽을 유발하게 되지요.
또한, 이러한 시뮬레이션 모드가 어떠한 구성환경에서도 완벽하게 동작 하는데요.
* Single Sign-On (SSO) 연동
* VPN 2중화 환경
* DDMZ 환경
* Proxy Server 에서 패킷을 감청 할 수 있는 환경(보안 유지)
* Active-Active Load Balancing
* Binary Data의 WebSocket 지원원
* 병렬적 서버 확장
* 국내 기술지원
이러한 엔터프라이즈 환경의 Needs 를 모두 충족시켜 주고 있습니다.
Kaazing을 도입한 회사들을 보면 솔루션의 완성도를 보실 수 있습니다.
금융권
* JP모건
* HSBC 은행
* 골드만삭스 외 4개사
Software & Service
* 오라클
* 인텔
* 시스코
* 에릭슨
* 구글
* 퀄컴
* 맥아피 외 8개사
Media & Entertainment
* Skybet
* AOL
* The Daily
* CNN Money 외 5개사
기타
* Southwest Airlines 외 4개사
더 자세한 내용은 아래 슬라이드를 참조 하시기 바라며,
문의 사항은 연락 주시기 바랍니다. (contact@w3labs.kr)
* URL : http://w3labs.kr/?p=5389
감사합니다.
안드로이드 웹뷰의 모든것
이형욱
NAVER / Whale Core
웨일 브라우저 TL로 웨일 브라우저 개발 및 관련 기술을 연구하고 있습니다. 웹엔진 (WebKit, Blink) 오픈소스 활동을 하고 있으며, 현재 브라우저 렌더링 성능 및 메모리 최적화에 관심이 있습니다.
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기복연 이
MEAN 스택, 서버와 클라이언트를 넘나드는 풀스택 엔지니어의 선택
MEAN은 서버와 클라이언트 양쪽을 모두 다루는 풀스택 엔지니어를 위한 기술이며, 한번 익혀두면 여러 상황에서 돌파구를 발견할 가능성을 높여준다. 그만큼 개발자의 경쟁력을 높일 수 있음을 의미한다. 스택의 모든 구성 요소가 자바스크립트를 사용하므로 진입 장벽이 낮고 팀 내 협업, 노하우 공유, 의사소통에 큰 도움을 준다.
이 책은 오랜 개발과 번역 경험을 두루 갖춘 베테랑 역자가 원서의 예제를 완결된 형태로 재구성해서 독자의 시간을 절약해주고 아쉬운 설명을 보강해 완성도를 높였다. 책의 흐름에 발맞춰 예제를 조금씩 확장해 나가다 보면 어느 순간 자신만의 멋진 풀스택 앱을 만들 수 있을 것이다.
- 지은이 : 애덤 브레츠, 콜린 J. 이릭
- 옮긴이 : 박재호
- ISBN : 978-89-6848-218-2 93000
- 발행일 : 2015년 9월 1일
- 페이지수 : 348
- 정가 : 28,000원
- 구매(예스24) : http://goo.gl/KNlRGg
5. CJS, AMD
모듈 시스템
02
CJS(CommonJS)
CommonJS는 웹 브라우저 밖의 자바스크립트를 위한 모듈 생태계 규칙을 설립하기 위해 만들어졌습니다. 그렇기 때문에 CommonJS 는 보통 서버 사이드 개발에 좀 더
적합하게 설계되었고 Node.js의 표준 모듈시스템으로 자리잡았습니다.
AMD(Asynchronous Module Definition)
CommonJS는 모든 파일이 디스크에 있어, 필요할 때 바로 불러올 수 있는 상황에서 주로 사용됩니다. 브라우저에서 이런 방식은 필요한 모듈이 모두 다운로드 될 때까지
아무것도 할 수 없는 상황이 발생합니다. 그래서 비동기 방식으로 자바스크립트 모듈을 사용하는 API인, AMD가 만들어졌습니다.
8. 번들러의 역할과 이점
번들러
03
번들러의 역할과 이점
번들러는 웹사이트 개발과정에서 생기는 많은 리소스 파일들을 최적화 해주는 역할을 합니다.
1. 여러 개의 파일을 하나로 묶어줍니다 -> 네트워크 접속의 부담을 줄여 더 빠른 서비스를 제공할 수 있습니다.
2. 다양한 서드파티 라이브러리를 사용할 수 있습니다 -> 구형 브라우저를 지원하도록 도와주는 babel이나 보다 편하게 CSS를 작성할 수 있는
전처리기 등
3. 코드의 양을 최소화 해줍니다 -> 변수명, 띄어쓰기 및 개행을 변경, 제거하여 파일의 크기를 줄여줍니다.
9. 번들러 빌드 예시
번들러
03
번들러 빌드 예시
HTML JavaScript
번들러를 통하여 작성한 파일들을 아래와 같이 번들링 할 수 있습니다.
11. PARCEL
번들러
03
PARCEL
Parcel은 2017년에 나온 웹 애플리케이션의 번들러 입니다.
Parcel의 특징은 설정이 필요 없는 zero-configuration 입니다.
큰 웹 애플리케이션을 빌드하면 소모되는 시간이 상당한데
Parcel은 캐싱을 하므로 최초 빌드보다는 두 번째 빌드 속도부터 빠른 속도로 빌드가 됩니다
12. Rollup
번들러
03
Rollup
Rollup은 ESM 형태로 번들링이 이루어져 라이브러리 제작에 적합한 번들러 입니다.
자바스크립트 파일에서 번들 전체에 사용하지 않는 코드를 제거해주는 Tree shaking이
잘 이루어진다는 장점이 있습니다.
여러 개의 모듈을 하나의 scope로 합쳐진 단일 모듈로 만들기 때문에 코드를 줄일 수 있습니다.
웹팩 번들링
롤업 번들링
13. Webpack
번들러
03
Webpack
Webpack은 2012년도에 나온 번들링 도구 입니다.
타 번들러에 비해 생태계가 풍부하여 많은 플러그인 지원이 장점이며 안정적입니다.
Development, Production 모드를 나눠 Production 모드에서는 코드 난독화, 압축, 트리셰이킹을 지원합니다,
Loader에서 babel을 통해 일부 브라우저에서 지원되지않는 ES6 문법에 대한 트랜스파일링을 지원합니다,
14. Webpack설치 및 필요한 파일
Webpack
04
Webpack설치 및 필요한 파일
프로젝트 생성 및 webpack 설치
cli를 사용하여 webpack 빌드
15. Webpack 환경설정
Webpack
04
Mode
Mode 매개 변수를 [development, production 또는 none]으로 설정하면 각 환경에 해당하는
Webpack의 내장 최적화를 사용할 수 있습니다. 아무런 설정을 하지 않으면 웹팩은 production으로
자동 설정합니다.
Entry point
Entry point는 내부 종속성 그래프를 시작하기 위해 번들링 프로세스를 시작할 지점을 나타냅니다.
Webpack은 Entry point에 의존하는 다른 모듈과 라이브러리를 파악합니다.
Entry point는 한 개일 수도 있고, 여러 개일 수도 있습니다.
Output
output 설정은 웹팩이 컴파일 된 파일을 어떻게 디스크에 생성할지 표현하는 것입니다.
Entry는 여러 개 있을 수 있지만, output은 오직 하나만 지정할 수 있습니다.
Plugin
Plugin은 웹팩에 기본적인 동작에 추가적인 기능을 제공하게 해줍니다.
Plugin은 다양한 커스텀 기능을 제공하는데, 번들링된 파일을 난독화, 압축할 수 있고, 파일 복사 파일
추출, 별칭 사용 등과 같은 작업을 수행할 수도 있습니다.
webpack.config.js
16. 참고
JavaScript 번들러로 본 조선시대 붕당의 이해 | 요즘IT
[JavaScript] CJS, AMD, UMD, ESM
[Webpack] 웹팩 개념 알아보기
NAVER D2
NAVER D2
[ECMAScript] AMD, CommonJS 의 JavaScript 모듈화 | MINJUNG
자바스크립트 범용화와 모듈 시스템 | ESM, CommonJS
Webpack에서 Rollup전환기
기본적으로 webpack은 환경설정 파일을 사용할 필요없이 다음과 같이 cli를 이용하여 간단하게 build 할 수 있습니다.
하지만 일반적으로 프로젝트에서 webpack의 구조는 간단하지 않고, 많은 기능들을 추가적으로 다루어야 합니다. 따라서 환경설정 파일을 통해 build 해주어야 합니다.
mode 매개 변수를 development, production 또는 none으로 설정하면 각 환경에 해당하는 webpack의 내장 최적화를 사용할 수 있습니다. 아무런 설정을 하지 않으면 웹팩은 production으로 자동 설정합니다. webpack.config.js에 다음과 같이 설정해주면 됩니다.