Native addon을 포함하여 Node.js + Typescript + Serverless 빌드 및 배포하기

AWSKRUG Serverless Group에서 발표한 자료입니다. C++로 빌드한 Native addon을 Serverless 환경에서 사용할 때 빌드 및 배포하는 방법을 다루었습니다. 발표자료 Native addon을 포함하여 Node.js + Typescript + Serverless 빌드 및 배포하기 from Kyuhyun Byun References https://www.slideshare.net/KyuhyunByun1/native-addon-nodejs-typescript-serverless

February 14, 2019 1 min

Amazon Timestream 시계열 데이터 전용 DB 소개

“시계열 데이터 전용 DB 소개"라는 주제로 2019년 1월 25일에 AWSKRUG re:Invent recap 행사에서 발표한 자료입니다. 발표자료 Amazon Timestream 시계열 데이터 전용 DB 소개 :: 변규현 - AWS Community Day 2019 from AWS Korea UserGroup (AWS한국사용자모임) References https://www.slideshare.net/awskr/amazon-timestream-db https://pages.awscloud.com/aws-community-day-seoul-2019.html

January 25, 2019 1 min

2017년부터 2018년까지의 회고

2017부터 2018년에 대해서 회고를 남기려고 한다. 어느때보다 치열하고 열심히 달려온 한해였다. 다음은 한해동한 진행했던 일들의 대한 목록은 다음과 같다. AWSKRUG 회사 강의 활동  AWSKRUG 개발자 커리어에서 가장 크게 영향력을 준 모임이다. AWSKRUG는 Amazon Web Service Korea User Group의 약자로 AWS 한국 사용자 그룹이라고도 불린다. 이 모임에 처음으로 참여하게된 것은 2017년 4월 쯤이었다. 지난 2년여간 데이터 사이언스 그룹을 시작으로 거의 모든 모임에 참석하였다. AWSKRUG 통해 많은 것을 배울 수 있었다. ...

January 1, 2019 9 min

OWASP TOP 10

Summary 보안 취약점의 종류를 이해하고 정리한다. 보안은 개발속도를 늦추는 경우도 있지만 제품의 안정성과 신뢰성에 기여하기 때문에 필수적인 요소이다. 다음은 OWASP(The Open Web Application Security Project)의 년도별 TOP 10 취약점의 종류이다. 2017 Injection Broken Authentication Sensitivy Data Exposure XML External Entities(XXE) Broken Access Control Security Misconfiguration Cross-Site Scripting(XXS) Insecure Deserialization Using Component with Known Vulnerabilities Insufficient Logging & Monitoring 2013 Injection Broken Authentication and Session Management Cross-Site Scripting Insecure Direct Object References ...

November 2, 2018 1 min

0원으로 시작하는 데이터 수집 및 분석

Summary 부산 스마트 앱 개발자 포럼에서 서버리스를 활용하여 데이터를 수집 및 분석 후기를 공유하였다. 발표자료 Github repo. 발표 슬라이드 0원으로 시작하는 서버리스 데이터 수집 및 분석 from Kyuhyun Byun 고찰 지난 여름부터 모아온 데이터를 분석하고 이 데이터를 기반으로 AWS의 데이터 처리 서비스들에 대해서 공부하는 계기였다. 실제로 현업에서 데이터를 분석할 일은 많다. 데이터를 쌓고 보기 쉽게 변환하는 과정 그리고 시각화까지 다양한 기술을 요구한다. 데이터를 다루는 역량 뿐만 아니라 전체적인 웹서비스 구축 역량을 요구한다. ...

October 29, 2018 1 min

Circle CI에서 Docker Build 하기

Summary 현재 Terraform으로 ECS 인프라를 생성하고, CircleCI에서 docker image를 빌드하고 ECR에 푸시하는 과정을 자동화하고 있다. 이 과정에 있어서 docker image를 빌드하는 것에서 문제가 발생했다. CircleCI에서 script를 실행하는 환경은 Container 기반으로 되어 있기 때문이다. Docker image를 빌드하기 위해서는 docker가 설치되어 있는 환경이어야 했다. docker-in-docker라는 개념으로 docker hub에 “docker"라는 docker image가 있다. 하지만 이 이미지로는 프로덕션 이미지를 빌드하고 배포할 때 사용하는 기본 패키지가 없는데, 이러한 기본패키지를 추가하여 CircleCI에서 docker를 빌드할 수 있는 이미지 생성하는 방법 및 CircleCI 설정을 정리해보았다. ...

September 17, 2018 2 min

2018년 AWS Serverless Hands-on 1, 손쉽게 시작하는 Serverless Architecture

