열심히 살아나갈 사람
article thumbnail
CI/CD란?
DevOps 2023. 12. 9. 22:16

CI(Continuous Integration)와 CD(Continuous Delivery 및 Continuous Deployment)는 소프트웨어 개발 프로세스를 더 빠르고 효율적으로 만드는 방법론입니다. CI(Continuous Integration) CI는 Continuous Integration의 약자로, 개발자들이 작업한 코드를 중앙 저장소에 자주 통합하는 것을 말합니다. 이 방법론은 코드 변경 사항을 빠르게 찾고 이해하게 도와주며, 코드 기반을 일관성 있게 유지하는 데 도움이 됩니다. CI 과정은 개발자가 코드를 중앙 저장소에 푸시(push)하면 자동으로 코드를 빌드하고 테스트하는 과정을 포함하며, 이를 통해 코드 결함이나 충돌을 빠르게 발견하고 수정할 수 있습니다. CD(Continuous ..

article thumbnail
Session의 흐름과 Session관리의 정리
Web Security 2023. 12. 8. 23:29

사용자 세션의 흐름 사용자가 최초로 서버에 접속하면, 서버는 사용자를 식별하기 위해 세션 ID를 생성하고 이를 사용자에게 전달합니다. 이 세션 ID는 쿠키를 통해 사용자의 브라우저에 저장됩니다. 사용자가 로그인을 시도하면, 서버는 사용자의 아이디와 비밀번호를 확인하고, 이 정보가 정확하다면 해당 사용자의 세션 데이터에 로그인 정보를 저장합니다. 서버는 필요에 따라 세션 데이터에 추가적인 속성값을 저장할 수 있습니다. 예를 들어, 사용자의 아이디나 권한 등의 정보를 저장할 수 있습니다. 사용자가 서버에 요청을 보낼 때마다 서버는 세션 ID를 통해 사용자의 세션 데이터를 확인하고, 이를 통해 사용자를 식별하고 인증합니다. 로드 밸런싱(Load Balancing) 로드 밸런싱은 사용자의 요청을 여러 서버로 분..

article thumbnail
React Router
JavaScript/React 2023. 12. 7. 21:14

React Router란? React Router는 Single Page Application(SPA)에서 페이지를 이동하는 것처럼 보이게 하는 라이브러리입니다. 이 라이브러리를 사용하면 사용자가 페이지 이동 없이 (즉, 페이지를 새로 로딩하지 않고) 다양한 뷰를 볼 수 있습니다. React Router는 react-router-dom 패키지 이름으로 설치할 수 있으며, 주요 컴포넌트로 BrowserRouter, Route, Switch(v5) 또는 Routes(v6) 등을 제공합니다. React Router 설치 React Router를 설치하려면 터미널에서 다음 npm 명령어를 실행합니다: npm install react-router-dom React Router 사용하기 React Router를 사..

Node.js와 npm 설치 및 React App 사용법
JavaScript/React 2023. 12. 7. 19:39

Node.js와 npm 설치 React를 사용하기 위해서는 Node.js와 npm(Node Package Manager)이 필요합니다. Node.js는 JavaScript를 브라우저 외부에서 실행할 수 있게 해주고, npm은 JavaScript 라이브러리를 설치하고 관리하는 데 사용됩니다. Node.js 공식 웹사이트 https://nodejs.org/에 접속하여 운영 체제에 맞는 LTS 버전을 다운로드합니다. 다운로드한 설치 파일을 실행하고 지시사항을 따라 설치를 완료합니다. 설치가 완료되면 터미널에서 node -v와 npm -v 명령어를 실행하여 Node.js와 npm이 정상적으로 설치되었는지 확인합니다. Create React App 설치 Create React App은 새로운 React 애플리케이..

Visual Studio Code 설치 및 Git Clone하기
IDE/VS Code 2023. 12. 7. 19:26

안녕하세요. 오늘은 편리한 코드 편집기인 Visual Studio Code를 설치하고, Git을 이용하여 프로젝트를 복제하는 방법에 대해 알아보겠습니다. Git은 설치되어 있고, 내 git 레파지토리가 있을 경우를 가정하에 진행하도록 하겠습니다. Visual Studio Code 설치하기 먼저, Visual Studio Code 공식 웹사이트(https://code.visualstudio.com/)에 접속합니다. 웹사이트 상단의 'Download' 버튼을 클릭합니다. 운영 체제에 맞는 버전을 선택하여 다운로드합니다. (Windows, macOS, Linux 등) 다운로드된 설치 파일을 실행하고, 설치 지시사항을 따라 설치를 완료합니다. Git을 이용하여 프로젝트 복제하기 복제하려는 프로젝트의 Git 저장..

시간복잡도
Data Structure 2023. 12. 7. 14:43

시간 복잡도는 알고리즘이 실행되는 동안 수행되는 연산의 횟수를 나타내는 개념으로, 알고리즘의 효율성을 평가하는 데 사용됩니다. 특히 'Big O 표기법'은 최악의 경우를 나타내는데 사용되며, 시간 복잡도를 표현하는 가장 일반적인 방법입니다. 시간 복잡도는 입력값의 크기에 따라 알고리즘이 얼마나 많은 연산을 수행하는지를 나타냅니다. 다음은 몇 가지 대표적인 시간 복잡도와 그에 대한 설명입니다: O(1): 상수 시간. 입력값의 크기와 무관하게 항상 일정한 시간이 걸립니다. 예를 들어, 배열의 특정 인덱스에 접근하는 연산이 이에 해당합니다. O(log n): 로그 시간. 입력값이 두 배로 늘어날 때마다 한 단계씩 더 걸립니다. 예를 들어, 이진 탐색이 이에 해당합니다. O(n): 선형 시간. 입력값의 크기에 ..

가비지 컬렉션(Garbage Collection)
Java 2023. 12. 7. 13:36

가비지 컬렉션(Garbage Collection)이란? 자바의 가비지 컬렉션(Garbage Collection)은 자바의 메모리 관리 방법 중 하나로, 더 이상 사용되지 않는 메모리를 자동으로 회수하는 역할을 합니다. 이런 메모리 관리 방법은 프로그래머가 직접 메모리를 할당하거나 해제하는 일을 하지 않아도 되므로 메모리 누수나 해제되지 않은 메모리로 인한 문제를 방지할 수 있습니다. 가비지 컬렉션의 과정 자바의 가비지 컬렉션은 크게 4가지 단계로 이루어집니다. Marking: 가비지 컬렉터는 어떤 객체가 사용 가능한지(즉, 참조되고 있는지) 아닌지를 판별합니다. 더 이상 참조되지 않는 객체는 "가비지"로 표시됩니다. Normal Deletion: 표시된 가비지들은 메모리에서 제거됩니다. 이 과정에서 'S..

article thumbnail
Session, Cookie의 특징과 차이점
Web Security 2023. 12. 7. 02:46

세션(Session) 세션은 웹 사이트에 접속한 사용자를 서버측에서 식별하기 위해 사용하는 메커니즘입니다. HTTP는 기본적으로 상태를 유지하지 않는(stateless) 프로토콜이기 때문에, 사용자의 상태 정보를 서버측에서 유지하기 위해 세션이 필요합니다. 사용자가 웹 사이트에 로그인하면, 서버는 사용자의 ID와 같은 정보를 세션에 저장하고, 해당 세션에 대한 고유한 ID인 세션 ID를 생성하여 사용자에게 전달합니다. 이후 사용자가 요청을 보낼 때마다 해당 세션 ID를 포함시켜 서버에 전달하고, 서버는 이를 통해 사용자를 식별하고 상태 정보를 유지합니다. 세션은 로그인 상태 유지, 쇼핑 카트 정보 저장, 사용자별 페이지 커스터마이징 등 다양한 목적으로 사용됩니다. 세션은 사용자가 로그아웃하거나 일정 시간..