-
[비공개] 애플로그인 서버측 검증하기
소셜계정으로 로그인하는 기능이 참 편하긴한데 소셜계정이 한두개가 아니니깐 이것저것 다 붙이다보면 뭔가 화면이 예쁘지 않습니다 게다가 애플은 앱스토어 가이드라인에 애플로그인을 넣으라고 압박까지하니 아이폰은 애플로그인까지 소셜계정이 한개가 더 추가가된 셈입니다. 애플개발자 홈페이지에서 내가 사용하는 앱ID에 대해서 Sign in with Apple을 활성화 하셔야 합니다. 애플 로그인을 하게 되면 이메일주소와 그 외 여러개의 값을 받을수 있습니다 그리고 identityToken 을 값을 확인할수 있습니다 이 값을 서버로 보내 서버측 검증을 해야하는데 관련코드가 어디붙어있는지 찾을수가 없더라구요 그래도 다행히 구글링을 통해 찾았습니다. blogs.unity3d.com/kr/2019/09/19/support-for-apple-sign-in/ Support for Apple Sign inApple 로그인 지원Apple サインイン..추천 -
[비공개] 애플 인앱 구매 상품 가격 테이블
appstoreconnect.apple.com/apps/pricingmatrix 애플이 제공하는 인앱 구매 상품 가격 테이블이 나와있는 URL입니다 애플의 인앱상품은 내가 마음대로 인앱의 가격을 설정할수 있는것이 아니라, 애플이 제공한 가격대에서만 선택할수 있습니다. 앱스토어커넥트에 로그인해야 볼수 있는 페이지입니다 각 나라별 금액도 확인하실수 있습니다. 왜 꼭 로그인해야만 볼수 있게 만들었는지 아쉽지만 어쩔수 없죠추천 -
[비공개] react native android debug 빌드가 실패해요
요즘에 리액트네이티브를 만지고 있습니다 리액트 네이티브를 릴리즈로 빌드를 하게 되면 react native 의 metro bundler가 앱이 스스로 실행될수 있게끔 필요한 모듈을 모두 번들링하여 그것을 포함해 빌드가 되는 반면에 debug 모드로 빌드를 하게되면 로컬에 웹서버가 실행되면서 핫리로드라고도 불리는 개발 변경 내역을 실시간으로 볼수 있는 개발환경이 구성됩니다 저는 개발할때 에뮬레이터를 띄우기보다는 실제 기기에 앱을 실행시켜서 하는편인데요 (에뮬레이터가 먹는 메모리가 아깝기도 하고, 실기기에서 테스트하는것을 선호합니다, 단 실기기에서 테스트할때는 개발폰의 와이파이와 개발환경 PC의 와이파이가 같은 곳에서 실행하여야 합니다) react native 콘솔 명령어로 이런식으로 npxreact-nativerun-ios 디버그 빌드를 해도 되지만,(위의 명령어..추천 -
[비공개] iOS 인앱명이 유효하지 않을때
iOS 인앱구매 기능 개발시 많이 하는 실수이면서 자꾸자꾸 까먹는 실수중의 하나가 바로 이겁니다. 분명히 인앱관리에서 해당 인앱명을 추가했는데 코드로 해당 인앱명을 호출했을때 유효하지 않은 인앱목록에 들어있는 경우에는 앱스토어 커넥트의 "계약, 세금 및 금융거래" 메뉴를 확인해보세요 진행상태가 "활성"이 아니라 "대기중"이나 다른것이라면 활성상태가 되기 전까지 인앱을 사용할수 없습니다. 해당 메뉴에서 은행계좌를 비롯한 세금관련한 정보를 넣으시면 몇분지나지 않아서 활성 상태로 변경됩니다.추천 -
[비공개] aws ses 테스트를 로컬에서 하자
https://github.com/csi-lk/aws-ses-local csi-lk/aws-ses-local Local Amazon Simple Email Service Server. Contribute to csi-lk/aws-ses-local development by creating an account on GitHub. github.com 세상에 너무 좋은 사람들이 참 많습니다 개발할때 너무 편한 것들을 이미 만들어주셨거든요 aws ses를 로컬 테스트용으로 셋업할수 있습니다 설치방법은 매우 간단합니다 npminstallaws-ses-local-g 전역설치를 해주시고요 aws-ses-local 이 명령어로 서버를 실행시키면 됩니다 서버를 실행시키면 9001번 포트로 서버가 실행되고, 서버를 실행시킨 폴더의 ./output 폴더에 aws-ses-local을 통해 보낸 이메일의 내역이 차곡차곡 쌓입니다 그럼 메일을 발송해볼까요 importAWSfrom'aws-sdk'constses=newAWS.SES({region:'us-east-1',endpoint:'http://localhost:9001'}) 단지 region과 endpoint만 변경하여 aws ses와 완벽하게 호환이 가능합니다. 메일..추천 -
[비공개] pm2 써봤니? (재실행 스크립트 만들기)
express 홈페이지에서 발견한 stronStrongLoop Process Manager라는 웹사이트에서 발견한 재미있는 표 입니다 StrongLoop와 pm2 그리고 forever를 비교한 표인데요 저는 pm2와 forever는 이미 예전부터 알았지만, StrongLoop는 이번에 처음 알게되었습니다 StrongLoop와 pm2 그리고 forever는 nodejs를 위한 프로세스 매니저라고 할수 있는데요 nodejs에서는 핸들링 되지 않은 오류가 발생하면 프로세스가 종료가 되는 특징이 있습니다 처리하지 않은 예외때문에 갑자기 서버가 죽는다면 너무 어이가 없잖아요 그쵸? 그래서 프로세스매니저를 통해 nodejs 프로세스가 죽는경우 다시 자동적으로 실행시키는 일을 하는것입니다 위 표를 이렇게 보니 forever가 굉장히 심플하네요 하는 일이라곤 오로지 실패시에 재실행시키는것만 하고 있어요 ㅋㅋ 옛날에 만들었던 서비스는 forev..추천 -
[비공개] nodejs는 API를 처리할테니 nginx는 정적파일을 처리해라
PHP에게 아파치가 있다면, nodejs에게는 nginx라는 든든한 웹서버가 있습니다 우리는 물론 nginx를 통해서도 서버를 생성하여 이미지나 js, css파일 같은 static 파일도 제공이 가능하지만 nodejs의 부담을 덜어주기 위해 nodejs의 앞단에 nginx를 두어 이러한 정적파일들은 nginx가 처리하고, 그외는 nodejs로 요청을 넘겨주게끔 하면 nodejs를 좀 더 효율적으로 쓸수 있겠죠? nginx에서도 친절하게 설명이 되어있네요 https://docs.nginx.com/nginx/admin-guide/web-server/serving-static-content/ NGINX Docs | Serving Static Content Configure NGINX and NGINX Plus to serve static content, with type-specific root directories, checks for file existence, and performance optimizations. docs.nginx.com nginx 설정을 마치고 실제로 테스트를 해보면 nginx가 서빙하는 정적파일들은 별다른 설정없이도 자동적으로 etag와 last-modified 헤더가 붙..추천 -
[비공개] 파일을 업로드할때 s3로 곧바로 업로드하기
파일 저장소로 s3를 쓰는건 거스를수 없는 대세입니다. 아직도 안쓰고 계셨나요 비용도 저렴하고, 용량 가득 찰까봐 걱정할일도 없고, cloudfront와 연결하여 전세계 어디든 빠른 속도로 리소스를 제공할수 있습니다 s3로 파일 업로드 어떻게 하고 계신가요 아마도 여러분의 어플리케이션 서버로 먼저 파일을 업로드하고, aws sdk를 이용하여 어플리케이션 서버가 업로드된 파일을 s3로 다시 업로드하는 과정으로도 많이 구현하실거예요 업로드된 이미지의 썸네일을 만든다던가 그런코드도 있을수 있겠죠? 물론 이러한 방법을 사용하는것도 파일의 사용을 내가 직접 컨트롤한다는 점에서 좋습니다 그런데 업로드되는 파일의 크기가 크다면 여러모로 고민되는 부분들이 있습니다. "용량이 큰파일을 s3로 곧바로 업로드하면 네트워크 비용을 좀 더 절..추천 -
[비공개] 앱스토어 다운로드 속도가 느린가요?
이상하게 집에서 앱을 다운로드 받거나, 업데이트하려고 하면, 속도가 너무 느린거예요 집에서 쓰는 기가 와이파이에 연결한건데 게임도 아니고 왠만한 앱은 몇초만에 뚝딱하고 받아야 하는데 어떨때는 10분이 걸리기도 하더라구요 처음에는 아이폰의 하드가 문제가 있나 심각하게 고민을 했는데 아무래도 그건 아닌거같더라고요 희안하게도 앱스토어만 느렸거든요 그리고 회사나 밖에서 LTE로 앱스토어 앱을 다운로드할때는 빨랐어요 그런데 또 신기하게도 집에서 맥으로 작업을 하다가 xcode를 업데이트 하려고 보니 맥 앱스토어도 똑같이 느리다는것을 발견했습니다 xcode 가 용량이 10GB가 조금 안되는데 이거를 이런속도로 받으면 답이없겠다 싶었어요 그래서 왜 그럴까 문제를 열심히 뒤져보았습니다 그런데 검색을 하던 와중에 문득 내..추천 -
[비공개] iOS UISearchDisplayController를 이제는 놓아주세요
https://developer.apple.com/library/archive/releasenotes/General/WhatsNewIniOS/Articles/iOS8.html iOS 8.0 iOS 8.0 This article summarizes the key developer-related features introduced in iOS 8, which runs on currently shipping iOS devices. The article also lists the documents that describe new features in more detail. For late-breaking news and information abo developer.apple.com iOS8에서 deprecated된 API에 다음과 같은 내용이 있습니다 The UISearchDisplayController class. This class is replaced by the UISearchController class. UISearchDisplayController 가 폐기 되었고 UISearchController 를 사용하라고 하네요 그런데 이 사실을 미처모르고 있었습니다 옛날에 만든 앱을 iOS 13 sdk로 업데이트를 하여 앱스토어 올렸는데 분명 정상적으로 동작하는 앱인데 심사담당자가 크래시가 발생한다고 크래시리포트를 첨부하여 알려주더라구요 희안하게도 분명 실제 디바이스..추천