Server4 Public Key로 암호화된 Private Key Signature 검증하기 (jsrsasign) 이전 글(리액트 네이티브에서 지문 인식 구현하기)에서 지문 인식을 도입한 프로젝트는 서버가 없어 react native단에서 직접 pulbic key를 안전하게 저장해놨다가, signature를 받아 검증까지 해야 했다.이를 위해서 모듈 react-native-keychain과 jsrsasign을 사용하였다.여기서는 jsrsasign와 Buffer을 이용해 검증하는 과정을 기록한다.우선 필자는 서버를 잘 모른다. 백엔드 다뤄본 것이라고는 데이터베이스밖에 없는 것이다.그래서 많이 헤매었다... 필요한 모듈을 다운받자.npm i jsrsasign --savecd iOSpod installBuffer는 다운받지 않아도 된다. react-native-biometrics에서 createSignature 함수를 .. 2024. 8. 17. [AWS] CloudWatch Alarm 설정해서 Slack에 알림 보내기 AWS CloudWatch는 AWS 서비스를 이용하면서 발생하는 지표들을 모니터링하는 툴이다. 다양한 기능이 있지만, 각 지표에 대해서 경보(Alarm)를 설정하고 알림을 받을 수 있는 기능도 있다. 예를 들면 CPU utilization이 50%를 넘길 경우 이를 즉각적으로 알 수 있는 것이다.출시한 프로그램에서 어떤 문제가 발생했을 시 이를 얼마나 빨리 알아차리고 대처하느냐는 유저 이탈율에 직접 대응되는 문제이기 때문에 매우 중요하다. (즉각적 대처가 어려운 문제이더라도, 시스템 점검 중이라는 창을 띄우는 것과 그냥 무한 로딩이 되거나 앱이 터지는 것은 UX 상에서 엄청난 차이가 있다.)그러나 AWS 콘솔을 계속 들여다보며 혹시 문제가 생겼는지 모니터링할 수는 없다. 그래서 오늘은 AWS SNS, A.. 2024. 8. 7. [SQL] Trigger: 이벤트를 감지하여 DB에 자동으로 TriggerTrigger는 특정 테이블에 INSERT, DELETE, UPDATE 등의 이벤트가 발생하였을 때 데이터베이스상에서 자동 동작하도록 하는 기능이다. 서버/백엔드 개발자가 호출할 필요 없이, DB의 변화를 감지하여 자동으로 호출된다는 큰 장점을 가지고 있다. 필자는 trigger를 로깅에 사용하였다. 주문 정보를 담은 order 테이블에 변화가 감지되는 경우 logging 테이블에 이를 기록했는데, 특히 status에 관심을 가지고 기록하였다. (코드 전체)CREATE OR REPLACE FUNCTION log_order_status_trans()RETURNS TRIGGER AS $$BEGIN INSERT INTO public.order_status_trans_log(order_id, .. 2024. 6. 28. [SQL] Cascade: 참조 무결성을 지키기 위한 방법 관계형 데이터베이스를 사용하다 보면 FK, 다른 테이블의 값을 그대로 저장하는 참조형 키를 사용하는 경우가 많다. 한 테이블의 PK를 참조하는 FK가 있을 경우, 해당 PK를 수정/삭제하여 그 값을 받아오던 FK가 갈 곳을 잃는 사태를 방지하기 위해 FK가 참조하는 키는 수정/삭제가 불가능하다. 참조 무결성을 위반한다는 에러가 발생하기 때문이다. 해당 키를 수정/삭제하기 위한 방법은 크게 2가지가 있다. 참조하는 FK의 값을 삭제하여 연결을 끊은 후 해당 키를 삭제한다.CASCADE를 활용한다. 1의 경우 어떤 FK가 해당 키를 참조하고 있는지 전부 알고 꼼꼼히 지워야 하고, 혹시라도 FK에 not null 조건이 걸려 있으면 이조차도 불가능하다는 단점이 있다.이때 사용하는 것이 CASCADE 옵션이다... 2024. 6. 28. 이전 1 다음