Как стать автором
Обновить
5
Карма
0
Рейтинг
Ihor Kostiuk @ki0

Пользователь

  • Подписчики 3
  • Подписки 2
  • Публикации
  • Комментарии

Подключаем новый Xiaomi Gateway 3 к Home Assistant без паяльника и смс

Разработка для интернета вещей *Гаджеты Умный дом

Новый хаб от Xiaomi с поддержкой технологий Zigbee 3, Bluetooth Mesh, HomeKit и его подключение к достаточно популярной системе умного дома — Home Assistant, интересует?


Читать дальше →
Всего голосов 39: ↑39 и ↓0 +39
Просмотры 60K
Комментарии 47

Генерация URL с параметрами на коленке и best practice

JavaScript *
Tutorial

Как-то я увидел в проекте соседней команды код, который генерировал строку с URL-параметрами для последующей вставки в iframe src-атрибут.


Эта статья может показаться лишней, очевидной или слишком простой, но раз такое встречается в живой природе, об этом не стоит молчать, а наоборот, поделиться best-practices.


Итак, вот он, оригинальный код:


const createQueryString = (param1, param2, objectId, timestamp, name) => {
  const encodedTimestamp = encodeURIComponent(timestamp);
  const delimiter = '&';
  const queryString = `${param1}${delimiter}
        param2=${param2}${delimiter}
        objectId=${objectId}${delimiter}
        itemTimestamp=${encodedTimestamp}${delimiter}
        itemName=${name}`;
  return queryString.replace(/ /g, '%20');
};

Для справки, param1 и param2 в оригинальном коде имеют говорящие названия. А их значения могут быть любыми строками с множеством невалидных для URL символов

Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 2.9K
Комментарии 3

В каких странах выгодно регистрировать IT-компании в 2019 году

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

image

Однако, когда речь заходит о ведении международного бизнеса, любой айтишник понимает: компания в России и СНГ проигрывает по многим параметрам своим иностранным коллегам. Даже крупные холдинги, которые работают в первую очередь на внутренний рынок, зачастую выносят часть мощностей за пределы страны.

То же касается и компаний поменьше, но вдвойне актуальным решение о переносе компании за границу становится тогда, когда клиенты расположены по всему миру.

Я составила список стран, где в 2019 году интересно и выгодно регистрировать компании для ведения IT-бизнеса. Единственная оговорка – не проговаривались особенности регистрации Fintech-стартапов, которым нужно получать лицензию на выпуск электронных денег или на ведение банковской деятельности.

Что нужно учитывать при выборе страны для регистрации IT-компании?


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

Читать дальше →
Всего голосов 32: ↑22 и ↓10 +12
Просмотры 33K
Комментарии 44

Почему, зачем и когда нужно использовать ValueTask

Программирование *.NET *C# *
Перевод

Этот перевод появился благодаря хорошему комментарию 0x1000000.

image


В .NET Framework 4 появилось пространство System.Threading.Tasks, а с ним и класс Task. Этот тип и порождённый от него Task<TResult> долго дожидались, пока их признают стандартами в .NET в роли ключевых аспектов модели асинхронного программирования, которая была представлена в C# 5 с его операторами async/await. В этой статье я расскажу о новых типах ValueTask/ValueTask<TResult>, разработанных для улучшения производительности асинхронных методов в случаях, когда издержки на выделение памяти нужно принимать во внимание.

Читать дальше →
Всего голосов 23: ↑21 и ↓2 +19
Просмотры 28K
Комментарии 2

Асинхронное программирование – производительность async: понять расходы на async и await

Программирование *.NET *C# *
Перевод

Это статья достаточно древняя, но не потерявшая актуальности. Когда разговор заходит об async/await, как правило, появляется ссылка на неё. Перевода на русский найти не смог, решил помочь кто не fluent.




Асинхронное программирование долгое время было царством самых опытных разработчиков с тягой к мазохизму – тех, кто имел достаточно свободного времени, склонность и психические способности размышлять об обратных вызовах (callback) из обратных вызовов в нелинейном потоке выполнения. С появлением Microsoft .NET Framework 4.5, C# и Visual Basic принесли асинхронность всем нам, так что простые смертные теперь могут писать асинхронные методы почти так же легко, как синхронные. Обратные вызовы больше не нужны. Больше не нужна явная передача (marshaling) кода из одного контекста синхронизации в другой. Больше не нужно беспокоиться как двигаются результаты выполнения или исключения. Нет необходимости в трюках, которые искажают средства языков программирования для удобства разработки асинхронного кода. Короче говоря, больше нет мороки и головной боли.

