
아침 7시. 차 가지러 가는 길에 알 수 없는 거룩함이 느껴진다. 예비군 가는 길이라 그런가 기분이 썩 좋지 않다. 출발 직후 경찰서가 있는 사거리에서 좌회전 신호 대기 중이였다. 가야되는 방향을 멍때리면서 보고 있는데 신호를 기다리던 분들이 갑작스레 약속이라도 한 듯 (보행자 신호가) 빨간 불인데 건너기 시작했다. 내 위치에서는 신호등이 하나만 보이기 때문에 '나한테 보이는 신호등은 고장이 났나보다.' 하고 있는데, 사람들이 다 건너자 신호등이 거짓말 처럼 파란불로 바뀌었다. 괜스레 트루먼 쇼가 떠올랐다. 겨우 도착이다. 초행길인데다가 출근길이고 강남쪽이라 넉넉히 출발한게 정말 다행이였다. 여러모로 두 번은 하고 싶지 않았다. 어느덧 퇴소 시간이 되었다. 아침에도 그랬지만 어디 놀러가지 않으면 죄 짓는..
아래 블로그에서 참고하였습니다. https://mchch.tistory.com/139 [JavaScript] CSV 생성 및 다운로드 1. 다운로드 버튼 클릭 이벤트 $("#excelDownload").click(function () { let filename = "testFile.csv"; getCSV(filename); }); 2. CSV 생성 함수 function getCSV(filename) { var csv = []; var row = []; //1.. mchch.tistory.com 1. 사용자가 upload 할 때 사용할 csv파일 template를 다운로드 받을 수 있게 해야 됨 2. 서버에 template파일을 올려두고 해당 파일을 다운로드 받게 하기에는 번거로움 (양식만 가이드하면 되기..

1.1. 아래와 같이 버튼을 만들고 클릭 시 input: file태그가 클릭되게 함 1.2. input: file 태그에 onChange event를 걸어서 파일 선택 완료 시 원하는 함수 실행 2.1. 아래(예시)처럼 이벤트 함수를 실행했을 때 매개변수로 넘어오는 event를 이용해 사용자가 선택한 file을 변수에 저장함 onChange: async function(event) { let file = event.target.files[0]; . . . } 2.2. 저장한 file을 console.log로 확인했을 때 아래 같이 나옴 3.1. FileReader를 이용해 파일을 읽었으며, 비동기로 데이터를 읽기 때문에 Promise로 생성하여 진행함. onChange: async function(eve..
insert + update를 합친 upsert를 사용하기 위해 아래와 같이 진행했다. 1. unique index 지정 : PK를 사용하여 upsert를 진행하려는 것이 아니기 때문에 원하는 컬럼 조합으로 index를 생성 추가 예) phoneNumber와 nickname을 합쳐 하나의 unique index로 사용 User.init({ userId: { type: DataTypes.BIGINT.UNSIGNED, primaryKey: true, autoIncrement: true, }, phoneNumber: { type: DataTypes.STRING, }, nickname: { type: DataTypes.STRING, }, point: { type: DataTypes.INTEGER, } }, { ..