2025/03 7

[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

[Python] [[]] * N 의 주의점

빈 리스트가 N개 나열된 중첩리시트를 만들고 싶어서 다음과 같은 코드를 실행했더니 엄청난 오류가 생겼다.# N은 임의의 정수answer_lst = [[]] * Nanswer_lst[0] = ['1']# print(answer_lst) # for문 돌기 전 리스트 상태 : [['1'], [], []]for i in range(N): answer_lst[i].append('1') print(i, '번째') print('answer_lst[i]:', answer_lst[i]) print('answer_lst:', answer_lst) # 출력값 # 0 번째# answer_lst[i]: ['1', '1']# answer_lst: [['1', '1'], [], []]#..

Python 2025.03.28

[SQL] WITH 문

SQL의 WITH문은 쿼리를 작성할 때 하나의 서브쿼리 또는 임시 테이블처럼 활용할 수 있는 기능이다.코드 가독성 향상성능 개선: WITH문을 통해 중복 실행 줄일 수 있음재사용성: 정의된 WITH절은 메인 쿼리 내에서 여러 번 참조될 수 있어 코드의 재사용성을 높임 WITH 테이블명1 AS ( -- 서브쿼리 ) [, 테이블명2 AS ( -- 콤마로 구분하여 연속 정의 가능 -- 서브쿼리 ) , 테이블명2 AS ( -- 서브쿼리 )] SELECT * FROM 테이블명1 [JOIN 테이블명2 LEFT JOIN 테이블명3]

SQL 2025.03.27

[Java] ProcessBuilder

java.lang.ProcessBuilderJava 애플리케이션에서 시스템 명령어나 스크립트를 실행할 수 있게 하는 클래스.다양한 프로세스의 입출력을 관리할 수 있다.1. 시스템 명령어(cmd) 실행2. 프로세스 실행환경 설정3. 외부 프로세스의 표준 입력 / 출력 / 오류 처리4. 비동기적인 프로세스 실행 및 종료 대기* @Async를 붙이면 비동기 처리 가능 public static void main(String[] args) throws IOException, InterruptedException { ProcessBuilder builder = new ProcessBuilder(); builder.command("cmd.exe", "/c", ".\\test.bat); //운영체제가 윈도..

Java 2025.03.25

[Git] bare / mirror (+fork) 옵션 차이

[--bare] & [--mirror] 옵션공통점:둘 다 Git에서 원격 저장소를 복제할 때 사용됨차이점:작업 디레토리의 유무! 1. --bare 옵션git clone --bare 작업 디렉토리(working directory) 없이 Git 저장소의 모든 데이터를 복사함.git 폴더만 있는 상태로 저장되며, 일반적으로 원격 저장소를 만들 때 사용됨로컬에서 코드를 수정하거나 git commit 등의 작업을 할 수 없음주로 중앙 조장소(예: origin)을 운영하기 위한 용도로 사용됨2. --mirror 옵션git clone --mirror --bare와 비슷하지만, 모든 브랜치, 태그, 원격 설정(remote 설정)을 그대로 유지함원격 저장소를 완전히 복제하는 용도로 사용됨원본 저장소와 동기화할 때 유용함..

Git 2025.03.25

[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