Как стать автором
Обновить
38
0
Andrey Helldar @Helldar

Senior PHP Developer

Отправить сообщение

Mikrotik: Ограничение скорости скачивания для определенных IP-адресов

Время на прочтение4 мин
Количество просмотров42K
Предыстория: имеем Интернет-соединение со скоростью «до 50 Мбит/с», имеющее «фичу» разгоняться до 100 если канал свободен. Пользуясь облачным хранилищем заметил проблему, что выгрузив или загрузив около 50-100 файлов клиент для работы с облаком «зависает» и либо качает файлы на крайне низкой скорости (порядка 50-200 Кбит/с), либо вообще «молчит». При этом, сайты в браузере открываются без всяких проблем.

Как такое может быть? Ограничение ширины канала по определенным IP-адресам при скачке за определенный промежуток времени.

Для тех, кто хочет подробнее узнать об этом или вовсе новичок, увидевший возможное решение своей проблемы, добро пожаловать под кат.
Читать дальше →
Всего голосов 8: ↑5 и ↓3+2
Комментарии39

Псевдонимы (алиасы) bash для Laravel

Время на прочтение8 мин
Количество просмотров18K
image

Bash-алиасы («псевдонимы») — это ярлыки к файлам, позволяющие ссылаться на другую команду через более запоминающиеся слова, сокращения или символы. Например, если вы используете Git, вы можете запускать git-статус много раз в течение дня, поэтому, чтобы сэкономить время и количество нажатий клавиш, вы можете присвоить ему алиас, который вызовет правильную команду.
Читать дальше →
Всего голосов 17: ↑13 и ↓4+9
Комментарии5

Первые впечатления о Laravel API Resources

Время на прочтение3 мин
Количество просмотров23K
image

Прошлой ночью Taylor Otwell наконец представил что может стать началом замены Fractal при разработке API на фреймворке Laravel 5.5. Это моя пробная версия статьи, поехали.
Читать дальше →
Всего голосов 23: ↑18 и ↓5+13
Комментарии10

Laravel 5.3: Подготовка к разработке (для новичков)

Время на прочтение11 мин
Количество просмотров123K
Приветствую тебя, Хабра-сообщество и новички в мире Laravel!

Данная статья написана для новичков в сфере Лары и призвана помочь им в начальной стадии освоения фреймворка.

В статье будут рассмотрены, так сказать, «базовые» пакеты, без которых лично мне трудно работать над каким-либо проектом.

Итак, если Вам интересна тема, прошу под кат.

Laravel 5.3

Читать дальше →
Всего голосов 25: ↑20 и ↓5+15
Комментарии96

Вышел релиз Laravel 5.3

Время на прочтение4 мин
Количество просмотров20K
Команда Laravel с гордостью объявляет о релизе Laravel 5.3, доступной для всех. Новые возможности версии 5.3 направлены на улучшение скорости разработчика за счет добавления и улучшения функций «из коробки».

Этот релиз будет получать общие обновления в течение шести месяцев, и обновления безопасности в течение одного года. Laravel 5.1 является последней версией LTS, включающей исправления ошибок в течение двух лет, и исправления безопасности в течение трех лет.

Ниже краткий обзор некоторых основных моментов новой 5.3 версии.

image
Читать дальше →
Всего голосов 31: ↑27 и ↓4+23
Комментарии126

jQuery 3.0 Final Released

Время на прочтение9 мин
Количество просмотров57K
9 июня 2016 года состоялся официальный релиз jQuery 3.0, которая была в разработке с октября 2014 года. Нашей целью было создание более легкой и быстрой версии jQuery (конечно, с обратной совместимостью). Мы удалили все старые костыли для IE и использовали некоторое более современное веб API там, где это необходимо. jQuery 3.0 является продолжением ветки 2.x, но с некоторыми изменениями, которые давно хотели внести. Такие ветки как 1.12 и 2.2 будут получать критические патчи в течение некоторого времени, но ожидать новый функционал в них не стоит. jQuery 3.0 — это будущее jQuery. Если вдруг Вам нужна поддержка IE 6-8, Вы можете продолжать использовать релиз версии 1.12.

image
Подробнее
Всего голосов 35: ↑24 и ↓11+13
Комментарии36

Зомбикод: когда поддержка не нужна

Время на прочтение5 мин
Количество просмотров90
image

Вы молод, ловок, быстр, и можете кодить словно ветер. Но вы пишете настолько простой поддерживаемый код, что любой его может изменить?

Да, говорите? Зачем?

Вы разве не знаете, что он устареет уже через год? Не беспокойтесь, что в будущем какой-нибудь разработчик испортит первозданную красоту результата Вашего кропотливого труда? Разве Вы не восхищаетесь случайным хрупким, незаменимым устаревшим комком грязи? Вы бы не писали зомбикод, который никто не может понять, кроме Вас, и который читается со страхом и трепетом, и код, который будет жить вечно на предприятии, потому что никто не смеет его трогать?

