Skip to content

Instantly share code, notes, and snippets.

View superchell's full-sized avatar
🏋️‍♂️
Work hard

Oleg Mozolev superchell

🏋️‍♂️
Work hard
View GitHub Profile
Из минусов STI
1. Плохо масштабируется : по мере роста данных таблица может становиться большой и, возможно, трудной для обслуживания / запроса
2. Требуется осторожность при добавлении новых моделей или полей моделей, которые отличаются от общих полей
3. Позволяет создавать недопустимые объекты, если проверки отсутствуют
4. Может быть сложно проверить или запросить, если в таблице существует много нулевых значений
Из плюсов
1.Прост в реализации.
2. DRY - сохраняет реплицированный код, используя наследование и общие атрибуты
Из минусов STI
1. Плохо масштабируется : по мере роста данных таблица может становиться большой и, возможно, трудной для обслуживания / запроса
2. Требуется осторожность при добавлении новых моделей или полей моделей, которые отличаются от общих полей
3. Позволяет создавать недопустимые объекты, если проверки отсутствуют
4. Может быть сложно проверить или запросить, если в таблице существует много нулевых значений
Из плюсов
1.Прост в реализации.
2. DRY - сохраняет реплицированный код, используя наследование и общие атрибуты
SELECT usename, state, query FROM pg_stat_activity WHERE wait_event IS NOT NULL AND backend_type = 'client backend' AND state = 'idle in transaction';
SELECT pg_advisory_unlock_all();
или
SELECT pid, locktype, mode FROM pg_locks WHERE locktype = 'advisory';
SELECT pg_terminate_backend(<PID>);
@superchell
superchell / remote_authenticatable.rb
Created February 8, 2023 15:48 — forked from jperry/remote_authenticatable.rb
Devise and warden remote authentication
module Devise
module Models
module RemoteAuthenticatable
extend ActiveSupport::Concern
#
# Here you do the request to the external webservice
#
# If the authentication is successful you should return
# a resource instance
@superchell
superchell / cheatsheet.rb
Created February 17, 2023 16:27 — forked from mabenson00/cheatsheet.rb
Rails ActiveRecord JSON cheatsheet
# Basic key operators to query the JSON objects :
# #> : Get the JSON object at that path (if you need to do something fancy)
# -> : Get the JSON object at that path (if you don't)
# ->> : Get the JSON object at that path as text
# {obj, n} : Get the nth item in that object
# https://www.postgresql.org/docs/9.4/functions-json.html#FUNCTIONS-JSONB-OP-TABLE
# Date
# date before today