implementation("com.querydsl:querydsl-jpa:5.0.0:jakarta") kapt("com.querydsl:querydsl-apt:5.0.0:jakarta") javax.* >> jakarta.* 이번에 스프링 부트 버전을 2.x.x 에서 3.x.x으로 업데이트하면서 JPA QueryDSL 관련 문제가 발생했습니다. 주요 빌드 에러 메시지는 다음과 같았습니다. error: cannot inherit from final XXX error: incompatible types: NonExistentClass cannot be converted to Annotation @error.NonExistentClass JPA와 연관된 도메인에서 위와 같은 에러메시지가 출렸되었는데, 이런..
유니티로 게임을 만들어서 배포하다 보니, 안드로이드에서 디버깅을 해야 하는 상황이 발생했는데요. 유니티에서 패키지 매니저를 사용해 Android Logcat을 설치하면 안드로이드의 로그를 확인할 수 있습니다. Android Logcat - Package Manager 유니티에서 안드로이드 로그를 확인하는 Logcat 설치하는 방법은 다음과 같습니다. 1. Window 메뉴에서 Package Manager 항목을 선택해 주세요. 2. 팝업으로 보이는 Package Manager 창에 "logcat"을 입력해서 아래와 같이 패키지를 선택 후 install 버튼을 눌러 설치해 주세요. 3. Android Logcat이 Install 되면, Window 메뉴에서 Analysis를 선택했을 때 Android Lo..
제이쿼리에서는 attr()과 같이 속성을 설정하는 함수는 제공하지만, hasAttr()과 같이 속성(attribute)의 유무를 판별하는 함수는 제공하지 않습니다. 그렇기 때문에 hasAttr()처럼 속성의 유무를 판별하려면 별도의 is()나 filter() 함수를 사용해야 하는데요. 오늘은 jQuery를 사용해서 속성 유무를 판별하는 방법을 알아보겠습니다. Javascript로 attribute 유무 판별하기 DOM에서 기본으로 제공하는 기능 중 Element의 hasAttribute()를 사용하면 속성을 판별할 수 있습니다. jQuery를 굳이 별다르게 조작할 필요 없이 말이죠. 아래의 방법은 jQuery 객체가 가진 참조값을 이용해 Element에 접근해서 속성 유무를 판별하는 방법입니다. $(th..
라이브러리를 만들다보면 코드를 난독화시켜야 하는 이슈가 발생합니다. 예를 들면 보안상의 이유라든지 아니면 소스 유출을 방지하기 위한 목적으로 말이죠. 오늘 글에서는 안드로이드 라이브러리(jar)에 ProGuard를 적용하는 방법을 알아보도록 하겠습니다. ProGurad 정의와 개념 안드로이드 라이브러리를 난독화하기 전에 코드를 난독화 시킬 때 사용할 ProGuard에 대해 설명하면, ProGuard는 JVM 기반 애플리케이션의 성능과 보안을 향상시키기 위해 사용하는 오픈 소스 도구입니다. 다시 말해 ProGuard를 사용하면 손쉽게 코드를 축소화, 최적화 및 난독화 할 수 있습니다. ProGuard가 지원하는 기능은 크게 3가지 입니다. 1. 축소화(Shrinking): 사용하지 않는 코드와 리소스를 제..
URL은 "Uniform Resource Locator"의 약자로, 인터넷상의 리소스 위치를 나타내는 주소입니다. 여기서 말하는 리소스는 웹 페이지뿐만 아니라 음악이나 이미지, 동영상 같은 자원(Resource)을 말합니다. URL은 인터넷에서 흔히 사용되면서, 기본적인 개념 중에 하나입니다. 네이버(https://www.naver.com)나 다음(https://www.daum.net)도 URL입니다. 아 구글(https://www.google.com)도요. URL이란? URL의 사전적인 설명은 Uniform Resource Locator 약자로 인터넷상의 리소스 위치를 말합니다. 현실에 빗대어 설명하면 인터넷에서 사용하는 주소입니다. 웹에서 주소를 사용하는 이유는 간단합니다. 물건을 살 때도 주소가..
안드로이드 앱 개발 과정에서 라이브러리를 추가하면서 생긴 이슈와 문제 해결 방법입니다. A problem occurred evaluating project ':app'. 에러 Build file 'AndroidStudio/project/mobile-app/build.gradle' line: 7 A problem occurred evaluating project ':app'. > Build was configured to prefer settings repositories over project repositories but repository 'maven' was added by build file 'app/build.gradle' * Try: > Run with --info or --debug opti..
로컬 환경에서 개발을 하다 보면 hosts 파일을 수정해서 도메인을 등록하고 사용해야 하는 경우가 있습니다. 예를 들면 localhost 대신 [사용자도메인].com 개발에서 정의된 도메인을 검증해야 하는 경우인데요. 이번엔 hosts 파일을 수정해서 자신이 사용하는 도메인을 local 환경에서 사용하는 방법에 대해 알아보겠습니다. Mac OS hosts 파일 위치 Mac OS의 hosts 파일 경로는 '/private/etc' 입니다. 터미널 창을 열어서 'cd /private/etc'를 입력하면 hosts 파일이 위치한 폴더로 이동할 수 있습니다. cd /private/etc Mac OS hosts 파일에 도메인을 등록하는 방법 Mac OS에서 도메인을 등록해서 사용하려면 hosts 파일을 수정해야 ..
CORS(Cross-Origin Resource Sharing)는 동일한 도메인에서는 자유롭게 리소스를 사용할 수 있게 하고, 다른 도메인의 리소스는 보안 상의 이유로 제한하는 정책입니다. 개발을 하다 보면 간혹 마주치는 문제이기도 한데요. 오늘은 CORS가 어떤 이슈이고 어떠한 방법으로 해결할 수 있는지 알아보겠습니다. CORS(Cross-Origin Resource Sharing) 이슈 CORS 정책은 같은 도메인에서는 자유롭게 리소스를 요청하고 사용할 수 있지만, 다른 도메인은 보안 상의 이유로 리소스 사용을 제한합니다. 앞서 이야기드린 것과 같이 CORS(Cross-Origin Resource Sharing)는 동일한 도메인의 자원은 자유롭게 사용하고, 다른 도메인 리소스 요청을 제한하는 정책입니..
AWS에서 운영하던 서비스를 내리게 되면서 EC2를 정리했습니다. EC2 인스턴스 종료 방법은 간단하지만 모르면 헤매게 설정이 되어있어 간략하게 EC2 인스턴스를 내리는 방법을 정리합니다. EC2 인스턴스를 삭제하는 방법 AWS에서 제공하는 EC2 기능은 애플리케이션 서버 혹은 OS(운영체제)의 인스턴스를 생성해서 쓰는 개념이기 때문에 삭제하는 기능이 존재하지 않습니다. 대신 사용 중에 멈출 수 있는 정지와 사용을 하지 않겠다는 종료 기능을 제공합니다. 따라서 사용하던 EC2 인스턴스를 삭제하려면 삭제가 아닌 종료 기능을 사용해 EC2 인스턴스를 정리하면 됩니다. EC2 인스턴스 종료가 안될 때 글을 시작하면서 이야기 한 부분인데요. EC2 인스턴스를 정지해도 종료 버튼이 활성화되지 않아 이 기능을 활성..
타입스크립트의 장점 중 하나가 자바스크립트와 달리 명시적으로 타입(Type)을 정의해서 활용할 수 있다는 부분입니다. 개인적으로는 Type을 타입이라고 부르기보다는 유형이라고 생각하는 게 개념적으로 이해하기에는 좋다고 생각하는데요. 이번 글에서는 타입 스크립트가 가지는 타입 주석과 타입 추론에 대해 알아보겠습니다. 타입 주석 - type annotation let n: number; let b: boolean; let s: string; 타입 주석은 변수에 할당되는 값의 유형을 정의하는 타입스크립트 문법입니다. 사용 방법은 변수를 선언하고 콜론(:)과 변수에 정의할 수 있는 값의 유형을 기입하면 됩니다. number는 숫자를 boolean은 true, false은 string은 문자를 받을 수 있다는 의..
자바스크립트에서 숫자 값은 Number 타입으로 정의해서 사용 할 수 있습니다. 다르게는 자바스크립트에서 숫자는 Number로 취급된다고 이야기 할 수 있죠. 그런데 자바스크립트에서 취급하는 숫자(Number)가 어떻게 정의되는지 코드로 사용되는 유효 값의 범위가 얼마인지 알고 계신가요? 얼마 전 숫자를 다루는 기능을 만들다보니 Number에 대해 추상적으로만 생각하고 사용했구나 라는 생각이 문득 들었습니다. 오늘은 자바스크립트의 숫자 정의와 유효 범위에 대해 이야기해볼까 합니다. Number의 정의 Javascript는 숫자 값을 다루기 위한 타입으로 Number를 제공합니다. Number는 정수, 실수, 양수, 음수, 지수 등 모든 숫자 값을 나타낼 수 있습니다. Number 타입은 64비트 형식의 ..
숫자에 금액 단위 형식을 적용하면 어떻게 될까요? 돈(금액)을 화면에 보여주다 보면 단순히 숫자로 10,000원 이렇게 표기되는 것보다, 1만원이라고 표기되는 게 단위를 세지 않아도 되어 읽기가 편합니다. 돈의 단위를 숫자에 적용하면 가독성이 좋다는 건 사람마다 주관적인 부분이라 다르게 생각할 수 있는 부분이니 이게 꼭 옳다고 이야기는 어려운 부분이네요. 숫자 금액 단위 형식 적용하면? - 원, 만, 억, 조, 경 일반적으로 숫자에 포맷 형식을 적용하면 천 단위를 기준으로 "," 를 사용해 표기를 합니다. 하지만 금액(돈)을 셀 때는 만, 억, 조, 경 단위를 붙여 읽습니다. 위에서 제시한 결과처럼 말이죠 처음에 금액에 단위 형식을 적용하면 가독성을 높이고 문자의 길이가 짧아져서도 좋을 거라고 생각했는데..