[공부정리] Process Description and Control
·
IT/운영체제
프로세스란? - A program in execution (실행 중에 있는 프로그램) - An instance of a program running on a computer (컴퓨터에서 실행중인 프로그램의 인스턴스) - The entity that can be assigned to and executed on a processor (프로세서에 할당되고 실행될 수있는 엔티티) 프로세스 생성 이유 - 서비스를 제공하기 위해서 OS에 의해 만들어진다 - interactive login : A user at a terminal logs on to the system - 존재하는 프로세스에 의해 만들어진다 - 사용자 요청으로 만들어진다 프로세스 종료 이유 - 정상종료 - 메모리 부족 - 보안 에러 - 부모 요청 ..
프로그래머스 - 괄호 변환 (c++)
·
IT/알고리즘
문제 설명 카카오에 신입 개발자로 입사한 콘은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴파일하여 로그를 보니 대부분 소스 코드 내 작성된 괄호가 개수는 맞지만 짝이 맞지 않은 형태로 작성되어 오류가 나는 것을 알게 되었습니다. 수정해야 할 소스 파일이 너무 많아서 고민하던 콘은 소스 코드에 작성된 모든 괄호를 뽑아서 올바른 순서대로 배치된 괄호 문자열을 알려주는 프로그램을 다음과 같이 개발하려고 합니다. 용어의 정의 '(' 와 ')' 로만 이루어진 문자열이 있을 경우, '(' 의 개수와 ')' 의 개수가 같다면 이를 균형잡힌 괄호 문자열이라고 부릅니다. 그리고 여기에 '('와 ')'의 괄호의 짝도 모두..
자바스크립트의 자료형 8가지
·
IT/javascript
출처 : ko.javascript.info/types 자바스크립트에는 8 가지 기본 자료형이 있다. 숫자형(number) – 정수, 부동 소수점 숫자 등의 숫자를 나타낼 때 사용한다. 정수의 한계는 ±2^53 bigint – 길이 제약 없이 정수를 나타낼 수 있다. - 숫자 뒤에 n을 붙여 표현 (ex. const bigInt = 1234567890123456789012345678901234567890n;) 문자형 – 빈 문자열이나 글자들로 이뤄진 문자열을 나타낼 때 사용. 불린형 – true, false null – null 값만을 위한 독립 자료형. null은 알 수 없는 값을 나타냄. undefined – undefined 값만을 위한 독립 자료형. undefined는 할당되지 않은 값을 나타냄. ..
프로그래머스 - 숫자의 표현 (c++)
·
IT/알고리즘
문제 설명 Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 수 있습니다. 1 + 2 + 3 + 4 + 5 = 15 4 + 5 + 6 = 15 7 + 8 = 15 15 = 15 자연수 n이 매개변수로 주어질 때, 연속된 자연수들로 n을 표현하는 방법의 수를 return하는 solution를 완성해주세요. 제한사항 n은 10,000 이하의 자연수 입니다. 풀이 1~n 까지 연속된 자연수의 합이 n이 되는 개수를 구해야한다. cnt를 1부터 n 까지 증가시키면서 큐에 담고, cnt의 누적합을 sum에 더해나간다. 초기값 sum = 1, cnt = 1 1. s..
프로그래머스 - 쿼드압축 후 개수 세기(c++)
·
IT/알고리즘
문제 설명 0과 1로 이루어진 2n x 2n 크기의 2차원 정수 배열 arr이 있습니다. 당신은 이 arr을 쿼드 트리와 같은 방식으로 압축하고자 합니다. 구체적인 방식은 다음과 같습니다. 당신이 압축하고자 하는 특정 영역을 S라고 정의합니다. 만약 S 내부에 있는 모든 수가 같은 값이라면, S를 해당 수 하나로 압축시킵니다. 그렇지 않다면, S를 정확히 4개의 균일한 정사각형 영역(입출력 예를 참고해주시기 바랍니다.)으로 쪼갠 뒤, 각 정사각형 영역에 대해 같은 방식의 압축을 시도합니다. arr이 매개변수로 주어집니다. 위와 같은 방식으로 arr을 압축했을 때, 배열에 최종적으로 남는 0의 개수와 1의 개수를 배열에 담아서 return 하도록 solution 함수를 완성해주세요. 제한사항 arr의 행의..
[공부정리] OS란?
·
IT/운영체제
OS : Operating System - A software that controls the execution of application programs (응용 프로그램 실행을 통제하는 소프트웨어) 👉it is a set of functions that is executed (실행되는 기능들의 집합) ex) Windows, UNIX, LInux, Symbian, REX ... - An interface between applications and hardware (어플리케이션과 하드웨어 사이의 인터페이스) 👉Responsible for managing resources (자원들의 관리를 담당한다) - Objectives (목적) 👉Efficiency (효율성) 👉Convenience (편의성) Serv..
8. boilerplate - 로그인 구현 with jsonwebtoken
·
IT/프로젝트
boilerplate 유튜브 강의 시리즈 Blog ReactJS NodeJS#13 LOGIN FUNCTION WITH JSONWEBTOKEN 이번 강의에서는 JWT(jsonwebtoken)을 사용하여 로그인을 구현한다. JWT는 정보를 안전하게 전송하기 위해 정의된 공개된 표준 (RFC 7519) 이다. (자세한 설명은 여기) 1. jsonwebtoken 모듈 및 type definition 패키지 설치 npm i -S jsonwebtoken npm i -D @types/jsonwebtoken 2. UserSchema에 로그인 시 사용할 comparePassword, generateToken 메소드 추가 jsonwebtoken 모듈을 import 하고 UserSchema에 comparePassword, ..
프로그래머스 - 폰켓몬(c++)
·
IT/알고리즘
문제 설명 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다. 첫 번째(3번), 두 번째(1번) 폰켓몬을 선택 첫 번째(3번), 세 번째(2번) 폰켓몬을 선택 첫..
7. boilerplate - 해시 패스워드 with BCRYPT
·
IT/프로젝트
boilerplate 유튜브 강의 시리즈 Blog ReactJS NodeJS#12 HASH PASSWORD with BCRYPT 패스워드같은 보안 정보가 DB에 그대로 저장되면 안되기 때문에 암호화 기법 중 하나인 해싱 알고리즘 bcrypt를 적용하여 저장한다. 1. bcrypt 모듈 및 type definition 패키지 설치 npm i -S bcrypt npm i -D @types/bcrypt 2. user.ts 수정 mongoose 스키마의 pre 함수는 어떤 작업을 하기 직전에 실행되는 함수이다. 여기서는 user정보를 저장하기 전에 호출한다. password를 저장할 때만 bcrypt를 적용할 것이기 때문에 user.isModified('password') 의 조건일 경우에만 해시를 적용한다. ..
프로그래머스 - 땅따먹기(c++)
·
IT/알고리즘
문제 설명 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟으면서 내려와야 합니다. 단, 땅따먹기 게임에는 한 행씩 내려올 때, 같은 열을 연속해서 밟을 수 없는 특수 규칙이 있습니다. 예를 들면, | 1 | 2 | 3 | 5 | | 5 | 6 | 7 | 8 | | 4 | 3 | 2 | 1 | 로 땅이 주어졌다면, 1행에서 네번째 칸 (5)를 밟았으면, 2행의 네번째 칸 (8)은 밟을 수 없습니다. 마지막 행까지 모두 내려왔을 때, 얻을 수 있는 점수의 최대값을 return하는 solution 함수를 완성해 주세요. 위 예의 경우, 1행의 네번째 칸 ..
6. boilerplate - 보안 파일 with ENV file
·
IT/프로젝트
boilerplate 유튜브 강의 시리즈 Blog ReactJS NodeJS#10 SECURE PRIVATE INFO with ENV file 몽고DB에 연결할 때 사용하는 사용자 비밀번호 같은 보안 정보는 따로 분리해서 가지고 있는 것이 좋다. 이번 강의에서는 config 폴더에 상용(prod), 개발(dev) 파일을 따로 만들었다. dev 파일에는 secret 변수들이 직접 저장되고 prod에는 dev와 같은 변수들이 저장되지만 환경 변수로 불러온다. 마지막으로 key 파일을 만들어 환경변수인 NODE_ENV의 값이 production이면 prod에 담긴 내용을 가져오고 production이 아니면 dev에 담긴 내용을 가져온다. 이번 강의까지 진행된 프로젝트 구조이다. config파일을 정의하기에 ..
5. boilerplate - tsc-watch 설치
·
IT/프로젝트
boilerplate 유튜브 강의 시리즈 Blog ReactJS NodeJS#9 SET UP NODEMON 강의에서는 nodemon을 설치하지만 나는 typescript로 하고 있기 때문에 nodemon과 비슷한 tsc-watch를 설치하려고 한다. 이 모듈들은 파일의 변경사항을 감시한다. 코드를 수정하고 다시 저장 했을 때 서버를 자동으로 재시작해준다. 개발할 때 편리한 모듈이다. 1. tsc-watch 설치 npm i -D tsc-watch 2. package.json 스크립트 적용 "scripts": { "start": "tsc-watch --onSuccess \"node dist/src/server/index.js\"" }, 3. node 실행 npm start tsc-watch로 실행하면 파일의..