
Media file등을 DB에 저장해두고 사용하는데, 외부에서 파일이 지워진 경우가 발생하였습니다 파일을 열기 전에 파일이 존재하는지 확인하는 용도입니다 fun exists(context: Context, uri: Uri): Boolean { return try { val contentResolver = context.contentResolver val inputStream = contentResolver.openInputStream(uri) inputStream?.let { it.close() return true } ?: run { return false } } catch (exception: Exception) { false } }
국가별로 익숙한 날짜 표현 형태가 다르기 때문에, 다국어 앱 개발 시 이를 고려해야합니다 Locale에 따라 국가별로 SimpleDateFormat을 각각 설정할 수 도 있겠지만, 모든 국가를 고려하는게 쉽지 않습니다 android.text.format.DateFormat.getBestDateTimePattern 메소드를 사용하면, 이를 자동으로 지원할 수 있습니다 import android.text.format.DateFormat import java.text.SimpleDateFormat import java.util.* fun getDateTimeText(): String { val pattern = DateFormat.getBestDateTimePattern(Locale.getDefault(), ..
안드로이드에서 제공하는 Intent를 이용해 동영상을 촬영하고 특정한 위치에 저장하는 방법입니다 비슷한 예제로 사진촬영을 요청할 수 있습니다. 마지막 5번에서 ACTION_VIDEO_CAPTURE 대신 ACTION_IMAGE_CAPTURE를 넘기면 사진을 촬영할 수 있습니다 여기서는 동영상을 촬영하여 DCIM폴더에 저장하는 방법을 공유합니다 1. 권한 설정 AndroidManifest.xml에 아래 권한을 추가합니다 2. file provider 설정 external storage를 사용하기 위해서는 앱에서 접근할 path 들을 미리 정의해줘야 합니다 우선 Androidanifest.xml에 provider를 설정합니다 그리고 res/xml/file_paths.xml을 추가합니다 3. permission..

Vue.js로 작업한 프론트엔드 작업물을 node.js express 에 배포하는 방법입니다 아래와 같은 구조로 작업한 상태라고 가정합니다 디렉토리 구조가 다르다면 ouptutDir등을 적절히 입력하면 됩니다 $ tree -L 1 . ├── front └── server front: Vue.js 프론트엔드 server: Node.js express 백엔드 1. 배포 위치 수정 - vue.config.js 수정 const path = require('path') module.exports = defineConfig({ // ... outputDir: path.resolve('../server/public'), // ... }) 2. 배포 npm run build 위 명령어를 수행하면 프론트를 구성하는 파일..

Vue 프로젝트 생성은 Vue CLI 를 통해 시작합니다 1. Vue 설치 npm i -g @vue/cli 2. 프로젝트 생성 vue create {이름} create 를 하면 여러가지 설정을 물어보는데, 입맛에 맞게 설정하여 설치합니다 전 Babel과 Router를 설치하였습니다 3. 시작 cd {이름} npm run serve DONE Compiled successfully in 2989ms 5:01:28 PM App running at: - Local: http://localhost:8080/ - Network: http://{아이피}:8080/ Note that the development build is not optimized. To create a production build, run np..
https 를 사용하기 위해 certbot 으로 인증서를 발급받는 과정입니다 인증서 발급중에는 기존에 80번포트로 운영중인 서비스가 있었다면 잠시 꺼두셔야 합니다 1. 설치 sudo apt install certbot 2. 인증서 발급 $ certbot certonly --standalone Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator standalone, Installer None Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): danu.apps.co@gmail.com - - -..
- Total
- Today
- Yesterday