일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- node
- mysql
- MediaSession
- mvvm
- MotionLayout
- databinding
- Observable
- 동영상
- node.js
- rx
- android13
- MediaPlayer
- Android
- Reactive
- Kotlin
- liveData
- RxKotlin
- paging
- junit
- 인앱결제
- google play
- SwiftUI Tutorial
- 테스트 자동화
- Animation
- list
- Android 13
- PagingLib
- SWIFTUI
- GCP
- Koin
- Today
- Total
목록분류 전체보기 (137)
봄날은 갔다. 이제 그 정신으로 공부하자
서버를 올려놓고 서버가 잘 동작하나 확인해보니 뜬금없이 서버가 최소 하루에 한번은 다운되는 문제가 발생했습니다. 엥!!! 이게 뭐지... @_@ 서버 다운 에러 원인 파악 아래 명령어로 로그 출력해 원인을 파악해보니... $ sudo journalctl -u google-startup-scripts.service … -- Reboot -- Jul 05 08:40:46 newquiz-instance-1 systemd[1]: Starting Google Compute Engine Startup Scripts... Jul 05 08:40:46 newquiz-instance-1 google_metadata_script_runner[930]: Starting startup scripts (version 20230..
이번 글은 VM 인스턴스를 보다 효율적으로 사용하는 방법에 대해서입니다. 개발 서버로 사용하다보니 사용하지 않는 시간대에는 VM 인스턴스를 내려놓고 필요할 때만 켜는 방식으로 설정해 비용을 절감한다거나 아니면 이전 글에서 작성한 VM 인스턴스 재실행 시 자동 재시작 코드가 정상적으로 동작하는지 확인하고자 할 때에 사용할 수 있습니다. 이번 글은 아래 사이트를 참고하여 작성하였습니다. 참고 사이트: https://cloud.google.com/compute/docs/instances/schedule-instance-start-stop?hl=ko 일정 관리는 크게 세 부분으로 구분됩니다. 일정 생성 생성한 일정을 VM 인스턴스와 연결 서비스 계정에 필요한 권한 추가 1. 일정 생성 Compute Engine..
Compute Engine으로 VM 인스턴스를 생성하고 node.js로 웹서비스를 만들어서 띄우는 작업까지 완료하고 Cloud SQL 서버도 연동하고 Cloud Storage도 연동하고 작업하다보니 최소 하루에 한번은 웹서비스가 내려가 있는 것을 확인하게 되었습니다. 기본적으로 VM 인스턴스 이러저러한 이유로 재실행되면 웹서비스도 같이 자동으로 실행되어야 하므로, VM 인스턴스가 재실행되는 원인 분석은 차차 분석해보기로 하고... 우선 이번 글에서는 VM 인스턴스 재실행 시 node.js가 자동으로 재실행되도록 작업한 내용을 기록합니다. 이번에도 별것도 아닌걸로 2~3시간 정도 삽질 했네요. ㅠ_ㅠ 그 삽질 내용도 같이 기록합니다. 1. VM 인스턴스 재실행 시 호출되는 startup-script에 웹 ..
이전 글에서 Cloud Storage 버킷 만들고 웹서비스에서 사용할 비밀키까지 다운로드 완료했습니다. 이번 글에서는 이전 글에서 설정한 버킷 정보와 비밀키를 사용해 node.js에서 이미지를 업로드하는 기능을 구현한 것을 기록하도록 하겠습니다. 1. 프로젝트로 Cloud Storage 비밀 키 이동 프로젝트 루트 폴더에 secure 폴더를 만들고 이전 글에서 다운로드 받은 비밀 키를 복사합니다. 2. 작업 전에 이미지 업로드에 필요한 node.js 미들웨어 설치합니다. - multer는 이미지를 업로드하는데 사용할 미들웨어 - multer-google-storage는 multer와 연동해 cloud storage로 파일 업로드하는데 사용하는 미들웨어 > npm install multer > npm in..
개발하다보니 이미지 관리(업로드 & 다운로드)하는 기능이 필요해졌습니다. VM 인스턴스에서 저장 및 관리를 할까 생각했는데... 그렇게 개발하면 VM 인스턴스가 웹 서비스 뿐만 아니라 파일 관리까지 맡게 되어 VM입장에서는 불필요한 트래픽과 저장 용량 등의 이슈가 발생할 우려가 있고 이런한 이슈를 VM에서 대응하기 보다는 처음부터 파일 관리를 위해 GCP에서 지원하는 Cloud Storage를 사용하는 것이 나을 듯하여 이미지 관리하는 기능에 GCP Cloud Storage를 사용하기로 하였고 이번 글에서는 그 과정을 기록하였습니다. 이번 글에서 Cloud Storage는 아래와 같이 4단계로 나누어 기록합니다. Cloud Storage 버킷 만들기 버킷 외부에서 접근할 수 있도록 설정하기 버킷에 접근..
이번 글은 프로젝트에 필요한 database과 각 table을 생성하고 원격에서 접근 가능한 권한을 부여하여 원격에서 접속하는 것 까지를 글로 기록하도록 하겠습니다. DB 만들기 데이터베이스> “테이터베이스 만들기” 버튼 클릭 후 아래와 같이 기본 정보 입력 후 ”만들기” 버튼을 클릭해 DB를 만들어줍니다. 아래 그림을 보면 방금 전 만든 DB가 추가되었음을 확인할 수 있습니다. Cloud Shell을 사용해 Cloud SQL 접속하기 Cloud SQL 인스턴스에 대한 접근은 Cloud Shell을 사용해 접근하도록 하겠습니다. Google Cloud Console 상단 오른쪽에 있는 "Cloud Shell 아이콘"을 클릭합니다. 하단에 아래 그림과 같이 shell이 보여지면 ”gcloud sql con..
서비스가 제대로 돌아가려면 별도의 DB 서버가 있어야겠죠! Compute Engine에서 VM 인스턴스를 하나 더 생성해 MySQL을 설치할까? 아니면 GCP에서 제공하는 Cloud SQL을 사용할까? 고민하고 차이점에 대해 비교해보니 제 경우에는 GCP에서 제공하는 Cloud SQL을 사용하는게 좋을 것 같아 Cloud SQL을 사용하기로 하였습니다. 이번 글에서는 Cloud SQL을 생성하고 DBeaver에 연결까지를 기록하도록 하겠습니다. Cloud SQL 생성 프로젝트를 선택 후 좌측 상단 햄버거 메뉴 클릭 > SQL 메뉴 클릭합니다. 아직 생성된 인스턴스가 없으므로 아래 화면에서 "무료 크레딧으로 인스턴스 만들기" 버튼을 클릭합니다. 데이터베이스 엔진은 “MySQL"을 선택합니다. 인스턴스 정보..
이번 글에서는 지난 글에서 만들었던 VM 인스턴스를 웹 서비스로 사용할 수 있도록 기본 설정을 하는 것에 대해 기록하도록 하겠습니다. - 패키지 목록 갱신 - 최신 버전 패치 - 시스템 시간 설정 - JAVA 설치 - node.js 설치 우선 지난번 글에서 설명한 첫번째 방법 "SSH 연결"로 VM 인스턴스에 접속한 후, 아래 명령어를 입력해 root사용자로 변경합니다. $ sudo su 그 다음으로 아래 명령어를 입력해 패키지 목록을 갱신합니다. $ apt-get update 현재 운영체제에 설치되어 있는 프로그램 최신 버전으로 패치합니다. $ apt-get upgrade 아래 명령어로 시스템 시간을 나에게 맞게 설정합니다. (GUI에서 Asia > Seoul 순서로 선택) $ dpkg-reconfig..