본문 바로가기

CS9

여러 개의 값을 갖는 쿼리 파라미터 처리하기 (Nest.js) 쿼리 파라미터는 URL의 일부분으로, 서버에 전달할 추가 정보를 포함합니다. 이 정보는 일반적으로 키-값 쌍의 형태로 전달되며, 여러 개의 쿼리 파라미터를 사용할 수 있습니다.특히 GET 메서드에서 주로 많이 쓰이고 다중 값을 갖는 쿼리 파라미터를 처리할 때, 어떻게 처리를 보통 하는 것에 대해 궁금증이 생겼습니다. 서치한 결과 두 가지 대표적인 방식이 있었습니다. main=1&main=2ex) 네이버 - fieldIds=quant&fieldIds=market_sum&fieldIds=per&fieldIds=roe&fieldIds=listed_stock_cntmain=1,2 또는 main=1%2 ex) 쿠팡(%로 구분) - brand=16981%2C6391%2C3154 그리고 각 사이트마다 사용하는 방법은.. 2024. 10. 29.
프레임워크(Framework)와 라이브러리(Library) 정의 프레임워크와 라이브러리 단어를 사용하면서, 내가 정말 알고 사용하는가에 의문이 많이 들었습니다. 엄연히 다른 단어이고 다른 뜻일텐데 혼용해서 사용하는게 아닌지 싶어 정리를 시작했습니다. 프레임워크 (Framework) - 사전적 의미 컴퓨터 프로그래밍에서, 소프트웨어 프레임워크(software framework)는 복잡한 문제를 해결하거나 서술하는 데 사용되는 기본 개념 구조이다. 간단히 뼈대, 골조(骨組), 프레임워크(framework)라고도 한다. 소프트웨어 환경에서 사용할 수 있게 만들어 준다. 프레임워크는 프로그램을 개발하기 위한 큰 틀을 제공해준다고 생각합니다. ex) Java - Spring, Python - Django 라이브러리 (Library) - 사전적 의미 소프트웨어 개발 시 사용되는.. 2021. 11. 30.
[CS] 웹 서비스에서 캐시 유튜브 영상에서 정말 설명을 잘해주셔서 처음 접하는 내용이면, 글 읽는거보다 훨씬 나은거 같습니다 링크는 글 아래에 있습니다. 처음에는 램과 비슷한 개념이라고 생각했지만 미묘하게 다른것을 알게 되었습니다. 1. 캐시? 많은 시간이나 연산이 필요한 작업의 결과를 저장해두는 것을 의미합니다. (데이터나 값을 미리 복사해 놓는 임시 장소) 컴퓨팅에서 캐시는 일반적으로 일시적인(temporarily) 데이터를 저장하기 위한 목적으로 존재하는 고속의 데이터 저장공간입니다. 첫 작업 이후에 이 데이터에 대한 요청이 있을 경우, 데이터의 기본 저장공간에 접근할 때보다 더 빠르게 요청을 처리할 수 있습니다. 캐싱을 사용하면 이전에 검색하거나 계산한 데이터를 효율적으로 재사용할 수 있습니다. 2. 캐시의 일반적인 작동원.. 2021. 8. 5.
[CS] 가비지 컬렉션 가비지 컬렉션 가비지 컬렉션은 프로그램에서 더 이상 사용하지 않는 메모리를 자동으로 정리하는 것입니다. 동적 할당된 메모리 영역 가운데 더 이상 사용할 수 없게 된 영역을 탐지하여 자동으로 해제하는 기법입니다. 더 이상 사용할 수 없게 된 영역이란, 어떤 변수도 가리키지 않게 된 영역을 의미합니다. 자바, C#, 그리고 일부 스크립트 언어들은 처음부터 쓰레기 수집 기법을 염두에 두고 설계되어, 언어 정의에 쓰레기 수집이 포함되어 있다. C, C++ 등의 프로그래밍 언어는 수동 메모리 관리를 가정하고 설계되었으나 지원하는 구현도 존재한다. 가비지 컬렉션의 방법 트레이싱: 한 객체에 flag를 두고, 가비지 컬렉션 사이클마다 flag에 표시 후 삭제하는 mark and sweep 방법입니다. 객체에 in-u.. 2021. 8. 5.
[CS] 스레드(Thread), 멀티 스레드(Multi-Thread) 1. 스레드(Thread) 스레드는 사전적 의미로 한 가닥의 실이라는 뜻입니다. 한 가지 작업을 실행하기 위해 순차적으로 실행한 코드를 실처럼 이어 놓았다고 해서 유래된 이름입니다. 하나의 스레드는 코드가 실행되는 하나의 흐름이기 때문에, 한 프로세스 내에 스레드가 두 개라면 코드가 실행되는 흐름이 두 개 생긴다는 의미입니다. 스레드의 특징 프로세스 내에서 실행되는 흐름의 단위 각 스레드마다 call stack이 존재(call stack: 실행중인 서브루틴을 저장하는 자료 구조) 스레드는 다른 스레드와 독립적으로 동작 스레드(thread)는 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상.. 2021. 8. 5.
[CS] 운영체제, 프로세스 참 많이 들어본 용어이고 그냥 어렴풋이 알고 있는 단어들이지만 설명이나 정확하게 알고 있지는 않았는데 그 단어의 의미를 알게 되어 좋은 기회 였던것 같습니다. 자체(하드웨어)는 스스로 할 수 있는 일이 없습니다. 하드웨어의 설계를 바탕으로 하드웨어에게 일을 시켜야만 그 의미가 있습니다. 하드웨어에게 일을 시키는 주체가 바로 운영체제입니다. 그냥 운영체제 하면 윈도우, 맥 떠올리기 쉽지만 이렇게 정의해서 설명하기 쉽지 않습니다. 1. 운영체제 운영체제가 없다면, 응용 프로그램이 실행될 수 없습니다. 응용 프로그램은 컴퓨터를 이용해 다양한 작업을 하는 것이 목적인고, 운영체제는 응용 프로그램이 하드웨어에게 일을 시킬 수 있도록 도와줍니다. 하드웨어를 구성하는 일을 하는 CPU, 자료를 저장하는 RAM, 디스.. 2021. 8. 5.