☆IT 개발 프로그램☆ 26

NOOK Glowlight plus 누크뿔 크레마 설치하기 [2019년판] (윈도우/맥OS)

누크뿔 루팅 매뉴얼 - MAC OS & 윈도우 유저 모두 적용 가능 - 크레마 최신 APK 포함 (누크쁠에서 사용가능한 가장 최신 버전이다. 버전에 따라 재생이 불가한 책들도 있으므로 최신판을 사용하는 게 좋다. 로그인 문제가 발생시 보유기계수 문제일 가능성이 높으므로 체크할 것.) - 교보문고 공공도서관 APK 포함 - 최신형 USB 케이블을 사용할 것. NOOK 기계는 구형 케이블을 인식하지 못한다. 1. NOOK 디바이스 USB 디버깅 모드 설정 1.1 반스 앤 노블 서점에 로그인 한 후, 본인의 닉네임을 클릭하면 여러 메뉴가 나오는데, SETTINGS > ABOUT 을 선택한다. 1.2 개발자 모드로 들어가기 위해서, 상단의 누크 로고를 세번 정도 빠르게 터치한다. 1.3 그러면 시크릿 개발자 모..

[ElasticSearch 엘라스틱서치] 멀티 필드 맵핑, 정렬과 검색을 동시에

엘라스틱서치, Mapping? 엘라스틱서치 안에서 맵핑이란, 사용될 필드들의 타입(자료형)을 사전에 정의해주는 것이다. 관계형 데이터베이스로 비유하자면 스키마 정의와 같다. 텍스트 타입 이외에도 다양한 숫자 타입, 날짜 타입, 위치 데이터 등으로 정의할 수 있으며 디테일한 커스텀 설정이 가능하다. 이 포스팅은 맵핑안에서 "fields" 파라미터를 이용하여, 한 필드가 다양한 특성을 동시에 가질 수 있도록 커스텀 맵핑하는 법에 대해 설명한다. 1. 맵핑 기본문법 SYNTAX # MAPPING PUT /my-index { "mappings": { "properties": { "age": { "type": "integer" }, "email": { "type": "keyword" }, "name": { "ty..

[도커 + 엘라스틱서치] Docker로 ElasticSearch ELK 스택 디플로이

도커를 사용하는 이유 다른 OS 플랫폼을 사용하는 유저들도 동일한 로컬 개발환경을 구성할 수 있다. 쉽고 간단한 버전 매니지먼트가 가능하다. 도커로 ELK 스택 디플로이 도커(Docker)를 이용하여 엘라스틱서치 + 키바나 + 로그스태쉬, 일명 ELK스택을 기동한다. 오리지널 빌드 별도 플러그인이나 config 수정이 필요하지 않으면 깃허브에서 공식 이미지를 그대로 pull해와서 그대로 빌드할수 있다. 키바나, 로그스태쉬 이미지를 pull한다. 버전명은 물론 편의에 따라 수정할 수 있다. # docker pull docker.elastic.co/elasticsearch/elasticsearch:7.3.1 $ docker pull docker.elastic.co/kibana/kibana:7.3.1 $ do..

[Kafka] 카프카란? 개념과 디자인

차례 카프카란 카프카의 특징 카프카 데이터 모델 카프카 리플리케이션 카프카란 카프카는 서비스간에 메시지 통신을 제공하는, 메시지 큐 서비스이다. 실 서비스에서 언제 메시지 통신이 요구될까? 하나의 프로젝트로 기능하던 것을 여러개의 프로젝트로 쪼개서 배치되어있는 상황을 생각해보자. 이 때 각각의 도메인들은 내부에서 동적으로 요청을 처리한 후 다른 도메인에 그 결과를 전달해주어야 할 상황들이 있을 것이다. 즉 카프카와 같은 메시지 큐는 마이크로 서비스 아키텍쳐(MSA)를 구현하는 아키텍쳐와 잘 어울린다. 카프카의 특징 분산 시스템 같은 역할을 하는 여러 대의 서버로 분산 처리 기능을 제공한다. 분산 시스템을 구현하면 하나의 서버에 장애가 발생해도 다른 서버가 장애 서버의 역할을 대신함으로써 장애상황에 대응할..

[Kafka] 터미널에서 카프카 토픽 생성, 발행, 컨슘하기

목차 1. 카프카 설치 2. 토픽 생성 3. 프로듀서 실행 / 메시지 발행 4. 컨슈머 실행 / 메시지 컨슘 1. 카프카 설치 준비물 // Git, Docker 가 PC에 설치되어 있어야 한다. 먼저 깃으로 kafaka-docker를 설치한다. $ git clone https://github.com/wurstmeister/kafka-docker 설치 후, config 파일을 연다. 로컬 PC를 카프카 브로커로 사용할 것이므로 environment 하위의 KAFKA_ADVERTISED_HOST_NAME 환경변수의 값을 아래처럼 바꾸어 주고, 토픽은 지운다. (토픽은 다음 단계에서 직접 생성할 것이다.) vi kafka-docker/docker-compose-single-broker.yml docker로 k..