Это не легко, но Вы можете это сделать. Приложив небольшие усилия, Вы можете культивировать првычки и дисциплины, которые позволят Вам не только сразу писать правильный код, но и превзойти этот уровень, написав финальный зомби-код, продолжающий ходить по земле после долгих лет жизни. Вот так:
Читать дальше →
Рейтинг0
Комментарии0

Универсальный скрипт переключения 2-х каналов интернета Mikrotik

Время на прочтение8 мин
Количество просмотров66K
Около 2,5 лет назад писал статью на тему автоматического переключения канала Интернет на резервный. Скрипт, конечно, и по сей день работает «на отлично», но его внешний вид и некоторые нюансы…

Итак, встала задача улучшить скрипт, максимально устранив побочные эффекты. Что ж, приступим.

image
Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии34

Число прописью в Laravel 5

Время на прочтение1 мин
Количество просмотров5.4K
Иногда необходимо вывести число прописью при формировании какой-либо формы и нам приходит на помощь модуль DigitText, разработанный специально для фреймворка Laravel.

Он позволяет обрабатывать любое число на любом языке

image
Читать дальше →
Всего голосов 7: ↑3 и ↓4-1
Комментарии3

Создание беспарольной аутентификации в Laravel, используя только email

Время на прочтение6 мин
Количество просмотров17K
Недавно я работал над проектом, где одной из болевых точек был пароль пользователя. Администратор добавлял пользователей в приложение, поэтому они не имеют пароля, а заставлять их придумывать пароль при первом после регистрации входе было крайне неудобно.

Итак, мы решили попробовать метод беспарольного входа. Если Вы никогда не имели возможности работать с этим, мы расскажем как это работает:

На странице входа в систему пользователь вводит свой email-адрес, на который получит ссылку на вход. Переход по ссылке подтверждает личность пользователя без необходимости ввода пароля, так как ссылка для каждого входа пользователя уникальная.

Начнем творить!

image
Читать дальше →
Всего голосов 13: ↑10 и ↓3+7
Комментарии9

Предварительный просмотр отправляемого email из Laravel

Время на прочтение2 мин
Количество просмотров5.4K
Как написал Саид в своем канале Твиттера:


«Мой новый пакет для @laravelphp конвертирует отправляемые Вами письма в .html для проверки корректности на стадии разработки.»

Этот пакет представляет новый драйвер для предварительного просмотра почты в Laravel. При необходимости, он будет производить вывод отправленных сообщений электронной почты, сохранив его как HTML-документ, позволяя проверять его внешний вид.

image
Читать дальше →
Всего голосов 16: ↑10 и ↓6+4
Комментарии4

Декодирование типа данных JSON MySQL

Время на прочтение3 мин
Количество просмотров41K
В этом посте мы собираемся исследовать тип данных JSON в MySQL 5.7 и во время погружения будем использовать фреймворк Laravel для построения запросов.

image
Читать дальше →
Всего голосов 16: ↑12 и ↓4+8
Комментарии22

Скрипт автоматического обновления DDNS для No-IP

Время на прочтение4 мин
Количество просмотров39K
Прочитав множество руководств и примеров написания скрипта для работы Mikrotik с сервисом noip.com, так и не удалось найти готового решения.
Что не устраивало в других руководствах, например, здесь:
при написании необходимо прямо в тексте скрипта указывать имя интерфейса, с которого он будет получать внешний IP-адрес, а что если интерфейсов два, три или десять?
В моем случае имеется 2 канала: pppoe-client и ethernet без пароля, но с динамически получаемым адресом…
Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии7

Полуавтоматическое инкрементирование версии проекта при работе с GIT в Visual Studio

Время на прочтение5 мин
Количество просмотров21K
В Интернетах написано немало статей об инкрементировании версий своих приложений и каждый использует свой метод. У кого-то ревизии используются в качестве «билдов», у кого-то это количество секунд текущих суток (например, Microsoft), у кого-то что-то другое.

В моем проекте используются 4 определяющие версии.

Например, 1.2.34.56, где:
1 — Major version: Критические изменения проекта (введен новый функционал, в корне переработан существующий и пр.). Устанавливается вручную;
2 — Minor version: Изменение функциональных частей приложения, значительное улучшение кода и пр. Устанавливается вручную;
24 — Build: номер релиза, попадающего в общество. Назначается автоматически;
56 — Revision: номер ревизии, полученный с GIT. Назначается автоматически.

Я не буду рассматривать кто какими методами пользуется, поэтому напишу как достиг данного результата.

Читать дальше →
Всего голосов 25: ↑17 и ↓8+9
Комментарии20

Mikrotik: автоматическое переключение канала на резервный и обратно

Время на прочтение5 мин
Количество просмотров193K
Написать данный пост меня сподвигла ситуация с отключением одного из каналов Интернета.
В самом же Интернете ответов по данному вопросу много, но не каждый является рабочим.

