숑숑이의 개발일기
article thumbnail
[MySql] MySQL cmd 접속방법, MySQL 환경변수 설정
Etc/Program 2023. 8. 1. 00:50

디비를 덤프하기 위해 cmd에서 명령어를 입력하는데 인식하지못했다. 이는 바로 MySQL에서 환경변수를 설정안해줬기 때문이다. MySQL 환경변수 설정 방법에 대해 알아본다 내 PC -> 우클릭 [속성] 내 PC화면에서 빈공간에 커서를 두고 우클릭하여 나오는 메뉴에서 [속성]을 클릭한다. 시스템 -> 고급 시스템 설정 그럼 이렇게 시스템 화면이 나오는데, 고급 시스템 설정을 클릭한다. 고급 -> [환경 변수] 시스템 속성 창의 고급 탭에서 [환경 변수]를 클릭한다. 시스템변수 -> Path 아래 시스템 변수의 Path를 선택후 [편집] 버튼을 누르거나 더블클릭으로 진입한다. 새로 만들기 -> 경로설정 -> 확인 나의 MySQL 서버 bin 폴더의 경로를 붙여 넣어준다. 설치시에 경로를 변경하지 않았다면 ..

[Spring] No converter found for return value of type
Etc/Error 2023. 7. 26. 23:49

🛠️ 오늘의 오류 No converter found for return value of type: class java.util.ArrayList 프로젝트 진행중 AJAX를 사용하던 중 발생한 에러다. Payload 값은 잘 받아오고있는데 Status Code로 404가 계속 콘솔에 찍혔다. 에러 발생 원인 Cotroller에서 ArrayList 객체를 반환하고 있다. 해당 에러는 꼭 ArrayList 형태의 객체에서만 발생하는 것이 아니라 객체를 json 데이터로 변환하지 못할때 발생하는 에러다. 해결 방법 pom.xml 파일에 아래의 라이브러리 코드를 추가한다. jackson 라이브러리는 객체를 json 형태로 변환하는 라이브러리다. com.fasterxml.jackson.core jackson-cor..

article thumbnail
[Eclipse] Checkout conflict with files: org.eclipse.jgit.api.errors.CheckoutConflictException
Etc/Error 2023. 7. 25. 23:23

🛠️ 오늘의 오류 Checkout conflict with files: org.eclipse.jgit.api.errors.CheckoutConflictException 평소와 다를거없이 학원에서 프로젝트를 진행하고 집에서 Pull을 받으려는데 해당 오류가 발생했다. 에러 발생 원인 해당 에러는 협업을 하면서 발생할 수 있다. 1) commit을 하기 전 pull을 받아 로컬을 업데이트 하지 않음 2) pull 시점의 Repository의 HEAD와 나의 HEAD 소스가 다를 때 발생 해결방법 1) 에러가 발생한 프로젝트 우클릭 - >Team-> reset 2) hard 선택 -> Reset 3) 다시 pull을 시도했더니 정상적으로 pull이 진행됐다.

[JAVA] #17.4 Map<K, V> 컬렉션 인터페이스
Backend/JAVA 2023. 7. 20. 23:44

본글은 'Do it 자바 완전 정복' 책을 통한 공부내용을 정리한 글입니다. Map 컬렉션은 상속 구조상 List, Set와 분리되어 있다. 즉, List와 Set가 Collection 인터페이스를 상속받는 반면, Map는 별도의 인터페이스로 존재한다. Map 컬렉션의 특징 1) Key와 Value 한 쌍으로 데이터를 저장 Map 컬렉션은 Key(키)와 Value(값)의 한 쌍으로 데이터를 저장한다. 한 쌍의 데이터를 엔트리(entry)라고 하며, Map.Entry 타입으로 정의된다. Map는 데이터를 엔트리 단위로 입력받는 것이다. 2) Key : 중복 저장 불가, Value : 중복 가능 얼핏 보면 List와 비슷해 보이지만 List의 인덱스는 고정적인 반면, Map의 Key 값으로는 무엇이든 올 수..

[JAVA] #17.3 Set<E> 컬렉션 인터페이스
Backend/JAVA 2023. 7. 19. 23:57

