[Loft - 기획] ERD 산출
·
사이드 프로젝트/Loft
ERD 산출 가장 기본적인 회원과 CRUD에 대한 ERD를 산출해 봤습니다. 백엔드를 제가 한 번도 사용해보지 않은 Nest.js를 사용해서 구축할 것이기 때문에 최소한의 테이블만 정의했습니다.기능이 늘어나는 데로 ERD를 수정하며 개발하려고 합니다. 새로 알아가는 사실TimeStamp vs DateTimeTimeStamp와 DateTime 둘 다 같은 형식(YYYY-MM-DD HH:MM:SS)을 보여서 어떤 자료형을 선택할지 고민이 됐습니다.그래서 TimeStamp와 DateTime의 차이를 찾아봤습니다.TIMESTAMP- UNIX timestamp- 4바이트- 표현 범위 : 1970-01-01 00:00:01 ~ 2038-01-1903:14:07 - time zone에 따라감- 저장 시 UTC 시간으..
[Loft] 개발자를 위한 블로그 기획하기
·
사이드 프로젝트/Loft
개발자가 갖춰야 하는 소양은 무엇일까요?제가 생각해 봤을 때, 개발자한테 가장 중요한 것은 문제 해결 능력입니다.그 뒤를 잇는 것은 네트워킹 능력이라고 생각합니다.우물 안에 갇히지 않고 빠르게 변하는 트렌드를 쫓아가려면 네트워킹은 필수라고 생각합니다.정보 공유를 위한 블로그 플랫폼은 잘 구축되어 있는 서비스가 많습니다.(tistory, velog, etc)저는 블로그를 제가 공부한 것을 정리하거나 궁금한 정보를 찾아볼 때 사용하는데, 블로그를 사용할 때 아쉬운 점은 소통이 단방향적이라고 느꼈습니다.포스팅이나 글 작성자에게 궁금한 점이 생기면 직접적으로 채팅을 하여 쌍방향 소통을 할 수 있는 플랫폼이 있다면 어떨까요?이에 정보 공유 + 글쓴이 간의 교류를 위한 블로그 플랫폼 Loft를 기획하고 있습니다.(..
JWT란?
·
Web
JSON Web Token이란 무엇일까?웹에서 인증을 구현할 때, 세션 기반 인증을 선택하거나 JWT를 사용한 인증 방법을 선택합니다.여기서 사용되는 JWT가 정확히 무엇인지 알아보겠습니다. 우선 RFC 7519에 정의된 JSON Web Token을 알아보겠습니다.JSON Web Token (JWT)은 두 당사자 간에 전달될 클레임을 나타내는 간결하고 URL에 안전한 수단이다. JWT의 클레임은 JSON 객체로 인코딩 되어 JSON Web Signature(JWS) 구조의 페이로드 또는 JSON Web Encryption(JWE) 구조의 평문으로 사용되며, 이를 통해 디지털 서명 또는 무결성 보호(Message Authentication Code(MAC) 및/또는 암호화)가 가능합니다. 간단하게 해석하면..
[JavaScript] JIT Pipeline
·
Javascript
크롬 브라우저와 Node.js에서 사용하는 자바스크립트 런타임인 V8 엔진은 코드의 실행 중에 컴파일을 동시에 수행하는 JIT(Just in time compilation)이 구현되어 있습니다.V8 엔진에서 JIT이 어떻게 작동하는지 간략하게 알아보겠습니다. V8 엔진에서의 코드 실행과정자바스크립트 코드 파싱크롬 혹은 Node.js가 자바스크립트 코드를 실행하면, 소스들이 V8 엔진으로 전달됩니다.V8 엔진은 전달된 자바스크립트 코드를 파서로 전달하고, 파서는 전달된 코드를 파싱 하여 추상 구문 트리(AST)로 변환합니다. 추상 구문 트리(AST)는 다시 Ignition 인터프리터로 전달됩니다. 바이트코드 생성 및 실행Ignition 인터프리터로 전달된 AST는 Ingition 인터프리터에 의해 바이트코..
[Javascript] Selection & Range
·
Javascript
최근 모 기업의 과제를 진행했는데, 평소에는 당연시 여기는 기능을 구현하는 것이었습니다.이 기능을 구현하면서 Selection API와 Range에 대해 처음 알게 되었고, 당연히 과제를 미흡하게 완성했습니다.최근 회사에 입사지원서를 넣으면서 자기소개로 "기본에 충실하면서 ~"라는 문구를 넣었는데, 과제를 진행해 보니 기본에 충실하지 못하다는 것을 깨달았습니다.기본에 충실한 개발자가 되도록하는 노력의 일환으로 Selection API와 Range에 대해 조사해 봤습니다.  Selection API를 사용하려면 우선 Range 객체에 대해 알아야합니다.RangeRange는 사전적으로 시작점과 끝점의 쌍(Pair)을 의미합니다.Range 객체는 Selection의 범위를 관리하는 객체입니다. Range 객체..
2024년을 보내며
·
일상
기록을 남기는 습관을 기르고자 2024년을 회고합니다.2024년은 1년 동안 SSAFY 생활을 했기 때문에 사실상 SSAFY 후기입니다.😁 SSAFY 11기 합격4학년 2학기가 끝난 후에 취업을 어떻게 준비할까 고민하던 중,삼성 청년 SW 아카데미(SSAFY) 11기에 합격해서 광주에 내려가게 되었습니다.대학교를 다니는 동안 용인에서 자취를 했었어도 광주라는 상대적인 먼 도시로 가는 것은 고민됐지만,취업을 제외하고도 좋은 경험이 될 거 같아 입가를 결정했습니다. SSAFY에서의 1학기SSAFY에서 1학기는 자바, 스프링, 알고리즘등 기초적인 지식을 학습합니다. 자바나 스프링은 재밌었지만, 알고리즘은 어려웠습니다.한 번은 주간평가 때, 너무 긴장한 나머지 알고리즘 평가에서 과락을 했습니다.🥲학부시절 알..
[호텔] 리틀 오아시스 호이안 후기
·
여행
이번에 다낭을 처음 가게 되어 호텔을 어디에 잡을지 고민했다. 다낭은 큰 도시지만 주변에 볼 게 없다고 들었고 인터넷을 찾아보니 호이안에 대한 호평과, 또 호이안에 숙소가 가성비가 좋다는 말을 들어서 호이안에 숙소를 잡았다. 많은 호이안 호텔중에서도 리틀 오아시스 호이안을 골랐다. HTML 삽입 미리보기할 수 없는 소스 호텔예약 사이트에서 후기를 보았을 때 장단점은 다음과 같았다. 장점 - 2023년에 지어진 신축 5성급 호텔 - 저렴한 숙박 비용 - 맛있는 조식 - 초!!! 친절한 서비스 - 올드타운까지 셔틀 단점 - 올드타운까지 걸어가기엔 꽤 거리가 있음 - 작은 호텔 - 작은 수영장 단점보다 장점이 압도적, 특히 같은 호텔 체인에서 운영하는 Allegro보다 훨씬 저렴하고 신축이라는 점 때문에 선택..
React 테스팅하기
·
TDD
react 어플리케이션을 테스팅하기 위해 jest와 react testing library를 사용한다. 두 라이브러리는 각각 테스트에서 어떤 부분을 맡고 있을까? React Testing Library React testing library는 테스트를 위한 가상 DOM을 제공한다. 브라우저에서의 실제 DOM이 아닌 node 환경에서의 가상 DOM을 사용한다. 이 가상 DOM의 node들과 상호작용할 수 있는 함수들을 제공하고 사용자가 화면에서 요소를 찾는 것과 유사하게 node들을 선택할 수 있는 기능을 제공한다. 따라서 마치 실제 사용자가 어플리케이션을 조작하는 것처럼 테스트를 할 수 있다. 기본적으로 다음과 같이 사용한다. import {render, screen} from '@testing-..
후쿠오카 여행 첫째 날
·
여행
2023.02.21 두 달 전 친구들과 후쿠오카로 여행을 갔다 왔다. 당일 대학교 수강신청일이어서 공항에 미리 와서 수강신청을 했는데 거하게 실패했다. 지나간 일은 지나간 일이니 잊어버리고 여행을 즐기기로 했다. 1시 비행기여서 여차저차 체크인을 하고 면세품 구역으로 들어왔더니 신기한 조형물이 있었다. 마치 해리포터에 나오는 괴물 거미처럼 생겼다. 비행기를 타고 후쿠오카로 가는데 구름 한 점 없는 맑은 날씨였다. 비행기를 몇 번 타보았지만 이렇게 맑은 날씨는 처음이었다. 워낙 맑아서인지 창밖을 바라보니 아래로 지나가는 비행기들이 올챙이처럼 보였다. 후쿠오카 공항에 도착하여 입국수속 절차를 밟았는데 코로나 이전보다 복잡했다. 나이 드신 분들과 처음 일본에 오신 분들이 헤매고 있는 모습을 볼 수 있었다. 입..
애플실리콘 맥(m1, m2)에서 kali linux 설치하기
·
보안
m1 및 m2등 애플실리콘 맥에 kali linux 설치하기 전공 수업에 실습으로 kali linux를 사용할 일이 생겼다. 애플실리콘에 kali linux를 어떻게 설치하는지 알아보자. 이미지 파일 다운로드 하기 kali linux 공식홈페이지로 가서 애플실리콘용 이미지를 다운로드한다. Installer Image 카테고리를 누르고 애플실리콘을 선택한다. Installer를 눌러 다운로드를 한다. 가상머신 설치하기 우선 kali linux를 올릴 가상머신을 설치한다. virtual box나 vmware 등이 있지만 맥을 위한 가상 머신인 UTM을 사용하기로 했다. 애플 앱스토어에서 다운로드하면 15000원이지만 공식 홈페이지에서 다운로드하면 공짜이다. 따라서 공식홈페이지에서 다운로드 하도록 하자. 설치..