Социальные сети Рунета
Четверг, 25 апреля 2024

Разработка изоморфного RealWorld приложения с SSR и Progressive Enhancement. Часть 2 — Hello World В предыдущей части туториала мы узнали что такое проект RealWorld, определились целями туториала, выбрали стек технологий и написали простой веб-сервер на Express в качестве основы для изоморфного фронтенда. В этой части, мы допилим серверную часть и напишем изоморфный «Hel...

[Из песочницы] Разработка высоконагруженного WebSocket-сервиса Как создать веб-сервис, который будет взаимодействовать с пользователями в реальном времени, поддерживая при этом несколько сотен тысяч коннектов одновременно? Всем привет, меня зовут Андрей Клюев, я разработчик. Недавно я столкнулся с такой задачей – создать интерактивный ...

Новая жизнь для XMPP. Делаем мессенджер, который не получится заблокировать Идея сделать независимый от корпораций P2P мессенджер не нова, однако разработка нового протокола и клиентских приложений для него достаточно дорогой и долгий процесс. А что, если использовать старый добрый XMPP, в котором уже все давно продумано и запилено? Но это же не н...

[Перевод - recovery mode ] Hyperapp + Parcel В данном посте, мы рассмотрим два новых инструмента из мира фронт-енд разработки. Они оба разработаны с мыслью о простоте и легкости использования. Первый инструмент это очень маленький фронт-енд фреймворк Hyperapp, а второй это бандлер Parcel. Вместе они могут быть лучшим в...

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

[Из песочницы] Пишем Telegram-бота на Go для поиска в Википедии Содержание Создаем бота Пишем код Разворачиваем бота Заключение Сейчас очень популярен телеграм и написание ботов для него стало неким hello world наших дней, ввиду чего при мысли о том что можно написать сейчас, многие сразу же думают о написании телеграм бота. Будучи студ...

[Перевод] Быстрый запуск Github репозитория c Angular CLI в вашем браузере На Github находится множество демок, примеров, прототипов и реальных приложений, написанных на Angular. Тем не менее, клонирование и инициализация проекта может занять много времени, что затрудняет его совместное использование и просмотр. Именно поэтому была создана сред...

Что такое PAT? Лабораторная работа в Packet Tracer Введение PAT (Port Address Translation) — технология трансляции адресов с использованием портов. Данная технология решает проблему доставки возвратных пакетов. Так как количество белых IP ограничено нам необходимо экономить эти адреса. Помня об этом, была создана технология ...

Разработка приложений Flutter Google находится на стадии бета-тестирования Google анонсировала официальную бета-версию инфраструктуры разработки своего фреймворка Flutter. Есть много методов для создания приложений, в основном по двум простым причинам: разработка собственных приложений с использованием официальных инструментов вызывает некую тревог...

[Из песочницы] Использование Boost.Asio с Coroutines TS Введение Использование функций обратного вызова (callback) — популярный подход к построению сетевых приложений с использованием библиотеки Boost.Asio (и не только ее). Проблемой этого подхода является ухудшение читабельности и поддерживаемости кода при усложнении логики прот...

RequireJS для приложений Vue.js + Asp.NETCore + TypeScript Создаем на Visual Studio 2017 модульное приложение Vue.js + Asp.NETCore + TypeScript. В качестве системы сборки вместо Webpack используем компилятор TypeScript + Bundler&Minifier (расширение к VS2017). Загрузку модулей приложения в рантайм обеспечивает SystemJS или Requ...

[Из песочницы] Arduino для начинающих Arduino для начинающих. Часть 1 Предисловие Доброго времени суток, Хабр. Запускаю цикл статей, которые помогут Вам в знакомстве с Arduino. Но это не значит, что, если Вы не новичок в этом деле – Вы не найдёте ничего для себя интересного. Введение Было бы не плохо начать со з...

Разработка драйвера PCI устройства под Linux В данной статье я рассматриваю процесс написания простого драйвера PCI устройства под OC Linux. Будет кратко изучено устройство программной модели PCI, написание собственно драйвера, тестовой пользовательской программы и запуск всей этой системы. В качестве подопытного вы...

[Перевод] Как работает JS: веб-воркеры и пять сценариев их использования Публикуем перевод седьмой части часть серии материалов об особенностях работы различных механизмов JavaScript. Наша сегодняшняя тема — веб-воркеры. В частности, речь пойдёт о различных типах веб-воркеров, о том, как организована совместная работа тех частей, из которых они с...

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

Настройка среды разработки: кофейная гуща (Часть 2) Привет, дорогой читатель! В этот раз я хочу поделиться своим результатом настройки персонального окружения для работы с различными PHP-based проектами с использованием Puppet. В данной статье описываются результаты, которые были получены в процессе изучения и написания Puppe...

Можно ли использовать С++ вместо Си для небольших проектов в микроконтроллерах Существует мнение, что использование С++ при разработке программного обеспечения для микроконтроллеров это как стрельба из пушки по воробьям. Мол код получается большого размера и неповоротливый, а мы привыкли бороться за каждый бит в ОЗУ или ПЗУ. И действительно, ведь язык ...

Swift Package Manager Вместе с релизом в open source языка Swift 3 декабря 2015 года Apple представила децентрализованный менеджер зависимостей Swift Package Manager. К публичной версии приложили руку небезызвестные Max Howell, создатель Homebrew, и Matt Thompson, написавший AFNetworking. Swift...

[Из песочницы] Приложение Vue.js + Asp.NETCore + TypeScript без Webpack Создаем на Visual Studio 2017 модульное приложение Vue.js + Asp.NETCore + TypeScript без использования Webpack или Broserify. Причем сначала делаем проект с использованием Webpack, а потом без него. Чтобы прочувствовать, от какого счастья мы отказываемся. Материал рассчита...

Зачем выставлять в Интернет интерфейс управления или атака на Cisco Smart Install Недавно Cisco узнала о некоторых хакерских группировках, которые выбрали своими мишенями коммутаторы Cisco, используя при этом проблему неправильного использования протокола в Cisco Smart Install Client. Несколько инцидентов в разных странах, в том числе некоторые из которых...

[Из песочницы] GObject: основы GObject — часть библиотеки GLib, реализующая объекто-ориентированнные расширения для чистого Си. Подобная концепция, помимо самой GLib, используется в таких проектах, как GStreamer, GSettings, ATK, Pango и весь проект GNOME в целом, а также в большом количестве прикладных пр...

[Перевод] Машина времени на Java В мире существует множество клёвых маленьких библиотек, которые как бы и не знаменитые, но очень полезные. Идея в том, чтобы потихоньку знакомить Хабр с такими вещами под тэгом #javalifehacker. Сегодня речь пойдёт о time-test, в котором всего 16 коммитов, но их хватает. Авто...

Vue.js + Asp.Net Core MVC + TypeScript и ещё Bootstrap4 По стандартному шаблону Asp.Net Core MVC в Visual Studio 2017 создаем новый проект, переводим его на четвертый Bootsrtrap, встраиваем туда модульное приложение Vue.js на TypeScript. Получаем простую, обозримую и легкую заготовку для создания своих веб-приложений на VS2017 с...

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

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

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

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

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

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

Операционные системы с нуля; Уровень 1 (младшая половина) Эта часть посвящена улучшению навыков работы с Rust и написанию парочки полезных утилиток и библиотек. Напишем драйверы для GPIO, UART и встроенного таймера. Реализуем протокол XMODEM. Используя это всё, напишем простенький шелл и загрузчик. Перед прочтением настоятельно ре...

Работа с Anaconda на примере поиска корреляции курсов криптовалют Цель этой статьи — предоставить легкое введение в анализ данных с использованием Anaconda. Мы пройдем через написание простого скрипта Python для извлечения, анализа и визуализации данных по различным криптовалютам. Читать дальше →

Эксперты IETF призвали устранить бреши электронной почты Инженерный совет Интернета (Internet Engineering Task Force, IETF) предлагает ввести стандарт всеобщего шифрования электронных писем, который позволит отказаться от использования простого текстового формата (cleartext). Сейчас небезопасное взаимодействие между почтовым клиен...

Опыт перехода проекта на phalcon с php 5.6 на 7.1 Время идет, прогресс приносит свои плоды, каждый месяц выходят новые версии того или иного программного обеспечения. То же происходит и с языком PHP. Наша команда проекта krisha.kz решила, что уже пора совершить переход на новую версию интерпретатора. Мы поделимся опытом п...

Разработка изоморфного RealWorld приложения с SSR и Progressive Enhancement. Часть 1 — Введение и выбор стека Весной 2017 года Eric Simons, со-основатель учебного проекта Thinkster, анонсировал проект «RealWorld» — демо приложение и спецификация к нему. Проект объявил своей целью выйти за рамки привычных «todo»-демок для более прикладного сравнения и изучения возможностей различных ...

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

[Перевод] Руководство по фоновой работе в Android. Часть 3: Executors и EventBus Приветствую, коллеги. Рад видеть вас снова в третьей части «Руководства по фоновой работе в Android». Если не видели предыдущие части, вот они: Часть 1: AsyncTask Часть 2: Loaders В прошлый раз мы разобрались, как работают Loaders, а сразу после этого Google взял и соо...

Генерация кода во время работы приложения: реальные примеры и техники Генерация кода в рантайме — очень мощная и хорошо изученная техника, но многие разработчики все еще неохотно её используют. Обычно изучение Expression Trees начинают с какого-нибудь простого примера типа создания предиката (фильтра) или математического выражения. Но не Expre...

От установки AWX до запуска первого плейбука — настройка централизованного управления Ansible Количество серверов в нашей инфраструктуре уже перевалило за 800, хотя еще год назад их было около 500. Для работы с этим всем активно используются решения от Red Hat. Про FreeIPA — для организации и управления доступами для Linux-серверов — мы уже писали, сейчас же я хочу...

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

О жизни, свободе и стремлении к счастью пользователя API Мы постоянно сталкиваемся с системами, созданными другими людьми. Будь то UI приложений в смартфоне или облачные инфраструктуры современного Интернета — именно процесс взаимодействия определяет наши ощущения, впечатления, и в конечном счёте — отношение к технологии. Мы можем...

[Перевод] Упрощение кода с помощью if constexpr в C++17 Несколько новых возможностей C++17 позволяют написать более компактный и ясный код. Это особенно важно при шаблонном мета-программировании, результат которого часто выглядит жутко… Например если вы хотите выразить if, который вычисляется во время компиляции, вы будете вынужд...

Что происходит с надкусанным яблоком? Правильно — оно портится Или почему последние МакБуки Про — тот еще адок. Реальная история с недавно-купленным MacBook Pro в компании, который я взял домой для настройки. Итак, по пунктам: Нет USB и Ethernet. Надо было перекинуть файл 600Мб с одного компа на МакПро. Стоят рядом. Как? По медленному ...

Онлайн шутер на Unreal Engine 4 за 90 часов (видео создания + исходники) Привет, харб! Примерно год назад я выкладывал статью о том, как я в прямом эфире создал выживалку за 150 часов. На этот раз хочу представить вам сетевой шутер, который я создал за 25 заходов по 3 — 4 часа. Всего вышло около 90 часов и в итоге мы создали онлайн шутер, в котор...

Веб установщик на чистом WINAPI с поддержкой Hi DPI и векторным лого В наше время это, наверно, одно из основных применений для приложений написанных на чистом WINAPI. Писать что-то серьёзнее нескольких простых окон на чистом WINAPI уже не так весело, а вот маленький установщик – самое то. Так как на дворе 2018 год, писать просто приложение ...

Делаем дизайн iOS клиента Trashbox Всем привет, сегодня я хочу поделиться с вами процессом разработки дизайна интерфейса iOS клиента Trashbox. Как создается макет? Как делать его анимацию? Ответы на эти вопросы вы найдете в этой статье. Поехали. С чего начать? Начать разработку стоит с изучения гайдла...

Вопросы совместимости Tibero и Oracle. Часть 2. Разработка Java приложений Мы продолжаем цикл статей разработчиков приложений для баз данных. Эта статья затронет тему использования Tibero в Java приложениях использующих JDBC и Hibernate, а также фреймворк Spring Roo. Читать дальше →

[Перевод] Обзор библиотеки react-testing-library В материале, перевод которого мы публикуем сегодня, Кент Доддс рассказывает о библиотеке собственной разработки для тестирования React-приложений, react-testing-library, в которой он видит простой инструмент, способный заменить enzyme и способствующий написанию качественных ...

[Из песочницы] Amazon S3 + 1С. Часть 1. Интерфейс Всем привет, с вами Низамов Илья и сегодня я начинаю цикл статей по написанию обработки взаимодействия с облаком Amazon s3 из 1С. Обработка Amazon s3 позволяет получат список файлов по фильтру, скачать необходимые файлы с Amazon s3 используя amazon s3 api, отправлять фай...

Как заменить HR-a роботом? Техническая часть Мы уже рассказывали вам о проекте Робот Вера (об идее и об обучении робота). Сегодня мы поговорим с Владимиром Свешниковым, сооснователем и генеральным директором компании. Владимир – человек, который создал технологическую часть Робота Веры. Узнаем побольше как раз про техн...

[Перевод] Современный CSS для динозавров — Двигать пиксели в CSS и так было трудно! А теперь мне говорят, насколько круто использовать несемантические названия классов, встроенные стили в HTML и даже писать стили CSS на JavaScript! [Вставь тут гифку из «Гриффинов»] — Ха! Иллюстрации из Dinosaur Comics Райана Норта...

[Из песочницы] Новый облегчённый язык разметки текста на основе парных кавычек (pq) Я не могу объяснить, откуда пришла идея такого языка разметки, но то, что получилось в итоге — весьма… занятно. Не слишком-то рассчитываю на широкое практическое применение этой штуки, но некоторые идеи, использованные в этом языке разметки, вполне могут дать пищу для размы...

[Перевод] Часть 2: Сетевое взаимодействие — Написание blockchain менее чем за 200 строк кода на Go Вы прочитали первую часть из этой серии? Если нет, то стоит взглянуть. Не волнуйся, мы подождем... Читать дальше →

[Из песочницы] Научное программирование: часть 1 Наука в программировании — быль или реальность? Сколько её в языках и почему идут холивары о приемуществах одних языков над другими? Если интересно — прошу под кат. Читать дальше →

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

Language Chat 0.2 Описание: Каждый кто изучает языки длительное время, знает, что для правильного постоения предложений на иностранном языке нужна практика. Нет лучшей практики чем обычное общение. Именно для такого общения и было создано приложение Laguage Chat. Ми постарались сделать при...

Ардуированная кофемашина Привет, обитатели ХабраХабр! Возможно, по сути статьи я ошибся ресурсом, за мое 9 летнее отсутствие появился некий geektimes, возможно, я должен написать это там, но напишу сюда — на хабрахабр. Если не прав — не бейте ногами. Я люблю делать простые как топор вещи, но одно...

