본문 바로가기
반응형

분류 전체보기1065

[T.I.L] : 08 일일 배움을 위한 Today I Learned ! 몽고디비에서 샤딩 시스템과 파스타 BOSH 설정을 진행하고 있습니다. 아직 막히는 부분이 있어서 파트를 나눠서 공부하고 있고 노트북 사양이 부족해서 중간에 삭제하고 데스크탑으로 다시 설치하고 실행 중에 있습니다. 2021.11.02 - [Data Base/NOSQL] - [NOSQL] : 샤딩 시스템 (Sharding System) 1부 [NOSQL] : 샤딩 시스템 (Sharding System) 1부 샤딩 - 빅데이터 환경은 수많은 데이터를 빠른 시간에 수집 및 저장할 수 있어야 합니다. 때에 따라서는 분산, 집계하여 사용자가 원하는 통계 정보로 가공할 수도 있어야 합니다. 이런 시스템 ohju.tistory.com 2021. 11. 2.
[NOSQL] : 샤딩 시스템 (Sharding System) 1부 샤딩 - 빅데이터 환경은 수많은 데이터를 빠른 시간에 수집 및 저장할 수 있어야 합니다. 때에 따라서는 분산, 집계하여 사용자가 원하는 통계 정보로 가공할 수도 있어야 합니다. 이런 시스템 구축 환경을 구축하기 위해 효과적인 데이터 분산 저장 및 처리 기술이 필요한데 그것을 샤딩(Sharding) 시스템 이라고 합니다. 목적 - 데이터의 분산 저장 - 빠른 성능 - 데이터의 백업과 복구 전략의 일환 Sharding 구축을 위한 시스템 환경 - 샤딩 시스템은 데이터의 적절한 분산 처리를 통한 효율성 향상이 큰 목적이므로 3대 이상의 샤드 서버로 구축할 것을 권창합니다. # 최소 2대 이상이지만 가장 적절한 선능이 보장되기 위한 적정 서버 수 - 싱글 노드를 운영할 때 요구되는 메모리 영역보다 최소 20~3.. 2021. 11. 2.
[T.I.L] : 07 일일 배움을 위한 Today I Learned ! 알고리즘 알고리즘 기초에 대해 공부했습니다. 알고리즘을 코드로 바꾸는 것 보다는 알고리즘 자체를 이해하기 위한 노력을 하고 있습니다. 2021.11.01 - [Algorithm/알고리즘] - [알고리즘] : 알고리즘 기초 설명 [알고리즘] : 알고리즘 기초 설명 그리디(greedy) 알고리즘 - 최적화 문제를 해결하는 알고리즘입니다. - 욕심쟁이, 탐욕 알고리즘으로도 불립니다. - 데이터 간의 관계를 고려하지 않고 수행 과정에서 욕심내어 최소값 또는 최대값 ohju.tistory.com PaaS-Ta 파스타 컴퓨팅에서 ubuntu를 설치하고 BOSH를 설치하는 환경 설정을 구성하고 있습니다. NOSQL MongoDB를 위한 Data Modeling을 공부.. 2021. 11. 1.
[알고리즘] : 알고리즘 기초 설명 그리디(greedy) 알고리즘 - 최적화 문제를 해결하는 알고리즘입니다. - 욕심쟁이, 탐욕 알고리즘으로도 불립니다. - 데이터 간의 관계를 고려하지 않고 수행 과정에서 욕심내어 최소값 또는 최대값을 가진 데이터를 선택합니다. # 근시안적인 선택이라고도 합니다. 크러스컬(kruskal) 알고리즘 - 가중치가 가장 작은 간선이 사이클을 만들지 않을 때, 욕심내어 그 간선을 추가 시킵니다. 프림(prim) 알고리즘 - 임의의 점 하나를 선택한 후 (n-1)개의 간선을 하나씩 추가시켜 트리를 생성합니다. - 간선이 누적 된다는 표현을 많이 씁니다. (누적형이지만 최소 가중치 값은 올라가고 있습니다.) 다익스트라(dijkstra) 알고리즘 - 방향성이 있습니다. - 출발 지점이 있습니다. - 출발 지점부터 목적.. 2021. 11. 1.
[T.I.L] : 06 일일 배움을 위한 Today I Learned ! 스프링을 하면서 Mapper 단에 쿼리를 잘 써야겠다는 생각에 데이터 베이스를 다시 공부했습니다. 오라클 데이터 베이스를 사용해서 Scott 사용자를 활성화 시키고 타이핑을 치다 정리 좀 해 둬야겠다 싶어서 처음부터 체크하면서 정리합니다. - 2021.10.31 - [Data Base/SQL] - [SQL] : 데이터 딕셔너리 및 테이블 구조 확인 [SQL] : 데이터 딕셔너리 및 테이블 구조 확인 OracleDB를 사용하고 Scott 사용자를 활성화 시켜서 실습합니다. SQL은 대문자와 소문자를 가리지 않기 때문에 본인 알아서 대,소문자 구분해서 사용하시면 됩니다. 데이터 딕셔너리 TAB SELECT * FROM TAB ohju.tistory.com 2.. 2021. 10. 31.
[SQL] : 데이터를 조회하는 SELECT 문 SELECT - SQL 명령어는 하나의 문장으로 구성되어야 하는데 여러 개의 절이 모여서 문장이 되는 것이고 문장들은 반드시 세미콜론[ ; ]으로 마쳐야 합니다. - [ * ](all, 올)은 테이블 내 모든 컬럼을 출력하고자 할 때 사용합니다. SELECT 컬럼 FROM 테이블 - SELECT문 기초 구성입니다. SELECT * FROM DEPT; - DEPT 테이블의 모든 컬럼을 조회하는 명령어입니다. - 부서 테이블 내 어떤 컬럼이 저장되어 있는지 확인할 수 있습니다. - 모든 칼럼을 조회하길 원하지 않고 몇 개만 따로 조회하길 원한다면 [ * ] 대신에 컬럼명을 적어주면 됩니다. - 조회하고자 하는 컬럼이 여러개면 [ , ] 콤마를 넣어 원하는 컬럼들을 추가하면 됩니다. 2021. 10. 31.
[SQL] : 데이터 딕셔너리 및 테이블 구조 확인 OracleDB를 사용하고 Scott 사용자를 활성화 시켜서 실습합니다. SQL은 대문자와 소문자를 가리지 않기 때문에 본인 알아서 대,소문자 구분해서 사용하시면 됩니다. 데이터 딕셔너리 TAB SELECT * FROM TAB; - TAB는 TABLE의 약자로 테이블의 정보를 알려주는 데이터 딕셔너리입니다. 테이블 구조를 확인하는 DESC DESC DEPT - DEPT는 부서의 정보를 저장하고 있습니다. - DEPT의 구조를 살펴보기 위해 DESC 명령어를 사용했습니다. - DESC 명령어는 테이블의 컬럼 이름, 데이터 형, 길이, NULL 허용 유무 등 특정 테이블의 정보를 알려줍니다. - DEPT 테이블에 DEPTNO(부서번호), DNAME(부서명), LOC(지역명)이렇게 3개의 컬럼이 있습니다. D.. 2021. 10. 31.
[T.I.L] : 05 일일 배움을 위한 Today I Learned ! 데이터 모델링의 특징 - 추상화 : 현실 세계를 일정한 형식에 맞추어 표현합니다. - 단순화 : 복잡한 현실 세계를 약속된 규약에 의해 제한된 표기기법이나 언어로 표현하여 쉽게 이해할 수 있도록 하는 개념입니다. - 명확화 : 누구나 이해하기 쉽게 하기 위해 대상에 대한 애매모호함을 제거하고 정확하게 현상을 기술하는 것 입니다. 데이터 모델링의 유의점 - 중복 : 같은 시간 같은 데이터를 제공합니다. - 비유연성 : 사소한 업무 변화에 데이터 모델이 수시로 변화경되면 안 됩니다. - 비일관성 : 신용 상태에 대한 갱신 없이 고객의 납부 이력 정보 갱신이 안 됩니다. ( 연계성 저하) - SQLD 자격증을 공부하면서 데이터 모델링의 이해 파트에 대한 공부를.. 2021. 10. 30.
[T.I.L] : 04 일일 배움을 위한 Today I Learned ! 오피니언 마이닝 자바 스프링으로 오피니언 마이닝을 연습했습니다.' 데이터 사전에 데이터를 넣고 어절 단위로 문장을 끊어 읽어 들이며 데이터를 분석합니다. 데이터는 일반적으로 JSON 형태로 데이터를 저장합니다. 2021.10.29 - [Framework/Spring Framework] - [Spring Framework] : 오피니언 마이닝, Opinion Mining (긍정 및 부정 분석) [Spring Framework] : 오피니언 마이닝, Opinion Mining (긍정 및 부정 분석) 오미니언 마이닝 - 형태소 분석은 품사를 뽑아내어 형태소의 어근, 어미를 파악하는 것으로 한국 밖에 없습니다. - 데이터 사전 # 다양한 단어들이 모인 집단입니다.. 2021. 10. 29.
[Spring Framework] : 오피니언 마이닝, Opinion Mining (긍정 및 부정 분석) 오미니언 마이닝 - 형태소 분석은 품사를 뽑아내어 형태소의 어근, 어미를 파악하는 것으로 한국 밖에 없습니다. - 데이터 사전 # 다양한 단어들이 모인 집단입니다. # 형태소 분석을 통해 분석된 형태소와 데이터 사전과 매칭하여 데이터를 분석합니다.(데이터 사전은 정보이고, 정보는 곧 돈이기 때문에 오픈이 잘 안 됩니다. # 일반적으로 JSON 형태로 데이터를 처리합니다. 데이터 베이스에 사용할 데이터를 유형에 맞게 생성해 줬습니다. - 데이터를 넣어주었습니다. - 데이터가 얼마나 들어갔는지 확인해 보면 14811개가 들어가있는 것을 확인할 수 있습니다. select count(*) from NLP_DICTIONARY; - SQL count (카운트) 쿼리니다. - 만약 제대로 데이터가 안 들어가면 테이블.. 2021. 10. 29.
[Data Modelling] : 속성 정의 및 엔터티 상세화 속성 검증 및 확정 - 1단계 : 최소 단위까지 분할합니다. - 2단계 : 하나의 값만을 가지는 검증합니다. - 3단계 : 추출 속성인지 검증합니다. - 4단계 : 보다 상세하게 관리할 것인지 확인합니다. 속성 정의 시 유의사항 - 의미가 명확한 속성 명칭을 부여합니다. - 유일한 복합명사를 사용합니다. - 단수형으로 속성 명을 정합니다. - 표준 단어를 사용하고 작의적인 전용 금지합니다. 식별자 확정(UID : Unique Identifier) - 식별자는 엔터티 내 모든 인스턴스의 유일성을 보장하기 위해 반드시 필요합니다. - 키 엔터티의 본질 식별자 - 절대 종속 / 상대 종속 의미 - 직접 종속 / 간접 종속 의미 - 행위 엔터티의 본질 식별자 # 행위 엔터티는 육하원칙을 생각하면서 작성하면 됩니.. 2021. 10. 29.
[Data Modelling] : 정규화 정의 및 제1정규화, 제2정규화 정규화 (Normalization) - 논리 데이터 모델을 일관성이 있고 안정성 있는 자료구조로 만드는 단계입니다. - 정규화 의미 # 엔터티에 데이터를 삽입, 수정, 삭제할 때 오류가 발생할 개연성을 가지고 있으며, 이를 변경 이상이라 하며 구체적으로 삽입 이상, 수정 이상, 삭제 이상 등이 있습니다. # 변경 이상이 발생하는 데이터가 신뢰할 수 없는 값들로 채워지고 데이터의 일관성, 무결성을 해칩니다. # 정규화 과정을 통해서 변경 이상의 엔터티를 정규화된 엔터티로 변환하게 됩니다. 입력 이상 - 릴레이션에 새 데이터를 삽입하기 위해 원치 않는 불필요한 데이터도 함께 삽입해야 하는 문제입니다. 아아디 이벤트 번호 당첨 여부 고객 이름 등급 apple 01 Y 홍길동 GOLD apple2 02 N 홍동.. 2021. 10. 29.
[T.I.L] : 03 일일 배움을 위한 Today I Learned ! 하둡에서 플룸 셋팅과 딥러닝 마무리를 했습니다. 플룸은 텍스트 형태의 데이터를 수집하기 위해 사용되는 빅데이터 기술로 일반적으로 로그 수집에 사용됩니다. 윈도우는 공식적으론 지원하지 않고 있고 리눅스를 통해 사용할 수 있습니다. 2021.10.28 - [Data Base/Hadoop] - [Hadoop] : Flume ( 플룸 ) 셋팅 및 실행 [Hadoop] : Flume ( 플룸 ) 셋팅 및 실행 Flume ( 플룸) - 텍스트 형태의 데이터를 수집하기 위해 사용하는 빅데이터 기술입니다. - 일반적으로 로그 수집에 사용됩니다. 예를 들면 톰켓에서 주기적으로 생성되는 웹 로그 분석에 많이 사용 ohju.tistory.com - 딥러닝은 마무리로 데이터 .. 2021. 10. 28.
[Hadoop] : Flume ( 플룸 ) 셋팅 및 실행 Flume ( 플룸) - 텍스트 형태의 데이터를 수집하기 위해 사용하는 빅데이터 기술입니다. - 일반적으로 로그 수집에 사용됩니다. 예를 들면 톰켓에서 주기적으로 생성되는 웹 로그 분석에 많이 사용됩니다. - 공식적으로 윈도우 서버는 없고 리눅스에서 지원을 합니다. - 웹 서버 > 소스 > 채널 > 싱크 > 하둡 순으로 흐릅니다. - 소스 = 원천 파일을 가져가기 위한 데몬이고 가지고 가서 하둡에 보내기 위해 - 채널이란 길을 통해 전송을 하고 - 싱크를 통해 맞춰서 보냅니다. Download — Apache Flume Download — Apache Flume flume.apache.org 위 링크에서 플룸을 설치해 주면 됩니다. 받은 플룸을 winSCP를 이용해 sw파일로 옮겨줍니다. 파일이 정상적으.. 2021. 10. 28.
[T.I.L] : 02 일일 배움을 위한 Today I Learned ! java Spring Framework에서 웹 크롤링 하는 것과 딥러닝 하는 것을 공부했습니다. 어제 CGV를 웹 크롤링하는 것을 이어서 오늘은 학교 식단을 웹 크롤링으로 정보를 가져왔고 코드는 참고해서 했습니다. package poly.service.impl; import java.util.Iterator; import javax.annotation.Resource; import org.apache.log4j.Logger; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import .. 2021. 10. 27.
[Spring Framework] : 딥러닝 (이미지 인식) 딥러닝 지도 학습은 문제지랑 답을 준다고 생각하면 되고 강화 학습은 문제지를 주고 스스로 답을 찾게 한다고 보면 됩니다. 여기서 머신 러닝은 지도 학습이라 볼 수 있고 딥러닝은 비지도학습, 강화학습이라고 볼 수 있습니다. 이미지 인식을 위한 딥러닝 플랫폼이 여러가지가 있습니다. 1. 구글에서 만든 텐서플로우 2. 인텔에서 만든 OpenCV 3. HP에서 만든 Tesseract Tesseract를 이용한 이미지 인식 - 요즘은 수학적 알고리즘 보다는 학습된 데이터를 통해 이미지를 인식 시킵니다. 그러다보니 학습된 데이터 량을 늘리기 위해 빅데이터를 활용합니다. - 학습을 위해 공개된 데이터를 활용해 실습을 하면 좋습니다. 데이터 학습 방법 - 제공하는 전용 툴을 통해 학습 시킵니다. - 파이썬으로 프로그래.. 2021. 10. 27.
[Python] : 위젯의 배치와 크기 조절 위젯의 배치와 크기 조절 - 윈도우 창에 위젯을 여러 개 표시할 때 그 배치를 잘 고려해 화면을 효과적으로 표현할 수 있습니다. - pack() 이나 place() 함수를 사용해 위젯을 화면에 출력합니다. - 기존에 출력된 위젯의 모양을 변경할 때는 configure() 함수를 사용합니다. from tkinter import * window = Tk() button1 = Button(window, text = "버튼1") button2 = Button(window, text = "버튼2") button3 = Button(window, text = "버튼3") button1.pack(side =LEFT) button2.pack(side =LEFT) button3.pack(side =LEFT) window... 2021. 10. 27.
[Python] : 기본 위젯 활용 기본 위젯 활용 from tkinter import * window = Tk() window.mainloop() - 위젯은 윈도우 창에 나올 수 있는 문자, 버튼, 체크박스, 라디오버튼 등을 의미합니다. - tkinter은 파이썬에서 GUI 관련 모듈을 제공하는 표준 윈도우 라이브러리입니다. - TK()는 기본이 되는 윈도우를 반환하는데 이를 루트 윈도우, 베이스 윈도우라고 합니다. - 윈도우 창에 제목을 달고 크기를 지정할 수 있고 윈도우 창의 크기가 변경되지 않도록 고정시키는 방법이 있습니다. from tkinter import * window = Tk() window.title("윈도우창 연습") window.geometry("400x100") window.resizable(width=FALSE, .. 2021. 10. 27.
[SQLD] : 데이터 모델링 이해 데이터 모델링 이해 # 데이터 모델링은 시스템 구현, 업무 분석, 업무 형상화를 하는 목적이 있다. # 데이터 모델링 유의 사항 - 중복(Duplication) : 데이터 베이스가 여러 장소에 같은 정보를 저장하지 않도록 한다. - 비유연성(Inflexibility) : 데이터 모델을 어떻게 설계했냐에 따라 사소한 업무 변화에도 데이터 모델이 수시로 변경되서 유지보수의 어려움을 증가시킬 수가 있다. 데이터의 정의를 데이터의 사용 프로세스와 분리함으로써 데이터 모델링은 데이터나 프로세스의 작은 변화가 애플리케이션과 데이터베이스에 중대한 변화를 일으킬 수 있는 가능성을 줄인다. - 비일관성(Inconsistency) : 중복이 없더라도 비일관성은 발생할 수 있다. 데이터 모델링을 할 때 데이터와 데이터 간의.. 2021. 10. 26.
[T.I.L] : 01 일일 배움을 위한 Today I Learned ! 웹 수집 (크롤링) 크롤링은 HTML에 접근해 텍스트를 읽어 들이는 방법으로 HTML 태그에 대한 이해도가 높아야 합니다. CGV 영화 순위를 크롤링 해오는 실습을 했는데 HTML을 보면서 어느 단에서 끊어서 가져와야 하는지에 대한 고민이 제일 어려웠습니다. 예제를 참고하면서 코딩을 해 데이터 끌어오는 것은 성공시켰지만 아직 예제 없이 혼자 코딩을 하기엔 많이 부족하고 코드의 흐름과 각 중요 부분의 역할도 제대로 알지 못 하지만 이것도 반복해서 공부하는 것이 중요합니다. 결과적으론 오늘 예제를 학습하면서 크롤링에 성공을 하긴 했습니다. 아직 부족한 부분은 더 학습해서 올려보도록 하겠습니다. - https://ohju.tistory.com/37 [스프링 프.. 2021. 10. 26.
[Spring Framework] : 웹 크롤링(수집)하기 www.cgv.co.kr/movies/ 위에 링크에 있는 CGV 영화 정보를 크롤링 하는 것을 목표로 합니다. 인터넷 브라우저에 보여지는 사이트는 모두 HTML을 인터넷 브라우저가 읽어서 보여주는데 이런 특징을 활용해 HTML에 작성된 텍스트를 읽어 들이는 방법입니다. 크롤링을 위해서는 HTML 태그에 대한 이해도가 높아야 가능하고 HTML 문서 구조를 파악하는 능력이 중요합니다. 코드 아래 글을 쓰기가 애매해서 주석을 참고하면 됩니다. - 기본 키는 복합키를 사용합니다. - JSOUP 외부 라이브러리 활용을 위해 pom.xml에 추가해 줍니다. - package poly.dto; public class MovieDTO { private String rank_check_time; private Strin.. 2021. 10. 26.
반응형