Обновить

Короновирус — почему маски не нужны здоровым и зачем респираторы

Приветствую

Как и многие задавшись вопросом «Зачем люди скупают маски и не прикупить ли мне пару [сотен] штук?», я решил почитать по этому поводу. На Хабре нужной информации в простом изложении не нашел, поэтому решил написать по этому вопросу отдельно.
Читать дальше →

Защищаемся от коронавируса подручными средствами, делаем фильтр для респиратора



Здравствуйте уважаемые читатели!

Началось все с того, что озаботилась я подготовкой к возможному карантину, первым делом решив купить подходящие защитные средства — защитные очки и респиратор, с очками проблем не возникло, а вот масок нужного класса нигде не оказалось, в строймагах встречались только маски начального уровня FFP1 (P1), они защитят разве что от пыли.

В итоге я задумалась над тем, как можно решить проблему отсутствия защитных средств подходящего класса а именно респираторов FFP3 (P3).

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

uBlock Origin — быть или не быть



Если вы выбирали блокировщик рекламы для своего браузера, то определённо знаете gorhill — автора великолепных расширений uBlock Origin для любого и uMatrix для более строгого пользователя. Я считаю блокировщик предметом первой необходимости, поэтому написал инструкцию по настройке uBlock Origin для публики с минимальным уровнем пользователя. Однако, в процессе общения с партнером gorhill, я получил информацию о невозможности рекомендовать установку uBlock Origin для массового использования. По крайней мере, при текущем положении дел…
Читать дальше →

Кейс: 6 способов, как из оффлайн-видео получить онлайн-лида с помощью SMS

Когда-то к нам в Timepad (сервис для создания ивентов) постучались организаторы, которые хотят провести масштабную конференцию для других организаторов. Одной из рекламных возможностей было: разместить в фойе наш видоролик. Мы долго думали, с помощью чего можно конвертить просматривающих в лидов, и решили остановиться на самом классическом варианте, который в отличие от владельца приложений Telegram и QR-кода точно есть у каждого: SMS.

Расчет был прост: делаем промо-ролик с буллитами, а под конец размещаем призыв скачать некий чек-лист с помощью SMS на короткий номер. Таким образом отдел продаж получил бы номера организаторов и обзвонить их. Но когда мы обратились к юристам с вопросами «а так точно законно», те сказали «нет, так как нет согласия на принятие звонка, а вариант „отправляя СМС, вы соглашаетесь на принятие СМС и звонок“ — не прокатит».

Чтобы и законность соблюсти, и не навредить продажам, я стал выписывать возможные варианты выхода из проблемы. Накопилось 6 вариантов, ими-то я сегодня и поделюсь.
Читать дальше →

Управление 74hc595 с помощью Visual Studio

Привет всем читателям Хабра. Поскольку я новичок, то моя статья может быть не очень правильной, но я считаю, что материал предоставленный мной, может представлять определенный интерес. Тема моей статьи посвящена взаимодействию микроконтроллеров arduino и среды разработки visual studio. В данной статье я приведу пример управления регистром 74hc595 с помощью приложения windows forms создаваемом в visual studio.

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

Ниже приведена схема подключения регистра к шкале и контроллеру. В данном случае использовались резисторы сопротивлением 240 ом.
Читать дальше →

Лёгкий способ получить бан в рунете

Многие из нас интересуются рекламой. А ещё больше людей — не только не интересуются, но и ненавидят её всеми фибрами души. «Сколько можно слать мне спам?! Сколько ещё мне терпеть эти мерцающие баннеры, вызывающие эпилептические припадки даже у здоровых и уравновешенных людей?!» — задаются вопросом пользователи. И как правило, быстрый поиск в паутине приводит их простому решению своей проблемы: поставить рекламорезку. Например AdBlock Plus или uBlock Origin.

И вроде бы всем известно, что простая активация этих расширений решительно упрощает веб-сёрфинг, однако мало кто задаётся вопросом: а как именно производится блокировка контента? Кто составляет списки для блокировки? Какие у них стандарты качества? А задаться этими вопросами, вероятно, стоило бы. И вот почему…
Читать дальше →

