본문 바로가기

반응형

전체 글

(66)
[Algorithm/Concept] Dynamic Programming 공부 자료 바킹독 블로그 [실전 알고리즘] 0x10강 - 다이나믹 프로그래밍 다이나믹 프로그래밍(Dynamic Programming, DP) 여러 개의 하위 문제를 푼 후, 그 결과를 쌓아올려 주어진 문제를 해결하는 알고리즘 문제를 해결하기 위한 점화식을 찾아낸 후, 점화식의 항을 밑에서부터 차례로 구해나가서 답을 알아내는 형태의 알고리즘 가장 유명한 예: 피보나치 수열 DP를 푸는 과정 테이블 정의하기 점화식 찾기 초기값 정하기 BOJ 1463번: 1로 만들기 import java.util.Scanner; public class Main { static int d[]; public static void main(String[] args) throws Exception { Scanner sc = new ..
[JAVA] 정적 변수와 정적 메서드 Java에는 static 키워드를 통해 정적 변수와 메서드를 선언합니다. public class Printer { private static final Printer INSTANCE = new Printer(); // 정적 변수 private Printer() { ... } public static Printer getInstance() { return INSTANCE; } // 정적 메서드 public void print() { ... } } 정적 변수 == 클래스 변수 [Java] 변수 종류에서 다루었던 클래스 변수 내용과 같습니다. 정적 메서드 인스턴스 생성 없이 클래스로 호출이 가능합니다. 여러 인스턴스들의 데이터와 관계없이 동일한 로직을 사용해야 할 때 정의를 해줍니다. 주의사항 정적 메서드에서..
[JAVA] 변수 종류 Java에는 3 종류의 변수가 존재합니다. 클래스 변수: 멤버 변수 중 static 키워드가 사용된 변수 인스턴스 변수: 멤버 변수 중 static 키워드가 사용되지 않은 변수 지역 변수: 멤버 변수를 제외한 모든 변수 public class Student{ String name; // 인스턴스 변수 static School school; // 클래스 변수 void goSchool(){ int velocity; // 지역 변수 ... } } 변수의 종류에 따라 생성되는 시기가 다릅니다.
[Effective JAVA] 1장. 들어가기 기본 원칙 이 책의 규칙 대부분은 아주 핵심적인 기본 원칙 몇 개에서 파생된다. 바로 명료성(clarity)과 단순성(simplicity)이다. 컴포넌트는 사용자를 놀라게 해서는 안된다. 코드는 복사가 아니라 재사용되어야 한다. 컴포넌트 사이의 의존성은 최소로 유지해야 한다. 오류는 만들어지자마자 가능한 한 빨리 (되도록 컴파일타임에) 잡아야 한다. 용어 컴포넌트: 개별 메서드부터 여러 패키지로 이루어진 복잡한 프레임워크까지 재사용 가능한 모든 소프트웨어 요소 공개 API, API: 프로그래머가 클래스, 인터페이스, 패키지를 통해 접근할 수 있는 모든 클래스, 인터페이스, 생성자, 멤버, 직렬화된 형태를 말한다. 대략적으로 얘기하면, 패키지의 공개 API는 그 패키지의 모든 public 클래스와 인터페이..
[AWS] RDS MySQL WorkBench 연결 시 unable to connect to localhost 에러 발생 문제 AWS에서 RDS로 DB를 생성한 뒤, 로컬 환경의 workbench로 연결하고자 했습니다. 그러나 아래와 같이 db에 연결을 실패했습니다. 연결 시도 방법은 u-nij님의 포스트를 참고해서 진행했습니다. RDS 인스턴스의 퍼블릭 액세스는 허용으로 되어있었고, 오타 문제도 아니었습니다. 그래서 구글링을 한 결과, hyeonae님의 포스트에서 정답을 얻었습니다. 원인 연결이 되지 않았던 원인은 서브넷이 private으로 설정되어 있었기 때문입니다. 해결 방법 해결 방법은 간단합니다. 우선, RDS 인스턴스 정보에서 사용하고 있는 서브넷의 정보를 확인합니다. 그 후에 VPC -> 라우팅 테이블 -> 이전에 확인한 서브넷을 가지고 있는 라우팅 테이블 클릭 -> 라우팅 편집 -> 대상을 0.0.0.0/0 ..
[AWS] VPC 이해하기 다루는 내용 AWS를 사용하기 위해 필수적으로 이해가 필요한 Virtual Private Cloud (VPC)와 관련된 개념들을 다루었습니다. VPC, Amazon VPC Subnet, Amazon VPC의 Subnet Routing Table Internet Gateway Regions Availability Zones CIDR 들어가기에 앞서 아래의 다이어그램은 VPC의 예시입니다. VPC에는 리전의 각 가용성 영역에 하나의 서브넷이 있고, 각 서브넷에 EC2 인스턴스가 있고, VPC의 리소스와 인터넷 간의 통신을 허용하는 인터넷 게이트웨이가 있습니다. 이 다이어그램에 나온 개념들에 대해 하나씩 정리해 보도록 하겠습니다. VPC (Virtual Private Cloud) VPC 정의 가상 개인 클라우..
[Spring Security] Spring-Security 이해 - 1 Spring Security는 방대하다. Security에 대한 이해가 있어야 견고한 서버를 구축할 수 있다. 시큐리티를 이해하는 프로젝트를 진행해보자. 프로젝트 세부정보 Base Project Spring Security in Action chapter 6의 프로젝트 Version JDK: Oracle 17 Spring ver: 3.1 Database mysql dependency 설정 spring-web jpa jdbc security lombok mysql driver thymeleaf mysql 연동 mysql 연동을 위한 application.properties https://github.com/dbwp031/spring-security-study/commit/900e65af5c4994ea63f..
[Spring] Servlet관련 기본 개념 들어가면서 Spring 공부를 처음 시작하면 servlet의 개념에 대해서 매우 간단하게 배운 후 넘어가게 됩니다. 그러나 계속 공부하다보면 모든 요청, 응답이 servlet으로 동작하는 것을 알게 되고 이에 대한 자세한 이해가 요구됩니다. 이번 포스트에서는 servlet과 관련된 개념들에 대해 이해하고자 합니다. 개념 Servlet Servlet의 docs를 보도록 합시다. 간단하게 요약하면 servlet은 web server에서 웹 클라이언트의 요청을 받고 처리(응답)하는 작은 자바 프로그램입니다. 이때 대부분 HTTP를 사용합니다. 그렇기 때문에 interface인 servlet의 구현체로 HttpServlet이 있는 것이죠. servlet의 인터페이스는 life-cycle methods가 정의되어..

반응형