일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- git
- ozd
- mosquitto
- Kotlin
- gradle
- mqtt
- git-push
- firebase-database
- firebase-storage
- socket-client
- ActivityResult-API
- AWS
- NoSuchMethodError
- socket-server
- Dva
- 오즈뷰어
- socket.io
- cloud-firestore
- Firebase
- google-login
- Android
- Flavors
- hung-up
- 워치
- BottomSheetDialog
- JNI
- Java8
- Galaxy Watch
- OZViewer
- TIZEN
- Today
- Total
목록전체 글 (111)
Hyeyeon blog

번아웃으로 인성을 회복하고자, 무계획 4박5일 후쿠오카를 다녀왔다 그때그때 가고싶은대로, 하고싶은대로 움직여본 흔적을 남겨본다 ✅ 재방문의사 있음 ❌ 재방문의사 없음 스타투!숙소 ✅ Hotel Grandolce HAKATA싱글룸으로, 방은 작은데 침대가 커서 만족함. 화장실에 곰팡이 자국 하나 없고 모두 엄청 깨끗함! 체크인 전에 카운터에 요청하면 캐리어도 맡아준다 덴진중앙공원 바로 앞으로, 위치도 최고다. - 덴진역 도보 10분 - 덴진미나미역 도보 5분 - 캐널시티 도보 10분 음식1. ❌ 칸다 타마고켄 후쿠오카 텐진점걷다가 힘들어서 우연히 들어간, 혼밥하기 좋은 오므라이스 집방문했을 때 4개 테이블이 식사 중이었는데 모두 혼자 온 현지인!치즈 토마토 함바그 오므라이스를 먹었는데 진한 토마토 소스가 ..

