🌱 오늘의 주제 : 마크다운 문법 🌱 GitHub 블로그를 시작하려고하니 마크다운으로 글을 써야해서 마크다운에 대해서 알아보려고 합니다. Markdown 일반 텍스트 문서의 양식을 편집하는 문법으로 텍스트에 태그를 이용하여 글자에 속성을 주거나, 이미지를 삽입하고 조작하는 일이 가능합니다. Markdown 장점 문법이 간단해 읽고 쓰는게 쉽다. 1번의 이유로 글을 빠르게 작성할 수 있다. 간단한 문법만으로도 글을 짜임새있게 작성할 수 있고, 마크다운으로 작성한 글은 그냥 읽어도 이해가 가능하고 HTML로 변환해도 문제가 없습니다. 키보드만으로 모든 글 작성이 가능하므로 빠르게 작성할 수 있다는 것도 큰 장점입니다. 문단 제목 문단 제목을 작성하려면 다음과 같은 방법을 사용하면 됩니다. 큰제목 ======..
🌳 에러 코드 Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Fri Mar 24 12:15:41 KST 2023 There was an unexpected error (type=Internal Server Error, status=500). ### Error updating database. Cause: java.sql.SQLException: Column count doesn't match value count at row 1 ### The error may exist in file [/Users/hongyuri/Desktop/메가스터디 IT/Spr..
🌳 에러 코드 Description: Field userBO in com.example.lesson04.Lesson04Ex01Controller required a bean of type 'com.example.lesson04.bo.UserBO' that could not be found. The injection point has the following annotations: - @org.springframework.beans.factory.annotation.Autowired(required=true) 2023-03-24 11:35:02,639 DEBUG [org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter] Application..
🌱 오늘의 주제 : BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 🌱정의 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 먼저 가장 안쪽에 있는 System.in은 콘솔에서 데이터를 입력받을 때 사용하고, inputStream 타입의 필드인 System클래스의 in 정적필드입니다. System.in으로 받은 Inputstream 객체에 read함수를 실행하면 1byte밖에 읽지 못해 2byte인 한글은 읽을 수 없습니다. 그래서 InputStreamReader을 사용하게 됩니다. InputStreamReader는 InputStream객체..
🌱 오늘의 주제 : 쓰레드의 동기화 & wait()과 notify() 🌱 쓰레드의 동기화 (synchronization) 멀티쓰레드 프로스세의 경우, 쓰레드 A가 작업하던 도중에 다른 쓰레드 B가 임의로 변경하였다면, 다시 쓰레드 A가 제어권을 받아서 나머지 작업을 마쳤을 때 원래 의도했던 것과는 다른 결과를 얻을 수 있다. 이러한 일을 방지하기 위해서 한 쓰레드가 특정 작업을 끝마치기 전까지 다른 쓰레드에 의해 방해받지 않도록 하는 것이 필요한데, 이 개념이 바로 '임계 영역'과 '잠금'이다. 한 쓰레드가 진행중인 작업을 다른 쓰레드가 간섭하지 못하게 막는 것을 쓰레드의 동기화라고 한다. 1. 메서드 전체를 임계 영역으로 지정 public synchronized void calcSum() { .. } ..
🌱 오늘의 주제 : 쓰레드의 상태 🌱 쓰레드의 상태 🌱 쓰레드의 실행제어 🌱 sleep() sleep()은 지정된 시간동안 쓰레드를 멈추게 한다. static void sleep(long millis) static void sleep(long millis, int nanos) sleep()에 의해 일시정지 상태가 된 쓰레드는 지정된 시간이 다 되거나 interrupt()가 호출되면, InterruptedException이 발생되어 잠에서 깨어나 실행대기 상태가 된다. 그래서 항상 sleep()을 호출할 때는 try - catch문으로 예외처리를 해줘야 한다. try { Thread.sleep(1, 500000); // 쓰레드를 0.0015초 동안 멈추게 한다. } catch(InterruptedExcep..
🌴 문제 문제 상근이의 할머니는 아래 그림과 같이 오래된 다이얼 전화기를 사용한다. 전화를 걸고 싶은 번호가 있다면, 숫자를 하나를 누른 다음에 금속 핀이 있는 곳 까지 시계방향으로 돌려야 한다. 숫자를 하나 누르면 다이얼이 처음 위치로 돌아가고, 다음 숫자를 누르려면 다이얼을 처음 위치에서 다시 돌려야 한다. 숫자 1을 걸려면 총 2초가 필요하다. 1보다 큰 수를 거는데 걸리는 시간은 이보다 더 걸리며, 한 칸 옆에 있는 숫자를 걸기 위해선 1초씩 더 걸린다. 상근이의 할머니는 전화 번호를 각 숫자에 해당하는 문자로 외운다. 즉, 어떤 단어를 걸 때, 각 알파벳에 해당하는 숫자를 걸면 된다. 예를 들어, UNUCIC는 868242와 같다. 할머니가 외운 단어가 주어졌을 때, 이 전화를 걸기 위해서 필요..
🌳 에러 코드 Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Wed Mar 22 12:39:48 KST 2023 There was an unexpected error (type=Internal Server Error, status=500). nested exception is org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 21 org.mybatis.spring.MyBatisS..