Социальные сети Рунета
Понедельник, 21 октября 2019
4 апреля 2019   13:14

Строительные блоки распределенных приложений. Первое приближение

В прошлой статье мы разобрали теоретические основы реактивной архитектуры. Пришло время поговорить о потоках данных, путях реализации реактивных Erlang/Elixir систем и шаблонах обмена сообщениями в них: Request-response Request-Chunked Response Response with Request Publis...

Подробности на сайте: habr.com

Строительные блоки распределенных приложений. Второе приближение Анонс Коллеги, в середине лета я планирую выпустить еще один цикл статей по проектированию систем массового обслуживания: “Эксперимент VTrade” — попытка написать фреймворк для торговых систем. В цикле будет разобрана теория и практика построения биржи, аукциона и магазина. В...

DynamicData: Изменяющиеся коллекции, шаблон проектирования MVVM и реактивные расширения В феврале 2019 года состоялся релиз ReactiveUI 9  —  кроссплатформенного фреймворка для построения приложений с графическим пользовательским интерфейсом на платформе Microsoft .NET. ReactiveUI  — это инструмент для тесной интеграции реактивных расширений с шаблоном проектиро...

Основы реактивного программирования с использованием RxJS. Часть 2. Операторы и пайпы В предыдущей статье мы рассмотрели, что такое потоки и с чем их едят. В новой части мы познакомимся с тем, какие методы RxJS предоставляет для создания потоков, что такое операторы, пайпы(pipes) и как с ними работать. RxJS обладает богатейшим API. В документации описано б...

[Перевод] Настоящее реактивное программирование в Svelte 3.0 Заголовок статьи может показаться немного кричащим, впрочем как и сам фреймворк Svelte и те идеи, что стоят за ним. Если вы ещё не знаете ничего про Svelte, пристегнитесь, сейчас мы рванём навстречу революции. Учтите, что это не урок по началу работы со Svelte. Уже существуе...

Основы реактивного программирования с использованием RxJS. Часть 3. Higher Order Observables В данной статье мы рассмотрим, как можно в одном потоке обрабатывать другой, для чего это нужно, и как нам в этом помогут операторы Higher Order Observables (дальше HOO). При работе с потоками часто возникает ситуация, когда необходимо в качестве значения одному потоку пе...

Книга «Современный язык Java. Лямбда-выражения, потоки и функциональное программирование» Привет, Хаброжители! Преимущество современных приложений — в передовых решениях, включающих микросервисы, реактивные архитектуры и потоковую обработку данных. Лямбда-выражения, потоки данных и долгожданная система модулей платформы Java значительно упрощают их реализацию. ...

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

Reaktive — мультиплатформенная библиотека для реактивного Kotlin Многие сегодня любят реактивное программирование. В нём масса плюсов: и отсутствие так называемого "callback hell", и встроенный механизм обработки ошибок, и функциональный стиль программирования, который уменьшает вероятность багов. Значительно проще писать многопоточный ...

[Перевод] RxDart: магические трансформации потоков Добро пожаловать — это третья часть моей серии статей об архитектуре Flutter. Введение Основы Dart Streams RxDart: магические трансформации потоков (этот пост) Основы RxVMS: RxCommand и GetIt RxVMS: Службы и Менеджеры RxVMS: самодостаточные виджеты Аутентификация пользова...

Российская армия получила новейшую систему запуска реактивных снарядов Российской армии доставили первую бригаду реактивной системы залпового огня (РСЗО) последнего поколения «Торнадо-С».

[Перевод] Гонки на реактивных ранцах 2019 Тесты на опасное сближение завершены, Jetpack Aviation готовится к запуску первой в мире серии гонок на Jetpack'ах. Команда Jetpack Aviation (JPA) только что завершила испытательные полеты, в которых два пилота подлетели достаточно близко друг к другу, что легко могли шутя...

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

[Перевод] RxVMS — практичная архитектура для Flutter-приложений Это первый пост из серии публикаций, в которых объясняется мое понимание архитектуры приложений для Flutter. Предупреждаю — это будет весьма самоуверенным. Пока запланированы: Введение (этот пост) Основы Dart Streams RxDart: магические трансформации потоков Основы RxVMS: Rx...

MU-MIMO: один из алгоритмов реализации Предисловие В качестве дополнения к моей недавней статье хотелось бы также поговорить о теме MU (Multi User) MIMO. Есть у мною уже упомянутого профессора Хаардта одна очень известная статья, где он вместе со своими коллегами предлагает алгоритм разделения пользователей по ни...

Рекомендательная система для Directum Club. Часть первая, коллаборативная Каждый день пользователи по всему миру получают большое количество различных рассылок — только через сервис MailChimp ежедневно рассылают миллиард писем. Из них открывают 20.81%. Ежемесячно пользователи наших сайтов получают рассылки с отобранными редактором материалами. Эти...

Реактивный раздатчик ok.ru/music Я работаю в команде платформы Одноклассников и сегодня расскажу про архитектуру, дизайн и детали реализации сервиса раздачи музыкальных треков. Читать дальше →

[Перевод] Потоки Redis как чистая структура данных Новая структура данных Redis 5 под названием «потоки» (streams) вызвала живой интерес в сообществе. Как-нибудь я поговорю с теми, кто использует потоки в продакшне, и напишу об этом. Но сейчас хочу рассмотреть немного другую тему. Мне начинает казаться, что многие представля...

[Из песочницы] Что нужно знать перед переходом на Akka toolkit для реализации Event Sourcing и CQRS Здравствуйте, уважаемые читатели Хабра. Меня зовут Рустем и я главный разработчик в казахстанской ИТ-компании DAR. В этой статье я расскажу, что нужно знать перед тем, как переходить на шаблоны Event Sourcing и CQRS с помощью Akka toolkit. Примерно с 2015 года мы начали прое...

[Перевод] Подробности о GraphQL: что, как и почему GraphQL сейчас, без преувеличения, это — последний писк IT-моды. И если вы пока не знаете о том, что это за технология, о том, как ей пользоваться, и о том, почему она может вам пригодиться, значит статья, перевод которой мы сегодня публикуем, написана специально для вас. Зд...

[Перевод] Основы Dart Streams Это вторая часть моей серии по поводу Flutter Architecture: Введение Основы Dart Streams (этот пост) RxDart: магические трансформации потоков Основы RxVMS: RxCommand и GetIt RxVMS: Службы и Менеджеры RxVMS: самодостаточные виджеты Аутентификация пользователя посредством R...

Российские тяжёлые огнемёты и реактивные установки проверили на масштабных учениях Телеканал «Звезда» опубликовал видео с учений «Центр-2019», на которых видны испытания тяжёлых огнемётных систем ТОС-1А «Солнцепёк» и самоходных реактивных установок разминирования УР-77 «Метеорит» (или «Змей Горыныч»).

Ошибки панели администрирования или опыт разработки Laravel Orchid В прошлом на Хабре публиковалась статья "Orchid CMS — ещё одна CMS на Laravel", а теперь спустя два года и больше 100 релизов попробуем разобрать ошибки и проблемы которые стояли на пути разработки. Читать дальше →

Создаем шаблон Xcode проекта Всем привет, я Ваня — iOS-разработчик. В этой статье я расскажу о том, как создавать Xcode шаблоны проектов и о том, как они помогли сэкономить время на старте проекта. Читать дальше →

[Перевод] Реализация шаблона проектирования Command в Unity Вы задавались когда-нибудь вопросом, как в играх наподобие Super Meat Boy реализована функция реплея? Один из способов её реализации — выполнять ввод точно так же, как это делал игрок, что, в свою очередь, означает, что ввод нужно как-то хранить. Для этого и многого другого...

Пришло время Java 12! Обзор горячих JEP-ов Прошло полгода, а значит — время устанавливать новую Java! Это был долгий путь, и до конца добрались немногие. Из интересных JEP-ов отвалились сырые строки, а вот об оставшемся мы поговорим под катом. Читать дальше →

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

Путеводитель по программе JPoint 2019 Последний месяц зимы подходит к концу, и просыпается здоровое желание сходить на какую-нибудь большую Java-конференцию. Благо, всего месяц остался до JPoint 2019 — международной Java-конференции, которая пройдёт в начале апреля в Москве. Программа почти стабилизировалась, и ...

Как быстро написать веб-сайт или веб-приложение и не увязнуть в сборщиках Это маленькое руководство описывает создание реактивного веб-приложения используя отрисовку на стороне сервера (Server-Side Rendering, SSR). Клиентская часть являет собой полноценное Vue-приложение, в моём случае используя шаблон MVVM. Серверное приложение работает на микроф...

«Мыши плакали и кололись..» Импортозамещение на практике. Часть 4 (теоретическая, завершающая). Системы и сервисы Поговорив в прошлых статьях о вариантах, «отечественных» гипервизорах и «отечественных» Операционных Системах, продолжим сбор информации о необходимых системах и сервисах, которые на этих ОСях можно развернуть. Читать дальше →

Синглтон размещающий объекты в ROM и статические переменные(С++ на примере микроконтроллера Cortex M4) В предыдущей статье Где хранятся ваши константы на микроконтроллере CortexM (на примере С++ IAR компилятора), был разобран вопрос о том, как расположить константные объекты в ROM. Теперь же я хочу рассказать, как можно использовать порождающий шаблон одиночка для создания ...

Асинхронное программирование в JavaScript (Callback, Promise, RxJs ) Всем привет. На связи Омельницкий Сергей. Не так давно я вел стрим по реактивному программированию, где рассказывал про асинхронность в JavaScript. Сегодня я бы хотел законспектировать этот материал. Но перед тем как начать основной материал нам нужно сделать вводную. Итак...

[Перевод] Jetpack Compose Jetpack Compose это отдельный набор инструментов разработанный для упрощения разработки UI. Он соединяет модель реактивного программирования с лакончностью и лёгкостью использования языка программирования Kotlin ПРИМЕЧАНИЕ: Jetpack Compose в настоящее время находится в ст...

[Из песочницы] Основы реактивного программирования с использованием RxJS Часть 1. Реактивность и потоки Данная серия статей посвящена реактивности и ее применению в JS с использованием такой замечательной библиотеки как RxJS. Для кого эта статья: в основном, здесь я буду объяснять основы, поэтому в первую очередь статья рассчитана на новичков в ...

Где летом поговорить про Apache Ignite и распределенные системы 14 июня в Петербурге пройдет митап Apache Ignite Meetup: реальные кейсы. Послушаем парней, у которых получилось. Первый кейс — IMDG для расчета маржинальности торговых контрактов в Heineken. Второй — промышленная платформа Газпромнефти. Почему open source и Ignite? Куда прик...

[Перевод] Распределенные системы. Паттерны проектирования. Обзор книги Здравствуйте, коллеги. Сегодня мы публикуем перевод очередного обзора с сайта Бена Нейдела — этот сайт наверняка заинтересует вас и в оригинале. На сей раз мы поговорим о книге "Распределенные системы. Паттерны проектирования", которая дополняет вышедшую у нас в начале этого...

[Перевод] Senior Engineer в поисках работы. О задачах на технических собеседованиях и теоретических вопросах Продолжаем говорить о технических собеседованиях (если вы не читали — просмотрите предыдущие статьи из цикла — о собеседованиях с HR и технических). В этот раз будет больше субъективного опыта, минимум советов, а также немножко про тестовые задания и теоретические вопросы. П...

Дайджест интересных материалов для мобильного разработчика #301 (3 — 9 июня) Наконец-то можно сказать, что WWDC получился. Роскошный SwiftUI, новые версии операционных систем и новая iPadOS, App Store на часах, PencilKit, Catalyst для портирования приложений на macOS, новые инструменты для виртуальной реальности, реактивный Combine. На полгода разбир...

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

Где весной поговорить про Apache Ignite, распределенные базы данных и распределенное машинное обучение Начинается первая волна конференций, да и дружественные митапы активизировались. Присоединяйтесь. 15 марта, Санкт-Петербург — ODS SPB Meetup #5 Распределенный TensorFlow с Apache IgniteНа митапе, приуроченному ко дню рождения Open Data Science, Юрий Бабак, Руководитель гру...

[Перевод] Инструментарий для рефакторинга баз данных: Flyway vs. Liquibase В этой статье мы поговорим о Flyway и Liquibase — двух наиболее популярных инструментах на основе Java для рефакторинга баз данных. Цель статьи — сравнить эти инструменты и выяснить, какой из них в каких случаях лучше применять. Читать дальше →

[Из песочницы] Sonoff Basic прошивка через Raspberry Pi Эта инструкция не претендует на новизну. Приведенное тут вполне гуглится (правда на английском языке), но я долго искал с чего начать и решил помочь тем, кто встает на путь общения с Sonoff. Обзоров Sonoff Basic в интернете много в том числе на русском языке, также есть ст...

OS1: примитивное ядро на Rust для x86. Часть 2. VGA, GDT, IDT Первая часть Первая статья еще не успела остыть, а я решил не держать вас в интриге и написать продолжение. Итак, в предыдущей статье мы поговорили о линковке, загрузке файла ядра и первичной инициализации. Я дал несколько полезных ссылок, рассказал, как размещается загружен...

[Перевод] UDB. Что же это такое? Часть 3. Datapath FIFO Продолжаем делать перевод фирменной документации фирмы Cypress на блоки UDB. Тем более, что всё очень удачно совпадает. Для продолжения практической статьи по UDB понадобится использование FIFO, а в теоретической части мы подобрались как раз к их описанию. Поэтому начинаем...

[Перевод] F#8: Разграниченные/размеченные объединения(Discriminated Unions) Итак, наше путешествие F # продолжается. Мы рассмотрели некоторые основные типы строительных блоков, такие как записи / кортежи, теперь пришло время взглянуть на размеченные объединения. Читать дальше →

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

[Из песочницы] Первое, что нужно сделать запуская проект на Django Приветствую сообщество, встала передо мной задача написать социальную сеть. А коль скоро язык программирования, которым я более-менее владею — это Python, я выбрал фреймворк Django для реализации проекта. Чтобы не тратить время на написание HTML шаблонов и CSS стилей, эти фа...

NLP. Основы. Техники. Саморазвитие. Часть 2: NER Первую часть статьи об основах NLP можно прочитать здесь. А сегодня мы поговорим об одной из самых популярных задач NLP – извлечении именованных сущностей (Named-entity recognition, NER) – и разберем подробно архитектуры решений этой задачи. Читать дальше →

Работа с командой Впервые на Saint TeamLead Conf 2019 будет три потока докладов. Мы растём и развиваемся, а тематика конференции позволяет широко и глубоко освещать разные направления работы и развития тимлида. Традиционно будет 6 основных направлений: личное развитие, работа с командой, инст...

Основы архитектуры приложений на Flutter: Vanilla, Scoped Model, BLoC (оригинал статьи на английском языке опубликован на Medium) Flutter предоставляет современный реактивный фреймворк, большой набор виджетов и тулов. Но, к сожалению, в документации нет ничего похожего на руководство по рекомендуемой архитектуре приложения для Android. Не сущ...

Подножка для мозга: платформа распределенного реестра Hedera Hashgraph Алгоритм консенсуса, асинхронная толерантность к необъяснимым ошибкам, ориентированный ациклический граф, распределенный реестр — о том, что объединяет эти понятия, и как не вывихнуть себе мозг — в статье о Hedera Hashgraph. Читать дальше →

Британская компания Orbex представляет самый большой в мире реактивный двигатель, изготовленный при помощи трехмерной печати Молодая британская космическая компания Orbex впервые продемонстрировала свое творение - вторую ступень ракеты Prime Rocket, предназначенной для вывода на околоземную орбиту небольших грузов. Эта ступень оснащена реактивным двигателем, который можно назвать самым большим в м...

Нет вам не нужны 50 км/с дельты вэ — вам нужны аддитивные технологии (Часть 1) Полет в космос пока что дорог. Даже если принять кажущуюся многим чрезмерно оптимистичной, возможность запускать полностью-многоразовый носитель на 100-150 тонн за $ 7 миллионов — получим порядка 50 долларов за килограмм ПН. Полет к Луне или Марсу с помощью того же StarShip ...

«Настоящий Железный человек» продемонстрировал реактивный костюм Daedalus Mark 1, оснащённый силовой установкой в 1000 л.с. Ричард Браунинг (Richard Browning), бывший морской пехотинец, изобретатель и основатель компании Gravity Industries, продемонстрировал реактивный костюм в центре подготовки Commando Training Centre. Браунинг, которого прозвали «настоящим Железным человеком»,...

