본문 바로가기

분류 전체보기48

AWS bucket object putがretry扱いになる ソース実行1つのFileをopenして、S3に2回putするfile = File.open('file.csv')object(key1).put(body: file, **params)object(key2).put(body: file, **params) 結果(ログ)2回目のputする時に、retryしているため20秒かかってしまう。[Aws::S3::Client 200 0.059539 0 retries] put_object(body: ... )[Aws::S3::Client 200 20.484029 1 retries] put_object(body: ... )  理由Fileを1回readすると、カーソルが末尾に移動するからです。file = File.open('file.csv')=> #[93] pry(main)> file.read=> .. 2024. 8. 8.
unicode normalizeのform ruby on rails 6.1 update release notehttps://edgeguides.rubyonrails.org/6_1_release_notes.htmlRemove deprecated ActiveSupport::Multibyte::Unicode.pack_graphemes, ActiveSupport::Multibyte::Unicode.unpack_graphemes, ActiveSupport::Multibyte::Unicode.normalize, ActiveSupport::Multibyte::Unicode.downcase, ActiveSupport::Multibyte::Unicode.upcase and ActiveSupport::Multibyte::Unicode.swapcase.  6.1バー.. 2024. 6. 10.
rsepc mock 메소드 내부 확인 describe '#test_target_method' do subject do described_class.new.test_target_method end before do travel_to('2020-01-01 00:00:00') ... end shared_examples '공통 테스트' do |sql| it '확인 내용' do allow(모듈::클래스).to receive(:new).and_return(test_class) test_class.class.alias_method :original_method_name, :method_name allow(test_class).to receive(:method_name) do |relation| result = test_class.original_meth.. 2023. 10. 23.
[GAS:sheets]CSV출력하기 / 1. 시트를 CSV형식으로 변환하기 CSV출력하기 목차 시트를 CSV형식으로 변환하기 (현재 열람중) 구글 드라이브에 CSV파일을 출력하기 1. 시트를 CSV로 변환하기 (1) CSV형식의 스프레드 시트를 작성 또는 준비한다. 시트이름은 CSV 로 작성 (2) Apps Script에서 코드를 작성한다. 이하 사양에 대해 간단하게 정리 변환할 시트이름으로 ActiveSpreadsheet를 가져온다 1행 : Header 헤더 2행부터 : data 데이터 헤더와 데이터는 A열 부터 입력된다. 헤더의 길이만큼 데이터를 출력한다. (헤더가 5개인 경우, 데이터는 E열까지 출력) 데이터가 하나도 없는 행이 있다면 그 이후는 출력하지 않음. 이외 체크처리는 없음. const SHEET_CSV = getSheetByName('CSV'); const CE.. 2023. 1. 2.
rails ActiveRecord 메모리, 성능 개선 공통DB SQL발행 횟수를 줄이기 SelectN+1을 예방하기includes, preload, eager_load를 사용해서 쿼리를 캐시하기includes : 테이블 별로 SQL로 검색해서 캐시, 조건에 따라 SQL 1개만 발행preload : 테이블 별로 SQL로 검색해서 캐시, 관련테이블은 조건 지정 불가능eager_load : 관련된 테이블을 left join으로 검색해서 캐시, SQL 1개만 발행@user = User.includes(:UserDetail)검색시 불필요한 join이나 eagal_load를 줄이기단순 Copy & Paste 혹은 코드 수정으로 인해 사용하지 않는 테이블을 지우기건수 검색할때는 length를 사용하기count : 실행할 때 마다 SQL발행size : 실행할 때 마다 S.. 2022. 12. 30.
[GAS:sheets]버튼으로 스크립트 실행 / 3. 도형에 스크립트 연결 버튼으로 스크립트 실행 목차 도형 추가하기 간단한 스크립트 작성 도형에 스크립트 연결 (현재 열람중) 3. 도형에 스크립트 연결 (1) 스프레드 시트 도형의 [···]버튼을 클릭한 뒤, 스크립트 할당을 클릭한다. (2) 작성한 스크립트의 함수명을 쓰고, 확인 버튼을 클릭한다. (3) 확인 버튼을 클릭한 뒤, 버튼을 클릭하면 스크립트가 실행된다. (4) 스크립트를 할당한 뒤, 도형을 수정하거나 할당한 스크립트를 해제하고 싶은 경우에는 도형을 오른쪽 클릭 하면 선택할 수 있다. 2022. 12. 30.