Programming

빅오 표기법 빅오 표기법 명칭 O(1) 상수시간(Constant time) O(logN) 로그시간(Log time) O(N) 선형시간 O(NlongN) 로그선형시간 O(N^2) 이차 시간 O(N^3) 삼차시간 O(2^n) 지수 시간 *시간 복잡도가 낮은 순서로 작성 일반적인 시간 제한이 1초인 문제에 대한 예시 N의 범위가 500인 경우 : 시간 복잡도가 O(N^3)인 알고리즘 설계 N의 범위가 2,000인 경우 : 시간 복잡도가 O(N^2)인 알고리즘 설계 N의 범위가 100,000(10만)인 경우 : 시간 복잡도가 O(NlogN)인 알고리즘 설계 N의 범위가 10,000,000(1000만)인 경우 : 시간 복잡도가 O(N)인 알고리즘 설계 시간과 메모리 측정 공부하는 과정에서 실질적인 소요 시간을 확..
왜 배우기 어려운 명령어(CLI)를 사용하는 것일까? GUI (graphical user interface) vs CLI (command line interface) 리눅스는 사용하기 쉬운 GUI방식이 있지만 CLI방식을 고수하고 있다. 그 이유는 무엇일까? GUI 방식 : 1. 에너지를 훨씬, 훨씬 많이 쓴다. 일반인들은 쉽게 사용하기 위해 아이콘이나 마우스, 즉 사용성을 높인다. 2. GUI방식은 쉽지만 상당히 많은 노동이 필요하다. 주어진 프로그램을 실행할 때 일이 끝날 때까지 기다려야 한다. 순차적인 작업을 할 때 적합하지 않다. CLI 방식 : 1. 훨씬 더 적은 ‘컴퓨터 파워’(CPU나 메모리를 덜 차지함)를 이용해서 컴퓨터 동작시킨다. 서버컴퓨터나 데이터를 분석하는 시스템들은 일반인들이 쓰는..
명령어 기반의 시스템에서 파일을 다운로드 하는 방법 wget GUI방식에서는 브라우저에서 '다운로드 하기' 아이콘을 눌러서 다운받으면 되지만 명령어 시스템에서는 어떻게 다운로드 받을지 궁금증이 생길 것이다. 우선 다운 받을 때 사용할 프로그램이 있어야 한다. 여러 가지 중 wget 이라는 프로그램이 잘 사용된다. URL을 통해 파일을 다운로드 받을 수 있다. GUI방식에서 다운로드 버튼 우클릭하여 웹브라우저에서 Copy Link Address 로 복사한다. Linux로 돌아와서 wget URL붙여넣기 엔터 하면 다운로드가 된다. ‘download’라는 이름으로 저장된 것을 확인할 수 있다. ls -l 로 확인해 보면 download 파일로 다운로드 된 것을 확인할 수 있다. 이 파일의 이름을 바꾸고 싶으..
패키지 매니저를 이용하여 운영체제에 설치되어 있지 않은 프로그램도 쉽게 설치할 수 있다. 리눅스 배포판에 따라 패키지 매니저가 조금씩 다르나 사용법은 비슷하다. package manager 패키지 : 프로그램, 애플리케이션, 앱 이라고 부르는 것들을 의미 컴퓨터를 사용한다 = 패키지를 이용해 다양한 처리를 한다 리눅스에도 패키지가 존재한다. (ls, mkdir도 리눅스에 내장되어 있는 패키지(=프로그램)이다.) 프로그램을 직접 설치하는 경우에는 프로그램의 소스파일을 다운받아서 컴파일 하는 등의 과정이 복잡하다. 그래서 리눅스를 포함한 유닉스들은 패키지 매니저를 제공한다. 패키지 매니저는 모바일 스마트폰에서 앱스토어와 거의 비슷한 역할을 한다. 필요한 프로그램을 찾아서 다운로드 받고 삭제하는 관리의 기능을..
nano에디터를 통해 파일에 정보를 추가하고 편집해보자 운영체제에서 파일은 정보를 저장하는 가장 기본적인 어떤 수단, 저장소라고 할 수 있다. 디렉터리는 그 파일을 잘 정리 정돈하기 위한 어떤 수납 공간 같은 것이다. 파일에 정보를 저장할 때 윈도우나 맥에는 편집기가 있어서 메모장 같은 것을 사용한다. 명령어 기반의 시스템에서도 조금 형태가 다르지만 비슷한 역할을 하는 편집기가 있다. 대표적으로 나노(Nano)(-초급자), 브이아이(Vi)(-중/고급자) 가 있다. 브이아이(Vi)는 익숙해지면 사용하기 편하지만 익숙해지기까지의 과정이 어렵다. 나노와 브이아이는 대부분의 리눅스, 더 나아가서 유닉스 계열에 들어가 있기 때문에 사용법을 알고 있으면 어디서든지 사용할 수 있다. nano 엔터하면 nano 편집기..
sudo : 수퍼 관리자의 권한으로 명령을 실행하는 방법 sudo (super user do) : super user가 하는 일이라는 뜻 유닉스 계열 운영체제들은 다중 사용자 시스템 -> 옛날에 하나의 컴퓨터를 여러 사람이 함께 사용하며 문제가 발생. -> 권한을 포함하여 각각의 사용자마다 할 수 있는 일과 없는 것을 정해두었음. 시스템에는 관리와 사용자 간 연결다리 역할을 할 강력한 존재가 필요하다. 그래서 super user, root user가 존재하게 되었다. 평소에도 super user 상태이면 심각한 실수를 할 수 있기 때문에 ex) rm -rf / 라는 명령을 내리면 모든 걸 삭제하라는 심각한 명령이 실행된다. 평소에는 일반 사용자로 접속해서 사용하다가 경우에 따라 super user의 권한..
kk_______yy
'Programming' 카테고리의 글 목록 (8 Page)