일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 카카오톡 챗봇
- Mac
- Windows
- braces
- GQL
- 파일권한
- graphQL
- 운영체제
- vscode
- AWS
- 클라우드
- flask
- 도커
- gcp
- cloud
- 구글클라우드
- 시작
- venv
- jinja2
- OS
- Lambda
- docker
- Python
- chatbot
- 카카오 오픈빌더
- 노션
- ssh
- 챗봇
- 플라스크
- nohub
- Today
- Total
목록개념 챙기기 (11)
ForFour
이 글은 다음의 두 책을 메인으로 참고하여 정리한 글입니다. Fundamentals of Database Systems (7th Edition) 관계형 데이터베이스 실전 입문 - YES24 인덱스(index)란? 책의 목차와 비교하기도 하지만 목차보다는 책의 색인에 가깝다*. 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조이다. 인덱스를 활용하면 select 외에도 update나 delete의 성능도 향상된다. 수정, 삭제 연산을 수행하기 위해서는 대상을 조회해야 작업할 수 있기 때문이다. Type of Indexes Single-level indexes 정렬된 파일 기반 인덱스 파일이 정렬되어 있기 때문에 이진 탐색이 가능하다. 기본 인덱스(prim..
Linux Linux는 1991년 9월 17일 리누스 토르발스가 처음 출시한 운영 체제 커널인 리눅스 커널에 기반을 둔 오픈 소스 유닉스 계열 운영 체제 계열이다. - [위키백과] 리눅스는 오픈소스이기 때문에 누구나 배포판을 만들 수 있습니다. 유명한 배포판으로는 데비안, 우분투, 페도라가 있습니다. 리눅스도 gui(데스크탑) 버전이 있기는 하지만 서버용으로 리눅스를 쓴다면 대부분 terminal(CLI) 환경에서 작업을 합니다. 명령어 terminal환경에서 작업을 주로 하기 때문에 linux os에서 자주 사용하는 명령어들이 있는데 ls(local system?), cd(change directory) 등의 명령어가 있고, rm(remove) 명령어를 통해 파일을 삭제할 수 있습니다. history ..
VScode 에서 C/C++시작하기 사전확인 g++ (terminal에 g++ -v로 확인 가능하다.) lldb 두 개 설치되어있나 확인한다. g++은 컴파일/빌드에, lldb는 디버깅하는 데 필요한 툴이다. VSCode 설치하기 아래의 사이트를 통해 VSCode를 설치한다. 본인은 맥을 사용중. http://code.visualstudio.com 확장자 설치 아래의 Extension 설치하기 파일 생성하기 .cpp or .c 파일 생성한다. SHIFT + ⌘ + B SHIFT+ ⌘ + B키를 눌러 task.json에 접근하기 or Terminal - Configure Tasks로 접근해도 된다. *task.json은 빌드하고 실행할 명령어들을 미리 json형태로 저장해 놓은 파일을 말한다. 공식 도큐먼..
CLI 환경을 사용하면서 알고 있으면 좋을 만한 쉘 기본 문법들에 대해서 정리해봤습니다. #(sharp) shell script에서 #은 기본적으로 주석에 쓰입니다. 하지만 다양한 곳에서 혹은 잘 모르지만 영어권에서 #은 number sign의 의미가 있습니다. 그것때문인지 #이 shell에서 숫자의 의미로 작용을 하는 경우가 있는데 첫번째, $#입니다. shell scipt를 실행할때 인자를 갖는 경우가 있습니다. 그때 $1, $2로 n번째의 인자값을 가져올 수가 있습니다. 이때 $#은 인자의 개수를 의미합니다. 두번째, ${#a[@]} shell script에서 배열의 길이 len(array)를 얻고 싶을 때 다음과 같은 분법으로 배열의 길이를 얻을 수 있습니다. Hello World .sh확장자로 ..
커널은 운영체제의 가장 중요한 요소중 하나로 주로 낮은 수준의 하드웨어를 제어합니다. 쉘은 그 커널을 덮고 있는 응용프로그램으로 사용자의 명령어를 해석합니다. Kernel(커널) 하드웨어의 자원을 필요한 프로세스에게 나누어 주고 프로그램이 운영체제에 요구하는 시스템 콜 등을 수행하는 부분으로 운영체제 맨 하부에서 돌아갑니다. Shell(쉘) shell은 user의 명령을 해석하고 그 처리 결과를 뿌려주는 시스템 프로그램입니다. 조개껍데기에서 나온 말로 내부의 커널을 감싸는 껍데기를 통해 커널에 접근할 수 있게 한다고 생각하면 됩니다. 쉘에도 sh, bash 등 여러 쉘이 존재합니다. 쉘의 종류 : Bourne Shell(sh), Bash, csh, ksh, zsh etc.. Ssh(Secure SHell..
EC2 (Elastic Compute Cloud) * 쉽게 가상의 컴퓨터(VM) 1대를 빌리는 개념. * 운영체제, cpu, 메모리, 스토리지 용량등 필요에 따라 구성이 가능하며 그 정도에 따라 요금이 상이. * 주로 서버 자원으로 활용됨. * Elastic Load Balancing*으로 트래픽 부하 조절 가능 S3(Simple Sorage Service) * 파일(이미지, 동영상 등)을 위한 서버 * EC2의 스토리지 용량을 늘려 파일서버로도 활용이 가능하겠지만 그 목적과 활용면에서 더 유용하게 사용가능하다. * 일반적으로 서버는 트래픽이 증가함에 따라 그에 맞는 작업을 해주어야 하지만 S3를 활용하면 트래픽 문제에 대한 지원을 해주기 때문에 따로 이를 위한 작업을 해주지 않아도 된다. *파일에 a..
GraphQL(Graph Query Language) GraphQL은 facebook에서 만든 쿼리 언어입니다. 클라이언트 측에서 서버의 데이터를 효율적으로 가져오는 데에 그 목적이 있습니다. 주로 REST API와 비교가 많이 됩니다. SQL vs GraphQL 같은 쿼리 언어로써 SQL과 GraphQL을 비교하자면 이 둘은 그 목적에서부터 차이가 있습니다. SQL은 DB system의 데이터를 효율적으로 가져오는 데에 GraphQL은 클라이언트 측에서 데이터를 서버 측으로부터 효율적으로 가져오는 데에 그 목적이 있습니다. 즉, SQL은 서버 측에서 요청받은 데이터를 찾는 데 사용하고, GraphQL은 아래 GraphQL의 파이프라인에서 볼 수 있듯, 주로 클라이언트에서 서버에 요청할 때 작성되고 서버..
도커(Docker)?? 도커(Docker)는 2013년에 나온 컨테이너 기반 가상화 도구입니다. 리눅스 상에서 컨테이너 방식으로 프로세스를 격리해서 실행하고 관리할 수 있도록 도와줍니다. 도커를 사용하면 이미지(실행 환경)를 기반으로 컨테이너를 실행할 수 있고 특정 상태를 이미지로 변환 가능합니다. 따라서 같은 실행환경을 가진 여러 서버를 구축할 때나 동시에 같은 실행환경이 필요한 곳 도커를 쓰게 되면 실행환경을 일일이 세팅해야 하는 번거로움을 덜 수 있습니다. Docker vs VM VM 또한 호스트 자원의 환경과는 다른 실행환경을 세팅할 때 쓰이는 가상화 도구입니다. 하이퍼바이저를 통해 리소스를 물리적으로 분리합니다. 간단하게 실행 OS위에 새로운 OS를 자원을 분리하여 그대로 Hypervisor를 ..