분류 전체보기 94

[인프런/호돌맨의 요절복통 개발쇼] 프로젝트 생성

글을 쓰는 목적 : 왜? 무엇? 정확한 이해!!!섹션 2. 요절복통 블로그 API 만들기 기본 : 프로젝트 생성목표 : Spring Boot 프로젝트 생성하기Group : 프로젝트가 속한 조직 또는 도메인을 나타냄. Java 패키지의 네이밍 규칙을 따르고, 프로젝트가 속한 범주 또는 소속을 구분짓는 역활을 함. 역방향 도메인 이름 형식을 사용함, 예로, com.naver 또는 com.example, org.springframework 처럼 조직 도메인 이름을 거꾸로 배치하는 방식.Artifact : 프로젝트 자체를 나타내는 고유한 이름. 프로젝트의 특정 제품이나 모듈을 식별하며, 주로 프로젝트 이름 또는 배포 패키지 이름으로 사용됨. jar 또는 war 파일의 이름이 됨.Lombok : java에서 반복..

[자료구조] List - 연결리스트

List - 연결리스트연결 리스트(Linked List)는 데이터를 저장하는 방식 중 하나로, 각각의 노드가 데이터와 함께 다음 노드에 대한 참조(주소)를 가지고 잇어 데이터를 연결하는 방식. Java에서도 각각의 노드를 참조하는 연결 리스트를 구현 할 수 잇는데, 주로 단순 연결 리스트, 이중 연결 리스트, 원형 연결 리스트의 세 종류가 많이 사용됨.1. 단순 연결 리스트 (Singly Linked List)- 구조 : 각 노드는 데이터와 다음 노드를 가리키는 참조(포인터)를 가짐. 노드는 오직 한 방향으로만 연결되어 있음- 구성 : Node 클래스는 data와 next 필드를 가지며, next는 다음 노드를 참조함.class Node { int data; Node next; Node(..

[식도락] 잠실 롯데월드몰 칸다소바

잠실역 맛집일본식 음식점 칸다소바매장정보매장명 : 칸다소바위치 : 서울특별시 송파구 올림픽로 300, 롯데월드몰 6층영업시간 : 10시 30분 ~ 10시 (라스트오더 21시)  ** 키오스크에서 먼저 주문 후 교환권은 직원에게 전달인원 : 2 ~ 4인 정도 규모의 모임에서 식사하기 괜찮음장소 : 협소추천모임 : 그리 안친한데 밥은 먹어야 겠고, 식사에 집중하고 싶은 모임에 추천대표 메뉴는 마제소바, 아부라소바, 껍데기 아부라소바, 이에케 라멘My Pick음료 : 우메보시 탄산 ( 매실청에 탄산수를 첨가한 맛 ) 음식 : 마제소바 + 돼지껍데기맛 : 찐한 고기 양념에 잘 숙성된 간장 베이스의 단짠단짠한 볶음 우동 맛먹는법 면과 고명을 잘 비비면 끝, 추가로 입맛에 따라 고추기름이나 앞에 조미료를 개인 취향..

[Java] DTO & VO & BO

DTO & VO & BODTO(Data Transfer Object)DTO는 계층 간 데이터를 전달하는데 사용되는 객체.주로 서비스 계층과 프리젠테이션 계층 또는 클아이언트와 서버 간에 데이터를 주고 받을때 사용됨.특징1. 단순한 데이터 저장 역활 : DTO는 일반적으로 getter와 setter 메서드만을 포함하며, 비즈니스 로직이 없음2. 데이터 전송 : 네트워크 통신, 파일 저장, 또는 데이터베이스 조회 결과 등을 외부 계층으로 전달하는 역활3. 직렬화 가능 : DTO는 네트워크 통신을 위해 자주 직렬화됨. 즉, 객체를 바이트 스트림으로 변환해 전송할 수 있음.4. 계층 간의 결합도 감소 : 비즈니스 로직이 없는 순수한 데이터 객체이므로, 여러 계층 간의 의존성을 줄이고 결합도를 낮춤// DTO 객..

[자료구조] List - 순차리스트

List - 순차리스트 (배열,  ArrayList ...)순차 리스트(Sequentail List)는 데이트를 메모리 상에 연속적으로 젖아하는 방식의 리스트 구조로써 대표적으로 배열이 있음.배열 기반의 자료구조에서 많이 사용됨.특징1. 연속된 메모리 공간 사용순차 리스트는 배열처럼 데이터를 메모리 상의 연속된 공간에 저장함. 이로 인해 인덱스를 통한 접근 속도가 빠름.메모리 상의 특정 위치에서 바로 데이터를 찾아올 수 있기 때문에 조회 시간 복잡도는 **O(1)** 임2. 빠른 조회순차 리스트의 가장 큰 장점 중 하나는 인덱스를 사용한 데이터 조회가 매우 빠르다는 점. 이는 연속된 메모리 구조 덕분으로, 인덱스르르 통해 직접 원하는 위치에 접근할 수 있기 때문.3. 고정된 크기순차 리스트는 일반적으로..

[프로그래머스] 같은 숫자는 싫어

스택 / 큐난이도 : Lv.1문제 설명배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면,arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다.arr = [4, 4, 4, 3, 3] 이면 [4, 3]을 return 합니다.배열 arr 에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return하는 soution 함수를 완성해 주시요.제한사항배열 arr의 크기 : 1,000,000 이하의 자연수배열 arr의 원소의 크기 : 0..

[자료구조] List - ArrayList 실습 - 학생 수 입력 및 출력

ArrayListList 인터페이스의 구현체이며 순차 리스트 순차 리스트의 특징- 연속된 메모리 공간 사용- 빠른 조회- 고정된 크기- 삽입 및 삭제의 성능이 비효율적임- 메모리 활용 - 데이터의 접근 방식- 정렬된 데이터 관리- 순차 탐색- 동기화 문제ArrayList의 특징- 동적 크기 조정 : ArrayList는 크기가 고정된 배열과 달리 동적으로 크기를 조정할 수 있음. 배열이 가득 차면 내부적으로 더 큰 배열을 생성하고 기존 배열의 요소를 복사하여 확장함- 인덱스를 통한 빠른 접근 : 배열처럼 ArrayList는 인덱스 통해 요소에 직접 접근할 수 있음. 인덱스를 사용한 조회 연산(get())의 시간 복잡도는 **O(1)**- 느린 삽입 / 삭제 (중간요소) : 배열처럼 연속된 메모리 공간을 사..

[자료구조] List

ListList는 순서가 있는 데이터의 집합을 다루는 인터페이스로써, 중복을 허용하며 인덱스를 통해 요소에 접근 할 수 있음.특징- 순서 보장 : 요소가 추가된 순서가 유지되며, 인덱스를 통해 순차적으로 접근 할 수 있음- 중복 허용 : 같은 값의 요소를 여러 번 추가 할 수 있음- 인덱스 기반 접근 : 인덱스를 사용해 특정 위치의 요소를 가져오거나 수정 할 수 있음- 동적 크기 : 필요에 따라 크기가 자동으로 늘어나거나 줄어듦주요 메서드add(E e) : 요소를 리스트에 추가get(int index) : 지정된 인덱스에 있는 요소를 반환remove(int index) : 지정된 인덱스의 요소를 제거size() : 리스트의 크기를 반환contains(Object o) : 리스트에 특정 요소가 포함되어 있..

[Git & GitHub] Git과 GitHub의 차이

시작 Git과 GitHub의 차이를 설명하기 전에 형상관리를 먼저 체크하고자 한다.형상관리란?형상관리 (Configuration Management)는 소프트웨어의 구성이나 설정을 관리한다는 의미로 이해하면 좋다.간단하게 말해서 소프트웨어의 설정이나 코드를 관리하는 도구라고 생각하면 된다.더나아가 소프트웨어의 설정이나 코드를 단순 저장만 하는것이 아닌, 변경사항이나 버전을 체계적으로 관리하는 시스템으로 이해하면 된다.헷갈리는 Git과 GitHub의 차이Git  로컬에서 작업한 내용을 버전별로 관리하는 도구 /  GitHub 소스코드를 원격저장소에 저장 관리하는 웹 기반 플랫폼Git - 분산 버전 관리 시스템(DVCS) : 로컬에서 소슬 코드를 버전별로 관리 할 수 있는 도구- 특징1.  코드의 변경 이력..

Git & GitHub 2024.09.18

[자료구조] Deque

DequeDeque (Double_Ended Queue)은 양쪽 끝에서 삽입과 삭제가 가능한 자료구조.Deque은 Queue처럼 한쪽 끝에서 삽입하고 다른 쪽 끝에서 삭제하는 것이 아니라, 양쪽에서 끝에서 자유롭게 삽입과 삭제가 가능.이러한 특성으로 덱은 Stack과 Queue의 특성을 모두 가지고 있음.package deque;import java.util.Deque;import java.util.LinkedList;public class Deque01 { public static void main(String[] args) { Deque deque = new LinkedList(); // 요소 추가 deque.addFirst(1); // 앞쪽에 1 추가 ..