분류 전체보기 62

[Android] TextView breakStrategy 속성에 대하여 - 긴 글 줄 바꿈 규칙

TextView에 긴 글을 출력할 때, 줄 바꿈 규칙을 정하는 breakStrategy 라는 속성이 있다. breakStrategy에는 balanced, high_quality, simple 세 가지의 값이 올 수 있으며 예제 코드로 이 값들이 어떻게 적용되는지 확인해본다 👩‍🔬 1. android:breakStrategy="simple" 가장 간단한 정책으로, 줄을 벗어나는 단어는 다음 줄에 출력한다. 2. android:breakStrategy="high_quality" 자동으로 하이픈을 사용해 출력한다. breakStategy 속성만을 이용하면 simple과 high_quality가 같은 형태이고, hyphenationFrequency 속성을 추가하면 자동으로 하이픈을 추가하여 긴 문장 출력을 한다..

Android 2022.04.22

[Docker] The container name @@@ is already in use by container ... 해결 방법

문제 상황 Gitlab CI/CD Pipeline 중에서 잘 되었던, 잘 될 수밖에 없는 절차에서 에러가 났다. 하여 에러난 부분의 로그를 살펴보니 docker: Error response from daemon: Conflict. The container name "NAME" is already in use by container "CONTAINER ID". You have to remove (or rename) that container to be able to reuse that name. 의 문제가 발생하고 있었다. docker ps로 컨테이너들을 살펴보니 이미 사용되고 있다던 CONTAINER ID 가 없었다. (여기서부터 이상했던 것인데...) 그래도 해당 ID 값으로 컨테이너를 삭제하고, 이미..

Linux 2022.04.15

[Notion] 노션 TOC 목차 항상 띄워 놓기 - Notion Boost

그동안 Notion에서는 하나의 글을 짧게 구성해서 화면에 늘 보이는 toc의 필요성을 못 느꼈는데, 요즘에는 공부하면서 노션에 정리하다 보니 글이 점점 길어졌다. PDFViewer나 여러 문서 프로그램에서와 같이 아무데서나 원하는 부분으로 딱 이동하고 싶은데 /toc 또는 /목차 와 같이 입력해 블록을 추가하는 것으로는 당연히 이 불편함이 해결이 안 됐다.,😤 결국 해결 방법을 찾아보니 Notion Boost를 크롬이나 엣지에서 익스텐션으로 받아 사용하는 방법이 있었다! Gourav Goyal I'm a tech founder, digital nomad, and a fun guy to hang around with. I like to build things that others find helpful...

ETC 2022.03.25

[Android] Inheritance from an interface with '@JvmDefault' members is only allowed with -Xjvm-default option 해결 방법

