반응형

IT is True 550

[Linux] 리눅스의 apt 명령어 정리 (리눅스 패키지와 패키지 매니저)

패키지와 패키지 매니저 리눅스 운영체제에서는 패키지와 패키지 매니저를 지원한다. 리눅스 패키지는 여러 파일을 모아 하나의 파일로 저장하고 있는 압축파일이다. 각 패키지 안에 들어 있는 파일들의 구성은 다음과 같다. 프로그램 파일 프로그램 설치 파일 프로그램 설치 설명서 프로그램에 대한 정보를 담은 파일 패키지 안에는 하나의 프로그램이 정상적으로 설치되고 동작하기 위한 모든 파일들이 압축되어 있으며, 프로그램에 대한 정보도 담겨 있다. 따라서, A라는 프로그램을 설치하기 위해 B라는 프로그램이 필요하다는 가정을 하고, B라는 패키지가 설치되지 않은 상태에서 A라는 프로그램을 설치한다면, 패키지에 포함된 정보를 통해 프로그램 B를 먼저 설치하고 나서 프로그램 A를 설치한다. 패키지 매니저는 패키지의 설치, ..

[Linux] 리눅스의 텍스트 에디터 nano

텍스트 에디터 nano CLI 환경에서 일반적으로 자주 쓰이는 텍스트 에디터는 vim(vi), emacs, nano 등이 있다. vim과 emacs 에디터는 다양한 기능을 제공하는 반면, 사용을 위해 따로 학습을 해야 할 정도로 진입장벽이 높다. 따라서, CLI 사용에 익숙하지 않은 사람들의 경우 nano 에디터 사용을 추천한다. VS Code와 같은 에디터를 사용하지 않고 터미널에서 에디터를 사용하는 이유는 AWS와 같은 원격 서버 환경에서 원격으로 텍스트 파일을 편집해야 하는 경우가 있기 때문이다. 따라서 개발 분야에서 CLI는 여전히 유용하게 사용되고 앞으로도 계속 사용될 것이기에 터미널 내의 에디터를 반드시 숙지해야 한다. nano 실행 터미널 창에서 nano 명령어를 통해 실행할 수 있다. na..

[Linux] 리눅스의 관리자 권한과 절대 경로 및 상대 경로

관리자와 사용자 컴퓨터의 운영체제(Window, Mac, Linux 등)에는 사용자와 관리자가 따로 구분되어 있다. 사용자는 일반적으로 PC를 켜서 바탕화면에 진입하기 전에 로그인하는 계정이다. 프로그램을 설치하거나 업데이트할 때 이를 승인 또는 인증 절차를 거치도록 하는 경험을 한 적이 있을 것이다. 이 뿐만 아니라 프로그램을 변경, 삭제할 때도 관리자의 권한을 필요로 하기도 한다. 관리자와 사용자를 따로 구분하는 이유는, 다른 사용자의 해킹 또는 악성코드로부터 방지하기 위함이다. 관리자 권한으로 실행되는 PC에서는 악성코드가 삽입된 프로그램이 유입될 가능성이 높기 때문이다. 따라서, 리눅스 기반의 여러 운영체제에서도 관리자와 사용자를 구분하고 있다. 같은 리눅스 기반으로 개발된 운영체제에서도 다양한 ..

[Linux] 리눅스 CLI 기본 개념과 명령어 정리

CLI(Command-Line Interface) CLI는 가상 터미널 또는 터미널을 통해 사용자와 컴퓨터가 상호 작용을 하는 방식을 뜻한다. 리눅스의 터미널은 키보드의 입력과 모니터의 출력으로 모든 작업을 할 수 있다. 리눅스는 GUI가 개발되기 이전부터 컴퓨터를 조작하기 위해 사용된 프로그램으로 GUI가 할 수 있는 모든 작업을 CLI로 할 수 있다. 프롬프트(Prompt) 터미널 창에서 키보드의 입력을 확인하고 편집할 수 있는 한 줄의 공간을 뜻한다. 프롬프트를 통해 키보드로 입력하여 사용한다. CLI 기본 명령어 pwd : 현재 위치 확인 pwd는 터미널이 현재 위치를 알려주는 명령어로 현재 작업 중인 디렉토리의 절대 경로를 출력한다. pwd 디렉토리(Directory) : 컴퓨터에서 파일을 분류..

[CSS] CSS의 기본적인 개념과 사용하는 이유

CSS CSS는 HTML로 작성된 웹 어플리케이션 구조에 디자인을 적용하는 데 사용한다. 웹 페이지의 스타일 및 레이아웃을 정의하는 스타일 시트 언어이다. 동일한 구조와 내용을 가진 웹 사이트더라도 CSS를 다르게 적용하면 다른 웹 사이트로 변신할 수 있다. CSS는 좋은 사용자 경험(UX, User Experience)을 제공하기 위한 도구이다. HTML 태그에 CSS 속성을 추가할 수 있다. 이러한 방법은 관심사 분리 측면에서 권장되지 않는다. 하지만 파일로 굳이 분리하지 않아도 될 만큼 css 코드가 많지 않는 경우가 있다. 이런 특수한 경우를 위해 HTML 요소에 직접 CSS 속성을 추가하기도 한다. 관심사 분리란? HTML은 웹 페이지의 구조와 내용만 담당하고, css는 디자인만 담당하도록 하여..

