본문 바로가기 메뉴 바로가기

JHB의 삽질 이야기

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

JHB의 삽질 이야기

검색하기 폼
  • 분류 전체보기 (339)
    • JHB (20)
      • IT 이야기 (2)
      • 잡다한 이야기 (18)
    • Cloud (19)
      • AWS (19)
    • Language (46)
      • C C++ (26)
      • C# (2)
      • Java (1)
      • Python (16)
    • Development (216)
      • Windows (62)
      • Mobile (72)
      • Linux (6)
      • Driver (12)
      • Firmware & HW (2)
      • Algorithm (14)
      • CM&CI&CD (14)
      • Web개발 (7)
      • Container (1)
      • Etc (26)
    • MUSIC (17)
      • Listen (12)
      • Compose (5)
    • ETC (20)
      • Public (20)
    • TOOL/FRAMEWORK
      • MFC
      • WPF
      • GIT
    • LANGUAGE
      • C/C++
      • C#
      • Java
      • Python
  • 방명록

Cloud (19)
DynamoDB에 PutItem 시 InvalidParameterType: Expected params.Item['*'].N to be a string 발생

아래와 같은 코드로 DDB에 값을 넣으려고 했더니 InvalidParameterType: Expected params.Item['StartTime'].N to be a string 라면서 에러가 난다. async function putBook(bookId, title, password, startTime, endTime) { return await ddb.putItem({ TableName: BOOKS_TABLE_NAME, Item: { 'BookId': { S: bookId }, 'Title': { S: title }, 'Password': { S: password }, 'StartTime': { N: startTime }, ..

Cloud/AWS 2021. 1. 13. 17:30
우아콘2020 배달의민족 마이크로서비스 여행기

https://youtu.be/BnS6343GTkY 들으면서 요약하였음 2015년. 처음에는 모놀리틱 서비스 였다. 리뷰 시스템쪽에 장애가 나더라도 시스템 전체가 먹통되는 일이 생기곤 했다. 하루 주문수 10만건이 넘어가면서 마이크로서비스 도전을 시작했다. 참고로 루비는 레거시 DB의 총칭 주문수 증가 수치가 놀랍다. 처음에는 결제 서비스를 따로 떼어냈다. 결제 서비스 죽으면 끝나는게 아닌가? 아니다. 전화 주문도 가능하다. 따라서 시스템 전체가 멈추는 일은 없어야 한다. 주문중계 : 치킨 주문시 사장님들이 앱, 단말기, PC 등으로 주문 받을 수 있음. 이걸 중간에서 포워딩 해주는 서비스였음. Node JS로 구현했었지만 규모가 커지면서 JAVA로 다 바꿨다. 오후 5시 선착순 7천명에게 치킨 싸게 주..

Cloud/AWS 2020. 12. 16. 20:05
보안 정책을 통하여 유저에게 MFA 강제하기

AWS 보안을 더 강력하게 하는 방법에 무엇이 있을까? 여러가지 방법이 있겠지만, AWS Console에 접속하려는 사용자에게 MFA(Multi Factor Authentication) 사용을 강제하는 방법 역시 좋은 Practice중 하나가 되겠다. MFA 설정을 해놓지 않은 사용자가 AWS Console에서 아무 작업도 할 수 없도록 하려면 어떻게 해야 할까? 방법은 아래의 링크에서 확인 하자 https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/tutorial_users-self-manage-mfa-and-creds.html 기본적인 원리는 Force_MFA 라는 Policy를 User에게 줌으로써, MFA 설정이 안돼있으면 AWS 상에서 아무것도 못하도..

Cloud/AWS 2020. 8. 24. 10:40
CDK Deploy를 위한 최소한의 Policy

CDK Deploy를 위한 Minimum Policy는 무엇일까 당연히 Administrator Role 인줄 알았는데 아래의 Role도 일단 Deploy는 성공했다. { "Version": "2012-10-17", "Statement": [ { "Action": [ "cloudformation:*" ], "Resource": "*", "Effect": "Allow" }, { "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": [ "cloudformation.amazonaws.com" ] } }, "Action": "*", "Resource": "*", "Effect": "Allow" }, { "Action": "s3:*", "Resource":..

Cloud/AWS 2020. 7. 28. 21:52
AWS Pinpoint → Kinesis Firehose → Elasticsearch Event stream 활성화

AWS의 Amazon Pinpoint에는 Event를 저장하는 기능이 있다. Event Stream이라 하여, Amazon Pinpoint에서 발생하는 모든 로그를 AWS Kinesis로 보내는 기능인데, 나는 보통 Elasticsearch로 보내어 로그를 관리 한다. 이후 Kibana를 통해 BI를 구성하여 쓴다. Pinpoint EventStream 기능을 활성화 하여 Kinesis Firehose를 통해 Elasticsearch로 보내도록 구성해보자. Elasticsearch 도메인 생성 새 도메인 생성 버튼 누른 후 원하는 것을 선택한다. 나는 개발 및 테스트를 선택했다. 이후 도메인 이름을 적당히 지정 후 네트워크를 구성한다. 나는 도메인 이름을 pinpoint로 지정하였다. 나는 네트워크 구성..

Cloud/AWS 2020. 7. 10. 17:43
Amazon Pinpoint 이벤트 트리거

AWS의 Amazon Pinpoint에 이벤트를 보내고, 이벤트 발생시 캠페인을 발송 하도록 만들어 보자. Custom Event 생성 { "ApplicationId": "80716e293edf4c43a3023f4ade22f26c", "EventsRequest": { "BatchItem": { "email-h": { "Endpoint": { "Address": "jakemraz100@gmail.com", "ChannelType": "EMAIL" }, "Events": { "KeyName": { "EventType": "_userauth.sign_up", "Timestamp": "2020-05-15T11:10:02Z" } } } } } } 위에서 "email-h"는 endpoint의 id이다. 위 이벤트를..

Cloud/AWS 2020. 5. 31. 22:25
AWS Java SDK v2 코드로 AWS Elasticsearch에 쿼리하기

AWS Java SDK v2를 사용하여 AWS Elasticsearch에 쿼리하는 코드를 작성해보자 Gradle 추가 Gradle에 Elasticsearch 버전을 맞추어 아래를 추가한다. implementation 'org.elasticsearch.client:elasticsearch-rest-client:7.7.0' implementation 'com.google.code.gson:gson:2.8.6' implementation 'software.amazon.awssdk:auth' implementation 'software.amazon.awssdk:apache-client' 참고로 지금 내가 쓰는 es 버전은 7.4인데 sdk 버전은 7.7...

Cloud/AWS 2020. 5. 31. 22:19
AWS CloudFormation 안에 Lambda 코드를 포함하여 배포하기

IaC를 통해 람다를 배포하는 여러가지 방법이 있다. CDK를 통해 cdk-cli를 통하여 배포하는 방법, SAM(Serverless Application Model)을 통하여 sam-cli를 통해 배포하는 방법. 또는 CloudFormation을 통해 직접 배포 코드를 작성 하는 방법. 지금까지 내가 알고 있던 세 방법의 공통점은, Lambda Handler를 S3 Bucket에 올린 후, Ref: 를 통해 가져오는 방식이라는 점이었다. 이런 방식에서는 CD(Continous Delivery)를 통해서는 어찌 배포 해야 하는가... 고민에 빠진 시점이 있었다. 최근 AWS CodeBuild의 IaC를 작성하다가.. BuildSpec의 내용을 CloudFormation의 yaml에 직접 작성하는 것을 보..

Cloud/AWS 2020. 4. 19. 12:08
이전 1 2 3 다음
이전 다음
공지사항
최근에 올라온 글
  • DynamoDB에 PutItem 시 In⋯
  • 우아콘2020 배달의민족 마⋯
  • 최근 읽은 좋은 글들 링크
  • 보안 정책을 통하여 유저⋯
최근에 달린 댓글
  • 감사합니다. 문제가 해결되었⋯
  • 안녕하세요 방문 감사합니다.⋯
  • athena에 대해 알아 보시면 p⋯
  • 답변이 달릴거라고 기대도 못⋯
Total
736,675
Today
72
Yesterday
230
링크
  • Kaspyx - Hacking
  • JHB LinkedIn
  • Dive into Deep Learning
TAG
  • NDK
  • 드라이버
  • Python
  • Quiz
  • 음악
  • API
  • winapi
  • 안드로이드
  • linux
  • kering
  • C
  • Visual C++
  • Cloud
  • C++
  • jni강좌
  • Troubleshooting
  • MFC
  • db
  • algorithm
  • android
  • jni
  • gcc
  • database
  • 리눅스
  • AWS
  • java
  • driver
  • it
  • 프로그래밍
  • source
more
«   2021/01   »
일 월 화 수 목 금 토
          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
31            
글 보관함
  • 2021/01 (1)
  • 2020/12 (1)
  • 2020/08 (4)
  • 2020/07 (4)
  • 2020/06 (1)

Blog is powered by Tistory / Designed by Tistory