본문 바로가기

분류 전체보기22

운영체제란? 운영체제란? 정의 컴퓨터 시스템의 하드웨어, 소프트웨어적인 자원들을 효율적으로 운영 및 관리함으로써 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 하는 시스템 소프트웨어입니다. 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 즉, 중개자 역할을 해주는 프로그램입니다. 종류 크게 임베디드, 서버, 모바일, 데스크톱 4개의 시장으로 나누어져 있고, 임베디드는 리눅스 계열, 서버는 유닉스 계열, 모바일은 안드로이드, 데스크톱은 윈도우 계열의 점유율이 가장 높습니다. 기능 프로세스 관리 : OS에서 동시에 실행되는 많은 프로세스를 효율적으로 관리 파일 관리 : 파일 생성, 수정, 삭제, 조작, 백업 등등 네트워크 관리 : 네트워크 서비스 성능, 오류.. 2022. 11. 8.
컴퓨터 구조란? 컴퓨터는 무엇인가? 정의 : 컴퓨터는 명령어 리스트를 따라 데이터를 조작하는 기계 구성요소: - 프로세서 (datapath + control) : 명령어를 읽고,해석, 실행하는 부품 - 인풋 (mouse, keyboard..) - 아웃풋 (display,printer..) - 메모리 (disk, drives, DRAM, SRAM, CD) : 현재 실행 되는 명령어와 데이터를 저장하는 부품 컴퓨터 구조란 무엇인가? 컴퓨터 구조는 하드웨어와 소프트웨어를 고려한 컴퓨터의 설계 명령어집합구조 ISA(Instruction Set Architecture) + 기계 조직(컴퓨터의 구성요소의 집합)으로 구성 되어있음 컴퓨터 구조를 알아야하는 이유? 1. 문제해결 능력 소스코드상의 오류를 넘어 컴퓨터 내부의 문제까지 고.. 2022. 11. 8.
스프링 MVC 동작 원리 스프링 MVC 소개 Model 평범한 자바 객체 POJO 도메인 객체 또는 DTO로 화면에 전달하거나 화면으로부터 전달받은 받은 데이터를 담은 객체 View HTML, JSP, 타임리프 데이터를 보여주는역할, 다양한 형태가 가능하다 HTML, JSON, XML,... Controller 스프링 @MVC 사용자 입력을 받아 모델 객체의 데이터를 변경하거나, 모델 객체를 뷰에 전달하는 역할 입력값 검증 입력 데이터를 모델 객체로 변경 변경된 모델 객체를 뷰에 전달 MVC 패턴의 장점 동시다발적인 개발 가능 - 백엔드, 프론트엔드 개발자가 독립적으로 개발 진행가능 높은 결합도 - 논리적으로관련있는 기능을 하나의 컨트롤러로 묶거나, 특정 모델과 관련있는 뷰를 그룹화 가능 낮은 의존도 - 모델, 뷰, 컨트롤러는.. 2022. 8. 1.
Null-safety Null-Safety 스프링 프레임워크 5에 추가된 Null 관련 애노테이션 @NonNull @Nullable @NonNullApi // 패키지 이하의 모든 인자, 리턴타입 모두 NonNull 설정 @NonNullFileds 툴의 지원을 받아 커파일 시점에 최대한 NPE(Null PointerException)을 방지하기 위해 추가 되었습니다. 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.