Gradle 버전 충돌 발생!!구버전의 플러터 소스코드를 빌드하다 보면, Gradle과 Java간 버전 충돌 문제가 발생하기도 한다.Flutter 버전은 3.22.3을 사용하고, Java는 21버전을 사용하고 있었는데, 프로젝트의 Gradle버전이 7.5.x를 사용하다 보니 문제가 많이 생기는 듯 했다. 그래서 Java 버전을 17로 설치한 후 JAVA_HOME 경로까지 수정하였으나, Gradle 오류는 계속해서 발생하게 되었다.원인을 찾기 위해 flutter doctor -v 를 통해 자세한 개발환경의 버전들을 체크하였지만, 내가 Java 17을 다시 설치하고 환경변수까지 변경했음에도, 로그에 나오는 버전은 21로 되어 있었다. 알고보니 Flutter의 JDK는 Android Studio가 설치한 JD..
분류 전체보기
개요Android의 TargetSDK는 1년에 한번씩 업그레이드를 해야한다. 수년간 개발자들을 괴롭혀온 Gradle 버전 수정 작업이기 때문에 내 나름대로 쉽게 해결할 수 있는 노하우를 정리하여 문서화를 했다. 2025.07월에 작성한 글이라 최신 버전에서는 통하지 않을 수 있음.구성AndroidStudio v2025.1.1Flutter v3.22.3Gradle v7.4AGP(Android Gradle Plugin) v7.3.1Java v17 진행1. 프로젝트의 SDK 버전 먼저 올려보기 Android의 app/build.gradle 의 targetSdkVersion, compileSdk를 먼저 올려보기.나는 34 버전에서 35로 변경을 해봤다.그리고 바로 빌드 테스트를 해본다. 2-A. 빌드가 잘 되면..
최근에 개인 서버를 나스로 활용할 생각을 하고 있었다.서버는 이미 미니PC를 통해 사용하고 있고, 문제는 OS였는데, 시놀로지 OS를 사용하기에는 너무 무겁고 엄청난 고난을 겪을 것 같았다. 그래서 이전에 자주 들어본 Nextcloud를 사용하게 되었는데, 내 서버 OS에 다이렉트로 설치했다간, 언제 갑자기 개발환경들과 대환장 콜라보를 할지 몰라 컨테이너화를 하게 되었다.전체 구조Docker Compose├── db : MariaDB 컨테이너 (데이터베이스)└── app : Nextcloud 컨테이너 (웹 애플리케이션) docker-compose.ymlversion: "3.9"services: # MariaDB 데이터베이스 db: image: mariadb:10.6 res..
1. 코드 작성 간소화 – “dot shorthands”새로 도입된 Dart 기능 ‘dot shorthands’를 통해 타입이나 클래스명을 반복해서 쓰는 번거로움이 줄어듭니다. 예)이전에는 MainAxisAlignment.start, CrossAxisAlignment.center처럼 풀네임을 써야 했습니다. Column( mainAxisAlignment: .start, crossAxisAlignment: .center, children: [ … ], )이 기능은 Dart 3.10 + Flutter 3.38부터 기본 활성화되어 있습니다. 2. 웹 개발 경험 향상flutter run 시 웹 개발용 설정 파일(web_dev_config.yaml)을 프로젝트 루트에 둘 수 있어, 호스트·포트·헤더 등 설정을 ..
서버 데이터를 외장 하드나 다른 디스크에 실시간으로 백업(미러링) 하고 싶을 때,Lsyncd는 매우 강력한 선택이다.이 글에서는 Docker 환경에서 Lsyncd를 구성해, 재부팅 후에도 자동으로 동작하는 하드 백업 시스템을 완성하도로 하겠다.우선 Lsyncd란?Lsyncd(Live Syncing Daemon)는 Linux의 inotify 기능을 활용해,특정 폴더의 변경을 실시간 감지하고 rsync로 동기화하는 데몬이다.즉, 파일이 추가·수정·삭제될 때마다 대상 폴더에 자동 반영한다.→ “실시간 미러링 백업” 과 동일한 효과를 낸다. 구성 방식[호스트: /data] ←→ [Docker 컨테이너: lsyncd] ←→ [외장하드: /backup]/data: 원본 데이터가 있는 폴더 (예: 서버 데이터..
Node.js 프로젝트 Docker 구성 및 폴더 구조이 글에서는 Node.js 기반 예시용 Discord 봇 프로젝트를 Docker Compose와 Dockerfile을 사용해 구성하는 방법을 설명하도록 하겠다.MariaDB를 데이터베이스로 사용하며, 소스코드와 Node.js 모듈을 효율적으로 관리할 수 있는 구성을 보여준다.Node.js 프로젝트 구조my-project/├── src/ # TypeScript 소스코드│ ├── repository/ │ ├── modules/ │ └── index.ts # 엔트리 포인트├── db/ # MariaDB 데이터 및 초기 쿼리│ ..