분류 전체보기
GCP25 :: dataflow 코드 작성하기 3
GCP25 :: dataflow 코드 작성하기 3
2020.08.24batch 처리에 대한 apache-beam 코드 수행으로 마지막입니다. 1,2 와 크게 다르지 않은 형태이지만 example 수준에서 봐주시면 감사하겠습니다. 2020/08/24 - [Cloud] - dataflow 코드작성하기 2020/08/24 - [Cloud/Cloud.Dataflow] - dataflow 코드 작성하기 2 #apache_beam from apache_beam.options.pipeline_options import PipelineOptions import apache_beam as beam pipeline_options = PipelineOptions( project='project-id', runner='dataflow', temp_location='bucket-location..
GCP24 :: dataflow 코드 작성하기 2
GCP24 :: dataflow 코드 작성하기 2
2020.08.24이전과 비슷한 로직으로 코드를 작성하겠습니다. 다만 조금 더 다양한 Apache-beam 함수를 써서 파이프라인을 구축해보겠습니다. 기본 셋팅은 이전 포스팅을 참고해주세요! 2020/08/24 - [Cloud] - dataflow 코드작성하기 Local환경에서 테스팅 하기 위해서 기본 Data Set을 생성하였습니다. with beam.Pipeline() as pipeline: results = ( pipeline | 'Gardening plants' >> beam.Create([ 'Iot,c c++ python,2015', 'Web,java spring,2016', 'Iot,c c++ spring,2017', 'Iot,c c++ spring,2017', ]) 이 데이터 셋을 가지고 트랜스폼 할것은 어떤..
GCP23 :: dataflow 코드작성하기
GCP23 :: dataflow 코드작성하기
2020.08.24위와 같은 데이터가 있습니다. react 안에서 feature 별 횟수를 묶을 생각입니다. from apache_beam.options.pipeline_options import PipelineOptions import apache_beam as beam 파이프 라인 환경설정을 구성하기 위해서 PipelineOptions 를 사용합니다. pipeline_options = PipelineOptions( project=[project-id], runner='dataflow', temp_location=[bucket-location] ) 기본 설정들을 셋팅 합니다. python 으로 코드를 작성하였습니다. main function 을 pcollection_dofn_methods_basic 으로 만들었습니다. ..
Vue.js01 :: vuetify, chip
Vue.js01 :: vuetify, chip
2020.08.24기존 코드를 위와같이 작성하였는데, chip 을 넣어서 작성하고 싶었다. 그래서 우선 테스트 파일을 작성하였고 내 프로젝트에서 사용할 카테고리는 Web, Iot, Cloud, Data, Server, Client, App, Firmware, AI, Network, BlockChain, Game, DB, security 이다. Vuetify 참고했다. https://vuetifyjs.com/ko/components/chips/ https://vuetifyjs.com/ko/components/combobox/ ㅡ. Template 카테고리 종류 Web Iot Cloud Data Server Client App Firmmware AI Network BlockChain Game DB security ㅡ. Jav..
SQLD01 :: SQLD 시작(SQL Base)
SQLD01 :: SQLD 시작(SQL Base)
2020.08.24시험이 2주 남짓한 상황에서 준비해본다. ㅡ. SQL 기본과 활용 테이블의 구조, 하나의 테이블에서 유일성과 최소성을 만족하면서 해당 테이블을 대표하는것을 의미한다. 칼럼은 데이터를 저장하기 위한 필드(Field)로 속성(Attribute)라고도 한다. ㅡ. SQL 종류 DDL : 구조정의, Create, Alter, Drop, Rename DML : CRUD DCL : 권한부여, Grant, Revoke TCL : 트랜잭션 제어, Commit, Rollback 트랜잭션의 종류 : 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 연속성(Durability) 테이블 구조 확인 - DESC 로 테이블 구조를 확인한다. Atomicity : 원자성. 트랜잭션과 관련된 ..
알고리즘95 :: 다익스트라 로직
알고리즘95 :: 다익스트라 로직
2020.08.23다익스트라를 적용할 때 맵에 값을 갱신할 필요가 있을 경우 상황은 다음과 같이 가정합니다. 맵이 존재하고 시작 위치에서 출발했을때 방향은 무관 각 맵마다 (점수,시간) 이 주어지고 한칸 움직일때마다 1초가 지난다고 가정 이럴 경우에 최대 점수는? 단, 방문했던 맵은 다시 방문가능 하지만 점수는 획득 불가, 시간이 초과한곳도 마찬가지로 점수 획득 불가. 코드 컨셉 : 백트래킹 최대 맵의 크기 : N 이라고 한다면 재귀함수 부분만 구성해보면 if(time>N){ answer = Math.max(answer,maxAnswer); return; } for(int i=0; itime && visit[ddx][ddy]== 0){ visit[ddx][ddy] = 1; answer += delivery[delivery..
React01 :: react 복습
React01 :: react 복습
2020.08.23예전에 해봤었던 react를 복습.. ㅡ. React Hook function 단위로 시작되는것을 말한다. 즉, class없이 state를 사용할 수 있는 기능이다. ㅡ. Provider react로 작성된 컴포넌트를 Provider안에 넣으면 redux store에 접근이 가능하다. ㅡ. Connect() Provider 컴포넌트 하위에 존재하는 Component 가 Store에 접근하게 만드는 역할 수행 ㅡ. mapStateToPros connect 함수에서 첫번째 인수로 들어가는 함수, store가 업데이트 될때마다 자동적으로 호출된다. ㅡ. mapDispatchToProps connect 함수에서 두번째 인자로 들어가는 함수다. store에 접근한 컴포넌트가 store 상태를 바꾸기 위해서 dis..
Network01 :: 서브넷 마스크
Network01 :: 서브넷 마스크
2020.08.22ㅡ. 서브넷마스크 네트워크를 잘게 나눠서 사용하기 위해 만들어졌다. 또, 네트워크 아이디와 호스트 아이디를 구분하기 위해 만들어졌다. 1과 0으로 구성되어있다. 1이 연속으로 나오고 나머지 0으로 나온다. /? ?는 1의 개수를 의미한다. (서브넷 마스크를 기준으로) e.g) IP주소 : 201.222.10.60 -> (60) 0011 1100 서브넷마스크 : 255.255.255.248 -> (248) 1111 1000 서브넷은 201.222.10.56 IP에서 사용자에 따라 네트워크 영역과 호스트영역을 나눠준다고 생각하면 된다. (default) C class 255.255.255.0 ㅡ. 서브네팅 네트워크 관리자가 네트워크 성능을 향상시키기 위해 자원을 효율적으로 분배하는것이다. (자원을 분배한다...
GCP22 :: Web배포시 고려할 점
GCP22 :: Web배포시 고려할 점
2020.08.21본 포스팅은 메모 형식으로 작성된 게시글 입니다. 보시는데 다소 불편하실 수 있습니다. ㅠ private, public subnet-> vm -> 이것저것 -> lb -> lb firewall (외부IP 대역 허용, 443(https), 80(http) filter 추가) -> public 베스천vm -> private subnet 에 nat 로통신해서 외부 library 접속 가능 참고로 베스천vm은 ssh로 내부 ip에 접속하는 용도이다. ㅡ. VPC 생성 ㅡ. 방화벽 규칙 SSH 접속을 하기 위해서 TCP::20 그외에 Load-Balancing TCP::80(http), 443(https) 설정합니다. I. SSH ll. LB ㅡ. vm생성 #! /bin/bash apt-get update apt..
GCP21 :: Nginx 통해 배포된 Compute Engine 에 부하분산기 달기(2)
GCP21 :: Nginx 통해 배포된 Compute Engine 에 부하분산기 달기(2)
2020.08.21ㅡ. 스냅샷 만들기 스냅샷을 가지고 디스크를 생성합니다. ㅡ. 디스크 만들기 스냅샷으로 이미지를 생성합니다. ㅡ. 이미지 만들기 생성된 이미지를 통해서 인스턴스 템플릿을 만들자. ㅡ. 부팅디스크 만들기 ㅡ. 인스턴스템플릿 만들기 인스턴스 템플릿으로 인스턴스 그룹을 생성합니다. ㅡ. 인스턴스 그룹 만들기 다중 영역을 위해서 하나더 만든다. http 를 통해 아이피로 들어가게 되면 로드 밸런싱을 수행한 채로 웹사이트가 동작하는것을 확인할 수 있다.
GCP20 :: Google Cloud Compute Engine 이용해서 Vue.js 배포하기(Nginx)
GCP20 :: Google Cloud Compute Engine 이용해서 Vue.js 배포하기(Nginx)
2020.08.21우선 vue project에서 npm run build 수행하자! 서버를 하나 만들어줬다. GCP에서 Compute Engine 을 다음 스펙으로 만들었다. ssh 로 접속해서 rsa keygen 생성한것을 등록해준다. 2020/08/21 - [Cloud] - bigQuery에서 pub/sub 으로 불러오고, compute engine 에 올려서 event stream 수행하기-1 sudo apt-get install nginx nginx를 설치하자 filezilla를 다운받았습니다. 다운받는경로 : https://filezilla.kr.uptodown.com/mac/download filezilla 이용할때는 Putty도 함께 사용해야 합니다. mac에 putty 까는게 없네... 어찌저찌 옮겼다. (..
GCP19 :: CPU와 메모리 관계(2)
GCP19 :: CPU와 메모리 관계(2)
2020.08.21ㅡ. 메모리 계층 구조 메모리 계층 구조를 보면 : 레지스터>캐시>메모리>하드디스크 순으로 되어있다. 만약 CPU가 한번에 50개 데이터를 처리할 수 있고 메모리가 25개의 데이터를 처리할 수 있다고 가정하면 process : 메모리에서 25개를 처리하고 CPU에서 25개를 처리합니다. CPU가 전부 처리할 수 있지만 전달된 데이터만 처리하기 때문에 CPU가 높은것이 성능에 크게 좌우하지 않는다. CPU와 메모리가 서로 나눠서 처리한다. 결과적으로 연산이 많다면, CPU 사양이 높은것을 고르고 API 로 말아서 데이터를 보내주는 작업이라면, 메모리 사양이 높은것을 고르자.