전체 글

가치있는 글 쓰기!
· 📗Java
this 와 마찬가지로 super 도 생성자와 참조변수 둘 다 존재합니다. super 의 두 가지 용도를 알아보도록 합니다. 1. 생성자 super() 2. 참조변수 super 1. 생성자 super() 조상의 인스턴스 멤버들을 초기화하기 위해 사용됩니다. public static void main(String[] args) throws IOException { Child child = new Child(1, 2); } static class Parent { int parentIv; public Parent(int parentIv) { this.parentIv = parentIv; } } static class Child extends Parent{ int childIv; public Child(int ..
· 📗Java
Java 에서의 this 는 생성자 this() 와 참조변수 this 두 가지가 존재합니다. 각각은 완전히 다른 this 이고 이에 대해 알아보도록 합니다. 1. 생성자 this() Car 클래스를 정의하고 인스턴스 변수 초기화를 위해 생성자 두 개를 오버로딩 하였습니다. class Car { String color; String gearType; int door; Car() { color = "white"; gearType = "auto"; door = 4; } Car(String c, String g, int d) { color = c; gearType = g; door = d; } } 첫 번째 생성자는 매개변수가 없을 때 기본값을 세팅해주고 두 번째 생성자는 매개변수로 인스턴스 변수 초기화를 합니다..
· 📗Java
메모리는 크게 코드, 데이터, 스택, 힙으로 구별된다. 어떠한 변수인지에 따라 메모리 내에서 저장되는 위치가 다른데 먼저 변수의 종류부터 알아보도록 하자 선언 위치에 따른 변수의 종류 변수의 종류 선언 위치 생성 시기 클래스 변수 클래스 영역 클래스가 메모리에 올라갈 때 인스턴스 변수 인스턴스가 생성되었을 때 지역 변수, 매개 변수 클래스 영역 이외의 영역 (메서드, 생성자, 초기화 블럭 내부) 변수 선언문이 수행되었을 때 class Circle { static int pi = 3.14; // 클래스 변수 int radius; // 인스턴스 변수 void method1() { int localVariable; // 지역 변수 System.out.println("World!"); } void method2..
· ☘️Spring
의존관계 주입은 크게 자동과 수동으로 나뉩니다. 수동 주입의 경우 @Configuration-@Bean를 사용하고 자동 주입은 @Component-@Autowired 를 사용합니다. 각각에 대해 살펴보도록 하겠습니다. @Configuration-@Bean 의존관계 수동 주입 @Configuration public class AppConfig { @Bean public MemberService memberService() { return new MemberServiceImpl(memberRepository()); } @Bean public OrderService orderService() { return new OrderServiceImpl(memberRepository(), discountPolicy()..
반효경 교수님 운영체제 강의와 찾아본 내용을 정리한 글입니다. 디스크 구조 하나의 디스크 내에 원판의 수는 하나일 수도 있고 여러 개일 수도 있다. 각각의 원판은 트랙으로 구성되고 각 트랙은 섹터로 나뉘며, 섹터에 최사한의 단위 정보가 저장된다. 논리 블록 : 디스크의 저장공간 단위이다. 데이터가 저장될 때, 디스크 외부로 입출력이 일어날 때 모두 논리 블록 단위로 실행된다. 섹터 : 논리 블록이 저장되는 디스크 내의 물리적인 위치. 논리 블록 하나가 섹터 하나와 1대1 매핑이 된다. 실린더 : 여러 개의 원판에서 상대적 위치가 동일한 트랙들의 집합 디스크 스케줄링 하나의 섹터에 접근하는데 탐색시간, 회전지연시간, 전송시간으로 나뉜다. 탐색시간 : 디스크 헤드를 해당 실린더 위치로 이동시키는데 걸리는 시..
반효경 교수님의 운영체제 강의와 개인적으로 찾아본 내용을 정리한 글입니다. 파일 시스템 (File System) 파일에 대한 관리는 비휘발성 보조기억장치에 접근해야되기 때문에 운영체제에서 관리하는데 이를 파일 시스템이라고 한다. 파일은 파일 자체에 대한 정보인 메타 데이터 (meta data) 와 데이터를 가진다. 메타데이터는 파일 이름, 유형, 저장된 위치, 파일 사이즈, 접근권한, 시간, 소유자 등이 해당된다. 파일시스템에서 파일, 메타데이터, 디렉토리 정보 모두 관리한다. 물리 디스크 물리 디스크는 여러 개의 논리적인 파티션을 둔다. 각각의 파티션에는 file system를 깔 수도 있고 swapping 영역으로도 활용 가능하다. 프로세스 A가 fd = open("a/b") 를 할 때 일어나는 일 ..
문제 2629번: 양팔저울 첫째 줄에는 추의 개수가 자연수로 주어진다. 추의 개수는 30 이하이다. 둘째 줄에는 추의 무게들이 자연수로 가벼운 것부터 차례로 주어진다. 같은 무게의 추가 여러 개 있을 수도 있다. 추의 무 www.acmicpc.net dp 의 냄새는 나지만 어떻게 풀어야될지 몰라서 틀린 문제입니다. dp 는 익숙해지는게 어려운 주제인거 같지만 그래도 공부하면 할수록 보이는거 같습니다. 이 문제의 핵심은 knapsack 0-1 입니다. 해당 개념을 모르신다면 백준 12865를 꼭 풀어보시고 풀이를 확인해보시길 바랍니다. 2023.07.04 - [Algorithm🧩] - 백준 12865 평범한 배낭 (0-1 knapsack) 💡풀이 knapsack 1-0 를 떠올려야하는 이유는 구슬을 쓸 수..
· ☘️Spring
김영한 강사님의 스프링 기본편 강의와 따로 찾아본 내용을 정리한 글입니다. 스프링 컨테이너는 싱글톤 컨테이너라고도 부릅니다. 여기서 말하는 싱글톤이란 컨테이너 내의 Bean을 모두 싱글톤, 즉 하나의 객체로 관리함을 의미합니다. 이번 시간에는 왜 싱글톤으로 관리되어야 하는지와 그 구현 방법에 대해 알아보도록 하겠습니다. 왜 싱글톤으로 관리되어야할까? 싱글톤이 아닌 상황을 가정해보겠습니다. 하나의 서버에 같은 서비스를 100명의 고객이 동시에 호출한다면 서비스(여기에서는 Bean)도 100개가 생성되어야 합니다. 이러한 상황은 각 유저마다 서비스 객체가 생성되어 메모리 사용에 비효율적이므로 권장되지 않습니다. 따라서 대부분의 서비스는 싱글톤 컨테이너로 관리합니다. 스프링이 적용되지 않은 서비스를 테스트 코..
참고 중요한건 왜 dp인지 이해하는 것 dp[w][k] : 가방의 최대 무게가 w이고 k 번째 보석을 담을 때 갖을 수 있는 가치 최댓값 _(그림 오타 dp[3][k+1] -> dp[3][k]) 예를 들어, 최대 무게가 6kg 이고 k번째 보석을 담은 상태라고 하자. 다음 보석을 담을 때의 점화식을 세워보자. (dp[6][k+1]) 그렇다면 k+1 번째 보석을 담을 수 있다면 담는다 or 안담는다 로 나눌 수 있다. 이때 안 담는다면 최대 무게가 6kg 이고 k 번째 보석을 담는 상태와 같다. 따라서 dp[6][k+1] = dp[6][k] 반대로 담는다면 dynamic programming 의 본질에 맞게 subproblem으로 쪼갤 수 있다. k+1 번째 보석이 3kg 이다. 그렇다면 우리는 가방 최대..
· ☘️Spring
김영한 이사 스프링 핵심 원리 - 기본편 강의와 따로 찾아본 내용을 정리한 글 입니다. 스프링 컨테이너 public class AppConfig { public MemberService memberService() { return new MemberServiceImpl(memberRepository()); } public OrderService orderService() { return new OrderServiceImpl( memberRepository(), discountPolicy()); } public MemberRepository memberRepository() { return new MemoryMemberRepository(); } public DiscountPolicy discountPol..
kkyu0718
개발 로그 스토리지