CS 42

[자료구조] 기본 자료구조(배열, 클래스)

자료구조와 함께 배우는 알고리즘 입문을 통해 자료구조 기초를 쌓아보자! [2장. 기본 자료구조] 1. 배열 자료구조 : 데이터 단위와 데이터 자체 사이의 물리적 또는 논리적인 관계 데이터 단위는 데이터를 구성하는 한 덩어리. 자료구조는 쉽게 말해 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법. 배열 : 같은 자료형의 변수로 이루어진 구성요소가 모인 것 배열 본체를 생성하는 본체에 대한 참조를 생성. 본체를 참조하는 배열변수. 인덱스. 배열은 같은 형의 구성요소가 직선 모양으로 속하여 줄지어 있는 단순한 자료구조. 배열의 구성요솟수를 알고 있는 경우 int[] a = new int[5];와 같이 선언한다. 또는 배열의 변수 선언과 본체 생성을 따로 수행하는 것도 가능하다. //선언하기 int[..

CS/Data Structure 2019.11.26

[자료구조] 알고리즘이란

자료구조와 함께 배우는 알고리즘 입문을 통해 자료구조 기초를 쌓아보자! [1장. 기본 알고리즘] 1. 알고리즘이란? - 값과 최댓값 순차적 구조 : 여러 문장(프로세스)이 순차적으로 실행되는 구조 선택 구조 : 식의 평가결과에 따라 프로그램의 실행 흐름을 변경하는 if문 개발할 때 순서도(플로우 차트)를 그리는 습관을 가지는 것이 좋다! 개발 구상이 복잡하거나, 팀원들과 전체 서비스 흐름을 공유하고 검토받는 데 유용하다. 알고리즘 : 문제를 해결하기 위한 것으로 명확하게 정의되고 순서가 있는 유한개의 규칙으로 이루어진 집합 - 조건 판단과 분기 연산자 : +,- 등의 연산기호 단항 연산자 : 피연산자 1개 a++ 2항 연산자 : 피연산자 2개 a < b 3항 연산자 : 피연산자 3개 a ? b : c 피..

CS/Data Structure 2019.11.09

[Linux] 생활코딩 리눅스 강좌 (5)

[권한 : permission] 권한 기본 유닉스 계열 시스템에서 '권한'을 통해 '제어가 가능한 대상'은 파일과 디렉토리이다. 이 대상에 관련된 읽기, 쓰기, 실행 권한을 제어한다. echo 'hello' > permission.txt 이 파일에 입력하는 명령어. 하지만 권한이 없는 사용자가 접근해서 작성할 경우 permission denied 된다. -rw-rw-r-- 1 hoho hoho 0 Dec 4 23:11 permission.txt 맨앞에 -는 파일을 의미. 디렉토리일땐 d가 기록된다. rw- rw- r-- Access mode. 접근 권한 소유자 권한/그룹 권한/모든 사용자 권한 r = read, w : write, x : execute hoho 소유자 owner hoho 그룹 권한을 변경..

CS/OS 2019.10.08

[Linux] 생활코딩 리눅스 강좌 (4)

[프로세스와 실행] 컴퓨터의 구조 프로세스 : 실행되고 있는 상태의 프로그램. 사용자가 입력한 명령어(command) 명령어는 /bin이나 /sbin과 같은 디렉토리에 파일 형태로 저장되어 있음. 스토리지에 파일이 저장되어 있고 이를 프로그램이라 함. CPU : 프로세서. cpu는 굉장히 빠르게 동작하므로 스토리지의 속도가 따라오지 못함. 스토리지에 설치된 프로그램을 사용할 때, 프로그램을 읽어서 메모리에 적재. 메모리에 올라온 프로그램을 CPU가 수행. 스토리지과 메모리는 정보를 저장하는 공통점이 존재. RAM : DDR과 같은 메모리. 가격 비쌈. 저장 용량이 적음. 속도 빠름 SSD, HDD : 저장장치. storage. 가격 저렴. 저장 용량이 큼. 속도 느림 프로세스 모니터링 ps : 프로세스 ..

CS/OS 2019.10.07

[Book] 클린코드

책을 생일 선물로 받았었다. 많이 부족한 탓에 머리를 탕 탕치는 내용이 정말 많다. 다 읽고나니 가볍게 읽기엔 책에서 말하는 몸으로 체득한 생활화가 안될 것 같다. 그래서 뒤늦게라도 블로그에 정리한다. 이 책은 옮긴이 말이나 추천사부터 멋있다. '코드에 정직하고, 코드에 상태에 관하여 동료들에게 정직하고, 무엇보다도 자기 코드에 대해서 자신에게 정직하라 ! ' 서문과 추천사를 읽으면서도 인상적인 문구들이 굉장히 많았다. 이 책은 전문적인 개발자는 무엇이며, 전문적인 개발자가 어떤 마음가짐으로 개발해야 하는지를 기술하고 있다. 매일 친구들과 함께 개발 잘하는 개발자가 되고싶다고 노래를 부른다. 회사에서는 '신입이지만 빠르게 적응하고 있다. 잘하고 있다.'는 얘기를 꾸준히 듣지만, 과연 내가 전문적인 개발자..

