배운내용 정리 (29) 썸네일형 리스트형 IntelliJ 한글깨짐 현상 수정 1. 발생이유와 현상 2. 에러 해결 과정 3. 오늘 에러 해결 소감 1. 발생이유와 현상 오늘 Spring강의를 듣다가 Entity 트랜잭션 부분의 테스트 코드를 진행하다 보니 출력 부분에서 한글 깨짐 현상이 발생했다. 아쉽지만 정신없어서 사진을 캡처 못했다. 그래서 부랴부랴 구글링 해서 해결한 방법을 써보려고 한다. 2. 에러 해결 과정 File -> Setting -> Editor -> File Encodings 에서 빨간색 박스 부분을 UTF-8로 변경 Help -> Eidt Custom VM Options 에서 나오는 파일창에 아래 코드 2줄 입력 후 저장 -Dfile.encoding=UTF-8 -Dconsole.encoding=UTF-8 이후 File -> Invalidate Caches 입력.. Spring port error 에러사항 Window 10 환경에서 Spring Boot세팅을 마치고 실행하려고 하다 보니 아래 사진과 같은 에러 발생 Web server failed to start. Port 8080 was already in use. 위의 에러는 Spring시작과 동시에 8080 포트를 사용하려고 하는데 그 포트에 어떤 프로그램이 사용 중이어서 실행을 못한다는 에러이다. 애초에 Spring Boot는 기본 실행포트가 8080이라 8080 포트에 어떤 프로세스가 실행 중이라면 실행이 불가능하다. 따라서 에러를 해결하기 위해 여러 구글링을 해서 찾아본 결과 해결 방법이 2가지가 있다. 해결방법 실행할 어플리케이션의 포트를 변경하면 된다. 8080 포트를 사용하고 있는 프로세스를 종료한다. 1번째의 해결방법은 Sprin.. Java Thread(3) 1. 쓰레드 우선순위와 쓰레드 그룹 2. 쓰레드 상태와 제어 1. 쓰레드 우선순위와 쓰레드 그룹 1. 쓰레드 우선순위 쓰레드 작업의 중요도에 따라서 쓰레드의 우선순위를 부여할 수 있다. 작업의 중요도가 높을 때 우선순위를 높게 지정하면 더 많은 작업시간을 부여받아 빠르게 처리될 수 있다. 쓰레드는 생성될때 우선순위가 정해진다. 이 우선순위는 우리가 직접 지정하거나 JVM에 의해 지정될 수 있다. 우선순위는 아래와 같이 3가지 (최대/최소/보통) 우선순위로 나뉜다. 최대 우선순위 (MAX_PRIORITY) = 10 최소 우선순위 (MIN_PRIORITY) = 1 보통 우선순위 (NROM_PRIORITY) = 5 기본 값이 보통 우선순위이다. 더 자세하게 나눈다면 1~10 사이의 숫자로 지정 가능하다. 이 .. Java Thread(2) 1. Thread 와 Runnable 2. 데몬 쓰레드와 사용자 쓰레드 1. Thread 와 Runnable Java에서 쓰레드를 구현하고 실행하는 방법에 대해서 학습한다. Java에서 제공하는 Thread 클래스를 상속받아 쓰레드를 구현한다. public class TestThread extends Thread { @Override public void run() { // 쓰레드 수행작업 } } ... TestThread thread = new TestThread(); // 쓰레드 생성 thread.start() // 쓰레드 실행 여기서 핵심은 run() 메서드 이다. run() 메서드에 작성된 코드가 쓰레드가 수행할 작업이다. 1. Thread public class Main { public stat.. Java Thread(1) 1. 프로세스와 쓰레드 2. 멀티 쓰레드 3. Thread 와 Runnable 4. 데몬 쓰레드와 사용자 쓰레드 5. 쓰레드 우선순위와 쓰레드 그룹 1. 프로세스와 쓰레드 프로세스 : 운영체제로부터 자원을 할당받는 작업의 단위 쓰레드 : 프로세스가 할당받은 자원을 이용하는 실행의 단위\ 프로세스 프로세스 작업 단위 프로세스는 “실행 중인 프로그램”을 의미한다. 예를들어 우리가 Java 프로그램을 실행시키면 이 프로그램은 프로세스라는 이름으로 운영체제 위에서 실행된다. 즉, OS 위에서 실행되는 모든 프로그램은 OS가 만들어준 프로세스에서 실행된다. 카카오톡, 브라우저, JAVA프로그램 모두 프로세스로 실행되며 크롬 브라우저를 2개 띄우면 크롬 브라우저 프로세스도 2개가 띄워진 것이다. OS가 프로그램 실.. Java Generic 1. Generic 알아보기 2. Generic 문법 자세히 살펴보기 1. Generic 알아보기 제네릭의 효용 첫 번째로 제네릭의 효용은 타입 언어에서 “중복되거나 필요 없는 코드를 줄여주는 것”이다. 두 번째 제네릭의 효용은 그러면서도 타입 안정성을 해치지 않는 것이다 Step 1. 타입 언어에서의 중복되거나 필요 없는 코드? 만약 우리가 자바스크립트나 파이썬과 같은 약타입 언어를 이용한다면 일은 간단하다. 기본적으로 타입을 지정해 줄 필요가 없기에 하나의 함수만 구현하면 끝. // JavaScript function plusReturnFunction(a, b) { return a + b; } const a = 1; const b = 2; const c = 1.1; const d = "hello"; .. Java 예외처리 오류 및 예의에 대한 이해 예외 발생과 try-catch, finally 문 예외 클래스 구조 이해하기 Chained Exception, 실제 예외 처리하는 방법 1. 오류 및 예외에 대한 이해 프로그램을 작성하다 보면 예외 상황이 발생한다. 예를 들어 사용자가 숫자가 아닌 문자를 입력하는 경우, 프로그램의 메모리가 감당할 수 없는 숫자가 입력되는 경우, 프로그램을 돌리는 메모리가 부족한 경우 등등... 이러한 상황들의 예외를 미리알고 해결할 수 있다면 더욱 완벽한 프로그램을 만들 수 있을 것이다. 완벽한 프로그램을 만들기전에 오류와 예외에 대한 이해를 해야 한다. 1-1 오류 오류(Error)는 일반적으로 회복이 불가능한 문제이다. 이는 시스템 레벨에서, 또는 주로 환경적인 이유로 발생 코드의 문제로 .. 자바의 구조체 자바의 구조체 사용하는 방법 느낀 점 1. 자바의 구조체 C나 C++, C#에는 있는 구조체는 아쉽지만 Java에는 지원하지 않는다. 하지만 클래스를 사용하여 구조체를 구현할 수 있다!. 이러한 구조체 구조는 나중에 여러 정보를 한 번에 객체에 담아서 처리하기 때문에 캡슐화에 용이하며 번거롭게 코드를 여러 번 타이핑할 필요 없이 한 번에 처리가능하다는 장점이 있다. 2. 사용하는 방법 클래스를 생성하고 생성자를 만들 때 자신이 입력하고 싶은 데이터 타입에 맞게 클래스를 구성하면 된다. public class Structure { int num; String name; String comment; public Structure(int num, String name, String comment){ this... 이전 1 2 3 4 다음