[HTML] HTML의 기본적인 구조와 개념 정리

HTML 이란? HTML은 HyperText Markup Language의 약자로 웹 페이지를 구성하는 마크업 언어이다. 웹 페이지의 전체적인 구조와 내용을 담당하여 기본적인 틀(뼈대)을 만드는 데 사용한다. See the Pen HTML 기본 by IT is True (@IT_is_True) on CodePen. HTML의 특징 1. HTML은 부등호()로 묶여있는 구성 요소들인 태그(tag)들의 집합이다. , : 해당 문서의 HTML 버전을 웹 브라우저에 알려주는 역할 : HTML 문서의 가장 먼저 작성해야 하는 태그로 문서의 시작과 끝을 알리는 root 태그 : HTML 문서의 메타데이터와 title, 외부 파일 링크 등을 정의하는 태그 : HTML 문서에 대한 정보로 웹 브라우저에는 표현되지 않음..

[CS] 프로그래밍의 이해

프로그래밍이란? 프로그래밍은 컴퓨터에게 문제 해결을 맡기는 일종의 커뮤니케이션으로, 정의는 프로그래밍이란 프로그램을 만드는 과정으로, 특정 목적을 달성하기 위해 설계된 알고리즘을 프로그래밍 언어를 사용하여 코드로 작성하는 과정을 의미한다. 프로그램 프로그래밍의 결과로 만들어진 산출물로, 프로그램은 어떠한 목적을 달성하기 위한 컴퓨터 명령문의 집합체이다. 프로그래밍 언어 컴퓨터가 이해할 수 있는 언어. 컴퓨터는 기계어를 사용하며 사람이 이해하기 어렵다. 따라서 컴퓨터의 언어와 사람의 언어를 매개해주는 역할을 하는 것이 프로그래밍 언어이다. 컴퓨터에게 가까운 언어일수록 저수준 언어, 사람에게 가까운 언어일수록 고수준 언어 컴파일 사람이 프로그래밍 언어로 작성한 소스 코드를 컴퓨터가 이해할 수 있도록 기계어 ..

[CS] 컴퓨터의 구성 요소와 동작

컴퓨터란? 컴퓨터의 어원은 먼저 계산한다는 의미의 라틴어 'Computare'에서 유래 컴퓨터란, 입력받은 데이터를 정해진 규칙대로 처리해서 처리 결과를 저장하고 출력하는 전자 장치. 입력받은 데이터 : 입력 장치를 통해 데이터를 얻는다. 정해진 규칙 : 프로그램을 의미, 소프트웨어 및 애플리케이션이라고도 불림. 처리 : 중앙처리장치를 통해 연산을 수행 출력 : 출력 장치를 통해 사람이 이해할 수 있는 형태의 정보로 출력 컴퓨터의 구성 요소 컴퓨터는 크게 하드웨어와 소프트웨어로 구성되어 있다. 정의를 해석하면, 정해진 규칙은 소프트웨어, 입력받은 데이터를 처리해서 결과를 저장하고 출력하는 장치를 하드웨어로 해석할 수 있다. 소프트웨어 소프트웨어는 물리적인 형태가 존재하지 않는 컴퓨터의 구성 요소로 내부 ..

[IntelliJ IDEA] 인텔리제이에서 가장 많이 사용되는 15가지 단축키 정리 (윈도우 환경)

intelliJ IDEA는 편집, 탐색, 리팩토링, 디버깅 등 툴을 사용하는 것에 많은 단축키가 있다. 이를 적극적으로 사용하면 코드 시간을 단축하는데 큰 도움이 된다. Alt + Enter 현재 커서에 있는 문장에 대한 작업을 표시하여 코드를 수정하는 데 사용할 수 있는 단축키. 코드에 오류가 발견될 경우, 마우스 커서를 오류 문장에 두고 Alt + Enter를 타이핑하여 IDE에서 제안된 수정 목록이 표시된다. 또한, 경고가 표시되는 경우, IDE가 제안하는 목록을 선택하여 수정이 가능하다. 오류 또는 경고, 제안 등이 없는 코드에도 Alt+Enter키를 사용할 수 있는데, Intention Actions(의도 조치)이라 한다. Intention Actions는 라이브러리 import를 자동으로 할 ..

[Codestates] 코드스테이츠 백엔드 41기 합격 후기 (정부지원 3회차)

2022년 8월 4일 코드스테이츠로부터 합격 소식을 전달받았고, 19일 첫 오리엔테이션을 진행했다. 지원부터 합격까지의 경험들을 작성하고자 한다. 지원동기 대학교를 졸업한 뒤, 취업을 하기 위해 정말 많은 회사의 코딩테스트를 치러보기도 했으나 모두 떨어져 힘든 시간을 보내고 있었다. 부족한 지식을 향상시키기 위해 여러 정보를 찾던 중 부트캠프에 대하여 처음 알게 되었고 싸피, 애플 디벨로퍼 아카데미, 부스트캠프, 코드스테이츠, ... 등 많은 부트캠프가 존재하고 있다는 것을 알게 되었다. 공부부터 취업까지 어려움을 겪던 중 부트캠프에서 동료들과 함께 알고리즘과 개발 지식을 향상시킬 수 있는 좋은 기회라고 확신하여 지원을 결심하였다. 코드스테이츠를 선택한 이유 사실 가장 가고 싶었던 곳은 싸피였다. 규모와..

반응형