본문 바로가기
반응형

전체 글67

[React Native] Expo 프로젝트 생성시 App.js 파일이 없는 경우 Expo가 버전 업그레이드 후, App.js 파일이 없어졌다. App.js를 사용하는 방식 대신 다른 방식으로 그 기능을 대체했는데,기존의 방식대로 사용하고 싶으면 expo 프로젝트를 생성할때 명령어를 아래와 같이 "--template blank" 옵션을 추가하면 된다. npx create-expo-app {project_name} --template blank 2024. 10. 1.
[React Native] npx expo start 했을때, EMFILE: too many open files 에러 발생했을때 npx create-expo-app {project_name} 을 이용해서 expo 프로젝트를 생성한 후, npx expo start를 했을때 다음과 같은 에러 발생Error: EMFILE: too many open files, watch at FSEvent.FSWatcher._handle.onchange (node:internal/fs/watchers:207:21) 보통은 아래 명령어로 해결된다고 함.brew install watchman watchman은 페이스북이 만든 파일모니터링 도구. 맥오에스만 지원되고 파일 모니터링 하면서 변화가 감지됐을때 특정 작업을 처리하는 용도로 사용. 와치맨을 사용하면 더욱 높은 성능으로 파일을 모니터링할 수 있어서 사용을 권장한다고 함. 패키지들을 삭제하고 재설.. 2024. 10. 1.
Mac에서 Jenkins 실행시 docker-credential-osxkeychain 에러 해결 방법 맥북(Mac OS)에서 Jenkins를 설치하고, docker 명령어를 실행하면,아래와 같이 "docker-credential-osxkeychain" 에러가 발생할 때가 있다.  어떤 글에는 아래 명령어로 해결할 수 있다고 했는데, 나의 경우에는 이것 만으로는 해결되지 않았다.brew install docker-credential-helper  나의 경우에는 ~/.docker/config.json 내용을 수정함으로써 해결할 수 있었는데,이렇듯 똑같은 Mac OS라도 해결이 되는 방법이 다양하다.   Mac OS에서 해당 에러를 resolve 할 수 있는 방법들을 정리하면 다음과 같다. 1. docker-credential-helper 설치brew install docker-credential-helper.. 2024. 7. 15.
좋은 소프트웨어란 (1) 기능 > 구조?기능 소프트웨어 아키텍쳐란 무엇이며, 우리가 왜 이것에 대한 고민을 해야할까. 소프트웨어를 작성하는데 있어서 구성 요소를 크게 나누자면, 기능과 구조가 있다고 볼 수 있다. 소프트웨어 아키텍쳐란, 이 중 “구조”에 해당하는 이야기이다. 소프트웨어를 작성할 때 요구사항을 만족시키기 위한 “기능”을 구현하는 것이 중요할까, 소프트웨어의 “구조”를 잘 설계하는 것이 중요할까. 책 ‘리팩토링’의 저자이자 세계적인 소프트웨어 공학자인 마틴 파울러는 결국은 구조가 중요하다는 이야기를 한적이 있다. https://youtu.be/4E1BHTvhB7Y   사용자에게 제공하고자 하는 기능을 구현하는 것(즉, 소프트웨어 개발의 요구사항을 만족하는 것)은 당연히 중요한 일이다. 그러나 지속 가능한 서비스라면,.. 2024. 6. 12.
클린 아키텍쳐 vs 헥사고날 아키텍쳐 (3) 2024.06.03 - [Server System/Software Architecture] - 클린 아키텍쳐 vs 헥사고날 아키텍쳐 (1) 클린 아키텍쳐 vs 헥사고날 아키텍쳐 (1)클린아키텍쳐를 처음 소개한 Bob Martin의 블로그(blog entry about Clean Architecture)에 다음과 같은 말이 나온다(https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html)."The diagram at the top of this article [alphahackerhan.tistory.com2024.06.05 - [Server System/Software Architecture] - 클린 아키텍쳐 vs 헥사고날.. 2024. 6. 9.
클린 아키텍쳐 vs 헥사고날 아키텍쳐 (2) 2024.06.03 - [Server System/Software Architecture] - 클린 아키텍쳐 vs 헥사고날 아키텍쳐 (1) 클린 아키텍쳐 vs 헥사고날 아키텍쳐 (1)클린아키텍쳐를 처음 소개한 Bob Martin의 블로그(blog entry about Clean Architecture)에 다음과 같은 말이 나온다(https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html)."The diagram at the top of this article [alphahackerhan.tistory.com클린 아키텍쳐, 헥사고날 아키텍쳐의 공통의 목표와 의존성 방향에 대한 이해를 하고 싶다면, 위 포스팅 내용을 확인해주세요!.. 2024. 6. 5.
클린 아키텍쳐 vs 헥사고날 아키텍쳐 (1) 클린아키텍쳐를 처음 소개한 Bob Martin의 블로그(blog entry about Clean Architecture)에 다음과 같은 말이 나온다(https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html)."The diagram at the top of this article [Clean Architecture] is an attempt at integrating all these architectures [including Hexagonal Architecture] into a single actionable idea." 즉, 헥사고날 아키텍쳐와 클린 아키텍쳐는 서로 다른 개념이 아니고, 헥사고날 아키텍쳐는 클린 아키텍쳐.. 2024. 6. 3.
[패스트캠퍼스 + 온라인 강의 완강 후기] 클라우드를 활용한 데이터 파이프라인 구축 데이터 엔지니어링 조직에 합류했기 때문에, 데이터 프로세싱에 대한 전반적인 지식과 방법 그리고 운영 노하우 같은 것들을 파악하는 것이 중요했다. 특히 AWS 환경에서 데이터를 운영하고 있는 만큼, AWS에서 구축하고 실습하는 예제를 볼 수 있으면 좋겠다고 생각했는데 마침 패캠에서 "클라우드를 활용한 데이터 파이프라인 구축"이라는 강의를 통해 그 내용을 제공하고 있었다. 강의라는 것이 모두 그렇듯이 우리가 실제 업무 환경에서 마주할 수 있는 디테일하고 어려운 상황에 대해 묘사하고, 해결 방법을 제공해주진 않는다. 그러나 데이터 파이프라인을 구축할 때 어떤 리소스를 사용하는지, 어떤 아키텍쳐로 만드는지에 대한 이해는 가능하다 사실 AWS 서비스는 엄청나게 많고, 데이터 관련 서비스만 해도 수십개는 될 것 같.. 2023. 12. 8.
AWS Parameter Store (feat. KMS) 1. Parameter Store란? AWS Systems Manager 서비스의 기능이다. 텍스트 블록, 이름의 리스트, 비밀번호, 키 값 등을 저장할 수 있는 기능이다. 특히, 애플리케이션에서 사용되는 값들 중, 코드로 노출되면 안되는 (좋지 않은) 값들이 있다. 데이터베이스 아이디/비번, 외부 서비스에 접근하기 위한 액세스 키 등이 그런 것이다. 파라미터 스토어는 코드로 노출되어선 안되는 각종 파라미터들을 안전하게 저장하고 관리할 수 있도록 도와주는 기능이다. 대표적인 특징으로는 다음과 같은 것들이 있다. 무료 Key-Value 형식 KMS를 통해 파라미터에 암복호화 적용 가능 IAM을 통해 접근 권한 제어 가능 2. Parameter 생성 AWS Systems Manager의 파라미터 스토어로 가.. 2022. 11. 27.
AWS Lambda에 Jenkins + Bitbucket 연동해서 코드 배포하기 Jenkins와 Bitbucket을 이용하여 AWS Lambda에 코드 배포하는 전과정을 경험 해보자. 먼저 Jenkins를 설치하고, 플러그인을 설치한 후, Bitbucket과 AWS에 연결하기 위한 Credential을 설정한다. 그 후 연동된 Bitbucket에서 가져온 Jenkinsfile을 이용해서 배포 파이프라인을 구성하여 최종적으로 Serverless Framework을 통해 AWS Lambda에 코드가 배포되는 과정을 확인해 볼 것이다. Jenkins 설치 Jenkins 설치는 간단하다. brew를 이용해서 아래와 같은 명령어를 입력하면 된다. $ brew install jenkins 설치가 완료되었다면, 아래의 명령어로 Jenkins를 시작/종료/재시작 할 수 있다. $ brew serv.. 2022. 11. 8.
IAM 사용자에게 비용 권한 부여하기 계정을 운영하다보면, 비용 정보를 확인하고, 분석할 일이 있다. 그런데 기본적으로는 Root 계정에"만" 그 권한이 있는데, AWS 권장 사항에 따르면 Root 계정에 계속 접속하는 것은 보안상의 이유로 지양된다. 가이드에 따르면 Root 계정은 최초 계정 생성시에 접속하여 첫 IAM 사용자를 생성하는데 까지만 사용하고, 그 이외에는 접속하지 않는 것을 권장한다 (당연히 MFA 설정은 해야한다). 때문에 비용 정보도 IAM 사용자에게 권한을 부여해서, 해당 사용자의 계정을 통해 확인할 수 있도록 하는 것이 좋다. 본 글에서는 IAM 사용자에게 비용 관련 권한을 부여하는 방법을 소개 한다. 권한 설정은 크게 두 가지 단계로 이루어진다. Step 1. "결제 정보에 대한 IAM 사용자 및 역할 액세스" 활성.. 2022. 10. 31.
AWS KMS 개념과 응용 - 2 지난 "AWS KMS 개념과 응용 - 1"에서 KMS를 사용하는 이유와 KMS가 제공하는 기본적인 기능들에 대해서 살펴보았다. 이번에는 실제로 KMS를 이용해서 암/복호화하는 것은 어떻게 하는지 먼저 알아보고, Slack에서 KMS을 이용하여, 서로 다른 계정에서 Key를 어떻게 제어하는지 알아보자. 1. 암/복호화 API 개발 API Gateway + Lambda를 활용하여 암/복호화 API를 개발할 수 있다. API Gateway를 통해 요청이 들어오면, Lambda 내에서 KMS API를 이용하여 Data key를 생성하여 암/복호화를 수행한다. Lambda에 작성되는 코드를 세부적으로 살펴보면 다음과 같이 나눌 수 있다. (1) 라이브러리와 변수 초기화 import base64 import bot.. 2022. 10. 14.
반응형