hello_world_study의 등록된 링크

키자드에 등록된 총 243개의 포스트를 확인하실 수 있습니다.

Naver Blog

react - input 처리, 부모 state 갱신

input 으로 입력 받은 값에 대해 처리하는 방법. 여러개의 input에 대해서도 동일한 핸들러에서 구분해서 처리가능. 객체 만들때 { name: 'kim'} 처럼 하는데 { [name]: 'kim'} 처럼 하면 name 의 값이 title 이라면 결국 { title: 'kim'} 처럼 된다. ( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer#Computed_property_names class App extends Component { state = { name: '', phone: '', } handleChange = (e) => { this.setState({ [e.target.name]: e.target.value // [] 을 사용하면 그 값이 key 가 된다. }) } render() { return ( <form> <input placeholder

Naver Blog

react - 배열만큼 component 생성 및 CRUD

배열에 대해 CRUD 시에는 배열의 내부 값을 변경하면 안되고, 새로운 배열을 만들어야 한다. 아래 참조하자. 아래처럼 map 을 이용해서 compoent 배열을 만든 후 그걸 렌더한다. render() { const {bookList} = this.props const bookListArrayDiv = bookList.map( info => ( <Book key={info.id} info={info} removeHandler={this.props.removeHandler} updateHandler={this.props.updateHandler} />) ) return ( <div> {bookListArrayDiv} </div> ) } 값을 추가/삭제할때는 아래처럼 concat 처럼 새로운 배열 만드는 함수 사용하고, 삭제시에는 filter 를 이용한다. this.setState({ bookList: bookList.concat({ id: this.id++, ...data }) })

Naver Blog

react - 불필요한 render 방지하여 최적화하기

아래처럼 shouldComponentUpdate 을 적절히 사용하면 불필요한 render 를 방지하여 성능 최적화를 할 수 있다. 주석 // add 가 이전 포스트에서 추가된 내용이다. import React, { Component } from 'react'; class Book extends Component { state = { isEditing: false, title: '', price: 0 } // 동일 버튼을 수정,적용 이라는 2가지 의미로 쓰다보니 이전값을 trace 해야한다. // 이게 싫으면 수정, 적용 을 따로 버튼 만들고 각자 다른 핸들러를 두면 될듯하다. componentDidUpdate(prevProps, prevState) { const { info, updateHandler } = this.props // 수정버튼 클릭시, props 로 받은 값을 state 에 저장. if ( prevState.isEditing === false && this.state.

Naver Blog

react - mobx 기본

참고사이트 https://velog.io/@velopert/MobX-1-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-9sjltans3p MobX (1) 시작하기 MobX 는 또 다른, 하나의 인기있는 리액트 상태 관리 라이브러리입니다. 저는 MobX 는, 사실상 라이브러리 그 이상의 가치를 하는, 리액트의 개발 흐름 자체를 많이 바꿔주는 강력한 도구라고 생각합니다. "MobX 는 최소한의 공수로 여러분들의 상태관리 시스템을 설계 할 수 있게 해줍니다." The curious case of mobx state tre... velog.io react 안쓰고 javasctipt 만으로 mobx 사용한 상태 관리 하는 예제 @observable : 관찰대상 지정 @computed : 해당 함수 내부에서 접근하는 관찰대상이 변경시 자동으로 호출되어 수행한 후 결과를 저장한다. autorun 과 유사한데 결과를 저장하는게 차이점? 인가? @action: 관찰대상의 값을 변

Naver Blog

react - mobx with react

참고 사이트 https://velog.io/@velopert/MobX-2-%EB%A6%AC%EC%95%A1%ED%8A%B8-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%EC%97%90%EC%84%9C-MobX-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-oejltas52z MobX (2) 리액트 프로젝트에서 MobX 사용하기 MobX 는 리액트 종속적이진 않지만, 리액트에서 쓰려고 만들어졌기 때문에 함께 사용하면 엄청난 시너지가 발생합니다. 더 쉬운 글로벌 상태 관리는 물론이고, setState 도 쓸 필요가 없게 됩니다. 2-1. MobX 가 리액트를 만나면 우리가 이전 섹션에서 decorator 문법을 통해서 더 편하게 MobX 를 사용하는 방법을 배웠었는데요, 우리가 ... velog.io ui 에서 사용할 데이터/상태를 스토어에 저장한다. 이를 위해 스토어 new 한 후 그걸 자손에게 넘긴다. // index.js : // 스토어 n

Naver Blog

react - Router

react Router 에 대해서는 velopert 글(https://velopert.com/3417)만으로는 이해가 되지 않아 구글링을 해서 이것저것 알아봤고 아래 참고사이트가 제일 괜찮은듯 합니다. 참고사이트 https://beomy.tistory.com/33 [React.JS] 리액트 라우터(react-router v4) react-router react-router는 create-react-app로 react 프로젝트를 생성하여 진행합니다. 1. create-react-app create-react-app 설치는 [React.JS] CodePen, create-react-app으로 React.JS 개발하기 참고 바랍.. beomy.tistory.com 아래 사이트의 기본 환경에 다가 router 의존성을 추가하고 아래 코드를 집어 넣으면 잘 동작합니다. https://codesandbox.io/s/mobx-with-react-hb984 Link to="/abc/xx' : 클릭

Naver Blog

selenium 웹 자동화 라이브러리

#RPA 라고 해서 프로세스 자동화 툴이 인기입니다. 저는 #Automation #Anywhere 라는 상용툴을 써봤는데 웹 브라우저나 exe 프로그램을 로딩하고 특정 메뉴를 클릭하고 화면의 텍스트를 가져와서 엑셀에 저장하고 ... 등등을 설정을 두면, 그 이후부터는 자동으로 실행해주는 것입니다. 코로나 때문에 마스크 대란인데, 매크로 프로그램을 돌려서 자동으로 마스크 구매하는 것도 사실 #RPA 를 통해 할 수 있습니다. 또한 지금 소개하는 무료버전인 #selenium 을 통해서도 가능합니다. #selenium 은 여러가지 언어로 구현체가 있으며 저는 아래 python 으로 구현된 라이브러리 사용법을 소개할까 합니다. https://selenium-python.readthedocs.io/getting-started.html#simple-usage 2. Getting Started — Selenium Python Bindings 2 documentation 2.1. Simple Us

Naver Blog

selenium ide . 웹 자동화 툴 소개

이전 포스트에서 #selenium 이라는 라이브러리를 이용해서 웹 브라우저를 로딩하고 특정 버튼을 클릭하고 등등을 python 코드를 통해 수행하는 걸 봤습니다. 코딩을 모르는 사람에게는 공부할게 좀 있어서 부담스러울 수 있습니다. 상용 #RPA 툴은 대부분 GUI 화면을 통해 드래그/드랍으로 쉽게 자동화 설정을 할수 있습니다. 이에 상응하는 무료 버전으로는 #selenium #ide 라는 게 있습니다. 몇년전까지만 해도 exe 프로그램으로 다운받아야 했으나, 2020년 3월 현재는 크롬 확장프로그램으로 간단히 설치 및 실행을 할 수있습니다. 제가 영상을 녹화해서 아래에 링크를 두었습니다. 여유가 된다면 동영상으로 학습하는게 더 쉽습니다. https://www.youtube.com/watch?v=jqe4MAM3xho https://www.youtube.com/watch?v=7ytRpTCRcgk 저는 간단한 사용법만 동영상으로 소개했으며, 좀 더 다양한 사용법은 아래 링크를 참고하세요

Naver Blog

샘플수, 신뢰구간, 신뢰수준의 관계

TV에서 선거기간 A후보 지지율은 43% +-3% 이며, 신뢰수준은 95% 입니다. 라고 말하는데, 이게 바로, 샘플를 통한 모집단(=실제값)의 값을 추정하는 것이다. 상식적으로 생각했을때, 10명을 조사해서 A후보 지지율을 계산한다면, 40% +-25%이며 신뢰수준은 95% 입니다. 라고 말할수 밖에 없고, 1000명을 조사해서 A후보 지지율을 계산한다면, 40% +-2.5%이며 신뢰수준은 95% 입니다. 라고 말할수 있을 것이다. 즉 동일한 신뢰수준인 95% 로 지지율을 추정(=예상) 하려고 할때, 샘플이 10개 밖에 없으면, 40-25=15%. 40+25=65%. 즉 A 후보의 지지율은 최소 15%, 최대 65% 일것이다.. 라는 식으로 추정구간(=예상구간)을 크게 잡아야 한다. 샘플이 적어서 정확히 예측하기 어려우니, 추정치의 구간을 넓게 잡아서 말할수 밖에 없다. 샘플이 1000개와 같이 많아지면, 좀 더 정확한 예측이 되니, 40-2.5=37.5%, 40+2.5=42.5%

Naver Blog

AWS EKS 에서 k8s 클러스터 생성 및 설정

#kubernetes 줄여서 #k8s 라 부르는 것에 대해서는 인터넷의 다른 자료를 찾아보시고, 저는 aws 의 eks 라는 서비스를 이용해서 간단하게(?) k8s 클러스터 생성 및 kubectl 을 이용해서 pod 생성 등을 하는 방법에 대해 알아보겠습니다. eks 를 사용하면 master node 에 대해서는 aws 가 알아서 생성/관리를 해주기에 app 개발자 입장에서는 k8s 활용법만 알면 되는 편리한 서비스 입니다. - 클러스터 생성 다양한 방법이 있으나 가장 간단한 aws 웹화면(=콘솔)을 통해 클릭 몇번으로 클러스터 생성을 해보겠습니다. 콘솔 화면에서 eks 로 들어가면 클러스터 생성 버튼이 있고, 그곳에 클러스터 이름을 적은 후 생성 버튼을 누릅니다. 생성 완료되는데 10분 가량 걸립니다. 이후 생성완료된 클러스터에서 컴퓨팅 > 노드그룹 추가 를 선택한 후 , 노드로 사용할 이미지를 선택하고, 몇개의 노드로 구성할건지 등을 선택하여 생성시킵니다. 이 또한 10분 가량

Naver Blog

spring boot + prometheus + grafana 연동

아래 3가지를 통해 spring boot 의 cpu, mem, thread count 등의 metric 정보들을 prometheus 에 취합하고, 이를 grafana를 이용해서 시각화하는 방법에 대해 알아보겠습니다. spring boot 에 prometheus 의존성을 추가 prometheus 서버 설치 및 spring boot 주기적 폴링되도록 설정 grafana 설치 및 prometheus 연동하여 시각화 하기 위 연동방법에 대한 포스팅은 쉽게 구글링을 하면 알수 있기에 본 포스트에서는 동영상으로 제공합니다.(제가 녹화한 영상입니다.) 여기서는 동영상에서 사용한 config 정보 등의 text 정보만 나열하겠습니다. application.yml 의 metrics 정보 노출 설정 management: endpoints: web: exposure: include: health, info, prometheus prometheus.yml 의 샘플 설정. ip 정보는 여러분의 spring

Naver Blog

confluent platform(=kafka) vs apache kafka

apache kafka 는 kafka 기본(?) 버전이고 confluent platform 은 kafka 패키지 버전이라고 볼수 있습니다. kafka는 원래 링크드인 에서 개발되다가 오픈소스로 공개되었습니다. 링크드인의 개발자 몇몇이 컨플루언트 라는 회사를 창립했고 지금까지 카프카를 발전시키고 있습니다. 오픈소스라서 아무나(?) contribute 는 할수는 있으나 핵심 멤버는 컨플루언트 회사의 멤버들입니다. confluent platform 은 컨플루언트 회사에서 만든 kafka 패키지입니다. 이름에 kafka가 없어서 헷갈릴수 있으나 kafka가 핵심입니다. 즉 confluent platform은 apache kafka + 기타 유용한 서비스/라이브러리 등을 패키지로 묶어 놓은 것입니다. 귀찮게 버전에 맞게 다른 서비스/라이브러리를 설치하지 않아도 되니 confluent kafka 가 편리합니다. 다른것에 비유하자면 python 으로 데이터분석, 머신 러닝을 하려면 아래 2가지

Naver Blog

confluent platform(=kafka) 설치 in ubuntu

confluent platform. 즉 카프카 패키지를 우분투에 설치하는 방법에 대해 알아보겠습니다. confluent platform 은 apache kafka 와 유사한데 ,차이점은 아래 링크를 참고하세요. https://blog.naver.com/semtul79/222067253987 confluent platform(=kafka) vs apache kafka apache kafka 는 kafka 기본(?) 버전이고confluent platform 은 kafka 패키지 버전이라고 볼수 있습니다.... blog.naver.com 저는 AWS의 EC2 서비스를 이용해서 ubuntu 18 을 하나 할당받은 후 그곳에 confluent platform 을 설치하고, 하나의 EC2 에 zookeeper 와 kafka 를 모두 설치/연결 하여 stand alone 으로 구동되도록 하겠습니다. 공식 설치방법은 아래 링크에 있습니다. https://docs.confluent.io/curren

Naver Blog

kafka cluster 구성 #1/2 ( confluent platform 클러스터)

이전 시간에 아래처럼 하나의 리눅스에 zookeeper 와 kafka 를 설치하는 구성을 알아봤습니다. https://blog.naver.com/semtul79/222067309498 confluent platform 설치 in ubuntu confluent platform. 즉 카프카 패키지를 우분투에 설치하는 방법에 대해 알아보겠습니다.confluent plat... blog.naver.com 이제는 여러대의 서버에 zookeeper 와 kafka 를 구성하는 방법에 대해 알아보겠습니다. apache kafka 의 패키지 버전인 confluent platform 을 이용하며, 이전 시간과 동일하게 AWS EC2 ubuntu 를 기본 OS 로 이용합니다. standalone 구성과 동일하게 kafka, java 등은 설치해야 하므로, 동일하게 아래 명령을 수행해줍니다. wget -qO - https://packages.confluent.io/deb/5.5/archive.key |

Naver Blog

kafka cluster 구성 #2/2 ( confluent platform 클러스터)

이전 포스팅에서 zookeeper 설치 및 구동을 했습니다. https://blog.naver.com/semtul79/222067335680 kafka cluster 구성 #1/2 ( confluent platform 클러스터) 이전 시간에 아래처럼 하나의 리눅스에 zookeeper 와 kafka 를 설치하는 구성을 알아봤습니다. https://blo... blog.naver.com 이제는 kafka 2대를 설치 하고 , 위 포스팅에서 구성한 zookeeper 에 연결해보겠습니다. cpu, mem가 많이 필요한건 아니지만 cpu:1, mem:1G 처럼 너무 작게 해두면 카프카 서버가 구동자체가 되지 않습니다. 이것때문에 한시간을 삽질했네요 ㅡㅜ. 암튼 저는 cpu:2, mem: 4GB 로 설정한 서버로 테스트하였습니다. 이전과 동일하게 기본적으로 java 와 confluent platform 은 설치해야 하므로 아래처럼 설치를 합니다. wget -qO - https://package

Naver Blog

[후기] 한샘 조이S 화이트 5단 LITE매직데스크 set

학생용 책상은 일룸 vs 한샘 둘 뿐입니다. 저는 초등학생 1,3 학년용 책상을 사야 했기에, 아래 기능이 필요했습니다. 각도조절 - 필수 : 올바른 자세에 도움됨 높이조절 - 불필요: 5,6세에 적합. 초등부터는 불필요. 내장조명: 15만원 가량되기에 가성비가 안나옴. 그냥 스탠드 별도 구매가 적합. 온라인에는 온라인 전용 제품이 있기에 아무래도 조금 더 저렴하나 좀 더 최신제품이나 예쁜것은 오프라인에만 팔거나 오프라인과 동일한 가격으로 온라인에 팝니다. 따라서 일단 매장에서 직접 보는걸 추천드리며 저는 한샘 매장에서 상담 후 구매했습니다. 행사기간이어서 핸드블랜더 사은품 + 16만원할인 하여 책상 2set 로 총 150만원 가량으로 구매했습니다. 위 내용으로 2020.08 시점의 가격을 참고하세요 매장에서는 의자도 권유했으나 15만원 가량이면서도 기능도 별로고 예쁘지도 않았습니다. 미리 인터넷으로 알아본 시디즈 링고 의자가 15만원정도 해서, 의자는 인터넷으로 구매했습니다. 한

Naver Blog

AWS MSK를 이용한 카프카 클러스터 구성

#AWS 에서는 이미 #kafka 유사 기능인 #kinesis 라는 것이 있습니다. 최근에는 이외에도 kafka 자체를 서비스로 제공합니다. 이것이 바로 AWS MSK(Amazon Managed Streaming for Apache Kafka) 입니다. 아래처럼 이전 포스팅에서 kafka 를 직접 설치했었는데, standalone 이 아닌 클러스터 환경. 즉 주키퍼 여러대, 카프카 여러대를 하나로 묶어서 환경을 만들 경우 주키퍼, 카프카 properties 파일 등을 적절히 수정해야 하고 지속적으로 관리해야 합니다. https://blog.naver.com/semtul79/222067309498 confluent platform 설치 in ubuntu confluent platform. 즉 카프카 패키지를 우분투에 설치하는 방법에 대해 알아보겠습니다.confluent plat... blog.naver.com 많은 기업들이 public cloud 를 선택하는 이유중의 하나가 전문인력부

Naver Blog

kafka topic 생성/조회 in python

지난 포스팅에서 구성한 AWS MSK . 즉 카프카 클러스터에 토픽 생성 및 조회를 python 으로 작성해보겠습니다. 우선 AWS MSK는 public endpoint를 제공하지 않습니다. 즉 동일 vpc 내에서만 접근 가능하기에 동일 vpc 내의 EC2 인스턴스를 하나 만든 후 그곳에 python, kafka 라이브러리 등을 설치해서 접근하겠습니다. 우선 python을 설치합니다. 저는 jupyter notebook 으로 코드 작성을 할 예정이므로 anaconda 를 이용해서 한방에 설치를 했습니다. ubuntu@ip-172-31-6-168:~$ wget https://repo.anaconda.com/archive/Anaconda3-2020.07-Linux-x86_64.sh --2020-08-22 22:36:44-- https://repo.anaconda.com/archive/Anaconda3-2020.07-Linux-x86_64.sh Resolving repo.anaconda.

Naver Blog

kafka producer, consumer in python

지난 포스팅에서 kafka 토픽 생성/조회를 python 으로 해봤습니다. 이젠 메시지를 전송하고(=producer ), 메시지를 수신하는(=consumer)를 python으로 작성해보겠습니다. producer 코드는 아래와 같습니다. from kafka import KafkaProducer producer = KafkaProducer( bootstrap_servers='b-1.demo-cluster-1.09mf2p.c4.kafka.ap-northeast-2.amazonaws.com:9092,b-2.demo-cluster-1.09mf2p.c4.kafka.ap-northeast-2.amazonaws.com:9092') for i in range(1,11): msg = '{}-msg'.format(i) producer.send('example_topic', str.encode(msg)) consumer 코드는 아래와 같습니다. from kafka import KafkaConsumer c

Naver Blog

about consumer group , rebalance in kafka

kafka 에는 producer 와 consumer 라는 생산자와 소비자 개념이 있는데 producer 는 아무나 send 하면 되는데 consumer 는 신경쓸게 좀 있습니다. A 라는 토픽에 대해 consumer 2대가 있다고 합시다. consumer 2대가 서로 상관없는 consumer 라면 A 토픽에 있는 이벤트 10개를 각각 10개씩 수신하면 되겠죠... 그러나, consumer 2대가 사실 동일 서비스이고 이중화때문에 2대가 구동중인거라고 해봅시다. 보통 운영환경에서는 이렇게 2대 이상 동일 서비스가 구동되지요. 일반적으로 이 상황에서는 10개의 이벤트중 5개 정도는 1번 서버가 수신을 하고, 나머지 5개 정도의 이벤트를 2번 서버가 수신하기를 원할겁니다. 이를 위해서는 2대의 서버가 "우린 같은 거라고 봐주세요" 라는 식으로 뭔가 설정을 해줘야 합니다. 이게 바로 consumer group 입니다. 이렇게 동일 consumer group 으로 묶인 2대 이상의 서버들이

Naver Blog

azure vs aws , 서비스별 매핑

클라우드중 제일 유명한 것이 #AWS 이지요. 저도 #AWS 를 자주 사용했는데, MS 의 #azure 에 대해서도 알아봤습니다. 우선 아래처럼 azure 에서 제공하는 서비스들은 아래 그림과 같습니다. 시간이 흐를수록 새로운 서비스가 생겨나니 이것만 있다고 보지는 마세요. 아래 링크를 통해 AWS 서비스 와 azure 서비스 매핑을 확인 할 수 있습니다. https://docs.microsoft.com/en-in/azure/architecture/aws-professional/services AWS to Azure services comparison - Azure Architecture Center Compare Azure cloud services to Amazon Web Services (AWS) for multicloud solutions or migration to Azure. docs.microsoft.com 다음 시간에는 대표적인 서비스들에 대해 #AWS 와 #AZURE

Naver Blog

MS Azure CLI 설치

* 선행작업: MS Azure 에 가입하여 무료 or 유료로 azure 의 서비스를 사용할수 있는 계정 생성 및 소유. azure 최초 가입시 무료로 얼마간 사용할수 있습니다. 가장 기본이 되는거라 구글에서 "azure 계정 생성" 과 같이 검색하면 쉽게 찾을수 있습니다. #Azure 에 앱을 배포하거나 환경 설정을 하거나 등등의 작업은 크게 1. https://portal.azure.com/ 사이트에 로그인한 후 마우스로 원하는 서비스를 클릭하고 값을 설정해서 실행 하거나 2. azure cli 를 window, linux 등에 설치한 후 해당 cli 명령어로 실행하는 방법이 있습니다. 아무것도 모를때는 웹화면으로 제공되는 https://portal.azure.com/ 가 편하겠으나, 100% 모든 것을 웹화면에서 제공하는건 아니고 ( e.g. 함수 앱(=서버리스 컴퓨팅 서비스)에서 linux 기반 python 런타임은 웹화면에서 상세 설정 지원 안함 ), 자동화 등을 하려면 cl

Naver Blog

docker 기본 사용법 - 실행

k8s 를 공부하려면 우선 docker 를 알아야 합니다. k8s는 docker 를 이용해서 container들을 배포하며 이를 조율하는 것이기 때문이죠. container 의 구현체로는 docker 외에도 많이 있으나 대세는 docker 입니다. 자 이제 docker 사용법을 알아보시죠. 보통 docker 명령은 root 권한이 필요하기에 sudo docker run XXX 처럼 앞에 sudo 를 넣어서 실행해야 합니다. 본 포스팅에서는 sudo는 생략해서 적혀있으니 각자 환경에 맞게 sudo 를 적절히 넣어서 실행하세요 docker가 리눅스에 설치되었다는 가정하에 아래처럼 docker run <이미지이름> 을 실행하면 이미지이름 을 검색해서, 현재 호스트에 해당 이미지가 있으면 그걸 바로 실행시켜주고, 없으면 이미지 저장소(docker hub 라고 부릅니다.)에서 다운받은 후 현재 호스트에서 실행을 해줍니다. docker run hello-world hello-world 라는 이

Naver Blog

docker 기본 사용법 - 빌드

이전 시간에는 누군가가 이미 만들어서 docker hub 에 올려놓은 이미지를 다운받아 실행하는 법에 대해 알아봤습니다. 이제는 나만의 docker 이미지를 만드는 방법에 대해 알아봅시다. 아래는 현재 포스팅의 영상버전입니다. https://youtu.be/2DbtXr8VyJk 크게 아래와 같은 단계를 거칩니다. 1. Dockerfile 이라는 이름의 파일에 docker 이미지 문법에 맞게 설정을 함 2. docker build 명령으로 작성한 Dockerfile 에 맞는 이미지 생성 vi 에디터 등을 이용해서 Dockerfile 이라는 이름의 파일을 만들고 아래와 같이 입력을 합니다. # 부모 이미지의 이름을 FROM에 기입합니다. 여기서는 node 이밎의 tag 6 을 부모 이미지로 선택 FROM node:6 # 도커내에서 특정 서버프로그램을 실행할것이므로, 작업할 디렉토리를 지정합니다. WORKDIR /app # 빌드할 서버에 있는 일부 파일을 도커 이미지로 복사하는 명령. #

Naver Blog

[입문] azure (애저) 비용 (사용요금) 확인하는 법(Azure cost management)

Azure 처음 가입하면 몇달간은 공짜로 쓸수 있으나 결국 쓴만큼 돈을 내게 되어있습니다. 이번 포스팅에서는 지금 현재 얼마나 비용을 쓰고 있는지 확인하는 방법에 대해 알아보겠습니다. 본 포스팅의 영상버전은 아래와 같습니다. 태그를 활용하는 방법, 태그를 강제하는 정책(#policy) 생성하는 법 등 본 포스팅 보다 더 많은 정보가 들어있습니다. https://youtu.be/0s_G004nhlw 아래처럼 azure portal에 로그인 한 후 cost management 라고 검색을 해서 해당 메뉴로 들어갑니다. 저는 무료체험용 subscription이 있었다가 시간이 지나 사용불가가 되었고, 현재는 Pay as you go 즉 쓴만큼 내는 subscription(=구독)을 사용중입니다. 지금 현재 6700원 정도 썼다고 나오네요. 자세한 내역을 알기 위해 파란색으로 표시되는 금액을 클릭합니다. 아래처럼 기본화면이 나옵니다. 도넛모양 그래프를 보면 서비스별, 리전별 금액이 나옵니다

Naver Blog

[입문] azure function app 의 도메인을 변경하는 법(how to set custom domain in azure function application)

이번 포스팅에서는 azure 의 function app 의 도메인 주소를 자신의 것(개인 도메인 or 회사 도메인)으로 변경하는 방법에 대해 알아보겠습니다. -------------------------------------------------------------------- 본 포스팅의 영상 버전은 아래와 같습니다. 화면 조작이 많기에 영상 버전을 추천합니다. https://youtu.be/TM4AhI3ds_4 -------------------------------------------------------------------- function app의 http trigger 를 만들면 xxx.azurewebsites.net 처럼 azure 에서 기본으로 제공해주는 도메인으로 호출이 가능합니다. 테스트용이야 상관없으나, 회사에서 정식으로 제공하는 REST API 서비스를 azure function으로 만들었는데, REST API 의 도메인주소가 azurewebsites.ne

Naver Blog

[입문] custom domain용 도메인 인증서 발급방법(how to create certificate for custom domain in azure)

아래의 지난 포스팅에서 custom domain 매핑 방법에 대해 알아봤습니다. https://blog.naver.com/semtul79/222337913330 [입문] azure function app 의 도메인을 변경하는 법(how to set custom domain in azure function application) 이번 포스팅에서는 azure 의 function app 의 도메인 주소를 자신의 것(개인 도메인 or 회사 도메인)으로 ... blog.naver.com 다 잘 되나, https 로 접속시 인증서가 custom domain용이 아닌 애저에서 제공해주는 도메인에 대한 인증서라서 웹브라우저에서 경고창이 나왔습니다. 이걸 해결해보도록 하겠습니다. --------------------------------------------------------- 본 포스트의 영상버전은 아래와 같습니다. 화면 조작이 많기에 영상버전을 추천합니다. https://youtu.be/2A

Naver Blog

[입문] azure key vault 사용하는 법(how to use Azure key vault)

DB 접속용 id, pw 나 암복호화용 key 값, 인증서 등 보안 관련된 값들을 저장하고 관리해주는 Azure key vault 에 대해 알아보겠습니다. ================================== 아래는 본 포스팅의 영상버전입니다. 화면조작이 많기에 영상시청을 권장합니다. https://youtu.be/Ifj_f1HOkLc ================================= portal.azure.com 에 로그인 한 후 상단 검색창에 key vault 라고 검색해서 서비스를 실행시킵니다. 이후 아래 화면에서 + new 를 눌러줍니다. 이후 아래처럼 리소스 그룹을 하나 선택해주고, key vault name에 적당한 값을 넣어줍니다. 이 name값을 기반으로 key vault에 접근할 수 있는 url 이 만들어지므로 test <-- 이런식으로 다른 사람이 이미 만들었을법한 흔한 이름은 쓸 수 없습니다. soft delete 는 휴지통 같은 개념이며, d

Naver Blog

[입문] azure function에서 key vault 접근하는 법#1(how to access Azure key vault in azure function)

아래의 지난 포스팅에서 azure key vault 서비스를 이용해서 비밀스러운 key,value 쌍을 저장하는 법을 알아봤습니다. 이번에는 azure funtion 에서 지난번에 만든 key,value 쌍에 접근해서 값을 읽어오는 법에 대해 알아보겠습니다. 사실 이번 포스팅의 내용까지 알아야 key vault 를 활용할 수 있게 되는 셈입니다. https://blog.naver.com/semtul79/222340771870 [입문] azure 에서 key vault 사용하는 법(how to use Azure key vault) DB 접속용 id, pw 나 암복호화용 key 값, 인증서 등 보안 관련된 값들을 저장하고 관리해주는 Azure key... blog.naver.com azure 에서 function 만드는 법은 아래 포스트를 참고해서 하나 만들면 됩니다. function은 잘 만들었다 가정하고 필요한 내용만 기술하겠습니다. https://blog.naver.com/semt

Naver Blog

[입문] azure function에서 key vault 접근하는 법#2(how to access Azure key vault in azure function)

아래 포스팅을 통해 권한 세팅은 마쳤습니다. 이제 실제 소스코드를 통해 key vault 에 접근해보겠습니다. https://blog.naver.com/semtul79/222342113721 [입문] azure function에서 key vault 접근하는 법#1(how to access Azure key vault in azure function) 아래의 지난 포스팅에서 azure key vault 서비스를 이용해서 비밀스러운 key,value 쌍을 저장하는 법을 알... blog.naver.com ============================================== 아래는 본 포스팅의 영상버전입니다. 화면조작이 많기에 영상시청을 권장합니다. https://youtu.be/9AaM12B73gM =================================================== 현재 만든 azure function은 아래와 같은 설정이 되어 있고, hostin

Naver Blog

[입문] azure 가상머신(virtual machine) 만드는 법 - linux ( how to create virtual machine in azure )

#cloud 의 가장 기본적인 서비스 중의 하나인 #virtual #machine ( #vm 이라고 줄여서 쓰죠) 만드는 법에 대해 알아보겠습니다. azure portal 화면에서 virtual machine 이라고 검색해서 virtual machine 서비스로 이동합니다. 이후 +add 버튼을 눌러서 추가를 누릅니다. 이후 아래처럼 resource group 을 적절히 선택하고(저는 test 라는 리소스그룹이 있기에 그걸 사용했습니다) 적당한 이름을 입력합니다.(저는 developery-vm 이라고 적었습니다.) image 에는 linux, windows 를 선택할수 있습니다. linux 그중에서도 ubuntu 를 선택했습니다. 선호하는 다른 리눅스 OS가 있다면 그걸 선택해도 됩니다. size 에는 제일 저렴한 1 core, 0.5 GB memory 를 선택했습니다. 저는 단순 테스트용이므로 저렴이를 선택했지만, 만약 이것저것 프로그램 설치해서 사용할 것이면 보다 큰 메모리를 가

Naver Blog

[입문] azure 가상머신(virtual machine) 만드는 법 - windows 10 ( how to create virtual machine in azure )

이전 포스팅에서 #azure #virtual #machine 서비스를 이용해서 #ubuntu 리눅스를 만들고 #nginx 웹서버 설치 및 구동 까지 해보았습니다. 이번에는 windows 10 pro 즉 windows 데스크탑을 vm 을 이용해서 만들고 사용해 보겠습니다. linux 용 vm 만드는 것과 유사한 부분이 많기에 다른 부분만 중점적으로 설명하겠으니, 우선 아래 포스트를 익히길 권장드립니다. https://blog.naver.com/semtul79/222343860219 [입문] azure 가상머신(virtual machine) 만드는 법 - linux ( how to create virtual machine in azure ) #cloud 의 가장 기본적인 서비스 중의 하나인 #virtual #machine ( #vm 이라고 줄여서 쓰죠) 만드는 법에 ... blog.naver.com 검색창에 virtual machine 이라고 검색해서 가상 머신 서비스로 들어간 후 아래

Naver Blog

spring boot initializr 를 통해 프로젝트 파일 생성하는 법

본 포스트의 영상버전은 아래와 같습니다. https://youtu.be/E5pTYYLNgQo spring boot 프로젝트를 만드는 방법은 다양하며, 주로 1. eclipse와 같은 IDE 에서 spring boot 프로젝트 생성메뉴를 통해 템플릿 프로젝트를 만들거나 2. https://start.spring.io/ <-- 이곳에서 템플릿 프로젝트를 만들고 다운로드 한후 eclipse와 같은 IDE 에서 import 해서 만듭니다. Spring Initializr Initializr generates spring boot project with just what you need to start quickly! start.spring.io 이번 포스팅에서는 #spring #boot #initialzr 사이트를 통해 만드는 방법에 대해 알아보겠습니다. 우선 아래 사이트를 크롬등을 통해 들어갑니다. https://start.spring.io/ 그러면 아래와 유사한 화면이 나옵니다. spr

Naver Blog

ubuntu 에서 spring boot 빌드/구동하는 법

이전 포스팅에서는 windows 에서 eclipse 환경하에서 spring boot initializr 를 통해 spring boot 프로젝트 생성 및 빌드/구동하는 것에 대해 알아봤습니다. (아래 링크 참조) https://blog.naver.com/semtul79/222359288073 spring boot initializr 를 통해 프로젝트 파일 생성하는 법 spring boot 프로젝트를 만드는 방법은 다양하며, 주로 1. eclipse와 같은 IDE 에서 spring boot 프로젝... blog.naver.com 이번에는 ubuntu linux 에서 spring boot initializr 를 통해 spring boot 소스를 만들고, 빌드 및 구동 / 테스트 하는 법에 대해 알아보겠습니다. 우선 ubuntu linux 가 필요한데, 저는 #클라우드 서비스중의 하나인 #azure 를 이용해서 #virtual #machine 을 만들고, 그곳에 java 등을 설치해서 구동

Naver Blog

[입문] azure 가상머신(virtual machine) 에서 방화벽(firewall) 설정방법

아래와 같이 linux 가상머신을 만들면 일반적으로 22번(SSH) 포트만 열려져 있습니다. 웹서버 등을 구동한다면 80, 8080 등과 같이 다양한 포트가 외부에 열려있어야 하는데 이에 대한 방법을 알아보겠습니다. https://blog.naver.com/semtul79/222343860219 [입문] azure 가상머신(virtual machine) 만드는 법 - linux ( how to create virtual machine in azure ) #cloud 의 가장 기본적인 서비스 중의 하나인 #virtual #machine ( #vm 이라고 줄여서 쓰죠) 만드는 법에 ... blog.naver.com 가상 머신을 만든 후 아래처럼 Settings > Networking 을 누릅니다. 그러면 아래처럼 inbound, outbound 에 대한 현재 방화벽 설정이 보입니다. 위 그림을 보면 inbound 탭에서 SSH 22번 포트가 allow 되어 있음을 알수있습니다. inbo

Naver Blog

ubuntu docker 설치(how to install docker in ubuntu linux)

ubuntu linux 에 docker 설치하는 방법에 대해 알아보겠습니다. 아래 공식 문서를 참고하여 진행했으며, #azure #virtual #machine 으로 #ubuntu 를 이용했습니다. (Ubuntu 18.04.5 LTS) https://docs.docker.com/engine/install/ubuntu/ Install Docker Engine on Ubuntu Instructions for installing Docker Engine on Ubuntu docs.docker.com 일반적으로 프로그램 설치시 apt-get install XXX 이라고만 하면 설치가 되는데, docker 의 경우 암호화 관련 설정 등등 미리 할게 많습니다. 공식 가이드에 나온대로 일단 시키는대로 명령 수행하면 설치가 되니, 각각의 명령어가 뭘 뜻하는지 정확히 몰라도 너무 걱정하지 마세요. 자 시작합시다. ubuntu 에 로그인 한 후 우선 아래처럼 예전 버전이 남아있을지 모르니 삭제를 해줍

Naver Blog

docker hub 에 docker image push 하는 법

아래 포스팅을 통해 docker image를 생성했다고 가정했을때, docker hub 에 image 를 push 해서 다른 사람에게 공유하는 방법에 대해 알아보겠습니다. https://blog.naver.com/semtul79/222138570438 docker 기본 사용법 - 빌드 이전 시간에는 누군가가 이미 만들어서 docker hub 에 올려놓은 이미지를 다운받아 실행하는 법에 대해 알... blog.naver.com docker hub는 git hub ( https://github.com/ )와 유사한 개념입니다. GitHub: Where the world builds software GitHub is where over 65 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review cod

Naver Blog

[입문] azure container registries (ACR) docker image push 하는 법

docker image 를 docker hub 에 push 하는 법은 아래 포스팅으로 설명하였습니다. 이번에는 #azure 에서 제공하는 #docker #image 저장소인 #ACR 즉 #Azure #Container #Registries 에 push 하는 법에 대해 알아 보겠습니다. 기본적인 docker image 빌드, push 사용법은 아래 링크로 익혔다는 가정에서 #ACR 에 대한 부분만 설명합니다. https://blog.naver.com/semtul79/222361178993 docker hub 에 docker image push 하는 법 아래 포스팅을 통해 docker image를 생성했다고 가정했을때, docker hub 에 image 를 push 해서 다른 사람... blog.naver.com 아래는 본 포스팅의 영상 버전입니다. https://youtu.be/FYBWfqW2mAg https://youtu.be/1v2cuYJVRHI azure portal 에 로그인한

Naver Blog

GitHub - docker hub 연동하여 automated builds 하는 법

docker hub 에 docker image push 하는건 알았는데, 매번 docker image 빌드하고 push 하는게 귀찮다 라고 느껴지는 분들을 위한 포스팅입니다. docker hub 기본 사용법 등은 아래 포스팅을 참고하세요. https://blog.naver.com/semtul79/222361178993 docker hub 에 docker image push 하는 법 아래 포스팅을 통해 docker image를 생성했다고 가정했을때, docker hub 에 image 를 push 해서 다른 사람... blog.naver.com 아래부터는 Dockerfile 만드는 법, git 사용법, GitHub 기본 사용법은 알고 있다는 가정하에 진행됩니다. 컴파일 과정을 생략하기 위해, 스크립트 언어인 javascript ( node.js ) 로 서버를 만들었습니다 우선 GitHub 에 repository를 만들고 그곳에 Dockerfile 과 app.js 를 push 해 줍니다.

Naver Blog

오늘도 달린다

영어 수학 같은 기본 학문은 한번 배우면 평생 써먹는데 IT는 매년 공부하지 않으면 뒤쳐지는 느낌이다. 오늘도 달린다. 어제도 달렸는데..내일도 달려야하네 ㅡㅜ #오늘일기 #블챌

Naver Blog

azure 자격증 공부중

AZ-900과 AZ-204 를 취득했고 AZ-400 을 공부중. 시험 dump를 보면 20% 정도 문제가 어렵게 꼬아놓아서 내용을 알아도 답을 맞추지 못하겠다. 회사서 취득하면 당근을 준다고 하니 어느정도 시험을 위한 공부이지만 하는중. 아참 시험후기가 궁금하면 아래를 클릭~ https://blog.naver.com/semtul79/222289352710 azure 자격증 시험 후기 - fundamentals (AZ-900) 오늘 아침 #azure 자격증 시험을 집에서 온라인으로 봤고 이에 대한 후기를 남깁니다. 가장 쉽고 기본적인 ... blog.naver.com https://blog.naver.com/semtul79/222329164319 azure 자격증 시험 후기 - Developer Associate (AZ-204) AZ-900 시험을 보고난 후 약 한달후에 별2개짜리인 AZ-204 즉 #Developer #Associate 시험을 봤습니... blog.naver.com

Naver Blog

azure 시험 하루전

#az-#400 시험 하루전. 시간이 없다. 모르겠는건 그냥 외워야함. 어서 합격하고 편하게 제대로 공부하자. 내일 #블챌 #오늘일기 는 az-400 시험후기다. ㅎㅎ

Naver Blog

재테크

노동으로 종자돈을 모으고 그걸로 불로소득이 되는 부동산 주식 등을 하라 불로소득 안좋게만 봤는데 도박만 아니면 해야한다고 생각이 바뀌었다 #블챌 #오늘일기

Naver Blog

azure 자격증 시험 후기 - DevOps Engineer (AZ-400)

어제 밤에 AZ-400 DevOps Engineer Expert 자격증 시험을 쳤습니다. 1000점 만점에 881점으로 합격했네요 ( 700점 이상 합격 ) dump는 기존과 동일하게 아래 사이트를 통해 공부했습니다. https://www.examtopics.com/exams/microsoft/az-400/view/ AZ-400 Exam – Free Actual Q&As, Page 1 | ExamTopics Custom View Settings Topic 1 - Question Set 1 Question #1 Topic 1 Your company plans to use an agile approach to software development. You need to recommend an application to provide communication between members of the development team who work in locations around the

Naver Blog

[입문] spring boot 에서 azure(애저) 사용 ( how to access azure in spring boot )

#Azure 의 여러 resouce 를 write, read 등의 access 를 하는 방법은 많이 있습니다. 가장 편한건 azure portal 을 이용해서 리소스를 만들고 접근하는 방법입니다. 이건 입문자에게 맞으나, 결국 #python , #java 처럼 프로그래밍 언어를 이용해서 애저 리소스에 접근해야 합니다. 그중 java 의 유명한 웹 프레임워크인 #spring #boot 에서 애저 리소스에 접근하는 방법하는 방법에 대해 알아보겠습니다. azure resource 에는 DB, VM, serverless 등등 종류별로 너무 많기에 여기서 하나씩 다루지는 않겠고 아래 공식 문서를 소개하는 것으로 간략히 소개하고자 합니다. https://docs.microsoft.com/en-us/azure/developer/java/spring-framework/spring-boot-starters-for-azure Spring Boot Starters for Azure This articl

Naver Blog

GitHub 기본 사용법

git repository 생성등을 지원해 주는 서비스에는 github, gitlab, bitbucket 등 다양하게 있으며 그중 무료(유료버전도 있긴함)이며 가장 많이 쓰는 github 에 대해 간략히 알아보겠습니다. 본 포스팅의 영상버전은 아래와 같습니다. https://youtu.be/AKkj66OgpUc 우선 아래 사이트로 이동해서 회원가입을 해줘야 합니다. 일반적인 회원가입이니 적당히 입력해서 가입을 해줍니다. https://github.com/ GitHub: Where the world builds software GitHub is where over 65 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and feat... gi

Naver Blog

[입문] azure(애저) app services - 생성

#azure 에서 #web #app 을 가장(?) 쉽게 배포할 수 있는 방법중의 하나인 #app #services 생성방법에 대해 알아보겠습니다. 본 포스팅의 영상버전은 아래와 같습니다. https://youtu.be/JjPRFaLnMbM https://youtu.be/bMvBgcH7Ndk 우선 azure portal에 로그인 한 후 아래처럼 검색창에 app services 라고 검색하여 해당 서비스로 이동합니다. 이후 resource group 를 적당히 선택하고 인스턴스 이름에 나만의 이름을 넣어줍니다. 저는 java 8 , spring boot 를 사용할 것이므로 아래처럼 세팅을 했습니다. sku and size 에는 테스트 용도라서 저렴이로 선택했습니다. 이후 생성버튼을 눌러 생성시켜줍니다. 인스턴스 이름쪽에 보면 .azurewebsites.net 이라고 뒤에 붙어 있습니다. #azure #function 처럼 이것도 도메인이 자동 할당되어 지네요. 그리고 도메인에 쓰일 이름

Naver Blog

[입문] azure(애저) app services - gitHub 연동 배포(deployment)

아래 포스팅을 통해 app service 를 생성했습니다. https://blog.naver.com/semtul79/222377778689 [입문] azure(애저) app services - 생성 #azure 에서 #web #app 을 가장(?) 쉽게 배포할 수 있는 방법중의 하나인 #app #services 생성방법에 대해 ... blog.naver.com 이제 소스코드를 연결시키고 배포를 해야 합니다. 소스코드는 #GitHub 를 이용하며 app service 에서 #GitHub 연동하여 github 에 소스코드가 push될때마다 자동 빌드 및 app service 로 배포 되도록 해보겠습니다. 본 포스팅의 영상버전은 아래와 같습니다. https://youtu.be/JjPRFaLnMbM https://youtu.be/bMvBgcH7Ndk 우선 gitHub 계정과 repository 를 만들고 spring boot 소스를 push 하겠습니다. ( java/spring boot 대

Naver Blog

[입문] azure(애저) devOps(데브옵스) 기본 사용법

#azure ( #애저 )에서 제공하는 #devOps ( #데브옵스 ) 에 대해 간략히 알아보겠습니다. 일반적으로 portal.azure.com 포털을 통해 #VM 이나 #DB 등을 관리할 수 있는데 devOps 의 경우 별도 도메인이 존재합니다. dev.azure.com 을 브라우저에 입력합니다. 그리고 나서 로그인을 하면, 아래처럼 organization ( 조직 ) 을 입력하라고 나옵니다. 보통 dev ops 가 조직단위로 운영되므로 조직이 하나도 없다면 하나라도 추가하라고 나오는겁니다. 하나라도 추가했다면, 이후부터는 아래 팝업이 나오지 않습니다. 조직 추가가 완료되면 아래처럼 project 추가하라고 나옵니다. ( 자꾸 추가하라고 나오는건 맨 처음 접속시에만 나옵니다. 하나라도 추가하면 더 이상 나오지 않습니다. ) 조직마다 여러개의 프로젝트가 개발/운영 되므로 프로젝트가 최소 1개는 있어야 할테니, 뭐 이상하지 않습니다. 저는 아래처럼 developery-prj 라고 프로

Naver Blog

블챌 마지막

거의 매일 블로그 포스팅을 하지만, 블챌 때문에 매일 의무적으로 쓰니 참 어렵네요. 오늘이 블챌 마지막이라니 너무 좋습니다. 뭐든 자발적 주도적일때가 제일 좋네요 ㅎㅎ 한시간 야근하면 만원보다 더 버는데 블챌이 뭐라고 이게 더 힘드네요 ㅜ

Naver Blog

[입문] azure(애저) devOps 에서 애자일(agile) Boards 사용법#1

#azure #devops 를 통해 #애자일 ( #agile ) 프로세스 board 생성 및 사용법에 대해 알아보겠습니다. 우선 아래 포스팅을 통해 devops 로그인과 organization (조직)을 만들었다고 가정하겠습니다. https://blog.naver.com/semtul79/222379571864 [입문] azure(애저) devOps(데브옵스) 기본 사용법 #azure ( #애저 )에서 제공하는 #devOps ( #데브옵스 ) 에 대해 간략히 알아보겠습니다. 일반적으로 porta... blog.naver.com 대부분이 UI 사용법이므로 글보다는 영상이 이해하기 편합니다. 아래 영상을 추천합니다. https://youtu.be/KojDPrSdKAk https://youtu.be/7i413sKQFhs https://youtu.be/I3pSNnatNew https://youtu.be/iyoFdlx76kM 애자일 프로젝트를 만들기 위해 아래처럼 + new project 를

Naver Blog

[입문] azure(애저) devOps 에서 애자일(agile) Boards 사용법#2

아래 포스팅에 이어 query와 dashboard 에 대해 알아보겠습니다. https://blog.naver.com/semtul79/222388672163 [입문] azure(애저) devOps 에서 애자일(agile) Boards 사용법#1 #azure #devops 를 통해 #애자일 ( #agile ) 프로세스 board 생성 및 사용법에 대해 알아보겠습니다. 우선 ... blog.naver.com 영상버전은 아래와 같습니다. https://youtu.be/KojDPrSdKAk https://youtu.be/7i413sKQFhs https://youtu.be/I3pSNnatNew https://youtu.be/iyoFdlx76kM 아래처럼 query를 선택하고 + new query를 선택해줍니다. 이후 아래와 같은 기본 화면이 나오며 저는 Assigned to 조건을 하나더 넣었습니다. value에 @me 라고 넣으면 현재 접속한 계정 을 뜻하게 됩니다. 이 말은 query를 만

Naver Blog

[입문] azure 에서 jenkins 서버 생성 및 maven설정 ( 애저에서 젠킨스 서버 생성 및 세팅 )

#azure ( #애저 ) #jenkins ( #젠킨스 ) 서버 생성 및 java 빌드를 위해 #maven 설치 하는 방법에 대해 알아보겠습니다. 아래처럼 portal 에서 + Create a resource 버튼을 눌러줍니다. 이후 아래처럼 jenkins bitnami 라고 검색을 합니다. 그러면 아래처럼 유사한게 나오며, 그중 첫번째인 jenkins certified by bitnami 를 선택하고 create 해줍니다. bitnami 는 앱을 패키징해주는 라이브러리? 라고 생각하면 되며, 사용자가 일일이 이것저것 설치하는게 귀찮으니 bitnami 가 미리 이것저것 설치해서 패키징 해둔 것을 이용하는 겁니다. #vm 이미지로 단지 jenkins 를 사용한다는것 뿐이므로 일반 vm 설정과 별반 다를게 없습니다. 적당한 이름 등을 넣어서 생성해줍니다. 위 이미지는 jenkins 가 자동으로 실행되고 8080 포트로 접속이 가능합니다. vm 은 디폴트로 22, 80 , 443 정도만

Naver Blog

[입문] jenkins 에서 maven 프로젝트 설정

이전 포스팅을 통해 #azure ( #애저 ) 의 #vm 을 이용해서 #jenkins 서버를 설치하고 기본세팅을 해놓았습니다. 이제 #github 에 있는 spring boot 소스를 빌드해서 jar 파일을 만드는 즉 CI 단계까지 하는 세팅을 해보겠습니다. jenkins 메인 화면에서 좌측 상단의 새로운 item 을 클릭해줍니다. 이후 아래처럼 maven project 를 선택하고 이름을 적당히 입력하고 ok 를 눌러줍니다. 이후 아래처럼 github 주소를 넣어줍니다. public repository 이므로 따로 credentials 이 필요하진 않습니다. 아래 github repo는 간단한 rest api 제공하는 spring boot 프로젝트입니다. fork 하거나 clone 하거나 아니면 이 주소 그대로를 사용해도 됩니다. 어차피 jenkins 에서 빌드가 되도록 설정하는게 목적이니까요. https://github.com/ChunGeun-Yu/springboot-rest.g

Naver Blog

[입문] azure 의 app service 의 deployment slots 사용법 ( 애저 배포 슬롯 사용 )

#azure 의 #app #service 에 보면 #deployment #slots 라는 메뉴가 있습니다. staging 용도로 우선 배포하고 , 테스트를 해본 후 문제가 없을때 production 으로 배포하고자 할때 사용하는 것이며, #blue #green #배포 라고 하는 방식과 유사합니다. blue green 배포는 아래 링크를 참고하세요 https://wallees.wordpress.com/2018/04/22/blue-green-%EB%B0%A9%EC%8B%9D/ 우선 app service 를 하나 만들겠습니다. 우선 아래처럼 spring boot 용 app service 하나 만들겠습니다. staging slot 과 production slot 이렇게 2개의 slot이 필요하므로 , app service plan 은 기본 세팅된 preminum 을 그대로 둡니다. 저렴이를 선택하면 slot 이 한개 밖에 없기에 테스트가 불가능합니다. 생성한 후 해당 리소스로 이동한 후 아

Naver Blog

[입문] azure devOps pipeline을 활용한 CI/CD 구성 (애저 데브옵스 파이프라인 구성)

화면 조작이 많기에 영상으로 보는게 가장 쉽고 빠릅니다. 본 포스팅의 영상버전은 아래와 같습니다. https://youtu.be/7byRnrrqptk https://youtu.be/S8RQLNqjv3Y #azure #devOps #pipeline 을 이용해서 #spring #boot 를 #app #service 에 배포해보겠습니다. pipeline 의 CI 메뉴와 CD 메뉴 각각 분리해서 세팅하고 연동을 하겠습니다. 우선 dev.azure.com 사이트에서 repository 사용법과 app service 사용법은 알고 있다고 가정합니다. CI/CD를 위해서는 azure 에서 제공하는 agent 를 이용해야 하는데 ( 직접 agent 설치 및 구성도 가능하긴 함) 이를 위해서는 아래처럼 organiaztion setting > billing > paid parallel jobs 에 1 이상의 값을 넣고 save 를해줘야 합니다. 처음 이 메뉴들어갔다면 azure subscriptio

Naver Blog

[입문] azure(애저) devops pipeline : No hosted parallelism has been purchased or granted. 해결법

아래처럼 빌드 agent 가 돌지도 못하고 에러 날때가 있습니다. ##[error]No hosted parallelism has been purchased or granted. To request a free parallelism grant, please fill out the following form https://aka.ms/azpipelines-parallelism-request 해결방법은 크게 2가지 입니다. 에러 메시지에 적힌 https://aka.ms/azpipelines-parallelism-request 위 주소를 들어가서 나는 누구고 어느 프로젝트에 대해 limit 을 해제해 달라고 요청하면 됩니다. 수요일에 요청을 보냈는데 금요일에 처리되었다고 메일이 왔습니다. 잘 처리되었는지 아래처럼 organization settting > pipelines > parallel job 에 들어가면 빨간색으로 Free tier 라고 나옵니다. :) 위와 같이 요청 보내는건 아마

Naver Blog

[입문] azure Kubernetes services 사용 ( 애저 쿠버네티스 k8s 사용 . AKS )

AWS 에 EKS 가 있다면 azure 에는 AKS 가 있습니다. 둘다 거의 동일하며, 본 포스팅에서는 #azure #Kubernetes #services 즉 #AKS 를 이용하는 방법에 대해 간략히 알아보겠습니다. 아래는 AWS 의 EKS 사용법 입니다. https://blog.naver.com/semtul79/222055976390 AWS EKS 에서 k8s 클러스터 생성 및 설정 #kubernetes 줄여서 #k8s 라 부르는 것에 대해서는 인터넷의 다른 자료를 찾아보시고, 저는 aws 의 eks 라... blog.naver.com 우선 아래처럼 kubernetes service를 생성해줍니다. Availability zones 에는 3개로 체크 되어 있던데 돈이 비싸니 다 없애겠습니다. node size 도 최소 권장사항인 2 core, 4 GB 로 설정했고 node 수도 2개로 조정했습니다. 다른 서비스에 비해 다소 비용이 드는 서비스이다보니 최소로 설정했습니다. AKS 는

Naver Blog

[입문] azure devOps - kubernetes service 연동 pipeline 구축 #1 ( 애저 데브옵스 파이프라인 - kubernetes/k8s 연동 )

#azure #devOps의 끝판왕이라 할수 있는 #kubernetes #service 와 #pipeline 연동 구축에 대해 알아보겠습니다. 크게 아래와 같은 흐름으로 기술합니다. 1. azure devops git repository 에 node.js 용 소스 및 dockerfile 작성 2. docker 이미지 저장용으로 ACR ( azure container registry ) 생성 3. azure devops pipeline 을 이용해서 docker image build / push 4. azure kubernetes service 생성 ( AKS ) 5. azure devops pipeline 을 이용해서 ACR에 있는 이미지를 k8s 에 배포 끝판왕인 만큼 알아야 할게 많습니다. ㅡㅜ 화면조작이 많기에 아래 영상버전을 추천합니다. https://youtu.be/7byRnrrqptk https://youtu.be/S8RQLNqjv3Y 하나씩 알아보겠습니다. 1. azure

Naver Blog

[입문] azure devOps Repos 사용 ( 애저 데브옵스 repository 사용 )

azure devOps 에서 제공하는 git repository 사용법에 대해 알아보겠습니다. azure devOps 기본 사용법은 아래 링크를 참고하세요. https://blog.naver.com/semtul79/222379571864 [입문] azure(애저) devOps(데브옵스) 기본 사용법 #azure ( #애저 )에서 제공하는 #devOps ( #데브옵스 ) 에 대해 간략히 알아보겠습니다. 일반적으로 porta... blog.naver.com 아래처럼 + 를 누른 후 new repository 를 클릭해줍니다. 이후 아래처럼 팝업이 나오는데 repo 이름을 적당히 넣고 create 를 눌러줍니다. github 에서 샘플 소스를 import 할것이라서 "Add a readme" 는 uncheck 해줍니다. 이후 아래처럼 import 를 누르면 import할 원본 repo 주소를 넣으라고 나옵니다. 저는 샘플로 아래처럼 github 의 public repository 주소를

Naver Blog

[입문] azure devOps - kubernetes service 연동 pipeline 구축 #2 ( 애저 데브옵스 파이프라인 - kubernetes/k8s 연동 )

이전 포스팅에 이어 k8s 로 deploy 하는 pipeline 을 구성해보겠습니다. 아래는 이전 포스팅입니다. https://blog.naver.com/semtul79/222394382636 [입문] azure devOps - kubernetes service 연동 pipeline 구축 #1 ( 애저 데브옵스 파이프라인 - kubernetes/k8s 연동 ) #azure #devOps의 끝판왕이라 할수 있는 #kubernetes #service 와 #pipeline 연동 구축에 대해 알아보겠습... blog.naver.com 아래는 본 포스팅의 영상버전입니다. https://youtu.be/7byRnrrqptk https://youtu.be/S8RQLNqjv3Y ------------------------------- k8s 로 deploy 하기 위해서는 k8s 클러스터에서 docker 이미지 저장소에 접근해서 image pull 을 해서 docker image를 가져오고 그걸 가

Naver Blog

azure 자격증 시험 후기 - AZ-303 Microsoft Azure Architect Technologies

#Azure #Solutions #Architect #Expert 자격증 취득을 위해 우선 합격해야할 #AZ #303 시험 후기입니다. 각 시험마다 준비해야할 공통적인 것은 ( 온라인 시험을 위한 사진찍기, 여권준비, ... ) #자격증 <-- 이곳을 누르면 쉽게 찾을수 있습니다. 시험준비는 기존과 동일하게 examtopics 를 통해 했습니다. 아래 링크가 AZ 303 과정의 dump 입니다. https://www.examtopics.com/exams/microsoft/az-303/view/ AZ-303 Exam – Free Actual Q&As, Page 1 | ExamTopics Custom View Settings Topic 1 - Question Set 1 Question #1 Topic 1 You have an Azure subscription that contains 10 virtual machines on a virtual network. You need to crea

Naver Blog

azure 자격증 시험 후기 - AZ-304 azure solutions architect expert

#Azure #Solutions #Architect #Expert 자격증 취득을 위해 치룬 #AZ #304 시험 후기입니다. 303 과 304 를 모두 합격해야 expert 자격증이 나옵니다. 303 시험 후기는 아래를 참고하세요 https://blog.naver.com/semtul79/222402943415 azure 자격증 시험 후기 - AZ-303 Microsoft Azure Architect Technologies #Azure #Solutions #Architect #Expert 자격증 취득을 위해 우선 합격해야할 #AZ #303 시험 후기입니... blog.naver.com 각 시험마다 준비해야할 공통적인 것은 ( 온라인 시험을 위한 사진찍기, 여권준비, ... ) #자격증 <-- 이곳을 누르면 쉽게 찾을수 있습니다. 304 시험 dump는 아래를 이용했습니다. https://www.examtopics.com/exams/microsoft/az-304/view/ AZ-304

Naver Blog

[입문] azure Kubernetes services 의 ingress controller ( 애저 쿠버네티스 k8s ingress controller . AKS )

#azure #aks 로 pod 를 올린 후 #ingress #controller 를 통해 외부에서 접속이 가능하도록 해보겠습니다. aks 생성 및 인증은 아래 링크를 참고해주세요 https://blog.naver.com/semtul79/222394167482 [입문] azure Kubernetes services 사용 ( 애저 쿠버네티스 k8s 사용 . AKS ) AWS 에 EKS 가 있다면 azure 에는 AKS 가 있습니다. 둘다 거의 동일하며, 본 포스팅에서는 #azure... blog.naver.com 저는 node 2개 짜리 cluster 를 만들었습니다. k8s 클러스터 외부에서 접속이 가능하도록 하는 방법에는 ingress controller, load balancer , nodeport 등 다양한 방법이 있습니다. 이번 포스팅에서는 ingress controller 를 이용하는 방법을 알아보겠습니다. ingress controller 를 생성하기 위해 일단 전용 na

Naver Blog

[입문] azure devOps - kubernetes service 연동 pipeline 구축 #3(java) ( 애저 데브옵스 파이프라인 - kubernetes/k8s 연동 )

이전 포스팅에서 node.js 프로젝트를 #CI #CD 하는 법에 대해 알아봤습니다. 이제 마지막으로 #spring #boot 프로젝트를 CI CD 해보겠습니다. 아래 #1 #2 링크와 중복되는 부분은 설명을 하지 않을 예정이므로 아래 부터 따라하길 추천합니다. https://blog.naver.com/semtul79/222394382636 [입문] azure devOps - kubernetes service 연동 pipeline 구축 #1 ( 애저 데브옵스 파이프라인 - kubernetes/k8s 연동 ) #azure #devOps의 끝판왕이라 할수 있는 #kubernetes #service 와 #pipeline 연동 구축에 대해 알아보겠습... blog.naver.com https://blog.naver.com/semtul79/222394665795 [입문] azure devOps - kubernetes service 연동 pipeline 구축 #2 ( 애저 데브옵스 파이프라인

Naver Blog

[입문] azure storage blob in Java ( 애저 스토리지 )

#Spring #boot ( #java ) 를 이용해서 #Azure #storage #account 의 #Container storage , 흔히 #Blob storage 라고 부르는 storage 에 접근하는 방법에 대해 알아보겠습니다. Azure Container storage ( = blob ) 는 #AWS 의 #S3 와 같은 서비스라고 보면 됩니다. 즉 text 파일이나 사진, 동영상 파일등을 업로드, 다운로드 할 수있는 서비스입니다. Spring boot 를 이용할 것이므로 우선 https://start.spring.io/ <-- 여길 접속해서 기본 코드를 생성하겠습니다. 저는 아래처럼 입력을 해서 프로젝트를 생성하겠습니다. spring initializr 을 이용해서 프로젝트 생성 및 #이클립스 에서 프로젝트 import 하는 법은 아래 링크를 참고하세요. https://blog.naver.com/semtul79/222359288073 spring boot initiali

Naver Blog

[입문] azure storage 접근제어 (1/4)- Managed Identity

azure 의 리소스를 생성,수정,접근,삭제 등을 하려면 인증/인가를 통해 "누구인지, 어떤 리소스에 접근이 가능한지, 접근가능한 리소스에 대해 생성,삭제... 중 어떤 걸 할수 있는지.." 등과 같은 걸 판단하는 과정을 거칩니다. 개인 계정으로 azure portal 에 로그인하면 모든 리소스에 대해 모든 작업을 할 수 있는데, 그건 admin 계정이고 그 계정에 모든 리소스에 대한 full access 가 미리 세팅되어 있기에 가능한 겁니다. ( 회원가입시 azure 에서 알아서 세팅해줍니다. ) 보통 회사에서는 개발자, 관리자 , 운영자 등 역할에 맞게 계정을 생성해주며, 외부업체에 일주일정도 demo 용으로 접근가능한 key를 만들어주기도 하고, 특정 application 만을 위한 id 를 생성해주기도 합니다. 이런식으로 복잡한 용도에 대응하기 위해 아래처럼 4가지 인증/인가 방식이 존재합니다. 1. Managed Identity 2. Service Principal (ht

Naver Blog

[입문] azure storage 접근제어 (2/4)- Service Principal ( 서비스 주체)

아래 포스팅에서 managed identity 인증/인가 방법에 대해 알아봤습니다. https://blog.naver.com/semtul79/222434975406 [입문] azure 인증/인가 - Managed Identity azure 의 리소스를 생성,수정,접근,삭제 등을 하려면 인증/인가를 통해 "누구인지, 어떤 리소스에 접... blog.naver.com 이번에는 아래 4가지중 service principal . 우리말로는 서비스 주체 라고 부르는 것에 대해 알아보겠습니다. 1. Managed Identity(https://blog.naver.com/semtul79/222434975406) 2. Service Principal 3. Shared Signature Access(https://blog.naver.com/semtul79/222436247475) 4. Account Key / Access Key / Master Key(https://blog.naver.com/sem

Naver Blog

[입문] azure storage 접근제어 (3/4)- Shared Signature Access ( 공유 액세스 서명 )

#azure #blob #storage #접근제어 방법중 아래 3번 shared signature access ( 공유 액세스 서명 ) 에 대해 알아보겠습니다. 1. Managed Identity(https://blog.naver.com/semtul79/222434975406) 2. Service Principal(https://blog.naver.com/semtul79/222435389282) 3. Shared Signature Access 4. Account Key / Access Key / Master Key(https://blog.naver.com/semtul79/222436369979) 아래처럼 storage account > shared signature access 메뉴에서 allowed resource types 를 체크하면 하단에 generate SAS and connection string 이라는 버튼이 활성화 됩니다. 이를 클릭합니다. 클릭하면 아래처럼 하단에 S

Naver Blog

[입문] azure storage 접근제어 (4/4)- access key ( 애저 스토리지 - 액세스키 )

#azure #blob #storage #접근제어 방법중 아래 4번 access key 에 대해 알아보겠습니다. 1. Managed Identity(https://blog.naver.com/semtul79/222434975406) 2. Service Principal (https://blog.naver.com/semtul79/222435389282) 3. Shared Signature Access(https://blog.naver.com/semtul79/222436247475) 4. Account Key / Access Key / Master Key 3번과 사용법은 유사합니다. 즉 간단합니다. storage account > access keys 로 이동한 후 상단의 show keys 를 누르면 아래처럼 key 값들이 보입니다. key 1, key 2 이렇게 2개가 있는 이유는 rotate key 를 통해 재생성을 할 수 있습니다. 만약 key 1,2 모두 재생성 하고 싶을때, ke

Naver Blog

[입문] azure cognitive service - translation ( 애저 번역 서비스 )

#azure 를 이용한 #tranlation ( #번역 ) 서비스 사용 방법에 대해 알아 보겠습니다. hello -> 안녕 이런식으로 번역도 해주고, hello -> 언어: 영어 처럼 어떤 언어인지 등과 같이 번역 관련 여러 서비스를 함께 제공해주고 있습니다. 자세한 정보는 아래를 참고하세요 https://docs.microsoft.com/ko-kr/azure/cognitive-services/translator/translator-info-overview 본 포스팅의 영상버전은 아래와 같습니다. 포스팅만으로 따라하기 힘들면 영상을 보며 따라해보세요. https://youtu.be/Iu1fEeLSQ3k https://youtu.be/RF-kMFV4djk 이론은 위 링크에게 맡기고 여기서는 번역 서비스를 실제로 어떻게 사용할 수 있는지 알아보겠습니다. #portal 에서 #cognitive #service 라고 검색해서 해당 서비스로 들어간 후 아래처럼 +Add > + Translat

Naver Blog

[입문] azure cognitive service - Computer vision OCR( 애저 비전 문자 판독 )

#azure #cognitive #service 중 하나인 #Computer #vision 서비스 . 그중에서 #OCR 서비스 사용방법에 대해 알아보겠습니다. 번역서비스에서 이미 설명한 부분은 생략하였으니, 잘 모르는게 있으면 아래 번역 서비스 포스트부터 읽어주세요. https://blog.naver.com/semtul79/222442850030 [입문] azure cognitive service - translation ( 애저 번역 서비스 ) #azure 를 이용한 #tranlation ( #번역 ) 서비스 사용 방법에 대해 알아 보겠습니다. hello -> 안녕 이... blog.naver.com 본 포스팅의 영상버전입니다. 포스팅만으로 따라하기 어려우면 영상을 참고하세요 https://youtu.be/si3BQi_ZeNc OCR (optical character reader)은 사진에서 글자를 찾아내는걸 뜻합니다. 이전에 다룬 #번역 ( #translator ) 서비스처럼 #

Naver Blog

[입문] azure storage account - queue ( 애저 스토리지 큐 )

#azure 에서 제공하는 #queue 서비스 중 가장 간단한 기능이면서 큐 사이즈가 가장 큰 #storage #account #queue 에 대해 알아보겠습니다. 대표적인 message queue 중의 하나인 #rabbit #mq 같은건 복잡한 용도를 대부분 지원할 수 있는 기능들이 있습니다. #azure 에서는 #service #bus 가 이에 해당합니다. 지금 다룰 storage account 의 queue 는 복잡한 기능은 제공하지 않으나, 대신 저장소의 역할에 강점이 있습니다. 즉 큐 사이즈를 100GB 처럼 크게 잡고 싶다.. 대신 #pub #sub 이런건 필요없다. 등의 용도에 적합합니다. #service #bus VS #storage #account #queue 의 구체적인 차이점은 아래 링크를 참고하세요. https://medium.com/awesome-azure/azure-difference-between-azure-storage-queue-and-service-b

Naver Blog

docker command 정리 ( 도커 명령어 rm, ls, prune, ... )

#docker #command 에 대한 실제 명령실습 및 상세한 설명은 아래 영상에서 확인하세요 https://youtu.be/ZbRHHthGdro https://youtu.be/OI8HsHJCo50 https://youtu.be/vwgzCPP7-l4 #도커 #이미지 명령(docker image ...) 원격에 있는 #docker #image 를 로컬에 가져오기 docker image pull <이미지:태그> docker image pull docker/getting-started:latest 도커 이미지 빌드하기 docker image build -t 이미지명[:태그명] Dockerfile경로 docker image build -t mytest/hello:1.0 . 로컬에 있는 docker image 리스트 확인하기 docker image ls docker image에 새로운 이름/태그 추가하기 기존 이미지는 그대로 존재하고, 새로운 이름/태그가 추가됨. docker image t

Naver Blog

selenium 만 써봤나요? puppeteer + mocha + chai 로 웹 자동화 테스트 / 크롤링 ( puppeteer #1 )

혹시 웹 자동화 툴로 #selenium 만 알고 있지는 않나요? #puppeteer 라고 github star 가 70k 가 넘는 웹 브라우저 자동화 툴에 대해 알아보겠습니다. 추가로 #mocha 와 #chai 라는 javascript 테스트 프레임워크 및 판정 라이브러리도 함께 조합해서 어떻게 웹 자동화 테스트 / 크롤링을 할 수 있는지 알아보겠습니다. 1. puppeteer 2. mocha 3. chai 현재 포스트의 영상버전은 아래와 같습니다. 영상에 더 많은 팁과 설명, 노하우가 있으니 영상시청을 추천합니다. https://youtu.be/f_-iWhq_nJQ 우선 puppeteer 부터 알아봅시다. https://github.com/puppeteer/puppeteer GitHub - puppeteer/puppeteer: Headless Chrome Node.js API Headless Chrome Node.js API. Contribute to puppeteer/puppet

Naver Blog

selenium 만 써봤나요? puppeteer + mocha + chai 로 웹 자동화 테스트 / 크롤링 ( puppeteer #2 )

아래와 같이 지난 포스팅에서 #puppeteer 설치 및 기본 사용법에 대해 알아봤습니다. https://blog.naver.com/semtul79/222458612186 puppeteer + mocha + chai 로 웹 자동화 테스트 / 크롤링 ( puppeteer #1 ) 혹시 웹 자동화 툴로 #selenium 만 알고 있지는 않나요? #puppeteer 라고 github star 가 70k 가 넘는 웹 ... blog.naver.com 이제 좀 더 puppeteer 로 웹 자동화 하는 방법에 대해 알아보겠습니다. 현재 포스트의 영상버전은 아래와 같습니다. 영상에 더 많은 팁과 설명, 노하우가 있으니 영상시청을 추천합니다. https://youtu.be/f_-iWhq_nJQ puppeteer나 selenium 이나 라이브러리 사용법이 약간 다를뿐 결국 특정 element 를 찾아서 click 등의 이벤트 주는것이 전부입니다. 즉 적절한 element 찾는 방법이 가장 중요합니다

Naver Blog

selenium 만 써봤나요? puppeteer + mocha + chai 로 웹 자동화 테스트 / 크롤링 ( mocha, chai )

지난 포스팅을 통해 #puppeteer 를 이용한 웹 브라우저 자동화 방법에 대해서 알아봤습니다. 여기까지만 해도 자동화 테스트를 할 수 있습니다. 특정 버튼 클릭시 이후 특정 화면이 나와야 한다고 했을때, xx.click() 이후 page.$x(xxx) 처럼 해서 특정 element 를 찾기 시도를 하고 만약 못찾았다면 fail 이고, 찾았으면 success 로 판단하도록 click, find, if ~ else 를 한땀한땀 코딩하면 되기 때문입니다. 이렇게 if ~ else 도와주는게 테스트 라이브러리입니다. #java 에는 #junit 이 있다면 #javascript 에는 #mocha 가 있습니다. https://mochajs.org/ Mocha - the fun, simple, flexible JavaScript test framework Mocha is a feature-rich JavaScript test framework running on Node.js and in t

Naver Blog

selenium 만 써봤나요? puppeteer + mocha + chai 로 웹 자동화 테스트 / 크롤링 ( 최종 완성 )

#puppeteer + #mocha + #chai 마지막 포스팅입니다. 소스코드는 아래와 같으며, 각 라인별로 주석을 달았습니다. 전체 소스는 맨 아래에 github 주소를 넣었습니다. const { expect } = require("chai") const puppeteer = require('puppeteer'); describe('ui 자동화 테스트 샘플', function() { let browser; let page; // 최초 1번 수행 before(async function() { // runs once before the first test in this block console.info("before") browser = await puppeteer.launch({ headless: false, args: ['--window-size=1920,1080'], slowMo: 30, // 30ms 씩 delay }) page = await browser.newPage()

Naver Blog

azure 의 가상 네트워크 생성하는 법( 애저 vnet , virtual network, vpc )

#AWS 의 #vpc 에 해당하는 #azure 의 #vnet , 즉 가상 네트워크, virtual network 에 대해 알아보겠습니다. VM 이나 gateway 등과 같이 ip가 필요한 서비스를 생성할때, 그 서비스는 어떤 네트워크에 속해있어야 합니다. 그래서 vnet 을 해당 서비스 생성중에 기존의 vnet 중 하나를 선택하거나, 아니면 새로운 vnet 을 만들라고 가이드가 나옵니다. 아래는 #application #management 라는 api gateway 를 생성할때 나오는 virtual network 선택화면 입니다. 기존에 만든 안쓰는걸 선택하거나, 아니면 아래에 보이는 create new 를 눌러서 새롭게 생성해야 합니다. 이렇게 특정 서비스의 바로가기 링크(=create new 라는 버튼 )를 눌러서 vnet 을 만들수 있습니다. 아래 화면은 위의 create new 를 누르면 나오는 화면입니다. 위와 같이 꼭 필요한 메뉴를 입력해서 quick 하게 vnet 을 만

Naver Blog

azure ( 애저 ) application gateway 10분만에 끝내기 #1/2

#azure ( #애저 ) 에서 #application #gateway 만드는 방법에 대해 알아보겠습니다. 본 포스팅의 영상 버전은 아래와 같습니다. 영상에 더 많은 설명과 그림이 있어 이해하기 더 쉽습니다. https://youtu.be/iIhW6Y4HjmM https://youtu.be/XwojaFEq9d4 azure portal 에서 application gateway 라고 검색해서 서비스로 진입한 후 상단의 +create 를 눌러줍니다. 이후 아래처럼 적당한 값을 채워줍니다. 테스트 용도이므로 auto scaling은 no 로 설정하고 instance count는 1로 해서 저렴하게 만듭니다. #vnet 을 적당히 선택하거나, 없다면 create new 를 눌러서 새롭게 하나 만듭니다. 이후 frontends 탭에서 아래처럼 public ip 를 할당해줍니다. 없다면 add new 를 눌러서 하나 만듭니다. frontends 는 api gateway 의 앞단을 의미하며, pu

Naver Blog

azure ( 애저 ) application gateway 10분만에 끝내기 #2/2

이전 포스팅에서 #application #gateway 를 생성해보았습니다. 이제 라우팅 룰대로 잘 동작하는지 테스트를 해보겠습니다. 우선 pool1 과 poo2 를 만들었고, 라우팅 룰에 의해 pool1 혹은 pool2 로 전달됩니다. 그럼 pool1 은 어떤 응답을 주는지 봅시다. pool1, pool2 모두 #app #service 를 이용해서 만들었으며, pool1 은 아래처럼 json을 리턴하도록 만들어두었습니다. ( 여러분은 여러분의 app service 코드에 맞는 값이 리턴됩니다. 제가 만든 app service는 이렇다는 것 뿐입니다. ) pool2 는 portal 에서 만들기만 하고 따로 소스코드를 넣고 빌드/배포를 하지 않아서 기본 화면이 아래처럼 나오게 되어 있습니다. 위의 그림들은 실제 서버로 바로 접속한 것이고, 우리가 하고 싶은건 #application #gateway 를 통해서 접속하는것입니다. 아래처럼 overview 에 보면 frontend publi

Naver Blog

5분 완성! Azure api management ( 애저 api gateway , apim ) 생성 및 테스트하기

apim 생성: https://blog.naver.com/semtul79/222472448357 product, policy: https://blog.naver.com/semtul79/222478446770 metrics, alert: https://blog.naver.com/semtul79/222478521906 revision: https://blog.naver.com/semtul79/222478902169 version: https://blog.naver.com/semtul79/222478921440 developer portal: https://blog.naver.com/semtul79/222479614415 #Azure 의 #api #gateway 서비스인 #Azure #api #management 를 만들어보겠습니다. 본 포스팅의 영상버전은 아래와 같으며 영상에 더 많은 설명과 그림이 있습니다. https://youtu.be/H1r7OgF33x4 portal 에서 api

Naver Blog

Azure api management ( 애저 api gateway , apim ) 의 product ( 제품 ) 생성, policy 적용

apim 생성: https://blog.naver.com/semtul79/222472448357 product, policy: https://blog.naver.com/semtul79/222478446770 metrics, alert: https://blog.naver.com/semtul79/222478521906 revision: https://blog.naver.com/semtul79/222478902169 version: https://blog.naver.com/semtul79/222478921440 developer portal: https://blog.naver.com/semtul79/222479614415 지난 포스팅에서 #azure #apim 을 생성하고 #api 를 추가하고 테스트까지 해봤습니다. 가장 기본 기능이지만 이 기능을 가지고 #api #gateway 라고 하기에는 뭔가 많이 부족해보입니다. 이번 포스팅에서는 #product ( #제품 ) 라는 걸 만들어서 추

Naver Blog

5분 완성! Azure api management ( 애저 api gateway , apim ) 의 metrics, alert 설정

apim 생성: https://blog.naver.com/semtul79/222472448357 product, policy: https://blog.naver.com/semtul79/222478446770 metrics, alert: https://blog.naver.com/semtul79/222478521906 revision: https://blog.naver.com/semtul79/222478902169 version: https://blog.naver.com/semtul79/222478921440 developer portal: https://blog.naver.com/semtul79/222479614415 #azure #api #gateway 인 #apim 에 대한 모니터링에 대해 알아보겠습니다. 본 포스팅의 영상버전은 아래와 같으며 영상에 더 많은 설명과 그림이 있습니다. https://youtu.be/SKB0kAKyw_I 아래처럼 #metrics 메뉴에 들어간 후, m

Naver Blog

5분 완성! Azure api management ( 애저 api gateway , apim ) 의 revision 관리

apim 생성: https://blog.naver.com/semtul79/222472448357 product, policy: https://blog.naver.com/semtul79/222478446770 metrics, alert: https://blog.naver.com/semtul79/222478521906 revision: https://blog.naver.com/semtul79/222478902169 version: https://blog.naver.com/semtul79/222478921440 developer portal: https://blog.naver.com/semtul79/222479614415 서버 개발을 하다보면 #rest #api 를 수정한 후 배포를 하게 되는데, 기존 연동 규격과 호환이 되지 않는 변경 사항 처럼 연관된 서비스들과 잘 동작하는지 확인이 필요하면서, 기존 서비스들과 잘 동작하는 건 유지하고 싶다~ 처럼 변경된 api 도 배포하면서, 기존

Naver Blog

1분 완성! Azure api management ( 애저 api gateway , apim ) 의 version 관리

apim 생성: https://blog.naver.com/semtul79/222472448357 product, policy: https://blog.naver.com/semtul79/222478446770 metrics, alert: https://blog.naver.com/semtul79/222478521906 revision: https://blog.naver.com/semtul79/222478902169 version: https://blog.naver.com/semtul79/222478921440 developer portal: https://blog.naver.com/semtul79/222479614415 이전 포스팅에서 #azure #apim 의 #revision 관리에 대해 알아봤습니다. revision을 이해했다면 #version 은 그 상위개념일뿐 다를게 없어서 쉽게 알수있습니다. 본 포스팅의 영상버전은 아래와 같으며 영상에 더 많은 설명과 그림이 있습니다. htt

Naver Blog

10분 완성! Azure api management ( 애저 api gateway , apim ) 의 developer portal ( swagger 화면 구성 )

apim 생성: https://blog.naver.com/semtul79/222472448357 product, policy: https://blog.naver.com/semtul79/222478446770 metrics, alert: https://blog.naver.com/semtul79/222478521906 revision: https://blog.naver.com/semtul79/222478902169 version: https://blog.naver.com/semtul79/222478921440 developer portal: https://blog.naver.com/semtul79/222479614415 #azure #api #management 의 마지막 포스팅입니다. 보통 rest api 서버를 만들면 #swagger 를 통해 api 규격을 개발자들에게 알려줍니다. #apim 은 rest api 의 관문 역할을 해주므로, 이곳에도 swagger 같은 기능이 있습니다.

Naver Blog

Azure Cognitive - Custom vision 생성

#azure 의 #인지 서비스 ( #cognitive service ) 중의 하나인 #custom #vision 에 대해 알아보겠습니다. 1. Azure Cognitive - Custom vision 생성 ( https://blog.naver.com/semtul79/222481236606 ) 2. Azure Cognitive - Custom vision 을 이용한 가족 사진 판별하기( https://blog.naver.com/semtul79/222481693628 ) 3. Azure Cognitive - Custom vision 모델 향상 및 rest api로 예측 ( https://blog.naver.com/semtul79/222484842654 ) 본 시리즈의 영상버전은 아래와 같습니다. 영상에 더 많은 설명과 사용법이 나와있습니다. https://youtu.be/R7d-z2gzdf0 custom vision 은 사용자가 직접 태그를 설정해서 이미지를 등록해주면 azure 가 알

Naver Blog

Azure Cognitive - Custom vision 을 이용한 가족 사진 판별하기

1. Azure Cognitive - Custom vision 생성 ( https://blog.naver.com/semtul79/222481236606 ) 2. Azure Cognitive - Custom vision 을 이용한 가족 사진 판별하기( https://blog.naver.com/semtul79/222481693628 ) 3. Azure Cognitive - Custom vision 모델 향상 및 rest api로 예측 ( https://blog.naver.com/semtul79/222484842654 ) 이전 포스팅에서 #Azure #Cognitive - #Custom #vision 생성 및 이미지 업로드, test 하는 방법에 대해 알아봤습니다. 하나의 태그당 이미지를 6~7장만 넣어서 학습을 시키니, 정확도가 너무 떨어지는것을 확인했기에 이번에는 이미지 100장 정도씩 넣어서 학습을 시켜봤습니다. 각 태그당 이미지 100장씩 있으려면 제가 그 만큼의 사진도 있어야 하

Naver Blog

Azure Cognitive - Custom vision 모델 향상 및 rest api로 예측

1. Azure Cognitive - Custom vision 생성 ( https://blog.naver.com/semtul79/222481236606 ) 2. Azure Cognitive - Custom vision 을 이용한 가족 사진 판별하기( https://blog.naver.com/semtul79/222481693628 ) 3. Azure Cognitive - Custom vision 모델 향상 및 rest api로 예측 ( https://blog.naver.com/semtul79/222484842654 ) 이번 포스트에서는 #azure #cognitive ( #애저 #인지 서비스 ) 중 #custom #vision 에 대한 모델 향상 방법 및 #rest #api 를 통한 예측 값 받아오는 법에 대해 알아보겠습니다. 우선 아래와 같은 여자레고 이미지 약 50장 + 남자레고 이미지 약 50장을 넣고 man과 woman 이라는 tag ( = label ) 를 달아서 train

Naver Blog

azure 자격증 시험 후기 - Administering Relational Databases (DP-300)

#Azure #자격증 중 #데이터베이스 관련 #DP #300 시험 후기입니다. DP-300 은 데이터베이스중 RDB 즉 관계형 데이터 베이스에 관한 시험이며, 좀 더 정확히는 MS SQL Server 를 base 기반으로 클라우드 환경에 맞게 일부 기능/성능을 수정한 "Azure 에서 제공하는 DB" 에 관한 시험입니다. #AWS 의 #오로라 DB 와 유사한 서비스라고 보면 됩니다. 즉 #MS #SQL #Server 를 이미 좀 사용해봤다면 꽤 쉽게 합격할 수있을듯 합니다. 저는 #mysql 과 #oracle 만 주로 써서 특이한 기능이나 용어 공부한다고 좀 힘들었습니다. 시험 #dump 는 아래 사이트를 이용했으며, 실제 시험에서 50% 정도 나왔습니다. https://www.examtopics.com/exams/microsoft/dp-300/view/ DP-300 Exam – Free Actual Q&As, Page 1 | ExamTopics Custom View Settings

Naver Blog

&quot;일을 잘한다는 것&quot; 독서 후기

일을 잘한다는 것 일을 잘한다 -> 성과를 잘 낸다. -> 기술을 잘안다가 아니라 성과를 잘 낸다 임. 즉 기술만으로 성과가 잘 나지 않고 기술 & 감각 으로 성과가 잘 난다. 감각이란 문제의 본질을 알아차리는것, 자신의 재능/특성에 맞는 일을 하는것 , 사람을 이해하는 것 등이 된다. SWOT 처럼 bottom up 방식으로 문제분석도 좋으나, 이는 "문제해결"이라는 최종목표가 아닌 "문제분석"이 최종 목표가 되어 버릴수 있다. 감각으로 top down 방식으로 우선 필터링을 몇개 한후 들어가는 것도 좋은 방법일 수 있다. 기내식 A vs B 중 A가 항상 품절. 승무원은 품절시 고객응대를 잘 하는 "기술"만 중요시 했는데 사실은 A를 더 많이 입고 하는식으로 문제를 해결할 수 있다. 그러나 "기술"만이 성과라고 생각할수 있다. 문제의 근본 원인을 파악하는 "감각"이 중요하다. 스페셜리스트와 제너럴리스트 모두 좋은 것이다. 기술 ,감각 모두 중요한 것이고, 자신의 역량/재능에 따라

Naver Blog

LG 모니터 24MP500W 제품 후기

가성비 좋은 LG 24 인치 모니터 입니다. 독서모드가 지원되어 블루라이트가 없고 편안하게 볼수 있으며 17~18만원대로 24인치 모니터 구매할 수 있답니다. hdmi 포트가 2개 있으며 그외 VGA 등의 오래된포트는 지원하지 않습니다. 현재 해시태그 이벤트를 하고 있어서 관심있으신 분은 구매해보세요

Naver Blog

azure 에서 kafka 클러스터 1분만에 생성하는 법 ( 애저, 카프카 )

#azure ( #애저 ) 에서 #kafka ( #카프카 ) 생성하는 방법은 여러가지가 있습니다. #vm 에 직접 카프카 설치해도 되고, 카프카 이미지가 있는 vm 을 market place 에서 찾은 후 그걸로 vm 을 구동해도 됩니다. 테스트 용도가 아니라면 카프카 클러스터로 구성할것이고 이러면 클러스터설정해야 합니다. 그리고 #스키마 ( #schema ) 서버 설정 등 할게 많아 집니다. 그래서 지금 소개하는 #event #hub ( #이벤트 #허브 )를 kafka 로 활용하는 방법에 대해 소개하고자 합니다. 현재 글의 동영상 버전은 아래와 같습니다. 화면 조작이 다소 있으므로 동영상 시청이 좀더 이해하기 쉽습니다. https://youtu.be/uq2XtxKmWL4 https://youtu.be/x93Wf8dn51s 이벤트 허브는 kafka의 애저 버전이라고 보면 되는데, kafka 기본 기능 제공 + 애저의 추가 기능 = 이벤트 허브 라고 생각하면 이해가 쉽습니다. azur

Naver Blog

Azure 의 NoSQL 서비스중의 하나인 storage Table 알아보기 ( 애저 스토리지 테이블 )

#Azure ( #애저 ) 에서 제공하는 대표적인 #NoSQL 서비스는 #cosmos #DB 입니다. 이번 포스팅에서는 cosmos DB 에 대해 알아보는게 아니라! cosmos DB의 심플 버전인 #storage #Table 에 대해 알아보겠습니다. :) azure portal 에서 어떻게 만들면 되는지 알아보겠습니다. portal 사이트의 검색창에 storage account 라고 검색해서 해당 서비스로 진입한 후 +create 를 누른 후 아래처럼 적당한 값을 넣어줍니다. storage account name을 기반으로 url이 만들어지므로 test, tabletest 뭐 이런 일반적인 이름을 적으면 이름중복되어서 다시 적으라고 나오니 주의하세요. redundancy 에는 디폴트로 GRS 라고 나올건데 그대로 사용해도 되나, 조금 더 저렴한 LRS 를 사용하겠습니다. 테스트 용도이니 부담없이 아무거나 선택하세요~ 이후 생성이 완료되고 나면, 아래처럼 해당 리소스로 이동 한 후

Naver Blog

Azure 의 NoSQL - storage Table in java ( 애저 스토리지 테이블 )

지난 포스팅에서 #storage #account #table 에 대해 알아봤습니다. https://blog.naver.com/semtul79/222570376447 Azure 의 NoSQL 서비스중의 하나인 storage Table 알아보기 ( 애저 스토리지 테이블 ) #Azure ( #애저 ) 에서 제공하는 대표적인 #NoSQL 서비스는 #cosmos #DB 입니다. 이번 포스팅에서는... blog.naver.com 이제 실전 감각을 익히기 위해 java, spring boot 로 insert, select 등을 해보겠습니다. 아래에 설명된 코드의 전체 코드는 맨 아래에 github 주소를 넣어두었으니 참고하세요. 일반적으로 java , python 등으로 database 에 insert, select 등을 하려면 우선 DB 접속 정보를 알아야 합니다. 즉 ip, port, id, password .. 이런것들이겠죠. 이런 정보들을 어디서 가져오는지 부터 알아보겠습니다. secur

Naver Blog

spring kafka 를 이용한 producer , consumer 구현 #1/3 ( 기본편 )

spring-kafka 라는 spring 전용 kafka 라이브러를 이용해서 spring boot 에서 손쉽게(?) producer, consumer 구현하는 방법에 대해 알아보겠습니다. #카프카 는 #azure 에서 제공하는 걸(아래 링크참고) 이용했으며, #aws 등에서 제공하는 것을 써도 되고, 직접 #kafka 구축한 후 테스트해도 됩니다. 참고로 partition 수 2개로 설정했습니다. 이 값에 따라 consumer 의 실제 구동 수가 결정됩니다. 여기서는 2 이므로 최대 2개 consumer 만 실제 active 상태이며, 그 이상의 consumer가 있어봤자 standby 상태로 그냥 놀고 있다고 보면 됩니다. https://blog.naver.com/semtul79/222562511305 azure 에서 kafka 클러스터 1분만에 생성하는 법 ( 애저, 카프카 ) #azure ( #애저 ) 에서 #kafka ( #카프카 ) 생성하는 방법은 여러가지가 있습니다. #v

Naver Blog

spring kafka 를 이용한 producer , consumer 구현 #2/3 ( 멀티 파티션 대응용 )

지난 포스팅에서는 가장 기본적인 구현으로 producer , consumer 를 구현했습니다. 실제 실무에서는 단일 파티션이 아닌 4개, 16개 ... 이런식으로 많은 파티션으로 구성된 토픽을 consumer 할 경우가 많습니다. docker로 파티션 수만큼의 spring boot 를 구동시켜도 되나, consumer의 주요 내용이 DB 쿼리, http request 등 I/O가 많은 작업이라면 cpu, mem이 많이 놀게 되므로 , 단일 쓰레드가 아닌 멀티 쓰레드로 consumer 가 구동되도록 하는게 좋습니다. 이를 위해서는 조금 복잡한 환경 구성이 필요합니다. consumer 는 사실 @KafkaListener 라고 어노테이션이 들어간 함수입니다. 우리가 원하는 건 @KafkaListener라고 어노테이션 들어간 함수가 한개 쓰레드가 아닌 여러쓰레드에서 구동되는 것입니다. 이를 위해서는 아래처럼 ConcurrentKafkaListenerContainerFactory 라는 빈을

Naver Blog

spring kafka 를 이용한 producer , consumer 구현 #3/3 ( DLQ 구현 )

마지막으로 #DLQ ( #DeadLetterQueue ) 구현을 해보겠습니다. 기존 kafkaConfig 클래스에서 할 일이 많습니다. 자세한 건 소스에 주석을 달았으니 그걸 참고하세요. 핵심만 적으면 listener 에서 exception 이 발생했을 때, 1) 몇 번 재시도를 할것인지, 2) 재시도 간의 interval 은 얼마로 둘건지, 3) 최종적으로 실패가 되었을때, 어느 토픽으로 send 하면 되는지를 설정해야 합니다. 1,2번에 대한 것은 retryTemplate() 함수에서 retryTemplate 객체를 만든 후 아래를 호출해서 1,2번을 설정해줍니다. factory.setRetryTemplate(retryTemplate()); 3번은 DeadLetterPublishingRecoverer 를 만들어서 어느 토픽으로 send할지 정해주고, 아래처럼 호출해서 에러 핸들러를 등록해주면 됩니다. 이미 retryTemplate 에서 몇번재시도할지, 얼마의 interval을 둘

Naver Blog

kafka 이용시 주의사항 - 리밸런스, 파티션확대

아래 시리즈를 통해 kafka 에 대해 알아봤습니다. 1) spring kafka 를 이용한 producer , consumer 구현 #1/3 ( 기본편 ) - https://blog.naver.com/semtul79/222584312432 2) spring kafka 를 이용한 producer , consumer 구현 #2/3 ( 멀티 파티션 대응용 ) - https://blog.naver.com/semtul79/222585334725 3) spring kafka 를 이용한 producer , consumer 구현 #3/3 ( DLQ 구현 ) - https://blog.naver.com/semtul79/222587574854 이제는 kafka 를 이용해서 서비스 개발시 주의사항에 대해 살펴보겠습니다. 1. 리밸런스 consumer가 추가되거나 삭제될 경우, 파티션을 남아있는 consumer 에게 재할당하게 됩니다. 이를 리밸런싱 이라고 합니다. 모든 consumer 들이 리밸런싱에

1 2 3