분류 전체보기

    iOS Flutter 프로젝트에서 flutter_downloader 1.11.4 통합하기

    iOS Flutter 프로젝트에서 flutter_downloader 1.11.4 통합하기 https://pub.dev/packages/flutter_downloader#_development-note_ 커뮤니티 & 프롬프트 기반 이미지 생성 AI 앱을 AppStore에 배포하려고 했으나, 흰 화면이 뜨고 앱이 crash 나는 문제가 발생했습니다. 원인을 찾지 못해 방황하던 중에 은인을 만나서 원인을 파악하고 해결을 시도해보았습니다 flutter_downloader 플러그인, 특히 버전 1.11.4를 iOS Flutter 프로젝트에 통합하는 과정에서 ios 관련 설정이 누락되어 발생한 오류였습니다. flutter_downloader란 무엇인가? flutter_downloader 플러그인은 Flutter 애..

    카카오 로그인 통합하기: Android Key Hash와 iOS Bundle ID 문제 해결 가이드

    서론 카카오 로그인 통합의 중요성 및 일반적인 문제 소개 이 글에서 해결할 주요 에러: "invalid android_key_hash or ios_bundle_id or web_site_url" Java 버전 확인 및 JDK 설치 필요성: 카카오 로그인 통합을 위한 첫걸음으로, 올바른 Java 개발 환경 설정이 필수 Java 버전 확인 방법 명령어: java --version JDK 설치 방법 Homebrew를 이용한 OpenJDK 11 설치 명령어: brew install openjdk@11 JDK 경로 설정 .zshrc 파일을 통한 경로 설정 명령어: echo 'export PATH="/opt/homebrew/opt/openjdk@11/bin:$PATH"' >> ~/.zshrc 설정 적용: sourc..

    AWS EC2, RDS 연결하기 :: VPC와 함께하는 NestJS 백엔드 배포, Prisma Migrate 문제 해결

    AWS EC2, RDS 연결하기 :: VPC와 함께하는 NestJS 백엔드 배포, Prisma Migrate 문제 해결 안녕하세요 여러분! 오늘은 제가 NestJS 백엔드 배포 중 겪었던 문제와 그 해결 과정에 대해 이야기하려 합니다. 아마 여러분 중에서도 Prisma Migrate를 사용하면서 문제에 부딪히신 분들이 계실 것 같아, 제 경험을 공유하고자 합니다. 1. 배경 및 문제점 NestJS 프로젝트를 개발 중, Prisma를 사용하여 데이터베이스 관리를 하고 있었습니다. 개발을 마무리하고 AWS에 배포하는 과정에서 Prisma Migrate를 실행했으나 예상치 못한 오류가 발생했습니다. npx prisma migrate dev --name init --schema=./prisma/schema.pr..

    AWS EC2 인스턴스 지역 변경하기 (AMI 이미지 사용하기), Amazon Machine Image

    AWS EC2 인스턴스 지역 변경하기 (AMI 이미지 사용하기), Amazon Machine Image AWS에서 EC2 인스턴스를 사용하다보면 서버의 지역을 변경하고 싶은 경우가 있습니다. 저는 ap-southeast-2 (시드니) region에서 서버를 운영하다가 이를 ap-northeast-2 (서울) region으로 옮기고 싶었습니다. 문제 상황 github action에서 CI/CD 환경을 구성하던 도중에 아래와 같이 코드를 실행했을 때 다음과 같은 오류가 발생했습니다: - name: Deploy to AWS CodeDeploy run: aws deploy create-deployment --application-name output-codedeploy --deployment-group-name..

    EC2와 Docker 환경에서 SWAP Memory를 활용한 NestJS 어플리케이션의 'JavaScript heap out of memory' 문제 해결

    EC2와 Docker 환경에서 NestJS 어플리케이션의 'JavaScript heap out of memory' 문제 해결 안녕하세요 여러분, 오늘은 RAM이 2GB로 설정된 t2.small AWS EC2에 Docker로 배포한 NestJS 어플리케이션에서 JavaScript heap out of memory 오류를 마주했을 때의 경험과 해결 방안에 대해 이야기하려 합니다. 1. 오류 코드 docker로 이미지화된 NestJS 애플리케이션을 실행시켰을 떄 다음과 같은 오류 메시지가 발생했습니다 [19:0x65441a0] 53911 ms: Mark-sweep (reduce) 977.0 (1000.1) -> 975.4 (995.6) MB, 1180.0 / 0.0 ms (+ 292.9 ms in 55 ste..

    AWS EC2, Route 53과 가비아를 활용한 NestJS 서비스 SSL 인증서 적용 방법

    AWS EC2, Route 53과 가비아를 활용한 NestJS 서비스 SSL 인증서 적용 방법 안녕하세요, NestJS를 사용하는 개발자 여러분! 오늘은 AWS EC2에서 구동중인 NestJS 웹 서비스에 가비아에서 구매한 도메인을 연결하고, SSL 인증서를 적용하는 과정을 단계별로 설명해 보려고 합니다. https://sslhosting.gabia.com/service 가비아: 대한민국 No.1 SSL 보안서버 인증서 개인정보를 암호화하여 데이터를 안전하게 보호하고, 웹사이트의 신뢰도를 높입니다 sslhosting.gabia.com 1. 가비아에서 도메인 구매 먼저, 필요한 도메인을 가비아에서 구매해줍니다. 원하는 도메인 이름을 검색 후 사용 가능하면 구매를 진행합니다. 2. AWS EC2에서 Nest..

    Prisma + NestJS :: 쇼핑몰 데이터베이스 모델링 및 관계 분석, 일대일관계, 일대다관계, 다대다관계

    Prisma + NestJS :: 쇼핑몰 데이터베이스 모델링 및 관계 분석 안녕하세요! 이번 포스트에서는 ShoppingMall 서비스의 Prisma 데이터베이스 스키마를 다루며, 각 테이블 간의 관계와 그에 따른 중요한 제약조건을 살펴볼 예정입니다. 데이터베이스의 설계는 서비스의 핵심적인 기능과 성능에 큰 영향을 미치므로, 잘 이해하고 설계하는 것이 중요합니다. 1. 주요 테이블 및 관계 1.1. User User 테이블은 서비스의 사용자에 관한 정보를 담당합니다. 각 사용자는 여러 주문을 가질 수 있으며, 일부 사용자는 가게(Store) 정보와 일대일 관계를 형성합니다. model User { id Int @id @default(autoincrement()) storeId Int? @unique ....

    Docker 실시간 로깅: docker logs -f 명령의 효율성에 대하여

    Docker 실시간 로깅: docker logs -f 명령의 효율성에 대하여 안녕하세요, 여러분! 오늘은 Docker 환경에서의 NestJS 개발 경험을 공유하고자 합니다. 특히, 컨테이너 로깅과 관련된 docker logs -f 명령의 중요성 및 효율성에 중점을 둘 것입니다. 1. docker logs 명령의 기본 먼저, docker logs 명령은 Docker 컨테이너의 로그를 출력하는 데 사용됩니다. NestJS 애플리케이션 같은 백엔드 서비스를 개발할 때, 이 명령은 매우 유용합니다. 애플리케이션에서 발생하는 모든 로그를 실시간으로 확인할 수 있기 때문입니다. 2. -f 플래그의 마법 -f 플래그 (또는 --follow)는 docker logs 명령에 실시간 스트리밍 기능을 추가합니다. 즉, 새로..

    Docker 내에서의 'exec format error' 오류 해결하기

    Docker를 사용하여 애플리케이션을 컨테이너화하면서 exec format error라는 오류에 직면한 적이 있나요? 이 오류는 스크립트나 바이너리 파일의 형식이 컨테이너 내에서 실행되기에 적합하지 않을 때 발생합니다. 여기에서는 이 문제의 원인과 해결 방법에 대해 간략하게 알아보겠습니다. 문제 상황 Dockerfile 내에서 다음과 같은 명령어를 사용하여 AWS 자격 증명을 설정하는 스크립트를 실행하려고 했습니다: COPY .env .env COPY set_aws_credentials.sh set_aws_credentials.sh RUN chmod +x set_aws_credentials.sh && ./set_aws_credentials.sh 제가 현재 운영중인 EC2(Amazon linux2)에서 이..

    NestJs에서 AWS S3 연동 시 발생하는 'CredentialsProviderError' 오류 해결하기

    NestJs에서 AWS S3 연동 시 발생하는 'CredentialsProviderError' 오류 해결하기 안녕하세요, NestJs 개발자 여러분! 오늘은 AWS SDK와 연동하면서 마주칠 수 있는 CredentialsProviderError 오류와 이를 해결하는 방법에 대해 자세히 알아보겠습니다. 문제 상황 NestJs를 사용하여 AWS S3와의 연동을 진행하던 중 아래와 같은 오류 메시지가 출력되었습니다. { "code": "CredentialsProviderError", "message": "Could not load credentials from any providers", ... } 원인 파악 이 오류는 AWS SDK가 필요한 자격 증명을 찾을 수 없을 때 발생합니다. 자격 증명은 주로 ~/...

    AWS S3에서 'AccessControlListNotSupported' 오류 해결하기

    AWS S3에서 'AccessControlListNotSupported' 오류 해결하기 안녕하세요, 개발자 여러분! 오늘은 AWS S3와 연동할 때 마주칠 수 있는 AccessControlListNotSupported 오류와 이를 해결하는 방법에 대해 자세히 알아보겠습니다. 문제 상황 AWS S3에 파일을 업로드하거나 버킷과 관련된 작업을 수행할 때 다음과 같은 오류 메시지를 받았다면, 여러분도 이 문제에 부딪혔을 가능성이 높습니다. { "code": "AccessControlListNotSupported", "message": "The bucket does not allow ACLs", "data": null, "exception": { "name": "AccessControlListNotSupport..

    NestJS + Prisma :: 예외를 두려워 마라! NestJS AllExceptionFilter의 활용 전략, 공통 응답 구조, Exception 생성해서 사용하기

    NestJS + Prisma :: 예외를 두려워 마라! NestJS AllExceptionFilter의 활용 전략, 공통 응답 구조, Exception 생성해서 사용하기 서론 현대 응용 프로그램에서는 사용자에게 관련성 있는 명확한 에러 메시지를 전달하기 위해 구조화된 에러 처리가 중요한 역할을 합니다. NestJS와 Prisma 같은 프레임워크를 사용하면 이를 원활하게 효율적으로 구현할 수 있습니다. 사용자 정의 예외, 응답 DTO, 그리고 NestJS와 Prisma의 강력한 기능을 어떻게 활용하는지 자세히 알아봅시다. 1. ExceptionCode 구조 사용자 정의 예외에 들어가기 전에 우리의 에러 코드에 대한 구조화된 형식을 만드는 것이 중요합니다. 코드에서 제공하는 내용은 다음과 같습니다: type..

    Blender :: 블랜더 툴 자주쓰는 단축키 (Mac용)

    [모델링] 오브젝트 모드 크기 scale S 오브젝트 이동 G 회전 rotation R X축 방향으로 회전 R+X Y축 방향으로 회전 R+Y Z축 방향으로 회전 R+Z X축 방향으로 이동 G+X Y축 방향으로 이동 G+Y Z축 방향으로 이동 G+Z 이동 제한 Shift+X~Z 3D 뷰포트 창에서 위치 이동 shift 좌우 이동 3D 뷰포트 창에서 줌 인/ 줌 아웃 ctrl+스크롤 다운or 업 (scroll down&up) 3D 뷰포트 창에서 회전 Command + - 좌표 리셋 Option+S / Option+G / Option+R 중심축에 커서 놓기 center cursor and frame all shift+C 돌출 extlude E 면분할 inset face i 연결된 영역 선택 Linked sel..

    Flutter :: GoRouter

    1. 화면 등록 import 'dart:convert'; import 'package:culture_app/detail_screen.dart'; import 'package:culture_app/home_screen.dart'; import 'package:culture_app/model/festival_model.dart'; import 'package:culture_app/onboarding_screen.dart'; import 'package:go_router/go_router.dart' show GoRoute, GoRouter; final router = GoRouter( routes: [ GoRoute( path: '/', builder: (context, state) => const Onboa..

    Flutter :: Riverpod 개념, ProviderScrope, Model, State, StateNotifierProvider, Notifier, ConsumerStatefulWidget, ConsumerState, ret.watch()

    1. Riverpod의 장점 특징 1.1. 안전한 컴파일 Provider를 사용할 때 처럼 더 이상 ProviderNotFoundException 예외가 발생하지 않고, 로딩 상태를 처리하는 것을 걱정하지 않아도 됩니다. Riverpod를 사용하면 코드가 컴파일되어 작동합니다. 1.2. 제한없는 Provider Riverpod는 Provider에서 영감을 얻었지만 동일한 유형의 여러 Provider를 지원하는 것과 같은 주요 문제 중 일부를 해결합니다. 비동기 Provider를 기다리고 있습니다. 어디에서나 Provider를 추가할 수 있습니다. 1.3. Flutter에 의존하지 않습니다. Flutter에 의존하지 않고 Provider를 생성/공유/테스트합니다. 여기에는 BuildContext 없이 Pr..

    [독후감] 1등 브랜드는 이렇게 만드는 겁니다: 시장을 장악하고 트렌드를 만든 스타트업 성공 로드맵

    서론 5년 내 스타트업 생존확률은 14%다. 수익을 내지 못하거나 전망이 어둡거나 정부의 지원금을 받는 좀비스타트업도 포함된 수치이다. 하지만 14%에 불과하다. 한 정부 보고서에서 밝힌 창업 후 5년 이상 운영된 스타트업의 비율이다. 헷갈리면 안 된다. 14%는 '성공 확률'이 아닌 '생존 확률'이다. 큰 수익을 내지 못하거나 사업 전망이 밝지 못하지만 정부의 지원금을 받으며 5년 이상 유지되는 일명 '좀비 스타트업'들도 이 14%에 포함된다. 창업 시 정부 규제가 큰 장벽이다. 허가를 받아야 할 관련 부처가 넘쳐났다. 건강 정보를 상업적으로 이용하는 것은 아닌가 라는 정부의 의심에 맞서서 증명하는 과정이 필요했다. 시장이 준비되지 않은 상태에서 출시되어 외면받는 경우도 있다. 가장 많이 겪는 실패는 ..

    마샬 스텐모어 2: 클래식한 디자인에 숨겨진 현대적인 음의 세계

    스피커를 선택하는 것은 단순히 '크고 강한 소리'만을 원하는 것이 아닙니다. 음질, 디자인, 브랜드 가치, 그리고 가격까지 모든 것을 고려해야 합니다. 최근에 마샬 스텐모어 2 스피커를 사용해본 경험을 토대로, 어떤 것이 좋은 스피커인지에 대한 나만의 기준을 공유하려 합니다. 1. 음질: 먼저, 음질의 깊이와 풍부함을 체험했습니다. 스텐모어 2에서 나오는 소리는 균형 잡힌 베이스와 선명한 미드, 트레블이 어우러져 완벽한 하모니를 이룹니다. 특히 저음 부분이 강조되지 않으면서도 충분히 깊은 느낌을 줍니다. 2. 전력 출력: 이 스피커의 출력은 그 크기에 비해 상당히 강력합니다. 큰 공간에서도 충분히 큰 소리를 낼 수 있으며, 작은 파티나 모임에서도 중심 역할을 해줍니다. 3. 액티브 vs. 패시브: 스텐모..

    Flutter :: Riverpod / GoRouter / state, provider, notifier 선언 / 페이징 / http

    0. pubspec.yaml 에 기초 프로젝트 설정하기 name: culture_app description: A new Flutter project. publish_to: 'none' version: 1.0.0+1 environment: sdk: '>=3.0.0

    Flutter :: Color 저장해서 변수로 재사용하기

    아래와 같이 자주 쓰는 색을 변수로 저장하여, 재사용성이 높아져 코드의 유지보수성이 증가한다. import 'package:flutter/material.dart'; // Basic Color const Color kWhiteColor = Color(0xFFFFFFFF); const Color kBlackColor = Color(0xFF000000); // System Color const Color kSystemErrorColor = Color(0xFFFC444F); const Color kSystemSuccessColor = Color(0xFF30E181); const Color kSystemWarningColor = Color(0xFFFFD362); // Color Pallette const Col..

    Flutter :: TextStyle 저장하여 관리하기

    여러 텍스트 스타일을 미리 저장해두고, import 'package:culture_app/constant_color.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; // ...을 알려주세요 TextStyle kGrade1 = TextStyle( fontSize: 30.sp, color: kBlackColor, fontWeight: FontWeight.w700, height: 1.2, ); // ...을 알려주세요 TextStyle kHeadline1 = TextStyle( fontSize: 24.sp, color: kBlackColor, fontWeight: F..

    자전거 교통사고 & 합의 후기 :: 대전 서구에서 겪은 자전거 교통사고와 무과실 근거 (feat. GPT-4)

    배경 안녕하세요, 여러분. 오늘은 저의 생활에 많은 변화를 가져온, 대전 서구에서 겪은 자전거 교통사고에 대해 이야기하려 합니다. 이 경험을 통해 많은 것을 배웠고, 이 사고를 둘러싼 GPT-4 변호사의 주장도 함께 공유하려 합니다. 제 이야기가 비슷한 상황을 겪는 분들에게 작은 도움이라도 될 수 있기를 바랍니다. 사고 사고는 대전 서구 탄방동의 금성백조 앞에 위치한 건물 주변에서 발생했습니다. 저는 신호등이 없는 횡단보도를 자전거로 횡단 중이었는데, 바로 그때 우회전을 시도하는 택시와 충돌하게 되었습니다. 사고로 인해 제 오른쪽 무릎에 경미한 타박상이 생기게 되었고, 그 결과 7일간 한방병원에서 치료를 받게 되었습니다. GPT-4를 활용한 무과실 근거 사고 이후 저의 GPT-4 변호사는 다음과 같은 주..

    운전의 기술 : 방어 운전 및 주차 기술에 대한 종합 가이드 / 도로에서 조향, 제동 및 인식 마스터하기

    운전꿀팁 "뒷바퀴는 컴퍼스의 축이다" / 01. 우회전시 핸들 미리 돌려 놓기 / 02. 브레이크 밟거나 뗄 때는 지긋이 밟기 / 03. 엑셀에서 발 떼고 바로 브레이크 밟지 말기 / 04. 코너 돌 때는 무조건 '슬로우-인-패스트' #방어운전스킬 / 05. 항상 (옆차와)지그재그로 주행하기 / 06. 언제 어디서나 숄더 체크(짧게)하기 / 07. 깜빡이 켤 때 (핸들에서)손 놓지 말기 #주차스킬 / 08. 모든 주차는 대각으로 비틀어 놓고 시작하기 / 09. 주차는 무조건 베이비 원모어 타임 / 10. 항상 기어 변경 부터 하세요. / 11. RPM 연습 꼭 하세요! (평소 1, 가속 2) / 12. 후진은 샤넬 ') (' 기억하세요. / 13. 핸들 (크로스)연습은 집에서 해놓고 도로 나오세요. / ..

    니체의 철학

    프리드리히 니체(Friedrich Nietzsche)는 19세기 독일 철학자로 서구 철학과 현대 지적 역사에 지대한 영향을 미쳤습니다. Nietzsche의 철학은 복잡하고 다면적이지만 몇 가지 핵심 주제는 다음과 같이 요약할 수 있습니다. 전통적 도덕에 대한 비판: Nietzsche는 전통적인 도덕 가치, 특히 기독교에 뿌리를 둔 가치를 거부했으며, 이를 생명을 부정하고 인간의 잠재력을 제한하는 것으로 보았습니다. 그는 개인이 자신의 욕망과 본능에 따라 자신의 가치를 창조하고 진정으로 살아야 한다고 믿었다. 권력에의 의지: 니체는 모든 생명체의 근본적인 원동력으로 "권력에의 의지"라는 개념을 제안했습니다. 그는 권력, 숙달, 자기 극복에 대한 욕구가 인간 행동의 주된 동기라고 주장했습니다. Übermen..

    리더의 10가지 자세

    배경 조별과제나 프로젝트에서 팀장이 되었을 때 어떻게 해야 무난하게 완료할 수 있을지에 대해 고민하던 중 Chatgpt4에게 바람직한 리더의 자세에 대해 물어보았다. 요약 리더 행동은 조직이나 팀 내에서 리더십 위치에 있는 개인이 나타내는 행동과 태도를 말합니다. 이러한 행동은 팀 구성원의 성과, 동기 부여 및 만족도에 직접적인 영향을 미칩니다. 몇 가지 주요 리더 행동은 다음과 같습니다. 1. 명확한 목표 및 기대치 설정: 리더는 팀의 명확한 목표를 설정하고 전달해야 합니다. 이는 방향을 제시하고 팀 구성원이 자신에게 기대되는 바를 이해하는 데 도움이 됩니다. 2. 피드백 및 코칭 제공: 효과적인 리더는 정기적으로 팀원에게 건설적인 피드백을 제공하고 팀원의 기술과 성과를 개선하도록 돕습니다. 여기에는 ..