일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- gcm 푸시 번역
- 카프카
- 푸시
- Push
- php
- 도메인 주도 개발
- nginx
- 성능
- kafka
- Java
- git
- graphql
- GCM 번역
- 웹사이트최적화기법
- 디자인패턴
- APNS
- 페이스북 번역
- nginx설치
- 자바스크립트
- nginx설정
- JPA
- 카프카 트랜잭션
- 웹사이트성능
- ddd
- 웹사이트 성능
- Design Pattern
- notification
- 푸시 번역
- GCM
- Today
- Total
목록IT 책 (38)
간단한 개발관련 내용
Chapter 11. 리다이렉트를 피하라. 리다이렉트를 사용자를 한 URL에서 다른 URL로 다시 보내는 것을 말한다. HTML문서 모두 요청하기도 하며, 페이지 안에서 구성요소를 요청할 때도 사용된다. 그리고 리다이렉트를 사용하는 이유는 다양하다. 리다이렉트에 대해 기억해 두어야 할 중요한 점은 리다이렉트는 페이지를 더 느리게 만든다는 점이다. 1. 리다이렉트 타입. 웹 서버가 브라우저로 리다이렉트를 반환할 경우 그 응답은 3xx 범위의 상태 코드를 갖게 된다. 이 값은 HTTP 요청을 완수하기 위해서는 user agent 가 추가적으로 무언가를 해야 한다는 것을 나타낸다. 301,302 가 주로 사용되며 307까지 정의되어 있다. meta tag 나 document.location을 이용하여 리다이렉..
Chapter10. 자바스크립트를 최소화하라. 1. 최소화(minification). 최소화는 코드의 불필요한 문자를 줄여서 파일 크기를 줄여 로딩 시간을 개선하는 것을 말한다. 코드를 최소화하면 모든 주석뿐만 아니라 필요 없는 공백(스페이스, 개행, 탭)이 제거 된다. 자바스크립트의 경우 다운로드되는 파일의 용량이 줄어들기 때문에 응답 시간이 더 빨라진다. 2. 난독화(obfuscation). 난독화는 소스 코드에 적용되는 최소화의 대안적인 기술이다. 난독화는 주석과공백 뿐만 아니라 코드 또한 변경하여 알아보기 힘들게 만든다. 코드 변경은 함수와 변수의 이름을 더 짧게 만들기 때문에 성능에는 도움이 되지만 읽기가 어려워지고 버그 발생 확률이 오르며, 유지보수 및 디버깅 또한 더 어렵다. 3. 얼마나 절..
Chapter09. DNS 조회를 줄여라. DNS는 우리가 기억하기 어려운 호스트의 IP 주소를 쉽게 찾을 수 있도록 도와주고, 서버 IP가 바뀌더라도 도메인을 통해 호스트를 찾아갈 수 있도록 해 준다. 이러한 DNS 응답시간은 DNS 리졸버에 몰리는 사용량, 브라우저와 얼마나 가까이 있는가, 대역폭 속도는 얼마인 가에 따라서 달라진다. 1. DNS 캐싱과 TTL. DNS 조회는 더 나은 성능을 위해서 캐시에 저장되는데 이 저장은 주기적으로 캐시에서 삭제되어야만 했고 얼마나 자주 삭제되는지는 여러 가지 설정에 의해 결정된다. ㄱ. DNS 캐싱에 영향을 주는 요소. OS와 브라우저의 캐싱 그리고 HTTP 의 Kepp-Alive 의 우선순위를 고려해야 하며, DNS의 TTL값도 함께 캐싱에 영향을 주는 요소..
Chapter 08. 자바스크립트와 CSS를 외부 파일에 넣어라. 1. 외부파일 vs 인라인코드.ㄱ. 쉽게 말하자면 인라인이 더 빠르다.단순한 경우에 인라인이 빠르지만 중요한 포인트는 외부 자바스크립트와 CSS 구성요소가 HTML 요청 수에 비해서 얼마만큼 자주 캐시되느냐는 것이다. ㄴ. 페이지 뷰.사용자당 페이지 뷰가 적을 경우 인라인 자바스크립트와 CSS를 이용하는 것이 더 좋다. 반면에 사용자의 페이지 뷰가 많다면 브라우저는 캐시 안에 외부 구성요소를 보관하고 있을 경우가 많기 때문에 외부파일로 사용하는 것이 좋다. ㄷ. 빈 캐시와 꽉 찬 캐시.외부 파일을 사용하는 것이 좋을지 아니면 인라인으로 포함시키는 것이 좋을지 결정하기 위해서는 사용자가 얼마나 많은 외부 구성요소를 캐시에서 읽어 사용하는지를..
Chapter 07. CSS Expression 을 피하라. CSS Expression 은 CSS 속성을 동적으로 설정하는 강력하면서 위험한 기능으로 IE5와 그 이후의 버전에서 지원된다. 1. Expression 의 업데이트. Expression 의 문제는 생각보다 자주 실행되어 페이지가 렌더링되거나 페이지 이벤트가 있을 때마다 동작하게 된다. 2. 이 문제를 피해서 적용하는 방법. CSS Expression이 한 번만 동작되도록 하는 방법과, CSS Expression 대신에 이벤트 핸들링을 이용하여 관련 있는 이벤트 시에만 동작하도록 하는 방법이 있다. 3. 결론. CSS Expression 과 그 영향을 명확하게 이해하지 못한 채 CSS Expression을 사용하는 것은 매우 위험한 일이다.
Chapter 06. 스크립트는 아래에 넣어라. 1. 스크립트 문제. 스크립트의 경우 스크립트 아래에 있는 모든 구성요소의 점진적 렌더링을 막게 된다. 2. 동시 다운로드. 응답 시간에 가장 큰 영향을 주는 것은 페이지 안에 있는 구성요속의 개수이다. HTTP/1.1 스펙에서는 한 호스트당 동시에 2개의 구성요소를 다운로드하는 것을 제안하고 있다. IE는 레지스트리에 이 값을 저장하고 있고, 파이어폭스는 about:config 페이지 안의 network.http.max-persistent-connections-per-server 설정을 통해 가지고 있다. 야후가 조사한 결과에서는 2개의 호스트 이름을 이용할 때 가장 좋은 성능을 낸다는 것을 알 수 있었다. 3. 동시 다운로드를 막는 스크립트. 스크립트가..