Социальные сети Рунета
Среда, 24 апреля 2024

[Из песочницы] Переосмысление алгоритма консенсуса PoA – алгоритм PoG Всем привет, меня зовут Константин, Я программист из Казахстана. Сейчас занимаюсь созданием собственной блокчейн платформы и хотел бы поделиться мыслями о существующих алгоритмах консенсуса и о том, что Я придумал для своей сети. Читать дальше →

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

[Из песочницы] Немного о физике в почти Agar IO на aicups.ru В соревновании MiniAICup#2 Почти Agar IO надо управлять амёбами, есть еду и других амёб. Для реализации алгоритма управления амёбой напрашиваются потенциальные поля, но есть одно большое НО. Читать дальше →

Краеугольный камень псевдослучайности: с чего начинается поиск чисел (с) Случайные числа постоянно генерируются каждой машиной, которая может обмениваться данными. И даже если она не обменивается данными, каждый компьютер нуждается в случайности для распределения программ в памяти. При этом, конечно, компьютер, как детерминированная система,...

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

Использование алгоритма Hi/Lo для генерации ключей в Entity Framework Core Алгоритм Hi/Lo полезен, когда вам нужны уникальные ключи. Если коротко, то алгоритм Hi/Lo описывает механизм генерации безопасных идентификаторов на стороне клиента, а не в базе данных (безопасных в этом контексте означает отсутствие коллизий). Он задает уникальные идентиф...

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

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

Самый быстрый Индиан: Key/Value контейнер на базе Trie «Может показаться, что я ничего не делаю. Но на самом деле, на клеточном уровне, я очень занят» Автор неизвестен В 21 веке построение программ все чаще напоминает конструктор Lego. Этот подход подразумевает, что многие «кубики» придуманы до нас. Собственно их элементарность...

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

Алгоритмы в индустрии: теория формальных языков и чат-боты Популярность диалоговых систем тесно связана с термином “искусственный интеллект”. Такие системы обычно основаны на нейросетях и других моделях машинного обучения. Однако, такой подход порождает неожиданные трудности Поведение можно лучше контролировать, добавив в систему...

Triton vs Kao’s Toy Project. Продолжаем хорошую традицию В данной статье речь пойдет про SMT-решатели. Так сложилось, что в исследовательских материалах, посвященных данной теме, появилась хорошая традиция. Уже несколько раз в качестве подопытного алгоритма для SMT-решателей разные исследователи выбирали один и тот же пример – кр...

[Перевод] Разработка алгоритма движения лифтов © Клип "Gangnam Style" С ростом этажности наших городов всё больше людей ежедневно пользуется лифтами. Но мало кто из нас задумывается о том, как всё это лифтовое поголовье умудряется более-менее эффективно развозить в течение дня уйму людей, особенно в часы пик. Существует...

[Перевод] Разбор алгоритма консенсуса в Tendermint В этой статье описан алгоритм консенсуса BCA (Byzantine Consensus Algorithm), используемый в Tendermint. Разработанный на основе протокола DLS, он не требует никакого "активного" майнинга, как в Proof-of-Work, и может обеспечить безопасную работу сети при наличии как миниму...

Как подписать сообщение алгоритмом ГОСТ Р 34.11/34.10-2001 на Java В этот статье я расскажу, как подписать произвольное сообщение приватным ключом и сертификатом по алгоритму ГОСТ Р 34.11/34.10-2001 присоединённой (attached) подписью на языке Java. Для проекта электронного документооборота мне потребовалось сделать подпись алгоритмом ГОСТ....

Разработка игры под Android на Python на базе Kivy. От А до Я: подводные камни и неочевидные решения. Часть 1 Некоторое время тому назад я решил попробовать написать что-то на Python под Android. Такой странный для многих выбор обусловлен тем, что я люблю Python и люблю Android, а ещё люблю делать необычное (ну хорошо, не самое обычное). В качестве фреймворка был выбран Kivy — факти...

Умный «фейс-контроль»: алгоритмы машинного обучения для эффективного кэширования данных на SSD Данная статья была представлена на конференции SECR2017, где получила премию Бертрана Мейера за лучший исследовательский доклад. В этом материале руководитель исследовательской лаборатории «Рэйдикс» Светлана Лазарева рассказывает о новом алгоритме заполнения параллельного к...

Обзор нового алгоритма уменьшения размерности UMAP. Действительно ли он лучше и быстрее, чем t-SNE? Привет, Хабр! Задача снижения размерности является одной из важнейших в анализе данных и может возникнуть в двух следующих случаях. Во-первых, в целях визуализации: перед тем, как работать с многомерными данными, исследователю может быть полезно посмотреть на их структуру, у...

[Перевод] Как передать полиморфный объект в алгоритм STL Как мы можем прочесть в первой главе книги Effective C++, язык С++ является по сути своей объединением 4 разных частей: Процедурная часть, доставшаяся в наследство от языка С Объектно-ориентировання часть STL, пытающийся следовать функциональной парадигме Шаблоны Эти чет...

Java и Project Reactor Всем привет! Меня зовут Лёха, и я работаю бэкенд-разработчиком в FunCorp. Сегодня мы поговорим про реактивное программирование, библиотеку Reactor и немного про веб. Реактивное программирование часто «подвергается упоминанию», но если вы (как и автор статьи) всё ещё не знае...

Как я blakecoin майнер делал Не знаю кому как, а меня прошедший 2017 год шокировал стремительным взлетом биткоина. Сейчас, конечно, ажиотаж уже ушел, а в 17-м году про криптовалюты говорили и писали все кому не лень. Я видел, что люди пытаются зарабатывать на криптовалютах. Кто как умеет. Кто-то на в...

[Из песочницы] Алгоритм Пинг-Понг или критика Обратной Польской Нотации Данная статья написана в силу возмущения тем, что в наших ВУЗах студентов простому разбору математических выражений обучают на основе как раз Обратной Польской Нотации (ОПН), что является откровенным извращением нормальной человеческой логики. Источником описания ОПН будет...

[Из песочницы] Обобщаем анимацию таблиц в iOS приложениях Пользователи хотят видеть изменения Анимированное обновление списков всегда было непростой задачей в iOS. Что неприятно, это всегда было рутинной задачей. Приложения крупных компаний, таких как Facebook, Twitter, Instagram, VK, используют таблицы. Более того, почти каждое...

[Перевод] Туториал: toon-контуры в Unreal Engine 4 Когда говорят о «toon-контурах», то имеют в виду любую технику, которая рендерит линии вокруг объектов. Как и cel shading, контуры помогают игре выглядеть более стилизованной. Они могут создавать ощущение того, что объекты нарисованы красками или чернилами. Примеры такого с...

Анимации в Android по полочкам (Часть 2. Комплексные анимации) Часть 1. Базовые анимации Часть 2. Комплексные анимации Часть 3. Ещё больше анимаций Часть 4. Анимации переходов Приведённые в предыдущей части инструменты были относительно низкоуровневыми и в Android есть куда более простые способы добиться красивых анимаций не прибегая к...

[Перевод] Как сделать хорошую UI-анимацию отличной В материале, перевод которого мы сегодня публикуем, дизайнер Пабло Стэнли предлагает несколько рекомендаций по анимации микровзаимодействий в пользовательском интерфейсе. В каждом приведённом здесь примере рассмотрены два варианта анимаций. Первый вариант — хороший, второй, ...

Будущее мультипликации? ИИ рисует мультсериал «Флинтстоуны» по описаниям Сейчас мультипликация переживает хорошее время: одновременно с постоянно развивающейся компьютерной анимацией растёт уровень и более традиционной анимации для телевидения. С новой технологией создавать мультипликационные шедевры становится всё легче и быстрее, но это всё рав...

[Из песочницы] Как я взломал пул для майнинга Bitcoin Сегодня веб-сайты работающие с криптовалютами являются очень «вкусной» мишенью для хакеров. И вроде бы их безопасность должна быть на высоком уровне, но нет. это далеко не всегда так. Посмотрите хотя бы на BlockChain Graveiard, где видно как крупнейшие ресурсы этой сферы бан...

Проблемы при работе с кэшем и способы их решения Привет, Хабр! Меня зовут Виктор Пряжников, я работаю в SRV-команде Badoo. Наша команда занимается разработкой и поддержкой внутреннего API для наших клиентов со стороны сервера, и кэширование данных — это то, с чем мы сталкиваемся каждый день. Существует мнение, что в прог...

Дайджест интересных материалов для мобильного разработчика #242 (19 февраля— 25 февраля) На этой неделе в нашей подборке виртуальная реальность, Flutter, спринты и структуры команд, софт-лонч, анимации и дизайн, инструменты и много другого интересного. Читать дальше →

[Из песочницы] Рынок как стереотип, относительно сегмента, потребности, предложения Рынок, согласно методологии Социального дизайна это стереотип (см. рис.) рыночных игроков относительно: сегмента потребности предложения. То есть стереотип рыночных игроков это когда все знают: кому продают (Сегмент), что продают: какие товары, услуги (Потребность), и...

[Из песочницы] Как можно разработать две части игры за полгода и не сойти с ума В эпоху новостей о том, что чуть ли не каждый день появляются новые вирусы или как хакеры украли огромное количество денег, нам показалось, что на рынке мобильных игр не хватает классной игры про хакеров. Меня зовут Юрий, я один из создателей и разработчик двух серий игр. Я ...

Анимации в Android по полочкам (Часть 1. Базовые анимации) Всем привет! Сегодня я хочу немного рассказать про анимацию в Android. Думаю для всех достаточно очевидный факт, что анимации могут украсить наше приложение. Но я считаю, что они могут намного больше. Первое это — хорошие анимации даже при скромной графике могут вывести наш...

Статья о том, как мы попробовали применить современные нейросетевые технологии, чтобы находить каски на головах людей Раньше все свои интеллектуальные модули мы строили на традиционных алгоритмах видеоанализа (далее мы будем называть их «классическими»). О нейросетях мы, конечно, знали, и пробовали их применять еще в далеком 2008. В частности, сравнивать изображения людей по кластерам. Но...

Proof-of-Proof-of-Work на пальцах. На пути к разумному блокчейну Блокчейн-протоколы должны обеспечивать консенсус среди нод децентрализованной системы. Пожалуй, самым известным алгоритмом консенсуса можно считать «тормозунутый, но надежный, потому что тормознутый» алгоритм Proof-of-Work: каждая нода, имея набор новых транзакций перебирает...

Глобальное освещение с использованием трассировки вокселей конусами В этой статье я расскажу о реализации одного из алгоритмов расчёта глобального (переотражённого / ambient) освещения, применяемого в некоторых играх и других продуктах, — Voxel Cone Tracing (VCT). Возможно, кто-то читал старенькую статью ([VCT]) 2011 года или смотрел видео. ...

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

История взлома одного WordPress плагина — или о том, как вы допускаете уязвимости в своих проектах Давным давно, когда я был молод и писал сайты на PHP, я написал SEO плагин для маскировки внешних ссылок для Wordpress. Поскольку с воображением у меня плохо, то назвал его WP-NoExternalLinks. За всю историю у него было 360.000 установок и, кажется, до 50.000 активных устано...

[Перевод] Learn OpenGL. Урок 5.3 — Карты теней Тень — это отсутствие света. Если лучи от источника света не попадают на объект, так как поглощаются другим объектом, то первый объект находится в тени. Тени добавляют реализма к изображению и дают увидеть взаимное расположение объектов. Благодаря ним сцена приобретает "глу...

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

Апгрейд хранимок Tarantool: «все своё ношу с собой!» В мире баз данных существует сложная проблема рефакторинга и апгрейда хранимых процедур. Проблема состоит в противоречии: С точки зрения эффективности работы с данными желательно максимум бизнес-логики реализовывать в хранимых процедурах. С точки зрения эффективности разра...

[recovery mode] Анализ данных — основы и терминология В этой статье я бы хотел обсудить базовые принципы построения практического проекта по (т. н. «интеллектуальному») анализу данных, а также зафиксировать необходимую терминологию, в том числе русскоязычную. Согласно википедии, Анализ данных — это область математики и информа...

[Из песочницы] Классификация музыкальных композиций по исполнителям с помощью Скрытых Марковских Моделей Скрытые марковские модели (Hidden Markov Models) с давних времен используются в распознавании речи. Благодаря мел-кепстральным коэффициентам (MFCC), появилась возможность откинуть несущественные для распознавания компоненты сигнала, значительно снижая размерность признаков...

Вечно открытый «Сезам», или Несколько лазеек в ваш ИТ-ландшафт Зубодробительные уязвимости вроде EthernalBlue или Heartbleed привлекают к себе очень много внимания, подпитывая идею о том, что главное – это своевременный «патчинг» системного ПО. Однако не все помнят о том, что критические дефекты конфигурации встречаются ничуть не реже...

[Из песочницы] Достаточно простой и эффективный алгоритм распознавания и сопровождения движения После почтения на сайте статьи Шуравина Александра (megabax) с названием: «Простой алгоритм распознавания движения», появилась потребность продвинуться в решении задачи, поставленной в статье. В результате появился алгоритм для обработки последовательности кадров, содержащих...

Biz Breeze #1. Субъективно — о новостях CRM и ИТ-бизнеса На Хабре публикуются много интересных и разных дайджестов, которые мы читаем каждую неделю: о событиях, мобильной разработке, дизайне, программировании и т.д. Нам показалось странным, что нет историй об IT в бизнесе. А между тем, всё больше банков, магазинов, страховщиков, п...

Создание анимаций переходов между Activity в Android Начиная с Android 4.4 в арсенале разработчиков появился дополнительный инструмент для создания анимаций — Transitions Framework. Изначально он предназначался для создания анимаций изменения состояния приложения путём манипулирования несколькими View. С выходом Android 5.0 на...

[Из песочницы] Аналоговые часы, CSS и ничего больше Что здесь не так? Здравствуйте, недавно послушал новый выпуск Веб-стандартов и там был момент с обсуждением статьи «Время переменных» где автор решил поэкспериментировать с CSS переменными и создать на основе них аналоговые часы. Все выглядит шикарно и главное работает, но у...

List.of() и все, все, все… Здравствуйте, хаброжители. Наконец дошли руки написать что-то на хабр. Первая статья была немного скучной и узкоспециализированной. Поэтому я пишу в песочницу во второй раз. (UPD но почему то попал не в песочницу оО) На этот раз речь пойдет о нововведениях Java. А именно п...

Анимации в Android по полочкам (Часть 3. «Низкоуровневые» анимации) Часть 1. Базовые анимации Часть 2. Комплексные анимации Часть 3. «Низкоуровневые» анимации Часть 4. Анимации переходов Часть 5. Библиотеки для работы с анимацией Все методы рассмотренные в предыдущих частях хороши и удобны, однако если нам нужно анимировать большое количест...

В-четвертых: зимняя стажировка разработчиков в Redmadrobot В четвертый раз мы выбрали 20 iOS и Android-разработчиков и учили их писать код, как роботы. И хотя алгоритмы роботов (практически) совершенны, каждый год мы накатываем обновления. Как изменилась система в этом году, рассказывают организаторы стажировки. Читать дальше →

[Перевод] Разрабатываем игру на SVG + React. Часть 1 TL;DR: в этих сериях вы узнаете, как заставить React и Redux управлять SVG элементами для создания игры. Полученные в этой серии знания позволят вам создавать анимацию не только для игр. Вы можете найти окончательный вариант исходного кода, разработанного в этой части, на Gi...

Алгоритмы подсказки слов в телефонной клавиатуре vs. Защита персональных данных Языковые модели В виртуальных клавиатурах мобильных телефонов повсеместно используются алгоритмы подсказки слов по первым введённым буквам и автоматического исправления опечаток в них. Функция нужная, так как печатать на телефоне неудобно. Однако она часто раздражает пользов...

[Из песочницы] Пощупать нейросети или конструктор нейронных сетей Я давно интересовался нейросетями, но только с позиции зрителя – следил за новыми возможностями, которые они дают по сравнению с обычным программированием. Но никогда не лез ни в теорию, ни в практику. И вдруг (после сенсационной новости о AlphaZero) мне захотелось сделать с...

Hessian-Free оптимизация с помощью TensorFlow Добрый день! Я хочу рассказать про метод оптимизации известный под названием Hessian-Free или Truncated Newton (Усеченный Метод Ньютона) и про его реализацию с помощью библиотеки глубокого обучения — TensorFlow. Он использует преимущества методов оптимизации второго порядка ...

[Перевод] Конференция DEFCON 22. «Один дома с автоматической системой защиты». Крис Литтлбери Меня зовут Крис Литтлбери, я работаю старшим испытателем систем безопасности от проникновений в компании Knowledge Consulting Group, которая расположена в округе Колумбия. Я люблю конструировать всякие интересные вещи, придавая обычным устройствам необычные функции. Например...

