Skip to content

Instantly share code, notes, and snippets.

View Morozzzko's full-sized avatar
🙈
I can't think of a witty status

Igor S. Morozov Morozzzko

🙈
I can't think of a witty status
View GitHub Profile
@Morozzzko
Morozzzko / README.md
Created May 23, 2023 11:32
Traefik plugin download issue

CSP plugin download reproduction

So hey y'all

That's an adjusted version of traefik training repo

So I'm facing a problem that a plugin fails to download due to error 500. There's a similar error in GitHub

This script is a reproduction.

@Morozzzko
Morozzzko / language.md
Created March 6, 2023 12:11
Про фонетику и близость согласных звуков

Во время зимнего яхтенного круиза я пытался понять, как произносить турецкие согласные. На слух тяжело понять — при быстрой речи на незнакомом языке тяжело понять, куда именно человек положил язык, чтобы извлечь звук.

Но смог выделить простой принцип: чаще всего, звуки лежат где-то рядом друг с другом, чтобы язык не сильно путешествовал во рту

Это же логично — когда мы говорим, нам не нужны какие-то неудобные комбинации звуков. Мы не хотим запинаться каждый раз, произнося слово. Мы оптимизируем нашу речь так, чтобы звуки было удобно произносить.

Редуцирование отлично иллюстрирует эту лень — нам хочется побыстрее и поудобнее, не хочется лишний раз язык двигать, вот и редуцируем звуки

Просуммирую наблюдение: звуки в языках устроены так, чтобы было удобно двигать языком. Отсюда можно делать предположения о том, какие именно согласные мы слышим и как их повторять

@Morozzzko
Morozzzko / index.html.erb
Created January 14, 2023 14:45
nvim-treesitter gets stuck if I try to type <% on a line before yield
<!DOCTYPE html>
<html>
<head>
<%= csrf_meta_tags %>
</head>
<body>
<!-- start typing an ERB tag on the next line -->
<%= yield %>
</body>
@Morozzzko
Morozzzko / method_missing.rb
Created April 6, 2022 14:39
Method missing example
def method_missing(raw_name, *args, **kwargs)
name = raw_name.to_s
match = name.match(/say_(?<text>[\w_]+)_to_(?<addressee>[\w_]+)/)
if match
text = match['text'].gsub('_', ' ')
addressee = match['addressee'].split('_').map(&:capitalize).join(' ')
puts "Message to #{addressee}: #{text}"
@Morozzzko
Morozzzko / adt.rb
Created October 31, 2021 14:53
Using dry-types & dry-struct ADT to automap data
# frozen_string_literal: true
require 'bundler/inline'
require 'irb'
gemfile do
gem 'dry-types', '~> 1.0'
gem 'dry-struct', '~> 1.0'
end
@Morozzzko
Morozzzko / dmmf.md
Created February 10, 2021 07:27
Domain modelling made functional review

Domain Modelling Made Functional

Date: 2020-02-10 Author: @morozzzko

Дочитал книгу Domain Modelling Made Functonal от Скотта Влашина. Потратил на это почти год — читал неспешно и с большими перерывами. Эта заметка — конспект, в котором я описываю не только мысли из самой книги, но и своё отношение к ним.

Для кого эта книга

В DMMF много примеров с кодом, но я не могу сказать, что она для программистов. Если человек умеет читать и писать код даже на уровне скриптов, есть все шансы понять и оценить тему. Но я бы не рекомендовал — для того, чтобы осознать ценность написанного всё же лучше иметь бэкграунд в написании софта.

@Morozzzko
Morozzzko / config--initializers--shrine.rb
Created November 18, 2020 12:02
Recipe: List all Shrine attachments & models. Double dash (--) in file names is a directory separator (/). Run your test suite to load all models and print them afterwards
require 'shrine/plugins/list_attachments'
Shrine.plugin :list_attachments
@Morozzzko
Morozzzko / update_rubocop.rb
Created November 10, 2020 09:18
Automatically apply fix for new cops
# frozen_string_literal: true
cop_regex = %r{`(.*)` cop}
# See changelog at
#
# https://raw.githubusercontent.com/rubocop-hq/rubocop/master/CHANGELOG.md
#
# Well-formatted changelog:
# https://github.com/rubocop-hq/rubocop/blob/master/CHANGELOG.md
@Morozzzko
Morozzzko / model.dsl
Last active October 29, 2020 12:09
Structurizr model for Saint P Ruby meetup Fall 2020
workspace "Baqers" "Заказ выпечки онлайн" {
model {
user = person "Пользователь" "Хочет булочки с корицей"
rollbar = softwareSystem "Rollbar" "Трекинг ошибок"
enterprise "ООО Рога и Копыта (Baqers)" {
billing = softwareSystem "Биллинг" "занимается обработкой платежей" {
billingDb = container "База данных" "" "PostgreSQL"
@Morozzzko
Morozzzko / reproduce.sh
Last active July 7, 2020 22:12
Tag related methods do not exist. Download both files and execute `reproduce.sh`
#!/usr/bin/env sh
mvn dependency:get -Dartifact=commons-logging:commons-logging:1.2 -Ddest=.
mvn dependency:get -Dartifact=com.structurizr:structurizr-core:1.4.7 -Ddest=.
jruby test_method.rb
echo "Inspecting methods from Java::ComStructurizrModel::ModelItem's jar"
javap -classpath structurizr-core-1.4.7.jar -p "com.structurizr.model.ModelItem"