본문 바로가기
728x90
반응형

CS17

데이터 ETL 📂 ETL 개념 📌 ETL이란?기업이 다양한 소스의 구조화된 데이터 + 구조화 되지 않은 데이터를 실질적으로 유용한 상태로 변환하는 과정데이터 분석을 위한 데이터 처리 접근 방식📌 추출 (Extract) - 변환 (Transform) - 적재 (Load)다양한 소스에서 데이터를 가져옴 (추출)데이터를 사용할 수 있는 형식으로 바꿈 (변환)데이터 베이스 또는 데이터 웨이하우스에 저장 (적재)📌 ETL vs ELTETL비즈니스 규칙을 사용하여 여러 소스의 데이터를 처리한 후 중앙 집중식 통합 진행데이터 유형, 구조 및 관계를 정의하려는 분석을 요구하므로 초반에 더 많은 정의와 프로세스 필요함ELT데이터를 먼저 그대로 적재하고 사용 사례 및 분석 요구 사항에 따라 전환모든 데이터를 저장하고 관리하는 .. 2025. 4. 18.
인공지능 📂 인공지능1. 티처블 머신티처블 머신 : 구글의 인공지능 기술, 데이터를 신경망 알고리즘으로 학습시켜 학습 모델 생성✔ 인공지능, 머신러닝, 인공 신경망 알고리즘인공 지능 - 인간의 지적 능력을 기계나 컴퓨터를 이용해서 인공적으로 구현, 컴퓨터가 인간처럼 학습하고 행동하는 기술 (ex. 알파고)머신러닝 - 많은 양의 데이터를 기계가 학습하는 과정인공 신경망 알고리즘 - 머신러닝에서 인간처럼 뇌의 신경망 구조를 모방한 알고리즘 사용📌 티처블 머신 활용 과일 도감1) 티처블 머신에서 인공지능 만들기이미지 프로젝트 ➡ 표준 이미지 모델(1) 클래스 등록 영역 : 이미지 판단 결과가 될 클래스 등록(2) 학습 영역 : 클래스와 이미지 데이터를 티처블 머신이 인공지능을 자동으로 학습(3) 미리보기 영역 : .. 2025. 4. 11.
리눅스 마스터 📂 1차📌 문제1.bash 환경에서 아래 명령의 실행 결과에 대한 설명으로 가장 적절한 것은?#export PATH=$PATH:/etc⓵ 기존의 경로(PATH)를 제거하고 새로운 경로를 추가하였다.⓶ 기존의 경로(PATH)에 /etc라는 새로운 경로를 추가하였다.⓷ 잘못된 명령으로, export $PATH=PATH:/etc로 실행하는 것이 옳다.⓸ 잘못된 명령으로, export PATH=PATH:/etc로 실행하는 것이 옳다.2.리눅스를 설치한 후 부팅을 하였는데, LILO boot: 프롬프트가 나오지 않고 LI문자만 출력하고 부팅이 이루어지지 않는 경우에 대한 설명으로 맞는 것은?⓵디스크립터 테이블(Descriptor Table)이 깨어졌다.⓶처음에는 부트 로더(Boot Loader)가 작동하였으나.. 2025. 4. 11.
Testing 📂 테스트 용어📌 테스트 목적" 테스트는 시스템이 정해진 요구를 만족하는지, 예상과 실제 결과가 어떤 차이를 보이는지 수동 또는 자동화된 방법을 동원하여 검사하고 평가하는 일련의 과정" - IEEE"프로그램 테스트는 결함이 있음을 보여줄 뿐, 결함이 없음을 증명할 수는 없다" - Dahl, Dijkstra, Hoare테스트는 사람이 만든 실수(error)로 인해 발생하는 문제점이나 실패(failure)를 사전에 발견 및 방지하기 위해 결함(defect) 찾아내는 행위📌 테스트 분류 (단계별)1) 컴포넌트 테스트단위 테스트, unit 테스트모듈이나 객체, 프로그램과 같이 개별적으로 테스트 가능한 단위에서 테스트 수행 (실제로 거의 하지X)테스트 수행을 위해 드라이버와 스텁 필요Driver : 컴포넌트.. 2025. 4. 11.
데이터베이스 📒 데이터베이스📕 데이터베이스의 기본1. DB 정의일정한 규칙으로 구조화되어 저장되는 데이터의 모음특징실시간 접근 및 동시 공유 가능사용 이유DB 존재 이전에는 파일 시스템 이용하여 데이터 관리데이터를 각각 파일 단위로 저장하여 처리하기 위한 독립 애플리케이션과 상호 연동 필요문제점 : 데이터 종속성, 데이터 중복성, 데이터 무결성 보장X데이터베이스 특징데이터의 독립성 (데이터 수정해도 관련된 응용프로그램 수정할 필요X)데이터의 무결성데이터의 보안성데이터의 일관성데이터 중복 최소화데이터베이스 성능디스크 I/O 어떻게 줄이느냐에 따라 달라짐 (순차 I/O가 랜덤 I/O보다 빠름)📖 참고 📖 디스크 I/O디스크 드라이브의 플래터(원판)을 돌려서 읽어야 할 데이터가 저장된 위치로 디스크 헤더를 이동시킨.. 2025. 4. 11.
WEB 📒 브라우저의 작동 원리📕 웹 브라우저 개념동기(Synchronous)적으로 (HTML+CSS), JavaScript 언어를 해석하여 화면에 보여주는 응용 소프트웨어웹 브라우저가 웹 서버에 웹 페이지를 요청하면 서버는 응답하고, 브라우저는 해석한 후 사용자에게 보여줌웹 브라우저 종류 (사용 렌더링 엔진)네이버 웨일파이버폭스 (게코(Gecko) 엔진)사파리 (웹킷(Webkit) 엔진)크롬 (블링크 엔진)📖 참고 📖 크롬 특징- 웹킷을 사용하다가 웹킷을 Fork하여 블링크 엔진을 자체적으로 구현해 사용- 다른 브라우저와 달리 각 탭마다 별도의 렌더링 엔진 인스턴스 유지 (각 탭마다 독립된 프로세스로 처리)📕 브라우저 구성요소(1) 사용자 인터페이스사용자 접근 가능 영역요청한 페이지를 보여주는 창을 .. 2025. 4. 11.
네트워크 📒 네트워크📕 네트워크의 기초1. 네트워크 개념노드(node)와 링크(link)가 서로 연결되어 있고, 리소스를 공유하는 집합노드 : 서버, 라우터, 스위치 등 네트워크 장치링크(edge) : 유선/무선과 같은 연결매체 (ex. 와이파이, LAN)2. 트래픽 (traffic)특정 시점에 링크 내에 흐르는 데이터 양단위 : bps(bits per second)🗒️ 예시 : 서버에 저장된 파일(문서, 이미지)을 클라이언트(사용자)가 다운로드 시 발생되는 데이터의 누적량(트래픽 발생)Q : 100KB 이미지를 1,000명이 다운로드 시 누적 트래픽은?A : 100KB X 1,000 = 100,000KB(100MB)Q : 10MB 동영상을 10명이 다운로드 시 누적 트래픽은?- A : 10MB X 10 =.. 2025. 4. 11.
운영체제 📒 운영체제📕 운영체제와 컴퓨터시스템의 구조1. 운영체제의 종류1) GUI (Grapic User Interface)그래픽 사용그래픽 기반으로 컴퓨터와 상호작용하는 인터페이스🗒️ 예시 : WindowOS, MacOS2) CLI (Character User Interface)키보드만을 사용문자 기반으로 컴퓨터와 상호작용하는 인터페이스🗒️ 예시 : MS-DOS, ChatGPT2. 운영체제의 역할1) 특징운영체제의 커널이 담당사용자 프로그램와 하드웨어간 연결2) 종류CPU 스케줄링과 프로세스 상태관리CPU 소유권을 어떤 프로세스에 할당할지프로세스 생성과 삭제자원 할당 및 반환 관리메모리 관리한정된 메모리를 어떤 프로세스에 얼만큼 할당할지디스크 파일 관리디스크 파일을 어떤 방법으로 보관하는지I/O 디바이.. 2025. 4. 11.
면접 족보 📒 웹 (스프링)📕 Spring✏️ Spring 프레임워크가 무엇인지 설명해주세요✏️ IoC (Inversion of Control, 제어의 역전)이 무엇인지 설명해주세요✏️ DI (Dependency Injection, 의존관계 주입)가 무엇인지 설명해주세요✏️ Spring에서 IoC와 DI를 어떻게 지원해 주는지에 대해 설명해주세요✏️ Bean 객체와 Bean 생명주기에 대해 설명해주세요✏️ Annotation에 대해 설명해주세요애노테이션 : 자바 소스 코드에 주석 처럼 추가하여 특별한 기능을 사용하는 메타데이터애노테이션을 정의하고, 클래스에 배치한 후 코드가 실행되는 중 자바 reflection을 통해 추가 정보를 더해 기능 실시🗒️ 예시 : @RequestHeaderRequest의 heade.. 2025. 4. 11.
개발자 필수 지식 📒 개발자 필수 지식📕 데이터 교환 형식1. JSON과 직렬화와 역질렬화1) JSON (JavaScript Object Notation)JavaScript 객체 문법으로 구조화된 데이터 교환 형식python, javascript, java 등 여러 언어에서 데이터 교환 형식으로 사용객체 문법이 아닌 단순 배열, 문자열도 표현 가능2) JavaScript 객체 문법키(key)와 값(value)으로 구성이미 존재하는 키를 중복선언하면 나중에 선언한 해당 키에 대응한 값이 덮어 쓰이게됨🗒️ 예시 : {key : value} {"name" : "soohykim""age" : 30"name" : "king" // 마지막 키 값만 존재 }3) 데이터 + 교환 형식데이터는 추상적인 아이디어에서부터 시작해 구체적.. 2025. 4. 11.
디자인패턴 📒 디자인패턴📕 디자인패턴1. 개념프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계를 이용하여 해결하기 위한 규약라이브러리나 프레임워크를 만드는데 사용2. 종류1) 생성패턴객체 생성 방법이 들어간 디자인패턴🗒️ 예시 : 싱글톤, 팩토리, 추상팩토리, 빌더, 프로토타입패턴2) 구조패턴객체, 클래스 등으로 큰 구조를 만들 때 유연하고 효율적으로 만드는 방법이 들어간 디자인 패턴🗒️ 예시 : 프록시, 어댑터, 브리지, 복합체, 데코레이터, 퍼사드, 플라이웨이트패턴3) 행동패턴객체나 클래스 간의 알고리즘, 책임 할당에 관한 디자인패턴🗒️ 예시 : 이터레이터, 옵저버, 전략, 책임연쇄, 커맨드, 중재자, 메멘토, 상태, 템플릿메서드, 비지터패턴📕 라이브러리와 프레임워크 차이1. 라이브러리1.. 2025. 4. 11.
자료구조 📒 자료구조📕 배열1. 정적 배열 (array)1) 개념선언할 때 보통 크기를 설정해서 연산 진행연속된 메모리 공간에 위치한 같은 타입의 요소들의 모음숫자 인덱스 기반으로 랜덤 접근 가능하며 중복 허용동적 배열(vector)과 달리 메서드Xint a[3] : 배열의 크기를 정해서 선언int a[] = {1, 2, 3, 4} : 크기를 정하지 않고 선언, 요소 할당하면 자동적으로 rvalue의 크기로 할당됨 #include using namespace std;int a[3] = {1, 2, 3};int a2[] = {1, 2, 3, 4};int a3[10];int main(){ for(int i = 0; i 2. 동적 배열 (vector)1) 개념동적으로 요소를 할당할 수 있음컴파일 시점에 사용해야.. 2025. 4. 11.
AWS 📒 AWS📕 1. 클라우드 컴퓨팅1) 개념전통적인 방법온프레미스 (on-premises) 구축 방법자체적인 공간과 자원을 이용하여 사용자가 직접 구축 및 운영하는 방식사용자 입장에서 비용 및 부담이 큼클라우드 구축 방법효율적으로 IT 자원을 구축하는 방법인터넷을 통해 요구가 있을 때 즉시 (on-demand) IT 자원을 제공사용한 만큼 비용을 지불하는 서비스물리적인 자원은 보이지 않지만 IT 자원을 원하는 대로 가져다 사용할 수 있는 컴퓨팅 서비스2) 장점민첩성클라우드로 광범위한 기술에 쉽게 접근 가능컴퓨팅, 스토리지, 데이터베이스 등 인프라 서비스 + 사물 인터넷, 머신 러닝, 빅데이터 분석까지 필요한 자원 빠르게 구동탄력성향후 비즈니스 확장을 고려한 IT 자원을 사전에 과하게 구성할 필요X필요한.. 2025. 4. 11.
네트워크관리사 📒 네트워크 일반📕 1. 네트워크 개요1) 네트워크 (Network)개념송신자의 메시지를 수신자에게 전달하는 과정한 지점에서 다른 지점까지 의미 있는 경로를 보다 정확하고 빠르게 상대방이 이해할 수 있도록 전송하는 것유선 케이블을 컴퓨터에 연결해서 사용하거나 무선으로 사용 가능거리 기반 네트워크 종류PAN (Personal Area Network)약 5m 이내의 인접지역 간의 통신 방법 (3 ~ 5m)초 인접지역 간의 통신방법으로 거리가 짧은 특성짧은 거리로 인하여 보통은 유선보다는 무선의 WPAN을 많이 활용LAN (Local Area Network)근거리 영역의 네트워크로서 동일한 지역 내의 고속의 전용회선을 연결하여 구성하는 통신망 (50m)단일 기관 소유의 네트워크로 50m 범위 이내 한정된 .. 2025. 4. 11.
알고리즘 - 그리디, 구현 📂 그리디📌 정의현재 상황에서 기준에 따라 가장 좋은 것만을 선택하는 알고리즘(기준은 대체로 정렬 알고리즘을 사용해 만족)📝 예제 1. 거스름돈문제카운터에는 거스름돈으로 사용할 500원, 100원, 50원, 10원짜리 동전이 무한히 존재한다고 가정한다. 손님에게 거슬러 줘야 할 돈이 N원일 때 거슬러 줘야 할 동전의 최소 개수를 구하라. 단, 거슬러 줘야 할 돈 N은 항상 10의 배수이다.코드n = 1260count = 0coin_types = [500, 100, 50, 10]for coin in coin_types: count += n // coin n %= coinprint(count)해설1. '가장 큰 화폐 단위부터' 돈을 거슬러 주는 것 2. 가지고 있는 동전들의 큰 단위가 작은 .. 2025. 4. 10.
자료구조 - 리스트, 연결리스트, 해쉬 📂 리스트📌 정의같은 종류의 데이터를 순차적으로 저장하는 자료구조✔ 특징➡ 장점하나의 변수를 통해서 많은 데이터를 효율적 처리빠른 접근 가능 (첫 데이터의 위치에서 상대적 위치로 데이터 접근)➡ 단점데이터 추가/삭제의 어려움 (미리 최대 길이 지정)✔ 배열 vs 리스트배열리스트데이터같은 타입의 데이터만 저장다양한 데이터를 저장할 수 있음크기처음 저장한 후 변경X가변적으로 변경 가능📌 문법✔ 초기화Integer data_list[] = new integer[10]; //선언Integer[] data_list = new integer[10]; //가능data_list[0] = 1 // 할당Integer data_list[] = {1, 2, 3, 4, 5}; //초기화System.out.println(d.. 2025. 4. 10.
리눅스 마스터 📂 1차📌 문제1.bash 환경에서 아래 명령의 실행 결과에 대한 설명으로 가장 적절한 것은?#export PATH=$PATH:/etc⓵ 기존의 경로(PATH)를 제거하고 새로운 경로를 추가하였다.⓶ 기존의 경로(PATH)에 /etc라는 새로운 경로를 추가하였다.⓷ 잘못된 명령으로, export $PATH=PATH:/etc로 실행하는 것이 옳다.⓸ 잘못된 명령으로, export PATH=PATH:/etc로 실행하는 것이 옳다.2.리눅스를 설치한 후 부팅을 하였는데, LILO boot: 프롬프트가 나오지 않고 LI문자만 출력하고 부팅이 이루어지지 않는 경우에 대한 설명으로 맞는 것은?⓵디스크립터 테이블(Descriptor Table)이 깨어졌다.⓶처음에는 부트 로더(Boot Loader)가 작동하였으나.. 2025. 4. 9.
728x90
반응형