[React Native] WebView 사용 방법
2024. 6. 3. 17:20
프로그래밍/React Native
React Native에서 기본 웹 브라우저를 통해 URL 여는 방법React Native 모듈에서 제공하는 Linking을 사용하면 간단하게 구현 가능함https://carpet-part1.tistory.com/942 라는 사이트를 웹뷰로 열고 싶다면, Linking.openURL 사용해서 링크를 열어주면 됨 코드 예시import React from 'react';import { Button, Linking } from 'react-native';const Component = () => { const openWebView = () => { Linking.openURL('https://carpet-part1.tistory.com/942'); }; return ( );};export ..

[React Native Error] CocoaPods could not find compatible versions for pod "hermes-engine" 해결 방법
2024. 5. 28. 15:28
프로그래밍/React Native
오류Pod install 시 아래의 에러 발생CocoaPods could not find compatible versions for pod "hermes-engine" 원인CocoaPods에서 hermes-engine과 호환되는 버전을 찾지 못해서 발생 해결 방법ios 폴더에서 아래의 명령어 실행pod update hermes-engine --no-repo-update 명령어 실행 시 로컬에서 변경한 내용 적용됨
[React Native] Local Storage 대신 Async Storage 사용하기
2024. 5. 24. 22:24
프로그래밍/React Native
AsyncStorage란?React Native에서 LocalStorage 대신 사용하는 저장소비동기로 key-value 저장하여 사용함설치npm install @react-native-async-storage/async-storageORyarn add @react-native-async-storage/async-storage 사용 방법1. AsyncStorage를 호출하여 Key-Value를 저장 - AsyncStorage.setItem(key, value);2. AsyncStorage를 Key값으로 호출하여 Value 불러오기 - AsyncStorage.getItem(key);사용 시에는 항상 비동기 식으로 호출해야 함 예시 코드import AsyncStorage from '@react-native..

[React Native Error] Build failed. Entry name 'META-INF/androidx.legacy_legacy-support-v4.version' collided 오류 해결
2024. 5. 23. 14:45
프로그래밍/React Native
Error LogFAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':app:packageDebug'.> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade > Entry name 'META-INF/androidx.legacy_legacy-support-v4.version' collided 에러 발생 원인Android Studio에서 Genrate APK를 하는 경우 해당 에러가 발생함.해당 에러는 두 개 이상의 라이브러리가 동일한 파일을 포함하고 있어 충돌이 발생하는 상황임. 해결 ..
[Spring] @DeleteMapping 파라미터로 List 받기
2024. 5. 13. 11:35
프로그래밍/Spring
@DeleteMapping일반적으로 HTTP DELETE 요청은 요청 본문에 데이터를 담지 않기에 @RequestParam, @RequestBody를 사용하는 것이 적절하지 않을 수 있음대신 @PathVariable을 사용하여 경로 변수 사용하여 파라미터를 추출함 @PathVariable 사용 예시import java.util.Arrays;import java.util.List;import java.util.stream.Collectors;@RestControllerpublic class ItemController { // Long 리스트를 파라미터로 받는 메소드 @DeleteMapping("/deleteItems/{itemIdList}") public void deleteItems(@P..
랜덤 비밀번호 생성 사이트
2023. 12. 6. 20:13
프로그래밍/관련 정보
랜덤 비밀번호 생성 사이트 salt 값을 랜덤하게 생성하기 위해 이용했던 사이트 중에 굉장히 만족스러웠던 사이트 추천 https://www.expressvpn.com/kr/password-generator 랜덤 비밀번호 생성기 | ExpressVPN (익스프레스VPN) 고객님의 비밀번호는 얼마나 안전할까요? ExpressVPN 비밀번호 생성기로 강력한 랜덤 비밀번호를 생성하고 검사기로 비밀번호가 안전한지 확인하세요. www.expressvpn.com 일단 ui가 깔끔하고 비밀번호 길이 설정시 뜨는 문구가 신뢰도를 높여줘서 좋았음

[React Error] Uncaught (in promise) TypeError: Assignment to constant variable. 해결 방법
2023. 12. 5. 20:08
프로그래밍/React
Uncaught (in promise) TypeError: Assignment to constant variable. 에러 발생 원인과 해결 방법 발생 원인 상수로 선언된 변수에 값을 재할당하려고 할 때 발생 자바스크립트에서 const 키워드로 선언된 변수는 재할당이 허용되지 않음 const result = ''; result = 'result';// error 해결 방법 const 키워드를 let으로 변경해주거나 재할당을 없애기 // 첫 번째 방법 const result = 'result'; // 두 번째 방법 let result = ''; result = 'result';
[Spring Boot] 파일 확장자 확인
2023. 12. 4. 20:36
프로그래밍/Spring Boot
파일 확장자 확인 Tika 라이브러리를 통하여 파일 확장자를 확인하는 방법을 간단하게 공유해보고자 함 1. gradle 추가 mvn repository에서 확인 가능 implementation group: 'org.apache.tika', name: 'tika-core', version: '1.4' 2. Tika import 후 사용 import org.apache.tika.Tika; public void Test() { File pdfFile = new File("경로/파일명.pdf"); Tika tika = new Tika(); String mimeType = tika.detect(file); if("application/pdf".equals(mimeType)) { ... } }
[Spring Error] java.lang.IllegalArgumentException: Invalid character found in the request target... 에러 해결 방법
2023. 12. 1. 20:58
프로그래밍/JAVA
java.lang.IllegalArgumentException: Invalid character found in the request target. 에러 프론트에서 파일명을 백엔드로 넘길 때 해당 에러가 발생 발생 원인 파일명에 특수 문자나 공백을 포함하고 있어서 에러 발생 해결 방법 파일명을 인코딩해서 서버로 보내기 예시 const data = encodeURI("home/dev/[20231201]샘플_첨부_파일.png");
[React] inline style !important 적용 방법
2023. 11. 15. 20:22
프로그래밍/React
React inline style !important 적용 React 에서는 내부 스타일 설정 시 !important 적용이 안됨 해결 방법으로는 크게 3가지가 있음 1. css 파일에 선언해주기 2. 부트스트랩을 사용해 className값 설정하기 3. inline에 style을 줘야한다면 style 메서드 정의해서 사용하기 참고로 리액트에서는 !important를 사용하는것을 권장하지 않음 import React from 'react'; const MyComponent = () => { const importantStyle = { color: 'red !important', fontSize: '20px', // 다른 스타일 속성은 그대로 작성 }; return ( Hello, World! ); };..