- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 배포
- 리팩터링 2판
- TWIL
- javascript
- MariaDB
- 에러핸들링
- LEVEL1
- Git
- 코딩테스트
- typescript
- CSS
- First Project
- 오늘도 개발자가 안된다고 말했다
- LEVEL 2
- 아고라스테이츠
- Err-Handling
- sql
- TMIL
- java
- TIL
- LEVEL 1
- react
- Refactoring
- 알고리즘
- CRUD
- mongodb
- 코어 자바스크립트
- Docker
- 면접을 위한 cs 전공지식 노트
- 프로그래머스
목록CodeStates/Section 3 (백엔드) (36)
성장에 목마른 코린이
이번 섹션은 특히나 후반부에 들어설 때 그냥 너무 지쳐있었습니다. 섹션 2에 비해서 정말 어려웠진 않았지만, 기수 이동을 하지 못해 계속해서 어려운 부분을 지속적으로 학습해야하다보니 몸과 멘탈이 많이 힘들었던 것 같습니다. 공부를 하기싫다는 순간이 후반부에 갈수록 많이 커졌고, 페이스가 너무 빠르다는 느낌을 계속해서 받았습니다. 진짜 부족한게 너무 많다라고 진행하는 거의 매순간 느꼈습니다. 하지만 멘탈나가도 계속해서 조금씩 쉬어주면서, 스터디 원과 함께 어려운 부분을 논의하고 고민을 나누면서 힘도 냈기에 섹션3를 통과 할수 있지 않았나 싶습니다. 같이 HA 이틀 전부터 중요할 것같은 토큰 복습을 한게 정말 제가 이번 HA를 패스하는데, 중요한 역할을 하지 않았나 생각합니다 진짜 어려운 섹션3 동안 버텨준..
S3에 대한 설명 S3는 데이터를 저장할 수 있는 스토리지 서비스다. S3의 버킷 레벨에서 버전 관리를 활성화 할 수 있다. S3의 데이터를 외부로 노출하지 않으려면 퍼블릭 액세스 차단을 활성화해야 한다. S3는 서버로부터 콘텐츠가 동적으로 변경/생성되지 않는, 정적 웹사이트에 한해서만 웹사이트 호스팅이 가능하다. S3 버킷을 정적 웹사이트 호스팅 기능을 활성화해 웹에서 접근 가능하게 만들었지만 403 Forbidden 에러가 발생한다면? 해당 버킷에 대한 모든 퍼블릭 액세스 차단을 비활성화 한다. S3 기본 용어와 해당 객체에 대한 정보 https://projects3deploy.s3.ap-northeast-2.amazonaws.com/static/js/2aa43b.chunk.js 리전(레기온): 아시..

RDS (Relational Database Service) AWS에서 제공하는 관계형 데이터베이스 서비스 RDS의 장점 1. 데이터베이스 유지 보수와 관련된 일들을 RDS에서 전적으로 관리합니다. 2. 다양한 데이터 베이스 엔진 선택지 제공 S3 (Simple Storage Service) AWS에서 제공하는 클라우드 스토리지 서비스 S3 사용시 장점 확장성: 데이터를 무한히 저장 가능 강력한 내구성: 99.99%의 내구성 보장 99.99%의 가용성 보장 (저장된 파일을 정상적으로 사용할 수 있는 시간 길어짐) 다양한 스토리지 클래스를 제공 S3 Standard: 가장 일반적으로 사용되고, 데이터에 자주 액세스 할 경우 사용 S3 Glacier: 데이터의 장기보관 목적, 데이터를 보관하는 데 드는 비용..

Amazon EC2(Elastic Compute Cloud) AWS에서 제공하는 클라우드 컴퓨팅 서비스 AWS에서 원격으로 제어할 수있는 가상의 컴퓨터를 대여 Instance: AWS에서 빌리는 컴퓨터 Amazon EC2의 장점 1. 구성하는데 필요한 시간이 짧음 2. 다양한 운영체제에 대한 선택이 가능 Amazon Machine Image (AMI) 인스턴스를 생성하는데 필요한 소프트웨어 구성(운영체제, App, App 서버)이 포함된 템플릿 AWS에서 빌릴 PC는 사용 용도에 맞게 운영체제, 런타임이 구성된 Setting을 설정할 수 있습니다. EC2 인스턴스 생성의 의미

Cloud Computing 기존 서버의 방식: 서버실에 컴퓨터를 배치 기존 서버의 한계: 주기적인 유지 관리 필요, 공간의 한계 클라우드 서버의 방식: 서버의 자원, 공간, 네트워크 환경 제공 클라우드 서비스의 장점 1. 필요할 때마다 컴퓨팅 능력을 유연하게 조절할 수 있습니다. 2. 사용한 만큼의 요금만 지불하면 됩니다. 3. 다른 컴퓨터로 즉시 이주(migration)가 가능합니다. 클라우드 서비스의 단점 1. 클라우드 서비스 종속(클라우드 서비스에 문제가 생기면 나한테도 영향) 2. 백엔드 구성 자체가 특정 회사의 기술로만 구성해야할 수 있음 Deploy 개발한 서비스를 사용자가 이용 가능하게 만드는 과정 작성한 코드가 다른 환경에서 정상 작동할 수 있게 하려면? 1. 절대 경로 대신 상대 경로를..
새로운 브랜치 생성 $ git branch 새로운 브랜치 이름 새로운 브랜치 생성 후 해당 브랜치로 전환 $ git switch -c 새로운 브랜치 이름 $ git checkout -b 새로운 브랜치 이름 브랜치 목록 확인 $ git branch 브랜치 목록과 각 브랜치의 최근 커밋 확인 $ git branch -v 브랜치 삭제 $ git branch -d 삭제할 브랜치 이름 $ git branch -D 해당 명령어는 병합하지 않은 브랜치를 강제 삭제하는 방법입니다. 브랜치 전환 $ git switch 브랜치 이름 $ git checkout 브랜치 이름 브랜치 병합 master 브랜치로 dev 브랜치를 병합할 때 (master ← dev) $ git checkout master $ git merge de..

