① 빌어먹을 HTTP
② 웹 소프트웨어의 미래는 HTML-over-WebSocket인가?
③ 효율적인 엔지니어가 되기
④ AWS 오사카 리전 개통
⑤ 온프레미스 네트워크 이해
⑥ Flutter 2 공개
⑦ 우주선이나 태양풍이 컴퓨터에 얼마나 영향을 미칠까?
오늘의 소개할 내용
OKdevTV
• https://httptoolkit.tech/blog/http-wtf/
• HTTP에서 가장 이상한 내용을 공유
• Cache-Control: private, no-cache
• 우리가 기대한 것: 이 응답을 저장하지 마시오
• 현실: 이 응답을 브라우저 캐시에 저장하되, 사용할 때 다시 확인하시오
• 참고: no-store
• HTTP 1XX 코드를 아시나요?
• HTTP 100: 지금까지 요청은 정상이며 계속 진행
• HTTP 101: 프로토콜 전환(주요 사용 사례: 웹소켓, HTTP/1.1→HTTP/2)
• HTTP 102: 클라이언트에게 서버는 아직 요청을 처리 중이며 곧 응답할 것임
• HTTP 103: 서버 푸시 기능(요청 처리 전에 일부 헤더를 먼저 전송)
• HTTP Referer 헤더
• 철자부터 틀렸음. 뉴뉴
• 새로운 보안 헤더 이름은: Referrer-Policy
• 웹 소켓의 무작위 UUID
• 258EAFA5-E914-47DA-95CA-C5AB0DC85B11로 모두 동일하다!
• 웹 소켓과 CORS
• 웹 소켓은 CORS를 완전히 무시한다! OKdevTV
(개발) 빌어먹을 HTTP
1
• https://alistapart.com/article/the-future-of-web-software-is-html-over-websockets/
• 2005년 서버 렌더링 프레임워크 → 비즈니스 로직과 렌더링이 모두 서버에서
• 15분 안에 블로그 구축
• 2010년대 자바스크립트로 구축되어 SPA 대두 → 서버는 API 데이터만 서비스
• 2020년 기준으로 웹의 속도는 정체됨, 그리고 Javascript 포워드 앱 개발과 호스팅 비용 상승
• 많은 경우에 우리는 이전에 서버 측 앱 개발 결과와 동일한 결과를 달성하기 위해 두 배의 작업을 수행하고 심지어 개발자에게
두 배의 비용을 지불하고 있다!
• 앱이 점점 자바스크립트 스파게티가 되면서 부풀어오름
• 과연 비용을 절감할까?
• 렌더링을 사용자의 컴퓨터나 스마트폰으로 오프로딩
• 하지만 API 호스팅 서버, 데이터베이스 서버, 로드밸런서, DNS 비용(시간이 지남에 따라 저럼해짐) + 개발자의 인건비(시간이
지남에 따라… 말잇못)
• 우리는 5 %의 사용자 경험 향상을 위해 많은 비용을 지불하고 있다!
• 해답: HTML over WebSocket
• 클라이언트는 렌더링하는 씬 터미널(어디서 많이 들어본 이야기)
• 상태 유지에 매우 유리함
• 다중 사용자 채팅, 문서 공동 작업, 확실한 유효성 검사 등에 강점
• 다시 Rails의 세상이 올까?
OKdevTV
(오늘의 논쟁) 웹 소프트웨어의 미래는 HTML-over-WebSocket인가?
2
OKdevTV
(개발) 효율적인 엔지니어가 되기 위한 조언
3
• https://gist.github.com/rondy/af1dee1d28c02e9a225ae55da2674a6f#effective-engineer---
notes
• 레버리지가 높은 활동에 집중한다
• 학습을 위한 최적화에 노력한다
• 주기적으로 우선순위를 조정한다
• 반복적인 속도 향상에 투자한다
• 개선하고자 원하는 바를 측정한다
• 아이디어를 초기에 자주 검증한다
• 프로젝트 추정 기술을 개선한다
• 품질과 실용 사이의 균형을 잡는다
• 운영 복잡도를 줄인다
• 빠르게 실패한다
• 가차없이 자동화한다
• 팀의 성장에 투자한다
OKdevTV
(뉴스) AWS 오사카 리전 개통
4
• https://aws.amazon.com/ko/blogs/aws/aws-asia-pacific-osaka-region-now-open-to-all-with-
three-azs-more-services/
• AWS 아시아 태평양 지역 리전 추가 개통: 오사카
• 일본의 특성 상 DR을 위한 추가 리전: 도쿄로부터 400km 벗어난 지역
• AZ 3개
• https://developers.googleblog.com/2021/03/announcing-flutter-2.html
• Flutter 2는 동일 코드 기반으로 다음 다섯 가지 운영체제를 지원
• iOS, Android, Windows, macOS, Linux
• 모바일 프레임워크에서 포터블 프레임워크로 확장
• 자동차, TV, 스마트 가전 제품 모두를 아우르는 목표
• 플레이 스토어에만 150,000개가 넘는 Flutter 앱이 존재
• 예: 구글 페이(코드 통합으로 50만 줄 이상의 코드를 제거)
• 웹에서 Flutter
• 프로그레시브 웹 앱(PWA): 웹과 네이티브 앱의 기능 모두의 이점을 갖도록 수 많은 특정 기술과 표준 패턴을 사용해
개발된 웹 앱
• 단일 페이지 앱(SPA): 웹 브라우저에서 대부분의 사용자 인터페이스 논리를 수행
• 기존 Flutter 모바일 앱을 웹으로 가져옴
• 데스크톱에서 Flutter
• 캐노니컬은 새로운 설치 프로그램을 Flutter로 작성해서 시연
OKdevTV
(뉴스) Flutter 2 공개
6