기타
-
책 정리기타/요약 2024. 4. 25. 19:07
읽을 책웹을 지탱하는 기술데이터 중심 애플리케이션 설계테스트 주도 개발도메인 주도 개발유닛 테스트만들면서 배우는 클린 아키텍처https://product.kyobobook.co.kr/detail/S000001057716https://www.yes24.com/Product/Goods/109747932https://www.inflearn.com/pages/weekly-inflearn-35-20211026...+ 호눅스.. 개발자 지망생을 위한 주관적 추천도서최종수정일: 2021년 8월 5일www.notion.so읽은 책 토비의 스프링 3.1 세트 - YES24『토비의 스프링 3.1』은 스프링을 처음 접하거나 스프링을 경험했지만 스프링이 어렵게 느껴지는 개발자부터 스프링을 활용한 아키텍처를 설계하고 프레임워크..
-
책 목록기타/취미 2024. 3. 27. 20:31
데일 카네기 인간관계론 - YES24사람의 마음을 사로잡는 가장 빠르고 확실한 방법!데일 카네기가 전하는 성공하는 인간관계의 비밀사람을 다루는 핵심 원리는 무엇일까? 어떻게 하면 호감 가는 사람이 될 수 있을까? 원하는 것www.yes24.com 101살 할아버지의 마지막 인사 - YES24뉘른베르크 전범 재판의 마지막 생존 검사벤자민 페렌츠가 우리 삶에 보내는 유쾌하고도 따뜻한 격려“삶을 긍정하게 만드는 한 시대의 지혜”역사상 최초로 전쟁 범죄를 단죄했던 뉘른베르크www.yes24.com2022.10.28 창문 넘어 도망친 100세 노인 - YES24전 세계 500만 부 이상 판매된 특급 베스트셀러100년간 전 세계를 누비며 역사의 현장 한복판에 본의 아니게(?)끼어든 요절복통 영감님, 101년째 모험..
-
클라우드 네이티브 애플리케이션 디자인 패턴기타/내용 2024. 1. 5. 00:53
MSA는 클라우드 네이티브 애플리케이션의 기본 VM은 호스트의 자원을 사용하여 게스트 OS를 띄움 컨테이너는 호스트 자원을 다른 컨테이너와 공유하며 사용함 MSA를 구성할 때 DDD를 사용하여 서비스를 나눌 수 있다. CNA에 사용할 수 있는 패턴이 여러 개가 있다. 통신 패턴 동기 패턴에는 용청 응답 패턴이 있다. 쉽게 HTTP 통신이 있다. RPC라는 패턴이 있는데 TCP위에서 동작하며 타 서비스의 메서드를 사용하는 것이다. 위임된 서비스를 호출하는 것이지만. 굳이 Rest가 있는데 써야 하나 싶다. 그래서 퇴보되다가 gRPC가 등장해서 많이 사용하는 듯하다. 더 효율적이면서 타입 안정성을 지킬 수 있다고 한다. Rest는 여러 사용자에게 노출될 때 좋고 RPC는 서버 간에 효율적인 통신과 처리량이 ..
-
어떤 개발자가 살아남는가기타 2023. 12. 22. 23:51
뭘 잘하느냐보다 내 마음이 무엇을 원하는지 열정을 찾는 여정이 중요하다. 열정있는 일에 도전하라, 가능한 똑똑한 사람과 일하고 나보다 나은 사람과 협력하라. 편한 사람보다 말이다. 그래야 성장할 수 있다. 너무 잘하고 익숙하면 배울 수 없다. 나보다 잘하는 것 같은 사람과 협력하는 것이 중요하다. 누구나 나비가 되어 날 수 있다. 단, 먼저 번데기에서 탈출할 수 있을 때만 가능하다. 마음속의 풀리지 않는 모든 문제들에 대해 인내를 가져라. 문제 그 자체를 사랑하라. 지금 당장 해답을 얻으려 하지 말라. 그건 지금 당장 주어질 순 없으니까. 중요한 건 모든 것을 살아보는 일이다. 지금 그 문제들을 살라. 그러면 언젠가 먼 미래에 자신도 알지 못하는 사이에 삶이 너에게 해답을 가져다 줄 테니까
-
구글 엔지니어는 이렇게 일한다기타/내용 2023. 11. 20. 23:08
프로그래밍은 수단이다. 가치 있는 변경을 받아들여라 소프트웨어 엔지니어링은 여러 선택지 사이에서 트레이드오프를 평가해야 한다. 때로는 확장성이 떨어지는 정책을 받아들여야 할 때도 있다. 투자 비용이 회수되기 시작할 때까지 회사가 살아남지 못할 수 있다. 하이럼의 법칙은 유지보수를 할 때 기억해야 하는 법칙인데. 내가 만든 API가 나의 의도와는 다르게 사용될 수 있다는 논리이다. API명세에 있지 않은 기능을 쓴다면 '동작하는 코드'. 모범적으로 따른다면 '유지보수가 가능한 코드' 그 시절 최적화 기법이 유효한지는 알 수 없다. 구글의 인프라팀은 비욘세 규칙을 만들어 책을 덜 수 있었다. 인프라 업데이트는 자주 할수록 위험도가 떨어진다. 문제는 일찍 발견할수록 비용이 적어진다. 코드의 위험을 빨리 발견하..
-
가상 면접 사례로 배우는 대규모 시스템 설계 기초기타/내용 2023. 10. 5. 23:18
NoSql : key value, 그래프, 칼럼, 문서 저장소등이 있음. 조인은 불가능함 언제 쓰나? 아주 낮은 지연시간이 필요할 때. 다루는 데이터가 비정형일 대 , 많은 양의 데이터 저장이 필요할 때 수직확정성은 장애 자동 복구와 다중화가 불가 수평적 확장은 이후에 부하분산을 위해 로드밸런서를 둔다. 로드밸런서는 공개 주소로 접근. 로드밸런서는 서버와 사설 주소로 소통 DB의 다중화로 인해 안정성과 성능 향상 응답시간은 캐시로 줄일 수 있음 정적 콘텐츠는 CDN으로 뺀다. 웹서버가 CDN을 본다. 캐시 만료 정책이 있으면 좋다. 일관성 관련은 Facebook의 논문이 있다. DB 캐시와 CDN 활용. CDN이 죽었을 경우를 대비해야 한다. 캐시로 DB의 부하를 줄일 수 있다. 상태에 의존적인 서버를 ..
-
파이브 라인스 오브 코드기타/내용 2023. 8. 23. 00:06
완벽은 더 이상 추가할 것이 없을 때가 아니라 더 이상 뺄 것이 없을 때 이뤄진다. 배운 것을 활용하라. 가장 단순한 리팩터링은 기능의 변경 없이 코드를 변경하는 것이다. 리팩터링은 순전히 경제적인 이유이다. 변경하기 쉽게 만들어라. 더 잘알 때까지 규칙을 따르라. 코드 조사가 오래 걸리면 나쁘다. 함께 변해야 하는 것 끼리 같이 있어야 한다. 성능 최적화는 리팩터링과는 다른 단계이다. 상속보다는 컴포지션을 활용.. 사용하지 않는 코드를 삭제하라 보이스카우트 규칙. 번거롭지만 안전한 코드가 낫다. 자신감이 떨어지는 이쁜 코드보다 특이한 안전한 코드가 낫다. 동일 수준의 추상화를 사용하자. 호출 또는 전달 하나만 하자 sum(arr)과 arr.length는 공존하면 나중에 추상화 수준이 모호해진다. 인생에..
-
SQL 튜닝의 시작기타/내용 2023. 8. 8. 23:54
책이 오라클 기준인 듯 SQL의 의미를 파악하는 것이 성능문제를 유발하는 SQL에 대한 개선의 시작이다. 서브쿼리는 where절에서 비교조건으로 사용되는 Selet쿼리이다. join보다 작성이 쉬워서 많이들 작성한다. 서브쿼리가 여러 개 존재할 경우 옵티마이저가 최적화과정에서 잘못된 cost를 계산하는 경우가 많다. 무조건 사용하지 말라는 것은 아니다. 필요한 경우도 있다. 보통 사용패턴은 서브쿼리 먼저 수행 후 main SQL의 컬럼값과 비교하고나 Not exists 등으로 값이 있는지 체크하는 쿼리등인데 성능문제가 있을 수 있다. 무조건 나쁘기보단 사용의도에 맞게 수행되는지 확인하라. 서브쿼리의 동작방식은 2가지가 있음. 필터방식과 조인방식 필터방식은 mainSql의 매row마다 서브쿼리가 실행되는 ..