커맨드 라인 인터페이스란?


안녕하세요
고코더 입니다.


CLI는 Command Line Interface 줄임말 입니다.  명령줄 인터페이스라는 이름으로 번역이 가능합니다.
사용자는 커맨드 즉 문자열을 통해 컴퓨터에게 명령을 합니다. 컴퓨터의 응답도 역시 문자열로 출력해주는 방식을 말합니다.



 1. CLI 실행


운영체제에서는 기본적으로 CLI를 제공하고 있습니다.
대표적적으로는 윈도우에서 사용하는 명령 프롬프트(CMD)가 있습니다. 


맥과 리눅스에서는 Terminal 환경이 CLI 입니다. 




 2. CLI 활용


CLI에서는 생각보다. 사용할 거리가 많습니다.
파일이나 폴더를 관리 할 수도 있고
 
파워쉘과 같은 스크립트 언어를 사용하기도 하고
REPL 환경을 사용할 수도 있습니다.


마무리


CLI 환경은 중독입니다.


댓글을 달아 주세요


간단하게 테스트하고 출력하는 커맨드 환경


안녕하세요.
고코더 입니다


 1. 오늘은 REPL 이라는 단어에 대해 알아보려고 합니다.
코딩을 공부하다보면 많이 보이는 단어이지만 그냥 무심히 지나치는 경우가 많습니다.
Read Eval Print Loop 이라는 단어의 줄임말 입니다.

입력(read)
평가(eval)
출력(print) 
반복(loop)

기본적으로 REPL은 명령줄 인터페이스인 CLI위에서 작동 됩니다.  
윈도우에서는 명령프롬프트(CMD), 파워쉘(PowerShell)
리눅스와 맥에서는 터미널(Terminal) 환경에서 사용이 가능합니다.



REPL을 사용하는 이유


 2. 컴파일 과정 없이 즉석에서 코드를 입력해 결과를 바로 알 수 있는 방식을 말합니다. 
개발시에 코드를 즉시 테스트 함으로써 편리한 소스 코드를 디버깅 할 수 있습니다.

투수가 마운드에서 경기를 시작하기전에 몸풀기 투구 처럼 간단하게 시도하고 결과가 반영되지 않는 연습게임처럼 이용이 가능합니다.
간단하게 테스트하는 용도로 즉석에서 결과 값을 얻을 수 있습니다. 

우리가 자주 사용하는 크롬 브라우저에서 F12를 누르면 나타나는 실행되는 개발자 모드에서 console 입력창은 대표적인 REPL 환경이 입니다.
소스를 수정하지 않고 재 실행하지 않아도 결과를 바로 테스트 할 수 있습니다. 
화면에서는 제 홈페이지에 로고를 숨겨보았습니다. 테스트 결과 값을 서버에 저장되지 않고 로컬 환경에서 즉시 얻을 수 있습니다.



마무리


REPL의 목적인 개발 편의성을 제공함으로 개발 시간을 단축시킵니다. 서버 자원을 최소한으로 사용 가능하도록 도와줍니다. 





댓글을 달아 주세요


동기식 비동기식 뭐가 다를까?


안녕하세요.
고코더 입니다.



동기, 비동기 단어 자체가 영어로 보면 머리속에 들어오는데 번역된 한글로 보면 조금 헷갈린 구석이 있습니다.

동기(synchronous)
    - 응답을 받아야만 다음 동작을 실행 
비동기는 (Asynchronous)
    - 응답에 상관 없이 바로 다음 프로세스를 진행



 1. 동기방식


우리가 많이 사용하는 ajax는 보통 동기식을 많이 사용합니다. 해당 데이터를 모두 가져와서 다음 프로세스에서 함께 사용하는 경우가 많기 때문입니다. 동기는 하수도관이 하나 입니다. 물길이 하나여서 하나가 다 된 다음 다음 프로스세를 순차적으로 실행합니다. 프로세스적 절차가 중요한 사이트 관리자 페이지라던가 금융 업무와 같은 곳에서는 동기식인 경우가 많습니다.

특징
    - 한번에 하나씩 처리하면서 내려간다
    - 순차적으로 처리하기에 비동기에 비해 느리게 결과 값이 나타난다.
    - 디버깅이 쉽다




 2. 비동기 


비동기는 다양한 작업이 동시에 일어납니다. 예를 들면 메인화면이 노출되는데 실시간 채팅창은 로딩 된데로 뜨고 게시판 미리보기도 로딩되는데로 뜹니다. 그리고 로그인창이 오랫동안 로딩 하다 404에러가 난다면 다른 프로세스와 상관없이 나중에 오류가 난 박스대로 보여집니다. 이처럼 비동기는 우리가 많이 보는 사이트에 모습입니다.

특징
    - 여러가지 로직이 동시에 처리 된다.
    - 매우 빠르게 결과가 도출된다.
    - 다른 프로세스의 결과 값을 받아 쓸때 이를 조절해야 한다.




마무리


번역 자체가 이상해서 항상 헷갈립니다.
동기가 기다려서 순차적으로 실행하는 단어입니다!!
"동시시 시작하기 위해 기다린다" 이렇게 외우세요!



댓글을 달아 주세요