danbibibi
article thumbnail
MOM(Message Oriented Middleware, 메세지 지향 미들웨어), 메시지 큐(Message Queue)
프로그래밍/기타 2025. 2. 6. 11:26

MOM(Message Oriented Middleware, 메세지 지향 미들웨어)응용 소프트웨어 간의 비동기적 데이터 통신을 위한 소프트웨어비동기 방식으로 메세지를 전달함 ex) Queue, Broadcast, Multicast 등메세지를 통해 여러 분산되어 있는 시스템간의 Connector 역할로 결합성을 낮춤메세지를 발행하는 Publisher (Producer), 소비하는 Subscribe (Consumer)로 구성되어 있음메세지를 전달하는 과정에서 보관, 라우팅, 변환할 수 있다는 장점이 있음보관 : 한 은행 시스템에서 고객의 송금 요청이 발생했지만, 수신 측 시스템이 일시적으로 다운된 경우에도 메시지 지향 미들웨어가 해당 요청을 큐에 저장해 둠. 수신 시스템이 복구되면 메시지가 자동으로 처리되어 ..

article thumbnail
ChromeDriver 설치 없이 selenium 실행하는 법, webdriver_manager
프로그래밍/기타 2024. 12. 11. 17:12

Chrome을 최신 버전으로 업데이트하면서, 자동화 테스트 중 ChromeDriver 설치에 문제가 생겼다 ..구글링을 하던 중 ChromeDriver를 설치하지 않고, webdriver_manager를 이용하는 방식을 알게 되어서관련된 개념을 정리할 겸 글을 작성해 보려고 한다.기존에는 Chrome 버전에 맞는 ChromeDriver를 찾아서 설치해주는 방식을 이용했는데,최신 Chrome 버전에 맞는 ChromeDriver 버전이 chromedriver.storage에 없어서 다운 받지 못하는 문제였다 .. selenium웹사이트 테스트를 위한 도구로 브라우저 동작을 자동화할 수 있음프로그래밍으로 브라우저 동작을 제어해서 마치 사람이 이용하는 것 같이 웹페이지를 요청하고 응답을 받아올 수 있음 Chro..

article thumbnail
mDNS / DNS-SD 란? Avahi란?
프로그래밍/Linux 2024. 8. 2. 14:00

mDNS / DNS-SDmDNS(Multicast DNS)와 DNS-SD(DNS Service Discovery) 관련 개발을 진행하게 되어 관련 내용을 간단하게 정리해보려 한다! mDNS(Multicast DNS)DNS-SD(DNS Service Discovery) 로컬 네트워크의 다른 기기를 검색하기 위해 논의되고, 개발되어 널리 사용 중(두 기술은 서로 의존성을 가지고 있지는 않음)로컬 네트워크에 참여한 호스트를 찾기위해서 멀티캐스팅 하는 것이 핵심서비스 타입을 기준으로 서비스를 찾는 방식  mDNS를 이용하면 로컬 네트워크에 참여한 호스트를 자동으로 찾을 수는 있지만 어떤 종류의 서비스인지는 확인할 수 없다. 하지만, DNS-SD를 이용하면 서비스 타입(service type)을 설정하는 것으로 ..

article thumbnail
컴파일 과정, 컴파일러
프로그래밍/기타 2024. 8. 2. 10:45