[Перевод] Мышление в стиле Ramda: первые шаги Недавно я познакомился с замечательной серией статей "Thinking in Ramda", которые проясняют на простых и ясных примерах способы написания кода в функциональном стиле с использованием библиотеки Ramda. Эти статьи показались мне настолько прекрасными, что я не смог удержаться ...

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

Mozilla представила браузер для виртуальной реальности Разработчики проекта называют Firefox Reality первым на рынке мультиплатформенным веб-обозревателем для VR и AR, а также единственным браузером с открытым исходным кодом для смешанной реальности. Исходники проекта размещены на сайте GitHub.Firefox Reality базируется на компь...

Advanced Android Testing Тестирование — одна из важнейших частей разработки качественных программных продуктов. Сегодня мы поговорим о некоторых методологиях и библиотеках, разработанных и используемых нашей командой для написания тестов Android приложений. Начнем с самых базовых вещей, потому боле...

[Из песочницы] Модульная разработка Android приложений При разработке Android приложений наступают моменты, когда те или иные части кода можно вынести в виде библиотек, чтобы можно было переиспользовать их в разных проектах: Модули в проекте, которые часто встречаются. Например, кастомные View Когда существующий API неудобный ...

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

[Из песочницы] NRF51822: дружим BLE и RTOS Современные тенденции в технике идут по пути все большей интеграции – прогресс позволяет делать процесс разработки электронных устройств все больше похожим на сборку конструктора. Одним из наиболее ярких примеров является огромное количество так называемых «систем на чипе»...

[Перевод] Почему 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...

[Перевод] Разработка статического блога на Gatsby и Strapi Статические веб-сайты содержат страницы с неизменным содержимым. Технически — это набор HTML-файлов, которые, для каждого посетителя сайта, выглядят одинаково. В отличие от динамических веб-сайтов, для разработки таких сайтов не нужно серверное программирование или базы данн...

[Из песочницы] Сверточная нейронная сеть, часть 1: структура, топология, функции активации и обучающее множество Предисловие Данная статья является частью моей научной работы в ВУЗе, которая звучала так: «Программный комплекс детектирования лиц в видеопотоке с использованием сверточной нейронной сети». Цель работы была — улучшение скоростных характеристик в процессе детектирования лиц ...

[recovery mode] Как написать одностраничное приложение (SPA) с использованием Vue.js Одностраничные приложения (SPA) имеют мнжество преимуществ, таких как скорость, по-настоящему хороший UX, и полный контроль HTML-разметки. Становится всё больше и больше сайтов SPA; всё больше инструментов, которые упрощают процесс разработки SPA. Вы, вероятно уже читали о...

[Из песочницы] Геолокация внутри помещений на базе iBeacon. Решение Aruba Meridian Геолокация внутри помещений на основе BLE маячков (BLE beacons) в момент своего появления на рынке привлекла много внимания, в том числе и здесь, на Хабре. Было написано достаточно много хороших статей (на материал которых я буду периодически ссылаться), однако по мере накоп...

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

Из спутниковых снимков в графы (cоревнование SpaceNet Road Detector) — попадание топ-10 и код (перевод) Привет, Хабр! Представляю вам перевод статьи. Это Вегас с предоставленной разметкой, тестовым датасетом и вероятно белые квадраты — это отложенная валидация (приват). Выглядит прикольно. Правда эта панорама лучшая из всех четырех городов, так вышло из-за данных, но об этом ...

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

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

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

Простой статический сайт на Webpack 4 После прочтения ряда статей (например, этой) решил перейти на современный подход с использованием Node.js при написании простых сайтов с подхода «динозавров». Ниже представлен разбор примера сборки простого статического сайта с помощью Webpack 4. Статья написана, так как ин...

Истории успеха Kubernetes в production. Часть 8: Huawei Развитие сложной ИТ-инфраструктуры китайской компании Huawei, насчитывающей более 180 тысяч сотрудников, привело к новым вызовам и требованиям, ответом на которые стало создание PaaS, основанной на Kubernetes и Docker. Внутреннее применение новой платформы не просто отлично ...

Мессенджер Line создаст блокчейн-платформу для децентрализованных приложений Японский мессенджер Line планирует создать блокчейн, предназначенный для ускорения разработки децентрализованных приложений на своей платформе. Проект включен в дорожную карту компании на разработку технологий в 2018 году. По словам CTO Line Эувин Пак, они собираются использ...

[Из песочницы] JNI: Подружим Java и C++ Введение Бывают моменты, когда в Java некоторые действия выполняются за пределами обычных Java-классов. Например, необходимо исполнить код, написанный на C/C++ или другом каком-нибудь языке. В данной статье рассмотрим данный вопрос с практической точки зрения, а именно напи...

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

Методы расширения для типов стандартной библиотеки .NET Наверное, почти каждый .NET-разработчик сталкивался со случаями, когда для удобства кодирования рутинных действий и сокращения boilerplate-кода при работе со стандартными типами данных не хватает возможностей стандартной же библиотеки. И практически в каждом проекте появляют...

Управление трафиком с использованием Fiddler Автор: Ольга Еременко, QA Engineer При тестировании сайтов или мобильных приложений иногда возникает необходимость не только отловить трафик между клиентом и сервером, но и модифицировать его, чтобы посмотреть, как это обработает бэкенд и что поменяется на UI. В таких сл...

[Из песочницы] Адаптивная верстка с помощью SCSS и Gulp Доброго времени суток, коллеги! Давно задавался вопросом, как оптимизировать и сделать более удобным код используя @media screen. Ибо код body{font-size: 1em;} @media screen and (max-width: 1024px){ body{font-size: 0.8em;} } создает достаточно крупные файлы. Читать дал...

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

Курс «HTML/CSS. Основы создания сайтов» Без какого языка не обойтись, работая с любой веб-технологией? Конечно же, без HTML/CSS! Знание HTML/CSS — это основа для дальнейшего изучения серверных языков программирования и один из основных инструментов работы верстальщика, программиста ил...

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

Android P может не работать со старыми приложениями Разбирая API в превью Android P для разработчиков, пользователи заметили новое предупреждение, в котором сообщается, что приложение создано для старой версии Android и может работать некорректно. Также в предупреждении рекомендуется найти обновление или написать разработчику...

Новинки C# 7.2. Span<T> и Memory<T> Доброго времени суток, %habrauser%! Столкнувшись с проблемой замедления работы системы при передачи использовании переменных хранимых в стеке я отправился в гугл и нашел отличное решение использование коллекции Span<T>, которая была добавлена в версии языка C# 7.2. Н...

[Перевод] Квантовые вычисления и язык Q# для начинающих Возможно, вы узнали о выпуске пакета средств квантовой разработки Quantum Development Kit и подумали, что это звучит безумно круто… а потом вспомнили, что про квантовую механику почти ничего не знаете. Но ничего страшного. Через 30 минут вы будете знать о кубитах, суперпозиц...

«Это решение правообладателей»: Хидеки Камия о том, почему Bayonetta 3 — эксклюзив Nintendo Switch В 2012 году японская студия Platinum Games озадачила поклонников, объявив о том, что Bayonetta 2 выйдет исключительно на Wii U, перспективы которой уже тогда вызывали сомнения. Не меньше удивил анонс Bayonetta 3, состоявшийся в рамках мероприятия The Game Awards 201...

[Из песочницы] Истинная реализация нейросети с нуля. Часть 2. Распознавание цифр Dispute about eternal Сердечно приветствую всех Хабравчан! С момента выхода первой части "Истинной реализации" (рекомендую ознакомиться) прошло достаточно много времени. Как внятных обучающих статей не было, так и нет, поэтому я решил подарить Вам возможность узна...

[Перевод] Чего из Rust мне не хватает в C Об авторе. Федерико Мена-Кинтеро — мексиканский программист, один из основателей проекта GNOME, автор книги «Язык программирования Rust» Librsvg достиг переломного момента: внезапно выясняется, что легче портировать некоторые основные части из C на Rust, чем просто добавит...

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

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

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

«Нетоскоп» делится результатами научных изысканий На сайте проекта «Нетоскоп» опубликованы результаты научно-исследовательских работ, проведенных в 2017 году в рамках научно-технического сотрудничества. Всего было проведено три НИР, в двух из которых исследовались протоколы, используемые для установки TLS-соединений, а в ...

Модульное тестирование интерфейсов в Headless Chrome. Лекция Яндекса Чтобы непрерывно улучшать большие клиентские интерфейсы, нужна мощная система автотестов. Разработчик Яндекса Дмитрий Андриянов dima117 кое-что про это знает — пару месяцев назад он поделился своим опытом на Я.Субботнике в Нижнем Новгороде. — Сегодня я расскажу, как мы в ...

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

[Перевод] Создание игры на Lua и LÖVE — 5 Оглавление Статья 1 Часть 1. Игровой цикл Часть 2. Библиотеки Часть 3. Комнаты и области Часть 4. Упражнения Статья 2 Часть 5. Основы игры Часть 6. Основы класса Player Статья 3 Часть 7. Параметры и атаки игрока Часть 8. Враги Статья 4 Часть 9. Режиссёр и игровой цикл Ч...

Veeam Academy: от базовых знаний C# до командной разработки за 2,5 месяца → Регистрация открыта до 25 февраля Veeam Academy, созданная на базе Veeam Software, запускает в марте 2018 года интенсив для разработчиков на C#. Интенсив будет полезен тем, у кого уже есть базовые знания в области программирования, но кто хочет получить больше практики...

Разработка AI для пошаговой игры на Node.js (часть 1) Всем привет! Прошло целых полтора года с момента написания моей первой статьи на Хабре. С тех пор проект FOTM претерпел ряд изменений. В начале пройдёмся вкратце по всем модернизациям, а затем перейдём к детальному разбору основной фичи — AI. Читать дальше →

[Перевод] Blazor: Техническое введение Сегодня команда ASP.NET анонсировала, что проект Blazor был перемещён в репозиторий организации ASP.NET. Мы начинаем стадию эксперимента, чтобы понять сможем ли мы развить Blazor в поддерживаемый продукт. Это большой шаг вперёд! Что такое Blazor? Это фреймворк для браузерны...

Защита ваших приложений Xamarin с помощью Dotfuscator Это перевод рассказа Джо Сьюэлла, разработчика из команды Dotfuscator на PreEmptiveSolutions. Давайте говорить честно: выпуск библиотеки, приложения для рабочего стола или мобильного приложения может стать горьким опытом. Как только вы выкладываете вашу программу в открытый...

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

[Из песочницы] Учимся быть фуллстек разработчиками. Пишем приложение на React/Redux/Webpack/ASP.NET Core 2.0/EF Core Ни для кого не секрет, что .net сейчас используется в большинстве случаев как инструмент бэкенд разработки, а в клиентской разработке последние лет 5 правит js сообщество с своей экосистемой и инструментами для разработки. Это все безобразие с каждым годом усиливает пропасть...

Sawtooth: новая модульная платформа для корпоративного блокчейна Сообщество Hyperledger, поддерживаемое Linux Foundation и развивающее технологии блокчейна для корпоративного применения, представило свою вторую модульную платформу. Сообщество Hyperledger, поддерживаемое Linux Foundation, представило Sawtooth 1.0 &ndash; модульную п...

Сообщения Android выходят на новый уровень Стандартное приложение сообщений в ОС Android в данный момент умеет работать только с простыми текстовыми сообщениями SMS, но уже скоро это может измениться. В последних изменениях исходного кода обнаружены закладки для вывода сервиса сообщений в отдельный веб-интерфейс, а с...

Универсальные приложения React + Express В прошлой статье рассматривалась библиотека Next.js, которая позволяет разрабатывать универсальные приложения «из коробки». В обсуждении статьи были озвучены существенные недостатки этой библиотеки. Судя по тому, что https://github.com/zeit/next.js/issues/88 бурно обсуждаетс...

Юнит тесты при использовании корутин в Android приложении Перевод статьи. Оригинал находиться здесь. В этой статье не рассматривается принцип работы корутин. Если вы не знакомы с ними, то рекомендуем прочитать введение в kotlinx git repo. Статья описывает трудности при написании юнит тестов для кода, использующего корутины. В конц...

[Перевод] Анонс Dart 2.0: Оптимизированный для клиентской разработки Сегодня мы анонсируем Dart 2, перезагрузку языка, которая более полно отражает наше видение Dart как уникально оптимизированного языка для клиентской разработки на Web и мобильных платформах. Dash — официальный маскот языка Читать дальше →

Переписываем приложение под blockchain Отмечу сразу, что данная статья не о том как писать код на Solidity, а как существующую классическую архитектуру вашего приложения можно перевести на рельсы blockchain и думать в ключе децентрализации. Пару лет назад я работал над одним интересным веб приложением сервиса p2...

Есть ли порох в пороховницах? Hackathon Radio Canada 2018 (Часть вторая — боевая готовность) Это вторая часть моего повествования (искренне думал что последняя). Первая часть здесь. Итак, формально команда сформирована. Хотя никто никого еще не знает. Цель проекта не определена. Radio Canada обещают предоставить некий API за неделю до события, чтобы у участников...

DNSCrypt 2.0 и блокировка рекламы В этой статье хотелось бы рассмотреть нововведения Dnscrypt, на конкретном примере, который наверняка окажется для кого-то полезным. Для тех, кто не знает, Dnscrypt — это уникальный протокол шифрования DNS-трафика. Он даёт возможность защитить DNS-коммуникации от перехватов...

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

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

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

[Перевод] Immer: новый подход к иммутабельности в JavaScript Иммутабельные структуры данных, реализующие методику совместного использования неизменяемых фрагментов информации (structural sharing), выглядят как отличная технология для хранения состояния приложения. Особенно — в комбинации с архитектурой, основанной на событиях. Однако ...

Мега-Учебник Flask, Часть XIII: I18n и L10n (издание 2018) Miguel Grinberg Туда Сюда Это тринадцатая часть серии Мега-Учебник Flask, в которой я расскажу вам, как реализовать поддержку нескольких языков для вашего приложения. В рамках этой работы вы также узнаете о создании собственных расширений CLI для flask. Для справки ниже ...

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

Создан первый условно двухмерный полупроводниковый материал, состоящий из суператомов Всем людям известно, что вся нормальная материя в окружающей нас Вселенной состоит из атомов. Однако, исследователи из Колумбийского университета, США, Итальянского технологического института и университета Анже, Франция, создали новый условно двухмерный полупроводниковый ма...

[Перевод] Создание игры на Lua и LÖVE — 4 Оглавление Статья 1 Часть 1. Игровой цикл Часть 2. Библиотеки Часть 3. Комнаты и области Часть 4. Упражнения Статья 2 Часть 5. Основы игры Часть 6. Основы класса Player Статья 3 Часть 7. Параметры и атаки игрока Часть 8. Враги Статья 4 Часть 9. Режиссёр и игровой цикл Ч...

#Ускорение4X. Адвокат дьявола Сегодня рассмотрим конкретный прием, который, при честном применении, может решить задачу ускорения до 4X, и дальнейшие статьи можно будет не читать. Этот прием называется «Адвокат дьявола», и цель его применения в нашем случае — снижение сопротивления людей. Сопротивление ...

