목록분류 전체보기 (231)
개발새발
1. REST와 REST API의 개념REST(REpresentational State Transfer) 란 "분산 시스템"을 위한 HTTP 기반 소프트웨어 아키텍처를 의미한다. 쉽게 말해 웹 애플리케이션, 모바일 앱, 서로 다른 언어로 된 서버들이 HTTP라는 공통된 규격 안에서 자유롭게 통신할 수 있도록 도와주는 통역사 역할을 하는 API라고 이해하면 된다. 여기서 분산 시스템이란 독립된 컴퓨터들이 네트워크를 통해 연결되어 하나의 시스템처럼 움직이는 것을 말하는데, 이를 위해 표준화된 통신 방식이 필수적이다. REST는 크게 자원, 행위, 메시지라는 3가지 요소로 구성된다.자원(Resource): 우리가 접근하거나 조작할 대상이다. 예를 들어 "상품"이 자원이 된다. 보통 URI를 통해 고유한 식별자..
보통 운영 환경(Production)의 DB는 해킹 위험 때문에 외부 인터넷에서 접속할 수 있는 공인 IP(Public IP)를 아예 할당하지 않는다. 내가 회사 데이터베이스에 일반적인 방식으로 DBeaver에서 바로 접속이 거부당했던 것도 이 이유 때문이었다. 포트 포워딩은 내가 이미 AWS 권한(aws configure)을 가지고 있으니, 쿠버네티스라는 '관리자 통로'를 타고 들어가서 DB를 로컬로 끌어오는 것이다. 별도의 복잡한 방화벽 설정 없이도 안전하게 접속할 수 있다. 아래는 EKS(Amazon Elastic Kubernetes Service) 환경에 있는 PostgreSQL 데이터베이스를 로컬 PC에서 접속할 수 있도록 연결하는 방법이다. A. AWS CLI 설치 여부 확인 먼저 아래 ..
1. .yml 파일로 환경 복원하기conda env create -f environment.yml-f: 파일(file)을 지정한다는 의미 이 명령어는 파일 안에 적힌 name 항목을 읽어 자동으로 환경 이름을 설정하고 필요한 패키지들을 설치한다. 2. 다른 이름으로 환경 생성하기만약 파일에 적힌 이름 말고 다른 이름으로 환경을 만들고 싶다면 -n 옵션을 추가하면 된다. conda env create -f environment.yml -n 새로운환경이름3. 기존 환경 업데이트하기이미 만들어진 환경이 있는데, .yml 파일의 최신 내용으로 패키지를 동기화하고 싶을 때 사용한다conda env update -f environment.yml --prune--prune: 파일에 없는 패키지는 삭제하여 완벽하게 일..
#include int main(int argc, char *argv[]) { int a = 5, b = 3, c = 12; // 초기화 int t1, t2, t3; t1 = a && b; // 논리 AND 연산자, 두 피연산자가 모두 참(0이 아닌 값) 일 때 참(1)을 반환 // t1=1 t2 = a || b; // 논리 OR 연산자, 두 피연산자 중 하나라도 참이면 참(1) 을 반환 // t2=1 t3 = !c; // 논리 NOT 연산자, 피연산자가 참이면 거짓(0), 피연산자가 거짓이면 참(1)을 반환 // t3=0 printf("%d", t1 + t2 + t3); // 실행 결과 2 return 0;} 정답: 2 #include // 구조체 ..
1. "객체 간의 동적 상호작용을 시간 개념을 중심으로 모델링하는 것이다."올바른 설명순차 다이어그램(Sequence Diagram)은 객체 간의 메시지 교환을 시간의 흐름에 따라 표현하는 UML 다이어그램즉, 객체 간의 동적인 상호작용을 시각적으로 표현하는 것이 핵심2. "주로 시스템의 정적 측면을 모델링하기 위해 사용한다."틀린 설명 → 정답순차 다이어그램은 시간에 따른 동작과 메시지 흐름을 표현하는 것이 목적이므로, 동적인 측면을 모델링하는 데 사용됨정적 측면(Static Aspect)을 모델링하는 데 사용되는 UML 다이어그램은 클래스 다이어그램(Class Diagram)이다.3. "일반적으로 다이어그램의 수직 방향이 시간의 흐름을 나타낸다."올바른 설명순차 다이어그램에서는 위에서 아래로 시간이..
1. 정보 보안 및 접근 통제정보보안 3대 요소기밀성(Confidentiality): 인가된 사용자만 접근 가능.무결성(Integrity): 인가된 사용자만 수정 가능.가용성(Availability): 필요할 때 언제든 자원 사용 가능.접근 통제 기술 (Access Control)방식영문권한 부여 기준특징임의 접근 통제DAC신원(Identity)데이터 소유자가 권한 지정 (SQL: GRANT/REVOKE)강제 접근 통제MAC등급(Label)관리자가 설정한 보안 등급 비교 (시스템이 결정)역할 기반 접근 통제RBAC역할(Role)사용자의 직무나 역할에 따라 권한 부여 2. 네트워크 구성 및 전송 방식네트워크 토폴로지 (형태)스타형(성형): 중앙 노드와 1:1 연결. 고장 발견이 쉽지만 중앙 노드 고장 시..
1. 운영체제 및 프로세스 관리프로세스 스케줄링 (비선점형 중심)프로세스 처리 우선순위를 결정하는 전략이다. 종류특징FIFO (First In First Out)도착한 순서대로 처리하는 가장 단순한 방식입니다.SJF (Shortest Job First)실행 시간이 가장 짧은 프로세스부터 처리하여 평균 대기 시간을 최소화합니다.HRN (Highest Response ratio Next)SJF의 약점(긴 작업 소외)을 보완하기 위해 대기 시간을 고려합니다. HRN 우선순위 계산식:(결과값이 높을수록 우선순위가 높음) UNIX 운영체제 특징대화식 시분할 시스템: 여러 사용자가 동시에 서버에 접속하여 사용하기 적합함C언어 기반: 이식성이 높고 장치 간 호환성이 뛰어나다. 구조: 트리 구조의 파일 시스템을 가..
1. 데이터베이스 설계 단계설계 순서는 개념 → 논리 → 물리 순 단계주요 활동 및 특징개념적 설계사용자 요구사항 분석 후 E-R 다이어그램 작성, DBMS 독립적 스키마 설계논리적 설계DBMS에 맞는 논리적 구조(테이블)로 매핑, 정규화, 트랜잭션 인터페이스 설계물리적 설계특정 DBMS의 특성 고려, 인덱스/뷰/파티션 설계, 성능 향상을 위한 반정규화 스키마 (Schema)데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 정의한 것 개념 스키마 (Conceptual Schema):사용자와 DB 관리자 관점의 스키마로 데이터베이스 전체를 정의 데이터 개체, 관계, 제약 조건, 접근 권한, 무결성 규칙을 명세 내부 스키마 (Internal Schema):DB 설계자와 개발자 관점의 스키마 개념 스키마..