일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 |
- Algorithm
- dfs
- daspecialty
- Easy
- 스파크
- 장고
- Medium
- 해시
- RecommendationSystem
- 프로그래머스
- Optimization
- 알고리즘
- ELK
- solution
- twosum
- leetcode
- Django
- dump
- AWS
- kibana
- 엘라스틱서치
- python
- CentOS
- 키바나
- 깊이우선탐색
- elasticsearch
- 파이썬
- Spark
- programmers
- 리트코드
- Today
- Total
목록2022/06 (11)
Archive
0. Overview MVT 에서 UI를 담당하고 있는 시스템으로, Template문법으로 작성된 Template 코드를 해석하여 Template 파일로 결과물을 만든다. Rendering : Template code -> Template File(HTML / JSON / XML 등) 으로 해석하는 과정 1. Variable 변수는 {{ variable }} 형태로 작성한다. 변수의 속성에 접근하기 위해서는 . 를 사용하는데, 변수 타입에 따라 다르게 해석한다. 아래의 순서대로 lookup을 시도한다. ex) foo.bar ① if foo : dictionary -> foo['bar'] ② if bar is exist -> foo.bar ③ if foo is list -> foo[bar] 2. Filt..
0. Overview Django 의 Admin은 프로세스에 관련된 Admin이 아니라 데이터에 대한 CRUD를 제공한다. 1. 데이터 입력/수정 models.py 파일에 정의한 Field 타입에 따라 적합한 UI를 보여준다 #models.py class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateField('date_published') 2.필드 순서 변경 데이터 변경이 아닌 Admin 상에서 테이블을 보여주는 UI 양식을 변경하고 싶을 때 /polls/admin.py를 통해 변경할 수 있다 #admin.py from django.contrib import admin from ..
0. Overview - View/ Template 코딩전에 Request / Response에 대한 로직을 설계하고 시작해야 한다. - URL ~ View 는 N:1 매핑이 가능하다. 코딩순서 urls.py views.index() views.detail() views.vote() views.results() 1. URLconf 위의 로직에 따라 URLconf와 View를 설계해 보면 아래와 같다 URL 패턴 뷰 이름 뷰가 처리하는 내용 /polls/ index() index.html template 보여줌 /polls/5/ detail() detail.html template 보여줌 /polls/5/vote/ vote() detail.html에 있는 form을 POST방식으로 처리 /polls/5/r..
0. Overview 코딩순서 - models.py : 테이블 정의 - admins. py : 정의된 테이블 Admin화면에 표시 실행순서 - manage.py makemigrations : DB에 변경이 필요한 사항 추출 - manage.py migrate : DB에 변경사항 반영 - manage.py runserver 1. models.py Table을 하나의 Class 로 정의, Table의 Column은 Class의 변수로 매핑 - Table Class는 django.db.models.Model 클래스를 상속받아 정의, 각 Class 내 변수 타입도 Django에서 미리 정의된 Field Class를 사용 Primary Key의 경우 Not NULL로 자동으로 Django 에서 생성된다 Fro..
1. MVT 웹 개발시 일반적으로 사용되는 MVC의 Django 버전. 데이터, 인터페이스, 데이터 처리로직을 분리하여 독립적으로 실행하고 각 로직들의 영향도를 최소화 하도록 설계된 개념이다 Model(Model) View(Controller) Template(View) DB에 저장되는 데이터 데이터를 가져오고 처리결과를 template에 전달 사용자에게 보여지는 UI 1) Model 사용될 데이터에 대한 정의 models.py 에 정의 ORM(Object Relational Mapping)을 통해 DB를 Class로 mapping : 하나의 Model Class는 하나의 DB Class에 Mapping, Model Class의 속성은 Table의 Column에 매핑 2) URL conf URL 과 Vi..
Kibana Index애서 Timestamp 를 활용하기 위해선 아래와 같은 데이터 형식으로 맞추어 주어야 한다. "yyyy-MM-dd" ex) "2022-06-18" "yyyy-MM-dd'T'HH:mm:ss" ex) "2022-06-18'T'18:44:42" "yyyy-MM-dd'T'HH:mm+/-HH:mm" ex) "2022-06-18'T'18:44:42+09:00" "yyyy-MM-dd'T'HH:mm.ss.SSS'Z'" ex) "2022-06-18'T'18:44:420Z" 위와 같은 ISO8601 형식이 아니면 Text, Keyword, 혹은 Long타입으로 인식 되기도 한다. ES 적재 전 date format을 위의 형식으로 맞추어 주어야 Timestamp로 인식되며, Kibana Index P..
1. 노드 ( Node ) 클러스터를 구성하는 하나의 Instance이다 데이터를 저장하고 클러스터의 Indexing과 Searching 역할을 한다. 물리서버 하나에 노드 하나를 구성하는 것을 권장하지만, 단일 서버에 복수 노드를 설치하는 것도 가능하다 HW Spec을 고려하여 노드를 구성해야한다 1.1 Master Node 클러스터는 반드시 한개의 마스터 노드를 가진다 Cluster의 모든 상태 정보 관리 및 상태 모니터링 Master Eligible Node에 의해 선출된다 (사용자 지정 X) - 선출 방식은 과반 수 이상의 투표를 얻어야 한다 - Voting only Node를 통해 Master Eligible Node가 특정 이유에 의해 대량으로 장애가 발생했을 때 Availability 확보 ..
Kibana Maps를 통해 위치 정보가 포함되어 있는 데이터를 지도에 올리거나 다양한 형태의 지도를 레이어하여 볼 수 있는 지도 시각화 기능을 제공한다 Layer Vector Layer : 점, 선, 폴리곤 등을 표현할 수 있음 ex) Upload GeoJSON, Documents, Choropleth, Clusters and grids, Heat map, Point to point, EMS Boundaries, Configured GeoJSON https://maps.elastic.co/#file/world_countries 링크에서 Elasticsearch에서 기본적으로 제공하는 벡터 레이어를 확인할 수 있다 Upload geoJson을 통해 유저가 추가하고 싶은 Layer를 추가할 수 있다 Clu..
TOC 0. Overview 1. Index Pattern 2. Discover 2.1 Query 2.2 Filter 3. Visualization 3.1 Aggregation Based 3.1.1 Bar Chart 3.1.2 Heatmap 3.2 TSVB 4. DashBoard 5. Canvas 0. Overview Kibana는 ELK의 관리, 모니터링, 대시보드까지를 모두 커버하는 메인 Web UI이다. 1. Index Pattern Kibana에서 시각화를 하기 위해서는 반드시 Elasticsearch Index에 연결되어 있어야 한다. Index Pattern Data source를 elasticsearch 에서 가져오는 것으로, Index mapping 정보 등을 Kibana에서 사용하기 적합..
0. Overview 1. Metirc Aggregation 2. Bucket Aggregation 3. Combination of Aggregations 3.1 Bucket & Metric Aggregations 3.2 Sub Bucket Aggregations 3.3 Pipeline Aggregations 0. Overview Kibana가 집계 기능을 기반으로 동작하기 때문에 집계를 제대로 이해하는 것이 중요하다 메트릭 집계 / 버킷 집계로 나뉜다 Search API 요청에 aggs파라메타 이용하여 집계를 생성한다 1. Metirc Aggregation avg, min, max, sum, percentiles, stats, cardinality, geo-centroid 등 주로 통곗값 계산이 목적 ..