본문 바로가기

Dev

(46)
[Flutter] 중심 좌표에서 특정 각도에 객체 그리기 플러터에 대한 두 번째 포스팅입니다. 본 포스팅에서는 중심점에서 특정 각도의 좌표를 구하는 방법에 대해 다뤄보도록 하겠습니다. 이전 포스팅과 마찬가지로 좌표와 관련한 계산은 삼각비 계산이 필요합니다. 삼각비는 직각삼각형에서 특정 두 변의 비율을 의미합니다. 본 예시 이미지에서는 우측 변이 직각임을 기준으로 작성하였습니다. 본 포스팅에서는 평면인 상태에서의 X, Y 좌표를 구하는 것에 대해 알아보겠습니다. 본 포스팅에서 작성하게 될 코드의 결과는 아래와 같습니다. 본 포스팅에서 적용할 삼각비는 cos와 sin입니다. cos는 밑변/빗변의 값으로 빗변에 대한 밑변의 비율을 구할 수 있습니다. 즉, 빗변이 늘어나면 늘어나는 밑변의 비율을, 빗변 줄어들면 줄어드는 밑변의 비율을 구할 수 있습니다. 좌표계의 X,..
[Flutter] CustomPainter를 이용한 팩맨 애니메이션 그리기 플러터에 대한 첫 포스팅입니다. 사실 본 블로그에서는 기초적인 세팅보다는 뭔가를 응용해서 필요할 때 바로 사용할 수 있는 것들을 위주로 포스팅을 할까 합니다. 이미 플러터 개발 환경 세팅, 위젯 종류 등 잘 설명되어있는 블로그나 문서가 많아서 굳이 재차 포스팅하는 게 의미가 없을 것 같더라고요. 따라서 본 포스팅에서는 독자가 플러터가 뭐하는 녀석인지 이미 파악이 되었음을 가정하겠습니다. 본론으로 돌아와서, 본 포스팅에서는 플러터에서 지원하는 CustomPainter 클래스를 이용해 화면상에 팩맨을 그리는 내용을 다루도록 하겠습니다. 구현에는 약간의 수학이 필요한데, 여기서는 호도법을 이용해 반복적으로 입을 움직이는 팩맨을 그려보도록 하겠습니다. 본 포스팅의 최종 결과물은 다음과 같습니다. 1. 구현에 필..
[etc] Web Server https 적용 매뉴얼 이번 포스팅에서는 배포된 프로젝트에 https를 적용하는 방법에 대해 다룹니다. https란 Hypertext Transfer Protocol Secure의 약자로 웹 사이트 내에서 주고받는 데이터가 암호화되지 못해 보안이 떨어지는 http를 보완하기 위해 탄생한 프로토콜입니다. 요즘에는 매우 보기 드물어졌지만 http를 사용하는 웹사이트는 브라우저에서 아래와 같이 보안이 취약하다는 경고를 띄워줍니다. http는 데이터 암호화가 되지 않기 때문에 불순한 의도에 의해 도중에 데이터가 오염될 가능성도 있고 유출될 가능성이 있습니다. 또한 구글에서도 http를 사용하는 웹사이트에 대해 검색 우선순위를 떨어뜨리는 등의 페널티를 부여하기도 합니다. 본 포스팅은 nginx를 기준으로 작성되었지만 약간의 응용이 있다..
[etc] Ubuntu - visual studio code 설치 스크립트 종종 가상 머신을 이용해 개발을 진행해야 할 때가 있습니다. 이유는 다양하겠지만 저의 경우 주로 사용하고 있는 PC의 개발 환경을 변경하고 싶지 않아서가 주된 이유입니다. 때로는 이를테면 개발언어 버전을 다르게 해야 할 때가 있겠죠. 그때마다 일일이 명령어로 저장소를 추가하거나 파일 위치를 옮기는 게 여간 귀찮은 일이 아닙니다. 따라서 해당 작업을 한번에 수행하는 매크로 성 스크립트를 기록하고자 합니다. 앞으로 간단히 설치하기 힘든 IDE나 기타 개발 환경 구성 스크립트를 작성해 본 포스팅에 업데이트할 예정입니다. (그때마다 포스팅 제목은 변경될 예정입니다.) 당연하지만 쉘 스크립트를 작성하고 파일을 실행 모드로 만들어야 실행 가능합니다. $ sudo chmod +x [script.sh] Ubuntu -..
[Linux] Shell & crontab, Google Drive api를 이용한 Mysql 데이터베이스 백업 (3) [Linux] Shell & crontab, Google Drive api를 이용한 Mysql 데이터베이스 백업 (1) [Linux] Shell & crontab, Google Drive api를 이용한 Mysql 데이터베이스 백업 (2) [Linux] Shell & crontab, Google Drive api를 이용한 Mysql 데이터베이스 백업 (3) 이번 포스팅은 시리즈 마지막 포스팅입니다. 이전 포스팅에서 Google Cloud Platform에서 프로젝트를 생성하고 Google Drive API 사용 설정과 파이썬 패키지를 설치 해 실제로 파일을 드라이브에 업로드해보는 것까지 진행했습니다. 이번 포스팅은 파이썬 코드에서 실제로 DB 백업 파일을 올리고 쉘 스크립트와 마찬가지로 구글 드라이브에서..
[Linux] Shell & crontab, Google Drive api를 이용한 Mysql 데이터베이스 백업 (2) [Linux] Shell & crontab, Google Drive api를 이용한 Mysql 데이터베이스 백업 (1) [Linux] Shell & crontab, Google Drive api를 이용한 Mysql 데이터베이스 백업 (2) [Linux] Shell & crontab, Google Drive api를 이용한 Mysql 데이터베이스 백업 (3) 이전 포스팅에서는 데이터베이스를 백업, 압축하고 과거 오래된 파일을 지워주는 스크립트를 작성했습니다. 이번 시간에는 Google Drive에 서버에서 보존하고 있는 백업 파일을 업로드하기 위해 해야 할 일들이 무엇인지 알아보겠습니다. 4. Google Cloud Platform 프로젝트 생성 Google Drive api를 이용하기 위해서는 클라우드 ..
[Linux] Shell & crontab, Google Drive api를 이용한 Mysql 데이터베이스 백업 (1) [Linux] Shell & crontab, Google Drive api를 이용한 Mysql 데이터베이스 백업 (1) [Linux] Shell & crontab, Google Drive api를 이용한 Mysql 데이터베이스 백업 (2) [Linux] Shell & crontab, Google Drive api를 이용한 Mysql 데이터베이스 백업 (3) 이번 포스팅은 리눅스 상에서 Shell 스크립트와 crontab, 그리고 Google Drive api를 이용해 주기적으로 로컬과 클라우드에 Mysql DB를 백업하는 방법에 대해 포스팅해보겠습니다. mysqldump로 쿼리 스크립트를 작성 후, 클라우드 상에 전송하여 서버가 죽게 되더라도 안전하게 데이터를 보존하기 위해 나름대로 고안해본 방식입니다...
[Python] PyQt와 PySide에 대한 잡설 *본 포스팅에서는 PyQT나 PySide의 사용 방법에 대한 설명을 포함하지 않습니다. PyQT와 PySide 필자는 본 블로그에 따로 포스팅하지는 않지만 종종 취미 겸, 개인 사용 목적으로 윈도 애플리케이션을 만듭니다. 이를테면 사진 수집용 매크로 프로그램이라던가 폴더관리 프로그램 등 그때그때 필요한 것들을 이 녀석을 이용해 만들고 있습니다. 즉 PyQT는 파이썬 기반의 데스크톱 GUI를 개발을 위한 프레임워크입니다. 본래 PyQT와 PySide는 C++ 기반의 Qt 프레임워크에서 바인딩된 것들입니다. 이 둘은 코드의 사용방법이 99% 이상 거의 동일합니다. 그렇다면 왜 두 가지의 이름으로 프레임워크가 공존하고 있는 것일까요? 이 두 프레임워크의 차이점은 바로 개발사와 라이선스에 있습니다. PyQT와 ..