Сходства сериалов «Друзья» и «Теория большого взрыва»

Привет. Я сейчас смотрю 7 сезон ТБВ, а «Друзей» посмотрел давно. Сегодня ночью внезапно стал очерчивать в уме какие-то общие черты этих сериалов.

И я не ожидал, что смогу найти столько совпадений. При том, что ТБВ я отсмотрел только чуть больше половины, а финальный 12-ый сезон ещё продолжается.

Материалы, подобные этому посту, я намеренно не гуглил — составлял по своим личным воспоминаниям и впечатлениям.

Возможно, список будет пополняться дальше, по ходу моего приближения к финалу ТБВ. Вот что имеется на текущий момент:

Читать далее Сходства сериалов «Друзья» и «Теория большого взрыва»

Битрикс: как разлогинить любого заблокированного пользователя. 100% рабочий метод.

Быстрая заметка.

Гуглил сабж — все великие умы сообщества в каком-то диком ступоре, агонии, ужасе, не понимают как быть. Есть ещё какой-то нахер ненужный модуль. Вроде бы такой функционал из коробки не завезли до сих пор.

Ситуация: в битриксе работает агент, который периодически блокирует пользователей по определённым критериям.

Задача: заблокированные пользователи, если они были авторизованы в момент блокировки, должны быть сразу разлогинены.

Решение: проверять флаг активности текущего пользователя и перенаправлять на адрес логаута в публичной части.

Описание: Читать далее Битрикс: как разлогинить любого заблокированного пользователя. 100% рабочий метод.

Как настроить удалённую отладку xDebug + phpStorm

Привет.

Эта тема изжёвана-пережёвана на мульён раз. Но иногда всё-таки забываю этот простой алгоритм действий, ибо я к этому вопросу не возвращаюсь, однажды настроив что надо. Поэтому в голове достоверно ничего не откладывается.

Посему решено опубликовать заметку здессь, чтобы потом точно знать где её искать. Тут просто выжимка самой сути, а не пошаговая инструкция. Но ссылки на таковые я оставлю в конце. Читать далее Как настроить удалённую отладку xDebug + phpStorm

Phalcon + Volt: вставить GET-параметр в ссылку на именованный маршрут через link_to()

Имеем — маршрут:

$adminRouteGroup
->add('/files/delete?id=:int', [
    'controller' => 'files',
    'action' => 'delete',
    'id' => 1,
])
->setName('file_delete');

Хотим — в Volt-шаблоне получить ссылку типа такой:

http://example.com/files/delete?id=123

Для этого в шаблоне пишем:

{{ link_to(['for':'file_delete', 'id':123], 'Удалить', 'class':'btn btn-danger btn-sm', 'id':'del_btn') }}

Разберём пример:

[
  'for':'file_delete' — для этого маршрута
  'id':123 — имя GET-параметра, объявленного в маршруте, и его значение
]
'Удалить' — текст на ссылке
'class':'btn btn-danger btn-sm' — html-атрибут class
'id':'del_btn' — html-атрибут id

Когда встала такая задача, быстро наткнулся на эту ветку: stackoverflow.com. На деле всё оказалось сильно проще.

Phalcon 3.4.1

Шпаргалка: Master-slave репликация MySQL 5.7

Введение

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

SET GLOBAL read_only = ON;  # вкл только чтение
SET GLOBAL read_only = OFF; # выкл только чтение

так и эти:

FLUSH TABLES WITH READ LOCK; # вкл только чтение
UNLOCK TABLES; # выкл только чтение

Либо импортирование БД из дампа на слейве можно выполнить и так:

$ mysql -u root -p
> USE mydb;
> SOURCE ~/mydb.sql

и эдак:

$ mysql -u root -p mydb < mydb.sql

Я считаю так. Чтобы выполнить задачу по сабжу, особо можешь не заморачиваться — главное понимать что происходит в целом. Но фундаментальное понимание сути этих команд будет только в плюс.

Здесь же я собрал универсальный рецепт как поднять и восстановить репликацию. Поехали. Читать далее Шпаргалка: Master-slave репликация MySQL 5.7

Мои алиасы git

Привет.

