local.properties 파일은 안드로이드 프로젝트에서 사용되는 설정 파일입니다.

github에 올릴 때 보안이 필요한 정보(token or key) 노출을 하지 않기 위해서 local.properties를 사용하는데 원리는 다음과 같다. (참고로 local.properties 파일은 .gitignore 파일에 github에 업로드 되지 않도록 선언해야 하며 기본적으로 /local.properties 선언되어 있다. 또한 BuildConfig.java가 생성되는 bulid폴더도 .gitignore에 정의되어 있어야 하며 기본으로 정의되어 있다.)

  • 안드로이드 프로젝트를 빌드할 때 Gradle 빌드 시스템에 의해 local.properties 파일을 load하여 BuildConfig(java 파일임 ) 만들어 관련 property 값을 field로 추가해 놓는다.
  • 즉 java파일을 자동으로 하나 만들어 field값으로 추가한다.
  • 관련 사항이 build.gradel 파일에 정의 되어야 한다는 뜻이다.
  • field 는 public static final로 되어 있어서 객체를 생성하지 않고도 아래 처럼 바로 사용 할 수 있다.
BuildConfig.필드명

사용법

# BuildConfig.java 파일을 만드는데 사용될 걸로 보이는 SDK
sdk.dir=C\:\\Users\\USER_NAME\\AppData\\Local\\Android\\Sdk
api.key="API키 값"
  • build.gradle 수정
buildFeatures {
		buildConfig true // 사용자 정의 BuildConfig 필드를 활성화
}

defaultConfig {
    applicationId "net.creamtech.naramarketalarmi"
    minSdk 24
    targetSdk 33
    versionCode 1
    versionName "1.0"

    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

    def Properties properties = new Properties()
		// property load
    properties.load(project.rootProject.file('local.properties').newDataInputStream())
    buildConfigField "String", "WORK_SERVER", properties["WORK_SERVER"]
}
  • BuildConfig.java 파일 경로
  • build/generated/source/buildConfig/debug/com/yourpackage/ (또는 release 폴더)

  • 사용코드
String workServer = BuildConfig.WORK_SERVER;

'Android' 카테고리의 다른 글

안드로이드 스튜디오 Java 디버깅 오류  (1) 2023.10.16
Lombok 과 Java Version  (0) 2023.10.16
프로젝트 생성시 템플릿설정  (0) 2023.10.14

얼마전에 항상 가장 저렴한 곳 이라고 생각하고 있던 cafe24 SSD 가상서버 비즈니스를 결제했다.

하지만 실상은 전혀 싸지 않았다. 그리고, 항상 비쌀거라고만 생각했던 AWS 헌데 라이트 유저를 위한 Lightsail 상품도 있었다. 이 두가지를 비교해 보고자 한다.

 

비즈니스 11.000원 x 12개월 10%할인 118,800원 설치비 22,000원 = 140,800원

cafe24 가상버서

 

AWS Lightsail

현재 환율 10달러 -> 13594.95 x 12 =163,139.4 처음 3달 무료 ,,,

트래픽은 비교하기 부끄러울 정도다. cafe24 500G , Lightsail 3TB 무려 6배 ㅠㅠ

심지어 자이언트플러스도 1.5TG이다. 이정도면 눈탱이 맞은게 아닌가 싶다. ㅜㅜ

이런 서비스만 비싼지 아니면 지원하는 다른 서비스는 어떤지 비교삼아 카카오톡 알림서비스 비용도 잠깐 들여다 보고자 검색해 봤는데 파트너사들이 대행하는 것 같다. 대충 그 중 한곳 비교해 봤다.

 

cafe24

 

환산해보면

cafe24 기본형 6000원 이므로 SMS 600건 알림톡1건은 SMS 0.7건 이므로 600 + 600 * 0.7 = 1020 대략 cafe24가 30% 비싸다. MMS는 SMS 한건이 20원인데 10배니 건당 200원 여기는 90원 cafe24가 박리다매 할 줄알았는데. 나만의 착각인것 같다.  대충 눈에 보이는 서비스 2가지를 비교해 봤는데 싸지 않는것 같다. PG사 연동 서비스도 하는데 이것도 마찮가지지 싶다. 

.gitignore 파일 생성

.gitignore 파일은 git저장소(github등)에 업로드 하지 않을 파일들을 정의해 놓은 설정이다.

  • .gitignore 파일은 Project 최상위 폴더에 존재해야 한다. (없으면 직접 생성하면된다.)
  • 바로 적용되는 것이 아니라 .gitignore 파일이 Git 저장소에 commit되면 그때 설정이 적용된다.
# 이 줄은 주석입니다. '#'로 시작하는 줄은 주석으로 처리됩니다.

# 디렉토리를 지정할 때는 슬래시('/')를 사용합니다.
build/
dist/

# 특정 파일을 지정할 때는 파일명만 사용합니다.
config.js

# 와일드카드 '*'을 사용하여 패턴을 지정할 수도 있습니다.
*.log
*.tmp

# 특정 확장자의 파일을 지정할 수도 있습니다.
*.bak

# 특정 디렉토리 밑의 모든 파일과 서브 디렉토리를 지정할 수도 있습니다.
logs/
node_modules/

# 부정 패턴을 사용하여 특정 파일 또는 디렉토리를 제외할 수도 있습니다.
!important.log
  • 아래 사이트에서 운영체제, 개발환경, 프로그램언어 등 입력하면 샘플 .gitignore 를 보여준다.
  • 내용을 복사해서 생성한 .gitignore 파일에 붙여 넣기 하고 commit 한다.

https://www.toptal.com/developers/gitignore

'git' 카테고리의 다른 글

파일복구  (0) 2023.10.19

파일복구를 위해서는 파일 삭제되기 전인, 이전 커밋의 해시값을 가지고 이전 파일로 돌리는 방식입니다.

 

1. 삭제한 파일의 이전 커밋 해쉬값 확인

     * VSCode에서 git History 라는 플러그인을 설치하여 해시값 확인. 

     * VSCode 사용하지 않는다면 github에서 확인

      설치하고 나면 시계모양 클릭

 

환경설정파일 복구 하기 위해 이전 커밋의 해쉬파일 클릭하면 복사된다.

2. 삭제한 파일 복구

git checkout <commit-hash> -- 파일명

# ex) .env는 파일명입니다.
git checkout 611df2b419dc39bbe0c5f7938ec85d7b6e401949 -- .env

3. 변경 사항 스테이징하고 커밋

git add 파일명
git commit -m "코멘트 파일복구"

# main은 브랜치명
git push origin main

 

'git' 카테고리의 다른 글

.gitignore 파일 생성  (1) 2023.10.19

+ Recent posts