-
[비공개] amazon linux2 ec2에서 mariadb 설치하기
mariadb는 mysql과 명령어가 호환됩니다 mysql을 베이스로 했으니 거의 모든 부분에서 mysql과 동일하게 사용할수 있습니다. 심지어 어플리케이션 코드를 하나도 바꾸지 않아도 됩니다 요즘 mariadb가 성능이 mysql보다 더 좋아서 많이들 갈아타시는것같더라구요 저도 슬슬 갈아타볼까 생각중입니다 amazon linux로 mariadb를 설치할때 위의 방식으로 설치하면 기본적으로 mariadb가 5버전(mysql 5.5와 매칭)이 설치되는데(2021.5.4 기준) mariadb 10버전을 쓰시는것도 좋습니다(mariadb 10 버전이 mysql 5.6과 매칭이 되는 버전입니다) mariadb.com/kb/en/yum/ Installing MariaDB with yum/dnf Installing MariaDB with yum or dnf on RHEL, CentOS, Fedora, and similar distros. mariadb.com mariadb를 설치전에 아래의 경로에 아래 내용으로 파일을 생성하고 vi /etc/yum.repos.d/MariaDB.repo sudoyuminstallMariaDB-server 명령어..추천 -
[비공개] 비싸지만 비싼값 하는 애플 매직 키보드
저는 키보드 방식에 대해서는 크게 호불호가 없는 타입입니다. 집의 윈도우PC에서는 청축 기계식을 쓰고 있고, 일터에서는 맥북프로와 애플 매직키보드를 쓰고 있습니다. 다만 개인적으로는 텐키리스가 좀 더 컴팩트해보이고, 책상위 자리를 덜 차지해서 좋더라구요 이동할때를 제외하고는 맥북은 보통 거치해놓고 블루투스 마우스를 연결해서 사용하고 있는데요 블루투스 키보드로 뭘 살까 하다가 그냥 애플 매직키보드를 샀었습니다. 처음에 애플 키보드를 살때만해도 그냥 번들 키보드같이 생겼는데 너무비싼거 아냐? 라고 생각했는데 꽤 오래 매직키보드를 써보니 기본에 충실해서 참 좋습니다 일단 키감은 가위식 맥북과 키감과 같아 맥북키보드를 직접 타이핑할때랑 매직키보드를 쓸때랑 이질감이 없습니다 그리고 무엇보다 마음에드..추천 -
[비공개] 무선 충전기 거치대 바이퍼럭스 타키온 CTW-02 써보고나서
출시한지는 3년이 지난 제품인데요 그래도 아직 잘팔리는 무선충전거치대인바이퍼럭스 제품 CTW-02 입니다 그래도 나름 인지도 있는 바이퍼럭스의 제품이고 아주 심플하게 나온 거치형 형태의 무선충전기 입니다. 약 1만원 후반대에서 구매하실수 있는것으로 보입니다. 저도 1년정도를 써봤는데요, 후기를 한번 남겨볼까합니다. 책상 위에 두고 사용할 무선 충전 거치대를 알아보다가 산 제품인데요 검은색에 매우 심플하게 생긴 거치대입니다 거치대 각도를 조절할수는 없지만, 매우 이상적인 각도입니다 매우 만족스러운 각도입니다. 그리고 당연히 고속충전을 지원합니다 아이폰은 7.5w, 갤럭시는 10w 고속충전을 지원합니다 (당연히 고속충전어탭터를 사용하셔야 합니다. 제품에는 케이블만 있고, 고속충전기어탭더는 포함되어있지 않습..추천 -
[비공개] AWS amazon linux에 font 설치하기
살다보니 서버에 폰트를 설치해야하는 날도 있군요 폰트 설치 방법은 매우 쉽습니다.(저는 amazon linux에 설치를 했습니다) 원하는 폰트를 다운로드 받은 다음에 /usr/share/fonts 폴더에 넣어주세요 sudo를 사용해서 넣으셔야 합니다 $ sudo mv ~/NotoSansCJKkr-Regular(TTF).ttf /usr/share/fonts/ 이렇게 하는것으로 폰트 설치가 완료되는데요 확실히 사용하기 위해서 폰트 캐시를 업데이트 합니다 $fc-cache-fv 그리고 폰트 목록을 출력해서 내가 설치한 폰트가 정상적으로 보이는지 확인해보세요 $ fc-list | grep Noto/usr/share/fonts/NotoSansCJKkr-Regular(TTF).ttf:NotoSansCJKKR(TTF),NotoSansCJKKRRegular(TTF):style=Regular/usr/share/fonts/NotoSansCJKkr-Bold(TTF).ttf:NotoSansCJKKR(TTF),NotoSansCJKKRBold(TTF):style=Bold 끝!추천 -
[비공개] AWS CLI credential 정보 백업, 복원하기
저는 AWS 기능중에서도 많은 부분을 AWS CLI 통해서 이용하고 있습니다. 게다가 여러개의 AWS 계정이 있어서 각각 다른 프로필로 저장해서 사용하고 있는데요 aws configure list-profiles 라고 콘솔에 입력하면 저장된 모든 프로필을 볼수 있습니다. 저는 여러개의 프로필들이 저장되어있는데 다른 맥에 이 정보를 어떻게 옮길수 있지 하고 보니깐 ~/.aws 폴더에 config와 crendentials 라는 파일이 있더라구요 파일을 열어보시면 키값이 키밸류 형태의 텍스트로 저장되어있습니다. 이 두개의 파일을 내가 옮기려는 새 맥의 ~/.aws 폴더를 만들어 넣어주면 아주 간단히 이전이 완료됩니다추천 -
[비공개] ios 빌드시 Build input files cannot be fo..
빌드시에 이렇게 나오는 오류가 있다면 error: Build input files cannot be found: ~~~~~~~ 해당 에러메시지의 이후에 언급된 path의 파일의 경로를 해당 프로젝트에서 제대로 인식을 못한 경우입니다. 프로젝트 마우스 우측 클릭후 "Open with External Editor"를 선택하면 외부의 에디터를 통해서 text형태로 파일을 열어볼수 있는데요 오류가 발생한 파일명으로 찾기를 해보시면 아마도 상대경로같은것이 잘못설정되었을확률이 높습니다. 그런데 굳이 text를 읽고 고치는 것보다 그냥 해당 파일을 다른데로 복사해놓고 프로젝트에서 삭제한후에 다시 해당파일을 옮겨넣는것이 정신건강에 좋습니다 : )추천 -
[비공개] 0원으로 와일드카드 SSL인증서 사용하기
공공의 이익을 위해 모든 사람들에게 비용없이 인증서를 발급해주는 비영리 인증기관인 let's encrypt의 인증서를 이용해보세요 정말로 비용없이 내가 운영하고 있는 웹사이트에 적용할 SSL 인증서를 발급받을 수 있습니다 세상 참 좋은 방향으로 발전하고 있는거 아니겠어요? 라떼는 인증서 비용도 참 부담되는 가격이었는데 말이죠. 특히나 와일드카드인증서는 더 비쌌어요 지금 제 기억에도 옛날에 3년짜리를 150만원 주고 샀었던가 하는 기억이 있네요. 요즘엔 그래도 저렴한 단일 도메인 인증서는 1만원 이내에도 구입할수 있긴하지만 이렇게 무료로 사용할수 있는 옵션도 우리에게 있으니 운영중인 웹사이트에 tls/ssl을 적용하지 않을 이유가 있나요? 그리고 certbot을 통해서 매우 쉽게 인증서를 요청하고 발급받을수 있습니다. 저는 대부분은 ng..추천 -
[비공개] mongodb transaction 사용하기
mongodb도 transaction이 가능하다는 사실 알고 계신가요 mongodb가 4.x로 올라오면서 replica sets 과 sharded clusters 환경에서 트랜잭션 사용이 가능해졌습니다. 그리고 4.4부터는 트랜잭션을 통해서 콜렉션의 생성도 가능해졌습니다. 그런데 이 트랜잭션 기능을 사용하려면 replica sets 또는 sharded clusters 환경을 구축해야합니다. standalone에서는 동작하지 않아요. standalone은 여러분이 서버에 별다른 설정없이 mongodb를 설치하셨다면 기본적으로 standalone 으로 설치가 됩니다. 그런데 production 환경에서는 cluster를 구성할수 있겠지만, 개발환경에서는 replica set이나 shard cluster를 구성하지 않는 경우도 많기 때문에 이러한 환경에서도 어플리케이션의 수정없이 트랜잭션 기능을 원활히 사용하기 위해 standalone으로 설치한 개발환경에도 relica set으로 변경해줄 필요가 있..추천 -
[비공개] 안드로이드 10 이상에서 파일첨부가 정상 동작하지 않는다면
사진 첨부 기능은 모든 앱에서 아주 흔한 기능입니다. 내 프로필 사진을 설정한다던가 글쓰기시에 사진을 첨부한다거나 아주 흔하게 사용되는 기능이죠 대부분 파일첨부시에 갤러리앱을 열어서 내가 특정 파일을 선택하면 다시 원래 앱으로 돌아오고 그 파일을 서버로 전송하게 되는데요 이미 기존에 구현해놓았던 파일 첨부 기능이 android 10(API level 29) 이상에서 동작하지 않는다면 다음과 같은 코드를 사용하고 있지는 않은지 확인해보세요 아마도 여러분의 코드가 getContentResolver().query() 함수를 이용해서 MediaColumns의 DATA 컬럼의 값을 가져오는 방식을 사용하셨을 확률이 높습니다. 갤러리에서 내가 선택한 파일의 URI값을 가져온다음에 해당 URI를 통해 실제 파일이 있는 path를 찾는 방법으로 많이 사용되던 방식입니다. 떠도는 많은 코드스니펫들..추천 -
[비공개] github action으로 cron schedule 무료로
너무 좋은 세상에 살고 있는것 같습니다 전에는 크론잡만 실행할 서버를 띄우기도 했었는데 github action을 사용해서 같은 일을 비용없이 손쉽게 처리할수 있으니 세상 참 좋아진것을 다시한번 느낍니다. 프로젝트의 root디렉토리 기준으로 .github/workflows 폴더에 yml 파일을 만들어 원하는 명령어들을 입력하여 github repository에 푸시하면 해당 파일을 읽어 명령대로 정해진 스케줄에 특정 스크립트가 실행되도록 설정이 가능합니다 CI/CD용으로 활용하라는 의미이겠지만 꼭 CI/CD용으로 사용하지 않아도 되죠 nodejs 샘플입니다 위의 명령어는 UTC 기준 매일 0시에 ubuntu, nodejs v12에서 npm ci npm run build --if-present npm start 이렇게 명령어를 순차적으로 실행하게 됩니다 상세한 문법은 아래의 github 사이트에서 참고하세요 github.com/features/actions Features • Gi..추천