본문 바로가기

전체 글

(398)
[API / Python] Geolocation API_현재 위치좌표 추출 Google Maps Platform의 Geolocation APIhttps://developers.google.com/maps/documentation/geolocation/overview?hl=koWi-Fi 액세스 포인트, GPS, 기지국 데이터를 결합하여 위치 추적.매월 100,000회 무료제공 (이후 사용량별 금액 청구) _ 미화 0.005달러/회 (미화 5.00달러/1,000회) * 사용하기 위해서는 Google Cloud 프로젝트 생성 필요. ( + API 사용 설정 / api키 발급 필요 ) 위치정보 요청 및 응답 개발가이드 : https://developers.google.com/maps/documentation/geolocation/requests-geolocation?hl=ko&_gl=..
[SQLD] 강의 14~16. WHERE절, GROUP BY절, JOIN 3.4 WHERE절WHERE절 - 특정 조건을 만족하는 행만을 대상으로 연산을 수행. - SELECT, UPDATE, DELETE에 사용 가능하나 INSERT에는 사용 불가. - FROM절을 먼저 수행하므로 FROM절에서 정의한 테이블에 대한 별명(Alias)은 사용할 수 있으나,  SELECT절에서 정의한 칼럼에 대한 별명은 사용할 수 없다.SELECT 컬럼1 [[ , 컬럼2] ... ] FROM 테이블1 [[ , 테이블2] ... ] WHERE 조건식;   SELECT * FROM EMP WHERE DEPTNO = 30 ; => EMP 테이블에서   FROM  => DEPTNO가 30인   WHERE  => 모든 행을 조회       SELECT  UPDATE EMP SET JOB = 'SALESMA..
[Python] Deepdiff, PyYAML 라이브러리 (+ YAML이란?) * Deepdiff Python에서 두 개의 데이터 구조(딕셔너리, 리스트, JSON 등)를 비교하여 변경된 부분만 추출할 수 있도록 도와주는 패키지.설치pip install deepdiff  1) Dictionary 비교from deepdiff import DeepDiffdict1 = {"name": "Alice", "age": 25}dict2 = {"name": "Alice", "age": 30}diff = DeepDiff(dict1, dict2)print(diff)결과{'values_changed': {"root['age']": {'old_value': 25, 'new_value': 30}}}  2) List 비교list1 = [1, 2, 3]list2 = [1, 3, 2]diff = DeepDif..
[SQLD] 강의 12~13. SQL함수_TRIM, NULL함수 3.3 함수TRIM (문자열 처리 함수)  - LEADING - TRAILING - BOTH  * TRIM - 문자열의 양 끝단에서 공백 또는 지정된 문자열을 제거하고 반환한다. TRIM ( [ [arg1] [arg2] FROM ]  arg3 ) => arg1 : LEADING / TRAILING / BOTH, 생략될 경우 기본값은 BOTH이다. => arg2 : 제거할 특정 문자 또는 문자열. arg2가 생략되면 공백을 제거한다. => arg3 : 문자열값 또는 문자열형의 칼럼.  SELECT TRIM('    GOOD    ') FROM DUAL ;=> 문장의 앞, 뒤에서 공백 제거결과 : 'GOOD'SELECT TRIM(LEADING '가' FROM '가나다라') FROM DUAL ;=> '가나다라..
[SQLD] 강의 11. SELECT문 3.2 SELECT문 * SELECT - 데이터를 조회하는 명령어로, WHERE절을 통해 특정 조건의 열만 조회할 수 있다. - 테이블에 대한 별명(Alias) 부여 가능.SELECT 컬럼1 [ [, 컬럼2] ... ] FROM 테이블1 [ [, 테이블2] ... ] ;테이블1, 테이블2로부터 컬럼1, 컬럼2 등을 조회한다.컬럼명이 유일할 때는 컬럼명만 표기해도 되나 서로 다른 테이블에 있는 같은 이름의 컬럼을 표기할 때는 컬럼명 앞에 테이블명과 점(.)을 붙여야 한다. SELECT 회원번호, 회원명 FROM 회원 ;=> 회원 테이블의 회원번호, 회원명 컬럼을 조회.SELECT * FROM 회원 ;=> 회원 테이블의 모든 컬럼 조회.  SELECT A.회원번호, B.예약번호 FROM 회원 A, 예약 B ..
[SQLD] 강의 09~10. 본질식별자/인조식별자, 관계형 데이터베이스 2.5 본질식별자 VS 인조식별자 - 본질식별자 업무에 존재하는 원래의 식별자로, 원조식별자라고도 한다. - 인조식별자 업무에 존재하지 않으나 원래의 식별자가 너무 복잡하게 구성되어 있어 인위적으로 만든 식별자로,  대리식별자라고도 한다.           복합식별자인 경우  * 인조식별자 사용의 장점  추가적인 연산 없이 시퀀스나 키 제약조건 등을 통해 주식별자를 생성할 수 있으므로 개발의 편의성이 향상될 수 있다. * 인조식별자 사용의 단점 데이터의 중복이 발생할 수 있고 별도의 인덱스 생성 등이 필요하다.  3.1 관계형 데이터베이스 개요 - 관계형 데이터베이스란? * 관계형 데이터베이스 (RDB, Relational Database) - E.F. Codd 박사의 정규화 이론에 따라 데이터의 일관성..
[SQLD] 강의 07~08. 슈퍼타입/서브타입 관계테이블 병합, NULL 연산 * 반정규화   => 조회성능향상 방법1) 테이블 병합 (슈퍼타입/서브타입) 2.2 관계와 조인의 이해  - 슈퍼타입/서브타입 관계 테이블 병합        (상속관계)   * One to One Type - 개별로 발생되는 트랜잭션에 대해서는 개별 테이블로 구성. * Plus Type - 슈퍼타입 + 서브타입에 대해 발생되는 트랜잭션은 JOIN 연산에 의한 성능저하를 가져오므로   슈퍼타입 + 서브타입 테이블로 구성. * Single Type  - 전체를 한 번에 조회하는 트랜잭션은 UNION 연산에 의한 성능저하를 가져오므로 전체를 하나의 테이블로 통합. JOIN , UNION (테이블 병합)  ==>  CPU 부하   2.4 Null 속성의 이해  - Null과의 연산Null : 정해지지 않은 값..
[SQLD] 강의 06. 정규화 2.1 정규화 (Normalization)   - 정규화 절차이상현상 (Anomaly) 방지  --> 삽입이상, 갱신이상, 삭제이상 * 정규화 - 데이터베이스의 이상현상(Anomaly)을 막기 위해, 데이터의 중복을 최소화하면서    테이블을 보다 잘 조직된 상태로 분해하는 과정. - 정규화의 결과 : 데이터의 입력/수정/삭제 성능 향상.                             데이터의 조회 성능 하락 가능성 증가 (무조건적인 하락X) **                                                          정규화로 인해 join의 횟수 증가 ==> 조회 성능 하락.                                                     ..