728x90

IT 417

Atomic Design을 그만두고 디렉토리 구조를 바꾼 이야기

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. 본격적으로 들어가기에 앞서 Atomic Design에 대해서는 이전에 포스팅을 한 적이 있기 때문에 상세한 내용을 알고 싶은 사람은 이 포스트를 참고해주길 바란다. 왜 Atomic Design을 그만뒀는가? Atomic Deisgn 원리에서는 인터페이스를 기능이나 보여지는 부분의 정밀도를 바탕으로 다섯 개의 레벨으로 분류하는 것을 제안하고 있지만, 데이터의 획득을 어느 레벨에서 실행하는가등 로직을 어떻게 다룰까에 대해서 별다른 언급을 하고 있지 않다. 또한, 독자 룰을 규정하는 것으로 Atoms/Molecules/Organisms/Template/Pages의 분류를 어떻게 할지..

IT/WEB 2023.07.30

[Java] 정규표현

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. Java의 정규표현 Java에는 정규표현에 관련된 기능을 구현하기 위한 패키지 java.util.regex가 있으며, 그 안에 Pattern 클래스와 Matcher 클래스가 있다. Pattern 클래스는 정규표현의 "패턴"을 나타내고, Mather 클래스는 검색하고 싶은 문자열과 정규표현과의 "매칭"을 실행한다. Pattern 클래스 Pattern 클래스는 정규표현의 "패턴"을 나타내는 클래스이다. Java에서 정규표현을 사용할 때는 java.util.regex.Pattern클래스의 compile메소드를 호출하여, 정규표현을 컴파일한다. 정규표현의 구문 규칙에 따르지 않은 경우..

IT/언어 2023.07.26

[JavaScript] Blob의 사용법

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. Blob이란? Blob이란 Binary Large Object의 약어로, 단순히 이진 데이터 덩어리를 표현한 것이다. Blob(데이터의 배열, 파일의 종류(MIME타입)) 데이터의 배열 (첫 번째 인수) 첫 번째인수에는 Blob으로 변환할 데이터의 배열을 전달한다. 파일의 종류 (MIME 타입, 두 번째 인수) 두 번째인수에는 데이터의 종류를 문자열의 MIME 타입으로 지정한다. MIME 타입에 대해는 이 사이트에 가장 잘 나와있으므로 참고하길 바란다. 예를 들면, 다음과 같은 것을 지정한다. text/plain application/json 텍스트 파일을 Blob으로 다운로드..

IT/언어 2023.07.21

Vue2와 Vue3의 차이

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. 이 포스트에서는 Vue2와 Vue3의 차이점을 몇 가지 픽업해서 간단하게 소개하고자한다. Composition API Vue2와의 가장 큰 변경점이라고 한다면 Composition API가 도입된 것이다. 이로 인해 Vue의 그러나 Composition API를 사용하면 아래와 같이 바뀐다. 상세한 내용에 대해서 설명하자면 길어지므로 다음에 기회가 된다면 구체적으로 설명하도록 하겠다. Fragments vue2에서는 컴포넌트의 루트 요소가 1개일 필요가 있었다. ... ... ... ({ ... }) }).mount('#app') 라이프 사이클 Vue3에서는 라이프 사이클의 일..

IT/기초 지식 2023.07.12

