전체 글

현재 세상에 가치를 전한다는 이념으로 코드를 작성하고 있습니다. 그를 위해 다양한 인사이트를 추구하며 살아가고 있습니다.
· 회고록
성장한 점 1. 협업을 위한 도구(github, 노션, 슬랙, 주간 회의)에 이전보다 수월해짐 : 백엔드와 프론트간의 온라인 과정에서는 무엇보다 소통이 중요했고 이게 어긋나면 오히려 개발을 진행해 데드라인을 맞춰야 하는데, 다른 부분(github branch 충돌, github pull이 안됨, 지금까지 branch 정보가 날라감 등)에 시간을 넣어야 했기 때문입니다. 이 과정에서 이전보다 생존형(?)으로 github에 익숙해질 수 있었습니다. 또한 의사소통이 중요하다고 생각했기에 잦은 노션&슬랙(구름에서 관리하는 거라 공유드릴 수 없습니다ㅜㅠ)과 디스코드를 사용해봄으로써 전보다 수월해질 수 있었던 시간이였습니다. 2. 남을 이해시키기 위해 고민하는 시간을 가질 수 있었음 : 남을 이해시키는 데에 있어서..
· 협업
오늘은 프로젝트를 진행하던 중 CSR, SSR이 무엇인지 설명해드리지 못했습니다.. 따라서, 그에 대한 내용을 정리해드리고자 합니다.. CSR, SSR을 알기 이전에 먼저 SPA, MAP 키워드에 대해 먼저 파악해야 할 필요가 있을 것 같습니다..! SPA, MAP SPA(Single Page Application) : SPA란 하나의 페이지로 구성된 웹 어플리케이션입니다. ex) 헤더 고정 메뉴 선택 클릭한부분만 바뀌는 사이트들이 SPA입니다! MPA MPA (=Multi Page Application) : 탭을 이동할때마다, 서버로부터 새로운 HTML을 새로 받아와서 페이지 전체를 새로 랜더링 하는 전통적인 웹 페이지 구성방식 매번 새로운 HTML을 서버로부터 받아옴 + 전환시 화면 깜빡임 ⇒ AJA..
WAS 상 사용자 데이터 관리 WAS에서 서버의 회원의 데이터를 안전하게 관리하기 위해서 서버에서 사용자의 요청을 검증하는 과정이 필요하다고 생각했습니다. 쉽게 말해서, 서버에서 해당 사용자가 서버에 등록된 사람인지(인증)와 이 인증된 사용자가 서버 내 특정 데이터에 접근 or 특정 작업을 수행할 수 있는 권한을 가지고 있는지(인가)를 확인하는 과정은 필수적이라 판단했습니다. Session, JSON Web Token(JWT) TradeOff 인증과 인가에는 크게 Session 방식과 JWT 방식이 있음을 확인했습니다. 하지만, 이 두 가지 방식에 뭐가 더 좋다라고 판단하기 어려웠습니다. 따라서, 두 가지 방식과 특정 방식을 선택했을 때 어떤 트레이드 오프 과정을 거칠지 판단할 필요가 있겠다 생각했습니다..
· 협업
Git Branch 전략 왜 Branch 전략을 정해야 할까?? 혼자서는 그저 main이나 master 브랜치에 머지하는 게 기능 개발에만 집중하기에 편했습니다. 하지만 모두와 함께 개발을 진행해가는데에 있어, 다른 분이 master에 푸시를 했는데 내가 Pull을 안하고 개발을 진행한다면?? 이게 중첩된다면?? 모든 코드를 다시 봐야하고 프로그래밍에 집중하지 못한 채 충돌난 부분만을 들여다봐야 할 것입니다. 즉, master 브랜치에서 작업하는 사람의 수가 늘어남에 따라 병합 충돌 횟수가 늘어납니다. Github Flow 사용되는 브랜치 - main : 언제든 Stable한 상태여야 한다. - topic : main 브랜츠로부터 파생시켜 브랜치 생성 ex. user-login-jwt, submoudl..
· OS
EXT4 EXT4 의 구조는 부팅과 파티션 관리를 위한 MBR 영역 이후에 여러 개의 Block Group 으로 나누어져 있다. 아래 그림은 EXT4의 전체적인 구조를 나타낸 것이다. 각 Block Group 은 총 6개로, SuperBlock, File descriptor table, data bitmap, inode bitmap, inode table, data 영역으로 나누어져 있다. 1. Super block Super block 은 전체적인 파일 시스템의 정보를 담고 있다. 총 inode 갯수, 총 블록 갯수, 볼륨 라벨명, 블록 사이즈 등의 전체적인 파일 시스템의 틀을 규정하고 있다. Super block은 여러개의 Block Group에 모두 동일한 값으로 저장되어 있다. 2. Block d..
Architecture 우리가 폴더 구조를 나누는 이유는 뭘까요?? 저는 각 폴더마다 고유의 역할이나 책임이 있고 이를 효율적으로 분리해놓기 위해서라고 생각합니다. 그래야 이후에 또 작업을 진행할 때 있어서 한눈에 전체 구조를 파악하기 쉽기 때문입니다! 이를 곧 아키텍처라고 일컫습니다. Architecture 는 뭘까요? : 사실 아키텍처의 정의에 대해서 정답이 존재하지 않습니다. 따라서, 이런 흐름이구나 정도로 이해해주시면 좋을 것 같습니다. - 시스템 구성 및 동작 원리를 나타낸 것 - 구성 요소 간의 관계 및 시스템 외부 환경과의 관계를 묘사하는 것 - 시스템의 전체적인 최적화를 목표로 하는 것 위 내용을 정리하면 "하나의, 서비스가 어떻게 구성되며 어떻게 동작된다"로 이해하시면 편하실 거 같습니다..
WolrdOtaku
어제보다 오늘 더