Offset-based paging 기본적으로 사용하게 되는 pagination 방식이다. API를 호출할 때 page, limit parameters를 사용하여 데이터를 호출한다. // 한 페이지당 10개의 item을 보여주는 경우 const itemCount = 10; db.items.find({ }).sort({_id:-1}).skip((page-1)* itemCount).limit(itemCount) # API 요청 예시 curl https://api.github.com/user/repos?page=2&per_page=10 결과 list가 추가되거나 삭제되면 item이 빠지거나 2번 반복되는 경우가 생길 수 있다. 첫 번째 페이지에 10개를 요청하고 하나의 item이 지워졌다면 지워지기 전 11번..
iframe의 domain별 제한을 위해 사용할 수 있는 header는 x-frame-options와 content-security-policy가 있다. x-frame-options는 IE를 사용하는 경우 문제가 없지만 다른 브라우저를 사용경우 무시될 수 있다. - Clickjacking 보호 - X-Frame-Options - HTTP | MDN content-security-policy header를 사용하여 iframe domain별로 제한하는 방법에 대하여 알아보았다. content-security-policy content-security-policy header를 추가하는 방법은 아래와 같다. Content-Security-Policy: ; content-security-policy의 poli..
서비스가 점점 커지면서 관리할 code의 사이즈가 커졌다. Microservice로 구성하다보니 github의 여러 repo를 관리하고 운영하고 있다. service간의 연관성이 있어 새로운 기능을 추가할 때 version 및 changelog를 확인하여 관리하고 있다. Commit message와 version, tag를 수동으로 관리하고 있어 version을 잘못 작성할 때도 많고 tag를 빼먹을 때가 많았다. 문제가 있어 code를 reset하려고 하면 잘못 작성된 version 정보와 tag 때문에 고생할 때가 많았다. Conventional Commits은 커밋 메시지에 명확한 commit 히스토리를 생성하기 위한 간단한 규칙을 제공한다. 이 규칙은 Sementic versioning을 따르며,..
AWS ElasticSearch를 사용하여 application 사용자의 행동을 분석하고 있다. pipeline은 pinpoint -> kinesis firehose -> elasticsearch 으로 구성하여 사용하고 있다. 사용자가 많지 않아 test용도로 ElasticSearch를 6개월 동안 t2.small.elasticsearch 인스턴스를 사용했다. 다른 설정을 변경하지 않고 AWS에서 제공하는 기본설정으로 사용했다. 기존에는 VPC안에 ElasticSearch를 설정하는 경우 Kinesis Firehose를 ES와 연결할 수 없었다. Kinesis Firehose를 사용하기 위해 public ElasticSearch로 구성하고 특정 ip만 접근가능하도록 SecurityGroup을 구성했다. ..
- Total
- Today
- Yesterday
- mongoDB
- JavaScript
- Clickjacking
- AWS community day seoul
- conventional commit
- Cloudfront
- Python
- aws
- Terraform
- Airflow
- Prisma
- nginx
- Elasticsearch
- typescript
- slowquery
- Github Actions
- NLP
- mognodb
- inversify
- Cognito
- lambda@edge
- Develop
- shorten
- Neptune
- pagination
- nltk
- Lifecycle
- commit message
- graphql
- sementic version
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |