728x90

IT/기초 지식 112

웹 서비스를 공개하기 전 체크 리스트 (엔지니어용)

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다.  보안인증과 관련된 Cookie 설정HttpOnly 속성이 설정되어 있을 것XSS의 완화책SameStie 속성이 Lax 혹은 Strict로 되어 있을 것주된 목적은 CSRF 대책, Lax의 경우 Get 리퀘스트를 갱신 처리를 하고 있는 엔드토인트가 없는지를 함께 확인Secure 속성이 설정되어 있을 것HTTPS통신만 Cookie가 보내지도록 설정Domain 속성이 적절히 설정되어 있을 것서브도메인에도 Cookie가 보내지도록 설정할 경우, 다른 서브 도메인의 사이트에 취약성이 있으면 사고로 연결되는 리스크를 이해해둘 것예를 들면 example.com의 Cookie가 채용 사이트..

IT/기초 지식 2024.07.09

가상 DOM (Vritual DOM)이란?

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. 이번 포스트를 통해서 Web개발에 중요한 개념인 DOM(Document Object Model)과 가상 DOM에 대해서 설명하고자 한다. 이 두 가지의 차이점을 이해한다면 보다 효율적인 Web어플리케이션 개발이 가능해진다. DOM이란? DOM은 HTML이나 XML 문서 프로그램에 따른 인터페이스를 의미한다. Web 브라우저가 HTML을 읽어들이면 그것을 해석해서 DOM 트리를 구축한다. 이 DOM 트리를 통해서 JavaScript등의 언어로 문서 내용이나 구조, 스타일을 조작하게 된다. 다음과 같은 HTML코드가 있다고 하자. 이 HTML을 DOM트리를 변환되면 html, he..

IT/기초 지식 2024.03.28

JWT(JSON Web Token)란?

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. JWT란? JWT이란 Json Web Token의 약어로 정보를 안전히 송수신하기 위한 오픈 스탠드이다. 짧고 간단하게 JWT는 HTTP 헤더나 쿼리 스트링으로 확실히 정보를 보내거나, 받을 수 있게 된다. 주로 유저 인증이나 정보 교환을 위해 사용된다. JWT는 "헤더", "페이로드", "시그니처" 세 부분으로 구성되어 있으며, 각각 Base64Url로 엔코딩된다. JWT의 필요성과 장점 그럼 여기서 JWT가 필요한 이유와 어떤 장점이 있는지에 대해 알아보자. JWT의 최대 장점은 "상태를 유지하지 않는" 성질이다. 즉, JWT는 정보 자체를 토큰 내에 보유하고 있으므로 서버..

IT/기초 지식 2024.03.10

2024년 2월부터 바뀌는 Gmail의 이메일 발신자 가이드 라인과 필요한 대응 정리

이메일 발신자 가이드라인 - Gmail 고객센터이 도움말의 가이드라인은 Gmail 계정으로 이메일을 성공적으로 전송하는 데 도움이 됩니다. Gmail 계정은 다음 계정 유형 중 하나입니다. @gmail.com 또는 googlemail.com으로 끝나는 개인 계정 Google Workspsupport.google.com 2024년 2월 1일부터 Google이 대량으로 메일을 보내는 발신자에 대한 가이드 라인을 변경한다는 공지를 올렸다. 여기서 대량으로 메일을 보내는 발신자의 기준은 1일에 5,000개 이상의 메일을 보내는 발신자이다. 이 가이드 라인을 위반했을 경우 이메일이 정상적으로 전송되지 않거나 스팸으로 표시 될 수 있으므로, 메일 관련된 기능이 있는 서비스를 운영하고 있는 경우 가이드 라인을 확인하..

IT/기초 지식 2023.12.11

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

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 존재할 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. 예외의 사고방식 근원 예외또란 무엇인가? 보통 이것을 에러이며 무언가 제대로 되지 않았을 때에 알려주는 것(에러가 아닌 예외도 있지만, 현 시점에서는 이 부분은 신경쓰지 않도록 하자) 역할을 한다. 일부의 프로그래밍 언어는 에러를 반환값으로 반환하는 것을 장려하고 있으며, 당신은 반환 값을 확인한다. 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
728x90