본문 바로가기

분류 전체보기129

[React Native] react native 작동 원리 2018년에 가시화된 리액트네이티브의 새로운 아키텍쳐가 2022년 3월에 발표되었다. 따라서 기존 아키텍처의 한계점을 알아본 후, 새롭게 바뀐 아키텍처 도입으로 인한 이점과 RN플랫폼과 Thread에 대해 알아보자. 기존 아키텍처의 한계점 기존 아키텍처는 js계층에서 네이티브 계층으로 전달해야 하는 모든 데이터를 'Bridge'를 이용해 직렬화하여 작동했다. 이에는 몇가지 한계가 존재했다. 1. 비동기: 한 계층이 'Bridge'로 데이터를 제출하고 다른 계층이 이를 처리하기를 비동기적으로 '대기'하였다. 2. 단일 스레드: js 단일 스레드에서 모든 계산이 수행되어야 한다. 3. 부가적인 오버헤드 발생: 한 계층이 다른 계층을 사용해야 할 때마다 일부 데이터를 json으로 직렬화, 역직렬화해야만 했다... 2024. 4. 5.
[보안] 보안취약점 - 파일 업로드&다운로드 취약점 (악성코드 및 바이러스 검사) 파일 업로드 시 악성 코드 및 바이러스를 검사하는 Java 기반의 솔루션으로는 Apache Tika와 ClamAV를 조합하여 사용하는 방법이 일반적이다. 1. Apache Tika를 사용한 파일 형식 검사: Apache Tika는 다양한 문서 형식의 파일에서 텍스트 및 메타데이터를 추출하는 Java 라이브러리이다. 파일이 악성 코드를 포함하고 있는지 확인하기 위해서는 파일 형식을 분석하여 내용을 추출하고 검사하는 것이 유용하다. import java.io.IOException; public class ClamAVScanner { public static boolean isFileClean(byte[] fileBytes) { try { ProcessBuilder processBuilder = new Pro.. 2023. 12. 20.
[보안] 보안취약점 - 파일 업로드&다운로드 취약점 (파일확장자 관리) 게시글, 결재 문서 등 첨부파일을 업로드가 가능한 페이지 일 경우, 업로드가 가능한 파일 확장자를 화이트 리스트로 관리하거나, 업로드가 불가능한 파일 확장자를 블랙 리스트로 관리하여야 한다. 1. 첨부파일 업로드를 제한해야하는 확장자 - 업로드가 불가능한 확장자를 블랙리스트로 관리하여, 클라이언트 및 서버측에서 모두 체크하여 업로드를 막아야 한다. 확장자 명 비고 확장자명 비고 .exe 실행파일 .dll dll 파일 .jsp jsp 파일 .jspx jspx 파일 .php php 파일 .asp asp 파일 .aspx aspx 파일 .java java 파일 .bat bat 파일 .pdb pdb 파일 .vbs vbs 파일 2. 파일 변조 체크 로직 자바스크립트 function fileCheck(fileName.. 2023. 12. 20.
[React Native] Expo prebuild Update: Expo SDK 46 버전부터 공식적으로 expo eject 는 deprecated 되었다. https://docs.expo.dev/faq/#is-expo-eject-deprecated expo SDK41 부터 expo prebuild 라는 기능을 제공해준다. 3rd-part-native-module 의 경우, expo 에서 가이드 해주는대로 플러그인 스펙을 지정해놓으면 엑스포에서 클라우드 환경에서 사전에 해당 모듈을 포함시켜서 빌드를 해준다. 기본적으로 플러그인은 app.json 혹은 app.config.js 에 아래와 같은 형태로 적는다. { "name": "my app", "plugins": ["3rd-party-native-module"] } 별도로 주어야 하는 권한이 있는 경우에는.. 2023. 12. 11.