본문 바로가기

개발

[AWS] ECS ec2로 private subnet에 배포하기 이전에 ecs를 기본 vpc, (public)subnet에 배포했었습니다. 그런데 인터넷으로 outbound가 안되고 있었고, 찾아보니 awsvpc 네트워크 모드를 사용하면 public subnet에 띄워도 인터넷에 outbound가 안된다고 합니다..... https://docs.aws.amazon.com/ko_kr/AmazonECS/latest/bestpracticesguide/networking-outbound.html 인터넷에 연결하기 - Amazon Elastic Container Service 이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오. docs.aws.amazon.com 네트.. 더보기
[AWS] ECS 테스크 생성이 지연될때 AWS ECS 생성후, 서비스를 통해 테스크를 생성할때 장기간 pending할때가 있습니다. 크게 두 원인을 의심할수 있는데요. 1.EC2 인스턴스 역할이 부여되었는지 ecs는 container instance(ec2)에 ecs agent를 설치해 통신합니다. 이때 ecsIntanceRole이 가진 권한을 설정해줘야합니다. 2.인스턴스 타입이 t2.small이상인지 인스턴스 타입이 낮아 container instance의 용량이 적으면, 테스크 생성이 되지 않습니다. 3.인스턴스 타입을 지원하는 가용 영역을 설정했는지 설정한 인스턴스 타입을 가용 영역별로 지원하지 않을수 있습니다. EC2 인스턴스 유형을 통해 사용 가능 영역을 확인하세요 이상입니다. 더보기
[python] 버전 변경 Mac은 기본으로 python3@3.9가 설치되어 있습니다. 버전 업그레이드시 pyenv, brew를 이용해 새로운 버전 설치로 오버라이딩 하면 자연스레 됩니다. 이번 글에선 수동으로 진행해볼까 합니다. # which python3 /usr/bin/python3 # 왼쪽처럼 출력되면 기본 python설정이 되어 있습니다. #수동 설정을 위해 ~/.zshrc에 alias를 추가해줍니다. vi ~/.zshrc alias python3="python{버전}" # python3를 python{버전}으로 설정하겠다는 statement #갱신 적용 source ~/.zshrc 이상입니다 더보기
[yolov5] ImportError: dlopen(/Users/nojeong-u/Library/Python/3.9/lib/python/site-packages/h5py/_errors.cpython-39-darwin.so, 0x0002) yolov5를 이용해 학습후 export하던중 아래 에러가 발생했다. [yolov5] ImportError: dlopen(/Users/nojeong-u/Library/Python/3.9/lib/python/site-packages/h5py/_errors.cpython-39-darwin.so, 0x0002) 검색해봐도 나오지 않는.... pip package 전부 삭제후, requirements.txt을 재설치해도 안된다. 그러다 에러를 쭉 읽어보니, 아래 문구가 있다 (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')) 터미널 옵션으로 로제타를 기본값으로 했는데, arm64 에러라니..... 만약 위 에러가 발생한.. 더보기
[RN] Error: spawnSync adb ENOENT android-platform-tools 가 없어서 나는 오류다. 아래 명령어로 설치해주면 된다. brew install --cask android-platform-tools 더보기
[Yolov5] No such file or directory: 'tensorflowjs_converter' yolov5을 학습후 export시 위와같은 에러가 발생할수 있다. tensorflow를 다운받으란 의견들이 있었는데, 그럼에도 불구하고 안된다면 어떻게 할까? 필자의 경우 고민하다, export 파일의 명령어 부분을 절대경로로 바꿨다. # 수정전 args = [ 'tensorflowjs_converter', '--input_format=tf_frozen_model', '--quantize_uint8' if int8 else '', '--output_node_names=Identity,Identity_1,Identity_2,Identity_3', str(f_pb), str(f), ] # 수정후 args = [ '/Users/..../tensorflowjs_converter', '--input_format.. 더보기
[NestJs] query, param type전환에 따른 DTO validation get 요청시 query, param은 무조건 string으로 값이 온다. NestJs에서 권장한 dto는 class-validator을 통해 유효성 검사가 가능한데, IsNumber이 먹히지 않는 이슈가 있다. 어떻게 할까? 1) enableImplicitConversion: true // main.ts ... app.useGlobalPipes( new ValidationPipe({ transform: true, transformOptions: { enableImplicitConversion: true }, }) ); ... transform true와 함께 enableImplicitConversion: true을 설정해, 암묵적 변환을 실행한다. 2) @Type(() => Number) import .. 더보기
[NestJs] DTO 유효성 vs constructor 초기화 (when strict mode) controller에서 파라미터(query, param, body) 유효성을 검사하기 위해 DTO를 사용한다. 그런데 코드 품질?을 위해 tsconfig.json에서 "strict: true" 설정을 하면, class 프로퍼티(state)들은 초기화하라고 아래 문구가 뜬다. has no initializer and is not definitely assigned in the constructor 재밌는건 초기화 하면, client 값이 아닌 계속해서 초기화 값을 출력한다는....... 고민한 끝에, 아래 두가지 방법을 제안한다. 1) "strictPropertyInitialization": false tsconfig.json에 "strictPropertyInitialization": false을 추가한다.. 더보기