분류 전체보기 124

분산 데이터 스트리밍 플랫폼 카프카(Kafka와) 카프카 성능 알아 보기

이번 포스팅에서는 분산 데이터 스트리밍 플랫폼으로 알려져 있는 Kafka에 대해 알아보려고 합니다. 카프카, 데이터 플랫폼의 최강자를 읽고 정리하는 글입니다. 카프카, 데이터 플랫폼의 최강자 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 위의 책을 읽고 공부하며 정리한 글이기 때문에, 틀린 부분이 있을 수 있으니 참고 부탁드립니다. 카프카(Kafka)란? 카프카(Kafka)는 분산 스트리밍 플랫폼으로, 대용량의 데이터 스트림을 처리하고 저장할 수 있는 오픈 소스 소프트웨어입니다. 아파치 소프트웨어 재단(Apache Software Foundation)에서 현재 개발 및 관리되고 있으며, 고성능, 내고장성, 확장 가능성 및 실시간 데이터 처리를 위한 도구..

WEB/Study 2023.10.01

[Spring]AOP 완전 정복하기(개념과 구성 요소)

Spring AOP(Aspect-Oriented Programming)은 스프링 프레임워크에서 제공하는 기능 중 하나로, 애플리케이션의 여러 부분에서 로깅, 트랜잭션 관리, 보안 등과 같은 공통 기능을 분리하고 모듈화 하는 데 사용됩니다. 이를 통해 애플리케이션의 핵심 비즈니스 로직과 관심 사항을 분리하여 코드의 재사용성, 유지 보수성, 확장성을 향상할 수 있습니다. Spring AOP의 주요 개념과 구성 요소 Spring AOP의 주요 개념과 구성 요소는 다음과 같습니다. 1.Aspect(관점) Aspect는 공통 관심 사항을 정의하는 모듈입니다. Aspect는 Advice, PointCut 및 Introduction의 세 가지 주요 구성 요소를 포함합니다. 2.Advice(조언) Advice는 Asp..

WEB/Spring 2023.09.13

[Javascript]문자열 자르는 메서드와(substr, substring, slice) 정규 표현식

이번 포스팅에서는 Javascript의 문자열을 자르는 메서드에 대해 알아보도록 하겠습니다. 문자열을 자르는 방법으로는 Javascript에서 제공하는 문자열 객체의 메서드를 사용하거나, 정규 표현식을 활용할 수 있습니다. 아래에서는 각각의 방법을 예시 코드와 함께 설명하도록 하겠습니다. 문자열 자르는 메서드와(substr, substring, slice) 실제로 프로그래밍을 하면서 문자열을 자르는 방법 중 하나인 정규표현식을 사용하기보다는 문자열 객체의 메서드를 활용하는 것이 더욱 자주 사용됩니다. 메서드는 크게 세 가지입니다. 첫 번째로 substring() 메서드가 있습니다. 이 메서드의 기능으로는 문자열의 일부분을 추출할 수 있습니다. 예제 코드는 다음과 같습니다. const originalStr..

[Python]for문을 이용한 다양한 반복 처리 제어(for range, for loop, 중첩 반복)

프로그래밍을 하다 보면 특정한 작업을 여러 번 수행하는 코드를 작성해야 하는 경우가 있습니다. 이러한 상황에서 사용할 수 있는 대표적인 반복문인 for문에 대해 알아보고 각각의 예제를 알아보도록 하겠습니다. for문을 이용한 다양한 반복 처리 제어 Python의 for문은 여러 가지 시퀀스(리스트, 튜플, 문자열 등)의 각 요소에 대해 순회하며 작업을 수행하는 데 사용됩니다. for문의 구문과 여러 가지 예제에 대해 알아보도록 하겠습니다. 기본 구조는 다음과 같습니다. for 요소 in 시퀀스: #요소에 대한 작업 수행 이제 요소와 시퀀스가 의미하는 것을 알아보도록 하겠습니다. 우선 요소는 시퀀스 안에 있는 각 항목을 의미합니다. 시퀀스는 순회하고자 하는 데이터의 모음입니다. 리스트, 튜플, 문자열 등이..

Languages/Python 2023.09.05

[Python]list 자료형과 메서드 알아보기(sort, size, append, remove, pop, 슬라이싱)

Python에서의 리스트는 가변적이고 순서가 있는 요소들의 모음인데요. 리스트는 여러 가지 데이터 타입의 요소들을 포함할 수 있으며 인덱스를 이용하여 각 요소에 접근이 가능합니다. 리스트의 생성부터 관련 메서드에 대해 자세히 알아보도록 하겠습니다. list 자료형 알아보기 우선 리스트의 생성을 알아보도록 하겠습니다. 리스트의 생성은 다음과 같습니다. 아래와 같이 Python에서 리스트를 생성하기 위해서는 대괄호를 사용하고, 각 요소를 쉼표로 구분하여 나열합니다. list = [1, 2, 3, 4, 5] 리스트는 순서가 있기 때문에 각 요소는 0부터 시작하는 각각의 인덱스를 가지고 있습니다. 인덱스를 사용하여 리스트의 각 요소에 접근할 수 있습니다. 인덱스는 아래와 같이 대괄호 내에 넣어 사용합니다. pr..

Languages/Python 2023.08.20

