일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- PayPay
- documentdb
- vba
- 태국
- JenkinsFile
- 카마츠루
- react.js
- 방콕
- 아타미
- pyenv
- 미츠이 스미토모
- typescript
- Selenium
- PostgreSQL
- 熱海
- 프라하
- 페이페이
- node.js
- 뮌헨
- javascript
- CSV
- local
- 三井住友カード
- 釜つる
- duckdb
- 메르페이
- 체코
- codebuild
- Python
- terraform
- Today
- Total
목록javascript (15)
도쿄사는 외노자
2023-09-11T13:34:51.892305+00:00 위와 같은 형식의 ISO time 을 Local timezone과 Format을 지정하여 출력하고 싶다. 방법은 두가지. 여기선 일본 시간, YYYY/MM/DD HH:mm:ss로 출력해 보자. dayjs 를 사용하는 방법 import dayjs from 'dayjs'; import timezone from 'dayjs/plugin/timezone'; import utc from 'dayjs/plugin/utc'; const isoToLocalDatetime = (timestamp: string): string => { dayjs.extend(utc); dayjs.extend(timezone); const tz = 'Asia/Tokyo'; cons..
API를 Lambda에 올려서 돌리고 있다. 데이터가 6MB를 넘으면 Network Error가 나오는데... API에서 데이터를 압축해서 보낸 후, 화면쪽에서 압축 풀면 되지 않나? 라는 생각에, 일단 시도해 보았다. 처음엔 이거를 참조해서 gzip이라던가 써 봤는데... 소스코드도 길어지고, 압축 푸는데 뻑나고 그러더라. 그래서 그냥 pako를 사용해서 해결했다. API (Lambda) import pako from 'pako'; // Zip const zippedData = pako.deflate(JSON.stringify(targetData)); result.status = RESPONSE_STATUS.OK; result.response = { targetData: zippedData, } // ..
뭐 일단 간단하게 자바스크립트로 적어보면 아래와 같은 느낌. import pg from 'pg'; async function SearchData() { const client = new pg.Client({ user: 'postgres', // 유저명 password: 'postgres', // PW host: 'aaaabbbbcccc123123.ap-northeast-1.rds.amazonaws.com', // RDS 엔드포인트 port: 5432, database: 'postgres' }); await client.connect(); const result = await client.query('select * from dbname.tablename'); console.log(result.rows);..
MongoDB에 넣을 쿼리를 만드는 중이었다. Curl로 날린 파라메터를 받아서 쿼리 오브젝트에 집어넣는데... 오브젝트에 멤버를 넣어버리면 그걸 그대로 검색조건으로 박아버리니까, 값이 없는 경우도 다 조건이 되어버린다. 이걸 해결하려면 애초에 내용이 없는 데이터는 쿼리에 넣어선 안된다. 일단 그냥 자바스크립트면 심플하게 아래의 방법을 쓸 수 있다. const obj = { ...(input.name && input.name !== '') && {name: input.name}, ...(input.hobby && input.hobby.length > 0) && {hobby: input.hobby}, } 근데 타입스크립트면 위 방법이 에러가 나더라. 뭐 어찌어찌 하면 된다곤 하는데, 타입가지고 시간끄는건 ..
테스트데이터를 만드는데, Bash가 MongoDB shell버전이랑 server버전이랑 맞질 않아서 안돌아가더라. 뭐 고칠라면 고치는데, 어차피 데이터 구조 바뀔때마다 반복작업 해야하는거, 그냥 JS로 돌려야겠다 싶었다. 그래서 대충 만들어본게 이거. /testData/testData.js const testData = [ { xxx_cd: '01', xxx_name: 'xxx01', xxx_type: '1', xxx_start_date: '2021-01-01', xxx_end_date: '2021-12-01', xxx_operation: [ { date: '2021-06-01', operaton_type: '1' } ], category: { id: 'categoryA', label: '카테고리A' }..
의외로 쓸 일이 많아서 메모해 둔다. Javascript에서 Comma로 나눠진 문자열을 배열로 만들어야 했다. Comma만 분리하는 거라면 Split을 쓰면 간단하다만... 이 문자열을 입력하는 것이 사람인지라, Comma와 문자 사이에 Space가 들어갈 가능성이 있다. 이 경우 분리 후에도 문자열에 Space가 남아버리므로, Space도 같이 지워줘야 한다. const trimAndSplit = function (target) { return target.replace(/\s+/g, "").split(","); }이 함수의 효과는 다음과 같다. 아래의 문자열을 위의 함수에 보내면... "aaa, bbb, ccc, ddd" 아래와 같이, 문자열 배열이 반환된다. ["aaa", "bbb", "ccc",..
node.js로 정확도 기록용 테스트 툴을 만드는 중. 테스트의 결과를 Teams로 통지함과 동시에 텍스트파일로도 로그를 남겨야 했다. 일단 텍스트 로그를 남기고 최종적으로 Teams에 통지를 하려고 하는데, 당연한거지만 줄바뀜 문자가 다르다. 텍스트파일의 줄바뀜 문자는 「\n」 Teams로 날릴 줄바뀜 문자는 「 」 우선 이런 펑션을 돌려서 텍스트용 로그를 만들었다. log = log.concat(addLog(result, data, true)); function addLog(result, data, isSuccessed){ let log = ""; log = log.concat("문장 : " + result.text + "\n"); log = log.concat("기대치 : " + data.categ..
イマドキのJavaScriptの書き方2018
material-ui를 이용해 데이터테이블을 만드는 중이었다.이게 기본적으로 테이블 width를 100%로 잘라 버리는데,그러다 보니 브라우저가 작아지면 그만큼 각 요소의 길이도 찌그러지더라. 처음엔 그냥 이렇게 ellipsis로 땜빵하려고 했는데,123456tableHeaderColumn: { fontWeight: 600, whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis',},cs 슬프게도 textOverFlow가 header column에 안먹히더라...내가 개조하는 과정에서 뭔가 삽질을 한 모양이다. 여하튼 이걸 그대로 낼 수는 없으니,적어도 column label만큼은 제대로 표시하고 싶었다.데이터에는 ellipsis가 먹히기도..
jQuery DataTables등, 각종 테이블에 입력된 내용을 엑셀로 옮길 필요가 있었다. 그냥 마우스 드래그로 대충 긁어서 Ctrl+C, Ctrl+V를 해도 된다만... 아무래도 엔드유저를 대상으로 하다 보니, 버튼 클릭만으로 클립보드 복사를 해야 했다. 예전에 회사 선배 한 분이 document.body.createTextRange()를 써서 해결하려 했던 것 같은데... 결국엔 익스플로러에서만 된다고 하고는 내비뒀더라. 뭐, 여하튼 알아보았더니 크롬 등에서도 다 방법이 있길래 적어보도록 한다. 1. 일단 버튼을 만들고 1 2 3 4 5 6 Ctrl + C Colored by Color Scripter cs 2. javascript에서 아래와 같이 적어주면 끝 1 2 3 4 5 6 7 8 9 10 ..