프로그램 생성 과정소스코드는 다음 4가지 과정을 거쳐 실행가능한 프로그램이 됩니다.전처리 : 헤더파일 혹은 매크로를 치환하여 .i 파일로 저장 (#include, #define 등)컴파일 : 저수준의 언어인 어셈블리어로 컴파일 후 .s 파일로 저장 (ex. c++ -> 어셈블리어)어셈블 : 저수준 언어인 어셈블리어를 링커가 읽을 수 있는 목적파일로 변환하여 .o 파일로 저장 ( 기계어로 최종 번역 )링킹 : 목적파일들을 하나로 묶어 실행파일(a.out) 생성위 4가지 동작을 Compiler Coleection(컴파일러 모음집)이라고 부르며,GCC(GNU Compiler Collection) 과 LLVM(Low Level Virtual Machine)이 잘 알려진 모음집입니다. 컴파일 과정그럼 이제 컴파일..

article thumbnail
TOTP(Time Based One Time Password)
프로그래밍/기타 2024. 4. 15. 09:56

TOTP(Time Based One Time Password) 공유 비밀키와 시간정보를 사용하여 일회성 비밀번호를 생성

article thumbnail
[Linux] 파일 이름, 내용 일괄변경
프로그래밍/Linux 2024. 4. 3. 10:01

# 현재 디렉토리 내의 모든 파일, 디렉토리의 이름중 A가 포함된 파일, 디렉토리의 이름의 A를 B로 변경 $ find ./ -name "*A*" | sed -e 'p' -e "s/A/B/g" |xargs -n 2 mv # 현재 디렉토리 내의 모든 파일들의 내용중 A를 B로 변경 $ find ./ -type f | xargs sed -i 's/A/B/g'

article thumbnail
[Linux] grep 정리
프로그래밍/Linux 2024. 3. 27. 16:50

grep 입력으로 전달된 파일의 내용에서 특정 문자열을 찾고자할 때 사용하는 명령어 단순 문자열 매칭뿐만 아니라 정규 표현식(Regular Expression)에 의한 패턴 매칭(Pattern Matching) 방식도 사용 가능 정규표현식 메타 문자 (Meta Character) 설명 . 정확히 1개의 문자와 매치 * 앞 문자가 0회 이상 매치 {n} 앞 문자가 정확히 n회 매치 {n,m} 앞 문자가 n회 이상 m회 이하 매치 [ ] 대괄호에 포함된 문자 중 한개와 매치 [^ ] 대괄호 안에서 ^뒤에 있는 문자들을 제외 [ - ] 대괄호 안 문자 범위에 있는 문자들 매치 () 표현식을 그룹화 ^ 문자열 라인의 처음 $ 문자열 라인의 마지막 ? 앞 문자가 0 또는 1회 매치 (확장 정규 표현식) + 앞 문..

article thumbnail
[Linux] sed(Stream Editor) 정리
프로그래밍/Linux 2024. 3. 26. 09:46

sed(Stream Editor) vi 편집기처럼 원하는 내용 추출, 문자열 치환 등 다양한 작업을 수행할 수 있음 1개의 라인씩 입력 라인을 읽어들여 표준출력으로 출력함 홀드 버퍼(데이터의 원본을 가지고 있는 곳), 패턴 버퍼(조건에 따라 가공된 데이터 저장) 두가지 버퍼를 가지고 있음 ed vs sed - sed의 경우 라인들을 하나씩 읽고, 수정하고, 출력하기 때문에 기억장치 안의 버퍼를 사용하지 않음 - 버퍼를 사용하지 않으면 파일의 크기에 제한 없이 작업을 할 수 있음 - ed와 같이 버퍼를 사용하는 경우는 버퍼의 크기보다 큰 파일은 처리할 수 없으며 대개 버퍼의 크기는 1MB - 따라서 sed는 아주 큰 파일을 처리할 때 주로 사용됨 사용법 # 특정 패턴을 적용하여 데이터 추출 sed [패턴]..

article thumbnail
[Linux] 권한 설정 정리 (chown, chmod, chgrp)
프로그래밍/Linux 2024. 3. 20. 13:36

chown change + owner 파일의 소유권과 그룹을 변경하는 명령어 # chown [OPTION] [OWNER][:[GROUP]] [FILE] # 소유주 변경 (modul dir 안의 파일들의 소유권을 모두 user1에게 줌) $ chown -R user1 module # 소유주와 그룹 변경 $ chown -R users:user1 module chown 명령어 옵션 옵션 설명 -c (--changes) 기존에 지정된 모드에서 변경되는 경우에만 출력 -f (--slient, --quiet) 오류 메세지를 출력하지 않음 -v (--verbose) 처리된 모든 파일 및 디렉토리에 대한 메세지를 출력 -h (--no-dereference) 심볼릭링크 파일이 변경됨 -R (--recursive) 지정한..

article thumbnail
[Jenkins] Mac 젠킨스 설치 방법

Jenkins 설치 Download > (LTS) > macOS 선택 (하면 아래와 같이 설치 방법이 나온다!) $ brew install jenkins-lts $ brew services start jenkins-lts $ brew services restart jenkins-lts $ brew upgrade jenkins-lts macOS Installers for Jenkins LTS Jenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their software www.jenkins.io Jenkins 실행 설치 완료 후 다음 명령어를 ..

article thumbnail
협업을 위한 컨벤션, Gitmoji
프로그래밍/기타 2023. 9. 4. 14:06

VSCode VSCode에서 Gitmoji extension을 설치해주면, 다음과 같이 쉽게 관련 이모지를 찾을 수 있다!! CLI CLI에서는 아래와 같이 입력해서 사용 가능하다 ! # gitmoji 설치 brew install gitmoji # mac npm i -g gitmoji-cli # window (node.js 먼저 설치) gitmoji -c # git commit -m [메세지] 대신 Gitmoji 한눈에 보기 emoji code description 🎨 :art: 코드의 구조/포맷 개선 ⚡️ :zap: 성능 개선 🔥 :fire: 코드/파일 제거 🐛 :bug: 버그 수정 🚑️ :ambulance: 긴급 수정 ✨ :sparkles: 새로운 기능 📝 :memo: 문서 추가/업데이트 💄 :lip..

article thumbnail
Mac 이클립스 자동완성 설정

1. settings ... 에 들어가 준다. 2. key 검색 후, (General > Keys > Content Assist) 에 원하는 단축키 등록!

article thumbnail
java lombok 라이브러리

lombok 이란? : 어노테이션 기반으로 코드를 자동완성 해주는 라이브러리 getXXX, setXXX, 생성자, toString 등의 메소드를 한줄로 대체 가능하다!! wow 주요 어노테이션 @Getter : 변수들의 Getter 메소드를 만들어주는 어노테이션 @Setter : 변수들의 Setter 메소드를 만들어주는 어노테이션 @NoArgsConstructor : 어떠한 변수도 사용하지 않는 기본 생성자를 자동완성 시켜주는 어노테이션 @AllArgsConstructor : 모든 변수를 사용하는 생성자를 자동완성 시켜주는 어노테이션 @ToString : 클래스의 변수들을 기반으로 ToString 메소드를 자동완성 시켜주는 어노테이션 lombok 사용 전 public class BoardDto { pr..

article thumbnail
UML 클래스 다이어그램
프로그래밍/기타 2023. 1. 28. 13:41

UML (Unified Modeling Language) 시스템을 모델로 표현해주는 대표적인 모델링 언어 UML 목적 전체 시스템의 구조 및 클래스의 의존성 파악 유지보수를 위한 설계의 back-end 분석 제작 원활한 의사소통 및 설계 논의 시각화, 명세화, 문서화 UML 다이어그램 종류 1. 구조 다이어그램 (Structure Diagram) 클래스 다이어그램 (시스템을 구성하는 클래스들 사이의 관계 표현) 객체 다이어 그램 (객체 정보를 보여줌) 복합체 구조 다이어그램 (복합 구조의 클래스와 컴포넌트 내부 구조 표현) 등등 2. 행위 다이어그램 (Behavior Diagram) 활동 다이어그램 (업무 처리 과정, 연산 수행 과정 표현) 상태 머신 다이어그램 (객체의 생명주기 표현) 유즈케이스 다이어..

article thumbnail
mac MySQL, Workbench 설치

My SQL download 1. 아래 사이트로 들어가서, MySQL Community Server를 다운로드 받는다! 나는 인텔 cpu 여서, macOS 12 (x86, 64-bit) 를 다운 받았다. https://dev.mysql.com/downloads/mysql/ MySQL :: Download MySQL Community Server Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Debian Linux SUSE Linux Enterprise Server Red Hat Enterprise Linux / Oracle Linux Fedora Linux - Generic Oracle Solaris mac..