본글은 'Do it 자바 완전 정복' 책을 통한 공부내용을 정리한 글입니다. Set 컬렉션의 특징 Set는 동일한 타입의 묶음이라는 특징은 그대로 갖고 있지만, 인덱스 정보를 포함하고 있지않아 집합의 개념과 같은 컬렉션이다. 인덱스 정보가 없으므로 데이터를 중복해 저장할 경우 중복된 데이터 중 특정 데이터를 지칭해 꺼낼 수 있는 방법이 없다. 따라서 동일한 데이터의 중복 저장을 허용하지 않는다. Set의 주요 메서드 Set에는 데이터의 추가, 삭제, 정보 추출, Set를 배열로 변환하는 메서드들이 포함되어 있다. 구분 리턴타입 메서드명 기능 데이터 추가 boolean add(E element) 매개변수로 입력된 원소를 리스트에 추가 boolean addAll(Collection

article thumbnail
[JAVA] #17 컬렉션 프레임워크, List<E> 컬렉션 인터페이스
Backend/JAVA 2023. 7. 18. 23:53

본글은 'Do it 자바 완전 정복' 책을 통한 공부내용을 정리한 글입니다. 컬렉션 프레임워크의 개념과 구조 컬렉션이란? 컬렉션(collection)은 동일한 타입을 묶어 관리하는 자료구조를 말한다. 한 컬렉션에는 동일한 타입의 데이터만 모아둘 수 있다. 컬렉션이 배열과 구분되는 가장 큰 특징은 바로 데이터의 저장 용량(capacity)을 동적으로 관리 할 수 있다는 것. 컬렉션의 저장 공간은 데이터의 개수에 따라 얼마든지 동적으로 변화할 수 있으며 컬렉션은 메모리 공간이 허용하는 한 저장 데이터 개수에 제약이 없다. 컬렉션 프레임워크란? 먼저 프레임워크(framwork)에 대해 알아보자. 일반적으로 단순히 연관된 클래스와 인터페이스들의 묶을을 라이브러리라고 한다. 프레임워크는 클래스 또는 인터페이스를 ..

[JAVA] #16 제네릭, 제네릭 클래스와 인터페이스, 제네릭 메서드
Backend/JAVA 2023. 7. 16. 18:41

본글은 'Do it 자바 완전 정복' 책을 통한 공부내용을 정리한 글입니다. 제네릭 클래스와 제네릭 인터페이스 자바에서는 다양한 종류의 클래스와 인터페이스를 제공하며 이들을 내부 멤버에서 활용하는 클래스를 작성하고자 할 때에는 많은 가짓수의 클래스를 생성해야한다. 이러한 비효율성을 한 번에 해결하는 데 필요한 문법 요소가 바로 제네릭(generic)이다. 제네릭 없이 여러 객체를 저장하는 클래스 작성 제네릭 개념 이전의 자바 문법 지식만으로 다음의 예시 코드를 살펴보자. class Apple {} class Goods1 { private Apple apple = new Apple(); public Apple getApple() { return apple; } public Apple setApple(App..

[JAVA] #15.5 쓰레드의 상태
Backend/JAVA 2023. 7. 15. 23:54

본글은 'Do it 자바 완전 정복' 책을 통한 공부내용을 정리한 글입니다. 쓰레드는 객체가 생성, 실행, 종료되기까지 다양한 상태를 가지며 각 쓰레드의 상태는 Thread.State 타입으로 정의되어 있다. Thread의 인스턴스 메서드 getState()를 이용해 쓰레드의 상태를 Thread.State 타입에 저장된 문자열 상숫값 중 하나로 리턴한다. Thread.State getState(); Thread.State는 enum 타입이다. 내부에 6개의 문자열 상수가 저장되어 있다. 쓰레드의 상태에 따라 특정 작업 수행시에는 아래와 코드와 같이 switch 선택 제어문을 이용한다. Thread.State state = myThread.getState(); switch (state) { case Thr..

[Java] #15.4 쓰레드의 동기화
Backend/JAVA 2023. 7. 8. 00:30

본글은 'Do it 자바 완전 정복' 책을 통한 공부내용을 정리한 글입니다. 동기화의 개념 동기화(sychronized)는 개념적으로 가장 쉽게 표현하면 하나의 작업이 완전히 완료된 후 다른 작업을 수행하는 것을 말한다. 반대로 비동기(asynchronous)는 하나의 작업 명령 이후 완료 여부와 상관없이 바로 다른 작업 명령을 수행하는 것을 말한다. 동기화의 필요성 멀티 쓰레드를 사용할 때 왜 동기화가 필요할까? 아래의 예시 코드를 보자. class MyData { int data = 3; public void plusData() { int mydata = data;// 데이터 가져오기 try {Thread.sleep(2000);} catch(InterruptedException e) {} data =..

[Java] #15.3 쓰레드의 속성
Backend/JAVA 2023. 7. 5. 23:22

본글은 'Do it 자바 완전 정복' 책을 통한 공부내용을 정리한 글입니다. 이제 생성한 쓰레드의 객체를 참조하거나 우선순위를 지정하는 것과 같은 쓰레드의 속성 종류와 활용하는 방법을 알아본다. 현재 쓰레드 객체 참좃값 얻어오기 Thread 클래스를 직접 정의하고 객체를 생성해 사용할 때 참조 변수를 이용해 언제든지 쓰레드 객체의 속성(이름 등)을 가져올 수 있다. 하지만 직접 쓰레드 객체를 생성했을 때가 아니라(자바의 쓰레드 풀, main 쓰레드 등) 객체를 생성할 때 참조 변수를 정의하지 않을 경우에는 new Thread().start() 객체를 참조할 수 없게 된다. 이처럼 쓰레드 객체를 참조할 수 없을때 Thread 클래스의 정적 메서드, currentThread()를 이용해 현재 쓰레드 객체의 ..