들어가며 대 AI 시대를 맞아 구글 검색보다는 GPT 프롬프트에 질문 몇 줄 입력하는 것이 더 빠른 방법이 되고 있다. 기술의 발전은 많은 편의를 가져다 주었지만 예전만큼의 성취감까지 이루어주진 못한다. 뭐든지 쉽게쉽게 하려는 성향이 생긴다. 결과가 나올거 같지 않던 연구를 6개월이고 1년이고 했던 기억들이 나를 성장시켜 주었다는 것을 알기 때문에, 나다움을 잃지 않기 위해 분기마다 한번씩 쉬어가는 시간을 가져본다. 트러블 슈팅 게시글을 하나씩 작성하려고 했는데 하나하나 시간이 너무 많이 들어 한번에 요약해 두기 위함도 있다. 업무 업무 1 평일 주간 대부분을 보내는 부분이다보니 회고에서 빠질 수 없다. 이직 후 1년이 되었다. 21년 1월에 첫 직장부터 쉬지않고 일했으니 이제 3년이 다 되어간다. 첫 ..
AWS KMS AWS Key Management Service - KMS는 데이터 암호화를 활성화하기 위해 암호화 키를 생성하고 제어할 수 있는 관리형 암호화 서비스이다. KMS는 AWS 서비스 전반과 애플리케이션 내에서 데이터를 암호화할 수 있는 고가용성 키 스토리지, 관리 및 감사 솔루션을 제공한다. KMS는 하드웨어 보안 모듈(HSM)을 사용하여 FIPS 140-2 암호화 모듈 검증 프로그램을 통해 키를 보호하고 검증한다. KMS는 여러 AWS 서비스와 원활하게 통합되어 해당 서비스의 데이터를 쉽게 암호화할 수 있다. AWS CloudTrail과 통합되어 암호화 키 사용 로그를 제공하여 감사, 규정 및 규정 준수 요구사항을 충족할 수 있도록 지원한다. KMS는 regional 하며, 키는 키가 생성..
들어가며 주로 안드로이드 빌드 시스템과 OEM 상품을 만들기 위해 프레임워크의 개발이 필요한데, 이에 대한 정보가 많이 없어 리서치가 어려웠다. 여기저기 파편화된 정보들이 있었고 어느 정도 정리가 된 상태여서 포스트로 작성한다. 안드로이드 빌드를 위해 코드를 다운받으면, 단일 브랜치의 소스코드 용량만 해도 100GB가 넘는데다가 빌드 과정과 내부 리소스도 복잡하게 얽혀있다. 그만큼 역사도 길고 수많은 패치와 커밋의 결과물이기 때문이다. 빌드 순서 Android 7.0 이전 Android 7.0 이전에는 안드로이드를 빌드할 때 GNU make 도구를 사용했다. 모든 빌드 구성 규칙은 'Makefile'이라는 파일에 작성되었으며, make 도구는 이 파일의 지침에 따라 코드를 컴파일 한다. make는 자동화..
이전 포스트에서 이어지는 글입니다. 2023.09.16 - [Security/Mobile] - [AOSP] Ubuntu에서 안드로이드 13 빌드하기 빌드하기 소스코드를 다운받은 경로로 이동하여 build/envsetup.sh를 실행하는데 빌드하고자 하는 디바이스를 지정해야 한다. https://source.android.google.cn/docs/setup/build/running?hl=ko 에서 모델별로 빌드 구성 코드명을 선택할 수 있다. 구글이 벤더인 기기(픽셀, 넥서스 등)은 공장 출고 시 이미지를 공개하고 있다. 본문에서는 Pixel 4a 단말을 위한 빌드를 구성한다. 빌드 구성은 aosp_sunfish_userdebug가 된다. 코드에서 지원하는 빌드 구성은 다운받은 상태이며, /device/..
들어가며 이 포스트에서는 안드로이드 운영체제의 소스코드를 받아서 게스트 환경(Ubuntu 18.04)에 맞게 빌드하고, 안드로이드 에뮬레이터에 이미지를 플래싱해서 구동시키는 과정을 기록한다. 안드로이드는 다양한 폼 팩터를 가진 다양한 기기를 위해 만들어진 오픈 소스 소프트웨어 스택이다. 오픈 소스이기 때문에 코드가 누구에게나 공개되어 있다. 사용자들이 자유롭게 빌드할 수 있으며, 하드웨어 구성에 맞게 커스터마이징할 수도 있다. 빌드의 전체 과정은 안드로이드 공식 홈페이지 포스팅(https://source.android.com/docs/setup/start)을 따르지만, 필요에 따라 트러블슈팅, 최적화 과정을 추가하였다. 안드로이드 버전 안드로이드 버전의 네이밍은 디저트 이름을 알파벳 순서로 사용하던 전통..
들어가며 3번째 맥북, 한달 실사용 후기를 작성한다. 처음 2019 인텔맥북 프로 모델을 사용했지만 액세서리까지 합하여 3kg에 달하는 무게에 휴대성이 너무 떨어져서 방출했다가 들고다니기 편한 13인치 M2 맥북 에어를 사용했다. 이번에 화면도 크면서 가벼운 맥북에어 M2 15인치로 기변한 후 한달 사용 후기이다. 스펙 MacbookAir 15 기본형(Apple M2칩) RAM 8G SSD256GB 13인치와 비교 색상 13인치는 미드나이트 컬러를 사용했었는데 사진에서도 드러나듯 자판과 하판에 지문이 잘 묻어나서 조금만 사용해도 금새 티가 난다. 외판과 외판이 같은 재질이어서 더 많이 드러난다. 실버 색상은 미드나이트 색상보다는 많이 덜하다. 그래도 예쁘기는 미드나이트 색상이 더 예쁘다. 13인치와 비교..
DynamoDB 완전관리형 NoSQL 데이터베이스 서비스 모든 양의 데이터를 저장 및 검색하고 모든 수준의 요청 트래픽을 처리할 수 있는 간단하고 비용 효율적인 서비스 원활한 확장성과 함께 빠르고 예측 가능한 성능 제공 고객은 하드웨어 프로비저닝, 설정 및 구성, 복제, 소프트웨어 패치 또는 클러스터 확장에 대해 걱정할 필요 없이 분산 데이터베이스 운영 및 확장에 따른 관리 부담을 AWS로 분산할 수 있다. DynamoDB 테이블에는 고정된 스키마가 없으며, 테이블은 항목으로 구성되며 각 항목은 서로 다른 수의 속성을 가질 수 있다. DynamoDB는 AWS 리전에 있는 세 개의 시설에 데이터를 동기식으로 복제하여 고가용성과 데이터 내구성을 제공한다. DynamoDB는 빠른 인플레이스 업데이트를 지원한다..
들어가며 대화형(command line)으로 open ai를 사용할 수 있도록 wrapping한 api이다. https://poe.com/ Poe - Fast, Helpful AI Chat We use your phone for verification during each sign in. poe.com ChatGPT-4 결제 시 해당 모델을 사용할 수도 있고 로그인 후 토큰을 발급받아 사용할 수 있다. 설치 https://github.com/ading2210/poe-api/blob/main/README.md GitHub - ading2210/poe-api: A reverse engineered Python API wrapper for Quora's Poe, which provides free access..
Bastion Host? 보안 접근을 제어하기 위해 사용되는 중간 단계 호스트이다. 일반적으로 클라우드 환경에서는 인터넷을 통해 직접적인 접근을 허용하지 않고, 보안을 강화하기 위해 네트워크의 외부에서 내부 리소스에 접근하는 데에는 추가적인 계층이 필요하다. Bastion은 이러한 보안 계층의 한 예시이다. Bastion 호스트는 인터넷에 직접 노출되는 공용 IP 주소를 가지고 있으며, 사용자는 bastion을 통해 내부 네트워크에 접근할 수 있다. 일반적으로 SSH (Secure Shell)를 통해 bastion에 로그인한 다음, bastion을 통해 내부 리소스로 접근할 수 있다. Bastion을 운영하는 방식은 다음과 같은 단계로 이루어진다: 1. Bastion 인스턴스 생성: 클라우드 제공업체의 ..
AWS Aurora AWS RDS Aurora는 고급 상용 데이터베이스의 속도 및 안정성과 오픈 소스 데이터베이스의 단순성 및 비용 효율성을 결합한 관계형 데이터베이스 엔진이다. 완전 관리형 MySQL 및 PostgreSQL 호환 관계형 데이터베이스 엔진으로, MySQL로 개발된 애플리케이션을 거의 또는 전혀 변경하지 않고도 Aurora로 전환할 수 있다. 대부분의 MySQL 애플리케이션을 변경할 필요 없이 MySQL의 최대 5배, PostgreSQL의 최대 3배의 성능을 제공한다. 프로비저닝, 패치, 백업, 복구, 장애 감지 및 복구와 같이 시간이 많이 걸리는 작업을 RDS가 데이터베이스를 완벽하게 관리한다. 데이터베이스 사용량에 따라 데이터베이스 성능에 영향을 주지 않고 10GB에서 128TiB까지 ..