일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 스프링빈
- 부팅
- PCB
- 커널
- 자바빈
- zookeeper
- 취뽀
- OS
- 도커
- POJO
- 운영체제
- Pub/Sub
- 카프카
- CPU
- Context Switching
- 스프링
- 시스템호출
- spring boot
- Kafka
- 의존성주입
- docker
- 컴퓨터 구조
- Data Engineering
- 코테
- fork()
- 데이터엔지니어
- CNS
- 회고
- 제어의역전
- 합격
- Today
- Total
목록전체 글 (10)
모래성 말고 철옹성
POJO (Plane Old Java Object) 아무 제약조건이 없는 오래된 순수 자바 객체 class POJO { private String pojo; public void pojo(){ System.out.println("pojo"); } } 자바빈 EJB 사용 시절 자주 활용되던 클래스 정의 방식으로, 객체 사용 편의성을 높이기 위해 만들어짐 다음 세 가지 규약을 따르는 객체를 자바빈이라 칭함 No-Arg 생성자 존재 Getter, Setter 존재 java.io.Serializable 상속 // Java Bean 제약 // 1. no-arg 생성자 // 2. getter setter 존재 // 3. Serializable 상속 class JavaBean implements Serializabl..
개요 스프링의 핵심적인 세 가지 개념인 IoC, DI, Spring Container를 알아보기 전에 어떤 페인포인트가 있었길래 이 세 가지 개념들이 스프링에 등장하게 되었는지 간단한 로직을 순수한 Java코드에서 스프링 코드로 발전시켜 나가면서 하나씩 알아보겠다. 코드레벨로 진입하기 전 한 가지 상황을 가정해서 코드로 발전시켜 나가보겠다. 1) 비즈니스 요구사항 사내 동아리 활동을 활성화 시키기 위해 동아리 웹사이트를 제작하려고 한다. 사용자는 웹사이트에서 사용자 등록을 하고 동아리인 그룹에 참여할 수 있다. 2) 클래스 도출 User Class : 사용자의 속성정보를 나타내는 모델 클래스. UserService Class : 사용자와 관련된 비즈니스 로직을 처리하는 클래스. ex) 사용자 등록/제거 ..
프로세스의 개요*** 프로세스란? 프로세스란 메모리상에서 작업하고 있는 프로그램을 말한다. *프로그램 vs 프로세스 - 프로그램 : 저장장치에 존재하는 실행파일 - 프로세스 : 해당 실행파일(프로그램)이 실행 되어 메모리상에서 작업되고 있는 단위 프로세스의 상태 현대 운영체제는 대부분 시분할 시스템이기 때문에 프로세스 상태를 두어 프로세를 관리한다. 프로세스는 다음과 같은 다섯 가지의 상태를 가진다. 상태 설명 New 프로그램을 메모리에 할당하고 PCB가 생성되는 생성 상태이다. Ready 프로세스가 생성된 후 시작하기를 기다리고 있는 준비 상태이다. Runing 프로세스가 time slice를 얻어 CPU에 할당되어 CPU자원을 사용하고 있는 실행 상태이다. Waiting (Block) 실행 상태에 있..
컴퓨터 구조의 한계 혹은 자원의 한정적인 이유로 CPU의 성능을 최고로 내지 못할 수 있다. 이를 해소하기 위한 다양한 방법을 알아보자 컴퓨터 성능 향상기술 버퍼(Buffer)란? 일정량의 데이터를 모았다가 한 번에 옮기는 방법으로 속도 차이가 존재하는 두 장치간 차이를 완화시키는 역할을 한다. 버퍼와 비슷한 용어로 스풀(SPOOL)이 있는데, CPU와 입출력장치의 속도 차이를 완화시키기 위한 소프트웨어적인 버퍼이다. 캐시(Cache)란? 캐시란 CPU와 메모리사이의 속도 차를 완화하기 위해 메모리에서 데이터를 미리 가져와 임시로 저장해두는 CPU 내부 공간을 말한다. (캐시는 CPU 내부 버스를 사용하기 때문에 더 빠르다.) CPU는 필요한 데이터를 메모리로 가기 전 캐시에서 먼저 찾는데 원하는 데이터..
컴퓨터 기본 구성 필수장치 중앙처리장치(CPU)* 명령어를 해석하여 실행하는 장치 메인메모리* 작업에 필요한 데이터를 저장하는 장소 주변장치 입력장치 외부 데이터를 컴퓨터에 입력하는 장치 e.g. 마우스, 키보드 등 출력장치 사용자가 원하는 상태로 처리결과를 출력하는 장치 e.g. 모니터, 프린터 등 저장장치 데이터를 저장하는 장치. 메인메모리와 저장한다는 개념은 같지만 메인메모리는 전원이 꺼지면 데이터가 없어지는 반면 해당 저장장치는 영구적으로 저장된다. 다만 느리다는 단점이 있다. 그 외 메인보드 컴퓨터의 부품들을 버스라는 통로로 각 장치를 연결해주는 장치 폰 노이만 구조 오늘날 대부분의 컴퓨터는 폰 노이만 구조를 따르고 있다. 위 그림(a)처럼 구조화되어있고, 각 장치는 메인보드의 시스템 버스를 통..
운영체제의 구조*** 1. 커널과 인터페이스** 커널 : 프로세스 관리, 메모리 관리, 파일 관리 등과 같은 운영체제의 핵심적인 기능을 모아놓은 것이다. 즉 커널의 성능 = 운영체제의 성능. 컴퓨터 부팅 후 메모리에 올라가 역할 수행. 인터페이스 : 사용자와 커널 사이에서 사용자의 명령을 받고 커널의 응답을 사용자에게 돌려주는 역할을 한다. 그림(a)과 같이 운영체제를 커널과 인터페이스로 크게 두 부분으로 나눌 수 있다. 2. 시스템 호출과 디바이스 드라이버 시스템 호출(System Call) 이란* 시스템 호출이란 커널 기능 사용을 위한 응용 프로그램의 요청에 대해 커널 접근을 위한 인터페이스이다. 이는 커널 자기 자신을 보호하고 자원에 직접접근을 막기 위해 만들었다. 시스템 호출은 커널이 제공하는 시..
운영체제란? 사용자(응용프로그램) 에게 편리한 인터페이스를 제공하고, 컴퓨터 HW 자원을 효율적으로 관리 및 사용할 수 있게 해주는 소프트웨어이다. 운영체제의 역할 자원관리 컴퓨터의 각종 응용프로그램, I/O 등을 사용하면서 컴퓨터 HW의 CPU, 그래픽카드 등의 자원들을 사용하게 되는데, 자원들을 효율적으로 나누어 사용자가 원활하게 사용할 수 있도록 "자원관리자"의 역할을 한다. 자원보호 사용자가 HW 자원에 직접 접근 시 저장된 정보를 실수로 지운다거나 혹은 악의적으로 변경시킬 수 있다. 이러한 비정상적인 일들로부터 운영체제는 컴퓨터 자원을 지키는 "보호자" 역할을 한다. HW 인터페이스 제공 다양한 컴퓨터 장치를 별도의 소프트웨어를 설치하지 않고 단순 연결만으로 사용할 수 있도록 HW 인터페이스를 ..