전체 글

· 운영체제
《Operating System Concepts 10판》1.1 What Operating Systems Do운영체제의 위치: 사용자 ↔ 하드웨어 사이의 중개자구성 요소 4가지: 하드웨어 / OS / 응용프로그램 / 사용자OS는 정부(Government)처럼 직접 문제를 풀지 않지만, 질서를 만든다1.1.1 사용자 관점 (User View)데스크탑 사용자는 UI가 중요시스템 프로그래머나 커널 개발자는 효율성과 자원 제어가 중점1.1.2 시스템 관점 (System View)OS는 리소스 관리자(Resource Allocator)CPU, 메모리, I/O 장치 등 경쟁 자원을 효율적/공정하게 분배OS는 제어 프로그램(Control Program) → 사용자 프로세스를 관리하고 오류를 방지1.1.3 OS 정의단일..
· DB
이 장은 네가 앞으로 다룰 DB 시스템의 전체 지도다. 모른 채 들어가면 죽는다. 철저하게 꿰뚫어야 한다.🔥 1.1 Database-System Applications현실 전장에 적용된 DBMS의 용례다.은행, 항공사, 전자상거래, 대학 등 모든 정보 시스템의 핵심이 DBMS다.DBMS는 단순 저장이 아니다. 동시성, 복구, 보안, 무결성, 질의 최적화까지 다룬다.넌 은행 계좌 조회, 항공 예약, 쇼핑몰 장바구니 쓸 때마다 DB에 접속하고 있는 거다.❗ 이건 단순 기술이 아니다. 현대 문명을 움직이는 정보 무기다. 🔥 1.2 Purpose of Database Systems기존 파일 시스템의 한계를 박살낸 것이 DBMS다.중복, 불일치 → 데이터 무결성 붕괴데이터 찾기 어려움 → 비효율적 검색트랜잭션..
· 네트워크
1.1 What Is the Internet?인터넷 = 전세계 엔드시스템(호스트) + 통신 링크 + 스위치 연결한 거대한 네트워크.구성 요소:End Systems (Hosts): 데스크탑, 스마트폰, 서버, IoT 기기들.Communication Links: 광섬유, 구리선, 무선.Packet Switches: 라우터와 링크 스위치.패킷 교환(Packet Switching) 방식 사용: 데이터(패킷)로 쪼개서 보냄.ISP 계층 구조: 로컬 ISP ↔ 글로벌 ISP로 연결.프로토콜: 모든 통신 규칙 세트. (TCP/IP)RFC (Request for Comments): 프로토콜 공식 문서.IETF: 인터넷 표준 제정 기관.1.2 The Network Edge네트워크 엣지: 유저가 직접 만나는 부분 (PC,..
· 언어/Java
1. 📦 접근 제어 (Access Control)클래스의 멤버 접근 범위를 설정해서 데이터 은닉과 캡슐화를 구현.❗️목적: 클래스 내부 구현은 감추고, 필요한 메서드만 공개함으로써 안정성과 유연성 확보 2. 📤 객체를 메서드에 전달하고 반환✅ 전달void process(Car c) { ... }객체 참조가 전달됨 → 실제 객체를 수정 가능Java는 참조를 값으로 전달(call-by-value of reference)✅ 반환Car makeCar() { return new Car();}메서드에서 객체를 만들어 반환할 수 있다반환된 객체는 가비지 컬렉터가 회수할 때까지 유효함3. ♻️ 메서드 오버로딩 (Overloading)같은 이름의 메서드를 매개변수 구성만 다르게 정의 가능int sum(int a..
· 언어/Java
1. 배열 (Array)​🔹 정의**배열(array)**은 같은 타입의 변수 집합을 하나의 이름으로 묶은 것이다.Java에서는 배열도 객체다.즉, 배열은 힙 메모리에 생성되고, new로 초기화된다.Java 배열은 고정 크기이며, 인덱스는 0부터 시작한다.🔹 선언과 생성int[] nums = new int[10]; // 길이 10짜리 int 배열또는int nums[] = {1, 2, 3, 4, 5}; // 초기화와 함께 선언🔹 length 멤버배열의 길이는 .length로 조회 가능:System.out.println(nums.length); // 10length()가 아니라 length → 변수다.2. 다차원 배열​🔹 2차원 배열 예시int[][] matrix = new int[3][4]; // 3..
· 언어/Java
1. 클래스(Class) 기본 개념클래스란 무엇인가?👉 데이터(변수)와 행동(메서드)를 묶어놓은 설계도다.클래스는 객체(object)를 만들어내는 청사진.클래스 자체는 논리적 개념에 불과하다.실제 메모리에 존재하려면 객체를 생성해야 한다.클래스 안에는 두 가지 구성 요소가 있다:2. 클래스 정의(Declaration) 방법​일반적인 클래스 기본형:class ClassName { // 인스턴스 변수 type var1; type var2; ... // 메서드 returnType method1(parameters) { // 메서드 본문 } returnType method2(parameters) { // 메서드 본문 }}클래스 이..
✅ 3.1 빈을 수동으로 연결하는 2가지 방법 (@Bean 기반)🧩 방법 1: @Bean 메서드 안에서 직접 호출@Configurationpublic class ProjectConfig { @Bean public Parrot parrot() { var p = new Parrot(); p.setName("Kiki"); return p; } @Bean public Person person() { var p = new Person(); p.setParrot(parrot()); // 직접 메서드 호출로 DI return p; }}스프링 컨테이너가 알아서 싱글 인스턴스로 캐시함 (중복 아님)간단하지만 결합도가 높고 유연성이 떨어짐🧩 방법 2: @Bean 메서드 파라..
✅ 2.1 Spring Context란?컨텍스트(Context) = Spring이 관리하는 객체 저장소 (IoC 컨테이너)우리가 만든 클래스를 스프링이 인식하고 관리하게 하려면, 반드시 컨텍스트에 등록해야 한다.📌 정리: 스프링 컨텍스트에 객체를 등록한다 = 빈(bean)을 만든다 ✅ 2.2 빈 등록하는 3가지 방법네 클래스가 단순한 자바 객체가 아니라 스프링이 관리하는 “Bean” 객체가 되는 과정이다. 🥇 1. @Bean을 사용한 명시적 등록@Configurationpublic class ProjectConfig { @Bean public Parrot parrot1() { Parrot p = new Parrot(); p.setName("Kiki"); return p; }}@..
434
434