Рубрика «Программирование» - 601

enter image description here

В некоторых внутренних системах для быстрого поиска по большому битовому массиву мы в Badoo используем JIT. Это очень интересная и не самая известная тема. И, чтобы исправить такую досадную ситуацию, я перевел полезную статью Элая Бендерски о том, что такое JIT и как его использовать.

Читать полностью »

image

Принято считать, что наличие автоматических тестов — это безусловное благо. Если разработчики пишут тесты — это хорошо, чем больше тестов, тем лучше. При этом, в реальности их чаще не пишут, а все тестирование делают вручную.

Не стоит списывать такое положение дел на некомпетентность, глупость или банальную лень разработчиков. По сравнению с ручным тестированием, автоматизированное имеет как достоинства так и явные недостатки. Если бы были одни только плюсы, и говорить было бы не о чем.
Читать полностью »

imageУже в этот четверг 9 февраля в 19:00 состоится очередной Moscow Blockchain Developers Meetup. Темами предыдущего мероприятия стали блокчейн-инструменты Microsoft и особенности консенсуса Proof-of-stake. Предстоящий митап будет целиком посвящен проекту Hyperledger и его возможностям как для разработчиков, так и для бизнеса в целом.
Читать полностью »

В прошлый раз [Загрузка данных с сайта открытых данных data.gov.ru] мне не без проблем удалось научиться загружать данные с портала открытых данных России. Портал открытых данных должен предоставлять наиболее актуальные сведения об открытых данных федеральных органов власти, органов региональной власти и иных организаций (цитата с сайта data.gov.ru). Посмотрим, какие данные на портале, насколько они актуальны и в каком виде размещаются.
Читать полностью »

Подключаем «отечественный» LCD 16x2 MT-16S2S по SPI. Часть 2. Программа - 1

Продолжение темы про работу с индикатором от фирмы МЭЛТ МТ-16S2S на ST7070.
Первая часть.

В этой части будут разобраны основные команды библиотеки. А именно: инициализация, передача команды (сдвиг, очистка, курсор), вывод символа, вывод строки, создание своего символа.

Читать полностью »

Программный графический сопроцессор на STM32 - 1

Прошел год и многие вечера коротались написанием очередного, куда более крупного и на этот раз полезного проекта.
В прошлый раз везде приходилось ужиматься, как только возможно. Ресурсов того многострадального камня мне стало не хватать и в какой-то момент пришло интересное решение. Отдать часть задач другому контроллеру.
( Как и в прошлый раз, под катом много воды и изображений)
Читать полностью »

Классические алгоритмы генерации лабиринтов. Часть 2: погружение в случайность - 1

Предисловие


→ Первая часть

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

В этой части мы поговорим о том, что же такое случайная и псевдослучайная генерации, какие алгоритмы могут дать нам равновероятно ничем не похожие друг на друга лабиринты и в чем их минусы. Героями нашего сегодняшнего приключения станут алгоритм Уилсона и алгоритм Олдоса-Бродера для создания случайного остовного дерева (Uniform Spanning Tree). ОСТОРОЖНО ТРАФИК.
Читать полностью »

Логика сознания. Часть 11. Естественное кодирование зрительной и звуковой информации - 1В предыдущей части были сформулированы требования к процедуре универсального обобщения. Одно из требований гласило, что результат обобщения должен не просто содержать набор понятий, кроме этого полученные понятия обязаны формировать некое пространство, в котором сохраняются представление о том, как полученные понятия соотносятся между собой.

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

Ситуация несколько усложняется, когда понятия имеют природу множеств (рисунок ниже). Тогда возможны формулировки типа: «понятие C содержит понятия A и B», «понятия A и B различны», «понятия A и B имеют нечто общее». Если положить, что близость определяется в интервале от 0 до 1, то про рисунок слева можно сказать: «близость A и C равна 1, близость B и C равна 1, близость A и B равна 0).
Читать полностью »

Компания Denuvo засветила директорию -fileadmin - 1Ведущий программист Матиас Вернер и его коллеги из австрийской компании Denovo пользовались репутацией больших профессионалов. Их защита игр от копирования работает на низком уровне, привязывается к железу и генерирует уникальный криптографический ключ. Что тут говорить — системные программисты, настоящие хакеры, без сомнений. Но вот на опытного веб-мастера они пожалели денег, а сам Матиас оказался не очень хорош в этом деле.

Вечером 5 февраля на форуме 4chan начали гулять ссылки на http://www.denuvo.com/fileadmin/, которая вывалила в открытый доступ всё содержимое. Там нашлось кое-что интересное.
Читать полностью »

В ноябре 2016 года Viber внедрил публичные аккаунты (Viber public account, или просто PA). С их выходом стало доступно и api, которое позволяет:

  • вести переписку с пользователем
  • проверять статус подписчиков (онлайн, оффлайн)
  • получить информацию о конкретном подписчике
  • вносить записи (посты) на свою страницу

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

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js