일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 홈 디렉토리
- 설치형 SW
- 백준
- dfs
- 출력 명령어
- SSAFY입학
- comdef
- MongoServerSelectionError
- c++
- ci/cd
- 부트캠프
- ECS
- 지속적 전달
- 수직확장
- 웹 SW
- docker context create
- 리눅스
- char 입력
- neofetch
- DevOps
- 코드스테이츠
- cli
- fastify-cli
- zshrc error
- OpenSearch
- 프로세스
- docker
- Java 입력
- fastify
- mysql
- Today
- Total
목록DevOps (26)
다디와 괴발개발
이전 게시글에서 표준 스트림에 대해서 살펴보았다. 이번에는 표준 스트림의 흐름을 바꾸는 과정인 리다이렉션과 파이프라인에 대해 살펴보자. 리다이렉션 (Redirection) 리다이렉션은 표준 스트림의 흐름을 바꿔 파일로 표준 입출력을 할 수 있도록 해준다. 핵심은 '파일'이며, 파일로 만들어버리면 리다이렉션이고, 파일로 만드는게 아니라 단순 출력은 stdout이다. 기호 > 혹은 표준 출력 명령의 결과를 파일로 저장 (기존 파일 덮어씀) >> 표준 출력 (append) 명령의 결과를 기존 파일에 추가 ps.txt # 명령어 > 파일 그렇다면, 파일을 출력하고 싶은데 조건을 걸고싶다면? head 명령어를 사용해서 ps.txt라는 파일을 출력해 볼 것이다. head는 파일의 처음 부터 지정한 라인까지 출력하는..
C언어를 사용하다 보면 헤더에 #include 를 많이 볼 수 있다. stdio는 Standard Input & Output의 줄임말로 표준 입출력을 의미한다. 리눅스 쉘에서도 쉘의 기능들을 최대한으로 끌어내기 위해 표준 입출력에 대한 이해가 필수적이다. 먼저, 표준 스트림에 대해 살펴보자 표준 스트림 표준 스트림이란? Standard Stream에서 Stream은 프로그램을 드나드는 데이터의 흐름을 말한다. 프로그램은 보통 입력을 받으면 어떤 형태로 출력을 내놓는다. 이렇게 컴퓨터 프로그램과 입출력 장치 사이에 미리 연결된 입출력 통로를 표준 스트림이라고 생각하면 된다. 표준 스트림은 stdin, stdout, stderr, 세 가지가 있다. STDIN (Standard Input, 0) stdin은 ..
프로세스 실행방식에는 포그라운드와 백그라운드가 있다. 명령들을 알아보기 이전에 둘의 개념을 먼저 짚어보자 포그라운드(foreground) 터미널에서 작업시, 사용자가 명령을 입력하면 이를 해석하고 실행하여 결과를 화면에 출력하는 것과 같은 과정을 말한다. 사용자가 입력한 명령이 실행되어 결과가 출력될 때까지 기다려야하며, 이렇게 포그라운드 방식으로 처리되는 프로세스는 포그라운드 프로세스라고 한다. 포그라운드 방식은 한 번에 하나의 명령을 실행하므로, 동시에 여러 프로세스를 실행하기가 어렵다 백그라운드(background) 프로세스가 실행되는 동안 뒤에서 다른 프로세스가 실행되도록 한 터미널에서 여러 개의 프로세스를 동시에 실행하는 것을 말한다. 백그라운드 프로세스는 백그라운드 방식으로 처리되는 프로세스를..
프로그램과 프로세스 우리가 평소에 쉽게 접하는 용어인 프로그램은 어떤 의미일까? 프로그램은 사용자가 원하는 일을 처리할 수 있도록 프로그래밍 언어를 사용하여 수행절차를 표현해놓은 명령어들의 집합. 즉, 컴퓨터에서 어떤 작업을 실행하기 위한 코드, 정적 상태의 파일이라고 할 수 있다. 그렇다면, 프로세스는 무엇일까? 프로세스는 컴퓨터에서 실행되고 있는 프로그램을 뜻한다. 사용자가 프로그램을 실행하면, 운영체제가 실행에 필요한 메모리를 할당 받아 프로그램 코드를 실행하는 방식이다. 그렇다면 다중 프로세스는? 하나의 프로그램이 여러 프로세스를 만드는 것이다. 이때 각각의 프로세스는 독립된 메모리 영역을 할당 받고, 서로의 변수나 자료구조에 접근할 수 없다. 한 프로세스가 다른 프로세스의 자원에 접근하려면 IP..
MAC을 쓰다보면 Homebrew를 통해 무언가를 설치하라는 소리를 많이 들어봤을 것이다. 여기서 Homebrew와 같은 것을 패키지 매니저라고 한다. 이번 글에서는 패키지와 패키지 매니저에 대해 알아보도록 하자. 패키지란? 패키지는 라이브러리와 유사한 개념으로, 라이브러리가 개발을 위해 사용되는 코드의 묶음이라고 치면, 패키지는 배포를 위해 사용되는 코드의 묶음이라고 볼 수 있다. 패키지 매니저란? 패키지 매니저는 이러한 패키지의 설치, 변경, 삭제 등, 관리를 편하게 해주는 도구를 말한다. 마치 핸드폰에서 내가 원하는 앱을 설치하고, 업데이트하고, 삭제할 수 있는 것과 같다. MAC의 대표적인 패키지 매니저에는 brew가 있다. Homebrew 사이트에서 스크립트를 복사한 후 터미널에서 실행해주면 b..
코드스테이츠 DevOps 부트캠프 1기 수강생이 된 지 벌써 한 달이 지났다! 이때까지 개인 공부나 스터디를 진행하면서 회고를 써본 적이 한 번도 없는데, 회고를 작성해봄으로써 내가 어떻게 공부했는지, 무엇이 부족한지, 앞으로 어떻게 발전시키고 개선할 것인지 정리할 기회인 것 같아 회고를 작성하게 되었다! 공지로 올려주신 KPT(Keep, Problem, Try) 회고 방법과 urclass 메인에 올라와 있는 다른 부트캠프 수강생분들의 회고를 참고하면서 한 번 작성해보았다 두근두근 첫 섹션 동안 배운 내용을 쭉 적어보면, 개발 프로세스와 DevOps 업무 개요 리눅스 운영체제 웹서비스 개발 기초 Git과 버전 관리 시스템 HTTP WAS와 Web Server 여기에 오프라인 WAS 프로젝트까지! 이렇게 ..
리눅스나 유닉스 CLI 환경에서 유용하게 쓰이는 nano 에디터에 대해 포스팅해보겠다 예전 학교에서 리눅스 배울 때는 vi 에디터를 사용했었는데 사용법을 따로 익혀야되고 조금 안쓰다보면 금방 까먹는다.. 이번에 부트캠프를 통해 nano를 알게되었고, 사용법도 쉽고 하단에 단축키들이 설명 돼있어 너무너무 편리했다 대부분의 리눅스 환경에는 nano 에디터가 탑재되어 있어 바로 사용이 가능하다 nano hello.js #hello.js를 nano에서 연다 nano #그냥 실행 상단 검은 라인 : 나노 버전, 파일 이름 안내 중간 부분 : 파일 편집 화면 하단 라인 : 사용에 필요한 단축키들 설명. '^'는 ctrl을 말한다 본격적으로 nano 에디터를 실행해보자! nano hello.js를 통해 편집기를 실행..
쉘을 사용하다 보면, 이리저리 파일을 찾고 디렉토리를 옮겨다닐 일이 많다. 쉘에서 현재 위치를 이동하기 위해서는 반드시 절대 경로와 상대 경로의 개념에 대해 알고 있어야 한다. 절대 경로 기준점으로부터의 절대적인 위치 리눅스의 기준점은 최상위 디렉토리인 /부터 시작하여 목표 디렉토리까지 가는 경로를 모두 기술해야 한다. 절대 경로로 기술할 때는 항상 맨 앞에 최상위 디렉토리 /를 붙여줘야 한다! 상대 경로 현재 위치의 기준점으로 경로를 표현 자신의 현재 위치는 pwd로 확인할 수 있으며, 현재 위치한 디렉토리는 .으로 나타낸다. 현재 위치의 상위 디렉토리는 두 개의 온점으로 표시한다 .. 만약 지금 위치의 상위의 상위 디렉토리로 가고싶다면? cd ../../ 여담 : 홈 디렉토리 쉘을 실행하면 기본 시작..