덕토피아

· 레퍼런스
마침내 리트코드에서 300개의 문제를 해결했습니다. 다음은 제가 해결한 주제의 분포와 각 주제의 수 입니다.이 여정에서 중요한 부분은 다음과 같습니다. 고급 토픽에 집중하기: 동적 프로그래밍(DP), 이진 검색, 그래프, 트리 및 우선순위 큐와 같은 주제는 인터뷰에서 자주 질문을 받으며, 익숙해 지기 위해서는 시간과 인내심이 필요하기 때문에 계속해서 집중합니다.다른 사람과 비교하지 않기: 우리는 모두 다른 개체이기 때문에, 자신의 학습곡선을 그대로 받아들이는 것이 좋습니다. 당신의 여정을 다른 사람과 비교하지 마세요.일하면서 300개의 문제를 해결하는 데 10개월이 걸렸고, 일부 사람들은 그 절반의 시간만을 투자할지도 모르지만 괜찮습니다. 그것은 저만의 여정이니 다른 사람을 생각하며 내 기분..
· 레퍼런스
REST (Representational State Transfer) REST는 애플리케이션을 설계하기 위해 널리 채택된 API 아키텍처 스타일입니다. 리소스 조작, 상태-비저장 및 균일한 인터페이스를 위해 표준 HTTP 메서드(GET, POST, PUT, DELETE)를 기반으로 합니다. REST API는 리소스를 식별하기 위해 URI(Uniform Resource Identifier)를 사용하며 JSON 또는 XML과 같은 다양한 형식으로 데이터를 교환합니다. SOAP (Simple Object Access Protocol) SOAP는 네트워크를 통해 구조화된 정보를 교환하기 위한 XML 기반 프로토콜입니다. 엄격한 규칙을 따르며 메시지의 구조를 정의하기 위해 XML 스키마를 사용합니다. SOAP A..
데이터 무결성을 관리하는 데 있어서 트랜잭션 매니저는 자바 애플리케이션에서 매우 중요한 역할을 합니다. 이번 포스팅에서는 자바의 기본 트랜잭션 매니저 인터페이스와 그 구현체들을 알아보겠습니다. 트랜잭션 매니저란? 트랜잭션 매니저는 여러 데이터베이스 작업이 하나로 묶일 수 있도록 관리해주는 구성 요소입니다. 이는 모든 작업이 성공적으로 완료되거나, 하나라도 실패할 경우 전체 작업을 원상태로 되돌리는 'All or Nothing'의 원칙을 보장합니다. 자바에서는 주로 JTA(Java Transaction API)를 이용하여 트랜잭션을 관리합니다. 스프링과 트랜잭션 매니저 스프링 프레임워크에서는 더 편리하게 트랜잭션을 관리할 수 있는 추상화된 트랜잭션 매니저를 제공합니다. PlatformTransactionM..
· 레퍼런스
Finally 블록에서 예외가 발생하면 어떻게 되나요? 자바에서, try-catch에서 finally 블록 내에서 예외가 발생할 때의 동작은, try-catch 블록의 예외 처리와 약간 다릅니다. [Try-Catch 블록의 예외] 정상적인 플로우가 중지됩니다. 예외 유형과 일치하는 catch 블록이 있다면, 해당 블록 내의 코드가 실행됩니다. 이를 통해 예외를 처리할 수 있습니다. catch 블록이 완료되거나 어떤 catch 블록과도 일치하지 않으면 finally 블록의 코드가 실행됩니다. [Finally 블록의 예외] 원래의 예외가 중지됩니다. 이는 원래의 예외가 메서드 호출자에게 전달되지 않는 것을 의미합니다. finally 블록에서 던진 예외가 호출자에게 전파되는 새로운 예외가 됩니다. [키 포인트..
· 레퍼런스
Join은 무엇인가요? Join은 여러 테이블의 데이터를 결합하기 위한 개념입니다. 공유 field를 기반으로 서로 다른 테이블에서 관련 정보를 검색할 수 있습니다. 다음과 같은 데이터베이스가 있다고 가정합시다: 고객 테이블은 이름, ID와 같은 고객 정보를 저장합니다. 주문 테이블은 고객 ID(고객 테이블과 연결된)를 포함한 주문 정보를 저장합니다. 완전한 정보를 위해, 고객 정보를 주문 정보와 결합해 보여주길 원할 것입니다. 이때 조인을 사용합니다. 조인에는 여러 종류가 있습니다: Inner Join: 가장 일반적인 조인입니다. 두 테이블 모두에 포함된 내용만 반환합니다. Left Join: 왼쪽 테이블의 모든 행과 오른쪽 테이블의 일치하는 행이 포함됩니다. 일치하지 않는 오른쪽 테이블의 행은 nul..
· 레퍼런스
HashMap은 내부에서 어떻게 동작하는가? HashMap은 Map 인터페이스의 해시테이블을 기반으로 한 구현입니다. 이 구현은 모든 map 연산을 제공하고, null 값과 null 키를 허용합니다. 이 클래스는 map의 순서를 보장하지 않습니다. Java HashMap은 null 키와 null 값을 허용합니다. HashMap은 순서가 지정된 컬렉션이 아닙니다. 키 집합을 통해 HashMap을 반복할 수는 있지만, HashMap에 추가되는 순서를 보장하지는 않습니다. HashMap은 비동기화되고 null 값을 허용한다는 점을 제외하면 Hashtable과 거의 유사합니다. HashMap은 맵 엔트리를 저장하기 위해 내부 클래스인 Node를 사용합니다. HashMap은 버킷 또는 빈(bin)이라고 불리는 여..
· 이것저것
어제 드디어 유데미에서 "Spring Boot 3 & Spring Framework 6 마스터하기!" 강의를 완강하였습니다. 총 38시간 정도의 긴 강의라, 12월 말부터 듣기 시작했는데 3월 말에 겨우 끝냈네요. 약 3개월 정도의 긴 수강 기간이었습니다. 이번 포스팅에서는 해당 강의의 전체적인 커리큘럼과, 추천 대상, 완강 후기 등을 소개하겠습니다. 이 강의를 들을지 말지 고민하는 분들께 도움이 되는 글이 되면 좋겠네요. 배울 내용 당연히 제목부터 Spring이 들어간 만큼, Spring Boot와 Spring 내용이 강의의 중심이 됩니다. 그 외에도 React.js, Javascript의 기술 스택으로 어드민 프론트를 구성하는 방법, Maven과 Gradle의 빌드 툴, Docker와 AWS 등의 D..
· 이것저것
지난번에는 코드트리가 어떤 사이트인지, 어떤 커리큘럼을 가지고 있고 코드트리의 특별한 기능은 어떤 게 있는지 살펴보았습니다. [후기] 알고리즘 학습을 위해 선택한 "코드트리" (1) 이번에는 코드트리에서 어떤 식으로 학습을 진행하는지 알아보겠습니다. 학습 단계 코드트리 학습 단계는 크게 세 단계가 있어요. 개념을 익힐 수 있는 "기본 개념" 문제로 연습해 볼 수 있는 "연습 문제" 실제로 내가 풀어보는 "테스트" 각각의 단계에 대해 더 자세히 알아보겠습니다. 기본 개념 말 그대로 기본 개념을 알려주는 단계입니다. 그렇다고 이론만 알려주는 것은 아니고 문제로도 연습해 볼 수도 있어요. 왼쪽 화면에서 기본 개념을 알려줍니다. 꽤 상세하게 알려주니 개념을 학습하기에 무리는 없어요. 기본문제에서는 입력 형식 /..
· 레퍼런스
이벤트 중심 아키텍처의 세계에서 효율적인 소통을 위해서는 적절한 메시지 브로커를 선택하는 것이 중요합니다. 가장 인기있는 두 개는 Kafka와 RabbitMQ이며, 각각 장단점이 있습니다. 이 두개는 비슷한 기능을 수행하지만 서로 다른 아키텍처, 성능 및 사용 사례를 가지고 있습니다. 여기서는 두 브로커의 아키텍처 차이점과 성능을 비교하고 Kafka와 RabbitMQ의 몇 가지 일반적인 사용 사례를 살펴봅시다. 아키텍처 [Kafka] Apache Kafka는 높은 처리량 및 실시간 데이터 처리 기능으로 유명한 오픈 소스 분산 이벤트 스트리밍 플랫폼입니다. Kafka는 프로듀서가 메시지를 작성하고 컨슈머가 해당 주제를 구독하여 메시지를 받는 pub-sub 모델을 따릅니다. Kafka는 메시지를 분산 커밋 ..
· 레퍼런스
ChatGPT에게 실생활 시나리오를 포함하여 Java Streams API를 가르쳐 달라고 부탁했습니다. 이 글에서 ChatGPT가 얼마나 잘 해냈는지 보실래요? 기본 직원 클래스 만들기 Prompt 1: create an employee class with multiple data fields, make sure to include a list, a map, dates and numbers along with Boolean and string. (list, map, dates와 numbers, boolean, string을 포함한 여러 데이터 필드로 직원 클래스를 만들어 줘) import java.util.Date; import java.util.HashMap; import java.util.List;..
둘기덕
'분류 전체보기' 카테고리의 글 목록