Developer

Kafka 메세지 브로커로 아주 많이 쓰이는 kafka 에 대해서 알아보자 💌 목차 Kafka 목차 아키텍처 Partition의 메세지 기록 방법 Replication 알아야될 정보들 참고 자료 아키텍처 전체적인 구성요소는 이렇게 되는데요 하나씩 천천히 파헤쳐볼까요? ZooKeeper: 원래의 용도는 Cluster 들의 설정 정보 관리, 동기화 등 클러스터 서버들이 공유하는 데이터를 관리하기 위해 사용 즉, Message Broker들의 Cluster 들을 관리하는 친구라고 보면 된다 (이 친구 없이 Kafka는 구동할 수 없다) Broker: Kafka Server를 지칭하며 한 Cluster 내에 여러 Broker를 띄울 수 있다 Topic: 메세지가 생산되고 소비되는 주체 Partition: 하나의..
고차 함수 코틀린은 Functional Programming 에 특화된 언어니 한번 파헤쳐보자 목차 고차 함수 목차 함수 정의하기 함수를 리턴하는 함수 고차 함수 흐름제어 함수 정의하기 코틀린을 처음하다 보면 굉장히 어색한 문법이 있는데, list.filter { it % 2 == 0 } 와 같은 문법이다 처음에는 정말 어색하지만, 두고 볼수록 정말 매력 있는 녀석이다 자바에서는 list.stream() .filter(num -> num % 2 == 0) 와 같은 녀석인데, 코틀린에서 위에서 저렇게 사용하는건 유감스럽게도 java stream 처럼 lazy 한 속성을 가지고 있지는 않다(일반적인 순차선회) kotlin의 stream을 쓰기 위해서는 asSequnence 를 선언해줘야 가능하다 아니 왜 함..
암호화 최근에 암호화에 대해서 많이 배우고 있었는데요 모르고 헷갈리고 정신없는 부분들이 너무 많아서 조금 이해하기 쉽게(?) 정리하면 좋겠어가지고 정리하게 되었습니다 사실 네이버 블로그나 여러 군데에 정말 많은 글들이 있는데요 내용이 워낙에 어려운지라 헷갈려가지고 따로 정리하게 되었네요 ㅎㅎ 먼저 암호화라는 개념은 너무나 간단합니다 내가 가진 원문의 메세지를 상대방이 해석할 수 없게 하는 것이 바로 암호화의 목적이죠 예를 들자면, 원문의 메세지는 일반적인 집주소, 전화번호 와 같은 개인정보들이 될 수도 있구요! 이제 암호화를 어떻게 하는지에 대해 알아보도록 할게요! 암호화 하는 방법 우리가 컴퓨터를 공부하다보면 암호화하는 방법들에 대해 간략히 배우게 되는데요 대표적인 종류로는 대칭키 암호, 비대칭키 암호..
Kotlin의 Type System 코틀린의 타입에 대해서 한번 알아보자.! 🖌️ 목차 Kotlin의 Type System 목차 Null 체이닝 방식 Null이 아니라고 단정짓기 Null이 아닌 값을 함수에 넘기기 Casting lazy loading Null 보통은 가장 일반적으로 쓰는 방식이 바로 ? 방식이다 어떻게 사용하는 것이냐면 foo?.toUpperCase() 의 의미는 if (foo != null) { foo.toUpperCase() } else { null } 와 같은 의미를 가지게 된다! 체이닝 방식 java8 에서 나오는 Optional 객체를 기억하시는가요? kotlin에서 ? 문법은 쉽게 생각하면 Optional 객체를 요약한 것이라 볼 수 있다 그렇기 때문에 chaining 기능도..
Java Memory 자바 개발자라면 꼭 알고 넘어가야 하는 기본 아닌 기본 소양 📝 JVM 처음부터 다 설명하는 것은 제가 이야기하고자 하는 포인트가 아니라서, 간략하게 중요한 것만 짚고 넘어가려고 합니다 ㅎㅎ 전체적인 JVM 의 구조는 아래와 같습니다 정확히는 JVM 의 Heap 에 대해서만 짚고 넘어가보도록 할게요 저희는 예전부터 개발을 진행해왔고, 많이들 익숙하신 그림을 하나 소개할까해요 위 그림은 Jdk 1.7 버젼 이전의 Heap 메모리 구조입니다 Eden: 새로 생성한 대부분의 객체가 위치하는 곳 S0, S1: Eden 영역에서 GC가 한번 발생한 후 살아남은 객체들이 존재하는 곳 Old Memory: Young Generation에 대한 GC가 반복되는 과정속에 살아남은 객체가 살아남는 곳..
DI 안녕하세요 ㅎㅎ 오늘은 Spring의 3대 요소중 하나인 DI(Dependency Injection)에 대해서 알아보려고 해요.! 먼저 우리가 제일 어려워하는 단어인, 의존성 주입(DI)이 무엇일까요? 의존성 주입이란? -> 클래스의 연관관계를 주입해준다. 보통 의존성이라는 것은 클래스의 연관관계를 의미하는데, class Person { private Animal animal; public String getPetName() { return animal.name(); } } 이 경우 Person은 Animal에 의존한다 라고 보시면 될 것 같습니다 Person이라는 객체가 Animal을 참조하고 있고, animal을 바탕으로 로직이 흐르기 때문이죠 그럼 다시 돌아와서 의존성 주입은? 클래스가 가지고..
huisam
'Developer' 카테고리의 글 목록 (7 Page)