본문 바로가기

전체 글

(15)
오라클 클라우드 인스턴스 사용 시 접속이 안되는 문제 해결 오라클이 평생 무료 인스턴스를 제공한다 해서 가볍게 하고 있는 사이드 프로젝트의 인스턴스를 Digital Ocean 및 AWS EC2 에서 옮기게 되었다. SSH 에 접속을 해서 이런저런 DB(PostgreSQL)도 설치하고 nginx 를 설치하고 최종 외부 http / https(let's encrypt) 로 접속을 하려고 하는데 계속해서 브라우져에서 접속이 안되는 문제가 생겼다. 오라클은 아무래도 한국어 문서가 부족하다보니 삽질한 부분에 대해서 남들에게 도움이 되고자 조금 기록을 남긴다. 2가지를 해결해야한다. 1. 인스턴스 자체에서 UI 단에서 제공하는 Ingress rule 을 수정 2. 내부 방화벽 수정. (보통 여기서 막힌다.) 1. Ingress Rule 수정. 아마존 AWS EC2 에서는 ..
리액트 네이티브 안드로이드 다크 모드 자동 적용 해제하기 리액트 네이티브로 안드로이드 테스트를 하다보면 안드로이드 기기에 다크모드를 적용한 경우 기본 boilerplate 로 제공하는 코드가 다크 모드에 반응하여 일반 Text 들이 모두 흰색이 적용되는 것을 알 수 있다. 보통 개발할 때 기본 색상(화이트) 모드로 먼저 개발하게 되므로 일단은 dark scheme 이 적용되지 않도록 만들고 테스트 하는 것이 경험상 편리하였다. 해결방법은 styles.xml(android/app/src/main/res/values/styles.xml) 파일에 android:forceDarkAllowed 속성과 android:textColor 를 추가해주면 해결된다. 이외에도 react-native 에서 제공하는 기본 Alert 도 색이 다크모드 색상으로 dimmed 되어 나오는..
맥에서 .sh 쉘 실행 파일 만들기. AWS 나 기타 클라우드 환경 서버 접속(SSH) 을 할 때 보통 ssh -i ~~~ 기타 많은 명령어를 쳐야할 경우가 있다. 이런 명령어가 길 경우 에버노트, 노션 같은곳에 적어놓은 코드를 복붙하거나 기본 shell 에 명령어가 어느정도 자동완성 되니깐 명령어를 치곤 하는데, 이를 좀 더 쉽게 실행하기 위해 shell command 를 만들어 저장해놓고 실행하면 편하다. 실행이 가능한 파일을 만드는 방법은 매우 간단하다. $ touch 실행파일이름.sh 위의 명령어를 실행해서 실행파일 shell 파일을 만든다음에 좋아하는 에디터로 안에 실행시킬 shell command 를 적고 저장한다. 주의할 점은 저장한 파일을 그냥 바로 실행시킬 경우 실행이 되지 않을텐데 .sh 파일은 실행가능하도록 chmod 명..
리액트 네이티브 안드로이드 휠 픽커 2021년 기준 계속해서 wheel picker 가 deprecated 되고 쓸만한 픽커가 없었다. 그 와중에 이제야 조금 쓸만한 자바스크립트 라이브러리가 있어서 추천한다. https://github.com/erksch/react-native-wheely GitHub - erksch/react-native-wheely: An all JavaScript wheel picker for react-native without any native code. An all JavaScript wheel picker for react-native without any native code. - GitHub - erksch/react-native-wheely: An all JavaScript wheel picker fo..
앱 번들 아이디 알아내기 (애플 스토어) 앱 개발을 하다보면 다른 앱 번들 아이디를 알아야 할 때도 있다. (예를들면 해당 앱이 깔려있는지 알고 싶다든지.) 안드로이드 같은 경우는 그냥 playstore 에서 해당 앱을 검색하면 URL 에 package name (com.youtube.android) 뭐 이런식으로 뜨니깐 어렵지 않은데 iOS 는 URL 에는 bundle identifier 를 숨긴다. 그래서 iOS 는 어떻게 찾는가? https://offcornerdev.com/bundleid.html Bundle Id Finder Bundle Id Finder This site will help you find Bundle-Ids quickly. Enter the app name in the search field and copy the b..
m1 mac 에서 안드로이드 에뮬레이터 띄우기 리액트 네이티브로 안드로이드 에뮬레이터를 돌릴 일이 많은데 m1 칩을 mac mini를 사용하면서 안드로이드 스튜디오에서 에뮬레이터가 Could not start AVD 이야기를 띄우면서 동작안하게 되었다. 그럴땐 침착하게 디바이스를 Other Images 에서 arm64 가 적혀있는 이미지를 골라서 띄우면된다.
fish shell 에 환경변수 세팅하기 필자는 fish shell 의 직관적이고 빠른 속도에 매우 만족하며 사용중이다. 보통 한국에서 검색을 하면 bash shell 의 대체제로 zsh 및 oh-my-zsh 를 쓰라고 많이들 하는데 어쩌다 fish shell 과 oh-my-fish 를 알게 되고나선 fish shell 만 주구장창 쓴다. 근데 보통 fish shell 쓸 때는 2가지에서 막히는데 1. chsh 명령어가 안먹는 경우 보통 chsh(change shell 의 약어로 보임) 명령어가 잘 안먹을텐데, 이건 $ chsh -s /usr/local/bin/fish 이게 non standard shell 이라면서 튕기는 경우일 것이다. 맥에서 Mojave 이후 그럴 경우 $ vi /etc/shells /etc/shells 를 열어보면 sta..
리액트 네이티브 - 유저가 특정 앱을 설치했는지 확인하는 법 앱을 만들다 보니 다른 사람이 어떤 특정한 앱을 설치하고 있는지 확인해야 할 일이 생겼다. 그래서 일단은 남이 만들어 놓은 라이브러리를 사용하려 했는데 0.60 이상을 지원하지 않는 것 같아서 결국은 코드를 직접 만들어서 쓰게 되었다. https://reactnative.dev/docs/native-modules-intro Native Modules Intro · React Native Sometimes a React Native app needs to access a native platform API that is not available by default in JavaScript, for example the native APIs to access Apple or Google Pay. Maybe ..