Что я хотел сделать, если отключается основной канал Интернета:
1. Переключиться на резервный канал (после «появления», разумеется, вернуться на основной);
2. Отправить уведомление по email о факте изменения состояния.

Кому интересно, прошу под кат.
Читать дальше →
Всего голосов 32: ↑27 и ↓5+22
Комментарии30

Узнаем пароль администратора в телефоне Grandstream GXP2124

Время на прочтение2 мин
Количество просмотров31K
Сегодня столкнулся с проблемой: кто-то изменил пароль администратора к телефону. Почитав в сети информацию, сделал вывод, чтобы:

  • Изменить пароль администратора, нужен пароль администратора;
  • Сбросить телефон в заводские настройки, нужен пароль администратора;
  • Перепрошить телефон — вновь нужен тот отсутствующий пароль...

Как же найти выход из сложившейся ситуации? Да легко!
Для «узнавания» пароля мной был использован самый обычный браузер Google Chrome с установленным компонентов Furebug, плюс, другой телефон Grandstream GXP2124, доступ к которому у меня есть.

image
Дальше ход действий был следующий:
Узнать пароль администратора Grandstream GXP2124...
Всего голосов 25: ↑21 и ↓4+17
Комментарии11

Асинхронное обновление программы на C#

Время на прочтение10 мин
Количество просмотров20K
Доброго времени суток, друзья!

В предыдущих своих статьях (раз и два) я писал о реализации функции автоматического обновления программы и имея множество недочетов, было принято решение по ее улучшению, а также с целью сделать код более «дружелюбным», что ли. Сокращая строки и оптимизируя формат мне удалось достичь более качественной асинхронной загрузки файлов, практически исключающей вероятность подмены файла обновления (проверка контрольной суммы), а также добавлено несколько новых разработок. Там самым предпринимаю очередную попытку реабилитироваться.

image

В работе моя программа использует следующие файлы, находящиеся в той же папке, что и исполняемый файл:
  • Ionic.Zip.dll — реализация архивирования файлов дебага;
  • LanguagePack.dll — собственная библиотека, содержащая перевод названия элементов формы на нужный язык;
  • Newtonsoft.Json.dll — JSON-библиотека;
  • ProcessesLibrary.dll — своя библиотека, содержащая список процессов;
  • restart.exe — утилита перезапуска основного приложения;
  • updater.exe — утилита обновления основного приложения
  • settings.xml — файл настроек.

В предыдущих версиях кода каждый файл скачивался отдельно, что доставляло массу неудобств, начиная со времени ожидания скачивания. Также отсутствовала функция проверки контрольной суммы, что не очень хорошо сказывалось на безопасности их использования.
Что же такого изменилось в коде, что я решил написать третью статью о все той же истории?
Читать дальше →
Всего голосов 29: ↑14 и ↓15-1
Комментарии77

Автоматическое обновление программ на C#. Часть 2

Время на прочтение4 мин
Количество просмотров33K
Несколько дней назад мной была написана статья о реализации автоматического обновления программного обеспечения на языке C#.

Приняв во внимание конструктивную критику комментаторов, было принято решение улучшить тот код, добавив несколько новых возможностей, включая улучшение «старых»:
  • Автоматическая проверка, скачивание и установка обновлений;
  • Предоставление пользователю возможности выбора момента обновления (новое);
  • Улучшен механизм проверки версии файла;
  • Проверка целостности файла обновления (новое)

Дабы не перепечатывать текст прошлой статьи, в этой акцентирую внимание лишь на переработанных частях кода.
Подробности
Всего голосов 18: ↑9 и ↓90
Комментарии28

Автоматическое обновление программ на C#

Время на прочтение5 мин
Количество просмотров89K
Несколько лет назад, программируя еще на Delphi, лично для себя соорудил некий код автоматического обновления, который в последствии стал незаменимым при разработке любой программы, где есть обновление. В настоящий момент этот код полностью переписан на c# и я хочу с Вами им поделиться.

image

Вначале определим цели этой реализации:

  1. При обнаружении новой версии обновление должно происходить автоматически;
  2. После обновления программа должна автоматически перезапускаться;
  3. После обновления имя программы должно остаться прежним.

Проблема состоит в том, что программа не может саму себя удалить, заменить и вновь запустить. И, казалось бы, как решить этот вопрос? Здесь нам поможет второй файл, отвечающий за переименование и перезапуск программы, так как мы не гонимся за целью хранить все коды в 1 файле.
Читать дальше →
Всего голосов 31: ↑16 и ↓15+1
Комментарии55
2

Информация

В рейтинге
4 755-й
Откуда
Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Backend Developer
Lead
От 350 000 ₽
PHP
MySQL
Git
OOP
Docker
Redis
SQL
Laravel
Elasticsearch