java
-
오늘은 이진 트리(Binary Tree)에 대해 이야기 해보려고 한다. 정의이진 트리는 노드(Node)로 구성된 자료 구조로, 각 노드가 최대 두 개의 자식 노드를 가질 수 있다. 이진 트리의 노드들은 다음과 같은 구성 요소를 가진다: 노드(Node): 트리의 기본 단위로, 데이터를 저장하고 왼쪽 및 오른쪽 자식 노드에 대한 참조를 가진다.루트 노드(Root Node): 트리의 최상위 노드로, 트리는 이 노드에서 시작된다.자식 노드(Child Node): 다른 노드에 의해 참조되는 노드로, 왼쪽 자식 노드와 오른쪽 자식 노드로 나뉜다.왼쪽 자식(Left Child): 왼쪽에 연결된 하위 노드.오른쪽 자식(Right Child): 오른쪽에 연결된 하위 노드.리프 노드(Leaf Node): 자식 노드..
자료구조 기초3 - 이진 트리 Binary Tree오늘은 이진 트리(Binary Tree)에 대해 이야기 해보려고 한다. 정의이진 트리는 노드(Node)로 구성된 자료 구조로, 각 노드가 최대 두 개의 자식 노드를 가질 수 있다. 이진 트리의 노드들은 다음과 같은 구성 요소를 가진다: 노드(Node): 트리의 기본 단위로, 데이터를 저장하고 왼쪽 및 오른쪽 자식 노드에 대한 참조를 가진다.루트 노드(Root Node): 트리의 최상위 노드로, 트리는 이 노드에서 시작된다.자식 노드(Child Node): 다른 노드에 의해 참조되는 노드로, 왼쪽 자식 노드와 오른쪽 자식 노드로 나뉜다.왼쪽 자식(Left Child): 왼쪽에 연결된 하위 노드.오른쪽 자식(Right Child): 오른쪽에 연결된 하위 노드.리프 노드(Leaf Node): 자식 노드..
2024.11.15 -
안녕하세요 오늘은 Java 코딩 테스트에서 자주 나오고 알아두면 좋은 확장 메서스들을 모아 보았습니다.더 필요한 내용들이 있지만 필수적인 부분들을 우선적으로 정리해놓았구요.추후 필요에 따라 업데이트를 진행하겠습니다!1. String 클래스 메서드들charAt(int index): 문자열에서 특정 인덱스의 문자를 반환합니다.substring(int beginIndex, int endIndex): 문자열의 부분 문자열을 반환합니다.indexOf(String str): 특정 문자열이 처음으로 등장하는 인덱스를 반환합니다.lastIndexOf(String str): 특정 문자열이 마지막으로 등장하는 인덱스를 반환합니다.split(String regex): 정규 표현식에 따라 문자열을 분할합니다.toCharArr..
Java 코딩 테스트에서 자주 쓰이는 확장 메서드 모음!안녕하세요 오늘은 Java 코딩 테스트에서 자주 나오고 알아두면 좋은 확장 메서스들을 모아 보았습니다.더 필요한 내용들이 있지만 필수적인 부분들을 우선적으로 정리해놓았구요.추후 필요에 따라 업데이트를 진행하겠습니다!1. String 클래스 메서드들charAt(int index): 문자열에서 특정 인덱스의 문자를 반환합니다.substring(int beginIndex, int endIndex): 문자열의 부분 문자열을 반환합니다.indexOf(String str): 특정 문자열이 처음으로 등장하는 인덱스를 반환합니다.lastIndexOf(String str): 특정 문자열이 마지막으로 등장하는 인덱스를 반환합니다.split(String regex): 정규 표현식에 따라 문자열을 분할합니다.toCharArr..
2024.11.11 -
오늘은 주니어 개발자의 기술 면접에 나오는 내용에 대해 정리하여 볼까 한다.내가 아는 것과 설명하는 것은 또 다른 영역이기 때문에 중요한 핵심만 뽑아서 이야기 할 수 있도록잘 정리해두록 하자. JAVA 기본 OOP란객체지향 프로그래밍(Object-Oriented Programming, OOP)은 프로그래밍 패러다임 중 하나로, 현실 세계의 사물이나 개념을 객체로 모델링하여 소프트웨어를 개발하는 방법입니다. 이 접근 방식은 프로그램을 보다 유연하고, 수정이 용이하며, 이해하기 쉽게 만드는 데 중점을 둡니다. 객체지향 프로그래밍의 핵심은 데이터(속성)와 그 데이터를 처리하는 데 필요한 연산(메서드)을 하나의 '객체'라는 단위로 묶고, 이러한 객체들이 서로 상호작용하면서 프로그램을 구성하는 것입니다.대표적인 ..
주니어 개발자 기술 면접 리스트오늘은 주니어 개발자의 기술 면접에 나오는 내용에 대해 정리하여 볼까 한다.내가 아는 것과 설명하는 것은 또 다른 영역이기 때문에 중요한 핵심만 뽑아서 이야기 할 수 있도록잘 정리해두록 하자. JAVA 기본 OOP란객체지향 프로그래밍(Object-Oriented Programming, OOP)은 프로그래밍 패러다임 중 하나로, 현실 세계의 사물이나 개념을 객체로 모델링하여 소프트웨어를 개발하는 방법입니다. 이 접근 방식은 프로그램을 보다 유연하고, 수정이 용이하며, 이해하기 쉽게 만드는 데 중점을 둡니다. 객체지향 프로그래밍의 핵심은 데이터(속성)와 그 데이터를 처리하는 데 필요한 연산(메서드)을 하나의 '객체'라는 단위로 묶고, 이러한 객체들이 서로 상호작용하면서 프로그램을 구성하는 것입니다.대표적인 ..
2024.11.10 -
웹소켓에 대한 설정은 여기에 자세히 나와 있으니 이 글을 참고하자. Java에서 WebSocket 사용하기!이번에 이야기 할 내용은 Java에서 WebSocket을 사용하는 법에 대하여 이야기 해보려고 한다.우선 WebSocket이 무엇인지 부터 간단히 이야기 해보겠다. WebSocket은 웹 애플리케이션에서 서버와 클라이dog-foot-sleep.tistory.com 1. 구현하고자 하는 페이지 오늘 이야기 해볼 것은 Redis Pub/Sub을 사용한 간단한 예제를 만들어 볼까 한다. 어려운 내용은 아니지만 기본적으로 Web Socket의 개념과 Pub/Sub의 개념을 모르신다면 미리 알아보고 이 글을 읽으시길 바란다. 우선 상상해보자. 어떠한 뉴스 리스트를 보여주는 게시판을 웹으로 만든다고 생각하자..
Redis를 이용한 Pub/Sub 메시징 시스템 구현 - 쉬움웹소켓에 대한 설정은 여기에 자세히 나와 있으니 이 글을 참고하자. Java에서 WebSocket 사용하기!이번에 이야기 할 내용은 Java에서 WebSocket을 사용하는 법에 대하여 이야기 해보려고 한다.우선 WebSocket이 무엇인지 부터 간단히 이야기 해보겠다. WebSocket은 웹 애플리케이션에서 서버와 클라이dog-foot-sleep.tistory.com 1. 구현하고자 하는 페이지 오늘 이야기 해볼 것은 Redis Pub/Sub을 사용한 간단한 예제를 만들어 볼까 한다. 어려운 내용은 아니지만 기본적으로 Web Socket의 개념과 Pub/Sub의 개념을 모르신다면 미리 알아보고 이 글을 읽으시길 바란다. 우선 상상해보자. 어떠한 뉴스 리스트를 보여주는 게시판을 웹으로 만든다고 생각하자..
2024.11.05 -
이번 시간에는 DB존과 서버존의 시간 불일치의 원인과 해결 방법에 대해 이야기 해보려고 한다. 우선 이번에 있었던 이슈에 대해서 말해보자면 DB서버 시간과 서버의 시간이 일치하지 않아 생긴 문제였다.QA환경에선 디버깅이 힘들었는데 DEV와 PRODUCT 에선 문제가 없다가 QA 에서만 이슈가 나서 원인 파악에 나섰다. 일반적인 문제의 유형Java의 경우 LocaDatetime 을 사용한다고 가정하면 가장 많이 나오는 문제는 아래와 같다. LocalDateTime.now()를 사용하여 DB에 저장을 할 때, 서버 시간 기준 UTC로 생성 된 시간과 DB 저장되어 내가 생각한 NOW의 시간이 서로 다른 경우이다. 해당 문제는 인스턴스 서버의 운영체제 시간을 KST로 변경해주거나 DB의 시간을 UTC로 변경 ..
DB와 서버의 ZonedDatetime 시간 불일치 이슈 - 보통이번 시간에는 DB존과 서버존의 시간 불일치의 원인과 해결 방법에 대해 이야기 해보려고 한다. 우선 이번에 있었던 이슈에 대해서 말해보자면 DB서버 시간과 서버의 시간이 일치하지 않아 생긴 문제였다.QA환경에선 디버깅이 힘들었는데 DEV와 PRODUCT 에선 문제가 없다가 QA 에서만 이슈가 나서 원인 파악에 나섰다. 일반적인 문제의 유형Java의 경우 LocaDatetime 을 사용한다고 가정하면 가장 많이 나오는 문제는 아래와 같다. LocalDateTime.now()를 사용하여 DB에 저장을 할 때, 서버 시간 기준 UTC로 생성 된 시간과 DB 저장되어 내가 생각한 NOW의 시간이 서로 다른 경우이다. 해당 문제는 인스턴스 서버의 운영체제 시간을 KST로 변경해주거나 DB의 시간을 UTC로 변경 ..
2024.11.04 -
이번에 이야기 할 내용은 Java에서 WebSocket을 사용하는 법에 대하여 이야기 해보려고 한다.우선 WebSocket이 무엇인지 부터 간단히 이야기 해보겠다. WebSocket은 웹 애플리케이션에서 서버와 클라이언트 간의 실시간 양방향 통신을 가능하게 하는 통신 프로토콜이다. HTTP와 달리, WebSocket은 연결을 한 번 설정하면 클라이언트와 서버 간에 지속적인 연결을 유지할 수 있으며, 양측에서 데이터를 주고받을 수 있다.원래 웹 클라이언트는 요청자이고 서버는 응답을 하는데 특정 상황에서는 클라이언트의 요청 없이도 서버가 데이터를 보내야 할 때가 있다.이때 사용 하는 것이 WebSocket 기술이고 웹 브라우저와 서버의 핸드쉐이크를 통해 http 외의 통신 프로토콜을 구축하는 것이다. 아래는..
Java에서 WebSocket 사용하기! -쉬움이번에 이야기 할 내용은 Java에서 WebSocket을 사용하는 법에 대하여 이야기 해보려고 한다.우선 WebSocket이 무엇인지 부터 간단히 이야기 해보겠다. WebSocket은 웹 애플리케이션에서 서버와 클라이언트 간의 실시간 양방향 통신을 가능하게 하는 통신 프로토콜이다. HTTP와 달리, WebSocket은 연결을 한 번 설정하면 클라이언트와 서버 간에 지속적인 연결을 유지할 수 있으며, 양측에서 데이터를 주고받을 수 있다.원래 웹 클라이언트는 요청자이고 서버는 응답을 하는데 특정 상황에서는 클라이언트의 요청 없이도 서버가 데이터를 보내야 할 때가 있다.이때 사용 하는 것이 WebSocket 기술이고 웹 브라우저와 서버의 핸드쉐이크를 통해 http 외의 통신 프로토콜을 구축하는 것이다. 아래는..
2024.11.03