개발자이지만 더욱 개발자처럼 되고 싶다 시리즈. [성향]편이다.오늘도 유튜브 강의를 듣던 중 그의 신비로운 알고리즘이 나를 이상한 곳으로 인도했다. "개발자에게 좋은 MBTI는 무엇인가"라는 주제였다.나는 뭐지? 과거에 했던 기억이 있는데 막 엄청 좋은 것도 나쁜 것도 아니었던 걸로 기억한다. 그런데 결혼 후 성향도 바뀌고 직업도 바뀌었으니 한 번 해봤는데, 엉뚱한 것이 튀어나왔다.ENTJ 대담한 통솔자형ENTJ 유형 보기 (16Personalities)그래도 같은 분류에 잡스형이 있어서 조금 위안이 된다.개발자에게 좋은 MBTI가 있을까검사 결과를 보고 나서 든 생각인데, 이 질문 자체가 좀 이상하다.흔히 개발자 하면 INTP나 INTJ 같은 내향적·분석적 유형을 떠올린다. 실제로 그런 통계가 인용되기..
React Native로 iOS를 개발하면서 Xcode를 매번 여는 게 번거로울 때가 있다. 특히 실기기에 올려서 확인만 하고 싶을 때는 더 그렇다.이때 쓰는 게 ios-deploy다.https://www.npmjs.com/package/ios-deployios-deploy가 하는 일Xcode 없이 커맨드라인에서 iOS 기기에 앱을 설치하고 실행하고 디버깅할 수 있게 해주는 도구다. React Native CLI가 내부적으로 run-ios를 실기기에 돌릴 때도 이걸 쓴다.설치# Homebrew (권장)brew install ios-deploy# npm 전역 설치npm install -g ios-deployHomebrew 쪽을 권한다. npm으로 설치하면 네이티브 빌드가 필요해서 Xcode 커맨드라인 툴 ..
React Native 최초 설치후 yarn android 실행하였을 때 안드로이드 가상머신이 연결안될 때 error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup. Run CLI with --verbose flag for more details. Error: Command failed: ./gradlew app:installDebug -PreactNativeDevServerPort=8081 FAILURE: Build failed with an exception. * What went wrong: Could ..
MariaDB 빠르게 백업하고 복원하기 이번에 RDS mariadb 에서 RDS auroradb 로 이전하게 되었다. 한달에 회원이 1~2만명 씩 꾸준히 늘어나고 있고, 피크 타임, 이벤트 타임 때 DB를 유연하게 움직이기 위해서 mariadb 를 보내줘야 했기 때문이다. 문제는 데이터가 너무 많았다. 물론 초대형 사이티들의 테라급은 아니지만, 적어도 내 경험 (이력) 에서 가장 많은 데이터다. 그냥 무작정 툴로 QA 서버를 백업과 복원을 했더니 4시간이 넘게 걸렸다. (우리는 production 서버의 한달 전 데이터가 staging, staging 의 한달전 데이터가 QA 다) 아무런 옵션 없이 하는 것은 무식한 짓인 것을 깨달아 경험을 공유할겸 나중에 내가 보고 다시 하려고 적어둔다. --no-au..
맥에서 PHP 개발을 하다 보면 프로젝트마다 요구 버전이 달라서 곤란할 때가 있다. 레거시 프로젝트는 PHP 7.x를 요구하는데 신규 프로젝트는 8.3을 쓰는 식이다.이 글은 원래 인텔 맥 시절에 brew-php-switcher로 PHP 7.1을 설치하던 방법을 정리한 것이었다. 지금은 상황이 많이 달라져서 당시 방법과 현재 방법을 나눠서 정리한다.당시 방법 (인텔 맥, Homebrew 구버전)# PHP 스위쳐 설치$ brew install brew-php-switcher# 옵션 설치$ brew install openldap libiconv# 구버전 저장소(tap) 추가$ brew tap exolnet/homebrew-deprecated# php7.1 설치$ brew install php@7.1# 버전 ..
사용자 테이블에서 휴대폰 번호가 안 들어간 행을 찾으려고 IS NULL을 걸었는데 아무것도 안 나온 적이 있다. 분명 화면에는 비어 보이는데 말이다.원인은 단순했다. 그 컬럼에 들어 있던 건 NULL이 아니라 빈 문자열이었다. IS NULL 같은 문법이 있을 줄 알고 IS EMPTY를 찾았는데, 그런 건 없고 그냥 이렇게 하면 된다.SELECT * FROM users WHERE mobile = '';NULL과 빈 문자열은 완전히 다른 값이다둘 다 "값이 없다"처럼 보이지만 DB 입장에서는 전혀 다르다.NULL: 값이 존재하지 않음. "모른다"에 가깝다.빈 문자열(''): 길이가 0인 문자열이라는 값이 존재한다.그래서 이런 결과가 나온다.SELECT NULL = ''; -- NULL (true..