Польские студенты создали приложение для лёгкого перемещения студентов-инвалидов Группа студентов из Варшавского политехнического университета и Ягеллонского университета в Кракове разработала систему позиционирования внутри зданий для студентов-инвалидов. Мобильное приложение было создано в рамках местного хакатона Campus App Challenge. Авторы ...

Разработка AI для пошаговой игры на Node.js (часть 2) И снова здравствуйте, друзья! Не так давно я поделился с вами своим опытом применения нейронной сети для для решения задачи выбора действия ботом. Чтобы подробнее узнать о сути задачи, пожалуйста, ознакомьтесь с первой частью статьи. А я перейду к рассказу о следующем этап...

[Перевод] Расшифровка сохранённых паролей в MS SQL Server Давным-давно, в далёкой галактике, пред-предыдущий администратор вашего SQL Server задал в нём linked server, используя специально для этой цели созданный аккаунт со сгенерированным паролем. Теперь вам с этим линком нужно что-то сделать, например перенести его на другой SQL ...

[Перевод] Разработка игр под NES на C. Глава 24. Приложение 2 — работа с банками памяти Завершающая часть цикла. В этой главе рассмотрим работу с маппером MMC3 на примерах <<< предыдущая Источник Раньше мы не использовали переключение банков памяти, но теперь настало время освоить маппер MMC3. Без маппера можно использовать 32 килобайта PRG ROM для ко...

Google намерена унифицировать приложения для iOS и Android Google начинает бета-тестирование фреймворка Flutter, который позволит разработчикам создавать универсальные приложения для Android и iOS. Об этом пишет TechCrunch со ссылкой на официальных представителей компании. По их словам, новейший продукт призван облегчить жизнь раз...

[Из песочницы] Разворачиваем связку Nginx+Php-Fpm+MySQL с magento2 на борту и раскладываем по контейнерам в Docker Добрый день! Все чаще стучась в различные компании разработчиков в качестве DevOps инженера, я получаю приблизительно одни и те же тестовые задания. Они отличаются друг от друга версиями PHP или проектами которые надо запустить. Но в целом они упираются в одну связку это N...

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

[Перевод] Создание чатбота с использованием Q&A Maker и Microsoft Graph Привет, Хабр! Совсем недавно мы проводили хакатон для разработчиков в Бухаресте и Клуже. Основной задачей группы в Клуже было создание эффективной программы-робота для чатов с поддержкой Endava и использованием Microsoft Graph и Q&A Maker. Сегодня мы расскажем об этом пр...

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

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

Дополнительные сведения о реорганизации в Microsoft Недавно генеральный директор Microsoft Сатья Наделла объявил о масштабной реорганизации в компании, о чём мы уже рассказывали ранее. Так, корпоративному вице-президенту Джо Бельфиоре была поручена работа над созданием и поддержкой опыта использования клиентских систем Windo...

Будущий Nubia N3: в подробностях и с реальными фото Компания ZTE пополняет семейство моделей Nubia ещё одним представителем. Речь идёт о безрамочном Nubia N3, который выглядит красиво снаружи и любопытно внутри. Недавно смартфон обзавёлся подробными техническими данными и парой реальных фотографий. Читать далее Запись Будущий...

«Газпромнефть-Логистика» будет обучать персонал с помощью VR-тренажеров В рамках реализации проекта было закуплено 6 комплектов Samsung Gear VR. Кроме того, было создано 11 комплексных VR-симуляций, моделирующих реальные производственные объекты, имитацию действий персонала в рамках штатных процессов работы и в аварийных ситуациях.

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

[Перевод] Регулярные выражения: никакой магии Код этого поста, как и сам пост, выложен на github. До недавнего времени регулярные выражения казались мне какой-то магией. Я никак не мог понять, как можно определить, соответствует ли строка заданному регулярному выражению. А теперь я это понял! Ниже представлена реализа...

[Из песочницы] Как я парсил БД C-Tree, разработанную 34 года назад Прилетела мне недавно задача дополнить функционал одной довольно старой програмки (исходного кода программы нет). По сути нужно было просто сканить периодически БД, анализировать информацию и на основе этого совершать рассылки. Вся сложность оказалась в том, что приложение ...

Семинар «Разработка vs Эксплуатация. Почему ни Agile, ни DevOps – это не волшебная пилюля», 22 марта, Москва Мы запускаем новое направление Университетов DataLine — семинары по поддержке интернет-проектов и взаимодействию разработки и эксплуатации. Новым будет и формат — теперь мы будем вести онлайн-трансляции со всех наших семинаров! Дата: 22 марта в Москве. Тема: «Разработка...

Toyota начинает компанию по разработке программного обеспечения для самостоятельного вождения Toyota расширяет свое стремление к «самостоятельным» машинам, открывая новую фирму под названием Toyota Research Institute Advanced Development или TRI-AD. Это совместное дело Toyota с поставщиком автотехники Aisin Seiki и Denso. Две компании планируют инвестировать в TRI-...

Vue.js Moscow Meetup #1 (22.03.2018) В конце месяца пройдет первый Московский MeetUp, посвященный исключительно фреймворку Vue.js. На мероприятие приглашаются все заинтересованные разработчики – от начинающих до опытных. Мы будем обсуждать самые разные вопросы применения Vue.js, а спикеры и гости мероприяти...

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

Apple открыла код «невероятной» СУБД Исходный код СУБД можно найти на GitHub по адресу github.com/apple/foundationdb. Компания приглашает разработчиков просмотреть код на предмет выявления недостатков и предложения улучшений.Пользователи интернета отреагировали на новость с большим энтузиазмом. "Это НЕВЕРО...

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

Разработка изоморфного RealWorld приложения с SSR и Progressive Enhancement. Часть 4 — Компоненты и композиция В предыдущей части туториала мы решили проблемы изоморфного роутинга, навигации, фетчинга и начального состояния данных. В итоге, получилась довольно простая и лаконичная основа для изоморфного приложения, которую я также выделил в отдельный репозиторий — ractive-isomorphic-...

Приложение «Фотографии» для Windows 10 получит временную шкалу (Timeline) Согласно свежей информации с итальянского портала Aggiornamenti Lumia, компания Microsoft готовит новое обновление для приложения «Фотографии» в Windows 10, которое будет включать в себя временную шкалу (Timeline) для изображений, что позволит пользователям быстро прокручив...

[Перевод] Срыв масштабной хакерской атаки на пользователей Windows в России: часть 2 Совсем недавно мы предотвратили массовую атаку с применением трояна Dofoil, целью которой была установка вредоносного ПО для майнинга криптовалют на сотни тысяч компьютеров. С помощью поведенческого мониторинга, моделей машинного обучения и многоуровневой системы защиты анти...

Энтузиаст создал сайт для отслеживания местоположения запущенного Маском в космос электромобиля Сайт Whereisroadster.com, созданный инженером по имени Бен Пирсон, использует данные NASA и в реальном времени отображает положение электромобиля относительно Солнца, Земли, Марса, а также показывает скорость, с которой Tesla Roadster движется в космосе.

Система мониторинга как точка проникновения на компьютеры предприятия Это продолжение памятки про систему мониторинга Zabbix, опубликованной недавно в нашем блоге. Выражаем огромную благодарность пользователю Shodin, который внес значительный вклад в исследование и написал данную статью. Системы мониторинга — это очень практичный компонент д...

Асинхронные HTTP-запросы на C++: входящие через RESTinio, исходящие через libcurl. Часть 1 Преамбула Наша команда занимается разработкой небольшого, удобного в использовании, встраиваемого, асинхронного HTTP-сервера для современного C++ под названием RESTinio. Начали его делать потому, что нужна была именно асинхронная обработка входящих HTTP-запросов, а ничего го...

Управляем состоянием приложения без шаблонного кода и магии Хочу поделиться с сообществом своей реализацией концепции flux как единого источника данных и видением построения веб-приложений. Мотивом к созданию своего решения послужило желание избавиться от большого количества шаблонного кода и сделать взаимодействие с источником дан...

Google выпустила первую бета-версию Flutter для кросс-платформенной разработки приложений Сегодня компания Google объявила о выпуске первой бета-версии инструмента Flutter, с помощью которого разработчики смогут создавать кросс-платформенные приложения для Android и iOS с общей кодовой базой. В каком-то смысле это действительно конкурент Microsoft Xamarin. Для р...

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

Как адаптировать игру на Unity под iPhone X к апрелю Месяц назад Apple предупредила всех разработчиков, что с апреля все приложения, которые заливаются в App Store, должны быть собраны с использованием последнего iOS 11 SDK. О том, как правильно позиционировать контент, используя новый API, уже давно можно почитать в официал...

Погружение в разработку на Ethereum. Часть 4: деплой и дебаг в truffle, ganache, infura В прошлой статье мы рассмотрели разработанное приложение на Ethereum. Но обошли стороной вопрос как происходит процесс разработки. Ясно, что это не просто написание кода, который сразу работает. Большую часть времени придется потратить на то, чтобы доводить код, который “поч...

Строгая типизация для приложений Vue.js на TypeScript Вопрос: Каковы самые слабые места Vue? Oтвет: На данный момент, наверное, недружественность к типизации. Наш API разрабатывался без планирования поддержки типизированных языков (типа TypeScript), но мы сделали большие улучшения в 2.5. Вопрос: Тони Хор (Tony Hoare) назвал n...

Новый протокол QUIC уязвим перед DDoS-атаками QUIC (Quick UDP Internet Connections) - новый экспериментальный интернет-протокол, разработанный Google для замены старого стека протоколов WWW. QUIC работает поверх всем известных транспортных протоколов типа UDP. Сегодня уже происходит активное внедрение QUIC, в частности,...

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

GObject: наследование и интерфейсы В комментариях к прошлой статье часто высказывалось мнение, что система GObject не нужна ввиду наличия C++ и других высокоуровневых языков. Помимо чисто технических моментов, о которых уже поговорили в комментариях, хотелось бы затронуть другой аспект. Вероятно, большинство ...

[Из песочницы] Настройка Sublime Text 3 для работы с VHDL файлами Работа с VHDL в Sublime Text 3 Редактор Sublime Text существенно экономит время при работе с vhdl и verilog файлами. Для тех, кто не работал с редакторами типа Sublime Text, Notepad++ и т.п. опишу основные полезные функции данных редакторов: множественное выделение/редакти...

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

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

Модульное тестирование react компонетнов withRouter (jest, enzyme) При разработке модульных тестов для react компонента, обернутого в вызов withRouter(Component) столкнулся с сообщением об ошибке, что такой компонент может существовать только в контексте роутера. Решение этой проблемы очень простое и не должно по идее вызывать вопрсов. Хотя...

Тестирование API сервисов и RSpec Иногда бывает необходимость написать небольшой АПИ сервис, часто в виде прототипа. И часто этот прототип потом так и остаётся в первоначально написанном виде следуя принципу «работает — не трогай». Переписывание даже относительно маленького сервиса сопряжено с возможностью...

[Перевод] Разработка на Blockchain — что изменится для разработчиков? Эта статья является переводом поста Винсента Чена (Vincent Chen) и Рамона Рекуэро (Ramon Recuero), цели которого очень схожи с теми, что преследуем и мы, и написанного для таких разработчиков, которых мы хотели бы видеть на своих мероприятиях. Введение Если вы читаете этот ...

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

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

Исходный код System Shock выложен в открытый доступ под GPL Исключительно хорошая новость: исходный код культовой игры System Shock (в версии для PowerMac) официально выложен под GNU General Public License v3.0. Игра была выпущена в 1994 году и написана на C. Как известно, автор оригинальной игры, студия Looking Glass Studios, пре...

Пишем плагин для Unity правильно. Часть 1: iOS Когда делаешь на Unity игры для мобильных платформ, рано или поздно придется писать часть функционала на нативном языке платформы, будь то iOS (Objective C или Swift) или Android (Java, Kotlin). Это может быть свой код или интеграция сторонней библиотеки, сама установка мо...

Открытие клуба Недавно в рамках творческого эксперимента мы на «Фрилансим» открыли Клуб — место для общения фрилансеров и заказчиков. Клуб состоит из двух разделов: новости сервиса и беседка. В новостях мы рассказываем о нововведениях, полезных фичах и планах. Материалы публикуются исключи...

[Перевод] Создание игры на Lua и LÖVE — 6 ОглавлениеОглавление Статья 1 Часть 1. Игровой цикл Часть 2. Библиотеки Часть 3. Комнаты и области Часть 4. Упражнения Статья 2 Часть 5. Основы игры Часть 6. Основы класса Player Статья 3 Часть 7. Параметры и атаки игрока Часть 8. Враги Статья 4 Часть 9. Режиссёр и игро...

«Придётся писать самим. Сели и написали»: жизнь разработчиков лабораторного кластера супермассивов в Сбертехе Существует миф, что банки — это очень закостенелые структуры, в которых нет места эксперименту. Чтобы опровергнуть этот миф, мы провели небольшое интервью с Валерием Выборновым — начальником отдела разработки лабораторного кластера супермассивов в Сбербанк-Технологиях. У себ...

История ES6-модулей Владислав Власов, инженер-программист в Developer Soft и преподаватель курса Нетологии, специально для блога написал цикл статей о EcmaScript6. В первой части на примерах рассмотрели динамический анализ кода в EcmaScript с помощью Iroh.js, во второй сосредоточились на реализ...

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

Швейцарский стартап создаст децентрализованный «интернет-компьютер» Разработчики из компании DFINITY приступили к созданию открытого протокола, позволяющего объединить компьютеры пользователей в единую децентрализованную облачную платформу, превратив их в своеобразный «интернет-компьютер». Разработчики сообщают, что планируют кон...

[Перевод] Как компания Atlassian построила бизнес стоимостью 10 млрд долларов. Часть 2 Продолжаем рассказывать историю Atlassian. 1 часть вы можете прочитать тут. 2015 год — настоящее время: расширение на прибыльные конкурентные рынки Для многих SaaS-компаний сегодняшний бизнес Atlassian выглядит как «конечная цель»: вырасти в огромную работающую на мировом...

Мифы про инфраструктуру в облаке: с какой неграмотностью мы сталкиваемся в России каждый день Меня зовут Александр, и я, среди прочего, занимаюсь тем, что общаюсь с теми, кто только-только узнал про облака. И хочет перевести туда часть своей инфраструктуры. Чаще всего это производства не из Москвы, которые совсем недавно узнали про виртуализацию как таковую. В по...

Как выпустить самоподписанный SSL сертификат и заставить ваш браузер доверять ему Все крупные сайты давно перешли на протокол https. Тенденция продолжается, и многие наши клиенты хотят, чтобы их сайт работал по защищенному протоколу. А если разрабатывается backend для мобильного приложения, то https обязателен. Например, Apple требует, чтобы обмен данны...

