분류 전체보기 231

[Linux] free 명령어에 대해

1. 개요 free 명령어는 커널에서 사용되는 버퍼와 캐시뿐만 아니라 시스템에서 사용 가능한 물리적 메모리와 스왑 메모리의 총량을 표시한다. free 명령어는 /proc/meminfo에서 메모리 정보를 가져와 분석하여 수집된다. 간단히 말해, 리눅스 시스템에서 전체적인 메모리에 대한 현황을 보여주는 명령어이다. 그럼 free명령어로 볼 수 있는 메모리 정보와 이와 관련된 meminfo의 값들을 알아보자. 2. 사용법 [사용법] $ free [옵션] [옵션] -b, -k, -m, -g : 바이트, 킬로바이트, 메가바이트, 기가바이트 단위로 출력 --tera, --peta : 테라바이트, 페타바이트 단위로 출력 -h, --human : 자동으로 단위를 조정해서 출력 -w, --wide : 와이드 모드로 실행..

Server/Linux 2023.03.25

쿠키(Cookie), 세션(Session), 토큰(Token [JWT])에 대해

개요 웹 서비스를 운영하다보면 아래와 같이 자주 듣는 말들이 있다. "인증을 쿠키 방식으로 진행할게요" "세션 끊긴거 아닌가요?" "토큰이 없어서 인증이 안되는 것 같아요" 바로 쿠키, 세션, 토큰이라는 단어들이다. HTTP통신에서 이들이 등장한 이유와, 각각이 무엇을 의미하는지 한번 알아보고자 한다. 1. 쿠키, 세션, 토큰의 등장 이유 HTTP 통신은 요청(Request) -> 응답(Response) 이 종료되면 stateless(상태가 유지되지 않음)한 특징 때문에 연결을 끊는 처리 방식이다. 1. Connectionless 프로토콜(비연결 지향) 클라이언트가 서버에 요청을 했을 때, 요청에 맞는 응답을 보낸 후 연결을 끊는 처리 방식이다. 2. Stateless 프로토콜(상태정보 유지 안함) 클라..

Network 2023.02.10

[Ubuntu] 부팅시 Node.js 프로젝트가 자동 실행되도록 서비스 등록

개요 AWS EC2(Ubuntu) 인스턴스를 만들어 REST API 서버를 구축하여 사용하던 중, 가끔 서버에 렉이 발생해서 REST API가 응답하지 않을때가 있었다. 그래서 가끔 AWS 콘솔에서 인스턴스를 재부팅시켜줄때가 있었으나, 부팅 후 직접 진입해서 Node.js는 수동으로 실행시켜주는 작업을 계속 반복할수 없었으니.. 서비스로 등록하여 부팅시 자동으로 뜨도록 설정해놓고자 하였다. 구축 환경 Ubuntu 18.04 Node.js 14 1. 서비스 파일 작성 서비스를 등록하기에 앞서, node.js 프로젝트 폴더에 node.js 프로그램을 실행할 수 있도록 아래와 같이 간단한 쉘 스크립트를 만들어 주었다. [start.sh] node --loader ts-node/esm ./index.ts 그런 ..

Server/Linux 2023.02.09

[Postgresql14] postgres service가 에러로인해 시작되지 않던 문제 해결

1. 개요 DB구조를 수정해야해서 PostgreSQL에 데이터베이스를 추가하고 pg_hba.conf 파일을 수정하였고, 수정 후 재시작하였는데 다음과 같이 PostgreSQL 서비스가 죽어서 재실행 되지 않았다. 2. 문제확인 그래서 로그를 차근히 확인해보기위해 위에서 안내된 대로 아래 명령어로 로그를 확인해보았다. journalctl -xe *journalctl: systemd의 서비스 로그를 확인할 수 있는 명령어 -x 옵션을 추가하면 message catalog에서 해당 저널에 대한 상세 설명을 추가해서 보여준다. -e 옵션(pager end) 을 추가하면 pager를 사용해서 마지막 에러 메시지 라인부터 볼 수 있다. 그랬더니, 아래와 같이 pg_ctl명령어를 통해 PostgreSQL서비스를 시작..

