레거시 시스템에서 넘어온 CSV 수백 개를 열었더니 한글이 전부 깨져 있었다. euc-kr(정확히는 cp949)로 저장된 파일을 utf-8 환경에서 열었을 때 나오는 전형적인 증상이다.파일이 한두 개면 에디터로 열어서 다시 저장하면 되지만, 수백 개는 그렇게 못 한다. iconv와 셸 스크립트로 한 번에 처리한다.기본 스크립트#!/bin/bash# csv 파일 목록을 가져온다csv_files=`ls -1 *.csv`# 변환 결과를 담을 디렉터리mkdir -p utf8for csv_file in $csv_files; do iconv -c -f euc-kr -t utf-8 "$csv_file" > "utf8/$csv_file"done옵션 의미는 이렇다.-f euc-kr : 원본 인코딩-t utf-8 : 변..
서버리스 Dependency 설치 (feat: lambda) 공부정리중 목차 실행 확인 환경파일 확인 python 도구를 이용하여 dependency 파일 한번에 설치하기 실행확인 내가 짜놓은 코드가 servelress 파일이 제대로 동작하는지 확인하는 방법 offline 도 있다고 들었지만, 현재 내가 배우고 있는 교제에서는 docker의 public.ecr.aws/lambda/nodejs:[node버전] 의 방법을 이용하여 테스트가 가능하다 # nodejs 18버전 app.handle 이 실행파일인 경우 docker run -it -p 8080:8080 -v $PWD:/var/task public.ecr.aws/lambda/nodejs:18 app.handler # curl test curl loca..
서버리스 이미지 최적화 (Serverless Image Optimizer) 목표 서버리스 이미지 최적화 만들기를 통하여서 aws serverless 아키텍쳐 이해 serverless 프레임워크 이해 typescript 로 작성하며, typescript 이해 이미지 최적화 아키텍쳐 온디멘드 방식 -> 이미지 업로드 즉시 처리하여 s3 에 업로드 이벤트 직접 호출 방식 이벤트 구독 방식 필수 설치 serverless framework aws cli option 설치 direnv 환경설정 aws cli 설치 # aws cli 설치 brew install awscli # aws 인증 설정 aws configure # AWS Key ID : [AWS Console IAM 에서 발급받은 Key ID] # AWS S..
IntelliJ 혹은 Android Studio에서 freezed나 drift 같은 패키지를 쓰면 같은 이름으로 확장자가 다르게 여러 파일이 나온다.user.dartuser.freezed.dartuser.g.dart사실 직접 눌러서 볼 일이 거의 없기 때문에, 합쳐서 깔끔하게 보고 싶을 때 쓰는 방법이다.설정 방법IntelliJ 혹은 Android Studio에서 만능찾기인 Shift 연속 2번을 누르고 nest를 검색하면 File Nesting...이 나온다.해당 항목을 선택하여 같은 확장자끼리 묶어주면 하나의 파일로 합쳐져서 나온다.Parent file suffix: .dartChild file suffix: .g.dart; .freezed.dart; .config.dart; .gr.dart이제 하나..
오늘은 오랜만에 아내가 (육아)휴가를 줘서 취미 생활을 시작하려고 한다. 우리집은 원래 Smartthings 기반의 IOT를 구축했었는데.. Aqara 가 한국에 정식 발매된 이후로 Aqara 기반의 Homekit 기반 IOT로 시스템을 모두 바꿨다. 나름 만족하고 살고 있으며, 아내도 처음에는 별로 탐탁치 않아했는데 지금은 적응하며 살고 있다 ㅎㅎ 오늘은 Smartthings 에서 Homekit 기반으로 넘어오면서, 포기하게 되었던 세탁알림센서를 Homekit 기반에 맞게 만들어보려고 한다. (히스토리가 있지만 중요하지 않음으로 생략) Homekit은 이쁜 디자인과 빠른 반응속도로 호감이지만, smartthings 만큼 자동화를 세세하게 세팅하지 못한다. (물론 단축어랑 조합하면 어느정도 커버가 가능하..