728x90

분류 전체보기 430

[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

[Agile] 스크럼 개발에 있어서 기술적 스파이크 진행법

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 존재할 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. 스크럼에서는 스프린트에 투입할 프로덕트 백 로그 아이템은 Ready(준비가 되어 있다)일 필요가 있다. Ready로 해두는 것으로 성과를 일정하게 유지하면서, 프로덕트 오너나 이해 관계자의 입장에서는 예측 정확도를 향상 시킬 수 있다. Ready활동은 단순히 받아들여지는 기준을 준비하거나 프로덕트 백 로그의 내용을 정교화화거나, 나열하는 정도로 그치지 않는다. 스프린트내에서는 프로덕트 백 로그 아이템을 완성 가능성을 높이기 위해 필요한 활동 모든 것을 포함한다. 그리고 그 중에서 하나가 기술적인 조사이다. 스프린트에서는 프로덕트 백 로그 아이템의 개발에 착수한 후에 구현 방법..

소프트 웨어 개발 스케줄 견적 입문

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며, 틀린 내용은 지적해주시면 감사하겠습니다. 견적이란? 견적은 금액, 양, 기간, 행동을 미리 개산하는 것을 의미한다. 이러한 견적은 무언가를 행하기 전에 사전에 그 결과를 예상하는 것을 말한다. 견적을 사용하는 경우는 소프트웨어 개발에 한정된 이야기는 아니지만, 제조업에 있어 어떠한 소프트웨어 개발에 있어서는 "견적"이라는 업무가 다양한 경우에 등장하고 있다. 견적이 힘든 사람이 많다. 소프트웨어 개발에서는 "이 기능을 개발할 때는 어느정도 걸려서 완성됩니까?"을 견적내는 경우가 많다. 이러한 시간적 견적을 힘들어 하는 사람이 의외로 많다. "견적냈던 대로 끝나지 않으면 어쩌지?" 라던가 "이 작업 자체가 구체적으로 ..

IT/기초 지식 2023.06.20

시스템 설계의 흐름, 설계서의 구성

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. 상류 공정은 "요건 정의" → " 외부 설계" → "내부 설계"의 흐름에 따른다. 요건 정의 개발하는 시스템에서 원해지는 기능등의 요건을 정리하는 것. 예를 들어, 다음과 같은 것들이 있다. "패스워드 인증", "데이터 베이스 내의 검색"등의 기능 요건 "입력 데이터", "출력 데이터"의 사양 "보수성", "조작성" 등의 비기능 요건 작업 플로우 RFP(제안의뢰서) 작성이나 사전 조사등을 하여 정말 필요한 요건을 제대로 정밀하게 조사해간다. 여기서 정리한 내용을 바탕으로 개발을 진행하기 위해 모든 케이스를 생각하여 간과한 사양에 의한 변경 횟수를 줄일 수 있다. 요건정의 시에 ..

카테고리 없음 2023.06.18

UX 디자인의 5단계 모델

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 존재할 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. '프로덕트 개발에 있어서 UX가 중요하다는 것을 알지만 어떻게 하면 좋을지 모르겠다'라고 생각하고 있지 않은가? 이번 포스트에서는 UX을 디자인하는 방침인 "UX의 5단계 모델"에 대해서 설명하고자 한다. UX의 5단계 모델이란? UX의 5단계 모델이란. UX(User Experience)의 요소를 5개의 단계로 분류한 것이다. 이 개념에 대해 이해하기 위해서 그 전에 UX는 무엇인지에 대해서 알 필요가 있다. UX(=User Experience)이란? 유저가 프로덕트를 이용했을 때 얻게 되는 체험, 감정의 전체를 의미한다. 예를 들어 메시지 어플리케이션에서 친구와 연력하기,..

IT/기초 지식 2023.06.15

DB 설계 공유는 dbdocs를 이용하자

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. DB설계의 관리나 생성이 힘들지 않은가? 오늘은 DB 설계의 공유와 관리에 편리한 툴인 dbdocs에 대해서 이야기하고 한자. dbdocs를 사용하면, 설계의 가시화나 공유가 간단해진다. 이번에는 장점과 실제 사용법에 대해서 설명하도록 하겠다. dbdocs이란? dbdocs는 코드베이스(DBML)로 DB설계를 관리하고, URL로 공유하는 것이 가능한 툴이다. 데이터 베이스의 테이블 구조나 관계성을 과시화하여, 이것을 다른 팀 멤버나 기업의 이해관계자에게 쉽게 공유할 수 있다. dbdocs의 장점 dbdocs의 장점에 대해서 살펴보자. 1. 무료 맨 처음으로 dbdocs는 기본 ..

IT/기초 지식 2023.06.14

읽기 쉬운 코드를 쓰기 위한 가이드라인

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. TypeDoc를 활용하기 TypeScript용의 도큐멘트를 생성하는 툴이다. 메소드등의 처리를 보완해주므로 처리의 흐름등 여러 가지를 알기 쉽게 해준다. /** * @param a - the first number * @param b - the second number */ export function sum(a: number, b: number) { return a + b; } 비슷한 것으로 JavaScript 파일의 정보를 제공하는 JSDoc가 있지만, 데이터형 정보를 {String}과 같이 번거롭게 표기할 필요가 없으므로, 개인적으로는 TypeDoc을 좋아한다. 간결하지만..

IT/기초 지식 2023.06.11
728x90