⭐️ CS & Algorithm
프레임워크와 라이브러리의 차이점
프레임워크와 라이브러리의 차이점
2023.12.07들어가며 프레임워크와 라이브러리는 소프트웨어 개발에서 재사용 가능한 코드의 모음을 의미하지만 구조와 사용 방식에 있어서 차이점이 있다. 프레임워크(Framework) ✅ 무언가를 만드는데 필요한 모든 것이 갖춰져서 제공되는 것 UI, Routing, HTTP Clients, State Management 등이 제공되어 프로젝트를 구현하는데 필요한 모든 것들이 제공된다. 애플리케이션 흐름을 프레임워크가 관리하고, 개발자는 프레임워크 내에서 정해진 방식에 따라 코드를 작성하게 된다. 정해진 방식에 따라서 개발하는 환경이기에 어떤 라이브러리를 사용할지와 같은 고민을 하지 않을 수 있지만, 프레임워크에서 제공하는 내용들을 익혀야 하므로 진입장벽이 상대적으로 높고 자율성이 떨어진다는 단점이 있다. 라이브러리(Li..
SPA 이해하기
SPA 이해하기
2023.01.25SPA SPA는 'Single Page Application'의 약자로 단일 페이지 애플리케이션을 말한다. 웹 사이트 전체 페이지를 하나의 페이지에 담아 동적으로 화면을 변경해 표시하는 기술이다. React를 예시로 최초 한 번 페이지를 전체 로딩한 이후에는 데이터만 변경할 수 있는데, 하나의 html 파일로만 동작함을 확인할 수 있다. 과거 웹 사이트는 지금과 달리 문서에 전달되는 정보의 양이 적었다. 그래서 페이지의 일부 영역만 변경되어도 서버에서 새로운 페이지를 재렌더링하여 전송하는 방식(ex. SSR)을 사용했다. 하지만 웹 시장이 발전됨에 따라 한 페이지의 정보량이 커졌고, 서버에서 매 번 새로운 페이지를 전송하는 것이 버거워졌다. 이를 해결하기 위해 등장한 기술이 바로 SPA이다. SPA의 경..
[JavaScript] 정렬 알고리즘 - 버블 정렬, 선택 정렬, 삽입 정렬
[JavaScript] 정렬 알고리즘 - 버블 정렬, 선택 정렬, 삽입 정렬
2022.11.30개요 JavaScript는 기본적으로 Array.prototype.sort() 메서드가 존재해서 정렬 알고리즘을 사용할 필요가 없지만, 메서드에 의존하기 보다는 컴퓨팅 사고를 통해서 정렬하는 방법을 알아보고자 한다. 해당 정렬을 프로그래머스 Lv0. 중앙값 구하기 문제에 적용하고자 한다. > 중앙값 구하기 문제 풀이 바로가기 GitHub - cham-min/Algorithm: 알고리즘 공부 저장소 알고리즘 공부 저장소. Contribute to cham-min/Algorithm development by creating an account on GitHub. github.com 1. 버블 정렬 (Bubble sort) 가장 큰 값이 거품처럼 위로 올라가는 모양을 띄는 알고리즘이다. const bubble..
CORS란 무엇인가?
CORS란 무엇인가?
2022.08.16CORS란? 교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처(프로토콜, 도메인, 포트번호)의 리소스에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제이다. 웹 애플리케이션은 리소스가 자신의 출처와 다를 때 교차 출처 HTTP 요청을 실행한다. 쉽게 말해서 도메인, 프로토콜, 포트 번호가 하나라도 다를 경우에 출처가 다른 교차 출처(Cross-Origin)라고 판단되며 브라우저에서는 보안 때문에 Cross-Origin HTTP 요청을 제한한다. 권한을 부여 받기 위한 Cross-Origin 요청은 서버에서 허가를 받아야 하는데, HTTP-header를 통해서 받을 수 ..
URL 이해하기
URL 이해하기
2022.08.15URL 이란 URL(Uniform Resource Locator)은 네트워크 상에서 자원이 어디 있는지를 알려주기 위한 규약이다. 쉽게 말하면 웹 페이지를 찾기 위한 주소를 말한다. 흔히 웹 사이트 주소로 알고 있지만, URL은 웹 사이트 주소뿐만 아니라 컴퓨터 네트워크 상 자원을 모두 나타낼 수 있다. 그 주소에 접속하려면 해당 URL에 맞는 프로토콜을 알아야 하고, 그와 동일한 프로토콜에 접속해야 한다. FTP는 FTP 클라이언트를 이용해야 하고, HTTP인 경우에는 웹 브라우저를 이용해야 한다. (출처 : 나무위키) URL 구조 이해하기 구성 요소 스킴(scheme) 호스트 주소(host) 포트 번호(port) 경로(path) 쿼리(query) 프래그먼트(fragment) 스킴 사용할 프로토콜을 의..
진수, 진법에 대한 이해
진수, 진법에 대한 이해
2021.07.27컴퓨터는 사람이 계산하는 방식과 다른 원리로 계산을 한다. 일반적으로 사람은 수를 계산할 때 10진수를 사용하는데 손가락의 개수가 8개면 8진수, 16개였으면 16진수가 자연스럽게 사용할 수도 있었을 것이다. 평소에는 10진수 외에는 몰라도 되지만 컴퓨터 공부를 하고 있는 지금 진수와 진법에 대해 조금 더 알아볼 필요가 있다고 생각했다. 진법 0부터 n개의 숫자를 사용하여 수를 표현하는 방법, 0~(n-1)만큼 표현. 진법이란 수를 표기하는 기수법의 하나로 임의의 숫자를 사용하여 수를 표현하는 방법이다. 우리가 일반적으로 사용하는 1부터 9까지의 숫자를 사용하여 수를 나타내는 방법은 10진법이라고 부른다. 현재 프로그래밍에서 많이 사용되고 있는 진법은 2진법, 8진법, 10진법, 16진법이 있다. **기..