Programming

; develop a program

DevStudy

[WEB] CLI와 WEB의 작동방식 차이

Clloud_ 2023. 6. 5. 08:03
반응형

이번 포스팅에서는 사용자와 컴퓨터 또는 소프트웨어 간의 상호 작용을 위한 두 가지 주요 방법인 CLI와 웹 인터페이스에 대하여 공부를 해보고자 한다.

 

 


CLI(Command-Line Interface)

CLI는 텍스트 기반 인터페이스로, 사용자는 명령어를 입력하여 컴퓨터에게 작업을 지시한다.
주로 터미널 창, 명령 프롬프트 또는 콘솔 창을 통해 실행되며, 사용자는 명령어와 옵션을 입력하여 파일 및 폴더 조작, 프로그램 실행, 시스템 설정 등 다양한 작업을 수행할 수 있다.

 

CLI는 주로 개발자, 시스템 관리자 및 전문가들에게 사용되며, 명령어의 정확한 구문과 옵션을 알고 있어야 한다.
또한 CLI는 강력하고 유연한 인터페이스이지만, 비전문가에게는 사용이 어려울 수 있다.

 


웹 인터페이스(Web Interface)

웹 인터페이스는 그래픽 사용자 인터페이스(GUI)를 통해 사용자와 상호 작용한다.
웹 브라우저를 통해 액세스 되며, HTML, CSS, JavaScript 등의 웹 기술을 사용하여 구현되며, 사용자는 웹 페이지의 폼, 버튼, 링크 등을 통해 작업을 수행하고 결과를 확인할 수 있다.

 

웹 인터페이스는 일반 사용자에게 친숙하고 직관적이며, 복잡한 작업도 비교적 쉽게 수행할 수 있다.

또한 웹 인터페이스는 인터넷에 연결되어야 하며, 웹 서버와 통신하여 데이터를 주고받는다다.

 


작동 방식의 차이

CLI

  • CLI는 텍스트 명령어를 입력하고 실행하는 방식으로 작동한다.
  • 사용자가 명령어를 입력하면 컴퓨터는 해당 명령어를 해석하고 실행 결과를 텍스트로 반환한다.
  • CLI는 명령어를 사용하여 특정 작업을 수행하며, 이는 주로 컴퓨터의 로컬 리소스에 직접 접근한다.
# 예시(Flask를 이용한 예시 코드)
import argparse

def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("name", help="enter your name")
    args = parser.parse_args()
    print(f"Hello, {args.name}!")

if __name__ == "__main__":
    main()
이 코드는 CLI를 이용해 실행할 때, python app.py Alice와 같이 커맨드라인 인자로 이름을 입력받아 "Hello, Alice!" 라는 결과를 출력한다.

 

웹 인터페이스

  • 웹 인터페이스는 웹 브라우저를 통해 사용자가 입력한 데이터를 웹 서버로 전송한다.
  • 웹 서버는 이 데이터를 받아 처리하고 결과를 생성하여 웹 페이지로 반환한다.
  • 사용자는 웹 페이지에서 결과를 확인하고 필요에 따라 추가 작업을 수행할 수 있다.
  • 웹 인터페이스는 클라이언트-서버 아키텍처에 기반하며, 사용자는 웹 브라우저를 클라이언트로 사용하여 서버와 통신한다.
# 예시(Flask를 이용한 예시 코드)
from flask import Flask, request

app = Flask(__name__)

@app.route("/")
def index():
    return """
        <form action="/hello">
            <label>Enter your name:</label>
            <input type="text" name="name">
            <button type="submit">Submit</button>
        </form>
    """

@app.route("/hello")
def hello():
    name = request.args.get("name")
    return f"Hello, {name}!"

if __name__ == "__main__":
    app.run(debug=True)
이 코드는 웹 브라우저에서 http://localhost:5000 주소로 접속하면, 이름을 입력받는 폼이 표시되고, 제출하면 /hello URL로 요청이 전송된다.
/hello URL에서는 request.args를 이용해 입력받은 이름을 가져와 "Hello, {name}!" 을 반환한다.

 

결론적으로, CLI는 텍스트 기반의 인터페이스로 명령어를 입력하고 실행하는 방식으로 작동하며, 주로 터미널 창을 사용하는 반면, 웹 인터페이스는 그래픽 기반의 인터페이스로 웹 브라우저를 통해 사용자와 상호 작용하고, 웹 서버와 데이터를 주고받는 방식으로 작동한다.


반응형

'DevStudy' 카테고리의 다른 글

[Network] CDN(Content Delivery Network)  (0) 2023.06.10
[WEB] 크로미움(Chromium)  (0) 2023.06.08
[Server] API & REST API  (0) 2023.06.04
[Network] 네트워크 연결 스토리지(NAS)  (0) 2023.06.04
[Network] 라우팅(Routing)  (0) 2023.06.01