[MySQL] java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver
·
Server/Error
에러 내용 Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) 토비의 스프링 책을 따라가던 도중, MySQL 클래스를 계속 찾지 못하는 현상을 발견. 에러 원인 Gradle Dependencies 에서 의존성을 추가하지 않아서 생긴 문제. 해결 방법 implementation g..
[토비의 스프링] 스프링이란?
·
Server/Spring&Spring Boot
스프링이란? 자바 엔터프라이즈 애플리케이션 개발에 사용되는 애플리케이션 프레임워크 Java Virtual Machine에서 작동하며, 아파치 라이선스를 따르는 오픈 소스 프레임워크 스프링 컨테이너 설정 정보를 참고하여 애플리케이션을 구성하는 오브젝트를 생성하고 관리 독립적으로 동작할 수도 있지만 보통 웹 모듈에서 동작하는 서비스나 서블릿으로 등록하여 사용 Ioc/DI, 서비스 추상화, AOP IoC/DI 오브젝트의 생명 주기와 의존관계에 대한 프로그래밍 모델 객체지향 설계 원칙과 디자인 패턴의 핵심 원리를 담고 있다. 스프링이 직접 제공하는 모든 기술과 API, 컨테이너도 IoC/DI방식으로 작성됨 서비스 추상화 환경이나 서버, 특정 기술에 종속되지 않고 이식성이 뛰어난 애플리케이션을 만들 수 있도록 지..
[자바 / Java] 프로그래머스 알고리즘 제출 설정 (런타임 에러)
·
Basic/코딩테스트
* 자바 코드 제출 방법 오류 코드(짝수와 홀수 예제) 1. class 명 class 짝수와 홀수 { public static String solution(int num) { String answer; if(num%2 == 0 ){ answer = "Even"; }else{ answer = "Odd"; } return answer; } } 2. 메소드 명 class Solution { public static String 짝수와 홀수(int num) { String answer; if(num%2 == 0 ){ answer = "Even"; }else{ answer = "Odd"; } return answer; } } 클래스 이름과, 메서드 이름을 'Solution', 'solution()'이 아닌 다른 ..
[자료구조] 링크드리스트(Linkde List)
·
CS/자료구조
링크드리스트 (Linked List) 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료 구조. 구조 노드(Node) : 데이터 저장 단위(데이터, 포인터로 구성) 포인터(Pointer) : 각 노드 안에서, 다음이나 이전 노드와의 연결 정보를 가지고 있는 공간 장점 늘어선 노드의 중간지점에서도 자료의 추가와 삭제가 O(1)의 시간에 가능하다. 단점 배열이나 트리구조와는 달리 특정 위치의 데이터를 검색할땐 O(n)의 시간이 걸린다. 종류 단일 연결 리스트 각 노드에 자료공간과 한 개의 포인터 공간이 있고, 각 노드의 포인터는 다음 노드를 가리킨다. 이중 연결 리스트 단일 연결 리스트와 비슷하지만, 포인터 공간이 두 개가 있고 각각의 포인터는 앞의 노드와 뒤의 노드를..
[자료구조] 큐(Queue)
·
CS/자료구조
큐(Queue) 가장 먼저 집어 넣은 데이터를 가장 먼저나오는 FIFO 구조 FIFO(First In Fist Out, 선입선출) 나중에 집어 넣은 데이터가 먼자 나오는 스택과 반대되는 개념 장점 데이터의 접근, 삽입, 삭제가 빠르다. 단점 중간에 위치한 데이터에 대한 접근이 불가. 활용 프로세스 관리 입력된 것을 처리하지 못하고 있는 상황 BFS 기능 enQueue() : 데이터 입력 deQueue() : 데이터 반환 isEmpty() : 큐가 비어있는지 확인 isFull() : 큐가 가득 차있는지 확인 용어 front : 데이터를 반환하는 쪽, 출구 rear : 데이터를 입력하는 쪽, 입구 선언 Queue queue = new LinkedList(); // T형 queue 선언, linkedlist ..
[자료구조] 스택(Stack)
·
CS/자료구조
스택 제한적으로 접근할 수 있는 나열구조로 접근방법은 언제나 목록의 끝에서만 일어난다. 한 쪽 끝에서만 자료를 넣어나 뺄 수 있는 선형구조(LIFO)로 되어있다. LIFO(Last In First Out, 후입선출) : 마지막에 넣은 데이터를 가장 먼저 추출하는 데이터 관리 정책 활용 컴퓨터 내부 프로세스 구조의 함수 동작 방식 재귀 알고리즘 DFS 알고리즘 방문기록 실행취소 기능 push() : 스택에 데이터 입력 pop() : 스택의 마지막 데이터를 반환 장점 구조 단순, 구현이 쉽다 데이터의 저장/읽기 속도가 빠르다. 단점 데이터 최대 갯수를 미리 정해야한다. 저장 공간의 낭비가 발생할 수 있음. 선언 import java.util.Stack; Stack stack = new Stack(); 메소드..
[자료구조] 3차원 배열 (Array)의 출력
·
CS/자료구조
3차원 배열 전체 코드 public class ThreeDimensionArray { public static void main(String[] args) { int[][][] intArr = { { // [0][][] {1, 3}, // [0][0][] {5, 6, 7, 8}, // [0][1][] {9, 10, 11, 12} // [0][2][] }, { // [1][][] {13, 14, 15, 16}, // [1][0][] {17, 18, 19 }, // [1][1][] {21, 22, 23, 24} // [1][2][] } }; System.out.println(intArr[0][0][1]); // 2 System.out.println(intArr[0][1][2]); // 8 System.out..
[자료구조] 배열 (Array), ArrayList, LinkedList
·
CS/자료구조
배열 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 필요한 이유? 같은 종류의 데이터를 순차적, 효율적으로 관리한다. 특징 같은 타입만 저장이 가능하다 인덱스는 0부터 시작한다 인덱스 번호로 접근하여 빠른 접근이 가능하다. 최대 길이를 미리 선언해야하며, 수정 및 삭제가 어렵다. 장점 구조가 간단하여 사용하기 쉬움 데이터를 읽어오는 접근 시간이 빠름 단점 크기 변경 불가 비순차적 데이터의 추가 또는 삭제의 시간이 오래걸림. JAVA의 배열 배열 선언의 여러가지 방법 타입[] 변수이름; // 배열을 선언(배열을 다루기 위한 참조변수 선언) 변수이름 = new 타입[길이]; // 배열을 생성(실제 저장공간을 생성) // 선언과 동시에 데이터 삽입 int[] score = new int[]{ 50, 60..
코드플리
코드 플레이 리스트