CLI와 GUI 그리고 Homebrew
- Seona Robin
- 2024년 6월 1일
- 2분 분량
by Kain, Kaite: 2024-06-01
summary: what are CLI and GUI, why Kain recommends using Homebrew on MacOS

CLI는 터미널, cmd와 같은 도구로
Command Line Interface, text 기반의 작업 도구입니다.
CUI는 Character User Interface 라고 하죠.
CLI는 CUI tool의 대표입니다.
반대로 우리가 마우스로 접근하여 버튼을 클릭하는 등의 환경을
GUI 라고 하죠.
Graphical User Interface, 이것이 GUI 입니다.
버튼과 같은 시각적인 요소, 그래픽 기반의 작업 도구로 명령을 내립니다.
컴퓨터 즉 기계는 명령을 해야만 작동합니다.
인공 지능을 쓰더라도 인공 지능이 어떠한 주기, 어떠한 규칙으로 정보를 수집하고
무엇을 해야 하는지 정의해 주어야만 비로소 결과를 낼 수 있죠.

그렇다면 마우스 쓰는 거 정말 편한데
키보드 같은 걸로 작업 안 하고 몽땅 마우스로만 하면 되는 거 아닐까요?

그럴 수도 있겠지만.
그럼 생각해 봅시다. 누가 그래픽 인터페이스, 버튼 디자인을 해야 할까요?
개발자가 힘들다는 게 아닙니다.
요점은 그것을 처리해야 하는 게 우리가 아닌 기계라는 것이죠.
더 많은 버튼을 처리하기 위해서, 우리는 창을 띄워야 합니다.
창을 생성하고 지워야 합니다.
이것을 반복하면 하나의 프로그램이 완성되겠죠.

얼마나 많은 자원이 소모될까요?
우리는 분명 할 수 있습니다.
좀 더 편리하게, 좀 더 시각적으로 개발을 할 수 있죠.
하지만 좀 더 절약하면 지구도 아낄 수 있을 것입니다.
전기 고갈 등……각종 문제가 해결되면 좋겠군요.
우리는 보다 효율적으로 일을 해결해 보도록 해요.

CLI tool은 텍스트 기반이기에 텍스트 이외의 것은 신경쓰지 않아도 됩니다.
그러나 사용자는 GUI 기반 서비스를 접하게 되죠.
그렇기에 개발자도 또한 자신이 제공할 최종 서비스의 모습을 숙지하고 있어야 합니다.
CLI만으로는 GUI 설계가 다소 어렵지만 GUI 설계 프레임워크, IDE 등을 활용하면
개발 기간을 단축시킬 수 있습니다.
우리 신인 개발자들은 기존의 디자인 패턴 역사를 뛰어넘어 그 이상의 서비스와 기술을
제공해야 하기 때문에, 시간이 압도적으로 부족합니다.
학습도 빠질 수 없죠.
인공 지능보다도 빠르고 섬세하게 학습하려면,
더 많은 협업 경험, 더 많은 디자인 패턴을 통해 배우고 익혀야 합니다.

편리한 도구는 최대한 활용하도록 하죠.
특히 MacOS에서 개발할 때에는 terminal을 통하게 되는데,
Homebrew를 적극적으로 사용하도록 합시다.

Homebrew는 패키지 관리자입니다.
파이썬으로 따지면 pip 같은 것이죠.
더 쉽게 표현하면 이 친구는 MacOS에서 친숙하게 사용할 수 있는 프로그램 설치 툴입니다.
brew install postgresql
brew install neovim
brew install llvm
개발하는 데 있어서 설치하는 과정이란 첫 난관이라 할 수 있습니다.
설치가 되고 빌드 및 실행이 되어야 비로소 준비가 다 되었다고 할 수 있죠.
서로 연결하는 것도 문제지만
단일 프로그램이 작동하는지를 확인하는 과정이 가장 난감합니다.
Homebrew는 설치만 하는 건 아니지만 설치를 가장 원활하게 수행하죠.
물론 크롬, firefox와 같은 우리가 일상적으로 쓰는 프로그램도 설치 및 관리할 수 있습니다.
지원만 한다면요.
특히 llvm 설치할 때, postgresql 설치할 때
저는 유용하게 사용했습니다.
여러분도 적절하게 사용하시길 바랍니다.

Kaite에서 Homebrew 설치하는 방법에 대하여 소개하였습니다.
Homebrew를 쓰지 않는다면 Windows에선 Microsoft Store,
맥에선 App Store, 각종 공식 설치기 등……다른 수단이 있겠죠.
가장 확실한 방법은 각 프로그램의 공식 설치기지만
대개 Homebrew가 지원하므로, 공통적으로 brew~ 이하 명령어를 입력하면 되니까
좀 더 심플하게 해결할 수 있습니다.
Dev C++……얼마 전에 트러블이 발생했습니다만
해결할 수 있기를 바랍니다.
Windows 탈출하고 싶다 inSchool
Linux……………………
Comments