CS 42

[Linux] 쉘 스크립트 기초 문법

웹 개발은 대부분 리눅스 서버 환경에서 구축된다. 업무를 하며 배포나 메모리 체크 등 반복되는 작업에 대한 다양한 쉘 스크립트들이 작성된 것을 보았다. 자동화를 위해 쉘 스크립트를 공부할 필요를 느끼고 책도 샀다! 시작하기 전 가볍게 쉘 스크립트의 문법에 대한 기본 내용들을 정리한다. [쉘 스크립트란?] 쉘 스크립트는 쉘이 수행하고 있는 명령어들을 저장하고 있는 파일이다. 쉘 스크립트를 제작하는 것을 쉘 프로그래밍이라 한다. [변수] 위치 매개 변수 : 0 하나만 적는 것을 제외하고 숫자로 지시하는 매개 변수를 의미한다. 쉘 함수가 실행될 때 일시적으로 치환된다. 1개 이상의 숫자로 구성된 위치 매개 변수를 확장할 때에는 중괄호로 묶어 주어야 한다. 특별 매개 변수 : 이 매개변수는 참조만 가능할 뿐 값..

CS/OS 2020.05.23

[Network] HTTP Method

REST는 프로토콜이나 표준이 아닌 아키텍처 원칙 세트이다. API 개발자는 REST를 다양한 방식으로 구현 가능하다. RESTful API는 다음 기준을 따라야 한다. 모든 리소스를 URI로 구별할 수 있다 모든 리소스는 복수의 형태로 나타낼 수 있다 모든 리소스는 HTTP 표준 메소드를 이용하여 접근/수정/생성/삭제할 수 있다 클라이언트, 서버 및 리소스로 구성되었으며 요청이 HTTP를 통해 관리되는 클라이언트-서버 아키텍처 스테이트리스(stateless) 클라이언트-서버 커뮤니케이션: 요청 간에 클라이언트 정보가 저장되지 않으며, 각 요청이 분리되어 있고 서로 연결되어 있지 않음 HTTP 요청 메서드 GET : GET 메서드는 특정 리소스의 표시를 요청합니다. GET을 사용하는 요청은 오직 데이터를..

CS/Network 2020.03.30

[OS] 윈도우 부팅 디스크 버전 확인하기

윈도우 부팅용 USB의 버전을 확인해보자 1. 관리자 권한으로 cmd 실행한다. 2. 아래의 명령어를 실행한다. wimfile경로는 이동식 usb의 드라이브 에 해당하는 경로로 설정한다. dism /Get-WimInfo /WimFile:e:\sources\install.esd 여기서 e:는 부팅디스크(연결한 이동식 드라이브)에 해당하도록 수정해주면 된다. 명령어를 실행해서 확장자 .esd로 조회가 안된다면 .wim으로 수정하여 재진행한다. dism /Get-WimInfo /WimFile:e:\sources\install.wim [히스토리] win7으로 재설치를 해야 하는 일이 생겼다. 가지고 있는 부팅 디스크가 있는데 버전을 알지 못했다. 검색하여 위 명령어로 버전 확인하니 win10이었다. 필요한 wi..

CS/OS 2020.03.07

[OS] 운영체제 기초

일하면서 리눅스 서버를 운영하다 보면 리눅스 기반 기술, 운영기술의 필요성을 절실히 느낀다. 리눅스를 공부할수록 운영체제에 대한 기초 지식의 망각(?)을 느껴 정리하고자 포스팅한다. [운영체제 개요] 1. 운영체제의 이해 운영체제란? 사용자가 컴퓨터 시스템을 손쉽게 사용하도록 하고 시스템 자원(기억장치, 프로세서, 입출력 장치, 정보, 네트워크 및 데이터 등)을 효율적으로 관리할 수 있도록 하는 프로그램들의 집합이다. 운영체제는 사용자와 컴퓨터 간의 인터페이스 역할을 담당한다. 운영체제는 각 프로그램을 유기적으로 결합시켜서 시스템 전체의 생산성을 향상할 목적으로 설계된다. 운영체제를 역할 중심으로 구분한다면 자원할당자와 제어 프로그램으로 구분할 수 있다. 자원할당자(Resource Allocator) :..

CS/OS 2020.02.29

[Network] OSI 7계층

OSI 7 Layer 출현 배경 전세계의 모든 컴퓨터가 하나의 마으로 연결되어 동일한 방법으로 통신을 하기 위해서는 프로토콜의 표준화가 필요하다. 복잡한 프로토콜들이 상호운용되어 동작하기 위해 기준 모델이 필요했다. OSI 참조 모델(OSI Reference Model, ISO/IEC 7498-1:1994)는 ISO에서 개발된 일종의 프로토콜 모델이다. OSI(Open System Interconnection) : 개방형 시스템 간의 연결을 의미한다. 개방형은 시스템의 종류나 구현 방법, 시스템 규모 등의 조건에 제약되지 않고 서로 다른 시스템끼리도 연결하여 통신이 가능하도록 한 것을 말한다. OSI 참조 모델의 의의 두 개의 네트워크가 동일한 통신 기능의 구현, 동일한 계층은 동등한 기능 제공, 동일한..

CS/Network 2020.02.23

