• Google Cloud Storage c PHP: сохранение файлов с публичным доступом

    В связи с тем, что предыдущий сервис с помощью которого я хранил изображения накрылся медным тазом (скорее всего из-за того, что был не прибыльный), мне пришлось искать другие варианты хранения изображений. Сервера я использую бюджетные и не хотелось бы мне платить приличную цену за дополнительные 10 ГБ дисковой памяти. Изучая рынок я наткнулся на Google Cloud Storage (GCS) и решил, что данный продукт мне подойдет (ну как минимум можно протестировать). В рунете (да и не только в нем) мало уделяется внимания для настройки GCS с использованием PHP, поэтому я решил внести свою лепту в это направление.

    В данной статье будет рассмотрено 2 варианта настройки GCS для загрузки файлов (в примере будет реализована загрузка изображения) с помощью php-клиента и с помощью существующего sdk (утилита gsutil) используя shell. Итак, поехали!
    Читать дальше →
    • +10
    • 2,3k
    • 2
  • Записки IoT-провайдера. Введение

    Здравствуйте, уважаемые читатели Хабра. Меня зовут Олег Плотников, я директор Центра Промышленного Интернета одной из IT-компаний.


    Этой статьей я бы хотел начать целый цикл заметок про Интернет Вещей и конкретно про технологию LoRa. О ней уже не раз писали на Хабре, писали интересно и с разных сторон. Однако, наш Центр построил и уже почти год эксплуатирует сеть LoRaWAN и мы накопили большой опыт именно практической эксплуатации этой технологии. Давайте договоримся, я не ставлю своей целью пиар компании, в которой работаю. Но буду периодически обращаться к нашим проектам, когда потребуется что-то проиллюстрировать. Главный акцент своих заметок я бы хотел сделать не на теории, а на практике. Постараюсь заразить вас идеей, что Интернет Вещей – это интересно и черепахоподобная LoRa станет важным кирпичиком в общем фундаменте.


    Читать дальше →
    • +12
    • 2,5k
    • 3
  • Как я делал свой учет финансов под андроид с блэкджеком, СМС и ФНС

    Введение


    Все началось в далеком 2011-м году, когда я купил свой первый андроид смартфон и открыл для себя удивительный мир андроид маркета. Именно там я нашел великолепное приложение для учета финансов Financisto. Несколько лет я трекал в нем свои расходы и доходы, сильно привык, однако были и слабые стороны:


    • необходимость вводить все транзакции вручную. Притом, что доля безналичных платежей непреклонно росла, а банк на каждый чих шлет вам смс.
    • нет глобального взгляда на бюджет в длительном временном разрезе. То есть хотелось видеть таблицу, предположим, на год, где для каждого месяца было бы видно, сколько планировалось потратить и заработать и сколько вышло по факту, плюс итого по всем строкам и столбцам. Тут ориентиром был YNAB.
    • нет синхронизации между устройствами. Да был Flowzr, но как-то он мне не зашел.

    Если вторая проблема решилась экспортом в CSV и всемогущим экселем, то с остальными нужно было что-то делать. Очевидный вариант — сменить программу. Поизучав предложение, пришел к выводу, что все приложения делятся на скудные по функционалу и на дорогие:) Тем временем шел 2015-й год и мне все сильнее хотелось изучить разработку под мобильные девайсы. Что ж, звезды сходятся, принято решение пилить свое приложение!


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



    Читать дальше →
  • Как правильно оптимизировать и легализировать ИТ-инфраструктуру организации

    Создание встроенной и устойчивой информационной инфраструктуры на сегодняшний день находится в центре внимания большинства организаций. Будь то для цифровых преобразований, соблюдения кибербезопасности или увеличения чистой эффективности затрат. На данный момент все большее количество организаций стремятся оптимизировать ИТ-инфраструктуру.

    Но как именно правильно управлять данными активами для получения идеальных результатов?

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

    Для максимально эффективной работы компании необходимо правильное управление программными средствами и программными активами. Но перед тем как анализировать их работу необходимо понимать, что же это такое и составить представление о каждой из программ.
    Читать дальше →
  • Использование ядерной регрессии для прогноза спроса в сетевых магазинах

    Доброго времени суток, уважаемые хабровчане! В данной публикации речь пойдет о модели прогноза спроса на товары в сетевых магазинах и ее реализации на C++.

    Постановка задачи


    Допустим, у нас имеется сеть магазинов, в каждый из которых завозят товары. Товары (для модели прогноза) попадают в каждый магазин произвольным образом. За некий период времени мы имеем статистику — сколько в каждом магазине продано тех или иных товаров. Требуется спрогнозировать продажи товаров за период времени, аналогичный выбранному, для всех магазинов по всем товарам, которые в них не завозились.

    Примечания и допущения постановки задачи
    • Товары, завезенные в магазины, не заканчивались за период сбора статистики.
    • Если в магазин завезли новые для него товары (при том, что старые товары остались), продажи не перераспределяться между старыми и новыми товарами. Статистика по старым товарам останется прежней, просто кто-то дополнительно покупает новые товары. Прогнозирование при невыполнении этого условия потребует дополнительных данных о том, как насыщается спрос при увеличении количества товаров.
    • Период, за который собирали статистику, и период, для которого нужно сделать прогноз, идентичны по спросу.
    Метод решения и исходный код под катом
    • +11
    • 2,5k
    • 5
  • Простой и эффективный расчёт Modbus CRC16 в ПЛК и МК без побитового сдвига и таблиц

    Сакральный алгоритм расчёта CRC16, описанный в литературе и связанный с побитовым сдвигом, плохо вписывается в формат вычислительных возможностей ПЛК и МК. Во-первых, постольку, поскольку его реализация отнимает изрядный объем вычислительных ресурсов вышеозначенных устройств, во-вторых, потому что в ходе такого расчета существенно растягивается время скана программы. Рост скана программы обусловлен тем, что, вследствие словной или байтовой организации аккумулятора арифметико-логического устройства, результирующие битовые операции со словами/байтами в нём выполняются гораздо дольше операций со словами/байтами целиком. В отдельных устройствах операции побитового сдвига и вовсе не поддерживаются, тогда как алгоритм подразумевает выполнение восьми циклов с такими операциями.

    В целях сокращения объема вычислений и, как следствие, времени сканирования при обработке CRC, часто применяется иной алгоритм — табличный, когда таблица масок рассчитывается и заполняется единожды в первом скане программы. Тем не менее, и этот способ не лишён недостатка, ибо также потребляет ресурсы. 512 байт (или 256 двухбайтных слов), порою, отнюдь не лишние.

    А можно ли видоизменить алгоритм расчёта CRC таким образом, чтобы отказаться от применения побитовых сдвигов и таблиц? Безусловно, да. Достаточно лишь внимательно приглядеться к алгоритму с побитовым сдвигом.
    Читать дальше →
  • Mobile-first indexing — революция в поиске от Google



    Итак, то, что было прогнозируемо и ожидаемо на протяжении последних нескольких лет, наконец случилось. Вслед за постоянно растущим трафиком с мобильных устройств поисковые гиганты меняют алгоритмы поиска, подстраиваясь под интересы своих пользователей. В недавно вышедшем релизе от Google говорится о том, что с 1 июля 2018 года будет запущен механизм, ранжирующий сайты по принципу Mobile-first.
    Читать дальше →
  • Так ли плох XMPP, как его малюют? Каким Jabber стал сегодня



    Часто при обсуждении мессенджеров, при упоминании XMPP можно услышать слова:
    Привет из двухтысячных! Неужели кто-то еще пользуется устаревшим протоколом? В XMPP до сих пор нет доставки файлов, сообщений, синхронизации, красивых клиентов?

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

    В этой статье мы рассмотрим для чего создавался XMPP, обсудим в комментариях причины снижения его популярности и каким Jabber стал сегодня

    Предыстория


    В двухтысячных годах у большинства интернет-гигантов были развернуты XMPP сервера. С одного сервера можно было написать на другой и вот уже казалось, если технологию немного доделать появится e-mail 2.0, универсальный мессенджер для всего Интернета, но тут что-то пошло не так.
    Читать дальше →
  • Кто на новенького? Мой первый опыт в разработке игры – от идеи до публикации

    image

    Всем привет! Меня зовут Алексей, я из Санкт-Петербурга. В этой статье расскажу про свой первый опыт разработки мобильной игры под Android на Unity3d.

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

    Также интересно мнение опытных и успешных инди-разработчиков!

    Итак, вот моя история.
    Читать дальше →
  • Уязвимость Mikrotik позволяет получать список всех пользователей через winbox

    Устройства компании Mikrotik стали широко распространены из-за своей цены по отношению к функционалу. Но и ошибки в программном обеспечении никто не отменял. И на этот раз вылез серьёзный баг.


    25 марта один из пользователей форума Mikrotik сообщил об обнаружении подозрительной активности маршрутизаторов mikrotik с применением портов telnet (TCP port 23), TR-069 (TCP port 7547) и WINBOX (TCP 8291).


    Сотрудники компании сослались на баг, который был закрыт год назад. В последствии выяснилось, что это новая уязвимость и 23 апреля компания Микротик сообщила о выпуске прошивок, где эта уязвимость устранена.


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


    Читать дальше →