CS/Book 2019.10.05

[Linux] 자주 사용하는 명령어 정리2

ps [옵션] 유닉스는 동시에 여러 개의 프로세서가 동작되기 때문에 사용자가 그것들의 목록과 상태를 점검할 필요가 있다. ps라는 이름은 processor status를 의미한다. ps를 사용하여 프로세서들의 상태를 점검할 수 있다 출처: https://3dmpengines.tistory.com/1934 [3DMP] echo 문장을 출력해주는데 자동으로 줄바꿈 처리. Java에서의 println과 유사 netstat netstat로 네트워크 정보 확인하기 https://thebook.io/006718/part01/ch03/06/04/ awk awk는 파일로부터 레코드(record)를 선택하고, 선택된 레코드에 포함된 값을 조작하거나 데이터화하는 것을 목적으로 사용하는 프로그램입니다. 즉, awk 명령의 ..

CS/OS 2019.10.05

[Linux] 자주 사용하는 명령어 정리1

echo : 주어진 문자열을, 문자열 사이에 포함된 공백과 줄 마지막에 개행문자를 포함하여 표준출력으로 출력 export : 통해서 쉘 변수를 환경변수로 저장 unset : 쉘 환경에서 변수를 제거하는 리눅스 명령어 java -jar 파일명.jar : 리눅스에서 jar 파일을 실행하는 명령어 nohup ./test.sh & 기존에 사용하던 ./test.sh 명령어에 nohup과 &를 앞뒤로 붙여준다. 중간에 프로세스가 꺼지거나, 쉘이 종료되거나, 원격ssh가 꺼져도 프로그램은 계속 실행되기 때문에 원격접속으로 시간이 오래걸리는 프로그램을 실행하기에 적합한 명령어. 백그라운드에서 프로세스 실행 nohup.out 실행된 내역은 nohup.out에 저장된다. 실행된 내역을 다른 이름으로 저장하고자 한다면 re..

CS/OS 2019.09.28

[Linux] RPM 과 YUM

[Redhat Package Manager : RPM] - 레드햇 회사가 만든 리눅스에서만 쓸 수 있는 패키지 인스톨 - 형식 : 패키지명-버전-릴리즈번호.페도라버전.아키텍처.rpm 버전 : 숫자가 높아질수록 최신 버전. (주버전.부버전.패치버전) 릴리즈 번호 : 문제점을 개선해서 배포할 때마다 붙여지는 번호. 페도라버전 : 페토라에서 배포할 경우 붙여지는 페도라의 버전. 아키텍처 : 설치 가능한 CPU. - 명령어 사용법 : rpm [옵션] [패키지 파일] - 옵션 -U : 기존에 패키지 미설치 시 설치 진행, 설치완료시 업그레이드 진행 -v : 설치 과정 출력 -h : 설치 진행 과정을 특수문자 #으로 출력 -e : 설치된 rpm 삭제 -qa : 시스템에 패키지가 설치되어 있는지 확인 -qf : 이미..

CS/OS 2019.09.27

[Linux] 리눅스 커맨드라인 툴 기초

개요 : 리눅스 커맨드라인은 신입 개발자의 기본 소양. 알면 알수록 빠르고 편해진다. 리눅스는 수십년을 이어온 강력한 툴. 리눅스는 GUI 프로그램만으로는 조금 부족. 알수록 강력함. 개발 환경/ 소프트웨어 구동 환경으로 리눅스를 사용하는 곳이 많다. 클라우드 환경에 설치되는 가상 OS 의 비율은 리눅스 9 : 윈도우즈 1 사람은 GUI 프로그램을 사용할 수 있지만 소프트웨어는 GUI 프로그램을 사용할 수 없다. 시스템 프로그래밍, 커맨드 라인 툴을 이용해 시스템 정보를 처리해야 한다 텍스트 처리 옵션 -c, --bytes=[-]NUM : NUM byte만 출력, byte 입력시 K,M,G,T 입력가능 -n, --lines=[-]NUM : NUM line만 출력 NUM '-'입력시 문서의 마지막 NUM ..

CS/OS 2019.09.24

[Linux] 생활코딩 리눅스 강좌 (3)

[디렉토리 구조와 파일찾는법] 디렉토리 구조 명령어 시스템에선 디렉토리가 굉장히 중요하다. 디렉토리는 어떤 데이터 또는 실행할 수 있는 프로그램을 정리정돈 하는 수단이다. 유닉스 계열에서는 데이터와 실행할 프로그램의 성격에 따라서 정해져 있는 위치에 따른 규칙 존재한다. Linux Directory Structure / - Root : 최상위 디렉토리. /bin - User Binaries : 실행가능한 파일. 바이너리 파일. 사용자들이 사용하는 명령들이 위치한다. 주요 명령 바이너리 디렉토리이다. 기본적인 명령어가 저장된 디렉토리. /sbin - System Binaries : 실행가능한 시스템 프로그램. reboot, shutdown과 같이 컴퓨터를 끄거나 재부팅하는 프로그램들이 존재한다. 시스템 관..

CS/OS 2019.09.23
반응형