[C#] Array와 List의 차이점, 각각을 어느 상황에 써야 할까?

개요 C#을 다루다 보니 배열을 사용할 때가 종종 생겼고, Array와 List를 알게되며 비슷한듯 차이점이 있는 두 컬렉션에 대해 알아보게 되던 중, 잘 정리된 외국 포스트가 있어서 직접 번역하여 포스팅하게 되었다. (원본 포스팅: https://www.shekhali.com/c-array-vs-list/) 1. Array vs List List는 요소가 추가되고 제거될 때 자동으로 크기를 조정할 수 있는 일반 컬렉션인 반면, Array는 같은 타입들의 요소에 대한 고정 크기의 순 컬렉션이다. Array C# Array: Array는 실행 중에 수정할 수 없는 고정 길이를 가진 동일한 데이터 타입의 엄격한 자료형*의 collections 이다. (*엄격한 자료형(strongly typed)란? 함수/메..

Language/C# 2023.01.28

[C#] Dictionary에 대해

1. Dictionary란? C#에서 Dictionary 클래스는 형식의 컬렉션이다. System.Collections에 정의되어 있으며 Key는 각 컬렉션에서 고유해야 한다. 이번 포스팅에서는 Dictionary 클래스의 기초적인 사용 방법 및 활용 예제를 소개한다. 2. Dictionary 클래스 사용법 2.1 클래스 사용 및 객체 생성 Dictionary 클래스를 사용하기 전에 using문에 System.Collections.Generic 네임스페이스를 추가한다. using System.Collections.Generic; Dictionary클래스는 형식이며 Key와 Value는 제네릭 유형이다. 다음은 Key가 string형이며, Value가 int형인 Dictionary객체를 생성하는 예제이다...

Language/C# 2023.01.28

[오류해결] Browserslist: caniuse-lite is outdated. Please run 오류

내 웹사이트를 개발하고 빌드하는 도중, 아래와 같은 경고가 뜨기 시작했다. 이에대해 원인을 찾아보니, Visual Studio의 Web Compliter extension인 browserslist* 를 사용하는데, 이는 caniuse-lite라는 정적인 데이터(브라우저 사용 통계나 버전 정보)를 사용한다. 그래서 이 데이터의 기한이 오래되었을때에 업데이트 하라고 경고 문구가 뜨는 것이다. (*browserlist란?: https://bumday.tistory.com/169 포스팅 참고) 해결방법은 위에서 안내된 대로 아래의 명령어를 입력하면 된다. (*참고: npx는 npm 패키지를 시스템에 저장하지 않고 직접 실행하는 명령어이다) npx browserslist@latest --update-db 그러면 ..

FrontEnd 2022.12.19

browserslist란?

1. 개요 언제부턴가 브라우저스리스트(browserslist)라는 개념이 자주 눈에 띄더니, 이제는 프론트엔드 개발 환경에서 뺄 수 없는 도구가 되었다. 아마도 바벨(Babel)이라는 프론트엔트 계의 걸출한 스타 프로젝트에서 도입했기 때문일 것이라는 관측이 있다. 2.Browserslist란? browserslist는 브라우저를 선택하는 옵션 기능만 따로 뽑아 놓은 도구라고 생각하면 된다. 어떤 프로그램이 브라우저에 대응해 내부에서 처리해야 할 작업이 다르다면 옵션으로 지원 브라우저 환경을 입력받을 수 있듯이, 프론트엔드는 그런 옵션이나 설정이 필요한 경우가 많다. 반복해서 만들게 되는 그 설정 기능만 따로 떼서 브라우저 환경을 쉽게 정의할 수 있고 또 쉽게 코드에서 사용할 수 있도록 만든 도구이다. 그..

FrontEnd 2022.12.19

HackerRank 문제풀이 - 7 (New Year Chaos)

1. 문제 임의의 배열이 주어진다. 배열 내의 숫자들은 오름차순으로 정렬되어 있어야 하지만, 일부 숫자들이 이 정렬의 규칙을 어기고 자리가 이동되어있다. 자기보다 작은 숫자로 이동할 수 있으며 이동하면 자연스레 작은숫자들은 뒤로 밀리게 된다. 만일, 본래의 자리에서 2를 초과한 만큼 벗어난 숫자가 있으면 "Too chaotic" 를 출력하고, 아니라면 각 숫자들이 자기 자리로 돌아가기 위해 몇번의 swap을 거쳐야 하는지 해당 수를 출력해야 한다. 2. 1차 문제풀이 2.1 풀이 과정 function processOrderSwap(q, lastSwapedNum){ let swapedNum = lastSwapedNum; //console.log(`processOrderSwap >> q: ${q}`); if..

[Git] git stash 란?

1.개요 현업에서 git으로 소스관리를 하다보면, git stash 명령어를 종종 사용하게 된다. 오늘 이포스팅을 통해 git stash가 무엇인지, 어떻게 사용하는지 및 활용 방법을 정리하고자 한다. 2. git stash란? git stash는 변경 사항을 임시로 저장할 수 있도록 도와주는 기능이다. 만일 내가 어떤 프로젝트에서 한 부분을 담당하고 있다고 가정하자. 그리고 여기에서 뭔가 작업하던 일이 있고 다른 요청이 들어와서 잠시 브랜치를 변경해야 할 일이 생겼다. 그런제 이런 상황에서 아직 완료되지 않은 일을 커밋하는 것이 껄끄러울수 있다. 커밋하지 않고 나중에 다시 돌아와서 작업을 다시 하고 싶을 것이다. 이럴 때에 git stash라는 명령어로 해결할 수 있다. stash 명령을 사용하면 워킹..

Git 2022.12.17
반응형