Блог хеллоуворлдщика

SELECT FOR UPDATE в Yii2

Недавно пришлось тряхнуть стариной и вспомнить, как работать с Yii... Задача предельно проста: добавить SELECT FOR UPDATE. Но, задача не проста для Yii2, особенно, если уже долгое время работаешь с Doctrine...

Оф. репозиторий фреймворка нам сообщает, что из коробки такой возможности нет и, что решать данную проблему нужно самому.

Так же, есть расширение, которое не имеет какого-то смысла вообще, т.к. суть работы SELECT FOR UPDATE не реализована.

Еще, есть вот такое, но я его особо не смотрел, вроде рабочее. Если кто-то тестил и юзал - пишите в комменты.

Дак что же делать для тех, кто хочет просто применить SELECT FOR UPDATE? Решение очень простое! Нужно всего лишь...

Читать далее

Как скачать музыку из группы или профиля ВК

Как скачать музыку из группы или профиля ВК

За долгие годы, что я провел в ВК, у меня накопилась хорошие библиотека музыки, которая либо редкая, либо я уже не помню названия, чтобы её найти. Хотя я уже и не слушаю музыку в ВК (а предпочитаю Deezer), но вытащить-то свою библиотеку нужно для истории! Вместо ВК я теперь обитаю в Телеграм, поэтому было решено написать трансфер-бота музыки из ВК в Телеграм, чтобы удобно было.

Трансфер я написал на Java, его можно скачать со страницы репозитория GitHub. Для запуска нужно иметь представление о том, как этим пользоваться, либо попытаться сделать все, что я напишу ниже. Где-то на просторах Телеграм данный бот не запущен, и пользуюсь я им только в личных целях, т.к. если люди ринутся, то мне просто не хватит мощностей моего сервера, чтобы обрабатывать каждый запрос, да и не вижу смысла. Выгоды я с этого не имею никакой. Поэтому, запаситесь терпением и читайте инструкцию внутри статьи.

Читать далее

Новые версии yii2-pages и yii2-activerecord-history

Ух, как давно я не постил новости по Yii! Это свершилось и я занялся своими расширениями, которые кем-то используются. Самое главное, что было реализовано, это - тесты. Я добавил функциональные тесты. Их очень сильно не хватало. Также, я обновил зависимости и исправил баги. Один баг, по которому было создано ишью ждал меня целых 3 года! Я только сейчас удосужился его исправить. Ну, лучше поздно, чем никогда, верно?

Читать далее

Обзор браслета Xiaomi Mi Band 2

Обзор браслета Xiaomi Mi Band 2

Из-за постоянной сидячей работы я вынужден разминать свой скелет. Ранее я ходил в бассейн, но потом поднадоело и я решил сделать перерыв - занялся бегом. Чтобы иметь хоть какую-то статистику о своих достижениях я установил Runtastic и бегаю с ним. Благодаря Runtastic я имею подробную статистику о своей пробежке, а именно: скорость, расстояние, скорость за каждый километр, различные графики и т.п. Со временем появилось желание иметь еще статистику по пульсу, тем самым понимая, оптимальное ли я расстояние выбрал для пробежек или стоит его уменьшить/увеличить. Конечно, физически ты и сам чувствуешь, а тут вот модно, молодежно, интересно. На помощь пришел спорт-браслет Xiaomi Mi Band 2.

Читать далее

Модуль для работы с часовым поясом для Zend Framework 3

Модуль для работы с часовым поясом для Zend Framework 3

Вот чего-чего, а модуля для работы с часовым поясом в ZF3 критично не хватало. Я восполнил данную проблему. Модуль, как всегда, очень простой и легко настраивается. После настройки все ваше время по умолчанию будет в указанном часовом поясе.

Ссылка на репозиторий: https://github.com/bupy7/zf-time-zone

Читать далее

Примитивное сравнение веб-фреймворков от сообщества IT-Panda

Сегодня мы поговорим о сравнении популярных веб-фреймворках в разрезе решения простой задачи: "отображение списка книг". Для этого, сообщество IT-Panda поработало над примерами на:

Статью можно прочитать по ссылке на блог одного из членов IT-Panda.

Вывода по статье никакого нет. Статья не была создана с целью ущемления чьих-то прав и возвышения других. Она является просто демонстрационной.

Читать далее

Обзор заготовки web-приложения на Zend Framework 3

Обзор заготовки web-приложения на Zend Framework 3

Написал статью для Хабрахабр о своей заготовке web-приложения на ZF3. Почитать про это можно здесь.

Latest Stable Version Latest Unstable Version License Build Status Coverage Status

Также, напоминаю, что zf-app-blank медленным, но уверенным темпом развивается. На сегодняшний день версия проекта 1.6.2! Если вы еще это не попробовали, то стоит сделать в ближайшем времени. P.S. Документации временно нет. =(

Читать далее

Настройка Xdebug на Vagrant

Работаю, никого не трогаю и тут меня спрашивают, "как настроить xdebug на vagrant?"... O_o Я такой про себя, "как... как и везде". И вспомнив, что я уже не раз, как на работе коллегам помогал настраивать Xdebug на Vagrant, понял, что это действительно полезная тема. И пусть все, кто ищет решение данного вопроса натыкаются на данную статью.

Для работы нам понадобится:

  • PhpStorm
  • Vagrant
  • Установленный и настроенный PHP в Vagrant

Сразу прошу прощения у всех тех, кого огорчил с NetBeans. К сожалению, с недавнего времени работаю на PhpStorm. Если отключить все ненужное, то получается очень удобная IDE с клевыми плюхами, которых нет в NetBeans.

Читать далее

Генератор HTML форм или HTML Builder для PHP

Генератор HTML форм или HTML Builder для PHP

Все full stack девелоперы вынуждены/любят (нужное подчеркнуть) работать с фронтом. И там, где на проекте отсутствует фронт отдельным приложением мы используем html билдеры. Как правило, каждый фреймворк оснащен своим билдером, но иногда этот билдер может оказаться не таким функциональным или удобным, как хотелось. А иногда и вовсе отсутствует. И здесь, как всегда, я натыкаюсь на "необходимость".

Latest Stable Version Total Downloads Latest Unstable Version License Build Status Coverage Status

Читать далее

Тумблер на чистом Javascript

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

Но, чтобы писать на чистом JS нужно отказаться от некоторых вещей, которые в jQuery уже реализованы, а вот в JS нет. Какие-то вещи успешно заменяются и это не замечается даже. А какие-то приходится писать самому. Но это дело одного вечера, как правило.

Мне потребовался тумблер. Я привык к всяким bootstrap-switch или к bootstrap-toggle, а в Native JS такого нет. Что-то находил на Github, но там не было возможность установить через NPM. Поэтому, решил написать свой тумблер, который буду расширять со временем и аккуратно за ним следить.

Читать далее