전체 글 607

NodeJS+MongoDB Part1

Express 라이브러리 설치 VScode 터미널 열기 npm init 어떤 라이브러리를 설치했는지 기록하기 위해 package.json에 기록하는데 자동으로 생성시켜줌 entry point만 내가 원하는 파일명으로 작성 { "name": "nodejs_mongodb", "version": "1.0.0", "description": "", "main": "server.js", "scripts": { "test": "echo \\"Error: no test specified\\" && exit 1" }, "author": "", "license": "ISC", } npm install express 로 설치 dependencies에 express가 추가됨 { "name": "nodejs_mongodb", ..

NodeJS+MongoDB 2023.06.04

[프로그래머스] 짝지어 제거하기

# 정답 코드 def solution(s): stack = [] for i in s: if not stack: stack.append(i) else: if stack[-1] == i: stack.pop() else: stack.append(i) return 0 if len(stack) else 1 # 오답 코드 # stack으로 풀지 않고 # 리스트를 슬라이싱을 통해 계속 변경하는 방법을 사용하니 # 배열을 계속 탐색해야 하기에 시간초과 문제가 발생. def solution(s): answer, s = -1, list(s) while s: flag = False for i in range(len(s)-1): if s[i] == s[i+1]: s[i:i+2] = '' flag = True break if ..

알고리즘 2023.06.04

디자인 패턴 - 싱글톤 패턴(Singleton Pattern)

디자인 패턴이란? - 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 규약 형태로 만들어 놓은 것. 싱글톤 패턴이란? - 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴. 하나의 클래스를 기반으로 여러 개의 개별적인 인스턴스를 만들 수는 있지만, 단 하나의 인스턴스를 만드는 패턴으로 중복되는 인스턴스 즉 같지 않은 인스턴스를 만들지 않는것으로, 보통 데이터베이스 연결 모듈에 많이 사용. - 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하며 사용하기 때문에 생성 비용이 줄어드는 장점이 있지만, 의존성이 높아지는 단점이 있다. // JavaScript Singleton Pattern class Singleton { construct..

CS지식 2023.06.03

코드 리펙토링

필요한 경우 기능 구현이 우선이고, 정상 작동이 되는지 확인 후 진행 한번에 하나의 작업에만 집중, 기능 구현과 동시에 하지 않는다 어떻게? 개발 프로세스에서는 코드 리팩토링 할 시점을 결정하는 것이 매우 중요하다 한 번에 한 가지 명확하고 구체적인 목표를 가지고 진행하는 것이 중요하다 리팩토링 유형 신규 기능 추가를 대비한 `준비를 위한 리팩토링` 현재 구조를 살펴보고 추가되는 코드가 기존 코드에 녹이기 어려운지 확인 구조를 다듬어서 새 기능을 쉽게 적용할 수 있도록 변형 동일한 코드가 반복된 경우 -> 별도의 함수로 분리하여 호출 의미가 유사한 함수가 두 개 이상 존재 -> 매개변수를 이용하는 것으로 함수 통합 모든 분기마다 동일한 로직을 구현 -> 분기 밖으로 해당 로직을 이동시켜 한 번만 작성 높..

CS지식 2023.06.03

전처리는 왜 필요할까?

전처리는 왜 필요할까? 정제하지 않은 데이터와 정제한 데이터는 분석 결과에서 많은 차이를 보인다. 전처리 방법 Basic, Tokenize, Spell, Check, Pos Tag, STemming, Stopwords 1. Basic 기초적인 전처리 html tag 제거 (크롤링한 html 원문 데이터일 경우) 숫자 영어, 특수문자 등 필요하지 않은 언어 제거 Lowercasing punctuation(문장부호) 제거 Emoji 및 BMP (유니코드에서 Basic Multilingual Plane(기본 다국어 평면)) 제거 기초 전처리는 데이터를 적재, 전송 등 다른 용도로 사용할 때에도 필요하다 2. Tokenize 자연어 처리에서는 텍스트를 토큰 단위로 나눈다. 특히 한국어에서는 띄어쓰기는 문맥과 의..

CS지식 2023.06.02