운영체제란?
운영체제란? 정의 컴퓨터 시스템의 하드웨어, 소프트웨어적인 자원들을 효율적으로 운영 및 관리함으로써 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 하는 시스템 소프트웨어입니다. 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 즉, 중개자 역할을 해주는 프로그램입니다. 종류 크게 임베디드, 서버, 모바일, 데스크톱 4개의 시장으로 나누어져 있고, 임베디드는 리눅스 계열, 서버는 유닉스 계열, 모바일은 안드로이드, 데스크톱은 윈도우 계열의 점유율이 가장 높습니다. 기능 프로세스 관리 : OS에서 동시에 실행되는 많은 프로세스를 효율적으로 관리 파일 관리 : 파일 생성, 수정, 삭제, 조작, 백업 등등 네트워크 관리 : 네트워크 서비스 성능, 오류..
2022. 11. 8.
스프링 MVC 동작 원리
스프링 MVC 소개 Model 평범한 자바 객체 POJO 도메인 객체 또는 DTO로 화면에 전달하거나 화면으로부터 전달받은 받은 데이터를 담은 객체 View HTML, JSP, 타임리프 데이터를 보여주는역할, 다양한 형태가 가능하다 HTML, JSON, XML,... Controller 스프링 @MVC 사용자 입력을 받아 모델 객체의 데이터를 변경하거나, 모델 객체를 뷰에 전달하는 역할 입력값 검증 입력 데이터를 모델 객체로 변경 변경된 모델 객체를 뷰에 전달 MVC 패턴의 장점 동시다발적인 개발 가능 - 백엔드, 프론트엔드 개발자가 독립적으로 개발 진행가능 높은 결합도 - 논리적으로관련있는 기능을 하나의 컨트롤러로 묶거나, 특정 모델과 관련있는 뷰를 그룹화 가능 낮은 의존도 - 모델, 뷰, 컨트롤러는..
2022. 8. 1.
스프링 AOP
Spring AOP (Aspect-oriented Programming) OOP를 보완하는 수단으로, 흩어진 Aspect를 모듈화 할 수 있는 프로그래밍 기법 흩어진 관심사 (Crosscutting Concerns) Class A { Aspect X, Aspect Y, Aspect Z} Class B { Aspect X, Aspect Y, Aspect Y} Class C { Aspect X, Aspect Z} 각 클래스에서 중복된 관심사를 갖는 경우에 AOP를 적용하면 Aspect X {A,B,C} Aspect Y {A,B} Aspect Z {A,C} 다음과 같이 Aspect들로 모듈화 할 수 있다. AOP 주요개념 Aspect와 Target Advice(해야할 일들) Join point와 Pointcu..
2022. 8. 1.
mkdir 명령어 구현 예제
linux의 명령어 mkdir을 구현할 것이다. mkdir은 디렉터리를 만드는 명령어이다. mkdir() System call을 이용하여 구현할 것이다. System call 중 mkdir의 헤더는 sys/types.h, sys/stat.h에서 확인할 수 있다. mkdir의 인자로는 경로와 권한이 필요하다. R,W,X는 각각 read, write, execute로 읽기, 쓰기, 실행권한이고, 8진수로도 표기 가능하다. (1은 읽기, 2는 쓰기, 4는 실행권한 ex) 읽기+쓰기, 3, 모든권한 7로 표현 가능하다.) USR(U), GRP(G), OTH(O)는 유저, 그룹, 그 밖으로 나타난다. #include #include #include void main(int argc, char *argv[]) { ..
2022. 7. 19.
Stream API
사용할 Online Class의 spring, java, holyEvents 리스트 목록 List springClasses = new ArrayList(); springClasses.add(new OnlineClass(1, "spring boot", true)); springClasses.add(new OnlineClass(2, "spring data jpa", true)); springClasses.add(new OnlineClass(3, "spring mvc", false)); springClasses.add(new OnlineClass(4, "spring core", false)); springClasses.add(new OnlineClass(5, "rest api development", fals..
2022. 3. 26.