본문 바로가기

전체 글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.
[GAS:sheets]버튼으로 스크립트 실행 / 2. 간단한 스크립트 작성 버튼으로 스크립트 실행 목차 도형 추가하기 간단한 스크립트 작성 (현재 열람중) 도형에 스크립트 연결 2. 간단한 스크립트 작성 (1) 메뉴에서 [확장 프로그램 > Apps Script] 를 선택한다. (2) 아래와 같이 초기화면이 표시된다. (3) 스크립트를 입력하고 디스켓 버튼을 눌러서 저장한다. 혹은 단축키 Ctrl + s 로 저장 (4) 스크립트를 실행할때는, 메뉴의 [실행]이나, [디버그] 버튼을 클릭한다. 스프레드시트를 보면 실행된 스크립트를 확인할 수 있다. (5) 스크립트 실행을 그만두고 싶을 때는 중지 버튼을 클릭한다. 2022. 12. 30.
[GAS:sheets]버튼으로 스크립트 실행 / 1. 도형 추가하기 버튼으로 스크립트 실행 목차 도형 추가하기 (현재 열람중) 간단한 스크립트 작성 도형에 스크립트 연결 1. 도형 추가하기 (1) 스프레드 시트 메뉴에서 [ 삽입 > 그림 ] 을 클릭한다. (2) 그림 창에서 도형아이콘을 클릭한 뒤, [도형 > 입체 테두리(다른 도형도 가능)] 을 선택한다. (3) 마우스로 화면을 왼쪽클릭하고 드래그해서 도형을 추가한다. (4) 도형에 텍스트를 추가해보자. 도형을 오른쪽 클릭한 뒤, 텍스트 수정을 클릭한다. (5) 도형에 텍스트를 입력한다. (메뉴에 있는 서식도 적용 가능) (6) 우측 상단에 있는 저장 후 닫기 버튼을 클릭한다. (7) 아래와 같이 도형이 스프레드 시트에 추가된다. (8) 도형을 클릭하면 이동하거나, 크기 조절이 가능하다. (9) 도형을 편집하고 싶으면,.. 2022. 12. 30.
테스트 준비 서버 환경 테스트 기간, 영향에 따라 테스트 환경 정하기 (기존 환경 혹은 새로운 환경) 바치 환경 조사하기(AWS Apache AirFlow, JP1등) 서버 리포지토리(S3)와 FTP서버(AWS Transfer Family) 등 조사하기 인프라팀에 테스트 환경 문의하기 및 구축 의뢰하기 테스트 서버 계정 연계받기 스케쥴 전체 스케쥴 확인하기 현재 코딩, 단위 테스트(unit test) 상세 스케쥴 확인하기 팀 멤버 현황 확인(언제부터 테스트 작업할 수 있는지) 안건 상세 내용(티켓, 이슈)로 묶어 테스트 단위 정하기 WBS, 간트차트 작성 테스트 단위(티켓, 이슈), 시험서 작성자, 테스트 담당자, 테스트 예정 날짜 작성하기 시험서, 테스트 시나리오 환경 분석 하기(화면 조작 수순, 바치 설정 및 실.. 2022. 8. 1.
pom.xml 에러 (org.apache.maven.plugin.war.util.WebappStructureSerializer) 1. 발생한 에러 Description Resource Path Location Type Could not initialize class org.apache.maven.plugin.war.util.WebappStructureSerializer pom.xml /webprj line 1 Maven Configuration Problem 2. pom.xml 설정 2.1 이하 설정을 pom.xml에 추가 org.apache.maven.plugins maven-war-plugin 3.3.2 org.apache.maven.plugins maven-war-plugin 3.3.2 2.2. 프로젝트를 오른쪽 클릭한 뒤, Maven > Update Project... 를 클릭 2022. 4. 14.
Node.js oracle 연동 (oracledb) 1. 터미널에 아래 문장을 입력해서 npm 설치하기 npm install express npm install oracledb 2. oracle_test.js 소스코드 작성 const express = require('express') const app = express() const server = app.listen(3000, () => { console.log('server start, port 3000') }) const oracledb = require('oracledb') oracledb.outFormat = oracledb.OUT_FORMAT_OBJECT app.get('/select', function(request, response) { getSelect(request, response) .. 2021. 3. 19.
jquery-ui 타이틀바 지우기 jquery-ui.js $.widget( "ui.dialog", { version: "1.12.1", ・・・ _createTitlebar: function() { var uiDialogTitle; // delete start this.uiDialogTitlebar = $( "" ); this._addClass( this.uiDialogTitlebar, "ui-dialog-titlebar", "ui-widget-header ui-helper-clearfix" ); // delete end this._on( this.uiDialogTitlebar, { ・・・ this._title( uiDialogTitle ); // delete start this.uiDialogTitlebar.prependTo( this... 2021. 3. 2.