728x90

IT/기초 지식 118

수완이 좋은 엔니지어에게 배운 예외에 대한 이야기

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 존재할 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. 예외의 사고방식 근원 예외또란 무엇인가? 보통 이것을 에러이며 무언가 제대로 되지 않았을 때에 알려주는 것(에러가 아닌 예외도 있지만, 현 시점에서는 이 부분은 신경쓰지 않도록 하자) 역할을 한다. 일부의 프로그래밍 언어는 에러를 반환값으로 반환하는 것을 장려하고 있으며, 당신은 반환 값을 확인한다. Python 경우 예외의 사용을 장려하고 있는 언어이며, 이러한 처리에 대해 고려할 필요가 있다. 예외는 반드시 프로그램의 충돌을 일으키는 것은 아니다. 예외는 처리할 수 있다. 예외의 원인인이 완전히 코드 버그(존재하지 않는 변수에 접근하는 등)일 수도 있지만 예외의 발생을 예..

IT/기초 지식 2023.08.09

Vue2와 Vue3의 차이

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

IT/기초 지식 2023.07.12

그림으로 이해하는 SOLID 원칙

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

IT/기초 지식 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

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

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

IT/기초 지식 2023.06.20

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