Читать дальше →
Всего голосов 24: ↑24 и ↓0 +24
Просмотры 27K
Комментарии 5

Облачные сервисы для игры на слабых ПК, актуальные в 2019 году

Облачные сервисы Игры и игровые приставки Будущее здесь


Объем рынка игр оценивается в $140 млрд. С каждым годом рынок расширяется, свою нишу находят новые компании, развиваются и старые игроки. Один из наиболее активно развивающихся трендов гейминга — облачные игры, когда для запуска новинки не нужны ни мощный ПК, ни консоль последнего поколения.

По данным аналитического агентства IHS Markit, в прошлом году игровые сервисы, предлагающие игры «в облаке» заработали $387 млн. К 2023 году аналитики предсказывают рост до $2,5 млрд. С каждым годом количество компаний, которые занимаются развитием облачного гейминга, растет. Сейчас на рынке наиболее известны 5-6 игроков, к которым совсем недавно примкнула корпорация Google. Что они предлагают?
Всего голосов 14: ↑14 и ↓0 +14
Просмотры 241K
Комментарии 14

Как можно долго и с интересом разглядывать потолок на стене

Видеотехника Периферия DIY или Сделай сам

КДПВО почти личном опыте выбора и настройки проектора в условиях однушки на отшибе и ограниченности бюджета или что делать, если на $18м^2$ захотелось экран 3+ метра.


Осторожно, трафик.

Ознакомиться с подробностями
Всего голосов 36: ↑36 и ↓0 +36
Просмотры 33K
Комментарии 171

Comodo отзывает сертификаты без причины

Информационная безопасность *Системное администрирование *IT-инфраструктура *Разработка под Windows *Софт
Могли ли вы представить себе, что крупная компания будет заниматься обманом своих клиентов, особенно если эта компания позиционирует себя гарантом безопасности? Вот и я не мог до недавнего времени. Эта статья — предостережение, чтобы вы сначала десять раз подумали, перед тем как покупать сертификат для подписи кода у Comodo.
Читать дальше →
Всего голосов 68: ↑66 и ↓2 +64
Просмотры 30K
Комментарии 192

Выбор телевизора себе, любимому, с позиции науки, а не рекламы

Анализ и проектирование систем *Мониторы и ТВ Умный дом Лайфхаки для гиков Инженерные системы

Всем привет.

На написание этой небольшой статьи меня натолкнул спор касательно выбора телевизора.

Сейчас в этой области — равно как в «мегапикселях для камер» — царит маркетинговая вакханалия в погоне за разрешениями: HD Ready давно сменились на Full HD, а уже становятся всё более популярными 4К и даже 8К.

Давайте разберёмся — а что нам реально-то нужно?
Читать дальше →
Всего голосов 142: ↑124 и ↓18 +106
Просмотры 110K
Комментарии 346

Chrome тестирует Picture-in-Picture API для всплывающих видео вне браузера

Блог компании Voximplant Разработка веб-сайтов *JavaScript *Google Chrome API *
Перевод

Производители браузеров работают над W3C API, которое утвердит Picture-in-Picture (PiP) режим и позволит сайтам показывать всплывающие видео вне окна браузера.

В прошлом, PiP поддерживался только внутри канваса как всплывающее окно, которое появляется только в активной вкладке, пока пользователь скроллит страницу вверх-вниз.

Некоторые платформы добавили поддержку PiP-режима, но это были API, заточенные под OS, то есть работающие с любыми видеоприложениями, но не только с браузерами.
Читать дальше →
Всего голосов 25: ↑24 и ↓1 +23
Просмотры 9.2K
Комментарии 27

Взлом визуальной системы: 11 оптических иллюзий в графическом дизайне

Веб-дизайн *Типографика *Интерфейсы *Usability *Графический дизайн *
Перевод
Глубока ли кроличья нора?

image

Сколько минут вам потребуется, чтобы понять в чем фишка?

