Skip to content

Instantly share code, notes, and snippets.

View PlugFox's full-sized avatar
🦊
🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊

Plague Fox PlugFox

🦊
🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊
View GitHub Profile
@zs-dima
zs-dima / Dockerfile
Last active February 27, 2023 08:52
Runtime environment variables for Flutter Web + Update Flutter Web app JS as soon as app version updated
FROM dart:stable AS build_dart
WORKDIR /app
COPY ./tool/ ./tool/
RUN dart compile exe tool/web_env.dart -o tool/web-env
FROM plugfox/flutter:stable-web AS build_web
@PlugFox
PlugFox / tokens.md
Created October 4, 2022 19:30 — 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

  • Что такое авторизация/аутентификация
  • Где хранить токены
  • Как ставить куки ?
  • Процесс логина
  • Процесс рефреш токенов
  • Кража токенов/Механизм контроля токенов
@PlugFox
PlugFox / listenable_selector.dart
Last active January 16, 2024 10:00
Listenable --- selector & filter --> ValueListenable<Value>
import 'package:flutter/foundation.dart' show Listenable, ValueListenable, VoidCallback, ChangeNotifier;
/// Selector from [Listenable]
typedef ListenableSelector<Controller extends Listenable, Value> = Value Function(
Controller controller,
);
/// Filter for [Listenable]
typedef ListenableFilter<Value> = bool Function(Value prev, Value next);
@PlugFox
PlugFox / main.dart
Last active May 16, 2022 16:17
Dart data class example
/*
* Dart data class example
* https://gist.github.com/PlugFox/6a6d73a7822001af7f8558df89dbc60d
* https://dartpad.dev/6a6d73a7822001af7f8558df89dbc60d
* Matiunin Mikhail <plugfox@gmail.com>, 16 May 2022
*/
import 'package:meta/meta.dart';
void main() =>
@PlugFox
PlugFox / main.dart
Last active May 1, 2022 06:54
Custom circular progress indicator
/*
* Custom progress indicator
* https://gist.github.com/PlugFox/d2274f2d4278473774b79b0020cbd618
* https://dartpad.dev/d2274f2d4278473774b79b0020cbd618
* Matiunin Mikhail <plugfox@gmail.com>, 1 May 2022
*/
import 'dart:async';
import 'dart:math' as math;
@PlugFox
PlugFox / Dockerfile
Last active June 5, 2024 15:12
How to build flutter app totally without internet with artifactory
# ------------------------------------------------------
# Dockerfile
# ------------------------------------------------------
# image: gitlab-registry.domain.tld/mobile/app/flutter
# authors: plugfox@gmail.com
# license: MIT
# ------------------------------------------------------
ARG VERSION="stable"
[
{
"key": "ctrl+shift+l",
"command": "editor.action.transformToLowercase"
},
{
"key": "ctrl+shift+u",
"command": "editor.action.transformToUppercase"
},
{
@PlugFox
PlugFox / dart.code-snippets
Last active February 5, 2024 17:24
@dart-lang & @flutter Visual Studio Code snippets by @PlugFox
{
"Changelog unreleased": {
"scope": "md, markdown",
"prefix": "changelog_unreleased",
"description": "Changelog unreleased",
"body": [
"# Unreleased",
"+ added: ${0}",
"+ changed: ",
"+ deprecated: ",
@sorgfal
sorgfal / main.go
Last active March 26, 2022 14:04
Василий забыл ПИН-код от своей банковской карты. Точно помнит только первую цифру. Остальные три цифры он тоже вспомнил, но забыл в какой последовательности они должны идти. Василий уверен, что эти три цифры точно разные и среди них нет нуля. Помогите ему подобрать ПИН-код – выведите на экран все возможные комбинации трёхзначных чисел, собранны…
package main
import (
"fmt"
"sort"
)
var counter int = 0
func main() {
@gaetschwartz
gaetschwartz / settings.json
Last active November 8, 2025 01:34
Nest files in Flutter projects on VSCode, inspired from https://github.com/antfu/vscode-file-nesting-config
"explorer.fileNesting.enabled": true,
"explorer.fileNesting.expand": false,
"explorer.fileNesting.patterns": {
"pubspec.yaml": ".flutter-plugins, .packages, .dart_tool, .flutter-plugins-dependencies, .metadata, .packages, pubspec.lock, build.yaml, analysis_options.yaml, all_lint_rules.yaml",
".gitignore": ".gitattributes, .gitmodules, .gitmessage, .mailmap, .git-blame*",
"readme.*": "authors, backers.md, changelog*, citation*, code_of_conduct.md, codeowners, contributing.md, contributors, copying, credits, governance.md, history.md, license*, maintainers, readme*, security.md, sponsors.md",
"*.dart": "$(capture).g.dart, $(capture).freezed.dart",
},