vector v; int i = 0; cout
C++을 사용하다 보면 중간 값을 구하는 연산으로 흔히들 아래와 같이 쓴다 mid = (l + r ) / 2; mid = (left + right) / 2; // 또는 mid = (start + end) / 2;가끔 다른 사람들이 짜 놓은 소스코드를 보면 아래와 같이 돼있는 걸 본적이 있다. mid = l + (r - l) / 2; mid = left + (right - left) / 2; mid = start + (end - start) / 2;수학적으로는 전혀 차이가 없는데 저렇게 나누는 이유는? Overflow 때문이다. 변수들이 int로 선언된 경우, left + right가 INT_MAX를 넘어서는 경우 overflow가 일어나서 원하는 결과대로 수행이 되질 않는다. 따라서 최소한의 방어벽을 치..

AWS의 Amazon Pinpoint에는 Event를 저장하는 기능이 있다. Event Stream이라 하여, Amazon Pinpoint에서 발생하는 모든 로그를 AWS Kinesis로 보내는 기능인데, 나는 보통 Elasticsearch로 보내어 로그를 관리 한다. 이후 Kibana를 통해 BI를 구성하여 쓴다. Pinpoint EventStream 기능을 활성화 하여 Kinesis Firehose를 통해 Elasticsearch로 보내도록 구성해보자. Elasticsearch 도메인 생성 새 도메인 생성 버튼 누른 후 원하는 것을 선택한다. 나는 개발 및 테스트를 선택했다. 이후 도메인 이름을 적당히 지정 후 네트워크를 구성한다. 나는 도메인 이름을 pinpoint로 지정하였다. 나는 네트워크 구성..
Python requests 모듈 사용 중 아래와 같은 에러가 났다. AttributeError: module 'requests' has no attribute 'get' AttributeError: module 'requests' has no attribute 'post' 으잉 분명 pip로 패키지 설치 완료 했는데 도대체 뭘까? 굉장히 황당하게도, requests 모듈을 사용하려는 파일 이름이 http.py 라서 안되는 것이었다 -_- 다른 이름으로 바꿨더니 정상적으로 수행됐다. 뭥미.

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이다. 위 이벤트를..
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...
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에 직접 작성하는 것을 보..
와.. 겨우 이것 때문에 2시간을 삽질했다. AWS Code Pipeline 을 통한 CI/CD 를 구성하는 경우 가장 쉬운 구성으로 택하는 것이 Code Commit에 올린 소스를 Code Build 에서 빌드 하는 것이다. Code Build의 소스를 Code Commit으로 한 경우라면 문제가 안된다. 당연히 해당 소스로 부터 코드를 가져온다. 하지만.. 여러가지 Repository를 Clone해서 사용하려는 경우에는..? 어떻게 해야 하는가? HTTPS 로 Git clone 하자니.. 아이디, 패스워드를 입력해야 하니.. 아래와 같은 에러가 난다. fatal: could not read Username for 'https://git-codecommit.us-west-2.amazonaws.c..
- Total
- 854,497
- Today
- 3
- Yesterday
- 159
- 프로그래밍
- source
- android
- API
- AWS
- NDK
- Cloud
- C
- database
- linux
- jni강좌
- java
- jni
- Python
- 리눅스
- MFC
- kering
- gcc
- Quiz
- 안드로이드
- Visual C++
- driver
- algorithm
- Troubleshooting
- db
- 드라이버
- winapi
- it
- 음악
- C++