전체 글 679

[Spring] AOP란? 용어 정리, 사용 방법

AOP란? AOP는 Aspect Oriented Programming의 약자로 관점 지향 프로그래밍이라고 불린다. OOP를 보완하는 수단으로,여러 곳에서 쓰이는 공통 기능을 모듈화하고, 쓰이는 곳에 필요할 때 연결함으로써, 유지 보수 혹은 재사용에 용이하도록 프로그래밍 하는 것이다. 중복되는 코드 제거, 효율적인 유지보수, 높은 생산성, 재활용성 극대화, 변화 수용이 용이하다는 장점들이 있다. 여러 concerns들과 여러 모듈들이 뒤섞여 있는데, 모듈끼리, concerns끼리 분리한다. 이렇게 분리해 독립된 클래스로 만든 부가기능을 aspect라고 한다. 프로그램에서 비즈니스 로직을 분리하고, spring framework에서 런타임시 필요한 기능을 주입시킨다. 이전에는 Caller가 app funct..

BACK/SPRING 2021.10.18

[Spring] Maven 이란? (+POM)

큰 규모의 소프트웨어의 경우 많은 프로젝트, 모듈로 구성되어 있다. 수동적으로 빌드하는 것은 많은 시간을 요구된다. 효율적인 빌드 도구가 필요하다. -> maven의 등장 Maven을 사용할때의 장점 -자동적인 build tool 빌드라는 작업은 몇 개의 단계로 이루어져 있다. 이러한 작업을 자동적으로 수행해준다. -Dependency Management tool A 라이브러리를 사용하려고 했는데, A 라이브러리는 B와 C를 참조한다. 그리고 C는 D를 의존한다. A만 포함하면 B,C,D를 받아올 수 있다. 이러한 의존성 관리가 용이하다. -Maven repository 모든 라이브러리를 관리하는 중앙 집중 저장소. 필요에 따라서 웹 사이트까지 만들어줄 수 있게 한다. Pom.xml은 메이븐 설정 파일이..

BACK/SPRING 2021.10.16

[Spring] 스프링이란? (특징, 장점)

스프링이란? 스프링이란 POJO기반의 엔터프라이즈 애플리케이션으로, 개발을 쉽고 편하게 해준다. POJO(Plain Old Java Object) – 특정 클래스나 인터페이스를 상속하지 않는다. Servlet, class(related to db) 등을 상속하면 특정 기술에 종속되는 문제가 있다. 그래서 상속하지 않는 대신 메서드나 인터페이스을 활용하고 싶으면 Pojo는 object 메소드를 호출하는 방식을 사용한다. Pojo -> interface -> object1 object2 인터페이스를 구현한 obect1과 object2가 있다고 하자. object1을 사용하다 object2 사용하려고 할 때 POJO는 인터페이스를 이용하기때문에 코드가 바뀌지 않는다. 스프링의 장점 자바 애플리케이션을 개발하는..

BACK/SPRING 2021.10.16

[Linux] 파일 시스템 구조 - i node란?

파일 시스템 구조 블록들이 하나의 I/O 단위가 된다. 부트 블록(Boot block) 파일 시스템 시작부에 위치하고 보통 첫 번째 섹터를 차지 부트스트랩 코드가 저장되는 블록 슈퍼 블록(Super block) 전체 파일 시스템에 대한 정보를 저장 총 블록 수, 사용 가능한 i-노드 개수, 사용 가능한 블록 비트 맵, 블록의 크기, 사용 중인 블록 수, 사용 가능한 블록 수 등 i-리스트(i-list) 각 파일을 나타내는 모든 i-노드들의 리스트 한 블록은 약 40개 정도의 i-노드를 포함 모든 파일은 반드시 i-노드 블록을 하나 가지고 있음 데이터 블록(Data block) 파일의 내용(데이터)을 저장하기 위한 블록들 i-node란? 파일을 구성하는 구성 요소는 파일 이름, 파일의 내용, 파일의 메타 ..

DEVOPS/LINUX 2021.10.13

[Linux] 커널과 시스템 콜(System call)

