본문 바로가기

전체 글159

카프카 니 도대체 뭔데 MSA 실습을 듣다가 카프카가 너무 어려워서 데브원영 님의 카프카 재생목록을 추가로 듣고 요약해보았다. 데브원영님 감사합니다 🥹 📝강의 - 아파치 카프카 📝강의 - 아파치 카프카 빅데이터에서 가장 많이 쓰이는 아파치 카프카에 대한 강의입니다. [아파치 카프카 애플리케이션 프로그래밍 with 자바] 책 구매하러가기 👉http://www.yes24.com/Product/Goods/99122569 www.youtube.com 목차 - What is Apache Kafka? - Topic - Producer - 고가용성 - Consumer - Consumer Lag - Partitioner - Kafka Streams - Kafka Connect What is Apache Kakfa? 소스 애플리케이션과 타깃 .. 2023. 7. 1.
Item24. 멤버 클래스는 되도록 static으로 만들라 중첩 클래스는 자신을 감싼 바깥 클래스에서만 사용된다면 적절하다. 중첩 클래스에는 네 가지가 있으며, 쓰임이 각각 다르다. 멤버 클래스 인스턴스가 바깥 인스턴스를 참조한다면 non static으로, 인스턴스와 상관없이 독립적으로 존재한다면 static으로 만든다. 재사용되지 않는다면 익명 클래스로 만든다. 로컬 클래스는 거의 사용하지 않는다. 중첩 클래스 vs 톱 레벨 클래스 중첩 클래스는 자신을 감싼 바깥 클래스에서만 사용되어야 한다. 그 외의 쓰임새가 있다면 톱 레벨 클래스를 사용한다. 중첩 클래스는 외부 클래스를 통해서만 접근 가능하므로, 논리적인 의미로 클래스를 그룹핑해야할 때 사용할 수 있다. public class OuterClass { public static class NestedClass.. 2023. 6. 29.
Item23. 태그 달린 클래스보다는 클래스 계층 구조를 활용하라 💡 태그 달린 클래스는 응집도가 낮다. 응집도 높은 여러 클래스로 쪼개야 한다. 클래스 계층구조가 존재한다면 상속을 사용해 서브타입으로 구현하라. 태그 달린 클래스 태그란, 두 가지 이상의 의미를 표현하는 플래그이다. 태그 달린 클래스는 현재 표현하는 의미를 태그 값으로 알려주는 클래스이다. 다음은 원과 사각형을 표현하는 클래스이다. // Tagged class - vastly inferior to a class hierarchy! (Page 109) public class Figure { enum Shape { RECTANGLE, CIRCLE }; // Tag field - the shape of this figure final Shape shape; // These fields are used onl.. 2023. 6. 29.
CloudType, PlanetScale, Docker을 이용한 FastAPI 웹 서버 구축하기 목차 1. 목표 2. 사용할 기술 소개 3. 계획 4. 구현 구현 목차 1. hello world api 만들고 도커로 배포 2. Plane Scale 세팅과 더미 데이터 추가 3. hello world 서버에 DB 연결 목표 도커 사용법을 배운 김에 프로젝트 배포에 활용해보려고 한다. 데이터베이스를 사용하는 간단한 API 서버를 개발하고 클라우드 환경에 배포한다. 개발 환경과 운영 환경의 통합을 위해 도커 컨테이너를 사용한다. (사실 cloud type에 fast api 템플릿으로 배포를 했었는데, 데이터베이스 보안 파일 경로를 못 읽는 에러를 해결하지 못해서 도커로 다시 도전한다 ) 사용할 기술 Fast API : 빠르고 가벼운 파이썬 웹 프레임워크. 간단한 API는 코드 몇줄이면 완성할 수 있다. .. 2023. 6. 29.
[객체지향과 스프링의 이해] 7. 마치며 이 글은 2023 GDSC Sookmyung Core Member Session을 텍스트로 정리한 것입니다. (사실 대본 작성하는 김에 쓴거예요-!!) 영상으로 보고 싶으신 분들은 이 링크를 참고해주세요. 대부분의 내용은 조영호 님의 , , 이일민 님의 을 참고했습니다. 지금까지 객체지향의 목적과 가치, 스프링으로 객체지향적인 비즈니스 로직을 작성하는 방법까지 알아보았습니다. 이번 포스팅은 세션을 마무리하며, 이번 발표에서 다루지 못한 내용을 키워드 위주로 다룹니다. 객체지향적인 사고는 오브젝트가 자신의 행동에 충실하도록 응집도를 높여서 독립적으로 만드는 작업에서 출발합니다. 이 작업을 오브젝트보다 넓은 영역에서 적용할 수 있는데, 모듈화라고 부릅니다. 모듈화의 단위는 오브젝트보다 작아도 되고, 더 커도.. 2023. 5. 30.
[객체지향과 스프링의 이해] 6. 카페 코드를 스프링 웹 애플리케이션으로 만들기 이 글은 2023 GDSC Sookmyung Core Member Session을 텍스트로 정리한 것입니다. (사실 대본 작성하는 김에 쓴거예요-!!) 영상으로 보고 싶으신 분들은 이 링크를 참고해주세요. 대부분의 내용은 조영호 님의 , , 이일민 님의 을 참고했습니다. 이전 게시글에서 3 계층 애플리케이션과 도메인 중심 설계를 살펴보았습니다. 이번에는 카페 예제를 스프링의 웹 애플리케이션으로 확장해보겠습니다. 우선 스프링에 어떤 빈이 등록될 수 있을지 고민해봅니다. 싱글톤으로 관리되면 좋을 객체는 전역 객체로 사용되어도 괜찮은 Cafe와 Menu입니다. 나머지 객체는 상태를 가지기 때문에 싱글톤으로 등록하면 안됩니다. 싱글톤이어도 되는 객체 Menu Cafe : 기존에 있던 바리스타 의존성은 매개변수로.. 2023. 5. 30.