전체 글 44

[김영한의 실전 자바 - 기본편] 기본형과 참조형

기본형과 참조형기본형과 참조형 또한 자바를 공부하면서 반드시 이해하고 넘어가야 하는 내용이다.내용 자체는 어렵지 않지만, 헷갈릴 수 있기 때문에 한번 정리하고 넘어간다. 기본형(Primitive Type)int, long, double, boolean과 같이 변수에 사용할 값을 직접 넣을 수 있는 데이터 타입 참조형(Reference Type)클래스, 배열과 같이 데이터에 접근하기 위한 주소값을 저장하는 데이터 타입( Student student, int[] students ) 기본형 = 데이터의 값을 넣을 수 있는 데이터 타입참조형 = 데이터의 주소값을 넣을 수 있는 데이터 타입 기본형은 변수에 값을 직접 넣어서, 참조형은 변수에 주소값을 넣어서 그 주소를 참조해 사용한다public static voi..

[김영한의 실전 자바 - 기본편] 클래스

클래스필드와 메소드로 구성되어 객체를 정의하는 역할 자바에서 클래스란 객체를 정의하는 틀, 설계도와 같은 의미로 사용된다.이 틀을 가지고, 객체를 생성하여 사용한다. 클래스는 객체의 상태를 나타내는 필드, 객체의 행동을 나타내는 메소드로 구성된다.필드는 객체에 포함되어 있는 변수를, 메소드는 함수와 같이 특정 작업을 수행하기 위해서 사용하는 집합체라고 할 수 있다 참 어려웠다.대학교때 이걸 처음봤을때가 생각난다. 클래스? 객체? 그게 그거 아닌가...특히 처음 접해보는 분들이 이 설명을 듣고 바로 이해를 할 수 있을까?강의에서는 이를 위해서 클래스가 필요한 이유를 설명해준다.  클래스가 필요한 이유? 먼저 다음 예시를 살펴보자.3개의 변수를 활용해서 간단히 학생의 정보를 입력하고, 이를 출력하는 코드이다..

[김영한의 실전 자바 - 기본편] 수강 후기

영한님의 자바 영한님의 자바 강의가 신규로 오픈되었다. 이번 자바 강의는 영한님이 다니던 우아한형제들에서 퇴사하시고, 처음 오픈되는 강의였다. ( 영한님은 이제 강의를 찍는데 집중한다고 하신다 ) 스프링을 한참 공부하고 있었지만, 영한님이 바라보는 자바를 꼭 한번 보고싶었다. 스프링 강의 중간중간 영한님이 자바에 대한 언급을 하실때마다 궁금했다. 개발바닥에서는 호돌맨님께서 처음 자바를 배우는 과정에서 영한님의 '지옥자바' 스터디가 언급되었다. 잠시 스프링 공부를 멈추더라도, 꼭 한번 보고 싶어서 수강하게 되었다. 강의는 입문편, 기본편이 동시에 오픈되었다. 입문편 입문편은 보통 책으로 보자면, 객체지향언어가 시작되기 직전까지의 내용이다. 이걸 심지어 무료로 공개하셨다... 물론 입문편도 수강해보았는데, ..

2023년 회고

어느덧 2023년의 마지막날이다. 올해의 첫날이 아직 선명하게 기억이 나는거 같은데 한해가 정말 빠르게 지나갔다. 시간이 빠르게 흘러가는것은 좋은걸까? 사실 불안한 마음이 크다. 나의 젊은날이 빠르게 지나가는거 같기도 하고, 개발자로써 생각해보면 잘 성장하고 적응해야하는 시기에 최선을 다했다고 미래에 말할 수 있을까? 그래서 정말 하루하루 최선을 다해야하는거 같다. 요즘 들어서 느끼는데, 갑자기 찾아오는 기적은 없다는 것이다. 올해가 지나면, 나는 어떤 사람이 되어 있으면 좋겠다! 라는 건 없다. 내가 할 수 있는건 그저 하루하루를 열심히, 그래서 그 하루하루가 일주일이 되어 한주를 만족스럽게 보내고 그렇게 한달이 되는 것, 그게 모여서 일년이 되는것이다. 그렇기 때문에 기적같은 일년이란 결국, 보람찬 ..

생각정리 2023.12.31

[도서후기] 육각형개발자

육각형개발자 최범균님께서 새로 출간하신 육각형개발자를 읽어보았다. 부제는 '시니어 개발자로 성장하기 위한 10가지 핵심역량'인데, 주니어를 통과하고 시니어로 가고 있는 나같은 개발자들에게 큰 도움이 될 것이라고 생각한다. ( 사실 연차에 비해 부족하겠지만! ) 출시되자마자 바로 사서 읽어보려고 했었는데, 지인분께서 가지고 계셔서 빌려볼까 했다. 다시 만날때 빌려주신다고 했었는데, 다시 만나기까지 시간이 흘렀다... 그러던중 집근처 도서관의 '도서신청'이 가능하여 신청후 기다리고 있었다. 내가 처음 신청했기때문에 입고가 되면 나에게 가장 먼저 연락이 온다. 토요일 5시( 주말에는 6시까지 운영한다 )에 연락이 와서 상당히 당황스러웠지만, 냉큼 달려가서 빌려왔다. 기간내에 읽기 힘들어서 조금 연체가 되었지만..

도서후기 2023.11.14

[스프링 핵심원리 - 기본편] 요약 정리