1. MVI 패턴이란?MVI (Model-View-Intent) 패턴은 단방향 데이터 흐름을 기반으로 하는 아키텍처 패턴입니다.사용자의 입력(Intent)을 받아 애플리케이션의 상태(State)를 변경하고, 그 상태를 기반으로 UI(View)를 렌더링하는 구조를 갖습니다.이를 통해 복잡한 상태 관리를 단순화하고 UI의 동작을 예측 가능하게 만들어 디버깅과 유지보수를 용이하게 만듭니다. 2. Compose + MVI 1) 단방향 데이터 흐름Compose의 UI는 상태(State)에 따라 변하며 상태 변화가 있을 때마다 UI가 재구성됩니다.MVI는 단방향 데이터 흐름을 사용하여 상태를 관리하기 때문에 Compose의 흐름과 잘 맞습니다. 2) 불변 상태 관리Compose는 상태를 불변(immutable)하..
5장 객체 생성 33. 생성자 대신 팩토리 함수를 사용하라 34. 기본 생성자에 이름있는 옵션 아규먼트를 사용하라 35. 복잡한 객체를 생성하기 위한 DSL을 정의하라 6장 클래스 설계 36. 상속보다는 컴포지션을 사용하라 37. 데이터 집합 표현에 data 한정자를 사용하라 38. 연산 또는 액션을 전달할 때는 인터페이스 대신 함수 타입을 사용하라 39. 태그 클래스보다는 클래스 계층을 사용하라 40. equals의 규약을 지켜라 41. haseCode의 규약을 지켜라 42. compareTo의 규약을 지켜라 43. API의 필수적이지 않은 부분을 확장함수로 추출하라 44. 멤버 확장 함수의 사용을 피하라 33. 생성자 대신 팩토리 함수를 사용하라 * 팩토리 함수: 생성자 역할을 대신 해주는 함수 * ..
🤓 AGP 7.4.0 이상에서 발생하는 문제로, 아래와같이 build.grale(app)에 JVM 대상의 JDK 버전을 명시하여 해결할 수 있다. kotlin { jvmToolchain(17) } android { kotlinOptions { jvmTarget = JavaVersion.VERSION_17.toString() } compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } }
3장 재사용성 19. knowledge를 반복하여 사용하지 않기 20. 일반적인 알고리즘을 반복해서 구현하지 않기 21. 일반적인 프로퍼티 패턴은 프로터피 위임으로 생성하기 22. 일반적인 알고리즘은 제네릭 함수로 구현하기 23. 타입 파라미터의 섀도잉을 피하기 24. 제네릭 타입과 variance 한정자(out, in) 활용하기 25. 공통 모듈로 추출해서 여러 플랫폼에서 재사용하기 4장 추상화 설계 26. 함수 내부의 추상화 레벨을 통일하라 27. 변화로부터 코드를 보호하려면 추상화를 사용하라 28. API 안정성을 확인하라 29. 외부 API를 랩(wrap)해서 사용하라 30. 요소의 가시성을 최소화하라 31. 문서로 규약을 정의하라 32. 추상화 규약을 지켜라 19. knowledge를 반복하여 ..
2장 가독성 11. 가독성을 목표로 설계하기 12. 연산자 오버로드를 이름의 의미에 맞게 사용하기 13. Unit?을 리턴하지 않기 14. 변수 타입을 명확하게 지정하기 15. 리시버를 명시적으로 참조하기 16. 프로퍼티는 동작이 아닌 상태를 나타해야함 17. 이름있는 아큐먼트를 사용하기 18. 코딩 컨벤션 지키기 코틀린은 간결성이 아닌 가독성을 개선하는 데 목표를 두고 설계된 언어임. 간결성은 가독성을 목표로 두고 반복되는 코드를 짧게 쓸 수 있기 때문에 발생한 부가적인 효과임. 11. 가독성을 목표로 설계하기 인지 부하 감소, 즉 코드를 읽고 이해하는 속도를 줄이도록 작성해야함. 인지 부하가 있더라도, 가치가 있는 경우라면 사용해도 괜찮음. 이를 위해 어떤 구조들이 어떤 복잡성을 가져오는지 파악이 필..
이펙티브 코를린을 읽고 내용을 정리해봅니다. 나도모르게 사용하고있는 안티패턴을 경계하려는 마음을 한가득 담아... 🥹 1장 안정성 가변성 제어하기 변수의 스코프 최소화 플랫폼 타입 사용 지양하기 inferred 타입으로 리턴하지 않기 예외를 활용하여 코드에 제한걸기 사용자 정의 오류보다 표준 오류 사용하기 결과 부족이 발생한 경우, null과 Failure 사용하기 적절하게 null 처리하기 use를 사용하여 리소스 닫기 1. 가변성 제한하기 (가변지점 제한): val, immutable 클래스/프로퍼티 사용 변경이 필요한 대상은 immutable data class로 만들고 copy() 활용 컬렉션의 상태 저장할 시에는 읽기전용 컬렉션 사용 mutable 객체는 private으로 사용 (외부노출X) m..

요즘 전세사기가 너무 많아서 보증금 걱정이 많으실 텐데요 😭 보증금을 지키기 위해서 전세금 보증보험 혹은 소액임차인의 최우선 변제권을 준비하셔야 합니다. 전세금 보증보험과 소액임차인의 최우선 변제권, 그리고 이를 위한 전입신고와 확정일자 신청방법을 알아보도록 하겠습니다.🔎 전세금 보증보험 1. HUG 전세보증금반환보증HUG 주택도시보증공사에서 보증하는 상품입니다. 전세보증금이 수도권 기준 7억원, 비수도권기준 5억원 이하일 때 가입할 수 있습니다. > HUG 주택도시보증공사 전세금보증반환보증 상세 2. SGI 서울보증, 전세금반환보증보험아파트는 보증금 제한이 없으며 아파트 이외의 주택은 전세금 10억원 이내일 때 가입할 수 있습니다. > SGI 서울보증 전세금반환보증보험 상세 3. HF 일반전세지킴보증 ..