반응형

IT 112

$unset (Field Update Operators)

array 안의 요소 지우는 방법 (How to remove an array element in mongodb) 이 것만 알아도 실무에서 몽고디비 30% 먹고들어간다. 사실상 delete 함수 update로 대체하고 있다 수정은 말할 것도 없고 따라서 update함수의 Operators만 잘 알고 있으면 필드 수정과 삭제와 관련해서 몽고디비 데이터를 마음대로 조작할 수 있다. 배워야할 것이 많지만 주로쓰는 것 위주로 파악하면 학습효과를 극대화 시키고 학습의 선순환을 이룩할 수 있기에 반드시 파악해보자 { "_id" : ObjectId("5f856dc29e4ddf87b95dc538e"), "intent" : "Library", "typeArray" : [ { "reqType" : "type1", "exec..

IT/MongoDB 2021.04.12

자료구조 (해쉬테이블 2) 충돌 해결 알고리즘

해쉬 테이블의 가장 큰 문제는 충돌 이를 해쉬충돌이라고 한다. Chaining기법 개방 해싱, 오픈 해싱 기법 -해쉬 테이블 저장공간 외의 공간을 활용한다. -충돌이 일어나면 링크드 리스트라는 자료구조 사용해 충돌에 대응한다. Linear Probing 기법 폐쇄 해싱 또는 클로즈 해싱 기법 -해쉬 테이블 저장공간 내의 공간을 활용한다. -충돌이 일어나면 해당 해시 값의 다음 값부터 맨 처음 나오는 빈공간에 저장한다. 위와 같이 크게 두 가지 전략으로 충돌에 대해 대처한다. 우선 오픈 해싱 기법에 대해 구체적으로 알아보자 hash_table = list([0 for i in range(8)]) def get_key(data): return hash(data) def hash_function(key): r..

자료구조(해쉬테이블 1)

해쉬 테이블(Hash Table) 키(key)에 데이터(value)를 맵핑할 수 있는 자료 구조이다. -해쉬(Hash) : 방대한 데이터를 고정 길이로 변환하는 것 -해싱함수(Hashing Function) : 키를 산술 연산으로 이용하여 데이터 위치를 찾는 함수 -해쉬 값(해쉬 주소) : 해싱함수의 결과물 -슬롯(Slot) : 한개의 데이터를 저장할 수 있는 공간 name1 = 'Andy' name2 = 'Dave' name3 = 'Trump' hash_table = list([ 0 for i in range(10)]) def hash_func(key): return key % 7 def storage_data(data, value): key = ord(data[0]) hash_address = has..

JSON.parse() 활용하여 몽고디비 필드 동적 생성

JSON.parse() developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse JSON.parse() - JavaScript | MDN JSON.parse() JSON.parse() 메서드는 JSON 문자열의 구문을 분석하고, 그 결과에서 JavaScript 값이나 객체를 생성합니다. 선택적으로, reviver 함수를 인수로 전달할 경우, 결과를 반환하기 전에 변형할 수 developer.mozilla.org JSON 문자열의 구문을 분석하고, 그 결과에서 JavaScript 값이나 객체를 생성하는 메소드 '{"result":true, "count":42}' -----> {"result":true, "count":4..

IT/MongoDB 2021.04.11

reactJS란?

React는 사용자 인터페이스를 구축하기 위한 (선언적, 효율적, 유연한) Javscript 라이브러리이다. - 2013년 페이스북에서 공개한 라이브러리. - Component, nodejs의 module과 같이 구축해놓은 코드를 재사용성을 향상시켜 개발 및 유지보수에 도움이된다. - virtual DOM (가상 문서 객체 모델) 리액트는 인 메모리 데이터 구조 캐시를 만들고 결과 차이를 계산하여 브라우저 표시되는 real DOM을 효과적으로 업데이트한다. 즉 변경전 virtual DOM과 바뀐 virtual DOM를 비교하여 (dffing) 바뀐 특정 컴포넌트만 렌더링하여 화면에 반영하는 아주 효율적인 기능을 제공한다. - JSX : 자바스크립트 언어 문법의 확장 - 내재된 요소(nested) : 같은..

IT/Javascript 2021.02.14

실행 컨텍스트(execution context)

1. why(왜 알아야하는가?) 실행 컨텍스트는 (소스코드를 동작시키는) 자바스크립트 엔진의 핵심이기때문이다. '자바스크립 엔진 동작의 핵심' 2. how(어떻게 동작하는가?) 자바스크립트는 크게 두개의 환경에서 동작한다. 1. 브라우저(크롬,파이어폭스,IE ...) 2. Node.js 흔히 브라우저는 클라이언트 사이드 그리고 Node.js는 서버 사이드라고 불린다. (Node.js는 플랫폼이며 자바스크립트 런타임입니다. 즉, 자바스크립트로 서버나 컴퓨터를 조작할 수 있게 도와주는 플랫폼입니다. 그러니 Node.js를 언어라고 표현하기에는 무리가 있습니다.) 어떤 환경이든 자바스크립트 엔진을 기반으로 동작하기 때문에 다음 동작원리는 동일합니다. 소스코드 타입에 따라 실행 컨텍스트 생성과정과 관리 내용이 ..

IT/Javascript 2021.02.07

체육복[프로그래머스]

programmers.co.kr/learn/courses/30/lessons/42862?language=javascript# 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 핵심 1. 여벌을 갖고 있는 학생이 도난 당할 수 도 있다.(1개) lost [2, 3, 4] / reserve [5, 3, 1] -> 여벌이 있지만 도난 당한 학생의 번호 : 3번 따라서 도난당한 사람은 진짜 여벌이 없어서 빌리지 못하면 수업에 참여할 수 없는 사람으로 여복이 있는 사람은 도난 당하지 않아서 진짜로 빌려 줄 수 있는 사람으..

IT/코딩테스트 2021.01.24
반응형