top 명령어를 이용한 실행중인 프로세스 확인 top 명령어는 리눅스 계열 서버의 OS 상태를 확인할 수 있는 CLI 어플리케이션으로 서버에서 구동중인 모든 어플리케이션들을 CPU나 메모리 사용률 순서대로 나열하여 모니터링이 가능한 명령어이다. 서버의 CPU나 메모리의 사용량들을 확인할 수 있으며 Windows의 작업관리자와 같은 역할이라 생각하면 편하다. 배치와 같은 스케줄러 프로그램 구동시에 서버의 부하가 어느정도 되는지 테스트나 모니터링 할 때 주요하게 사용한다. 명령어 사용방법은 단순 top 명령어를 실행하면 사용이 가능하다. 서버의 CPU나 메모리의 사용률들을 대표적으로 볼 수 있으며, CPU 사용량이 많은 순서대로 프로세스 목록을 보여주고 있다. 첫 번째 줄 내용부터 현재시간을 표시하고, 서버..
ALL
현재 작업 중인 페이지에서 어떤 요청으로 인해 다른 페이지로 이동할 경우 Forward 방식과 Redirect 방식 2가지 방식으로 페이지를 전환해준다. 두 방식의 공통점은 자신에게 요청이 왔을 때 자신이 처리할 수 없기 때문에 다른 URL에게 요청 처리를 위임한다는 점이다. 하지만 요청 처리를 위임하는 과정에서 차이점이 발생한다. 그렇다면 이 두 방식의 차이점은 무엇일까? 하나씩 알아보도록 하자. 1. Forward 방식 Forward 방식은 URL 1에게 요청을 보내게 되면 해당 요청을 자신이 처리할 수 없기 때문에 다른 URL 2에게 직접 위임하여 처리하도록 하는 방식 서버 내부에서 처리하기 때문에 초기의 Request, Response 정보를 유지한 채로 전송된다. 또한, 서버 내부에서 일어나는 ..
Linux 기본 명령어 정리 및 활용 리눅스 기초를 배우기 위해 오라클 VM머신을 활용한 예제이다. 서버쪽의 OS는 다른 운영체제와 달리 오픈소스이고 보안성이 우수하고 구조안정성 등에 적합하여 리눅스를 많이 사용한다. 활용하기 위해서 숙지해놓는 편이 좋다. 오라클의 VM virtualbox (CentOS, min버전) 설치 https://www.virtualbox.org/ Oracle VM VirtualBox Welcome to VirtualBox.org! News Flash New July 18th, 2023VirtualBox 7.0.10 released! Oracle today released a 7.0 maintenance release which improves stability and fixes..
버블 정렬(Bubble Sort) 인접한 두 데이터를 비교하여 정렬 (오름차순 기준 - 앞의 데이터가 뒤에 데이터보다 크다면 교환) 정렬 한 턴을 수행할때 마다 해당 턴의 맨 마지막 위치에 정렬이 완료된 데이터가 배치됨 각 턴의 마지막은 턴을 수행할 때마다 한 칸씩 앞으로 온다 한 턴에 Swap이 일어나지 않을 경우 더 이상 정렬할 것이 없는 것이므로 정렬을 중단 선택 정렬(Selection Sort) 한 턴에서 데이터들 중 가장 작은 값을 찾고 각 턴에서 선택된 최소값을 턴의 맨 앞에 데이터와 교체 각 턴의 맨 앞에 데이터는 이미 정렬이 완료된 상태이므로 다음 데이터부터 마지막 데이터까지의 동일한 작업을 수행 삽입 정렬(Insertion Sort) 두 번째 인덱스부터 시작하여 해당 인덱스 값을 앞에 있..
Git 사용해보기 - Git bash 설치하기 git을 사용하기 위해 CLI 형태로 제공하는 툴인 git bash를 먼저 설치해보도록 하자 자세한 방법 해당 블로그 참조 - https://code-lab1.tistory.com/249 [Git] 윈도우10(window 10) 깃(Git) 설치하기 - Git 기초(0.5) 윈도우 10(Window 10) 깃(Git) 설치하기 1. Git 설치 파일 다운로드 윈도우 10에서 깃은 공식 홈페이지에서 다운로드할 수 있다. https://git-scm.com/downloads Git - Downloads Downloads macOS Windows Linux/Unix Older releases code-lab1.tistory.com - Git bash 실행 - Gi..
Node.js 자바스크립트는 브라우저의 인터프리터로 작동(스크립트를 해석) -> 브라우저 자체에서 실행이 가능 백엔드에서 실행하긴 위해서 Node.js를 설치해야 한다. Node.js를 설치하면 브라우저가 없이도 자바스크립트가 돌아가는 환경을 만들어 줄 수 있다. npm이란 ? Node Package Manager의 약자로 프레임워크나 자바스크립트로 구현된 다양한 모듈들을 만들어 놓은 곳. 프로그램을 설치하는 것처럼 모듈을 다운받아 사용한다. npm 터미널 명령어 npm init - npm 시작하는 초기화 설정 npm install (패키지이름) - 해당 npm 모듈 설치 (뒤에 -g를 붙이면 global 뜻으로 해당 프로젝트뿐만 아니라 내 컴퓨터 전체에 적용) npm uninstall (패키지이름) -..
트랜잭션의 특성원자성 (Atomicity) - 트랜잭션 실행이 모두 반영되던지, 모두 반영되지 않아야 한다. (commit, rollback)일관성 (Consistency) - 트랜잭션 실행 후에도 데이터베이스의 상태는 유효해야 한다.독립성, 격리성 (Isolation) - 하나의 트랜잭션의 다른 트랜잭션의 영향을 미치면 안된다.영속성 (Durablility) - 연산의 결과는 영구히 보존되어야 한다. 로그 기반 회복 기법REDO - 트랜잭션 로그를 이용하여 오류가 발생한 트랜잭션을 재 실행하여 복구를 수행한다.UNDO - 트랜잭션 로그를 이용하여 오류와 관련된 내용을 취소하여 복구를 수행한다. 데이터베이스 이상현상삽입 이상- 릴레이션에서 데이터를 삽입할 때 의도와는 상관없이 원하지 않는 값들로 함께..
네트워크의 AAA (Triple-A) 보안의 3가지 Authentication (인증) - 보안 기능에서, 사람이나 프로세스의 신분을 확인하는 것 Authorization (인가) - 검증된 사용자에게 어떤 수준의 권한과 서비스를 허용하는 것 Accounting (계정관리) - 사용자의 자원에 대한 사용 정보를 모아서 과금, 감사, 용량증설, 리포팅 등을 실시하는 것 스푸핑 (Spoofing) ARP 스푸핑 - MAC주소를 속여 랜에서의 통신 흐름을 왜곡시키는 공격이다. 공격 대상 컴퓨터와 서버 사이의 트래픽을 공격자의 컴퓨터로 우회시켜 패스워드 정보 등 원하는 정보를 획득할 수 있다. IP 스푸핑 - IP 자체의 보안 취약성을 악용한 것으로 자신의 IP주소를 속여서 접속하는 공격 - IP 스푸핑을 통해..
블록암호 알고리즘 AES - 128bit 평문을 128/192/256bit로 암호화 - 키 크기에 따라 10/12/14회 Round 수행 - 1997년 NIST에 의해 제정 - 레인달에 기반한 암호화 방식 - SPN 암호 방식을 사용한다 SEED - 순수 국내기술로 개발한 128비트 및 256비트 대칭키 블록 암호 알고리즘 ARIA - 국가 보안 기술 연구소(NSRI) 필두로 학계, 국가 정보원 등의 암호 기술 전문가들이 개발한 국가 암호화 알고리즘 - AES 알고리즘과 똑같이 128/192/256비트 암호화키를 지원한다. - SPN 암호 방식을 사용한다 IDEA - 1990년 스위스에서 만들어진 PES를 개량하여 만들어진 블록 암호 알고리즘 - 키 길이가 128bit, 블록길이가 64bit - Feis..
소프트웨어 개발에서 사용하는 형상관리 도구의 종류 (형상관리란? - 소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것) CVS (Concurrent Version System) SVN (Subversion) GIT 형상 통제 - 소프트웨어 형상 변경 요청을 검토하고 승인하여 현재의 베이스라인에 반영될 수 있도록 통제 디자인 패턴의 분류 Bridge - 구현부에서 추상층을 분리하여 각자 독립적으로 변형이 가능하고 확장이 가능하도록 한다. 즉 기능과 구현에 대해서 두 개를 별도의 클래스로 구현한다. Observer - 한 객체의 상태가 바뀌면 그 객체의 의존하는 다른 객체들한테 연락이 가고, 자동으로 내용이 갱신되는 방식의 패턴이다. UML 관계 일반화 관계 - 한 클래스가 다른 클래스를 포함하는 상위..