본문 바로가기

반응형

전체 글

(18)
[IOS/Swift] MBTI 카드 선택 게임 UI 구현 swift ui를 이용해 어플리케이션 설계를 진행 해봅시다. 기획된 구성은 다음과 같습니다. 문서량 또는 언급량을 비교할 두 개의 항목을 각각 카드로 보여줍니다. 항상 아래에 있는 카드(파랑)가 위에 있는 카드(빨강) 보다 언급량이 더 많은지 낮은지를 선택합니다. 정답을 맞추면 다음 카드로 이동, 잘못 선택하면 게임이 끝납니다. 데이터 구성 게임을 구성하는 데이터(API 전달 결과)를 설계해봅시다. struct StageList: Codable { var data: Array var answer: Array } API에서 응답받은 결과를 처리하는 Struct는 다음과 같습니다. 실제 데이터는 다음과 같습니다. { "data": ["짜장면", "짬뽕", "탕수육", "유린기", "꿔바로우"], "answe..
[독서노트] 데이터 중심 애플리케이션 설계 - 7장 트랜잭션 이전에 독서노트 작성 방법을 포스팅 한 적이 있습니다. https://jongwho.tistory.com/17 [Youtube 영상 요약] - 독서 메모법 최근 엄청 두꺼운 책 읽기에 도전하고 있습니다. 데이터 중심 애플리케이션 설계라는 책인데요 http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9791158390983&orderClick=LE.. jongwho.tistory.com 위 메모법을 바탕으로 '데이터 중심 애플리케이션 설계' 7장 트랜잭션을 요약해보겠습니다. 키워드 요약 약 2페이지마다 읽은 내용을 요약해서 키워드로 정리해보겠습니다. 페이지의 구분은 '/'로 하겠습니다. 트랜잭션, 안전성 보장 /..
[Youtube 영상 요약] - 독서 메모법 최근 엄청 두꺼운 책 읽기에 도전하고 있습니다. 데이터 중심 애플리케이션 설계라는 책인데요 http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9791158390983&orderClick=LEa&Kc= 약 600 페이지 책입니다. 저에게는 너무 두껍고 내용도 많아 어떻게 정리해야 할 지 고민하던 차에 유튜브에서 메모와 관련된 영상을 찾았습니다. 데이터 중심 애플리케이션 설계 - 교보문고 신뢰할 수 있고 확장 가능하며 유지보수하기 쉬운 시스템을 지탱하는 핵심 | 이 책에서 배우는 내용◎ 기존에 사용하고 있는 시스템의 내부를 자세히 들여다보고 더 효율적으로 사용하고 운용 www.kyobobook.co.kr 효과적으..
[Elastic Search] MBTI 검색 프로젝트 - 3. API 구축하기 MBTI 검색엔진 데이터를 API 형태로 전달합니다. API 목록 전체 문서에서 각 MBTI 타입별 상위 100개 키워드 출력 - 문서 수 기준 MBTI 유형 중 E 또는 I 유형에 따라 상위 100개 키워드 출력 MBTI 유형 중 E 또는 I 유형에 따라 검색어를 입력하여 검색된 상위 100개 키워드 출력 구현한 API는 다음과 같습니다. 전체 문서에서 각 MBTI 타입별 상위 100개 키워드를 출력 @app.get('/top/keywords/{mbti_type}') def get_top_keywords(mbti_type: str, q:Optional[str]=None): es_query = { "size": 0, "query": {"match": {"keyword": mbti_type}}, "aggs..
[Elastic Search] MBTI 검색 프로젝트 - 2. Emoji 검색 및 Aggregation(3편) Re-Index 막상 이모티콘 검색을 해보니 각 원문에서 이모티콘이 얼마나 포함되어 있는지, 어떤 이모티콘이 가장 많이 있는지 검색해보자 그전에 사전 준비 작업으로 text field로 들어간 데이터에서 키워드를 추출(Es 내부에서는 Term)할 수 있도록 인덱스를 구성하고 전체 문서에서 키워드 빈도수를 기준으로 데이터를 추출하는 방법을 찾아봅니다. 인덱스 구성 PUT /mbti_term { "settings": { "analysis": { "analyzer": { "nori_mixed": { "tokenizer": "nori_t_mixed", "filter": "shingle" }, "nori_pos_noun": { "type": "custom", "tokenizer": "nori_t_mixed", "..
[Elastic Search] MBTI 검색 프로젝트 - 2. Emoji 검색 및 Aggregation(2편) 기존 콘텐츠에서 이모티콘만 파싱 하여 데이터를 RDB에 수집하였습니다. (ES Analyzer에 regex filter를 적용하여 분석하는 것은 다음에 진행해보겠습니다!) 스키마를 다음과 같이 구성하고 데이터를 Insert 하였습니다(RDB) T: t_emoji_dashboard Columns: emoji, mbti_type(MBTI 타입 입니다), emoji_count(각 문서별 등장 횟수입니다) SELECT emoji, mbti_type, sum(emoji_count) FROM t_emoji_dashboard WHERE emoji = '😘' GROUP BY emoji, mbti_type ORDER BY mbti_type, sum DESC 사용한 쿼리로 조회한 결과입니다. (특정 이모티콘만 조회하였습니..
[기타] 맥북으로 원격근무 환경 세팅하기 현재 회사에서 맥을 사용중입니다. 현재 사용하는 PC도 맥이기 때문에 원격 접속하는 환경을 세팅해보겠습니다. Mac 원격 접속방법 Parsec Parsec 설치 후 Mac 환경 설정에서 다음과 같이 설정을 열어주어야 합니다. 보안 및 개인정보 보호 > 손쉬운 사용 위 설정에서 Parsec을 체크 해준 뒤 변경합니다. 이후 화면 기록 항목에서도 체크를 해줍니다. 이후 Parsec 을 실행 한 뒤 왼쪽 아이콘 중 설정(톱니바퀴)을 클릭합니다. 그러면 이전에 없던 Hosting Enabled 라는 옵션이 생겼습니다. 이 옵션을 Enabled 로 설정해주세요. 설정 후 컴퓨터 목록으로 가 보면 공유된 컴퓨터를 확인하실 수 있습니다!
[Elastic Search] MBTI 검색 프로젝트 - 2. Emoji 검색 및 Aggregation MBTI 별 특성을 파악하는 프로젝트를 진행 중입니다. 수집된 텍스트들을 보니 이모지가 많이 사용되고 있는 걸 찾을 수 있었습니다. ###Q: Emoji가 ElasticSearch 에서 검색이 되나요? ###A: 네 Emoji도 텍스트로 취급되기 때문에 검색이 잘 됩니다! 하지만 모든 이모지를 검색하여 문서 수가 얼마나 있는지 파악하기는 쉽지 않습니다. 그래서 이미 수집된 데이터에서 이모지만 파싱 해봅시다. 저는 Python의 Regex를 이용해서 이모지를 추출했습니다. import pandas as pd import re # ... DB에서 데이터를 가져오는 부분은 생략 # df는 칼럼으로 contents(수집된 텍스트), doc_url(텍스트의 url)을 가지고 있음 emoji_pattern = re..

반응형