IT (13) 썸네일형 리스트형 2025년 면접질문 정리 (진행중) Java 관련 질문Java에서 쓰레드 안전성을 보장하기 위한 방법은 무엇인가요?synchronized 키워드와 Lock 인터페이스의 차이점은 무엇인가요?불변 객체는 왜 쓰레드 안전한가요?ThreadLocal은 어떤 상황에서 사용하면 좋을까요?Java에서 가비지 컬렉션(GC)은 어떻게 동작하나요?GC 과정에서 Stop-the-world 현상을 최소화하는 방법은 무엇인가요?Young Generation과 Old Generation의 차이는 무엇인가요? Spring Framework 및 Spring Boot 관련 질문Spring Framework에서 의존성 주입(Dependency Injection)의 방식에는 어떤 것들이 있나요?생성자 주입과 필드 주입의 장단점은 무엇인가요?Spring Boot와 Sprin.. 스프링 빈 생명주기 메서드와 실행 순서 스프링 빈 생명주기 메서드와 실행 순서 스프링 빈(Bean) 생명주기를 담당하는 메소드들을 알아보자 초기화 메소드 빈이 생성 되고 의존성 주입까지 완료된 후에 실행하는 초기화 메서드 @PostConstruct ```java import javax.annotation.PostConstruct; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @Slf4j @Component public class TempBean { @PostConstruct public void postConstruct(){ log.info("@PostConstruct !!!!!!!!"); } } ``` 메서드 선언부에 @PostConstr.. JPA 공부 - 0 2021/01/18 - [IT/데이터베이스] - JPA 공부 - 1 2021/01/21 - [IT/데이터베이스] - JPA 공부 - 2 2021/02/25 - [IT/데이터베이스] - JPA 공부 - 3 2021/01/29 - [IT/데이터베이스] - JPA 공부 - 4 2021/02/07 - [IT/데이터베이스] - JPA 공부 - 5 2021/02/25 - [IT/데이터베이스] - JPA 공부 - 6 JPA SYUDY 참고 서적 : 자바 ORM 표준 JPA 프로그래밍 학습 방식 책 정리 예제 코드 실습 PLAN (책 목차에 따라 진행) JPA 소개 (1주차) JPA 시작 (2주차) 영속성 관리 (3주차) 엔티티 매핑 (4주차) 연관관계 매핑 기초 (5주차) 다양한 연관관계 매핑(6주차) 고급 매핑 상.. [스터디] 젠킨스 스터디를 마치며... 초보를 위한 젠킨스 2 활용 가이드 2/e 국내도서 저자 : 니킬 파타니아(Nikhil Pathania) / 이상욱 역 출판 : 에이콘출판사 2018.10.15 상세보기 https://github.com/bakery-blueprint/oven-jenkins bakery-blueprint/oven-jenkins build and grow. Contribute to bakery-blueprint/oven-jenkins development by creating an account on GitHub. github.com 우리 회사는 인프라에 대한 기반 사항을 대부분 제공해준다. 서버, 네트워크 등등 하지만 '떠먹여 주는 것'도 못하고 있다는 생각이 강하게 들었다. 그래서 젠킨스 공부를 시작하게 되었다. 기본적.. [레거시 코드 활용 전략] CH7 코드 하나 바꾸는 데 왜 이리 오래 걸리지? 2020/02/03 - [IT/책읽는 개발자] - [레거시 코드 활용 전략] CH1 소프트웨어 변경 2020/02/04 - [IT/책읽는 개발자] - [레거시 코드 활용 전략] CH2 피드백 활용 2020/02/06 - [IT/책읽는 개발자] - [레거시 코드 활용 전략] CH3 감지와 분리 2020/02/07 - [IT/책읽는 개발자] - [레거시 코드 활용 전략] CH4 봉합 모델 CH5 는 단순한 테스트 도구와 관련된 이야기라 다루지 않습니다~ 2020/02/10 - [IT/책읽는 개발자] - [레거시 코드 활용 전략] CH6 고칠 것은 많고 시간은 없고 - 1 2020/02/15 - [IT/책읽는 개발자] - [레거시 코드 활용 전략] CH6 고칠 것은 많고 시간은 없고 - 2 ch 7 - 코드 .. [레거시 코드 활용 전략] CH4 봉합 모델 2020/02/03 - [IT/책읽는 개발자] - [레거시 코드 활용 전략] CH1 소프트웨어 변경 2020/02/04 - [IT/책읽는 개발자] - [레거시 코드 활용 전략] CH2 피드백 활용 2020/02/06 - [IT/책읽는 개발자] - [레거시 코드 활용 전략] CH3 감지와 분리 ch 4 - 봉합 모델 봉합 단위 테스트를 위해 개별 클래스를 추출하려고 하면 수많은 의존 관계를 제거할 필요가 있다. '좋은' 설계를 기반하고 있다 하더라도 많은 작업이 수반된다. 많은 작업 중 하나인 '봉합'이라는 개념을 알아보자. 우선 봉합은 코드를 직접 편집하지 않고도 프로그램의 동작을 변경할 수 있는 위치를 말한다. 아래 예제를 보자 public class MailSender { public void sen.. [레거시 코드 활용 전략] CH3 감지와 분리 2020/02/03 - [IT/책읽는 개발자] - [레거시 코드 활용 전략] CH1 소프트웨어 변경 2020/02/04 - [IT/책읽는 개발자] - [레거시 코드 활용 전략] CH2 피드백 활용 ch 3 - 감지와 분리 이상적인 환경이라면 변경 작업을 하기 전 특별히 할 일이 없다. 테스트를 하고 싶은 대상을 테스트 코드 내에서 객체를 생성해 작업을 하면 끝이다. 하지만 불행하게도 클래스들의 의존 관계들 때문에 이것은 거의 불가능하다. 의존관계를 제거해야 하는 이유는 무엇일까? 크게 두 가지로 볼 수 있다. 감지 : 코드 내에서 계산된 값에 접근하여 변경이나 값을 확인할 수 없을 때 분리 : 코드를 테스트 코드 내에서 실행할 수 없을 때 코드 분리를 위해 예제 코드 public class Network.. [레거시 코드 활용 전략] CH2 피드백 활용 이전글 : 2020/02/03 - [IT/책읽는 개발자] - [레거시 코드 활용 전략] CH1 소프트웨어 변경 ch 2 - 피드백 활용 시스템을 변경하는 방법에는 크게 두가지가 있다. 수정 후 기도하기 보호 후 수정하기 일반적인 개발 방법에서는 1번이 많이 사용된다. 1번 같은 경우 코드 변경 대상 코드를 이해하고, 계획을 세운 후 변경 작업에 들어간다. 변경을 완료하고 나서는 제대로 동작하고, 의도하지 않는 영향이 있는지 조사한다. 결과적으로 작업 결과를 확인하고 검토하는 시간이 추가로 들어가게 된다. 얼핏 보기에는 이는 매우 '신중'하고 '전문'적인 방식처럼 보인다. 그러나 아무리 신중해도 이것이 안전성에 비례한다는 보장은 없다. '보호 후 수정하기' 방법은 조금 다른 방식으로 코드를 변경한다. 변경.. [레거시 코드 활용 전략] CH1 소프트웨어 변경 레거시 코드 활용 전략 (재출간판) 국내도서 저자 : 마이클 C. 페더스(Michael C. Feathers) / 심윤보,이정문역 출판 : 에이콘출판사 2018.09.28 상세보기 ch 1 - 소프트웨어 변경 소프트웨어를 변경하는 이유 새로운 기능 추가 버그 수정 설계 개선 자원 이용의 최적화 1.기능 추가와 버그 수정 지금 하는 것이 버그 수정? or 기능 추가? 고객 관점 : 내가 원하는 건 A 기능이 아니라 B기능 이야 → 버그 수정 개발자 관점 : B라는 새로운 기능 기술 및 개발 관점에서 버그 수정 / 기능 추가 보다 더 중요한 것은 ? → 동작 변경 새로운 동작을 추가하는 것과 기존 동작을 변경하는 것에는 큰 차이가 있음 기존 코드 변경 → 동작 변경 새로운 코드 추가 → 동작 추가 그러나 대.. 2019년 회고 0. TL;DR 너무나 많은 것들이 변했다. 주위 환경도, 사람들도, 그리고 나이도 더 나아가 외부 요인뿐만 아니라 나 스스로도 많은 '방향'을 찾기 위해 노력했고 찾을 수 있는 한 해였다. 1. 외부적 환경 1.1. 회사 더 좋은 기회와 문화를 접하기 위해 회사를 이직했다. 아마 이번 연도에 나를 가장 많이 바꾼 터닝포인트가 아닌가 싶다. 이직을 하는 것이 쉽지는 않았다. 내가 안다고 생각했던 것들은 다 반쪽자리였다. 입으로 또는 글로는 설명할 수 없었고, 머리에서만 맴도는 그런 지식이었다. 그러기 때문에 많은 것을 정리했다. 아는 것을 입으로 중얼거리며 글로 작성하기도 했다. 또한 이직을 위한 공부를 집중적으로 했던 것 같다. 아래는 내가 이직을 위해 읽은 책이다. 객체지향의 사실과 오해 국내도서 저.. 이전 1 2 다음