본문 바로가기
  • Where there is a will there is a way.

분류 전체보기125

부의 추월차선 책 리뷰 일 - 주말 휴식 - 일 요즘 드는 생각이 있다. 아 아직 일을 자신있게 하지 못한다 나는 더 열심히 해야지 .. 그러면 다음과 같은 생각이 순차적으로 파생된다. 그렇다면 일을 왜 할까? 돈 돈벌면 행복해지니까 그렇다면 얼만큼 돈 벌면 행복해질까 ? 남들보다 더 ? 더 벌려면 어떻게 해야할까 ? 일을 더 열심히 해야겠지 공부를 더 열심히 해야겠지 ? 일은 재밌어 ? 음 그나마 다른 일보다는 몸이 편하긴 하지 .. 그나마 언제까지고 이렇게 살아야 할까 ? 내 인생은 그럼 개미처럼 사회에서 일하다가 죽으면 그걸로 만족할까 ? 모든 직장인이면 이런 생각을 가지고 있을지도 모르겠다. 그런 타이밍에 우연히 유튜브에서 부의 추월차선에 대한 리뷰를 했다. 물론 미국 책이기 때문에 우리나라와 맞지 않을 수도 있다. 겉.. 2020. 8. 1.
클래스와 멤버에 대해서 멤버에 대해서 정보 은닉, 혹은 캡슐화라고 하는 개념은 자바에서 중요하다. ( 물론 자바 뿐만이 아니겠지만 ) 정보를 은닉하면 시스템 개발 속도가 높아진다. ( 여러 컴포넌트를 병렬로 개발할 수 있기 때문에 ) 각 컴포넌트의 디버깅 속도가 빨라진다. 시스템 최적화가 더 쉽다. 소프트웨어의 재사용성이 높아진다. 단위 테스트를 진행하기 좋다. 멤버 ( 필드, 메서드, 중첩 클래스, 중첩 인터페이스 ) 에 부여할 수 있는 접근 수준은 네 가지다. private class 는 상위 클래스에서만 접근이 가능하다. protected 는 해당 패키지에서만 접근이 가능하고 public 은 모든 곳에서 접근할 수 있다. 클래스와 멤버에 대해서 effective java 에서 몇가지 가이드가 되어있다. 여기서 의아한 점은.. 2020. 7. 27.
자바 직렬화에 대한 생각정리 언젠가 내가 개발하고 있는 클래스에 implements Serializable 이 되어있는 걸 확인했다. 해당 클래스는 jpa entity 였고 문서를 찾아본 결과 entity 에 붙어있었고 왜 붙였을까에 대한 인터넷 서칭을 해보았다. “If an entity instance is to be passed by value as a detached object (e.g., through a remote interface), the entity class must implement the Serializable interface.” 따라서, 이 객체를 어딘가로 전송하거나 세션에 기록하거나 등등 정말 serialization을 위한 용도가 아니라면, Hibernate상에서는 굳이 Serailizable을 구현하.. 2020. 7. 26.
애플리케이션 아키텍처 아키텍처는 어떤 경계 안에 있는 내부 구성요소들이 어떤 책임을 갖고 있고, 어떤 방식으로 서로 관계를 맺고 동작하는지를 규정하는 것이라고 할 수 있다. 아키텍처는 단순히 정적인 구조를 나타내는 것으로만 생각하기 쉽지만 실제로는 그 구조에서 일어나는 동적인 행위와 깊은 관계가 있다. 아키텍처 설계는 여러가지가 있다. 시스템 레벨의 아키텍처 , 애플리케이션 레벨의 아키텍처 , 데이터 아키텍처등 이 글에서는 스프링 웹 애플리케이션 아키텍처에 대해서 정리해보겠다. 1. 계층형 아키텍처 우리는 자바 애플리케이션을 설계할때 우선적으로 성격이 다른 코드가 얽혀 있는 것을 두 개의 오브젝트로 분리하고, 그 사이에 유연한 결합을 가질 수 있도록 인터페이스를 두고, 그 관계를 맺어주는 제 3의 존재인 DI 컨테이너를 둬서.. 2020. 7. 19.
스프링이란 무엇인가? 스프링에 대해 가장 잘 알려진 정의는 이렇다 자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크 우리가 자바 개발을 하면서 컬렉션 프레임워크라고 불리우는 프레임워크를 사용한 경험이 있다. ( 물론 스프링도 ) 그런데 왜 스프링은 애플리케이션 프레임워크라고 하는 것일까? 애플리케이션 프레임워크 스프링의 기원이 된 예제 애플리케이션의 프레임워크는 책에서 설명한 각종 자바 엔터프라이즈 개발 전략의 핵심을 담아서 개발됐다. 자바 엔터프라이즈 개발의 전 계층에 등장하는 기술과 애플리케이션의 전 영역에 대한 효과적인 설곋와 개발 기법을 다루고 있기 때문에 자연스럽게 애플리케이션의 전 영역을 지원하는 종합적인 애플리케이션 프레임워크라고 하는 것이다. 스프링의 일차적인 존재 목적은 핵심 기술.. 2020. 7. 12.
객체의 생성 지난번 빌더 패턴을 보면서 객체의 생성과 관리에 대해서 다시한번 생각해보는 계기가 되었다. 2020/07/06 - [개발/java] - 빌더로 생성자 대체하기 빌더로 생성자 대체하기 내가 자바로 웹 애플리케이션을 개발할때 인스턴스 생성에 대한 고민이 있었다. Goods goods = new Goods(); goods.setGoodsId(); goods.setGoodsTitle(); goods.setGoodsCategory(); goods.set... 이와 같이 상.. derekpark.tistory.com 그렇다면 어떨때 객체를 생성하고 어떨때 재사용하게끔 하는것이 좋을까 ? effective java 3 에는 이렇게 설명한다. 똑같은 기능의 객체를 매번 생성하기 보다는 객체 하나를 재사용하는 편이 나을.. 2020. 7. 9.