В своей работе и pet-проектах я вседа использую git. За годы работы с ним у меня накопился некоторый список частых команд, которые я использую чаще всего. Позже я оформил их в алиасы и теперь представляю здесь. Их очень немного, они в сущности просты и тем круты. Авось тебе тоже чего полезного пригодится.

В сети есть много материалов по этой теме и многие разработчики показывают список алиасов и команд, которые им приходится использовать. Из наиболее интересных — вот эти три.

Я разбил свой список по темам, чтобы было проще воспринимать.

Читать далее Мои алиасы git

Переезд на WordPress

Привет.

Я тут давеча зашёл на свой старый blogger, чтобы опубликовтаь заметку про Sphinx, и понял — хватит с меня. Проведя на этой площадке около 7 лет, я заметил как сильно она меняется. Изменения были колоссальными, но чисто внешними, косметическими.

Используя те средства управления, которые там есть, нельзя оформить блог как хочешь. Т.е. технически это можно, но на самом деле намного проще купить VPS, поднять весь софт, wordpress, завести инструменты для веб-мастеров яндекса и гугла, чем попытаться заверстать блог на blogger.

Да, есть плюшки в виде интеграции с adsense, analytics, webmaster и вот этого всего, но когда речь идёт об удостве публикации — нет, увольте. Это какое-то безумие.  Читать далее Переезд на WordPress

Как исправить ошибки при работе с Sphinx 3.0.3 (с самого начала)

Привет.

Я тут на днях оформлял вики для корпоративного репозитория на тему правильного поднятия сфинкса и что случае делать при ошибках. Я не буду вдаваться в детали настройки, этого полно в сети и документации. Привожу общий порядок действий для установки и небольшой список самых распространённых проблем с их решениями.

Допустим, что у нас есть сервер, на который ранее не устанавливался sphinx, и мы хотим поставить версию 3.0.3 (на момент написания заметки это последняя стабильная).

Все манипуляции могут производиться любым системным пользователем (если не указано иное). В нашем примере мы сидим под пользователем user. Читать далее Как исправить ошибки при работе с Sphinx 3.0.3 (с самого начала)

Модуль интеграции Dreamkas для OpenCart 3.0.2.0

Доброго дня, читатель. Редко я захожу сюда, ещё реже что-то пишу. Сейчас один из тех случаев, когда я считаю, что это просто необходимо.

Введение

Те, кто сталкивался с сервисом Dreamkas (онлайн-кассы, фискализация чеков, сканеры, терминалы и вот это вот всё по 54-ФЗ), могут иметь интернет-магазин на базе OpenCart.

Дримкас предоставляет модули для интеграции с кучей CMS. Такие надстройки необходимы для отслеживания статусов фискализации чеков по заказу на сайте. Есть такой модуль и для OpenCart.

Читать далее Модуль интеграции Dreamkas для OpenCart 3.0.2.0

VK API: загрузка изображения на стену. Рабочий код на PHP7 + cURL

Публикую просто чтобы не потерялось.

Если хорошо попросите и если я не забуду, оформлю полноценный репепт публикации постов с твоего сайта на страницу пользователя, с прикреплением фотографии. Когда твоё приложение в ВК зарегистрировано как веб-сайт, а не Stand-alone приложение.

Пока тут только серверная часть. Она большого труда не составляет.

Забудь всё, что ты видел о загрузке фотографий через curl. Я двое суток ебал мозги с целью выяснить почему я делаю так, как говорили когда-то и говорят до сих пор (например, про @ перед именем загружаемого файла, например, что уже неактуально для PHP >= 5.5)…. и почему при успешном запросе к серверу фотографий, ВК мне отдаёт пустой photo = []

Будем считать, что у тебя уже есть ID приложения и ты получил жизненно важный access_token. Конкретно в контексте данного поста не играет роли, является ли твоё приложение веб-сайтом или Stand-alone. Механизм на сервере один.

Наверняка ты уже заебался также, как и я, уже изучил документации, ответы сервера и всякое такое. Поэтому не буду рассказывать что будет происходить после каждого чиха.
Читать далее VK API: загрузка изображения на стену. Рабочий код на PHP7 + cURL