Skip to content

Instantly share code, notes, and snippets.

View bondiano's full-sized avatar
:octocat:
Cat? I'm a kitty cat And I meow, meow, meow and I meow, meow, meow

Vassiliy Kuzenkov bondiano

:octocat:
Cat? I'm a kitty cat And I meow, meow, meow and I meow, meow, meow
  • 04:10 (UTC +05:00)
View GitHub Profile
@bondiano
bondiano / pres.org
Last active July 22, 2023 10:50
Зачем Clojure и почему я пишу на нем ботов

Зачем Clojure и почему я пишу на нем ботов

Характеристики языка

  • Lisp-о подобный (но не каноничный лисп)
  • Динамически типизированный
  • По большему счету функциональный
  • Хостовой (есть версии для JVM, JS, .NET, Dart)
  • Язык без кучи языковых новоротов, что есть в других языках. При этом не менее мощный.
  • Как JavaScript– (отнимем синтаксис, мутабельность по-умолчанию и прототипы*)
  • Построен вокруг нескольких мощных коллекций
@bondiano
bondiano / forRootAndForFeature.md
Created March 18, 2023 07:18 — forked from darwinsubramaniam/forRootAndForFeature.md
The Explaination of forRoot and ForFeature

ForRoot

This is useful when the registerAs is required across, so it is best to use it in the AppModule

import databaseConfig from './config/database.config';
@Module({
  imports: [
    ConfigModule.forRoot({
      load: [databaseConfig],
 }),
@bondiano
bondiano / .md
Created July 30, 2022 17:21 — forked from iAdramelk/.md
Длинная телега про Бутстрап

Английская версия: https://evilmartians.com/chronicles/bootstrap-an-intervention

Вводная часть

У CSS есть несколько базовых проблем, которые позволяют очень быстро отстрелить себе ногу при неправильном использовании:

  1. Глобальный неймспейс – в серверном программировании все что написано в файле, в файле и остается. Все же что написано в css и js засирает глобальное пространство имен со всеми вытекающими. В JS эту проблему сейчас побороли всякими модульными системами, а вот с css сложнее. В идеальном мире это должен починить Shadow DOM и настоящие Web Components, но пока их нет единственный способ с этим бороться – следовать какой-то системе именований селекторов, которая по возможности уменьшает и исключает возможные конфликты.

  2. Каскадность – если на один элемент может сработать несколько правил, то они все и сработают последовательно. Если есть элемент h1.title, на него сработают все правила для тегов h1 и все правила для класса .title. Так как весь html состоит из тегов, то правил которые п

@bondiano
bondiano / migratingRules.md
Created September 23, 2021 15:54 — forked from Jaid/migratingRules.md
ESLint rules for migrating projects from CommonJS to ESM

ESLint rules

The ESM standard is considered stable in NodeJS and well supported by a lot of modern JavaScript tools.

ESLint does a good job validating and fixing ESM code (as long as you don't use top-level await, coming in ESLint v8). Make sure to enable the latest ECMA features in the ESLint config.

  • .eslint.json
{
@bondiano
bondiano / README.md
Created July 30, 2021 08:12 — forked from oroce/README.md
nginx request id
@bondiano
bondiano / main.md
Created March 25, 2019 18:09 — forked from hediet/main.md
Proof that TypeScript's Type System is Turing Complete
type StringBool = "true"|"false";


interface AnyNumber { prev?: any, isZero: StringBool };
interface PositiveNumber { prev: any, isZero: "false" };

type IsZero<TNumber extends AnyNumber> = TNumber["isZero"];
type Next<TNumber extends AnyNumber> = { prev: TNumber, isZero: "false" };
type Prev<TNumber extends PositiveNumber> = TNumber["prev"];
@bondiano
bondiano / docker-cleanup-resources.md
Created January 3, 2019 08:49 — forked from bastman/docker-cleanup-resources.md
docker cleanup guide: containers, images, volumes, networks

Docker - How to cleanup (unused) resources

Once in a while, you may need to cleanup resources (containers, volumes, images, networks) ...

delete volumes

// see: https://github.com/chadoe/docker-cleanup-volumes

$ docker volume rm $(docker volume ls -qf dangling=true)

$ docker volume ls -qf dangling=true | xargs -r docker volume rm

(((S
((S ((S (K S)) ((S (K K)) I)))
((S
((S (K S))
((S ((S (K S)) ((S (K K)) (K S))))
((S
((S (K S))
((S ((S (K S)) ((S (K K)) (K S)))) ((S ((S (K S)) ((S (K K)) (K K)))) (K I)))))
((S ((S (K S)) ((S (K K)) (K K)))) (K I))))))
((S (K K)) (K I)))))