Фрэнсис Бэкон в 1620 году разделил источники человеческих ошибок, стоящих на пути познания, на четыре группы, которые он назвал «призраками» или «идолами» (лат. idola).

  • «Призраки рода» проистекают из самой человеческой природы, они не зависят ни от культуры, ни от индивидуальности человека. «Ум человека уподобляется неровному зеркалу, которое, примешивая к природе вещей свою природу, отражает вещи в искривлённом и обезображенном виде».
  • «Призраки пещеры» — это индивидуальные ошибки восприятия, как врождённые, так и приобретённые. «Ведь у каждого, помимо ошибок, свойственных роду человеческому, есть своя особая пещера, которая ослабляет и искажает свет природы».
  • «Призраки площади (рынка)» — следствие общественной природы человека, — общения и использования в общении языка. «Люди объединяются речью. Слова же устанавливаются сообразно разумению толпы. Поэтому плохое и нелепое установление слов удивительным образом осаждает разум».
  • «Призраки театра» — это усваиваемые человеком от других людей ложные представления об устройстве действительности. «При этом мы разумеем здесь не только общие философские учения, но и многочисленные начала и аксиомы наук, которые получили силу вследствие предания, веры и беззаботности». [Wikipedia]

Под катом — наглядная демонстрация уязвимости нашего мозга к атакам через визуальный ввод. Представляю вам перевод статьи продуктового дизайнера и фронтэнд-разработчика Balraj Chana, про то как можно использовать/нейтрализовать эффект оптических иллюзий.
Читать дальше →
Всего голосов 86: ↑78 и ↓8 +70
Просмотры 63K
Комментарии 28

Безопасность Wi-Fi под угрозой из-за множества обнаруженных в WPA2 уязвимостей

Сетевые технологии *Беспроводные технологии *Стандарты связи

Интернет замер в ожидании релиза proof-of-concept эксплоита под названием KRACK (аббревиатура от Key Reinstallation Attacks). Дело в том, что в минувшие выходные стало известно, то сводная группа специалистов готовит скоординированное раскрытие информации о неких критических проблемах WPA2, которые позволяют обойти защиту и прослушивать Wi-Fi-трафик, передаваемый между точкой доступа и компьютером.


Формально исследователи расскажут о найденных ими уязвимостях лишь 1 ноября 2017 года, на конференции ACM CCS. На мероприятии будет представлен доклад, озаглавленный Key Reinstallation Attacks: Forcing Nonce Reuse in WPA2 («Атака на реинсталляцию ключей: принудительное повторное использование nonce в WPA2»).

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

Сравнение кэшбэк-систем: экономика, геймификация и постмаркетинговые акции

Я пиарюсь


История кэшбэка началась в 1891 году, когда в американской компании Green Shield придумали неожиданный рекламный трюк для привлечения новых клиентов. Механика акции была элементарна — Green Shield выпустили марки, которые клиенты компаний могли обменять на товары, наличные или скидки.

Магазин сам может назначать скидку на любой товар. И до Green Shield продавцы использовали различные акции, например, выпускали медные жетоны. Такой денежный суррогат можно было накапливать и обменивать на товары из специального каталога. Однако в определенный момент эта схема переставала привлекать новых клиентов.

Революция началась, когда в маркетинговую цепочку добавили партнеров — сейчас их называют кэшбэк-сервисами. Задача по привлечению клиентов перекладывается на партнера, лояльность клиента с каждой скидкой растет и все, на первый взгляд, в выгоде. Со временем количество подобных сервисов выросло неимоверно, что позволяло строить длинные цепочки передачи денег за товар. Давайте разберёмся, можно ли сегодня получать прибыль от многоуровневых кэшбэков, или же в выигрыше остается только «казино».
Читать дальше →
Всего голосов 11: ↑10 и ↓1 +9
Просмотры 14K
Комментарии 15

[Перевод] Круглее круга: оптические эффекты при проектировании интерфейсов

Веб-дизайн *Интерфейсы *Usability *Дизайн мобильных приложений *Графический дизайн *
Перевод
Какой «круг»воспринимается как самый «круглый»?

image

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

Как создать визуально пропорциональные иконки, правильно расположить объекты разных форм и выполнить идеальное скругление углов. В посте представлено более 50 изображений.
Читать дальше →
Всего голосов 86: ↑85 и ↓1 +84
Просмотры 39K
Комментарии 44

ИИ для покера: как научить алгоритмы блефовать

