본문 바로가기

전체 글

(384)
[LINUX] 포그라운드/백그라운드 프로세스(nohup, &) [ 리눅스 프로그램 실행 방식 ] * 포그라운드 프로세스 (Foreground Process) - 기본적으로 터미널에서 실행되는 명령어는 포그라운드 프로세스로 실행. - 사용자와 상호작용하며, 실행이 완료될 때까지 터미널 대기. - 터미널 종료, 사용자 세션 종료 ==> 프로세스 종료. ./script.shbash script.shpython3 myscript.py * 백그라운드 프로세스 (Background Process) - 실행 이후에도 터미널을 차단하지 않고 계속 실행. (PID출력 후 바로 프롬프트 반환) - 사용자와 상호작용 없이 동작. - 터미널 종료, 사용자 세션 종료에도 계속 실행하기 위해서는 명령어 필요.  ==> nohup, setsid, screen, tmux 등./script.sh..
[Docker] 도커 컨테이너, Dockerfile, Volume, 도커 네트워크 [ Docker ]컨테이너를 기반으로 한 가상화 플랫폼. - Docker Image : 애플리케이션을 실행하기 위한 모든 설치파일/설정값들을 가진 파일.- Docker Container : 이미지를 실행한 상태. 이미지의 실행 인스턴스.이미지는 실행 환경을 담고 있고, 컨테이너는 그 이미지를 기반으로 독립적으로 실행되는 것.도커 이미지를 도커엔진 위에서 실행시켜 컨테이너화 하면 독립된 공간 속에서 애플리케이션 실행.하나의 이미지로 여러개의 컨테이너 생성 가능. https://rimo.tistory.com/24 Docker의 구성 요소 : 이미지, 컨테이너, 레이어도커의 필요성 도커를 처음 공부했을 때는 “어렵기만 하다”생각했습니다. 내가 왜 이 어려운 내용을 배우고 있는 건지, 그 어떤 목적성과 필요성이..
[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 박사의 정규화 이론에 따라 데이터의 일관성..