All Posts
총 20개의 글이 작성되었습니다.
CPU 스케줄링
CPU 스케줄링 컴퓨터는 여러 프로그램을 동시에 실행하는 것처럼 보이지만, 실제로는 CPU 하나가 빠르게 여러 작업을 번갈아가며 처리한다. 이렇게 CPU의 사용 순서를 정해주는 것이 CPU 스케줄링 스케줄링의 기준 - 처리량 (Throughput): 단위 시간당 처...
컴퓨터 구조
주기억장치에는 크게 RAM(Random Access Memory)과 ROM(Read Only Memory), 두 가지가 있다. 메모리라는 용어는 보통 RAM을 지칭하고 컴퓨터의 작동 원리를 파악하기 위해 알아야 할 더 중요한 주기억장치는 RAM이다. 메모리 메모리...
TDD(테스트 주도 개발)
개발 방법론 폭포수 모델(Waterfall Model) 순차적 개발 과정, 각 단계를 선행적으로 진행 장점 관리가 용이 체계적인 문서화 용이 요구사항의 변화가 적은 프로젝트에 적합단점 각 단계는 앞 단계가 완료되어야 수행 가능 각 단계가 완벽하게 작성되어야 다...
MVC
MVC 모델이란? '프로그램의 처리 역할을 나누어서 프로그램을 작성하는 방법'으로 웹 시스템 개발에 자주 사용된다. 소프트웨어 아키텍처 패턴 중 하나 -소프트웨어 시스템을 구성하는 구조와 그 구성 요소 간의 관계를 정의하는 청사진 출처: 링크텍스트 ...
자료구조 2주차
Hash table(해시 테이블) * 해시함수를 사용하여 변환한 값을 index로 삼아 키(key)와 값(value)를 저장하는 자료구조 * 데이터의 크기에 관계없이 삽입 및 검색에 매우 효율적 해시 함수(Hash Function) 입력(키, 값)을 받아 고정된 크...
자료구조 1주차
Array(배열) * 동일한 타입의 데이터들을 저장하며, 고정된 크기를 가지고 있음 * 인덱싱이 되어 있어 인덱스 번호로 데이터에 접근할 수 있음 핵심: 메모리에 연속 배치 ->배열 목록, 힙, 해시 테이블, 벡터 및 행렬과 같은 기타 데이터 구조를 구축하기...
스프링 부트 핵심 가이드(3)
데이터베이스 연동 ORM(Object Relational Mapping) 객체 관계 매핑으로, 자바와 같은 객체 지향 언어에서 의미하는 객체와 RDB(Relational Database)의 테이블을 자동으로 매핑하는 방법 * 여기서 객체 지향 언어에서의 객체는 클래...
IoC, Bean, Proxy
IoC(Inversion of Control) 1. 문제 제기(왜 IoC가 필요한가?) * 전통적인 프로그래밍에서는 개발자가 프로그램의 흐름을 직접 제어함 * 객체 생성, 의존성 주입, 실행 순서 등을 모두 개발자가 관리 * 프로젝트가 커질수록 코드 복잡도가 올라가고 ...
스프링 부트 핵심 가이드(2)
개발에 앞서 알면 좋은 기초 지식 서버 간 통신 단일 서비스 아키텍처는 서버를 업데이트하거나 유지보수할 때마다 서비스를 정지해야 함. 서비스 자체의 규모도 커져 구동하는 데 걸리는 시간도 길어짐. ➡️마이크로 서비스 아키텍처 사용: 서버 간 통신이 필요함 주로 HTT...
스프링 부트 핵심 가이드(1)
스프링 부트란? 스프링 프레임워크 스프링 프레임워크란 자바(Java) 기반의 애플리케이션 프레임워크로 엔터프라이즈급 애플리케이션을 개발하기 위한 다양한 기능을 제공. -> 스프링은 목적에 따라 다양한 프로젝트를 제공하는데, 그 중 하나가 스프링 부트(Sprin...
7장 요청 파라미터
7-1 요청 파라미터의 종류 요청 파라미터란? 요청 파라미터(request parameter)란 서버에 전송되는 값을 말한다. 요청 파라미터 취득 방법 하나의 뷰에 버튼이 여러 개 있을 때 어느 버튼이 클릭되어 요청이 보내졌는지를 식별하는 것이 '요청 매...
스프링 부트
출처: 링크텍스트 스프링 vs 스프링 부트 스프링(Spring)이란? '스프링 프레임워크(Spring Framework)' * 자바에서 가장 많이 사용되는 프레임워크 * 의존성 주입(DI, Dependency Injection)과 제어역전(IOC, I...
스프링 프레임워크 2
출처: 링크텍스트 AOP(Aspect Oriented Programming) 노란색 부분이 주 업무이다. 즉 사용자의 요구사항 초록색 부분이 개발자나 운영자의 관점에서 넣게 되는 부가적인 코드. 관점 지향 프로그래밍은 객체 지향보다 큰 단위라고 볼 수 있음 객체 지향...
스프링 프레임워크 1
IOC(Inversion Of Control) 컨테이너 DI 순서 위가 일체형 아래가 결합형(IOC 컨테이너) 역순으로 결합. 어노테이션 장점 B2를 빼고 B3로 대체하려면 아래 코드를 B3로 수정하여야 한다. B2를 없애고 B3로 대체하면 컴포넌트가 설정된 것...
방명록
초기 설정 주요 기능 글 목록 보기(GET /guestbook) * 저장된 방명록 글들을 목록으로 표시 * 각 글에는 작성자와 내용 출력 * 글 옆에 삭제 버튼 * "새 글 작성하기" 링크 포함 글 작성(GET /guestbook/new) * 사용자...
6장 템플릿 엔진
6-1 템플릿 엔진의 개요 템플릿 엔진이란? 데이터를 미리 정의된 템플릿에 바인딩해서 뷰의 표시를 도와주는 것 타임리프란? * HTML 기반의 템플릿 엔진으로, 정해진 문법으로 작성하면 페이지를 동적으로 조립해 준다(조건 분기나 반복 구문 등 사용 가능). * HT...
HTTP
출처: 링크텍스트 하이퍼텍스트 전송 프로토콜 하이퍼텍스트 문서: 하이퍼링크(내부적으로 문서 간의 연결을 가진 문서)를 가진 문서 하나의 HTML 문서가 다른 여러 HTML 문서를 참조(링크) HTTP/0.9 Get만 지원하고 헤더가 없다. 오직 HTML 파일만...
5장 MVC 모델
5-1 MVC 모델 알아보기 MVC 모델이란? '프로그램의 처리 역할을 나누어서 프로그램을 작성하는 방법'으로 웹 시스템 개발에 자주 사용된다. 소프트웨어 아키텍처 패턴 중 하나 -소프트웨어 시스템을 구성하는 구조와 그 구성 요소 간의 관계를 정의하는...
4장 데이터베이스 작업
4-1 데이터베이스 생성 데이터베이스란? 데이터베이스(Database)란 데이터를 보관하기 위한 '상자'라고 할 수 있다. 이때 특정한 규칙을 적용해서 데이터를 정리하여 보관한다. 관계형 데이터베이스란? 관계형 데이터베이스(Relational Da...
3-4 AOP(관점 지향 프로그래밍)의 기초 지식
3-4-1 AOP 예제 데이터베이스 액세스 처리에는 예외 발생 시 처리하는 내용이 반드시 포함되어야 한다. 예외 처리를 하지 않으면 프로그램이 중지되고 자바의 경우 예외 처리를 프로그램에 포함하지 않으면 컴파일에 실패한다. 구현하고 싶은 프로그램은 데이터베이스의 액...