AGP 7.0 업데이트에 따른 CI 서버 대응

AGP 7.0 업데이트에 따른 CI 서버 대응 CI 서버 JDK 11설치 설치 가능한 jdk 확인 yum list java*jdk-devel jdk 11 설치 yum install java-11-openjdk-devel.x86_64 자바 버전 확인 java -version 자바 버전 변경 update-alternatives –config java update-alternatives –config javac 위 명령어 호출 후 원하는 버전 선택 수동으로 ~/.bash_profile 또는 /.bashrc를 변경해도 더보기…

글쓴이 Charlezz,

Github에서 main(master) 브랜치에 merge 하는 실수를 방지하기

PR 머지 실수를 사전에 방지하기 Github > Repository로 이동 > Settings > branches탭 클릭 위의 경로로 이동하면 다음과 같은 화면을 확인할 수 있다. 기본 브랜치(Default branch)를 master가 아닌 다른 브랜치로 변경 하자  예) develop 기본 브랜치는 리파지토리내에서 기본값으로 설정되는 브랜치를 말한다. 특별한 브랜치를 선택하지 않는 한 모든 PR(Pull Request) 생성 더보기…

암호화와 관련된 키워드 공부하기

Encryption/Decryption 아직 암호화되지 않은 메시지를 평문(plaintext)이라한다. 암호화 된 메시지는 암호문(ciphertext)라고 한다. 평문과 암호문 사이에서는 두개의 기능이 존재한다. 바로 암호화와 복호화다. 암호화(Encryption)는 평문을 어떤 암호화 함수를 통해 암호문으로 바꾸는 것을 말한다. 복호화(Decryption)은 암호문을 어떤 복호화 함수를 통해 평문으로 바꾸는 것을 말한다. 암호의 작동방식 암호는 다음과 같은 두개의 주된 구성요소로 이루어진다. 치환(permutation) 더보기…

글쓴이 Charlezz,

안드로이드에 클린 아키텍처를 도입한다면 어떻게 될까?

안드로이드와 클린 아키텍처 안드로이드 앱 아키텍처에 관심을 갖게 되면 필히 접하는 키워드, 클린 아키텍처에 대해서 알아보려고 한다. 클린 아키텍처 “If you want to go fast, if you want to get done quickly, if you want your code to be easy to write, make it easy to read” “빠르고 신속하게 코드작성을 더보기…

[오픈채팅방 공지사항]

찰스의 안드로이드 오픈채팅방 규칙 상업성 광고는 허용하지 않습니다.  구인광고 및 개인 앱 홍보는 자유롭게 하실 수 있습니다. 안드로이드 개발을 비롯한 모든 주제에 대해 자유롭게 질문 하실 수 있습니다. 질문 잘하는 방법은 이전 게시물을 확인해 주세요. 찰스의 안드로이드 오픈채팅방의 역할 오픈채팅방은 안드로이드 앱 개발자간 정보 공유를 통해 통찰력을 얻고, 가지고 있는 더보기…

플레이 스토어 콘솔없이 DFM을 로컬에서 테스트하기

DFM이란? DFM(Dynamic Feature Module)은 기본 모듈 앱(APK)로 부터 특정 기능이나 리소스를 분리하여 추후에 Play Feature Delivery를 통해 다운로드하고 설치 할 수 있다. 일반적인 DFM의 다운로드 경로는 Play store console에 업로드한 aab 파일로 부터 생성 된 별도의 apk로 진행되기 때문에, 앱번들로 빌드한 aab 파일을 콘솔에 업로드해야 한다. 하지만 개발시에 다운로드, 진행율 더보기…

글쓴이 Charlezz,

안드로이드 프로젝트 import 시 구글 리포지토리에 연결되지 않을 때

IOException: https://dl.google.com/android/repository/addons_list-x.xml java.net.ConnectException: Connection refused (Connection refused) 안드로이드 스튜디오에서 위와 같은 메시지를 출력 할 때 조치해볼 수 있는 내용은 다음과 같다. 우선 안드로이드 스튜디오와 SDK 툴들을 최신 상태로 만든다.  AGP 7.0(Android Gradle Plug-in) 이후에는 Gradle JDK버전을 11 이상으로 설정해야 하니 유의하자. 그래도 엑세스가 안되면, 방화벽 문제일 수 있으므로 방화벽을 해제 더보기…

글쓴이 Charlezz,

고전암호 구현해보기(시저 암호, 비즈네르 암호)

고전암호 고전암호(Classical cipher)는 과거에 사용되었으나 지금은 사용하지 않는 암호의 형태이다. 지금은 컴퓨터로 비트를 다루는 암호를 사용하지만 과거에는 사람이 암호화와 복호화를 해야했기 때문에 고전암호는 오늘날의 암호보다 훨씬 단순하다.  고전암호에서 가장 대표적인 스키테일 암호, 시저 암호, 비즈네르 암호에 대해서 알아보자. 스키테일 암호(Scytale cipher) 고대 그리스의 역사학자 플루타르크에 따르면 약 2,500년 전 그리스 더보기…

글쓴이 Charlezz,

[안드로이드로 배우는 OpenCV] 허프 변환 – 직선 검출 하기

허프 변환(Hough Transform) 허프 변환은 이미지에서 선과 원 같은 단순한 형태를 찾는 방식이다. 이진화 된 이미지에서 직선을 찾을 때 상대적으로 빠른 검출을 보여준다. 허프 선 변환(Hough line transform) 허프 선 변환의 기본 개념은 2차원 이미지 상의 어떠한 점은 선의 일부라는 사실을 기초로 한다. 선분의 기울기를 a라고 가정하고 y절편을 b라고 할 더보기…

글쓴이 Charlezz,