본문 바로가기
반응형

public void static main/Etc22

[Kafka] 카프카를 공부해보자 kafka는 무엇일까? 왜 쓸까? 어떻게 동작할까? 좀 딥하게 알아보자!KAFKA카프카는 분산형 스트리밍 플랫폼으로, 대용량의 실시간 데이터 스트림을 처리하는 데 특화된 오픈소스 솔루션이다.카프카는 주로 데이터 파이프라인 구축, 이벤트 스트리밍, 실시간 데이터 피드 처리에 사용된다.주요개념토픽(Topic)카프카에서 데이터가 저장되는 주제를 의미한다.토픽은 데이터의 카테고리를 나타내며, 데이터 스트림은 하나 이상의 토픽에 분배 된다.브로커(Broker)카프카 클러스터를 구성하는 각 서버를 브로커 라고 한다.각 브로커는 데이터를 저장하고 클라이언트 간 통신을 관리한다.프로듀서(Producer)데이터를 생산하고 카프카 토픽에 데이터를 전송하는 클라이언트이다.여러 토픽으로 데이터를 보낼 수 있다.컨슈머(Cons.. 2025. 1. 24.
비동기와 논블로킹 논블로킹.........비동기............왜 생각이 안났을까...... 정리해본다.비동기(Asynchronous)정의:작업이 시작된 후 결과를 기다리지 않고, 호출자가 다른 작업을 계속 수행할 수 있는 방식 이다.작업 완료는 콜백, Future, Promise 등을 통해 통보 받는다.특징:호출자가 작업의 완료 여부를 직접 기다리지 않는다.작업이 완료되었을 때만 응답을 받는다.예제:이메일 전송 요청 후 바로 다음 코드 실행, 실제 전송 완료 여부는 나중에 콜백으로 알림.비동기의 동작 방법비동기는 일반적으로 이벤트 루프나 스레드 풀을 사용하여 작동한다.작업 요청호출자가 비동기 작업을 요청한다.요청은 즉시 반환되며, 호출자는 작업 완료 여부와 관계 없이 다른 작업을 계속할 수 있다.작업 처리작업은 백.. 2025. 1. 23.
[HTTP] Stateless/Stateful 뭘 사용해야 할까? 프로젝트 전 알아야하는 개념들을 정리해보았다... 후... 개념은 뭐 정리할 수 있지만 잘 써먹을 수 있겠찌??서버와 클라이언트 간에 진행되는 통신 방식을 알아보자! Stateful서버가 각 클라이언트의 세션이나 상태 정보를 유지하는 것을 말한다. 서버는 클라이언트가 이전에 보낸 요청, 세션 정보 등을 기억하기 때문에 클라이언트가 다시 연결해도 맥락을 잃지 않는다.예시: 로그인한 상태에서 쇼핑몰 장바구니에 물건을 담거나, 게임 중 진행 상황을 저장하는 것이 가능하다.Stateful 원리세션 유지서버는 클라이언트의 상태를 추적하기 위해 메모리에 상태 정보를 저장한다.예: 로그인 정보, 사용 중인 데이터.클라이언트가 새로운 요청을 보내면, 서버는 이 상태 정보를 참조하여 적절히 응답한다.세션 ID 또는 연결.. 2025. 1. 7.
[RAID] 레이드란 무엇인가! 회사에서 기술 조사 하다가! 정리한거! 졸립다! 언능 하고 자야징! RAID (Redundant Array of Independent Disk) 기본개념 2개 이상의 디스크를 병렬로 처리하여 성능 및 안정성을 향상시키는 방식 레이드는 Striping(분산), Mirroring(중복), Parity(무결성)의 기술을 적용에 따라 레벨이 나누어진다. 사용 목적 여러개의 디스크 모듈을 하나의 대용량 디스크 처럼 사용하기 위하여 여러개의 디스크 모듈에 데이터를 나누어 한꺼번에 쓰고 한꺼번에 읽는식으로 입출력 속도를 높이기 위하여 여러개의 디스크를 모아서 하나의 디스크로 만들고 그중 하나 혹은 그 이상의 디스크에 장애가 나더라도 최소한 데이터가 사라지는 것을 방지하기 위하여 기대 효과 대용량의 단일 볼륨을 사용하.. 2022. 12. 19.
[WEB] 동기 & 비동기 좋아 오랜만에 블로그 정리! 직렬성 & 동시성은 다음에 알아보자! ㅎㅎ 동기 (Synchronous) 가 뭐야? 동기 사랑 나라 사랑? - 하나의 연산이 끝나야 그 다음 코드가 실행되는 방식! 실행중인 태스크가 끝나야 다음 태스크로 진행! - 웹 브라우저에서 서버에 요청을 보내고 응답을 받는다. public class Synchronous { public static void main(String[] args) { // 순차적으로 실행! task1(); task2(); task3(); } public static void task1() { System.out.println("task1"); } public static void task2() { System.out.println("task2"); } pu.. 2022. 10. 14.
[OS] 프로그램과 프로세스 운영체제 공부다해서 이제 정리하는 시간.... 아까 피자먹고와서 배도 부르고 등도 따시고 게임하고싶지만 참고 공부한다 내자신 기특해 간단히 개념 정리하는 수준으로! (광고아님!)본 게시물은 그림으로 쉽게 배우는 운영체제 강의내용을 정리 + 구글링한 내용입니다. 더 재밌고 쉽게 운영체제를 공부하고 싶으신 분은 밑의 링크를 클릭해서 강의를 구매 후 강의를 들어주세여! 그림도귀엽고 쉽게 설명해주셔서 귀에 쏙쏙 들어오는 강추 하는 강의!! https://www.inflearn.com/course/%EB%B9%84%EC%A0%84%EA%B3%B5%EC%9E%90-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C/dashboard 그림으로 쉽게 배우는 운영체제 - 인프런 | 강의 이 강의를 통해 모.. 2022. 2. 21.
[Design Pattern] Strategy Pattern 아~ 디자인 패턴 너모 많자나... 언제 끝나는지 아시는분~~~?? Strategy Pattern? 전략 패턴이란 실행 중에 알고리즘을 선택할 수 있게 하는 행위 소프트웨어 디자인 패턴이다. 특정한 계열의 알고리즘들을 정의하고 각 알고리즘을 캡슐화하며 이 알고리즘을 해당 계열 안에서 상호 교체가 가능하게 만든다! 아주그냥 이름처럼 전략적으로 사용하는 거군! [사용이유] 구현된 알고리즘은 다르지만 동일한 목적을 지닌 클래스들이 존재할 때 사용한다! 확장이 용이하게! [구조] Strategy(전략) 전략을 이용하기 위한 인터페이스(API)를 결정합니다. ConcreteStrategy(구체적인 전략) Strategy를 실제로 구현하는 역할 Context(문맥) Strategy의 인터페이스(API)를 호출해서 .. 2022. 2. 5.
[OS] 멀티 프로그램, 프로세싱 운영체제를 공부하면서 여러가지 개념을 다시 공부하는 시간을 갖고있따! 멀티 프로세싱(Multi-processing) 다수의 프로세서가 협력적으로 일을 처리하는 것을 의미한다. 프로세서와 프로세스 차이를 조심하자! 프로세서: CPU나 하드웨어를 의미. 프로세스: 실제 메로리에 적재되어 프로세서에 의해 실행되고 있는 프로그램. 보통 하나의 프로세서(CPU)가 하나의 작업을 맡지만 멀티 프로세싱은 다수의 프로세서가 다수의 프로세스를 함께 처리하는 것을 의미한다. 멀티 프로그래밍 하나의 프로세서가 하나의 프로세스를 수행하는 동안 다른 프로세스에 접근할 수 있도록 하는 방법을 의미한다. 간단히 말하면 여러 프로그램을 메모리에 동시에 올려서 수행하는 것 이다. 멀티 태스킹과 멀티 스레딩은 아직 다루지 않았습니다! .. 2022. 2. 1.
[OS] 메모리 영역 운영체제 관련 제대로 배워본적이없어서 설날이고 시간도 많으니까 운영체제 관련해서 공부를 시작! 남에게 알려줄 수 있는 정도로 열심히 공부해보자! 메모리 구조 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드 되어야 한다! 또한, 프로그램에서 사용되는 변수들을 저장할 메모리도 필요함! 프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간은 4개정도이다! 1. 코드(code) 영역 2. 데이터(data) 영역 3. 스택(stack) 영역 4. 힙(heap) 영역 코드(code) 영역 메모리의 코드(code) 영역은 실행할 프로그램의 코드가 저장되는 영역으로 텍스트 영역이라고도 부른다. CPU는 코드 영역에 저장된 명령어를 하나씩 가져가서 처리하게 된다. 데이터(data) 영역 메모리의 데이터(da.. 2022. 2. 1.
반응형