profile
꾸준히 하자

[이펙티브 자바] 아이템9

자원 회수는 클라이언트가 놓치기 쉬워 예측할 수 없는 성능 문제로 이어지며, 안전망으로 finalizer를 제공하지만 finalizer 사용을 지속적으로 지양하고 있다.try-with-resources를 사용하려면 AutoCloseable 인터페이스를 구현해야 한다.

2022년 5월 16일
·
0개의 댓글

[이펙티브 자바] 아이템 8

자바가 제공하는 두 가지 객체 소멸자인 finalizer와 cleaner는 예측할 수 없고, 수행 시점을 보장할 수 없어 사용을 지양한다.언제 호출될 지 예측할 수 없다.상황에 따라 위험할 수 있다.Java 9에서는 finalizer 메서드를 deprecated API

2022년 5월 15일
·
0개의 댓글

[이펙티브 자바] 아이템 7

GC가 메모리 관리를 자동으로 해준다고 해도 메모리 관리에 신경쓰지 않으면 안된다.대표적으로 스택의 pop 메서드 처리 과정에서 메모리 누수가 발생한다.img스택에서 꺼내진 객체들은 가비지 컬렉션의 대상이 되지 않기 때문에 메모리에 그대로 남아있게 되며, 성능이 저하된

2022년 5월 11일
·
0개의 댓글

[이펙티브 자바] 아이템 6

문자열 s1, s2, s3는 모두 "TEST"라는 문자열을 갖지만 각각 참조하는 주소가 다르기 때문에 메모리 낭비가 발생한다.imagenew 연산자를 통해 문자열 객체를 생성하는 경우 메모리의 Heap 영역에 할당되어 총 3개의 인스턴스가 생긴 것을 알 수 있다.위 코

2022년 5월 11일
·
0개의 댓글

[이펙티브 자바] 아이템 4

정적 멤버만 담은 유틸리티 클래스는 인스턴스를 생성하지 않아도 사용할 수 있다. 하지만, 생성자를 명시하지 않으면 컴파일러가 자동으로 기본 생성자를 만들어주기 때문에 사용자는 이 생성자가 자동으로 생성된 것인지 구분할 수 없다. 추상 클래스로도 인스턴스화를 막을 수 없

2022년 5월 3일
·
0개의 댓글

[이펙티브 자바] 아이템 3

싱글턴이란 오직 하나의 인스턴스를 생성할 수 있는 클래스를 말한다. 한 번 생성된 인스턴스를 공유하기 때문에 메모리 낭비를 방지할 수 있으나, 멀티 스레드 환경에서 동시성 문제가 발생할 수 있다.싱글턴을 만드는 방법private 생성자는 Elvis.INSTANCE를 초

2022년 5월 3일
·
0개의 댓글

Git branch 생성

최근에 커밋 되돌리기하면서 반나절을 보낸 경험이 있어 git 강의를 듣기 시작했다.자주 쓰는 git 명령어 외에 제대로 git을 공부해 본 적이 없어서 매번 구글링으로 해결했었는데 이번 기회에 git을 공부해 보기로 했다.프로젝트를 진행하다보면 기능별로 브랜치를 생성하

2022년 4월 4일
·
0개의 댓글

Scoop 설치

윈도우에서 Maven을 설치하다가 Scoop이라는 것을 알게 되었다. 한 때 리눅스 명령어를 익히겠다고 우분투 설치해서 명령어로 여러 프로그램을 설치했던 경험이 있다. 잠깐이었지만 윈도우에서는 설치 페이지에서 파일 다운받아서 프로그램을 설치했지만, 리눅스에서 짧은 명령

2022년 2월 9일
·
0개의 댓글
post-thumbnail

JAR VS WAR 차이

항상 디폴트로 JAR를 사용했는데 처음으로 WAR를 선택하면서 어떤 차이점이 있는지 궁금했다.언제 JAR를 써야하고 WAR를 써야하는지 깔끔하게 정리한 그림이 있다.그림을 보면 JSP를 사용하는 경우나 외장 WAS를 사용하는 경우, WAR를 사용하고 그 외에는 JAR

2022년 2월 6일
·
0개의 댓글

MockBen으로 테스트 코드 작성하기

스터디 때 MockMvc에 대해서 알게 되었고 바로 적용해보았다.MockMvc를 사용하면 실제 서블릿 컨테이너를 사용하지 않고 가짜 서블릿 컨테이너를 통해 Http Method 응답을 테스트 할 수 있다.처음 테스트 코드를 작성했을 때 @SpringBootTest, @

2022년 1월 23일
·
0개의 댓글

