반응형

전체 글 40

[Python] Selenium 사용법 정리

find_element 가장 많이 사용하기도 하고 크롤링 중 항상 첫 시작을 알리는 find_element() 함수 입니다. # html 태그 id 값 button = myDriver.find_element(By.ID, "button") # html 태그 class_name button = myDriver.find_element(By.CLASS_NAME, "button") # html 태그 xpath (전체 경로) button = myDriver.find_element(By.XPATH, "/html/body/div[3]/form/section/div/div[2]/div[6]/div[2]") 저는 위 3개를 가장 많이 사용합니다. 위 3가지 방법을 지금까지 소규모 크롤링 토이 프로젝트를 몇 가지 해보고 나..

Python 2023.09.18

[Gradle] 궁금한 Gradle Declaring Repositories

Repository 선언 Declaring repositories Declaring repositories When searching for a module in a repository, Gradle, by default, checks for supported metadata file formats in that repository. In a Maven repository, Gradle looks for a .pom file, in an ivy repository it looks for an ivy.xml file and in a flat directory r docs.gradle.org Gradle 빌드는 대표적으로 MavenCentral 과 Google Android 공개된 Repository에 접근..

Java 2023.08.09

[포스트맨] REST API를 보다 잘 정리하게 돕는 기능들

구조 설명 1. Workspace 가장 최상위 Workspace 입니다. 다수의 Collection의 집합입니다. 2. Collection Workspace 하위 폴더 입니다. 보통 프로젝트 이름 혹은 서버와 1:1 관계입니다. 3. Folder 보통 Controller 기준으로 분리 합니다. 4. Request API 엔드포인트를 정의합니다. Postman 기능 소개 포스트맨은 본질적으로 API Testing Tool 이지만 API 문서화 및 버전 관리의 의미도 큽니다. 특히 개발자 간의 소통을 줄여주는 도구로써 아주 유용하게 쓰이고 있습니다. 본 문서는 개발자 대상으로 작성하는 문서이기 때문에 테스트에 관해서는 자세히 언급을 하지 않겠습니다. 환경 변수 설정 기능 해당 기능은 baseUrl, 만료 기..

Util 2023.08.01

RDBMS 인덱스(INDEX) 빠른 검색을 위한

개요 인덱스 인덱스를 사용하면 데이터베이스에서 데이터를 검색할 때 테이블의 모든 레코드를 검색하지 않아도 됩니다. 대신, 인덱스를 사용하여 검색할 컬럼 값이 일치하는 레코드만 검색하면 됩니다. 이를 통해 검색 속도가 증가하게 되어, 대규모 데이터베이스에서도 빠른 검색이 가능해집니다. 그러나, 인덱스는 테이블에 대한 추가적인 저장 공간을 필요로 하며, 인덱스를 생성하고 유지하는데도 자원이 소비됩니다. 때문에, 적절한 인덱스를 설정하는 것이 중요합니다. INSERT, UPDATE, DELETE 직관적으로 SELECT 쿼리를 할 때 유리한 것은 감이 옵니다. 하지만 INSERT, UPDATE, DELETE 의 경우에는 어떤 일이 벌어질까요? INSERT 새로운 Raw에 대한 인덱스를 추가하며 해당 Raw가 I..

DataBase 2023.07.20

클라우드 서비스 이해 (IaaS, PaaS, SaaS)

클라우드 서비스 이해 (IaaS, PaaS, SaaS) 1. 개요 2. 역사 과거 클라우드 컴퓨팅의 등장 3. IaaS 4. PaaS 5. SaaS 참조 링크 1. 개요 클라우드 컴퓨팅은 인터넷으로 가상화된 IT 리소스를 서비스로 제공하는 것을 의미합니다. 그리고 클라우드 컴퓨팅에서 가상화하여 서비스로 제공하는 대상은 서버, 플랫폼, 소프트웨어입니다. 클라우드 컴퓨팅에서 제공되는 서비스는 크게 IaaS, PaaS, SaaS로 구분됩니다. IaaS(Infrastructure as a Service)는 하드웨어 인프라를 가상화하여 서비스로 제공하는 것으로, 가상머신, 스토리지, 네트워크 등이 포함됩니다. PaaS(Platform as a Service)는 애플리케이션 개발 및 운영에 필요한 플랫폼을 가상화하..

Cloud 2023.07.17

FP 그리고 OOP 에 대한 고찰

