기술 면접을 준비하면서 면접공부도 되고 자격증도 따면 좋을 것 같아서 정보처리기사 자격증을 준비하게 되었습니다. 수제비 2023 정보처리기사 필기 책을 구입하여 준비하게 되어서 책 기준으로 플래너를 만들어보았습니다. 책 구입하실 분들은 yes24에서 주말에만 주는 쿠폰과 이벤트 페이지의 쿠폰 받아서 최대한 할인받아서 구입하시는 방법을 추천드립니다. (내돈내산, yes24 홍보 아닙니다) https://www.yes24.com/Product/Goods/115456412 2023 수제비 정보처리기사 필기 1권+2권 합본세트 - YES24 수험생 입장에서 정보처리기사 합격을 위한 다양한 솔루션 제공! 2022년 기출문제 수록 및 CBT 문제 + 암기 비법서 PDF + 별도 족보 + 데일리 문제 제공2023년 ..
* Java 8 기준 [백준/Java] 소금 폭탄 13223 문제 13223번: 소금 폭탄 13223번: 소금 폭탄 첫째 줄에는 현재 시각이 hh:mm:ss로 주어진다. 시간의 경우 0≤h≤23 이며, 분과 초는 각각 0≤m≤59, 0≤s≤59 이다. 두 번째 줄에는 소금 투하의 시간이 hh:mm:ss로 주어진다. www.acmicpc.net 문제: HH:MM:SS 포맷의 두 시각의 차이를 HH:MM:SS 포맷으로 출력하기 풀이 ':' 문자를 기준으로 시간, 분, 초를 쪼갠다. 두 시간, 분, 초의 차이를 계산한다. 구해진 시간을 HH:MM:SS 형태로 출력한다. 각 값이 한 자릿수인 경우 앞에 ‘0’을 붙여 출력해야 한다. 주의사항 : 로봇팔이 소금을 투하할때까지 필요한 시간을 hh:mm:ss로 출력한..
* Java 8 기준 [백준/Java] 문서 검색 1543 1543번: 문서 검색 1543번: 문서 검색 세준이는 영어로만 이루어진 어떤 문서를 검색하는 함수를 만들려고 한다. 이 함수는 어떤 단어가 총 몇 번 등장하는지 세려고 한다. 그러나, 세준이의 함수는 중복되어 세는 것은 빼고 세야 한 www.acmicpc.net 문제: 주어진 단어가 문서에 등장하는 횟수 풀이 문서의 첫 글자부터 순회한다. 문서의 지금 글자부터 주어진 단어와 한글자씩 비교한다. 단어와 완전히 일치하면 개수를 올린다. 해당 단어가 등장한 이후부터 2를 반복한다. 단어와 매치되지 않았다면 다음 글자에서 2를 반복한다. 코드 import java.util.Scanner; class Main { public static void mai..
JDBC(Java Database Connectivity) 자바 애플리케이션에서 DB 프로그래밍을 할 수 있도록 도와주는 표준 인터페이스 표준 인터페이스이기 때문에 DBMS 종류에 상관이 없다. JDBC 인터페이스들을 구현한 구현체들은 각 데이터베이스 벤더사들이 제공 자바 코드에서는 보통 JDBC 인터페이스에만 의존하기 때문에 DB를 변경하더라도 코드를 변경할 필요가 없다. DBCP(Database Connection Pool) 미리 일정량의 DB 커넥션을 생성해서 Pool에 저장해 두고 있다가 HTTP 요청에 따라 필요할 때 Pool에서 커넥션을 가져다 사용하는 기법 참고로 스프링 부프 2.0 부터는 디폴트 커넥션 풀로 HikariCP 사용 라이브러리 종류로는 HikariCP, Apache Common..
Servlet 인터페이스 호출규약 서블릿 컨테이너(톰캣)가 서블릿 인터페이스에 있는 메소드들을 호출함 서블릿 생명주기(life cycle)와 관련된 메소드 init() : 서블릿 컨테이너가 서블릿 생성 후 초기화 작업을 위해 호출 service() : 클라이언트 요청이 들어올 때마다 서블릿 컨테이너가 호출 destroy() : 서블릿 컨테이너가 종료될 때 호출 서블릿 기타 메소드 getServletConfig() : 서블릿 초기 설정 정보를 담고 있는 객체를 반환하는 메소드, 해당 객체를 통해 서블릿 이름과 서블릿 초기 매개 변수 값 등을 얻을 수 있다. getServletInfo() : 서블릿을 작성한 사람, 서블릿 버전, 저작권과 같은 서블릿 정보를 반환하는 메소드 Spring을 이용해서 개발 진행 ..
java.lang 패키지 자바프로그래밍에 가장 기본이 되는 클래스들을 포함 import문 없이 사용 가능 ex) String클래스, System클래스 Object 클래스 모든 클래스의 최고 조상 → Object클래스의 멤버들은 모든 클래스에서 바로 사용 가능 toString() 의 특징 인스턴스에 대한 정보를 문자열(String)로 제공 오버라이딩 하지 않고 호출할 경우, 클래스이름@16진수해시코드값이 출력된다. public String toString() { return getClass().getName()+"@"+Integer.toHexString(hashCode()); } Card@6a5fc7f7 toString()을 오버라이딩 할 때는, 접근제어자를 public으로 설정하자 Object 클래스에 ..
HTTP 서버와 클라이언트가 웹에서 데이터를 주고받기 위한 프로토콜(규약) HTTP/1.1, HTTP/2는 TCP 기반 위에서 동작한다. TCP는 3-way handshake 로 연결을 맺는다. HTTP/3는 UDP 기반 위에서 동작한다. HTTP의 특징 클라이언트-서버 모델 클라이언트가 서버에 요청을 보내면 서버는 클라이언트에게 응답을 보낸다. 무상태 프로토콜(Stateless) 서버가 클라이언트 상태를 유지하지 않음 클라이언트가 서버에 요청을 보내면, 서버는 클라이언트에게 응답을 주고, 바로 close 상태가 된다.(연결을 끊는다.) 서버가 클라이언트에게 다음 요청을 보내게 되면, 다시 연결을 맺고, 응답을 받아야 하는 구조 TCP 기반의 연결구조라면, 클라이언트가 서버에 요청을 보낼 때마다 3-wa..
자바 공부를 하면서 스프링 실습을 진행중인데 마침 오늘 실습했던 음식 주문 과정 구현하는 부분에서 객체의 같고 다름을 판단하는 부분이 나와서 연계해서 작성해 보았습니다. 해당 프로젝트는 다음과 같은 요구사항이 있습니다. 음식 주문 project의 설계 및 요구사항 도메인을 구성하는 객체에는 어떤 것들이 있는지 고민 손님, 메뉴판, 메뉴, 요리사, 요리 객체들 간의 관계를 고민 손님 -- 메뉴판 손님 -- 요리사 요리사 -- 요리 동적인 객체를 정적인 타입으로 추상화해서 도메인 모델링 하기 손님 -- 손님 타입 요리 -- 요리 타입 메뉴판 -- 메뉴판 타입 메뉴 -- 메뉴 타입 협력을 설계 객체들을 포괄하는 타입에 적절한 책임을 할당 구현하기 MenuTest 메뉴판에서 메뉴이름에 해당하는 메뉴를 반환한다...