브랜치(Branch) 브랜치란 독립적으로 어떤 작업을 진행하기 위한 개념입니다. 개발을 하다 보면 한 페이지 안의 여러 기능을 따로 구현하기 위해, 코드를 여러 개로 복사해야 하는 일이 자주 생깁니다. 브랜치 기능을 활용하면, 코드를 통째로 복사한 후 원래 코드가 변경될 우려 없이 독립적으로 개발할 수 있습니다. 각각의 브랜치는 다른 브랜치의 영향을 받지 않기 때문에, 여러 작업을 동시에 진행할 수 있습니다. 브랜치 기능의 장점 한 소스코드에서 동시에 다양한 작업을 할 수 있게 해준다. 소스코드의 한 시점과 동일한 상태를 만들고, 브랜치를 넘나들며 작업을 수행할 수 있다. 각각의 브랜치에서 생긴 변화가 다른 브랜치에 영향을 주지 않고 독립적으로 코딩을 진행할 수 있다. 여러 브랜치를 만든 레파지토리의 G..
웹 서비스에서의 캐시 많은 시간이나 연산이 필요한 작업의 결과를 저장해두는 것을 의미합니다. 컴퓨팅에서 캐시는 일반적으로 일시적인 데이터를 저장하기 위한 목적으로 존재하는 고속의 데이터 저장 공간입니다. 첫 작업 이후에 이 데이터에 대한 요청이 있을 경우, 데이터의 기본 저장 공간에 접근할 때보다 더 빠르게 요청을 처리할 수 있습니다. 캐싱을 사용하면 이전에 검색하거나 계산한 데이터를 효율적으로 재사용할 수 있습니다. 캐시의 일반적인 작동원리 캐시의 데이터는 일반적으로 RAM과 같이 빠르게 액세스할 수 있는 하드웨어에 저장됩니다. 캐시는 기본 스토리지 계층(SSD, HDD)에 액세스하여 데이터를 가져오는 더 느린 작업의 요구를 줄이고, 데이터 검색의 성능을 높입니다. 속도를 위해 용량을 절충하는 캐시는 ..
가비지 컬렉션 가비지 컬렉션은 프로그램에서 더 이상 사용하지 않는 메모리를 자동으로 정리하는 것입니다. 이 기능을 가진 언어는 자바, C#, 자바스크립트 등이 있습니다. 대표적인 가비지 컬렉션의 방법 1. 트레이싱 한 객체에 flag를 두고, 가비지 컬렉션 사이클마다 flag에 표시 후 삭제하는 mark and sweep 방법입니다. 객체에 in-use flag를 두고, 사이클마다 메모리 관리자가 모든 객체를 추적해서 사용 중인지 아닌지를 표시(mark)합니다. 그 후 표시되지 않은 객체를 삭제(sweep)하는 단계를 통해 메모리를 해제합니다. 2. 레퍼런스 카운팅 한 객체를 참조하는 변수의 수를 추적하는 방법입니다. 객체를 참조하는 변수는 처음에는 특정 메모리에 대해 레퍼런스가 하나뿐이지만, 변수의 레..

프로세스(Process) 운영체제에서는 실행 중인 하나의 애플리케이션을 프로세스라고 부릅니다. 사용자가 app을 실행하면, 운영체제로부터 실행에 필요한 메모리를 할당받아 애플리케이션의 코드를 실행합니다. 이때 실행되는 애플리케이션을 프로세스라고 부릅니다. 아래 작업표시줄에서 확인할 수 있는 항목 하나하나가 전부 프로세스입니다. 예를 들어 Chrome 브라우저를 두 개 실행하면, 두 개의 프로세스가 생성됩니다. 이렇게 하나의 애플리케이션은 여러 프로세스(다중 프로세스)를 만들기도 합니다. 스레드(Thread) 스레드는 사전적 의미로 한 가닥의 실이라는 뜻입니다. 한 가지 작업을 실행하기 위해 순차적으로 실행한 코드를 실처럼 이어 놓았다고 해서 유래된 이름입니다. 하나의 스레드는 코드가 실행되는 하나의 흐름..

운영체제 컴퓨터나 스마트폰의 기기 그 자체(하드웨어)는 스스로 할 수 있는 일이 없습니다. 하드웨어의 설계를 바탕으로 하드웨어에게 일을 시켜야만 그 의미가 있습니다. 하드웨어에게 일을 시키는 주체가 운영체제입니다. 운영체제가 없다면, 응용 프로그램이 실행될 수 없습니다. 응용 프로그램은 컴퓨터를 이용해 다양한 작업을 하는 것이 목적이고, 운영체제는 응용 프로그램이 하드웨어에게 일을 시킬 수 있도록 도와줍니다. 하드웨어를 구성하는 일을 하는 CPU, 자료를 저장하는 RAM, 디스크 등의 시스템 자원을 관리하는 주체가 바로 운영체제입니다. 응용 프로그램 운영체제를 통해 컴퓨터에게 일을 시키는 것 응용 프로그램이 운영체제를 통해 컴퓨터에게 일을 시키려면, 컴퓨터를 조작할 수 있는 권한을 운영체제로부터 부여받아..