전체 글56 [Docker] 그래서 도커(Docker)랑 컨테이너(Container)가 뭐냐구요 도커(Docker), 컨테이너(Container)는 무엇일까요? 도커(Docker) 등장 배경과 컨테이너(Container) 환경의 발달 과정 그리고 기존 가상화 방식과 컨테이너(Container) 기반 가상화 방식의 차이점과 운영방식등을 알아보도록 하겠습니다. Docker의 배경 Docker는 2013년에 dotCloud의 Solomon Hykes와 그의 팀에 의해 그의 팀에 의해 2013년 PyCon에서 (The future of Linux Containers) 처음 데모 되었습니다. 출시 전 오클랜드 항구에 들어오는 모든 컨테이너 선박을 볼 수 있었고 “한 서버에서 다른 서버로 앱을 옮기는 것보다 지구 반대편에서 자동차를 배송하는 것이 더 쉽다” 는 사실이 해결해야 할 문제처럼 보였다고 합니다. 이.. 2023. 2. 26. [Git]Merge vs Rebase Rebase를 중점으로 봐보자 git base ci/cd tool 들은 커밋 또는 브랜치의 변경 사항을 다른 브랜치나 커밋에 반영할 수 있도록 지원하는데 이를 보통 Merge와 Rebase라고 한다. 여기서 한가지 의문점이 생길 수 있는데 왜 굳이 Merge와 Rebase 2개의 방법을 제공하는 걸까? Merge와 Rebase를 Rebase를 중점으로 알아보도록 하자. 하지만 짤은 Conflict 나는 개판 Merge 짤이다 😱😱😱😱😱😱😱😱😱😱 Merge 전제 main 브랜치로 부터 Feature 브랜치를 따고 3가지 커밋이 이루어져 있다 main 브랜치는 Feature 브랜치가 따진 이후 2번의 커밋이 이루어져 있는 상황이다. git checkout feature git merge maian //or git merge feature.. 2023. 2. 25. [Java] Java14 레코드(Record)를 알아보자 Java 8 , 11 버전만 사용하다 보니 이후 버전에 추가된 것들에 대해서 학습을 하려고 합니다. Java 14에서 추가된 레코드(Record)에 대해서 레코드의 목적, 자동생성 항목 등 레코드의 기본 사항에 대해 살펴보고 제약사항은 또 어떤 부분이 있는지 알아보도록 하겠습니다. baeldung에 상당 부분 잘 정리가 되어있기 때문에 해당글을 대부분 참조하였으며 추가적인 정보를 더해 글을 작성했습니다. 객체 간에 변경 불가능한 데이터를 전달 시 Java 14 이전에는 boilerplate field와 메서드가 포함된 클래스를 생성해야 했기 때문에 사소한 실수가 발생하거나, 의도가 혼동되기 쉬웠습니다. Java 14가 출시되면서 이제 레코드를 사용하여 이러한 문제를 해결할 수 있습니다. 레코드는 Java.. 2023. 2. 19. [Elastic Search] 엘라스틱 서치(Elastic Search)와 Node 종류, Replica, Segment 엘라스틱 서치(Elastic Search)가 무엇인지, 엘라스틱 클러스터(Elastic Cluster)에서 제공하는 엘라스틱 노드(Elastic Node)들의 종류, 엘라스틱 서치 레플리카(ElasticSearch Replica), 세그먼트(Segment), 그리고 node 간 발생할 수 있는 SplitBranProblem에 대해서까지 확인해 보도록 하겠습니다. 엘라스틱 서치(Elastic Search)? Elastic Search는 기본적으로 데이터 저장소 입니다. 엘라스틱 서치(Elastic Search) 특징 NoSQL JSON 기반 저장소. Cluster 구성. Schemaless 구조이다. Rest API 기반 쉬운 인터페이스를 제공 Cluster ElasticSearch도 Cluster와 No.. 2023. 2. 18. SSL, TLS, SSL Certification(SSL 인증서), Cipher suite, HTTPS, SSL/TLS HandShake 이게 다 뭐람? SSL/TLS 와 SSL Certification(SSL인증서), Cipher suite에 대해서 자세히 알아보고, 이들을 활용하여 HTTPS에서 SSL/TLS HandShake를 통한 SSL인증 과정이 어떻게 거쳐지는지 확인해보도록 하겠습니다. 안정적인 네트워크 서비스를 제공하는데 도움을 줄 것입니다 SSL(secure sockets layer) SSL은 넷스케이프에 의해 작성된 프로토콜입니다. SSL은 Netscape사에서 만든 계층, 프로토콜로 웹서버와 브라우저 사이의 보안을 담당하는 역할을 맡고 있습니다. 그리고 Certificate Authority(CA)라고 불리는 서드 파티로부터 서버와 클라이언트의 인증을 하는데 사용됩니다.. 이후 IETF(Internet Engineering Task Fo.. 2023. 2. 11. [JPA] 엔티티(Entity)매핑(객체-테이블, 필드-컬럼) 엔티티(Entity) 객체와 데이터 베이스 테이블 간 매핑, 엔티티(Entity) 필드와 컬럼간 매핑에서 사용하는 속성값들과 활용법들에 대해서 알아보도록 하겠습니다. 해당 글은 김영한님 ORM 책과 강의를 참고하여 정리하고 몇몇 내용을 추가하여 만들었습니다. 객체와 테이블 매핑 @Entity @Entity 가 붙은 클래스는 JPA 가 관리, 엔티티라고 하며 EntityClass를 DataBase Table과 Mapping 해줍니다. 주의할 점 기본 생성자 필수(파라미터 없는 public or protected) final 클래스, enum, interface, inner 클래스 사용 금지 저장할 필드에 final 필드 사용 x 🤔왜? 기본 생성자가 필요할까? hibernatesStartGuid 를 보면.. 2023. 2. 11. [Kafka] 카프카(kafka) 프로듀서(Producer)의 파티셔너 (Partitionor), 배치(Batch) 그리고 메시지 전송 방식 카프카(kafka)에서 프로듀서(Producer)의 기본 역할은 메시지들을 Kafka Topic으로 전송하는 것입니다. 메시지 전송 방식에는 적어도 한번 전송(at-least-once), 최대 한 번 전송(at-most-once), 정확히 한번 전송(exactly-once)이 있으며 전송방식들의 차이들을 확인해 보도록 하겠습니다. Producer가 전송하려는 메시지들은 Producer의 send() 메서드를 통해 시리얼라이저, 파티셔너를 거쳐 kafka로 전송됩니다. 마지막에 실습이 있는데 실습 환경을 미구성하셨다면 이전 포스팅을 참조해 주시면 감사합니다. https://colevelup.tistory.com/17 [Kafka] kafka cluster 실습 환경 구축 kafka 관련 포스팅을 하기 이전.. 2023. 2. 4. [Kafka] Kafka와 zero-copy 이전 카프카 도입 사례에서 Twitter가 내부에서 활용하는 In-House-Event-Bus에서 kafka로 전환하계 되는 이유들 중 하나가 kafka가 zero-copy를 제공한다라는 말이 있었습니다. zero-copy에 대해서 자세하게 알아보도록 하겠습니다. https://colevelup.tistory.com/16 [Kafka] Kafka 도입 사례로 보는 Kafka 사용의 당위성과 이점 사내에서 실전 카프카 개발부터 운영까지 라는 책을 선정하여 스터디를 진행하고 있습니다. 책 첫 장에서 카프카 적용 사례(kafka use case)로 트위터와 잘란도 등을 통해서 Apache 카프카를 쓰는 이 colevelup.tistory.com Twitter의 In-House-Event-Bus 이전 Twtit.. 2023. 1. 30. [JPA] 엔티티(Entity) 생명주기, 1차캐시, 변경 감지(Dirty-Checking) JPA에서 엔티티(Entity)의 생명주기와 , 1차 캐시(First-Level-Cache)와 1차 캐시가 갖는 장점들, 변경감지(Dirty-Checking)와 플러시(Flush())가 내부적으로 어떻게 동작하는지에 대해서 알아보도록 하겠습니다. 엔티티의 생명 주기 비영속(new/transient) 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태입니다. Member member = new Member(); member.setId("member1"); member.setUsername("회원1"); //객체만 생성한 상태 jpa와 아에 관계가 없음 영속(managed) 영속성 컨텍스트에 관리되는 상태 //상단 세줄은 비영속 상태. Member member = new Member(); member.setId.. 2023. 1. 30. 이전 1 2 3 4 5 6 7 다음