Square Enix анонсировала симулятор мотокросса MXGP Pro Издательство Square Enix объявило о разработке продолжения известной серии симуляторов мотокросса MXGP: новинка получила название MXGP Pro. По словам издателя, проект будет выпущен 29 июня этого года на ПК, PlayStation 4 и Xbox One. Его разработкой, как и предыдущ...

[Перевод] Операционная система на Rust: минимальный multiboot загрузчик Эта статья объясняет как создать минимальное ядро операционной системы, используя стандарт мультизагрузки. По факту, оно будет просто загружаться и печатать OK на экране. В последующих статьях мы расширим его, используя язык программирования Rust. Я попытался объяснить всё ...

Facebook планирует запуск процессоров собственного производства Согласно информации поступившей с сайта Bloomberg, Facebook намерена выпускать процессоры для своих устройств и серверов. Компания планирует нанять менеджера для создания “сквозной SoC/ASIC, прошивки и организации по разработке драйверов”. Таким образом компания ...

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

Мобильное приложение от Google научит кодировать на JavaScript Компания Google выпустила приложение Grasshopper в рамках проекта Area 120, позволяющее выучить основы программирования на языке JavaScript с помощью бесплатных коротких уроков. Обучение в новом сервисе представлено в игровой форме, из-за чего программа напоминает самый попу...

Google Ассистент скоро заговорит по-русски Примерно месяц назад в сети появилась информация о том, что компания Google запустила в бета-тест Assistant с поддержкой русского языка. Это приободрило пользователей, ведь версией на английском пользоваться не совсем комфортно — не все владеют иностранным языком настолько д...

Реактивная работа с Bluetooth в реальных условиях Небольшое предисловие, или в чем же боль В последнее время я активно работаю над приложениями, которые имеют модули работы с Bluetooth по не-очень-хорошо спроектированным протоколам с кастомными устройствами, что периодически добавляет мне интересных угу, как же проблем. По...

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

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

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

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

[Перевод] Новости из мира OpenStreetMap №392 (16.01.2018-22.01.2018) Форма для печенья от Кристиана (Christian Quest)[1] Карты Исследовательская группа GIScience из Гейдельбергского университета сообщает о новой версии OSMlanduse.org. Пробелы в данных OSM (только для Германии), теперь заполнены данными извлечёнными из спутниковых снимков, п...

Онлайн-хакатон: создание приложений для SharePoint Online Привет, Хабр! Хочу поделиться информацией об онлайн-хакатоне для специалистов по автоматизации бизнес-процессов. Кто организует конкурс Соревнование проводится на новой специализированной платформе Contestars.com, а его организатором выступило сообщество разработчиков Iz...

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

Diasoft Database Adapter адаптирует приложения на СУБД Oracle или MS SQL к PostgreSQL без изменения их исходного кода Описание Диасофт (Diasoft) Database Adapter – программный транслятор, позволяющий информационным системам работать на разных СУБД. С помощью данного решения можно адаптировать приложения, созданные в расчете на использование Oracle database или Microsoft SQL Server, к рабо...

Компилятор на JavaScript с использованием ANTLR В начале этого года я присоединилась к команде, работающей над MongoDB Compass — графическим интерфейсом для MongoDB. Пользователи Compass через Intercom запросили инструмент, позволяющий писать запросы к базе данных, используя любой удобный им язык программирования, подд...

Годовой отчет по кибер- и инфобезопасности за 2017 год Здравствуй, Хабр. Мы бы хотели представить тебе краткую версию годового отчета по кибер- и инфобезопасности за 2017 год, написанный нами совместно с главным партнером — Wallarm, предоставившим информацию по наиболее заметным уязвимостям и взломам. В 2017 году компании Qrato...

[Перевод] Как построить сообщество. Перевод книги «Социальная архитектура»: Глава 4. Протокол для коллаборации C4 «Это эссенция тридцатилетнего опыты разработки программного обеспечения.» Процесс ZeroMQ: C4 Когда мы говорим о ZeroMQ, мы иногда имеем в виду libzmq — основную библиотеку. В начале 2012 года мы синтезировали процесс libzmq в формальный и многоразовый протокол для совместной...

Пишем плагин для Unity правильно. Часть 2: Android В предыдущей части мы рассмотрели основные проблемы написания нативных плагинов на Unity под iOS и Android, а также методы их решения для iOS. В этой статье я опишу основные рецепты по решению этих проблем для Android, стараясь сохранить схожую структуру взаимодействия и п...

[Перевод] Сейчас вы поймете, как отложить вычисления и реализовать ленивую загрузку с помощью IntersectionObserver Жил-был один веб-разработчик, который мог убедительно доказать своим клиентам, что сайты не должны выглядеть одинаково во всех браузерах, уделял внимание доступности и удобству использования и был одним из первопроходцев в применении CSS grids. Но глубоко в сердце настоящей ...

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

[Перевод] Почему фотография Скарлетт Йоханссон заставила PostgresSQL майнить Monero В рамках кампании по защите данных наших клиентов мы в Imperva рассказываем о разных методах атак на БД. Если вы не знакомы с нашим исследовательским проектом StickyDB, почитайте прошлые статьи: часть I и часть II. Там описано устройство сети ханипотов (рис. 1), которая зама...

Умелец создал 3D-движок в MS Excel Пользователь под ником C Bel сделал собственный 3D-движок без использования макросов и VBA. C Bel был вдохновлен коридорами игры Doom, что и послужило на создание такого проекта, а ни как не отсутствием личной жизни...Итак, что может данный 3D-движок:Создание бесконечных про...

[Из песочницы] Запускаем полноценный кластер на Kubernetes с нуля на Ubuntu 16.04 Уже довольно много написано статей, по установке и запуску Kubernetes, однако, не всё так гладко (я потратил несколько суток на запуск своего кластера). Данная статья призвана дать исчерпывающую информацию не только по установке k8s, но и объяснить каждый шаг: зачем и почем...