[Git] 깃 커맨드라인(터미널) 한글 출력 영어로 바꾸기 (쉘 언어 설정 변경)

원인 얼마전 GIT 오픈소스를 터미널로 내려 받았는데, 터미널에 한글 메시지가 떴다. 맥의 언어설정을 영어로 해두고 쓰고 있는데, 왜 한글로 메시지가 뜨는지 궁금했다. 딱히 GITHUB내부에서 언어 설정을 하는 페이지가 있는 것 같지도 않았는데... 이 문제는 사용하는 SHELL의 언어설정이 한글로 되어있는 경우 발생한다. 확인을 위해 환경변수를 프린트해보자. (참고:쉘에서 환경변수는 영어대문자로 정의되어 있다. LANG, SHELL, HOSTNAME 등...) ❯ echo $LANG en_US 현재 shell의 설정은 영어로 되어있음을 알 수 있다. 그러나 다른 언어인 경우, git은 그 언어에 맞추어 메시지를 출력할 것이다. Z Shell을 사용시에는 ~/.zshrc 파일의 컨피그 파일을 변경해주면 ..

[리눅스 Shell] 쉘 스크립트에 인수 넘겨주기(Argument parsing)

#! /bin/bash if [ $# -lt 1 ] ; then echo '인수를 넘겨주세요 (option1/option2/option3)' exit 1 fi MY_ARGUMENT=`echo $1 | tr '[A-Z]' '[a-z]'`; echo 내 인수: ${MY_ARGUMENT} [스크립트의 가상 조건] 조건 1: 인수가 넘어오지 않으면 '인수를 넘겨주세요'라는 메시지를 출력하고 종료하라. 조건 2: 넘어온 인수의 대문자는 소문자로 파싱하여 처리하라. 콘솔에서 인수(Argument)를 넘겨주고, 내부에서 받아오는 스크립트를 작성해보았다. 파이썬이나 자바는 기존 라이브러리를 사용하면 (ex. argparse) 단순히 메소드만 호출하여 대소문자 처리, 인수 강제여부 등 각종 예외상황을 쉽게 처리할 수 있..

[MySQL] DB 쿼리 검색결과를 CSV파일로 바로 추출하기

DB에서 쿼리검색결과를 CSV 파일로 취득할 때에는, 2가지 방법이 있다. DB안에서 쿼리를 바로 입력하여 추출할 수도 있고, 콘솔에서 명령어로 추출하는 방법이 있다. * DB가 있는 서버와 동일한 서버에 파일을 추출하려고 한다면 전자, 후자의 방법을 모두 적용가능하지만, DB서버를 따로 운용하고 있다면 1의 방법은 사용할 수 없다. 파일이 접속 서버측이 아니라, DB측 서버에 생성될것이기 때문이다. * 단순히 백업 목적의 EXPORT라면 mysqldump로 export하는 편이 더 간편할 수 있다. 1. DB안에서 쿼리로 CSV 추출하기 SELECT col1, col2, col3 FROM MY TABLE INTO OUTFILE '~/20190101.csv' FIELDS TERMINATED BY ',' ..

[쉽게 설명하는 머신러닝] 개념 정리

머신러닝 개념정리 1. 기계학습이란 2. 인간의 경험학습 3. 기계의 경험 학습 4. 학습시 고려할 것 4.1 데이터 4.2 알고리즘 1. 기계학습이란? 머신러닝이란, 말 그대로 기계를 학습시켜(Machine Learning), 의사결정을 할 수 있게 하는 것이다(Decision Making). 기계의 학습에 대해 논하기 전에, 먼저 인간의 학습에 대해 생각해보자. 2. 인간의 경험학습 지금부터 당신의 '강아지vs고양이 분별 모델'의 성능을 체크해 볼것이다. Q1. 아래에 동물 사진 3장이 있다. 강아지는 몇 마리, 고양이는 몇 마리인가? 정답은 강아지 2마리, 고양이 1마리이다. 순서대로 강아지, 고양이, 강아지다. 당신은 아마 100% 정답을 맞췄을 것이다. 그런데, 당신은 어떻게 1번이 강아지이고,..

[쉽게 설명하는 머신러닝] 머신러닝 문제 정의, 알고리즘 선택 방법

이전 포스팅 2019/05/25 - [[IT] 공부하는 개발자/Machine Learning] - [쉽게 설명하는 머신러닝] 개념 정리hobby-collect.tistory.com/136?category=909338 [쉽게 설명하는 머신러닝] 개념 정리 머신러닝 개념정리 1. 기계학습이란 2. 인간의 경험학습 3. 기계의 경험 학습 4. 학습시 고려할 것 4.1 데이터 4.2 알고리즘 1. 기계학습이란? 머신러닝이란, 말 그대로 기계를 학습시켜(Machine Lear hobby-collect.tistory.com 이전 포스팅에서 예측력이 좋은 모델을 개발하기 위해서는 데이터만큼이나 알고리즘의 선택이 중요하다고 이야기했었다. 이번 포스팅에서는 머신러닝 문제를 정의하고, 그에 따라 알고리즘을 선택하는 방법에..