본문 바로가기

분류 전체보기

(371)
[React] React Query React Query 비동기 데이터 관리를 편리하게 할 수 있도록 도와주는 라이브러리.데이터를 가져오고, 캐싱하고, 동기화하는 과정에서 개발자가 직접 상태를 관리하지 않아도 됨.  React Query 장점자동 캐싱: 같은 queryKey로 데이터를 요청하면 이미 가져온 데이터를 캐싱하여 불필요한 요청을 줄임.자동 리패치: 데이터가 변경되면 자동으로 새로고침하여 최신 상태 유지.로딩 및 에러 핸들링 내장: isLoading, isError 등의 상태를 제공하여 쉽게 관리 가능.  * 서버 데이터를 중심으로 전역 상태를 유지하고, 최신 상태를 유지하고 싶다면, Redux보다 더 적합.* UI 상태나 로그인 여부 같은 서버와 관련 없는 상태는 Redux가 더 적합.   useQueryReact Query에서..
[웹서버] NestJS란 ? * Node.jsJavaScript를 사용하여 서버를 실행할 수 있도록 만든 런타임 환경.  Node.js 예제  (JavaScript ) _ HTTP 서버 const http = require("http");const server = http.createServer((req, res) => { res.writeHead(200, { "Content-Type": "text/plain" }); res.end("Hello, World!");});server.listen(3000, () => { console.log("Server running on port 3000");});=> Node.js만으로도 서버를 만들 수 있지만, 매우 기본적인 형태.    로직 하나하나 만들어줘야 해서 비효율적. 더 쉽게 웹..
[LINUX/JAVA] 자바 버전 관리 도구 (alternatives) * alternatives 심볼릭 링크를 생성, 제거, 관리, 조회할 수 있는 기능을 제공하는 GNU 라이선스의 커맨드라인 툴.시스템 전역에서 사용할 버전을 설정.=> 리눅스 기본 제공 도구 (CensOS)  - 심볼릭 링크 생성sudo alternatives --install    sudo alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-17.0.8/bin/java 1  - 리스트확인 및 전역 java버전 설정alternatives --config java  - 심볼릭 링크 확인ls -l ls -l /usr/bin/java# lrwxrwxrwx 1 root root 35 Feb 11 12:34 /usr/bin/java -> /etc/alterna..
[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..