컴퓨터 지식 14

[AWS] RDS 외부접속 오류 / AWS의 IGW

AWS의 RDS를 로컬에서 연결하기 위해서는 여러가지 설정이 필요하다. 1. 퍼블릭 엑세스 설정 : 예2. 보안 그룹의 인바운드 규칙 추가 : 내 IP 주소 규칙 추가 필요 이렇게 해도 안되는데 이유 다음과 같다 AWS에서 VPC 서브넷을 생성할 경우 Internet Gateway(IGW)와 연결되는 서브넷을 Public Subnet이라고 하고, 연결되어 있지 않은 서브넷을 Private Subnet이라고 한다. RDS를 생성하면 RDS의 서브넷은 private으로 설정되어 있기때문에RDS의 서브넷은 IGW와 연결되어 있지 않아서 인터넷 접근이 불가한 것이다.Public Subnet으로 변경해 줄 필요가 있다. 방법:AWS의 VPC로 이동 -> 라우팅 테이블 메뉴로 이동-> RDS의 라우팅 테이블 클릭 ..

컴퓨터 지식 2025.03.30

[CS] SOLID 설계원칙

객체지향 설계원칙SOLID단일 책임 원칙SRP개방-폐쇄 원칙OCP리스코프 치환 원칙LSP인터페이스 분리 원칙ISP의존성 역전 원칙DIPS : 단일 책임 원칙한 클래스는 하나의 책임(변경 이유)만 가져야 한다.O : 개방-폐쇄 원칙엔티티(클래스, 모듈, 함수 등)는 확장에는 열려 있어야 하고, 변경에는 닫혀 있어야 한다.L : 리스코프 치환 원칙서브타입은 언제나 그것의 베이스 타입으로 교체될 수 있다.슈퍼 클래스의 인스턴스 대신 서브 클래스의 인스턴스를 사용할 수 있어야 함.이를 통해 다형성을 활용한 설계가 가능해짐.I : 인터페이스 분리 원칙클라이언트는 자신이 사용하지 않는 메서드에 의존하면 안됨.불필요한 의존성을 줄이고 유연성 확장.D : 의존성 역전 원칙(DIP)고수준 모듈은 저수준 모듈에 의존하면 ..

컴퓨터 지식 2025.03.13

[CS] JSON(JavaScript Object Notation)

JavaScript Object NotationJSON은JavaScript 객체 문법으로구조화된 데이터교환형식이다.객체문법, 배열, 문자열로 표현할 수 있다.다양한 타입.프로그래밍 언어와 프레임워프 등에 독립적.서로 다른 시스템 사이에서의  데이터 교환에 유용.직렬화와 역직렬화 직렬화 : byte 형태(문자열)로 변환(Js 예: JSON.stringfy() ) 역직렬화 : 객체(Object)로 변환 (Js 예: JSON.parse())

컴퓨터 지식 2025.03.13

[도커] 도커 컴포즈

도커 컴포즈란?단일 서버에서 여러 개의 컨테이너를 하나의 패키지로 묶어서하나의 서비스처럼 관리할 수 있는 작업 환경을 제공하는 관리 도구.yaml 파일을 사용. 도커 컴포즈란의 장점데이터베이스, 웹 서버, 캐시 서버 등의 여러 컨테이너를 한 번에 실행하고 관리할 수 있게 되어개발 및 테스트 환경을 구성하는데 유용하다.도커 컴포즈를 사용하면 로컬에서 여러 개의 서비스를 동시에 실행하고 테스트 할 수 있는 환경을 쉽게 구성할 수 있다. 도커 컴포즈란의 사용법도커 컴포즈는 도커와 함께 제공되므로 도커를 설치하면 자동으로 함께 설치되어별도의 추가 설치가 필요하지 않다.따라서 도커를 설치하면 컴포즈를 사용할 준비가 완료된다.

컴퓨터 지식 2024.12.28

[CS] CI / CD

CI / CD는 개발 단계에 자동화를 통합해서 애플리케이션을 제공하는 방식.지속적 통합과 제공, 배포를 뜻한다.CI (Continuous Integration)과 CD (Continuous Delivery / Deployment)"CI / CD 파이프라인" (지속적 통합 → 지속적 제공 → 지속적 배포)   Continuous Integration  애플리케이션의 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되서 공유 리포지토리에 통합되는 것.Continuous Delivery  코드 베이스가 항상 배포 가능한 상태를 유지하는 것.Continuous Deployment  코드 베이스를 사용자가 사용 가능한 환경에 배포하는 것을 자동화하는 것.

컴퓨터 지식 2024.11.08

[CS] AOP

Aspect Oriented Programming은 문제를 바라보는 관점을 기준으로 프로그래밍하는 기법공통관심사항 (cross-cutting concern)과핵심관심사항 (core concern)으로 나누어서 프로그래밍 문제를 해결하기 위한 핵심 관심 사항과 전체에 적용되는 공통 관심 사항을 기준으로 프로그래밍함으로써 공통 모듈을 여러 코드에 쉽게 적용할 수 있도록 도와준다.AOP에서 중요한 개념은 "횡단 관점의 분리 (Separation of Cross-Cutting Concern)"이다.OOP (Object Oriented Programming)를 더욱 OOP답게 만들어준다공통관심사항 (cross-cutting concern)공통기능으로 어플리케이션 전반에 걸쳐 필요한 기능예) 로깅, 트랜잭션, 보안..

컴퓨터 지식 2024.11.05

[CS] 어노테이션과 데코레이터

어노테이션과 데코레이터는 둘 다 @를 쓰며, 기능은 비슷하지만 약간 다르다. 어노테이션자바, 코틀린, 스위프트, C# 등에서 사용되는 용어컴파일러, 프레임워크 또는 라이브러리가 코드를 처리하기 위해 참조할 수 있는 추가 메타데이터를 제공컴파일러에게 코드 작성 문법 에러를 체크하도록 정보를 제공함수 또는 클래스의 동작을 직접 수정하거나 래핑하지는 못함 데코레이터파이썬, JS 및 TS에서 사용되는 용어함수 또는 클래스의 동작을 직접 확장하거나 수정 가능 (어노테이션보다 유연)기존 객체를 변경하지 않고 동적으로 새로운 기능을 추가하는 방법기존에 구현된 클래스에 그때 그때 필요한 기능을 추가해 나가는 패턴

컴퓨터 지식 2024.11.01

[CS] Spring Framework

Spring Framework는 "POJO 운동"으로 인해 태어난 프로그램이다."POJO"란 Plain Old Java Object의 약자로 특정 기술에 종속되지 않느 순수한 자바 객체를 의미한다. POJO(Plain Old Java Object) 프로그래밍의 특징특정 기술 규약 및 환경에 의존성을 줄이기 위해 순수 자바 기술로 구현객체 지향형단일 책임 원칙을 지킨다.테스트 등의 작업들에 대한 자동화 및 유지보수가 용이하다. Spring Framework는 POJO프로그래밍을 지원하기 위해 다음과 같은 기술을 제공한다.제어의 역전 (IoC : Inversion of Control)객체 생성이나 코드 실행을 프로그래머가 정하는 것이 아니라 프레임워크에 위임하는 설계 개념프레임워크는 필요한 경우 위임된 코드..

컴퓨터 지식 2024.11.01

[CS] 제어 반전 (제어 역전 (IoC))

IoC ← Inversion of Control 기존의 개발 방식은 개발자가 직접 제어 흐름을 제어하던 것에서 외부의 프레임워크나 라이브러리에게 제어 흐름이 넘어간 형상을 말한다. IoC의 구현 방법Factory Pattern객체 생성을 전담하는 팩토리 클래스를 두어 객체를 생성하는 방식Template Method Pattern객체 생성 과정을 추상화하여, 하위 클래스에서 구체적인 구현을 담당하는 방식Service Locator Pattern서비스 로케이터 클래스는 객체 생성 및 관리에 대한 책임을 가지며, 클라이언트는 서비스 로케이터를 통해 필요한 객체를 가져오게 된다.Dependency Injection (DI)객체 생성 및 관리에 대한 책임을 IoC 컨테이너가 가지며, 필요한 객체를 직접 생성하거나..

컴퓨터 지식 2024.10.31

[CS] 디자인 패턴 (D.P.)

싱글턴 패턴 (Singleton Pattern)더보기객체의 인스턴스가 오직 1개만 생성되는 패턴.(클래스에 인스턴스가 하나만 있도록 하면서 이 인스턴스에 대한 전역 접근(액세스) 지점을 제공하는 생성 디자인 패턴) MVC 패턴 (MVC Pattern)더보기MVC는 Model, View, Controller의 약자이다.하나의 프로젝트를 모델, 뷰, 컨트롤러의 세 가지 역할로 구분해서 각자의 역할에 집중해서 개발하는 방법론. 전략 패턴 (Strategy Pattern)더보기실행 중에 알고리즘을 선택할 수 있게 하는 패턴.객체가 할 수 있는 행위 각각에 대해 전략(알고리즘 인터페이스)를 생성하고, 행위를 동적으로 수정할 때 전략만 변경하여 행위의 수정이 가능하도록 만드는 방법.(알고리즘을 캡슐화) 템플릿 메서..

컴퓨터 지식 2024.10.30