분류 전체보기

Spring

[Spring + MyBatis + Oracle] 그래프 탐색(BFS, DFS)를 활용한 무한 계층형 댓글 구현

1. 요구사항 댓글/대댓글 CRUD 기능 댓글을 생성, 수성, 삭제할 수 있어야 함 댓글 삭제 시 하위에 있는 모든 대댓글은 함께 삭제 계층형 댓글 구조 댓글을 계층 구조로 표현하며, 대댓글이 해당 댓글에 속하도록 구현 출력된 목록은 사용자가 쉽게 읽을 수 있도록 표현 SQL 사용 최소화 댓글 목록을 조회, 삭제할 때 SQL 쿼리 실행 횟수를 최소화 중복된 쿼리를 피하고 필요한 데이터만을 조회하는 방식을 고려 그래프 탐색 시 O(n)으로 동작하도록 코드 구현 댓글 목록을 계층 구조로 탐색할 때 시간 복잡도가 O(n) 이하여야 함 효율적인 자료구조나 알고리즘을 사용하여 계층 구조를 효율적으로 관리 2. 사용 기술 스택 Java Spring5 MyBatis Oracle 3. 데이터베이스 설계 주요 Colum..

Java

배열(Array)의 개념과 Java에서 배열의 활용

1. 배열(Array)의 개념 1.1 배열이란? 우리가 흔히 생각하는 배열의 개념은 자료를 선형적으로 모은 자료구조입니다. 실제로 배열은 선형 자료구조의 한 종류이긴 합니다. 하지만, 컴퓨터 공학에서 배열은 몇 가지 추가적인 특징을 가지고 있습니다. In computer science, an array is a data structure consisting of a collection of elements (values or variables), of same memory size, each identified by at least one array index or key. Contiguous : 배열의 각 요소는 메모리 공간에서 인접한 곳에 위치하고 있습니다. Fixed Size : 배열 요소의 개수(..

Git

Git Branch의 개념과 사용 방법

1. Git Branch란? Git에는 개발 작업을 분리시켜 병렬적인 개발을 지원하는 기능인 branch가 있습니다. 기존 코드에 새로운 branch를 생성하여 원래 하던 작업과 완전히 독립적인 개발을 할 수 있습니다. 또한, 각 branch는 고유의 commit history를 가지고 있어 작업의 flow를 분리할 수 있습니다. 2. branch 생성 git branch 브랜치이름 위와 같이 터미널에 git branch new를 입력하여 새로운 new 브랜치를 생성했습니다. 3. branch 전환(checkout) git checkout 브랜치이름 생성한 new 브랜치로 이동하기 위해 checkout 명령을 사용했습니다. new 브랜치로 전환한 상태에서 파일 a, b를 수정하여 이를 commit 하면 ..

Git

Git, 버전 관리 시스템이란 무엇일까?

1. Git이란? 개발자라면 git을 한번 써봐야 한다는 소리는 누구나 한 번씩 들어본 경험이 있을 것입니다. 또한 요즘 신입 개발자들은 자신을 pr 하기 위해 github에 자기 작업물들을 올리는 것이 기본 소양입니다. 하지만 실제 실무를 경험해보지 못한 신입 개발자가 git으로 프로젝트를 version 별로 관리하는 경험하기란 쉽지 않습니다. 그래서 최소한 면접장에 가서 git이 어떠한 기능이 있고, 특징이 무엇인지 말할 수 있도록 자세하게 알아보겠습니다. Git 공식문서에 따르면 Git은 프로젝트를 분산하고, 버전별로 관리할 수 있도록 설계된 오픈소스이다. Git is a free and open source distributed version control system designed to han..

윤유후
'분류 전체보기' 카테고리의 글 목록