[Из песочницы] Асинхронная работа с PostgreSQL в C Сегодня захотелось написать небольшую заметку об асинхронной работе с PostgreSQL в C. Мотивы просты: для небольшой утилитки встала необходимость реализовать такой функционал, гугл на тему понятных и рабочих примеров предательски молчал (нашелся только пример в pqxx для C++ —...

Зачем ездить на Mobile World Congress в Барселону и как все сделать правильно Привет! Меня зовут Катя Франк, я ведущий маркетолог Mobile Dimension. В этой статье я приведу небольшой разбор выставки Mobile World Congress в Барселоне, немного сравню ее с этой же выставкой от GSMA в Шанхае, расскажу, кому в ней стоит участвовать, и как все организовать...

Можно ли научить искусственный интеллект шутить? В последнее время машины одержали ряд убедительных побед над людьми: они уже лучше играют в го, шахматы и даже в Dota 2. Алгоритмы сочиняют музыку и пишут стихи. Учёные и предприниматели всего мира дают прогнозы по поводу будущего, в котором искусственный интеллект сильно пр...

[Перевод] Метод Бенджамина Франклина для чтения книг по программированию Посмотрим правде в глаза, книги по программированию — отстой. Эти общие книги по распределённым системам, науке о данных и так далее — их можно читать бесконечно. Но за редким исключением у практических руководств по языку/фреймворку/СУБД/кексопечке есть нечто общее. Зверюшк...

Можно ли войти в закрытую дверь, или как патчат уязвимости В мире каждый день публикуются десятки CVE (по данным компании riskbasedsecurity.com за 2017 год было опубликовано 20832 CVE). Однако производители стали с большим пониманием и вниманием относиться к security-репортам, благодаря чему скорость закрытия багов существенно увели...

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

[Перевод] Руководство по созданию собственных шейдеров в Unreal Engine Благодаря системе нодов редактор материалов является отличным инструментом для создания шейдеров. Однако у него есть свои ограничения. Например, там невозможно создавать циклы и конструкции switch. К счастью, эти ограничения можно обойти с помощью написания собственного ко...

Ускорение сборки JavaScript-кода с использованием webpack 2–3 Появляется все больше SPA салонов. Даже лендинги люди пилят на React. А действительно сложное веб-приложение уже трудно представить с другим подходом. Одна из главных проблем современного фронтенда — это сборка таких проектов. С этим помогают справляться бандлеры. Иван Сосн...

Inventory Monitoring System или CMDB на коленке Много лет назад работал я системным администратором в одной не очень большой, но хорошей компании. Все стандартно: несколько серверов, простенький документооборот, почта, интернет, бухгалтерия, файловые ресурсы, рабочие места пользователей. Да, ох уж эти рабочие места. Подде...

Две модели лучше одной. Опыт Яндекс.Переводчика Когда-то мы уже рассказывали о том, как появился и развивался машинный перевод. С тех пор произошло ещё одно историческое событие – его наконец-то покорили нейронные сети и глубокое обучение. Среди задач обработки естественного языка (Natural Language Processing, NLP) машинн...

[Из песочницы] Динамическое изменение размера шрифта во всем приложении на Android Доброго времени суток, уважаемые читатели. Захотелось мне немного поделиться своими мыслями по поводу android разработки. Возникла у меня задача сделать настройку размера шрифта в приложении, чтобы каждый пользователь сам мог подобрать под себя размер. Изменение размера ш...

DevOps придумали разработчики, чтобы админы больше работали Еще 4 года назад использование контейнеров в production было экзотикой, но сейчас это уже норма как для маленьких компаний, так и для больших корпораций. Давайте попробуем посмотреть на всю эту историю с devops/контейнерами/микросервисами ретроспективно, взглянуть еще раз с...

[Перевод] Webpack 4, import() и CommonJS В JavaScript много забавного. У одного из самых популярных в мире языков программирования до сих пор нет стабильного синтаксиса разбиения кода на части. То есть в стандарте синтаксис ESM с «import» наперевес уже есть, но в браузерах и ноде он спрятан за флагами, а в вебпаке...

[Из песочницы] Первые шаги в Машинном обучении Привет дорогой друг, ты всегда хотел попробовать машинное обучение, но область выглядела загадочно и сложно? Я хотел бы поделиться с тобой моей историей как я сделал первые шаги в машинном обучении, при нулевом знании Python и высшей математики на небольшом примере. Читать ...

[Из песочницы] Гейм дизайн в жизнь. Пример разбора механики игры Доброго дня! Немного об авторе: меня зовут Мария, начинающий гейм дизайнер. С этой статьи начинаем цикл статей по применению теории гейм дизайна в жизни. В этой статье попытаемся разобрать механику игры на примере Northgard от студии Shiro Games (находящуюся на стадии ранн...

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

[Из песочницы] Топ-5 прогнозов в сфере информационной безопасности Давайте посмотрим правде в глаза, прошедший год был ужасным для кибербезопасности, с огромным количеством фишинговых атак, вирусов-вымогателей и т.д. Интересно, будет ли 2018 год лучше? Многие эксперты мирового уровня прогнозируют увеличение количества атак. Они считают, чт...

[Из песочницы] Есть ли порох в пороховницах? Hackathon Radio Canada 2018 (Часть первая, собираем команду) В этой статье я хочу представиться, рассказать что толкнуло меня на участие, как я смог собрать команду, какие выводы для себя я вынес и просто поделиться своим опытом участия моем первом хакатоне. Извините коротко не получилось, текста много и не всё по теме. Надеюсь, э...

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

Как сделать 3D-селфи на iPhone X Американский стартап Bellus3D, рассказавший о своих технологиях и уникальных алгоритмах на CES 2018, анонсировал новую разработку — приложение Bellus3D FaceApp. С его помощью владельцы iPhone X могут создавать 3D-селфи.

802.11ax — подробности (вебинар, english) Буду краток. Давеча я писал вводную по 802.11ax. А вот и подоспел вебинар (на английском) от авторитетного товарища Devin Akin. В принципе, подоспел он давно, но посмотреть времени не было. Теперь посмотрел — и рекомендую! 2018-2-Deep-Dive-into-80211ax-Technology Читать дал...

Нейросеть, определяющая возраст по анализу крови, — разработки ученых Университета ИТМО Ученые из лаборатории «Компьютерные технологии» Университета ИТМО в составе международной группы исследователей разработали систему Aging.AI — алгоритм определения возраста по результатам базового анализа крови. В отличие от других разработок эта — более универсальная и точ...

Hypothesis Добро пожаловать в Hypothesis! Hypothesis представляет собой библиотеку Python для создания модульных тестов, которые попроще писать и более эффективны при запуске, обнаруживая граничные случаи в коде, который вы бы не подумали искать. Он стабильный, мощный и легко добавляет...

Nemesida WAF: интеллектуальная защита от brute-force атак   Классическими средствами защиты от brute-force являются утилиты типа fail2ban, работающие по принципу: много запросов — один источник. Это не всегда может помочь заблокировать нарушителя, а также может привести к ложным (false-positive блокировкам). В этой статье я напишу...

Как киту съесть Java-приложение и не подавиться Здравствуйте, уважаемые хабравчане! Сегодня я хотел бы рассказать о том, как «скормить» Java-приложение докеру, как при этом лучше действовать, а чего делать не стоит. Я занимаюсь разработкой на Java более 10 лет, и последние года три провёл в самом тесном общении с Docker, ...

Пишем масштабируемые и поддерживаемые сервера на Node.js и TypeScript Последние три года я занимаюсь разработкой серверов на Node.js и в процессе работы у меня накопились некоторые советы и решения, среди которых open-source фреймворк, которыми я хотел бы поделиться. В данной статье мы пройдемся по некоторым принципам, а так же посмотрим на р...

[Из песочницы] Font (ещё более) Awesome — узорное изобретение Привет, Хабр! Представляю вашему вниманию перевод статьи "Font (More) Awesome — an iconic invention" автора Pubudu Dodangoda. Создаёте ли вы веб-сайт, мобильное или настольное приложение, есть несколько вещей, которых вам не удастся избежать. Правильное использован...

[Перевод] Непрерывные переходы между общими элементами: из RecyclerView во ViewPager Использование переходов в Material Design дает приложению визуальную непрерывность. Пока пользователь ходит по приложению, элементы интерфейса в нем меняют состояние. Анимации переходов соответствующих элементов от одного экрана к другому подчеркивают идею о том, что интерфе...

Новое приложение для Youtube умеет менять задний фон на видео В Google начали тестировать новую функцию для Youtube, позволяющую заменить задний фон на видео так же просто, как, например, выбрать фильтр к фотографии в Instagram. Приложение, созданое с применением алгоритма искусственного интеллекта, способно делать это «на лету&...

[Из песочницы] От идеи до AppStore Пол года назад у меня появилась идея, и вот несколько дней назад (27.03.18) приложение под названием "***" опубликовали в AppStore. Но, обо всем по порядку. Все началось с простой идеи В нашей жизни постоянно происходят какие-то события, хорошие, плохие, не важно. Я всегда...

Алгоритм выбора location в Nginx Алгоритм выбора location обязателен к знанию при настройке nginx. Тем не менее, на официальном сайте nginx (на 2018 год) не сказано ни слова про алгоритм выбора в случаях, когда какие-то location'ы вложены друг в друга, а в статьях в интернете приводятся в корне неверные алг...

Сложный колл-центр на JavaScript Хорошо сделаный колл центр приносит пользу: подтверждает заказы, напоминает о конференциях и доставке готовой еды. У нас в Voximplant есть модуль ACD и концепция очередей, с их помощью на платформе можно за пару часов собрать простое решение для распределения звонков. Почем...

Сложный и безумно красивый раннер Glitch Dash доступен на iOS и Android бесплатно Что такое раннеры? Это игры, в которых вы «тупо» бежите вперед, периодически смахивая вверх-вниз-влево-вправо, а сложность появляется только спустя несколько минут. Glitch Dash не такая. Она сложна с самого начала. Но ее внешний вид просто обязывает попробовать каждого. Упра...

[Перевод] 6 мифов о Service Fabric и немного о конференции OpenHack Прошло больше года с релиза Service Fabric и вокруг него возникло множество заблуждений, возникающих из-за недопонимания по ключевым вопросам. Пока я готовился к нашему новому OpenHack и общался с партнёрами, увидел статью, в которой автор собрал воедино все ключевые мифы и ...

[Перевод] Туториал по Unreal Engine: C++ Blueprints — очень популярный способ создания геймплея в Unreal Engine 4. Однако если вы уже давно программируете и предпочитаете код, то вам идеально подойдёт C++. С помощью C++ можно даже вносить изменения в движок и создавать собственные плагины. В этом туториале вы нау...

[Перевод] Ручной шифр LS47 Данный шифр является небольшим усовершенствованием шифра ElsieFour, который разработал Алан Камински (Alan Kaminsky) [1]. В этом варианте используются 7x7 символов вместо оригинальных 6x6, которых едва-едва хватает даже на латинский алфавит. Дополнительно описан простой алго...

[Перевод] Оптимальная игра в 2048 с помощью марковского процесса принятия решений В предыдущей статье про 2048 мы использовали цепи Маркова, чтобы выяснить, что в среднем для победы нужно не менее 938,8 ходов, а также исследовали с помощью комбинаторики и полного перебора количество возможных конфигураций поля игры. В этом посте мы используем математиче...

Сверточная нейронная сеть, часть 2: обучение алгоритмом обратного распространения ошибки В первой части были рассмотрены: структура, топология, функции активации и обучающее множество. В этой части попробую объяснить как происходит обучение сверточной нейронной сети. Обучение сверточной нейронной сети На начальном этапе нейронная сеть является необученной (нена...

О портировании проекта MIPSfpga Перенос программного обеспечения с одной компьютерной архитектуры на другую в принципе, с некоторыми оговорками, дело относительно простое. Здесь на помощь приходят такие общеизвестные инструменты, как autoconf / automake/ libtool / gnulib. Собрать программу из исходников ...

Эффективные методы сжатия данных при тренировке нейросетей. Лекция в Яндексе Не так давно в Яндекс приезжал Геннадий Пехименко — профессор Университета Торонто и PhD Университета Карнеги-Меллон. Он прочитал лекцию об алгоритмах кодирования, которые позволяют обходить проблему ограничения памяти GPU при обучении глубоких нейронных сетей. — Я вхожу в...

Code Conventions: как мы сохраняем быстрый темп разработки PHP-проекта Привет, Хабр. Меня зовут Евгений Удодов, я сооснователь и технический директор компании Roistat. Хочу поделиться нашим опытом разработки большого и сложного продукта — системы аналитики. TL;DR: Мы выложили на github наш Code Conventions и рассказали в статье о том, как его...

[Из песочницы] Как ZFS хранит данные Zfs является достаточно популярной файловой системой для долговременного хранения данных. Кроме того она обеспечивает целостность записанных данных, сохраняя вместе с данными и их контрольные суммы. Механизм контрольных сумм позволяет выявить, и при наличии избыточности восс...

[Перевод] Реализация быстрых 2D-теней в Unity с помощью 1D shadow mapping Введение Недавно я приступил к реализации системы 2D-теней в Unity, которую можно было бы использовать в настоящей игре. Как известно профессиональным разработчикам, есть большая разница между тем, чего можно достичь в техническом демо и тем, что применимо для интеграции в ...

Сколько математики нужно, чтобы подписать многоугольник в JS API Яндекс.Карт В JS API Яндекс.Карт существует возможность создавать различные объекты на карте. Один из их них – многоугольник, с помощью которого можно улучшить интерактивность пользовательской карты: выделить отдельные области или отобразить местоположение неточечного объекта. К примеру...

[Перевод] Туториал по Unreal Engine: Cel Shading Благодаря физически точному рендерингу в Unreal Engine 4 удобно разрабатывать реалистичные игры. Модель рендеринга имитирует взаимодействие света с материалами, что приводит к созданию реалистичной картинки. Однако если вы хотите разработать игру со стилизованным внешним ви...

Майнинг в блокчейн-сетях: как он работает В начале января правительство Китая приказало «армии биткойн-майнеров» страны, которые генерируют 3/4 всей мировой криптовалюты, прекратить работу. Одной из главных причин такого решения стало слишком высокое количество электроэнергии, которое потребляют майнинговые фермы — ...

[Перевод] Всё простое опять стало сложным Это выступление состоялась 12 октября 2017 года на конференции Mirror Conf в Браге (Португалия) и ещё раз 9 февраля 2018 года на Awwwards Conference в Берлине. Этим летом после лекции на веб-конференции у меня состоялась увлекательная беседа с молодой студенткой, которая из...

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

[Перевод] Конференция DEFCON 18. «Как я встретился с Вашей девушкой, или новый вид Интернет-атак». Сэми Камкар Я расскажу Вам о разработке и осуществлении совершенно нового вида хакерских атак, которые помогут мне встретиться с Вашей девушкой. Но сначала немного о себе. Меня зовут Сэми Камкар, я исследую проблемы безопасности, но не профессионально, а ради собственного удовольствия,...

Создан банковский аналог Siri Эм не расскажет, в чем смысл жизни и не будет спрашивать “Сколько ты зарабатываешь?” - зато она знает ответы на самые популярные вопросы по работе банка. В её основе лежат алгоритмы, которые подбирают наиболее подходящий по смыслу ответ на сообщение клиента. К то...

[Перевод] Реактивные приложения с Model-View-Intent. Часть 3: State Reducer В предыдущей части мы обсудили, как реализовать простой экран с паттерном Model-View-Intent, использующим однонаправленный поток данных. В третьей части мы построим более сложный экран с MVI с помощью State Reducer. Читать дальше →

LL(*) парсер с использованием Rust макросов Wow. Such Rust. Much macro. © картинка - Твиттер аккаунт Servo Язык Rust стремительно набирает обороты. Кто-то пророчит ему стать заменой C/C++, кому-то он просто нравится. Я скорее принадлежу ко второй группе. Разработчики стараются сделать его удобным и безопасным. В нем ...

[Из песочницы] Знакомство с Gjallarhorn.Bindable.WPF (F#) на примере выполнения тестового задания В статьях на русском языке теме использования F# совместно с WPF уделяют немного внимания. Сегодня я попробую познакомить вас с одной из F# библиотек, которая значительно упрощает такую разработку. В качестве демонстрационного примера возьмем одно из тестовых заданий по WPF,...

[Из песочницы] Мониторим каналы связи посредством Juniper RPM и Zabbix На написание статьи меня натолкнул этот материал — Автоматическое переключение маршрута в Juniper SRX. Захотелось немного расширить тему использования RPM. Эта технология является аналогом механизма SLA в мире Cisco, и как и у Cisco предназначена больше не для переключения к...

[Из песочницы] Тестирование проектов C/C++ с помощью Python Введение Хорошо известна возможность интеграции Python и C / C++. Как правило, этот прием используется для ускорения программ на Python или с целью подстройки программ на C / C++. Я хотел бы осветить возможность использование python для тестирования кода на C/C++ в IDE без п...

[Перевод] Как сделать ваш код в 80 раз быстрее Всем бобра! У нас стартует третий набор на курс «Разработчик Python», а значит, что впереди и открытый урок, которые у нас частично замещают староформатные дни открытых дверей и где можно ознакомится с интересным материалом от наших преподавателей, и то, что мы нашли очеред...

[Из песочницы] Как мы разработали технологию обнаружения устройств поблизости Эта история началась с функции “Рядом” в одном из наших мобильных приложений. Мы хотели, чтобы пользователи могли быстро создать групповой чат или добавить находящихся рядом пользователей в друзья. Мы попробовали решить эту задачу при помощи геолокации, Bluetooth, Wi-Fi и ...

Microsoft выпустила первый офлайн-переводчик на основе нейросетей Далеко не каждому из нас дано выучить хотя бы один иностранный язык. Но что делать, если вам необходимо поехать за рубеж, а знаний местного языка не хватает? Воспользоваться онлайн-переводчиком, которых на просторах Сети великое множество. Но все они обладают одним недоста...

Google обновил основной алгоритм ранжирования Google провёл очередное обновление основного алгоритма ранжирования. Это было сделано в начале прошлой недели, 16 апреля. Сообщение Google обновил основной алгоритм ранжирования появились сначала на Searchengines.ru.

[Перевод] Продвинутая работа с JSON в MySQL У MySQL нет возможности напрямую индексировать документы JSON, но есть альтернатива: генерируемые столбцы. С момента введения поддержки типа данных JSON в MySQL 5.7.8 не хватает одной вещи: способности индексировать значения JSON. Для того, чтобы обойти это ограничение, можн...

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

Получение параметров команды из человеческой фразы Хотя мне и удалось разобраться с классификацией интента, осталась более сложная задача — выцепить из фразы дополнительные параметры. Я знаю, что это делается с помощью тегов. Один раз я уже успешно применил sequence_tagging, но я не очень рад тому, что нужно держать словарь ...

[Из песочницы] Методы конструирования тестовых функций В ходе работы с глобальной оптимизацией, появилась потребность в конструировании многоэкстремальных тестовых функций. Зачастую большинство готовых функций, например из Википедии, не подходят для корректной оценки работы алгоритма. Часть функций являются одноэкстремальными, д...

Супер-полное руководство по публикации в Microsoft Store Привет, хабр! У меня часто случаются подобные ситуации: занимаюсь чем-нибудь сложным и в какой-то момент вылезает ошибка. Начинаю искать проблему в, соответственно, замороченных вещах, часто делая то, что не надо. И так проблемы нарастают. А в конце оказывается, что неполадк...

[Из песочницы] Простой Stack Fragment'ов Доброе время суток, уважаемые читатели Хабра! Хочу представить вашему вниманию статью, основанную на моем опыте работы в Single Activity Architecture, в частности со стеком пользовательских представлений. При первом знакомстве с Single Activity Architecture у меня возникало...

Создан полноценный 3D-шутер на основе Microsoft Excel Иногда симбиоз задатков программиста и геймера даёт небывалые результаты — пользователи мастерят интересные вещи из тех программ и их возможностей, которые ранее применялись совсем для других дел. Например, многие разработчики компьютерных игр используют Microsoft Excel как ...

[Из песочницы] Room: Один ко многим Всем привет. На дворе 2018 и уже почти год как Google активно работает над Architecture Components. Неплохая документация и примеры позволяют начать использование новых компонентов без каких-либо проблем и сложностей. Но всегда есть ложка дегтя в бочке меда кода. Заметки ниж...

Яндекс.Алгоритм 2018: оптимизационный трек и ML-задача от разработчиков Алисы Сегодня мы открываем регистрацию на международный конкурс по программированию Яндекс.Алгоритм. В этом году мы решили не только запуститься раньше, но и добавили два новых трека: оптимизационный и трек по машинному обучению. Каждый участник может выбрать, в каких треках участ...

[Перевод] Rekit Studio: IDE для React-приложений Сегодня мы публикуем перевод материала Нейта Ванга, создателя Rekit. Здесь он рассказывает о новом стабильном релизе системы, Rekit Studio. Это — полноценная IDE для разработки приложений, созданных с использованием технологий React, Redux и React Router. Он говорит, что его...

Html страница глазами разработчика приложений. Часть 1: «Подготовка» Передо мной встала задача по обновлению текущего сайта одной компании, и в соответствии тренду выбор пал на landing page с поддержкой мультиязычности. Посмотрев на реализации представленные в интернете я ужаснулась. В теле страницы куча текста! С такой разметкой же невозможн...

Обзор первого дня Data Science Weekend 2018. Практика машинного обучения, новый подход к соревнованиям и многое другое Привет, Хабр! 2-3 марта на Мансарде наших партнёров, компании Rambler&Co, прошел уже традиционный Data Science Weekend, на котором было множество выступлений специалистов в области работы с данными. В рамках этой статьи расскажем вам о самых интересных моментах первого д...

Смена пароля: 10 шагов к хорошей реализации У нашего заказчика есть интернет-портал и пользователи, данные которых заведены в домене. Доступ в личный кабинет — по паролю, а где пароль, там и людская забывчивость. У нас уже была страница смены пароля, но механизм работы был не оптимальным. Вот как всё происходило. Пол...

Использование произвольных DataFlash 25-й серии вместо дорогих конфигураторов FPGA Altera без дополнительной аппаратуры Из любого описания на FPGA известно, что для хранения их конфигураций используются специальные микросхемы – конфигураторы. Например, для Altera Cyclone используются микросхемы EPCS. Вот схема от типичной макетной платы с кристаллом семейства Cyclone IV. На ней мы видим конфи...

Тонкий бездисковый клиент на базе Ubuntu, не требующий монтирования ФС по сети Изображение с сайта getwallpapers.com История В далёком 2013 году в одном банке использовались тонкие клиенты на основе DisklessUbuntu. С ними были некоторые проблемы, по-моему монтирование корневой ФС по сети в больших филиалах со слабой сетью работало не очень. Тогда мой ...

Автоматизация обновлений CleanTalk Anti-Spam для WordPress Если вы обслуживаете пару-тройку сайтов, то обновление плагинов не вызывает каких-то сложностей. Сложности появляются, если вы обслуживаете несколько десятков, а то и сотен сайтов. CleanTalk Антиспам требует частых обновлений (нам приходится выпускать новую версию раз в 1-...

Запутавшиеся в ленте. Пять вопросов о смене сетью Facebook алгоритма выдачи постов Facebook завершил эксперимент с двумя лентами новостей — признав, что пользователям достаточно одной. Это не первый случай, когда сеть меняет алгоритмы выдачи постов. С чем это связано и на что влияет — выяснял РБК.

Обзор второго дня Data Science Weekend 2018. Data Engineering, ETL, поисковые сервисы и многое другое Несколько дней назад мы публиковали обзор первого дня Data Science Weekend 2018, который прошел 2-3 марта на Мансарде Rambler&Co. Изучив практику использования алгоритмов машинного обучения, теперь перейдем к обзору второго дня конференции, в течении которого спикеры рас...

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

Делаем дырки в торрентах освобождая место и оставаясь на раздаче (часть 1) Предупреждение: Этот график сделан для скрипта второй части статьи за которую я ещё не брался. Поэтому не очень обращайте внимание на данные в нём. Графики для этой статьи в конце под спойлером. Информацию из этой статьи используйте на свой страх и риск. Мы будем стирать да...

Datalore: открываем бета-версию приложения для анализа данных на Python Привет, Хабр! В рядах инструментов JetBrains пополнение. Мы запускаем открытую бета-версию Datalore — умной веб-среды для анализа и визуализации данных на языке Python. Машинное обучение уверенно захватывает мир: алгоритмы интеллектуального анализа данных стоят за совреме...

Нативная валидация как фреймворк. Лекция в Яндексе Разработка форм — один из самых ответственных и сложных этапов создания веб-интерфейсов. Проект должен получить пользовательские данные, проверить их и дать пользователю обратную связь. Современные браузеры предоставляют разработчику встроенный API, позволяющий поэтапно реал...

[Из песочницы] Домашняя беспроводная сеть на Cisco Mobility Express руками чайника С чего все началось Как обычно, такие мысли приходят когда нечего делать. Так вот, будучи на море я подумал: а почему бы не сделать дома бесшовный быстрый wi-fi… Как назло еще тесть купил себе Netgear Orbi, который работал на удивление неплохо. Что у меня было на тот момент...

Нативная инверсия зависимостей в TypeScript и React Когда я задумался о внедрении зависимостей в TypeScript, то первое, что мне посоветовали — inversify. Я посмотрел эту и другие библиотеки, реализующие паттерн Service Locator, и даже сделал свою собственную — typedin. Но когда я работал над версией typedin 2.0, то в конце к...

[Перевод] Реактивное программирование в Objective-C Со временем языки программирования постоянно изменяются и развиваются из-за появления новых технологий, современных требований или простого желания освежить стиль написания кода. Реактивное программирование можно реализовать с помощью различных фреймворков, таких как Reactiv...

Нейронные сети, генетические алгоритмы и прочее… Мифы и реальность. Знаки Эта работа является продолжением всего сказанного ранее в статье «Нейронные сети, генетические алгоритмы и прочее… Мифы и реальность. Версия II». В большинстве статей, посвященных анализу текстов, которые удалось изучить автору, под анализом текста понимается главным образо...

Bitcoin & AI. Победа неизбежна О некоторых свойствах кривой secp256k1 и попытке предсказать ее поведение. Как известно, задача дискретного логарифмирования является очень сложной и люди не знают способа вычислять его быстро. Более того, зная точку на кривой P = n*G очень трудно сделать суждение о величин...

Небольшая библиотека для применения ИИ в Telegram чат-ботах Добрый день! На волне всеобщего интереса к чат-ботам в частности и системам диалогового интеллекта вообще я какое-то время занимался связанными с этой темой проектами. Сегодня я хотел бы выложить в опенсорс одну из написанных библиотек. Оговорюсь, что в первую очередь я спец...

[Из песочницы] Копирование данных с веб-сайта с помощью R и библиотеки rvest Чтобы проводить анализ данных, необходимо сначала эти данные собрать. Для этой цели есть много разных методов. В этой статье мы будем говорить о копировании данных непосредственно с веб-сайта, или о скрейпинге (scraping). На Хабре есть несколько статей о том, как сделать коп...

SASS: Оптимизируем media screen Приветствую! Примерно месяц назад я написал статью, в которой выдвинул идею об оптимизации @media screen. Идея заключается в том, чтобы иметь возможность писать значения для всех экранов в одну строку. Более подробно можете почитать по ссылке. Большинство комментариев — это...

И снова о блокировке Telegram. Разворачиваем собственный VPN О том, что мессенджер Telegram заблокирован на территории России, сейчас не говорит и не пишет только ленивый. Общее количество пользователей мессенджера в РФ по словам Павла Дурова составляет примерно 15 млн, что весьма немаленькая цифра. Если Telegram сделать недоступным...

Анонс AppsConf: 2 дня прикладных, хардкорных и хайповых докладов 8-9 октября в Москве пройдет AppsConf — конференция, посвященная проблемам в мобильной разработке и их решению. Это будет уже третья AppsConf, и теперь мы решили переработать формат и подойти к организации немного с другого угла. Но сначала о важном: Мы ищем докладчико...

[Из песочницы] Как быстро написать и выкатить в продакшн алгоритм машинного обучения Сейчас анализ данных все шире используется в самых разных, зачастую далеких от ИТ, областях и задачи, стоящие перед специалистом на ранних этапах проекта радикально отличаются от тех, с которыми сталкиваются крупные компании с развитыми отделами аналитики. В этой статье я ра...

Платёжная система в 50 строк кода, реально? В последнее время технологические решения на блокчейне всё больше проникают в нашу повседневную жизнь. Технология новая, поэтому не все понимают, как и где её применять. Я попробовал создать платежную систему на базе смарт-контракта Ethereum и результат меня удивил. Смарт-ко...

Erlang, rebar3 и установка сервиса под Windows Как заставить Erlang релиз работать как сервис под Windows. Оставим за кадром вопрос зачем это делать. Просто иногда это нужно. Так что сосредоточимся на КАК. Что-бы было еще сложнее поставим себе задачу делать это с помощью wixtoolset. Читать дальше →

Автоматический мониторинг свежеустановленного софта в ZABBIX В ZABBIX есть отличный механизм, который позволяет автоматически обнаруживать и ставить на мониторинг файловые системы, сетевые интерфейсы, CPU, ядера CPU и другие объекты. Но к сожалению тоже самое делать с софтом из коробки он не умеет. С помощью всего пары скриптов, один...

[Перевод] Самое опасное слово в разработке программного обеспечения «Просто размести это где-нибудь на сервере». «Просто добавь кнопку “Избранного” справа от элемента». «Просто добавь [вставьте здесь сложную опцию] в экране настроек». Использование слова «просто» указывает на множество сделанных допущений. Несколько месяцев назад Брэд Фро...

Настраиваем Syncthing. Синяя изолента в мелком бизнесе и дома У меня тут внезапно завалялся гайд по настройке syncthing. Я уверен, что многим это может пригодиться. Про революцию в дистрибуции файлов, которую совершил torrent-протокол рассказывать излишне. Одна проблема была у классических версии технологии — статичность. Если данн...

Менеджер из Amazon об увольнениях в США и performance-оценке программистов Я продолжаю брать интервью у русскоязычных IT-специалистов из Кремниевой долины. На этот раз мне посчастливилось пообщаться с Денисом Давыденко, Software Developer Manager из Amazon. — Я учился на прикладной математике в Белорусском государственном университете и закончил е...

Как должна быть организована техническая поддержка? В редакцию портала поступил вопрос: Уважаемые коллеги. У меня в подчинении две линии технической поддержки: первая линия — диспетчеры тех. поддержки (принимают обращения, решают элементарные обращения/инциденты, сложные обращения/инциденты эскалируют на вторую линию), втора...

Conduit — легковесный service mesh для Kubernetes В конце прошлого года компания Buoyant, уже прославившаяся выпуском одного из популярнейших решений категории service mesh (т.е. «сетки», обеспечивающей взаимодействие между сервисами) — Linkerd, — анонсировала своё второе детище под названием Conduit. Можно было бы удивитьс...

Фальшивая порнография стала новым пугающим трендом в Интернете Новый год – новый тренд. Не так давно пользователи стали обнаруживать довольно пугающее новое увлечение, зародившееся на Reddit. Пользователи популярного сайта начали умело подменять лица знаменитостей на другие, создавая очень убедительные фейки. Больше пруфы лучше не треб...

IntelliJ IDEA 2018.1 — улучшенный анализ кода, поддержка частичных коммитов Git, Android Studio 3.0 и многое другое Привет, Хабр! Недавно мы запустили IntelliJ IDEA 2018.1 – первое большое обновление в этом году. В нем вас ждет множество важных улучшений: поддержка частичных коммитов Git, отображение внешних аннотаций в коде, функциональность, добавленная из Android Studio 3.0, и многое д...

Решаем задачи без самобалансирующихся деревьев в Python Многие задачи на алгоритмы требуют знания определённых структур данных. Стек, очередь, куча, динамический массив, двоичное дерево поиска — нечасто решение алгоритмической задачи обходится без использования чего-либо из них. Однако, качественная их реализация — нетривиальная ...

[Перевод] Современный PHP без фреймворков У меня есть для вас непростое задание. Когда в следующий раз начнёте новый проект, постарайтесь обойтись без PHP-фреймворка. Я не собираюсь перечислять недостатки фреймворков, и это не проявление синдрома неприятия чужой разработки: в этом руководстве мы будем использовать ...

[Перевод] Почему функция Heap32Next() работает так медленно на Windows 7? Если вы занимаетесь системным программированием под Windows, то могли бы заметить, что весьма полезные функции Heap32First/Heap32Next и другие из того же семейства стали работать существенно медленнее начиная с Windows 7. Что же с ними случилось? Давайте перенесёмся в далёк...

[Из песочницы] Ещё один пример автоматизации или PowerShell + Google Apps Script Лень — двигатель прогресса… Вот и я, найдя немного свободного времени, решил автоматизировать достаточно рутинную для каждого админа задачу — создание и отключение пользователей. Читать дальше →

WorkFlowSoft: история нашей дружбы Всем привет. Меня зовут Лидия, и вот уже семь лет я работаю в Департаменте маркетинга компании Softline. В этой статье я расскажу о том, насколько по-разному можно подходить к вопросу организации работы творческой (да, в сущности, и любой другой) команды, и насколько разных ...

Security Week 11: сомнительные новости банковской направленности, убийца майнеров, имитация банка Новость А вот любопытная свеженькая находка наших коллег. Некие предприимчивые товарищи решили снабдить публику необычными новостями. Впрочем, новости были так себе: не очень свежий эксплойт IE да троян Buhtrap, известный с 2014 года. И все это добро вывесили на ряд российск...

Официально: состоялся апдейт основного алгоритма ранжирования Google ​На днях, «Корпорация добра» подтвердила неофициальные слухи о том, что ее основной поисковый алгоритм был обновлен. В результате апдейта позиции некоторых сайтов поползли вверх, в то время как другие ресурсы столкнулись с падением или отсутствием изменений в выдаче.

5 техник определения приоритетов для IT команд Всегда ли просто определить приоритеты в задачах крупного проекта? А если в приоритете находятся пять срочных задач? Десять? Опытные менеджеры проектов и собственники продуктов знают, что одной интуицией здесь не обойтись. Для того, чтобы не подвести команду и уложиться в с...

[Перевод] Обзор новшеств ECMAScript 2016, 2017, и 2018 с примерами Сложно уследить за новшествами различных версий ECMAScript, а ещё сложнее — найти полезные примеры их применения, не перекапывая горы информации. Поэтому сегодня мы публикуем перевод материала, автор которого проанализировал 18 новых возможностей ECMAScript, в число которых ...

Портрет слушателей вечерних курсов Добрый день. С весны 2014 года я совмещаю разработку в области BI и преподавание основ программирования на вечерних курсах профессиональной (пере)подготовки. За четыре года у меня сложилась определенная классификация слушателей. Далее я в общих чертах расскажу какие люди вс...

Художник зашифровал ключи от криптокошельков в Lego-инсталляциях, а мы попробуем их оттуда достать Привет, Хабр! Предлагаю всем желающим немного размять мозги небольшим крипто-ребусом. Оговорюсь сразу, сам я загадку до конца не решил, однако ход решения вроде бы ясен поэтому мне хотелось бы посмотреть, как будет решать сообщество. Заранее извиняюсь за стиль изложения...

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

Chromium: другие ошибки Мы завершаем цикл статей, посвященных рекомендациям по написанию качественного кода на примере ошибок, найденных в проекте Chromium. После написания 6 статей, у нас всё ещё остаётся много нерассмотренных ошибок. Эти ошибки разнородны и про них сложно составить материал на о...

Анатомическая метафора кода. Где у кода мускулы Размышлял как-то о коде, программировании и всём таком; бродили всякие мысли. А что если взять, например, и заставить двух разработчиков написать несложные программы по одному ТЗ. Программисты одинакового уровня. Пишут независимо друг от друга. Код у них, естественно, получи...

И так сойдёт… или Дыра как средство защиты По мотивам "И так сойдёт… или как данные 14 миллионов россиян оказались у меня в руках"... Статья, которую вы сейчас читаете, вовсе не ответ на вышеозвученный пост. Это будет скорее попытка показать что уже сейчас иногда делается, и что вообще можно сделать в области инфор...

Нейросети плохо распознают темнокожих людей и женщин Система распознавания лиц уже достаточно плотно вошла в нашу жизнь. Она находит применение в сканерах наподобие Face ID и даже используется для поиска преступников. Но, как сообщает издание Science Daily, группа исследователей из Массачусетского технологического университе...

Блокчейн-консорциум Hyperledger представил релиз Sawtooth 1.0 для корпоративных нужд Блокчейн-консорциум Hyperledger представил первую рабочую версию программного обеспечения Sawtooth, служащего платформой для создания распределенных реестров на базе алгоритма консенсуса Proof-Of-Elapsed-Time [доказательства истекшего времени]. ICYMI yesterday we announced H...

Изменчивые формы и вау-эффекты: о магии простыми словами Продолжаем рассматривать идеи создания различных эффектов для сайтов. Закончили мы на SVG масках, а сегодня на повестке дня элемент path и формы, которые с его помощью создаются. Точнее их изменения. И снова мы постараемся избежать использования сложных технологий, рассмот...

Путеводитель по инструментам автотестирования мобильных приложений …несмотря на то, что он кое в чём неполон, содержит много сомнительного или, во всяком случае, вопиюще неточного, он имеет два важных преимущества: во-первых, он немного дешевле, [...], а во-вторых, на его обложке большими и приятными для глаз буквами написаны два слова ...

Записки о миграции на Java 10 Здравствуй, Хабр. Как ты помнишь, недавно произошёл официальный релиз Java 10. Учитывая, что практически все сейчас используют преимущественно 8-ку, с выходом 10-ки нас ждут такие вкусности как модульность (вошла в 9-ку) и local variable type inference. Звучит неплохо, можно...

[Из песочницы] Какие привычки делают меня лучше как разработчика ПО? Привет, Хабр! Представляю вашему вниманию перевод статьи «What habits made me a better Software Engineer?» от Sonny Recio. Наши привычки — это ежедневные шаблоны поведения в жизни. Они могут быть как плохими, так и хорошими. Привычки могут быть жизненно необходимыми, наприм...

[Перевод] Делаем разноцветные иконки с помощью SVG-символов и CSS-переменных Давно прошли те дни, когда для иконок в вебе использовались картинки и CSS-спрайты. С развитием веб-шрифтов номером 1 для отображения иконок на сайтах стали иконочные шрифты. Шрифты — векторные, так что вам не нужно беспокоиться о разрешении экрана. Для них можно использо...

Сложности регистрации в Скайпе без телефона Для того, чтобы продолжать пользоваться Скайпом как классической программой, должно выполняться одно из требований — простота регистрации (однофакторная, без телефона и других избыточных действий). Рассмотрим текущие проблемы пользования Скайпом и истории о том, как обойтис...

[Из песочницы] Концептуальная сортировка в С++20 К изменениям лучше готовиться заранее, поэтому предлагаю посмотреть на то, что войдет в стандарт C++20, а именно на концепции. Читать дальше →

Валентинки для офисов — почему бы и нет! Hello Guru, магазин постеров для офиса, видимо, решили немного поэпатировать нас и выпустили довольно странные валентинки ко Дню Святого Валентина. Сверху написано «Меня возбуждает», а дальше — неоднозначное продолжение, которое описывает определенный узкий аспект работы тог...

Видеоконференция за 7 шагов Вчера мы развернули бета-версию наших новых видеоконференций, которые распределяют видео между участниками через наши собственные сервера по технологии SFU. До 100 (!!!) участников в одной конфе, запись видео, новый JavaScript API для управления из облака в реальном времен...

[Из песочницы] Настройка Let's Encrypt wildcard-сертификатов в CentOS 7 с валидацией через CloudFlare API Как и многие, я давно ждал возможности получения wildcard-сертификатов от Let's Encrypt. И вот момент настал, а мануала на хабре так и нет. Ну что ж, попробуем исправить это. Читать дальше →

Запуск приложений с блокчейн на SAP Cloud Platform SAP Cloud Platform — это облачная платформа, которая работает по модели PaaS или платформа-как-сервис (Platform as a Service). С её помощью компании могут разрабатывать собственные приложения, расширения или дополнения для уже существующих продуктов SAP или же создавать гибр...

О кодерах, программистах и инженерах-программистах На этот пост меня натолкнули недавние статьи на Хабре "Кто такой программист?" и "Почему Python так хорош в научных вычислениях". Читая комментарии к ним, я неоднократно натыкался на рассуждения с разделением разработчиков на «кодеров», «программистов» и «инженеров-программ...

Что ещё мы проверяем при помощи Selenium, кроме логики интерфейса Привет, Хабр! Меня зовут Виталий Котов, я работаю в отделе тестирования Badoo. Большую часть времени я работаю с Selenium. Этот замечательный инструмент мы используем для решения разнообразных задач: от тестирования функционала до упрощения работы с логами ошибок и проверки...

Устройство спецэффектов для игр под NES. Часть 1 Существует несколько серий статей про программирование под NES, одна из них уже даже переведена на русский язык на хабре. Однако ни одна из них не заходит дальше обзора базовых возможностей консоли – рассматривается общая архитектура консоли, основы ассемблера, вкратце расск...

Как протестировать SkyNet? (если он написан на JS) Давным давно я посмотрел Терминатор1. Немного подрос и посмотрел немного отрефакторенный Терминатор 2. Третьей интерации пришлось ждать немного дольше. И каждый раз бедному СкайНету не везло, и каждый раз все наперекосяк, и секрет этого невезения очень прост — СкайНет не б...

[Перевод] Внедрение предметно-ориентированного проектирования в PHP И снова здравствуйте! Что ж очередной «новый» курс, который стартовал в конце декабря, подходит к концу — «Backend разработчик на PHP». Учли разные мелкие шероховатости и запускаем новый. Осталось только посмотреть на выпуск и всё, поставим очередную галочку. А счас пока ...

Для надежного хранения: Toshiba X300 4 ТБ Проблема хранения объемных данных до сих пор решается преимущественно силами жестких дисков. SSD хоть и насчитывают более 7 лет успешного покорения рынка, совершенствования конструкций и роста скоростей, не могут приблизиться к старым-добрым хардам по цене одного гигабайта. ...

[Перевод] Сравнение Draft, Gitkube, Helm, Ksonnet, Metaparticle и Skaffold В последнее время Kubernetes пользуется большой популярностью, и разработчики ищут дополнительные способы и методы для развёртывания приложений в кластере этой системы. Даже командная строка kubectl стала восприниматься как инструмент низкого уровня, при этом пользователи п...

[Из песочницы] Freeswitch: по пути наименьшего сопротивления Немного лирики Сколько помню себя в кресле системного администратора (а общий стаж приближается уже годам к 15), столько вопросы офисной телефонии воспринимались мной строчкой из Californication калифорнийских же RHCP: hard core soft porn. Телефония всегда казалась параллель...

Nokia X покажут 27 апреля. Она не будет убийцей iPhone X Некоторые западные СМИ уже сообщают, что 27 апреля мир может увидеть смартфон Nokia X. В сети даже появилось промо-изображение того самого устройства с загрузочной анимацией в виде двух скрещенных смартфонов, образующих букву «X». А дальше никакой конкретики и официальных ...

Программа для оцифровки графиков, чертежей, рисунков: алгоритмы проекта «Репетитор: математика» Содержание Вступительное слово Принцип работы Описание программы Финальный код программы Преимущества работы с оцифрованными функциями на примерах Эпилог Вступительное слово В различных областях, связанных с наукой и образованием, инженерным делом встречается задача, связ...

STM32 blink++ или читаем данные инкрементального энкодера Мотивация Пару месяцев назад я рассказывал, как работает инкрементальный энкодер и как читать угол при помощи простейшей ардуины. Разумеется, немедленно получил вот такие комментарии: У меня ардуино головного мозга. Пусть лично я самой средой ардуино и не пользуюсь, но вс...

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

[Перевод] Утонуть или выплыть. Как при помощи бутстраппинга прокачаться в классного предпринимателя Когда-то, в 2005 году, жизнь моя текла однообразно. Вставал рано утром, выходил из квартиры на Бруклин-Хайтс, тащился с ноутбуком в ближайший Старбакс. Поработав там несколько часов, пересекал Бруклинский мост, отправлялся в Уэст-Виллидж и приземлялся там в другой кофейн...

Самая большая it-тусовка на Урале — конференция DUMP-2018 — пройдёт 13 апреля в Екатеринбурге Программисты, дизайнеры, мобильные разработчики, тестировщики, менеджеры, новость для вас — конференция DUMP-2018 пройдёт 13 апреля в Екатеринбурге. В этом году мы готовим 8 секций: FrontTalks, Serverside, Mobile, Дизайн, DevOps, Тестирование, Менеджмент, Science. Если вы ...

Piligrim XXI получил патент на новые алгоритмы для создания «Цифровой земли» Стартап Piligrim XXI, являющийся разработчиком блокчейн-платформы дополненной реальности Arcona, которая позволяет размещать виртуальные объекты в любой точке мира, получил патент на новые алгоритмы. По словам разработчиков, решение поможет создать универсальный слой «Цифров...

[Из песочницы] RxJS: Не отписывайся Привет, Хабр! Представляю вашему вниманию перевод статьи "RxJS: Don’t Unsubscribe" автора Ben Lesh. Ну… ладно, просто не отказывайся от подписок. Я часто помогаю кому-нибудь в отладке проблем с их RxJS кодом, в том числе со структурированием приложений, которые н...

DoctrineSolrBundle — поиск по Doctrine entity на базе Solr в Symfony2 DoctrineSolrBundle Добрый день, хочу представить свой symfony 2 бандл для автоматической синхронизации Doctrine entity в Solr и последующим поиском. Бандл предназначен для работы с Solr на уровне Doctrine entity и позволяет избежать написания низкоуровневых запросов в solr. ...

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

Когда сложно быть «плохим парнем» Практически любая компания сталкивается с проблемой оценки персонала. Весы всегда немного шатаются – качество выполненной работы или количество завершенных задач? И для ИТ-департамента этот вопрос стоит остро и решается каждой компанией немного по-своему. Сегодня мы хотим оп...

Сумма iconCaption точек в кластере LoadingObjectManager Допустим, вы используете апи яндекс карт. Допустим, вам надо отрисовать много точек, каждая из которых содержит на себе число — количество чего-нибудь, что на этой точке находится. Содержит она это число, допустим, в iconContent (можно и в iconCaption). Читать дальше →

Взаимные превращения JSON, YAML, XML JSON, YAML сейчас популярны, а XML технологии считаются пережитком прошлого. Попробуем использовать «ретро технологии» для работы с данными в формате JSON и YAML. И порассуждаем о причинах применять их в наши дни. Читать дальше →

[Перевод] Cжатие и улучшение рукописных конспектов Я написал программу для очистки отсканированных конспектов с одновременным уменьшением размера файла. Исходное изображение и результат: Слева: исходный скан на 300 DPI, 7,2 МБ PNG / 790 КБ JPG. Справа: результат с тем же разрешением, 121 КБ PNG [1] Примечание: описанный...

Немного интересных данных, вытянутых из автодополнения «Моего круга» Да, всё верно. Среди пользователей «Моего круга» Microsoft Office более популярен чем Golang или Kotlin. Подробности того, как я это узнал и ссылки под катом. Читать дальше →

[Из песочницы] Создание простого RESTful API с Java Spark Что вы изучите Вы изучите как можно определять обобщенные контроллеры с помощью функциональных интерфейсов Java 8. Пример кода на GitHub. Читать дальше →

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

[Перевод] Не защищайте сайт от скрапинга: сопротивление бесполезно За последнее десятилетие я реализовал много проектов, связанных с агрегацией и анализом контента. Часто агрегация включает в себя снятие данных со сторонних сайтов, то есть скрапинг. Хотя я стараюсь избегать этого термина. Он превратился в некий ярлык, с которым связано мног...

[Перевод] Марвин Мински «The Emotion Machine»: Глава 1 «Как мы управляем собой» Отец искусственного интеллекта размышляет о том, как сделать машину, которая бы гордилась нами. Марвин Мински был довольно жестким ученым и то, что он своим «скальпелем познания» исследует тему чувств и эмоций, что же делает нас людьми, довольно интересно и полезно. Книга — ...

Рождение виртуального мобильного оператора: совместный проект «Банка Тинькофф» и «Теле2» Сегодня банки всё активнее «оцифровывают» клиентские сервисы и каналы коммуникации со своими клиентами: персонализируют обслуживание на основе данных клиента, внедряют дистанционные сервисы самообслуживания, чат-боты, виртуальные ассистенты, в том числе системы с элементам...

Check Point DEMO или как быстро посмотреть интерфейс управления Лучший способ определить подходит ли вам то или иное решение — протестировать. “Пилотный” проект является идеальным вариантом и мы рекомендуем его всем своим клиентам и партнерам. Если говорить о Check Point, то самый простой способ — Check Point Security CheckUP. Мы уже п...

Управление IAX каналами при большом количестве Asterisk Добрый день. Каждый, кто мало-мальски администрирует Asterisk, сталкивается с такой задачей как объединить несколько серверов между собой. Тут уже не важно какой протокол выбран IAX или SIP, так как не зависимо от протокола будет приблизительно одинаковый набор действий. В ...

Never Fail Twice, или как построить мониторинговую систему с нуля У нас было 2 виртуальные машины, 75 сайтов, десятки тысяч машин для мониторинга, тысячи метрик, две базы данных и одна очередь ActiveMQ, Python и целое множество библиотек всех сортов и расцветок, pandas, а также numpy, dash, flask, SQL Alchemy. Не то чтобы это был необходим...

Увидеть мир глазами животных: новые горизонты айтрекинга Когда мы говорим о технологиях по распознаванию эмоций, мы по умолчанию имеем в виду человека, то есть весь тот массив данных — вербальных и невербальных, — который им генерируется и используется для комплексной оценки его состояния. Однако чем дальше, тем большее внимание у...

Автоматизация действий атакующего, используя metasploit и Python Известно, что метасплойт написан на Ruby и не поддерживает скрипты, написанные на Python. Несмотря на это у метасплойта есть двусторонний RPC–интерфейс, при помощи которого можно запускать задачи. Есть две библиотеки, позволяющие взаимодействовать с remote procedure call (R...

[recovery mode] Слушайте! 50 лучших подкастов для разработчиков Развиваться, узнавать о технологиях и быть в курсе последних подходов – для ITшника особенно важно. Читать книгу не всегда удобно, смотреть видео-обзоры любят не все и времени много занимает. Держите 50 IT-подкастов о технологических новинках в сфере ИБ, облачных технологи...

Айфончик, не лагай. Часть 1: многопоточность для практиков Меня зовут Максим, и я алкоголик занимаюсь iOS разработкой уже более 7 лет. На волне про соискателей скажу, что регулярно провожу собеседования мобильных разработчиков для компаний. Среди кандидатов попадаются кадры, которые курят кальян прямо на Skype собеседовании, п...

AgileDays'18: контент — всему голова Мы делаем эту конференцию уже 12-й раз подряд, и и каждый раз неизменным остается тщательный выбор докладчиков и тем. Любое выступление проходит отбор программного комитета. Попробуем показать, как все устроено. Читать дальше →

Как устроена Алиса. Лекция Яндекса В этой лекции впервые рассматриваются технологические решения, на основе которых работает Алиса — голосовой помощник Яндекса. Руководитель группы разработки диалоговых систем Борис Янгель hr0nix рассказывает, как его команда учит Алису понимать желания пользователя, находить...

Путь IT-менеджера (часть #1) Привет! Меня зовут Алексей и я предлагаю сразу перейти на “ты”. Один мой друг разрешил опубликовать его историю про путь в руководители, что я и делаю с небольшими литературными изменениями. Все совпадения и имена совершенно случайны. Текст написан от первого лица. Ровно та...

[Перевод] Learn OpenGL. Урок 4.11 — Сглаживание Сглаживание В своих изысканиях, посвященных трехмерному рендеру вы наверняка сталкивались с появлением пикселизованных зазубрин по краям отрисовываемых моделей. Эти отметины неизбежно появляются из-за принципа преобразования вершинных данных в экранные фрагменты растеризато...

[Перевод] Анализ игр с HDR Последнюю пару недель я потратил на исследование HDR-картинки различных игр. Когда речь идёт об SDR-видео, то вам должны быть знакомы значения RGB в интервале 0-255, где 0 представляет чёрный цвет, а 255 — белый. HDR10 /Dolby Vision в этом плане немного отличается, не тол...

Что нам стоит Scrum построить: интервью с Agile-коучем Василием Савуновым Всем привет! Сегодня у нас на связи agile-коуч Василий Савунов. Немного поговорим об организации работы команды по системе Scrum, а также получим ценные рекомендации по обучению Scrum и Kanban. Читать дальше →

Мясорубка, супер-роботы и НИИ (Не Искусственный Интеллект) Если вы уже не первый год ведете какой-то проект, поверьте не похож ли он на нож мясорубки из истории №1 или на тарелку из истории №2 Это поможет вам оптимизировать свой проект выкинув из него все лишнее, что только тормозит его. История №1 Дело было достаточно много лет наз...

Экспресс-оценка сложности алгоритма (+разбор задачи c Joker 2017 и DotNext 2017 Moscow) Для любого практического применения log(n) можно считать константой. Просто в некоторых компаниях эта константа больше, чем у вас. © народная мудростьПоловину жизни я учу программировать. В том числе учу разработчиков делать быструю оценку вычислительной сложности алгоритма....

Знакомство с гео-библиотекой S2 от Google и примеры использования Привет, Хабр! Меня зовут Марко, я работаю в Badoo в команде «Платформа». Не так давно на GopherCon Russia 2018 я рассказывал, как работать с координатами. Для тех, кто не любит смотреть видео (и всех интересующихся, конечно), публикую текстовый вариант своего доклада. Вв...

Централизованный сontinuous deployment за год vol 2 В нашей прошлой статье мы рассказали о том как строили централизованный конвейер, но описали его довольно поверхностно. Это породило массу вопросов, которые мы не можем оставить без ответа. Здесь мы попробуем максимально глубоко залезть «под капот» и рассказать, как работает...

Карго-культ вокруг и внутри нас: IT HR и маркетинг Совсем недавно я наткнулся на очередное обсуждение DevRel в «Разборе Полетов», в котором услышал странно знакомое слово «карго-культ». Потом оно же всплыло и в Telegram-канале Алексея 23derevo Федорова. Потом еще где-то… Всё это привело меня к мысли, что карго-культ охватил ...

Ещё раз о JetBrains Open Day в Москве Привет! Мы очень рады, что событие вызвало большой интерес. Зарегистрировалось очень много участников: в офис столько не поместится. Поэтому мы решили арендовать зал и провести мероприятие в один день: 19 апреля. Итак: Банкетный зал Crystal Ballroom в Москва-Сити, 1-й красн...

Мой опыт консультирования по JavaScript (React/Redux) Всем добрый день. В марте-апреле исполнится два года, как я выпустил небольшие текстовые книги по React на русском языке. Учебники без "воды" вышли в удачное время, и я получил много посещений, скачиваний и "читателей", так же известных как разные ip-адреса. Книги окунули ме...

Отправка почты из Docker-контейнера (докеризация postfix и sasl) Когда я расположил приложение в Docker-контейнере и попробовал отправить email на почтовый сервер в другом Docker-контейнере, столкнулся с непредвиденной проблемой. Почтовый сервер postfix по умолчанию отправляет почту на произвольный домен получателя только от локального кл...

Создаём Android Twitter-приложение Привет, Хабр! Предлагаем вашему вниманию курс, в котором рассмотрено пошаговое создание Twitter-клиента. Читать дальше →

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

[Перевод] Лучший UX — совсем никакого UI Сколько себя помню, я всегда был одержим интерфейсами пользователя (UI). Помню, как наслаждался красотой Compaq TabWorks, пока играл в «The Incredible Machine» и слушал «Tears For Fears—Greatest Hits» на семейном компьютере. Не осуждайте меня — я слушал «Mad World» ещё зад...

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

Киллер фичи Google Photos. Что не знали почти Все Android юзеры Многие пользователи смартфонов сталкиваются с тем, что свободного места на устройстве часто не хватает. Чтобы сделать фото или снять новый ролик приходится удалять старые файлы, чистить кэш и всячески изощряться. А смена устройства – это вообще отдельный длительный и к...

[Перевод] HoleyBeep: объяснение и эксплоит В былые времена люди использовали \a для генерирования неприятных «гудков» из спикеров системных блоков. Это было особенно неудобно, если хотелось генерировать более сложные звуковые последовательности вроде 8-битной музыки. Поэтому Джонатан Найтингейл написал программу be...

SignalR Core. «Hello Habr!» Коротко: небольшой самодостаточный пример, иллюстрирующий SignalR для .NET Core 2 и разработку в IDE Rider. В самом конце — видео Dino Esposito с конференции DotNext на эту же тему.Все привыкли к push-уведомлениям в браузере. Однако создание их требует от программиста опреде...

Тестирование и непрерывная интеграция для Ansible-ролей при помощи Molecule и Jenkins После того, как Ansible вошёл в нашу практику, количество кода на нём и, в частности, ролей стало расти очень быстро. Роли для бэка, фронта, прокси, баз данных, мониторинга, сбора логов и т. д. и т. п.—их количество насчитывает десятки. Часть из ролей специфична для опреде...

Хэш-стеганография с использованием vkapi Привет, Хабр. Некоторое время назад решил разобраться, что такое стеганография, в чем её смысл и какая она бывает. И спустя несколько ссылок наткнулся на интересную статью про хэш-стеганографию. Возник вопрос — а почему бы не попробовать реализовать такой способ передачи на ...

[Из песочницы] Team Leader. Быть или не быть, вот в чем вопрос Данную статью меня побудил написать тот скрытый и для каждого свой смысл должности/роли Team Leader. Многие хотят им стать, многим интересно что там, "под капотом", работы в этой должности. Поэтому кому интересно узнать еще одно мнение об этом всем безобразии, то ...

[Перевод] Защита целостности кода с помощью PGP. Часть 2. Создание мастер-ключа Перед вами перевод второй части серии материалов, посвящённых защите целостности кода с помощью PGP. В прошлый раз мы разобрали основы PGP, а сегодня поговорим о том, как создавать 4096-битные мастер-ключи RSA, и о том, как их защищать. Читать дальше →

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

Россия неспособна самостоятельно создавать спутники Доля иностранной электроники в российских гражданских спутниках связи достигает 70 процентов, заявил замглавы Россвязи Игорь Чурсин на конференции Satellite Russia. По его словам, зависимость от иностранных комплектующих вызывает трудности в производстве новых российских с...

Архивирование и восстановление индексов в Elasticsearch Однажды в одно прекрасное утро перед нами встал вопрос архивирования индексов Elasticsearch. Захотелось увидеть в хранилище стройные ряды сжатых файлов, по одному на каждый индекс. «Из коробки» Elastic такого решения не предлагает, по крайней мере, в версии 5.х. Немного пос...

[Перевод] Новости из мира OpenStreetMap №393 (23.01.2018-29.01.2018) Визуализация уличной дорожной сети на основе данных OpenStreetMap1 | Изображение Geoff Being Карты Франсиско Моралес (Franscisco Morales) написал в твиттере Monde Geospatial о видео уроке, как загрузить отметки водораздела из OpenStreetMap для ArcGIS. Илья Зверев возродил ...

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

Ускоряем метод Виолы-Джонса (Viola-Jones) В последнее время метод Виолы-Джонса, который долгое время был основным способом детектирования объектов на изображении, отступает под натиском более новых и совершенных алгоритмов. Тем не менее, актуальность этого метода еще сохраняется и в настоящем времени. Да, каскадный...

[Перевод] Как создать нейросеть всего из 30 строк JavaScript-кода Перевод How to create a Neural Network in JavaScript in only 30 lines of code. В этой статье мы рассмотрим, как можно создать и обучить нейросеть с помощью библиотеки Synaptic.js, позволяющей проводить глубокое обучение в связке Node.js с браузером. Давайте создадим прост...

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

Splunk Scripted Input. Или как использовать скрипты для получения данных о работе систем и анализировать их в Splunk Ранее мы писали, как можно загрузить логи в Splunk из каталога или с помощью syslog, рассказывали как забирать стандартные виндовые и линуксовые события, но что если нам необходимо получать более гранулярную информацию о работе наших систем? В таком случае на помощь приходя...

[Из песочницы] Немного сокращаем действия Каждый администратор всегда сводит свои действия к минимуму, пишет скрипты, пишет программы и чтобы меньше делать рутинных задач приходится проявлять фантазию и поработать головой. Хочу поделиться своим опытом, может кому-то и поможет. У меня в компании сейчас малое количест...

Работа большой распределенной команды: преимущества удаленки, решения проблем, полезные инструменты Всем привет! Меня зовут Алексей, я тимлид команды Vimbox (платформа для обучения в Skyeng). Не так давно я выступал на конференции с докладом об удаленной работе и особенностях распределенной команды. Неожиданно темой заинтересовалось много людей, хотя я думал, что хайп уже...

JetBrains Open Day в Москве Привет, друзья! 19-20 апреля мы устраиваем Open Day в Москве. Оказалось, ещё не все знают, что в столице у JetBrains тоже есть офис. Недавно он увеличился в три раза, и теперь там много места не только для митапов, но и для новых сотрудников. Вы узнаете, как у нас всё устр...

N+1 полезных книг про бизнес – шестой (на самом деле восьмой) год Привет! Это пятый пост про книги: мы их читаем и запоминаем, которые были полезны для развития компания и вообще. Поскольку это уже пятая подборка, в неё попало достаточно много странных вещей — классика управления проектами и бизнеса не сильно меняется. Первая в списке ...

[Перевод] Почему следует игнорировать истории основателей успешных стартапов Истории основания — это мифы Истории основания компаний почти всегда неумышленно лгут. Взять Netflix: «Netflix основан в этот день 20 лет назад, потому что Рид Хастингс не успел вернуть видеокассету» Что на самом деле враньё Рид Хастингс много раз говорил, что у него во...

Toп 10 ошибок в C++ проектах за 2017 год За окном уже почти как 3 месяца стоит 2018 год, а это значит, что пришло время (пусть и немного запоздало) составить топ 10 ошибок, найденных анализатором PVS-Studio в C++ проектах за прошедший год. Итак, начнём! Читать дальше →

Во ВКонтакте заработали моментальные отметки на фотографиях Команда социальной сети ВКонтакте объявила о запуске алгоритма моментальных отметок на фотографиях. При загрузке снимка в альбом или прикреплении его к записи алгоритм автоматически предлагает отметить друзей на фото, показав их имена. Это заметно ускорит процесс разметки п...

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

Создание анимации в 7 строк кода Android-разработчик Леонардо Пирро рассказывает, как создать простую анимацию при помощи ConstraintLayout и ConstraintSet.

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

[Перевод] Кодинг без клавиатуры: создание игры hands-free Dig Dog — это забавная маленькая видеоигра. Можно назвать её "Spelunky для детей", и не стоит считать это сомнительным комплиментом. Dig Dog, недавно выпущенная для iOS, Xbox, Windows и Mac, отказалась от некоторых сложных элементов жанра, имеет плавное управление и обладает...

Тормозит анимация разблокировки на iOS 11? Есть решение! 2017 год оказался действительно сложным для Apple, особенно это коснулось разработки ПО. iOS 11 получила немалое количество негативных отзывов от пользователей. Недоработки, конечно же, были всегда, но не в таком объёме, как мы это наблюдаем на последней версии ОС. Впрочем...

Что нового в AppCode 2018.1 Привет! Этот пост, конечно же, про AppCode 2018.1. Впрочем нет, в этот раз он еще и про первый апдейт. У нас много нового и полезного, все в картинках под катом. Читать дальше →

Как обмен данными влияет на качество рекомендаций Привет, Хабр! Мы уделяем особенное внимание проверке интеграции при подключении нового клиента к платформе и постоянно отслеживаем статус интеграции в процессе работы. Почему это критически важно? Потому что сбор данных — основа формирования качественных рекомендаций. ...

[Из песочницы] Паттерны проектирования в Cocos2d-x Привет, Хабр! Представляю вашем вниманию перевод статьи "Design Patterns in Cocos2d-x" автора Aleksei Pinchuk. Статья будет интересна для разработчиков Cocos2d-x и тех, кто изучает паттерны. Она выполнена в форме краткого конспекта, в котором можно быстро посмотреть где при...

Как улучшить графику в FIFA 18 при помощи глубокого обучения Создание реалистичных лиц при помощи нашумевшего алгоритма deepfakes.

[Перевод] Функциональное программирование с PHP-генераторами Генераторы классные. Они облегчают написание итераторов, определяя функции вместо создания целых классов, реализующих Iterator. Также генераторы помогают создавать ленивые списки (lazy list) и бесконечные потоки. Главное отличие функции-генератора от обычной функции в том, ...

Юристы Telegram поделились общим алгоритмом правового реагирования на блокировку Юристы международной правозащитной организации «Агора», представляющей интересы Telegram, рассказали, как действовать в том случае, если сайт или сервис пострадал от сопутствующих массовых блокировок. Общий алгоритм правового реагирования будет таким: Удостовериться, что дел...

Мобильная связь в СССР Высокотехнологичные проекты СССР в 20 веке гремели на весь мир — первый спутник, «Восток-1», семь советских атомных ледоколов; но есть технологии, о которых мы знаем не так много. Чаще всего мобильную связь мы упоминаем в контексте сотовой связи. Мобильная связь — это люб...

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

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

Тестирование производительности гиперконвергентных систем и SDS своими руками — Штурман, приборы! — 36! — Что 36? — А что приборы? Примерно так на сегодня выглядит большинство синтетических тестов систем хранения данных. Почему так? До относительно недавнего времени большинство СХД были плоскими с равномерным доступом. Что это означает? Общее до...

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

Знаковый символ: iOS denial of service   В операционной системе iOS обнаружен необычный баг, приводящий к перезагрузке устройства. Достаточно прислать на iPhone специальный знак из алфавита индийского языка телугу జ్ఞా («знак»), после чего устройство автоматически перезагружается. Читать дальше →

[recovery mode] Профессиональная эмиграция в Нидерланды: как это было Прошлым летом я инициировал, а несколько месяцев назад успешно завершил процесс смены работы, приведший меня к релокации в Нидерланды. Хотите узнать, как это было? Добро пожаловать под кат. Осторожно — очень длиннопост. Читать дальше →

Принтер из подручных материалов Вот такой принтер удалось собрать из подручных материалов. Обозвал его "Кошмаром перфекциониста" но хуже от этого он работать не стал. Немного доработал после анализа ошибок, пока так и работает (подогрев стола немного позже добавил). На другом ресурсе писал статью о нём...

Технологии беспилотных автомобилей. Лекция Яндекса Яндекс продолжает разрабатывать технологии беспилотных автомобилей. Сегодня мы публикуем лекцию одного из руководителей этого проекта — Антона Слесарева. Антон выступил на «Data-ёлке» в конце 2017 года и рассказал об одной из важных компонент стека технологий, необходимых дл...

Генеративное Моделирование и AI В предыдущей главе мы поговорили о классических дискриминативных моделях в машинном обучении и разобрали простейшие примеры таких моделей. Давайте теперь посмотрим на более общую картину. Читать дальше →

Что такое цифровая рукописная подпись (ЦРП) Русские буквы «Я», отличающиеся формой траектории, и пример нахождения экстремальных точек для быстрого сопоставления динамических кривых. Источник: Д.В. Колядин, И.Б. Петров, «Алгоритм выделения экстремальных точек применительно к задаче биометрической верификации рукописн...

Меловой леттеринг для «чайников» на примере работы над арт-объектом Это история личного опыта одного UX-дизайнера, который полюбил леттеринг ещё нечётко зная, что это такое. Я расскажу о том, что такое леттеринг в современном дизайне на примере своей работы над арт-объектом; о трудностях, с которыми я столкнулась и как их решила; о грифель...

Многие ли уже протестировали Samsung Galaxy S9? Galaxy S9 и S9+, представленные недавно компанией Samsung, стали, пожалуй, самым известным широкой публике анонсом выставки мобильных технологий MWC 2018 в Барселоне. Впрочем, у некоторых пользователей была возможность не только узнать о дебюте новинок, но и протестировать и...

Python, Delphi и C++ глазами учёного Статья про использование Python в научных вычислениях подтолкнула меня написать эту статью. Это история, случившаяся со мной и с коллегами 6 лет назад. На тот момент я уже достаточно подразобрался с Delphi и Python, но только теперь я ощущаю что достаточно поработал с C/C++,...

WLPPR – сборник необычных обоев для iPhone В App Store есть достаточно много разных сборников обоев для iPhone и iPad. Однако в большинстве случаев в них можно встретить только вполне стандартные изображения – картинки с машинами и девушками, а также разнообразные текстуры, абстракции и фотографии природы. Но автор п...

У тебя есть быстрый сайт? А если проверю? Поисковые системы намеренно, а пользователи — интуитивно оценивают сайты по времени загрузки, а не только по качеству и релевантности контента. С недавнего времени важен стал также показатель скорости мобильной версии сайта. Но, в отличии от контента, за этими параметрами сл...

Визуализация связей процессов в Linux Приходилось ли вам отслеживать зависимости системных процессов, «кто чей папка», найти императора и убить его, чтобы рабы не респаунились? Можно ps'ать и grep'ать, можно lsof погонять, ведь это так увлекательно ;) Но любые связи, как мне кажется, всегда проще анализировать ...

Обзор сервера удаленных рабочих столов ThinLinc для Linux Решение Cendio ThinLinc в России пока не получило большой известности, хотя постепенно начинает привлекать к себе внимание. Мы решили опубликовать небольшой обзор, чтобы читатели смогли оценить удобство программного продукта под Linux. Читать дальше →

Конференция DEFCON 21. «Как мой Ботнет заработал миллионы долларов на продаже автомобилей и победил русских хакеров» Благодарю Вас за то, что пришли послушать моё выступление. Я расскажу Вам несколько крутых вещей о своей карьере, своих ботах и ботнет системе, которые принесли мне больше удовлетворения, нежели что-либо другое. Например, о том, что написанный мною бот позволил заработать ми...

Пять мифов о Data Science Меня зовут Иван Серов, я работаю в департаменте Data Science финтех-компании ID Finance. Data scientist –довольно молодая, но очень востребованная профессия, которая обросла множеством мифов. В этом посте я расскажу о нескольких заблуждениях, с которыми сталкиваются начинающ...

Обход авторизации SAML   Обнаружена критичная уязвимость в SAML (Security Assertion Markup Language), с помощью которой можно осуществить обход авторизации. Уязвимости подвержены решения различных SSO-провайдеров и несколько библиотек, использующих SAML SSO (Single Sign-On). Читать дальше →

[Перевод] 20 Eloquent ORM трюков Eloquent ORM кажется простой, но под капотом существует много полускрытых функций и менее известных способов. В этой статье я покажу вам несколько трюков. Читать дальше →

Пользовательские агрегатные и оконные функции в PostgreSQL и Oracle В этой статье мы посмотрим, как в двух системах создавать пользовательские агрегатные и оконные (в терминологии Oracle — аналитические) функции. Несмотря на различия в синтаксисе и в целом в подходе к расширяемости, механизм этих функций очень похож. Но и различия тоже имею...

Построение расширенной системы антивирусной защиты небольшого предприятия. Часть 1. Выбор стратегии и решения Наверное, не стоит много писать о необходимости уделять внимание ИТ безопасности и что будет, если этого не делать. Поэтому сразу перейдём к делу. В рамках одного из проектов понадобилось организовать комплексную защиту одной из сетевых ИТ-инфраструктур. Читать дальше →

[Перевод] Заставьте меня думать Дизайн сложности До недавнего времени вещи, которые мы используем повседневно, получали форму исходя из их технологической основы. Конструктивный дизайн телефона сводился в основном к созданию корпуса вокруг машины. Задача дизайнеров заключалась в том, чтобы технология стала...

JupyterHub, или как управлять сотнями пользователей Python. Лекция Яндекса Платформа Jupyter позволяет начинающим разработчикам, аналитикам данных и студентам быстрее начать программировать на Python. Предположим, ваша команда растёт — в ней теперь не только программисты, но и менеджеры, аналитики, исследователи. Рано или поздно отсутствие совместн...

Как с помощью анализа геоданных предсказать количество вызовов экстренных служб в разных частях города? Попробуйте решить задачу из онлайн-хакатона Geohack.112. Дано: территория Москвы и Московской области была разделена на квадраты размеров от 500 на 500 метров. В качестве исходных данных представлено среднее количество вызовов экстренных служб в день (номера 112, 101, 102, 1...

Go 1.10 Release Party @ Badoo: как это было. Видео, фото, отзывы Привет, Хабр! 24 февраля мы устроили Go 1.10 Release Party @ Badoo по случаю свежего релиза. Спасибо всем, кто был с нами! Если вы пропустили встречу сообщества, под катом — видео выступлений, слайды, немного отзывов и фотоотчет. Читать дальше →

[Из песочницы] Использование Reflection.Emit для предварительной компиляции выражений в MSIL Привет, Хабр! Представляю вашему вниманию перевод статьи "Using Reflection.Emit to Precompile Expressions to MSIL" автора Steve Marsh. Введение Классы в этом проекте позволяют анализировать текстовые выражения, введенные пользователем, и компилировать их на сборк...

Программист из Google о российских дипломах, собеседованиях и работе в Кремниевой долине Есть у меня одно увлечение – интервьюировать IT-специалистов из Кремниевой долины. Не с целью приема на работу, а просто о жизни в США и работе в крупных компаниях. Мой сегодняшний герой – Евгений Краско, программист из YouTube. –Я родом из Екатеринбурга, после окончания ...

Введение в Postman “Разработка API сложна, Postman делает её лёгкой” © Postdot Technologies, IncКогда видишь описание инструментов Postman — захватывает дух, просыпается чувство всевластия над своим будущим детищем. Кажется, что и взрощенные в прошлом "монстры" наконец-то падут перед тобой! В...

Трудности перевода: как найти плагиат с английского языка в русских научных статьях В нашей первой статье в корпоративном блоге компании Антиплагиат на Хабре я решил рассказать о том, как работает алгоритм поиска переводных заимствований. Несколько лет назад возникла идея сделать инструмент для обнаружения в русскоязычных текстах переведенного и заимствован...

Наблюда-Ski 04.6: Наращиваем в длину, или Фьюз и не только ====quote====Приветствую!=============Недавно было несколько тем по сращиванию прутков, и для начинающих - эта непонятная и больная "тема".Хочу сразу перечислить/обозреть все вероятные методы сращивания двух прутков филамента,будь то 1.75 или 3мм, желательно одного типа мате...

[Перевод] Сетевой код для бедных Чем больше узнаёшь в своей области знания, тем чётче понимаешь, что никто не может знать всего. По какой-то причине (за что, господи, за что?) моей областью стала разработка игр. Каждый, кто работает в этой сфере, скажет вам: никогда не добавляй сетевой многопользовательск...

Student Insider: новости из замочной скважины Если отмотать пленку лет на -надцать назад (в некоторых случаях цифра меньше, в некоторых больше, но суть не в этом), то мы вспомним, как когда-то на пороге университета, или уже сидя на лекции, нам очень хотелось поскорее начать работать. Мы ждали знака, куда направить силы...

Детективная история про RMCP+ и OpenSSL, или как Wireshark помог победить incorrect argument в OpenIPMI Внутри будет немного кода на Си, немного дампов Wireshark'а и чуть-чуть консольных команд. Дано: несколько железок, которые должны опрашиваться по интерфейсу IPMI из под GNU/Linux, и две из них, которые отказывались это делать. Читать дальше →

Довольно автоматизации ― пора нарисовать сову на PowerShell и научить консоль говорить Сегодня звездный час PowerShell: время странных скриптов и созданных при помощи «Мощной Оболочки» игр. Если серьезная рутина вам надоела и хочется посмотреть на иные таланты PowerShell ― приглашаю под кат. и да начнется веселье!

Обход антивируса Kaspersky Total Security. Часть 2 Здравствуйте ещё раз. Под моим первым постом «Обход антивируса Kaspersky Total Security» пользователи негодовали. Кто-то писал что это вообще не обход антивируса, а полный бред, кто-то поддержал идею. От части я своё задание выполнил, но если вам этого мало то сегодня я попр...

Профессиональное выгорание: как распознать и предотвратить Любить свою работу и много работать – хорошо, уметь вовремя распознавать выгорание – еще лучше. Но для многих признать свое выгорание значит проявить слабость и быть несостоятельным. Рассказываем, почему не всегда нужно говорить себе «Соберись, тряпка!», какие стадии бывают...

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

Ищем причины тормозов БД, используя sys schema в MySQL 5.7 Есть у нас веб-приложение. Относительно большое и старое — много-много кода, в котором много-много разных запросов к базе данных. При этом мы не гугл, но несколько тысяч запросов в секунду на сервер БД приходится. Ну и безусловно растёт наше приложение во все стороны — доб...

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

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

Дизайн в условиях хакатона Меня зовут Алиса, я старший дизайнер в Touch Instinct. Мы — аутсорс-компания. Скорость — один из важнейших критериев оценки нашей работы, наравне с качеством. Иногда для подготовки предложения для нового клиента нужно изучить, придумать и воплотить в жизнь концепцию прилож...

«HR-аналитика» средствами R Является продолжением предыдущих публикаций. Неожиданно оказалось, что для одной из задач, которую пришлось решать примерно год назад, а именно оценка «надежности» большого коллектива, нынче есть весьма популярное название «HR аналитика». Актуализируя в рамках новой задачи м...

Коллтрекинг Mango Office: под капотом сервиса В первой статье мы «срывали покровы» и рассказывали, что такое коллтрекинг. Затем подробно разобрали его настройки, теперь — о том, как мы в «Манго Телеком» создавали эту услугу и какой стек технологий используем. Читать дальше →

Видео: обладатели Far Cry 5 создали свои версии локаций из популярных игр в редакторе Arcade В недавно вышедшем шутере Far Cry 5 есть режим Arcade, позволяющий создавать в редакторе свои приключения, а затем играть в них в одиночку или в онлайне с участием до 12 игроков. Он уже обрёл значительную популярность. Обладатели Far Cry 5 начали создавать собственн...

Google введёт запрет на рекламу криптовалют Сегодня компания Google сообщила о том, что введёт запрет на любую рекламу криптовалют и ICO. Google против криптовалют Это значит, что все рискованные финансовые продукты тоже попадут под запрет. Не так давно против криптовалют опочилась и Facebook, хотя пользователи всё ...

[Перевод] Slack — это противоположность организационной памяти С 2014 по 2016 годы у меня на работе произошло много всего, но главным кошмаром стал Slack. Менеджерам он понравился, потому что «всё излагается в письменном виде», «повышается доступность сотрудников» и «быстро публикуются ответы на вопросы». Я считаю, что он разрушает спос...

Пример организации кода для сложного Angular проекта Официальная документация Angular неплохо описывает, а angular-cli автоматически создает структуру относительно простого проекта. Но по мере его развития сложность неизбежно растет и возникает естественная необходимость как-то этой сложностью управлять. В том числе и за счет ...

Как мошенники обманывают пользователей криптовалют, и как защитить цифровые активы: 3 практических совета Объем рынка криптовалют вырос с $27 млрд в апреле 2017 года до отметки в $270 млрд по данным на 3 апреля 2018 года. Подобный рост связан с повышением стоимости биткоина относительно курса доллара, а также с распространением ICO, с помощью которых стартапы привлекают средст...

agile gestalt Кажется, что гештальт подход в психотерапии и гибкие методологии разработки очень близки. Это статья — попытка развернуть эту мысль, имея в виду читателей habra. Что такое agile здесь должно быть понятно, а вот что такое психотерапия вообще и гештальт-подход в частности наве...

Как специалисты Google Adwords помогли мне выбросить 150 000 грн (около $6000) за месяц или почему я больше не буду… Это довольно забавная история о том, как я попал в просак сознательно, причём дважды и в результате «сжег» не мало не много, а где-то $15 000, всего лишь за месяц. Причём чувствовал, что так будет, но решил пойти по этому пути. Ради чего? Ради опыта? Нет, что Вы. Как говорит...

Wandle 2.0 Жить сейчас с Wandle! Больше не будет несвоевременных звонков, вспышек, жужжаний, всплывающих уведомлений.  На основе уникальных алгоритмов Ваш телефон автоматически подберет индивидуальный режим оповещения конкретно для вас. Скачав Wandle, Вы получаете: ★ Безз...

Стриминг видео с помощью Azure и .NET В рамках проекта Jisp, разработкой которого занимается компания WaveAccess, возникла задача по загрузке и проигрыванию видео. В целом, ничего необычного, но с ней связаны известные проблемы, такие как необходимость препроцессинга, а также необходимость поддержать возможность...

[Из песочницы] Еще одна статья о распознавании рабочих без касок нейросетями Привет, Хабр! Меня зовут Владимир, я студент 4го курса КубГТУ. Некоторое время назад я наткнулся на статью о разработке CV-системы для обнаружения рабочего персонала без касок, и решил поделиться собственным опытом в данной области, полученным в ходе стажировки в одной промы...

[Из песочницы] TDD ошибочно? DISCLAIMER: вы попались на clickbait. Очевидно, что TDD нельзя назвать ошибочным, но… Всегда есть какое-то но. Содержание Bступление Tесты и есть проблема! Hемного истории Hебольшая викторина Oбзор TDD Tесты — это формализованные требования TDD поощряет хорошую архитек...

[Перевод] О главнейшей причине существования современных JS-фреймворков Автор материала, перевод которого мы публикуем сегодня, говорит, что ему очень и очень часто приходилось видеть, как веб-разработчики бездумно пользуются современными фреймворками вроде React, Angular или Vue.js. Эти фреймворки предлагают много интересного, но, как правило...

Принцип экономии мыслетоплива Представления, на наш взгляд, излишни. Под катом доклад гуру прокрастинатологии Максима Дорофеева, в котором он расскажет, как сделать больше, а устать меньше. Узнаем немного про обезьяну, эффективность и многое другое. Возможно даже, что после прочтения половина всего, чт...

Снова EA, снова NFS, снова баги. Чиним Привет, Хабр! С вами снова спидраннинг коммьюнити NFS. И мы снова чиним старенькую игрушку — NFS Most Wanted. Я уже рассказывал о починке багов в своих предыдущих статьях, а сегодня хотел был пойти с вами немного глубже в дебри дизассемблирования. Заинтересовавшихся прошу по...

[Перевод] Конференция DEFCON 17. «Это восхитительное время, когда меня обвинили в ущербе на 2 миллиарда долларов». Джейсон Скотт Меня зовут Джейсон Скотт и я хочу рассказать Вам потрясающую историю, как меня обвинили в ущербе на 2 миллиарда долларов, и даже немного больше. Это не байка, а реальная история, которая произошла со мной. Я создал сайт textfiles.com, архив истории компьютеров. Он выгляди...

WebAssembly и манипуляции DOM Про WebAssembly в наше время слышали, я думаю, практически все. Если Вы не слышали, то на Хабре есть замечательный вводный материал об этой технологии. Другое дело, что очень часто можно встретить комментарии вида “Ура, теперь будем писать фронтенд на C++!”, “Давайте переп...

[Из песочницы] Angular 5: Unit тесты С помощью unit тестов мы можем удостовериться, что отдельные части приложения работают именно так, как мы от них ожидаем. Это в некоторой степени спасает от поломок существующий код, помогает прояснить — как он будет работать в тех или иных случаях. И, в конце концов, позв...

[Перевод] Откровения работника крупных IT-компаниях [в Кремниевой долине] Это письмо пришло мне на электронную почту. Я лишь немного отредактировал его, чтобы убрать некоторые личные данные. Рассказ длинный, поэтому прячу под кат: Предыстория [Ранее] я присоединился к компании Google в качестве технического директора. Я так полагаю, что это произ...

Конец прокрастинации Описать понятие прокрастинации можно этим максимально простым изображением. У вас есть ряд определенных задач и есть выделенное время на их выполнение. Прокрастинаторы решают свалить все задачи в кучу и оставить на самый последний момент. Проблема в том, что прокрастинация...

[Перевод] Топ VSCode расширений, которые ускорят вашу разработку на JavaScript VSCode — это кроссплатформенный редактор с открытым исходным кодом, ставший любимым среди программистов, особенно среди веб-разработчиков. Он быстрый, расширяемый и имеет массу возможностей и настроек. Если вы до сих пор не работали с ним, то советую попробовать. Для VSCode...

[recovery mode] Eclipse Scala IDE — от мертвого осла уши… Scala — это изумительный язык программирования, которым я наслаждался года 4 назад. Я, наверное, был его фанатом: покупал книги и курсы на Coursera, использовал в pet- и продуктивных проектах et cetera, et cetera, et cetera. Scala открыл для меня увлекательный мир функциона...

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

[recovery mode] Разработка голосовых приложений 3CX: введение для начинающих Среда разработки Call Flow Designer Среда разработки 3CX Call Flow Designer (CFD) позволяет администратору АТС создавать сложную логику обработки вызовов (голосовые приложения) в удобном визуальном редакторе — с минимальными навыками программирования или вообще без них. Голо...

Какое будущее ждет криптовалюты? Современный человек в погоне за высокими доходами стремится начать зарабатывать на чем угодно. Сегодня активно лоббируется развитие возможности заработка в виртуальном пространстве. Главная цель – заработать как можно больше. Майнинг криптовалют – перспективное направление п...

Моновендорные ЦОДы. Развенчивая мифы В последнее время все больше заказчиков при строительстве и модернизации ЦОДов ориентируются на моновендорные решения в области инженерной инфраструктуры. Среди преимуществ таких решений – предсказуемые характеристики и отличная совместимость подсистем, высокая надежность и ...

SOA: послать запрос на сервер? Что может быть проще? Возможно, вы уже слышали про компанию Booking.com, что они много экспериментируют и часто деплоятся без тестирования. И еще, что есть один большой репозиторий на 4 Гб, в нем 4 миллиона строчек перлового кода, и вообще монолитная архитектура. В то же самое время Booking.com ...

Обзорная лекция и запуск 2-й части курса по разработке веб-сервисов на Go У нас две хорошие новости. На Coursera мы запустили 2-ю часть онлайн-курса по разработке веб-сервисов на Go. А 2-го марта в офисе проведем обзорную лекцию, на которой расскажем, почему вам стоит попробовать Go. Под катом подробности. Читать дальше →

Как я применяю 3D печать До 3D По образованию я радиотехник и занятие радиотехническим творчеством для меня не пустой звук.Это огромное удовольствие сделать сложное устройство своими руками или повторить чей-то успех и получить клевый прибор. Но есть одна проблема, которая не давала мне покоя во вре...

Пробрасываем вызовы Steam API из Wine в GNU/Linux и обратно с помощью Nim У игроков на платформе GNU/Linux множество проблем. Одна из них — необходимость устанавливать отдельный клиент Steam для каждой Windows игры из Steam. Ситуация усугубляется необходимостью установки ещё и родного клиента Steam для портированных и кроссплатформенных игр. Но ч...

[Перевод] Руководство по фоновой работе в Android. Часть 1 О фоновой работе приложений в Android есть много статей, но мне не удалось найти подробного руководства по реализации работы в фоне – думаю, из-за того, что появляется все больше новых инструментов для такой работы. Поэтому я решил написать серию статей о принципах, инструме...

[Перевод] Замок или Город Я собираюсь обсудить два основных архетипа большой организации — замок и город — и сравнить их. А что насчет вашего проекта? Это замок или город? Замок Замок большой и строится со временем путем усердной работы. Он олицетворяет силу, влияние и власть. Есть один Замок и у ...

Интервью. Контент-маркетинг для стартапа: привлечение первых клиентов и оптимизация расходов По статистике, через пять лет существования выживает только половина стартапов. Чтобы остаться на плаву думать нужно не только о качественном продукте, но и о его продвижении. О том, как привлечь внимание аудитории при скромных ресурсах стартапа с помощью контент-маркетин...

История про блокчейн и немного про биткойны В 2011 году, после того как продал по $2 довольно крупную сумму битков, я начал писать свою криптовалюту. Точнее не сразу как продал, а когда увидел парой месяцев спустя, что курс вырос в 25 раз до $50. Читать дальше →

Мобильное приложение на Python c kivy/buildozer. Лекция в Яндексе Не факт, что вам потребуется написать серьёзное приложение на Python. А вот быстро собрать работающий сервис, чтобы «продать» его заказчику, — почему нет? Python универсален, и опыт создания мобильного софта на этом языке может оказаться полезным. Владислав Шашков из Сбербан...

Ускорение перечисления процессов и потоков в ОС Windows Иногда бывает нужно перечислить все процессы или потоки, которые в данный момент работают в ОС Windows. Это может понадобиться по разным причинам. Возможно, мы пишем системную утилиту вроде Process Hacker, а может быть мы хотим как-то реагировать на запуск/остановку новых пр...

[Перевод] Я разработчик с 9 до 17 (и ты можешь стать таким) Этот конкретный твит от Сафьи Адбалла сподвиг меня на некоторые размышления: Пожалуй, непопулярное мнение (и тут немного иронии от меня). Чтобы быть способным и отличным инженером, вам не нужно писать статьи в блоге, участвовать в проектах open source, выступать с техничес...

Интервью. Как создать качественную базу знаний: выбор технологий, поиск и дальнейшая поддержка Базы знаний — популярный инструмент, который компании используют для решения разных задач вроде снижения нагрузки на службу поддержки. Идея звучит красиво: зачем постоянно отвечать на одни и те же вопросы, когда можно просто описать эти решения и ссылаться на них. Однако н...

Scrum vs Kanban: в чем разница и что выбрать? Когда существуют варианты – важно не ошибиться и изучить все детали и возможности, чтобы остановиться на лучшем. Выбирать между методами управления разработкой не всегда просто, особенно если это Scrum и Kanban. Читать дальше →

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

Генеральная уборка в компании Прошлый год был фееричный. Конкретно — полная задница, и вот только сейчас, когда мы хорошо отбарабанили сезон, я чувствую, что можно немного выдохнуть. Дело в том, что мы внезапно для себя стали большой компанией со всеми вытекающими недостатками. Раньше мы думали, что ...

Связка Apache PHP MySQL в Solaris 11.3 При первом знакомстве с Solaris единственным для меня недостатком был тот факт, что пакеты которые возможно установить являются довольно устарелыми, но к счастью актуальные версии можно собрать из исходного кода. В данной публикации пойдёт речь о сборке apache и php из исход...

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

Управление hardware-продуктом: путь тяжелых компромиссов За последние несколько лет в России появилась и оформилась новая профессия – менеджер по продукту. Конечно, 10 лет назад были специалисты, которые выполняли обязанности менеджера по продукту или эти обязанности были распределены между несколькими людьми. Теперь же на рынке...

Выбираем Yii2 или laravel Введение Я уже писал подобную статью, но она была очень не полной и не снабженной примерами, поэтому я решил взять вторую попытку и попытаться раскрыть данный вопрос наиболее полно! В данной статье, не будут рассматриваться все тонкости разработки на фреймворках, поскольку ...

[Из песочницы] Пишем макросы для TODO и FIXME в Sublime Text, или как немного кода позволяет сэкономить много времени Великий Мастер бился с Хаосом. И чем крепче он бился, тем больше к нему приходило мыслей. Когда приходили мысли о толковом, он записывал их, предваряя магическим словом TODO. Мысли же о бестолковом он тоже записывал, но для таких мыслей у него было другое магическое слово — ...

Drupalgeddon2: началась эксплуатация SA-CORE-2018-002 Drupalgeddon2 все-таки пришел к нам. Что случилось? После безумного анонса «одной из самых страшных уязвимостей Drupal» все замерли в ожидании рабочего эксплойта и через 4 дня даже начали немного грустить, считая, что вся паника была зря, так как никто не мог придумать ни...

Дайджест интересных материалов для мобильного разработчика #244 (5 марта— 11 марта) В эту короткую неделю новостей и статей не очень много, но все же есть один день разработчика в банке, исследование приложения Instagram в поисках звонков, анимации, разведение собственных криптокотов, ретаргетинг и дефицит UX. Читать дальше →

Тренинг FastTrack. «Сетевые основы». «Понимание модели OSI». Часть первая. Эдди Мартин. Декабрь, 2012 Около года назад я заприметил интереснейшую и увлекательную серию лекций Эдди Мартина, который потрясающе доходчиво, благодаря своей истории и примерам из реальной жизни, а также колоссальному опыту в обучении, позволяет приобрести понимание довольно сложных технологий. ...

FPGA для программиста, конечные автоматы (verilog) Стиль описания конечного автомата как образ мышления Когда нужно преодолеть врожденную параллельность FPGA, и появляется желание заставить схему работать последовательно, по алгоритму, на помощь приходят конечные автоматы, про которые написано не мало академических и практич...

Резьба метрическая и лейка для душа (много фоток) Добрый день дорогой читатель! Если ты читаешь этот пост то значит ты начал, как и я, разбираться со своим принтером и захотел делать серьезные проекты с резьбами. В общем начал я думать как бы мне напечатать резьбу для душевой лейки, а в следствии и всю лейку. 1. Дост...

Zoiper 2.2.54 SIP клиент для Android с умеренным расходом батареи, не теряет связь с сервером (UDP/TCP), поддерживает множественные SIP & IAX учётки и G729. Описание: SIP клиент под Android. Внутри, есть программная покупка G729. Подтверждена уверенная работа с Zadarma, Sipnet, Mul...

[Перевод] Unity: системы частиц Системы частиц похожи на соль: даже небольшое количество может добавить готовящемуся «блюду» стиля. Современные игры, в которых не используются системы частиц, выглядят довольно бледно. В прошлом нам приходилось каждую струйку дыма программировать самостоятельно. К счастью...

Блеск и нищета Java для настольных систем Вы не поверите, но в 2018 году всё ещё нужно разрабатывать Desktop приложения. Представьте себе такой клуб анонимных Java программистов, запойных и беспробудных, которые сидят и делятся своими проблемами. — Здравствуйте, меня зовут Юрий, я пишу Desktop приложения в 2018 ...

Контроллер для Лего Чуть меньше полугода назад сделал сыну на день рождения подарок — конструктор Xiaomi MITU. Неожиданно для меня ребенок на неделю завис в этом конструкторе. Когда были испробованы первые модели и их управление с планшета, возник закономерный вопрос — «А как для него писать пр...

[Перевод] ES6: полезные советы и неочевидные приёмы Стандарт EcmaScript 2015 (ES6) существует уже несколько лет. Он принёс с собой множество новых возможностей, разные способы использования которых далеко не всегда очевидны. Вот обзор некоторых из этих возможностей с примерами и комментариями. Читать дальше →

Поднимаем SOCKS прокси для Telegram Поднять свой socks прокси очень просто — справится даже далекий от Linux и серверного администрирования человек. Достаточно иметь VDS/выделенный сервер за границей. Пошаговая инструкция для запуска своего sockd прокси на Centos7 Читать дальше →

TOП-10. Разбор лучших докладов в свободном доступе. Heisenbug 2017 Moscow Действуем по старой схеме: я для вас отсматриваю подряд 10 докладов, делаю краткое описание содержимого, чтобы неинтересное можно было выбросить. Кроме того, с сайтов собираю ссылки на слайды и описания. Полученное сортирую и выдаю в порядке увеличения рейтинга — то есть в с...

Бетонный шезлонг на Миланской выставке мебели На Миланской неделе дизайна 2018 представлен экспонат Филиппа Адуаца и incremental3d, который демонстрирует прототип «Digital Chaiselongue». Этот шезлонг выполнен с использованием 3D-печатного бетона. Новые перспективы и возможности, воплощенные в необычной геометрии В этом...

Как выбрать PoE-коммутатор для проектов разного масштаба. Примеры из практики Видеонаблюдение, Wi-Fi сети и даже кассовое оборудование: в нашем портфолио есть проекты, под которые закупалась не одна сотня наших PoE-коммутаторов. Мы хотим рассказать вам о применении PoE оборудования, некоторых нюансах при его подборе — а самое вкусненькое мы припасли, ...

Yii 2.0.14 Команда Yii рада представить новую версию PHP фреймворка: Yii 2.0.14. В неё вошло более сотни улучшений и исправлений, включая исправления безопасности. В релиз вошли несколько изменений, которые могут повлиять на уже работающие приложения. Эти изменения описаны в UPGRADE.md...

[Из песочницы] Удивительно простой обмен сообщениями с Spring Cloud Stream Привет, Хабр! Представляю вашему вниманию перевод статьи "Surprisingly simple messaging with Spring Cloud Stream" автора Richard Seroter. Существует множество вариантов взаимодействия микросервисов. Вы можете использовать обнаружение сервисов (Service Discovery, н...

Konami анонсировали сайдскроллер Castlevania: Grimoire of Souls, пока только для Японии и iOS Konami анонсировали игру Castlevania: Grimoire Souls для iOS. Пока речь идет исключительно о релизе в Японии, но сила бренда такова, что не рассказать об этом нельзя. Grimoire of Souls будет кооперативным сайд-скроллером на четверых игроков. Разработчики обещают PvP-режимы, ...

VDOM своими руками Привет. У многих frontend-разработчиков бытует мнение, что технология VDOM, которая, в частности, используется в React.js, работает как черный ящик. Так же на просторах npm есть куча библиотек, реализующих эту технологию, однако вот как по мне — так в них черт ногу сломит. С...

[Перевод] Leakpocalypse: Rust может неприятно удивить Прим. пер.: Кто-то должен был сделать перевод этой статьи, несмотря на то, что она достаточно стара (2015 год), поскольку она показывает очень важную особенность работы с памятью в Rust — с помощью безопасного (не помеченного как unsafe) кода можно создавать утечки памяти. Э...

Почему не нужно всегда получать согласие на обработку персональных данных в рамках GDPR Статья для тех, у кого клиенты в Евросоюзе. Я работаю юристом в компании ISPsystem и уже пару месяцев разбираюсь в тонкостях GDPR. В этой статье поделюсь своими мыслями о нем и расскажу, почему не надо по любому поводу спрашивать у клиента разрешение на обработку персональны...

Spring AOP и JavaConfig в плагинах для Atlassian Jira В этой статье разработаем плагин для Atlassian Jira, где с помощью JavaConfig определим бин с областью видимости прототип, залогируем вызовы методов бина, используя AOP, и выведем информацию из внешних бинов (ApplicationProperties, JiraAuthenticationContext и ConstantsManag...

Выпуск#10: ITренировка — актуальные вопросы и задачи от ведущих компаний Ставшая уже традиционной, новая подборка вопросов и задач от SpiceIT. Среди отобранных задач — вопросы и алогоритмические задачи, задаваемые соискателям на должность разработчика в Samsung. Предлагаем Вам попробовать решить их самостоятельно и оценить, готовы ли Вы подав...

Случайные эволюционные стратегии в машинном обучении Нейронные сети учатся совсем не так как люди. Оптимизация нейронной сети — на самом деле градиентный спуск по некоторой функции потерь $inline$E(\theta)$inline$, где переменными являются веса слоёв $inline$\theta$inline$. Это очень мощный подход к подстройке системы, который...

[Перевод] Процедурная генерация лабиринтов в Unity Примечание: этот туториал написан для Unity 2017.1.0 и предназначен для опытных пользователей. Подразумевается, что вы уже хорошо знакомы с программирование игр в Unity. Вы, как Unity-разработчик, наверно, имеете достаточный опыт в создании уровней вручную. Но хотели ли вы ...

Режим «Истории» теперь есть и у Google в рамках формата страниц AMP На сегодняшний день с «ускорителем Интернета» Google AMP знакомы даже те, кто понятия не имеет, что это такое. Фирменный значок молнии, обозначающий «ускоренные» страницы, встречается сейчас постоянно. На фоне успеха Google решила пойти дальше и расширить свою инициати...

Игра на UWP: С чего стоит начать Привет, Хабр! Сегодня мы запускаем экспериментальную серию статей. Вы погрузитесь в реалити-шоу для программистов-самоучек, в котором Алексей Плотников, один из участников нашего сообщества Microsoft Developer, будет рассказывать о том, как он создаёт игру для UWP. Под катом...

Web Apps: быстро, дёшево, круто Каждый Web App (веб-апп) — это маленькое и весёлое фронтенд-приключение. Однажды в iFunny мы устроили «веб-апп марафон», развлекли миллионы пользователей и попутно заработали много денег. А теперь готовы рассказать, как же это всё было. Читать дальше →

Как устроена расширенная защита от DDoS в Selectel Прошло больше двух лет с момента запуска услуги Защита от DDoS в Selectel. За прошедшее время ею воспользовались более 100 клиентов компании, на защиту поставлено более 200 единичных IP-адресов, а некоторые клиенты защищают сразу подсети /24. За это время система отразила ...

YouTube упал? Или проблема одного процента Второй день наблюдаются проблемы с просмотром видео на YouTube. Новостные агрегаторы уже окрестили это «масштабным сбоем» — Масштабный сбой YouTube. Некоторые высказывают предположения, что это всевидящий «Роскомнадзор» чего-то там заблокировал, и не смотреть нам больше ...

React HoC в TypeScript. Типизация без боли Много раз, когда шла речь о переводе React-проектов на TypeScript, я часто слышал, что самую сильную боль вызывает создание HoC’ов (Higher-Order Components — компоненты-обертки). Сегодня я покажу приём, как делать это безболезненно и довольно легко. Данный приём будет поле...

[Перевод] Почему в 2018 году я использую метод разработки, которому уже 30 лет Создавать игры сложно И самая сложная часть создания игр — это препродакшен. Это заявление может показаться обескураживающим. Все мы слышали о очень тяжёлых периодах продакшена игр и часто видели лёгкие, простые и интересные периоды препродакшена. Почему же я утверждаю, что...

Яндекс проведёт седьмой чемпионат по спортивному программированию В алгоритмическом треке собраны олимпиадные задачи, знакомые участникам по прошлым чемпионатам, а два других трека посвящены прикладным проблемам. Задачи для оптимизационного трека подготовили команды Поиска и разработки беспилотных автомобилей Яндекса. Эти задачи не имеют п...

WSTester – JS библиотека для тестирования веб-сервисов с ВебСокетами Добрый день, Хабрасообщество! Как и большинству айтишников, мне нравится создавать что-то новое, классное, нечто способное как-то повлиять на мир или хотя бы принести небольшую пользу другим людям. Надеюсь, что описываемый далее инструмент для тестирования онлайн систем с Ве...

[Из песочницы] Автоматизация UI-тестирования на PhoneGap. Кейс платежного приложения Не знаю, как вы, но я в воде чувствую себя уверенно. Однако недавно меня решили научить плавать снова, применив старый спартанский метод: кинули в воду и велели выживать. Но довольно метафор. Дано: PhoneGap-приложение с iframe, внутри которых загружается сторонний сайт;...

Подборка: 7 Chrome-расширений для обхода блокировок В последние годы вопрос обхода различных блокировок сайтов стоит достаточно остро. Проще всего решить ее можно с помощью прокси-расширений для браузера. А поскольку самым популярным браузером сейчас является Chrome, то я решил собрать в одном материале все самые адекватные...

[Перевод] Вышел React v.16.3.0 Несколько дней назад, мы написали пост о приближающихся изменениях в наших lifecycle-методах, где также затронули стратегию постепенной миграции (обновления). В React 16.3.0 мы добавили несколько новых lifecycle-методов для помощи в этой миграции. Мы также предоставили новое...

Как и зачем переходить от сервис-ориентированной архитектуры к микросервисам Здравствуйте, меня зовут Алексей, я главный IT-архитектор банка «Ренессанс Кредит». Лет десять назад мы, как и многие компании, ускорили свое развитие благодаря сервис-ориентированной архитектуре (SOA). Но со временем требования к архитектуре менялись, и к данной парадигме с...

Лазерный гравер на RAMPS 1.4 с дисплеем и SD картой. Часть 1. Тест механики. Часть первая тут. Не торопясь дошел до теста механики и выбора программ для гравера. Ниже видео почти первого запуска. Загрузка плеера window.bxPlayerOnloadbx_flv_player_972805899 = function(config) { if (typeof config != 'object') config = {'file':'https://you...

Тренинг FastTrack. «Сетевые основы». «Понимание архитектуры Cisco». Эдди Мартин. Декабрь, 2012 Около года назад я заприметил интереснейшую и увлекательную серию лекций Эдди Мартина, который потрясающе доходчиво, благодаря своей истории и примерам из реальной жизни, а также колоссальному опыту в обучении, позволяет приобрести понимание довольно сложных технологий. ...

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

Корпоративное обучение на Олимпийских играх в Сочи 2014 Предисловие В 2012 году меня пригласили организовать корпоративное обучение в IT подразделении Организационного комитета XXII Олимпийских зимних игр и XI Паралимпийских зимних игр 2014 года в г. Сочи. Проект был масштабный и интересный, за два года сформировалась сплочённая...

Как загрузить нестандартный лог в Splunk + логи Fortinet Много ли мы генерируем данных, используя информационные системы каждый день? Огромное количество! Но знаем ли мы все возможности по работе с такими данными? Определенно, нет! В рамках этой статьи мы расскажем какие типы данных мы можем загружать для дальнейшего операционного...

«Computer, how is my build doing?» и другие волшебные заклинания Барух Садогурский рассказывает, как с помощью сервиса голосовых команд Alexa можно добавить голосовой интерфейс к совершенно неожиданным вещам, таким как IntelliJ IDEA и Jenkins, а также, откинувшись в кресле с бокалом любимого напитка, управлять всем, чем угодно. В основе...

Espresso: “Милые зверушки или опасные хищники?” Доброго времени суток, читатели хабра! Сегодня мы вместе с вами потестируем Recyclerview на Android: на мой взгляд, эта тема довольно интересна. Что такое Recyclerview? Это компонент, с помощью которого создаются списки. Каждый список можно прокручивать, добавлять в него ...

Обзор вспомогательной библиотеки Android SDK v26 26 версия Android SDK принесла новые возможности в наши Андроид приложения, включая шрифты как ресурсы, загружаемые шрифты, поддержка эмоджи, автоматические размеры TextView, управляемые физикой анимации через Spring and Fling, обратная совместимость для векторных анимаций, ...

Топ бесплатных AR-игр для iOS #2 Разработчики выпускают всё больше игр для дополненной реальности Apple ARKit. В этой статье, уже второй по счету, мы собрали лучших представителей AR-игр для iOS. Все нижеперечисленные приложения доступны абсолютно бесплатно — вы сможете попробовать платформу будущего без вл...

Тренинг FastTrack. «Сетевые основы». «Понимание модели OSI». Часть вторая. Эдди Мартин. Декабрь, 2012 Около года назад я заприметил интереснейшую и увлекательную серию лекций Эдди Мартина, который потрясающе доходчиво, благодаря своей истории и примерам из реальной жизни, а также колоссальному опыту в обучении, позволяет приобрести понимание довольно сложных технологий. ...

[Перевод] Алан Кей: как бы я преподавал Computer Science 101 «Одна из причин, чтобы на самом деле поступить в университет — это выйти за рамки простой профессиональной подготовки и вместо этого уцепиться за более глубокие идеи.» Давайте немного задумаемся над этим вопросом. Несколько лет назад кафедры Computer Science пригласили ме...

Миссия невыполнима или получить сертификат Привет. Как-то еще давно мне захотелось пройти тест по js-у. Мой выбор пал на центр сертификации от одной крупной компании. Что из этого вышло, можно прочитать в моей статье. Читать дальше →

[Из песочницы] Tooltip-ы в Power BI — новый функционал для Desktop В середине марта вышло очередное обновление Power BI Desktop. Microsoft добавил пару интересных функций, в том числе возможность пользователям самим создавать всплывающие подсказки — Tooltips. В этой заметке я покажу простой пример работы с этим функционалом. Читать дальше...

[Перевод] Перевод книги «Социальная архитектура»: Торговые марки для open source проектов Торговые марки. Что они такое, нужны ли они вам и сколько это стоит? Эти вопросы часто возникают при построении open source проекта. Торговые марки могут быть ключом, который защитит проект от недобросовестных людей. Хотя тут мало что советовать. Поэтому вот мой гид по испол...

[Из песочницы] Learn OpenGL. Урок 4.7 — Продвинутая работа с данными Продвинутая работа с данными Мы в основном, использовали буферы в OpenGL для хранения данных в течение довольно долгого времени. Есть более интересные способы манипулирования буферами, а также другие занятные методы передачи больших объемов данных шейдерам с помощью текстур...

[Перевод] Использование шаблона render props вне рендера React представляет новое API (context API), которое использует "паттерн" (шаблон) render props (подробнее). На семинарах, встречах и в твиттере я вижу, что возникает много вопросов об использовании render props вне рендера, например, в обработчиках событий или "хуках" жизнен...

Дайджест интересных материалов для мобильного разработчика #245 (12 марта— 18 марта) Праздники все закончились и вот у нас в дайджесте много интересных материалов – про успех ролла «Калифорния», правильную анимацию, борьбу с Siri внутри Apple, кроссплатформенную разработку, джуниоров и мидлов. Читать дальше →

[Перевод] Мы сосредоточились на клиенте (а не на конкурентах) — и за год получили более миллиона новых пользователей Кейс компании JotForm. В феврале прошлого года мы выпустили новую версию продукта. До этого почти весь 2016 год мы потратили на обновление основной функциональности и были в восторге от того, что получилось. Но вскоре после выпуска новой версии главный дизайнер наткнулс...

Как стать GPU-инженером за час Нужно ли iOS-разработчику, не занимающемуся играми, уметь работать с GPU? Нужно ли ему вообще знать о том, что в айфоне есть GPU? Многие успешно работают в iOS-разработке, никогда не задумываясь об этой теме. Но GPU может быть полезен как для 3D-графики, так и для других зад...

CQRS. Факты и заблуждения CQRS — это стиль архитектуры, в котором операции чтения отделены от операций записи. Подход сформулировал Грег Янг на основе принципа CQS, предложенного Бертраном Мейером. Чаще всего (но не всегда) CQRS реализуется в ограниченных контекстах (bounded context) приложений, про...

Реализуем свой оператор в Entity Framework Core Однажды пасмурным мартовским субботним утром я решил посмотреть, как обстоят дела у Майкрософта в благом деле по трансформированию мастодонта Entity Framework в Entity Framework Core. Ровно год назад, когда наша команда начинала новый проект и подбирала ORM, то руки чесались...

[Перевод] Считалка Иосифа Флавия: кого убить первым Давным давно, во времена римской империи, группу еврейских солдат окружила римская армия. Выбор невелик — сдаться или погибнуть. Хитрые евреи придумали систему, чтоб и живыми не сдаваться, и грех самоубийства не совершать. И так до тех пор, пока в живых не останется только...

Мега-Учебник Flask, Часть XIV: Ajax (издание 2018) Miguel Grinberg Туда Сюда Это четырнадцатая часть Мега-Учебника Flask,k, в которой я собираюсь добавить функцию перевода текста в реальном времени, используя службу перевода Microsoft и немного JavaScript. Читать дальше →

TOП-10: разбор лучших докладов HolyJS 2017 Moscow Действуем по старой схеме: я для вас отсматриваю подряд 10 докладов (бесплатно доступных на YouTube), делаю короткое описание содержимого, чтобы неинтересное можно было выбросить. Кроме того, с сайтов собираю ссылки на слайды и описания. Полученное сортирую и выдаю в порядке...

[Перевод] Rust: используем serde для сериализации Сериализация данных посредством serde. Недавно я писал Rust-код для работы со сторонним источником данных в TOML-формате. В других языках я бы подгрузил данные какой-либо TOML-библиотекой и прогнал бы по ним мою программу, однако я слышал про serde — библиотеку сериализации ...

Webpack 4 и code splitting 25 февраля 2018 года вышел релиз webpack 4.0.0 (и на сегодняшний день 4.0.1). Одна из полезных и сравнительно новых фич webpack — code splitting, перенесена в новой версии из плагинов в основную конфигурацию. При практически полном отсутствии документации, как теперь нужно к...

Game of Whales улучшает монетизацию игр с помощью машинного обучения Мобильный издатель Deemedya запустил новый инструмент монетизации приложений, который использует алгоритмы машинного обучения для  понимания поведения игроков.

[Перевод] Считаем кур, пока их не заклевали Эта история началась с короткой статьи в New York Times о Люке Робитейле, 13-летнем школьнике из Юлесса, штат Техас, который выиграл Raytheon Mathcounts National Competition, правильно ответив на следующий вопрос: В амбаре кружком сидят 100 кур. Каждая из кур случайным образ...

Как оптимизировать DevOps с помощью машинного обучения Популярная сегодня методология разработки программного обеспечения DevOps (development и operations) нацелена на активное взаимодействие и интеграцию специалистов по разработке и специалистов по информационно-технологическому обслуживанию. Характерно, что в ходе DevOps генер...

[Перевод] Конференция DEFCON 22. «Путешествие по тёмной стороне Интернет. Введение в Tor, Darknet и Bitcoin» Меня зовут Грифтер, рядом мой хороший друг Метакортекс, мы из группы DC801, которая базируется в Солт-Лейк-Сити, штат Юта. Мы хотим показать нечто, выглядящее довольно забавным и провести для Вас экскурсионный тур по тёмной стороне Интернет. Мы оба исследователи, которым ...

Автоэнкодер в задачах кластеризации политических событий Я не люблю читать статьи, смотрю demo и кодДемо TensorBoard Projector Работает в Chrome. Открываем и нажимаем на Bookmarks в нижнем правом углу. В верхнем правом углу можем фильтровать классы. В конце статьи есть GIF картинки с примерами использования. Проект на GitHub ...

[Перевод] Matthias Noback Об Идеальной Архитектуре — Слои, Порты и Адаптеры(Часть 2 — Слои) В 2017 году Matthias Noback (автор A year with Symfony) опубликовал цикл из трех статей, в котором описал свои взгляды на идеальную архитектру корпоративных приложений, сформировавшуюся за долгие годы практики.Первая часть является вводной и не представляет особого интереса(...

Как я прокачивал скилы личной эффективности Работа 24 на 7 «Всем привет, меня зовут Антон, и я — трудоголик. Я часто работаю по 12 часов в день. Моя семья очень страдает от этого. Я очень хочу начать жить, как все нормальные люди, но каждый раз срываюсь и засиживаясь заполночь...» — наверное так бы я начал свою реч...

[Перевод] 31 совет по кибербезопасности для бизнеса Интернет постоянно растёт и улучшается, благодаря этому мы теперь можем свободно общаться с людьми во всем мире. С распространением Wi-Fi мы начали создавать устройства, которые тоже подключаются к интернету, передавая данные по сети. Это замечательно, но обратная сторона ме...

[Из песочницы] Spring Boot. Фоновые задачи и не только Введение В данном туториале я хочу привести пример приложения для отправки email-ов юзерам, основываясь на дате их рождения(например с поздравлениями), используя аннотацию Scheduled. Я решил привести данный пример, т к по моему мнению он включает в себя довольно многие вещи,...

Правильные ответы по криптографии: 2018 год В литературе и самых сложных современных системах есть «лучшие» ответы на многие вопросы. Если вы разрабатываете встроенные приложения, то предлагают использовать STROBE и модный современный криптографический стек для аутентификации полностью из одиночных SHA-3-подобных функ...

Как работают приложения Сбербанк Онлайн: Workflow API и фрэймворки Много кто пользуется приложением Сбербанк Онлайн, но немногие знают, как оно работает. Настало время приоткрыть завесу тайны – в этой статье мы расскажем о некоторых подходах, которые используем в разработке. Читать дальше →

Учебник Thymeleaf: Глава 14. Еще несколько страниц нашей бакалеи Оглавление 14 Еще несколько страниц нашей бакалеи Теперь мы много знаем об использовании Thymeleaf и можем добавить некоторые новые страницы на наш сайт для управления заказами. Читать дальше →

Безопасная домашняя сеть: создаём изолированный сегмент для гостей Сегодня практически в каждой квартире есть домашняя сеть, к которой подключаются стационарные компьютеры, ноутбуки, хранилища данных (NAS), медиаплееры, умные телевизоры, а также смартфоны, планшеты и другие носимые устройства. Используются либо проводные (Ethernet), либо бе...

Как создавать собственные компоненты для мониторинга устройств и автоматизации ИТ-задач Комплексное RMM-решение Panda Systems Management для централизованного и удаленного управления, контроля и обслуживания корпоративных сетей, устройств и ИТ-инфраструктуры позволяет администраторам создавать собственные специфические компоненты для мониторинга устройств и а...

JavaScript, Java, какая теперь разница? На прошлом JPoint пообещал написать статью про использование GraalVM для смешивания Java и JS. Вот она. В чем проблема? В повседневной практике часто встречаются приложения, состоящие из двух частей: JavaScript-фронтенд и Java-бэкенд. Организация интеропа между ними требу...

О «сроках годности» сотрудника На днях знакомый попросил глянуть свежим взглядом его резюме. Как оказалось, текущее место работы у него было первым и единственным, и проработал он на нем почти 14 лет. ИТ-компания, средний менеджмент. В резюме он указал только свою последнюю должность и от того казалось, ч...

Познаём Нирвану – универсальную вычислительную платформу Яндекса Машинное обучение превратилось в модный термин, но при работе с большими объёмами данных оно уже много лет является жизненной необходимостью. Яндекс обрабатывает более 200 миллионов запросов ежедневно! Когда-то в интернете было так мало сайтов, что наилучшие из них помещалис...

Google об обновлении основного алгоритма, сигналах ранжирования и другом На конференции SMX West сотрудник Google Натан Джонс (Nathan Johns) принял участие в сессии AMA («Спросите меня о чём угодно»), ответив на ряд актуальных для SEO-специалистов вопросов. Обновление основного алгоритма По словам Джонса, запуск последнего обновления основного ал...

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

[Из песочницы] Простая аутентификация на NGINX с помощью LUA Доброго времени суток. В данной заметке хочу рассказать о простой аутентификации с помощь nginx и lua-скриптов. Читать дальше →

Как написать генератор случайных чисел и можно ли предсказать Math.random? Вы когда-нибудь задумывались, как работает Math.random()? Что такое случайное число и как оно получается? А представьте вопрос на собеседовании — напишите свой генератор случайных чисел в пару строк кода. И так, что же это такое, случайность и возможно ли ее предсказать? ...

Реализация параллельной быстрой сортировки при помощи ForkJoinPool Где-то чуть меньше года назад во время поиска работы, после окончания курсов в Иннополисе один из потенциальных работодателей дал вот такое задание. Есть 100 млн. чисел, каждое из которых от 0 до 1млрд. Нужно отсортировать по возрастанию. В самом начале программа случайно и...

Как подружить MKS MINI12864LCD и Repetier-Firmware Данный вопрос уже несколько раз поднимался на 3dtoday, но толкового решения (насколько мне известно) найдено не было. Опишу действия, которые мне помогли (версия Repetier-Firmware 1.0.1). 1) В конфигураторе Repetier-Firmware в качестве дисплея выбираем VIKI 2 graphics contro...

Как измерить артериальное давление при помощи Galaxy S9 Все флагманы Samsung последней пятилетки оснащались встроенным пульсометром, который исправно исполнял возложенную на него обязанность. Проектируя Galaxy S9, корейцы пошли дальше и совместно с учеными Калифорнийского университета в Сан-Франциско разработали приложение, прео...

О чем не пишут в документации, или тонкости рефакторинга на .Net Core Всем привет! Этим материалом мы открываем цикл из нескольких статей, посвященных длинной истории о том, как мы пришли с одной стороны к CD, а с другой — к high availability, основанной на избыточности. Начнем по порядку. У нас есть API для мобильного приложения, которое нахо...

Bitmain представил новый ASIC-майнер для Monero и Bytecoin Один из крупнейших производителей майнингового оборудования Bitmain представил новый ASIC-майнер Antminer X3 для криптовалют на базе PoW-алгоритма CryptoNight, таких как Monero. We are pleased to announce the all-new Antminer X3, to mine cryptocurrencies based on the CryptoN...

[Перевод] Сравнение открытых OLAP-систем Big Data: ClickHouse, Druid и Pinot ClickHouse, Druid и Pinot — три открытых хранилища данных, которые позволяют выполнять аналитические запросы на больших объемах данных с интерактивными задержками. Эта статья — перевод подробного сравнения, выполненного Романом Левентовым. Спойлер ClickHouse Druid или Pin...

Мозаика в ванной и диофантовы уравнения Дело было вечером, перед сном. Чистил я зубы и устало разглядывал мозаику в ванной. Почему-то меня заинтересовал такой простой факт: если прямоугольник из клеточек 2×3 обвести с двух сторон ещё клеточками, то площадь обводки окажется такой же как площадь прямоугольника: Гол...

[Перевод] Rust: Знакомимся с языком на примере «Угадай-ки» Давайте познакомимся с Rust, поработав над маленьким проектом! Мы покажем основные концепты Rust на реальном примере. Вы узнаете о let, match, методах, ассоциированных функциях, подключении сторонних библиотек и много о чем другом. Мы реализуем классическую задачу: игра “уга...

Анатомия .NET Core: как мы настроили NTLM под Linux Мы продолжаем рассказывать про миграцию мобильного сервиса в ASP.NET Core и Docker. В этой статье будет идти речь про модуль WCF-клиента, упомянутый в предыдущей статье, NTLM-авторизацию и другие проблемы при его миграции. Сейчас расскажем, почему нам пришлось немного изучит...

Ошибки в роботах: ожидание и реальность Мне кажется, бунт роботов не близок. Я начал писать статью про то, что наша команда приступила к адаптации анализатора кода PVS-Studio для нужд Embedded-разработчиков. Для начала мы поддержали KEIL и IAR. Посмотрев на ошибки в некоторых проектах для встроенных устройств, я ...

IT-курсы: что остается за кадром Всем привет, меня зовут Евгений Картавец, я руководитель отдела обучения IT-портала GeekBrains. Мы разрабатываем курсы для будущих программистов. При их создании мы опираемся на опыт практиков отрасли и стремимся дать набор навыков, необходимых для устройства на работу. Я р...

От мала до велика: Как выбрать торговые весы для магазина Торговые весы — неотъемлемая часть любого продуктового магазина. Их там много разных: прикассовые, самообслуживания, порционные, подвесные, платформенные. Рассказываем, как разобраться во всём этом многообразии и выбрать подходящее устройство в зависимости от формата магаз...

Задействовать для простых тестов наследование, полиморфизм и шаблоны? Почему бы и нет… Язык C++ сложен. Но его сложность проистекает из сложности задач, которые решаются с помощью C++. Каждая фича, которая была добавлена в C++, была добавлена не просто так, а для того, чтобы дать возможность справиться к какой-то проблемой. Ну а уж сочетание существующих в C++...

[Из песочницы] Подбор персонала: играем, попадая в цель Как часто бывает так, что вы задаетесь вопросом – как понять справится ли новый кандидат на должность с порученной ему работой? Те, кто в силу своей профессии занимается отбором персонала, сталкиваются с этим вопросом каждый раз и почти через раз ошибаются в своих первоначал...

Реализуем промисы на Java Всем доброго времени суток. Сегодня я хочу рассказать о том, как писал реализацию механизма промисов для своего JS движка. Как известно, не так давно вышел новый стандарт ECMA Script 6, и концепция промисов выглядит довольно интересно, а также уже очень много где применяется...

Как создавали большую энциклопедию для сотрудника Банковскими услугами в России активно пользуется более 50% населения. Вне зависимости от возраста, специальности и размера бюджета, клиенту важно получать полную и достоверную информацию о состоянии счетов и быстрые ответы на свои вопросы. Для этого банки оптимизируют телефо...

[Видео] Как мы провели очередной Android Paranoid Android почти исполнилось десять лет. Мы решили отметить это праздничным чаепитием со всеми, кто пришел в питерский офис Яндекса на второй митап Android Paranoid. Сказано — сделано. К нашему сожалению, маршмеллоу, шоколадное печенье и желейные бобы закончились еще 28 марта...

Олимпиада «ИТМО ВКонтакте»: выходные в Санкт-Петербурге и +10 баллов к ЕГЭ Учебный год перевалил за экватор, а это значит, что для выпускников школ все более остро встает вопрос об экзаменах и поступлении в вузы. Конечно, самый надежный вариант стать студентом любого российского университета — получить максимум баллов ЕГЭ. Однако баллы — не всегда ...

Mobio Talks с Борисом Голиковым (YouDrive) о бизнесе, Яндекс.Драйве, рынке каршеринга и конкуренции Основатель компании Mobio и Getloyal, Алексей Писаревский, взял интервью у Бориса Голикова, гендиректора каршеринга YouDrive. В рамках передачи Mobio Talks обсудили, как развивается рынок каршеринга, чего ждать от прихода Яндекс.Драйв, какой новый вид транспорта ждет Москву ...

Простая, изобрететальная и сложная головоломка .project доступна в Google Play и App Store Последним проектом студии Stampede Games была игра Evo Explores, во многом напоминающая Monument Valley. В этот же раз они пошли по другому пути и выпустили целиком оригинальную головоломку .project. Она крайне минималистичная в плане внешнего вида, но невероятно интересная ...

Последняя версия обновлений для наших суперспособностей. Рецензия на книгу Дэна Роэма «Рисуй, чтобы победить» Зрение — ваша суперспособность. Вы уже обладаете всеми необходимыми инструментами, устройство у вас с рождения, а программное обеспечение включилось, как только вы впервые разомкнули веки. Теперь нужно установить обновления. Так заканчивается новая книга Дэна Роэма "Рисуй, ч...

Валидация строк с validate.it.js Если вспомнить все ТЗ с описаниями валидации полей — они всегда выглядили примерно так: не должно быть короче 6 символов не должно превышать 12 символов должно включать только латинские символы, цифры и знак подчёркивания Требования часто приходят набором простых однозначн...

Как я визуальную новеллу препарировал Привет, Хабр! На днях я захотел достать ресурсы одной визуальной новеллы, созданной с помощью Ren'Py (Да, да, того самого "Бесконечного Лета"). Опытным путем было установлено, что все они хранятся в файле archive.rpa. Я нашел готовые скрипты для распаковки на Github, но реши...

Тренинг FastTrack. «Сетевые основы». «Основы коммутации или свитчей». Часть вторая. Эдди Мартин. Декабрь, 2012 Около года назад я заприметил интереснейшую и увлекательную серию лекций Эдди Мартина, который потрясающе доходчиво, благодаря своей истории и примерам из реальной жизни, а также колоссальному опыту в обучении, позволяет приобрести понимание довольно сложных технологий. ...

Тренинг FastTrack. «Сетевые основы». «Основы коммутации или свитчей». Часть первая. Эдди Мартин. Декабрь, 2012 Около года назад я заприметил интереснейшую и увлекательную серию лекций Эдди Мартина, который потрясающе доходчиво, благодаря своей истории и примерам из реальной жизни, а также колоссальному опыту в обучении, позволяет приобрести понимание довольно сложных технологий. ...

Знакомство с облаком: как работают динамические методы распределения трафика В одном из наших прошлых материалов мы рассказывали про статические методы балансировки нагрузки в облаке IaaS-провайдера. Сегодня на очереди динамические методы: «пчелиный» и «муравьиный» алгоритмы, а также подход Biased Random Sampling. Читать дальше →

Интеграция Google Pay Привет, Хабр! Меня зовут Игорь, я Android-разработчик в команде Trinity Digital. Сегодня я хочу рассказать о классном инструменте — Google Pay API. Итак, если в вашем приложении можно совершать покупки, и при этом вы используете не In-app Billing (за процессинг отвечает...

[Перевод] Этот SVG всегда показывает сегодняшнюю дату Для своей странички с контактными данными нужна была стандартная иконка календаря, чтобы люди просматривали мой ежедневник. Такие иконки почти всегда делают наподобие бумажного календаря. Но мне стало интересно, можно ли сделать календарь чуть полезнее, если добавить динамич...

Google выпустила игровое приложение для изучения JavaScript Area 120, внутренний инкубатор Google, выпустил приложение Grasshopper, которое через ряд мини-игр обучает основам программирования на JavaScript. Задачи в приложении небольшие, поэтому можно решать их, когда найдётся свободное время. После входа с использованием ак...

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

«Гадание на картах»:  геоинформационный хакатон Университета Иннополис Хакатон пройдёт 3—4 марта в Университете Иннополис, сотрудники которого создают облачную 4D-платформу для продвижения геоинформационных продуктов и услуг. Заявки принимаются до 2 марта.  Читать дальше →

Сравнение: Docker swarm, Kubernetes, Rancher и D2C С того момента как мы начали вести корп. блог на Хабре, на демо и при обращениях в поддержку нас стали чаще сравнивать с оркестраторами. И если раньше были вопросы о том, в чем отличия D2C от Heroku, Clou66 и тому подобных сервисов, то теперь, видимо, нас стали рассматривать...

На iOS вышел хардкорный платформер Temple of Spikes: Legend на 50+ часов геймплея На первый взгляд свежий платформер Temple of Spikes: The Legend похож на бесплатную Temple of Spikes, но он в разы масштабнее и предлагает геймплей иного типа. The Legend черпает вдохновение от динамичных раннеров наподобие Mos Speedrun 2. Но есть и другие фишки, как, наприм...

Эпизод 0. Hack vs Mac. Xcode build time Эта статья начинает собой цикл из нескольких об использовании Hackintosh в повседневной работе и особенно с IDE Xcode 9 и будет больше интересна разработчикам под языки objc/swift. 
С другой стороны, мой первый хак был собран, когда я не был знаком с этими языками и может пр...

Авиахакатон 6-8 апреля на территории Московского авиационного института прошел хакатон, организованный IT-центром МАИ, на котором были представлены задачи от IT-компаний и представителей авиационной индустрии. Онлайн-кинотеатр ivi выступил партнёром хакатона: предоставил набор данных о...

[Перевод] 9 советов по улучшению качества кода React-приложений Библиотека React значительно облегчает жизнь разработчиков, которым приходится создавать сложные пользовательские интерфейсы. Программисту достаточно подготовить простые описания графических представлений для состояний приложения, а React, при изменении данных, будет эффекти...

Instagram разрешит пользователям самостоятельно обновлять ленту Команда фотосервиса Instagram объявила о запуске новой возможности. В сервисе начались тесты кнопки «Новые посты» (New Posts). Она позволит обновлять ленту Instagram тогда, когда хочется, а не дожидаясь автоматического обновления. Если пользователь нажмёт на кно...

Авторизация пользователя на вашем сайте через Telegram для Django Привет! 6 февраля Telegram ввел возможность добавлять на свой сайт виджет для авторизации пользователя через его аккаунт в Telegram. Виджеты по виду реализации на сервере делятся на два вида — обработать данные пользователя «здесь и сейчас» в JavaScript или же перенаправить...

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

Wanhao Duplicator 4S - 3D-принтер с двумя экструдерами и его преимущества Экструдер — ключевая деталь 3д принтера, параметры которого определяют эффективность, функциональность и производительность. А два экструдера у 3д принтера - это двойная эффективность, функциональность и высокая производительность! 3D принтер Wanhao Duplicator 4S с двумя эк...

[Перевод] Марвин Мински «The Emotion Machine»: Глава 2 «Совесть, ценности и собственные идеалы» §2-5 Обучение и удовольствие Когда Кэрол пыталась наполнить своё ведёрко, она попробовала несколько экспериментов до того, как у неё получилось задуманное благодаря использованию ложки. Когда она понимала, что её цель достигнута, она ощущала удовлетворение и чувство получен...

«ВITАМИН РОСТА»: как ЛАНИТ привлекает молодежь и как молодым специалистам попасть в ЛАНИТ В этой статье я расскажу о том, как устроена работа с молодыми джедаями специалистами в группе компаний ЛАНИТ, и поделюсь итогами нашей специальной программы «ВITАМИН РОСТА», которой исполнился год. Приглашаю вас обсудить эффективность инструментов поиска, привлечения и погр...

Обзор JBL Pulse 3 — Bluetooth-колонки, которая заменит ночник Почти все Bluetooth-колонки очень похожи, и что-то яркое действительно привлекает внимание. Лайфхакер протестировал один из таких необычных девайсов — JBL Pulse 3.

Linux в одном файле для Macbook TL;DR Можно уместить полноценный Linux Live дистрибутив в один файл, если вкомпилировать в ядро initramfs с корневой файловой системой. Компьютеры с UEFI умеют загружать такой файл напрямую, без помощи загрузчика типа GRUB. У меня получилось уместить дистрибутив с программ...

Как «научиться учиться» — советы, рекомендации и научные исследования Часть 1. «Очевидные» советы Большинство рекомендаций для желающих учиться лучше выглядит довольно банально: помимо посещения лекций и выполнения домашних заданий важно правильно питаться, вести здоровый образ жизни, высыпаться, и следить за режимом дня. Все это, безусловно,...

[Из песочницы] Понимаем implicit'ы в Scala В последнее время у меня было несколько разговоров с друзьями из Java мира об их опыте использования Scala. Большинство использовали Scala, как улучшенную Java и, в итоге, были разочарованы. Основная критика была направлена но то, что Scala слишком мощный язык с высоким ур...

[Из песочницы] Design by Introspection Что, если бы мы умели располагать атомы один за другим как нам угодно? Ричард ФейнманСколько парадигм программирования вы сможете назвать? Список на этой странице википедии содержит ни много ни мало 76 наименований. Этот список может быть пополнен ещё одним подходом, названн...

Facebook или Telegram? История украинского .NET Core Community Привет, Хабр! Однажды один человек, сильно заинтересованный в .NET Core, решил начать вести свой блог. И тут же перед ним встал вопрос: «Какой ресурс использовать?». Существующие Facebook и Telegram оказались совершенно неприспособленными для структуризации публикаций. В ито...

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

[Из песочницы] Настройка связки proftpd + {mysql/postgresql} с хранением паролей в md5+salt Давно мне не давал покоя тот факт, что пароли пользователей у меня в БД хранятся в открытом виде. Также очень неудобно было вручную добавлять/удалять пользователей и менять им пароли. В результате, настроил связку proftpd + mod_sql + mod_sql_passwd c хранением паролей в вид...

Модифицируем плеер Vanilla Music под Android (часть 2) В прошлой статье мы разбирали как можно добавить в плеер с открытым исходным кодом Vanilla Music возможность переключения треков при помощи клавиш громкости, если при этом устройство находится в кармане(например). В этой статье продолжим модификацию основной идеей для котор...

[Перевод] Что есть в новом JupyterLab для пользователей? Всем привет! Одним из основных инструментов на нашем курсе «Разработчик BigData» является Jupyter. Глянем, что его разработчики приготовили в новой итерации и что уже доступно в бета-версии. Поехали. Вкратце: JupyterLab готов к ежедневному использованию (установка, докуме...

Все материалы на данном сайте взяты из открытых источников или присланы посетителями сайта и предоставляются исключительно в ознакомительных целях. Права на материалы принадлежат их владельцам. Администрация сайта ответственности за содержание материала не несет. (Правообладателям)