개발/토막난 상식(241)
-
Map {}
Map이란? Map은 key-value 형태로 데이터를 저장하는 자료구조이며, key 값을 통해서 데이터를 검색, 저장, 삭제한다. 이 때, map은 중복된 key 값은 허용되지 않는다. 예를 들어, 전화번호부의 경우 같은 전화번호에 여러 이름은 저장되지 않는다. 따라서 전화번호를 key 값으로, 이름을 value로 map에 저장하면 된다. Dictionary란? Dictionary는 기본적으로 map과 같이 key-value 형태로 데이터를 저장하지만, map과 달리 중복된 key 값이 허용된다. 예를 들어 단어 사전의 경우 하나의 단어에 여러 가지 뜻이 있을 수 있다. 따라서 단어를 key 값으로, 단어의 뜻을 value로 dictionary에 저장하면 된다. 성능도 일반적으로 Map 이 더 좋다. ..
2024.03.07 -
PRI key 관리하기
사건의 발단 어라 ? DB중에 ID 값이 없는 녀석을 발견했다. 질문은 주임의 특권 '과장님 이거 오토인크리먼트로 바꿔두 될까요? ' 결론만 놓고보면 바꿔두 된다. 우리가 DB를 작업 같이 하고 있기때문 단! 여러가지 고려해야 한다. 1. 다른 디비들 과의 통일성 - 프로젝트 마다 관리하고 있는 방법이 다르므로 이거한번 채크 해볼것 2. 산출물 > 코드 3줄 줄이기위해 오토 인크리먼트 추가했다가 산출물 10개를 다 바꾸러 찾으러 다녀야 할 수고 있습니다. 3. 개발자가 바꿀수 있는 환경인가? 4. 만약 db가 변경 될 가능성은? 오라클이 마리아 혹은 다른 디비로 바뀌게 되었을때 재공해 주는 기능인가? 그렇다면 그떄 수정해야 할 코드 량은? 그다음에 성능과 방법을 탐구 1. get으로 가져온 다음 없는 값..
2024.02.22 -
InfluxDB와 Elasticsearch
InfluxDB: 장점: InfluxDB는 순수하게 시계열 데이터를 위해 설계된 데이터베이스로, 이러한 유형의 데이터를 처리하는 데 특화되어 있습니다. 데이터 쓰기 및 조회 성능이 뛰어납니다. 또한 자동화된 복제와 샤딩 기능을 제공하여 확장성을 보장합니다. SQL과 유사한 쿼리 언어를 제공하여 사용자가 쉽게 데이터를 쿼리할 수 있습니다. 단점: 비교적 새로운 시스템이므로, 일부 버그나 문제가 여전히 존재할 수 있습니다. 시계열 데이터 외의 다른 데이터 유형을 처리하는 데는 적합하지 않을 수 있습니다. 비교적 커뮤니티 지원이 덜 활성화되어 있습니다. Elasticsearch: 장점: Elasticsearch는 풍부한 검색 기능을 제공하며, 전문 검색 및 텍스트 분석에 탁월합니다. 분산 시스템으로 설계되어 ..
2024.02.14 -
상태 관리 순위 와 Zustand 예시
이거 좀만 만지면 리덕스로도 구현 가능할지도?
2024.02.08 -
useRef vs window.addEventListener when onKeyDown in div
1번 ref 로 닫기 기능 // 메뉴가 열리면 메뉴에 포커스 const menuRef = useRef(null); useEffect(() => { if (menuRef.current) { menuRef.current.focus(); } }, []); return ( e.key === 'Escape' && setMenuOpen(false)} /> 2번 useEffect로 닫기 기능 useEffect(() => { const handleKeyDown = (event) => { if (event.key === 'Escape') { setMenuOpen(false); } }; window.addEventListener('keydown', handleKeyDown); return () => { window.rem..
2024.01.30 -
웹스퀘어
WebSquare5는 엔진과 스튜디오(개발도구)로 구성됩니다.스튜디오는웹스퀘어화면파일을개발할수있는환경을 제공하고,엔진은웹스퀘어화면파일을브라우저에표시합니다. 웹스퀘어 스튜디오는WYSIWYG 방식의 통합 개발 도구로, 개발자는 컴포넌트 그리기, 스크립트 추가, 화면 확인, 디버깅을한번에수행할수있습니다. useEffect [] = scwin.onpageload
2024.01.05 -
JAVA 1.8 구버전으로 이클립스 다운로드 하는법
https://www.eclipse.org/downloads/packages/release/2020-03/r 2020-03 R | Eclipse Packages 442 MB 5,782 DOWNLOADS The Modeling package provides tools and runtimes for building model-based applications. You can use it to graphically design domain models, to leverage those models at design time by creating and editing dynamic instances, to collabo www.eclipse.org 여기서 윈도우용 다운로드 최신버전으로 안받게 주의 https:/..
2024.01.03 -
ESLint: 'eslint'의 경로를 지정하세요. 파이참
전역으로 eslint 설치 npm i --g eslint 로 해결
2023.12.15 -
깃허브 유저별 작성한 라인수 확인
git ls-files | while read f; do git blame --line-porcelain $f | grep '^author '; done | sort -f | uniq -ic | sort -n
2023.12.15 -
JWT,,,, 파도파도 계속 나오는
JWT의 장점은 I/O 작업이 필요없는 빠른 인증 처리였다. 클라이언트가 저장을 어디다 할까? 1. 쿠키 - 작음 문자열만 2. 로컬스토리지 - 3. 세션스토리지 4. 리덕스 스토어 1. XSS 공격으로부터 localStorage에 비해 안전하다. 쿠키의 httpOnly 옵션을 사용하면 Js에서 쿠키에 접근 자체가 불가능하다. 그래서 XSS 공격으로 쿠키 정보를 탈취할 수 없다. (httpOnly 옵션은 서버에서 설정할 수 있음) 하지만 XSS 공격으로부터 완전히 안전한 것은 아니다. httpOnly 옵션으로 쿠키의 내용을 볼 수 없다 해도 js로 request를 보낼 수 있으므로 자동으로 request에 실리는 쿠키의 특성 상 사용자의 컴퓨터에서 요청을 위조할 수 있기 때문. 공격자가 귀찮을 뿐이지 X..
2023.12.12