Cloudflare D1 서비스를 이용하여 웹 애플리케이션에 사용될 SQL DB의 신규 생성 및 DB 데이터 입력 방법을 정리.Cloudflare D1이란?Cloudflare D1은 Cloudflare 고유의 서버리스 SQL DB를 제공하는 서비스이다. Cloudflare Pages를 통해 서버리스 웹 애플리케이션의 호스팅 서비스를 제공하고 있는데, 이때 D1이 SQL DB를 저장하고 관리하는 역할을 맡고 있다고 보면 된다.무료 플랜에서의 D1이 글을 작성하는 2024년 10월 31일을 기준으로 D1 무료 사용자에게 다음과 같은 서비스가 제공된다.이 정도면 웹 애플리케이션의 개발 단계와 초기 출시 단계에서 사용하기에는 괜찮은 수준이라 생각된다. 이후 웹 애플리케이션 사용자가 증가했을 때의 트래픽 상승에 ..
로컬에서 Git으로 버전 관리 중인 프로젝트를 깃허브(GitHub)의 원격 저장소에 연결하는 방법을 정리.1. GitHub에 새로운 원격 저장소 생성하기로컬에서 Git으로 관리 중인 프로젝트를 GitHub의 원격 저장소와 연결하려면 먼저 GitHub에 새로운 원격 저장소를 만들어 주어야 한다.GitHub 로그인 후 나타나는 대시보드 화면에서 좌측 상단에 위치한 [New] 버튼을 클릭한 뒤,새로운 원격 저장소 생성을 위해 필요한 항목들을 입력해 준다. 입력해야 할 항목들은 다음과 같다.Repository name: 원격 저장소의 이름 입력Description: 원격 저장소에 대한 설명 입력 (선택)Public/Private 라디오 버튼: 원격 저장소 공개 여부 선택Add a README file: 프로젝트..
타 프로그래밍 언어에 대한 경험은 있으나 JavaScript에 대한 지식과 경험이 전혀 없는 React 입문자가 빠르게 훑어보며 공부한 React 프로젝트 기본 템플릿의 구조와 흐름 정리.들어가며이번에 웹 애플리케이션 프로젝트를 시작하게 되면서 새로운 프로그래밍 언어를 공부해야 하는 상황이 되었다. 새로 접하게 된 것들은 TypeScript와 React, 그리고 Vite다. 그동안 다양한 프로그래밍 언어들을 거쳐온 경험을 바탕으로 디테일은 적당히 접어두고 빠르게 훑으며 적응해 보려고 한다. 자, 그럼 시작해 보자.TypeScript란?TypeScript란 JavaScript를 기반으로 하는 프로그래밍 언어이다. 따라서 둘 사이에 차이를 비교할 수 있으면 좋을 듯하여 각각의 특징을 정리해 보았다.JavaS..
Windows에서 Node.js를 설치하는 방법에 대해 정리.들어가며Node.js를 처음 접하는 사람이라면 설치를 시작하기 전에 알아두면 좋은 내용들이 몇 가지 있다. macOS에서 Node.js를 설치하는 방법에 대해 정리한 지난 포스트에서 이미 언급한 내용인데, 해당 글 가운데 Node.js 설치 전 개념 잡기 부분을 참고하면 된다.1. NVM 설치Node.js를 설치하기 위해서는 먼저 NVM을 설치하는 것이 좋다. 건너뛰어도 Node.js 설치가 가능하지만 프로젝트의 의존성 관리 차원에서는 아무래도 NVM를 설치하는 게 바람직하다. 윈도우용 NVM은 다음 링크를 통해 다운로드할 수 있다.Windows용 NVM 다운로드페이지 스크롤을 조금 내리다 보면 위와 같은 목록이 나온다. 여기서 nvm-setu..
macOS에서 Node.js를 설치하는 데 필요한 기본 정보와 설치 방법을 정리해 보았다.Node.js 설치 전 개념 잡기Node.js란?브라우저를 벗어난 상황에서도 자바스크립트를 처리할 수 있도록 해 주는 실행 환경이다. 프론트엔드 개발도 가능하지만 백엔드, 즉, 서버 사이드에 강점을 보이는 것이 특징.Node.js의 두 가지 버전Node.js는 LTS 버전과 Current 버전이 있다. LTS(Long-Term Support) 버전은 문자 그대로 향후 장기적인 지원을 보장하는 안정된 버전을 말하며, Current 버전은 가장 최신 버전을 말한다.NVM(Node Version Manager)이란?Node.js를 사용하여 개발된 애플리케이션의 경우 사용된 버전에 대한 의존성이 있는 편이다. 특정 버전에서..
파이썬(Python)의 라이브러리 버전 관리를 용이하게 해주는 venv 모듈 기본 사용 방법에 대해 정리.들어가며다양한 파이썬 프로젝트를 접하다 보면 각 프로젝트 별로 사용된 라이브러리 패키지의 버전이 다른 경우가 다반사이다. 문제는 라이브러리 상위 버전이 하위 버전을 항상 커버해 주는 것이 아니기 때문에 무조건적인 최신 업데이트가 능사가 아니라는 점에서 발생하게 된다.venv란?그로 인해 프로젝트 별 라이브러리 버전 관리를 고민하게 되는데, 파이썬 3.3부터는 venv 모듈이 기본 모듈로 도입되어 해당 문제를 해결할 수 있도록 도와준다. venv은 별도의 가상 환경을 만들어 선택된 가상 환경에 따라 구분된 라이브러리 버전을 설치 및 사용할 수 있도록 해 주는 모듈이다.venv 사용 방법그럼 venv를 ..
안드로이드 프로그래밍 시 액티비티(Activity) 간에 객체를 전달하는 방법을 정리.들어가며...안드로이드 프로그래밍을 하다 보면 액티비티 간에 데이터를 전달해야 하는 경우가 종종 있다. 이때 데이터가 원시 타입의 변수들이라면 별다른 추가 조치 없이 쉽게 처리할 수 있지만 참조 타입의 객체라면 조금 손을 봐야 한다. 직렬화된 객체만 Bundle에 추가할 수 있기 때문이다.Trindex 앱에서도 액티비티 간 객체를 전달하는 부분이 있다. 그것을 예시로 액티비티 간 객체 데이터 전달 방법을 정리해 본다.액티비티 전환 전 송신 데이터 준비Trindex 앱을 시작하면 가장 먼저 스플래시 액티비티가 시작되며 로고를 1~2초간 보여준다. 이때의 시간을 낭비하지 않기 위해 백그라운드에서 앱에 사용되는 기초 데이터 ..
클라우드플레어 페이지(Cloudflare)의 애플리케이션에서 잘못된 경로로 접근할 때 다른 페이지로 리다이렉션 되는 것을 방지하고, 404 에러 코드를 얻을 수 있도록 만드는 방법.클라우드플레어 페이지에 404 페이지가 없을 때 발생하는 문제클라우드플레어 페이지의 애플리케이션 내에서 잘못된 경로의 URL 주소로 http 통신을 시도할 경우 의도하지 않은 다른 페이지로의 리다이렉션을 경험할 수 있다. 관련된 설정을 건드린 기억이 없으니 아마도 이게 디폴트 반응인 것 같다.그런데 더 문제가 될 수 있는 부분은 http 요청에 대한 결과 상태 코드가 200이라는 것이다. 정상이라는 소리가 되므로 코드 레벨에서 현 상황에 대한 별도의 처리를 구현하는데 어려움이 생긴다.문제 해결 방법이러한 문제를 해결하려면 클라..
안드로이드 14에서 Play Core 라이브러리 작동 호환성을 확보하기 위한 마이그레이션 방법.들어가며...지난주, 구글 플레이 팀으로부터 한 통의 메일을 받았다.현재 Trindex 앱에서 사용 중인 Play Core 1.10.3 라이브러리가 안드로이드 14(API level 34)에서는 더 이상 호환되지 않을 모양이다. 8월 31까지 새로운 버전으로 업데이트한 뒤 제출하라고 한다.Play Core? 어디에 쓰는 물건인고?일단 Play Core 라이브러리가 어떤 기능을 하는 애인지, 또, 왜 사용하게 된 건지 정확히 기억나지 않았다. 그래서 denpendencies의 implementation 문을 주석 처리하고, Sync 및 빌드 시도를 해 보았다.그러자 위와 같이 빌드 오류가 발생하면서...Play ..
일부 안드로이드 기기에서 기기를 돌려도 화면 회전이 나타나지 않는 문제를 해결하는 과정과 그 방법을 정리.기기 방향에 따라 화면이 회전하지 않는 증상일부 안드로이드 기기에서 기기를 이리저리 돌려봐도 Trindex 앱 화면이 회전하지 않는 문제를 발견했다. 정상 동작이 확인된 기기는 갤럭시 S24 플러스, 플립 5, 노트 9이었고, 문제가 확인된 기기는 갤럭시 A34와 안드로이드 스튜디오의 가상 기기들이었다.문제 해결하기까지의 시행착오문제의 원인이 정확하게 파악된 상태라면 굳이 시행착오 과정을 글로 남기지 않고, 원인과 해결 방법만으로 내용을 채웠을 것이다. 하지만 현재 문제는 해결했지만 원인은 여전히 불분명하기에 향후 유사한 문제가 발생할 경우를 대비해서 시행착오 과정도 남긴다.먼저 git으로 롤백 및 ..