전체 글

네, 저 밑바닥에서 왔습니다
데이터 파이프라인이란? 데이터 파이프라인은 다양한 소스에서 새로운 가치를 얻을 수 있는 대상으로 데이터를 옮기고 변환하는 일련의 과정이다. => 이는 분석, 리포팅, 머신러닝 능력의 기초가 됨  데이터 파이프라인의 복잡성은 원본 데이터의 크기와 상태, 구조 및 분석 프로젝트의 요구상항에 따라서도 달라짐 => 가장 단순한 형태의 파이프라인은 REST API처럼 단일 소스에서 데이터를 추출하고 데이터 웨어하우스의 SQL 테이블과 같은 대상으로 데이터를 로드하는 것임! 실제로 파이프라인은 일반적으로 데이터 추출, 데이터 가공, 데이터 유효성 검사를 포함한 여러 단계로 구성되며, 때로는 데이터를 최종 목적지로 전달하기 전에 머신러닝 모델을 학습하거나 실행하는 단계가 있기도 함  누가 파이프라인을 구축할까?  1..
·Infra/CI · CD
CI/CD란? 일반적으로 개발을 할 때 1. IDE에 코드를 작성 2. 코드 테스트 3. 빌드 4. 빌드된 아티팩트를 배포 5. 버그가 발생 하면 1번으로 돌아가 코드를 다시 작성 의 사이클을 돌게된다 => 코드 수정은 오래 쌓아두었다가 한번에 하기보다는 짧은 주기로 빨리빨리 하는게 좋음 그래서 새롭게 떠오르고 있는 컨셉이 Continuous Integration (CI) 임!(지속적인 통합) 소프트웨어 개발 프로젝트의 풀 사이클을 짧은 주기로 돌려서 빠르게 자동화 시키고, 개선을 하자는 CI 컨셉이다 => 코드, 빌드, 테스트 부분을 자동화해서 조금 더 잦은 주기로 그 생명주기를 짧게 해보자는 이야기! Continuous Delivery / Deployment (CD) 임!(지속적인 제공 / 배포) 보..
국민대학교에서 "오라클로 배우는 데이터베이스 개론과 실습(2판)" 을 이용한 신인수 교수님의 강의 교안을 이용하여 수업 내용을 정리하였습니다 1. 데이터베이스 프로그래밍의 개념 프로그래밍 : 프로그램을 설계하고 소스코드를 작성하여 디버깅하는 과정 데이터베이스 프로그래밍 => DBMS에 데이터를 정의하고 저장된 데이터를 읽어와 데이터를 변경하는 프로그램을 작성하는 과정 (일반 프로그래밍과는 데이터베이스 언어인 SQL을 포함한다는 점이 다름) 데이터베이스 프로그래밍 방법 1. SQL 전용 언어를 사용하는 방법 SQL 자체의 기능을 확장하여 변수, 제어, 입출력 등의 기능을 추가한 새로운 언어를 사용하는 방법 Oracle은 PL/SQL 언어를 사용하며, MS-SQL Server는 T-SQL이라는 언어를 사용함..
국민대학교에서 "오라클로 배우는 데이터베이스 개론과 실습(2판)" 을 이용한 신인수 교수님의 강의 교안을 이용하여 수업 내용을 정리하였습니다 1. 내장함수 SQL 내장 함수 SQL에서는 함수의 개념을 사용하는데 수학의 함수와 마찬가지로 특정 값이나 열의 값을 입력 받아 그 값을 계산하여 결과 값을 돌려준다 => SQL의 함수는 DBMS가 제공하는 내장 함수(bulit-in function)와 사용자가 필요에 따라 직접 만드는 사용자 정의 함수 (user-defined function)로 나뉨 SQL 내장 함수는 상수나 속성 이름을 입력 값으로 받아 단일 값을 결과로 반환한다 => 모든 내장 함수는 최초에 선언될 때 유효한 입력 값을 받아야 함 숫자 함수 문자 함수 날짜 · 시간 함수 NULL 값 처리 N..
국민대학교에서 "오라클로 배우는 데이터베이스 개론과 실습(2판)" 을 이용한 신인수 교수님의 강의 교안을 이용하여 수업 내용을 정리하였습니다 1. SQL 개요 SQL 기능에 따른 분류 데이터 정의어 (DDL) 테이블이나 관계의 구조를 생성하는 데 사용 CREATE, ALTER, DROP 문 등이 있음 데이터 조작어 (DML) 테이블에 데이터를 검색, 삽입, 수정, 삭제하는데 사용 SELECT, INSERT, DELETE, UPDATE 문 등이 있음 SELECT 문은 특별히 질의어(query)라고 함 데이터 제어어 (DCL) 데이터의 사용 권한을 관리하는 데 사용 GRANT, REVOKE 문 등이 있음 2. 데이터 조작어 - 검색 SELECT 문 이것저것 많아서 어려워보이지만 결국 SELECT 속성 이름 ..
국민대학교에서 "오라클로 배우는 데이터베이스 개론과 실습(2판)" 을 이용한 신인수 교수님의 강의 교안을 이용하여 수업 내용을 정리하였습니다 1. 관계 데이터 모델의 개념 릴레이션 릴레이션(relation) : 행과 열로 구성된 테이블 관계(relationship) => 1. 릴레이션 내에서 생성되는 관계 : 릴레이션 내 데이터들의 관계 (각각의 열(=집합) 에서 원소 한 개씩을 선택하여 하나의 행이 만들어진 것으로 이 원소들이 관계를 맺고 있음) => 2. 릴레이션 간에 생성되는 관계 : 릴레이션 간의 관계 릴레이션 스키마와 인스턴스 스키마의 요소 속성(attribute) : 릴레이션 스키마의 열 도메인(domain) : 속성이 가질 수 있는 값의 집합 (가질 수 있는 값의 범위 등) 차수(degree..
국민대학교에서 "오라클로 배우는 데이터베이스 개론과 실습(2판)" 을 이용한 신인수 교수님의 강의 교안을 이용하여 수업 내용을 정리하였습니다 1. 데이터베이스와 데이터베이스 시스템 1. 데이터, 정보, 지식 데이터 : 관찰의 결과로 나타난 정량적 혹은 정상적인 실제 값 정보 : 데이터에 의미를 부여한 것 지식 : 사물이나 현상에 대한 이해 2. 일상생활의 데이터베이스 데이터베이스 : 조직에 필요한 정보를 얻기 위해 논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓은 것 데이터베이스 시스템은 데이터의 검색과 변경 작업을 주로 수행함 ⇒ 변경이란 시간에 따라 변하는 데이터 값을 데이터베이스에 반영하기 위해 수행하는 삽입, 삭제, 수정 등의 작업을 말함 통합된 데이터(integrated data) : 데이..
·Backend/Node
최근에 Co-Code라는 코딩 교육 플랫폼 프로젝트를 시작하면서 백엔드를 맡게 되었습니다!! 가장 먼저 하게된건 서버 배포하기... 바로 시작하겠습니다  가장 먼저 EC2부터 생성해보았다!(제 블로그 AWS에 인스턴스 생성 실습이 있으니 참고하시면 될 것 같습니다) => Ubuntu를 사용했음!! (+ 프리티어)  키페어도 만들어서 잘 보관해주고!! ssh -i "pem 파일 이름" ubuntu@ec2-"퍼블릭 ip 주소".ap-northeast-2.compute.amazonaws.com 이제 작업중인 환경에서 (저는 vscode를 사용하기 때문에 vscode 터미널을 이용했음) pem 파일 위치로 이동 후 위의 명령어를 입력하여 EC2 서버로 접속한다   그런데Permissions for 'key.pe..
·Infra/AWS
윈도우에서 vscode를 사용하여 개발중인데터미널에서 EC2 서버(ubuntu)에 접속하려고 명령어를 쳤는데....!!!! Permissions for 'key.pem' are too open에러가 발생....😫 정말 2시간정도 구글링을 한거 같은데  우선 발생 원인은 윈도우에서 ubuntu EC2로 연결할 시에 pem파일의권한이 너무 높게 부여 되어 EC2에서 키를 거부하는 것이었다 => 윈도우에서 설정된 보안 권한이 자동으로 pem파일에 적용되어 설정된 모든 사용자가 pem의 권한을 갖기 때문   해결 방법은 2시간 동안 찾은 거치고는 꽤 간단..? 했음   1. pem 파일에 마우스 오른쪽 버튼을 눌러 속성에 들어간 후 보안탭에서 고급을 클릭 2.  상속 사용 안함을 클릭("이 개체에서 상속된 사..
·Frontend
state React에서의 state는 React 컴포넌트의 상태를 의미한다 => 리액트 Component의 변경 가능한 데이터 (state는 개발자가 정의해서 사용하며 JavaScript 객체이다) 렌더링이나 데이터 흐름에 사용되는 값만 state에 포함시켜야 함! => state가 변경될 경우 component가 재렌더링되기 때문에 렌더링과 데이터 흐름 관련없는 값을 포함하면 불필요한 경우에 component가 다시 렌더링되어 성능을 저하시킬 수 있기 때문 (그렇지 않은 값은 컴포넌트의 인스턴스 필드로 정의하면 됨) state는 엄밀히 말하면 수정이 가능하긴 하지만 직접 수정 할 수 없다 (하면 안된다) Hooks 리액트 Component에는 Function Component와 Class Compon..
·Frontend
Components 리액트는 Component-Based라는 중요한 특징이 있다는 것을 배웠다 => 모든 페이지가 컴포넌트로 구성되어 있고 하나의 컴포너트는 또 다른 여러개의 컴포넌트의 조합으로 구성될 수 있다 이렇게 하나의 컴포넌트를 반복적으로 사용함으로써 전체 코드의 양을 줄일 수 있어서 자연스레 개발 시간과 유지보수 비용도 줄일 수 있다! React component는 JavaScript의 함수와 같은 역할을 한다고 생각하면 되는데 입력과 출력값이 다르다 React Component에서 입력은 props이고 출력은 React element이다! => 어떤한 속성들을 입력받아 그에 맞는 리액트 엘리먼트를 생성하여 리턴해주는 것이다 (element는 자바스크립트 객체 형태로 존재하면 화면에 보이는걸 기..
·Frontend
react elements Elements의 정의 리액트의 엘리먼트는 리액트 앱을 구성하는 요소를 의미한다 리액트 공식 홈페이지에서는 Elements are the smallest building blocks of React apps 라고 정의한다 => 리액트 앱을 구성하는 가장 작은 블록들 실제 브라우저의 DOM에 존재하는 엘리먼트는 DOM 엘리먼트가 되는 것이고 React의 Virtual DOM에 존재하는 엘리먼트가 React 엘리먼트가 되는 것이다 => 결국 React 엘리먼트는 DOM 엘리먼트의 가상 표현이라고 볼 수 있다 (DOM 엘리먼트는 React 엘리먼트에 비해 많은 정보를 담고 있기 때문에 상대적으로 크고 무겁다!) React Elements는 화면에서 보이는 것들을 기술한다 => 엘리먼..
JJunGyo
개발 바닥