Skip to content

Instantly share code, notes, and snippets.

View andreikastsiuk's full-sized avatar
🤓
Student forever

Andrei Kastsiuk andreikastsiuk

🤓
Student forever
View GitHub Profile
@andreikastsiuk
andreikastsiuk / tokens.md
Created May 26, 2022 08:42 — forked from zmts/tokens.md
Про токены, JSON Web Tokens (JWT), аутентификацию и авторизацию. Token-Based Authentication

Про токены, JSON Web Tokens (JWT), аутентификацию и авторизацию. Token-Based Authentication

Last major update: 25.08.2020

  • Что такое авторизация/аутентификация
  • Где хранить токены
  • Как ставить куки ?
  • Процесс логина
  • Процесс рефреш токенов
  • Кража токенов/Механизм контроля токенов
@andreikastsiuk
andreikastsiuk / _readme.md
Created May 5, 2022 20:37 — forked from vchernogorov/_readme.md
Многопоточность в Java
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
@andreikastsiuk
andreikastsiuk / BaseObservable.java
Created April 6, 2020 07:06 — forked from techyourchance/BaseObservable.java
Base class for Java Observable
public abstract class BaseObservable<LISTENER_CLASS> {
private final Object MONITOR = new Object();
private final Set<LISTENER_CLASS> mListeners = new HashSet<>();
public void registerListener(LISTENER_CLASS listener) {
synchronized (MONITOR) {
boolean hadNoListeners = mListeners.size() == 0;
mListeners.add(listener);
import android.os.Bundle
import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import androidx.fragment.app.viewModels
import androidx.lifecycle.AbstractSavedStateViewModelFactory
import androidx.lifecycle.SavedStateHandle
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import androidx.savedstate.SavedStateRegistryOwner
@andreikastsiuk
andreikastsiuk / mutablelivedata.md
Created April 2, 2020 18:11 — forked from humblehacker/mutablelivedata.md
Don't expose MutableLiveData
@andreikastsiuk
andreikastsiuk / BindViewExtension.kt
Created September 13, 2019 17:07
Useful extension function to bind views
fun <T : View> Activity.bindView(@IdRes idRes: Int): Lazy<T> {
return lazyUnsychronized {
findViewById<T>(idRes)
}
}
@andreikastsiuk
andreikastsiuk / Equals_HashCode.java
Created July 12, 2019 11:18
Simple sample of overrided equals and hashcode methods in java
@Override
public boolean equals(@Nullable Object o) {
if (o == null) {
return false;
}
if (o == this) {
return true;
}
@andreikastsiuk
andreikastsiuk / UtilClass.java
Created April 17, 2019 10:04
Sample how to hide public constuctor for Util class
public final class UtilClass {
private UtilClass() {
throw new AssertionError("No com.kastsiuk.UtilClass instances for you!");
}
}
@andreikastsiuk
andreikastsiuk / autoplay.java
Created March 28, 2019 22:10 — forked from aprock/autoplay.java
simple trick to autoplay an html5 video element in a webview. (inject javascript to play on load)
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends Activity {
private WebView webview;