전체 글 12

[Qt] 시그널슬롯

Qt 시그널/슬롯 정리 — m_otpRegistered 예제Qt의 시그널/슬롯은 "이벤트 발생을 알리는 쪽(시그널)"과 "그 이벤트에 반응해서 실제 동작을 수행하는 쪽(슬롯)"을 분리해서, 서로의 내부 구현을 몰라도 느슨하게 연결(loose coupling)할 수 있게 해주는 메커니즘이다.이름역할m_otpRegistered진짜 데이터를 담는 private 멤버 변수otpRegistered()m_otpRegistered를 읽어서 리턴하는 getter 함수Q_PROPERTY(...)getter를 QML에 "프로퍼티"로 노출시키는 선언otpRegisteredChanged값이 바뀌었음을 알리는 시그널 선언emit otpRegisteredChanged(...)값 갱신 + 시그널 발생onOtpRegisteredCh..

카테고리 없음 2026.07.21

SSL 인증서 발급 및 등록 방법

1. 인증서 구매comodo SSL Store 접속https://comodosslstore.com/사용할 인증서 구매 2. 인증서 발급My Dashboard에서 구매한 인증서 클릭 인증서 발급 요청Shell 또는 터미널에 해당 명령어 입력openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr 해당 정보 입력Country Name (2 letter code)국가 ex)KRState or Province Name주 또는 지방 ex)SeoulLocality Name도시 ex) SongpaOrganization Name회사명 ex)Amgine.IncOrganizational Unit부서 ex)ITCommon Name도메인명Email..

카테고리 없음 2026.03.13

JPA 관계 매핑 정리

JPA 관계 매핑 정리 (ManyToOne, OneToMany, ManyToMany) + FK 사용 이유 이 글에서는 다음 내용을 정리한다.Many-to-OneOne-to-ManyMany-to-ManyFK를 사용하는 경우와 사용하지 않는 경우의 차이 1. DB 관점에서의 관계테이블 관계는 보통 다음 3가지로 나뉜다.관계의미Many-to-One여러 레코드 하나를 참조One-to-Many하나가 여러 레코드를 참조Many-to-Many서로 여러 개를 참조 예시 usersuser_idname1Kim2Lee ordersorder_iduser_id101110211032 여기서 관계는orders → usersMany-to-One 즉한 유저는 여러 주문을 가질 수 있다 2. Many-to-OneMany-to-One은..

카테고리 없음 2026.03.13

AWS KMS(AWS Key Management Service)

KMSKMS는 AWS의 애플리케이션에서 사용하는 데이터의 암호화/복호화를 위한 키를 생성/관리하는 서비스이다.암호화/복호화를 위한 키는 KMS Key라고 불리며 생성, 보관, 사용, 무효화, 삭제가 가능하다. KMS와 다른 AWS 서비스KMS는 암호화 대상인 AWS 서비스(예: Amazon S3, EBS, Redshift)와 연동하여 사용된다.KMS는 CloudTrail과 연동되어 키의 사용 로그(언제, 어떤 서비스에서 키가 사용되었는지)가 기록되므로, 키의 사용 status를 확인할 수 있다. 데이터 암호화가 필요한 이유?제 3자가 훔칠 수 있기 때문에 데이터를 전송하거나 보관하는데 암호화를 해야지 안전하다. 암호화특징Client-side 클라이언트가 데이터를 암호화하고 키를 관리한다. 필요하면 KSM..

카테고리 없음 2025.06.20

Slack API 사용하여 메시지 전송

슬랙에서 봇이 사용되는 것은 알고 있었으나 어떻게 만드는지에 대해 궁금해져서 오늘은 슬랙에서 봇을 직접 만들어보려고 한다.우선 앱을 생성해줌앱 생성1. Slack api > Create an App 버튼 클릭( 그 이전에 슬랙 로그인과 채널 생성은 되어 있는 상태여야 함 )https://api.slack.com/apps2. From scratch 버튼 클릭3. 앱의 이름 & 워크스페이스 선택이름은 변경 가능하여 아무거나 입력해줘도 괜찮음. 다만, 워크 스페이스는 이후 메신저 봇이 메세지를 보내야 하는 워크스페이스로 설정해줘야 하는데 워크스페이스는 변경 불가하니 주의해서 선택해야 한다.앱과 워크스페이스 선택 후 Create App 버튼을 클릭함슬랙에서 봇을 생성할 때 위의 과정은 동일하고 목적에 따라 Bo..

카테고리 없음 2025.01.24

VMware에 Rocky Linux 설치

