이 포스팅은 토스의 그 어떠한 지원도 받은 것이 없습니다 최근 일본 여행을 했는데 토스체크카드가 정말 톡톡히 역할을 다했습니다 일단 토스 외화 계좌를 만드세요 토스 외화 계좌를 이용하여 엔화를 사고팔때 환차익, 환차손이 없습니다 이 말인 즉슨, 정말로 엔화 시세 그대로 한화를 엔화로 환전하고, 남은 엔화를 엔화 시세 그대로 한화로 다시 환전할수 있다는 것입니다 그래서 부담없이 외화게좌에 엔화를 환전하여 넣어놓습니다 물론 엔화가 오르거나 내릴때 이득 또는 손해가 발생할수 있습니다 그리고 이렇게 외화 계좌에 넣어놓은 엔화는, 토스체크카드를 통해 일본에서 결제할때 자동으로 엔화 그대로 수수료 없이 빠져나갑니다 마치 국내에서 체크카드를 쓸때처럼 말이죠 그리고..
https://typescript-eslint.io/rules/explicit-function-return-type/ explicit-function-return-type | typescript-eslint Require explicit return types on functions and class methods. typescript-eslint.io 해당 lint는 다음과 같은 케이스에서 모두 오류, 경고를 발생합니다 // 함수에서도 void를 선언해야함 function test() { return; } // 변수에 할당하는 함수에도 number를 선언해야함 var fn = function () { return 1; }; // 애로우펑션에서도 string을 선언해야함 var arrowFn = () =..
swagger live demo redoc live demo 우리가 많이 사용하고 있는 openapi를 볼수 있는 UI 툴은 잘 알려진 swagger가 있지만, 그의 대체제인 redoc도 있다는것 아셨나요? 이것은 swagger UI 이고 이것이 redoc UI 입니다 redoc은 3개의 컬럼 기반으로 좌측에 path, 가운데 params, 우측에 example이 보여지는 형태의 구성입니다 사람마다 swagger, redoc 호불호가 있겠습니다 nestjs 프로젝트에서 redoc을 적용하는것도 어렵지 않습니다 https://www.npmjs.com/package/@jozefazz/nestjs-redoc @jozefazz/nestjs-redoc NestJS ReDoc (Swagger UI Alternati..
구글태그매니저는 태그매니저라는 매개체를 통해 front 소스코드의 변경없이 이벤트를 심을수 있는 매우 좋은 도구입니다 모든 이벤트 로깅을 구글 태그 매니저를 통하여 하도록 하면, front 소스코드에서 이벤트 로깅과 관련된 모든 코드를 격리할수도 있습니다 이게 더더욱 가능한 이유가 추상화된 트리거를 통해 추상화된 변수영역들을 넘겨준다면 해당 트리거를 통해 전달받은 변수값들을 요리조리 변경하여 GA, BRAZE, 앰플리튜드 등등 여러 매체에 데이터를 전송할수 있습니다 전달받은 변수값을 조작하기 위해서 이러한 방법으로 가능합니다 변수값을 생성할때 "맞춤 자바스크립트"를 설정하면 정말로 빈 종이에 javascript 변수값을 적어내려갈수 있습니다 제가 실제로 사용하고 있는 예제로 설명을 드려볼까합니다 기존에 ..
1. 타입 추론이 어려운 비어있는 오브젝트로의 초기화, null 초기화를 피해주세요 // ❌ 작성자의 변수 선언 의도를 알수 없음 const wrongTypeVariable1 = {} // const wrongTypeVariable1 = null; const wrongTypeVariable2 = { a: 3, } const wrongTypeVariable3 = {} wrongTypeVariable3.b = 'aaa'; 변수 선언시에 타입의 선언이 없이 빈 object를 할당하거나, null을 할당해도 동작에는 이상이 없으나, 코드를 읽는 사람으로 하여금 해당 변수가 향후 어떤 값을 갖게되는지 예측할수 없어 모든 로직을 훑어야만 합니다. 해당 변수가 어떠한 역할을 하며 어떠한 형태의 값을 갖게 되는지 선언..
// post_data.json { "hello": "world" } $ ab -p post_data.json -T application/json -H 'Authorization: Bearer aaaabbbbccccddddeeee' -c 10 -n 200 http://api.example.com/users apache bench(ab)는 쉽게 사용할수 있는 벤치마킹 도구인데요 post method api를 체크하고자 할때 사용하는 방법을 기록차 남겨둡니다
카카오모먼트는 카카오의 대표 광고시스템입니다 카카오톡에 광고를 노출한다거나, 카카오톡 채널로 광고메시지를 뿌린다거나 모두 카카오모먼트에서 담당을 하고 있습니다 특히나 카카오톡을 통한 메시지전달은 매우 유용하기 때문에 놓칠수가 없죠 우리가 알고 있는 알림톡의 경우 여러 벤더사들을 통해 계약하여 SMS 대신에 활용할수 있습니다 친구톡도 마찬가지구요 하지만 카카오모먼트 플랫폼을 이용해서 친구톡을 발송할수도 있습니다 그것도 개인화된 메시지로 보내기가 가능합니다 개인화메시지란 모두가 똑같은 메시지를 전달받는게 아니라 개인별로 메시지 내에 이름이나 다른 요소를 넣어서 개인별로 맞춤 메시지를 보낼수 있는것입니다 https://developers.kakao.com/docs/latest/ko/kakaomoment/com..
회사에서 사용하고 있는 ORM이 typeorm입니다 nodejs 진영에서 사용할수 있는 유명한 ORM은 또 그렇게 많지는 않습니다 typeorm, sequelize, prisma, mongoose 떠오르는대로 적어보면 이렇게 있네요 모두다 typescript를 지원합니다 mongoose는 mongodb용이니깐 일단 제쳐두고 mysql에서 사용가능한 typeorm, sequlize, prisma를 비교해보겠습니다 2년전만해도 sequelize, typeorm, prisma 순서로 인기가 있었는데 이제 prisma한테 모두 역전되었습니다 그도 그럴수밖에 없는것이 prisma가 신생 ORM이기도 하고 활동도 가장 활발한것 같더라구요 이중에서 typeorm은 일찍부터 typescript를 지원하는 ORM으로서 ..
사실 결제모듈이라는게 처음 서비스 셋업하고 잘 바꾸지 않는 케이스가 더 많기 때문에 한번 셋업한 이후로는 셋업하는 방법이나 관련 내용에 대해서 잊어버릴때가 많더라구요 이번에 많이들 사용하시는 결제모듈인 아임포트를 사용하면서 다시 확인한 내용들을 다시 정리해보려고 합니다 어딘가에 정리해두고 다음에 참고해야겠어요 결제수단 사전 준비물 부분취소가능여부 실결제여부 자동결제취소 특이사항 PG사 - 카드결제 삼성/현대/농협/신한 그외 불가(체크카드 사용하지 말것) 불가 실결제(카드 결제 발생) 매일 23:00~24:00에 자동 결제 취소됨 실제 결제는 취소되었지만 아임포트 상태는 결제완료상태임 토스페이 토스앱 가능 테스트결제 네이버페이 네이버앱, 네이버페이앱 가능 테스트결제 테스트용 계좌 또는 신용카드 등록이 필요..
메인보드를 케이스에 장착한뒤에 스위치를 연결하지 않아도 메인보드 전원을 켤수 있는 방법이 있습니다 사실 지금 첨부한 사진의 메인보드에는 전원을 켤수 있는 버튼이 있긴 하지만 버튼이 없는 메인보드 모델에서도 가능합니다 전원 스위치를 연결할수 있는 부분이 이부분인데요 여기에 보통 파워스위치를 꽂는 부분이 우측 상단의 2개입니다 +PWRBTN 이라고도 아래에 써있는것을 볼수 있네요 이 두개의 뾰족튀어나온것을 전기가 흐르는 물체로 한번에 접촉하면 쇼트가 발생하여 메인보드의 스위치가 켜집니다 전혀 고장이 나거나 문제를 발생시키는 방법은 아니구요 실제로도 케이스가 메인보드의 전원스위치를 켜는 방법과 같은 방식입니다
- Total
- Today
- Yesterday
- 어플리케이션
- Apple
- 경진대회
- iPhone
- 아이디어
- 창업
- 소프트웨어
- android
- CSS
- 구글
- 공모전
- 아이폰
- JavaScript
- 스마트폰
- 애플
- AWS
- php
- 게임
- 벤처
- 네이버
- 트위터
- 앱스토어
- 대학생
- 모바일
- 앱
- 안드로이드
- 웹표준
- 자바스크립트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |