글

라벨이 개념인 게시물 표시

Bash Quoting

이미지
  1. Backslash : \ - 다음 문자에 있는 특별한 기능을 상실하게 한다. (일반 문자열처럼 만든다.) 2. Single Quotes : '' - 작은따옴표 안에 있는 문자는 모두 특별한 기능을 상실한다. 3. Double Quotes : "" - $(달러) 와 `(Grave, 강세표) 을 제외하고 다른 모든 문자는 특별한 기능을 상실한다.

Bash 이해해야 할 중요한 개념

이미지
1. Tokenization (토큰화)  의미: Bash는 사용자가 입력한 명령어를 토큰(Token)이라는 개별적인 부분으로 나눕니다. 예를 들어, ls -l /home/user 명령은 ls, -l, /home/user로 나뉩니다. 중요성: 이 과정은 Bash가 명령어를 올바르게 해석하고 실행하기 위한 첫 단계입니다. 토큰화 없이는 명령어의 구조와 의미를 파악할 수 없습니다. Bash Tokenisation(토큰화) 2. Command Identification (명령어 식별) 의미: 토큰화된 각 부분이 어떤 명령어, 옵션, 인자 등을 나타내는지 식별하는 과정입니다. 중요성: 이 단계에서 Bash는 사용자의 입력이 실제로 실행 가능한 명령어인지, 내장 명령어인지, 외부 프로그램인지를 판별합니다. 이는 명령어의 정확한 처리를 위해 필수적입니다. 3. Shell Expansions (셸 확장) 의미: Bash는 특정 패턴이나 표현을 확장하여 여러 값을 생성할 수 있습니다. 예를 들어, *, ?, {}, $ 등의 특수 문자를 사용한 확장이 여기에 해당합니다. 중요성: 이 기능을 통해 사용자는 간단한 표현으로 복잡한 명령어를 구성할 수 있습니다. 예를 들어, 파일 이름 패턴 매칭, 변수 확장, 명령어 치환 등이 가능합니다. -  Bash Shell Globbing 4. Quote Removal (인용 부호 제거) 의미: Bash에서는 큰따옴표("), 작은따옴표('), 백슬래시()를 사용하여 특수 문자의 기능을 변경하거나 무시할 수 있습니다. 이 단계에서는 이러한 인용 부호를 처리합니다. 중요성: 인용 부호는 문자열을 그대로 사용하거나 특수 문자의 기능을 제어하는 데 필요합니다. 예를 들어, 공백이 포함된 문자열을 하나의 인자로 처리하거나, 특수 문자의 일반 문자로서의 기능을 활용할 수 있습니다.  5. Redirections (리다이렉션) 의미: Bash에서는 입력과 출력의 방향을 변경할 수 있습니다. 예를 들어, >, >>,...

Docker 개념

이미지
  안녕하세요. 알렉스 입니다. 제가 Docker 스택을 배우고 있습니다. 사용하면서 배운 내용들을 블로그 글로 정리할려고 합니다.  도커는 컨테이너를 이용하여 프로그램을 구동하는 방식입니다. 각각의 개발자들은 서로 다른 환경을 갖고 있고 그것을 일원하 하는데에도 많은 시간이 걸립니다. 이미 잘 동작되는 환경과 프로그램을 하나의 모듈로 만들고 그것을 필요한 요소마다 가져다 쓸수 있는것이 Docker Image 입니다. 사진1) Docker File에서 IMAGE 생성 지금은 개념만 알기 위해서 사진1과 같이 나타내지만 'Docker File'은 Docker Image를 생성하기 위한 문서 입니다. 이 문서를 이용해서 IMAGE를 생성합니다. IMAGE안에 단순히 코드 뿐만 아니라 추가로 받아야 할 다른 이미지, 작동 경로와 코드, 그외의 파일 및 실행방법들을 이미지로 만들어 줍니다. 이때 주의할 점은 아직 앱처럼 사용할수 없다는 것입니다. 이미지를 이용해서 컨테이너를 만들어야 비로서 서비스를 할수 있습니다. 사진2) IMAGE로 Container생성 사진2와 같이 이제 이미지로 컨테이너를 생성합니다. 이 컨테이너는 독립된 공간으로 최소한의 리소스를 이용하여 운영이 됩니다. 필요시 IMAGE를 이용하여 여러개의 칸테이너를 생성할수 있습니다. 사진3) Docker로 통신방법  도커의 컨테이너는 고립된 공간이다. 따라서 Local PC가 Container와 통신하기 위해서는 설정을 해줘야 한다. 외부에서 접속할때 허용하는 'Local PORT'가 3000이라고 예를 들겠다. 외부 어디든 3000포트를 통해 PC에 접속할수 있다 하지만 아직 도커의 컨테이너에는 접속할수 없다.  도커만 설치되어 있으면 설사 환경이 셋팅이 되지 않더라도 컨테이너를 통해서 해당 앱을 실행할수 있습니다.  이때 도커 컨테이너 안에서도 포트를 허용한다. 도커 내부에서 운영되는 서비스의 포트는 5000이다. 이때 'Local PORT'와 'Co...

async, await 개념 및 사용

이미지
 함수 앞에 async가 오게 되면 그 함수는 Promise이 된다. const    passOrfailed1   =   ()   =>   {      return   new   Promise ( ( respond ,   reject )   =>   {          respond ( ' pass ' ) ;      } ) ; } const    passOrfailed2   =   async   ()   =>   {      return   ' pass ' ; } passOrfailed는 1,2로 구분되어 있다. 1번은 기존의 Promise를 리턴하는 방식이고 2번은 async를 이용한 방 법이다. 코드가 상당히 간단해 진것을 알수 있다.  const    delay   =   ( sec )   =>   {      return   new   Promise  ( ( res )   =>   {          setTimeout ( res ,   sec * 1000 ) ;      } ) }   const   getFruit   =   async   ()   =>   {      await   delay ( 1 ) ; ...