[Junit] static 메소드의 Mock화

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. 테스트 대상 코드 테스트 대상 클래스 import org.springframework.stereotype.Service; @Service public class SampleService { public String sampleMethod() { // static메소드를 호출 return SampleStatic.staticMethod(); } } static 메소드를 가진 클래스 public class SampleStatic { public static String staticMethod() { return "real method"; } } 테스트 코드 build.gradle에 ..

IT/언어 2023.07.11

그림으로 이해하는 SOLID 원칙

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. 이 포스트는 Ugonna Thelam 저자가 작성한 "The S.O.L.I.D Principles in Pictures"을 번역한 것입니다. 시작하기에 앞서 오브젝트 지향 프로그래밍에 정통한 사람이라면 SOLID 원칙에 대해서 들어본 적이 있을 것이다. 이 다섯 가지의 소프트웨어 개발 원칙은 소프트웨어 구축시에 따라야 할 가이드 라인으로 소프트웨어의 확장성이나 보수성을 높이기 위한 것으로, 소프트웨어 엔지니어인 Robert C.Martin이 제안한 것이다. SOLID에 관한 멋진 설명은 인터넷 상에 굉장히 많지만, 일러스트가 있는 것은 거의 보지 못했다. 따라서 나와 비슷한 시..

IT/기초 지식 2023.07.09

[Spring] @Autowired

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. 이번 포스트에서는 Spring 프레임워크에서 이용되는 @Autowired의 인젝션 종류에 대해서 살펴보자. Spring을 거의 만져 본 경험이 없는 사람들을 위한 내용이 될 것이다. @Autowired이란? 간단히 말하자면, 사용하고자하는 클래스의 인스턴스화해주는 어노테이션이다. 기재하는 것으로 클래스 내 New연산자없이 인스턴스화를 한 번에 할 수 있다는 장점이 있다. public class HogeClass{ @Autowired private HugaService hugaService; ... } 예로 설명하자면 어노테이션을 사용하는 것으로 클래스 내의 HogeService..

IT/WEB 2023.07.09

[DDD] Entity, VO, DTO 등 관련 용어 정리

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. 워크 프레임(Java)에서의 문맥 Entity Java Persistence API, AOD.NET등등, 각종 프레임 워크에서 대체로 "O/R맵핑의 단위"로 사용되고 있는 워드. 워크 프레임의 힘을 빌려 데이터 베이스의 구구현을 의식하지 않고 데이터 구조를 획득할 수 있다. Plain Old Java Object(POJO) Entity와 같은 특정 워크 프레임에 의존하는 기능이 필수가 아닌, 용어 유래의 "보통의 오브젝트"를 사용하는 것이 좋을 때, 그것을 강조하고 싶을 때 사용하기 위해 Martin Fowler가 만든 단어이다. Data Transfer Object(DTO) ..

IT/기초 지식 2023.07.03

코드 리뷰의 코멘트에 태그를 사용하여 심리적 안전성 올리기

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. GitHub의 Pull Request 리뷰에 대해서 코드 리뷰에서 먼저 제일 중요하게 여기는 것은 "요구를 만족하는 동작이 구성되어 있는가"이다. 그리고 다음은 이러한 점을 중시하여 리뷰하고 있다. 외부 서비스의 특수한 동작이나 세큐리티등을 고려하고 있는가? 버그가 발생했을 때에 검지할 수 있도록 되어 있는가? 향후에 수정하기 힘들게 되어 있지는 않은가? N+1문제등 퍼포먼스 문제는 없는가? 그리고 이러한 기준으로 코멘트를 쓸 때에 다음과 같이 태그를 나눠서 작성하고 있다. must : 절대적으로 고쳤으면 할 때, 강한 지적이므로 상대의 프라이드에 상처를 주지 않도록 주의하면서..

IT/기초 지식 2023.06.28

검색 속도가 빨라지는 데이터베이스 설계

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 존재할 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. 우리 회사의 검색 DB에 대한 간단한 설명 먼저 전제로서 우리 회사에서 다루고 있는 데이터에 대해서 가볍게 소개하고자한다. 다루는 데이터의 복잡도 예를 들어, 여행 회사용 어플리케이션이라면 숙박 요소 정보로 다음과 같은 것들을 보유하고 있다. 호텔 정보 (약 2만건)플랜 정보 (조식 여부 등) (0~1500건/시설)고객 정보 (~100건/시설)재고 (~366일분)요금 (~366일 제곱 x 10인수 패턴 세제곱 x 5패턴의 숙박하는 사람의 구분 세 제곱 / 플랜) 전개하면 요금 데이터로는 10~100 건의 주문이므로 복잡하다. 1. 1개의 객실이 여러 개의 플랜으로 판매되므로,..

IT/기초 지식 2023.06.25
728x90