Summary 2018년 AWSKRUG에서 8회에 걸쳐 진행하는 핸즈온 중 하나인 Serverless Hands-on 입니다 제목: 손쉽게 시작하는 Serverless Architecture 내용: Serverless Architecture는 말그대로 서버를 올리지 않는 아키텍처를 의미합니다. 기존에는 각 서버에 운영하는 어플리케이션들을 배포했지만, Serverless Architecture를 적용하면 운영 부담없이 비지니스 로직에만 집중할 수 있습니다. 서버없이 Web Application과 Crawler를 만들어 운영이 필요없는 데모 서비스를 구성합니다. Serverless Group First Hands-on Part 1 AWSKRUG Serverless Group의 첫번째 핸즈온 Part.1 웹어플리케이션 만들기입니다.😁 바로가기 Serverless Group First Hands-on Part 2 AWSKRUG Serverless Group의 첫번째 핸즈온 Part.2 웹크롤러 만들기입니다.😁 ...

July 2, 2018 1 min

AWS Configure 여러 계정으로 스위칭하며 사용하기

Summary 개인용 개발계정, 회사계정, 워크샵 전용 계정 등등 여러 계정들을 사용하다보니 Default로 Access Key ID 와 Secret Access Key를 관리하고 싶어졌다. Default로 두고 사용하다가 잘못하면 회사계정에 잘못된 인프라를 생성 및 변경할 수도 있기 때문이다. AWS Configure –profile 기본적인 aws cli를 설정하는 것은 어렵지 않다. AWS Console의 IAM에서 유저를 생성하고 Access Key를 생성하면 된다. 생성된 키를 통해 로컬이 AWS의 권한을 사용하도록 설정하는 것은 다음과 같다. # 생성된 키와 리전을 입력하면 된다. $ aws configure AWS Access Key ID [****************aaaa]: AWS Secret Access Key [****************aaaa]: Default region name [ap-northeast-2]: Default output format [json]: 그렇다면 여러 계정을 관리하려면 어떻게 해야할까? ...

June 20, 2018 2 min

Legacy android application, Kotlin 적용기

Summary 안드로이드 개발 언어의 트렌드는 바뀌었다. 최근 Google I/O에서 나오는 샘플 코드들은 Kotlin으로 짜여져 있었다. 또한 안드로이드 개발 컨퍼런스의 주제는 Kotlin으로 개발한 경험담이 주를 이루고 있다. Kotlin으로 개발하는 것이 낫다는 내용을 많이 보기도 하였고 개발에 욕심이 있다보니, 이번에는 기존에 JAVA로 개발되어 있던 코드에 Kotlin을 적용하여 새로 구성하거나 변경하는 클래스를 Kotlin으로 구성해보았다. 다음은 이런 과정을 거치면서 느낀 장점과 단점에 대한 고찰이다. 고찰 Kotlin의 장점을 느끼기 전에는 치명적인 단점(?)과 싸워야만 한다. 무엇보다 가장 크게 힘들었던 점은 손에 익은 Java 대신에 인내하며 억지로 Kotlin으로 작성해야된다는 점이었다. 개발자가 새로운 기술을 받아들여야 할 때 나타나는 문제점이었다. 기존에 잘하는 것으로 개발하면 바로 끝낼 수 있지만 새로운 것을 받아들이면 공부하고 적용하는데까지 시간이 몇배로 들기 때문이다. 이런 경우에 기술을 받아들일지는 상황에 따라 결정하게 된다. 상급자의 명령에 따라 빠른 퍼포먼스를 보여줘야하는 경우에는 기존의 기술을 택한다. 반면에 중간중간에 공부를 해두어서 적용할 수 있는 단계가 된 경우이거나 개발의 주체가 기술에 대한 욕심이 있고 새로운 것에 대해 무리없이 받아들이는 경우에는 새로운 기술을 택한다. 솔직히 후자라고 주장하고 싶지만 지난 몇번의 시도를 하였지만 다시 Java로 개발했었다. 편하게 살고싶은 마음을 이겨내는 것이 제일 힘들었다. ...

May 28, 2018 3 min

The difference among String, StringBuilder, and StringBuffer in JAVA

Summary If you’re a lazy JAVA developer, you concatenate Strings by using the plus sign (“Some text” + " added text") But if you want to level-up your skills as a JAVA developer, you should be more careful about the Class that you choose. Let’s take a glance at the use cases of String, StringBuilder and StringBuffer. Feature of Classes It’s necessary to be familiar with the Java API documents before getting your hands dirty. ...

May 24, 2018 3 min