분류 전체보기
Spring02 :: Spring boot jar 파일 배포
Spring02 :: Spring boot jar 파일 배포
2020.08.21maven 환경에서 tomcat 이 내장된 spring boot 프로젝트를 jar파일로 바로 배포하는 것을 실습해본다. ㅡ. pom.xml 셋팅 spring-boot-starter-tomcat을 추가해줬습니다. (https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-tomcat/2.3.3.RELEASE) 프로젝트 우클릭 - Maven Build 를 실행합니다. build를 통해서 package 를 진행하자. ㅡ. 테스팅 java -jar [jar파일명.jar] jar 파일이 있는곳으로 가서 위 명령어를 실행하게 되면 아래와 같이 동작하는것을 확인할 수 있습니다.
GCP18 :: LB(Load-Balancer)
GCP18 :: LB(Load-Balancer)
2020.08.21workflow는 다음과 같다. VM인스턴스 -> 스냅샷 -> 디스크 -> 이미지 -> 인스턴스템플릿 -> 인스턴스 그룹 -> 로드 밸런서 #! /bin/bash apt-get update apt-get install -y apache2 cat [ 부하 분산 ] 탭이 있다. 인터넷 트래픽 부하분산을 선택했다. 백엔드 서비스를 생성하고 새백엔드 옵션을 이렇게 주었다. 백엔드를 하나 더 추가하자. 유럽 인스턴스 그룹을!! 그 다음에 해야할것은 상태 확인 부분에서 상태 확인 생성이다. 이제 생성을 누르면 백엔드 구성이 완료된다. 그 다음에 호스트및 경로규칙을 누른다. [ 호스트 및 경로규칙 ] 은 규칙에 따라 라우팅 방식을 지정할 수 있지만! 지정하지 않을 수 도 있다. 그 다음에 프론트엔드 구성을 누른다. ..
Linux03 :: bash, update, cat
Linux03 :: bash, update, cat
2020.08.21ㅡ. #! /bin/bash 쉘 스크립트 작성시에 첫 라인에 #! /bin/bash를 기재합니다. 이 의미는 스크립트 파일을 bash shell로 실행시킨다는 의미입니다. e.g)tcsh로 실행시킨다. #! /bin/tcsh 로 시작 또다른 의미는 !/bin/bash 로 지정해서 다른 쉘 간의 오류를 방지합니다. ㅡ. apt-get update 사용 가능한 패키지와 그 버전들의 리스트를 업데이트 합니다. 최신 버전 패키지 확인해서 우분투내에 알려주는 역할을 수행합니다. cat 다음에 EOF > > EOF
bigQuery에서 pub/sub 으로 불러오고, compute engine 에 올려서 event stream 수행하기
bigQuery에서 pub/sub 으로 불러오고, compute engine 에 올려서 event stream 수행하기
2020.08.21bigQuery table 에서 event stream 을 수행하면서 publisher 의 topic에 message를 전송하고 이를 apache-beam 상에서 코드로 동작시켜 ETL을 수행하는것까지 진행!! event stream은 local에서 compute engine 동작시켜서 stream이 끝날 때까지 수행하는것을 역할로 잡았습니다. 미리 public-data-set 의 stackoverflow dataset을 bigQuery table로 Import 했습니다. 제가 이 테스팅을 진행하는건 tags 와 view_count를 가지고 중복되는 tags 이름에 총 몇번의 view_count를 가지고 있는지 확인하려고 합니다. (물론 | 기준으로 split 해야합니다.) pub/sub에서 stream..
데이터 스튜디오 이용해 bigQuery 시각화
데이터 스튜디오 이용해 bigQuery 시각화
2020.08.20dataStudio 가 bigQuery에 접근할 때 bigQuery connector 를 사용하게 됩니다. 이후에 약관동에에 대해서 전부 동의해줍니다. 보고서에 데이터를 추가하고, 검색어에 bigQuery를 입력합니다. 권한에 대해 승인하고 [Project선택] - [Public Dataset 선택] - [tableset 선택] 이후 보고서에 데이터를 추가합니다. natality에 대한 테이블 정보를 확인해보겠습니다. 레포트가 생성되면 데이터소스를 클릭해서 구글 docs에 나와있는 1단계는 모두 끝났습니다. ㅡ. 막대 그래프 생성하기 차트에서 막대그래프를 선택합니다. 이후에 측정기준에 source_year 을 찾고, 측정항목에 birth_count 를 생성 후 COUNT(is_male)을 입력하면 이와 ..
ISSUE12 :: git commit message
ISSUE12 :: git commit message
2020.08.20최근에 git-cz 를 받고 어떻게 message 를 작성할까 고민을 많이 했다. *ref ; https://djkeh.github.io/articles/How-to-write-a-git-commit-message-kor/ 단순하게 몇가지 example을 보면서 좋은 commit message를 확인해보자. 제목을 명령문으로 쓰는것은 git's built-in convention 을 따른다고 소개되어 있습니다. e.g) Fixed bug with apache-beam 본문은 평서문으로 작성한다고 합니다. (본문을 구체적으로 써본적은 없네....) 가장 흥미롭게 읽었던것은 이슈번호이다. {동작} #번호 - 내용 e.g) Test #30 - [Context] 이슈 번호와 연결할 수 있는 링크가 생성된다고 합..
ISSUE11 :: google.api_core.exceptions.DeadlineExceeded: 504 Deadline Exceeded
ISSUE11 :: google.api_core.exceptions.DeadlineExceeded: 504 Deadline Exceeded
2020.08.20Google Cloud Pub/Sub 을 쓰다가 해당 이슈를 만났다. 나는 PipelineOptions 에다 return_immediately=True 옵션을 주었다. 우선은 publisher 에서 topic으로 message를 전송할때 dataflow에서 pub/sub을 잘 읽어오긴한다.. *ref : https://github.com/googleapis/python-pubsub/issues/36 google.api_core.exceptions.DeadlineExceeded: 504 Deadline Exceeded · Issue #36 · googleapis/python-pubsub Hi We are using google pub sub api for implementing the publisher /..
GCP15 :: Apache-Beam ParDo
GCP15 :: Apache-Beam ParDo
2020.08.20최근에 로컬에서 환경과 클라우드 환경에서의 결과값이 다르게 나와서 stackoverflow 에 질문을 올린적이 있다. https://stackoverflow.com/questions/63460701/in-the-local-environment-the-result-value-and-the-dataflow-result-values-are-di/63465435?noredirect=1#comment112262586_63465435 In the local environment, the result value and the dataflow result values are different Here is my input data. ㅡ.Input(Local) 'Iot,c c++ python,2015', 'Web,jav..
Linux02 :: 변수 생성하기
Linux02 :: 변수 생성하기
2020.08.19export BUCKET_NAME="bucket-name" echo BUCKET_NAME //result -> bucket-name
Linux01 :: 리눅스 grep 명령어
Linux01 :: 리눅스 grep 명령어
2020.08.19grep은 입력으로 전달된 파일의 내용중에서 특정 문자열을 찾고자할때 사용합니다. 내부적으로 문자열 매칭이 아니라 정규 표현식을 사용하는 패턴매칭을 수행합니다. $ grep [OPTION] [PATTERN] [FILE] e.g File = "hi name" cat File.txt #result hi name grep "hi" File.txt #result hi name (hi를 찾아줍니다.)
알고리즘94 :: BOJ_1012_유기농배추
알고리즘94 :: BOJ_1012_유기농배추
2020.08.191 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 package backjun; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class backjun_1012_유기농배추 { static int[][] map; static int[] dx= {-1,1,0,0}; stat..
Python11 :: python 문법, 요약
Python11 :: python 문법, 요약
2020.08.19ㅡ. 인덴트 공백을 추가합니다. (보통 4칸) ㅡ. 네이밍 컨벤션 스네이크 케이스 e.g) hi_naming PEP 8 철학에 따라 스네이크 코딩을 지향합니다. ㅡ. 타입 에러 타입 에러 발생시 Incompatible return value type 에러가 발생합니다. ㅡ. 리스트 컴프리헨션 map, filter, 람다를 지원합니다. print([n*3 for n in range(1, 10+1) if n%2 == 1]) #result [3, 9, 15, 21, 27] 가독성이 좋아집니다. ㅡ. 제너레이터 return 은 함수가 종료되는데 비해 yield는 실행 중이던 값을 내보내게 됩니다. 다음 값을 생성하기 위해서는 next를 사용합니다. #print([n*3 for n in range(1, 10+1)..