일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- svn
- 특징
- intellij 연동
- IntelliJ
- gradle
- Branch
- SSL
- install
- Checkout
- Android Studio
- Subversion
- constructor
- git
- 문법
- commit
- VCS
- sourcetree
- cherrypick
- 상속
- syntax
- IntelliJ IDEA Community
- TortoiseSVN
- terms
- Android
- 자바
- java
- 캡슐화
- Class
- 생성자
- error
- Today
- Total
목록All (52)
Jay's Developer Note
kapt에서 KSP로 Migration 게시글들을 보면 Gradle에 dependency를 추가할 때 kapt를 추가하는 곳이 있고 ksp를 추가하는 곳이 있다. kapt는 the Kotlin Annotation Processing Tool의 약자로 Kotlin에서 Java Annotation Processor를 사용하여 Annotation들을 사용할 수 있도록 해준다. 그 과정에서 Stub을 생성하는데 이게 빌드 속도에 큰 영향을 준다. KSP는 Kotlin Symbol Processing의 약자로 kapt와 같은 역할을 하지만! Kotlin 코드를 직접 분석하기 때문에 빌드 속도가 훨씬 빠르다. kapt를 사용할 때는 3초가 걸린 반면 KSP를 사용하면 2초 만에 빌드가 완료된 것을 볼 수 있다. 이..
Jetpack Compose - Layout 이번 게시글에서는 가장 기본적인 밑바탕이 되는 Layout에 대해 알아보겠다. Compose의 Layout은 기존의 Layout과는 사뭇 다른 양상을 보인다. Cross Platform인 Flutter와 유사하다고 할 수 있다. 앞으로 RelativeLayout, LinearLayout, ConstraintLayout, 뭐 다른 Layout은 잊게 될 것이다. 무식하게 많던 Layout XML들아, 안녕 Compose의 Layout에도 여러 종류가 있다. Grid, Scroll 등 있지만 이번 게시글에서는 가장 Basic한 Row, Column, Box 에 대해 서술하겠다. 간단하게 알아보면 Row : LinearLayout(android:orientation..
Jetpack Compose에 쓰인 Kotlin 특징 part. 2 지난번에 이어 Kotlin의 특징을 마저 서술하겠다. 이 특징들은 아주 신박하다. 특히 Destructuring은 진짜 예술이다. 처음 이 친구를 봤을 때 필자는 머리를 한 대 맞은 듯 얼얼했다. 그럼 얼른 써내려가보겠다. 범위(Scopes) 이게 무슨 말인가 싶을 텐데, 쉽게 얘기하자면 어떠한 함수나 속성값은 특정 범위에서만 사용이 가능하다는 것이다. 백문이 불여일견! 코드로 확인해 보자. Row { Text( text = "Hello There", // modifier = Modifier.align(Alignment.CenterHorizontally) // Error modifier = Modifier.align(Alignment.C..
Jetpack Compose에 쓰인 Kotlin 특징 지난 게시글에서는 Jetpack Compose의 장점에 대해 알아보았다. 끝을 맺으며 Jetpack Compose는 Kotlin을 중심으로 빌드되었다고 언급했다. 이번 게시글에서는 Jetpack Compose에 쓰인 Kotlin의 특별한 특징을 서술해 보도록 하겠다. 특별해봤자 얼마나 특별하겠어? 라는 생각은 접어두자. Java보다 훨씬 더 간결한 Syntax와 다양한 기능들을 기반으로 만들어진 엄청난 녀석이니까.. 기본값 인수 / 명명된 인수 Kotlin은 Method를 Overloading 할 때 Default Parameter를 설정할 수 있다. 그리고 호출할 때는 명명된 인수에 직접 값을 입력할 수 있다. 이건 진짜 혁신적으로 코드의 양을 줄..
Jetpack Compose Jetpack Compose는 Android UI를 쉽고 효율적으로 만들 수 있는 Tool Kit이다. 이름에서 이 툴킷의 용도를 얼추 유추해 볼 수 있다. Compose(조립하다, 구성하다 등 -> 대략 '작은 것들로 큰 것을 만든다' 라는 의미로 해석할 수 있다.) MSA처럼 작은 단위로 UI Components를 쪼갠 뒤에 적재적소에 알맞은 녀석들을 끼워 넣어 UI를 구성한다는 의미다. 그래서 XML을 두고 굳이 왜..? 이런 생각을 할 수 있다. 필자도 처음에는 그랬다. 굳이 잘 쓰던 XML을 버리고 Compose로 개선해야 하는가? 정답은 It's up to you. 새로운 것이 무조건 좋은 것은 아니다. 이 글을 읽은 후에 판단은 본인에게 맡기겠다. 적은 소스 코드..
java.lang.RuntimeException: Invocation failed Unexpected end of file from server 발생원인 데스크탑에서 작업을 하던 도중 갑자기 하드가 뻑나는바람에.. 급히 노트북으로 선회했다가 맞닥뜨린 녀석이다.. 풀에러 메시지는 아래와 같다. Fetch Failed Invocation failed Unexpected end of file from server java.lang.RuntimeException: Invocation failed Unexpected end of file from server at git4idea.GitAppUtil.sendXmlRequest(GitAppUtil.java:30) at git4idea.http.GitAskPassAp..
Error Code: 1175. 개인 프로젝트를 진행하는 중 Workbench 에서 Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column 에러가 발생했다. 신규 Column 을 추가한 상황이고 그 Column 을 전부 특정 값인 1로 설정해야하는 상황이었다. 근데 WHERE 절이 필요하다고 나오면서 안되는 상황이었다. 아무래도 모든 Row 에 영향을 끼치는 위험한 SQL 쿼리문이라 방지해주는 옵션으로 보인다. 해결방법 이 에러는 풀 에러 메시지를 보면 해결법이 나온다. 아래는 풀 텍스트다. # Time Action Message Duration ..
AWS S3 Pre-Signed URL 로 Streaming 하기 프로젝트 중 난관에 봉착한 사건이 있었다. S3 에 있는 영상을 스트리밍 해야 하는데 그 Bucket 이 private 으로 설정되어 있어서 public 한 URL 접근이 힘들다는 것이었다. 기존 Util 을 사용한다면 무조건 다운로드를 한 후 재생을 해줘야 하는,, 그래서 스트리밍이 불가능한 사건이었다. 구글링으로 주섬주섬 모아서 private Bucket 에도 유효기간이 있는 public URL 을 생성할 수 있는 코드를 완성시켰다. 가져들 가서 유용하게 쓰이길 바란다.. 기타 S3 설정은 이전 글을 참고하면 된다. https://fall-in-it.tistory.com/46 [Android] AWS S3 Upload 하기(Util 소..
AWS S3 Download 하기 밤낮 쉴 틈 없이 프로젝트를 진행하다 보니 어느새 반년이 훅 지나갔다. 아무래도 프로젝트 내에서 안드로이드를 혼자서 맡아하다 보니 블로그를 관리할 물리적인 시간이 없었다.. ㅠㅠ 그래도 덕분에 배운 것들도 많고 리마인드 된 것들도 많다. 이제 어느 정도 시간이 나서 슬슬 정리하는 시간을 가져볼까 한다. 마지막 게시글에 이어 이번엔 S3 에서 다운로드를 하는 코드를 공유해볼까 한다. 기타 S3 설정은 이전 글을 참고하면 된다. https://fall-in-it.tistory.com/46 [Android] AWS S3 Upload 하기(Util 소스 코드 有) 프로젝트 진행 중에 클라이언트에서 주기적으로 AWS S3 에 파일을 올려야 하는 상황이 생겼다. 그래서 Util 을..
AWS S3 Upload 하기 프로젝트 진행 중에 클라이언트에서 주기적으로 AWS S3 에 파일을 올려야 하는 상황이 생겼다. 그래서 Util 을 만들었고 기록용으로 글을 작성하려 한다. 나중에 git 화 해야겠다. 소스코드는 공개해놨으니 가져가서 입맛대로 사용하시길 바란다. AWS S3 를 사용하려면 2개의 선행 작업이 필요하다. 1. IAM 생성 2. S3 Bucket 생성 S3 Bucket 은 프로그래밍으로 동적 생성할 수도 있지만, 클라이언트에서 생성하고 관리하는 컨셉이 아니기 때문에 생성된 버켓에 올리는 프로세스로 진행했다. AWS 설정 IAM 생성 AWS Console 에서 IAM 으로 들어가서 Add User 를 진행한다. Type 을 Access key Type 으로 선택해야 한다. 권한은..