시스템 소프트웨어 응용 소프트웨어 응용 소프트웨어는 일상생활에서 도움을 받는 소프트웨어이고, ex) 게임, 아래한글, 오피스 시스템 소프트웨어는 응용 소프트웨어의 개발이나 운영을 지원하기 위한 소프트웨어이다. Ex) DBMS, OS(운영 체제), visual studio, server 다른 응용 소프트웨어는 시스템 소프트웨어로부터 도움을 받기 때문에 운영체제나 하드웨어를 잘 최적화 시켜서 활용해야 한다. 시스템 소프트웨어를 지원하기 위해 시스템 콜이란 것을 사용한다. 운영체제 커널이 제공하는 것으로, 시스템 콜을 가장 최적화된 환경으로 활용하여 개발해야 한다. 커널 커널이란 운영체제(OS)에서 가장 중요한 구성요소로서, 입출력을 관리하고 소프트웨어로부터 요청 (System Call)을 컴퓨터에 있는 하드..

DEVOPS/LINUX 2021.10.13

[Linux] 쉘(shell)이란?

쉘(shell)이란? 쉘은 명령어와 프로그램을 실행할 때 사용하는 인터페이스이다. 사용자와 운영체제 사이에 창구 역할을 하는 소프트웨어라고 볼 수 있다. 명령어 처리기(command processor)로써, 사용자로부터 명령어를 입력 받아 이를 처리한다. 쉘의 기능 명령어 처리 사용자가 입력한 명령을 해석하고 적절한 프로그램을 실행한다. 사용자 환경 설정 시작 파일이 로그인할 때 실행되어 사용자 별로 맞춤형 사용 환경을 설정할 수 있다. 스크립트 쉘 자체 내의 프로그래밍 기능이 있어 프로그램을 작성할 수 있다. 쉘 프로그램을 쉘 스크립트라 부른다. 쉘의 종류 쉘의 종류 쉘 실행 파일 본 쉘 /bin/sh C 쉘 /bin/csh Bash /bin/bash tcsh /bin/tcsh 콘 쉘 /bin/ksh ..

DEVOPS/LINUX 2021.10.12

[Linux] 리눅스 프로세스 확인하기, 죽이기

실행 중인 프로그램을 프로세스라고 부른다. 각 프로세스는 유일한 프로세스 번호 PID를 갖는다. 프로세스 확인하기 프로세스 목록 확인 $ ps 프로세스 목록 자세히 확인 $ ps u 프로세스 목록 배열 및 시스템 자원 사용률 확인 $ ps aux 프로세스 죽이기 kill 명령어는 프로세스를 강제로 종료시킨다. $ kill 프로세스 번호 $ kill %작업번호

DEVOPS/LINUX 2021.10.12

[Linux] cd 명령어와 절대 경로/상대 경로

cd(Change Directory)는 원하는 폴더로 이동하게 해주는 명령어이다. cd / 최상위 루트 디렉토리로 이동 cd ~ home 디렉토리로 이동 cd – 이전 디렉토리로 이동 cd .. 현재 디렉토리의 부모 디렉토리로 이동 pwd 현재 위치 확인 cd 절대 경로명(absolute pathname) 루트 디렉터리로부터 시작하여 이동할 목표 경로까지 모든 경로 이름을 정확하게 적어 이동 [cd /home/doyeon/test] 상대 경로명(relative pathname) 현재 작업 디렉터리부터 시작해서 경로 이름을 적어 바로 이동 .명령어는 자신의 현재 위치를 절대 경로로 요약해준다. 현재 폴더 안의 test 라는 폴더로 가고 싶으면 [cd ./test] 로 이동한다.

DEVOPS/LINUX 2021.10.12

[Linux] 리눅스 디렉터리 계층 구조

리눅스 디렉터리 홈 디렉터리(home directory) 각 사용자마다 별도의 홈 디렉터리가 있다. 사용자가 로그인하면 홈 디렉터리에서 작업을 시작한다. 현재 작업 디렉터리(current working directory) 현재 작업 중인 디렉터리 로그인 하면 홈 디렉터리에서부터 작업이 시작된다. 루트 디렉터리 리눅스 파일 체제의 최상위 디렉토리 모든 디렉토리들의 시작점으로 일반적인 데이터를 저장하지 않는다. 루트 디렉터리: ' / ' 홈 디렉터리: ' ~ ' 루트 디렉터리의 하위 디렉터리 홈 디렉터리의 하위 디렉터리

DEVOPS/LINUX 2021.10.12
반응형