일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- math
- 코인거스름돈
- MFC
- devicedriver
- 형변환
- Dialog
- QoS
- DynamicProgramming
- 보늬밤
- Collection
- 리틀포레스트
- memory
- darkmode
- 쌓기게임
- AfxMessageBox
- synergy
- LRU
- stack
- FirebaseAuth
- Java
- 피요모리2
- 동적프로그래밍
- Kotlin
- 제곱근
- Dokka
- android
- DataStructure
- WebView
- 피보나치
- SPI
- Today
- Total
목록전체 글 (65)
퉁탕퉁탕 만들어보자

1. Firebase 콘솔 설정 https://firebase.google.com/?hl=ko 프로젝트 추가를 누릅니다.이름을 정하고 계속합니다. 홈에서 Android를 클릭합니다. 위저드에 따라 앱을 등록하고, gradle에 설정합니다. (google-services.json은 아직 다운로드 하지 않습니다.) 1. root 수준의 build.gradleplugins { alias(libs.plugins.androidApplication) apply false alias(libs.plugins.jetbrainsKotlinAndroid) apply false alias(libs.plugins.googleServices) apply false} 2. libs.versions.tomlfi..

간단하게 100 x 100 사이즈의 이미지뷰 공간에 이미지를 로드하려고 한다. Glide 로 이미지 로드하기glide 공식 가이드에 따라, glide, glide compiler, android lifecycle compiler 3가지가 필요하고 kapt를 사용한다. 기본 설정 1. libs.versions.toml[versions]..glide="4.15.1"glideCompiler="4.15.1"lifecycleCompiler = "1.0.0"[libraries]glide = { module = "com.github.bumptech.glide:glide", version.ref = "glide"}glide-compiler = { module = "com.github.bumptech.glide:comp..

1. Source set 설정 SourceSet 에 대해서 아무 설정도 안하면 default 로 모든 public 클래스가 문서화된다. 기본적으로 문서화에 포함할 파일을 설정하는것이 아닌, 제외할 파일/패키지를 설정하는 방식이다. perPackageOption 블럭 내부에서 suppress.set(boolean) 을 통해서 설정할 수 있다. 해당 설정은 dokkaMultiModule 의 경우에 root 가 아닌 각 module 의 build.gradle 에서 설정한다. dokkaHtmlPartial { dokkaSourceSets { configureEach { ... // Regex를 통해서 suppress할(문서생성 안하는) 규칙을 설정해준다. perPackageOption { matchingRege..

Dokka의 MultiModule task는, 각각의 sub project 별로 Partial task를 통해서 문서를 만들고, 그것들을 합쳐서 하나의 통합 문서로 만들어준다. 아래와 같이 설정한다. 1. 최상위 build.gradle (project 단위) import org.jetbrains.dokka.gradle.DokkaTaskPartial apply plugin: 'org.jetbrains.dokka' ... buildscript { repositories { classpath "org.jetbrains.dokka:dokka-gradle-plugin:1.8.10" ... } } // sub module 의 설정에는 영향을 미치지 않음. tasks.dokkaHtmlMultiModule { modu..
1. 글쎄 멀쩡하던 앱이 33에서 돌리니 갑자기 릭 카나리가 릭!! 릭!!! 하며 난리남 2. 누가 내 Activity 참조를 갖고있나!!!! 하고 콜스택을 보니 안드로이드 프레임워크임 com.android.internal.policy.PhoneWindow 3. 구글링 해보니 플랫폼 이슈이고, 14버전에서 fix 될 예정.. https://issuetracker.google.com/issues/258534826 Google Issue Tracker issuetracker.google.com 4. 이슈 트래커에 달린 댓글을 보면 전말은 다음과 같음. 13에서 추가된 AnimationHandler.mAnimatorRequestors 가 콜스택상 범인. -> 해당 로직은 백그라운드 무한 애니메이터 실행 이슈 ..

기본인증은 SSL과 함께 쓰이지 않으면 보안적 결함이 있기 때문에, 다이제스트 인증은 기본인증과 호환되는 보다 안전한 대체재로 개발되었다. 하지만 컨텐츠에 대한 보안 측면에서는 어떠한 보호도 제공할 수 없기 때문에 널리 쓰이지는 않는다. 진정한 보안 트랜잭션은 오직 SSL을 통해서만 가능하다. 다만 개념 자체는 보안 트랜잭션을 구현하고자 하는 경우 유용하다. 비밀번호를 안전하게 지키기 위해서 요약 사용하기 digest인증의 핵심은 "절대로 비밀번호를 네트워크를 통해 보내지 않는다" 이다. 비밀번호를 보내는 대신, 비밀번호를 비가역적으로 뒤섞은 fingerprint, 혹은 digest(요약)을 보낸다. 클라이언트와 서버는 서로 비밀번호를 알고 있으므로, 서버는 클라이언트가 보낸 비밀번호의 digest가 비..

HTTP 의 인증 Request/Response framework HTTP는 필요에 따라 사용할 수 있는 제어헤더를 통해 인증 프로토콜에 맞춰 확장이 가능한 framework 를 제공한다. HTTP에는 기본인증/다이제스트 인증이라는 두가지 공식적 인증 프로토콜이 있다. 네가지 인증단계는 다음과 같다. 단계 헤더 설명 method/상태 예 요청 첫번째 요청에는 인증 정보 없음 GET GET /family/jeff.jpg HTTP/1.0 인증요구 WWW-Authenticate 서버는 사용자에게 사용자이름/비밀번호를 제공하라는 지시의 의미로 401 상태코드와 함께 요청을 반려. WWW-Authenticate 헤더에 비밀번호가 있는 영역을 설명 401 Unauthorized HTTP/1.0 401 Authori..

Cookie 란? (너를 위해 구웠지) 작은 key-value 쌍으로 이루어진 데이터다. 사용자 식별을 위해 매우 널리 사용되는 방식이나, 단독으로 사용하기 보다는 여러 다양한 기술을 함께 사용한다. 쿠키의 종류 쿠키는 크게 세션쿠키/지속쿠키 두가지로 나뉜다. (차이점은 오직 파기되는 시점) 세션쿠키: 브라우저를 닫으면 삭제됨. 사이트 탐색시의 설정/선호등을 임시저장 지속쿠키: 디스크에 저장하여 브라우저를 닫거나 컴터 재시작에도 삭제되지 않음. 설정정보나 로그인이름을 유지 쿠키에는 Discard 파라미터가 설정되어 있거나, Expires 혹은 Max-Age 파라미터가 없으면 세션쿠키가 된다. 동작 방식 쿠키는 key-value 형태의 리스트를 갖고, 그 데이터를 Set-Cookie 혹은 Set-Cooki..
HTTP 통신은 익명이며 상태가 없다. 연결 자체에 대한 정보가 없으며 매 요청은 독립적이다. 그러나 웹사이트에서는 개인화된 서비스를 제공하고자 하는 니즈가 있다. * 쇼핑 사이트 등에서 개인화된 정보 제공- 맞춤 추천 * 사용자 정보 저장 (신용카드, 주소 등) * 세션추적 (장바구니) 다음에서 HTTP에서 사용자를 식별하는 데 사용하는 기술을 정리한다. HTTP 헤더 사용자에 대한 정보를 헤더에 담아서 보낸다. 사용자에 대한 정보를 전달하는 헤더에는 다음과 같은 것들이 있다. From: 사용자 이메일 이상적으로는 사용자의 이메일 정보는 각각 다르므로 개인을 식별가능하다. 다만 악의적인 서버가 남의 이메일 주소를 모두 습득하여 스팸을 발송하는 케이스가 많아서 실제 brower에서 from 헤더를 보내는..
Singletons 과 Scoped Bindings @Provides 메서드나 주입 가능한 클래스에 @Singleton 으로 주석을 추가합니다. 그래프는 모든 클라이언트에 대해 값의 단일 인스턴스를 사용합니다. @Provides @Singleton static Heater provideHeater() { return new ElectricHeater(); } 주입 가능한 클래스의 @Singleton 주석은 documentation 으로써의 역할도 합니다. 미래의 잠재적인 유지 관리자에게 이 클래스가 여러 스레드에서 공유될 수 있음을 알려줍니다. @Singleton class CoffeeMaker { ... } Dagger 2는 그래프의 범위가 지정된 인스턴스를 컴포넌트 구현의 인스턴스와 연결하므로 컴포넌..