프로그래밍 4

Jackson 라이브러리 기본기능 정리 - json 직렬화와 역직렬화

Jackson Annotation 예제 본 글은 다음 원문을 번역 및 수정한 글입니다. https://www.baeldung.com/jackson-annotations 전체 코드는 다음 레파지토리에 있습니다. 필요하다면 클론 받으셔서 test 패키지에 있는 JacksonTest.class 를 보시면 한 눈에 볼 수 있습니다. https://github.com/JunHoPark93/jackson-practice JunHoPark93/jackson-practice Practice for jackson library. Contribute to JunHoPark93/jackson-practice development by creating an account on GitHub. github.com Jackson ..

Enum 조회 성능 높여보기 - HashMap을 이용해서 빠르게 조회해보자

Enum 조회 성능 높여보기 자바의 Enum 에서 매핑을 할 때 find 메서드를 정의해서 알맞는 enum 을 찾는 로직을 많이 구현해본적이 있을 것 같아요. 다음과 같은 코드가 익숙하실텐테요. 저도 이런식으로 하다가 어느 날 친구가 인사이트를 주어 개선할 부분이 있는 것 같아 실험을 해보았습니다. 먼저 간단한 AccountStatus enum을 보겠습니다. package com.jaytech.codepractice; import java.util.stream.Stream; import lombok.Getter; @Getter public enum AccountStatus { INUSE("사용중"), UNUSED("미사용"), DELETED("삭제"), UNKNOWN("알수없음"); private fin..

[Java] Thread(스레드)에 관한 고찰 - 스레드 관련 코드를 어떻게 짜야할까

이번 포스팅은 스레드를 다루는 방법과 이슈들을 소개합니다. 스레드 이슈에 있어서 간단한 예는 두 스레드가 같은 객체를 공유하면서 서로 간섭하며 예상치 못한 결과를 내놓는 것입니다. 예제는 스레드를 공부하면서 한 번 쯤 봤을 만한 아주아주 간단한 예제입니다. 하지만 왜 그렇게 예상치 못한 결과가 되는지 명확히 설명하는 곳이 없어 책을 참고하여 정리를 해보았습니다. 먼저, 아주 간단하고 대중적인 예로 코딩을 해보았습니다. 계산기로 초기화 된 index 값에서 getNextIndex 를 호출하면 다음 번 인덱스를 반환하는 클래스 입니다. 다음과 같이 두 개의 스레드를 만들고 계산기의 인덱스를 각각 1만번 씩 호출을 해보았습니다. 최적의 시나리오는 각각 Set 에 고유한 숫자 1만개씩 보유하는 경우인데요. 사실..

객체 지향이란 무엇인가 - 절차지향과의 차이점

객체지향 개념 간단 정리 본 내용은 "개발자가 반드시 정복해야할 객체 지향과 디자인 패턴 - 최범균" 을 읽으며 정리한 내용입니다. 1. 절차 지향과 객체 지향 1.1 절차지향 절차지향이란 프로시져(procedure)로 프로그램을 구성하는 기법이다. 프로시져는 대체로 데이터를 중심으로 구현한다. 단점은 데이터 타입이나 의미를 변경해야 할 때, 함께 수정해야 하는 프로시저가 증가하는 것이다. 1.2 객체 지향 객체는 자신만의 데이터와 프로시져를 갖는다. 객체는 자신만이 기능을 제공하며, 각 객체들은 서로 연결되어 다른 객체가 제공하는 기능을 사용할 수 있다. 2. 객체 2.1 객체의 핵심은 기능을 제공하는 것 객체 지향의 가장 기본은 객체이다. 예를들어, 소리 크기 제어 객체가 있다고 생각하면 이 객체가 ..

프로그래밍 2019.05.15
반응형