flutter 폴더에서 File List 가져오기. 안드로이드.

* 안드로이드에서 파일 목록을 가져오는 방법.   - 안드로이드의 파일 관련 권한과 Storage Access Framework (SAF) 때문에 기본 API가 동작하지 않습니다. 그래서 아래 라이브러리를 사용 했습니다.   - 안드로이드 13(sdk 33)에서는 Uri 형태로 폴더를 넘기고 파일을 받아야 접근이 됩니다.  Uri 예) content://com.android.externalstorage.documents/tree/primary https://pub.dev/packages/shared_storage   // 폴더 선택 방법. final Uri ? dirUri = await openDocumentTree (); // 파일 리스트 함수 사용.   var audioList = await getFileList ( dirUri , ".(mp3|wav)" );   Future < List < DocumentFile >> getFileList ( String audioPath , String regex ) async {     const List < DocumentFileColumn > columns = < DocumentFileColumn >[       DocumentFileColumn . displayName ,       DocumentFileColumn . id ,       DocumentFileColumn . mimeType ,     ];     final List < DocumentFile > files = [];     final Uri audioPathUri = Uri . parse ( audioPath );     final Stream < DocumentFile > onFileLoaded = listFiles ( audioPathUri , columns : columns );     final regExp =

Android - 앱 서명키 인증서, 업로드 키 인증서 차이. 간략한 설명.

* 앱 서명키 인증서, 업로드 키 인증서는 아래에서 확인 할 수 있습니다.   * 구글 플레이 콘솔 -> App로 이동 -> 설정 -> 앱 무결성 -> 앱 서명.   *   https://play.google.com/console * 앱 서명키 인증서 - 사용자가 다운 받은 APP에 서명되어 있는 인증서. * 업로드 키 인증서 - 개발자가 구글 플레이 콘솔에 APP을 올릴 때 사용하는 인증서. * 동작 설명.   - 업로드 키를 잃어버리면 구글 플레이 콘솔에서 새로 APP을 만들어야 합니다. 기존 사용자와 APP 실적이 리셋 되기 때문에 활성화된 APP의 경우 문제가 큽니다.   - 이를 방지하고자 구글에서 생성한 인증서로 사용자가 받는 APP에 인증 합니다.    - 개발자가 APP을 올릴 때는 기존과 같이 개발자가 만든 인증서를 사용합니다. * 장점. ``` 개발자가 인증서를 잃어버리거나 해킹 당해도  업로드 키 인증서를 구글에 요청하여 교체하면  APP을 다시 만들 필요 없이 계속해서 서비스 할 수 있습니다. 업로드 키 인증서가 변경 되도 사용자에게 배포된 인증서는  구글에서 생성한 앱 서명키 인증서는  변경 없이 계속 사용하기 때문 입니다. ``` * 적용.   - 새 APP은 이를 위해서 별다른 작업은 필요 없는 거 같습니다. 저의 경우 다른 설정 없이 기존에 하던 대로 인증서 만들고 APP를 올렸더니 자동으로 적용되어 있었습니다.   - 기존 APP에 이를 적용하기 위해서는 키 파일을 구글 플레이 콘솔에 올려야 합니다. * 업로드 키를 잃어버리면 구글 플레이 콘솔에서 새로 APP을 만들어야 하는 것을 이해하지 못했다면 아래 예를 참고하세요. ``` com.ex.app_test 라는 도메인의 APP이 있었을 경우 com.ex.app_test와 인증서가 1:1로 묶여 있어 인증서를 잃어버리면  com.ex.app_test의 APP를 설치할 수 없게 됩니다. 그래서 기존에는  com.ex.app_test2 APP를 만들고 새 인증서를

메신저 Matrix 프로토콜.

