어떤 사람이 무엇을 좋아하는지 알게 해주는 '퍼스널 브랜딩'을 잘하는 것이 추세라고 합니다. 전반적으로 퍼스널 브랜딩의 정의는 아래에 글에 자세히 나와있는 것 같습니다. https://blog.lxinternational.com/29373/ ‘퍼스널 브랜딩’이 도대체 뭐길래? 지금 알아야 하는 이유! | LX인터내셔널 공식 블로그 하고싶은 일과 돈이 되는 일 중 어떤 일을 선택하고 싶으신가요? 이제는 하고싶은 일을 하며 돈을 벌 수 있는 퍼스널 브랜딩의 시대입니다. 현재 직장인들에 속하며 MZ세대라고도 불리는 2030세대 blog.lxinternational.com '퍼스널 브랜딩'의 정의 퍼스널 브랜딩은 한 명을 나타내는 '퍼스널'과 기업의 의미를 가진 '브랜드'의 합성어로 속히 '1인 기업을 꾸리기 ..
오늘은 코틀린+스프링 프레임워크(줄여서 코프링)이라고 하는 기법에 대한 글 중 카카오페이에서 도움이 될만한 글이 있어서 가져왔습니다. https://tech.kakaopay.com/post/overcome-spring-aop-with-kotlin/ Kotlin으로 Spring AOP 극복하기! | 카카오페이 기술 블로그 Kotlin의 문법적 기능을 사용해서 Spring AOP 아쉬운 점을 극복한 경험을 공유합니다. tech.kakaopay.com 원래 스프링 프레임워크는 코틀린 언어의 할아버지뻘 되는 언어인 자바에서 기본적으로 파생된 언어입니다. 코틀린은 제트브레인(JetBrain)이라고 하는 체코 회사에서 개발한 언어입니다.(안드로이드 스튜디오와 인텔리제이 IDE 툴 등을 개발한 Java 개발자들 사이..
대부분의 개발자들은 객체지향형 프로그래밍(OOP)라고 하는 것에 굉장히 익숙할 것입니다. 저 또한 대학교에서도 교육을 받으면서도 객체를 중심적으로 프로그래밍을 진행하고, 자바언어는 특히나 그런 것에 최적화되어 있다는 것을 기본 개념으로 삼고 프로그래밍을 진행해왔습습니다. 최근에 아티클을 읽던 와중 신기하고 기묘한 내용이 있어 소개드리고자 합니다. 위시켓에서 작문한 글로 새로운 개념인 데이터 지향 설계(DOP)를 추천하는 글이어서 괜찮은 것 같아 가져와봤습니다. https://yozm.wishket.com/magazine/detail/2157 개발자가 알아야 할 데이터 지향 설계란? | 요즘IT 객체지향 프로그래밍은 클래스(Class)를 통해 데이터와 행위를 묶어 관리하는 프로그래밍 패러다임입니다. 그렇지..
이전에 카카오 개발자분이 올려주신 자바 소스 코드의 리팩토링 방법에서 참고하여 현재 사용 중인 코드 작성 방법을 올려볼까 합니다. 해당 글에는 if-else 뿐만 아닌 다른 리팩토링 방법에 대해서도 작성하였습니다. https://abbo.tistory.com/395 [Refactor] 자바 코드 리팩터링하기 - 3부 이전 글에 이어서 자바 코드를 리팩터링하는 기본적인 방법과 그 내용을 코드를 통하여 조금 더 이해하기 쉽도록 적어보려고 합니다. 리팩터링 1부 - https://abbo.tistory.com/393 [Refactor] 자바 코드 리 abbo.tistory.com 자바 코드 리팩토링을 진행하다보면 if else 구문으로 이루어진 서비스 로직을 자주 발견하게 되는데, else 만을 보았을 때는 ..
안녕하세요~ 오늘은 글을 읽던 와중 좋은 글이 있어 소개드리고자 합니다. 바로 많은 회사에 지원하면서 어떻게 포트폴리오를 작성할지 고민이 되는 부분이 있을 때 읽어보면 좋을 글인 것 같아 말씀드립니다만, 정작 실행에 옮기는 것은 상황에 따라 직무에 따라 각기 다른 포트폴리오가 나올 수도 있겠죠? 그럼 아래에서 확인해 보면서 화살표(->)로 제 의견을 추신으로 달아보면서 점검을 한 번 더 해보면서 읽는 시간을 가져보도록 하겠습니다. 1. 있는 경력과 경험을 숨기지 말자 성공적인 포트폴리오를 구축하는 데 있어 가장 중요한 원칙은 "자신의 경험을 숨기지 말자"는 것입니다. 자신의 경험을 커리어 여정이라는 태피스트리를 구성하는 튼튼한 실과 같다고 생각해 보세요. 아무리 사소해 보여도 실타래 하나하나가 여러분을 ..
JPA에서 @Transactional 어노테이션을 사용하다 보면 Propagation, Isolation과 관련된 이슈와 접할 때가 종종 있습니다. 오늘은 이런 내용들을 어떻게 사용하는지와 어떤 상황에서 사용하는지를 정리해보고자 합니다. JPA Propagation 정리 세션의 트랜잭션을 어떻게 이용할지에 대한 설정입니다. 종류로는 아래와 같은 내용이 있습니다. 종류 트랜잭션 존재시 트랜잭션 미존재시 비고 REQUIRED 기존 트랜잭션 이용 신규 트랜잭션 생성 기본설정이다 SUPPORTS 기존 트랜잭션 이용 트랜잭션 없이 수행 MANDATORY 기존 트랜잭션 이용 Exception 발생 꼭 이전트랜잭션이 있어야 하는경우 NEVER exception이 발생한다 정상적으로 트랜잭션 없이 수행 트랜잭션 없을때..
회사에서는 도메인 주도 설계인 DDD(Domain Driven Design) 패턴을 사용하여 개발을 진행하고 있습니다. 이유는 도메인 패키지의 경우 메인 패키지이면서 다른 모듈 패키지에서도 사용하기 때문이기도 하고, RDBMS를 사용하는 회사의 시스템 상 다른 같은 Database Schema 를 사용하기 때문입니다. 그래서 DDD 사용하기 위해서는 주의해야 하는 부분이 있습니다. 1. 도메인 패키지 내에 엔티티 클래스와 리포지토리를 선언한다. Cash 라고 하는 엔티티가 있다고 가정해봅니다. Cash 폴더 내에 Cash와 관련된 엔티티 패키지는 도메인 패키지 내에 있다고 하지만 DTO, 서비스, 리포지토리는 어디에 위치하여 있는것이 효율적일까요? @Entity @Getter @NoArgsConstruc..
요새 고민인 부분이 있습니다. 한 번 정적 팩토리 메서드에 사용법에 대해 알고 나서부터는 만들고자 하는 대부분의 객체의 의존성을 배제하고 직접적인 Setter를 금지하여 객체를 만들고자 하는 욕심이 생겼습니다. 그래서 오늘은 지금까지 공부한 방법에 대해 연구하고 객체를 만드는 과정을 알아보고자 합니다. 0. `Builder` 패턴을 잘 사용하기, 그리고 생성자는 private로 하여 불변 및 상속 불능으로 만들기 정적 팩토리 메소드를 사용하는 이유 중에 하나는 인스턴스의 프로퍼티 변조를 막고 파라미터를 통해 클래스 인스턴스를 만들기 위함입니다. 그래서 생성자는 private로 접근 제어자를 설정하여 클래스 내부에서만 조립이 가능하도록 막습니다. 또, private 으로 선언이 된 이상 상속이 불가능합니다..