2021-01-20-TIL
2021-01-20-TIL
공부할만한 것
네트워크 기초를 공부할 때 볼 자료를 모아 두었다. MDN의 “인터넷은 어떻게 동작하는가”는 인터넷을 컴퓨터끼리 연결하는 네트워크들의 네트워크로 설명한다. 두 컴퓨터를 직접 잇는 것에서 시작해, 연결이 많아지면 라우터가 중간에서 메시지를 전달하고, 라우터끼리 연결해 규모를 키우며, 멀리 떨어진 네트워크는 ISP를 통해 이어진다는 흐름이다. Cisco 네트워크 다이어그램 자료는 라우터, 스위치, 방화벽 같은 장비를 표준 기호로 그려 네트워크 구성을 표현하는 방법을 보여 준다.
나머지는 교보문고의 책 링크 세 개와, Effective Java를 읽고 정리한 블로그 글이다.
- https://creately.com/lp/cisco-network-diagrams/
- https://developer.mozilla.org/ko/docs/Learn/Common_questions/How_does_the_Internet_work
- http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9791185475318&orderClick=LAG&Kc=
- http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788996094036&orderClick=LEa&Kc=
- http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788966261208&orderClick=LAG&Kc=
- https://blog.choibom.com/book/2018/01/21/Effective-Java/#comments
메모
Java > Spring > DB > HTTP > OS
회사 화장실을 가봐라. 깨끗한지 반드시 확인하라.
면접 분위기가 그 회사를 대변한다.
프로덕트 매니저, 리뷰어
상호대차
함수 명세서를 쓴다. 테스트를 잘 하기위해서 테스트코드도 작성 해야한다. 설계가 중요하다.
isWhitespace(c): Character.isWhitespace()는 문자가 Java 기준의 공백 문자인지 판별한다. 스페이스뿐 아니라 탭, 줄바꿈, 캐리지 리턴 등도 공백으로 보지만, 줄바꿈하지 않는 공백( )은 공백으로 치지 않는다. 문자열을 직접 파싱할 때 c == ' '만 비교하면 탭이나 줄바꿈을 놓치므로 이 메서드를 쓰는 편이 안전하다.
포드 대 페라리, 시네마 천국,
Jekyll 로컬 실행
GitHub Pages에 올리기 전에 로컬에서 Jekyll 사이트를 띄워 확인하는 방법을 정리한 글들이다. Ruby와 Bundler를 설치하고 Gemfile의 의존성을 bundle install로 받은 뒤 bundle exec jekyll serve를 실행하면, 사이트를 빌드하고 파일이 바뀔 때마다 다시 빌드하는 로컬 서버가 뜬다. bundle exec를 붙이는 이유는 Gemfile.lock에 고정된 버전의 Jekyll과 플러그인으로 실행하기 위해서다.
- https://wikidocs.net/91460
- http://labs.brandi.co.kr/2018/05/14/chunbs.html
- https://rian-yeji.github.io/jekyll/2019/05/09/jekyll-excute-local.html
- https://jamiekang.github.io/2017/04/28/working-jekyll-locally/
Jekyll 성능 개선
글이 많아지면 Jekyll 빌드가 느려진다. 링크된 글들은 원인을 찾고 줄이는 방법을 다룬다.
- 측정:
--profile옵션은 Liquid 렌더링 프로파일을 출력해 어떤 템플릿이 오래 걸리는지 보여 준다. Jekyll 문서도 성능 병목을 찾는 용도로 이 옵션을 안내한다. - 증분 빌드:
--incremental은 바뀐 문서만 다시 생성해 빌드 시간을 줄인다. 다만 Jekyll 문서는 이 기능이 아직 실험적이고 모든 경우에 올바르게 동작하지는 않는다고 경고한다. 캐싱: 모든 페이지에서 같은 결과를 내는 include(사이드바, 내비게이션)를 매번 다시 렌더링하지 않도록 캐시하는 방법이다.
- https://jeongukjae.github.io/posts/1jekyll-%EC%86%8D%EB%8F%84-%EC%98%AC%EB%A6%AC%EA%B8%B0/
- https://yangeok.github.io/blog/2019/05/21/jekyll-caching.html
- https://www.sauru.so/blog/jekyll-build-performance-part1/
CDN
CDN(Content Delivery Network)은 정적 파일을 사용자와 가까운 여러 지역의 서버에 복제해 두고 가까운 서버에서 응답하게 해서 로딩 시간을 줄인다. 링크의 글은 제목으로 보아 GitHub Pages 블로그의 이미지 로딩 속도를 CDN으로 개선하는 내용이다(지금은 도메인이 접속되지 않아 내용을 확인하지 못했다). 이미지처럼 용량이 크고 자주 바뀌지 않는 파일일수록 CDN의 효과가 크다.
- https://derek-mun.com/contents/Contents-Github-page-image-loading-speed.html
댓글
아직 댓글이 없습니다