Блог компании Сбер Python *Программирование *Алгоритмы *Машинное обучение *
image

О том как совершенствуется искусственный интеллект, можно судить по обычным играм. За последние два десятилетия алгоритмы превзошли лучших мировых игроков: сначала пали нарды и шашки, затем шахматы, «Своя Игра» (Jeopardy!), в 2015 году — видеоигры Atari и в прошлом году — Го.


Все эти успехи — про игры с информационной симметрией, где игроки имеют идентичную информацию о текущем состоянии игры. Это свойство полноты информации лежит в основе алгоритмов, обеспечивающих эти успехи, например, локальном поиске во время игры.


Но как обстоит дело с играми с неполной информацией?


Самым наглядный пример такой игры — покер. Чтобы на деле разобраться с этой игрой и алгоритмами решения этой задачи, мы организуем хакатон по написанию игровых ботов на основе машинного обучения. О том как научить алгоритмы блефовать и попробовать свои силы в покер, не трогая карты, под катом.

Читать дальше →
Всего голосов 29: ↑27 и ↓2 +25
Просмотры 31K
Комментарии 17

Как я использую git

Git *Системы управления версиями *

Intro


Основам git мне пришлось научиться на своем первом месте работы (около трех лет назад).
С тех пор я считал, что для полноценной работы нужно запомнить всего-лишь несколько команд:


  • git add <path>
  • git commit
  • git checkout <path/branch>
  • git checkout -b <new branch>

И дополнительно:


  • git push/pull
  • git merge <branch>
  • git rebase master (а что, можно еще и на другие ветки ребейзить? О_о)

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

Читать дальше →
Всего голосов 117: ↑106 и ↓11 +95
Просмотры 87K
Комментарии 195

Перехватываем запуск любого приложения в Windows и пытаемся ничего не сломать

Программирование *Delphi *Разработка под Windows *
Из песочницы

Если вы много занимаетесь отладкой приложений под Windows — вы, возможно, слышали о таком замечательном механизме, как Image File Execution Options (IFEO). Одна из предоставляемых им возможностей позволяет отлаживать приложение в условиях, более приближенных к боевым. Записав в нужное место в реестре специальный ключик, мы можем вместо программы автоматически запускать её отладчик, позволяя ему делать свои отладочные дела. Однако кто сказал, что этот механизм (фактически — перехвата запуска чего угодно) можно использовать только в подобных целях? Эта статья вовсе не об использовании вещей по назначению.


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

Читать дальше →
Всего голосов 49: ↑48 и ↓1 +47
Просмотры 41K
Комментарии 21

Win32/Industroyer: новая угроза для промышленных систем управления

Блог компании ESET NOD32 Антивирусная защита *
Win32/Industroyer – сложная вредоносная программа, предназначенная для нарушения рабочих процессов в промышленных системах управления (ICS), в частности, на электрических подстанциях.

Создателей Win32/Industroyer отличает высокая квалификация и глубокое понимание промышленных систем управления и протоколов связи в электроэнергетике. Маловероятно, чтобы кто-либо мог написать и протестировать подобное ПО без доступа к специализированному оборудованию, которое используется в целевой среде.



Читать дальше →
Всего голосов 22: ↑21 и ↓1 +20
Просмотры 11K
Комментарии 7

«Умный дом» на практике: сравнение двух контроллеров Z-Wave

Блог компании М.Видео-Эльдорадо Умный дом

 
Мы решили сравнить два контроллера Z-Wave разных ценовых диапазонов и реализовать на них несколько тестовых сценариев умного дома с использованием набора самых ходовых датчиков и устройств.
Читать дальше →
Всего голосов 14: ↑11 и ↓3 +8
Просмотры 28K
Комментарии 23

Эволюция на React+Redux

JavaScript *Разработка игр *Node.JS *ReactJS *
КДПВ

Привет, Хабр, я тут написал онлайн версию замечательной настольной игры "Эволюция: Происхождение видов" и хотел бы поделиться своими заметками насчет архитектуры и технических моментов. Сразу уточню — я не пиарюсь, скорее, мне интересно рассказать про ошибки и фичи, а взамен услышать много нового и хорошего о своих решениях и коде.

Читать дальше →
Всего голосов 28: ↑27 и ↓1 +26
Просмотры 20K
Комментарии 28
1

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность