스프링 프레임워크(Spring Framework) - 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크 장점 - 경량 컨테이너, IoC(Invertion of Control 제어역행) DI(Dependency Injection 의존성 주입), AOP(Aspect-Oriented Programming 관점 지향 프로그래밍) 스프링 부트(Spring Boot) - 스프링 프레임워크 기반의 애플리케이션 ( 경량화, 더 잘 사용할 수 있는 스프링 ) 장점 - Dependency의 관리가 쉽다. Embedded server - Tomcat이 내장되어 서버 구동 시간이 짧다. 내장 서블릿 컨테이너로 Jar 파일로 간단 배포가 가능 라이브러리 Gradle은 의존 관계가 있는 라이브러리들을 함께 다운로드해준다. In..
기본 API 클래스 java.lang 패키지 - 자바 프로그램의 깁적인 클래스를 담고 있는 패키지, import 하지 않아도 사용 가능 Object 클래스 - 모든 클래스의 최고 조상 equals(Object obj), 객체의 주소를 비교, 대게 overrding 하여 인스턴스 변수의 값을 비교한다. hashCode(), 객체의 해시코드를 반환하는 메서드, 다량의 데이터 저장 및 검색 시 사용, 객체의 내부 주소 반환 toString(), 객체의 문자 정보를 리턴, 클래스이름@16진수해시코드 정보 리턴 String 클래스 - 문자형 배열과 그에 관련된 메서드들이 저의되어 있음 String인스턴스의 내용은 바꿀 수 없다, 새로운 Stirng인스턴스가 생기는 것 StringBuffer 클래스 - String..
스프링을 제대로 학습하기 전 자바의 기초 지식을 잡기 위해 복습했던 기록입니다. 상속(Inheritance) 기존의 클래스를 재사용하여 중복되는 코드를 줄일 수 있다. -> class 자식클래스 extends 부모클래스 {} 다중 상속이 불가능하고, 접근 제한자의 종류에 따라 상속이 불가능 한 경우가 있다. super()를 통해 부모의 생성자를 호출할 수 있다. Overriding - 메소드 재정의, 부모 클래스의 메소드를 자식 클래스에서 재저의 한다. - 동일한 시그니처를 가져야 하고, 접근 제한자를 더 강하게 재정의 불가, 새로운 예외처리 불가 final 클래스는 부모 클래스가 될 수 없다. final 메소드는 overriding이 불가능하다. 다형성 - 어떤 객체의 속성이나 기능이 상황에 따라 여러..
스프링을 제대로 학습하기 전 자바의 기초 지식을 잡기 위해 복습했던 기록입니다. 참조 변수 기본타입 - 정수, 실수, 논리 -> 실제 값을 변수에 저장 참조 타입 - 배열, 열거, 클래스, 인터페이스 -> 메모리 번지를 변수 안에 저장 메모리 영역 1. 메소드 영역 - JVM이 시작될 때 생성, 모든 스레드가 공유 / 클래스들을 클래스 로더로 읽어 클래스 별로 분류해서 저장 2. 힙 영역 - 객체와 배열이 생성, JVM 스택 영역의 변수나 다른 객체의 필드에서 참조, - 참조하는 변수나 필드가 없다면 JVM이 GC를 실행시켜 자동으로 제거 3. JVM 스택 영역 - 메소드를 호출할 때마다 프레임을 push하고 종료되면 프레임을 pop - 프레임 내부에 로컬 변수 스택 존재 -> 참조변수의 == 가 안되는..
URI(Uniform Resource Identifier) URI를 URN과 URL로 분류할 수 있다. Resource가 locator인지 name인지에 따라 분류 URN(Uniform Resource Name) Resource에 이름을 부여, 이름은 변하지 않음 URN 이름 만으로 실제 리소스를 찾을 수 있는 방법이 보편화 되지 않음 -> URL을 주로 사용 URL(Uniform Resource Locator) Resource가 있는 위치를 지정, 위치는 변할 수 있음 문법 => scheme://[userinfo@]host[:post][/path][?query][#fragment] https://www.google.com:443/search?q=hello&hl=ko scheme - 프로토콜 사용(htt..
인터넷 네트워크 인터넷 통신 클라이언트와 서버가 인터넷(수많은 노드)을 통해 정보를 전달한다. IP(Internet Protocol) 인터넷 프로토콜 지정한 IP주소로 데이터 전달, 이때 패킷(Packet)이라는 통신 단위로 전달된다. 패킷 - 출발지 IP, 목적지 IP, 기타 ... 한계 - 비연결성( 패킷을 받는 대상이 서비스 불능 상태여도 전송한다.) 비신뢰성( 원하는 순서대로 패킷이 전달 안될수도 있음, 패킷이 소실될 수 있음) 이를 극복하기 위해 TCP를 사용한다. TCP(Transmission Control Protocol) 전송 제어 프로토콜 IP의 단점을 해결하기 위한 것 TCPIP 패킷 - 출발지 PORT, 목적지 PORT, 전송 제어, 순서, 검증 정보 + IP 패킷 구성요소 ... 특..
문제 설명 머쓱이는 태어난 지 11개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음과 네 가지 발음을 조합해서 만들 수 있는 발음밖에 하지 못하고 연속해서 같은 발음을 하는 것을 어려워합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ babbling의 길이 ≤ 100 1 ≤ babbling[i]의 길이 ≤ 30 문자열은 알파벳 소문자로만 이루어져 있습니다. 입출력 예 babbling result ["aya", "yee", "u", "maa"] 1 ["ayaye", "uuu", "yeye", "yemawoo", "ayaay..
문제 설명 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 ["aya", "ye", "woo", "ma"] 네 가지 발음을 최대 한 번씩 사용해 조합한 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ babbling의 길이 ≤ 100 1 ≤ babbling[i]의 길이 ≤ 15 babbling의 원소는 "aya", "ye", "woo", "ma" 를 각각 최대 한 번씩만 포함합니다. 문자열은 알파벳 소문자로만 이루어져 있습니다. 입출력 예 babbling result ["aya", "yee", "u", "maa", "wyeoo"] 1 ["..