Angular: OAuth2 авторизация, рефрешим токен и HttpInterceptor Доброго времени суток. Опишу процесс авторизации с использованием некоторого сервера авторизации и интерфейса HttpInterceptor, который стал доступен с версии Angular 4.3+. С помощью HttpInterceptor`a будем добавлять наш токен в Header запроса перед отправкой каждого запроса...

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

У них — Live, а у нас — Connect В Москве прошел форум Cisco Connect 2018. В начале апреля в Москве состоялся масштабный форум Cisco Connect, фактически представляющий собой адаптированную к условиям российского ИКТ-рынка версию ежегодных конференций Cisco Live, организуемых в разных странах мира для пол...

[Перевод] Optimistic UI, CQRS and EventSourcing При разработке высоконагруженных веб-приложений для лучшего масштабирования часто применяется такой принцип, как CQRS. Он гласит, что метод должен быть либо командой, выполняющей какое-то действие, либо запросом, возвращающим данные, но не одновременно и тем, и другим. Друг...

В Google Play и App Store вышла прекрасная головоломка Samsara в двух измерениях Порталы — одна из самых инновационных механик в современных головоломках. И разработчики, использующие ее, без лишних усилий делают свой проект в разы привлекательные. Например, Samsara. Это двухмерный платформер, в котором вы управляете девочкой Зи, умеющей перемешаться с п...

Google Maps теперь открыты разработчикам игр с использованием дополненной реальности Игры с использованием технологии дополненной реальности, такие как Pokémon GO, вызывают повышенный интерес, а потому имеют большую популярность. Грядущие «Ghostbusters World» и «Jurassic World Alive» имеют все шансы повторить успех покемонов. Н...

Как победить рутину, или Готовое приложение в Xcode за пару кликов У каждого опытного разработчика есть набор инструментов, к которым он привык и с которыми ему удобно работать. Это может быть простейшая настройка окружения, утилиты для промежуточных операций (к примеру, помощник по тестированию API Postman), проверенные временем и лично ра...

Релиз PVS-Studio для macOS: 64 weaknesses в XNU Kernel Новая версия PVS-Studio 6.23 работает под управлением macOS и позволяет проверять проекты, написанные на языке C и C++. К этому событию наша команда решила приурочить проверку XNU Kernel. PVS-Studio для macOS С выходом версии анализатора для macOS, PVS-Studio можно смело на...

[Перевод] Четыре факта о memcached-амплификации Это перевод оригинальной публикации Артема ximaera Гавриченкова «Undestanding the facts of memcached amplification attacks», опубликованной в блоге APNIC (Азиатско-Тихоокеанский сетевой информационный центр). Неделя с 25 февраля по 3 марта была высокоинтенсивной с точки з...

[Перевод] Разработка игр под NES на C. Главы 14-16. Работа со звуком В этой части базовая информация о работе со звуком. Звуковая подсистема NES весьма низкоуровневая, ее описание весьма запутано и использует специфическую терминологию, так что описание местами может быть не очень внятное. Источник Начало работы со звуком Обзор инструментов,...

В Telegram обнаружили уязвимость нулевого дня Уязвимость заключалась в использовании так называемой атаки right-to-left override (RLO). RLO - особый непечатный символ кодировки Unicode, который зеркально отражает направление расположенных далее знаков. Обычно он используется при работе с языками, в которых текст идет сп...

[Перевод] 3D-движок, написанный на формулах MS Excel Скриншот экрана игры Эта статья посвящена тому, как я смог написать 3D-движок только на формулах Excel. Я реализовал следующий функционал: бесконечная процедурно генерируемая карта лабиринта рендеринг трассировкой лучей в реальном времени вычисление окклюзии рендеринг пр...

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

Атмосфера или боль: как выбрать музыку к компьютерной игре Привет, Хабр! Недавно мы в GeekBrains открыли факультет разработки игр, чтобы студенты погрузились в этот увлекательный мир. Музыка — его важная часть. Многие думают, что музыка по сравнению с графикой или геймплеем второстепенна. При этом разработчики масштабных проектов ч...

Microsoft анонсировала API трассировки лучей DirectX Raytracing Сегодня стартовала GDC 2018, и первый серьезный анонс на ней сделала Microsoft совместно со своими партнерами. В графическое API DirectX 12 будет добавлена новая важная функциональная часть — DirectX Raytracing (DXR). Под этим названием скрывается новое стандартное API д...

[Перевод] Операционные системы с нуля; Уровень 0 Добрый день/вечер/ночь/утро! Есть один экспериментальный курс по операционным системам. Есть он в Стэнфордском университете. Но часть материалов доступно всем желающим. Помимо слайдов доступны полные описания практических занятий. Чем этот курс отличается от прочих других?...

SketchAR School: научиться рисовать шаг за шагом с помощью дополненной реальности Авторы проекта SketchAR начали использовать в своем проекте нейронные сети и машинное обучение. Зачем это приложению для рисования? А как иначе помочь пользователю создать шедевр!

Интенсив «C# для начинающих» С помощью С# вы можете писать Windows-приложения, кроссплатформенные игры на движке Unity, игры на Xbox и масштабные веб-сервисы. «Си-шарп» входит в ТОП-5 языков программирования по частоте запросов в Google и имеет четвертое по&n...

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

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

Асинхронные HTTP-запросы на C++: входящие через RESTinio, исходящие через libcurl. Часть 2 В предыдущей статье мы начали рассказывать о том, как можно реализовать асинхронную обработку входящих HTTP-запросов, внутри которой нужно выполнять асинхронные исходящие HTTP-запросы. Мы рассмотрели реализованную на C++ и RESTinio имитацию стороннего сервера, который долго ...

[Из песочницы] Операционная система на JavaScript? JsOS Приветствую, хабровчане! Как вы думаете, можно ли создать полноценную операционную систему на языке программирования JavaScript, с которой можно загружаться? Правильный ответ — можно! Сегодня я хочу рассказать вам про проект JsOS. Читать дальше →

Краткая история Rust: от хобби до самого популярного ЯП по данным StackOverflow Rust — это язык системного программирования, создатели которого уделили внимание трем вещам: параллелизму, скорости и безопасности. И хотя Rust считается молодым языком программирования — его первая стабильная версия вышла в 2015 году — он разрабатывается уже более десяти ле...

[Перевод] Blockchain на Go. Часть 1: Прототип Блокчейн одна из самых революционных технологий 21 века, до сих пор не реализовавшая весь свой потенциал. По сути, блокчейн это просто распределенная база данных. Что же делает ее уникальной? Это база данных полностью открыта и хранится у каждого участника полной или частичн...

tdlib-ruby: как сделать Telegram-клиент на Ruby Одна из особенностей мессенджера Telegram — широкие возможности API (Bot API и Telegram API). Команда Telegram пошла ещё дальше и выпустила библиотеку TDLib (Telegram Database Library), позволяющую разрабатывать альтернативные клиенты Telegram и не задумываться о низкоуровн...

Обзор web-доступа к системе управления проектами Pilot-ICE Введение Зачем нужен web-доступ к системе управления проектами? Был ли с вами случай: когда вы забывали флешку, когда шли к заказчику или клиенту? Или оказывалось, что файл на флешке оказался другой версии? Согласно истории, именно это побудило Дрю Хьюстона, создать Dropbox....

Разворачиваем окружение для Java-приложения с помощью Ansible За мной, за мной, читатель, и я проведу тебя в чарующий мир автоматизации разворачивания окружения на серверах под управлением Linux семейства RHEL. Один из наших java-проектов вырос, стал совсем взрослым и сейчас занимает 4 контура: Dev — контур для команды разработки, Qa —...

[Перевод] Элегантные паттерны современного JavaScript: RORO Автор материала, перевод которого мы публикуем сегодня, Билл Соро, говорит, что написал первые строки кода на JavaScript вскоре после появления этого языка. По его словам, если тогда ему сказали бы, что однажды он выпустит серию статей об элегантных шаблонах проектирования в...

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

Производство информационных систем. Часть 3. Реализация проектного решения VII РАЗРАБОТКА ПЛАНА РЕАЛИЗАЦИИ И ВНЕДРЕНИЯ ПРОЕКТНОГО РЕШЕНИЯ Блестящим планам везет на проектировщиков. Скверным планам везет на исполнителей. Веслав Брудзинский. На этом этапе процесс вновь начинает крутиться вокруг руководителя проекта. Снова оценка трудоемкости, опреде...

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

Торговая стратегия для торговли коинтегрированными парами акций Цель данной статьи — поделиться простейшей стратегией статистического арбитража, основанной на торговле коинтегрированными парами акций, которые были выявлены на Московской и Нью-Йоркской биржах. Если мы возьмём пару коинтегрированных акций, то у нас есть возможность захедж...

Silicon Motion поставляет контроллеры для SSD Intel 760p На днях на квартальной отчётной конференции руководство тайваньской компании Silicon Motion Technology раскрыло, что новейшие SSD компании Intel серии 760p основаны на фирменных контроллерах компании. Это контроллеры с поддержкой интерфейса PCI Express 3.0 и протоко...

На базе МИЭМ будет создан Центр по продвижению технологий Интернета вещей (IoT) Договоренности позволят вузу повысить актуальность и практическую направленность магистерской программы, а PTC - получить новые возможности для создания интеграционных решений.Руководство МИЭМ НИУ ВШЭ совершенствует программу обучения с целью увеличения практической значи...

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

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

Шифровальщик Scarabey использует протокол удаленного доступа Создатели шифровальщика Scarab выпустили новую версию зловреда, которая ориентирована исключительно на российские компании. Вымогатель второго поколения получил название Scarabey и применяется для целевых атак через протокол удаленного доступа (Remote Desktop Protocol, RDP)....

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

Илон Маск: Беспилотная Tesla сама проедет через всю Америку Отправить автомобиль Tesla в беспилотную поездку по всей Америке Илон Маск задумал ещё в прошлом году. Тем не менее множество других задач, стоящих перед компанией, не позволило реализовать идею в срок. Но сейчас, пишет Techcrunch со ссылкой на главу компании Tesla, эта ам...

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

[Из песочницы] Android Lifecycle-aware Architecture Components 6 ноября 2017 года компания Google опубликовала информацию об анонсе стабильной версии архитектурных компонентов. Разработчики Google предоставили руководство по архитектуре приложений и представили ряд классов и интерфейсов, которые упрощают создание приложений с выстрое...

Языки программирования для квантового компьютера Прототип ядра ионного квантового компьютера. Ion Quantum Technology Group, Сассекский университет Квантовые компьютеры время от времени попадают в СМИ. Вы слышите о том, как человек шаг за шагом приближается к их созданию, хотя для большинства развитие квантовых вычислений ...

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

Теперь в Snapchat можно создавать собственные фильтры для лица Компания Snap расширяет возможности разработчиков, чтобы пользователи смогли создавать собственные фильтры для лица. Спустя четыре месяца после выхода приложения Lens Studio, которое позволило всем желающим создавать собственные объекты для дополненной реальности, Snap выпус...

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

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

Старые приложения могут не работать в Android P В коде последней версии Android P Developer Preview 1 разработчики нашли новый класс, который содержит версию API. В случае, если у приложения версия API более старая, чем указано в классе, операционная система выдаст предупреждающее сообщение: «Это приложение было соз...

Фреймворк для бессерверных приложений в AWS Мы решили создать небольшой фреймворк для бессерверных веб-приложений в AWS. Может более правильно назвать это не фреймворком, а заготовкой, — я не знаю. Но суть в том, чтобы создать основу для быстрой разработки бессерверных приложений в AWS. Код выложен на GitHub и открыт ...

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

Как добавить универсальную папку с последними приложениями в Dock Сегодня мы рассмотрим очередной способ организовать работу в macOS. В этом нам поможет трюк, который добавит в док-панель универсальную папку, которая отображает исключительно последние файлы/приложения. Это может пригодиться тем, кто много работает с файлами. Приступим к...

Почему я не люблю DevOps (и современное ПО) Предисловие Данная статья очень субъективна и основана на моём опыте в ИТ-индустрии (Я разработчик с 10-и летним стажем и опытом работы в различных проектах, командах и странах (Казахстан, Канада)). Уверен, что многие не поддержат мою точку зрения и могут назвать эту статью ...

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

[Перевод] Go: Хороший, плохой, злой У Go есть некоторые замечательные свойства, которым посвящён раздел «Хороший». Но когда речь заходит о применении этого языка не для создания API или сетевых серверов (для чего он и был разработан), а для реализации бизнес-логики, то я считаю Gо слишком неуклюжим и неудобны...

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

Интенсив по основам Python Язык входит в пятерку самых используемых на GitHub, а Python-сообщество насчитывает десятки тысяч энтузиастов по всему миру. Многие трудоемкие задачи решены в виде библиотек и фреймворков. Вам остается интегрировать готовый код с свой проек...

Неизданное #13: Microsoft троллит Apple, Tesla майнит крипту, робот сопротивляется человеку, а ... Сегодня лидер проекта «Andro-News» Андрей Ковтун отправился в Барселону на выставку MWC 2018, а это значит, что уже совсем скоро вас будет ждать множество крутых новостей из мира мобильных технологий. Не пропустите! А сегодня в конце дня у нас осталось еще нескол...

[Перевод] Каким будет Web 3.0: блокчейн-маркетплейсы для машинного обучения Как создать мощнейший искусственный интеллект? Один из способов — использовать модели машинного обучения с данными, которые распространяются через маркетплейсы, основанные на блокчейне. Зачем здесь блокчейн? Именно с его помощью в будущем мы можем ожидать появления открытых ...

Использование rrd4j для OpenHab2 persistence OpenHab – популярный сервер «умного дома» (или IoT, как сейчас модно говорить) и уже обозревался на Хабре. Тем не менее, документации по отдельным аспектам настройки сервера не так много, как хотелось бы. А на русском её, считай что и нет. Важной особенностью OpenHab являет...

[Перевод] Составляем карту всего Интернета при помощи кривых Гильберта Интернет велик. Очень велик. Вы просто не поверите, насколько умопомрачительно он велик. В смысле, вам может показаться, что диапазон блоков /22, который вы получили как локальный интернет-регистратор (LIR), это очень много — но в масштабах всего Интернета это так, орешки. ...

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

[Перевод] Ответы на распространённые вопросы о шаблоне render prop Кент С. Доддс, автор материала, перевод которого мы публикуем сегодня, говорит, что недавно группа программистов, с которыми он должен был провести тренинг по React, заинтересовалась шаблоном «render props», который ещё называют шаблоном «функция как потомок» (в разных публи...

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

Facebook может начать производство собственных микропроцессоров Предположения СМИ основаны на объявлении Facebook о найме специалистов по разработке и производству специализированных интегральных схем ASIC и вентильных программируемых матриц (FPGA), пишет "КоммерсантЪ". В объявлении говорится, что требуемый специалист будет раб...

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

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

[Из песочницы] Qt: Пишем обобщенную модель для QML ListView Кому-то материал этой статьи покажется слишком простым, кому-то бесполезным, но я уверен, что новичкам в Qt и QML, которые впервые сталкиваются с необходимостью создания моделей для ListView, это будет полезно как минимум как альтернативное*, быстрое и довольно эффективное р...

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

Релиз первой беты кросс-платформенного XAML UI-тулкита Avalonia Состоялся релиз первой бета-версии Авалонии. Avalonia — кроссплатформенный .NET UI-тулкит, вдохновлённый технологиями WPF, с полной поддержкой .NET Core 2.0, XAML, дата-биндиногов, lookless-контролов и многого другого, поставляемый под лицензией MIT. Avalonia позволяет вам п...

[Перевод] Побег из ада async/await Совсем недавно конструкция async/await в JavaScript выглядела как отличное средство для избавления от ада коллбэков. Однако неосмотрительное использование async/await привело к появлению нового ада. Читать дальше →

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

Реализация простой пиксельной игры в блокчейне Ethereum Всем привет! Вдохновившись r/place и желая реализовать наконец-то свой первый смарт-контракт на блокчейне, мы решили сделать всем доступное и веселое приложение в сети Ethereum, которое позволяет рисовать на холсте размером в 1000 x 1000 px, сохраняя каждый выбранный и раскр...

[Из песочницы] Установка Debian с корнем на шифрованном ZFS зеркале Предисловие В связи с необходимостью работать в другом городе, пришлось приобрести ноутбук. Постепенно, назрела проблема синхронизации его и стационарной машины. Несмотря на то, что все мои проекты ведутся в гите, не весь код полностью мой, и не хочется его выкладывать на г...

[Перевод] Руководство для практикующего специалиста, как читать научные статьи по языкам программирования Неделю назад я пошутил, что статьи по принципам языков программирования POPL должны соответствовать критерию «интеллектуального запугивания», чтобы их принимали для публикации. Конечно, это неправда, но факт в том, что статьи по языкам программирования выглядят особенно устр...

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

Google создал замену смс для Android-устройств Новый формат для обмена сообщениями Chat основан на протоколе RCS.

[Перевод] Как превратить веб-сайт в мобильное приложение с помощью 7 строк JSON В материале, перевод которого мы публикуем сегодня, речь пойдёт о создании мобильных приложений на базе существующих веб-проектов. Автор этой статьи демонстрирует инструменты, которые позволяют с минимальными усилиями разрабатывать приложения, пользующиеся нативными возможно...

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

[Перевод] Создаем своих криптокотиков (Часть 1) В первых числах декабря 2017 года, пользователи блокчейн-проекта Ethereum столкнулись с неприятным открытием — любые их транзакции просто перестали подтверждаться. Фактически, вся сеть перестала функционировать из-за неожиданно разросшегося в размерах мемпула. Совсем скоро ...

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

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

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

[Из песочницы] Своя змейка, или пишем первый проект. Часть 0 Предисловие Привет Хабр! Меня зовут Евгений «Nage», и я начал заниматься программированием около года назад, в свободное от работы время. Просмотрев множество различных туториалов по программированию задаешься вопросом «а что же делать дальше?», ведь в основном все рассказыв...

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

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

Расширяем функционал Ansible с помощью модулей Под капотом сервиса d2c.io мы активно используем Ansible – от создания виртуальных машин в облаках провайдеров и установки необходимого программного обеспечения, до управления Docker-контейнерами с приложениями клиентов. В статье о раширении функциональности Ansible мы част...

В Татарстане создадут центр по исследованиям и разработкам в областях IoT и 5G Новый исследовательский центр планируется создать уже в следующем квартале на базе инфраструктуры, имеющейся у МТС в казанском технопарке «Иннополис». На проходящей в Барселоне международной выставке Mobile World Congress подписано еще одно соглашение о сотрудничеств...

[Перевод] Защита целостности кода с помощью PGP. Часть 1. Базовые концепции и инструменты Если вы пишете код, который попадает в общедоступные репозитории, вам может пригодиться PGP. В этой серии статей, перевод первой из которых мы публикуем сегодня, будут рассмотрены вопросы использования PGP для обеспечения целостности кода программного обеспечения. Эти матери...

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

Mug Life для iPhone, или как из простого фото сделать крутой анимационный мем (смайл, стикер) В приложении Mug Life для iOS реализована технология компьютерного зрения, позволяющая анализировать обычные фото и на их основе строить анимированное 3D-изображение. При первом входе в приложение пользователю предложат создать новую учетную запись либо авторизоваться с помо...

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

[Из песочницы] Окружение для 1С-Битрикс на базе Docker Зачем это нужно? Долгое время все проекты нашей компании работали на PHP5, и вот возникло желание их ускорить путём перехода на PHP7, попутно обновиви всё окружение, необходимое для работы. Сразу возник вопрос: «Как заставить разные проекты работать на разных версиях PHP?» ...

[Из песочницы] Самый выразительный. Краткое пособие по языку Red Привет всем! Сегодня я хотел бы рассказать о языке программирования Red. Язык Red является непосредственным преемником более раннего языка REBOL. Оба они малоизвестны в русскоязычном сообществе, что само по себе странно, т.к. указанные языки представляют интерес как с точки...

Обновление строк на лету в мобильных приложениях: часть 2 Привет, Хабр! В недавней статье наш коллега Дмитрий Марущенко yojick рассказал о том, как доставлять динамические обновления переводов с сервера на мобильные устройства. В продолжение темы сегодня поговорим о том, как мы используем эти обновлённые переводы в наших приложе...

Sony создает конкурента Uber Японская компания Sony намерена создать собственный онлайн-сервис такси с применением разработок в области искусственного разума. Система будет в некоторой части саморегулируемой.

PHP 5.x – старикам здесь (не) место Индустрия хостинга неразрывно связана с PHP, на котором полностью или частично написаны более 80% сайтов в Internet. Это сильно влияет на разработку любого софта, предназначенного для работы с хостингом — в том числе такого, как контрольная панель Plesk. Мы делаем продукт дл...

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

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

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

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

[Из песочницы] Угон Телеграм на волнах паники Сегодня очень неоднозначно развивается ситуация вокруг совместного решения Федеральной службы безопасности Российской федерации и Роскомнадзора о блокировке мессенджера «Телеграм». Данное решение опрометчиво по целому ряду причин, и несет в себе больше проблем, чем пользы в ...

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

Avito на GopherCon Russia 2018 Всем привет! В марте в московском Технополисе прошла конференция, посвященная языку программирования Go — GopherCon Russia 2018. На ней прозвучали выступления от core-team — было круто услышать из первых уст о том, как нужно делать правильно. И конечно, не обошлось без докла...

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

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

Представлена бета-версия Datalore, умной веб-среды для анализа и визуализации данных на языке Python Компания JetBrains анонсировала бета-версию приложения Datalore, созданного для анализа данных на Python.

Книга «Node.js в действии. 2-е издание» Второе издание «Node.js в действии» было полностью переработано, чтобы отражать реалии, с которыми теперь сталкивается каждый Node-разработчик. Вы узнаете о системах построения интерфейса и популярных веб-фреймворках Node, а также научитесь строить веб-приложения на базе Ex...

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

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

Xiaomi спросила, что лучше: MIUI или Android One. Результаты ей не понравились Компания Xiaomi уверена в том, что её проприетарная оболочка MIUI настолько хороша, что пользователи никогда не захотят вернуться к «чистому» Android. Для того, чтобы доказать этот «факт», китайцы создали опрос на Twitter. Увы, результат их не порадовал: большинство выбрало ...

[Перевод] Руководство по фоновой работе в Android. Часть 4: RxJava Обработка событий — это цикл. В прошлой части мы говорили об использовании thread pool executors для фоновой работы в Android. Проблема этого подхода оказалась в том, что отправляющий события знает, как должен быть обработан результат. Посмотрим теперь, что предлагает RxJ...

Пишем простой плагин для VirtualDub Несмотря на то что обработка видео не спеша переезжает на OpenCL / CUDA VirtualDub остается удобным средством для простых действий с видео. Обрезка кадра, добавление фильтров или наложение выполняется гораздо удобнее чем из консоли ffmpeg. Кроме того за годы существования бы...

Resolve IP адресов в Linux: понятное и детальное описание Настройка сетевого взаимодействия сервисов не самая простая задача и часто осуществляется без глубокого понимания как требуется настраивать систему и какие настройки на что влияют. После миграции сервисов в docker контейнерах с centos 6 на centos 7 я столкнулся со странным п...

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

Facebook ищет руководителя, способного организовать разработку микросхем Компания Facebook формирует команду, которой предстоит разрабатывать микросхемы. Об этом свидетельствует объявление о поиске кандидата на пост управляющего, способного «организовать полный цикл разработки SoC и ASIC, встроенного программного обеспечения и драйверо...

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

Service Portal: как работает единый интерфейс для взаимодействия с IaaS-провайдером По мнению специалиста по работе с клиентами и автора книги The Conversation Manager Стивена Ван Беллегема (Steven Van Belleghem), 70% пользователей ожидают, что на веб-сайте компании будет портал самообслуживания. При этом в Zendesk утверждают, что 53% (из 7 тысяч опрошенных...

[Перевод] Руководство по SEO JavaScript-сайтов. Часть 1. Интернет глазами Google Представляем вашему вниманию перевод первой части материала, который посвящён поисковой оптимизации сайтов, построенных с использованием JavaScript. Речь пойдёт об особенностях сканирования, анализа и индексирования таких сайтов поисковыми роботами, о проблемах, сопутствующи...

Ассистент Google в ближайшие месяцы заговорит на русском Компания Google впервые показала Ассистента на I/O в 2016 году. С тех пор прошло почти 2 года. И только через несколько месяцев русскоговорящие пользователи Android смогут поговорить с Ассистентом на своем родном языке. Но учитывая сроки выхода русскоговорящей Siri, можно г...

Выставка картин «К России с любовью» открылась в Вашингтоне 20 апреля в Вашингтоне состоялась картинная выставка под названием «К России с любовью», инициированная российским Культурным центром. Посетители выставки могли посмотреть картины, написанные Викторией и Юрием Бондаренко. Картинная выставка, получившая название «К России с...

[Перевод] Разбираемся в redux-saga: От генераторов действий к сагам Любой redux разработчик расскажет вам, что одной из самых тяжелейших частей разработки приложений являются асинхронные вызовы — как вы будете обрабатывать реквесты, таймауты и другие коллбэки без усложнения redux действий(actions) и редьюсеров(reducers) В этой статье я опи...

Разработка для Sailfish OS: использование средств геолокации Здравствуйте! Данная статья является продолжением цикла статей, посвящённых разработке приложений для мобильной платформы Sailfish OS. На этот раз речь пойдёт о том, как можно реализовать в приложении получение информации о географическом положении устройства, отображение ка...

[Перевод] Изучаем KTX для Android Привет, «Хабр»! Прошло почти 9 месяцев с тех пор, как на Google I/O 2017 компания Google анонсировала Kotlin в качестве официального языка разработки под Android. Кто-то использует его как основной инструмент намного дольше, учитывая, что на нём можно было писать уже с серед...

Как мы в ISPsystem резервные копии делали. Часть первая История о том, как в ISPsystem разрабатывали решение для резервного копирования. Рассказывает руководитель разработки Александр Брюханов. Все пользователи делятся на три группы: те кто не делает бэкапы, те, кто их уже делает, и те, кто проверяет сделанные. Кого-то мой...

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

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

[Перевод] Удаление фона с помощью глубокого обучения Перевод Background removal with deep learning. На протяжении последних нескольких лет работы в сфере машинного обучения нам хотелось создавать настоящие продукты, основанные на машинном обучении. Несколько месяцев назад, после прохождения отличного курса Fast.AI, звезды ...

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

Побеждаем Android Camera2 API с помощью RxJava2 (часть 2) Это вторая часть статьи, в которой я показываю, как использование RxJava2 помогает строить логику поверх асинхронного API. В качестве такого интерфейса я выбрал Android Camera2 API (и не пожалел!). Этот API не только асинхронен, но и таит в себе неочевидные особенности реа...

Дерево, сделанное 3D-ручкой В SuperBien!, оранжерее для современного искусства в Берлине выставлена скульптура «Портрет березы» художника Мартина Биндера. Ее главная особенность заключается не столько во внешнем виде, сколько в технологии ее создания. Все дело в том, что она полностью была сделана с по...

Google запускает экспериментальный сервис в стиле Instagram Разработчики компании Google выпустили экспериментальный сервис FriendlyPix, копирующий концепт социальной сети Instagram. Разработка пока не имеет мобильного клиента, но исправно функционирует в веб-версии. С ее помощью пользователи могут делиться своими фотографиями, а та...

Sony и университет Карнеги-Меллона хотят создать роботов-поваров Компания Sony заключила соглашение с университетом Карнеги-Меллона о сотрудничестве в области искусственного интеллекта и робототехники. Первоначальные исследования и разработки будут направлены на оптимизацию процессов приготовления и доставки пищи. По словам партнеро...

EOS выпускает новый материал для 3d-печати из нержавеющей стали Нержавеющая сталь – один из наиболее часто используемых металлов в мире. Это довольно прочный, устойчивый к коррозии и универсальный материал, который применяется в автомобильной и аэрокосмической отрасли. После стерилизации в автоклаве, нержавеющая сталь может быть использо...

Разворачиваем автоматизацию за пару часов: PHPUnit, Selenium, Composer Привет, Хабр! Меня зовут Виталий Котов, я работаю в Badoo, в отделе QA. Большую часть времени занимаюсь автоматизацией тестирования. Недавно я столкнулся с задачей максимально быстро развернуть Selenium-тесты для одного из наших проектов. Условие было простое: код должен леж...

Взгляд на Tokio: как устроен этот асинхронный обработчик событий И для чего он используется в фреймворке для приватных блокчейнов Exonum Tokio — это фреймворк для разработки сетевых масштабируемых приложений на Rust, использующий компоненты для работы с асинхронным вводом/выводом. Tokio часто служит основой для других библиотек и реализац...

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

Waymo опубликовала панорамное видео, которое демонстрирует работу автономной системы управления и позволяет почувствовать себя пассажиром беспилотного такси Стартап Waymo выложил в сеть панорамное 360-градусное видео, в котором подробно объясняет принцип работы свой системы автономного управления автомобилями на реальных примерах, а также позволяет почувствовать себя пассажиром беспилотного такси. Благодаря панорамному видео его...

Немцы, финны и голландцы создали необычный браслет Специалисты немецкого института Fraunhofer FEP совместно с их коллегами из финского исследовательского центра VTT и нидерландского Holst Center создали носимое электронное устройство, в котором используется технология OLED. Браслет, демонстрируемый на выставке Wearables...

В России создадут 50-кубитный квантовый компьютер Фондом перспективных исследований МГУ, ВЭБ и рядом других российских организаций сформирован консорциум, целью которого является разработка квантового компьютера, состоящего не менее чем из 50 кубитов, заявляет пресс-служба «ВЭБ Инноваций». В то время как западные ученые у...

#PostgreSQL. Ускоряем деплой в семь раз с помощью «многопоточки» Всем привет! Мы на проекте ГИС ЖКХ используем PostgreSQL и недавно столкнулись с проблемой долгого выполнения SQL скриптов из-за быстрого увеличения объема данных в БД. В феврале 2018 года на PGConf я рассказал, как мы решали эту проблему. Слайды презентации доступны на сайт...

Graal: как использовать новый JIT-компилятор JVM в реальной жизни На главной сибирской Java-конференции JBreak-2018, проходившей в Новосибирске, Christian Thalinger из Twitter поделился практическим опытом использования Graal. Этот доклад мы слушали всей рабочей группой в полном составе. Вполне объяснимо, если учесть тот факт, что Graal по...

[Перевод] 5 ошибок при разработке WebRTC звонков из браузера WebRTC — не самая простая штука. Только недавно API стали поддерживать все основные браузеры, но с оговорками и «нюансами». Добавим к этому темное наследие VoIP телефонии в виде торчащего наружу SIP, борьбу между Ёжиком и SIP с применением oRTC, падающие при неудачном сочет...

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

Scrcpy позволяет управлять с ПК устройством на Android без Root Энтузиаст Ромен Вимонт (Romain Vimont) создал инструмент под названием Scrcpy для Windows, macOS и Linux, позволяющий транслировать экран подключённого Android-устройства и управлять гаджетом через виртуальный дисплей. Решение Вимонта примечательно тем, что оно не требует пр...

Полностью заблокировать Telegram в России можно, нарушив работу всех остальных мобильных приложений Через несколько часов после того, как Роскомнадзор обязал операторов и провайдеров начать блокировать в России Telegram, мессенджер перешел на встроенные методы обхода блокировки и продолжил работать на смартфонах без использования прокси-серверов и VPN. Как выяснилось...

Bose разрабатывает очки дополненной реальности с акцентом на звук Компания Bose объявила в преддверии старта музыкального фестиваля South by Southwest (SXSW) о работе над очками дополненной реальности с акцентом на звук, добавляя «звуковой слой информации и опыта» в реальный мир. Следует отметить, что Bose не просто ра...

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

[Перевод] Сетевая физика в виртуальной реальности Введение Около года назад ко мне обратилась компания Oculus с предложением проспонсировать мои исследования. По сути, они сказали следующее: «Привет, Гленн, существует большой интерес к передаваемой по сети физике для VR, а Вы сделали отличный доклад на GDC. Как считаете, с...

[Перевод] Вредный Кейворд «Interface» Перевод ироничного поста из блога Боба Мартина в котором он рассуждает о том, насколько неудачным является использование слова interface в современных языках программирования, и какую путаницу и проблемы оно несёт разработчикам. — Что ты думаешь об интерфейсах? — Имеешь в ви...

Android 9.0 Developer Preview будет представлен уже в середине марта Не секрет, что новые версии ОС практически всегда сначала появляются в редакции Developer Preview. Таким образом компании убивают сразу двух зайцев: демонстрируют возможности новой ОС разработчикам ПО (чтобы к моменту официального развертывания те уже были во всеоружии), а т...

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

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

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

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

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

Fly Elephant – летающий 3D-принтер Компания DediBot – китайский производитель 3D-принтеров, которая находится в Ханчжоу. На этой неделе DediBot потрясла it-сообщество своим необычным решением. На выставке TCT Asia был представлен прототип летающего 3D-принтера, который получил название Fly Elephant. Он ...

Смартфон Ulefone Power 3 с Android 8.1 Oreo появился на видео Как известно, уже в марте Ulefone планирует обновить прошивку Power 3 до версии Android 8.1 Oreo. Похоже, у компании все идёт по плану, и сегодня в сети появилось видео, демонстрирующее работу Android 8.1 Oreo (демо-версии) на Ulefone Power 3. Давайте посмотрим. Подробнее об...

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

Простая Kanban-доска для Jira Здесь я расскажу, как сделать канбан-доску для проекта в Jira, пользуясь только QML и JavaScript. С небольшими доработками вместо Jira вы можете использовать любой другой трекер, имеющий REST API. СодержаниеПредыстория Альтернативы для умных и богатых Необходимые оговорки Н...

[recovery mode] Роботы вместо лучших сотрудников: машинное обучение по ответам экспертов Один из текущих проектов Devim — разработка сервиса скоринга для микрофинансовой организации (МФО). Проект был выполнен нашей Data Science командой Андреем Давыденко и Дмитрием Гореловым datasanta. Мы рассказываем о том, какие решались задачи, какие факторы принимались во вн...

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

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

Twitter выпустил новое приложение для Windows 10 В Microsoft Store опубликована новая версия приложения Twitter для Windows 10. С этим обновлением приложение стало простым клиентом для веб-версии с поддержкой уведомлений (PWA). Перевод приложения на PWA рельсы несёт в себе как очевидные плюсы, так и некоторые минусы для по...

Китайская полиция поймала преступников с помощью смарт-очков Как вы помните, в своё время смарт-очки Google Glass так и не смогли привить людям моду на дополненную реальность. Несмотря на большие перспективы. Однако явление оставило богатое наследие. Во-первых, сама Google в прошлом году возродила проект с подзаголовком Enterprise Edi...

Ульяновским активистам представили конструктор сайтов «Кандинский» 27 января 2018 года в Ульяновске прошла презентация проекта «Кандинский». Участники узнали об основных преимуществах и возможностях бесплатного конструктора сайтов. О проекте «Кандинский» Конструктор сайтов «Кандинский» работает на базе WordPress. Цель пр...

Baidu создала программу, способную клонировать ваш голос за несколько секунд Компания Baidu, которую нередко называют «китайским Google», опубликовала технический документ, в котором рассказывается о последних наработках в сфере искусственного интеллекта (ИИ). Система, работающая на базе нейронной сети, способна клонировать человеческий голос на осн...

Задай вопрос создателю Vue.js Vue — JavaScript фреймворк для разработки веб-приложений на JavaScript, созданный Эваном Ю (Evan You) в 2013 году. Vue нашел золотую середину между React и Angular и испытал взрывной рост в последние два года, попав в тройку лидирующих JS фреймворков. В отличии от Angular/...

Grasshopper 1.13.1 Grasshopper — приложение, позволяющее выучить основы программирования на языке JavaScript с помощью бесплатных коротких уроков. Обучение в новом сервисе представлено в игровой форме, из-за чего программа напоминает самый популярный сервис для изучения иностранных языков Duol...

Корпоративный IaaS-дайджест: 25 материалов о виртуализации, инфраструктуре и ИБ Сегодня мы собрали для вас статьи из «Первого блога о корпоративном IaaS»: о виртуализации, кибербезопасности и облачных сервисах. Под катом — кейсы использования облака в различных отраслях, материалы о работе IaaS-провайдера и ответы на вопросы о защите ПД. Читать дальш...

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

Все, что известно о Windows 10 Polaris Недавно появилась статья с описанием Microsoft Polaris. Что это такое? Сегодня мы узнаем об этом подробнее, внимательнее рассмотрев технологические планы Microsoft.Прежде чем мы начнём говорить о Polaris, давайте поговорим о Windows Core OS. Это будущее системы Windows. Это ...

Теневой бан и с чем его едят — часть вторая Моя предыдущая статья про «Теневой Бан» на реддите получила порядка сотни комментариев на Хабре и, поскольку с тех пор как я ее выложил я узнал много нового по данной теме, я решил написать продолжение. В данной статье я раскрою дополнительные детали того, как работает авто...

Робот-segway Loomo “засветился” на краудфандинговой площадке indiegogo Робот-segway Loomo, с предполагаемой датой выхода в мае этого года, был замечен на краудфандинговой площадке indiegogo. Первая версия Loomo была представлена еще на CES 2018 Полом Миллером. Он представлял собой segway, который использовал специально разработанный AI. Нынешн...

Александр Братчиков: «Мы рассказываем школьникам из регионов, как технологии могут улучшить жизнь их города» Технологическое образование должно быть доступно для школьников из регионов. В этом уверены создатели образовательного проекта «Кружок», веб-разработчики и преподаватели Александр Братчиков и Сергей Нугаев. За несколько месяцев они провели бесплатные школы по программировани...

[Перевод] Уроки, которые можно извлечь из кодовой базы LLVM/Clang От переводчика: в статье, которую я предлагаю вашему вниманию, авторы исследовали кодовую базу LLVM/Clang с помощью инструмента анализа кода CppDepend, позволяющего вычислять различные метрики кода и анализировать большие проекты с целью улучшения качества кода. Время доказ...

Видео: у Kingdom Come: Deliverance полно проблем на консолях, но на Xbox One X их чуть меньше Казалось бы, независимой студии не под силу создать игру такого размаха, как Kingdom Come: Deliverance, но чешская Warhorse справилась с задачей. Закрыв глаза на баги и проблемы с производительностью (которые разработчики, скорее всего, исправят), критики назвали&nb...

[Перевод] Система типов в математике Время от времени мне встречаются вопросы по математике, которые в каком-то смысле можно назвать «грамматически неверными». Пример. «Интервал является замкнутым или открытым?» Пример. «Является ли группой?» Пример. «Каков ряд Фурье для ?» А вот ещё более глупые примеры. ...

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

А не спроектировать ли нам систему для управления производством ИТ продуктов. Часть 1 I ВступлениеСтавишь себе невозможную цель и развлекаешься этим, если можешь. Ведь такое занятие интересно само по себе, поскольку изначально перед тобой заведомо невыполнимая задача, а что может быть увлекательней, чем невозможное Иосиф Александрович Бродский. За свою многол...

Microsoft выпускает новое обновление для приложения «Фотографии» для Skip Ahead Корпорация Microsoft выпустила новое обновление для приложения «Фотографии» для тех, кто находится в Skip Ahead. Последний апдейт обновляет приложение до версии v2018.18022.14240.0 и предоставляет некоторые новые функции.Remix Collage – для каждого автоматически созданного а...

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

[Из песочницы] Большой комок грязи Привет, Хабр! Представляю вашему вниманию перевод статьи "Big Ball of Mud" авторов Brian Foote и Joseph Yoder. От переводчика: Статья Big Ball of Mud написана Брайаном Футе и Джозефом Йодером летом 1999 года. Она рассказывает о наиболее распространённых антипаттер...

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

Школьники будут изучать физику по клипам OK Go Компания Google и музыкальный коллектив OK Go создали проект OK Go Sandbox — набор инструментов, с помощью которого преподаватели могут демонстрировать учащимся различные физические явления.

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

Редактор TECO: EMACS, я твой отец Впервые про TECO я прочитал в пародийной статье Real Programmers Don't Use Pascal, написанной незадолго до моего рождения. Там было написано, что настоящие программисты не используют новомодные редакторы EMACS и VI: Нет, Настоящий Программист хочет редактор вида «Просил? Так...

Контроллер Arduino с датчиком температуры и Python интерфейсом для динамической идентификации объектов управления Введение Возможность получения действительной информации о состоянии реальных объектов в реальном масштабе времени позволяет обоснованно приступать к следующему этапу анализа и синтеза систем – математическому моделированию динамических характеристик объектов управления. В ...

[Перевод] Создание игры на Lua и LÖVE — 7 ОглавлениеОглавление Статья 1 Часть 1. Игровой цикл Часть 2. Библиотеки Часть 3. Комнаты и области Часть 4. Упражнения Статья 2 Часть 5. Основы игры Часть 6. Основы класса Player Статья 3 Часть 7. Параметры и атаки игрока Часть 8. Враги Статья 4 Часть 9. Режиссёр и игро...

[Из песочницы] Минимизируем код React Redux приложения Мне хотелось поделиться собственными размышлениями и способом построения структуры приложения с использованием react-redux. Так как я относительно недавно стал писать код на JS и поэтому не претендую на истину и на действительно верный способ разработки. Надеюсь эта статья п...

Один день в Альфа-Банке: мобильная разработка Альфа-Банк стал одним из первопроходцев мобильного банкинга: приложения для iOS и Android появились у него ещё в 2010-м, когда возможность «пополнить баланс телефона с самого телефона» была непривычной. А как обстоят дела с мобильной разработкой в банке теперь, спустя все ...

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

Слухи о Google Yeti – игровая консоль и игровое облачное хранилище? Слухи о предстоящей консоли и игровом облачном хранилище от Google переполнили интернет. Предполагается, что официальная информация от компании по поводу данной разработки, поступит в следующем месяце. Мы же собрали наиболее интересные из домыслов. Что такое Google Yeti и к...

5 советов при запуске фандрайзинговой кампании При проведении фандрайзинговой кампании авторам социальных проектов нужно составить портрет пользователя, план продвижения, установить конкретные показатели. Эти и другие рекомендации назвала фандрайзер, специалист по социальному проектированию и развитию НКО Анна Яковл...

Мега-Учебник Flask, Часть X: Поддержка электронной почты (издание 2018) Miguel Grinberg <<< предыдущая следующая >>> Это десятая часть серии Mask-Tutorial Flask, в которой я расскажу вам, как приложение может отправлять электронные письма вашим пользователям и как создать функцию восстановления пароля при поддержке адреса элек...

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

Look of Disapproval 2018.03.06.1 ОЧЕНЬ ВАЖНО: приложение работает ТОЛЬКО с версиями андроид 4.1 (JellyBean) и выше, т.к. должным образом работает с символами Юникода, которые не поддерживаются предыдущими версиями Android. К сожалению, тут я ничем не могу помочь. :/ ---------- Используя Reddit, я замети...

Android Go и Android One: что это такое и в чём различия В прошлом компания Google запустила несколько связанных с мобильной платформой Android проектов, между которыми легко запутаться. Изначально «корпорация добра» открыла программу Android One, но позже слегка изменила её суть и направление, в связи с чем создала Android Go. Ес...

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

Опубликован список устройств, для которых Xiaomi готовит MIUI 10 Хотя Xiaomi не так давно заявила, что начала работу над MIUI 10, а написание новой версии фирменной оболочки процесс небыстрый, если речь идёт о мажорном обновлении, как в нашем случае, некоторые источники стали утверждать, что уже существует список гаджетов, которые должн...

WhiteList vs BlackList: как реализовать проверку расширений файлов и не стать жертвой хакеров Нередко, во время анализа защищенности веб-приложений мы сталкиваемся с загрузкой каких-либо файлов на сервер – это могут быть и фотографии учетной записи, и какие-то текстовые документы, и что угодно другое. Существуют расширения файлов, с которыми многие работали и знают...

Простой менеджер ассинхронных задач для Unity 3D Введение Приветствую Вас, уважаемые читатели. В данной статье пойдет речь о реализации простого менеджера асинхронно выполняемых задач для среди разработки Unity3d. Данный менеджер использует в своей основе так называемые Coroutine, которые присутствует в движке. Читать дал...

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

Новые фотографии смартфона Xiaomi Mi Mix 2S демонстрируют фронтальную камеру в другом месте На прошлой неделе мы публиковали новый видеоролик с участием нового смартфона Xiaomi Mi Mix 2S, в котором можно было увидеть необычную угловую фронтальную камеру. Большая часть материалов по Xiaomi Mi Mix 2S, которые появляются в Сети, противоречит друг другу. Так, ...

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

Фото дня: игровой смартфон Black Shark со съемным контроллером Комания Black Shark в конце этой недели представит свой первый игровой смартфон. Компания Xiaomi, которая финансирует Black Shark, утверждает, что речь идет о первом смартфоне, изначально созданном для игр. Как будто в прошлом году не было никакого Razer Phone. Сегодня...

myMail 6.4.0.23816 myMail – бесплатный почтовый клиент для Yandex, Gmail, Rambler, Mail.Ru, Hotmail, iCloud, Outlook.com, Yahoo и любых других IMAP или POP3 почтовых сервисов! Теперь каждый может завести бесплатный ящик вида логин@my.com. Загрузите приложение и создайте короткий и запомин...

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

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

[Перевод] Как подобрать хорошее освещение для реалистичных интерьеров? Родриго Льорет показал способ, которым он добился такой реалистичной картинки для своей последней работы в UE4. Введение Меня зовут Родриго Льорет, я ведущий художник окружений, живу в Мальмё и сейчас работаю в Massive Entertainment ведущим художником пропсов. Я участвую в...

От корутин до ARKit: всё, о чём можно будет узнать на Mobius 2018 Piter   Когда в декабре мы анонсировали новый петербургский Mobius, нам самим были известны имена лишь нескольких спикеров. А теперь, когда до конференции осталась лишь неделя, рассказываем как следует о докладах, которые на ней можно будет услышать: от рассказа о мультиплатформе...

[Перевод] Создание игры на Lua и LÖVE — 1 Введение В этой серии туториалов мы рассмотрим создание завершённой игры с помощью Lua и LÖVE. Туториал предназначен для программистов, имеющих некоторый опыт, но только начинающих осваивать разработку игр, или для разработчиков игр, уже имевших опыт работы с другими языкам...

Приложение для отображения «настоящего» 3D вышло в App Store Приложение TheParallaxView шведского разработчика Питера Норрби, о котором AppleInsider.ru рассказывал на прошлой неделе, появилось в российском каталоге App Store. Новинка, создающая иллюзию «настоящего» 3D, распространяется совершенно бесплатно, но при этом совместима ис...

[Перевод] Разработка игр под NES на C. Главы 7-10. Работа с джойстиком. Коллизии спрайтов Плавно движемся к написанию игры. В этой части описана работа с джойстиками и коллизиями спрайтов. <<< предыдущая следующая >>> Источник Пользовательский ввод Работа с джойстиками довольно простая. Нажатия кнопок первого джойстика читаются по адресу $4016,...

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

Разработка изоморфного RealWorld приложения с SSR и Progressive Enhancement. Часть 3 — Routing & Fetching В предыдущей части туториала мы научили наше изоморфное приложение проксировать запросы к backend api, с помощью сессии передавать начальный стейт между синхронными запросами и осуществлять Server-side rendering с возможностью переиспользования разметки на клиенте (hydrate)....

[Из песочницы] Как быть* компилятором — создание компилятора на JavaScript Привет, Хабр! Представляю вашему вниманию перевод статьи "How to be* a compiler — make a compiler with JavaScript" автора Mariko Kosaka. *Все верно! Быть компилятором — это здорово! Дело было одним замечательным воскресеным днем в Бушвике, Бруклин. В моем местном книжном м...

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

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

Android-приложение поверх других приложений В 2013-году Facebook выпустил функцию Chat Heads для своего мессенджера, который позволяет вести переписку, не открывая сам мессенджер путем нажатия на маленькое круглое окошко, которое всегда висит на дисплее даже поверх других приложений: Facebook одним из первых продемо...

Для борьбы с читерами Valve использует сервер с 3456 процессорами и систему VACnet, основанную на методах глубокого обучения Практически перед всеми разработчиками популярных многопользовательских игр стоит проблема читеров. Её масштабы отличаются в зависимости от проекта, так что некоторые обходятся простым ПО, а некоторым приходится изгаляться другими способами. Как сообщают источники, ком...

«Росатом» создал спецструктуру для 3D-печати Новая специализированная компания, названная «Русатом – аддитивные технологии» (РусАТ), должна стать единым отраслевым интегратором по развитию трехмерной печати и приносить многомиллиардную прибыль. РусАТ учреждена в структуре компании ТВЭЛ, занимающейся топливом и б...

Написание blockchain менее чем за 200 строк кода на Go Данный урок является хорошо адаптированным постом про простое написание blockchain на Javascript. Мы портировали его на Go и добавили дополнительных фич, таких как просмотр цепочек в браузере. Читать дальше →

[Перевод] DEFCON 23. «Let'sEncrypt: чеканка бесплатных сертификатов шифрования для Интернет». Ян Жу, Питер Эккерсли, Джеймс Кастен Меня зовут Ян Жу, я инженер по безопасности компании Yahoo, это Питер Эккерсли, ведущий компьютерный специалист компании Electronic Frontier Foundation, лидер команды разработчиков технологий, и Джеймс Кастен, специалист по технологиям и аспирант компьютерных наук и инженери...

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

Классификация объектов в режиме реального времени Автор: Игорь Пантелеев, Software Developer, DataArt Распознавание изображений очень широко используется в машинном обучении. В этой области существует множество различных решений, однако потребностям нашего проекта ни оно из них не удовлетворяло. Нам понадобилось полность...

Waymo показала, как робомобили «видят» окружающий мир Для того чтобы робомобили стали неотъемлемой частью нашей повседневной жизни, их не только нужно доработать. Необходимо сделать так, чтобы люди научились им доверять. С обычной машиной всё более-менее понятно: за рулём сидит водитель, которого несколько месяцев учили рулит...

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

[Перевод] Начинающему веб-мастеру: делаем одностраничник на Bootstrap 4 за полчаса Фреймворк Bootstrap — это свободный набор инструментов для создания интерфейсов сайтов и веб-приложений. Его возможности ориентированы исключительно на фронтенд-разработку. Bootstrap — проект весьма популярный, о чём, например, говорит то, что он занимает (по состоянию на на...

[Перевод] Поговорим о юзернеймах Пару недель назад я выпустил django-registration 2.4.1. Сборки 2.4.x станут последними в версии django-registration 2.x, дальше будут выходить только исправления багов. Основная ветка сейчас готовится к версии 3.0, откуда планируется удалить кучу устаревшего хлама, накопивше...

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

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

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

«Яндекс» внедрит голосового помощника в бытовую технику Как сообщает “КоммерсантЪ”, электронная плата Yandex.iO позволит внедрять голосовое управление на базе персонального помощника "Алиса" в бытовую и другую технику. Таким образом, устройство может быть интегрировано с приложениями и веб-сервисами, позволя...

[Из песочницы] Описание прототипа моего игрового мультиплейерного сервера Привет, Хабр. Рад представить свою первую статью: описание прототипа игрового мультиплейерного сервера. → Исходный код (под лицензией Apache 2.0) Содержание: Архитектура обработки входящих запросов Краткое описание прочих моментов Модули и взаимодействия основных классо...

Что нового в Android 9.0 P Вопреки многочисленным слухам, компания Google выпустила первую сборку Android P вчера, 7 марта. Предварительная версия «зелёного робота» с индексом P нацелена исключительно на разработчиков. Тем не менее она получила множество нововведений, подробно о которых мы написали в ...

«Яндекс» поделится опытом разработки ПО для робомобилей Компания «Яндекс» организовала на базе Школы анализа данных учебный курс Self-driving cars, посвящённый разработке программного обеспечения для беспилотных автомобилей. Школа анализа данных была основана «Яндексом» в сентябре 2007 года. Здесь...

[recovery mode] Авторизация с помощью сертификата ssl на nginx + Let's Encrypt Добрый день, вечер или ночь, все зависит от времени суток в который вам довелось прочитать мою статью. В связи с ростом количества корпоративных клиентов, было принято решение дать доступ к учетной системе внешним пользователям. Для самостоятельного оформления заказов и от...

[Перевод] Тонкости value restriction в F# Одной из отличительных особенностей языка F#, по сравнению с более распространёнными языками программирования, является мощный и всеобъемлющий автоматический вывод типов. Благодаря ему в программах на F# вы почти никогда не указываете типы явно, набираете меньше текста, и по...

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

В Android P протокол TLS будет использоваться по умолчанию В новой версии ОС Android, получившей название Android P, все входящие и исходящие соединения будут осуществляться через протокол TLS (Transport Layer Security) — об этом компания сообщила во вторник на официальной странице блога разработчиков ОС. TLS препятствует несанкцион...

[Перевод] Как решить 90% задач NLP: пошаговое руководство по обработке естественного языка Неважно, кто вы — зарекомендовавшая себя компания, или же только собираетесь запустить свой первый сервис — вы всегда можете использовать текстовые данные для того, чтобы проверить ваш продукт, усовершенствовать его и расширить его функциональность. Обработкой естественног...

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

Учебник Thymeleaf: Глава 3. Использование Text Оглавление 3 Использование Text 3.1 Мультиязычное «Добро пожаловать» Первая задача — создать домашнюю страницу для нашего продуктового сайта. Первая версия страницы будет предельно проста: просто заголовок и приветственное сообщение. Это наш /WEB-INF/templates/home.html фа...

Стал доступен Windows 10 SDK Preview Build 17110 Сегодня компания Microsoft выпустила новую предварительную сборку Windows 10 SDK под номером 17110, которую вы можете использовать вместе с последней доступной инсайдерской сборкой Windows 10 Redstone 4. Эта версия SDK включает в себя несколько новых функций: В состав SDK ...

Откуда возьмутся цифровые инженеры Источник "Талант сам по себе бесцветен и приобретает окраску только в применении". М.Е. Салтыков-Щедрин Кадры действительно решают всё. А в условиях развития цифровой экономики кадры нужны особенные. И для взращивания таких кадров надо создать соответствующие условия. Несмо...

Операционные системы с нуля; уровень 1 (старшая половина) Настало время следующей части. Это вторая половина перевода лабы №1. В этом выпуске мы будем писать драйверы периферии (таймер, GPIO, UART), реализуем протокол XMODEM и одну утилитку. Используя всё это мы напишем командную оболочку для нашего ядра и загрузчик, который позво...

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

Австралийский ювелир создает дизайнерские узоры из электрических разрядов Австралийский ювелир Шон О'Коннел называет себя художником «взаимодействия электричества и вещества». Он уже несколько лет изучает электропроводность различных материалов с эстетической точки зрения. И при помощи авторского оборудования фиксирует причудливый бег электронов, ...

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

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

[recovery mode] Интеграция 3CX с собственной CRM-системой: генератор шаблонов CRM Начиная с v15.5 SP2 в АТС 3CX появился механизм серверной CRM интеграции. Он позволяет передать входящий Caller ID в CRM-систему и найти в ней соответствующую запись о клиенте. При этом 3CX получает имя и фамилию клиента из CRM, добавляет их в корпоративную адресную книгу АТ...

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

Мошенники добывали Monero на серверах Tesla Motors Злоумышленники взломали облачные серверы компании Tesla, чтобы использовать часть их мощностей для майнинга Monero. Киберпреступники атаковали фреймворк Kubernetes, который эксплуатируется в инфраструктуре ведущего производителя электромобилей, и внедрили в него зловред для ...

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

Пользователей Telegram заражали через RLO-брешь Исследователи «Лаборатории Касперского» в октябре 2017 года обнаружили, что в Windows-клиенте мессенджера Telegram эксплуатируется RLO-уязвимость. Злоумышленники использовали брешь для рассылки жертвам зараженных файлов. О выявленной проблеме эксперты уведомили раз...

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

Безопасный SOCKS5 прокси для Telegram за 1 Евро и 10 минут Не все прокси одинаково полезны. На волне новостей о блокировке мессенджера Телеграмм стало актуально поднимать свой SOCKS5 прокси, так как чужой использовать не безопасно — неизвестно, кому принадлежат серверы, какое ПО на них используется, и какие в нем присутствуют уязвим...

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

Несколько советов по организации Python-приложения на сервере В этой статье я хочу поделиться несколькими удобными способами организации вашего проекта на рабочем (даже продакшен) сервере. Я работаю, в основном, с Python/Django стеком, поэтому все примеры будут, в первую очередь, применительно к этому набору. Также ключевые технологии...

Про «ту Apple»-6. Newton, часть 2: Хоббиты, Dylan и прочие безобразия Если бы проектом Newton руководил кто-то, способный чувствовать, что нужно рынку, и заранее отказываться от тупиковых направлений в развитии, и если бы Newton вышел в свет не в 1993-м, а в 1989-м или 1990-м… Но, увы, все случилось так, как случилось. Apple Computer исполь...

BlackBerry обвинила Facebook, Instagram и WhatsApp в незаконном использовании патентов и требует компенсацию Компания BlackBerry подала иск, в котором обвинила сервисы Facebook, Instagram и WhatsApp (все они принадлежат компании Facebook) в незаконном использовании принадлежащих её патентов. По мнению BlackBerry, указанные сервисы незаконно используют семь её патентов. В частности,...

Окна на чистом WinAPI. Или просто о сложном Disclaimer Казалось бы, что WinAPI уходит в прошлое. Давно уже существует огромное количество кросс-платформенных фреймфорков, Windows не только на десктопах, да и сами Microsoft в свой магазин не жалуют приложения, которые используют этого монстра. Помимо этого статей о том...

Минкомсвязи в 2018 году разработает концепцию развития узкополосного IoT в России Министерство связи и массовых коммуникаций в 2018 году должно разработать проект концепции построения и развития узкополосных беспроводных сетей связи Интернета вещей на территории России и план ее реализации. В концепцию войдет определение перечня технологий, протоколов и с...

Организация системы мониторинга Мониторинг — это главное, что есть у админа. Админы нужны для мониторинга, а мониторинг нужен для админов. За последние несколько лет поменялась сама парадигма мониторинга. Новая эра уже наступила, и если сейчас вы мониторите инфраструктуру как набор серверов — вы не монито...

Карта и скрипт на Python: как в Перми прошла Мастерская открытых данных для НКО 4 марта 2018 года, в Международный день открытых данных, в Перми Теплица социальных технологий собрала для совместной работы специалистов по обработке данных, визуализации и представителей НКО. В работе мастерской участвовали шесть проектов от НКО и гражданских активист...

PTC и МИЭМ создадут Центр по продвижению технологий Интернета вещей Международный разработчик ПО PTC договорился с Московским институтом электроники и математики им. А.Н. Тихонова о создании на базе вуза Центра по продвижению технологий Интернета вещей (IoT), Промышленного интернета вещей (IIoT) и дополненной реальности (AR), сообщает «ИКС-м...

Фото смартфона Samsung Galaxy S9 просочились в Сеть Фотографии последнего флагманского телефона Samsung были раскрыты приложением, выпущенным самой фирмой. Изображения были обнаружены с помощью взлома Unpacked 2018, программы, которую компания попросила пригласить на воскресный запуск телефона в Барселоне. Эксперты говорят, ч...

Unity выложила исходный C#-код на Github Возрадуйтесь все, кому хоть раз в силу жизненной необходимости приходилось декомпилировать .NET-код Unity! Теперь код C#-части движка и редактора Unity доступен для изучения на Github. Доступны все основные ветки, начиная с версии 2017.1 и заканчивая свежей 2018.1.0b12. К...

Заметка о новом интерфейсе linux kernel — gpio uapi Начиная с версии ядра 4.6-r1 нам стал доступен новый интерфейс для взаимодействия с подсистемой ядра gpio. Теперь существует три официальных способа работы с gpio и получения от них прерываний. Нет смысла углубляться в потребности для данной подсистемы, для малой части это с...

Документирование API — документация из тестов Пост в продолжение темы экспериментальных решений (https://habrahabr.ru/post/350382/), откуда будет переиспользован код для примера. В прошлом посте я затронул тему, как можно написать тесты на простой сервис, когда он выступает в роли черного ящика и из кода теста у нас нет...

[Перевод] Вышел GitLab 10.4 c динамическим тестированием безопасности приложений и бета-версией Web IDE В первом релизе 2018 года мы внесли улучшения в процессы планирования, тестирования, развертывания и работы с мерж-реквестами. Кроме того, в данный релиз включены новые возможности тестирования безопасности, а также первая версия Web IDE, который является частью нашего амби...

Проект экструдера для 3D-принтеров одержал победу на стартап-туре «Открытые инновации» В Перми завершился региональный этап стартап-тура «Открытые инновации», организованного фондом «Сколково» при поддержке правительства РФ. Одной из лучших работ конкурса признана разработка студентов Пермского национального исследовательского политехнического университета (ПН...

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

От заплаток в борьбе с вредоносным ПО к целостной стратегии Как это не парадоксально, но я до сих пор регулярно слышу в качестве совета по борьбе с вредоносным ПО рекомендацию по использованию современного антивируса и его регулярному обновлению. Такое впечатление, что последние истории с WannaCry и Petya/Nyetya произошли в каком-то ...

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

Российские разработчики создали Blockchain 2.0 Команда российского проекта MetaHash объявила о запуске технологии TraceChain, которую вполне можно считать системой Blockchain 2.0 TraceChain является полноценно функционирующей системой на основе технологии децентрализованного распределенного реестра данных, которая отлича...

Готовим проект в Sparx Enterprise Architect. Наш рецепт Дорогой Хабр, мы решили поделиться заметками и нашим базовым рецептом о приготовлении проектов в Sparx Enterprise Architect. Причем под проектом мы подразумеваем создание какой-либо информационной системы. Впереди вас ждет рассказ о том, как у нас все организовано – примеры ...

Как выглядит Apple Park сегодня Блогер Мэтью Робертс следил за возведением Apple Park буквально с самых первых дней масштабной стройки. Вчера он опубликовал еще один ролик, созданный при помощи дрона и позволяющий увидеть главное здание новой штаб-квартиры Apple и другие объекты кампуса такими, каким...

Фальшивое видео с Путиным может стать причиной ядерной войны Хани Фарид, являющийся профессором в лаборатории при американском Дортмунтском колледже, заявил о том, что фальшивые видео с участием президентов России и США могут стать причиной развязывания ядерного конфликта. В Сети недавно появился ряд видеороликов, где с помощью ней...

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

[Перевод] Медиа-запросы в адаптивном дизайне 2018 В июле 2010 года я написала статью «Как использовать CSS3 медиа-запросы для создания мобильной версии вашего сайта» для журнала Smashing. Спустя почти восемь лет эта статья по-прежнему очень популярна. Я решила вернуться к этой теме, поскольку теперь у нас есть такие метод...

[Перевод] Воссоздание эффекта воды из Super Mario Sunshine для Nintendo GameCube Примечание: В оригинале статьи есть демо на WebGL2, которые в переводе заменены на видео и GIF. Одно из моих хобби — написание программ просмотра моделей и графических инструментов для игр. Это хорошее соединение интересных мне тем — графики, рендеринга, реверс-инжиниринга...

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

15 отличных игр находящихся в пробном запуске, релиз которых мы ожидаем в 2018 Soft launch — это крайне важная часть работы над игрой, которая позволяет авторам отшлифовать свой проект перед его глобальным стартом. Игрокам из некоторых стран везёт больше других – они могут опробовать самые свежие проекты первыми именно благодаря пробному запуску....

В столице Германии стартует 68-й Берлинский кинофестиваль На очередном Берлинском кинофестивале, который начался в столице Германии, Российскую Федерацию будут представлять сразу несколько кинолент. Кроме художественных фильмах на фестивале покажут кукольный мультфильм российского производства. Среди картин, представляющих россий...

Гибкий сетевой слой в iOS-приложении Практически любое мобильное приложение взаимодействует с серверами через их API. Перед разработчиком в таком случае стоит задача реализовать сетевой слой своего приложения. Провайдеры того или иного API разрабатывают его интерфейс, зачастую, одинаково, но бывает и так, что A...

[Перевод] Мышление в стиле Ramda: частичное применение (каррирование) Данный пост — это третья часть серии статей о функциональном программировании под названием «Мышление в стиле Ramda». 1. Первые шаги 2. Сочетаем функции 3. Частичное применение (каррирование) 4. Декларативное программирование 5. Бесточечная нотация 6. Неизменяемость и объек...

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

Новый DDoS-бот не желает исполняться в песочнице Исследователи из Radware проанализировали образцы DDoS-бота DarkSky, атаки которого они наблюдают с мая прошлого года. Как стало известно SC Magazine UK, новая вредоносная программа способна определять запуск на виртуальной машине и при положительном результате приостанавлив...

Смартфоны Huawei P10 и P10 Plus уже начали получать обновление до Android 8.0 Компания Huawei начала распространение обновления до свежей версии Android для смартфонов P10 и P10 Plus. Первые пользователи получили соответствующее обновление ещё в среду. Как и всегда в таких случаях, на то, чтобы обновить все соответствующие аппараты, у Huawei у...

Прокуратура встала на путь цифровой трансформации Документ направлен на обеспечение прокуратуры новыми технологиями, которые позволят прокурорам эффективно выполнять свои задачи, и создадут условия для удобного и прозрачного взаимодействия с прокуратурой граждан и предпринимателей. Это первый ИТ-проект в правоохранительной ...

Стал доступен Windows 10 SDK Preview Build 17083 Сегодня компания Microsoft выпустила новую предварительную версию Windows 10 SDK с номером сборки 17083, которая может использоваться в сочетании с последней доступной инсайдерской сборкой Windows 10. Данная версия SDK включает в себя несколько исправлений ошибок, новые API...

Network-дайджест: 20 материалов о сетях, протоколах и битве за Net Neutrality В нашем тематическом дайджесте мы собрали статьи из корпоративного блога VAS Experts, посвященные теории организации сетей, законодательству и разным видам интернет-протоколов. Их мы дополнили постами из нашего блога на Хабре: о сетевом нейтралитете и блокировках. Читать д...

Сложный интерфейс, падение сервера и другие проблемы на пути создания приложения Рассказывает Владимир Бондаренко, который создал приложение для подбора фильмов — Movie Expert.

3M получила еще 34 млн долларов на разработку шлема для американских военных Компания Ceradyne, являющаяся дочерним предприятием 3M, сообщила, что американская армия выделила ей еще 34 млн долларов на продолжение разработки «шлема будущего». Полное название футуристического элемента экипировки — Integrated Head Protection System (IHPS). Внешне ш...

Следующая версия Windows 10 будет включать в себя новую платформу ИИ Компания Microsoft на мероприятии Developer Day анонсировала новую платформу искусственного интеллекта, которая войдёт в состав следующей версии Windows 10. Новая платформа предоставит разработчикам инструменты, с помощью которых они смогут легко использовать ИИ и машинное ...

Патриарха Кирилла просят создать икону с Путиным Активисты общественной организации «Национальный комитет+60» обратились к патриарху Московскому и всея Руси Кириллу с просьбой дать указание о написании «путинской иконы Богоматери» по случаю 1030-летия Крещения Руси. Об этом сообщает Znak.com. Иллюстрация: pixabay.com В зая...

Fandom: Clash of Clans 2.9.5 Великолепное руководство для поклонников Clash of Clans — создано фанатами для фанатов. Приложения Викия всегда актуальны и достоверны за счёт постоянного обновления информации в реальном времени огромным сообществом фанатов. Руководство по Clash of Clans содержит сотни стра...

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

На Reddit забанили сообщество Deepfake с “поддельным порно” На Reddit запретили «поддельные порноролики» – изображения и видео, на которые накладывают лицо субъекта без его разрешения. Deepfakes – программное обеспечение с использованием искусственного интеллекта для создания компьютерной версии лица субъекта, которая пол...

Thunkable X – бесплатная браузерная среда разработки мобильных приложений под iOS и Android IDE Thunkable X работает на платформе Thunkable, которая ранее развивалась в качестве альтернативы MIT App Inventor. В настоящее время платформа предлагает две функционально отличающиеся и независимые среды разработки – оригинальную для разработки под Android, совместимую ...

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