mac에서 cron tab 동작 안한다면 권한 설정 문제로 해결
2023. 5. 9. 13:16
OS/Mac
MAC 맥에서 crontab 를 설정해놨는데 안돌아 간다. 이유는 권한 문제 설정에서 cron에 대한 풀엑세스를 지정해야 한다. 아래와 같이 해결 가능하다. 설정 -> 개인정보 보호 및 보안 -> 전체 디스크 접근 권한 -> + 버튼을 눌러 cron을 추가한다. 방법 click the + button ⌘⇧G 단축키 하고 /usr/sbin 경로 입력 더블 클릭해서 cron 파일 추가 원문글 아래 링크를 체크하여 해결하였다. https://apple.stackexchange.com/questions/378553/crontab-operation-not-permitted In your case you have to add cron as "parent" app to the user's Security & ..
java 무엇이 제일 빠른가? StringBuilder vs StringBuffer vs concat vs plus(+)
2023. 4. 26. 10:58
Java
java 무엇이 제일 빠른가? StringBuilder vs StringBuffer vs concat vs plus(+) 아래와 같이 퍼포먼스 테스트를 진행해 보았다. 500_000번 for 문을 돈다 내가 알고 있던 지식과 상반된 결과를 보였다 모든 블로그와 책들은 거짓말을 하는걸까? 결론 요약 퍼포먼스 테스트 결과 제가 잘 못 알고 있었네요! concat이 제일 느리네요! StringBuffer -> String Builder -> +연산 -> concat 수행코드 public class StringConcatTest { private final Long MAX_VALUE = 500_000L; @Test public void 스트링빌더에_대한_퍼포먼스를_테스트() { StringBuilder sb =..
java.lang.NullPointerException: MediaSource.Factory#setDrmSessionManagerProvider no longer handles null by instantiating a new DefaultDrmSessionManagerProvider. Explicitly construct and pass an instance in order to retain the old behavior.
2023. 3. 16. 00:20
Flutter
Flutter video player 개발중에 아래와 같이 에러가 발생했다 E/MethodChannel#better_player_channel(29539): Failed to handle method call E/MethodChannel#better_player_channel(29539): java.lang.NullPointerException: MediaSource.Factory#setDrmSessionManagerProvider no longer handles null by instantiating a new DefaultDrmSessionManagerProvider. Explicitly construct and pass an instance in order to retain the old behav..
: java.lang.IllegalArgumentException: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality ..
2023. 3. 14. 10:27
ANDROID
안드로이드 targetSdkVersion 31를 변경하였다. 일단 변경을 하지 않으면 스토어에 올라가지 않는다. 변경 후 아래와 같이 크레쉬가 발생하기 시작했다. Fatal Exception: java.lang.IllegalArgumentException: com.abc.client.traveler: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent. Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on th..
flutter Class 'SoundStreamPlugin' is not abstract and does not implement abstract member public abstract fun onRequestPermissionsResult
2023. 3. 11. 00:13
Flutter
flutter에서 sound_stream: ^0.3.0 추가한후에 아래와 같은 안드로이드 빌드 오류가 발생했다. Androd에서 코드만 수정해주면 된다. Class 'SoundStreamPlugin' is not abstract and does not implement abstract member public abstract fun onRequestPermissionsResult 실기기에서 동작했으며, 아래와 같이 오류 코드 발생 Launching lib/main.dart on SM G998N in debug mode... Running Gradle task 'assembleDebug'... e: /Users/qualson/.pub-cache/hosted/pub.dev/sou..
xcode /Pods/Target Support Files/Pods-Project/Pods-Project.release.xcconfig:1:1 unable to open configuration settings file
2023. 3. 10. 17:19
IOS
XCode에서 프로필 설정한 후에 아래와 같이 에러가 나타났다. 해결책 pod deintegrate pod install 프로필을 추가했다면 pod을 다시 install 한다.
CURL을 통한 CORS 이슈 체크하는 방법
2022. 11. 18. 00:07
Front End
EX) curl -H "Origin: http://localhost:4000" -H "Access-Control-Request-Method: POST" -H "Access-Control-Request-Headers: X-Requested-With" -X OPTIONS --verbose http://localhost:3000 앞에 Origin 뒤에 붙은 URL을 서버쪽 URL로 변경한 후에 클라이언트의 서버 주소를 Verbose에 넣는다. 나같은 경우에 서버 URL은 localhost:4000이고 프론트의 URL은 localhost:3000 이다.
[Flutter] AlertDialog를 통한 앱 강제 업데이트 방법
2022. 10. 25. 11:09
Flutter
앱 강제 업데이트 하는 방법에 대한 가이드 입니다. // show force update dialog void showForceUpdateDialog(bool forceUpdate) { showDialog( barrierDismissible: false, context: context, builder: (context) { return WillPopScope( onWillPop: () async => false, child: AlertDialog( title: Text(forceUpdate ? '업데이트가 필요' : '새로운 버전 출시'), content: Text(forceUpdate ? '중요한 변경으로 인해 업데이트를 해야만 앱을 이용할 수 있어요.' : '업데이트를 하고 새로운 기능을 만나보세요...
[Springboot] 안드로이드에서 애플 로그인 Callback 처리 - Apple login in springboot
2022. 10. 24. 12:08
Java/Spring
애플로그인 콜백 처리를 위한 스프링 코드를 공유한다. 아무곳에서도 찾을 수 없어 직접 개발하였다. @CrossOrigin(origins = "https://appleid.apple.com") @PostMapping(value = "/user/login/apple/callback", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE) public ResponseEntity userLoginAppleCallback(EchoAppleLogin body) throws URISyntaxException { // intent://callback?code=c22daf3b4d1ed47a2be2508e49098b519.0.rtsv.vxFiYrvlMm0TOfWtFI77yQ&..
[Flutter] 안드로이드에서 애플 로그인 처리 - Apple login in android
2022. 10. 24. 12:02
Challenge/Flutter
안드로이드에서 애플 로그인 하는 방법에 대해서 소개한 블로그들이 없어서 내가 직접 작성하고 있는 중 - 우선 안드로이드 같은 경우 redirect URL을 지정해야 콜백을 받을 수 있다(웹뷰로 실행되기 때문에) - 반면에 아이폰에서는 webAuthenticationOptions 해당 옵션 설정 없이도 잘 동작합니다.(아이폰 친화적) - 코드는 괭장히 심플하며, clientId만 애플 계정에서 생성한 서비스ID로 넣어주면 된다. Future login() async { try { final credential = await SignInWithApple.getAppleIDCredential( scopes: [ AppleIDAuthorizationScopes.email, AppleIDAuthorizationS..