[Перевод] Что нового в LLVM LLVM 6 уменьшает опасность Spectre, имеет улучшенную поддержку Windows и CPU компании Intel, а также включает WebAssembly в число поддерживаемых целевых платформ. Инфраструктура компилятора LLVM прошла путь от технически любопытной вещи до живой части современного ландшаф...
SASS: Оптимизируем media screen Приветствую! Примерно месяц назад я написал статью, в которой выдвинул идею об оптимизации @media screen. Идея заключается в том, чтобы иметь возможность писать значения для всех экранов в одну строку. Более подробно можете почитать по ссылке. Большинство комментариев — это...
Компилятор на JavaScript с использованием ANTLR В начале этого года я присоединилась к команде, работающей над MongoDB Compass — графическим интерфейсом для MongoDB. Пользователи Compass через Intercom запросили инструмент, позволяющий писать запросы к базе данных, используя любой удобный им язык программирования, подд...
[Перевод] Уроки, которые можно извлечь из кодовой базы LLVM/Clang От переводчика: в статье, которую я предлагаю вашему вниманию, авторы исследовали кодовую базу LLVM/Clang с помощью инструмента анализа кода CppDepend, позволяющего вычислять различные метрики кода и анализировать большие проекты с целью улучшения качества кода. Время доказ...
Amazon S3 и все-все-все: выбираем объектное хранилище Самые известные на мировом рынке объектные хранилища — это Amazon S3 (Simple Storage Service), Google Cloud Storage и Microsoft Blobs Storage. Они надежны, доступны через интернет и масштабируются до сотен петабайт. Наиболее популярный способ доступа к объектному хранилищу —...
[Из песочницы] GObject: основы GObject — часть библиотеки GLib, реализующая объекто-ориентированнные расширения для чистого Си. Подобная концепция, помимо самой GLib, используется в таких проектах, как GStreamer, GSettings, ATK, Pango и весь проект GNOME в целом, а также в большом количестве прикладных пр...
Полный перечень intrinsic-функций в HotSpot в JDK 7, 8, 9 и 10 Интринсик или intrinsic-функция — функция, которую JIT-компилятор может встроить вместо вызова Java- и JNI-кода с целью оптимизации. Важный вывод из этого — intrinsic-функции не доступны в режиме интерпретатора. По умолчанию в HotSpot используется два JIT-компилятора C1 и C2...
[Из песочницы] Понимаем implicit'ы в Scala В последнее время у меня было несколько разговоров с друзьями из Java мира об их опыте использования Scala. Большинство использовали Scala, как улучшенную Java и, в итоге, были разочарованы. Основная критика была направлена но то, что Scala слишком мощный язык с высоким ур...
[Из песочницы] Как быть* компилятором — создание компилятора на JavaScript Привет, Хабр! Представляю вашему вниманию перевод статьи "How to be* a compiler — make a compiler with JavaScript" автора Mariko Kosaka. *Все верно! Быть компилятором — это здорово! Дело было одним замечательным воскресеным днем в Бушвике, Бруклин. В моем местном книжном м...
[Перевод] Самый медленный способ ускорить программу на Go Есть что-то прекрасное в программировании на ассемблере. Оно может быть очень медленным и полным ошибок, по сравнению с программированием на языке, таким как Go, но иногда — это хорошая идея или, по крайней мере, очень весёлое занятие. Зачем тратить время на программирование...
Проблемы ООЯП: Неполноценная объектная парадигма и преждевременная типизация Здравствуйте коллеги! В предыдущей статье речь шла о проблеме ООЯП в общем, в данной статье я бы хотел развить эту тему и показать более конкретно проблемы ООЯП. Основные идеи: ООЯП имеют две ключевые проблемы: неполноценная объектная парадигма и преждевременная типизация....
GObject: наследование и интерфейсы В комментариях к прошлой статье часто высказывалось мнение, что система GObject не нужна ввиду наличия C++ и других высокоуровневых языков. Помимо чисто технических моментов, о которых уже поговорили в комментариях, хотелось бы затронуть другой аспект. Вероятно, большинство ...
Изучение Spring Framework 100% через практику. Активные туториалы и язык разметки KML. Проект KciTasks (beta) Spring Framework традиционно считается одним из самых сложных и при этом высокооплачиваемых. Однако, существующие подходы к его изучению крайне неэффективны. Я хотел бы предложить вам принципиально новый подход к изучению спринга, который заключается в использовании концеп...
Использование библиотеки Python Control Systems Library для проектирования систем автоматического управления Здравствуйте! С появлением библиотеки Python Control Systems Library [1], решение основных задач проектирования систем автоматического управления (САУ) средствами Python значительно упростилось и теперь практически идентично решению таких задач в математическом пакете Matla...
RequireJS для приложений Vue.js + Asp.NETCore + TypeScript Создаем на Visual Studio 2017 модульное приложение Vue.js + Asp.NETCore + TypeScript. В качестве системы сборки вместо Webpack используем компилятор TypeScript + Bundler&Minifier (расширение к VS2017). Загрузку модулей приложения в рантайм обеспечивает SystemJS или Requ...
Взгляд на Tokio: как устроен этот асинхронный обработчик событий И для чего он используется в фреймворке для приватных блокчейнов Exonum Tokio — это фреймворк для разработки сетевых масштабируемых приложений на Rust, использующий компоненты для работы с асинхронным вводом/выводом. Tokio часто служит основой для других библиотек и реализац...
Небольшая библиотека для применения ИИ в Telegram чат-ботах Добрый день! На волне всеобщего интереса к чат-ботам в частности и системам диалогового интеллекта вообще я какое-то время занимался связанными с этой темой проектами. Сегодня я хотел бы выложить в опенсорс одну из написанных библиотек. Оговорюсь, что в первую очередь я спец...
[Перевод] Rust: пробуем перегрузку функций Rust не имеет перегрузки функций: вы не можете определить две функции, которые имеют одно и то же имя. Компилятор выдаст сообщение, что у вас имеется двойное задание одного и того же определения, хотя бы они и содержали разные типы аргументов. После нескольких попыток задача...
Конвертация React в Angular с использованием универсального абстрактного дерева. Proof of Concept Вступление Доброго времени суток, меня зовут Владимир Миленко, я Frontend-разработчик в компании Lightspeed, и сегодня мы поговорим о проблеме отсутствия компонентов в том или ином фреймворке и попытках автоматически конвертировать их. Предыстория Исторически сложилось, что...
Миграция с Check Point с R77.30 на R80.10 Здравствуйте коллеги, добро пожаловать на урок по миграции баз данных Check Point R77.30 на R80.10. При использовании продуктов компании Check Point рано или поздно встает задача миграции существующих правил и базы данных объектов по следующим причинам: При покупке но...
PHP 5.x – старикам здесь (не) место Индустрия хостинга неразрывно связана с PHP, на котором полностью или частично написаны более 80% сайтов в Internet. Это сильно влияет на разработку любого софта, предназначенного для работы с хостингом — в том числе такого, как контрольная панель Plesk. Мы делаем продукт дл...
Xiaomi Firmware Updater - утилита для оперативного обновления смартфонов Xiaomi Компания Xiaomi имеет огромный модельный ряд смартфонов, но несмотря на это, удивляет регулярностью обновления прошивок для всех своих устройств, что, несомненно, является большим преимуществом этой компании. Кажется, каждые две недели появляется очередное обновление. Возмож...
Вопросы совместимости Tibero и Oracle. Часть 2. Разработка Java приложений Мы продолжаем цикл статей разработчиков приложений для баз данных. Эта статья затронет тему использования Tibero в Java приложениях использующих JDBC и Hibernate, а также фреймворк Spring Roo. Читать дальше →
[Перевод] Ускоренный курс по ассемблерам Это перевод одной из статей Lin Clark. Если вы не читали остальные, мы рекомендуем начать с начала. Чтобы понять, как работает WebAssembly, неплохо понимать, что такое код на ассемблере и как компиляторы его генерируют. В статье о JIT я сравнивала взаимодействие с компьюте...
Генерация кода во время работы приложения: реальные примеры и техники Генерация кода в рантайме — очень мощная и хорошо изученная техника, но многие разработчики все еще неохотно её используют. Обычно изучение Expression Trees начинают с какого-нибудь простого примера типа создания предиката (фильтра) или математического выражения. Но не Expre...
[Перевод] Что есть в новом JupyterLab для пользователей? Всем привет! Одним из основных инструментов на нашем курсе «Разработчик BigData» является Jupyter. Глянем, что его разработчики приготовили в новой итерации и что уже доступно в бета-версии. Поехали. Вкратце: JupyterLab готов к ежедневному использованию (установка, докуме...
[Перевод] О главнейшей причине существования современных JS-фреймворков Автор материала, перевод которого мы публикуем сегодня, говорит, что ему очень и очень часто приходилось видеть, как веб-разработчики бездумно пользуются современными фреймворками вроде React, Angular или Vue.js. Эти фреймворки предлагают много интересного, но, как правило...
Функциональность отношений В классических реляционных базах данных бинарная связь кортежей основана на использовании ключей: первичных и внешних. При этом, интерпретация этой связи осуществляется за пределами логической структуры базы данных, где она (интерпретация) может иметь достаточно произвольный...
[Перевод] Почему Python так хорош в научных вычислениях Несколько дней назад (Оригинал заметки был опубликован 12 сентября 2017. — Здесь и далее прим. переводчика), я заметил этот твит в своей ленте: I 'still' program in C. Why? Hint: it's not about performance. I wrote an essay to elaborate... appearing at Onward! https://t.co/p...
[Из песочницы] Управляем браузером с помощью PHP и Selenium Интро Всем привет! Сегодня я расскажу вам о том, как с помощью PHP можно работать с Selenium. Чаще всего это бывает необходимо, когда перед вами стоит задача написать автотесты для web интерфейса или свой парсер/краулер. С Википедии«Selenium — это инструмент для автоматиза...
[Перевод] Как стать фронтенд-разработчиком в 2018 году Камран Ахмед, автор материала, перевод которого мы сегодня публикуем, говорит, что занимается фуллстек-разработкой уже 5 лет и в настоящее время работает на должности ведущего инженера в компании tajawal. Там ему приходится заниматься многими вещами. Ему, по долгу службы, на...
[Из песочницы] Онлайн имплементация localStorage Хочу поделиться тем, как приватный режим Safari привел к разработке простого ключ-значение хранилища на Node.js с резервным копированием, доступом к данным с определенных доменов и защитой паролем от записи и очистки хранилища. Все началось с того, что мне дали задачу, ре...
[Из песочницы] Создание модального компонента с помощью Vue.js В этой статье вы узнаете, как создать многоразовый модальный компонент с использованием переходов и слотов. Определение структуры шаблона Начнем с определения нашего шаблона. Нам понадобится div для тени заднего плана, div, чтобы действовать как модальный блок и некоторые э...
Нейронные сети, генетические алгоритмы и прочее… Мифы и реальность. Знаки Эта работа является продолжением всего сказанного ранее в статье «Нейронные сети, генетические алгоритмы и прочее… Мифы и реальность. Версия II». В большинстве статей, посвященных анализу текстов, которые удалось изучить автору, под анализом текста понимается главным образо...
[Из песочницы] Копирование данных с веб-сайта с помощью R и библиотеки rvest Чтобы проводить анализ данных, необходимо сначала эти данные собрать. Для этой цели есть много разных методов. В этой статье мы будем говорить о копировании данных непосредственно с веб-сайта, или о скрейпинге (scraping). На Хабре есть несколько статей о том, как сделать коп...
Распознавание объектов с помощью PowerAI Vision Разработчики программного обеспечения уже несколько лет активно работают с библиотеками машинного обучения, решая задачи компьютерного зрения и обнаружения объектов. Но реализация таких задач (а каждую модель машинного обучения необходимо спроектировать, развернуть, собств...
Объект в футляре или Optional в Java 8 и Java 9: Часть 5: Недосказанное и постер в подарок Это пятая и последняя статья серии, посвящённая использованию класса Optional при обработке объектов с динамической структурой. В первой статье было рассказано о способах избежания NullPointerException в ситуациях, когда вы не можете или не хотите использовать Optional. Вт...
Веб-разработчики хотят повысить безопасность PHP Сообщество FriendsOfPHP («Друзья PHP») собирает на GitHub базу известных уязвимостей этого языка, чтобы упростить создание безопасных программных продуктов. Проект под названием PHP Security Advisories Database («База рекомендаций по безопасности PHP») пр...
Когда акторный фреймворк превращается в «черный ящик» и что мы можем с этим сделать? Модель акторов — это хороший подход к решению некоторых типов задач. Готовый акторный фреймворк, особенно в случае языка C++, может очень сильно облегчить жизнь разработчика. С программиста снимается изрядная часть забот по управлению рабочими контекстами, организации очеред...
[Из песочницы] Как я парсил БД C-Tree, разработанную 34 года назад Прилетела мне недавно задача дополнить функционал одной довольно старой програмки (исходного кода программы нет). По сути нужно было просто сканить периодически БД, анализировать информацию и на основе этого совершать рассылки. Вся сложность оказалась в том, что приложение ...
Рустам Мехмандаров и Александр Тарасов — семантические чудеса и автоматизация экспериментов на jug.msk.ru 5 апреля 2018 года, как раз накануне конференции JPoint 2018, прошла очередная встреча московского сообщества Java-разработчиков jug.msk.ru. Рустам Мехмандаров рассказал об опыте решения задач с использованием Apache Jena. Александр Тарасов поведал про использование DSL на о...
[Из песочницы] Знакомство с Gjallarhorn.Bindable.WPF (F#) на примере выполнения тестового задания В статьях на русском языке теме использования F# совместно с WPF уделяют немного внимания. Сегодня я попробую познакомить вас с одной из F# библиотек, которая значительно упрощает такую разработку. В качестве демонстрационного примера возьмем одно из тестовых заданий по WPF,...
[Из песочницы] Установка Debian с корнем на шифрованном ZFS зеркале Предисловие В связи с необходимостью работать в другом городе, пришлось приобрести ноутбук. Постепенно, назрела проблема синхронизации его и стационарной машины. Несмотря на то, что все мои проекты ведутся в гите, не весь код полностью мой, и не хочется его выкладывать на г...
[Из песочницы] Design by Introspection Что, если бы мы умели располагать атомы один за другим как нам угодно? Ричард ФейнманСколько парадигм программирования вы сможете назвать? Список на этой странице википедии содержит ни много ни мало 76 наименований. Этот список может быть пополнен ещё одним подходом, названн...
Полезное дизайнеру / разработчику. Свежие утилиты и инструменты для ускорения работы. Выпуск № 9 Пока дизайнеры продолжают испытывать восторг от появления возможности прототипирования в двух известных инструментах, анонсированных в один день; мир независимых разработчиков продолжает выпускать всякие нужные инструменты. В 9-м выпуске 21 ссылка Читать дальше →
Анимации в Android по полочкам (Часть 3. «Низкоуровневые» анимации) Часть 1. Базовые анимации Часть 2. Комплексные анимации Часть 3. «Низкоуровневые» анимации Часть 4. Анимации переходов Часть 5. Библиотеки для работы с анимацией Все методы рассмотренные в предыдущих частях хороши и удобны, однако если нам нужно анимировать большое количест...
Какие домены использует церковь саентологии? Эксперты решили исследовать, какие доменные имена использует церковь саентологии - одна из самых известных в мире деструктивных сект.Как выяснилось, ее представители очень активно регистрируют доменные имена, в основном с целью защиты репутации церкви. Эксперты нашли 4571 до...
Еще одна причина пока не покупать iPhone X Одним из факторов, которые отталкивают пользователей от покупки iPhone X, является необходимость разработчиков в обновлении приложений с целью поддержки необычной формы дисплея смартфона. Казалось бы, с момента выхода флагмана от Apple прошло уже четыре месяца, но до сих п...
[Перевод] Как передать полиморфный объект в алгоритм STL Как мы можем прочесть в первой главе книги Effective C++, язык С++ является по сути своей объединением 4 разных частей: Процедурная часть, доставшаяся в наследство от языка С Объектно-ориентировання часть STL, пытающийся следовать функциональной парадигме Шаблоны Эти чет...
Kotaku: разработчики Mafia 3 знали о проблемах игры, но ничего не могли исправить Возвращение серии Mafia стало для многих сюрпризом. Первую часть в своё время затмила GTA III, продажи второй пострадали из-за релиза Red Dead Redemption, после чего о серии не появлялось никаких новостей. В итоге Mafia 3 всё же увидела свет, но на разработчиков обр...
[Перевод] Генерируем уровни для игры с помощью нейросетей Предисловие За последние несколько лет прогресс в области искусственного интеллекта привёл к созданию методов машинного обучения на основе обучения представлениям (representation-learning) с несколькими слоями абстракции — так называемому «глубокому обучению». Общественное ...
Нарушения безопасности мобильных приложений как результат недостаточного внимания компаний-разработчиков Во второй половине 2017 года в Google Play разработчики загружали примерно по 2800 приложений каждый день. По AppStore данные пока не удалось найти, но вряд ли во много раз меньше. Каждое из этих приложений содержит определённое количество данных (data), которые хранятся или...
Можно ли использовать С++ вместо Си для небольших проектов в микроконтроллерах Существует мнение, что использование С++ при разработке программного обеспечения для микроконтроллеров это как стрельба из пушки по воробьям. Мол код получается большого размера и неповоротливый, а мы привыкли бороться за каждый бит в ОЗУ или ПЗУ. И действительно, ведь язык ...
[Из песочницы] И на улицу JavaFX тоже придет Spring Доброе время суток, хабровчане, надеюсь среди Вас найдутся такие же любители делать формочки как и я. Дело в том, что я всегда был приверженцем дружелюбных интерфейсов. Меня расстраивали приложения, которые мало ориентированны на пользователей, такое особенно бывает в корпор...
Как адаптировать игру на Unity под iPhone X к апрелю Месяц назад Apple предупредила всех разработчиков, что с апреля все приложения, которые заливаются в App Store, должны быть собраны с использованием последнего iOS 11 SDK. О том, как правильно позиционировать контент, используя новый API, уже давно можно почитать в официал...
Стал доступен Windows 10 SDK Preview Build 17110 Сегодня компания Microsoft выпустила новую предварительную сборку Windows 10 SDK под номером 17110, которую вы можете использовать вместе с последней доступной инсайдерской сборкой Windows 10 Redstone 4. Эта версия SDK включает в себя несколько новых функций: В состав SDK ...
Android Dev Подкаст. Выпуск 61. Новости. D8, KTX, Constraint Layout 2, Flutter и парсеры текста Поговорили о последних новостях, которые были затемнены выходом Android P dp1. Настало время обсудить Android studio 3.1 и ее баги, компилятор d8, работу со spannable и static layout, и даже затронули темы игровых разработчиков и мир IoT и умных ассистентов.
Mozilla разработала открытый шлюз для Интернета вещей Apple, Google, Amazon, Samsung — у каждой из этих компаний собственные стандарты и программы для управления «умными» устройствами собственной марки. В результате они зачастую могут общаться только со своими «родственниками» производства той же фирмы. Смарт-колонка Apple Ho...
[Перевод] Разбираемся в redux-saga: От генераторов действий к сагам Любой redux разработчик расскажет вам, что одной из самых тяжелейших частей разработки приложений являются асинхронные вызовы — как вы будете обрабатывать реквесты, таймауты и другие коллбэки без усложнения redux действий(actions) и редьюсеров(reducers) В этой статье я опи...
[Из песочницы] Алгоритм Пинг-Понг или критика Обратной Польской Нотации Данная статья написана в силу возмущения тем, что в наших ВУЗах студентов простому разбору математических выражений обучают на основе как раз Обратной Польской Нотации (ОПН), что является откровенным извращением нормальной человеческой логики. Источником описания ОПН будет...
[Перевод - recovery mode ] Hyperapp + Parcel В данном посте, мы рассмотрим два новых инструмента из мира фронт-енд разработки. Они оба разработаны с мыслью о простоте и легкости использования. Первый инструмент это очень маленький фронт-енд фреймворк Hyperapp, а второй это бандлер Parcel. Вместе они могут быть лучшим в...
[App Store] Infuse Pro 5 – комфортно смотрите кино откуда угодно Во время последнего обновления справочных материалов AppStudio, мы обнаружили огромное количество программ, единственные обзоры которых были опубликованы ещё до появления вкладок в Finder, и взялись исправлять исторические пробелы. Тогда особенно порадовал видеоплеер Infuse....
Nemesida WAF: интеллектуальная защита от brute-force атак Классическими средствами защиты от brute-force являются утилиты типа fail2ban, работающие по принципу: много запросов — один источник. Это не всегда может помочь заблокировать нарушителя, а также может привести к ложным (false-positive блокировкам). В этой статье я напишу...
[Перевод] Hyperpilot открыл исходный код своих продуктов на 100% Мы открыли исходный код всех наших продуктов, над которыми работали последний год, и в этом посте я хочу кратко рассказать о них. Последний год Hyperpilot работал в скрытом режиме, поэтому позвольте объяснить, что мы собирались делать. Наша миссия – дать интеллект инфрастру...
Тестирование API сервисов и RSpec Иногда бывает необходимость написать небольшой АПИ сервис, часто в виде прототипа. И часто этот прототип потом так и остаётся в первоначально написанном виде следуя принципу «работает — не трогай». Переписывание даже относительно маленького сервиса сопряжено с возможностью...
Машинное зрение. Что это и как им пользоваться? Обработка изображений оптического источника Машинное зрение — это научное направление в области искусственного интеллекта, в частности робототехники, и связанные с ним технологии получения изображений объектов реального мира, их обработки и использования полученных данных для решения разного рода прикладных задач без ...
[Из песочницы] Учимся быть фуллстек разработчиками. Пишем приложение на React/Redux/Webpack/ASP.NET Core 2.0/EF Core Ни для кого не секрет, что .net сейчас используется в большинстве случаев как инструмент бэкенд разработки, а в клиентской разработке последние лет 5 правит js сообщество с своей экосистемой и инструментами для разработки. Это все безобразие с каждым годом усиливает пропасть...
Защита ваших приложений Xamarin с помощью Dotfuscator Это перевод рассказа Джо Сьюэлла, разработчика из команды Dotfuscator на PreEmptiveSolutions. Давайте говорить честно: выпуск библиотеки, приложения для рабочего стола или мобильного приложения может стать горьким опытом. Как только вы выкладываете вашу программу в открытый...
[Из песочницы] Своя змейка, или пишем первый проект. Часть 0 Предисловие Привет Хабр! Меня зовут Евгений «Nage», и я начал заниматься программированием около года назад, в свободное от работы время. Просмотрев множество различных туториалов по программированию задаешься вопросом «а что же делать дальше?», ведь в основном все рассказыв...
[Перевод] Обзор библиотеки react-testing-library В материале, перевод которого мы публикуем сегодня, Кент Доддс рассказывает о библиотеке собственной разработки для тестирования React-приложений, react-testing-library, в которой он видит простой инструмент, способный заменить enzyme и способствующий написанию качественных ...
Graal: как использовать новый JIT-компилятор JVM в реальной жизни На главной сибирской Java-конференции JBreak-2018, проходившей в Новосибирске, Christian Thalinger из Twitter поделился практическим опытом использования Graal. Этот доклад мы слушали всей рабочей группой в полном составе. Вполне объяснимо, если учесть тот факт, что Graal по...
[Перевод] Тонкости value restriction в F# Одной из отличительных особенностей языка F#, по сравнению с более распространёнными языками программирования, является мощный и всеобъемлющий автоматический вывод типов. Благодаря ему в программах на F# вы почти никогда не указываете типы явно, набираете меньше текста, и по...
Как антивирусные компании зарабатывают деньги В июле 2017 года один из мировых лидеров антивирусной индустрии DR.WEB официально заявил, что их команда обнаружила «вирусное предупреждение» на ряде Android смартфонов, которое решено было идентифицировать как «Android.Triada.231». 1 марта 2018 года ...
[Из песочницы] FastReport.Mono. Часть 1: Запуск демонстрационного Web-отчета В связи с тем, что официальная документация FastReport.Mono устарела, и даже не понятно к какой версии дистрибутива Debian она относится (могу предположить, что к 6 или младше), решил написать более-менее вменяемую инструкцию по установке демонстрационного Web-интерфейса для...
Хана котёнку. Почему сотрудники ненавидят CRM? В комментариях к одной из недавних статей ncix поднял вопрос о саботаже CRM со стороны сотрудников и заметил, что был бы рад почитать об этом. В первые минуты мы даже растерялись — неужели мы об этом не писали? Писали, но как-то обрывками и к слову. А проблема, действительно...
Microsoft пока не решила проблему с безопасностью в Skype Исследователь безопасности Штефан Кантак (Stefan Kanthak) обнаружил серьезную брешь в Skype, связанную с модулем обновления, еще в сентябре прошлого года. Однако, как сообщает издание ZDNet, разработчики не могут выпустить хотфикс, не переписав при этом существенную часть ко...
Статический анализатор кода PVS-Studio 6.22 адаптирован для ARM-компиляторов (Keil, IAR) PVS-Studio — это статический анализатор кода для поиска ошибок и потенциальных уязвимостей в коде программ на языке C, C++ и C#. Мы давно радуем читателей нашего блога проверкой открытых проектов и разбором найденных ошибок. Наши статьи имеют потенциал стать более интересны...
Gesturizer: 3D-touch и жесты в iOS приложения Жесты на мобильных устройствах, выполняемые стилусом или пальцем, могут быть эффективнее и удобнее стандартных взаимодействий с кнопками и меню в зависимости от контекста и задачи. Однако, необходимость запоминания жестов и связанных с ними команд вызывают некоторые трудност...
Приложения, достигшие самосознания: автоматизированная диагностика в продакшне Путь к постижению Дзена начинается с разработки приложений, которые могут мониторить сами себя — это позволяет проще и дешевле чинить проблемы на продакшне. В этой статье мы увидим, как современные Windows-приложения могут делать самомониторинг, самодиагностику, и возможно —...
LL(*) парсер с использованием Rust макросов Wow. Such Rust. Much macro. © картинка - Твиттер аккаунт Servo Язык Rust стремительно набирает обороты. Кто-то пророчит ему стать заменой C/C++, кому-то он просто нравится. Я скорее принадлежу ко второй группе. Разработчики стараются сделать его удобным и безопасным. В нем ...
[Перевод] Топ-10 ошибок из 1000+ JavaScript-проектов и рекомендации по их устранению В компании Rollbar, которая занимается созданием инструментов для работы с ошибками в программах, решили проанализировать базу из более чем 1000 проектов на JavaScript и найти в них ошибки, которые встречаются чаще всего. В результате они сформировали список из 10 наиболее ч...
Вышел яркий трейлер Tropico 6 Разработчики франшизы Tropico выпустили в свет новый трейлер шестой части, который игроки встретили довольно прохладно. Причин для этого предостаточно, несмотря на всю красоту ролика и общего уровня графики. Начнём с того, что студия Haemimont больше проектом не занимается, ...
[Перевод] Rust: используем serde для сериализации Сериализация данных посредством serde. Недавно я писал Rust-код для работы со сторонним источником данных в TOML-формате. В других языках я бы подгрузил данные какой-либо TOML-библиотекой и прогнал бы по ним мою программу, однако я слышал про serde — библиотеку сериализации ...
tdlib-ruby: как сделать Telegram-клиент на Ruby Одна из особенностей мессенджера Telegram — широкие возможности API (Bot API и Telegram API). Команда Telegram пошла ещё дальше и выпустила библиотеку TDLib (Telegram Database Library), позволяющую разрабатывать альтернативные клиенты Telegram и не задумываться о низкоуровн...
Ускорение сборки JavaScript-кода с использованием webpack 2–3 Появляется все больше SPA салонов. Даже лендинги люди пилят на React. А действительно сложное веб-приложение уже трудно представить с другим подходом. Одна из главных проблем современного фронтенда — это сборка таких проектов. С этим помогают справляться бандлеры. Иван Сосн...
Эпизод 0. Hack vs Mac. Xcode build time Эта статья начинает собой цикл из нескольких об использовании Hackintosh в повседневной работе и особенно с IDE Xcode 9 и будет больше интересна разработчикам под языки objc/swift. С другой стороны, мой первый хак был собран, когда я не был знаком с этими языками и может пр...
Стал доступен Windows 10 SDK Preview Build 17083 Сегодня компания Microsoft выпустила новую предварительную версию Windows 10 SDK с номером сборки 17083, которая может использоваться в сочетании с последней доступной инсайдерской сборкой Windows 10. Данная версия SDK включает в себя несколько исправлений ошибок, новые API...
[Перевод] Использование ReSwift: написание приложения Memory Game Примечание. В этой статье используются Xcode 8 и Swift 3. По мере того, как размеры iOS приложений продолжают увеличиваться, паттерн MVC постепенно теряет свою роль как «подходящего» архитектурного решения. Для iOS разработчиков доступны более эффективные архитектурные п...
Настройка среды разработки: кофейная гуща (Часть 2) Привет, дорогой читатель! В этот раз я хочу поделиться своим результатом настройки персонального окружения для работы с различными PHP-based проектами с использованием Puppet. В данной статье описываются результаты, которые были получены в процессе изучения и написания Puppe...
Windows 10 Build 17643 – Sets, WebDriver, Экранная лупа Как и обычно, компания Microsoft в конце недели выпустила очередную Redstone 5 сборку под номером 17643. Пока идет неразбериха с RTM-версией Redstone 4, Microsoft уже во всю работает над следующим релизом под кодовым названием Redstone 5. В предыдущей сборке усовершенствовал...
[Из песочницы] Модульная разработка Android приложений При разработке Android приложений наступают моменты, когда те или иные части кода можно вынести в виде библиотек, чтобы можно было переиспользовать их в разных проектах: Модули в проекте, которые часто встречаются. Например, кастомные View Когда существующий API неудобный ...
Оглашена критическая брешь в популярном REST-фреймворке Стало известно о серьезной уязвимости в одном из компонентов популярного фреймворка Pivotal Spring. Ошибка была выявлена и пропатчена еще осенью, однако вендор не спешил предавать ее огласке прежде, чем клиенты обновят свои системы. Проблема касается Spring Data REST — компл...
[Из песочницы] Самый выразительный. Краткое пособие по языку Red Привет всем! Сегодня я хотел бы рассказать о языке программирования Red. Язык Red является непосредственным преемником более раннего языка REBOL. Оба они малоизвестны в русскоязычном сообществе, что само по себе странно, т.к. указанные языки представляют интерес как с точки...
[recovery mode] Необходима помощь сообщества. «Мир, дружба, жвачка» Так получилось, что некогда возникала необходимость иметь данные по всем телефонным звонкам в одной организации, где для связи использовалась Avaya CM 5.0 (а в последствии 6.0), сейчас уже и эти версии динозавры из прошлого, но это все не важно. Важно то, что еще в 2010 г. ...
Vue.js + Asp.Net Core MVC + TypeScript и ещё Bootstrap4 По стандартному шаблону Asp.Net Core MVC в Visual Studio 2017 создаем новый проект, переводим его на четвертый Bootsrtrap, встраиваем туда модульное приложение Vue.js на TypeScript. Получаем простую, обозримую и легкую заготовку для создания своих веб-приложений на VS2017 с...
О применении рефлексии в тестировании и не только У многих рефлексия ассоциируется с раздутым кодом или с не правильным продуманным api. Под катом несколько полезных примеров, которые покажут положительные стороны рефлексии. Читать дальше →
Американцы требуют от Google и Apple помочь Telegram бороться с блокировкой в России Сейчас борьбы с мессенджером Telegram в России является главной целью ведомства Роскомнадзор. На фоне появления информации о том, что Google отказалась предоставлять сторонним разработчикам фронтинг для обхода блокировок, в том числе и на российской территории,
Релиз Yii 2.0.15 и расширений баз данных с исправленными уязвимостями Сегодня мы выпускаем обновления Yii для нескольких последних версий 2.0.x и официальных расширений поддержки нереляционных баз данных для исправления найденных уязвимостей. Патчи исправляют проблему в методах слоя ActiveRecord: findOne() и findAll(), которые могут допустить ...
Критики назвали Far Cry 5 лучшей частью серии и одним из лучших шутеров с открытым миром 27 марта состоится премьера шутера Far Cry 5 от Ubisoft. С рецензией 3DNews вы уже можете ознакомиться по этой ссылке, а в данной заметке собраны цитаты из западных обзоров. Пресса оценила игру достаточно высоко: рейтинг PS4- и PC-версий на Metacritic составил ...
[Перевод] Упрощение кода с помощью if constexpr в C++17 Несколько новых возможностей C++17 позволяют написать более компактный и ясный код. Это особенно важно при шаблонном мета-программировании, результат которого часто выглядит жутко… Например если вы хотите выразить if, который вычисляется во время компиляции, вы будете вынужд...
Astra Linux заработал на отечественных процессорах Эльбрус Компании «НПО РусБИТех» и АО «МЦСТ» оптимизировали операционную систему Astra Linux Special Edition под компьютеры с отечественными процессорами «Эльбрус». На данный момент разработка данной платформы для «Эльбрусов» еще не окончена, но всё идет согласно запланированному гра...
Advanced Android Testing Тестирование — одна из важнейших частей разработки качественных программных продуктов. Сегодня мы поговорим о некоторых методологиях и библиотеках, разработанных и используемых нашей командой для написания тестов Android приложений. Начнем с самых базовых вещей, потому боле...
Системные платы Gigabyte Z370 Aorus оснащены памятью Intel Optane Компания Gigabyte анонсировала выпуск системных плат Z370 Aorus, эксклюзивной особенностью которых является наличие 32 ГБ памяти Intel Optane. Как утверждается, благодаря использованию технологии Intel Rapid Storage, эти платы обеспечивают ускоренную скорость чтения и з...
[Из песочницы] Анализ данных с использованием Python Язык программирования Python в последнее время все чаще используется для анализа данных, как в науке, так и коммерческой сфере. Этому способствует простота языка, а также большое разнообразие открытых библиотек. В этой статье разберем простой пример исследования и классифик...
[Перевод] HoleyBeep: объяснение и эксплоит В былые времена люди использовали \a для генерирования неприятных «гудков» из спикеров системных блоков. Это было особенно неудобно, если хотелось генерировать более сложные звуковые последовательности вроде 8-битной музыки. Поэтому Джонатан Найтингейл написал программу be...
Google намерена унифицировать приложения для iOS и Android Google начинает бета-тестирование фреймворка Flutter, который позволит разработчикам создавать универсальные приложения для Android и iOS. Об этом пишет TechCrunch со ссылкой на официальных представителей компании. По их словам, новейший продукт призван облегчить жизнь раз...
[Перевод] Среды запуска контейнеров (container runtimes) Часть 1: Введение в среды запуска контейнеров От переводчика: Это перевод статьи Container runtimes Part 1: An Introduction to Container runtimes. Автор оригинальной публикации: Ian Lewis. Один из терминов, который вы часто слышите, имея дело с контейнерами — «container runtime» (далее «runtime» переводится как «среда ...
[Перевод] Насколько быстр AMP на самом деле? Проект Accelerated Mobile Pages (AMP) от Google вызвал определённый переполох по идеологическим причинам, но саму технологию так и не разобрали подробно. Несколько недель назад Ферди Кристант писал про несправедливое преимущество, которое получает контент AMP за счёт предзаг...
[Перевод] Почему наследование всегда было бессмысленным Есть три типа наследования. Онтологическое наследование указывает на специализацию: вот эта штука — специфическая разновидность той штуки (футбольный мяч — это сфера и у неё такой-то радиус). Наследование абстрактного типа данных указывает на замещение: у этой штуки такие ...
Java и Project Reactor Всем привет! Меня зовут Лёха, и я работаю бэкенд-разработчиком в FunCorp. Сегодня мы поговорим про реактивное программирование, библиотеку Reactor и немного про веб. Реактивное программирование часто «подвергается упоминанию», но если вы (как и автор статьи) всё ещё не знае...
Релиз PVS-Studio для macOS: 64 weaknesses в XNU Kernel Новая версия PVS-Studio 6.23 работает под управлением macOS и позволяет проверять проекты, написанные на языке C и C++. К этому событию наша команда решила приурочить проверку XNU Kernel. PVS-Studio для macOS С выходом версии анализатора для macOS, PVS-Studio можно смело на...
[Из песочницы] Опыт использования Мегаплан API До этого я никогда не сталкивался с CRM "Мегаплан" и не знал, что она существует. Один мой хороший знакомый предложил мне подработку, сказал, что один его знакомый ищет программиста, чтобы написать небольшую программу или скрипт для автоматизации работы. Было сказа...
Для ИИ-разработчиков представлен новый облачный сервис машинного обучения Запуск новой программы машинного обучения, получившей название Deep Learning as a Service (DLaaS), анонсировала компания IBM. Новый сервис работает на базе платформы WatsonС. С его помощью, используя популярные фреймворки (например...
[Перевод] 29% вебсайтов уязвимы для DOS-атаки даже одной машиной (CVE-2018-6389) Важно отметить, что использование этой уязвимости является незаконным, если только у вас нет разрешения владельца веб-сайта. В платформе WordPress CMS была обнаружена простая, но очень серьезная уязвимость, связанная с атаками типа «отказ в обслуживании» (DoS) на уровне пр...
Низкоуровневая оптимизация кода на платформе Эльбрус: векторное сложение uint16_t с помощью интринсиков В этой статье мы расскажем про более низкоуровневые оптимизации, которые можно делать на процессорах Эльбрус. В принципе, оптимизации подобного уровня не являются необходимым этапом разработки под Эльбрус. Для большинства вычислительных операций, требующих высокой произво...
Meeting Room Little Helper Сегодня я расскажу вам о приложении, которое создавалось в «Аркадии» для удобства бронирования переговорных комнат. Есть два основных сценария использования этого приложения: 1. Поиск свободной комнаты Ежедневно в компании проходит множество митингов, переговорки бронир...
[Перевод] Immer: новый подход к иммутабельности в JavaScript Иммутабельные структуры данных, реализующие методику совместного использования неизменяемых фрагментов информации (structural sharing), выглядят как отличная технология для хранения состояния приложения. Особенно — в комбинации с архитектурой, основанной на событиях. Однако ...
Обзор нового алгоритма уменьшения размерности UMAP. Действительно ли он лучше и быстрее, чем t-SNE? Привет, Хабр! Задача снижения размерности является одной из важнейших в анализе данных и может возникнуть в двух следующих случаях. Во-первых, в целях визуализации: перед тем, как работать с многомерными данными, исследователю может быть полезно посмотреть на их структуру, у...
[Из песочницы] Прогулка по быстрому, безопасному и почти законченному веб-сервису на Rust оригинал В течение многих лет у меня было стойкое недоверие к интерпретируемым языкам. Они быстрые и работать с ними приятно, но хороши они только для работы на небольших системах, если же у вас быстрорастущий проект их привлекательность быстро улетучивается. Создание большо...
Пунктирные вау-эффекты: о магии простыми словами Продолжаем смотреть технические приемы создания различных анимаций в интерфейсах. Мы уже познакомились с частицами, масками и изменением форм различных объектов — настал черед рисовать пунктирные линии. Перед тем, как перейти к статье, сделаю небольшое отступление. Эта се...
Html страница глазами разработчика приложений. Часть 1: «Подготовка» Передо мной встала задача по обновлению текущего сайта одной компании, и в соответствии тренду выбор пал на landing page с поддержкой мультиязычности. Посмотрев на реализации представленные в интернете я ужаснулась. В теле страницы куча текста! С такой разметкой же невозможн...
Нечеткий поиск (fuzzy search) в реляционных базах данных Для поиска нужной информации на веб-сайтах и в мобильных приложениях часто используется поиск по словам или фразам, которые пользователь свободно вводит с клавиатуры (а не выбирает например из списка). Естественно, что пользователь может допускать ошибки и опечатки. В этом с...
Разработчик Bitcoin Core Питер Тодд рассказал о проблемах Lightning Network Ведущий разработчик Bitcoin Core Питер Тодд заявил, что у технологии Lighting Network, решения для масштабирования сети биткоина, есть ряд очевидных недостатков, одним из которых является использование «опасного» языка программирования C из-за частых ошибок сегмент...
Портретный режим Google Pixel 2 теперь доступен всем производителям и разработчикам ПО Прошлой осенью компания Google представила линейку смартфонов Pixel 2, которые использовали революционную технологию работы камеры на основе нейросетей. Компания внесла большой вклад в развитие искусственного интеллекта и подчеркнула, что для достижения качественного эффекта...
[Из песочницы] Использование Boost.Asio с Coroutines TS Введение Использование функций обратного вызова (callback) — популярный подход к построению сетевых приложений с использованием библиотеки Boost.Asio (и не только ее). Проблемой этого подхода является ухудшение читабельности и поддерживаемости кода при усложнении логики прот...
Графическая библиотека Vulkan 1.1 доступна для разработчиков в Android P В новой версии Android P для разработчиков станет доступна графическая библиотека Vulkan 1.1, в ней сильно оптимизирована и переработана работа с 2D и 3D графикой. Пользователи смогут почуствовать на себе все преимущества новой библиотеки, как только разработчики игр выпуст...
Loom Network представил решение для масштабирования Ethereum Американский стартап Loom Network представил новую платформу, призванную увеличить производительность сети Ethereum, сообщает CoinDesk. Как отмечает издание, компания представила набор инструментов для разработчиков, который позволяет запускать масштабируемые приложения на б...
Беспоисковый метод расчета настроек регуляторов средствами Python Введение Беспоисковый метод — простой, надёжный и универсальный метод расчёта настроек субоптимальных регуляторов, включая и такие алгоритмы как ПД, ПДД и ПИДД [1]. Однако, приведенная в [1] программная реализация данного метода имеет ряд недостатков, что затрудняет его ...
Broadcom вновь предлагает купить Qualcomm за $146 миллиардов В ноябре прошлого года компания Broadcom уже делала предложение о покупке Qualcomm за $105 миллиардов. Планировалось оплатить сумму как наличными, так и ценными бумагами. Но тогда совет директоров Qualcomm принял решение отклонить данное предложение, посчитав, что озвученна...
Black Panther / «Черная Пантера» По данным Metacritic, Black Panther – самый высокооцененный критиками фильм Marvel Cinematic Universe, обогнавший даже первый Iron Man, начавший всю эту супергеройскую вакханалию десять лет (уже 10 лет!) назад. При этом оценки зрителей на IMDb, наоборот, не очень высокие. Об...
В разрезе: новостной агрегатор на Android с бэкендом. Распределённые системы обработки сообщений (Spark, Storm) Вводная часть (со ссылками на все статьи) Основным компонентом системы, который обрабатывает сырые данные с «пауков», выполняет обогащение данных, их индексацию и последующий поиск является система обработки сообщений, т.к. только подобные системы могут адекватно реагиров...
[Из песочницы] Адское программирование голого железа Доброго времени суток! Обидно мало статей посвящено адскому программированию замечательному языку программирования Ада, а уж тем более нет их по программированию на нем для микроконтроллеров. А ведь сам язык даже позиционируется как язык встроенных систем… Может, это очень с...
[Перевод] Кэширование и производительность веб-приложений Кэширование позволяет увеличивать производительность веб-приложений за счёт использования сохранённых ранее данных, вроде ответов на сетевые запросы или результатов вычислений. Благодаря кэшу, при очередном обращении клиента за одними и теми же данными, сервер может обслужив...
Отменяемые Promises в EcmaScript6 Владислав Власов, инженер-программист в Developer Soft и преподаватель курса Нетологии, специально для блога написал цикл статей о EcmaScript6. В первой части на примерах рассмотрели динамический анализ кода в EcmaScript с помощью Iroh.js. В этой статье расскажем, как реализ...
Проектирование Schemaless хранилища данных Uber Engineering с использованием MySQL Designing Schemaless, Uber Engineering’s Scalable Datastore Using MySQL By Jakob Holdgaard Thomsen January 12, 2016 https://eng.uber.com/schemaless-part-one/ Проектирование Schemaless хранилища данных Uber Engineering с использованием MySQL. Это первая часть из трех час...
WhiteList vs BlackList: как реализовать проверку расширений файлов и не стать жертвой хакеров Нередко, во время анализа защищенности веб-приложений мы сталкиваемся с загрузкой каких-либо файлов на сервер – это могут быть и фотографии учетной записи, и какие-то текстовые документы, и что угодно другое. Существуют расширения файлов, с которыми многие работали и знают...
Как победить рутину, или Готовое приложение в Xcode за пару кликов У каждого опытного разработчика есть набор инструментов, к которым он привык и с которыми ему удобно работать. Это может быть простейшая настройка окружения, утилиты для промежуточных операций (к примеру, помощник по тестированию API Postman), проверенные временем и лично ра...
[Перевод] Руководство по фоновой работе в Android. Часть 1 О фоновой работе приложений в Android есть много статей, но мне не удалось найти подробного руководства по реализации работы в фоне – думаю, из-за того, что появляется все больше новых инструментов для такой работы. Поэтому я решил написать серию статей о принципах, инструме...
Как я искал идеальный инструмент для проектирования разговорных интерфейсов, или В поиске священного Грааля Павел Гвай, android-разработчик KODE Привет, меня зовут Павел pavelgvay, я работаю в калининградской студии разработки мобильных приложений KODE и около года назад активно погрузился в процесс разработки приложений для Google Assistant и просто-таки залип над этапом проект...
Про «ту Apple»-6. Newton, часть 2: Хоббиты, Dylan и прочие безобразия Если бы проектом Newton руководил кто-то, способный чувствовать, что нужно рынку, и заранее отказываться от тупиковых направлений в развитии, и если бы Newton вышел в свет не в 1993-м, а в 1989-м или 1990-м… Но, увы, все случилось так, как случилось. Apple Computer исполь...
Разработчик объяснил отсутствие классных приложений для Apple Watch Apple Watch не могут похвастать столь же впечатляющими приложениями, как iPhone, из-за ограничений, накладываемых самой Apple. К такому выводу пришел разработчик Марко Армент, стоявший у истоков сервисов Tumblr и Instapaper. По его мнению, watchOS могла стать куда более во...
Linux-дистрибутив from scratch для сборки Docker-образов — наш опыт с dappdeps Сборка образов для Docker на основе базового образа, как правило, предполагает вызов команд в окружении этого базового образа. Например — вызов команды apt-get, которая есть в базовом образе, для установки новых пакетов. Часто возникает необходимость доустановить в базовую...
[Перевод] Чего из Rust мне не хватает в C Об авторе. Федерико Мена-Кинтеро — мексиканский программист, один из основателей проекта GNOME, автор книги «Язык программирования Rust» Librsvg достиг переломного момента: внезапно выясняется, что легче портировать некоторые основные части из C на Rust, чем просто добавит...
[Перевод] Ричард Хэмминг: Глава 29. Вы получаете то, что вы измеряете «Цель этого курса — подготовить вас к вашему техническому будущему.» Привет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2365 в закладки, 360k прочтений)? Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, н...
Cвежая версия Chrome закрыла 45 уязвимостей В сети появилась новая версия браузера Chrome. Релиз 65.0.3325.146 закрывает 45 уязвимостей, 9 из которых имеют наивысший рейтинг. В целях безопасности Google раскрывает подробности ошибок только через 14 недель после их исправления. В данный момент детальная информация о ба...
Подключение Allure-репортера к произвольному тест-фреймворку на python Автоматизация нуждается в человекочитаемых отчетах о тестировании — что тестировалось, какими тестовыми шагами, с каким результатом. Для этого существует система генерации отчетов Allure. Allure поддерживается большинством известных тестовых фреймворков, а для неизвестных тр...
[Из песочницы] Совершенствуем Redux Привет, Хабр! Представляю вашему вниманию перевод статьи "Redesigning Redux" автора Shawn McKay. Должно ли управление состоянием вызывать проблемы на сегодняшний день? Интуитивно, разработчики видят скрытую правду: управление состоянием куда сложнее, чем должно бы...
Как написать генератор случайных чисел и можно ли предсказать Math.random? Вы когда-нибудь задумывались, как работает Math.random()? Что такое случайное число и как оно получается? А представьте вопрос на собеседовании — напишите свой генератор случайных чисел в пару строк кода. И так, что же это такое, случайность и возможно ли ее предсказать? ...
[Перевод] Создание чатбота с использованием Q&A Maker и Microsoft Graph Привет, Хабр! Совсем недавно мы проводили хакатон для разработчиков в Бухаресте и Клуже. Основной задачей группы в Клуже было создание эффективной программы-робота для чатов с поддержкой Endava и использованием Microsoft Graph и Q&A Maker. Сегодня мы расскажем об этом пр...
Datalore: открываем бета-версию приложения для анализа данных на Python Привет, Хабр! В рядах инструментов JetBrains пополнение. Мы запускаем открытую бета-версию Datalore — умной веб-среды для анализа и визуализации данных на языке Python. Машинное обучение уверенно захватывает мир: алгоритмы интеллектуального анализа данных стоят за совреме...
[Из песочницы] Как быстро написать и выкатить в продакшн алгоритм машинного обучения Сейчас анализ данных все шире используется в самых разных, зачастую далеких от ИТ, областях и задачи, стоящие перед специалистом на ранних этапах проекта радикально отличаются от тех, с которыми сталкиваются крупные компании с развитыми отделами аналитики. В этой статье я ра...
Майк Херн: Bitcoin Cash повторяет главные ошибки биткоина Бывший разработчик Bitcoin Core и один из ранних пропагандистов биткоина Майк Херн прервал длительное молчание и провел сессию AMA («Спросите меня о чем угодно») на Reddit, ходе которой поделился своими мыслями о текущем положении дел в криптоиндустрии. В частности, он подве...
Скоро Siri может ждать масштабный апгрейд Apple приняла решение о расширении команды специалистов, работающих над развитием Siri. Это следует из материалов агрегатора вакансий Thinknum. По состоянию на апрель количество вакантных должностей, так или иначе связанных с голосовым ассистентом, составляет 161, что почт...
Litecoin Cash – что необходимо знать о предстоящем хардфорке «цифрового серебра» Ориентировочно 18 февраля на блоке 1371111 должен состояться объявленный ранее на этой неделе хардфорк сети Litecoin. Новая цепь получила название Litecoin Cash (LCC) и еще до официального анонса подверглась критике со стороны создателя «цифрового серебра» Чарли Ли, который ...
Mail.Ru Cloud Solutions обновляет интерфейс для работы с виртуальными машинами В MCS полностью обновился интерфейс создания виртуальных машин и управления ими. Воспользовавшись мастером запуска виртуальных машин, пользователи могут в пару кликов совершать базовые операции: создавать виртуальные машины и подключаться к ним, а также останавливать и удаля...
[Перевод] Защита целостности кода с помощью PGP. Часть 1. Базовые концепции и инструменты Если вы пишете код, который попадает в общедоступные репозитории, вам может пригодиться PGP. В этой серии статей, перевод первой из которых мы публикуем сегодня, будут рассмотрены вопросы использования PGP для обеспечения целостности кода программного обеспечения. Эти матери...
ARM интегрирует SIM-карты с мобильными процессорами Большинство современных смартфонов оснащаются слотом под одну или две SIM-карты, но уже в скором времени всё может измениться. Дело в том, что компания ARM, являющаяся один из ключевых разработчиков RISC-процессоров, [...]
Дайджест новостей из мира PostgreSQL. Выпуск №3 Мы продолжаем знакомить вас с самыми интересными новостями по PostgreSQL.РелизыВышел релиз PostgreSQL 10.2 В списке исправлений десятки пунктов. Например: устранение сбоев параллельных процессов при использовании более чем одного узла Gather (Томас Мунро) или Изменение повед...
[Из песочницы] Использование Reflection.Emit для предварительной компиляции выражений в MSIL Привет, Хабр! Представляю вашему вниманию перевод статьи "Using Reflection.Emit to Precompile Expressions to MSIL" автора Steve Marsh. Введение Классы в этом проекте позволяют анализировать текстовые выражения, введенные пользователем, и компилировать их на сборк...
Транскрипция географических названий в Open Street Map. Латвия, Литва, Польша, Эстония Привет всем, кто использует OSM. У каждого из нас свои задачи при работе с картами, однако одним из базовых функционалов конечно является поиск географических объектов, как минимум населенных пунктов, а так же рендеринг карт. Проблема в том, что значение тега name для узлов,...
Процессоры Intel Core i3-2125, Pentium G2130, G3260, G3470 и Celeron G3900 бюджетные решения прошлого и далекого прошлого в современном программном окружении Главным недостатком большинства наших обзоров процессоров многие читатели по праву считают то, что тестируются исключительно новинки — редко когда удается увидеть ретроспективные материалы, типа тестирования старых систем с современным программным обеспечением. Иногда кое-чт...
Подборка: 7 Chrome-расширений для обхода блокировок В последние годы вопрос обхода различных блокировок сайтов стоит достаточно остро. Проще всего решить ее можно с помощью прокси-расширений для браузера. А поскольку самым популярным браузером сейчас является Chrome, то я решил собрать в одном материале все самые адекватные...
WebView будет предупреждать пользователя об опасных сайтах Технология Safe Browsing теперь включена по умолчанию в системной утилите Android WebView — компоненте мобильной ОС от Google. Разработчики добавили поддержку сервиса в одном из прошлых релизов программы, а теперь запустили его в полном объеме. Safe Browsing сверяет запрашив...
Язык программирования, рассчитанный на минификацию Однажды я принял участие в конкурсе демо (программ, генерирующих аудио-визуальный ряд, основной особенностью которых является экстремально маленький размер — десятки или даже единицы кибибайт). В процессе общего обсуждения кто-то предложил нестандартную для мира демо идею: ...
Cisco Talos обнаружила новые уязвимости в роутерах Moxa В прошлую пятницу, 13 апреля, исследователи из Cisco Talos опубликовали отчет о багах, найденных в системе безопасности роутера Moxa EDR-810. О наличии брешей в защите сообщил аналитик Карлос Пачо (Carlos Pacho). Cisco Talos не первый раз находит уязвимости в системе безопас...
Обнаружение атак на Active Directory с помощью Azure В следующем году будет 20 лет с момента создания службы каталогов Active Directory. За это время служба обросла функционалом, протоколами, различными клиентами. Но необходимость поддерживать совместимость с рядом устаревших клиентов вынуждает иметь настройки по-умолчанию, ор...
Scrcpy позволяет управлять с ПК устройством на Android без Root Энтузиаст Ромен Вимонт (Romain Vimont) создал инструмент под названием Scrcpy для Windows, macOS и Linux, позволяющий транслировать экран подключённого Android-устройства и управлять гаджетом через виртуальный дисплей. Решение Вимонта примечательно тем, что оно не требует пр...
Релиз CLion 2018.1: новые возможности из С++17, поддержка WSL, CMake Install, плагин для Rust и многое другое Привет, Хабр! Вот и подоспел первый релиз CLion в этом году — 2018.1! В этом посте мы расскажем, что мы успели реализовать за эти месяцы и какие планы у нас на следующий релиз. Cначала очень коротко о главном. В этот релиз вошли: Поддержка языка C++ Поддержка возможн...
Доступные новые предварительные сборки Windows 10 SDK и Windows Server Сегодня компания Microsoft выпустила новую предварительную сборку Windows 10 SDK Build 17095, которую можно использовать с инсайдеркой сборкой Windows 10 под 17093 или более новой. Данная версия SDK включает в себя исправления ошибок и некоторые изменения в API. Важно отмет...
Microsoft улучшила ИИ-инструменты распознавания изображений и лиц Microsoft внесла в ИИ-инструменты для компаний ряд улучшений, связанных с распознаванием лиц и объектов, а также классификацией изображений. Все обновления являются частью набора API под названием Cognitive Services, которые позволяют разработчикам интегрировать в с...
Альтернативный взгляд на задачу от Одноклассников с JPoint 2018 Всем привет! В последнее время стало модным делать разоблачения на задачи. В посте решил привести свои соображения по задачам Одноклассников. Задачи понравились, но уж больно получились неоднозначными, а в отведённое на листочке место всё не уместить. Обсудим? Внимание! В о...
Пишем собственный хитрый thread_pool-диспетчер для SObjectizer-а О чем эта статья? Одной из основных отличительных черт C++ного фреймворка SObjectizer является наличие диспетчеров. Диспетчеры определяют где и как акторы (агенты в терминологии SObjectizer-а) будут обрабатывать свои события: на отдельной нити, на пуле рабочих нитей, на одно...
Новинки C# 7.2. Span<T> и Memory<T> Доброго времени суток, %habrauser%! Столкнувшись с проблемой замедления работы системы при передачи использовании переменных хранимых в стеке я отправился в гугл и нашел отличное решение использование коллекции Span<T>, которая была добавлена в версии языка C# 7.2. Н...
[Перевод] Система типов в математике Время от времени мне встречаются вопросы по математике, которые в каком-то смысле можно назвать «грамматически неверными». Пример. «Интервал является замкнутым или открытым?» Пример. «Является ли группой?» Пример. «Каков ряд Фурье для ?» А вот ещё более глупые примеры. ...
Инструмент для мониторинга околороскомнадзорных пертурбаций В связи с всем известными обстоятельствами, сервис мониторинга сайтов ХостТрекер предлагает возможность бесплатного использования наших инструментов для целей информирования общественности, сбора статистики и других интересных вещей. Цель — спасти всех. Ну или хотя бы ползти...
Искусственный интеллект и нейросети для .NET-разработчиков Искусственный интеллект сейчас является одной из самых обсуждаемых тем и главным двигателем цифровой трансформации бизнеса. Стратегия Microsoft в области ИИ включает в себя демократизацию ИИ для разработчиков, т.е. предоставление простых в использовании фреймворков и сервисо...
[Перевод] Ошибочное понимание принципа DRY Я знаю, о чём вы подумали: «Ещё одна скучная статья про DRY? Нам их мало, что ли?». Возможно, вы правы. Но я встречаю слишком много разработчиков (junior и senior), применяющих DRY так, словно они охотятся на ведьм. Либо совершенно непредсказуемо, либо везде, где можно. Та...
Разработана новая технология обучения роботов, за счет развития навыков моторики На сегодняшний день ИИ, используемый в роботах, базируется на прописанном программном коде, который отвечает за определенную задачу. Зачастую, написать такую программу является более сложной задачей чем само выполняемое действие. Это одна из причин, почему роботы больше подх...
Разработка игры под Android на Python на базе Kivy. От А до Я: подводные камни и неочевидные решения. Часть 1 Некоторое время тому назад я решил попробовать написать что-то на Python под Android. Такой странный для многих выбор обусловлен тем, что я люблю Python и люблю Android, а ещё люблю делать необычное (ну хорошо, не самое обычное). В качестве фреймворка был выбран Kivy — факти...
Пользователи винят AirPods в головных болях AirPods — один из немногих продуктов Apple, практически не подвергаемый критике в течение всего срока своего присутствия на рынке. В основном все претензии к наушникам ограничивались отсутствием шумоизоляции и форм-фактором, не располагающим к использованию спортсмен...
[recovery mode] Как написать одностраничное приложение (SPA) с использованием Vue.js Одностраничные приложения (SPA) имеют мнжество преимуществ, таких как скорость, по-настоящему хороший UX, и полный контроль HTML-разметки. Становится всё больше и больше сайтов SPA; всё больше инструментов, которые упрощают процесс разработки SPA. Вы, вероятно уже читали о...
Слишком много букв: как эмодзи заменили текст Разработчики приложения для знакомств Badoo провели опрос среди своих пользователей, чтобы выяснить, как часто современные молодые люди используют при написании сообщений смайлики. Разработчики сервиса решили провести собственное независимое исследование, чтобы понят...
Операционная система Astra Linux заработала на процессорах «Эльбрус» В ходе первого этапа работ достигнуты все поставленные цели: успешно осуществляется процесс сборки операционной системы с использованием отечественного компилятора для платформы Эльбрус.
Развитие цифровой экономики привлекает мошенников 6 февраля 2018 года в Москве, на площадке Digital October состоялся форум по кибербезопасности - Cyber Security Forum 2018, организованный РАЭК и РОЦИТ.В рамках CSF 2018 эксперты презентовали тренды в области кибербезопасности по итогам 2017 года.“Тема киберпреступлен...
Тайное не спешит становиться явным Компания Malwerebytes опубликовала отчет The State of Malicious Cryptomining, посвященный одной из главных проблем кибербезопасности последнего времени - криптоджекингу. Этим новым термином принято называть тайное использование вычислительных мощностей пользовательских ...
Разработчики не понимают, что делать с Siri дальше Несмотря на все усилия Apple голосовой ассистент Siri пока проигрывает большинству конкурентов. Причем если верить ресурсу The Information, то в Купертино не могут решить в каком направлении дальше развивать помощника. В Apple даже рассматривают возможность создания новой Si...
[Перевод] Кодинг без клавиатуры: создание игры hands-free Dig Dog — это забавная маленькая видеоигра. Можно назвать её "Spelunky для детей", и не стоит считать это сомнительным комплиментом. Dig Dog, недавно выпущенная для iOS, Xbox, Windows и Mac, отказалась от некоторых сложных элементов жанра, имеет плавное управление и обладает...
Apple анонсировала выход iOS 11.4 В этом году пользователей устройств под управлением iOS ждет как минимум еще одно значимое обновление, не считая долгожданного iOS 11.3. Им станет апдейт за номером 11.4, релиз которого ориентировочно состоится ближе к лету. Это следует из материалов раздела для разработчи...
[Перевод] Сравнение Draft, Gitkube, Helm, Ksonnet, Metaparticle и Skaffold В последнее время Kubernetes пользуется большой популярностью, и разработчики ищут дополнительные способы и методы для развёртывания приложений в кластере этой системы. Даже командная строка kubectl стала восприниматься как инструмент низкого уровня, при этом пользователи п...
Supox B250A-BTC D+ — системная плата для майнеров, располагающая восемью слотами PCIe x16 О компании Epox многие сейчас даже и не вспомнят. Системные платы этого производителя были достаточно популярны более 10 лет назад, но потом компания прекратила своё существование, а часть её сотрудников создала новую компанию под названием Supox. Как стало известно, ...
[recovery mode] DM.Мобильная Торговля: какие задачки решали наши Android разработчики в новом релизе и зачем Представители e-commerce уже «в теме», что нужно автоматизировать своих курьеров по ФЗ-54. Чтобы не попасть под штрафные санкции, курьер должен печатать чек в момент вручения заказа. Но если уж приходится автоматизировать операцию приема платежей, которая требует установле...
[Перевод] Перевод книги «Социальная архитектура»: Торговые марки для open source проектов Торговые марки. Что они такое, нужны ли они вам и сколько это стоит? Эти вопросы часто возникают при построении open source проекта. Торговые марки могут быть ключом, который защитит проект от недобросовестных людей. Хотя тут мало что советовать. Поэтому вот мой гид по испол...
[Перевод] 20 модулей для Node.js, о которых полезно знать Филип Акерман, автор статьи, перевод которой мы сегодня публикуем, говорит, что в последние годы платформа Node.js становится всё популярнее и популярнее. Она часто используется для создания серверных частей веб-приложений, а также для решения других задач, возникающих в про...
Дайджест IT-новостей (26.02 – 04.03.2018): ОС Astra Linux заработала на процессорах Эльбрус В ходе первого этапа работ достигнуты поставленные цели: успешно осуществляется процесс сборки ОС с использованием отечественного компилятора для платформы Эльбрус, проведена серия успешных запусков операционной системы «Astra Linux Special Edition», в том числе графического...
Google выпустила первую бета-версию Flutter для кросс-платформенной разработки приложений Сегодня компания Google объявила о выпуске первой бета-версии инструмента Flutter, с помощью которого разработчики смогут создавать кросс-платформенные приложения для Android и iOS с общей кодовой базой. В каком-то смысле это действительно конкурент Microsoft Xamarin. Для р...
История ES6-модулей Владислав Власов, инженер-программист в Developer Soft и преподаватель курса Нетологии, специально для блога написал цикл статей о EcmaScript6. В первой части на примерах рассмотрели динамический анализ кода в EcmaScript с помощью Iroh.js, во второй сосредоточились на реализ...
Обзор Wi-Fi Mesh системы ASUS Lyra (MAP-AC2200) Wi-Fi устройства для конечных потребителей развиваются в первую очередь в направлении увеличения максимальных скоростей подключения и передачи данных. С одной стороны, это делает использование Wi-Fi более комфортным даже для «тяжелых» клиентов, с другой — такой подход не реш...
Выпуск#10: ITренировка — актуальные вопросы и задачи от ведущих компаний Ставшая уже традиционной, новая подборка вопросов и задач от SpiceIT. Среди отобранных задач — вопросы и алогоритмические задачи, задаваемые соискателям на должность разработчика в Samsung. Предлагаем Вам попробовать решить их самостоятельно и оценить, готовы ли Вы подав...
Советы по созданию приложений к окончанию набора в Школу мобильной разработки Яндекса Уже очень скоро завершится набор в Школу мобильной разработки, которая традиционно пройдет в Москве. Упор в ней будет сделан на практические занятия — командные мини-хакатоны, в которых помимо написания кода нужно будет принимать решения, разбираться с возникшими спорными во...
Распознавание речи на python с помощью pocketsphinx или как я пытался сделать голосового ассистента Это туториал по использованию библиотеки pocketsphinx на Python. Надеюсь он поможет вам побыстрее разобраться с этой библиотекой и не наступать на мои грабли. Читать дальше →
Методы расширения для типов стандартной библиотеки .NET Наверное, почти каждый .NET-разработчик сталкивался со случаями, когда для удобства кодирования рутинных действий и сокращения boilerplate-кода при работе со стандартными типами данных не хватает возможностей стандартной же библиотеки. И практически в каждом проекте появляют...
[Перевод] Побег из ада async/await Совсем недавно конструкция async/await в JavaScript выглядела как отличное средство для избавления от ада коллбэков. Однако неосмотрительное использование async/await привело к появлению нового ада. Читать дальше →
Специалист по разметке данных Сегодня замечательный день (if you know what I mean), чтобы анонсировать нашу новую программу — Специалист по разметке данных. На текущий момент в сфере искусственного интеллекта сложилась такая ситуация, при которой для обучения сильной нейронной сети нужны несколько компо...
Виталик Бутерин: предложение ограничить эмиссию Ethereum было первоапрельской мета-шуткой Сооснователь Ethereum Виталик Бутерин заявил в понедельник, 2 апреля, что появившаяся накануне запись с предложением ограничить эмиссию монет в сети была первоапрельской шуткой. В то же время он назвал ее «мета-шуткой», целью которой было увидеть, посчитает ли сообщество так...
[Из песочницы] Bitcoin и Ethereum: что происходит на узлах, которые не занимаются добычей, и что с ними будет дальше? Введение В последнее время довольно часто говорят о перспективах блокчейн систем, о том, что в будущем блокчейн заменит классические платёжные системы, такие как, например, Visa или Mastercard, а затем, возможно, коренным образом изменит и юриспруденцию благодаря возможност...
Hitman добавили в программу обратной совместимости Xbox One Компания Microsoft постепенно расширяет библиотеку игр с обратной совместимостью для Xbox One. То есть, если у вас есть Xbox 360 и там вы купили классную игру, то теперь на новой консоли можно будет пройти её заново, если её обновили. Разработчики не только разрешение подним...
«Мы задумывали игру, которая будет постоянно расти»: Rare ответила на критику Sea of Thieves О недостатке контента в пиратском экшене Sea of Thieves игроки заговорили с начала его бета-тестирования, и даже после релиза финальной версии подобные претензии продолжают звучать. Журналисты портала IGN обратились за комментариями к исполнительному продюсеру ...
[Перевод] Ответы на распространённые вопросы о шаблоне render prop Кент С. Доддс, автор материала, перевод которого мы публикуем сегодня, говорит, что недавно группа программистов, с которыми он должен был провести тренинг по React, заинтересовалась шаблоном «render props», который ещё называют шаблоном «функция как потомок» (в разных публи...
Русские атаковали Instagram гения Хидэо Кодзимы Известный японский геймдизайнер Хидэо Кодзима, автор серии игр Metal Gear, спустя много лет, наконец-то, зарегистрировался в Instagram. Как ни странно первыми или одними из первых об этом написали российские развлекательные СМИ. И результат расторопности коллег получился вес...
Мобильное приложение на Python c kivy/buildozer. Лекция в Яндексе Не факт, что вам потребуется написать серьёзное приложение на Python. А вот быстро собрать работающий сервис, чтобы «продать» его заказчику, — почему нет? Python универсален, и опыт создания мобильного софта на этом языке может оказаться полезным. Владислав Шашков из Сбербан...
Flight Sim Labs жестко расправляется с пиратами Компания-разработчик ПО Flight Sim Labs оказалась в центре скандала, после того как признала, что в ее продукт встроена программа — сборщик паролей для браузера Google Chrome. Представители производителя уверяют, что таким способом они борются с пиратами, но критики все равн...
Google в России заблокирован Роскомнадзором? К сожалению, оперативно следить за актуальной информацией и дезинформацией получается все труднее. Интернет уже давно не устроен по принципу один ресурс — один IP, один сервис — одна проверка. На сегодняшний день поступает большой поток жалоб, что не работают Google заклад...
[Перевод] Создание игры на Lua и LÖVE — 3 Оглавление Статья 1 Часть 1. Игровой цикл Часть 2. Библиотеки Часть 3. Комнаты и области Часть 4. Упражнения Статья 2 Часть 5. Основы игры Часть 6. Основы класса Player Статья 3 Часть 7. Параметры и атаки игрока Часть 8. Враги 9. Director and Gameplay Loop 10. Coding ...
А у нас будет настоящий космонавт! На Imagine Cup 2018 Дорогие друзья! Согласитесь, время студенчества — один из самых безумных моментов в жизни каждого из нас. Именно тогда мы встречаем самых верных друзей, верим в невероятные идеи и уверены, что стать вторым Биллом Гейтсом — раз плюнуть. Каждый год мы поддерживаем все эти идеи...
[Из песочницы] Теневой бан и с чем его едят Многим из разработчиков игр reddit.com известен, как хорошее средство для рекламирования их игры, но не многие знают, что современный reddit, а так же некоторые другие сайты могут сыграть с ними довольно злую шутку, которая в конце концов выливается в массу потерянного време...
3D-печатный бутылкорез, который работает Про полезность в быту ПЭТ-ленты рассказывать нет смысла. Адвокат Егоров это наглядно показал и доказал полезность бутылкорезов. Конструкция его варианта этого изделия великолепна, но не идеальна. В связи с этим появляется множество вариаций. В том числе с использованием 3D-п...
[Из песочницы] Научное программирование: часть 1 Наука в программировании — быль или реальность? Сколько её в языках и почему идут холивары о приемуществах одних языков над другими? Если интересно — прошу под кат. Читать дальше →
Какую диаграмму использовать? С приходом технологий в каждый дом, появлением новых каналов для рекламы, программатика и прочих умных штук, позволяющих захватить внимание людей, растёт и количество данных, которые приходится анализировать маркетологам. Мы решили напомнить вам про один из наших замечательн...
Pre-sale инженер — личный психолог сейла или человек на границе денег и техники Одной из довольно интересных вакансий на рынке труда в сфере IT является должность pre-sale инженера (к сожалению часто пишут pre-sale менеджера). И очень часто по отношению к данной профессии можно услышать вопрос: «Что входит в круг обязанностей данного специалиста?». Да...
«Какой вы президент?»: Ксению Собчак высмеяли за критику агитролика и Путина Кандидат в президенты Ксения Собчак в своем микроблоге открыто посмеялась над видеороликом, который был создан, как агитационный материал перед выборами президента России. Девушка считает это видео «омерзительным и унижающим права секс-меньшинств». Также она высказалась, что...
В России создадут новый объектно-ориентированный язык программирования Программа «Цифровая экономика», написанная по распоряжению Президента России Владимира Путина, предполагает проведение исследований и разработок в области промышленного интернета. Изначально планируется создание «Платформы промышленного интернета вещей», которая должна...
[Из песочницы] Android Support Library 28. Что нового? По давней традиции вместе с новой версией Android выходит обновление Support Library. Пока библиотека вышла в стадии альфа, но список изменений уже намного интереснее, чем такой же список у Android P. Google несправедливо мало рассказал и написал об основных нововведениях ...
[Из песочницы] Ученье — свет, или как организовать мастер-класс за 2 дня Обучение новых пользователей и разработчиков служит одним из основных инструментов популяризации своего продукта или технологии. Наша компания несколько месяцев назад начала приоткрывать «завесу» над своей технологией и привлекать новых разработчиков к платформе, на которо...
Разработчики теперь могут создавать игры для macOS и iOS на графическом API Vulkan Открытый графический API Vulkan от Khronos Group, разработчика OpenGL, доступен на Windows, Linux, Android, Nintendo Switch и различных облачных системах, но его не поддерживает ни одна платформа Apple. macOS работает со старым и медленным графическим интерфейсом Op...
Айфончик, не лагай. Часть 1: многопоточность для практиков Меня зовут Максим, и я алкоголик занимаюсь iOS разработкой уже более 7 лет. На волне про соискателей скажу, что регулярно провожу собеседования мобильных разработчиков для компаний. Среди кандидатов попадаются кадры, которые курят кальян прямо на Skype собеседовании, п...
Razer Phone оказался единственным смартфоном с поддержкой Quick Charge 4 Одной из главных фишек прошлогоднего процессора Snapdragon 835 стала поддержка быстрой зарядки Quick Charge 4.0. На деле оказалось, что большинство флагманов поддерживают Quick Charge третьего поколения. Сегодня Qualcomm опубликовала список моделей, поддерживающих Quick Char...
Обучение программированию на Python За 25 лет развития Python показал себя как язык-универсал: на нем пишут бизнес-приложения и веб-сервисы. Основной код игр World of Tanks, Battlefield 2 и Civilization 4 написан на Питоне. Intel, Cisco и HP используют его, что...
Пользовательские агрегатные и оконные функции в PostgreSQL и Oracle В этой статье мы посмотрим, как в двух системах создавать пользовательские агрегатные и оконные (в терминологии Oracle — аналитические) функции. Несмотря на различия в синтаксисе и в целом в подходе к расширяемости, механизм этих функций очень похож. Но и различия тоже имею...
Как придумать идеи для патентов Необходимость патентования изобретений для бизнеса освещена чуть ли не в каждой второй статье об интеллектуальной собственности. Но что же делать, когда необходимо защитить продукт компании, а при разговоре с разработчиками ответы один содержательнее другого: «я просто улуч...
Microsoft обеспечила полную поддержку вариативных шрифтов в Edge В Windows 10 Build 17074 компания Microsoft начала поддерживать расширения CSS для OpenType Font Variations. Эта технология вариативных шрифтов позволяет одному шрифтовому файлу вести себя как бесконечное множество начертаний. Новая инсайдерская сборка Windows 10 под номеро...
Cisco, Samsung и Intel лидируют по числу патентов в сфере IoT в США Аналитики VDC Research собрали данные по числу патентов и заявок на патенты, имеющих отношение к Интернету вещей, в США за 9 лет, с 2009 по 2017 годы. Лидером списка стала Cisco, подавшая 200 заявок, в которых упоминалось использование IoT. За ней следуют Samsung (151) и ...
Apple начала удалять приложения из-за эмодзи Если вы разработчик приложения и разместите в скриншотах App Store логотип Apple или другие изображения, принадлежащие компании из Купертино, вашу программу удалят из магазина. Однако недавно правила изменились в сторону ужесточения, и число запрещенных к использованию объ...
Системная плата MSI H310-F Pro для добычи криптовалют поддерживает процессоры Intel Coffee Lake MSI Источник опубликовал изображения системной платы MSI H310-F Pro с процессорным гнездом LGA1151, поддерживающей процессоры Intel Coffee Lake. Плата предназначена для систем, используемых для добычи криптовалют. На это указывает наличие 12 слотов PCIe x1. Есть и оди...
[Из песочницы] Из Балтийского моря в Индийский океан Рассказ пойдет о том, как началось мое путешествие с острова Котлин на остров Джаву. Все началось с того, что ревизия программного обеспечения в организации, в которой я имею честь работать, показало наличие разнообразного софта для всяких нужд, и как вариант, мне предложил...
Если у вас нет собаки… Если вашему бизнесу необходим BDD с живой документацией на русском, нет выделенной позиции тестировщика, либо уровень его знаний недостаточен для самостоятельной автоматизации и важно обеспечение единого стека технологий между scrum-командами, то вам безусловно необходимо хо...
С чего начинается качественная стратегия и для чего она нужна в управлении продуктом? Управление продуктом становится важнейшей частью функционирования большинства компаний. Однако для некоторых стартапов и даже крупных команд процесс управления продуктом остается не до конца понятным явлением. Процесс управления продуктом состоит из нескольких этапов, где ...
Храните данные в облаке Привет, Хабр! Сегодня речь пойдет о сервисах синхронизации и обмена файлами и объектные облачных хранилищах. Облачные хранилища, представленные такими сервисами как SkyDrive или Dropbox, хорошо знакомы пользователям мобильных устройств и компьютеров. В последние годы они поя...
Способ управления цветовыми схемами приложения под iOS Даже для самого что ни на есть начинающего разработчика (скорее, на которого и рассчитан данный очерк), надеюсь, не секрет, что в коде не должно присутствовать никаких т.н. «hardcoded»-значений и прочих всяких там «magic numbers». Почему – тоже, надеюсь, понятно, а если нет,...
[Из песочницы] Операция «Ы» и новая библиотека ABI Рад приветствовать тебя, дорогой читатель! В данной статье пойдет речь о новой библиотеке «ABI Model Pattern». Наверное, было бы логично предоставить какой-то пример, чтобы показать все возможности этой библиотеки, но вот и нетушки… Сейчас я опишу только достаточный минимум...
The Metrix has you… Для многих разработчиков процесс релиза их продукта похож на выбрасывание слепого котёнка в пасти диких псов. После этого главная задача авторов — отбиваться от случайно долетевших до них багов. На самом деле, приложение не заканчивает свой жизненный путь в зубах пользовател...
Новое приложение для Youtube умеет менять задний фон на видео В Google начали тестировать новую функцию для Youtube, позволяющую заменить задний фон на видео так же просто, как, например, выбрать фильтр к фотографии в Instagram. Приложение, созданое с применением алгоритма искусственного интеллекта, способно делать это «на лету&...
Сообщество встало на защиту ICANNWiki Корпорация ICANN продолжает изыскивать возможности сокращения бюджетных расходов. Эта необходимость вызвана снижением темпов роста доменного пространства, а также финансовыми результатами новых общих доменов верхнего уровня, которые в целом оказались далеки от ожидаемых....
Патчи Drupal закрыли несколько серьезных уязвимостей Свежие обновления исправили несколько серьезных ошибок в популярной системе управления контентом (CMS) с открытым кодом Drupal. Апдейты коснулись версий 7.х и 8.х. Разработчики Drupal используют систему ранжирования ошибок Национального института стандартов и технологий США,...
Обзор IT-Weekly (09.04 – 15.04.2018) DataLine запускает объектное хранилище данных, совместимое с Amazon S3
Выпуск#15: ITренировка — актуальные вопросы и задачи от ведущих компаний На этой неделе мы отобрали вопросы и задачи, встречающиеся соискателям на собеседованиях на должность инженера-разработчика в Ebay. При устройстве на работу в Ebay Вам могут задать не только вопросы технического характера, но и логические задачи. Ниже приведены некоторые ...
Интересные факты о Python или «С днем рождения, Python!» Всем привет! Сегодня 20 февраля, а это означает, что сегодня день появления на свет языка программирования Python! Сегодня Python исполняется 27 лет. За эти года, Python стал одним из самых популярных языков программирования в мире. Что же, пожелаю дальнейшего развития и п...
Разработка приложений Flutter Google находится на стадии бета-тестирования Google анонсировала официальную бета-версию инфраструктуры разработки своего фреймворка Flutter. Есть много методов для создания приложений, в основном по двум простым причинам: разработка собственных приложений с использованием официальных инструментов вызывает некую тревог...
[Перевод] Как компания Atlassian построила бизнес стоимостью 10 млрд долларов. Часть 2 Продолжаем рассказывать историю Atlassian. 1 часть вы можете прочитать тут. 2015 год — настоящее время: расширение на прибыльные конкурентные рынки Для многих SaaS-компаний сегодняшний бизнес Atlassian выглядит как «конечная цель»: вырасти в огромную работающую на мировом...
Как оптимизировать DevOps с помощью машинного обучения Популярная сегодня методология разработки программного обеспечения DevOps (development и operations) нацелена на активное взаимодействие и интеграцию специалистов по разработке и специалистов по информационно-технологическому обслуживанию. Характерно, что в ходе DevOps генер...
Компания AR Avegant уволила генерального директора и больше половины сотрудников Компания по разработке «смешанной реальности» Avegant в последние недели уволила значительную часть своих сотрудников, а также заменила генерального директора одним из основателей компании. В прошлом месяце количество сотрудников Avegant сократилось до 20 человек, а те кто о...
Анонс Windows 10 Insider Preview Build 17650 (Skip Ahead) Доброе утро, друзья! Компания Microsoft продолжает работу над следующим крупным обновлением для Windows 10, разрабатываемым под кодовым названием Redstone 5. Сегодня инсайдерам на канале Skip Ahead стала доступна новая сборка системы под номером 17650, так что не забудьте п...
Шлюз безопасности «Граница»: три в одном Принципиально важная особенность комплекса в том, что все задачи решаются с использованием сертифицированных в России средств и российских криптографических алгоритмов, соответствующих требованиям ГОСТов.
[Из песочницы] Минимизируем код React Redux приложения Мне хотелось поделиться собственными размышлениями и способом построения структуры приложения с использованием react-redux. Так как я относительно недавно стал писать код на JS и поэтому не претендую на истину и на действительно верный способ разработки. Надеюсь эта статья п...
Python, Delphi и C++ глазами учёного Статья про использование Python в научных вычислениях подтолкнула меня написать эту статью. Это история, случившаяся со мной и с коллегами 6 лет назад. На тот момент я уже достаточно подразобрался с Delphi и Python, но только теперь я ощущаю что достаточно поработал с C/C++,...
О кодерах, программистах и инженерах-программистах На этот пост меня натолкнули недавние статьи на Хабре "Кто такой программист?" и "Почему Python так хорош в научных вычислениях". Читая комментарии к ним, я неоднократно натыкался на рассуждения с разделением разработчиков на «кодеров», «программистов» и «инженеров-программ...
Анимации в Android по полочкам (Часть 1. Базовые анимации) Всем привет! Сегодня я хочу немного рассказать про анимацию в Android. Думаю для всех достаточно очевидный факт, что анимации могут украсить наше приложение. Но я считаю, что они могут намного больше. Первое это — хорошие анимации даже при скромной графике могут вывести наш...
[Из песочницы] Надоевшая почта или как отправлять сообщения с сайта в Telegram через Node.js (Express) После нескольких писем, отправленных с сайта себе на почту, понял что это достаточно неудобно, не современно (возможно), как минимум не прикольно. Задался целью отказаться от использования smtp для формы в пользу api Телеграма. Так как мое приложение работает на ноде, поду...
[Из песочницы] Система вызова смарт-контрактов в блокчейне Ethereum Задача Часто разработчики смарт контрактов под Ethereum сталкиваются с, казалось бы, простой проблемой — вызов кода смарт-контракта в будущем или по расписанию. Но подходящего решения нет, и приходится разрабатывать отдельный сервис для вызова контрактов. Разрабатывая конт...
Искусственный интеллект стал обучаться в 10 раз быстрее и эффективнее Подразделение компании Google, занимающееся разработками искусственного интеллекта, сообщило о создании нового метода обучения нейронных сетей, сочетающего использование передовых алгоритмов и старых видеоигр. В качестве среды обучения используются старые видеоигры Atari. ...
Не Dagger'ом едины В последнее время многим программистам очень понравилась библиотека для реализации внедрения зависимостей Dagger2. Хотя, как мне кажется, из-за неочевидной работы под капотом и большим семейством аннотаций Dagger долго заходил в комьюнити. И так получается что сейчас куда не...
На что жалуются (и чем довольны) первые владельцы HomePod В пятницу стартовали официальные продажи HomePod, и те, кому посчастливилось стать обладателем беспроводной колонки от Apple, уже успели поделиться своими впечатлениями. Позиция пользователей в большинстве случаев оказалась схожей, хотя обнаружились и неожиданные недостатк...
SAS с помощью алгоритмов машинного обучения составила список самых удобных городов Земли Компания SAS составила список самых удобных для жизни городов планеты, сформированный с помощью алгоритмов машинного обучения с учетом большого количества критериев. На первой строчке разместился Западный Перт – один из районов четвертого по величине города Австралии. В н...
Google представила на MWC 2018 проект Flutter для разработчиков мобильных приложений Отличная новость для разработчиков мобильных приложений: на выставке MWC 2018 компания Google анонсировала бета-версию Flutter – это новый фреймворк, который помогает разработчикам в создании высококачественного графического интерфейса приложений сразу для двух наиболе...
Стандартная защита от криптошифраторов в ОС Windows – хватит ли ее? Неосмотрительность пользователей персональных компьютеров и ноутбуков часто приводит к тому, что они полагаются на встроенные разработчиками ОС Виндовс меры защиты. Безусловно, учитывая прогресс прошедших лет, компания Майкрософт существенно усовершенствовала встроенные меха...
[Перевод] Современный PHP без фреймворков У меня есть для вас непростое задание. Когда в следующий раз начнёте новый проект, постарайтесь обойтись без PHP-фреймворка. Я не собираюсь перечислять недостатки фреймворков, и это не проявление синдрома неприятия чужой разработки: в этом руководстве мы будем использовать ...
Обзор Bayonetta 1 & 2 – Лучшее время ознакомиться с классикой Игры серии Bayonetta известны многим. Даже если вы в них не играли, вы наверняка слышали о возмутительной одноимённой героине, одним взмахом волос отправляющей демонов обратно в преисподнюю. Возможно, вы читали где-то о том, что создатель легендарных Devil May Cry Хидэки Кам...
В российской армии могут запретить пользоваться смартфонами Российская армия готова отказаться от смартфонов. Об этом пишет газета «Коммерсантъ» со ссылкой на источники, близкие к Генштабу ВС РФ. Такие меры необходимы для того, чтобы избегать различного рода утечек информации. По имеющимся данным, Минобороны РФ рассматривает во...
Логирование в Adaptivist ScriptRunner В этой статье я хотел бы поговорить о логировании в Adaptivist ScriptRunner. Логи являются основным инструментом разработчиков и экспулатирующего персонала для анализа нештатных ситуаций в промышленной среде. Поэтому при разработке приложения мы должны подумать о том, что на...
[Перевод] Ричард Хэмминг: Глава 1. Ориентация «Цель этого курса — подготовить вас к вашему техническому будущему.» Привет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2265 в закладки, 353k прочтений)? Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, н...
Шлем виртуальной реальности HTC Vive Focus выйдет за пределы Китая Компания HTC объявила о планируемом выходе в международном масштабе шлема виртуальной реальности Vive Focus. Это первый автономный шлем HTC, он стал доступен в Китае в декабре 2017 года, а до конца 2018 года выйдет за его пределы. На данный момент разработчики могут оставить...
Chromium: использование недостоверных данных Предлагаем вашему вниманию цикл статей, посвященных рекомендациям по написанию качественного кода на примере ошибок, найденных в проекте Chromium. Это пятая часть, которая будет посвящена ошибкам использования непроверенных или неправильно проверенных данных. Очень большое к...
Silicon Mitus SM5516 — самая маленькая микросхема eMarker с поддержкой PD 3.0 Компания Silicon Mitus представила микросхему SM5516, реализующую функцию eMarker. Такие микросхемы используются в кабелях с разъемами USB-C, когда необходимо обеспечить нагрузочную способность более 3 А или передачу сигналов USB 3.1 Gen1 или USB 3.1 Gen2. В пассивном к...
[Из песочницы] Как мы разработали технологию обнаружения устройств поблизости Эта история началась с функции “Рядом” в одном из наших мобильных приложений. Мы хотели, чтобы пользователи могли быстро создать групповой чат или добавить находящихся рядом пользователей в друзья. Мы попробовали решить эту задачу при помощи геолокации, Bluetooth, Wi-Fi и ...
Что такое PAT? Лабораторная работа в Packet Tracer Введение PAT (Port Address Translation) — технология трансляции адресов с использованием портов. Данная технология решает проблему доставки возвратных пакетов. Так как количество белых IP ограничено нам необходимо экономить эти адреса. Помня об этом, была создана технология ...
[Перевод] Веб-воркеры в JavaScript: безопасный параллелизм Веб-воркеры дают программисту инструмент для выполнения JavaScript-кода за пределами главного потока, который отвечает за то, что происходит в браузере. Этот поток обрабатывает запросы на вывод данных на экран, он поддерживает взаимодействие с пользователем, воспринимая, в ч...
Обнаружены новые образцы шпионского софта разработчика Hacking Team Hacking Team получила известность, реализуя шпионское ПО правоохранительным органам и спецслужбам. Remote Control System (RCS), флагманский продукт компании, позволяет скачивать файлы с инфицированного компьютера, перехватывать письма и сообщения, удаленно управлять веб-каме...
Android P. Больше Bluetooth-аудиодевайсов одновременно После уже рассмотренного ранее недавнего выхода первой ознакомительной версии ОС Android P все, что касается новой программной платформы, приобрело особую актуальность. Начали появляться сообщения о ее новых функциях. Одна из них позволит одновременно подключать больше Blue...
[Из песочницы] Сверточная нейронная сеть, часть 1: структура, топология, функции активации и обучающее множество Предисловие Данная статья является частью моей научной работы в ВУЗе, которая звучала так: «Программный комплекс детектирования лиц в видеопотоке с использованием сверточной нейронной сети». Цель работы была — улучшение скоростных характеристик в процессе детектирования лиц ...
Что такое GraphQL и как использовать его в Android Мы все работали с REST API, используя их с первых дней в разработке. Но по мере того, как запросы усложнялись, а сами данные расли, такие API стали все более дорогими как по времени выполнения, так и по потребляемым ресурсам. Требовался фреймворк или слой, который мог бы сде...
Старый баг Firefox, обнаруженный ещё 9 лет назад, позволяет воровать пароли Популярный браузер Firefox на протяжении 9 лет использовал устаревшую схему сохранения паролей, которая может быть взломана с помощью современных графических адаптеров менее, чем за минуту. Firefox и Thunderbird позволяют пользователям устанавливать мастер-пароль для д...
«Календарь тестировщика». Разбери бэклог В Контуре работают 100 тестировщиков. В конце прошлого года они придумали «Календарь тестировщика» — цикл из 12 ежемесячных статей с практиками, секретами и лайфхаками о тестировании. Первая статья была опубликована в январе на сайте «Сообщества тестировщиков Екатеринбурга»...
Архитектура приложения на Akili framework Приветствую! Сегодня хотел бы разобрать пример реализации архитектуры сайта на фреймворке Akili. В данной статье речь пойдет не столько о системе компонентов, как о полноценной реализации приложения, с использованием роутинга, ajax запросов, хранилища и т.д. прямо из коробк...
Microsoft добавит поддержку Progressive Web Apps в Windows 10 Стало известно, что компания Microsoft планирует добавить поддержку Progressive Web Apps в ОС Windows 10 и браузер Microsoft Edge. С приходом обновления Redstone 4, релиз которого запланирован на следующий месяц, пользователи смогут опробовать функциональность «продвинутых в...
Средства веб-аналитики позволяют шпионить через Chrome Преступники стали встраивать шпионские скрипты в расширения Chrome, чтобы воровать персональную информацию. ИБ-эксперты обнаружили около 100 зловредных плагинов, которые записывают имена пользователей, электронные адреса, номера телефонов, данные кредитных карт, включая CVV....
LG поможет молодым компаниям, желающим использовать webOS Компания LG Electronics решила сделать операционную систему webOS «еще более доступной для сегодняшних потребителей и отрасли». В связи с этим подписан меморандум о взаимопонимании с государственным органом National IT Industry Promotion Agency (NIPA), отвечающим в Южно...
Краткая история Rust: от хобби до самого популярного ЯП по данным StackOverflow Rust — это язык системного программирования, создатели которого уделили внимание трем вещам: параллелизму, скорости и безопасности. И хотя Rust считается молодым языком программирования — его первая стабильная версия вышла в 2015 году — он разрабатывается уже более десяти ле...
Выпуск#16: ITренировка — актуальные вопросы и задачи от ведущих компаний Публикуем очередную подборку задач и вопросов с собеседований в крупных IT-компаниях (для тех, кому мало задач из предыдущего сета :) Ниже приведены вопросы и задачи для соискателей в Google, с различным уровнем сложности. Набор получился с лингвистическим уклоном, но зна...
РОЦИТ и Facebook стали стратегическими партнерами В рамках совместной деятельности РОЦИТ и Facebook будут развивать совместные инициативы: разрабатывать правила, инструменты и ресурсы для защиты российских пользователей социальной сети от киберугроз.Ключевая задача РОЦИТ, как одного из крупнейших пользовательских сообществ ...
Джентльменский набор в области маркетинга и продаж компании-разработчика заказного ПО В первой статье мы рассказали про наш первый опыт в маркетинге и продажах. В этой статье мы расскажем, почему маркетингом и продажами нужно заниматься самим, даже если вы всю жизнь изучали математику и программирование, а не полагаться на «гуру» с рынка, и какие минимальные ...
Двоично-троичная битовая магия Существует классическая задача для собеседований, часто формулируемая следующим образом: Имеется массив натуральных чисел. Каждое из чисел присутствует в массиве ровно два раза, и только одно из чисел не имеет пары. Необходимо предложить алгоритм, который за минимальное числ...
Интенсив по основам Python Язык входит в пятерку самых используемых на GitHub, а Python-сообщество насчитывает десятки тысяч энтузиастов по всему миру. Многие трудоемкие задачи решены в виде библиотек и фреймворков. Вам остается интегрировать готовый код с свой проек...
[Из песочницы] Удивительно простой обмен сообщениями с Spring Cloud Stream Привет, Хабр! Представляю вашему вниманию перевод статьи "Surprisingly simple messaging with Spring Cloud Stream" автора Richard Seroter. Существует множество вариантов взаимодействия микросервисов. Вы можете использовать обнаружение сервисов (Service Discovery, н...
Борьба за плавность отображения в системе видеонаблюдения: найти рывки и обезвредить Закономерно, что с развитием продукта повышается и внимание к его качеству. Причем не только по части функционирования, но и в отношении пользовательской эстетики. Несколько лет и версий назад мы столкнулись с недостаточным качеством отображения видео в Macroscop. Присутств...
Анимации в Android по полочкам (Часть 2. Комплексные анимации) Часть 1. Базовые анимации Часть 2. Комплексные анимации Часть 3. Ещё больше анимаций Часть 4. Анимации переходов Приведённые в предыдущей части инструменты были относительно низкоуровневыми и в Android есть куда более простые способы добиться красивых анимаций не прибегая к...
[Перевод] Эксперименты с AR: когда C# встречается с CSS Часто при работе над проектом самые большие технические сложности возникают тогда, когда меньше всего этого ожидаешь. В моём случае это произошло, когда я работала с Google Creative Lab над прототипом эксперимента по переносу песни Грейс Вандервол Moonlight в дополненную ре...
Docker-образы с поддержкой ГОСТ-сертификатов в openssl, curl, php, nginx В этой статье я расскажу о том, как я решал задачу об интеграции в тестовом режиме с сервисами, которые работают с использованием алгоритмов, определенных ГОСТ Р 34.10-2001 (устарел) и ГОСТ Р 34.10-2012. Приведу примеры некоторых проблем, с которыми столкнулся при решении за...
SvelteJS: Релиз второй версии Буквально вчера вышла 2-я версия молодого, но весьма многообещающего фреймворка SvelteJS. Версия мажорная, а значит содержит не только новые фичи и исправленные баги, но и соответствующие «breaking changes». Что новенького предлагает разработчикам новая версия и почему Svelt...
[Из песочницы] Обобщаем анимацию таблиц в iOS приложениях Пользователи хотят видеть изменения Анимированное обновление списков всегда было непростой задачей в iOS. Что неприятно, это всегда было рутинной задачей. Приложения крупных компаний, таких как Facebook, Twitter, Instagram, VK, используют таблицы. Более того, почти каждое...
Оценка человеческого капитала ИТ-компании с использованием критериев SFIA Что является главным ресурсом любой компании? Согласно современным представлениям — это, конечно, люди. Да, очень часто это могут быть лишь формальные заявления, профанация — человек превыше всего, ориентация на персонал, люди наше всё и так далее. Безусловно, все очень си...
Работа будущего: насколько интересней станут рабочие места? Кто не читал в заголовках: роботы грядут и отнимут у нас рабочие места? На самом деле, до 45% рабочих задач, выполняемых в настоящее время работниками разного рода, могут быть автоматизированы с использованием уже имеющихся технологий. А какие появятся в будущем? Тем не ме...
Splunk – Установка агентов для сбора логов Windows и Linux Нам часто задают вопросы о том, как загрузить различные данные в Splunk. Одними из самых распространенных источников, представляющих интерес, оказались логи Windows и Linux, которые позволяют отслеживать неполадки операционных систем и управлять ими. Загружая данные в Splunk...
[Из песочницы] Новый облегчённый язык разметки текста на основе парных кавычек (pq) Я не могу объяснить, откуда пришла идея такого языка разметки, но то, что получилось в итоге — весьма… занятно. Не слишком-то рассчитываю на широкое практическое применение этой штуки, но некоторые идеи, использованные в этом языке разметки, вполне могут дать пищу для размы...
Массивы, указатели и другие квантовые явления вокруг нас Не хочу говорить, что мы все живем в матрице, но для имитации соседей подозрительно используется один и тот же звук катающегося шара. Этот пост полностью соответсвует своему названию. Для начала в нем будет показано, что вопреки утверждению стандарта, а также классиков язы...
Sawtooth: новая модульная платформа для корпоративного блокчейна Сообщество Hyperledger, поддерживаемое Linux Foundation и развивающее технологии блокчейна для корпоративного применения, представило свою вторую модульную платформу. Сообщество Hyperledger, поддерживаемое Linux Foundation, представило Sawtooth 1.0 – модульную п...
Уязвимости вашего приложения Актуальны ли ещё угрозы XSS? Прошло около 20 лет с тех пор, как Cross Site Scripting (XSS) появился как вид атаки. С тех пор мы получили богатый опыт и знания, защита наших сайтов стала намного сложнее, а многочисленные фреймворки были призваны оберегать нас от ошибок. Но по...
[Перевод] Html-sketchapp — залог единства программистов и дизайнеров Марк Далглейш, руководитель подразделения, занимающегося разработкой дизайн-систем в компании SEEK, говорит, что если взглянуть на любую команду, которая использует дизайн-систему, можно обнаружить, что у такого подхода имеются совершенно очевидные преимущества. Заключаются ...
Как быстро сбросить пароль iPhone или iPad Многие пользователи iPhone и iPad, как правило, хоть раз да забывали пароль от своего устройства. Зачастую это касается старых гаджетов, которые не использовались долгое время. Для подобных случаев разработчики создали специальное приложение для macOS и Windows, которое по...
Как собрать GSM телефон на базе SDR Ни для кого не секрет, что в уже привычных для большинства из нас смартфонах кроме основного процессора существует отдельный модуль связи, благодаря которому смартфон все еще остается телефоном. Вне зависимости от основной операционной системы, будь то Android или iOS, дан...
[Из песочницы] Приложение Vue.js + Asp.NETCore + TypeScript без Webpack Создаем на Visual Studio 2017 модульное приложение Vue.js + Asp.NETCore + TypeScript без использования Webpack или Broserify. Причем сначала делаем проект с использованием Webpack, а потом без него. Чтобы прочувствовать, от какого счастья мы отказываемся. Материал рассчита...
Знакомство с гео-библиотекой S2 от Google и примеры использования Привет, Хабр! Меня зовут Марко, я работаю в Badoo в команде «Платформа». Не так давно на GopherCon Russia 2018 я рассказывал, как работать с координатами. Для тех, кто не любит смотреть видео (и всех интересующихся, конечно), публикую текстовый вариант своего доклада. Вв...
Почему приложения на iOS «падают» чаще, чем на Android? Почти год назад компания Blancco Technology Group написала в своем отчете, где анализируются диагностические сведения с мобильных устройств, что приложения на iPhone «падают» почти в три раза чаще, чем на Android. Этого хватило для того, чтобы в СМИ появились громкие загол...
UX-кинотеатр – Эмоции. Чувства. Интервью Перед нами стоит задача улучшать продукты банка с учетом пользовательского опыта. Можно решить эту задачу, протестировав всё приложение, и написать отчёт на несколько сотен страниц с рекомендациями по исправлению. По времени эта работа займёт где-то 3-4 месяца (кошмар, Agi...
[Перевод] Эффективное использование памяти при параллельных операциях ввода-вывода в Python Существует два класса задач где нам может потребоваться параллельная обработка: операции ввода-вывода и задачи активно использующие ЦП, такие как обработка изображений. Python позволяет реализовать несколько подходов к параллельной обработке данных. Рассмотрим их применитель...
DroneGun Tactical – портативная винтовка против дронов DroneShield – известная компания, занимающаяся разработкой различных технологий направленных на защиту от беспилотных летательных аппаратов. Как шутят разработчики компании: “Единственное, что растет быстрее количества дронов в мире, это количество людей, мечтающ...
[Из песочницы] Геолокация внутри помещений на базе iBeacon. Решение Aruba Meridian Геолокация внутри помещений на основе BLE маячков (BLE beacons) в момент своего появления на рынке привлекла много внимания, в том числе и здесь, на Хабре. Было написано достаточно много хороших статей (на материал которых я буду периодически ссылаться), однако по мере накоп...
[Из песочницы] Наследование, композиция, агрегация Нередко случается, что решив разобраться с какой-то новой темой, понятием, инструментом программирования, я читаю одну за другой статьи на различных сайтах в интернете. И, если тема сложная, то эти статьи могут не на шаг не приблизить меня к понимаю. И вдруг встречается стат...
Новая версия Android получит поддержку выреза для фронтальной камеры в безрамочных смартфонах По данным источников, одна из главных целей разработчиков Android P заключается в том, чтобы улучшить дизайн системы, сделав ее более привлекательной для нынешних пользователей iPhone.
От Amazon EC2 до Mail.ru Infra: Тестируем облачные VPS (Linux) С большой тройкой облачных провайдеров — Amazon, Google и Microsoft с недавних пор конкурируют и отечественные компании, хотя весомых игроков на нашем рынке немного. В основном это относительно небольшие проекты, традиционные хостеры (включая крупных) и/или операторы коммерч...
Dcoder — мобильный IDE для программистов Программирование становится все популярнее, и данную отрасль можно считать основой будущего. Поэтому все чаще можно встретить людей, которые решили заняться программированием. И для таких читателей мы подготовили обзор приложения Dcoder. Данное приложение поддерживает боле...
В Far Cry 5 воссоздали легендарную карту из Counter-Strike Поклонники Far Cry 5 продолжают открывать всё новые и новые стороны творения Ubisoft. У пятой части популярного шутера дела явно идут хорошо: критики уже называют её если не главной игрой компании, [...]
[Перевод] Ричард Хэмминг: Глава 5. История компьютеров — практическое применение «Цель этого курса — подготовить вас к вашему техническому будущему.» Привет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2365 в закладки, 360k прочтений)? Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, н...
[Перевод] Отчаянный поиск квадрокруга Поиск таинственной математики, на которой основана фигура в iOS Это история о том, как один инженер Figma искал идеальный ответ на программистскую задачу. В знаменитом интервью 1972 года Чарльз Имз кратко ответил на несколько фундаментальных вопросов о природе дизайна. ...
В Telegram обнаружили уязвимость нулевого дня Уязвимость заключалась в использовании так называемой атаки right-to-left override (RLO). RLO - особый непечатный символ кодировки Unicode, который зеркально отражает направление расположенных далее знаков. Обычно он используется при работе с языками, в которых текст идет сп...
Android Auto научился работать без проводов Согласно обновлённой странице поддержки Android Auto, сервис обзавёлся технологией беспроводного подключения Android Auto Wireless. Пока Android Auto Wireless работает лишь с узким кругом устройств, разработанных вместе с Google: Pixel, Pixel XL, Pixel 2, Pixel 2 XL, Nexus 6...
Язык жестов объединяет людей и животных Ученые обнаружили, что обезьяны видов шимпанзе и бонобо могут общаться на одном языке жестов. Схожие жесты используют и люди. Ученые уже знали, что шимпанзе и бонобо имеют около 90% схожих жестов (по сравнению с примерно 80% для шимпанзе и орангутанов и 60% для шимпанзе и г...
[Перевод] Обучение с подкреплением никогда не работало TL;DR: Обучение с подкреплением (RL) всегда было сложным. Не волнуйтесь, если стандартные техники глубинного обучения не срабатывают. В статье Алекса Ирпана хорошо изложены многие современные проблемы глубинного RL. Но большинство из них не новые — они существовали всегда. ...
Материнская плата для рабочих станций Asus WS X299 Sage на чипсете Intel X299: 7 слотов PCIe x16 и поддержка VROC-массивов в трех зонах Asus WS X299 Sage — плата под процессоры Intel Core-X (Skylake-X, Kaby Lake-X) для рабочих станций. Главной особенностью платы является наличие семи слотов PCI Express x16, которые могут работать одновременно в режиме x16/x8/x8/x8/x8/x8/x8. Конечно, все слоты будут доступны ...
NASA может лишиться одной из важнейших для науки исследовательских миссий За последнее время мы не раз слышали о том, что изменения в бюджете аэрокосмического агентства NASA, а также смена курса в выборе приоритетных задач может повлиять на дальнейшие проекты этого ведомства. И кажется, первые результаты этого уже начинают проявляться. Во-первых...
Windows 10 April Update и проблемы при обновлении Похоже, что April Update – это действительно официальное название нового обновления, в браузере Edge пользователи сборки 17134 обнаружили на главной надпись April Update. Страницу можно перевести на русских язык в настройках MSN и здесь нас встречает уже апрельское обновлени...
Facebook встала в защиту платформы Messenger Kids от критиков Дэвид Маркус, вице-президент Facebook Messaging Products, ответил на критику в адрес Messenger Kids во время выступления на саммите Upfront в Лос-Анджелесе. По его словам, основная идея состоит в том, чтобы помочь младшим братьям и сёстрам присоединиться к групповым...
[Перевод] Иллюстрированное руководство по устройству сети в Kubernetes Прим. перев.: Автор статьи — Amanpreet Singh — называет себя «всё ещё начинающим в мире сетей», однако именно это и побудило его разобраться в их базовом устройстве в Kubernetes (который он использует в production), а затем — поделиться с сообществом очень доступным материал...
В США провели испытания нового энергетического оружия В Оклахоме (США) провели испытания нового энергетического оружия, которое сочетает в себе высокоэнергетические лазерные (HEL) системы и СВЧ-лучи Raytheon. Беспилотники и минометы, являются серьезной опасностью на поле боя. С появлением новых технологий, создающих все более с...
Нативная валидация как фреймворк. Лекция в Яндексе Разработка форм — один из самых ответственных и сложных этапов создания веб-интерфейсов. Проект должен получить пользовательские данные, проверить их и дать пользователю обратную связь. Современные браузеры предоставляют разработчику встроенный API, позволяющий поэтапно реал...
Windows 10 в новом режиме перестанет экономить энергию Чем труднее задача — тем больше на ее выполнение требуется энергии. Но современные компьютерные устройства, являясь очень мощными, также зачастую работают от батареи. И возникает необходимость экономить энергию. Речь идет в основном о ноутбуках, планшетах и смартфона...
Swift Package Manager Вместе с релизом в open source языка Swift 3 декабря 2015 года Apple представила децентрализованный менеджер зависимостей Swift Package Manager. К публичной версии приложили руку небезызвестные Max Howell, создатель Homebrew, и Matt Thompson, написавший AFNetworking. Swift...
Вторая часть сравнения python и tcl В предыдущей статье была описана реализация задачи сбора данных о звонках с АТС, включающее в себя получение, разбор данных и добавление в БД. Решение данной задачи представлено на двух языках программирования — python и tcl. И вот, как и обещал, представляю код (на двух язы...
Пять тенденций искусственного интеллекта О машинном обучении, глубинном обучении и искусственном интеллекте сегодня говорят все. В 2018 году в области искусственного интеллекта будут доминировать пять основных тенденций. 2017 год ознаменовался стремительным развитием технологий машинного обучения и внедрением их...
Сложности и ограничения DevOps На наших учебных курсах и семинарах по DevOps мы время от времени проводим упражнение, в котором участники, работая в командах, стараются составить список сложностей и ограничений, присущих DevOps. Пункты списка должны быть обоснованы, точка зрения аргументирована. Наиболее ...
AMD в этом году добавит поддержку PlayReady 3.0 в GPU Polaris и Vega Новые процессоры AMD Ryzen 5 2400G и Ryzen 3 2200G демонстрируют отличные возможности интегрированной графики. По сути, эти чипы делают бессмысленными видеокарты стоимостью до $100. Но помимо игр задача интегрированной графики — воспроизводить потоковые видеом...
Tesla обвиняют в фальсификации статистики о производственном травматизме Ссылаясь на отчет, опубликованный Reveal, источник утверждает, что компания Tesla занижает данные о производственных травмах на предприятии по выпуску электромобилей, расположенном в Калифорнии. В течение нескольких лет показатели травматизма на заводе были выше, чем в ...
Как обойти ограничение доступа к Whois? В связи с грядущим введением в странах ЕС новых законов о защите персональных данных, которые, по мнению многих, могут привести к ограничению доступа пользователей к данным Whois, регистраторы стали искать способы обойти это ограничение.Так, DENIC, администратор национальной...
Dropbox рассчитывает привлечь до 500 млн долларов за счет первичного размещения акций Компания Dropbox, предоставляющая сервис совместного доступа к данным, подала заявку на первичное размещение акций. Она рассчитывает привлечь до 500 млн долларов. Уточним, что суммы, которые в таких случаях указываются в заявках, являются не более чем формальностью и мо...
Встречаем Windows Machine Learning — WinML Искусственный интеллект и машинное обучение — две хайповые тенденции последних лет. Необходимые для AI&ML объемы вычислений обычно выполняются в ЦОДах на специальном высокопроизводительном и энергоэффективном оборудовании (например, серверах с TPU). Эволюция циклична, и ...
[Перевод] Мышление в стиле Ramda: первые шаги Недавно я познакомился с замечательной серией статей "Thinking in Ramda", которые проясняют на простых и ясных примерах способы написания кода в функциональном стиле с использованием библиотеки Ramda. Эти статьи показались мне настолько прекрасными, что я не смог удержаться ...
Как стать GPU-инженером за час Нужно ли iOS-разработчику, не занимающемуся играми, уметь работать с GPU? Нужно ли ему вообще знать о том, что в айфоне есть GPU? Многие успешно работают в iOS-разработке, никогда не задумываясь об этой теме. Но GPU может быть полезен как для 3D-графики, так и для других зад...
Новые видео дополненной реальности в iOS 11.3 Обновление iOS 11.3 стало доступно разработчикам и публичным тестерам на прошлой неделе. Одно из главных нововведений операционной системы коснулось технологии ARKit: она получила версию 1.5, которая еще лучше справляется с функциями дополненной реальности. Мы уже показыва...
Появились изображения системных плат Gigabyte B360M DS3H и B360N WiFi Источник опубликовал изображения системных плат Gigabyte B360M DS3H и B360N WiFi. Как легко понять по названиям моделей, обе построены на чипсете Intel B360. Модель B360M DS3H типоразмера micro-ATX оснащена четырьмя слотами для модулей памяти DDR4 DIMM. На плате есть ...
Научиться перехватывать необработанные сообщения или пример того, как SObjectizer обрастает новыми фичами… Нам очень приятно, когда в SObjectizer добавляются новые возможности, возникшие в результате подсказок и/или пожеланий пользователей SObjectizer-а. Хотя далеко не всегда это оказывается просто. Ведь, с одной стороны, у нас, как у команды разработчиков и старых пользователей ...
Мобильное приложение от Google научит кодировать на JavaScript Компания Google выпустила приложение Grasshopper в рамках проекта Area 120, позволяющее выучить основы программирования на языке JavaScript с помощью бесплатных коротких уроков. Обучение в новом сервисе представлено в игровой форме, из-за чего программа напоминает самый попу...
Resolve IP адресов в Linux: понятное и детальное описание Настройка сетевого взаимодействия сервисов не самая простая задача и часто осуществляется без глубокого понимания как требуется настраивать систему и какие настройки на что влияют. После миграции сервисов в docker контейнерах с centos 6 на centos 7 я столкнулся со странным п...
[Перевод] От JavaScript к Rust и обратно: рассказ о wasm-bindgen Мы уже видели насколько WebAssembly быстро компилируется, ускоряет js библиотеки и генерирует более компактные бинарники. У нас даже есть общее представление как наладить взаимодействие не только между сообществами Rust и JavaScript, но и с сообществами других языков. В про...
Bethesda назвала дату пресс-конференции на E3 2018 Игровая компания Bethesda официально назвала дату своей пресс-конференции на выставке Е3 2018 — 10 июня. Выставка проходит в Лос-Анджелесе, так что если вы решите посмотреть её в прямом эфире, то нужно будет проснуться очень рано — в 4 утра по Московскому времени. Для фанато...
Изменения в стандартной библиотеке Java 10 Недавно состоялся релиз-кандидат Java 10, и на Хабре вышла статья, где перечислены JEP'ы, вошедшие в новый релиз. Однако не все изменения в Java получают свой JEP. В частности, небольшие дополнения стандартной библиотеки практически всегда происходят без JEP'ов. При этом час...
Парочка неочевидных граблей при использовании веб-шрифтов Недавно в продукте, в разработке которого я принимаю участие, решили использовать более современный шрифт. При осуществлении этой казалось бы простой для современного веба задачи была поймана пара интересных и неочевидных граблей, о которых хотелось бы рассказать КПДВ, он...
WSTester – JS библиотека для тестирования веб-сервисов с ВебСокетами Добрый день, Хабрасообщество! Как и большинству айтишников, мне нравится создавать что-то новое, классное, нечто способное как-то повлиять на мир или хотя бы принести небольшую пользу другим людям. Надеюсь, что описываемый далее инструмент для тестирования онлайн систем с Ве...
Вам действительно нужен Redux? Не так давно React позиционировал себя как "V in MVC". После этого коммита маркетинговый текст изменился, но суть осталась той же: React отвечает за отображение, разработчик — за все остальное, то есть, говоря в терминах MVC, за Model и Controller. Одним из решений для упра...
Что предпринимают компании для защиты конфиденциальных данных в облаках Корпорация Oracle и KPMG провели глобальный опрос 450 ИТ-специалистов. Его результаты показывают, что организации всеми силами пытаются защитить свои данные на фоне растущего числа нарушений безопасности. Согласно результатам отчета Oracle и KPMG "Cloud Threat Report, 2...
Новшество беты iOS 11.3, которое никто не заметил Вчера вечером разработчики получили возможность потестировать вторую бета-версию iOS 11.3, главной особенностью которой стало появление возможности контролировать производительность iPhone, чтобы влиять на износ батареи смартфона. Однако это не единственное важное новшеств...
Инвестиции в «стабильную монету» Basis выросли до $133 млн на фоне критики экспертов Проект Basecoin, буквально на днях сменив название на Basis, объявил об увеличении привлеченных средств до $133 млн, однако предлагаемая его создателями модель уже подверглась жесткой критике со стороны экспертов. В эту сумму входят средства в размере $125 млн, о которых ста...
[Из песочницы] Пишем Telegram-бота на Go для поиска в Википедии Содержание Создаем бота Пишем код Разворачиваем бота Заключение Сейчас очень популярен телеграм и написание ботов для него стало неким hello world наших дней, ввиду чего при мысли о том что можно написать сейчас, многие сразу же думают о написании телеграм бота. Будучи студ...
Цифровая трансформация телекома, или Как операторы «идут» в ИТ Традиционные телекоммуникационные операторы, включая сотовые компании, попали в очень неприятную ситуацию: доходы практически не растут, а трафик стремительно увеличивается. Эти «ножницы» могут существенно «порезать» их прибыль и даже поставить под угрозу существование на ры...
Мега-Учебник Flask, Часть XIII: I18n и L10n (издание 2018) Miguel Grinberg Туда Сюда Это тринадцатая часть серии Мега-Учебник Flask, в которой я расскажу вам, как реализовать поддержку нескольких языков для вашего приложения. В рамках этой работы вы также узнаете о создании собственных расширений CLI для flask. Для справки ниже ...
Что такое EVPN/VXLAN В этой статье я расскажу — что такое EVPN/VXLAN и почему особенности этой технологии кажутся мне привлекательными для применения в ЦОД. Я не буду глубоко погружать вас в технические детали, а остановлюсь на них лишь в той мере, в которой это необходимо для знакомства с техно...
MediaTek выпускает Helio P60: 12-нм техпроцесс и искусственный интеллект Компания MediaTek официально выпустила новый чипсет среднего уровня Helio P60. А одной из его главных особенностей стало использование 12-нм техпроцесса TSMC, который заметно энергоэффективнее 14-нм техпроцесса, применяемого в большинстве средних SoC, включая и Snapdragon 66...
Toyoda Gosei построит завод, выпускающий топливные баки для электромобилей Электромобилям в последнее время уделяется большое внимание. При этом в большинстве случаев речь идет о транспортных средствах на электромоторах, которые работают от аккумуляторов. Такая схема неизбежно связана с необходимостью зарядки аккумуляторов, для которой требует...
В Parallels Toolbox 1.5 для Windows появились новые инструменты Компания Parallels объявила о расширении набора универсальных утилит Parallels Toolbox для Windows-пользователей. Подробнее об этом читайте на THG.ru.
Удостоверяющий Центр на базе OpenSSL, SQLite3 и Tcl/Tk Если прогуляться по просторам Хабрахабра, то можно найти различные публикации на тему создания цифровых сертификатов, организации Центров сертификации (ЦС) или даже Удостоверяющих Центров (УЦ) на базе OpenSSL. В основном эти статьи в той или иной мере полноты описывают испо...
DDD на практике Эванс написал хорошую книжку с хорошими идеями. Но этим идеям не хватает методологической основы. Опытным разработчикам и архитекторам на интуитивном уровне понятно, что надо быть как можно ближе к предметной области заказчика, что с заказчиком надо разговаривать. Но не поня...
Дивный новый мир: почему объектное хранилище — идеальная платформа в век Интернета вещей Чтобы быть готовыми к вызовам, которые несут с собой большие данные и IoT, предприятиям следует обратить взор на альтернативный подход на основе объектного хранения данных. Объемы данных растут с невероятной скоростью. Облачные хранилища, аналитические инструменты для обр...
Блокчейн: возможности, структура, ЭЦП и задание для студента, часть 1 Предисловие Работаю ассистентом в вузе (как хобби), решил написать несколько лабораторных для студентов по дисциплине «распределенные системы». В первой части будет рассказано про возможности, структуру и ЭЦП, а во второй части про: проверку подписи, майнинг и примерную орга...
[Перевод] Современный CSS для динозавров — Двигать пиксели в CSS и так было трудно! А теперь мне говорят, насколько круто использовать несемантические названия классов, встроенные стили в HTML и даже писать стили CSS на JavaScript! [Вставь тут гифку из «Гриффинов»] — Ха! Иллюстрации из Dinosaur Comics Райана Норта...
FCA отзывает более 228 000 пикапов бренда Ram Американо-итальянский концерн Fiat-Chrysler сообщает о том, что в странах Северной Америки будет начата масштабная отзывная кампания, которая затронет более 228 000 пикапов бренда Ram. Отмечается, что причиной старта отзыва стала некорректная работа стояночного тормоза. Н...
Musicolet 3.5.11 Musicolet — музыкальный плеер с необычными функциями. Разработчики данного плеера сконцентрировались только на функциональности приложения, оснастив его всем, чем только можно. Создатели даже придумали уникальные возможности, наиболее заметная из которых — создание нескольки...
Как вовремя заметить DDOS: сценарий использования сервиса мониторинга для раннего обнаружения Первый шаг в борьбе с DDOS-ом — заметить его. Особенно важно узнать о нем на ранних стадиях, когда он еще не развернулся на полную мощность, ибо тогда даже для администратора доступ к серверу может быть значительно затруднен. Ниже предлагается несколько способов раннего обна...
BenQ TK800 - новый 4K HDR проектор для спортивных болельщиков начнет продаваться в России уже в апреле При выборе проектора может оказаться совсем не лишним знание ответа на каверзный вопрос - почему "спортивных" телевизоров не бывает, а специальные проекторы для болельщиков существуют? К определению "специально для спортивных болельщиков" в описаниях товаров относя...
«Лаборатория Касперского» обнаружила уязвимость в Telegram Специалисты «Лаборатории Касперского» обнаружили случаи использования уязвимости в приложении Telegram для Windows. Согласно данным экспертов, брешь эксплуатировалась как минимум с марта 2017 года. «Лаборатория Касперского» уведомила разработчиков Telegram о проблеме, и на с...
Информационная архитектура и технология DITA. По мотивам лекции в Яндексе Darwin Information Typing Architecture (DITA) — XML-технология для автоматизации процессов, связанных с технической документацией. За время существования DITA накопилось большое количество разнообразных возможностей, подходов к организации контента, а также конкретных механи...
Never Fail Twice, или как построить мониторинговую систему с нуля У нас было 2 виртуальные машины, 75 сайтов, десятки тысяч машин для мониторинга, тысячи метрик, две базы данных и одна очередь ActiveMQ, Python и целое множество библиотек всех сортов и расцветок, pandas, а также numpy, dash, flask, SQL Alchemy. Не то чтобы это был необходим...
Дата-центр в миниатюре Желание оптимизировать расходы на построение ЦОД и быстрее ввести его в эксплуатацию, получить адаптируемую и расширяемую инфраструктуру в период так называемой цифровой трансформации, привело к росту популярности модульных инфраструктурных решений. Одно из направлений в эво...
Ещё один инструмент для проверки ваших npm зависимостей — wtfwith Вы как-нибудь задумывались, сколько версий одной и той же библиотеки затягивает ваша клиентская или серверная сборка? Мне вот в какой-то момент стало интересно. Навскидку найти для этого готовый инструмент не получилось, а смотреть глазами package-lock слишком утомительно. К...
R — значит регрессия Статистика в последнее время получила мощную PR поддержку со стороны более новых и шумных дисциплин — Машинного Обучения и Больших Данных. Тем, кто стремится оседлать эту волну необходимо подружится с уравнениями регрессии. Желательно при этом не только усвоить 2-3 приемчика...
Задействовать для простых тестов наследование, полиморфизм и шаблоны? Почему бы и нет… Язык C++ сложен. Но его сложность проистекает из сложности задач, которые решаются с помощью C++. Каждая фича, которая была добавлена в C++, была добавлена не просто так, а для того, чтобы дать возможность справиться к какой-то проблемой. Ну а уж сочетание существующих в C++...
Разработка изоморфного RealWorld приложения с SSR и Progressive Enhancement. Часть 2 — Hello World В предыдущей части туториала мы узнали что такое проект RealWorld, определились целями туториала, выбрали стек технологий и написали простой веб-сервер на Express в качестве основы для изоморфного фронтенда. В этой части, мы допилим серверную часть и напишем изоморфный «Hel...
[Перевод] Руководство для практикующего специалиста, как читать научные статьи по языкам программирования Неделю назад я пошутил, что статьи по принципам языков программирования POPL должны соответствовать критерию «интеллектуального запугивания», чтобы их принимали для публикации. Конечно, это неправда, но факт в том, что статьи по языкам программирования выглядят особенно устр...
[Перевод] JavaScript ES6: оператор расширения JavaScript постоянно развивается, в нём появляются различные новшества и улучшения. Одно из таких новшеств, появившееся в ES6 — оператор расширения. Он выглядит как троеточие (...). Этот оператор позволяет разделять итерируемые объекты там, где ожидается либо полное отсутств...
[Перевод] Алан Кей и Марвин Мински: Computer Science уже имеет «грамматику». Нужна «литература» Первый слева — Марвин Мински, второй слева — Алан Кей, потом Джон Перри Барлоу и Глория Мински. Вопрос: Как бы вы интерпретировали идею Марвина Мински о том, что «Computer Science уже имеет грамматику. Что ей нужно так это литература.»? Алан Кей: Самый интересный аспект ...
Cambridge Analytica планировала выпустить собственную криптовалюту Компания Cambridge Analytica, ставшая объектом активной критики после скандала с утечкой данных пользователей Facebook, планировала провести первичное размещение токенов (ICO) и привлечь таким образом $30 млн. По данным Reuters, компания консультировалась по поводу организац...
[Перевод] Элегантные паттерны современного JavaScript: RORO Автор материала, перевод которого мы публикуем сегодня, Билл Соро, говорит, что написал первые строки кода на JavaScript вскоре после появления этого языка. По его словам, если тогда ему сказали бы, что однажды он выпустит серию статей об элегантных шаблонах проектирования в...
Crash Bandicoot, Undertale, South Park, Smash Bros. и другие новости с последней презентации Nintendo Сегодня ночью прошла очередная презентация Nintendo – Nintendo Direct. На ней компания показала плеяду новых релизов на консоли 3DS и Switch. Подтвердились многие слухи, появились новые детали и даже были показаны неожиданные сюрпризы. Плеяда новых тайтлов на Switch Первым...
Расширение и использование Linux Crypto API [0] Интро Криптографический API в Linux введён с версии 2.5.45 ядра. С тех пор Crypto API оброс всеми популярными (и не только) международными стандартами: симметричного шифрования: AES, Blowfish, ... хэширования: SHA1/256/512, MD5, ... имитозащиты: hMAC-SHA1/256/512, hMAC-...
Пишем плагин для Unity правильно. Часть 1: iOS Когда делаешь на Unity игры для мобильных платформ, рано или поздно придется писать часть функционала на нативном языке платформы, будь то iOS (Objective C или Swift) или Android (Java, Kotlin). Это может быть свой код или интеграция сторонней библиотеки, сама установка мо...
Яндекс.Алгоритм 2018: оптимизационный трек и ML-задача от разработчиков Алисы Сегодня мы открываем регистрацию на международный конкурс по программированию Яндекс.Алгоритм. В этом году мы решили не только запуститься раньше, но и добавили два новых трека: оптимизационный и трек по машинному обучению. Каждый участник может выбрать, в каких треках участ...
3D-напечатанная защитная маска: детям больше не страшна пыль! Ввиду плохой экологии и загрязненного воздуха сегодня печатаются специальные фильтрующие и защитные маски. Большинство из них предназначаются для взрослых. Детских моделей не так уж много, поэтому 3D-дизайнер Бартломей Гачорек занялся выпуском масок для малышей. Задачи и ме...
Установка Facebook image recognition package. Все грабли в одном месте Недавно Facebook выпустила свой open-source-проект по распознаванию образов. Конечно же, его сразу захотелось пощупать, посмотреть, как он работает и что с его помощью можно получить. Мы решили разобраться с его установкой и опытным путём проверить, так ли легко его использо...
Графику Kingdom Come: Deliverance занизили после бета-теста Kingdom Come: Deliverance называли лучшей игрой года, пророчили славу «Скайрима» и восхищались качеством графики. Во время бета-теста пользователи отметили, что виртуальный мир действительно очень красочный и яркий, особенно порадовала работа со светом. На тот момент никто н...
congatec купила компанию RTS Основанная в 2006 году, компания RTS является ведущим поставщиком программного обеспечения гипервизора для приложений, работающих в режиме реального времени, предназначенных для ранка встраиваемой электроники."Стратегия компании congatec заключается в том, чтобы упрости...
[Из песочницы] Руководство инструктора к книге «Программирование: Принципы и практика с использованием C++» Привет, Хабр! Представляю вашему вниманию перевод статьи "Instructor’s Guide for Programming" автора Бьярне Страуструпа (дата последнего посещения: 20.12.2017). От переводчика Бьярн Страуструп известен как разработчик языка программирования C++. Книги его авторства...
«Не влезай, убьет!» или вся правда о безопасности АСУ ТП. Часть 2 Где-то благодаря самостоятельной инициативе организации, где-то – вследствие активных действий государства в части регулирования вопросов защиты АСУ ТП и в целом критических инфраструктур РФ, в большинстве компаний на текущий момент запущен, по крайней мере, один из процессо...
«Конечно, это рискованно, но с должными мерами предосторожности использовать можно»: Крис Талингер о Graal «Жить на Гавайях, работать над суперпопулярным сервисом, внедрить в продакшне экспериментальную Java-технологию, на которую все ещё только с опаской поглядывают» — звучит как описание выдуманной идеальной Java-карьеры, о которой можно только мечтать. Но есть человек, для ...
[Перевод] Создание игры на Lua и LÖVE — 1 Введение В этой серии туториалов мы рассмотрим создание завершённой игры с помощью Lua и LÖVE. Туториал предназначен для программистов, имеющих некоторый опыт, но только начинающих осваивать разработку игр, или для разработчиков игр, уже имевших опыт работы с другими языкам...
Учебный фреймворк на Java по глубокому обучению Недавно мы выпустили первую версию нового фреймворка по глубокому обучению DeepJava (DJ) 0.01. Основная цель фреймворка, по крайней мере, на текущий момент, чисто учебная. Мы строим шаг за шагом фреймворк, у которого: будет понятная кодовая база будет набор бранчей, по кото...
Раздача статического контента — счет на милисекунды 8 лет назад я написал статью про ускорение раздачи статического контента, некоторым хабрачитателям она приглянулась и долгое время оставалась актуальной. И вот мы решили ускорять то, что и так работает быстро и, заодно, поделиться опытом того, что получилось в итоге. Кон...
Стоимость мобильной рабочей станции HP ZBook 15V стартует с отметки $950 Мобильные рабочие станции — устройства недешевые: часто их стоимость даже превышает стоимость аналогично оснащенных игровых ноутбуков. Но иногда производители делают попытки выпустить относительно недорогие решения, как это случилось с HP ZBook 15V. Целевой аудито...
Мой опыт использования Google AdWords Express Несколько месяцев назад вернулся к оказанию IT-услуг в своём небольшом городе. Дабы громко заявить о себе первый раз решил попробовать контекстную рекламу в Интернете. Так как в нашей стране Яндекс и все его сервисы заблокированы, то выбор пал на корпорацию Google и его серв...
MediaTek Helio P60 представлен на выставке MWC 2018 Тайваньский чипмейкер MediaTek в последнее время не отличается особой популярностью у производителей смартфонов. Считается, что их процессоры безнадежно отстали от конкурентов, но Helio P60 имеет все шансы изменить положение дел. Конечно, не может быть и речи об использ...
Три аспекта оптимизации (БД и ПО) Предисловие Довольно часто пользователи, разработчики, администраторы и т д СУБД MS SQL Server встречаются с проблемами производительности БД или СУБД в целом. В данной статье будут даны общие рекомендации по настройке оптимизации как БД, так и всей СУБД в целом. Также буду...
Thunkable X – бесплатная браузерная среда разработки мобильных приложений под iOS и Android IDE Thunkable X работает на платформе Thunkable, которая ранее развивалась в качестве альтернативы MIT App Inventor. В настоящее время платформа предлагает две функционально отличающиеся и независимые среды разработки – оригинальную для разработки под Android, совместимую ...
Пространство состояний в задачах проектирования систем оптимального управления Введение Исследование системы управления во временной области с помощью переменных состояния широко используется в последнее время благодаря простоте проведения анализа. Состоянию системы соответствует точка в определённом евклидовом пространстве, а поведение системы во в...
#Ускорение4X. Адвокат дьявола Сегодня рассмотрим конкретный прием, который, при честном применении, может решить задачу ускорения до 4X, и дальнейшие статьи можно будет не читать. Этот прием называется «Адвокат дьявола», и цель его применения в нашем случае — снижение сопротивления людей. Сопротивление ...
[Перевод] Как решить 90% задач NLP: пошаговое руководство по обработке естественного языка Неважно, кто вы — зарекомендовавшая себя компания, или же только собираетесь запустить свой первый сервис — вы всегда можете использовать текстовые данные для того, чтобы проверить ваш продукт, усовершенствовать его и расширить его функциональность. Обработкой естественног...
Паттерны внедрения зависимостей. Часть 1 Давайте разберемся с внедрением зависимостей в .Net, так как данная тема является одним из обязательных к изучению для написания качественного, гибкого к изменениям и тестируемого кода. Начнем мы с самих необходимых и базовых паттернов внедрения зависимостей — внедрение чере...
Почему Швеция отказывается от идеи полного перехода на безналичные платежи Изображение: Pexels Банк HSBC в своем недавнем отчете назвал переход на безналичные средства платежа одним из главных трендов текущего года наряду с развитием технологии блокчейна. Во многих странах эта тенденция видна уже сейчас — существуют даже рейтинги стран, в которы...
В watchOS 5 Apple может отказаться от поддержки старых приложений В начале апреля компания Apple дала разработчикам возможность познакомиться с первой тестовой сборкой watchOS 4.3.1. Заметных изменений и новых функций прошивка с собой не принесла. Однако через некоторое время разработчики обнаружили в системе ряд предупреждающих уведомлени...
Книга «Чистая архитектура. Искусство разработки программного обеспечения» «Идеальный программист» и «Чистый код» — легендарные бестселлеры Роберта Мартина — рассказывают, как достичь высот профессионализма. «Чистая архитектура» продолжает эту тему, но не предлагает несколько вариантов в стиле «решай сам», а объясняет, что именно следует делать, п...
[Из песочницы] Истинная реализация нейросети с нуля. Часть 2. Распознавание цифр Dispute about eternal Сердечно приветствую всех Хабравчан! С момента выхода первой части "Истинной реализации" (рекомендую ознакомиться) прошло достаточно много времени. Как внятных обучающих статей не было, так и нет, поэтому я решил подарить Вам возможность узна...
Эксперты: Как государство поддерживает халтуру в отечественном кино В российском национальном кино сложилась сложная и неоднозначная ситуация, часто называемая кинохалтурой. Специалисты попытались разобраться в ситуации. Глава Минкульта Владимир Мединский который год пытается навязывать свое мнение отечественным кинотеатрам, которые не стр...
Новые iPhone 2018 лишатся самого главного недостатка iPhone X Смартфон iPhone X является прекрасным во всех отношениях, однако у него есть один существенный минус, который огорчает многих. Это так называемая «монобровь», представляющая из себя вырез в верхней части экрана для различных датчиков, в том
[Из песочницы] Научиться программировать становится сложнее Привет, Хабр! Представляю вашему вниманию перевод статьи Аллена Б. Дауни, автора таких книг как Think Python, Think Java, Think Bayes и других, опубликованной в личном блоге автора. Я написал несколько книг, в которых c использованием языка программирования Python объясняют...
Google учит нейросеть предсказывать смерть человека Современная медицина нацелена на то, чтобы предотвратить и предвидеть развитие серьезных жизнеугрожающих заболеваний. Однако сил и знаний человека зачастую оказывается недостаточно для того, чтобы предсказать те или иные осложнения. На помощь врачам в будущем может прийти ...
[Перевод] Чему робототехника может научить игровой ИИ Я исследователь-робототехник и в то же время моё хобби — разработка игр. Моя специализация — планирование многомерного движения манипуляторов роботов. Планирование движения — это очень важная тема для разработчиков игр, она пригождается каждый раз, когда нужно переместить у...
Демонстрационный игровой режим – один из критериев выбора онлайн казино Не секрет, что онлайн казино это сложный проект для большинства новичков, которые только решили начать в нем зарабатывать. Если не учитывать тонкости, то вы легко проиграете все свои деньги. Первое на что нужно обращать внимание – это выбор заведения. Не все из пре...
[Из песочницы] Настройка Sublime Text 3 для работы с VHDL файлами Работа с VHDL в Sublime Text 3 Редактор Sublime Text существенно экономит время при работе с vhdl и verilog файлами. Для тех, кто не работал с редакторами типа Sublime Text, Notepad++ и т.п. опишу основные полезные функции данных редакторов: множественное выделение/редакти...
[Перевод] Полный перевод книги про построение сообществ: «Социальная архитектура» «Это эссенция тридцатилетнего опыты разработки программного обеспечения.» Приветствую, Хабр. Хочу представить лучшую (единственную) книгу по построению сообществ, написанную тру ИТишником. Для себя я нашел применимые инструменты для анализа сообщества/организованности «на ...
Проектируем насосную станцию пожаротушения В конце октября, разговаривая с руководством, получаю задание: «Нужен цикл статей о практическом применении программ nanoCAD ВК и Отопление. Задача поставлена, иди пиши». В раздумьях не заметил, как дошел до своего рабочего места. Проектов, по которым можно написать статью...
Как выбрать качественный вейп без риска для здоровья Несмотря на то, что в сети активно распространяются ресурсы, на которых предлагают приобрести различные вейпы по доступным ценам, имеет смысл все же обратиться к проверенным магазинам, которые поставляют самые надежные модели, не имеющие никакого негативного эффекта на здоро...
Анатомическая метафора кода. Где у кода мускулы Размышлял как-то о коде, программировании и всём таком; бродили всякие мысли. А что если взять, например, и заставить двух разработчиков написать несложные программы по одному ТЗ. Программисты одинакового уровня. Пишут независимо друг от друга. Код у них, естественно, получи...
Прощай, Android Pay. Поприветствуем Google Pay! После презентации первого устройства линейки Pixel, компания Google стала уделять больше внимания наличию своего имени в названии продуктов. Видимо, основная цель данного подхода заключается в том, чтобы различные инструменты и сервисы в первую очередь ассоциировались с софт...
[Из песочницы] Выгрузка сообщений с использованием Telegram API. С чего начать На просторах интернета можно найти множество описаний и примеров по созданию telegram bot-ов.Но Telegram Bot Api имеет ограниченный функционал. Для решения задачи по выгрузке сообщений из Telegram по ключевому слову необходимо использовать Telegram API. За основу была взята ...
Очередной комплект обновлений SAP закрыл 27 уязвимостей В рамках очередного дня безопасности компания SAP выпустила набор апдейтов, которые затрагивают ее ключевые программные продукты. Большинство уязвимостей, закрытых новыми патчами, имеют средний уровень угрозы, однако несколько ошибок признаны критическими. В релизе 27 обновл...
Книга «Head First. Паттерны проектирования. Обновленное юбилейное издание» В мире постоянно кто-то сталкивается с такими же проблемами программирования, которые возникают и у вас. Многие разработчики решают совершенно идентичные задачи и находят похожие решения. Если вы не хотите изобретать велосипед, используйте готовые шаблоны (паттерны) проекти...
[Перевод] Компьютерное зрение и Интернет вещей Компьютеры, роботы, искусственный интеллект… В основе многих передовых технологий лежала необходимость воспроизведения или имитации человеческого мышления, чувств и поведения. Различные датчики, например, акустические и видеосенсоры, а также датчики давления, были созданы...
В Китае живые люди массово скупают места для могил В одном из китайских регионов молодые местные жители приступили к массовой скупке могил. Информацией об этом поделились представители издания South China Morning. На данный момент, как сообщают власти китайского уезда Тунчэн, что в провинции Хубэй, более 80 тысяч могил дл...
Gartner: бизнес «тормозит» в переходе к опоре на данные Опрос показал, что большинство общих проблем, которые организации хотели бы решать с помощью данных и аналитики, связано с необходимостью повышения эффективности бизнес-процессов. Опрос, проведенный компанией Gartner, свидетельствует: большинство крупных компаний (91%) та...
Почему embedded-разработчикам следует использовать статический анализ кода Решил кратко сформулировать 3 причины, по которым embedded-разработчикам полезны инструменты статического анализа кода программ. Читать дальше →
[Из песочницы] Угон Телеграм на волнах паники Сегодня очень неоднозначно развивается ситуация вокруг совместного решения Федеральной службы безопасности Российской федерации и Роскомнадзора о блокировке мессенджера «Телеграм». Данное решение опрометчиво по целому ряду причин, и несет в себе больше проблем, чем пользы в ...
Решаем задачи без самобалансирующихся деревьев в Python Многие задачи на алгоритмы требуют знания определённых структур данных. Стек, очередь, куча, динамический массив, двоичное дерево поиска — нечасто решение алгоритмической задачи обходится без использования чего-либо из них. Однако, качественная их реализация — нетривиальная ...
[Из песочницы] Программирование на кириллице может повысить производительность Привет, Хабрахабр. Как известно, технический английский — язык мира информационных технологий. Основная документация, все стандарты программирования представлены на английском языке. В числе прочих, главная кодовая страница ASCII и переносимый набор символов включают 26 лати...
[Перевод] Сейчас вы поймете, как отложить вычисления и реализовать ленивую загрузку с помощью IntersectionObserver Жил-был один веб-разработчик, который мог убедительно доказать своим клиентам, что сайты не должны выглядеть одинаково во всех браузерах, уделял внимание доступности и удобству использования и был одним из первопроходцев в применении CSS grids. Но глубоко в сердце настоящей ...
Угрозы прошлого и протоколы будущего Как многие из читателей блога Qrator Labs, вероятно, уже знают, DDoS-атаки могут быть нацелены на разные уровни сети. В частности, наличие у злоумышленника крупного ботнета позволяет ему осуществлять атаки на уровень L7 (application/прикладной) и пытаться мимикрировать под...
Как прогреть двигатель зимой: ТОП-3 лучших способа Не секрет, что перед эксплуатацией автомобиля в зимний период желательно прогреть двигатель, но и у этого утверждения есть противники, называющие такой шаг вредным для машины – в инструкции по использованию не указана необходимость прогрева. Эксперты составили рейтинг хитрос...
[Перевод] Изучаем KTX для Android Привет, «Хабр»! Прошло почти 9 месяцев с тех пор, как на Google I/O 2017 компания Google анонсировала Kotlin в качестве официального языка разработки под Android. Кто-то использует его как основной инструмент намного дольше, учитывая, что на нём можно было писать уже с серед...
Обзор архитектуры управления информационной безопасности в Check Point R80.10. Часть 1 (Перевод) Экспоненциальный рост объёмов данных поступающих из различных источников, таких как сетевые, облачные, мобильные и виртуальные системы, приводит к появлению новых угроз. Организации должны быстро адаптироваться и защитить себя, требуя более мощных и высокопроизводительных ...
Почему топовые игры выходят на iOS раньше, чем на Android Знаковые игры вроде Fortnite выходят для iOS раньше, чем для Android, по причине однородности охватываемой аудитории, рассказал глава отдела продуктового маркетинга Apple Грег Джозвиак в интервью TechCrunch. Во многом, по его мнению, этому способствует низкий уровень фрагм...
Визуализация данных для киноманов: скрапим рекомендации фильмов и делаем интерактивный граф Однажды я наткнулся на интерактивную карту lastfm и решил обязательно сделать подобный проект для фильмов. Под катом история о том, как собрать данные, построить граф и создать своё интерактивное демо на примере данных с кинопоиска и imdb. Мы рассмотрим фреймворк для скрапи...
Готовим Juniper сеть с помощью Ansible В один прекрасный день я решил перейти с обычного rsyslog собирающего логи со всех устройств на что-то другое, выбор и прочее к данной теме мало относится (выбрали Graylog2), но по итогу появилась задача заменить на всех устройства Juniper настройки syslog хоста. В принц...
Shortcut Creator 2.5.2 Это приложение позволяет создавать ярлыки на файлы, приложения, настройки, контакты и сообщения. Вы можете задать имя ярлыка и использовать большой выбор инструментов для выбора его иконки — иконку из темы, импортировать ее из файла (и создавать целые коллекции), обрезать из...
Проблема определения доменов-нарушителей остро стоит во всем мире Во второй день РИФ 2018 19 апреля Координационный центр доменов .RU/.РФ провел секцию «Домены vs правообладатели», в которой приняли участие представители Ассоциации компаний интернет-торговли (АКИТ), регистраторы доменных имен, домейнеры, правообладатели. Представител...
Как выглядит инструмент для взлома iPhone Программно-аппаратный комплекс GrayKey, служащий для принудительной разблокировки iPhone, внешне практически не отличается от Apple TV, узнал Malwarebytes. Инструмент позволяет одновременно подключить два iPhone, которые будут взломаны в период от двух часов до трех суток ...
ISACA: все меньше ИТ-директоров думает об окупаемости облачных проектов Результаты опроса показали, что каждое третье предприятие, реализующие облачные инициативы, не занимается расчетами возврата инвестиций. Глобальный опрос руководителей ИТ-служб показал, что все меньше предприятий занимаются расчетами окупаемости облачных проектов. Согл...
Критики называют Far Cry 5 лучшей игрой Ubisoft Сегодня состоялся долгожданный релиз Far Cry 5, и шутер, судя по всему, быстро станет хитом продаж. Особо дотошные журналисты, например, уже нашли способ пройти игру за несколько минут, и кто знает, какие [...]
Программа для оцифровки графиков, чертежей, рисунков: алгоритмы проекта «Репетитор: математика» Содержание Вступительное слово Принцип работы Описание программы Финальный код программы Преимущества работы с оцифрованными функциями на примерах Эпилог Вступительное слово В различных областях, связанных с наукой и образованием, инженерным делом встречается задача, связ...
Приложение Uber для Windows 10 больше не поддерживается В 2013 году компания Uber выпустила собственное приложение для платформы Windows Phone, однако вскоре была вынуждена удалить его после жалоб пользователей, поскольку на деле это оказался простой веб-сайт. В 2014 году компания выпустила полноценное приложение для Windows Pho...
[Перевод] Как построить сообщество. Перевод книги «Социальная архитектура»: Глава 4. Протокол для коллаборации C4 «Это эссенция тридцатилетнего опыты разработки программного обеспечения.» Процесс ZeroMQ: C4 Когда мы говорим о ZeroMQ, мы иногда имеем в виду libzmq — основную библиотеку. В начале 2012 года мы синтезировали процесс libzmq в формальный и многоразовый протокол для совместной...
[Перевод] Разбор основных концепций параллелизма Всем кофе! Завтра у нас плавненько стартует практически юбилейный поток курс «Разработчик Java» — уже шестой по счёту начиная с апреля прошлого года. А это значит, что мы снова подобрали, перевели интереснейший материал, которым делимся с вами. Поехали! Эта памятка поможе...
Apple начнет использовать собственные процессоры в компьютерах Mac Компания Apple использует процессоры Intel в своих ноутбуках, моноблоках и десктопных уже более 10 лет, а точнее с 2006 года. По информации, опубликованной изданием Bloomberg, Apple планирует перейти на использование собственных процессоров в компьютерах уже в 202...
Ник Сабо: тюльпановый пузырь – клише для ленивых критиков биткоина Известный криптограф и пионер в области смарт-контрактов Ник Сабо подверг критике многочисленных экспертов и аналитиков, которые, не разобравшись в сути вопроса, клеят на биткоин и другие криптовалювалюты ярлыки вроде «пузырь» или «тюльпаномания». По его словам, «тюльпановый...
[Перевод] Разработка на Blockchain — что изменится для разработчиков? Эта статья является переводом поста Винсента Чена (Vincent Chen) и Рамона Рекуэро (Ramon Recuero), цели которого очень схожи с теми, что преследуем и мы, и написанного для таких разработчиков, которых мы хотели бы видеть на своих мероприятиях. Введение Если вы читаете этот ...
Как уничтожить Интернет? Помните угрозу анонима уничтожить Интернет? Где хакер грозился «положить» 13 корневых DNS серверов сети Интернет и сделать получение информации, посредством запроса с использованием доменного имени, невозможным? В результате чего любой, кто введёт «http://www.google.com» или...
[Из песочницы] Большой комок грязи Привет, Хабр! Представляю вашему вниманию перевод статьи "Big Ball of Mud" авторов Brian Foote и Joseph Yoder. От переводчика: Статья Big Ball of Mud написана Брайаном Футе и Джозефом Йодером летом 1999 года. Она рассказывает о наиболее распространённых антипаттер...
[Перевод] Медиа-запросы в адаптивном дизайне 2018 В июле 2010 года я написала статью «Как использовать CSS3 медиа-запросы для создания мобильной версии вашего сайта» для журнала Smashing. Спустя почти восемь лет эта статья по-прежнему очень популярна. Я решила вернуться к этой теме, поскольку теперь у нас есть такие метод...
Автоматизация действий атакующего, используя metasploit и Python Известно, что метасплойт написан на Ruby и не поддерживает скрипты, написанные на Python. Несмотря на это у метасплойта есть двусторонний RPC–интерфейс, при помощи которого можно запускать задачи. Есть две библиотеки, позволяющие взаимодействовать с remote procedure call (R...
[Из песочницы] Разработка высоконагруженного WebSocket-сервиса Как создать веб-сервис, который будет взаимодействовать с пользователями в реальном времени, поддерживая при этом несколько сотен тысяч коннектов одновременно? Всем привет, меня зовут Андрей Клюев, я разработчик. Недавно я столкнулся с такой задачей – создать интерактивный ...
В Microsoft Store добавиться раздел «Расширения для Edge» Компания Microsoft всячески продвигает свой браузер Edge. Данный обозреватель очень тесно интегрирован в систему; Edge является браузером по умолчанию, он также умеет читать PDF-файлы и книги в формате EPUB, добавили в последствии Windows Ink и расширения. А теперь стало изв...
Windows 10 станет удобнее с новой функцией В операционной системе Windows 10 будет реализована новая функция, повышающая удобство взаимодействия устройств под управлением этой ОС с другими девайсами. Усовершенствование может найти себе применение уже в том обновлении Windows 10, которое будет предоставлено пользова...
Трудности перевода: как найти плагиат с английского языка в русских научных статьях В нашей первой статье в корпоративном блоге компании Антиплагиат на Хабре я решил рассказать о том, как работает алгоритм поиска переводных заимствований. Несколько лет назад возникла идея сделать инструмент для обнаружения в русскоязычных текстах переведенного и заимствован...
Sony посчитала 3,5-мм аудиоразъём неуместным для стилистки Ambient Flow Как бы ни противились пользователи мобильных гаджетов неоднозначным тенденциям индустрии, всё больше производителей отказываются от аналогового аудиоразъёма в пользу USB Type-C. Компания Sony выбрала аналогичный путь, убрав из смартфонов Xperia XZ2 и XZ2 Compact кла...
Две модели лучше одной. Опыт Яндекс.Переводчика Когда-то мы уже рассказывали о том, как появился и развивался машинный перевод. С тех пор произошло ещё одно историческое событие – его наконец-то покорили нейронные сети и глубокое обучение. Среди задач обработки естественного языка (Natural Language Processing, NLP) машинн...
Миллионы приложений подвергают риску персональные данные пользователей Как выяснили эксперты "Лаборатории Касперского", это в основном происходит из-за того, что разработчики используют готовые сторонние рекламные SDK. Суммарное количество установок исследованных приложений составляет несколько миллиардов по всему миру.SDK - это специ...
Правда и мифы об LSI в SEO В этой статье мы развенчаем теорию о том, что использование «LSI-ключевых слов» оказывает положительное влияние на SEO, и предложим несколько более эффективных стратегий взамен. Сообщение Правда и мифы об LSI в SEO появились сначала на Searchengines.ru.
[Из песочницы] Еще одна статья о распознавании рабочих без касок нейросетями Привет, Хабр! Меня зовут Владимир, я студент 4го курса КубГТУ. Некоторое время назад я наткнулся на статью о разработке CV-системы для обнаружения рабочего персонала без касок, и решил поделиться собственным опытом в данной области, полученным в ходе стажировки в одной промы...
Справочник, содержащий строки полезной информации Технический прогресс и развитие компьютерных технологий привели к тому, что в жизни человека появилось много полезных инструментов и вариантов выполнения работ. Однако все это многообразие не говорит о том, что стоит отказываться от коммуникаций, которые на протяжении многих...
Microsoft приписывают намерение выпустить Surface Phone на чипе Snapdragon 845 В Интернете появилась новая порция неофициальной информации о якобы проектируемом корпорацией Microsoft смартфоне или фаблете под брендом Surface. Слухи о Surface Phone гуляют в Сети уже не один год. В разное время аппарату приписывали использование процессора Intel...
[Из песочницы] Как я олимпиаду на Java писал или почему лучше не пользоваться Scanner Вчера завершился Региональный этап Всероссийской олимпиады школьников. Я участвовал в нем и выбрал для этого язык Java. Основной причиной, почему я решил писать олимпиаду именно на Java заключался в том, что на тот момент я довольно хорошо ее знал и понимал то, как в ней реа...
Хардкорный платформер Almost There в лучших традициях Super Meat Boy ищет бета-тестеров Платформеры — очень популярный жанр. Однако их главная особенность — упор на управлении, с чем на мобильных платформах, мягко говоря, до сих пор проблемы. Сенсорные джойстики не похожи на то, что нам нужно. И поэтому разработчики ищут разные варианты выхода из ситуации. Напр...
Приложение Google Pay скачано более 100 млн раз В начале этого года был представлен редставлен бренд Google Pay (или G Pay), под которым поисковый гигант решил объединить платежные сервисы Android Pay и Google Wallet. Теперь же стало известно, что приложение Google Pay достигло отметки 100 млн загрузок в магазине Go...
Google и 3M присоединились к разработке общего стандарта для стилусов USI “Смиренное перо не мертво”, по крайней мере стилус – точно, хотя его неоднократно пытались “похоронить”. Поскольку стилусы занимают значительную часть рынка мобильных аксессуаров, компаниями Google и 3M было принято решение присоединиться к Univ...
3G Модемы и Wi-Fi роутеры — интернет решение для оператора Киевстар Покрытие украинского оператора мобильной связи Киевстар — никогда нельзя было назвать «бедным». Уже в первый год своего существования, компания смогла предоставить украинцам превосходное качество связи (хотя, на тот момент не так уж много абонентов могло себе позволить...
Презентация 27 марта не будет богата на аппаратные новинки Некоторые новинки, которые Apple, по слухам, должна представить на презентации 27 марта, могут задержаться на неопределенный срок, пишет Bloomberg. В данном случае речь идет о «доступном» MacBook Air и iPad Pro с Face ID. По данным издания, производителю требуется больше в...
[Перевод] Вредный Кейворд «Interface» Перевод ироничного поста из блога Боба Мартина в котором он рассуждает о том, насколько неудачным является использование слова interface в современных языках программирования, и какую путаницу и проблемы оно несёт разработчикам. — Что ты думаешь об интерфейсах? — Имеешь в ви...
Отладка многопоточных программ на базе FreeRTOS Отладка многозадачных программ дело не простое, особенно если ты сталкиваешься с этим впервые. После того, как прошла радость от запуска первой задачи или первой демо программы, от бесконечно волнительного наблюдения за светодиодами, каждый из которых моргает в своей собств...
Что ещё мы проверяем при помощи Selenium, кроме логики интерфейса Привет, Хабр! Меня зовут Виталий Котов, я работаю в отделе тестирования Badoo. Большую часть времени я работаю с Selenium. Этот замечательный инструмент мы используем для решения разнообразных задач: от тестирования функционала до упрощения работы с логами ошибок и проверки...
[Перевод] Почему люди не покупают вашу игру В постмортемах многих игр часто повторяется одно и то же клише. Оно всплывает и в разговорах с инди-разработчиками. Звучит клише примерно так: «Чёртовы потребители! Они каждый день тратят по пять баксов на один и тот же безвкусный латте из Starbucks, но не могут выделить ту...
[Перевод] Непрерывные переходы между общими элементами: из RecyclerView во ViewPager Использование переходов в Material Design дает приложению визуальную непрерывность. Пока пользователь ходит по приложению, элементы интерфейса в нем меняют состояние. Анимации переходов соответствующих элементов от одного экрана к другому подчеркивают идею о том, что интерфе...
Как собирать данные с сайтов: онлайн-сервисы и Python 31 марта 2018 года в Перми состоялся митап Теплицы социальных технологий, посвященный технологии веб-скрейпинга с помощью программного кода. Участники обсудили необходимость сбора данных и рассмотрели сценарии использования собранных данных для исследования проблемы, из...
Утилита Aida64 обновлена до версии 5.97 Венгерская компания FinalWire, разработчик популярной информационно-диагностической утилиты Aida64, сообщила о выходе новой версии своего детища с индексом 5.97. В свежем выпуске приложения авторы расширили перечень поддерживаемого аппаратного обеспечения, внедрили новые тес...
В Сети появились исходники iOS Несколько недель назад появилась информация о том, что группе разработчиков удалось получить доступ к исходному коду одного из компонентов iOS. Сегодня архив с соответствующими файлами опубликовали на ресурсе GitHub: оказалось, что это исходный код iBoot, одной из главных ...
Ваш пакет Composer сломан: обновите идентификатор лицензии Если вы, как и я: являетесь мэйнтейнером какой-либо библиотеки или фреймворка; ваша библиотека или фреймворк выпущены под какой-либо свободной лицензией ваша библиотека или фреймворк доступны к установке через Composer и размещены на сервисе Packagist; то у вас, возможно,...
В комментариях на YouTube обнаружен опасный вирус Об обнаружении троянца сообщили специалисты компании "Доктор Веб". Утечка таких данных может привести к тому, что злоумышленники получат доступ к учетным записям жертвы в социальных сетях и других онлайн-сервисах, предупреждают аналитики.Вредоносная программа, полу...
Установка Google Camera HDR+ и EIS на смартфоны Xiaomi Mi A1 без получения ROOT-прав и ... Xiaomi Mi A1 – это вполне достойный смартфон на базе операционной системы Android One. Несмотря на то, что данная модель фактически относится к классу бюджетных устройств, его оснастили достаточно мощным процессором Qualcomm Snapdragon 625, 4Гб оперативной памяти, Full...
[Перевод] Марвин Мински «The Emotion Machine»: Глава 2 «Играя с грязью» 2.1. Играя с грязью «Это не просто изучение вещей, которые важны. Это обучение тому, что делать с тем, что вы учите и познанием, почему вы изучаете все эти важные вещи» — Нортон Джастер, рассказ Фантомный Киоск (The Phantom Tollbooth) Ребенок по имени Кэрол играет с гряз...
Когда бизнес растёт: виртуальные номера в формате DEF Ранее мы рассказывали об использовании виртуальных номеров в формате DEF с облачной IP-АТС. Появившиеся новые бизнес-кейсы подтверждают, что эта несложная схема весьма востребована для различных задач, а невысокая стоимость эксплуатации часто определяет выбор в ее пользу. Се...
Unit-тестирование скриншотами: преодолеваем звуковой барьер. Расшифровка доклада Тестировать регресс верстки скриншотами модно, этим никого не удивишь. Мы давно хотели внедрить этот вид тестирования у себя. Всё время смущали вопросы простоты поддержки и применения, но в большей степени — пропускная способность решений. Хотелось, чтобы это было что-то про...
[Из песочницы] Парсинг сайтов или долгострои Московской области Ознакомившись с рынком первичного жилья в Московской области, мы, конечно же, столкнулись с наличием обманутых дольщиков и проблемных объектов, так называемых «долгостроев». Естественно, встал вопрос, насколько вероятна такая ситуация. Была поставлена цель выполнить классифи...
Elecom выпускает 10-гигабитную сетевую карту (EDB-10GMPE4T) Японский Elecom теперь также выпускает 10-гигабитную сетевую карту. Хорошо видеть более широкое внедрение на потребительском рынке, и когда это происходит от азиатских компаний, таких как Elecom, это обычно снижает цены. Хотя эти карты по-прежнему дороги, часто колеблются в...
У столичных библиотек появился онлайн-поиск иностранной литературы Новая полезная функция появилась на портале "Библиогород". На интерактивной карте теперь можно найти библиотеки столичного Департамента культуры, в которых представлены издания на 13 популярных иностранных языках. Среди них английский, французский, итальянский, исп...
Unigram (Неофициальный UWP клиент Telegram) получил масштабное обновление. Встречайте - Unigram X Пока Telegram не спешит с разработкой нативного UWP клиента для Windows 10, энтузиасты-разработчики во всю пилят сторонние, неофициальные решения. Да, да, мы сейчас об Unigram. Приложение Unigram, буквально только что, получило масштабное обновление и обзавелось приставкой ...
Знакомство с ConcourseCI Привет, Я заметил, что на Хабре очень мало информации про такой сервер сборки, как ConcourseCI. Я решил восполнить этот пробел и написать небольшое введение. Под катом описание этого инструмента и небольшой туториал. Читать дальше →
Зачем сетевым инженерам программирование Интересно обменяться мнениями и опытом применения языков программирования в решении задач сетевого инженера, если вы используете какие-то методы и подходы автоматизации, напишите об этом в комментариях, а я расскажу о некоторых своих наработках в этом направлении. Читать дал...
Использование rrd4j для OpenHab2 persistence OpenHab – популярный сервер «умного дома» (или IoT, как сейчас модно говорить) и уже обозревался на Хабре. Тем не менее, документации по отдельным аспектам настройки сервера не так много, как хотелось бы. А на русском её, считай что и нет. Важной особенностью OpenHab являет...
Google позволит вам решать, какими будут новые смартфоны Pixel Google намерена прислушаться к мнению потребителей относительно дальнейшего развития линейки смартфонов Pixel. Об этом представители компании написали на страницах портала Reddit, попросив клиентов рассказать, что именно им не нравится в моделях актуального поколения и что,...