본문 바로가기

기타 개발팁

AWS EC2 인스턴스 만들고 SSH putty 접속 첨부터 맘에드는 세트를 골라도 되지만, 그냥 빈깡통 설치 연습용은 그냥 작은거 필요하면 IAM역할 정도 골라준다. HTTP / HTTPS 정도 추가해준다 검토 및 시작 하면 이런거 나올때 새키 페어 생성한다. SSH연결시 필요. 다운받은 keypair.pem 파일은 puttygen에서 .ppk 로 바꿔줘야한다. load 해서 .pem 파일을 선택하고, generate 버튼을 누르면 안되고 바로 Save private key를 누르면 된다. 암호는 안넣어도 된다. .ppk 파일을 putty SSH > Auth 에 넣어주고 나머지 체크박스는 위와 같이 넣어주니 작동 잘 한다. 더보기
MySQL MariaDB CPU 사용량 먹고 느려질 때 수천만건 데이터가 있는 테이블을 만들었다가 삭제하고 중간에 취소하고, 하다보니 이상하게 서버를 리부팅해도 계속 mysql이 99%를 먹고 있는... 그리고 전체 서버가 엄청나게 느려지거나 에러가 나는 현상이 지속되어 kill process부터 이것저것 다 시도하고 로그파일 지워서 하드 용량도 확보하고 my.cnf도 건드려보고 다해도 그대로인데... mysql 접속해서 FLUSH STATUS; 한번 해줬더니 정리가 되었다. 왜 그런지는 잘 모르겠으나... 뭔가 적체되어있던게 해소된 듯. 아래 블로그 참조. jsonobject.tistory.com/408 더보기
도메인 이전하기 from GoDaddy to another 도메인 구입은 글쎄 국내에선 어디가 강자인지 모르겠다. 아마 가비아 같은데도 있고 그 밖에 cafe24 든 뭐든 호스팅 업체는 기본적으로 다 도메인을 팔고 있다. 어디서 하든 대충 가격대는 1만원대초중반으로 비슷한데 물론 비싸게 받는데도 있다. 미국업체들은 그 가격대가 좀더 다양하다. 특히 첫고객에게는 막 $1 에 해주는 경우도 종종 있기 때문에, 고객유치 마케팅이 질적으로 한국과 차이가 난다. 나도 GoDaddy에서 도메인을 여러개 만들게 된 이유가 이런 첫해 $1 마케팅 때문이었다. 그리고 국내가 아닌 해외 도메인업체를 쓰는 이유는 가격도 있지만 WHOIS privacy 세팅을 하기 위해서다. 한국업체중에도 제공하는 곳이 있고 뭐 불가능한건 아니지만, 어쨌든 한국업체는 결국은 정부에서 까라면 깔것이기.. 더보기
서비스 오류 모니터링툴 (개발시 또는 운영시) Firebase 의 Crashlytics 같은 것도 있지만, 이건 기본적으로 앱의 비정상 종료에 대한 보고 위주이기 때문에 더 범용적으로 웹개발 등에서 쉽게 쓸 수 있는 것은 아니다. 이런 니즈의 경우는 sentry가 적절해보인다. https://sentry.io/ 다양한 개발 언어의 SDK가 제공되고, 사실 오류보고이기 때문에 무슨 구글애널리틱스 코드처럼 간단히 기본 코드만 삽입하면 된다. 이렇게만 하고 나면, 대시보드에서도 오류사항을 쉽게 확인할 수 있고, 이메일로도 즉시 알림이 와서 오류가 발생했음을 알려준다. 개발이 끝나고 안정화가 되고나면, 적당히 코드는 빼줘도 그만이겠지만, 개발때나 운영초기에 쓰면 좋아보인다. 더보기
PHP에서 python 스크립트 실행하기 (permission 문제해결) 물론 flask 등으로 python서버를 구동하고 흔한 방법으로 .py 파일을 구동할 수 있겠지만, PHP에서도 shell_exec 나 exec 또는 system 등의 명령어로 서버 명령어를 실행할 경우가 있고, 그 중에서 .py 파일을 구동하는 것도 가능하기 때문에 특정 파이썬 라이브러리만 쉽게 쓰고 싶은데 전체 웹개발은 php로 이루어져있는 경우 등 어쨌든 그런 니즈가 발생할 경우 그냥 하면 되는데 가끔 .py 의 내용에 따라서는 permissions denied 에러가 발생하는 경우가 있다. 그럴 때는 $ sudo vi /etc/sudoers 등의 명령어로 www-data 의 권한을 설정해 주면 되는데 www-data ALL=NOPASSWD: ALL 같은 식으로 모든 명령어에 대해서 웹실행이 가능하.. 더보기
git 으로 소스 관리하기 - 왕초보 (1) git보다 GitHub가 오히려 더 유명한 것 같기도 하지만, git는 소스버전관리를 위한 도구이고, 요즘은 협업개발할 때 사실상 거의 필수적인 도구가 되었다. 그리고 오픈소스 프로젝트에서는 아예 처음부터 github등에 개발과정 자체가 다 오픈된 상태로 공유되고 협업 개발 되기도 한다. 과거에는 SVN 같은 소스관리도구도 활용되기도 했는데 요즘은 다 git로 넘어간 것 같다. 간혹 SVN을 쓰는 사람이 아직 있다면 아마...나이대가..... 조금 있을거다. 아무튼 젊은이 코스프레를 위해서도 git를 사용하는게 좋겠다고 생각이 든다. 어쩌다보니 몇년전에 협업프로젝트에서 조금 활용후에 1인개발 위주로 환경이 많이 바뀌다보니 사실 git도 굳이 쓸 필요가 없는 경우도 많았다. 대형 프로젝트 개발 하는 것도 .. 더보기
jQuery기반 가벼운 Datepicker 라이브러리 feat. Material Design 요즘 워낙 다양한 프레임워크나 라이브러리가 있다보니, 개발하는 환경에 딱 맞는 구성요소 라이브러리를 구하지 못하면, 직접 개발을 하게 되거나 또다른 라이브러리를 불러와서 쓸데없이 웹사이트가 무거워지는 경우가 있다. Datepicker 또는 DateTimePicker도 그 중에 속하는 것인데... 예를 들어 Angular JS로 개발하고 있다면 https://material.angularjs.org/latest/demo/datepicker 를 활용할 수 있고, Angular 로 개발하고 있다면 https://material.angular.io/components/datepicker/overview 를 활용할 수 있을 것이다. React로 개발하고 있다면 https://material-ui.com/compo.. 더보기
코드에디터 Brackets 활용하기 여러 코드에디터가 있지만 eclipse 라든지 visual studio 같은 것은 실행시키는데도 오래걸리고, 특정 언어용으로 PhpStorm 같은것도 가볍지 않고, 물론 다양한 기능은 좋지만 간단히 아주 조금만 수정하고 싶을 때 등등 혹은 노트북 사양상 무거운거 불편할 때 등 Brackets는 무료에디터로 기능도 나쁘지 않고 메모장처럼(?) 가벼워서 막쓰기 좋은데 플러그인 등을 잘 활용하면 더 편리하게 쓰기도 좋다. 그 중 하나가 Synapse인것 같은데 ftp/sftp로 서버에 접속한 상태로 서버 파일을 직접 수정할 수 있기 때문에 (물론 아주 제한적인 용도로 써야겠지만) 간단한 테스팅이나, 급한 디버깅 등등 상황에서 유용할 때가 많다. 그런데 synapse자체가 2015년 정도가 마지막 업데이트이고 .. 더보기