JDBC와 JPA

상황에 따라 적절한 기술을 사용하기 위해서는 기술에 대한 이해뿐만 아니라 동작 원리에 대한 이해가 필요하다고 생각한다. JPA를 공부하면서 JDBC와 어떤 차이점이 있는지 궁금했고 공부한 내용을 정리해보았다.먼저, JDBC와 JPA를 이해하기 위해서는 영속성(Persi

2022년 1월 16일
·
0개의 댓글
post-thumbnail

백준 10162 전자레인지

https://www.acmicpc.net/problem/10162문제 풀기 전 데이터 유형과 길이를 확인하고 조건을 다시 한 번 확인한다. 해당 문제의 데이터 유형은 정수로 10,000보다 작은 자연수이다. 구하고자 하는 것은 요리시간 T를 맞추기 위한 최소

2021년 12월 31일
·
0개의 댓글
post-thumbnail

MVC 패턴

오늘은 스프링을 공부하면서 한 번쯤 들어봤을 MVC 패턴에 대해서 공부해보았다.이론적으로 Model, View, Controller의 약자로 Model에서는 데이터 처리, View는 화면, Controller는 Model과 View 사이에서 동작하는 것으로 알고 있는데

2021년 12월 30일
·
0개의 댓글

객체 지향 프로그래밍 (Object Oriented Programming)

나는 비전공자로서 처음 접한 언어가 파이썬이다. 인터프리터 언어로 초보자도 쉽게 배울 수 있다는 특징이 있는데 나는 파이썬에 큰 흥미가 없었다. 자바에 처음 눈을 뜬 순간 주력 언어로 삼아야겠다고 생각했다. 변수 선언 시 데이터 유형을 지정해야 하고 파이썬에 비해 코드

2021년 12월 25일
·
0개의 댓글

숫자 카드 게임

여러 개의 숫자 카드 중에서 가장 높은 숫자가 쓰인 카드 한 장을 뽑는 문제인데, 각 행에서 가장 숫자가 낮은 카드를 뽑아서 최종적으로 가장 높은 숫자의 카드를 뽑아야 한다.2차원 배열로 카드의 숫자가 주어지고 n과 m이 100이하여서 2중 루프로 최솟값을 찾아서 리스

2021년 12월 23일
·
0개의 댓글

큰 수의 법칙

이코테 그리디 알고리즘 문제 중 하나인 큰 수의 법칙 문제이다.자연수가 주어졌을 때, M번 더하여 가장 큰 수를 만드는 문제인데 연속해서 K번까지만 더할 수 있다는 조건이 있다. 가장 큰 수를 만들기 위해서는 첫 번째로 큰 수를 M번 더하면 되는데 연속해서 K번까지만

2021년 12월 23일
·
0개의 댓글
post-thumbnail

AOP 빈 등록

공통 관심 사항과 핵심 관심 사항을 분리하기 위해 AOP를 적용할 수 있다. AOP 객체 생성 후 빈을 등록해줘야하는데 1\. 컴포넌트 스캔 2\. 자바 코드로 직접 스프링 빈 등록두 가지 방법 모두 가능하다.강의에서 컴포넌트 스캔 방식을 다루어서 나는 직접 스프링 빈

2021년 12월 22일
·
0개의 댓글

코드업 기초100제

구현이 잘 안풀려서 코드업 기초 100제를 다시 풀어보기로 했다.자주 쓰지 않아서 헷갈렸던 개념에 대해서 리뷰하고자 한다.해당 문제는 if문으로 구현할 수 있지만 if문의 조건식 결과는 참, 거짓 두 가지밖에 없기 때문에 경우의 수가 많아질 경우 코드가 길어지고 처리시

2021년 12월 21일
·
0개의 댓글
post-thumbnail

백준 18352 특정 거리의 도시 찾기

https://www.acmicpc.net/problem/18352그래프는 인접 행렬과 인접 리스트 두 가지로 표현할 수 있다. 이전에 BFS 문제를 인접 행렬로만 풀어서 이번에도 인접 행렬을 이용해서 거리를 구하려고 했으나 0과 1로만 이루어진 2차원 배열이

2021년 12월 18일
·
0개의 댓글
post-thumbnail

백준 1193 분수찾기

https://www.acmicpc.net/problem/1193문제를 보고 짝수번째 행과 홀수번째 행에 대한 규칙은 금방 찾았으나 어떻게 입력으로 주어진 x번째에 위치한 값을 찾을지에 대한 방법은 찾기 어려웠다. 힌트 참고해서 노트에 한참을 끄적이다가 두 시

2021년 12월 11일
·
0개의 댓글