웹 크롤링과 웹 스크래핑의 개념과 차이점

웹 상에서 데이터를 추출하기 위한 방법은 대표적으로 두 가지 방법이 있습니다. 바로 웹 크롤링과 웹 스크래핑입니다. 이 두 가지 데이터 추출 방법의 개념과 차이에 대해 알아보도록 하겠습니다. 정보 수집과 데이터 추출웹에서의 데이터 추출이란 웹 페이지의 HTML 구조를 파싱하고 원하는 정보를 추출하는 과정을 말합니다. 하지만 이러한 데이터 추출 이전에는 반드시 정보 수집 과정이 필요합니다. 따라서 웹 크롤링과 웹 스크래핑에 대한 개념을 알고 있어야 합니다. 웹 크롤링(Web Crawling) 이란?웹 크롤링은 웹 상의 다양한 웹 페이지를 자동으로 탐색하고 수집하는 과정을 의미합니다. 크롤러 혹은 스파이더라고 불리는 프로그램을 사용하여 여러 웹 페이지를 순회하며 링크를 추적하거나 사이트의 내용을 수집합니다...

WEB/Study 2023.08.10

[Java]문자열에 공백을 제거하는 방법(Trim, Replace, Stripe)

프로그래밍을 하다 보면 문자열에 대한 공백을 제거해야하는 경우가 있습니다. 이러한 경우에 사용할 수 있는 방법에 대해 알아보도록 하겠습니다. 문자열 공백 처리 - Trim String str = " 오늘은 날씨가 너무 좋다. " String trimStr = str.trim() System.out.println(str) System.out.println(trimStr) // 오늘은 날씨가 너무 좋다. //오늘은 날씨가 너무 좋다. 위의 소스 코드를 보면 trim()으로 공백을 처리한 결과를 볼 수 있습니다. 하지만 trim()으로 공백을 처리하게 되면 양쪽의 공백은 모두 제거되지만, 문자열 사이에 있는 공백은 제거되지 않습니다. 만약 전체의 공백을 모두 지워야 하는 상황이라면 어떻게 해야 할까요? 바로 ..

Languages/Java 2023.08.10

[Python]BeautifulSoup(bs4)를 사용하여 웹 스크래핑하기

이번 포스팅에서는 제가 실제 프로젝트에서 사용했고, 파이썬에서 웹 스크래핑을 할 수 있도록 도와주는 라이브러리 하나를 소개하려 합니다.Beautiful Soup(bs4) 라이브러리bs4는 파이썬에서 웹 스크래핑 및 데이터 추출을 위한 라이브러리입니다. HTML 및 XML과 같은 마크업 언어로 작성된 웹 페이지의 내용을 파싱하고 구문을 분석하여 원하는 데이터를 추출하는 데 사용됩니다. bs4는 파이썬에서 웹 페이지에 대한 구문을 분석하고 탐색하는 프로세스를 단순하게 만들어주며, 웹 스크래핑을 더 효율적으로 수행할 수 있도록 도와줍니다. Beautiful Soup(bs4)의 특징이 라이브러리의 특징은 다음과 같습니다. 1. HTML 파싱 : Beautiful Soup는 HTML 문서를 파싱 하여 문서의 구조..

Languages/Python 2023.08.10

[Spring]Initializr를 사용하여 간편하게 프로젝트 생성하기

Spring 프로젝트를 시작하기에 앞서 가장 첫 단계인 프로젝트에 대한 설정을 쉽게 할 수 있는 도구인 Spring Initializr에 사용법에 대해 작성하려 한다. Spring Initializr이란? Spring Initializr은 스프링 프레임워크 기반의 프로젝트를 빠르게 설정하고 초기화할 수 있는 도구입니다. 개발자들이 어렵지 않게 스프링 프로젝트를 생성할 수 있도록 도와주는 웹 기반의 도구이며, 프로젝트의 구조와 의존성 그리고 추가적인 설정을 사용자에 요구에 맞게 선택하고 생성할 수 있습니다. 기존의 SpringBoot 프로젝트를 만들기 위해서는 IDE 상에서 직접 프로젝트를 생성하였다. 하지만 처음 스프링을 접하는 사용자들에겐 프로젝트에 대한 설정을 하기에 많은 어려움이 있었고, 아래 주소..

WEB/Spring 2023.08.10

[Spring]MVC모델과 비교되는 WebFlux에 대해 알아보자

Spring Framework에는 대표적인 프로그래밍 모델이 있습니다. 하나는 가장 많이 알고, 대중적으로 쓰이는 Spring Mvc모델과 두 번째로는 이번에 소개할 Spring WebFlux 모델입니다. 이번 포스팅에서는 WebFlux 모델을 MVC 모델과 비교해서 알아보도록 하겠습니다. Spring WebFlux란? Spring WebFlux는 스프링 프레임워크의 일부로서, 비동기 및 리액티브 프로그래밍을 지원하는 모듈입니다. 기존의 Spring MVC와 비교하여 기존과 다른 리액티브 프로그래밍의 개념을 도입하여 데이터 스트림을 처리하고 더 많은 동시 요청을 처리할 수 있는 확장성 있는 웹 애플리케이션을 개발할 수 있게 해 줍니다. 리액티브 프로그래밍이란? Spring WebFlux와 Spring M..

WEB/Spring 2023.08.09