Skip to content

Instantly share code, notes, and snippets.

View iL53n's full-sized avatar

Illia Hrybko iL53n

  • EPAM Systems @epam
  • Poland, Krakow
View GitHub Profile
use Rack::Sendfile — добавляет заголовок X-Sendfile при отправке файла, чтобы вебсервер знал какой файл отдать пользователю
use Rack::Runtime — ставит x-runtime заголовок, который показывает сколько длилась обработка запроса
use Rack::MethodOverride — меняет метод запроса, чтобы использовать один код для разных методов
use Rack::Head — превращает head запросы в get
use Rack::ConditionalGet — используется, чтобы показать когда изменилась страница
https://api.rubyonrails.org/classes/ActionController/ConditionalGet.html
use Rack::ETag — ставит ETag заголовок, чтобы вебсервер знал какая версия страницы будет одаваться
use Rack::TempfileReaper — чистит временные файлы после реквеста
ActionDispatch
use ActionDispatch::HostAuthorization — авторизация
@iL53n
iL53n / popup_iban_with_validation.js
Last active January 31, 2023 14:22
Popup with IBAN validation input
$(function() {
$(".popup").hide();
$(document).ready(function() {
$(".popup").fadeIn(500);
});
$(".reject").click(function() {
$(".popup").fadeOut(500);
});
$(".iban-input").on("input", function() {
let val = this.value.replace(/\s/g, "");
@iL53n
iL53n / start_rabbitmq.sh
Last active June 16, 2022 10:47
RabbitMQ (Docker)
docker run \
--rm \
--name rabbitmq \
-p 5672:5672 \
-p 15672:15672 \
--hostname noda1 \
-v rabbitmq:/var/lib/rabbitmq \
rabbitmq:3-management
@iL53n
iL53n / docker_1.md
Last active December 9, 2020 13:00
Docker_HW_01

Задание

  1. Запустить вашу любимую базу данных в докере,
  2. Подключиться к ней, создать там пару таблиц, сделать в них пару записей.
  3. Выйти, остановить и удалить контейнер (не образ).
  4. Запустить контейнер заново. Убедиться, что таблицы и записи с них на месте.

Решение

1

docker run --name hw_postgres --rm -p 1000:5432 -v ~/database_directory:/var/lib/postgresql/data -e POSTGRES_PASSWORD=mysecretpassword -d postgres:13-alpine

@iL53n
iL53n / Gemfile
Created June 25, 2020 12:12 — forked from dhh/Gemfile
HEY's Gemfile
ruby '2.7.1'
gem 'rails', github: 'rails/rails'
gem 'tzinfo-data', '>= 1.2016.7' # Don't rely on OSX/Linux timezone data
# Action Text
gem 'actiontext', github: 'basecamp/actiontext', ref: 'okra'
gem 'okra', github: 'basecamp/okra'
# Drivers
@iL53n
iL53n / .travis.yml
Created April 23, 2020 18:04 — forked from palkan/.travis.yml
Travis config for TH project
language: ruby
rvm:
- 2.2.3
# Если Travis пишет вам слишком часто, то отключаем email уведомления
notifications:
email: false
# Указываем базу данных
addons:
@iL53n
iL53n / Guardfile
Created April 23, 2020 18:00 — forked from palkan/Guardfile
Guardfile for Rails
# По умолчанию запускаем только необходимых для тестов наблюдателей,
# то есть всех, кроме server.
# Для запуска всех: bundle exec guard -g default
scope groups: ['specs']
group 'specs' do
# запускаем тесты и использованием Spring
guard :rspec, cmd: "bundle exec spring rspec" do
require "guard/rspec/dsl"
dsl = Guard::RSpec::Dsl.new(self)
@iL53n
iL53n / 01_readme.md
Created April 23, 2020 17:54 — forked from palkan/01_readme.md
Docker Dev
@iL53n
iL53n / rubocop_pre_commit_hook.rb
Last active April 22, 2020 18:13 — forked from palkan/rubocop_pre_commit_hook
Rubocop pre-commit hook.rb
#!/usr/bin/env ruby
# -- Install --
# ln -s rubocop_pre_commit.rb .git/hooks/pre-commit
# chmod +x .git/hooks/pre-commit
ADDED_OR_MODIFIED = /^\s*(A|AM|M)/.freeze
changed_files = `git status --porcelain`.split(/\n/)
unstaged_files = `git ls-files -m`.split(/\n/)
module.exports = {
install: function(Vue, cable) {
Vue.mixin({
destroyed: function() {
if (!this._subscriptions) return
Object.keys(this._subscriptions).map((key) => {
this._subscriptions[key].unsubscribe()
})
},
mounted: function() {