
@ExceptionHandler 어노테이션은 예외처리함수임을 명시한다 괄호안에는 어떤 타입의 예외가 발생했을 경우 처리하는 함수인지 명시한다. 이벤트 함수처럼, 특정 타입의 예외가 발생하면 해당 함수를 호출하여 실행한다. parseInt는 NumberFormatException을 throw하는 함수이다. 그래서 정수로변환할 수 없는 문자열을 받을 경우 예외가 터진다. 각각의 코드에서 예외가 발생할 수 있는 코드들이 분산되어있을 경우 일일이 예외처리를 해준다면 코드의 가독성이 떨어지고 비슷한 코드들이 반복된다. SpringMVC에서는 똑같은 예외가 발생할 수 있는 코드들을 한데에 모아서 처리하게 된다. 각각의 코드에 try-catch를 해주는 대신에 Controller에다가 어노테이션 처리를 해준다. 서비..

이클립스 jee 파일 압축을 풀어서 C드라이브에 폴더 생성후 이클립스 jee zip 압축을 풀어서 저장 폴더에 workspacespring 의 새로운 폴더생성후 eclipse 실행 후 workspace의 경로를 방금만든 workspacespring경로로 지정 아무것도 건드리지않고 help > Eclipse MarketPlace 선택 Find: sts 엔터 install 클릭 전부 체크돼있는 상태확인 후 Confirm i accept ... (동의) 클릭 > finish 하단의 소프트웨어 설치 로딩을 기다리면된다. 설치가 다되면 설치완료창이 뜨는데 restart now 버튼 클릭 > 이클립스 재시작 설치완료 테스트 create a project 클릭 spring 폴더에 spring Legacy Projec..

프로세스는 프로그램을 수행하는데 필요한 데이터와 메모리 등의 자원과 쓰레드로 구성되어 있다. ⭐ 모든 프로세스는 최소한 하나이상의 쓰레드가 존재하며 둘 이상의 쓰레드를 멀티쓰레드라고한다. 공장 : 프로세스 쓰레드 : 일꾼 멀티쓰레드 : 자원 + 쓰레드 + 쓰레드 + 쓰레드 📌멀티쓰레딩의 장점 CPU 효율을 높일 수 있다. 사용자에 대한 응답이 향상된다. 작업이 분리되서 코드가 간결해지고 유지보수가 편해진다. ex) 메신저로 채팅하면서 파일을 주고받을 수 있는 이유는 프로세스가 멀티쓰레드로 작성되어 있기 때문이다. 만약 메신저가 싱글쓰레드로 되어있다면 사용자가 요청을 할때마다 새로운 프로세스를 생성해야 하는데 이는 많은 수의 사용자의 요청을 서비스하기 어렵다. 하지만 멀티쓰레드는 동기화(synchroniz..

https://school.programmers.co.kr/learn/courses/30/lessons/120903 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 배열 s1와 s2의 요소를 비교하면서 같은 요소가 있으면 answer를 증가시켜서 반환하는 단순한 문제다. 📌 내 코드 첫 시도 : 반복문을 한번만써서 s1배열의 크기를 s2로 늘려주고 비교하려고했다. s1 = new String [s2.length] 로 늘려주고 비교해야한다면 배열 s1의 값이 전부 null이 될것이다. 그것을 고려하지않고 비교해주니 NulllPointer 예외가 떳고 조건문에..

https://product.kyobobook.co.kr/detail/S000001550352 Java의 정석 | 남궁성 - 교보문고 Java의 정석 | 자바의 기초부터 실전활용까지 모두 담다!자바의 기초부터 객제지향개념을 넘어 실전활용까지 수록한『Java의 정석』. 저자의 오랜 실무경험과 강의한 내용으로 구성되어 자바를 product.kyobobook.co.kr 자바의정석으로 이론을 정리하고 예제문제로 복습하기 collection Framework: 데이터 군(群)을 저장하는 클래스들을 표준화한 설계 컬렉션 : 다수의 데이터. 즉, 데이터 그룹 프레임워크 : 표준화된 프로그래밍 방식 컬렉션 프레임 웤은 컬렉션, 다수의 데이터를 다루는데 필요하고 다양하고 풍부한 클래스를 제공하고 있기 때문에, 프로그래머..

없어진 기록 찾기 https://school.programmers.co.kr/learn/courses/30/lessons/59042#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr -- 코드를 입력하세요 SELECT -- 보호소에 들어온 기록이 없는 동물의 ID와 이름을 ID 순으로 조회 a.animal_id, a.name from animal_outs a -- 안쪽 데이터를 구할것이다. left join animal_ins b -- animal_id가 외래키 on a.animal_id = b.animal_id -- 들어온 기록은 없다. where ..

DTO Data Transfer Object : 데이터를 이동시키기 위한 클래스, 단일 데이터의 형식을 정리한다. 테이블의 정보를 출력해서 DTO 클래스로 붙여넣기 한다. DTO 클래스에서 DB테이블의 객체를 멤버변수로 선언하고 getter/setter 까지 생성 DAO Data Access Object : DB의 데이터에 접근하기 위한 객체 SQL과 java와 연결하는 코드 dataBase url, 아이디, 패스워드 연결 connection statement resultset package phonebook; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLExce..

2023.06.29 - [취업반 기록] - 가상머신 사용방법 (vmware) , sql과 dataBase의 정의, 익히기 가상머신 사용방법 (vmware) , sql과 dataBase의 정의, 익히기 가상머신 종료 가상머신저장 take Snapshot 클릭 렌치 : 스냅샷의 기록을 볼 수 있음 스냅샷찍어놓고 다시부팅 부팅 root 계정으로 로그인 ifconfig 윈도우 pc랑 리눅스랑 통신이 가능한 상태 = ping 만약 ji7290.tistory.com 이전 글에서는 가상머신의 사용방법과 oracle sql database에 대해서 간략하게 다뤄보았다. 가상머신에 접속한다 lsnrctl status 가상머신을 접속했을때 포트번호와 호스트가 정상적으로 연결됐는지 확인한다. sql delveloper를 켜..

ServerSocket: 특정 포트에서 클라이언트의 연결 요청을 대기하는 서버 소켓을 생성 InputStream : (데이터 송수신) 서버와 클라이언트 간에 데이터를 주기 위해 소켓을 사용 outputStream: 서버로부터 데이터를 받기위해 소켓을 사용 package socket; import java.io.InputStream; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner; public class Ex01 { static String getLocalIpaddr() throws Exception{ Runtime rt = Runtime.getRuntime();//운영 체제에 명령을 전달할 수 있는 객체 Pro..

영어 끝말잇기 코딩테스트 연습 - 영어 끝말잇기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr result의 0번째 인덱스는 제외된 사람의 번호 result의 1번째 인덱스는 끝말잇기 몇회째에 탈락했는지. static int[] solution(int n, String[] words) { int[] answer = { 0, 0 }; HashMap sMap = new HashMap(); sMap.put(words[0], 0); for (int i = 1; i < words.length; ++i) { ..