[Перевод] Профессии будущего: «Кем вы будете работать на Марсе?» «Пилот реактивного ранца» — это «профессия прошлого», ей 60 лет. «Разработчик реактивных ранцев» — 100 лет. «Инструктор школьного курса по конструированию реактивных ранце»в — профессия настоящего, делаем сейчас. А какая профессия будущего? Тампер? Археопрограммист? Диза...

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

Перевод книги Skunk Works. Личные мемуары моей работы в Локхид Хочу представить вам перевод увлекательнейшей книги «Skunk Works. Личные мемуары моей работы в Локхид». Skunk Works — это секретное подразделение корпорации Локхид, созданное в 1943 году для скорейшей разработки первого американского реактивного истребителя P-80. Также они ...

Что получится, если скрестить самолет и такси: транспорт будущего Один из таких стартапов — базирующаяся в Мюнхене (ФРГ) компания Lilium — провел в мае этого года первый испытательный полет пятиместного, полностью электрического конвертоплана Lilium Jet. Реактивную тягу создают 36 электродвигателей с крыльчатками на валах. При взлете и пос...

Книга «Spring. Все паттерны проектирования» Привет, Хаброжители! Мы издали книгу в которой дается обзор фреймворка Spring 5 и паттернов проектирования для него. Объясняется принцип внедрения зависимостей (dependency injection), играющий ключевую роль при создании слабосвязанного кода во фреймворке Spring. Затем рассм...

Интересные материалы: 06.06 Жаркая неделя прошла и мы рассказываем про эксперименты Навигатора, новый реактивный фреймворк Combine и как переделать уровень CS на UE4.

Что особенного в Cloudera и как ее готовить Рынок распределенных вычислений и больших данных, если верить статистике, растет на 18-19% в год. Значит, вопрос выбора софта для этих целей остается актуальным. В этом посте мы начнем с того, зачем нужны распределенные вычисления, подробней остановимся на выборе ПО, расскаж...

«Настоящий Железный человек» продемонстрировал реактивный костюм Daedalus Mark 1, оснащённый силовой установкой в 1000 л.с. Ричард Браунинг (Richard Browning), бывший морской пехотинец, изобретатель и основатель компании Gravity Industries, продемонстрировал реактивный костюм в центре подготовки Commando Training Centre. Браунинг, которого прозвали «настоящим Железным человеком»...

[Из песочницы] Работа с JSON RPC в Symfony 4 Всем привет, сегодня поговорим о том, как подружить Symfony 4, JSON RPC и OpenAPI 3. Данная статья рассчитана не на новичков, вы уже должны понимать как работать с Symfony, Depedency Injection и другими «страшными» вещами. Сегодня рассмотрим одну конкретную реализацию JSON ...

Архитектурный шаблон «Строитель» во вселенной «Swift» и «iOS»/«macOS» В этот раз я бы хотел немного поговорить о еще одном порождающем шаблоне проектирования из арсенала «Банды четырех» – «Строителе» («Builder»). Так вышло, что в ходе получения своего (пусть и не слишком обширного) опыта, я довольно часто видел, чтобы паттерн использовался в «...

Новый прямоточный реактивный двигатель компании Northrop Grumman установил мировой рекорд по вырабатываемой им силе тяги Не так давно был завершен двухлетний период модернизации испытательного комплекса AEDC Aerodynamic and Propulsion Test Unit, расположенного на авиационной базе Арнольд в Теннеси, США. Обновленное оборудование этого комплекса позволило провести испытания нового прямоточного р...

Улучшение агента на основе Q-Learning, торгующего stocks, путем добавления рекуррентности и формирования наград Напоминание Привет, Хабр! Предлагаю вашему вниманию ещё один перевод моей новой статьи с медиума. В прошлый раз (первая статья) (Habr) мы создали агента на технологии Q-Learning, который совершает сделки на имитированных и реальных биржевых временных рядах и пытались провер...

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

[Перевод] TensorFlow на Apache Ignite С чего начинается родина мы все знаем, а глубокое обучение начинается с данных. Без них невозможно обучить модель, оценить ее, да и вообще использовать. Занимаясь исследованиями, увеличивая индекс Хирша статьями о новых архитектурах нейронных сетей и экспериментируя, мы опир...

Проблемы масштабирования БД в высоконагруженных системах На прошлом внутреннем митапе Pyrus мы говорили о современных распределенных хранилищах, а Максим Нальский, CEO и основатель Pyrus, поделился первым впечатлением от FoundationDB. В этой статье рассказываем о технических нюансах, с которыми сталкиваешься при выборе технологии ...

[Перевод] Reflective Shadow Maps: Часть 1 Привет, Хабр! Представляю вашему вниманию перевод статьи «Reflective Shadow Maps» автора Eric Polman. Reflective Shadow Maps (RSM) (отражающие карты теней) ― это алгоритм, расширяющий “простые” shadow map. Алгоритм учитывает свет, рассеянный после первого попадания на пов...

Основы шаблонов С++: шаблоны функций Дисклаймер: статья была начата еще в феврале, но, по зависящим от меня причинам, закончена не была. Тема очень обширна, поэтому публикуется в урезаном виде. Что не поместилось, будет рассмотренно позже. Невозможно разбираться в современном С++, не зная, что такое шаблоны п...

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

[Перевод] Разработка динамических древовидных диаграмм с использованием SVG и Vue.js Материал, перевод которого мы сегодня публикуем, посвящён процессу разработки системы визуализации динамических древовидных диаграмм. Для рисования кубических кривых Безье здесь используется технология SVG (Scalable Vector Graphics, масштабируемая векторная графика). Реактив...

PVS-Studio для Java В седьмой версии статического анализатора PVS-Studio мы добавили поддержку языка Java. Пришло время немного рассказать, как мы начинали делать поддержку языка Java, что у нас получилось и какие дальнейшие планы. И, конечно, в статье будут приведены первые испытания анализат...

Реактивный двигатель на домашнем 3D-принтере Построить свой собственный реактивный двигатель — хороший способ испытать свои инженерные навыки. Гэрри Гамильтон — учитель и 3D-печатник из Новой Зеландии разработал и создал на 3D-принтере крутой реактивный двигатель — модель, демонстрирующую процессы происходящие в нас...

[Перевод] Обучение с подкреплением на языке Python Привет, коллеги! В последней публикации уходящего года мы хотели упомянуть о Reinforcement Learning — теме, книгу на которую мы уже переводим. Посудите сами: нашлась элементарная статья с Medium, в которой изложен контекст проблемы, описан простейший алгоритм с реализаци...

[Из песочницы] Перевод руководства по Stream API от Benjamin Winterberg Привет, Хабр! Представляю вашему вниманию перевод статьи "Java 8 Stream Tutorial". Это руководство, основанное на примерах кода, представляет всесторонний обзор потоков в Java 8. При моем первом знакомстве с Stream API, я был озадачен названием, поскольку оно очень созвучно...

Обеспечение безопасности в беспроводных протоколах на примере LoRaWAN Привет, Хабр. Мне хотелось бы в очередной раз поговорить о том, как обеспечивается базовый (читай: минимально необходимый) уровень безопасности данных в беспроводных сетях, используемых в IoT-устройствах, на примере LoRaWAN. Почему именно LoRaWAN? Во-первых, потому, что эт...

Использование Liquibase для управления структурой БД в Spring Boot приложении. Часть 1 В этой статье я разберу использование утилиты Liquibase в Spring Boot приложениях для версионирования структуры реляционной БД и миграции этой структуры с одной версии на другую. В первой части разберем базовый пример, а во второй поговорим об использовании liquibase-mave-pl...

[Перевод] Лямбды: от C++11 до C++20. Часть 2 Привет, хабровчане. В связи со стартом набора в новую группу по курсу «Разработчик C++», делимся с вами переводом второй части статьи «Лямбды: от C++11 до C++20». Первую часть можно прочитать тут. В первой части серии мы рассмотрели лямбды с точки зрения C++03, C++11 и C+...

Continuous Monitoring – автоматизация проверок качества ПО в CI/CD Pipeline Сейчас на хайпе тема DevOps. Конвейер непрерывной интеграции и доставки CI/CD внедряют все, кому не лень. Но большинство не всегда уделяют должное внимание обеспечению надежности работы информационных систем на различных этапах CI/CD Pipeline. В данной статье я хотел бы пого...

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

Архитектурный шаблон «Итератор» («Iterator») во вселенной «Swift» «Итератор» – один из шаблонов проектирования, которые программисты чаще всего не замечают, потому что его реализация, как правило, встроена непосредственно в стандартные средства языка программирования. Тем не менее, это тоже один из поведенческих шаблонов, описанных в книге...

Украинцы похвастались новой системой залпового огня На видео показано, как машина уверенно передвигается по шоссе и бездорожью, но боевые возможности реактивной системы залпового огня почему-то не показаны. БМ-21УМ «Берест», сконструированный на шасси тягача КрАЗ-5401НЕ, должен заменить в украинской армии систему залпового ог...

Лопнул ли пузырь машинного обучения, или начало новой зари Недавно вышла статья которая неплохо показывает тенденцию в машинном обучении последних лет. Если коротко: число стартапов в области машинного обучения в последние два года резко упало. Ну что. Разберём “лопнул ли пузырь”, “как дальше жить” и поговорим откуда вообще такая з...

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

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

Matrix 1.0 — релиз протокола децентрализованного обмена сообщениями 11 июня 2019 разработчики Matrix.org Foundation объявили о релизе Matrix 1.0 — протокола для реализации федеративной сети, построенной на основе линейной истории событий (events) внутри ациклического графа (DAG). Самым распространённым способом использования протокола являет...

YIMP — Панель управления для Yii 2 на Bootstrap 4 Уверен, что у многих разработчиков, предпочитающих фреймворки готовым CMS, есть в запасе решение на Bootstrap или его аналогах, которое используется в для создания интерфейсов админок и прочих бэк-офисов. И у меня такое есть. Успешно работает много лет, но безнадежно устарел...

«Смотри какой у меня реактивный ранец!» — «Ха, смотри, какая у меня ракета!» (заметки с ракетостроительного чемпионата) В заброшенном советском лагере под Калугой с названием «Сокол тысячелетия», состоялся первый Всероссийский ракетостроительный чемпионат. Туда напросился и я, потому что реактивный ранец — это ближе к ракетам, чем к авиации. Да и посмотреть на 10 летних, которые из скотча, ...

