목록CodeStates/learning contents (74)
Jieunny의 블로그
📣 클라우딩 컴퓨터 𝟭. 기존 서버의 방식 ✔️ 같은 공간에 더 많은 컴퓨터를 추가하거나 컴퓨터 성능을 업그레이드 했다. ✔️ 기존 방식의 한계 1️⃣ 주기적인 유지 관리가 필요하다. 2️⃣ 공간의 한계가 있다. 𝟮. 클라우드의 등장 1️⃣ 클라우드의 장점 ✔️ 서버의 자원과 공간, 및 네트워크 환경을 제공하며 필요할 때마다 컴퓨팅 능력을 유연하게 조절해서 사용한 만큼의 요금만 지급하게 한다. ✔️ 컴퓨터의 스냅샷을 이용해 다른 컴퓨터로 즉시 이주가 가능하다. 2️⃣ 클라우드의 단점 ✔️ 운영환경이 특정 클라우드 사업자에게 종속되어 백엔드 구성 자체가 특정 회사의 기술로만 구성해야 하는 경우가 발생할 수도 있다. 3️⃣ 클라우드의 목표 ✔️ 모든 것을 서비스화하는 것 4️⃣ 클라우드 서비스의 형태 ✔️ ..
📣 캐시 사용하기 𝟭. 캐시 ✔️ 다운로드 받은 데이터나 값을 미리 복사해 놓는 임시 장소 ➰ 데이터에 접근하는 시간이 오래 걸리는 경우나 값을 다시 계산하는 시간을 절약하고 싶은 경우 사용 𝟮. 캐시를 이용한 요청 과정 1. 첫 번째 요청에서 캐시를 사용한다. ➰ 서버에서 응답을 보내줄 때 이미지 파일과 함께 헤더에 Cache를 작성해서 보낸다. => 해당 이미지 파일이 60초동안 유효하다는 것을 의미 HTTP/1.1 200 OK Content-Type: image/jpeg Cache-Control: max-age=60 Content-Length: 34012 // 응답 결과를 캐시에 저장 2. 두 번째 요청부터는 캐시를 우선 조회하게 된다. ➰ 캐시에 데이터가 존재하면서 아직 60초가 지나지 않아 유효..
📣 최적화(Optimization) 𝟭. 최적화의 개념 ✔️ 주어진 조건으로 최대 효율을 낼 수 있도록 하는 것 ➰ 컴퓨터 공학에서의 최적화는 가능한 적은 리소스를 소모하면서 가능한 한 빠르게 원하는 결과를 얻을 수 있도록 하는 것을 의미 ➰ 웹 개발에서의 최적화는 바로 주어진 조건 아래에서 최대한 빠르게 화면을 표시하도록 만드는 것 ➰ 알고리즘과 같은 원리 => 메모리를 조금이라도 덜 소모하거나 연산 횟수가 한 번이라도 더 적은 코드가 더 효율적이고 최적화된 코드 𝟮. 최적화의 필요성 및 효과 1️⃣ 이탈률 감소 ✔️ 페이지 로딩이 느려서 이탈하는 사용자(이탈률)를 효과적으로 줄일 수 있다. 2️⃣ 전환율 증가 ✔️ 이탈률이 줄어들면, 전환율이 높아질 확률도 커진다. ➰ 전환율 : 웹 사이트를 방문한 ..
📣 TDD 𝟭. TDD(Test-driven Development)란? ✔️ 코드를 작성하기 전에 테스트를 쓰는 소프트웨어 개발 방법론 ➰ 개발자 자신이 바람직하다고 생각하는 코드의 결과를 미리 정의하고, 이것을 바탕으로 코드를 작성하는 방법 ➰ 단위의 테스트 케이스를 작성하고, 이를 통과하는 코드를 작성하는 과정을 반복하는 것을 의미한다. 𝟮. TDD의 개발주기 1️⃣ Write Failing Test: 실패하는 테스트 코드를 먼저 작성한다. 2️⃣ Make Test Pass: 테스트 코드를 성공시키기 위한 실제 코드를 작성한다. 3️⃣ Refactor: 중복 코드 제거, 일반화 등의 리팩토링을 수행한다. ➰ 1의 과정을 마치기 전에 2의 작업을 시작하지 않도록 주의해야 한다. ➰ 2를 진행할 때에는,..
📣 GraphQL 𝟭. GraphQL 이란? ✔️ Facebook에서 처음으로 개발했고, 오픈 소스로 제공된 쿼리 언어 ➰ Graph + Query Language ➰ Query Language 중에서도 Server API 를 통해 정보를 주고받기 위해 사용하는 Query Language 𝟮. 왜 GraphQL 를 사용할까? ✔️ GraphQL은 REST API 방식의 고정된 자원이 아닌 클라이언트 요청에 따라 유연하게 자원을 가져올 수 있다. ➰ GraphQL에서는 모든 데이터가 그래프 형태로 연결되어 있다고 전제한다. ➰ 이를 통해 GraphQL은 클라이언트 요청에 따라 유연하게 트리 구조의 JSON 데이터를 응답으로 전송할 수 있다. 𝟯. GraphQL로 그래프 순회 ✔️ 그래프로 표현하게 되면 우..
📣 운영체제 𝟭. 운영체제란? ✔️ 하드웨어에게 일을 시키는 주체 𝟮. 운영체제의 목적 및 기능 ✔️ 목적 ➰ 처리능력 향상 ➰ 사용 가능도 향상 ➰ 신뢰도 향상 ➰ 반환 시간 단축 등 ✔️ 기능 ➰ 프로세서, 기억장치, 입출력장치, 파일 및 정보 등의 자원을 관리 ➰ 자원을 효율적으로 관리하기 위해 자원의 스케줄링 기능을 제공(어떤 자원을 누가, 언제, 어떤 방식으로 사용할지를 결정) ➰ 사용자와 시스템 간의 편리한 인터페이스를 제공 ➰ 시스템의 각종 하드웨어와 네트워크를 관리하고 제어 𝟯. 운영체제의 시스템 자원 관리 ✔️ 운영체제는 응용 프로그램이 하드웨어에게 일을 시킬 수 있도록 돕는다. ➰ 응용 프로그램 : 컴퓨터를 이용해 다양한 작업을 수행한다. ➰ CPU, RAM, 디스크 등 시스템 자원을 ..