CentOS의 공식 지원이 종료 되면서 후속으로 출시된 Rokcy Linux 오늘은 Rocky Linux를 가상환경에 설치 해보자                         vm 생성                          나중에 선택                                            > Linux                         VM 이름 설정                                               디스크 용량 설정 (대용량 서버 올릴 거 아니면 50GB만 되어도 충분)                        다운 받은 ISO 파일 선택  ISO 파일을 아래에서 다운 가능하다 (최신 버전 9.5)https://rockylinux.o..

Linux 2025.01.07

[Linux] 기본 명령어

1. ls (List)ls : 현재 디렉토리의 모든 파일 및 폴더를 기본 형식으로 보여준다.ls -l : 파일 및 폴더에 대한 자세한 정보와 함께 리스트업 한다.ls -a : 숨겨진 파일을 포함하여 모든 파일을 보여준다.2. cd (Change Directory)cd는 디렉토리를 변경한다.cd Documents : 현재 디렉토리에서 'Documents'라는 이름의 폴더로 이동한다.cd .. : 현재 디렉토리의 상위 폴더로 이동한다. (즉, 되돌아간다.)3. pwd (Print Working Directory)pwd : 현재 작업 중인 디렉토리의 경로를 표시한다.4. mkdir (Make Directory)mkdir은 새로운 디렉토리(폴더)를 생성한다.mkdir new_folder : 현재 디렉토리에 'n..

Linux 2025.01.06

[Angular] 3. 생명주기(life cycle)와 훅 메소드

컴포넌트와 디렉티브는 생명주기를 가짐이 생명주기는 컴포넌트와 디렉티브가 생성하고 소멸되기까지의 여러 과정을 말하며Angular에 의해 관리다시 말해 Angular는 생명주기를 통해 컴포넌트와 디렉티브를 생성하고 렌더링하며,프로퍼티의 변화를 체크하고 DOM에서 제거하는 일련의 과정을 관리개발자는 Angular가 제공하는 생명주기 훅 메소드를 구현하여,각각의 생명주기 단계에서 처리하여야 할 행위를 정의할 수 있음Angular는 위 그림의 순서대로 생명주기를 관리하고,생명주기 이름 앞에 ng가 붙은 생명주기 훅 메소드를 제공1. 생명주기 훅 메소드생명주기 훅 메소드는 인터페이스의 형태로 제공예를 들어 OnInit 생명주기에 처리되어야 할 행위를 정의하기 위해서는 훅 메소드 ngOnInit를 구현이 ngOnIn..

Angular 2024.11.14

[Angular] 2-1. Angular의 구성요소

컴포넌트컴포넌트는 Angular의 핵심 구성 요소로서 Angular 애플리케이션은 컴포넌트를 중심으로 구성컴포넌트의 역할은 애플리케이션의 화면을 구성하는 뷰(View)를 생성하고 관리하는 것이고Angular는 컴포넌트를 조립하여 하나의 완성된 애플리케이션을 작성컴포넌트는 컴포넌트 클래스와 템플릿으로 구성되는데,컴포넌트 클래스는 애플리케이션 데이터와 로직을 처리하고템플릿은 화면에 표시할 HTML을 정의Angular 컴포넌트는 컴포넌트 클래스에 @Component 데코레이터를 사용해서컴포넌트에 대한 메타데이터를 지정하면서 템플릿도 함께 지정하는 형태를 띄고 있음import { Component } from '@angular/core';@Component({ selector: 'app-hello', tem..

Angular 2024.11.12

[Angular] 2. Angular의 구성요소

컴포넌트컴포넌트는 템플릿과 메타데이터, 컴포넌트 클래스로 구성되며 데이터 바인딩에 의해 연결컴포넌트는 화면을 구성하는 View를 생성하고 관리하는 것이 주된 역할이며 화면은 1개 이상의 컴포넌트를 조립하여 구성디렉티브애플리케이션 전역에서 사용할 수 있는 뷰에 관련한 공통 관심사를 컴포넌트에서 분리하여 구현한 것으로,컴포넌트의 복잡도를 낮추고 가독성을 높임구조 디렉티브와 어트리뷰트 디렉티브로 구분할 수 있으며,큰 틀에서 컴포넌트 또한 디렉티브로 구분할 수 있음서비스다양한 목적의 애플리케이션 공통 로직을 담당컴포넌트에서 애플리케이션 전역 관심사를 분리하기 위해 사용하며, 의존성 주입이 가능한 클래스로 작성됨라우터컴포넌트를 교체하는 방법으로 뷰를 전환하여 화면 간 이동을 구현모듈기능적으로 관련된 구성요소를 하..

Angular 2024.11.12