Перенаправление print() в файл с помощью Python

Всем привет!

С Python работаю совсем недавно. Многого не знаю. Заранее приношу свои извинения.

При разработке программ, для отслеживания логики выполнения и информировании при возникновении исключений, использую функцию print(), которая выводит данные на консоль. На мой взгляд это очень удобно: быстро вставил print('нужная_информация'). Но для использования модуля уже в работе принты, выводящие информацию на консоль совершенно лишние. Хотя конечно, некоторую информацию все таки хотелось бы логировать, писать в файл.
Читать дальше →

Асинхронный forEach

Асинхронный forEach


Первоначально давайте взглянем на polyfill метода. На сайте developer.mozilla.org реализация достаточно подробно описывает всю суть данного метода. Если опустить все проверки на существование тех или иных объектов в контексте текущего браузера и стандарта, то можно написать примерно такой метод, выделив основные действия:

Array.prototype.forEach = function (callback) {
  for (var i = 0; i < this.length; i++) 
    callback(this[i], i, this);
};

В данном примере отсутствует проверка на контекст. В качестве аргумента у нас выступает только callback.
Читать дальше →

Худшее мобильное приложение. Как не надо делать игры

Привет Хабр! Это статья будет полезна некоторым начинающим разработчикам, компании которых состоят из двух-трех человек, так как в ней представлен краткий список вещей, которых не стоит делать таким группам. Рассматривать же будем на примере моего собственного эксперимента, мобильного приложения — Meteor Drop.

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

Тестирование серверной части с использованием фреймворка Gun в Common Test

Всем привет!

Хотел бы поделится своим решением, поскольку не смог найти подходящее.

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

Модифицируем прошивку IP телефона Akuvox SP-R50

Имеется на обслуживании более 2-х сотен SIP телефонов Akuvox SP-R50. Отличаются они крайней нестабильностью имеющейся русской прошивки версии 50.175.6.120.

В сети была найдена более новая прошивка версии 50.0.6.179, которая должна исправить ошибки предыдущей (я на это надеюсь). У этой прошивки пока выявлен один, но очень большой недостаток (с точки зрения пользователей) — она не содержит русского языка интерфейса.

Естественно возникает желание скрестить ежа с ужомстарую и новую прошивки, то есть извлечь файлы перевода из старой прошивки и добавить их в новую.
Читать дальше →

11 друзей Zabbix-агента: расследование возможностей мониторинга баз данных

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

Вот и у нас: была обычная система мониторинга ZenMon — на основе Zabbix, а стала — нативный кросс-платформенный мониторинг баз данных Oracle, MySQL, PostgreSQL с помощью Zabbix Agent. И что в ней главное? Один дашборд на все виды систем и бизнес-процессов, скорость обработки и малое потребление ресурсов. Короче, всё.
Читать дальше →

Как запустить .php скрипт в October CMS

Исходные данные


Этот день я начал с постановки простой задачи — доделать основную верстку проекта и запустить отправку данных из на почту. Задача решается за пару минут, если бы не тот факт, что это мой первый сайт на October CMS, да и ответов на нестандартные вопросы (тем более на русском) не очень много. Плюс ко всему хочется обойтись без плагинов.

В моём случае имеется хостинг на reg.ru, October CMS, сайт в пару десятков страниц и простая форма email-подписки в футере, вот такая:

<form action="/myPhp/mail.php" method="POST">
    <input type="email" name="nl-email" value="" placeholder="Ваш e-mail">
    <button type="submit">Подписаться</button> 
</form>
Читать дальше →

Приложение Сталкер или лучшая игра будущего на мобильные и веб-платформы

Всех приветствую! В этой публикации расскажу Вам о Сталкерском моддинге последних месяцев. Временной промежуток, который я беру в расчёт — январь 2020 года/март 2020 года. Выделю 3 модификации/дополнении вселенной, которые активно разрабатываются и 3, которые уже вышли и ждут своих поклонников. Итак, начнём с тех, которые уже вышли :)

