Блокируем ботов по рефереру одним списком на весь сервер

Штатная дока по nginx предлагает нам метод valid_referers (одной строкой), однако это неудобно – ведь хочется записывать ботовые рефереры в файл построчно. Да и вообще – лучше автоматизировать это дело, добавляя их скриптом. Continue reading “Блокируем ботов по рефереру одним списком на весь сервер”

Почему в выкидывании ORM и работе с SQL напрямую – нет ничего героического

Регулярно вижу тезисы о том, что дескать только лузеры ограничивают себя ORM, а реальные пацаны лезут в БД напрямую SQL-запросами. Дескать, в highload-проектах ORM-щиков нафиг увольняют, а тех кто героически фигачит SQL – повышают, ибо быстродействие, оптимизация и бла-бла-бла. Continue reading “Почему в выкидывании ORM и работе с SQL напрямую – нет ничего героического”

Приёмы хранения данных, изменяющихся со временем

Каверзный вопрос на собеседовании: бутылка водки стоит 100 рублей, но в период январских праздников – 120. Опишите структуру хранения данных в SQL. Continue reading “Приёмы хранения данных, изменяющихся со временем”

Хинт по работе со связанными данными на фронтенде

Казалось бы, банальная задача: манипулировать в SPA списком (допустим) фотографий, которые лайкнул текущий юзер. Добавляем в контроллер /api/users.json что-то вроде to_json(with: liked_photos) и получаем вместе с текущим юзером все айдишники лайкнутых им фоток на фронтенде. Можем показать их списком, в ряд, галереей, рандомно, как угодно. Вывести счётчик, сортануть и тэ дэ.

И всё круто до тех пор, пока… Continue reading “Хинт по работе со связанными данными на фронтенде”

Интернет на даче: год спустя, v2.0

Не знаю как вам, а мне для работы за городом скоростей 3G не хватало никогда. Поэтому, когда весной я обнаружил на модеме весело мигающий зелёный значок 4G-соединения, тут же был поставлен вопрос о переходе на этот стандарт. Напомню, что моя деревня – не пригород, до Питера по прямой более 55 километров, интернет 3G я ловлю с помощью специальной антенны на нехилой такой мачте. Continue reading “Интернет на даче: год спустя, v2.0”