[자료구조] 재귀 알고리즘

[5장. 재귀 알고리즘] 1. 재귀의 기본 재귀란? 어떤 사건이 자기 자신을 포함하고 다시 자기 자신을 사용하여 정의될 때 재귀적이라 한다. 재귀를 효과적으로 사용하면 프로그램도 간결하게 표현할 수 있다. 팩토리얼 구하기 음이 아닌 정수의 팩토리얼을 구하는 방법은 재귀적으로 정의할 수 있다. TODO 재귀 호출 소스코드 직접 재귀(direct) : 자기 자신과 같은 메서드를 호출하면 직접 재귀이다. 간접 재귀(indirect) : 메서드 a가 메소드 b를 호출하고, 다시 메소드 b가 메소드a를 호출하는 구조이다. int factorial(int n) { if (n == 1) return 1; // 1을 반환하고 재귀호출을 끝냄 return n * factorial(n - 1); // n과 factoria..

CS/Data Structure 2020.02.10

[자료구조] 스택과 큐

이전에 정리한 내용이 있지만, 책을 보며 예제 풀이를 진행하는 것이라 한 번 더 포스팅한다. [4장. 스택과 큐] 1. 스택 스택이란? 스택은 데이터를 일시적으로 저장하기 위한 자료구조이다. 후입 선출 방식(LIFO)으로 가장 나중에 넣은 데이터를 가장 먼저 꺼낸다. push : 스택에 데이터를 넣는 작업 pop : 스택에서 데이터를 꺼내는 작업 top : push와 pop을 하는 위치 bottom : 스택의 가장 아랫부분 스택 만들기 생성자 IntStack : 생성자는 스택 본체용 배열을 생성하는 등 준비작업을 수행한다. 생성시 스택은 비어있으므로 스택 포인터는 0을 가리킨다. 푸시 메소드 push : 스택에 데이터를 넣는 메소드이다. 스택이 가득차서 푸시할 수 없을 경우는 예외처리를 해준다. 포인터값..

CS/Data Structure 2020.02.02

[기초 지식] IT 용어 정리

들어봤으나 명확히 알지 못하는 IT 관련 용어들이 매우 많다. 소통을 할 때 같은 방향으로 이야기하고 있는지 바로 알기 위해선 기초지식을 꾸준히 쌓아야 한다! 메모장에 야금야금 써둔 내용을 블로그에 써두고 계속 보기 위해 포스팅한다. • 온프레미스 : 클라우드 같은 개념과 대비되게 원격환경이 아닌 자체적으로 보유한 전산실 서버에 직접 설치해 운영하는 방식 • 오프프레미스 : 클라우드 방식의 서비스 • On heap store : java heap상에 놓이는 객체 • Off heap store : EHcache에 의해 관리되는 직렬화된 객체. Java heap 외부에 놓이므로 GC의 대상이 아니다 • Round Robin 방식 : 프로세스들 사이에 우선순위를 두지 않고 순서대로 시간단위로 cpu를 할당하는..

CS 2019.12.11

[Book] 그림으로 배우는 IT 인프라구조

[1장. 아키텍처] 1. 인프라 아키텍처 - IT 인프라의 구조를 의미한다. 방대한 데이터들이 관리될 수 있도록 지탱해준다. 1-1. 집약형 아키텍처 - 대형 컴퓨터를 이용해서 모든 업무를 처리하는 형태이다. 대형 컴퓨터는 범용장비, 호스트, 메인 프레임 등으로 불렸다. 최대 장점은 구성이 간단하다. - 많은 기업에서 아직까지 사용. 주로 기간시스템이라 부르는 기업 내 핵심 업무 시스템에서 이용한다. - 도입 비용 및 유지 비용이 크고 확장성에 한계가 존재한다. 1-2. 분할형 아키텍처 (=분산 시스템 =오픈 시스템) - 여러 대의 컴퓨터를 조합해서 하나의 시스템을 구축하는 구조이다. - 표준OS나 개발언어를 이용하기 때문에 오픈 시스템이라고도 부른다. - 대형 컴퓨터에 비해 소형 컴퓨터의 구입비용이 압..

CS/Book 2019.12.10

[자료구조] 검색

[3장. 검색] 1. 검색 알고리즘 검색과 키 검색 : 데이터 집합에서 원하는 값을 가진 요소를 찾아내는 것이다. 키 : 주목하는 항목. 키는 데이터의 일부에 해당한다. 조건은 하나만 지정하기도 하지만 논리곱이나 논리합을 사용하여 복합해서 지정하기도 한다. 배열에서 검색하기 체인법 : 같은 해시 값의 데이터를 선형 리스트로 연결하는 방법이다. 오픈주소법 : 데이터를 위한 해시값이 충돌할 때 재해시하는 방법이다. 선형 검색 : 무작위로 늘어놓은 데이터 모임에서 검색을 수행한다. 이진 검색 : 일정한 규칙으로 늘어놓은 데이터 모임에서 아주 빠른 검색을 수행한다. 해시법 : 추가, 삭제가 자주 일어나는 데이터 모임에서 아주 빠른 검색을 수행한다. 데이터의 검색, 추가, 삭제에 소요되는 비용을 종합적으로 계산해..

CS/Data Structure 2019.12.05
반응형