분류 전체보기 494

Gradle의 이해: build.gradle

The Build Files Gradle이 각 모듈을 빌드할 수 있으려면 build.gradle.kts 파일이 필요하다. Plugin, Extension, Dependencies의 3가지 구성으로 이루어져 있다. Plugin 플러그인은 Gradle Task의 집합이다. 예시로 든 java-library 플러그인은 source set내의 파일들을 “jar” 파일로 빌드하는 Task들이 정의되어있다. 이처럼 플러그인 선언은 하위 프로젝트가 어떻게 빌드될 것인가에 대한 룰을 설정한다. plugins { id("java-library") } Extension Compile할때 특정한 Java 버전이 필요할 수 있다. 이러한 작업을 위해 플러그인은 Extension을 제공한다. java { toolchain.la..

Gradle의 이해: settings.gradle

The Settings File 새 Gradle 프로젝트를 만드려면 프로젝트에 settings.gradle.kts를 추가해야한다. rootProject.name으로 프로젝트에 이름을 지정한다. rootProject.name = "my-project" dependencyResolutionManagement 에서 프로젝트의 모든 하위 프로젝트들에서 이용되는 Repository와 종속성을 구성한다. dependencyResolutionManagement { repositories { mavenCentral() ... } includeBuild("../my-other-project") } pluginManagement로 플러그인을 찾을 수 있는 위치를 지정한다. pluginManagement { reposito..

[발더스 게이트3] 캔들할로우의 무덤 들어가는 법: 위치 및 비밀번호

캔들 할로우의 묘비상점 위치 바실리스크 게이트에서 북쪽으로 가다보면 잠긴 문이 있습니다. 살인 조사 퀘스트를 완료했다면 캔들할로우의 묘비 상점에 들어올 수 있는 상점 열쇠를 가지고 있을 겁니다. 하지만 완료하지 않았다면 문을 따거나 부시고 들어가세요. 상점에 들어오면 별 거없으니 파밍하지마시고 가장 안쪽의 방으로 들어가 우측에 걸린 "해골 위의 나비" 그림을 떼어내면 버튼이 보일겁니다. 버튼을 클릭하면 좌측의 숨겨진 문이 드러나게 됩니다. 하지만 들어가려면 암호가 필요하다며 돌려보내죠... 암호를 얻는방법 엘프송 여관(와인축제)에서 "코라 하이베리"를 만나서 그녀를 독살하려고 하는 빨간 갑옷의 드워프 돌로와 싸웁니다. 이때 드워프는 페이스 메이커의 부띠끄에 있는 다음 희생자인 피가로 페니굿에게로 도망가게..

Build was configured to prefer settings repositories over project repositories but repository 'maven' was added by build file 오류 해결방법

오류 분석 빌드가 project/build.gradle에 선언된 repository보다 settings.gradle에 선언된 repositories를 선호하도록 설정되어 있으나, 프로젝트단에서 "maven"이라는 repositories를 선언해버렸다는 의미이다. 오류 원인 내 settings.gradle.kts 파일에는 RepositoriesMode가 FAIL_ON_PROJECT_REPOS로 설정되어 있다. 이 RepositoriesMode는 3가지 종류가 있다. RepositoriesMode.PREFER_PROJECT: 기본 값, settings.gradle에 선언된 repositories를 무시하고, project단의 repositories를 참조한다. RepositoriesMode.FAIL_ON_P..

Gradle이란?

What’s Gradle? Gradle은 오픈소스 빌드 자동화 도구다. 그래서…풀네임은 “Gradle Build Tool”이다. 현재 JVM용으로 가장 널리 사용되는 빌드 시스템이며, Groovy라는 빌드 스크립트 언어를 제공한다. Gradle이 널리 쓰이기 이전엔 Maven이라는 빌드 도구가 있으나 확장성이나 성능적 측면에서 앞섰기 때문에 지금은 Gradle이 많이 채택되고 있다. Gradle의 이점을 공식 웹에서 조금 가져와 봤다. 풍부한 커뮤니티 플러그인 생태계 고도로 추상화된, 선언적이면서 읽고 쓰기 쉬운 빌드 로직 증분 빌드(Incremental Build), 빌드 캐싱, 병렬 실행을 통한 빌드 속도 향상 나도 build.gradle 파일만 열면 뭐가 뭔지 몰라서 복붙만하면서 빌드가 잘 되길 기..

[청계산] Re두부로 (구 리숨두부) - 두부요리

리숨두부를 위해서 청계산을 여러번 오르내렸는데, 정말 그럴만한 집이다! 안그래도 맛있는 집인데, 등산뒤에먹으면 맛이 3배가 된다 ㅋㅋㅋ 여기서 정말 다양한 메뉴들을 먹어봤지만 최고는 역시 두부 보쌈이다. 따뜻한 두부와 보쌈을 함께 싸먹으면 바로 신선되는 거임~ 고기들도 비린내가 하나 없이 깔끔한 맛이다. 리숨두부의 특징은 두부의 절반이 까맣다는건데, 이게 공정상 그렇게 된다고 했나? 그랬던 거같다. 일반적으로 사먹는 두부와는 당연히 비교가 안되고, 정말 적당히 단단하고 부드럽다. 표현이 이정도 밖에 안되네 아휴! 또 한가지 빠질 수 없는 메뉴는 "숨두부"라는 메뉴인데, 따뜻한 두부물에 리숨두부의 두부들이 담겨서 온다. 별거아닌 메뉴인 것처럼 보일 수 있지만 고소함이 미쳤다. 여기에서는 정말 전국8도의 막..

[창원 사파동] 황금낙지돌솥밥 - 낚지볶음정식

13000원짜리 낙지 볶음 정식에 낙지도 많은데 돌솥밥까지 든든하게 한상 차려주신다. 아삭아삭한 콩나물도 주니까 텁텁해할 겨를이 없었다. 적절한 불맛과 양념이 아주 맛있는 집! 양파가 가득한 양념을 먹다보니 묘하게 김유순 대구뽈찜이 떠올랐다. 여긴 유명하지 않고 동네사람만 아는 숨겨진 맛집이니 한번쯤 가보시길 추천한다.

[발더스 게이트3] 광대 드리블스 시체찾기 공략 및 위치

광대 드리블스의 시체는 총 7조각으로 이루어져 있습니다. [손, 몸통, 골반, 팔, 다리, 발, 머리] 각 조각별로 위치는 다음과 같습니다. 사진에서 어피치의 손끝을 잘 봐주세요! ㅋㅋㅋ 광대의 손 위치 서커스단에서 포퍼(빨간 도마뱀)의 뒤쪽 테이블의 쟁반 위에 광대의 손이 있습니다. 광대의 몸통 위치 리빙턴의 해안가에서 다리밑으로 들어가다보면 "동굴 입(구)"이 있습니다. 동굴에 들어가면 도플갱어 도적단이 있는데, 이들을 죽인 후 약탈해보면 광대의 몸통을 가지고 있습니다. 광대의 골반 위치 드리블의 골반은 하부도시의 바실리스크 게이트 웨이포인트 근처의 파란색 잠긴 대문 집에서 찾을 수 있습니다. 집 안의 시체를 약탈하면 됩니다. 광대의 팔 위치 요술 잡화점 남동쪽의 Peartree의 집 지하에 있습니다..

[안드로이드] plugin 적용 중 오류 해결방법: The request for this plugin could not be satisfied because the plugin is already on the classpath with an unknown version

오류발생 The request for this plugin could not be satisfied because the plugin is already on the classpath with an unknown version version catalog를 이용한 plugin 적용중에 "The request for this plugin could not be satisfied because the plugin is already on the classpath with an unknown version"라는 오류가 떴다. 당시 나의 plugins 블록은 다음과 같다. kapt를 추가하면서 문제가 발생했다. plugins { alias(libs.plugins.kotlin.android) alias(libs...

[안드로이드] Dialog Queue 구현하기

요구사항 앱 내 액션에 필요한 다이얼로그가 떠야해요. 하지만 유저가 클릭하지 않아도 서버가 푸시하면 앱의 어디서든, 언제든지 다이얼로그가 뜰 수 있어요. 튜토리얼을 할때는 튜토리얼용 다이얼로그를 제외한 모든 다이얼로그가 뜨지 않아야해요. 그리고 이 모든 다이얼로그들이 서로 꼬이지 않아야 해요. 다이얼로그를 한 두개 띄울때는 아무런 문제가 없었다. 하지만 요구사항에 따라 다이얼로그 추가되고, 이내 범벅이 되면서 다이얼로그 위에 다이얼로그가 떠버리거나 순서가 꼬여버려 좋지 않은 UX를 제공하게되는 결과를 야기했다. 아이디어 이것은 고등학교 급식 문제와 같다. 12시 종이 땡 치면 전교생이 우르르 급식을 먹으러오는 상황이다. 하지만 배식 라인(View)은 단 하나뿐! 3학년은 점심시간 중 자습시간이 있어 빨리..