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

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

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

      Для тех, кто хочет подробнее узнать об этом или вовсе новичок, увидевший возможное решение своей проблемы, добро пожаловать под кат.
      Читать дальше →
    • Псевдонимы (алиасы) bash для Laravel

      • Перевод
      image

      Bash-алиасы («псевдонимы») — это ярлыки к файлам, позволяющие ссылаться на другую команду через более запоминающиеся слова, сокращения или символы. Например, если вы используете Git, вы можете запускать git-статус много раз в течение дня, поэтому, чтобы сэкономить время и количество нажатий клавиш, вы можете присвоить ему алиас, который вызовет правильную команду.
      Читать дальше →
    • Первые впечатления о Laravel API Resources

      • Перевод
      image

      Прошлой ночью Taylor Otwell наконец представил что может стать началом замены Fractal при разработке API на фреймворке Laravel 5.5. Это моя пробная версия статьи, поехали.
      Читать дальше →
    • Laravel 5.3: Подготовка к разработке (для новичков)

        Приветствую тебя, Хабра-сообщество и новички в мире Laravel!

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

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

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

        Laravel 5.3

        Читать дальше →
      • Вышел релиз Laravel 5.3

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

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

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

        image
        Читать дальше →
      • jQuery 3.0 Final Released

        • Перевод
        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
        Подробнее
      • Универсальный скрипт переключения 2-х каналов интернета Mikrotik

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

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

        image
        Читать дальше →
      • Число прописью в Laravel 5

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

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

          image
          Читать дальше →
          • –1
          • 3,3k
          • 3
        • Создание беспарольной аутентификации в Laravel, используя только email

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

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

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

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

          image
          Читать дальше →
          • +7
          • 11,8k
          • 9
        • Предварительный просмотр отправляемого email из Laravel

          • Перевод
          Как написал Саид в своем канале Твиттера:


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

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

          image
          Читать дальше →
        • Скрипт автоматического обновления DDNS для No-IP

          Прочитав множество руководств и примеров написания скрипта для работы Mikrotik с сервисом noip.com, так и не удалось найти готового решения.
          Что не устраивало в других руководствах, например, здесь:
          при написании необходимо прямо в тексте скрипта указывать имя интерфейса, с которого он будет получать внешний IP-адрес, а что если интерфейсов два, три или десять?
          В моем случае имеется 2 канала: pppoe-client и ethernet без пароля, но с динамически получаемым адресом…
          Читать дальше →
          • +6
          • 25,8k
          • 7
        • Полуавтоматическое инкрементирование версии проекта при работе с GIT в Visual Studio

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

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

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

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

            Читать дальше →
          • Mikrotik: автоматическое переключение канала на резервный и обратно

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

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

            Кому интересно, прошу под кат.
            Читать дальше →
          • Узнаем пароль администратора в телефоне Grandstream GXP2124

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

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

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

              image
              Дальше ход действий был следующий:
              Узнать пароль администратора Grandstream GXP2124...
            • Асинхронное обновление программы на C#

                Доброго времени суток, друзья!

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

                image

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

                В предыдущих версиях кода каждый файл скачивался отдельно, что доставляло массу неудобств, начиная со времени ожидания скачивания. Также отсутствовала функция проверки контрольной суммы, что не очень хорошо сказывалось на безопасности их использования.
                Что же такого изменилось в коде, что я решил написать третью статью о все той же истории?
                Читать дальше →
              • Автоматическое обновление программ на C#. Часть 2

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

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

                  Дабы не перепечатывать текст прошлой статьи, в этой акцентирую внимание лишь на переработанных частях кода.
                  Подробности
                • Автоматическое обновление программ на C#

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

                  image

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

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

                  Проблема состоит в том, что программа не может саму себя удалить, заменить и вновь запустить. И, казалось бы, как решить этот вопрос? Здесь нам поможет второй файл, отвечающий за переименование и перезапуск программы, так как мы не гонимся за целью хранить все коды в 1 файле.
                  Читать дальше →