1.


Начнём с «DOOMED TO ETERNAL TORMENT». Переводится эта модификация, как «Обречённый на вечные муки». Что же, название многообещающее :)

Платформой модификации является аддон Зова Припяти. Действия игры происходят осенью 2016 года. Наёмник по кличке Бледный, пытаясь отыскать своего товарища Дэна, пропавшего в путепроводе «Припять-1» год тому назад, вызвал некий катаклизм.

Главным героем игры стал наемник Ворон. По мнению автора, именно он является самым загадочным и мистическим персонажем всей этой истории. Очнувшись посреди лаборатории X8, он не обнаруживает там своего товарища — Дэна, но встречает там некую сущность, которая поможет герою выбраться на поверхность. Оттуда и начнутся наши приключения. Сможет ли Ворон отыскать своих боевых товарищей и представится узнать игроку по мере прохождения игры. Сюжет рассчитан на 2-3 часа игрового процесса.

Скриншоты, сделанные игроками, которые уже успели поиграть в новый мод:




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

ErrorBoundary для неверных props, или как я хакнул prop-types

Не так давно мой техлид на проекте сказал о том, что есть необязательная, но весьма специфичная и в то же время интересная задача: нужно сделать Error Boundary для обработки неверно пришедших props в компонент. Я на радостях за нее взялся с уверенностью, что в документации уже точно есть такое решение.

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

Несколько часов серфинга не дали абсолютно никаких результатов и я осознал, что мне придется лезть внутрь пакета prop-types.

На самом деле было сложно понять, что там творится внутри, но все-таки мое внимание кое-что привлекло, а именно константа ReactPropTypesSecret в одноименном файле:

var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';

Звучит угрожающе, правда?

Я долго не мог понять, что же значит эта константа. Сначала я подумал, что это просто какая-то забавная пасхалка от Facebook, но не тут-то было, у нее и в самом деле есть смысл!
В файле factoryWithTypeCheckers.js я нашел функцию checkType, которая по сути является тем самым валидатором, который кидает warning в консоль, если в компонент пришли неверные props:

function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {

Обратите внимание на последний аргумент! Если последним аргументом в эту функцию передать константу из файла ReactPropTypesSecret.js, то вместо warning в консоль функция будет возвращать объект ошибки неверных props, либо null, если все верно.
И уже это можно использовать для того, чтобы создать компонент-обработчик ошибок для неверных props.
Читать дальше →

Бизнес–хостинг — в чем отличие от обычного хостинга?

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

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

Что такое блокчейн и критерии сравнения блокчейнов

Регулярно сталкиваясь в процессе обсуждения технологии блокчейна с различным пониманием того что является технологией блокчейна, автор пришел к мнению что в среде IT специалистов нет консенсуса в понимании что же такое блокчейн и почему его появление вызвало такой резонанс в обществе. Часть специалистов использует отсутствие единого мнения что есть «блокчейн» для манипуляции заказчиком или пользователями с целью достижения сиюминутных, тактических целей, создавая еще большую энтропию и хаос в процессе становления данной технологии.
Многие IT-специалисты, с которыми приходилось сталкиваться жаловались на отсутствие критериев сравнения и оценки различных блокчейнов. Данная статья является попыткой определить, что же является технологией блокчейна и дать универсальные критерии сравнения технологии блокчейна. Что бы понять, что такое блокчейн нужно понять, что похоже на блокчейн, но блокчейном не является.

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

Цифровое «Королевство» на PHP

Синопсис


Доброго всем дня! Хотел представить вам свою работу над веб-сервисом, демонстрирующем жизнь случайного «Королевства». Идея проекта такова: в базе создается набор персонажей со случайными характеристиками. Персонажи каждый час принимают те или иные решения, которые влияют на общее положение дел. Помимо этого, в королевстве происходят случайные события, которые в разной степени влияют на его обитателей.

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