Профилирование со сверхсветовой скоростью: теория и практика. Часть 1 Привет! Из заголовка вы уже поняли, о чём я собираюсь рассказать. Тут будет много хардкора: мы обсудим Java, С, С++, ассемблер, немного Linux, немного ядра операционной системы. А ещё разберём практический кейс, поэтому статья будет в трёх больших частях (достаточно объёмных...

Системы на основе очередей задач Привет, Хаброжители! Мы решили поделиться переводом главы «Системы на основе очередей задач» Из готовящейся к выходу новинки «Распределенные системы. Паттерны проектирования» (уже в типографии). Простейшая форма пакетной обработки — очередь задач. В системе с очередью за...

Laravel: объясняем основные понятия. Часть вторая: «Практика» Всем привет! Продолжаем серию авторских публикаций в преддверии старта курса «Framework Laravel». В прошлой статье мы с вами посмотрели на теоретические основы Laravel. Однако теорию любого фреймворка можно изучать достаточно долго и ничего не понять, пока сам не напишешь н...

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

Обмен сайта на Битрикс и 1С: решение основных проблем В этой статье мы собрали основные проблемы обмена с 1с и простые чек-листы по их решению Статья будет полезна как программистам 1С, так и Битрикс разработчикам. Текст структурирован по принципу: проблема — варианты решения. Если есть конкретная задача, то сразу переходите п...

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

Работу самого мощного миномёта в мире показали на видео В рамках учений артиллеристы поразили около 150 учебных целей, расположенных на расстоянии от 8 до 40 км. При этом координаты минометным расчётам передавались при помощи беспилотников «Элерон». Казнозарядный 240-мм миномёт 2Б8, установленный на 2С4, может использовать фугасн...

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

[Перевод] Последствия переписывания компонентов Firefox на Rust В прошлых статьях цикла мы обсудили безопасность памяти и безопасность потоков в Rust. В этой последней статье посмотрим на последствия реального применения Rust на примере проекта Quantum CSS. Движок CSS применяет правила CSS на странице. Это нисходящий процесс, который с...

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

[Из песочницы] Что ты такое, замыкания в JavaScript? В этой статье я постараюсь разобрать механизм реализации замыканий в JavaScript. Для этого я буду использовать браузер Chrome. Начнем с определения: Замыкания  - это функции, ссылающиеся на независимые (свободные) переменные. Другими словами, функция, определённая в замыка...

Как ускорить шифрование по ГОСТ 28147-89 на процессоре Байкал-Т1 за счет SIMD-блока В статье на примере описания реализации алгоритма шифрования по ГОСТ 28147–89, построенного на сети Фейстеля, показаны возможности двухъядерного процессора BE-T1000 (aka Байкал-Т1) и проведены сравнительные испытания реализации алгоритма с помощью векторных вычислений с сопр...

Кадровая алхимия: каков оптимальный состав команды центра ГосСОПКА? Эта статья пригодится тем, кто работает в компании, признанной субъектом критической информационной инфраструктуры (КИИ), а значит — обязанной выполнить требования №187-ФЗ и построить центр ГосСОПКА (Государственной системы обнаружения, предупреждения и ликвидации последст...

AERODISK Engine: Катастрофоустойчивость. Часть 1 Привет, читатели хабра! Темой этой статьи будет реализация средств катастрофоустойчивости в системах хранения AERODISK Engine. Изначально мы хотели написать в одной статье про оба средства: репликацию и метрокластер, но, к сожалению, статья получилась слишком большой, поэто...

Пример Model-View-Update архитектуры на F# Кому-то не нравился Redux в React из-за его имплементации на JS? Мне он не нравился корявыми switch-case в reducer'ах, есть языки с более удобным pattern matching, и типы лучше моделирующие события и модель. Например, F#. Эта статья — разъяснение устройства обмена сообщения...

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

Построение автоматической системы модерации сообщений Автоматические системы модерации внедряются в веб-сервисы и приложения, где необходимо обрабатывать большое количество сообщений пользователей. Такие системы позволяют сократить издержки на ручную модерацию, ускорить её и обрабатывать все сообщения пользователей в real-time...

Отправка сообщений peer-to-peer при помощи PeerJS Приветствую вас, уважаемые читатели. В предыдущей статье я рассказал, как сделать простую звонилку в браузере при помощи PeerJS. А сегодня планирую рассмотреть, как обмениваться сообщениями между двумя пользователями напрямую без задержек. Кому это интересно? Если Вы разраб...

Космос и Гена Гена родился в Советском Союзе. Хоть уже и на закате великой империи, но успел насмотреться на портрет Ленина на фоне красного флага, расположенный на первом развороте букваря. И, конечно, Гена обожал все, что касалось космоса. Гордился, что живет в стране, имеющей самый вну...

Ударные волны при переходе на сверхзвук: фото в цвете Недавно NASA опубликовало серию потрясающих снимков, на которых изображены два сверхзвуковых реактивных самолета Т-38, проходящих через атмосферу и создающих звуковые ударные волны. Это стало возможно благодаря другому самолету NASA, B-200 King Air, на котором была установле...

Как мы спроектировали и реализовали новую сеть на Huawei в московском офисе, часть 3: серверная фабрика В предыдущих двух частях (раз, два) мы рассмотрели принципы, на основе которых построена новая пользовательская фабрика, и рассказали про миграцию всех рабочих мест. Теперь пришла пора поговорить о серверной фабрике. Читать дальше →

[Из песочницы] Построение сервис-ориентированной архитектуры на Rails + Kafka Привет, Хабр! Представляю вашему вниманию пост, который является текстовой адаптацией выступления Stella Cotton на RailsConf 2018 и переводом статьи «Building a Service-oriented Architecture with Rails and Kafka» автора Stella Cotton. В последнее время отчетливо виден перех...

Английский стартап строит 18-местный биоэлектрический гибридный самолет Английский стартап Faradair Aerospace обнародовал планы по созданию и продаже 18-местного биоэлектрического гибридного самолета для использования в качестве пассажирского и грузового воздушного транспорта. Компания называется свой свой самолет Bio Electric Hybrid Aircraft, ...

Расчёт каннибализации на основе классического A/B-теста и метод bootstrap’а В данной статье рассмотрен метод расчёта каннибализации для мобильного приложения на основе классического A/B-теста. В данном случае рассматриваются и оцениваются целевые действия в рамках процесса реаттрибуции с рекламного источника (Direct, Criteo, AdWords UAC и прочих) по...

Telegram опять раздаёт деньги за разработку простых шаблонов CSS Павел Дуров объявил о втором конкурсе Template Competition 2.0, всем участникам которого платят по $100 за каждый шаблон HTML/CSS для предпросмотра сайта СМИ в мессенджере. А также $2 за каждую ошибку, найденную в чудом шаблоне (сумма вычитается из гонорара автора). Сделат...

«Основы программирования» набор на бесплатный курс с примерами на JavaScript Дорогие товарищи инженеры и будущие инженеры, сообщество Метархия открывает набор на бесплатный курс «Основы программирования», который будет доступен на youtube и github без всяких ограничений. Часть лекций уже записана в конце 2018 и начале 2019 года, а часть будет прочит...

19 голов гидры. Большой обзор программы 11-12 июля в Санкт-Петербурге состоится конференция Hydra, посвященная разработке параллельных и распределенных систем. Фишка Гидры в том, что она объединяет крутых учёных (которых обычно можно найти только на зарубежных научных конференциях) и известных практикующих инженер...

Приглашаем на конференцию Azov Developers Meetup 2019 — 19 октября в Таганроге 19 октября проводим в Таганроге пятую ежегодную конференцию Azov Developers Meetup. Приглашаем всех желающих, регистрация бесплатна! Начнем в 9 утра в конгресс-отеле «Таганрог» на ул. Дзержинского, 161 с традиционного приветственного кофе и регистрации. Как и в прошлые го...

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

Блокировки в PostgreSQL: 4. Блокировки в памяти Напомню, что мы уже поговорили о блокировках отношений, о блокировках на уровне строк, о блокировках других объектов (включая предикатные), и о взаимосвязи разных типов блокировок. Сегодня я заканчиваю этот цикл статьей про блокировки в оперативной памяти. Мы поговорим о сп...

[Из песочницы] Перспектива: MultiClet S1 Итак, пришло время поговорить о следующем поколении мультиклеточных процессоров: MultiClet S1. Если вы впервые слышите о них, то обязательно ознакомьтесь с историей и идеологией архитектуры в этих статьях: «Мультиклеточный процессор — это что?» «Мультиклет R1 — первые те...

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

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

Борьба за качество решений на Erlang/Elixir @jcutrer Сегодня мы будем говорить про журналы событий, количественные метрики и наблюдение за всем этим с целью увеличения скорости реакции команды на инциденты и уменьшения времени простоя целевой системы. Erlang/OTP как фреймворк и идеология построения распределенных сис...

Минобороны ударило «Метеоритом» и «Солнцепёком» Манёвры прошли в рамках учений «Центр-2019», в которых принимают участие около 128 тысяч военнослужащих, более 20 тысяч единиц вооружения и военной техники, порядка 600 летательных аппаратов и 15 кораблей и судов обеспечения. Учения проходят на полигонах Оренбургской, Челяби...

[Перевод] C# Regex в примерах Перевод статьи подготовлен специально для студентов курса «Разработчик С#». Класс Regex реализует регулярные выражения в C#. В этой статье вы узнаете, как использовать C# Regex для проверки различных пользовательских входных данных. Regex в C# реализует регулярные выра...

[Перевод] Настройка кластера HA Kubernetes на «голом железе» с GlusterFS & MetalLB. Часть 2/3 Часть 1/3 тут Привет и с возвращением! Это вторая часть статьи о настройке кластера Kubernetes на «голом железе». Ранее мы настраивали НА-кластер Kubernetes с помощью внешнего etcd, схемы «ведущий-ведущий» и балансировки нагрузки. Ну а теперь пришло время настроить дополнит...

Western Digital показала реактивные SSD NVMe Black SN750 Компания Western Digital на днях провела в Москве презентацию нового SSD WD Black SN750 NVMe формата M.2. Модель выпускается объёмом от 250 Гб до 2 Тб. Это безусловный флагман, как среди продуктов Western Digital, так и на рынке накопителей данных в целом. Читать полную ...

Разработка Unix подобной OS — Виртуальное адресное пространство (6) В предыдущей статье мы рассмотрели основы работы в защищенном режиме IA-32. Сегодня пришла пора научиться работать с виртуальным адресным пространством. Читать дальше →

Реактивный костюм: на зависть Тони Старку Источник

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

Простая реализация небольших CAM на ПЛИС Введение Как-то раз мне потребовалось по работе реализовать небольшой блок ассоциативной памяти. Почитав, как это делается у Xilinx на BlockRAM (BRAM) или на SRL16, я несколько опечалился, так как их реализации занимали довольно много места. Решил попробовать сделать его сам...

Разработка Unix подобной OS — Оболочка. Заключение (9) Пришло время написать первую отдельную программу для нашего ядра — оболочку. Она будет храниться отдельным .elf файлом и запускаться init процессом при старте ядра. Это последняя статья из цикла по разработке своей операционной системы. Читать дальше →

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

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

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

Mattermost. Интеграция с внешними сервисами Выбирая замену, используемой у нас системы обмена сообщениями, наткнулся на описание Mattermost, и решил попробовать. Одним из плюсов, описываемой системы, является простая интеграция со сторонними сервисами, так называемые "хуки" (outgoing и incoming hooks). Вот про настрой...

TheOutloud — озвучивай и делись любимыми статьями и историями Привет всему сообществу, Habr! Уже некоторое время я являюсь вашим читателем и сегодня решил, что пришло время для моего первого поста здесь. Я давно хотел научиться программировать и последние пару месяцев проводил все свободное время, просматривая обучающие ролики на yout...

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

Патент недели: двигатель навылет При непосредственном участии Федеральной службы по интеллектуальной собственности («Роспатента») мы решили ввести на сайте рубрику «Патент недели». Еженедельно в России патентуются десятки интересных изобретений и усовершенствований — почему бы не рассказывать о них в числе ...

Разработка монолитной Unix подобной OS — Куча (4) В предыдущей статье мы с вами реализовали системный журнал ядра. Теперь пришло время реализовать менеджер динамической памяти. Читать дальше →

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

Gateway Foundation разработала проект ультрасовременной орбитальной станции Коммерческая организация «Gateway Foundation» опубликовала рекламный ролик, демонстрирующий проект новой космической станции. Авторы разработки — экс-пилот Джон Блинкоу и бывший архитектор из Лаборатории реактивного движения NASA Том Спилкер. По их задумке станция буде...

Датская компания продемонстрировала 3D-принтер для печати многоэтажных зданий Датская компания COBOD продемонстрировала «самый большой строительный 3D-принтер в мире», теоретически способный печатать трехэтажные здания. В ближайшее время система отправится в Саудовскую Аравию, где будет испытываться в рамках программы развития Saudi Vision 2030.Подроб...

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

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

Как ускорить работу с API на языке R с помощью параллельных вычислений, на примере API Яндекс.Директ (Часть 2) В прошлой статье я рассказал о том, что такое многопоточность, и привёл примеры её реализации на языке R при работе с API Яндекс.Директ с помощью пакетов doSNOW, doParallel и конструкции foreach. Данная статья является продолжением, но может быть рассмотрена как автономное р...

Резервное копирование, часть 4: Обзор и тестирование zbackup, restic, borgbackup В данной статье будут рассматриваться программные средства для резервного копирования, которые путем разбиения потока данных на отдельные компоненты (chunks), формируют репозиторий. Компоненты репозитория могут дополнительно сжиматься и шифроваться, а самое главное — при по...

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

[Из песочницы] Общее представление об архитектуре Clean Swift Привет, читатель! В этой статье я расскажу об архитектуре iOS приложений — Clean Swift. Мы рассмотрим основные теоретические моменты и разберем пример на практике. Читать дальше →

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

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

Россия создаст специальные ракеты для уничтожения электроники противника Научно-производственный концерн «Техмаш» рассказал о создании боеприпасов для реактивных систем залпового огня (РСЗО), которые могут поражать цель электромагнитным импульсом (ЭМИ). Это позволит выводить из строя бортовые системы противника.

myTarget обновила систему рекламной аттестации для маркетологов Mail.ru Group обновила систему аттестации рекламной платформы myTarget. Специалисты по интернет-маркетингу и сотрудники рекламных агентств смогут получить или обновить свой аттестат после прохождения двух экзаменов. Задания в тестировании соответствуют ключевым требованиям п...

Интересные материалы: 27.12 В нашем дайджесте контроллер-луковка, VIPER с реактивным Swift-ом и даже собственный Google Assistant на Raspberry Pi.

Гиперконвергентное решение AERODISK vAIR. Основа — файловая система ARDFS Привет, читатели Хабра. Этой статьей мы открываем цикл, который будет рассказывать о разработанной нами гиперконвергентной системе AERODISK vAIR. Изначально мы хотели первой же статьей рассказать всё обо всём, но система довольно сложная, поэтому будем есть слона по частям....

Контроллер-луковка. Разбиваем экраны на части В дизайне популярен atomic design и дизайн системы: это когда всё состоит из компонентов, от контролов до экранов. Программисту писать отдельные контролы несложно, но что делать с целыми экранами? Разберём на новогоднем примере: налепим всё в кучу; разделим на контроллеры: ...

[Из песочницы] Простой вариант реализации многопоточности на PHP Многопоточность в PHP отсутствует «из коробки», поэтому вариантов её реализации было придумано великое множество, включая расширения pthreads, AzaThread (CThread), и даже несколько собственных наработок PHP программистов. Основным минусом для меня стало слишком больше колич...

Механики геймификации: древо навыков Привет, Хабр! Продолжаем разговор о механиках геймификации. Прошлая статья рассказывала о рейтинге, а в этой поговорим о древе навыков (технологическом древе, skill tree). Рассмотрим, как древо используется в играх и как эту механику можно применить в геймификации. Читать ...

Реализация целого типа в CPython На Хабре уже были статьи о подробностях реализации менеджера памяти CPython, Pandas, я написал статью про реализацию словаря. Казалось бы, что можно написать про обычный целочисленный тип? Однако тут не всё так просто и целочисленный тип не такой уж и очевидный. Если вам и...

Техподдержка 3CX отвечает: захват SIP-трафика на сервере АТС В этой статье мы поговорим об основах захвата и анализа SIP-трафика, генерируемого АТС 3CX. Статья адресована начинающим системным администраторам или обычным пользователям, в обязанности которых входит обслуживание телефонии. Для углубленного изучения темы рекомендуем пройт...

[Перевод] Основы внедрения зависимостей В этой статье я расскажу об основах внедрения зависимостей (англ. Dependency Injection, DI) простым языком, а также расскажу о причинах использования этого подхода. Эта статья предназначена для тех, кто не знает, что такое внедрение зависимостей, или сомневается в необходим...

Линейная регрессия и методы её восстановления Источник: xkcd Линейная регрессия является одним из базовых алгоритмов для многих областей, связанных с анализом данных. Причина этому очевидна. Это очень простой и понятный алгоритм, что способствует его широкому применению уже многие десятки, если не сотни, лет. Идея зак...

День, когда появился Bitcoin 3 января 2009 года заработала сеть Bitcoin и в его блокчейне появился первый блок. «Намайнил» этот блок человек, появлявшийся в интернете под псевдонимом Сатоси Накамото. За несколько месяцев до того он опубликовал статью о гипотетической революционной новой виртуальной...

Создание таблиц в дизайн системе Figma и реализация в Storybook (React) В предыдущей статье на тему дизайна таблиц в Фигме мы выяснили, что базовый элемент создания любого data grid — это компонент ячейки, внутри которого спрятано все необходимое для того, чтобы оставаться в одном экземпляре и строить таблицы ячейка-за-ячейкой. Теперь поговори...

[Перевод] Реализация PEG парсера Вдохновленный лишь частичным пониманием PEG, я решил попробовать его реализовать. Результат может получиться и не самым лучшим среди парсеров PEG общего назначения — их уже много (например, TatSu написан на Python и генерирует код Python) — но это хороший способ разобраться ...

[Перевод] Что такое Strict Aliasing и почему нас должно это волновать? Часть 2 (ИЛИ каламбур типизации, неопределенное поведение и выравнивание, о мой Бог!) Друзья, до запуска нового потока по курсу «Разработчик С++», остается совсем немного времени. Пришло время опубликовать перевод второй части материала, в которой рассказывается о том, что такое ка...

Илон Маск: Tesla Roadster станет летающим автомобилем Компания Tesla занимает разработкой нового поколения спортивного электрокара Roadster, и время от времени о нем появляются новые подробности. Ранее сообщалось, что автомобиль сможет разгоняться до 100 км/ч за рекордные 1,9 секунд, а максимальная скорость движения будет дост...

Реализация горячей перезагрузки С++ кода в Linux и macOS: копаем глубже *Ссылка на библиотеку и демо видео в конце статьи. Для понимания того, что происходит, и кто все эти люди, рекомендую прочитать предыдущую статью. В прошлой статье мы ознакомились с подходом, позволяющим осуществлять "горячую" перезагрузку c++ кода. "Код" в данном случае — ...

[Перевод] Что есть и чего нет в Go. Часть 2 Всем привет! Cегодня делимся заключительной частью перевода статьи «Что есть и чего нет в Go». Напоминаем, в первой части речь шла о элементах, которые есть в Go, сегодня же поговорим о том, чего в Go нет. Перевод данного материала подготовлен в преддверии старта нового пот...

Реверс-инжиниринг бинарного формата на примере файлов Korg SNG. Часть 2 В прошлой статье я описал ход рассуждений при разборе неизвестного двоичного формата данных. Используя Hex-редактор Synalaze It!, я показал как можно разобрать заголовок двоичного файла и выделить основные блоки данных. Так как в случае формата SNG эти блоки образуют иерар...

Взгляд со стороны EcmaScript на общую теорию ООП Привет, Хабр! До сего дня я занимался лишь переводами интересных, на мой взгляд, статей англоязычных авторов. И вот настала пора самому что-то написать. Для первой статьи я выбрал тему, которая, я уверен, будет полезна junior-разработчикам, стремящимся дорасти до «мидлов»,...

День, когда сделали настоящий реактивный ранец 29 июля 2008 года Martin Aircraft Company представила летательный аппарат в виде ранца Martin Jetpack и осуществила первый официальный полет. Разработка этого устройства заняла в общей сложности 27 лет, а производство стартовало лишь спустя 6 лет после первого полета.

OpenSceneGraph: Процедурная анимация геометрии и атрибутов состояния Введение Говоря о приемах программирования, специфичных для OSG в прошлый раз мы говорили о механизме обратных вызовов (Callback) и его реализации в движке. Настало время посмотреть на то, какие возможности дает нам применение этого механизма для управления содержимым трехм...

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

Шифрование трафика в Direct Connect, ч.2 – Ты кто??? – Я новый русский. – А я тогда кто?! Предисловие В первой части статьи мы обустраивали ADCs хаб и рассуждали о Direct Connect в целом. Сегодня нам предстоит научиться использовать такой хаб по прямому назначению. Для этого мы рассмотрим совместимые DC клиенты,...

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

Мольберт для программиста микроконтроллеров Доброго времени суток. В этой небольшой статье я хочу рассказать о том, как мне пришла в голову идея изготовить большую макетную доску и о том, как я эту идею реализовал. Началось всё… Да в общем, неважно. Суть идеи такова: сделать очень большую макетную доску на основе маке...

Stratolaunch, самый большой в мире самолет, успешно совершил первый испытательный полет В субботу, 13 апреля 2019 года, в 10:00 по местному времени, Stratolaunch, самый большой в мире самолет на сегодняшний день, оторвался от взлетно-посадочной полосы аэродрома Mojave Air and Space Port и совершил первый в своей истории испытательный полет, длившийся около двух...

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

[Перевод] Собственная реализация библиотеки ECS На этой неделе я начал работать над своим движком для игры Vagabond и приступил к реализации шаблона entity-component-system. В этой статье я хочу рассказать о своей реализации, которая свободно доступна на GitHub. Но вместо простого комментирования кода я хочу объяснить, ...

JMAP — открытый протокол заменит IMAP при обмене электронными письмами В начале месяца на Hacker News активно обсуждался протокол JMAP, разрабатываемый под руководством IETF. Мы решили поговорить о том, зачем он понадобился и как устроен. Читать дальше →

Рождение и смерть альбома: разбираемся, как менялись музыкальные форматы за последние 100 лет В прошлых статьях мы говорили об изменяющейся роли критиков в мире музыки. Теперь же поговорим о том, как альбомный формат потерял былую значимость — и что пришло ему на смену. Фото Florencia Viadana / Unsplash Как альбомы завоевали музыкальный рынок В первой половине XX ...

Сжатие указателей в Java В статье речь пойдет о реализации сжатия указателей в Java Virtual Machine 64-bit, которая контролируется опцией UseCompressedOops и включена по-умолчанию для 64 битных систем начиная с Java SE 6u23. Читать дальше →

[Из песочницы] Сравнение: Svelte и React На сайте React'a есть туториал, в котором описывается разработка игры Tic Tac Toe. Я решил повторить разработку этой игры на Svelte. Статья охватывает только первую половину туториала, до реализации истории ходов. Для целей ознакомления с фреймворком этого вполне достаточно....

[Перевод] Наука находится на грани трансляции Твиттера прямо в ваш мозг Потоки данных скоро будут передаваться прямо в наш мозг, что позволит нам по-новому взглянуть на мир Не желаете добавить себе новые разновидности ощущений? Эта идея требует пояснений. Главное что нужно понимать — наш мозг заточен в тишине и темноте внутри черепной коробки....

[Перевод] .NET Core Workers как службы Windows В .NET Core 3.0 мы представляем новый тип шаблона приложения под названием Worker Service. Этот шаблон предназначен для того, чтобы дать вам отправную точку для написания долго-работающих сервисов в .NET Core. В этом пошаговом руководстве мы создадим worker и запустим его в ...

[Перевод] Юнит-тестирование шаблонов C++ и Mock Injection с помощью трейтов (Traits) Еще раз здравствуйте! До старта занятий в группе по курсу «Разработчик С++» остается меньше недели. В связи с этим мы продолжаем делиться полезным материалом переведенным специально для студентов данного курса. Юнит-тестирование вашего кода с шаблонами время от времени на...

Хакеры украли базы данных NASA при помощи самосборного компьютера Управление генерального инспектора (OIG) NASA исследовало компьютерные сети Лаборатории реактивного движения агентства (JPL) на наличие брешей в системе безопасности. Поводом стал взлом компьютерной системы группой хакеров. Злоумышленники сделали это при помощи одноплатного ...

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

Первый марсианский вертолет НАСА прошел все испытания Первый летательный аппарат для покорения Красной планеты готов и ждет запуска миссии Марс-2020. Проект «Mars Helicopter» официально прошел все тесты и летные испытания в Лаборатории реактивного движения НАСА и готов к работе.

Авиационные газотурбинные двигатели Всем привет! В этой статье я хочу рассказать о том, как работают авиационные газотурбинные двигатели (ГТД). Я постараюсь сделать это наиболее простым и понятным языком. Авиационные ГТД можно можно разделить на: турбореактивные двигатели (ТРД) двухконтурные турбореактивны...

Разработка новой ветки продукта: как избавиться от непрактичного и сохранить полезное Привет, Хабр! Меня зовут Дмитрий, я разработчик в ISPsystem. Недавно мы выпустили в бета-тестирование новую версию панели управления виртуальными машинами. Сегодня я расскажу, как мы решали, что взять из старого продукта, а от чего лучше отказаться. Пройдусь по самым важны...

Всегда ли нужны Docker, микросервисы и реактивное программирование? Автор: Денис Цыплаков, Solution Architect, DataArt В DataArt я работаю по двум направлениям. В первом помогаю людям чинить системы, сломанные тем или иным образом и по самым разным причинам. Во втором помогаю проектировать новые системы так, чтобы они в будущем сломаны не...

[Перевод] Изучаем Docker, часть 4: уменьшение размеров образов и ускорение их сборки В этой части перевода серии материалов, которая посвящена Docker, мы поговорим о том, как оптимизировать размеры образов и ускорить их сборку. В прошлых материалах мы сравнивали образы Docker с пиццей, термины с пончиками, а инструкции файлов Dockerfile с бубликами. Сегодня ...

[Перевод] Путь к проверке типов 4 миллионов строк Python-кода. Часть 3 Представляем вашему вниманию третью часть перевода материала о пути, который прошла компания Dropbox, внедряя у себя систему проверки типов Python-кода. → Предыдущие части: первая и вторая Читать дальше →

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

Jetpack Aviation открывает предзаказ на реактивные летающие мотоциклы Speeder Компания Jetpack Aviation сделала ход конем, анонсировав создание летающего мотоцикла — вопреки своим прошлым обещаниям первым делом создать летающий автомобиль. Аппарат под названием «Speeder» представляет собой одноместный мотоцикл с четырьмя турбореактивными двигате...

Система управления проектами по модели Open Core в госсекторе Продолжаем рассказывать вам об опенсорсных продуктам реализованных на JS фреймворке — IONDV. Framework. Сегодня поговорим о системе управления проектами, которая была одним из наших первых масштабных проектов и которую изначально мы реализовали для правительства Хабаровского...

Какой язык программирования выбрать После того, как я написал статью «Почему не нужно учить Python первым языком», я на регулярной основе получаю много вопросов в личку, что лучше выбрать, как быть и так далее. Поэтому в этой статье я расскажу вам свои мысли на этот счет. И самое главное отвечу на «Священный Г...

[Перевод] Откуда берётся квантовая вероятность Вероятность можно представлять себе разными способами. И квантовая механика охватывает их все Статья Шона Кэрролла, профессора теоретической физики из Калифорнийского технического института В философском "Эссе о вероятностях", опубликованном в 1814 году, Пьер-Симон Лаплас...

Разработка монолитной Unix подобной OS — Библиотека С В предыдущей статье мы научились запускать Hello World ядро и написали пару функций для работы со строками. Теперь пришло время расширить библиотеку С чтобы можно было реализовать kprintf и другие необходимые функции. Поехали! Читать дальше →

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

[Перевод] Теория вместо эвристики: становимся лучше как frontend-разработчики Перевод Becoming a better front-end developer using fundamentals instead of heuristics Наш опыт показывает, что не имеющие технического образования разработчики и самоучки чаще полагаются не на теоретические принципы, а на эвристические методы. Эвристика — шаблоны и пров...

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

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

Как устроена система видеонаблюдения Ivideon: обзор мобильного приложения В прошлый раз мы говорили о десктопном приложении для нашего сервиса видеонаблюдения. Тема сегодняшнего материала — мобильные приложения. Покажем возможности, поговорим о UI и функциях системы, адаптированной для работы с мобильными устройствами. Приложение в смартфоне или ...

Очередной обход авторизации в публичных Wi-Fi сетях На эту тему уже было несколько статей — Как обойти SMS-идентификацию при подключении к публичным Wi-Fi сетям? и И еще раз: не пользуйтесь публичным WiFi, но появляются новые методы авторизации, поэтому пришло время поговорить об этом еще раз. Недавно в московском кафе я натк...

[Из песочницы] Android preferences delegate В данной статье разобран пример создания делегата для SharedPreferences, который уменьшает boilerplate и делает использование SharedPrefernces более удобным. Те кто хочет посмотреть результат, может перейти к готовому решению, остальным добро пожаловать под кат. Читать дальш...

Решение задания с pwnable.kr 01 — fd. Файловые дескрипторы и процессы В данной статье разберем: что же такое файловый дескриптор, как процессы получают доступ к определенным потокам ввода/вывода, и решим первое задание с сайта pwnable.kr. Читать дальше →

[Перевод] Кеширование в Laravel: основы плюс tips&tricks Техника кеширования позволяет создавать более масштабируемые приложения, запоминания результаты некоторых запросов в быстрое in-memory хранилище. Однако, некорректно реализованное кеширование может сильно ухудшить впечатление пользователя о вашем приложении. Эта статья содер...

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

Аналитика как фича: процесс работы с данными в Plesk Всем привет, недавно мы писали о том, как учились быть Data Driven с Симулятором GoPractice! В этом выпуске продолжим тему анализа данных и поговорим о выстраивании процесса работы с аналитикой в команде Plesk. Plesk — сложный продукт с 20-летним бэкграундом и эффективно с...

[Перевод] 10.3 секунды на хеш: майнинг на бортовом управляющем компьютере КА Аполлон Нам удалось восстановить Бортовой управляющий компьютер КА Аполлон. И теперь, когда у нас на руках имеется единственный в мире работающий экземпляр, мне пришла в голову идея написать для него код. Хотя мысль о добыче биткоинов с помощью компьютера из далеких 60-х казалась бе...

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

Особенности настройки Palo Alto: SSL VPN Несмотря на все преимущества межсетевых экранов Palo Alto, в рунете не так много материалов по настройке этих устройств, а также текстов, описывающих опыт их внедрения. Мы решили обобщить материалы, накопленные у нас за время работы с оборудованием этого вендора и рассказа...

Cоздание визуальных компонентов в Unity UI. Система частиц Привет! Эта статья о создании собственных визуальных компонентов в UI на примере компонента для визуализации системы частиц в Canvas’e. Данная информация будет полезна для реализации различных эффектов в пользовательском интерфейсе, а также может использоваться для генераци...

Об open-source реализациях хэш-функции ГОСТ Р 34.11-2012 и их влиянии на электронную подпись ГОСТ Р 34.10-2012 В свое время реализация отечественных криптографических алгоритмов в библиотеке libgcrypt очень меня вдохновила. Стало возможным задействовать эти алгоритмы и в Kleopatra и в Kmail и в GnuPg в целом, рассматривать библиотеку libgcrypt как алтернативу openssl с ГОСТ-ым engine...

Интересные материалы для разработчика мобильных приложений #261 (3 – 9 июня) Наконец-то можно сказать, что WWDC получился. Роскошный SwiftUI, новые версии операционных систем и новая iPadOS, App Store на часах, PencilKit, Catalyst для портирования приложений на macOS, новые инструменты для виртуальной реальности, реактивный Combine. На полгода разбир...

Восстановить легенду: призыв к обмену открытыми данными, способными помочь в восстановлении Нотр-Дама Microsoft и Iconem — инновационный стартап, специализирующийся на воссоздании в 3D объектов культурного наследия, находящихся под угрозой исчезновения, — представили инициативу Open Notre-Dame. Две компании объединяют усилия, чтобы внести свой вклад в восстановление Нотр-Дам...

Plasma Cash Chain как решение трилеммы масштабируемости в блокчейн Добрый день, уважаемые читатели! Данная статья посвящена Plasma Cash Chain и проливает свет на следующие темы: трилемма масштабируемости и способы ее решения; структуры данных чайлд чейна и их отображение в рутчейне; реализация ввода в рутчейн; реализация вывода из рутче...

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

Достраиваем в RESTinio четвертый этаж из C++ных шаблонов. Зачем и как? RESTinio — это относительно небольшой проект, представляющий из себя встраиваемый в C++приложения асинхронный HTTP-сервер. Его характерной особенностью является широкое, можно сказать, повсеместное применение C++ных шаблонов. Как в реализации, так и в публичном API. C++ные ш...

[Из песочницы] Создаем свой компонент с микро-шаблонами Всем привет. Все кто так или иначе писал на фреймворке Angular сталкивался или работал с библиотекой Angular Material. Это очень хорошо написанная библиотека компонентов способная к гибкой стилизации, которая реализована через возможность создания различных тем вашего прилож...

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

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

Крадущийся тигр, затаившийся SQLAlchemy. Основы Доброго дня. Сегодня хочу рассказать про ORM SQLAlchemy. Поговорим о том, что это, про его возможности и гибкость, а также рассмотрим случаи, которые не всегда понятно описаны. Данная ORM имеет порог вхождения выше среднего, поэтому я попытаюсь объяснить всё простым языком ...

Быстрая локализация проблем производительности Microsoft SQL Server в Quest Foglight В прошлой статье об инструменте для мониторинга Foglight for Databases мы рассказывали о возможностях контроля из единого интерфейса SQL Server, Oracle, PostgreSQL, MySQL, SAP ASE, DB2, Cassandra и MongoDB. Сегодня разберём подходы к быстрому выявлению причин нештатной раб...

Phanteks анонсировала набор Glacier Aorus Xtreme Phanteks представила набор системы охлаждения VRM и процессора Xeon W-3175X для Gigabyte C621 Aorus Xtreme , материнской плате разъема LGA 3647. Комплект Gigabyte Glacier Aorus Xtreme предназначен для охлаждения 32-фазного питания VRM. Медная основа поспособствует высок...

Facebook работает над интеграцией Instagram Direct и Messenger Facebook сделал первый шаг на пути к объединению своих систем, которое позволит пользователям принадлежащих компании приложений обмениваться сообщениями. В настоящее время инженеры Facebook перерабатывают функцию обмена сообщениями в Instagram, используя технологию Messenger...

Разбираем протокол пейджерных сообщений POCSAG, ч2 Привет, Habr! В первой части был рассмотрен протокол обмена пейджерными сообщениями POCSAG. Были рассмотрены цифровые сообщения, перейдем теперь к более «полноценным» сообщениям в формате ASCII. Тем более, что декодировать их интереснее, т.к. на выходе будет читаемый текст....

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

Как научить Алису управлять вашим умным домом. Доклад Яндекса В конце сентября прошла наша первая встреча для hardware-разработчиков — Яндекс.Железо. Это важный шаг на новом для нас рынке производителей устройств. Участники (около 150 человек) послушали доклады, пообщались и провели много времени на стендах, где можно было заглянуть вн...

Первый российский авиадвигатель с 3D-печатными деталями готовят к европейской сертификации Турбовентиляторный двигатель ПД-14, предназначенный для авиалайнеров МС-21, доработают в целях сертификации Европейским агентством по безопасности полетов (EASA). ПД-14 — первый реактивный двигатель отечественного производства с напечатанными на 3D-принтерах компонентами.Под...

Какой браузер на Android самый быстрый? 7 реактивных решений Сегодня в магазине приложений Google можно найти множество различных браузеров. С разными иконками, отличающиеся по весу дистрибутива, по возможностям, дизайну, от очень разных разработчиков. Кстати, вы сегодня каким браузером на смартфоне пользуетесь? Читать полную стат...

Задержка ввода на ретро-консолях и эмуляторах TL;DR В статье описывается известная проблема задержки ввода (input lag), которая проявляется при попытках играть в старые игры на современном железе: эмуляторах ретро-консолей, bluetooth-геймпадах и т.д. Иногда задержки настолько большие, что играть становится невозможно....

[Перевод] Учебный курс по React, часть 5: начало работы над TODO-приложением, основы стилизации Сегодня, в следующей части перевода учебного курса по React, мы начнём работу над первым учебным проектом и поговорим об основах стилизации. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные компоненты → Часть 3: файлы компоненто...

Установка и настройка Sonata Admin на Symfony 4 Приветствую всех. В данной статье поговорим об Symfony 4 и Sonata Admin. В процессе установки я столкнулся с массой неточностей в документации и сама документация была раскидана по нескольким местам. Здесь я рассмотрю весь процесс, начиная от создания проекта и заканчивая а...

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

Роутинг в кроссплатформенном .NET приложении с сохранением состояния на диск на примере .NET Core, ReactiveUI и Avalonia Пользовательские интерфейсы современных прикладных приложений, как правило, сложны — зачастую необходимо реализовывать поддержку постраничной навигации, обрабатывать разного рода поля ввода, на основе выбранных пользователем параметров отображать или скрывать информацию. П...

Thymeleaf: диалект Layout + Spring Boot 2 Диалект Layout — это диалект Thymeleaf, который позволяет пользователям создавать макеты и шаблоны для повторного использования HTML кода. Он имеет иерархический подход и использует шаблон декоратора для «декорирования» файлов макета. Layout Dialect является отдельным проект...

Hello, World! Глубокое погружение в Терминалы На написание данной статьи меня вдохновила статья об анализе Сишного printf. Однако, там был пропущен момент о том, какой путь проходят данные после того, как они попадают в терминальное устройство. В данной статье я хочу исправить этот недочет и проанализировать путь данны...

[Из песочницы] Пишите меньше кода Хайп по Svelte после недавнего релиза 3 версии фреймворка всё-таки имеет место быть, чему свидетельствуют сильно возросшее комьюнити и огромное количество вопросов как в официальном чате, так и в нашем рускоязычном telegram-канале. Всё больше разработчиков украдкой или всерь...

Категории выражений в C++ Категории выражений, такие как lvalue и rvalue, относятся, скорее, к фундаментальным теоретическим понятиям языка C++, чем к практическим аспектам его использования. По этой причине многие даже опытные программисты достаточно смутно представляют себе, что они означают. В это...

[recovery mode] Agilean — убийца Lean и Agile Гибридная методология управления на основе ценностей В этой статье мы расскажем вам об Agilean («Эджайлин») как методе создания гибридных инструментов на базе Lean и Agile и шире об Agilean как о философии управления бизнесом с плацдарма ценностей. Немного поговорим о нюан...

Древности: IBM ThinkPad T40, первый беспроводной Пятнадцать лет назад, в 2003 году, беспроводной интернет из дорогостоящей узкоспециализированной технологии начал превращаться в нечто доступное всем и само собой разумеющееся. Конечно произошло это не сразу: чтобы появился Wi-Fi, нужно было провести домой в каком-то виде пр...

[Из песочницы] Как я не стал программистом в 35 лет С самого начала сентября широким потоком хлынули на Хабр публикации об успешном успехе на тему «Детство программиста», «Как стать программистом после N лет», «Как я ушёл в IT из другой профессии», «Путь в программирование» и так далее. Подобные статьи пишут постоянно, но во...

[Перевод] От идеи к производству — Разработка IoT проекта Сегодня мы пошагово разберем взлеты и падения разработки IoT. Только примеры из настоящей жизни, никаких теоретических "наверное" и много опыта. А еще ссылки на связанные статьи как бонус. Читать дальше →

[recovery mode] Индустрия 4.0: идеи автономного предприятия от SAP и KUKA Привет, Хабр! Сегодня поговорим об автоматизации технологического «умного» оборудования, которого становится все больше и больше на современных предприятиях. Оно может достаточно легко быть интегрировано с учетными и управляющими системами SAP для создания единого программн...

Генерация кода для бекенда. Что генерировать, как и зачем? Я хочу показать в этой статье как у нас в фирме генерируется бекенд (и немного фронтенд) код, зачем вообще это нужно и как это лучше делать. Что именно будем генерировать — не так важно. Важно что мы опишем 3 вида объектов на основе которых сгенерируем взаимодействие фронте...

[Перевод] Вся правда об ОСРВ. Статья #25. Каналы передачи данных: введение и базовые службы После небольшого перерыва мы продолжаем публиковать переводы статей «Вся правда об ОСРВ» Колина Уоллса. В этот раз поговорим о каналах передачи данных (далее – каналы), которые были уже были упомянуты в одной из предыдущих статей, а именно в #5. Каналы, по сравнению с почт...

ResNet50. Своя реализация Всем привет. Библиотека нейросети описана в моей прошлой статье. Здесь решил показать как можно использовать обученную сеть из TF (Tensorflow) в своем решении, и стоит ли. Под катом сравнение с оригинальной реализацией TF, демо приложение для распознавания картинок, ну и… в...

Обзор ISPmanager – панели управления хостингом и сайтами Не так давно мы публиковали обзор «Что нового в веб-консолях 2019», после чего подробно разобрали панель Plesk и вот теперь хотим разобрать ещё одну панель управления сайтами и сервером — ISPmanager.  Читать дальше →

Блокировки в PostgreSQL: 3. Блокировки других объектов Мы уже поговорили о некоторых блокировках на уровне объектов (в частности — о блокировках отношений), а также о блокировках на уровне строк, их связи с блокировками объектов и об очереди ожидания, не всегда честной. Сегодня у нас сборная солянка. Начнем с взаимоблокировок (...

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

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

Security Week 32: дыра в iMessage, приватность голосового ввода 22 июля Apple выпустила обновление операционной системы iOS до версии 12.4, в котором были закрыты три серьезные уязвимости, обнаруженные экспертом из команды Google Project Zero Натали Сильванович. Самая опасная (CVE-2019-8646) позволяет красть данные с удаленного устройств...

[Перевод] Самодельный сборщик мусора для OpenJDK Это перевод статьи Алексея Шипилёва «Do It Yourself (OpenJDK) Garbage Collector», публикуется с согласия автора. О любых опечатках и других багах сообщайте в личку — мы их поправим.Процесс создания чего-нибудь в рантайме языка — весёлое упражнение. По крайней мере, создание ...

Arend – язык с зависимыми типами, основанный на HoTT (часть 1) В данном посте мы поговорим о только что выпущенном JetBrains языке с зависимыми типами Arend. Этот язык разрабатывался JetBrains Research на протяжении последних нескольких лет. И хотя репозитории уже год назад были выложены в открытый доступ на github.com/JetBrains, полноц...

Clean Decomposition Об использовании чистой архитектуры в Android сказано предостаточно. На GitHub можно найти десятки шаблонов на разные вкусы: на Java или Kotlin, с Dagger2 или Koin, с Rx или с Coroutines. Но никто не говорит о том, как разбить определенный функционал при использовании «чисто...

Jetpack Aviation: первая в мире гонка на реактивных ранцах, вероятно, состоится уже в этом году Инженеры компании Jetpack Aviation (JPA) завершили групповые испытательные полеты на джетпаках — реактивных двигателях, закрепленных на спине человека в виде рюкзака. Испытания показали, что два пилота могут, не мешая друг другу, лететь так близко, чтобы щелкнуть друг ...

Ударный беспилотник Kratos XQ-58A Valkyrie совершил свой первый полет Уже никто не сомневается в том, что ударные беспилотники станут полноправными участниками будущих военных конфликтов — и первый полет реактивного БПЛА Kratos XQ-58A Valkyrie, состоявшийся 5 марта на полигоне армии США ЮМА в Аризоне, еще одно тому подтверждение.

Введение в Си. Послание из прошлого столетия ПРЕДИСЛОВИЕ Я несколько раз в своих комментариях ссылался ссылался на книгу Эндрю Таненбаума «Operating Systems Design and Implementation» на ее первое издание и на то, как в ней представлен язык Си. И эти комментарии всегда вызывали интерес. Я решил, что пришло время опубли...

Смотри меня полностью: выжимаем максимум из live video на мобильных платформах Самый простой способ воспроизвести видео на мобильном устройстве — это открыть ссылку имеющимся в системе плеером, но это не всегда эффективно. Можно взять ExoPlayer и оптимизировать его, а можно вообще написать свой видеоплеер, используя только кодеки и сокеты. В статье ...

Блокчейн: что нам стоит PoC построить? Глаза боятся, а руки чешутся! В прошлых статьях мы разобрались с технологиями, на которых строятся блокчейны (Что нам стоит блокчейн построить?) и кейсами, которые можно с их помощью реализовать (Что нам стоит кейс построить?). Настало время поработать руками! Для реализаци...

[Перевод] Руководство по ML.NET — первое приложение за 10 минут В прошлом году мы представили ML.NET, кросс-платформенную и открытую систему машинного обучения для разработчиков .NET. За это время она очень сильно развилась и прошла через множество версий. Сегодня делимся руководством по тому, как создать свое первое приложение на ml.net...

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

[Из песочницы] Что значит unsafe в Rust? Привет, Хабр! Представляю вашему вниманию перевод статьи "What Is Rust's unsafe?" автора Nora Codes. Мне доводилось видеть много недопониманий относительно того, что значит ключевое слово unsafe для полезности и правильности языка Rust и его продвижения как "б...

Почему хризотил так популярен в Тихоокеанском регионе? В странах Юго-Восточной Азии – Индии, Китае, Лаосе, Вьетнаме, Индонезии, Камбодже и других — активно используются строительные материалы на основе хризотил-асбеста. Несмотря на различный уровень развития экономики, социальной инфраструктуры и существующих стандартов в ...

Немецкий стартап Lilium впервые испытал пятиместное летающее такси Реактивный самолёт Lilium Jet сможет набирать скорость до 300 километров в час, максимальная дальность составит 300 километров

Распределенно ДА или распределенно НЕТ? Интервью для тех, кто по полгода не может найти себе разработчика В предверии тимлид-завтрака «Удаленная команда. Начало» мы поговорили с техническим директором компании wemake.services – Никитой Соболевым (sobolevn). Несмотря на то, что поиск разработчика, тем более опытного — страшный сон тимлида или менеджера проекта, немногие пока реша...

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

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

[Перевод] Актуальна ли книга «Java Concurrency in Practice» во времена Java 8 и 11? Здравствуйте, коллеги! Статья, перевод которой мы предлагаем сегодня, в очередной раз напоминает о важности нестареющей книги "Java Concurrency in practice" под авторством Брайана Гёца (Brian Goetz). Даты комментариев к этой статье в оригинале подсказывают, что автор об...

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

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

[Перевод] Элегантная обработка ошибок в JavaScript с помощью монады Either Давайте немного поговорим о том, как мы обрабатываем ошибки. В JavaScript у нас есть встроенная функция языка для работы с исключениями. Проблемный код мы заключаем в конструкцию try...catch. Это позволяет прописать нормальный путь выполнения в разделе try, а затем разобрать...

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

Backblaze опубликовала статистику надёжности HDD за 2018 год Более пяти лет назад компания Backblaze опубликовала первый отчёт по использованию дисковых накопителей в своих серверах. Backblaze предоставляет услугу дешёвого облачного бэкапа. В основе их инфраструктуры — жёсткие диски потребительского класса. Компания собрала большую ...

Добавляем Refresh Token В прошлой статье я рассказывал про основы JWT. Если на пальцах, то это просто ключ, с помощью которого мы открываем дверь к приватным ресурсам. А что, если этот ключ украдут (точнее, сделают дубликат). Тогда кто-то еще сможет входить на сервер под вашим именем, причём мы об...

Дайджест статей машинного обучения и искусственного интеллекта Хабр, привет. Отфильтровав большое количество статей, конференций и подписок — собрал для вас все наиболее значимые гайды, статьи и лайфхаки из мира машинного обучения и искусственного интеллекта. Всем приятного чтения! 1. Проекты искусственного интеллекта, с которыми можн...

[Из песочницы] PHP: Как разобрать сложный XML-файл и не утонуть в собственном коде Доброе время суток! Сфера применения XML-формата достаточно обширна. Наряду с CSV, JSON и другими, XML — один из самых распространенных способов представить данные для обмена между различными сервисами, программами и сайтами. В качестве примера можно привести формат Commerc...

[Из песочницы] Be remote: распределенные команды — тренд на практике Анна Антонова, руководитель направления по работе с экспертами Преакселератора ФРИИ Про тренд и при чем тут я В США с 2005 по 2017 годы количество людей, работающих удаленно, выросло на 115%. Список крупных компаний, сотрудники которых полностью или почти полностью работают...

Google создал галерею пользовательских шаблонов для Tag Manager Google сообщил о запуске галереи пользовательских шаблонов для Диспетчера тегов (Tag Manager) – Community Template Gallery. Новая галерея – это открытая платформа, где партнёры могут делиться своими шаблонами с другими участниками сообщества. Компании затем могут использоват...

[Из песочницы] Классификация покрова земли при помощи eo-learn. Часть 1 Привет, Хабр! Представляю вашему вниманию перевод статьи "Land Cover Classification with eo-learn: Part 1" автора Matic Lubej. Предисловие Примерно полгода назад был сделан первый коммит в репозиторий eo-learn на GitHub. Сегодня, eo-learn превратился в замечательную библиоте...

Идея для Гик-Хэллоуина, или время выбирать GeekMask Как обычно, при приближении какого-то события, мы стараемся подбирать какие-то занятные вещицы и рассказывать о них. Сегодня познакомим вас с компанией Outline Montreal — авторами проекта GeekMask. Читать дальше →

[Перевод] Разбираемся в протоколе консенсуса Stellar Протокол консенсуса Stellar впервые описан в научной статье Дэвида Мазьера в 2015 году. Это «федеративная система византийского соглашения», которая позволяет децентрализованным вычислительным сетям без лидеров эффективно достигать консенсуса по какому-либо решению. Платёж...

[Из песочницы] Whitespace Обфускатор для PHP Прочитав статью про обфускацию в JavaScript (а именно 3-ю часть статьи), я заинтересовался подобным обфускатором для PHP. Обфускатор, о котором шла речь в статье превращал JavaScript-код в невидимый (на первый взгляд), состоящий из табуляций и пробелов код. Суть заключаетс...

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

Изучение английского — непопулярное мнение Всем привет. Очередная статья от «курсов изучения английского» сподвигла меня написать свои заметки. Этой статьёй я надеюсь ответить на некоторые вопросы изучающих язык и отговорить от глупых советов «запомнить вот эти 10/15/20 слов/конструкций», которые подаются как некие ...

[Из песочницы] В списке угроз: «Игра престолов» – одно из самых популярных прикрытий для киберпреступников Привет, Хабр! Представляю вашему вниманию перевод статьи «ThreatList: Game of Thrones, a Top Malware Conduit for Cybercriminals» автора Tara Seals. В то время, как 8-ой сезон Игры престолов готовится к старту, новые исследования демонстрируют, что в прошлом году популярн...

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

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

История Linux. Часть III: новые рынки и старые «враги» Мы вспомнили о первых коммерческих дистрибутивах Linux, которые выходили в 90-х. Теперь пришло время 2000-х — периода, когда эта ОС начала завоевывать потребительские рынки. Читать дальше →

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

[Из песочницы] Один день из жизни DBA Microsoft SQL Server В арсенале Microsoft SQL Server есть одна интересная штука – service broker. По сути своей это очередь сообщений, встроенная в СУБД, способная обеспечить транзакционную целостность данных. Вещь удобная и, в грамотных руках, способная выстроить систему обмена между SQL Server...

Microsoft добавила поддержку потоковой передачи DRM 4K в Chromium Классический Microsoft Edge в Windows 10 может воспроизводить определенный защищенный потоковый контент в разрешениях UltraHD или 4K. Netflix предлагает потоковое Ultra HD на Windows 10 со старым Microsoft Edge и его приложением Microsoft Store.Microsoft уже добавила экспери...

На пути к ядру Питона Привет, Хабр! Представляю вашему вниманию перевод статьи Toward a “Kernel Python” автора Glyph Lefkowitz (создателя фреймворка Twisted). Подробнее — под катом. Читать дальше →

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

Используем старые HDD с бэдами Ещё со студенческих времен у меня стояла куча жестких дисков. Время от времени я их апгрейдил — старые продавал, а вместо них ставил более емкие. Тогда спрос на объем был довольно большой, все приходилось хранить у себя на винтах. Но пришло время интернета, и локалки отпали ...

Приглашаем вас на первую конференцию Zabbix в России С 23 по 24 августа в Москве состоится первая российская конференция Zabbix – мероприятие, направленное на обмен опытом и углублённое изучение возможностей универсальной открытой системы мониторинга Zabbix. Читать дальше →

ВИАМ испытает летающий беспилотник с 3D-печатным планером и двигателем Всероссийский научно-исследовательский институт авиационных материалов (ВИАМ) принимает участие в разработке беспилотных летательных аппаратов с конструкцией из 3D-печатных деталей и напечатанными на 3D-принтерах реактивными двигателями. Первые испытания предварительно намеч...

Tarantool запускает новый продукт – Tarantool Data Grid Команда системы управления базами данных Tarantool, собственного решения Mail.Ru Group, запустила продукт Tarantool Data Grid — готовое enterprise-решение для разработки распределенных бизнес-приложений, работающих с большими потоками данных, которое имеет удобные инструмент...

Система управления конфигурацией сети фильтрации TL;DR: Описание клиент-серверной архитектуры нашей внутренней системы управления конфигурацией сети, QControl. В основе лежит двухуровневый транспортный протокол, работающий с упакованными в gzip сообщениями без декомпрессии между эндпойнтами. Распределенные роутеры и эндп...

[Перевод] Создание калькулятора чаевых на Kotlin: как это работает? Рассказываем, как создать простое приложение для расчета чаевых на языке Kotlin. Если точнее, то Kotlin 1.3.21, Android 4, Android Studio 3. Статья будет интересной, в первую очередь, для тех, кто начинает свой путь в разработке Android-приложений. Она позволяет понять, ч...

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

С новым годом, с новым MQTT/UDP Привет. Как я уже писал недавно (Первая краткая статья о MQTT/UDP), MQTT/UDP — протокол на базе MQTT, но: Ходит поверх UDP broadcast (не нужен брокер, почти не нужна конфигурация) До неприличия простой в реализации (10 строк на си + UDP/IP стек — и вы отправляете данные с...

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

Французский изобретатель преодолел Ла-Манш с помощью реактивной доски Французский изобретатель и бизнесмен Фрэнки Запата, известный многим, как «летающий солдат», перелетел через Ла-Манш с помощью своего изобретения Flyboard Air. Путешествие далось ему со второй попытки

Проект инновационного воздушно-реактивного двигателя SABRE получил «зеленый свет» Разработка инновационного гибридного гиперзвукового воздушно-реактивного двигателя SABRE (Synergetic Air-Breathing Rocket Engine) от британской компании Reaction Engines, который сможет эффективно работать как в атмосфере, так и в условиях космического вакуума, перешла в но...

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

[Перевод] Не только обработка: Как мы сделали из Kafka Streams распределенную базу данных, и что из этого вышло Привет, Хабр! Напоминаем, что вслед за книгой о Kafka мы выпустили не менее интересный труд о библиотеке Kafka Streams API. Пока сообщество только постигает границы возможностей этого мощного инструмента. Так, недавно вышла статья, с переводом которой мы хотим вас позна...

Полезная электроника для дома и компьютера, о которой вы могли не знать. РЕАКТИВНАЯ МОЩНОСТЬ?! Полезная электроника для дома и компьютера, о которой вы могли не знать. РЕАКТИВНАЯ МОЩНОСТЬ?! Топ товаров с Aliexpress для геймера, которые обслегчат вашу жизнь. Сегодня представляю вашему вниманию товары для ПК с Aliexpress, некоторые из них смогут прокачать ваш компьютер,...

Kafka и микросервисы: обзор Всем привет. В этой статье я расскажу, почему мы в Авито девять месяцев назад выбрали Kafka, и что она из себя представляет. Поделюсь одним из кейсов использования — брокер сообщений. И напоследок поговорим о том, какие плюсы мы получили от применения подхода Kafka as a Ser...

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

[Перевод] Понимание брокеров сообщений. Изучение механики обмена сообщениями посредством ActiveMQ и Kafka. Глава 1 Всем привет! Начал перевод небольшой книги: "Understanding Message Brokers", автор: Jakub Korab, издательство: O'Reilly Media, Inc., дата издания: June 2017, ISBN: 9781492049296. Из введения к книге: "… Эта книга научит вас рассуждать о системах обмена сообщениями на броке...

На пути к физическим принципам биологической эволюции. Продолжение Сокращенный перевод статьи М. Кацнельсона, Ю. Вольфа и Е. Кунина Towards physical principles of biological evolution Mikhail I. Katsnelson, Yuri I. Wolf, Eugene V. Koonin arxiv.org/abs/1709.00284 Предыдущая часть: habr.com/ru/post/438386 Другое известное высказывание Шрёди...

[Из песочницы] Celery taskcls: новый декоратор, новые возможности Привет, Хабр! Я расскажу тебе историю своего профессионального подгорания. Так вышло, что я терпеть не могу рутинных однообразных действий. У меня за плечами несколько проектов, использующих Celery. Каждый раз, когда задача становится сложнее вывода 2 + 2 = 5, шаблон решения...

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

Космическая компания разработает реактивный двигатель для автомобилей Tesla Прошел месяц после того, как Илон Маск объявил о дате выпуска суперкара Tesla Roadster, являющегося по сути ремейком самого первого автомобиля компании. И вот недавно он же поделился с подписчиками в Twitter новыми подробностями о сроках начала тестирования новой разработки ...

Дату будут майнить: в Алматы стартовал первый поток Alfa Data School Инициаторы утверждают, что слушатели получат как теоретические знания, так и практические навыки для решения конкретных бизнес-задач.

SamsPcbGuide, часть 9: Гальваническая изоляция, безопасность и печатные платы Данная статья продолжает рассмотрение вопроса, поднятого @olartamonov, а именно, обеспечение безопасности в высоковольтных приложениях. В статье будут рассмотрены физические основы пробоя диэлектриков, а также новый стандарт безопасности. Читать дальше →

[Из песочницы] UICollectionView всему голова: Изменение представления на лету Привет, Хабр! Представляю вашему вниманию перевод статьи "UICollectionView Tutorial: Changing presentation on the fly". В данной статье мы рассмотрим использование различный способов отображение элементов, а также их переиспользование и динамическое изменение. Зде...

Универсальная PRTG. Мониторим процессор, камеры видеонаблюдения и Active Directory Продолжаем серию материалов о простой и гибкой системе мониторинга PRTG. В прошлый раз речь шла о возможностях PRTG в целом. На этот раз остановимся на создании сенсоров. В базе PRTG — 200 готовых сенсоров и 100 шаблонов для создания новых. В этой статье расскажем, как работ...

Инструменты для запуска и разработки Java приложений, компиляция, выполнение на JVM Ни для кого не секрет, что на данный момент Java — один из самых популярных языков программирования в мире. Дата официального выпуска Java — 23 мая 1995 года. Эта статья посвящена основам основ: в ней изложены базовые особенности языка, которые придутся кстати начинающим “д...

Panasonic и NEC предложат частные 5G-сети для создания "умных" заводов С помощью 5G японские вендоры создадут автоматизированные системы управления производством и строительной техникой, а также организуют обмен данными между оборудованием.

[Перевод] Ускоряем WebGL/Three.js с помощью OffscreenCanvas и веб-воркеров В этом руководстве я расскажу как с помощью OffscreenCanvas мне удалось вынести весь код работы с WebGL и Three.js в отдельный поток веб-воркера. Это ускорило работу сайта и на слабых устройствах исчезли фризы во время загрузки страницы. Статья основана на личном опыте, к...

Tic Tac Toe, часть 5: Бэкенд на С++ Boost.Beast, HTTP В этой статье рассмотрим реализацию бэкенда с применением C++ Boost.Beast библиотеки на примере синхронного сервера. Та же функциональность, что и в прошлой статье — получаем от бэкенда случайное число от 0 до 8 включительно. Оказалось, что поднимать контейнер для Beast ничу...

Архитектурные подходы в iOS-приложениях Сегодня поговорим об архитектурных подходах в iOS-разработке, про некоторые нюансы и наработки реализации отдельных вещей. Расскажу, каких подходов придерживаемся мы и немного углубимся в детали. Читать дальше →

[Перевод] CSS Subgrid новости Несколько недель назад, я выступала на Frontend NE в Ньюкасле и большую часть выступления объясняла, что за особенности будут в CSS Grid Subgrid из Grid Level 2. Не имея реализации данного свойства(в браузерах), я смоделировала кучу демок, используя DevTools, для того выступ...

Математика в Gamedev по-простому. Кривые и дождь в Unity Всем привет! Меня зовут Гриша, и я основатель CGDevs. Продолжим говорить про математику что ли. Пожалуй, основное применение математики в геймдеве и компьютерной графики в целом – это VFX. Вот и поговорим про один такой эффект – дождь, а точнее про его основную часть, требую...

[Перевод] Caterpillar представили электрический 26-тонный экскаватор с гигантской аккумуляторной батареей на 300 кВт*ч Caterpillar совместно с Pon Equipment предпринимают усилия по электрификации строительной техники и представили электрический 26-тонный экскаватор с гигантской аккумуляторной батареей мощностью 300 кВт*ч. Они построили прототип в Гьеллеросен, Норвегия, для строительной ко...

Долговечность светодиодных ламп и снижение светового потока Я провёл эксперимент и сравнил, как снижается световой поток разных светодиодных ламп в течение сорока минут после включения. Читать дальше →

Tic Tac Toe, часть 1 В статье "Сравнение: Svelte и React" я попробовал повторить разработку игры Tic Tac Toe. Там я выполнил только первую часть исходного туториала для React'а без поддержки истории ходов. В этой статье мы начнем разработку этой игры с применением фреймворка Svelte с поддержкой ...

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

Строительная 3D-печать на Top 3D Expo Друзья! Приглашаем присоединиться к нам на выставке-конференции Top 3D Expo 2019 Сентябрь. Мероприятие пройдет в Технополисе «Москва» на Волгоградском проспекте.Ждем вас 20 сентября 2019 к 9:00, зарегистрироваться и приобрести билеты по лучшей цене можно здесь. Подробнее о п...

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

Variational Inference — что это такое и с чем это едят? Привет, Хабр! Недавно пообщался с коллегами о вариационном автоэнкодере и выяснилось что многие даже работающие в Deep Learning знают о вариационном выводе (Variational Inference) и в частности Нижней вариационной границе только по наслышке и не до конца понимают что это та...

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

C/C++ из Python Про то как вызывать Python из C написал в прошлой статье, теперь поговорим как делать наоборот и вызывать C/C++ из Python. Раз начал писать об этом, то раскроем всю тему до конца. Тем более, что ни чего сложного здесь нет тоже. Читать дальше →

Как выбрать СХД, не выстрелив себе в ногу Введение Пришла пора покупать СХД. Какую взять, кого слушать? Вендор А рассказывает про вендора B, а еще есть интегратор C, который рассказывает обратное и советует вендора D. В такой ситуации и у опытного архитектора по системам хранения голова пойдет кругом, особенно со в...

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

Француз всё-таки пересёк Ла-Манш на доске: видео Французский изобретатель Фрэнки Запата со второй попытки сумел таки перелететь Ла-Манш на реактивном флайборде собственной разработки, преодолев 35 километров за 22 минуты. Источник

[Из песочницы] Принцип работы протокола VRRP FHRP (First Hop Redundancy Protocol) — семейство протоколов, предназначенных для создания избыточности шлюза по умолчанию. Общей идеей для данных протоколов является объединение нескольких маршрутизаторов в один виртуальный маршрутизатор с общим IP адресом. Этот IP адрес буд...

Бэкенд WhatsApp, Facebook Messenger, Instagram объединят и добавят сквозное шифрование Марк Цукерберг планирует интегрировать инфраструктуру сервисов WhatsApp, Instagram и Facebook Messenger, которые принадлежат компании Facebook. Службы продолжат работать как автономные приложения, но их базовая техническая инфраструктура будет унифицирована, сказали NY Tim...

6 июня — VeeamON Forum в Москве Вот и пришло время нашей ежегодной «очной» встречи. 6 июня в пятый раз в Москве пройдет локальная версия нашего крупнейшего мероприятия – VeeamON Forum, на котором мы будем рады видеть наших потенциальных и нынешних заказчиков, а также всех, кто интересуется виртуализацией, ...

[Перевод] Serverless CI/CD на AWS Было бы круто, если бы развертывание в формате копи-пейст осталось в прошлом, но, увы, дела обстоят иначе. Бывает, разработчикам предпочтительней именно такой метод поставки. Хоть сейчас пиши статью о том, почему это не есть гуд, но вы и без меня все знаете. С тенденцией к ...

Лед и птицы нипочем: двигатели для Ми-38 К счастью, вот уже несколько лет вертолет выпускается серийно и эксплуатируется. В качестве двигателя рассматривалась американская силовая установка Pratt & Whitney, однако из-за санкционных ограничений был выбран отечественный вариант. Двигатель ТВ7−117В построен санкт-...

[Перевод] 5 продвинутых техник тестирования на Go Всем салют! До старта курса «Разработчик Golang» остается меньше недели и мы продолжаем делиться полезным материалом по теме. Поехали! Go имеет хорошую и надежную встроенную библиотеку для тестирования. Если вы пишите на Go, то вы уже это знаете. В этой статье мы поговори...

Основоположники теории распределенных систем в объятьях гидры Это Лесли Лэмпорт — автор основополагающих работ в распределённых вычислениях, а ещё вы его можете знать по буквам La в слове LaTeX — «Lamport TeX». Это он впервые, ещё в 1979 году, ввёл понятие последовательной согласованности, а его статья «How to Make a Multiprocessor Com...

Цены российского черного рынка на пробив персональных данных (плюс ответ на ответ Тинькофф Банка) В конце прошлого года я делал обзор цен черного рынка на российские персональные данные, и вот пришло время его обновить и дополнить. Заодно посмотрим изменение цен и предложений на этом «рынке», а также реакцию «Тинькофф Банка» на вот это вот все. Поехали... Читать дальше...

RxSwift и корутины в Kotlin — факультатив по мобильной разработке от AGIMA и GeekBrains Знания — это хорошо, просто отлично. Но нужна еще и практика, чтобы можно было использовать полученные данные, переведя их из статуса «пассивное хранение» в статус «активное использование». Каким бы хорошим ни было теоретическое обучение, требуется еще работа «в поле». Ска...

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

Будущее (или засекреченное настоящее) плазменных движков или как достичь 27 махов в атмосфере «Говорят, что те кто видел гиперзвуковой экраноплан, летящий в пузыре плазмы, из которого выехал танк, сфотался, а потом заехал обратно, никому про это уже ничего не расскажут.» Зимой я долго приставал к Зеленому Коту по поводу плазменных движков и их физических ограничени...

На марсоход для миссии «Mars 2020» установили новые колеса В Лаборатории реактивного движения в Пасадене будущий марсианский ровер получил свои первые колеса. Это звучит как рядовая новость, но на самом деле ходовая часть марсохода стала предметом серьезных споров в NASA. Дело в том, что при всех успехах в постройке исследовательски...

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

Не очередной язык программирования В последнее время на рынке появилось огромное количество новых языков программирования: Go, Swift, Rust, Dart, Julia, Kotlin, Hack, Bosque – и это только из числа тех, которые на слуху. Ценность того, что эти языки привносят в мир программирования, тяжело переоценить, но,...

[Перевод] Дорогой Agile, мне надоело притворяться «Agile мёртв». Люди всё время так говорят. Но обязательно добавляют: «Мы просто шутим». Они типа имели в виду, что это у тебя такие неправильные и глупые практики, что это для тебя Agile мёртв. Но «настоящий» Agile не мёртв. Просто все его делают неправильно. Так что я пон...

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

Открытый вебинар «Customer Journey: какой трафик и куда вести» Коллеги, в конце февраля этого года мы запускаем новый курс «Трафик-менеджер» и уже начали публиковать статьи, к нему приуроченные. Очередной материал подготовлен на основании открытого урока, который состоялся буквально на днях. На нём мы рассмотрели Customer Journey: с ка...

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

IoT-стандарты, сети, три стола Тема интернета вещей и раньше проскальзывала на конференциях РИТ++ и HighLoad++, но обычно с упором на привычные нам вопросы хранилищ данных или программирования. Но в прошлом году мы решили, что настало время серьезно обсуждать IoT: аппаратное обеспечение, сети передачи дан...

Поваренная книга разработчика: DDD-рецепты (4-я часть, Структуры) Введение Итак, мы уже определились с областью применения, методологией и архитектурой. Перейдем от теории к практике, к написанию кода. Хотелось бы начать с шаблонов проектирования, которые описывают бизнес логику — Service и Interactor. Но прежде чем приступить к ним, изучи...

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

Фракталы в иррациональных числах Статья является продолжением моей первой статьи «Фракталы в простых числах». В предыдущей статье мы научились рисовать самоподобные паттерны с помощью взаимно простых чисел. В этой статье покажу фрактальную природу числа . Без предисловия. Под кат. Читать дальше →

Run, Gopher, run! — о чем поговорим на GolangConf Мы обещали 5-6 причин перейти на Go, так и получилось! На GolangConf — конференции полностью посвященной Go — 7 октября будет 5 докладов с пометкой «Переход на Go» для тех, кто только собирается или начинает использовать этот язык в своих проектах. Но это только начало. С п...

Создание бэкенд приложения для онлайн чата Apollo, Node.js Некоторое время назад я работал над мобильным приложением, функционал которого включал в себя удобный онлайн-чат. И теперь я решил написать статью с краткой инструкцией, как создать чат, используя apollo server и node.js на бэкенде, а так же react native и apollo client на к...

Первым мессенджером в системе быстрых платежей может стать «Серафим» ЦБ России готовится сделать первый шаг по внедрению своей Системы быстрых платежей (СБП) в сервисы мгновенного обмена сообщениями. По сообщениям отечественных СМИ, первым мессенджером, интегрированным с СПБ, может стать малоизвестное в России приложение «Сераф...

Некоторые аспекты мониторинга MS SQL Server. Рекомендации по настройке флагов трассировки Предисловие Довольно часто пользователи, разработчики и администраторы СУБД MS SQL Server сталкиваются с проблемами производительности БД или СУБД в целом, поэтому весьма актуальным является мониторинг MS SQL Server. Данная статья является дополнением к статье Использование ...

defi.js — реактивная библиотека, основанная на Object.defineProperty defi.js — это библиотека, включающая в себя дюжину функций, которые добавляют интересные фичи любым JavaScript объектам с помощью геттеров и сеттеров. Гифка для привлечения внимания (3.5МБ) Репозиторий В качестве Hello World создадим небольшой виджет, состоящий из поля имен...

GOSTIM: P2P F2F E2EE IM за один вечер с ГОСТ-криптографией Будучи разработчиком PyGOST библиотеки (ГОСТовые криптографические примитивы на чистом Python), я нередко получаю вопросы о том как на коленке реализовать простейший безопасный обмен сообщениями. Многие считают прикладную криптографию достаточно простой штукой, и .encrypt() ...

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

Анализ производительности ВМ в VMware vSphere. Часть 2: Memory Часть 1. Про CPU В этой статье поговорим про счетчики производительности оперативной памяти (RAM) в vSphere. Вроде бы с памятью все более однозначно, чем с процессором: если на ВМ возникают проблемы с производительностью, их сложно не заметить. Зато если они появляются, с...

[Перевод] ИИ и 2048. Часть 1: Метод Монте-Карло «2048» через несколько недель исполняется 5 лет, а значит, пора написать что-нибудь, посвящённое этой замечательной игре. Особенно познавательна тема самостоятельной игры искусственного интеллекта в головоломку. Способы реализации есть самые разные и сегодня разберём отно...

Android: Huawei без Google Play, динамические обновления и советы Сноудена Для подписчиковСегодня в выпуске: рассказ о том, как Huawei Mate 30 обходится без Google Play, советы Эдварда Сноудена по использованию телефона, руководство по созданию анимаций при использовании реактивных фреймворков, объяснение типов Unit, Nothing, Any в Kotlin и обзор и...

В GMB появилась статистика обмена сообщениями и ещё 2 нововведения Google Мой бизнес объявил о запуске трёх нововведений: статистики обмена сообщениями, ссылки для регистрации в качестве менеджера адреса и изменений в статусах филиалов. Статистика по обмену сообщениями Если компания включила обмен сообщениями в приложении Google Мой бизнес,...

Loli — новый высокопроизводительный язык В этой статье мы поговорим о новом интерпретируемом языке Loli, рассмотрим синтаксис и сравним с языками C и Python. Читать дальше →

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

Минималистичный онлайн-симулятор линейных DC и AC цепей Расскажу о своем поделии, которое я использовал на бывшей работе. Преподавание теоретической электротехники предполагает решение многочисленных задач и выполнение экспериментов в ходе лабораторных работ. Результаты решения задачи или выполнения эксперимента, естественно, жел...

[Из песочницы] Криптографический алгоритм «Кузнечик»: просто о сложном В данной статье будет подробно рассмотрен алгоритм блочного шифрования, определенный в ГОСТ Р 34.12-2015 как «Кузнечик». На чем он основывается, какова математика блочных криптоалгоритмов, а так же как реализуется данный алгоритм в java. Кто, как, когда и зачем разработал д...

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

Как мы внедряли навигацию из Jetpack в боевое приложение. Доклад Яндекс.Еды В мобильных приложениях всё чаще используются deep links. Это ссылки, которые позволяют не просто перейти в приложение извне, а попасть на конкретный экран. Android-разработчик из Яндекс.Еды Владислав Кожушко объяснил, почему мы для реализации deep links внедрили навигацию и...

Total Kustom предлагает лабораторный строительный 3D-принтер LAByrinth Андрей Руденко, конструктор строительных 3D-принтеров и основатель компании Total Kustom, анонсировал новую аддитивную систему уменьшенного размера LAByrinth, предназначенную не столько для коммерческого строительства, сколько для лабораторных исследований с целью разработки...

Не Spring Boot’ом единым: обзор альтернатив В настоящее время нет недостатка во фреймворках для создания микросервисов на Java и Kotlin. В статье рассматриваются следующие: Название Версия Год первого релиза Разработчик Helidon SE 1.1.1 2019 Oracle Ktor 1.2.1 2018 JetBrains Micronaut 1.1.3 2018 Object Compu...

Свойство симметричности отношения коинтеграции Цель данной статьи — поделиться парадоксальными результатами в исследовании коинтеграции временных рядов: если временной ряд коинтегрирован с рядом , ряд не всегда коинтегрирован с рядом . Если мы исследуем коинтеграцию чисто теоретически, то легко доказать, что если ряд ...

[Перевод] InterNyet — как в Советском Союзе изобрели интернет и почему он не заработал Утром 1 октября 1970 года ученый-компьютерщик Виктор Глушков вошел в Кремль, чтобы встретиться с Политбюро. Он был настороженным человеком с пронзительными глазами в черных очках, с таким типом ума, который, решая одну проблему, мог найти параллельно метод решения всех ана...

[Из песочницы] Криптография в Java Привет, Хабр! Представляю вашему вниманию перевод статьи "Java Cryptography" автора Jakob Jenkov. Данная публикация является переводом первой статьи Java Cryptography из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

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

[Перевод] Основы движков JavaScript: оптимизация прототипов. Часть 2 Добрый день, друзья! Курс «Безопасность информационных систем» запущен, в связи с этим делимся с вами завершающей частью статьи «Основы движков JavaScript: оптимизация прототипов», первую часть которой можно прочитать тут. Также напоминаем о том, что нынешняя публикация явл...

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

[Перевод] Поиск пути среди круглых препятствий Навигация по лесу Алгоритм поиска пути A* — это мощный инструмент для быстрой генерации оптимальных путей. Обычно A* демонстрируют при навигации по картам из сеток, но он может использоваться не только для сеток! Он может работать с любыми графами. Можно использовать A* для ...

В России проведут эксперименты для создания плазменного ракетного двигателя Институт ядерной физики сибирского отделения Российской академии наук в январе приступит к серии экспериментов по удержанию плазмы с параметрами, пригодными для создания ракетного двигателя. Испытания будут проводиться на новейшей установке СМОЛА (Спиральная Магнитная Откры...

[Перевод] Искусственный интеллект Horizon Zero Dawn Horizon Zero Dawn находится в списке одних из лучших эксклюзивов для Playstation 4. В роли охотницы Элой игроки путешествуют по постапокалиптическим ландшафтам будущего, чтобы раскрыть тайны её прошлого и узнать о причинах разрушения мира. Упадок человечества привёл к расцве...

Основы статической маршрутизации в Mikrotik RouterOS Маршрутизация — процесс поиска оптимального пути для передачи пакетов в сетях TCP/IP. Любой устройство подключенное к сети IPv4 содержит процесс и таблицы маршрутизации. Данная статья не является HOWTO, она описывает на примерах статическую маршрутизацию в RouterOS, я намере...

[Перевод] Понимание брокеров сообщений. Изучение механики обмена сообщениями посредством ActiveMQ и Kafka. Глава 3. Kafka Продолжение перевода небольшой книги: «Understanding Message Brokers», автор: Jakub Korab, издательство: O'Reilly Media, Inc., дата издания: June 2017, ISBN: 9781492049296. Предыдущая переведенная часть: Понимание брокеров сообщений. Изучение механики обмена сообщениями пос...

Геймдизайн в жизнь. Экономика игры (Часть II) Доброго дня! Немного об авторе: меня зовут Мария, гейм дизайнер. Это третья статья из цикла по применению теории геймдизайна в жизни. Ссылки: Первая статья: «Гейм дизайн в жизнь. Пример разбора механики игры» Вторая статья: «Геймдизайн в жизнь. Экономика игры (Часть I)» ...

Фаял: место встречи в Атлантике Посреди Атлантики как-то поломалась геологическая плита. И — хоба! — выросли Азорские острова. Давно. Но приключения там продолжаются до сих пор. Вот, например, посмотрите на этот маяк, некогда очень важный для всех тех, кто переходит Атлантику. Он стоял себе спокойно на бер...

Заметка: Онлайн-чат средствами SSH Привет, Сообщество! Не так давно пользователь с ником maximmasterr рассказал про свою реализацию системы онлайн-чата посредством использования технологии SSH. В этой заметке мне бы хотелось поделиться с вами ещё одной реализацией SSH-чата, которую разработал Андрей Петров....

Несколько соображений по поводу параллельных вычислений в R применительно к «enterprise» задачам Параллельные или распределенные вычисления — вещь сама по себе весьма нетривиальная. И среда разработки должна поддерживать, и DS специалист должен обладать навыками проведения параллельных вычислений, да и задача должна быть приведена к разделяемому на части виду, если тако...

Нормализация данных в распределенной БД, микросервисах и ERP Привет, Хабр! Эта маленькая заметка родилась в процессе обсуждения статьи «Распределенные монолиты...», а поскольку тема требует дальнейшего раздумья — я решил зафиксировать ее у себя в блоге. Автор статьи фактически описывает распределенную базу данных, доказывая, что един...

Ticket to Ride.Европа — арифметика, часть вторая Всё ещё продолжаю изучать основы математики и механики в игре. Данная статья является второй в серии (Ссылка на первую часть), в ней продолжается анализ перегонов, попытка их сортировки по потребности, изучение различных способов строительства маршрутов. Если проводить анало...

Автоматизация Для Самых Маленьких. Часть 1.1. Основы виртуализации Предыдущая статья рассматривала архитектуру виртуализированной сети, underlay-overlay, путь пакета между VM и прочее. Роман Горге вдохновился ею и решил написать обзорный выпуск о виртуализации вообще. В данной статье мы затронем (или попытаемся затронуть) вопросы: а как с...

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

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

Создание системы расширения на библиотеке Qt — Часть 2 Возвращаясь к первой статье хочется объяснить откуда появилась необходимость разработки механизма расширения с графическим интерфейсом (GUI) и подробней объяснить механизм создания плагинов. Было получено задание на разработку технологического программного обеспечения для ...

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

Ace Combat 7: Skies Unknown – синее-синее небо Серия Ace Combat – это Call of Duty с реактивными самолетами. Яркая, зрелищная, пафосная аркада, сделанная с огромной любовью к небу и современной военной технике. Ace Combat 7: Skies Unknown – возвращение серии к классической игровой механике и сеттингу. И это хорошо. Ace C...

Метапрограммирование в JavaScript и TypeScript Пролог Хочу представить на Ваш суд ряд мини статеек, в которых будут описаны приемы и основы метапрограммирования. В основном я буду писать об использовании тех или иных техник в JavaScript либо в TypeScript Эта первая (и надеюсь не последняя) статья из серии. Так что же так...

Meeting Room L̶i̶t̶t̶l̶e̶ Helper v 2 Данная статья подробно описывает этапы разработки мобильного приложения Meeting Room Helper: от зарождения идеи до релиза. Приложение написано на Kotlin и построено по упрощённой MVVM архитектуре, без использования data binding. Обновление UI-части происходит с помощью LiveD...

[Перевод] В Италии началась Open Source революция Государственные учреждения страны теперь должны делать общедоступным весь разработанный для них код Оригинальный пост на английском опубликован представителем итальянской государственной команды по цифровизации (Italian Government Digital Transformation Team) — прим. перев. ...

Peephole микрооптимизации в С++ и C# компиляторах В школе, когда мы решали уравнения или считали формулы, мы пытались их сперва сократить несколько раз, к примеру Z = X - (Y + X) сокращается в Z = -Y. В современных компиляторах это подмножество так называемых peephole-оптимизаций, в которых мы по, грубо говоря, набору шабло...

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

[Из песочницы] Переносим проект с Swift 4.2 на Swift 5.0 Привет, Хабр! Представляю вашему вниманию перевод статьи «Swift 5.0: How to migrate your project and frameworks» автора Antoine Van Der Lee. Swift 5.0 был выпущен в марте 2019 года и является первым стабильным выпуском ABI Swift. Несмотря на то, что многие ресурсы освещают ...

Natter – деревянный реактивный истребитель нацистской Германии В последние дни Второй мировой войны уже ослабевшая и обескровленная Германия предпринимала последние отчаянные попытки противостоять опустошительным налетам бомбардировочной авиации союзников. В результате был разработан одноразовый деревянный реактивный истребитель «Natter...

[Перевод] Порождение событий, CQRS и Laravel Перевод статьи подготовлен для студентов профессионального курса «Framework Laravel» ________________________ Введение Эта статья посвящена основам создания событийных CQRS-систем на языке PHP и в фреймворке Laravel. Предполагается, что вы знакомы со схемой разработки с ...

[Перевод] Reflective Shadow Maps: Часть 2 ― Реализация Привет, Хабр! В данной статье представлена простая реализация Reflective Shadow Maps (алгоритм описан в предыдущей статье). Далее я объясню, как я это сделал и какие подводные камни были. Также будут рассмотрены некоторые возможные оптимизации. Рисунок 1: Слева направо: бе...

[Перевод] Dart 2. Асинхронное программирование: потоки данных Асинхронное программирование: потоки данных Содержание Получение событий потока События с ошибкой Работа с потоками Типы потоков Потоки-подписки Широковещательные потоки Методы, обрабатывающие поток Методы, изменяющие поток Функция transform() Чтение и декодирование файл...

[Перевод] Node.js для начинающих: основы работы с файлами Сегодня мы поговорим о том, как работать с файловой системой средствами Node.js, рассмотрим базовые операции, выполняемые с файлами. К таким операциям относятся следующие: Создание файла Чтение файла Запись данных в файл Удаление файла Переименование файла Необходимость в...

Новый стандарт на базе PCIe 5.0 «свяжет» CPU и GPU — что о нем известно Консорциум CXL представил новый открытый стандарт — Compute Express Link (CXL). Он поможет организовать высокоскоростную связь между процессором и другими устройствами — GPU, FPGA и памятью. В основу CXL 1.0 лег интерфейс PCIe 5.0, спецификация которого ожидается в этом году...

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

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

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

[Из песочницы] Vuex — чрезмерное использование геттеров в приложении. Разбор ошибки В этой статье пойдет речь об распространенной ошибке, которую делают большинство начинающих при разработке приложения на Vue + Vuex. Мы поговорим о геттерах (getters) и как их правильно использовать. Также мы рассмотрим вспомогательные функции mapState и mapGetters. Примеча...

Разбор: как заработать на инвестициях в биржевые индексы и ETF Изображение: Pexels В статьях и передачах на экономические темы часто можно услышать фразы вроде «индекс S&P500 обновил исторический максимум» или «индекс РТС в ходе торгов обвалился на 200 пунктов». Сегодня мы поговорим о том, какой на самом деле смысл скрывается за ...

Вавилонский подряд: 5 проблем безопасности в строительном бизнесе Во дворе одного из строящихся домов появилось поселение рабочих-строителей: десятки типовых бытовок по 8 спальных мест, ряд синих туалетных кабинок, отдельно стоящие здания столовой и бани. В первый месяц в благоустроенный городок на работу ходило 500 человек. Через месяц ...

Чек-лист по ASO: текстовая оптимизация Продолжаем цикл статей об оптимизации и продвижении приложений на мобильных рынках. В прошлый раз мы разобрали все составляющие визуального образа продукта и пообещали так же детально рассказать и о текстовой оптимизации. Выполняем свое обещание под катом. Читать дальше →

Привет, Хабр! Здравствуй, Теркон Не прошло и года с момента выхода нашей тестовой статьи про самый умный обогреватель, как мы уже успели завести блог на Хабре. Первая публикация в нашем блоге — обзорная. Прогуляемся по офису, производству, поглядим по сторонам. Большинство из увиденного станет темами после...

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

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

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

ShIoTiny: узлы, связи и события или особенности рисования программ Основные тезисы или о чем эта статья Тема статьи — визуальное программирование ПЛК ShIoTiny для умного дома, описанного тут: ShIoTiny: малая автоматизация, интернет вещей или «за полгода до отпуска». Очень кратко рассмотрены такие понятия, как узлы, связи, события, а такж...

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

pg_stat_statements + pg_stat_activity + loq_query = pg_ash? В качестве короткого дополнения к статье Попытка создать аналог ASH для PostgreSQL. Задача Необходимо связать историю представлений pg_stat_statemenets, pg_stat_activity. В результате, используя историю планов выполнения из сервисной таблицы log_query, можно получить очень ...

Много иероглифов – много нейросетей: как построить эффективную систему распознавания для большого числа классов? В прошлых статьях уже писали о том, как у нас устроены технологии распознавания текста: Навигатор по серии постов Распознавание текста в ABBYY FineReader (1/2) Распознавание текста в ABBYY FineReader (2/2) Примерно так же до 2018 года было устроено распознавание японских и ...

Когерентные CFP WDM (100G/200G) и их применение в системах DWDM Первые пресс релизы о появлении когерентных CFP модулей (coherent CFP optical pluggable modules) стали появляться примерно 5-6 лет назад. Тогда их использование в системах оптического уплотнения было в новинку и являлось по сути нишевым решением. Сейчас, по прошествии шест...

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 11. Основы VLAN Прежде чем мы приступим к основам VLAN, я бы попросил всех вас поставить это видео на паузу, нажать на иконку в нижнем левом углу, где написано Networking consultant, зайти на нашу страничку Facebook и поставить там лайк. Затем вернитесь к видео и нажмите на иконку King в пр...

Дайджест продуктового дизайна, декабрь 2018 Дайджест собирает свежие статьи по дизайну интерфейсов, а также инструменты, паттерны, кейсы и исторические рассказы с 2009 года. Я тщательно фильтрую большой поток подписок, чтобы вы могли прокачать свои профессиональные навыки и лучше решить рабочие задачи. Предыдущие выпу...

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

Дайджест продуктового дизайна, март 2019 Дайджест собирает свежие статьи по дизайну интерфейсов, а также инструменты, паттерны, кейсы, тренды и исторические рассказы с 2009 года. Я тщательно фильтрую большой поток подписок, чтобы вы могли прокачать свои профессиональные навыки и лучше решить рабочие задачи. Предыду...

Дайджест продуктового дизайна, июнь 2019 Дайджест собирает свежие статьи по дизайну интерфейсов, а также инструменты, паттерны, кейсы, тренды и исторические рассказы с 2009 года. Я тщательно фильтрую большой поток подписок, чтобы вы могли прокачать свои профессиональные навыки и лучше решить рабочие задачи. Предыду...

Дайджест продуктового дизайна, июль 2019 Дайджест собирает свежие статьи по дизайну интерфейсов, а также инструменты, паттерны, кейсы, тренды и исторические рассказы с 2009 года. Я тщательно фильтрую большой поток подписок, чтобы вы могли прокачать свои профессиональные навыки и лучше решить рабочие задачи. Предыду...

Дайджест продуктового дизайна, август 2019 Дайджест собирает свежие статьи по дизайну интерфейсов, а также инструменты, паттерны, кейсы, тренды и исторические рассказы с 2009 года. Я тщательно фильтрую большой поток подписок, чтобы вы могли прокачать свои профессиональные навыки и лучше решить рабочие задачи. Предыду...

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

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

Цукерберг раскрыл подробности слияния WhatsApp, Instagram и Messenger На прошлой неделе мы сообщали, что Facebook планирует объединить обмен сообщениями Messenger, WhatsApp и Instagram в единую унифицированную платформу. Во время ежеквартального отчета о доходах компании Марк Цукерберг подтвердил, что это действительно случится, но не в нынешн...

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

Визуализация сортировок обменами В данной статье рассматриваются различные варианты сортировки обменами, а также даётся описание простого графического приложения (processing.js) с примерами сортировок. Перед прочтением рекомендую ознакомиться со статьями: → Сортировка обменами → Пузырьковая сортировка ...

[Из песочницы] Domain Driven Design: Value Objects и Entity Framework Core на практике На Хабре и не только написано приличное количество статей про Domain Driven Design — как в общем про архитектуру, так и с примерами на .Net. Но при этом зачастую слабо упоминается такая важнейшая часть этой архитектуры, как Value Objects. В этой статье я постараюсь раскрыт...

Бэкдор и шифратор Buhtrap распространялись с помощью Яндекс.Директ Чтобы нацелить кибератаку на бухгалтеров, можно использовать рабочие документы, которые они ищут в сети. Примерно так в последние несколько месяцев действовала кибергруппа, распространяющая известные бэкдоры Buhtrap и RTM, а также шифраторы и ПО для кражи криптовалют. Больши...

AERODISK Engine: Катастрофоустойчивость. Часть 2. Метрокластер Привет, читатели Хабра! В прошлой статье мы рассказали о простом средстве катастрофоустойчивости в системах хранения AERODISK ENGINE – о репликации. В этой статье мы погрузимся в более сложную и интересную тему – метрокластер, то есть средство автоматизированной защиты от к...

[Перевод] Реверсинг и взлом самошифрующегося внешнего HDD-накопителя Aigo. Часть 2: Снимаем дамп с Cypress PSoC Это вторая и заключительная часть статьи про взлом внешних самошифрующихся накопителей. Напоминаю, недавно коллега занес мне жёсткий диск Patriot (Aigo) SK8671, и я решил его отреверсить, а теперь делюсь, что из этого получилось. Перед тем как читать дальше обязательно ознак...

Диздок-десятистраничник — шаблон по книге Скота Роджерса с примером на игру от Pixonic В данной статье я приведу пример составления дизайн-документа для разработки игры в формате десятистраничника. В начале будет приведён общий шаблон документа, предлагаемый Скотом Роджерсом в его книге «Level up. The guid to great video game design» [1]. Затем будет выложен...

[Перевод] Микрофронтенды: о чем это мы? Все эти годы вы, frontend-разработчик, писали монолиты, хотя и понимали, что это дурная привычка. Вы делили свой код на компоненты, использовали require или import и определяли npm-пакеты в package.json или плодили гит-репозитории в вашем проекте, но все равно писали монолит...

[Перевод] Полное руководство по массивам и срезам в Golang Перевод статьи подготовлен специально для студентов курса «Разработчик Golang», занятия по которому начинаются уже сегодня! Поначалу легко воспринимать массивы и срезы как одно и то же, но с разными названиями: и то и другое является структурой данных для представления ко...

Юзабилити корзины и чекаута: анализ топ-20 российских нишевых интернет-магазинов В статье я анализирую по ряду показателей корзину и заказ в топовых интернет-магазинах, ее выводы легли в основу рекомендаций, описанных в статье: Проектирование интернет-магазина для SEO: (теория + чеклист) Наиболее частая точка потери клиентов в интернет-магазине, это кор...

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

Работа с API КОМПАС-3D → Урок 16 → Управляющие символы Продолжаем цикл статей по работе с API САПР КОМПАС-3D. Управляющие символы уже несколько раз встречались нам на предыдущих уроках цикла. Тогда каждый раз говорилось, что выводимые строки не должны их содержать, так как КОМПАС обрабатывает их особым образом. Теперь пришло вре...

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

Холивар. История рунета. Часть 6. Блокировки: Лурк, Лента, 282-я и китайский путь Холивар. История рунета. Часть 1. Начало: хиппи из Калифорнии, Носик и лихие 90-е Холивар. История рунета. Часть 2. Контркультура: пАдонки, марихуана и Кремль Холивар. История рунета. Часть 3. Поисковики: Яндекс vs Рамблер. Как не делать инвестиции Холивар. История рунета. Ч...

Анонс FunTech QA-automation meetup Всем привет! Приглашаем QA-инженеров на наш первый митап по тестированию, посвящённый автоматизации. Программа «Автотесты, объединяющие подходы, платформы и сердца», Михаил Чирков, ivi.ru Преимущества и недостатки кроссплатформенных автотестов (в нашем случае речь о плат...

Протокол SPBm как основа Extreme Automated Campus Решения компании Extreme Networks «Extreme Automated Campus» обеспечивают возможность одновременного использования множества путей передачи и быстрого восстановления в случае аварии. Сеть, состоящая из множества физических коммутаторов, представляет собой один распределённый...

Huawei официально представила распределённую операционную систему HarmonyOS Сегодня во время проведения конференции Huawei Developer Conference компания Huawei официально представила свою новую операционную систему HarmonyOS. Ранее она фигурировала под названием HongMeng, оно и далее будет использоваться в Китае. HarmonyOS представляет собой распред...

[Перевод] Настройка НА-кластера Kubernetes на «голом железе» с kubeadm. Часть 1/3 Всем привет! В этой статье я хочу упорядочить информацию и поделиться опытом создания и использования внутреннего кластера Kubernetes. За последние несколько лет эта технология оркестровки контейнеров сделала большой шаг вперед и стала своего рода корпоративным стандартом дл...

[Из песочницы] Подводные камни разработки Google Play Instant Привет, Хабр! Меня зовут Камо Сперцян, я занимаюсь Android-разработкой в PROFI.RU. Недавно я написал приложение с мгновенным запуском для наших клиентов. Если вы ещё не знакомы с технологией, приглашаю вас сначала посетить Android Developers. С презентации Instant Apps (G...

[Из песочницы] Система контроля библиотеки на Flask-Potion, Часть 0: готовим всё, что понадобится Введение В своей работе я уже некоторое время использую Flask-Potion — фреймворк, основными достоинствами которого являются: весьма удобная интеграция с SQLAlchemy моделями, автогенерация crud-эндпоинтов, наличие клиента potion-client (весьма удобного, если пишешь API сервис...

[Из песочницы] Реверс-инжиниринг электрокарниза AM82TV Есть у меня пара электрокарнизов компании Akko — AM82TV. Модель эта выделяется из собратьев наиболее полным набором интерфейсов управления. Шторами можно управлять по радиоканалу, есть “сухие контакты”, пофазное управление (замыканием управляющих проводов с сетевыми). Есть и...

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

График развития диагностических возможностей в PVS-Studio С момента появления продукта PVS-Studio прошло более 8 лет, и всё это время мы реализовывали в нём новые диагностические правила. И прекращать не собираемся. Если вас заботят вопросы, не растеряли ли мы за эти годы бодрость, и не останавливается ли PVS-Studio в развитии, то...

[Перевод] Подробная история компании Qualcomm Учитывая недавние драматические события, случившиеся с компанией Qualcomm, я решил, что будет интересно обновить историю компании, которая будет опубликована в книге Mobile Unleashed. Публикую полную главу из книги здесь. Глава 9: Нажмите Q, чтобы подсоединиться В отличие о...

Дайджест продуктового дизайна, апрель 2019 Дайджест собирает свежие статьи по дизайну интерфейсов, а также инструменты, паттерны, кейсы, тренды и исторические рассказы с 2009 года. Я тщательно фильтрую большой поток подписок, чтобы вы могли прокачать свои профессиональные навыки и лучше решить рабочие задачи. Предыд...

Несколько малоизвестных возможностей docker-compose Во многих инструкциях с просторов интернета описывают некий минимум действий, и как следствие минимум команд и возможностей. Я решил сделать некую подборку мало освещенных возможностей, особенностей. Статья не претендует на уникальность, это и мне, как памятка, и возможно не...

[Из песочницы] Физика и экономика. Гносеологическая разница и ее проявление в IT В мир IT я пришел из теоретической физики. Занимался, в основном, экономическими задачами. Занимался – это: анализ, ТЗ, постановка, проектирование, программирование. Естественно, я все время сопоставлял физический и экономический подходы к познанию законов природы и экономик...

[Перевод] В Java 13 хотят добавить «блоки текста» Блоки текста запланированы к появлению в Java 13. Об этом стало известно из JEP 355. Блоки текста — это многострочный строковый литерал, который устраняет необходимость в экранировании большинства специальных символов и автоматически делает переносы строки. Это дальнейшая...

[recovery mode] Сбалансированные показатели сайта. Часть 3: Контент В этой статье мы разберем еще один блок показателей сайта, который входит в нашу схему. Речь пойдет о контенте, я вынес его специально в отдельную статью, поскольку это один из самых важных и трудоемких в плане развития факторов продвижения. Читать дальше →

Внимание! Опасный баг в реализации C++ std::map::merge в Visual Studio 2017 Если Вы используете стандарт C++17 в MS Visual Studio 2017 — будьте осторожны: текущая реализация содержит критический баг в реализации std::map::merge и std::set::merge. Подробности — под катом. Читать дальше →

«Киевстар» запускает trade-in: обмен старых телефонов на новые с поддержкой 4G Киевстар первым среди мобильных операторов Украины запустил программу обмена старых телефонов на новые 4G-смартфоны со скидкой - Trade-in. Сообщение «Киевстар» запускает trade-in: обмен старых телефонов на новые с поддержкой 4G появились сначала на technoguide.

Optlib. Реализация генетического алгоритма оптимизации на Rust В этой статье описывается библиотека optlib, предназначенная для решения задач глобальной оптимизации на языке Rust. На момент написания этой статьи в этой библиотеке реализован генетический алгоритм нахождения глобального минимума функции. Библиотека optlib не привязана к к...

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

Robomow представила первую в мире технологию визуального распознавания для роботов-газонокосилок Компания Robomow представила первые в мире интеллектуальные роботы-газонокосилки, которые способны распознавать объекты. Интеллектуальная система RoboVision позволяет устройству видеть находящихся поблизости людей, собак и кошек и менять направление при приближении к объект...

2. Анализ логов Check Point: SmartEvent Здравствуйте, коллеги. В прошлый раз, в статье «1. Анализ логов Check Point: официальное приложение Check Point для Splunk» мы обсуждали разбор логов шлюза безопасности на основе официального приложения в системе логирования Splunk. В заключении пришли к выводу что хоть пр...

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

Учебные проекты на Godot — Pong (часть 1) Создание и настройка сцены игрового процесса Приветствую вас, хабровчане! Как и обещал в конце прошлой статьи, я обратил свой взгляд на игровой движок. Правда мне больше приглянулся Godot. Почему? Тема для отдельной статьи размышления, а я не умею долго думать и, тем более, размышлять. Несмотря на то, что Pong имеетс...

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

«ЗИЛ умер, оставив достойного наследника»: Блогер поделился впечатлениями от «машины на века» – КамАЗ-53212 Бортовой грузовик-тягач в своё время получил славу невероятно актуальной и современной машины, однако сейчас о нём знает не так уж и много людей. Автоблогер Иван Зенкевич решил несколько исправить эту ситуацию, устроив небольшой тест-драйв для КамАЗ-53212. По словам эксперт...

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

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

Конкурсы проектов: что, зачем и почему? Типичная КДПВ За окном август, школа за плечами, скоро ВУЗ. Чувство того, что ушла целая эпоха не покидает меня. Но ты хочешь увидеть в статье не лирику, а информацию. Так что я не буду тянуть и расскажу про редкую тему для Хабра — про школьные конкурсы проектов. Конкретнее...

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

LuaVela: реализация Lua 5.1, основанная на LuaJIT 2.0 Некоторое время назад мы анонсировали публичный релиз и открыли под лицензией MIT исходный код LuaVela – реализации Lua 5.1, основанной на LuaJIT 2.0. Мы начали работать над ним в 2015 году, и к началу 2017 года его использовали в более чем 95% проектов компании. Сейчас хоче...

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

Российские космонавты получат спасательные реактивные ранцы Научно-производственное предприятие «Звезда» готово интегрировать спасательные реактивные ранцы в новые модульные скафандры российских космонавтов. Об этом сообщило информационное агентство ТАСС со ссылкой на генерального директора и главного конструктора предприятия Серге...

В августе Microsoft выпустит первую часть контента для программы Flight Simulator Insider В начале-середине августа Microsoft запустит программу Flight Simulator Insider, которая уже будет включать в себя некоторую часть контента будущей игры, в том числе превью официальной дорожной карты разработки и видеоролики, записанные с ранних сборок. Программа предназнач...

[Перевод] Исчерпывающий список различий между VB.NET и C#. Часть 2 В первой части статьи тема превосходства VB.NET над C# по рейтингу TIOBE нашла живой отклик в комментариях. Поэтому по совету AngReload посмотрим на тренды StackOverflow. C# все еще силен! Революция, о которой так долго говорили в прошлый раз, отменяется! Ура, товарищи! Или...

Делаем UITableView. Для начинающих Новогодние праздники прошли, а мое стремление писать полезные и не очень статьи — нет! Сегодня поговорим о UITableView, работе с UITableViewDataSource и переиспользовании ячеек. Затронем как установить рут контроллер без сториборда, ошибки при работе с таблицей, лейаут и бол...

Как у нас не получилось переделать архитектуру компании В прошлом году я начал рассказывать, как мы ожирели, а потом рефакторились. Напомню, тогда мы выбрали путь тактических полумер: разделили большую компанию на 4 инкапсулированных объекта и тем очень сократили цепочки управления. В начале этого года настало время наконец-то ...

Почему мы используем GraphQL в 8base Друзья, всем привет! Эта статья в первую очередь будет интересна фронтенд-разработчикам, особенно тем кому актуальна тема GraphQL, но в то же время я надеюсь, что она будет полезна и бэкенд-разработчикам и поможет им понять преимущества GraphQL глазами фронтендера. Читать...

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

[Перевод] Понимание брокеров сообщений. Изучение механики обмена сообщениями посредством ActiveMQ и Kafka. Глава 2. ActiveMQ Продолжение перевода небольшой книги: «Understanding Message Brokers», автор: Jakub Korab, издательство: O'Reilly Media, Inc., дата издания: June 2017, ISBN: 9781492049296. Перевод выполнен Предыдущая часть: Понимание брокеров сообщений. Изучение механики обмена сообщениям...

Исправляем паттерн проектирования — Singleton в PHP Недавно я писал о том, как сломать паттерн проектирования — Singleton в PHP. После написания статьи я искал новый вариант реализации паттерна: есть ли способ создать Singleton в PHP, не давая возможности создавать новые экзепляры класса с помощью Closure::bind()? Читать даль...

[Из песочницы] Под капотом у React. Пишем свою реализацию с нуля 


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

Зачем конкретно обливают самолёт перед вылетом, и что будет, если этого не делать? В прошлом моем посте была некоторая вольность относительно процедуры снятия льда и защиты от льда самолёта. triplebanana в комментариях это поправил, а дальше мы стали детально разбираться в этом вопросе. К счастью, помог Юрий Владимирович Филатов, который собрал для Аэроф...