분류 전체보기
-
[Python] Pylint - 정의와 예제를 통해 Python 린트 툴 알아보기Software Development/Python 2020. 9. 3. 19:00
Lint? 린트(lint) 또는 린터(linter)는 소스 코드를 분석하여 프로그램 오류, 버그, 스타일 오류, 의심스러운 구조체에 표시(flag)를 달아놓기 위한 도구들을 말합니다. 이 용어는 C 언어 소스 코드를 검사하는 유닉스 유틸리티에서 왔습니다. Pylint란 Pylint는 Python 코드의 에러를 확인하고, 표준을 적용시키며 코드의 이상한 부분을 찾는 도구입니다. 또한 특정 유형의 에러를 찾을 수 있으며, 코드 일부분에 대한 리팩토링을 제공하며 코드의 복잡성에 대한 자세한 정보를 제공하기도 합니다. Python에서 다른 종류의 유사한 툴로 pychecker, pyflakes, flake8, mypy 등이 있습니다. Pylint에서 사용하는 기본적인 코딩 스타일은 PEP8이라 보시면 됩니다. ..
-
[Recommeder System] 추천 시스템 - 관련 자료 및 사이트 정리Research/Personalized Recommender Systems 2020. 8. 28. 10:23
작성중... Keras Implementation of Item2Vec[Code] : https://github.com/lujiaying Lua Implementation of Word2Vec[Code] : https://github.com/yoonkim/word2vec_torch/blob/master/word2vec.lua Tensorflow Implementation of Word2Vec[Code] : https://github.com/carpedm20/word2vec-tensorflow 추천 시스템에 대한 전반적인 이해를 위한 글[설명] : https://www.oss.kr/info_techtip/show/5419f4f9-12a1-4866-a713-6c07fd36e647 ALS Implementat..
-
[Algorithm] 알고리즘 - 문자열 매칭(Pattern Matching)Study/Algorithm 2020. 8. 27. 19:00
문자열 매칭 또는 패턴 매칭은 컴퓨터 과학에서 중요한 문제이다. 노트패드나 워드파일 또는 웹 브라우저 데이터베이스에서 문자열을 검색할 때 패턴 매칭 알고리즘을 사용하여 검색 결과를 표시한다. 문자열 매칭 방법의 종류는 아래와 같다. 1. Naive Matching (원시적인 매칭) - $O(mn)$ 2. Automata Algorithm (오토마타를 이용한 매칭) - $\Theta(n + |\sum| m)$ 3. Rabin-Karp Algorithm (라빈-카프 알고리즘) - $\Theta(n)$ 4. Knuth-Morris-Pratt(KMP) Algorithm (KMP알고리즘) - $\Theta(n)$ 5. Boyer-Moore Algorithm (보이어-무어 알고리즘) - $\Theta(n)$ Wor..
-
[Database] 인덱스 자세히 알아보기Software Development/Database 2020. 8. 19. 18:34
인덱스의 기본적인 목적은 검색 성능의 최적화이다. 즉, 검색 조건을 만족하는 데이터를 인덱스를 통해 효과적으로 찾을 수 있도록 돕는다. 그렇지만 Insert, Update, Delete 등과 같은 DML 작업은 테이블과 인덱스를 함께 변경해야 하기 때문에 오히려 느려질 수 있다는 단점이 존재한다. 인덱스 기능 인덱스는 어떤 종류의 검색 연산을 최적화하기 위해 데이터베이스상에 로우들의 정보를 구성하는 데이터 구조이다. 인덱스를 이용하면 전체 데이터를 검색하지 않고 데이터베이스에서 원하는 정보를 빠르게 검색할 수 있다. 인덱스는 인덱스를 생성한 컬럼값으로 정렬되어 있고 테이블 내 값들이 저장된 위치를 갖고 있으므로 인덱스를 이용하면 전체 테이블을 읽지 않아도 찾으려는 데이터를 찾을 수 있다. 그래서 테이블에..
-
ITEM2VEC: NEURAL ITEM EMBEDDING FOR COLLABORATIVE FILTERING 번역Research/Personalized Recommender Systems 2020. 7. 22. 18:29
논문 링크 https://arxiv.org/ftp/arxiv/papers/1603/1603.04259.pdf ITEM2VEC: NEURAL ITEM EMBEDDING FOR COLLABORATIVE FILTERING 많은 Collaborative Filtering 알고리즘은 item과 item 간의 유사성을 생성하기 위해 item-based 방법을 사용한다. (Natural Language Processing)NLP 분야에서 neural embedding algorithms을 이용한 단어의 의미를 학습하는 방법들이 제안되었다. Skip-gram with Negative Sampling (SGNS) 또는 word2vec이라고 알려진 방법은 다양한 언어학적 관점에서 최신 기술로 여겨진다. 이 페이퍼에서 it..
-
ORA-01654 인덱스를 확장할 수 없습니다Software Development/Database 2020. 7. 9. 19:00
테이블 스페이스 에러가 나는 이유 http://database.sarang.net/?inc=read&aid=18973&criteria=oracle&subcrit=&id=&limit=&keyword=&page= 데이터베이스를 사랑하는 사람들의 모임 데이터베이스 사랑넷 오라클 초보입니다.. 들어가는 자료 크기가 좀 큰 배치 몇개를 돌리다가 ... 모두 이런 오류로 종료되었는데 정확히 원인이 뭔지 알고 싶습니다. ORA-01654: IVLU01.S02_EB574DM 인덱스를 256(으)로 DATA 테�� database.sarang.net https://m.blog.naver.com/PostView.nhn?blogId=bluejames77&logNo=80039596674&proxyReferer=https:%2..
-
Hadoop WordCount 소스 코드 레벨에서 살펴보기Software Development/Big Data 2020. 7. 1. 13:08
코드출처: https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html import java.io.IOException; // 예외처리 import java.util.StringTokenizer; //스트링 토큰 처리기 import org.apache.hadoop.conf.Configuration; // 하둡 구성 정보 import org.apache.hadoop.fs.Path; // 파일 시스템 경로 import org.apache.hadoop.io.IntWritable; // 정수형 쓰기 가능 데이터 삽입 import org.apache.hadoop.io.T..