PHP wget/curl

Для простых get-запросов достаточен file_get_contents, для чего-то более сложного рекомендуют использовать библиотеку curl. Примеры использования Curl можно взять тут.
Пример
Выгрузка содержимого страницы в php. Юзал fopen насколько помню, чтобы отдать URL с переменной нужно заменить скобки ” на “”.


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

Linux сервис на well-known порту

В Linux нельзя запустить прослушивание порта на well-known портах без прав админа. Это касается любого приложения – ruby сервера, linux утилит.
~$ nc -l 80.87.194.88 1111  - ok
~$ nc -l 80.87.194.88 90 - fail
nc: Permission denied
~$ sudo nc -l 80.87.194.88 90 - ok 


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

STP + IPOE (Q-in-Q) баг на D-Link DGS-3620

В 4-6 утра загружается DGS-3620 в одном из участков сети с настройкой STP как на Downlink, так и на Uplink портах. Причем через какое-то время после перехода в Exhausted переключает порты в discarding и тем самым вызывает прерывание трафика на пару секунд.

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

Варианты реализации непубличных ботов

Варианты реализации непубличных ботов (помимо sms):
  • telegram – очень удобно, но, если это внутренний инструмент компании, то, по хорошему, не совсем правильно с точки зрения безопасности хранить данные в сторонней системе, даже если это не персональные/критичные бизнес данные
  • приложение ios/android/windows –  не универсально, в отличии от WEB (даже с учетом api в backend + front app)
  • web + приложение/код по мультифакторной аутентификации – хороший вариант, но менее удобный в сравнении с telegram
  • ssh – неудобно, каждому нужно ставить ssh-клиент на телефон + вопрос по авторизации (напр.


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

PHP: If-else-elseif

Однострочный if

В данном случае если не заполнена форма – ничего не делаем.

if ("$user_request" == "Введите запрос") exit();

Elseif

 if ($variable == $variable2) {
   echo "1";
 } else if (!$variable == $variable3) {
   echo "2";
 } else if ($variable == $variable4) {
   echo "3";
 } else {
   echo "4";
 }


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

Google Glass fail

Google Glass по всем признакам зафейлились т.к. о них не было уже давно никаких новостей. В принципе, первый блин комом. Явно не стоит все носимые девайсы из-за этого обрекать на провал. Направление явно перспективное и все это понимают, поэтому вендоры так и толпятся с умными часами/браслетами 😉

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

Браслет как проектор экрана телефона

В просторах интернета набрел на интересный crowd-source проект cicret.com по созданию умного браслета.

Интерфейс смартфона можно открыть на руке – покупается браслет, который имеет встроенный проектор и датчики приближения. Дергаешь руку – появляется изображение с проектора, проводишь пальцем (активируется датчик приближения) – управляешь.

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

Почему не стоит брать Apple Watch и другие «типовые» Smart Watch; опыт использования seiko ssc353, Casio G-Shock DW-5600WB-7E; Casio G-Shock AWG-M100B-A; Xiaomi Mi Smart Band 8; Garmin Fenix 7s pro

  • сейчас рассматриваю garmin fenix 7s pro sapphire solar 42mm (в итоге их взял – part number 010-02776-11) или garmin 7 pro solar 47mm или garmin 8 solar 47mm
    • смарт, но живут недели (вплоть до месяца) на одном заряде
      • garmin 7 (s) pro solar 47:
    • не выглядят игрушкой
    • имеют reflective экран memory in pixel (MIP)
      • намного менее интенсивное потреблении батареи и небольшого прироста жизни за счет solar (для походчиков/кто живет/работает на природе)
      • ближе в сравнениие с amoled к классическим часам – он отражает свет, не отвлекает свечением, время можно узнать зачастую не поворачивая руку (я в том числе отключил включение подсветки на поворот запястья – лично меня это раздражает)
        • Обсуждение на reddit: https://www.reddit.com/r/Garmin/comments/18jv2b6/amoled_or_mip/?rdt=53015


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

API google, yandex

  • У Google/Yandex огромное количество API для развития сайтов. Я попробовал только geolocation (определение location на сайте), analytics (предоставление данных о посещаемости и посетителях администратору сайта), etc.
  • Для установки Analytics/Metric нужно в header сайта добавить код из Google/Yandex. В случае WordPress нужно учитывать, что добавление в header.php


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