인프런 김영한님의 강의를 듣고, 내용을 정리하며 저의 생각도 정리하였습니다. 영한님의 스프링 핵심원리 - 기본편을 정리해본다. 사실 오래전에 강의를 들었지만, 제대로 정리하지 않아서 그런지 자꾸 잊혀진다. 강의를 듣는것이 중요한 것이 아니라, 강의를 듣고 내것으로 만드는 것이 중요함을 새삼 깨닫는다. 스프링을 제대로 공부해본 적이 없어서 이 강의는 충격으로 다가왔다. 처음 회사를 갔을때, 무엇인지도 모르고 사용했던 것들을 하나씩 알아가는 즐거움이란...ㅎㅎ 배워야하는것 이 강의에서 내가 배워야하는건 명확하다 바로 스프링의 핵심원리의 기본적인 내용을 이해하는 것 먼저 목차를 살펴보면 객체지향설계와 스프링 스프링 핵심 원리 이해 1 - 예제 만들기 스프링 핵심 원리 이해 2 - 객체 지향 원리 적용 스프링 ..

Spring/핵심원리 2023.09.11

제어할 수 없는것에 의존하지 말자

향로님은 내가 정말 존경하는 개발자이다. 사실 처음에는 재수없어 보였다. 또 잘난사람이 잘난척하는거겠지. 라는 생각으로 그렇지만, 향로님이 운영하는 블로그에 어떤 과정을 겪었는지를 보면서 정말 열심히 하는구나. 진짜 진짜 열심히 공부하는구나를 느낄 수 있었다. 그러다가 '개발바닥'을 알게되었고, 세상에 정말 열심히 하려는 개발자들이 많구나를 느낄 수 있었다. 그중에 내가 좋아하는 말이 있는데 '제어할 수 없는것에 의존하지 말자' 라는 말이다. 이 문구는 '개발자 원칙'이라는 책에 향로님이 작성했던 파트의 주제이다. ( 개발자 원칙은 9명의 테크리더들이 자신만의 원칙을 설명하는 책이다. ) 이 말을 내가 좋아하는 이유는, 난 항상 제어할 수 없는것에 너무 많이 의존하기 때문이다. 의존한다는건 내가 그 일에..

생각정리 2023.09.06

[스프링 핵심원리 - 기본편] 내용 정리7

빈 스코프 싱글톤 기본 스코프, 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프 프로토타입 @Scope("prototype") 빈의 생성과 의존관계 주입까지만 관여, 소멸은 신경 x ( 짧은 범위의 스코프 ) @PreDestroy같은 종료 메소드 호출 x 조회한 클라이언트쪽에서 관리해야한다( ex) 종료 메소드 호출 ) 프로토타입 스코프 - 싱글톤 빈과 함께 사용할때 문제 프로토타입 스코프의 빈은 스프링 컨테이너에 요청하면 항상 새로운 객체를 생성해서 반환한다. 그렇지만, 프로토타입을 싱글톤 빈과 함께 사용하는 경우 싱글톤 빈이 스프링 컨테이너에 등록되는 순간 프로토타입도 생성되면서 유지되는 문제가 있다 싱글톤빈에서 프로토타입을 의존관계로 주입하는 순간, 그 프로토타입은 스프링 컨테이..

Spring/핵심원리 2023.09.04

[스프링 핵심원리 - 기본편] 내용 정리6

빈 생명주기 콜백 스프링 빈 객체의 초기화와 종료 작업 스프링 빈은 객체 생성 → 의존관계 주입이라는 라이프 사이클을 가짐 초기화 작업은 의존관계 주입 이후에 호출해야한다 스프링은 의존관계 주입이 끝나면 스프링 빈에게 콜백 메소드를 통해 초기화 시점을 알려주는 기능을 제공한다 스프링은 스프링 컨테이너가 종료되기 직전에 소멸 콜백을 실행한다 간단하지만, 반드시 알아두자! 스프링 컨테이너 생성 → 스프링 빈 생성 → 의존관계 주입 → 초기화 콜백 → 사용 → 소멸전 콜백 → 스프링 종료 ※ 객체의 생성과 초기화 작업을 분리하자 생성자는 필수정보를 받고, 메모리를 할당해서 객체를 생성하는 책임 초기화는 생성된 값을 활용해서 외부 커넥션 등의 무거운 동작 수행 명확하게 역할을 구분하는 것이 유지보수 관점에서 좋..

Spring/핵심원리 2023.08.30

[스프링 핵심원리 - 기본편] 내용 정리5

컴포넌트 스캔과 의존관계 자동주입 스프링을 공부하면서 가장 신기했던, 어디서나 편리하게 사용하고 있는 의존관계 자동주입에 대해 공부한다. 처음에 회사에 갔을때, 스프링을 들어봤지만 제대로 공부하지 않았을때 이 개념을 봤을때는 정말 이해가 가지 않았다. 사실 스프링은 편리하다고 하지만 개념적인 내용이 어려워서 '그냥 그렇구나' 하고 사용했던 기억이 난다. 그때 바로 공부하고, 이해하고 적용하면서 업무를 진행했으면 달라졌을까...? 하는 후회가 많이 되곤한다. 그렇지만, 지금이라도 이렇게 공부하여 정리할 수 있어서 다행이다. 강의는 기존시간에 배웠던 @Configuration, @Bean을 활용한 스프링 컨테이너에 직접 등록하는 방법을 이어서 이로인해 발생하는 문제점(불편한점)을 제시하고, 그에 따른 해결책..

Spring/핵심원리 2023.08.27