Trouble Shooting
-
[이것이 코딩테스트다] DFS(깊이 우선 탐색) / BFS(너비 우선 탐색)
책의 Chapter5에 등장하는 DFS/BFS에 대해 공부하는 시간이다. 1. 꼭 필요한 자료구조 기초 - 탐색(Search) : 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정 - 자료구조(Data Structure) : 데이터를 표현하고 관리하고 처리하기 위한 구조 스택과 큐 삽입(Push) : 데이터 삽입 삭제(Pop) : 데이터 삭제 - 스택 : 선입후출 구조 또는 후입선출 구조 빈 배열 선언 append 함수로 데이터 삽입 pop 함수로 데이터 삭제 stack = [] stack.append(8) stack.append(0) stack.append(7) stack.pop() # pop은 가장 뒤쪽(오른쪽)에 있는 데이터를 꺼냄. stack.append(6) stack.append(0) pri..
-
[DAY2] Topic Modeling
Day2의 Topic Modeling 강의를 듣고 정리한 내용의 포스팅입니다. Topic Modeling은 Text Mining 기법 중에서 가장 많이 활용되고 있음. Topic Modeling은 Unsupervised Learning 기반 방법 중 하나로 말 그대로 여러 문서들에서 주제를 찾아내는 데에 사용하는 알고리즘 중 하나임. 아주 많은 문서의 주제들을 추출할 수 있고, 시간별로 이 방법을 적용하여 대중의 트렌드를 파악하는 등 다양하게 활용되고 있음. 1. Bag-of-Words Encoding of Text Documents - Bag-of-words vector 텍스트 데이터나 이미지 데이터는 비정형 데이터! 이를 정형 데이터(환자 정보인 나이,성별,몸무게 등이 테이블 형태로 되어있는 데이터)..
-
[DAY1] Bag-of-Words
NLP [DAY1]에서 NLP Intro와 Bag-of-Words강의까지 같이 있어서 분리해서 포스팅함. 1. Word Embedding - 벡터가 어떻게 의미를 가지게 되는가 구분 백워브워즈 가정 언어 모델 분포 가정 내용 어떤 단어가 (많이) 쓰였는가 단어가 어떤 순서로 쓰였는가 어떤 단어가 같이 쓰였는가 대표 통계량 TF-IDF - PMI 대표 모델 Deep Averaging Network ELMo, GPT Word2Vec 임베딩을 만드는 세 가지 철학 - 백오브워즈 가정 : 저자의 의도가 단어 사용 여부나 그 빈도에서 드러난다고 보는 가정. TF-IDF(Term Frequency-Inverse Document Frequency) : 어떤 단어의 주제 에측 능력이 강할수록 가중치가 커지고, 그 반대..
-
[DAY 1] 자연어처리 Intro
NLP(Natural Language Processing) : 컴퓨터가 사람의 언어를 처리하는 것을 말함. NLP Apllications Text Classfication : ex. Spam Detection, Sentiment Analysis, ... Question Answering, Search Engine Machine Translation : ex. 파파고, 구글번역기 Chatbot : ex. 채널톡 Personal Assistant : ex. Siri Text Summarization Academic Disciplines related to NLP Major Conferences : ACL, EMNLP, NAACL 등의 학회 Low-level parsing Tokenization : 주어진 문..
-
[이것이 코딩테스트다] 아이디어를 코드로 바꾸는 구현
책의 2부에서 처음으로 등장하는 구현에 대해 공부하는 시간이다. 1. 구현 - 구현 : 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정 - 특징 알고리즘은 간단한데 코드가 지나칠 만큼 길어지는 문제 특정 소수점 자리까지 출력해야하는 문제 문자열이 입력으로 주어졌을 때 한 문자 단위로 끊어서 리스트에 넣어야 하는(파싱을 해야하는) 문제 라이브러리 사용 경험이 많다면 유리(ex. 순열 문제의 경우 itertools로 쉽게 짜기 가능) 완전탐색 : 모든 경우의 수를 주저 없이 다 계산하는 해결 방법 시뮬레이션 : 문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접 수행해야하는 문제 유형 - 메모리 제약 사항 고려하기!(with Python) 대체로 코딩 테스트에서는 128 ~ 512 MB로 메모리 제한 BUT..
Latest Post
-
신입 개발자의 2023년 회고
| 서문 2022년도 11월에 개발자로 취업해 2023년도 1년은 개발자로 보냈다. 개발 블로그를 Velog에서 다시 티스토리로 옮기면서 글을 많이 써야지! 라고 다짐했지만 현실은...아래 이미지 처럼 단 한개 뿐이다... 무려 해당 게시물도 2023년도 8월 22일에 작성한 게시물이다. 업무를 하면서 혹은 사이드 프로젝트를 진행하면서 아래 이미지 처럼 노션이나 티스토리에 간단하게 글을 작성하고 비공개 글로 저장은 좀 해두었다. 이것들을 잘 정리해서 내년에는 적어도 한달에 2 ~ 4개는 포스팅을 할 계획이다.(제발 이 말을 내가 지키길) 이제 그럼 2023년도 계획은 무엇이었고 이것을 얼마나 실행했는지 회고해보겠다. | 2023년 계획 첫 번째 계획은 회사에서의 성장이다. 프로젝트 코드 리팩토링으로는 오..
-
Java 파일 쓰기 인코딩 설정 - FileWriter, PrintWriter, BufferedWriter
개요 - Java 파일 쓰기 회사 업무를 하다가 Java로 json 파일을 생성해야하는 코드를 짜게 되었습니다. 회사 프로젝트 내에서 FileWriter, PrintWriter가 존재했고 찾아보니 BufferedWriter도 있다는 것을 알게 되어서 각각의 Wirter들은 어떠한 차이점이 있는지 한 번 알아보고 정리하기 위해 글을 작성하게 되었습니다. FileWriter JavaDoc 설명(Java8 기준) Convenience class for writing character files. The constructors of this class assume that the default character encoding and the default byte-buffer size are acceptable..
-
Python Faker로 더미 데이터 생성 (2/2)
📍 Intro 더미 데이터를 어떻게 만드냐도 문제인데 연관관계까지 생각해서 저장을 해야하는데... 생성해야하는 테이블의 순서 user -> brand , category -> product -> order, restock_notification 1. user 테이블 user_id : 랜덤값 ❌, 1부터 증가 emial : 이메일 관련 랜덤값 => fake.ascii_free_email(), fake.free_email() 차이는?! password : 랜덤값 ❌, 1234를 암호화 role : USER, ADMIN 랜덤인데 USER이 비중이 더 많이 2. brand 테이블 brand_id : 랜덤값 ❌, 1부터 증가 name : 브랜드명 관련 랜덤값 user_id : 랜덤값 ❌, user 테이블에 있는 ..
-
Python Faker로 더미 데이터 생성 (1/2)
📍 Intro 항해99 프로젝트에서 대규모 데이터를 가지고 성능이 얼마나 나오고 이것을 얼마나 개선했는지를 보여주기로 팀원들과 계획했다. 프로젝트 주제는 의류 데이터였는데 무신O를 크롤링할까 봤는데 robots.txt를 보니 막혀있다... 포트폴리오에 괜히 문제가 생길까봐 일단 크롤링은 패스! 주제를 바꾸는 것도 고려하면서 공공 데이터도 뒤져봤지만 우리가 원하는 정도의 데이터는 없었다... 그래서 결국 파이썬 Faker를 사용해 더미데이터를 만드는 것으로 결론이 났다. 그래서 이번 포스팅은 Faker 공식 문서를 보고 번역(?)도하고 정리해보고자 한다! 사실 번역은 파파고가 한다. Faker Faker is a Python package that generates fake data for you. Whe..
-
QueryDsl 사용법 모음
더보기 현재 작성중인 글입니다. 참고해주세요. QueryDsl? QueryDsl 사용하는 이점 IDE를 통한 자동완성 기능 컴파일 에러가 발생 조건문을 사용한 동적 쿼리문 작성이 간편 코드의 재사용성 증가 QueryDsl 사용하는 단점 까다롭다 간단한 사용예시 사용 예시 1) query문을 작성하려면 JpaQuery 인스턴스가 필요합니다. 이를 위해 JpaQueryFactory를 통해 인스턴스를 생성해야 합니다. 먼저 JpaQueryFactory를 영속성 컨텍스트를 파라미터로 넘겨서 생성합니다.(Querydsl은 JPA API를 사용하며 JPA를 지원하는 모듈입니다.) JpaQueryFactory queryFactory = new JpaQueryFactory(em); 2) 사용하려는 QEntity를 생성..