전체 글

IT에 관심있는 사람들을 위한 블로그
Spring/Book - 스프링 입문을 위한 자바 객체 지향의 원리와 이해

04. 자바가 확장한 객체 지향 (2)

🌱 오늘의 주제 : 04. 자바가 확장한 객체 지향 (2) 🌱 instanceof 연산자 instanceof 연산자는 만들어진 객체가 특정 클래스의 인스턴스인지 물어보는 연산자이다. 상속 관계뿐만 아니라 인터페이스의 구현 관계에서도 동일하게 적용된다. 객체_참조_변수 instanceof 클래스명 🌱 interface 키워드와 impelemnts 키워드 인터페이스는 public 추상 메서드와 public 정적 상수만 가질 수 있다. 메서드에 public과 abstract, 속성에 public과 static, final을 붙이지 않아도 자동으로 자바가 붙여준다. interface Speakable { (public static final )double PI = 3.1415; (public static) fi..

코딩 에러 및 질문

코딩 질문 - 마크다운 문법

🌱 오늘의 주제 : 마크다운 문법 🌱 GitHub 블로그를 시작하려고하니 마크다운으로 글을 써야해서 마크다운에 대해서 알아보려고 합니다. Markdown 일반 텍스트 문서의 양식을 편집하는 문법으로 텍스트에 태그를 이용하여 글자에 속성을 주거나, 이미지를 삽입하고 조작하는 일이 가능합니다. Markdown 장점 문법이 간단해 읽고 쓰는게 쉽다. 1번의 이유로 글을 빠르게 작성할 수 있다. 간단한 문법만으로도 글을 짜임새있게 작성할 수 있고, 마크다운으로 작성한 글은 그냥 읽어도 이해가 가능하고 HTML로 변환해도 문제가 없습니다. 키보드만으로 모든 글 작성이 가능하므로 빠르게 작성할 수 있다는 것도 큰 장점입니다. 문단 제목 문단 제목을 작성하려면 다음과 같은 방법을 사용하면 됩니다. 큰제목 ======..

코딩 에러 및 질문

에러 - ### Cause: java.sql.SQLException: Column count doesn't match value count at row 1

🌳 에러 코드 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..

코딩 에러 및 질문

에러 - org.apache.ibatis.binding.BindingException

🌳 에러 코드 2023-03-24 11:44:03,654 ERROR [org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[dispatcherServlet]] Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.example.lesson04.dao.UserMapper.insertUserAsField] ..

코딩 에러 및 질문

에러 - expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

🌳 에러 코드 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..

Java

Java - BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

🌱 오늘의 주제 : 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객체..

Java

Java - 쓰레드의 동기화 & wait()과 notify()

🌱 오늘의 주제 : 쓰레드의 동기화 & wait()과 notify() 🌱 쓰레드의 동기화 (synchronization) 멀티쓰레드 프로스세의 경우, 쓰레드 A가 작업하던 도중에 다른 쓰레드 B가 임의로 변경하였다면, 다시 쓰레드 A가 제어권을 받아서 나머지 작업을 마쳤을 때 원래 의도했던 것과는 다른 결과를 얻을 수 있다. 이러한 일을 방지하기 위해서 한 쓰레드가 특정 작업을 끝마치기 전까지 다른 쓰레드에 의해 방해받지 않도록 하는 것이 필요한데, 이 개념이 바로 '임계 영역'과 '잠금'이다. 한 쓰레드가 진행중인 작업을 다른 쓰레드가 간섭하지 못하게 막는 것을 쓰레드의 동기화라고 한다. 1. 메서드 전체를 임계 영역으로 지정 public synchronized void calcSum() { .. } ..

Java

Java - 쓰레드의 상태

🌱 오늘의 주제 : 쓰레드의 상태 🌱 쓰레드의 상태 🌱 쓰레드의 실행제어 🌱 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..

Algorithm

Algorithm - 다이얼 (Java)

🌴 문제 문제 상근이의 할머니는 아래 그림과 같이 오래된 다이얼 전화기를 사용한다. 전화를 걸고 싶은 번호가 있다면, 숫자를 하나를 누른 다음에 금속 핀이 있는 곳 까지 시계방향으로 돌려야 한다. 숫자를 하나 누르면 다이얼이 처음 위치로 돌아가고, 다음 숫자를 누르려면 다이얼을 처음 위치에서 다시 돌려야 한다. 숫자 1을 걸려면 총 2초가 필요하다. 1보다 큰 수를 거는데 걸리는 시간은 이보다 더 걸리며, 한 칸 옆에 있는 숫자를 걸기 위해선 1초씩 더 걸린다. 상근이의 할머니는 전화 번호를 각 숫자에 해당하는 문자로 외운다. 즉, 어떤 단어를 걸 때, 각 알파벳에 해당하는 숫자를 걸면 된다. 예를 들어, UNUCIC는 868242와 같다. 할머니가 외운 단어가 주어졌을 때, 이 전화를 걸기 위해서 필요..

코딩 에러 및 질문

에러 - nested exception is org.apache.ibatis.exceptions.TooManyResultsException

🌳 에러 코드 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..

요가하는 개발자
요가하는 개발자