반응형 개발 및 알고리즘36 [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. [React Native] 리액트 네이티브에서 Lottie 사용하여 애니메이션 넣기 (RN 0.73) Lottie는 에어비앤비에서 제공하는 라이브러리로, 많은 사람들이 공유한 애니메이션을 무료로 이용할 수 있고 커스텀까지 가능하다.무게가 큰 gif 파일에 비해 가벼운 json 파일만으로 웹, 앱 등 다양한 곳에 멋진 애니메이션을 넣을 수 있다.하지만 react native 0.73의 최신 버전을 활용하는 필자는 호환되는 버전을 찾는 데 어려움을 느꼈기 때문에 사용 방법을 정리해 보려 한다. 1. 설치로띠를 이용하기 위해서는 2가지의 모듈을 설치해야 한다. 사실상 버전 정보 때문에 이 글을 쓰는 것과 다름없다. 버전이 맞지 않으면 오류가 난다...어떤 오류인지는 밑에서 설명하겠다. 아래 command를 통해 두 모듈을 설치한다.npm i --save lottie-react-native@6.7.2npm i .. 2024. 4. 17. [React Native/Error] Invariant Violation: Tried to register two views with the same name : npm dedupe Invariant Violation: Tried to register two views with the same name LottieAnimationView, js engine: hermes 외부 라이브러리 사용시 중복된 패키지로 인해 생기는 오류이다. 다음 command를 통해 중복된 패키지를 정리해주면 해결됨 + 용량도 줄여준다고 함 npm dedupe 2024. 4. 17. [React Native/Error] No bundle URL present. : 메트로 서버 ON No bundle URL present. Make sure you're running a packager server or have included a .jsbundle file in your application bundle. 이상하게 VScode terminal에서 npm start - i command를 통해 빌드를 시도할 때는 오류가 나지 않는데, Xcode에서 빌드를 시도하면 해당 오류가 났다. 검색을 통해 .jsbundle을 프로젝트 내에 생성해주는 명령어를 사용해 보았으나 실패. 중요한 것은 뒷부분이 아니라 앞부분이었다. server가 있느냐. 혹시 몰라 VScode terminal에서 다음 command를 통해 메트로 서버를 켠 후 (빌드는 하지 않고) 다시 Xcode에서 빌드 시도해보았더.. 2024. 4. 16. [React Native/Error] Command PhaseScriptExecution failed with a nonzero exit code : 패키지 재설치 Command PhaseScriptExecution failed with a nonzero exit code. 검색해보니 해당 Error는 너무 다양한 원인으로 인해 발생하기 때문에 가지각색 해결법이 나왔다. 필자는 많은 방법을 시도했으나 통하지 않았고, 패키지 오류로 인해 발생했기 때문에 node modules 폴더를 지운 후 프로젝트 폴더에서 아래 command로 패키지 재설치한 후 다시 빌드해보니 성공했다. npm i cd ios pod install 참고로 빌드하기 전에 build clean 작업을 하는 것을 추천한다. 2024. 4. 16. 이전 1 2 3 4 5 6 다음 반응형