본문 바로가기

반응형

전체 글

NextJS 라우팅 원리 ReferencesRoutingDefining RoutesRoles of Folders and FilesNext.js 는 파일 시스템 기반 라우터이다.Folders: 라우트(경로)를 정의하기 위해 사용된다.Files: 파일들은 라우터 요소를 표현하는 UI를 생성하기 위해 사용된다.Route Segements각각의 폴더는 라우트 요소를 나타내며 이 요소들은 URL 요소에 그대로 맵핑된다.예를 들어 아래와 같은 URL 이 있을 경우tistory.com/dashboard/posts각각 app이란 최상위 폴더 하위에 dashboard 폴더가 생성되고, dashboard 폴더 하위에 posts 가 생성되는 격이다.그리고 각 폴더 내 page.js(또는 page.tsx) 파일이 라우트 요소의 UI 요소들을 표현한다.. 더보기
NextJS란? 설치하고 알아보기 React ?Facebook 에서 만든 Javascript 사용자 인터페이스 라이브러리개발된 이유초기에는 Web 개발을 위한 프론트엔드 라이브러리로 DOM조작을 쉽게 해주는 jQuery 라이브러리가 주로 사용되었다.그러나, 이에 한계를 느낀 개발자들이 컴포넌트 기반 UI 개발을 지원하는 라이브러리가 개발하였다. 대표적으로는 Angular, React, Vue 가 있다.React 를 사용하는 이유리액트는 자바스크립트 기반의 문법을 사용하기 때문에 자바스크립트에 익숙하다면 보다 쉽게 사용이 가능하다.특징가상 DOM(Virtual DOM)리액트는 브라우저가 관리하는 실제 DOM이 아닌 가상 DOM을 사용하여 UI 업데이트를 처리한다.단방향 데이터 흐름데이터의 흐름을 단방향으로 유지한다. -> 장점을 아직 이해.. 더보기
OAuth2 와 OIDC OAuth2란?OAuth2는 리소스 소유자가 제3자 애플리케이션에게 자신을 대신하여 리소스에 접근할 수 있는 권한을 부여하는 프로토콜. 이는 주로 권한 부여에 중점을 두고 있으며, 인증(Authentication)보다는 권한 부여(Authorization)에 더 관련이 깊다.주요 구성 요소:리소스 소유자(Resource Owner): 리소스에 접근할 수 있는 사용자.클라이언트(Client): 리소스 소유자를 대신하여 리소스에 접근하려는 애플리케이션.권한 부여 서버(Authorization Server): 권한 부여 요청을 처리하고, 액세스 토큰을 발급하는 서버.리소스 서버(Resource Server): 보호된 리소스를 호스팅하는 서버.OIDC란?OIDC(OpenID Connect)는 OAuth2를 기반.. 더보기
비트연산으로 숫자 범위의 AND 연산 문제: https://leetcode.com/problems/bitwise-and-of-numbers-range/description/?envType=daily-question&envId=2024-07-11위 문제는 주어진 숫자 n에 대해 n-1을 비트로 표현하는 방법과, n & n-1의 관계를 들여다 보면 힌트를 얻을 수 있다.1. 자바 비트연산 기본 쓰임 방법자바에서 비트연산은 다음과 같은 연산자로 수행된다.AND 연산 (&): 두 비트가 모두 1일 때만 1, 그렇지 않으면 0.OR 연산 (|): 두 비트 중 하나라도 1이면 1, 그렇지 않으면 0.XOR 연산 (^): 두 비트가 다를 때만 1, 같으면 0.NOT 연산 (~): 모든 비트를 반전 (0은 1로, 1은 0으로).비트 이동 연산 (>, >>.. 더보기
1부 스토리지 엔진 :: 2장 - B-트리 개요 불변성: 저장 구조의 설계와 구현 방식을 결정하는 중요한 속성 가변 자료 구조는 인플레이스 업데이트 방식을 사용한다. 데이터 삽입 및 삭제, 업데이트 시 데이터 저장 위치에 새로운 데이터를 바로 쓰는 방식이다. 이진 탐색 트리 Binary Search Tree는 정렬된 인메모리 자료 구조로, 키-값 쌍 검색에 사용된다. BST는 키와 두 개의 자식 포인터가 저장된 여러 노드로 구성된다. 탐색은 루트 노드에서 시작하고 트리에는 단 한 개의 루트 노드만 있을 수 있다. 트리 밸런싱 노드 삽입 작업에는 특정 패턴이 없으며, 삽입하는 값에 따라 트리가 불균형해질 수 있다. 불균형 트리란 트리가 한쪽으로 길게 뻗은 최악의 상황을 나타낸다. 균형 트리란 노드 개수가 N일 때 높이가 log2N이고 두 서브트리의 높이.. 더보기
1부 스토리지 엔진 :: 1장 - 소개 및 개요 스토리지 엔진 DBMS에서 데이터를 메모리와 디스크에 저장하고 검색 및 관리하는 소프트웨어 컴포넌트 각 노드에 데이터를 영구 저장한다. 데이터베이스가 복잡한 쿼리를 수행할 수 있도록 API를 제공한다. 스토리지 엔진 위에서 스키마와 쿼리 언어, 인덱싱, 트랜잭션 등의 유용한 기능을 제공하는 애플리케이션이라고 볼 수 있다. 스토리지 엔진의 비교 스토리지 엔진을 비교할 때는 장점과 단점을 모두 살펴봐야한다. 모든 스토리지 엔진에는 유사한 문제와 제약 조건이 있다. 특정 인구수를 기준으로 도시를 설계한 뒤, 건물을 위로 높일지 또는 외곽 영역으로 확장할 지 결정하는 도시 계획 문제와 비교할 수 있다. 스토리지 엔진 개발자의 설계에 따라서 일부 엔진은 읽기와 쓰기 레이턴시를 최소화하고, 일부는 저장량을 극대화하.. 더보기
Oplog / Startup_log MongoDB는 HA(High Availability)를 위해 클러스터를 구축하는 개념이 Replica Set이다. 이 클러스터를 구축하기 위해서 각각의 데이터베이스 서버들은 Primary, Secondary, Arbiter라는 역할을 가질 수 있으며 P-S-S, P-S-A 구조를 통해 레플리카셋을 구축할 수 있다. Secondary는 Primary가 문제가 생겼을 때를 위해 존재하는 대타이다. 그렇기 때문에 데이터 변경을 처리할 수 있는 유일한 멤버는 Primary이며, Primary는 변경사항을 Oplog에 기록하여 나머지 멤버들이 Primary 와 동기화를 비동기적으로 진행할 수 있도록 하는 것이다. Oplog Oplog는 capped collection 이라는 특수한 컬렉션에 저장된다. 마스터 노.. 더보기
Azure SDK Keyvault Python CLI 로 사용해보기 라이브러리 사용을 위한 개발 환경 구성은 해당 문서를 참고하시면 됩니다. Python 가상환경 준비 Azure SDK Keyvault Client Python Library 을 사용하기 위해서는 파이썬 설치 및 가상환경이 준비되어야 합니다. 저는, 이미 구성되어 있어 해당 구성은 건너뛰고 시작하였습니다. 혹시, 가상환경 구축이 별도로 필요하신 분은 이 링크와 위 개발 환경 구성 문서를 참고하세요.(중요! Python >= 3.7) Azure SDK Keyvault Client Library 설치 및 사용 해당 도큐먼트 참고하여 라이브러리를 설치하고, CLI 환경에서 로그인, Azure 그룹 생성 Keyvault 생성까지 해보겠습니다. 1. azure-keyvault-certificates 설치 2. az.. 더보기

반응형