반응형

Data 97

Python 코드 관리하기

Python 코드 관리하기 linter : 나중에 버그가 될 수 있는 사항을 찾아줌 e.g.Flake8 formatting : 규약에 맞게 포맷팅 해줌 e.g. black, isort 1. 프로젝트 가상환경 실행해서 다운로드 pip install flake8 black isort 2. Linter: 루트 디렉터리에 .flake8 파일 생성 # .flake8 [flake8] max-line-length = 88 #pep8 extend-ignore = E203 exclude = .git, __pycache__, build, dist, venv 3. Formatter :루트 디렉토리에 pyproject.toml 파일 생성해서 포맷팅 할 black, isort 입력 # pyproject.toml [tool.bl..

Data/Python 2022.01.12

[DB] SQL Alchemy

SQL Alchemy 1. ORM(Object Relation Mapping, 객체 관계 매핑) 객체 지향 프로그래밍 언어 간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법이다. 객체 지향 언어에서 사용할 수 있는 "가상" 객체 데이터베이스를 구축하는 방법이다. (출처: 위키백과) Python에서는 class 장점 프로그램 유지 보수가 편리해진다. 프로그래밍 언어로 객체간의 관계를 표현할 수 있다. SQLAlchemy를 이용하면 SQL 쿼리 오류가 발생할 확률이 적다. SQL 쿼리 몰라도 OOP언어로 직관적으로 데이터 베이스를 다룸 테이블 구조 변경 시 ORM 모델만 수정 SQL, ORM쿼리 비교 ORM 사용한 DB 모델 작성 SQL쿼리 INSERT INTO Table (user_name, age) ..

Data/DB 2021.11.19

[OpenAPI] 공공데이터 포털 API 사용법

OpenAPI(Open Application Programming Interface, 공개 API) 오픈 API(Open Application Programming Interface, Open API, 공개 API) 또는 공개 API는 개발자라면 누구나 사용할 수 있도록 공개된 API를 말하며, 개발자에게 사유 응용 소프트웨어나 웹 서비스의 프로그래밍 적인 권한을 제공한다. [1][2] 반대말은 프라이빗 API(Private API)다. 쉽게 말하면, "하나의 웹 사이트에서 자신이 가진 기능을 이용할 수 있도록 공개한 프로그래밍 인터페이스가 오픈 API다"라고 정의할 수 있다(출처: 위키백과) 공공데이터 포털 API 사용법 대한민국 정부에서는 공공데이터포털을 통해 도로명 주소 조회 서비스, 동네예보정보조..

Data/DB 2021.11.17

[DB] MongoDB - 몽고DB에 대해서

관계형 데이터 베이스 vs 비 관계형 데이터 베이스 관계형 데이터 베이스 비 관계형 데이터 베이스 ACID(원자성, 일관성, 고립성, 지속성) 2차원 table SQL 쿼리 안정성, 범용성 데이터 무결성이 중요한 경우 RDBMS (결제, 예약) 복잡한 쿼리가 빈번한 경우 e.g MySQL, Oracle, PostgreSQL 데이터 처리량 & 서버 요구량 급증하면서 처리량 늘리기 위해서 속도 증가 필요함 현대적 설계 도입(분산 컴퓨팅) 확장성, 성능 최적화, 기능에 특화,유연성,고성능,고기능성 e.g. MongoDB(범용성, 안정적) ElaticSearch(전문검색), Redis(캐싱) ACID 데이터 베이스 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 성질을 가리키는 약어 MongoDB(몽고 DB)..

Data/DB 2021.11.16

[DB] MariaDB 시작하기(MAC)

MariaDB 오픈 소스의 관계형 데이터베이스 관리 시스템이다. MySQL과 동일한 소스 코드를 기반으로 하며, GPL v2 라이선스를 따른다. 오라클 소유의 현재 불확실한 MySQL의 라이선스 상태에 반발하여 만들어졌으며, 배포자는 몬티 프로그램 AB와 저작권을 공유해야 한다(출처:위키백과) 상용 버전이 별도로 없음 대신에 레퍼런스가 적음 설치 MariaDB 설치 전 설치 필요한 2가지 X-Code 설치하기 xcode-select --install Homebrew 설치하기 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)". Homebrew 업데이트 brew update #기본적으..

Data/DB 2021.11.10

[DB]MYSQL Workbench 시작하기

MYSQL Workbench MySQL 워크벤치는 SQL 개발과 관리, 데이터베이스 설계, 생성 그리고 유지를 위한 단일 개발 통합 환경을 제공하는 비주얼 데이터베이스 설계 도구이다. SQL 편집기 데이터베이스 모델링&관리 데이터베이스 마이그레이션 다운로드 OS 버전에 맞는 버전 설치 https://dev.mysql.com/downloads/workbench/ MySQL Workbench 시작하기 1. MYSQL Connections 생성 Local instance가 없는 경우 + 버튼을 클릭해서 생성해준다. 2. 새로운 컨넥션 설정한다. Connection Name 이름과 Password 비번을 설정해준다. Store in Keychain을 누르면 하단과 같은 창에 비번을 입력할 수 있다. 3. 짠~ ..

Data/DB 2021.11.10

SQL(Structured Query Language) 2 : 키워드,연산자,함수

1. 키워드 NULL 어떠한 값도 가지고 있지 않음 연산해도 NULL join 에서여집합 부분에는 없는 정보는 NULL로 대체 DESC table 테이블 구조 확인(describe의 앞 4자 따옴) desc table; *(asterisk) SELECT * FROM 테이블; 모든 어트리뷰트를 선택 자주 사용하지 않음, 실제 서비스에서 DB테이블은 많기 때문에 매번 모든 어트리뷰트의 레코드 출력 Alias 테이블, 칼럼에 alias지정 개발 생상성 향상, 유지보수 도움 SELECT count(*) as 합계 FROM 테이블; LIMIT [시작=0, ] 가져올 데이터 갯수 ROWNUM 오라클 가져올 데이터 갯수를 지정하여 필드 개수 제한하며 기본으로 0번째부터 가져옴 SELECT * FROM 테이블 LIMI..

Data/DB 2021.10.30

SQL(Structured Query Language) 1: DDL,DML,TCL

1. 데이터베이스 여러 사람이 공유해 사용할 목적으로 통합하여 관리되는 일정한 형태로 관리하는 데이터들을 저장 e.g. Maria DB, Amazon Redshift, Oracle DB 데이터베이스의 종류에 따라 사용 방법이 조금씩 다름 하지만! 데이터베이스에서 검색과 분석에 사용되는 기본 사용 방법은 데이터베이스 종류와 상관없이 동일(약간 다를 수 있다.) 데이터베이스 종류 비관계형 데이터 베이스 NoSQL(Not Only SQL) 구조적 유연성 데이터 저장,검색에 특화 분산 환경에 더 빠르게 처리 복잡한 데이터 구조 표현 e.g. MongoDB, CouchDB 관계형 데이터 베이스(RDB) 고유한 키(key)와 값(value)들의 간단한 관계를 테이블화 (출처 위키백과) 각 테이블간 관계 설정 스키마..

Data/DB 2021.10.29

[리뷰]시험장에 몰래 가져갈 이경오의 SQL+SQLD 비밀노트

제가 작성한 서평이 우수 후기로 당첨되어 한빛 미디어 페이스북 페이지에 공유되었네요! :) 시험장에 몰래 가져갈 이경오의 SQL+SQLD 비밀노트 분량: 556페이지 발행일 2021년 10월 10일 정가 32,000원 구성 Part1 실습환경 구축으로 오라클 DBMS 구축, 실습 데이터 구축 Part2 데이터 베이스에 관한 이론 Part3 SQL 기본, 활용, 최적화 특징 1. 깔끔하다 이전에 한빛미디어에서 출판한 관계형 데이터베이스 (기억나는 것이) 책 2권 공부한 적 있었는데 역시 깔끔해요. 제목처럼 시험장에 몰래 가져갈 비밀노트이기 때문에 전체적으로 깔끔합니다. 긴 글줄로 서술만 하지 않고 중요한 개념들을 이미지, 테이블로 같이 설명하고 계속해서 공공데이터 예시를 이용해서 코드 예시와 결과를 보여줍..

Data/독서 2021.10.25

Deep Learning(딥러닝) - 4.오차역전파(Error Backpropagation)

이전에 배웠던것은 신경망 학습으로 순전파와 그래디언트 디센트를 이용하여 손실함수 최소화를 통해 최적의 매개변수(가중치)계산하였으나 수치미분은 단순하지만 계산이 오래걸림. 이번에는 수치미분보다 기울기를 효율적으로 계산하는 오차역전파를 이용하여 순전파에서의 결과값의 에러를 계산하여 최적의 매개변수로 계속 업데이트 하는 방법 가중치 매개변수 기울기 구하는 방법: 수치 미분(기울기 =0) 간단 오래걸림 오차역전파 표현방법 : 수식, 계산 그래프 1. 계산 그래프(computational graph) 계산 과정을 그래프로 나타내며출력값 변수를 최적화 하고싶을때 유용하며 단순화 하여 이해가 쉽다. 국소적 계산: 직접 관계된 범위 내에서만 계산을 통해 각 노드의 계산에 집중하여 문제를 단순화 역전파를 통해 '미분'을..

Data/ML 2021.10.17
반응형