목록잡담/개발자로서 공부 (52)
공부한것들을 정리하는 블로그 입니다.
최근에 자바 트러블슈팅이라는 유명한 책의 2판이 출시되었기에 주말에 시간을내어 읽어보았습니다. 완독하였지만 전문서적들이 으레 그러하듯이 역시 1회독으로 본문을 이해하기에는 난해한 부분이 많았습니다. 관련지식과 내공을 쌓은 뒤에 다시보면 또 새로운 느낌일 것 같습니다. 그런의미에서 자바 성능튜닝과 관련된 가비지 컬렉터의 개념을 복습해봅니다. 자바에서는 메모리를 GC라는 알고리즘을 통하여 관리(automatic memory management)하기 때문에, 개발자가 메모리를 처리하기 위한 로직을 만들 필요가 없고, 절대로 만들어서는 안됩니다. Garbage Collection. 자바에서 쓰레기는 객체입니다. 하나의 객체는 메모리를 점유하고, 필요하지 않으면 메모리에서 해제되어야 합니다. 메모리 점유는 다음과..
복습입니다. Non-blocking I/O (일반적으로 NIO라고 불리우고 때때로 New I/O라고도 함)은 강력한 I/O 오퍼레이션 기능을 제공하는 자바 프로그래밍 API이다. NIO는 J2SE 1.4에서 표준I/O를 보완하기 위해서 소개되었다. 또 NIO는 확장되어 자바7에 NIO2라고 불리는 새로운 파일시스템 API를 제공한다. https://opennote46.tistory.com/m/129 보는김에 같이.. 블록 논블록 동기 비동기 는 헷갈리기 쉽죠. 블록 동기 블록 비동기 논블록 동기 논블록 비동기 4가지 예제를 함께 제시해주는 글입니다. https://okky.kr/article/442803
생활코딩은 언제봐도 좋은 영상이 많은것 같습니다. 이번에 공유한 내용은 인터넷, ip와 도메인에 대한 것이지만. 그 외에 nodejs나 git관련 영상들도 매우 좋습니다. https://opentutorials.org/course/1688/9483
구체적이진 않지만 한번 읽어보는 용도로 좋은 것 같습니다. 활용되는 서비스의 예시까지 함께 서술되어있기에 더욱 도움이 됩니다. https://mingrammer.com/translation-10-common-software-architectural-patterns-in-a-nutshell/#1-%EA%B3%84%EC%B8%B5%ED%99%94-%ED%8C%A8%ED%84%B4-layered-pattern 아키텍쳐 패턴이란? 1. 계층화 패턴 (Layered pattern) 2. 클라이언트-서버 패턴 (Client-server pattern) 3. 마스터-슬레이브 패턴 (Master-slave pattern) 4. 파이프-필터 패턴 (Pipe-filter pattern) 5. 브로커 패턴 (Broker p..
여러개 읽어보았는데, 이 글이 입문자에게 가장 친절한 것 같습니다. https://frontalnh.github.io/2018/05/17/z_domain-driven-design/ JPA @Entity(Setter 사용x) @Embedded(DB정보도 추상화하여 객체지항적으로 사용-변경x 사용빈번) 도 함께 보시면 더욱 좋습니다. https://www.popit.kr/ddd-%EA%B0%92-%EA%B0%9D%EC%B2%B4%EC%99%80-%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%84%9C%EB%B9%84%EC%8A%A4/ https://cheese10yun.github.io/jpa-embedded/ 도메인이란? 도메인의 사전적 의미는 “정보와 활동의 영역” 을 말하며, ..
펫클리닉 https://github.com/spring-petclinic/spring-petclinic-rest 리얼월드 https://github.com/gothinkster/spring-boot-realworld-example-app
gql은 페이스북에서 개발한 sql입니다. 페이스북은 정말 대단한 기업이네요. https://tech.kakao.com/2019/08/01/graphql-basic/ 저는 이쪽의 예제가 더 이해하기 쉬웠습니다. https://www.holaxprogramming.com/2018/01/20/graphql-vs-restful-api/
좋은글 공유 https://joshua1988.github.io/web_dev/web-protocols/#url-uniform-resource-locator
I/CD를 활용한 MSA Automation에 대해 알아보겠습니다. CI/CD는 애플리케이션의 통합 및 테스트 단계에서부터 제공 및 배포에 이르는 애플리케이션의 라이프사이클 전체에 걸쳐 지속적인 자동화와 지속적인 모니터링을 제공합니다. 이러한 구축 사례는 “CI/CD 파이프라인”이라 부르며 개발 및 운영팀의 애자일 방식 협력을 통해 지원됩니다. 다만 마이크로서비스에서의 Continuous Integration/Continuous Delivery는 일반 모놀로딕 애플리케이션과 차별점이 있습니다. 바로 Docker가 그 과정에 포함되면서인데요. Docker Image를 활용한 자동 빌드/배포 환경을 구축하고 Cloud 환경에서 어떤게 이용되는지 지금부터 하나씩 차근차근 살펴보겠습니다. CI/CD 란? Con..
MSA의 개념과 이후 개발 패러다임에 대해 알아보도록 하겠습니다. Microservice는 SOA (Service Oriented Architecture) 의 경량화 버전으로 (Service: 특정 기능의 집합, service의 범위 정의가 중요) 모놀리틱 아키텍처(monolithic architecture)를 쪼개서 독립적으로 구분합니다. Microservice는 독립적으로 디플로이 / 확장 될 수 있는 서비스들을 조합하여 large 어플리케이션을 구성하는 아키텍처 패턴입니다. 일반적으로 Service Discovery, API Gateway, Orchestration, Choreography, Context Boundary등의 서비스들의 조합으로 이루어져있습니다. Netflix, Twitter, Am..
우리가 흔히 쓰는 웹 브라우저(Chrome, Internet Explorer, Firefox)에 URL(Uniform Resource Locator)을 입력하고 Enter를 치면 어떻게 웹페이지가 우리 눈에 보여질까? 1. 주소표시줄에 URL을 입력하고 Enter를 입력한다. 2. 웹 브라우저가 URL을 해석한다. 3. URL이 문법에 맞으면 Punycode encoding을 url의 host부분에 적용한다. 4. HSTS (HTTP Strict Transport Security)목록을 로드해서 확인한다. - HSTS 목록에 있으면 첫 요청을 HTTPS로 보내고, 아닌경우 HTTP로 보낸다. 5. DNS(Domain Name Server) 조회한다. 1) DNS에 요청을 보내기 전에 먼저 Browser에..
2019.11.28 면접 예상 질문 및 답변 Q. 세션과 쿠키의 차이점은? A. 세션은 서버에 저장되는 값이며, 쿠키는 클라이언트에 저장되는 값입니다. Q. 본인이 만든 프로젝트는 톰캣을 내렸다가 올리면 로그인이 풀리지 않나요? 톰캣을 내렸다가 올려도 로그인이 풀리지 않으려면 어떻게 해야할까요? A. 톰캣은 설정으로 세션을 유지시키는 방법이 가능하다. 톰캣의 설정파일(server.xml)에 관련설정(saveOnRestart)을 추가함으로써 세션을 유지시킬 수 있다. 따라서 서버 재구동시마다 세션 정보를 저장히지 않도록 처리 할 수 있다. (참고) * 이는 톰캣이 StandardManager를 사용하기 때문에 톰캣을 중지하는 시점에 세션 정보를 파일로 저장하기 때문이다. 별도의 pathname을 지정하지 ..
https://brunch.co.kr/@springboot/59
http://zuyo.tistory.com/m/287
https://medium.com/@khwsc1/번역-자바스크립트-스코프와-클로저-javascript-scope-and-closures-8d402c976d19
https://platum.kr/archives/109446
http://androphil.tistory.com/282 환경설정ㅡ팁
https://www.popit.kr/kafka-운영자가-말하는-처음-접하는-kafka/