일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 熱海
- 아타미
- duckdb
- 프라하
- PostgreSQL
- react.js
- 카마츠루
- Selenium
- Python
- 釜つる
- codebuild
- javascript
- pyenv
- JenkinsFile
- 페이페이
- typescript
- local
- 체코
- 메르페이
- documentdb
- vba
- terraform
- 三井住友カード
- 미츠이 스미토모
- 방콕
- CSV
- node.js
- 태국
- PayPay
- 뮌헨
- Today
- Total
목록분류 전체보기 (262)
도쿄사는 외노자
일단 이번에 사용하게 된 녀석 소개. Ant Design Components Overview - Ant Design antd provides plenty of UI components to enrich your web applications, and we will improve components experience consistently. We also recommend some great Third-Party Libraries additionally. ant.design 이번엔 테이블 구현을 위해 사용하였다. MaterialUI와도 별 위화감 없이 섞어쓸 수 있고, 데이터테이블 기능이 어느정도 다 구현되어 있어서 좋더라. 일단 기본적인 로딩 기능 구현은 아래를 참조하면 된다. https://ant.d..
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, } // ..
짜장 2인분 준비물 필수:춘장150g, 파 반쪽, 돼지고기150g, 양파1개, 양배추 서너장, 면 부가:감자1개, 당근반개, 오이 조금 1. 춘장 150g 작은후라이팬에 볶기. 기름은 적당히 주변 잠길정도로. 설탕1-2스푼 넣기 2. 큰후라이팬에 춘장 볶은 기름 + 기름 조금 더 추가해서 파기름만들기 3. 파기름에 돼지고기 볶기 4. 야채 볶기 5. 춘장넣고 다같이 볶기 6. 면위에 올리고 끝 면 스파게티도 되고, 난 그냥 슈퍼에서 짬뽕면 사서 끓임
레포트 출력 API를 개발중이다. RDS에서 데이터 검색 후 Lambda에서 데이터를 기존 준비된 엑셀 파일에 넣어 DL까지. 데이터 취득 후엔 xlsx-populate를 사용하여 리스트째로 엑셀에 넣었고, 작성된 엑셀 파일을 export하는데에는 exceljs를 사용하였다. 근데 exceljs를 사용해서 export를 해 보니, 조건부서식이 다 작살나더라. 내가 이 조건부서식 만들려고 얼마나 개고생을 했는데... 처음엔 전송방법에 문제가 있나 싶어 Header를 이리저리 바꿔보았는데, 결과는 다 똑같았다. 그래서 혹시나 하여, 그냥 exceljs로 멀쩡한 파일을 읽은 후, 그대로 다시 아웃풋해보니 박살나있는 것을 확인. exceljs의 문제더라. 알아보니 나와 같은 피해자들이 많았다. https://g..
API개발중, 유저ID를 코그니토에서 가져오기로 했다. 일단 디코드용 코드를 대충 이런 느낌으로 만든다. 이쪽을 참조했다. export default function (event: any): object { const token = event?.headers["Authorization"]; const base64Url = token.split('.')[1]; const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/'); const jsonPayload = decodeURIComponent(atob(base64).split('').map(function (c) { return '%' + ('00' + c.charCodeAt(0).toString(16))...
아래의 파라메터를 필요로 하는 API를 만들고 있다. { "country": "string", "date": "string", "type": [ "string" ], "color": [ "string" ], "def": "string" } 해당 파라메터의 Validation을 위해 class-validator를 사용하고 있는데, 여기서 조건이 한 가지. 기본적으로 모든 항목에 not empty를 걸고 싶은데, type과 color는 둘 중 하나만 있어도 OK로 하고 싶다. 뭐 해결방법은 아래와 같다. import * as v from "class-validator"; import { RequestModel } from "../models/RequestModel" import { countryCode } ..
뭐 일단 간단하게 자바스크립트로 적어보면 아래와 같은 느낌. 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' }..
AWS DocumentDB의 정보 보관을 위해 AWS Secrets Manager를 사용하게 되었다. SecretsManager의 정보 자체는 Lambda의 환경변수로 아래와 같이 설정하면 된다. 현재 Lambda를 Serverless를 써서 올리기로 하고 그냥 다 코드 자체는 로컬에서 작성하고 있기 때문에, 사실 테스트를 하려면 그냥 env같은거 만들어서 정보 다 넣어두고 쓰면 되지만서도, Secrets Manager를 한번은 테스트 하고 싶으니까 Credential까지 넣어서 한번 적어 봤다. import * as aws from 'aws-sdk'; import { DatabaseInfoModel } from '../models/DatabaseInfoModel'; export default async..