Total

Java8 Java에서는 java8 이전과 이후는 정말 많은 차이가 있을 정도로 바뀐점이 많은 업데이트였다 이러한 기법이 나오게 된 근본적인 배경은 사이드 Effect가 없는 병렬 처리에 대한 요구가 증가했기 때문이에요! 일반적으로 Collection 데이터를 바탕으로 데이터 연산이 진행되는데, 멀티 쓰레드 환경에서 데이터를 조작하게 된다면 java에서 비싼 연산 중 하나인 synchronized 를 사용할 수 밖에 없죠 ㅠㅠ 그래서 개발자들은 고민하게 됩니다 우리는 synchronized를 사용하지 않고, 병렬처리가 가능한 데이터 stream을 만들 수 없을까? 이러한 고민에 대한 해결책이 바로 Stream 이에요 Functional Programming을 기반으로 해서, 상태를 저장하지 않고 일련의 ..
객체지향에서부터 도메인 주도 설계를 이해하기 위해서는 객체지향을 먼저 이해할 필요가 있습니다 객체지향에서의 핵심은 뭘까요? 객체지향에서의 핵심은 실세계의 객체(물건, 사람, 주문 .... 주도적으로 뭔가를 생산하는 주체) 들이 서로간의 상호작용을 바탕으로 책임,협력,역할 의 관점을 가지고 메세지를 교환하는 것이다. 객체지향에서의 핵심은 결국 객체(무언가를 만드는 주체) 라고 할 수 있습니다 그렇다면 이 객체들을 어떻게 하면 추려낼 수 있을까요? 어떻게 하면 어떤 객체가 필요한지 알 수 있을까요? 어떻게 하면 이 객체들이 서로 상호작용할 수 있을까요? 여러 방법들이 있겠지만, 이것을 해결해줄 수 있는 것이 바로 도메인 주도 설계입니다 도메인 주도 설계 쉽게 말하면, 도메인을 중심으로 설계해 나가는 것을 의..
MapStruct? 안녕하세요~! ㅎㅎ 오늘은 Spring을 쓰면서 자주 쓰게 되는 라이브러리를 하나 소개할까 합니다! 바로 그것이 MapStruct 인데요! 이 Mapstruct란? MapStruct is a code generator that greatly simplifies the implementation of mappings between Java bean types based on a convention over configuration approach. ------------------------------번역--------------------------------------- MapStruct는 구성 접근법에 대한 규약에 근거하여 Java Bean 종류 간의 매핑 구현을 크게 단순화한 c..
직렬화란? 문득 개발을 하면서 갑자기 그런 생각이 들었습니다 자바 직렬화가 도대체 뭐지? Spring을 공부하면서 ObjectMapper를 쓰는데 직렬화한다는 것을 알게되고, 갑자기 궁금해져서 글을 쓰게됬어요 ㅎㅎ 그래서 직렬화란 Java 시스템 내에서 사용되는 객체를 외부의 Java 시스템에서도 사용할 수 있도록 바이트(byte) 형태로 데이터를 변환하는 기술과 바이트로 변환된 데이터를 다시 객체로 변환하는 기술을 통틀어서 이야기 합니다! 조금 더 상세하게 이야기하면..! JVM의 메모리에 상주되어 있는 데이터를 Byte형태로 변환하는 것을 의미합니다! 그럼 어떻게.? Java의 Interface중 하나인 Serializable을 상속받으면 사용이 가능합니다.! package com.huisam.spr..
Template Callback? 템플릿 콜백 패턴의 경우 전략패턴의 변형적인 패턴입니다 Strategy(전략) 패턴의 설명은 제 게시글에 나와 있으니 참고해주세요 ^-^ 그림으로 보는게 참 어렵죠? 단순히 설명하자면, 템플릿 콜백 패턴은 전략 패턴에 익명 클래스(또는 함수)를 더해서 사용하는 방식입니다 Java8에 나온 익명함수(lamba)를 사용해서 Interface만 구현한 채, 실제 로직을 구현하는 방식이죠! 그렇기 때문에, 이 패턴은 Spring에서 DI(Dependency Injection) 의존성 주입과 매우 유사합니다. Spring을 개발하시다 보면 이러한 의존성 주입이 매우매우 자주 일어나는 것을 확인할 수 있는데, 그래서 Spring 개발할 때 많이 쓰이는 패턴중에 하나입니다! 전략 패..
Agile? 진짜 간단하게 말하면 일종의 개발 방법론이다 많은 블로그 포스팅들이 되게 어렵게 설명을 해놓았는데, 정말 직관적이고 쉽고 정리해볼까 한다. 우선 당장 위키백과에 들어가 있는 핵심 정리본을 가져올까 해요 그러므로 애자일 개발 방법론은 계획을 통해서 주도해 나갔던 과거의 방법론과는 다르게 앞을 예측하며 개발을 하지 않고, 일정한 주기를 가지고 끊임없이 프로토 타입을 만들어내며 그때 그때 필요한 요구를 더하고 수정하여 하나의 커다란 소프트웨어를 개발해 나가는 adaptive style 이라고 할 수 있다. - 위키백과 아하, 그러니까 소비자로부터 일방적으로 모든 요구사항이 내려오면 개발을 시작하는 것이 아니라 개발해 나가면서 필요한 것들을 피드백을 바탕으로 주도적으로 개발하겠다는 뜻이다! 너무 당..
huisam
'분류 전체보기' 카테고리의 글 목록 (11 Page)