Matrix 프로토콜은 메신저 프로토콜로 회사가 달라도 통신할 수 있는 공개 플래폼 프로토콜이다. 예를 들면 지메일, 네이버 등 회사가 달라도 이메일 주소만 알면 서로 메일을 보낼 수 있는 것과 같다. 개념이 마음에 들어 사용해 보고 있다.   공식 사이트. https://matrix.org/   위키 사이트. https://en.wikipedia.org/wiki/Matrix_(protocol)   Matrix 프로토콜을 지원하는 여러 클라이언트를 소개하는 페이지.  https://matrix.org/clients/  

비디오 카드 디코더 인코더 지원 페이지 링크.

  Video Encode and Decode GPU Support Matrix | NVIDIA Developer  https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new   Intel Quick Sync Video - Wikipedia  https://en.wikipedia.org/wiki/Intel_Quick_Sync_Video   Media Capabilities Supported by Intel Hardware https://www.intel.com/content/www/us/en/develop/documentation/media-capabilities-of-intel-hardware/top.html   Unified Video Decoder - Wikipedia  https://en.wikipedia.org/wiki/Unified_Video_Decoder   Video Core Next - 나무위키  https://namu.wiki/w/Video%20Core%20Next  

JSON 파서 자동 코드 생성기.

https://app.quicktype.io/ https://github.com/quicktype/quicktype   지원 언어. Ruby, JavaScript, Flow, Rust, Kotlin, Dart, Python, C#, Go, C++, Java, TypeScript, Swift, Objective-C, Elm, JSON Schema, Pike, Prop-Types, Haskell json 문을 넣으면 지원하는 언어의 파서 코드를 자동으로 만들어 준다.

vs code 설정 백업.

* vs code 설정 개인 백업 입니다. * 설정 내용.   - 테마.   - 폰트 설정.   - 플러터(다트) 자동 정렬 라인 길이.   - 파이썬 자동 정렬. {     "workbench.colorTheme" : "Default Dark+" ,     "editor.fontFamily" : "JetBrains Mono NL, D2Coding, Consolas, 'Courier New', monospace" ,     "dart.lineLength" : 120 ,     "[dart]" : {         "editor.formatOnSave" : true ,         "editor.formatOnType" : true ,         "editor.rulers" : [             120         ],         "editor.selectionHighlight" : false ,         "editor.suggest.snippetsPreventQuickSuggestions" : false ,         "editor.suggestSelection" : "first" ,         "editor.tabCompletion" : "onlySnippets" ,         "editor.wordBasedSuggestions" : false     },     "security.workspace.trust.untrustedFiles" : "open" ,     "window.commandCenter" : true ,     "editor.formatOnSave&qu

마크다운(markdown) 간단 문법.

이미지
사용하는 문법과 유용하다고 생각되는 문법을 정리 했습니다.  상단은 텍스트. 하단은 텍스트가 마크다운 렌더링 이미지 입니다. 1단계 제목 = 2단계 제목 - * 본문.   - 내용.     + 파트. **굵게** --- * *이탤릭* * **굵게** * ** *굵게이탤릭* ** * ~~가로선~~ * 위첨자 ^예시^ * [ x ] 체크박스. * \* 스페셜 캐릭터 표시. * ``스페셜 `캐릭터` 표시.`` 1. ㅇㅇㅇ 1. 222 1. ㅊㅊㅊ --- 가로줄. - [ 위키 ]( https://wiki/ ) - 위키. - https://github.io/ - browser. - [ img ]( https://url ) > 인용문. >> 인용문2. >>> ㅇㄹㄴㄹ | h1 | h2 | h3 | |---|:---:|---:| | `t1` | t2 | `t3` | ``` public class BootSpringBootApplication {   public static void main(String[] args) {     System.out.println("Hello, Honeymon");   } } ``` * [ 링크 ][id1] * 문서내 링크. [ id2 ] [id1]: URL "Optional Title here" [id2]: 문서링크. <!-- 주석. --> # h1 Heading ## h2 Heading ### h3 Heading #### h4 Heading ##### h5 Heading ###### h6 Heading -------------------------------------------------------------