함수형 프로그래밍(Functional Programming) 함수형 프로그래밍이란, 프로그래밍의 여러가지 패러다임중 하나(OOP 같은거처럼) 함수의 조합으로 작업을 수행하며, 중요한것은 이 작업이 이루어지는 동안 작업에 필요한 데이터와 상태는 변하지 않음 객체지향 프로그래밍(Object-Oriented Programming) 객체 지향 프로그래밍 (Object-Oriented Programming, OOP)은 프로그래밍에서 필요한 데이터를 추상화 시켜 상태와 행위를 가진 객체로 만들고, 객체들간의 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다. 위 까지가 대충 검색하면 나오는 간단한 정의이고, 여기서 각각의 패러다임에 대한 세부적인 내용을 다루는것은 의미가 없기에 생략한다. 내가 이것에 대해 고찰을..

생각 2023.02.19

Spring Cloud Config Server 환경 변수를 분리해보자 (1)

실제 서비스에 적용할 아키텍처를 고민하던 중 Spring 에서 지원해주는 기술을 알게 되었고 그것을 구현하는 내용입니다. Spring Cloud Config 를 활용하면 환경변수들을 프로젝트 레포지토리 상에서 완전히 분리할 수 있습니다. 환경 변수 주입은 MSA 아키텍처와 관련해서 설계할 때 한번쯤은 생각 해보게되는 문제입니다. 여러 서비스가 어떻게 하면 환경 변수를 잘 주입 받을 수 있을까? 처음 제가 생각한 조건은 이러합니다. 환경 변수는 각 서비스의 레포지토리에 존재해서는 안된다. 환경 변수가 수정 되었을 때 수정된 내용을 잘 참조 할 수 있어야 한다. 여러 서버의 환경변수를 한 곳에서 체계적으로 관리할 수 있어야 한다. 민감한 환경변수는 통신을 할 때 암호화될 수 있어야 한다. 1. build.g..

Java 2022.12.01

Spring boot + Minio + Docker 예제를 만들어보자(1)

본 게시물은 2개로 나누어져 있습니다. (1) 에서는 전반적인 환경을 설정하는 파일을 설명합니다. Minio를 이용한 File 저장을 익히는 목적이 있으며, Minio의 동작원리와 사용법을 익히는데 중점을 두었기 때문에 서비스 운영에 목적을 두고 계시다면 수정이 필요할 수 있습니다. 우선, 제가 생각한 전체적인 아키텍처를 그림으로 보자면 이렇습니다. 가장 서버에게 부하를 주는것은 빈번한 다운로드, 클라이언트 입장에서도 가장 많이 이용하는 서비스가 다운로드 일 것입니다. 그래서 다운로드의 순서가 조금 특이한데 세부 설명을 좀 드리자면 1. 다운로드를 하고싶은 file을 요청합니다.(파일 경로를 특정할 수 있는 request) 2. 서버는 request에 있는 특정 경로를 추정하고 minio에게 파일 접근권..

Java 2022.11.21

Spring Cloud Config 란 무엇인가

1. 🍃 Spring Cloud Config 란 1-1. 정의 Spring Cloud Config는 분산 시스템에서 외부화된 구성을 위한 서버 및 클라이언트 측 지원을 제공합니다. Config Server를 사용하면 모든 환경에서 애플리케이션의 외부 속성을 관리할 수 있는 중앙 위치가 있습니다. 클라이언트와 서버의 개념은 Spring Environment과 동일하게 매핑됩니다.PropertySource추상화이므로 Spring 애플리케이션에 매우 적합하지만 모든 언어로 실행되는 모든 애플리케이션과 함께 사용할 수 있습니다. 애플리케이션이 개발에서 테스트 및 프로덕션으로 배포 파이프라인을 통해 이동할 때 이러한 환경 간의 구성을 관리할 수 있으며 애플리케이션이 마이그레이션할 때 실행하는 데 필요한 모든 것이..

Java 2022.11.20

IEEE 802.15.4 무선 근거리 네트워크 통신 정리

IEEE 802.15.4 1. 정의 IEEE 802.15.4 란 802.15.4 표준은 다음을 포함하는 기존 무선 네트워크 표준이 남긴 틈새를 채우기 위해 IEEE에 의해 도입되었습니다. IEEE 802.15.1 : Bluetooth는 점대점 통신을 위한 비교적 저 전력, 저속 무선 네트워크 기술 IEEE 802.15.3 : 고속 WPAN(Wireless Personal Area Network) 핵심 기능 이 표준의 핵심 기능은 매우 낮은 전력 소비에 대한 요구 사항입니다. 이 엄격한 전력 요구 사항에 대한 동기는 케이블 연결이 전혀 없는(네트워크 또는 전원 케이블 없음) 배터리 전원 네트워크 장치의 사용을 가능하게 하여 쉽고 저렴하게(비용이 많이 드는 케이블 설치가 필요 없음) 가능하면 케이블을 설치하..

CS 2022.09.04
반응형