문제 상황 늘 하던 방식대로 ViewModelFactory를 구현했는데 빨간 줄이 뜬다. Inheritance from an interface with '@JvmDefault' members is only allowed with -Xjvm-default option 해결 방법 이 문제는 LifeCycle 2.5.0.alpha01 과 같은 라이브러리의 문제로 보여진다. 1. 회피하는 방법 사용하는 LifeCycle 라이브러리의 버전을 변경한다. 2. 해당 옵션 변경하여 컴파일하는 방법 build.gradle 파일에 아래의 코드를 추가하여 -Xjvm-default 옵션을 all로 변경한다. tasks.withType(KotlinCompile).configureEach { kotlinOptions { free..

Android/Kotlin 2022.03.04

[Linux][Java] Java 프로그램 백그라운드 실행하기 (nohup)

1. Java 프로그램 기본 실행 java –jar abc.jar 2. 데몬처럼 백그라운드에서 실행 java –jar abc.jar & 이는 사용자가 로그아웃하면, SSH Session이 종료되면 프로그램도 종료된다. 3. 백그라운드에서 계속 실행 nohup java –jar abc.jar & 터미널의 세션 연결이 끊어져도 프로세스를 계속 동작할 수 있게 하는 명령어 nohup이 있다. 위와 같이 nohup 명령어를 사용하여 사용자가 로그아웃해도 프로그램이 종료되지 않게 할 수 있다. 4. 백그라운드에서 실행되고 있는 프로그램 종료 ps –ef | grep 'abc' 위 명령어로 프로세스를 찾은 후 kill -15 [pid] kill 명령어를 사용하여 프로세스를 종료한다. Ref. https://grac..

Linux 2022.02.25

[AWS][DynamoDB] DynamoDB Local 설치하기 (Ubuntu)

테스트 환경 Ubuntu 20.04.2 1. DynamoDB 설치 mkdir DynamoDBLocal cd DynamoDBLocal wget http://dynamodb-local.s3-website-us-west-2.amazonaws.com/dynamodb_local_latest.tar.gz tar xzf dynamodb_local_latest.tar.gz ls # 아래와 같은 파일들이 압축 해제 되어 있다면 올바르게 된 것 # DynamoDBLocal.jar dynamodb_local_latest.tar.gz DynamoDBLocal_lib LICENSE.txt README.txt THIRD-PARTY-LICENSES.txt rm dynamodb_local_latest.tar.gz dynamodb_l..

Web/AWS 2022.02.24

[VirtualBox] Ubuntu 웹서버를 호스트에서 접속하기

VirtualBox Ubuntu로 개발 중인 웹 서버를 VM 바깥에서, 즉 Windows나 다른 기기에서 접속해 보고 싶다! 는 생각이 들었다. 간단하게 VM에서 포트 포워딩만 추가하면 할 수 있다. VM Ubuntu IP 주소 확인 $ sudo apt install net-tools net-tools 패키지를 다운 받은 후 $ ifconfig Ubuntu의 IP 주소를 확인한다. Port Forwarding 추가 장치 > 네트워크 > 네트워크 설정 고급 > 포트 포워딩 위의 이미지와 같이 포트 포워딩 규칙을 추가한다. 호스트 IP 사용하는 Windows PC의 IP 주소를 입력 (명령 프롬프트에서 ipconfig) 호스트 포트 사용되고 있지 않은 포트 번호를 입력 게스트 IP VM의 IP 주소 입력 게..

Linux 2022.02.09

[Android] java.lang.NoSuchMethodError: No static method metafactory 해결 방법

java.lang.NoSuchMethodError: No static method metafactory 가 발생했다. 문제 상황 DataBinding을 이용해서 button에 setOnClickListener() 를 생성했는데 해당 에러가 발생했다. java.lang.NoSuchMethodError: No static method metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSi..

Android 2022.02.04

[Mac] 듀얼 모니터 간 창 옮기기, 화면 분할 단축키 무료 프로그램 - Rectangle

듀얼 모니터 환경에서 모니터 간 창 이동을 직접 마우스로 끌어다 사용하는 분들이 있을 것이다. 윈도우는 윈도우키 누르고 방향키 누르면 편했는데………! Mac OS에서는 별도로 프로그램이 필요하다. 가장 유명한 프로그램에는 Magnet이 있는데 AppStore에서 9,900원에 판매중이다. Magnet – Window manager for Mac Magnet keeps your workspace organized. Activated by dragging, customizable keyboard shortcuts or via menu bar, Magnet declutters your screen by snapping windows into organized tiles. magnet.crowdcafe.com ..

Mac OS 2022.01.27

[Git] Commit Message Convention

커밋 메시지를 자유롭게 작성하다 보면, 나중에 히스토리를 볼 때 한눈에 이해하기 어려울 때가 많다. 앞에 어떤 것에 대한 커밋인지 Type를 포함해 메시지를 작성한다면 직관적으로 파악하기 훨씬 더 쉬울 것이다. ㅎ_ㅎ 형식 [Type]([Scope]): [내용] Type feat: 사용자 대상의 새 기능 (Build Script의 새 기능 제외) fix: 사용자 대상의 버그 수정 (Build Script의 수정 제외) docs: 문서 변경 style: 포맷팅, 세미콜론 추가 등.. (프로덕션 코드 변경 제외) refactor: 프로덕션 코드 리팩토링 (변수명 변경 등) test: 테스트 추가, 테스트 리팩토링 (프로덕션 코드 변경 제외) chore: 중요치 않은 것 업데이트 (프로덕션 코드 변경 제외) ..

ETC/Git 2022.01.26