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

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

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

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

Инфраструктура сборки проекта с docker На Хабре уже есть материалы про то, как настроить docker-контейнер для компиляции проекта. Например, Использование Docker для сборки и запуска проекта на C++. В этой статье, как и в предыдущей будет рассмотрен вопрос сборки проекта, но здесь я бы хотел выйти за рамки туториа...

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

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

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

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

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

Azure tech lab, 11 апреля в Москве 11 апреля 2019 года Состоится Технологическая Лаборатория Azure — ключевое мероприятие по Azure этой весной. Облачные технологии последнее время вызывают все больше внимания. То, что Azure один из лидеров на рынке провайдеров облачных услуг – ни у кого не вызывает сомнения....

Телеком-дайджест: о построении сетей операторов, интернет-протоколах и ИБ Это — подборка тематических материалов, написанных нашими экспертами: статьи о борьбе с ботнетами, ошибках провайдеров при развёртке инфраструктуры, а также квантовых сетях и eSIM. Читать дальше →

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

[Перевод] Зачем нужны дженерики? Эта статья о том, что будет означать добавление дженериков в Go, и почему я считаю, что нам это следует сделать. Также я коснусь возможного изменения архитектуры языка ради добавления дженериков. Go вышел 10 ноября 2009-го. Меньше чем через сутки появился первый комментари...

Архитектура сервиса распределённых очередей сообщений в Яндекс.Облаке Привет, меня зовут Василий Богонатов. Я один из тех, кто приложил руку и голову и вложил свою душу в сервис распределённых персистентных очередей сообщений Yandex Message Queue. Сервис вышел в общий доступ в конце мая, но внутри Яндекса он уже давно и активно используется в ...

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

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

Новые подходы к построению СКУД при использовании WEB-технологий Развитие технологий оказало значительное влияние на архитектуру систем контроля доступа. Проследив путь ее развития, можно предсказать, что же ждет нас в ближайшем будущем. Прошлое Давным-давно компьютерные сети еще были большой редкостью. И тогдашние СКУД строились следую...

[Перевод] Бессерверная архитектура и микросервисы: идеальная пара? Перевод статьи подготовлен для студентов курса «DevOps практики и инструменты» в образовательном проекте OTUS. Когда в 2015 году начали появляться первые туториалы с использованием AWS Lambda и API Gateway, было неудивительно, что они в основном были сосредоточены на копир...

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

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

Автоматизация Для Самых Маленьких. Часть Вторая. Дизайн сети В первых двух статьях я поднял вопрос автоматизации и набросал её фреймворк, во второй сделал отступление в виртуализацию сети, как первый подход к автоматизации настройки сервисов. А теперь пришло время нарисовать схему физической сети. Если вы не на короткой ноге с устрой...

Новые технологии Intel для упаковки чипов Упаковка чипов (chip packaging) играет критически важную, хоть и не всем заметную роль в производстве электроники. Будучи физическим интерфейсом между процессором и материнской платой, упаковка является передаточным звеном для электрических сигналов и питания. Чем выше тре...

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

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

(Статический) Подбор оптимальных контейнеров в программах на C++ Здравствуйте. Сегодня хотелось бы поговорить снова про статический анализ. И снова про C++. Только в отличие от PVS-Studio мы будем искать не какие-то ошибки в наших программах (хотя они ищут не только ошибки), а места, которые написаны недостаточно оптимально. И одним из та...

Архитектура AERODISK vAIR или особенности национального кластеростроения Привет, Хабровчане! Мы продолжаем знакомить вас с российской гиперконвергентной системой AERODISK vAIR. В этой статье речь пойдет об архитектуре данной системы. В прошлой статье мы разобрали нашу файловую систему ARDFS, а в данной статье пройдёмся по всем основным программн...

WISE-PaaS — облачная платформа для промышленного интернета вещей WISE-PaaS — (Platform as a Service) облачная платформа Advantech для промышленного интернета вещей, объединяющая в себе различные инструменты для сбора, обработки, и визуализации данных, автоматизации, управления устройствами и системами искусственного интеллекта и машинно...

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

End2End-подход в задачах Automatic Speech Recognition Что такое End2End-распознавание речи, и зачем же оно нужно? В чем его отличие от классического подхода? И почему для обучения хорошей модели на основе End2End нам потребуется огромное количество данных — в нашем сегодняшнем посте. Классический подход к распознаванию речи Пр...

Построение отказоустойчивого решения на базе Oracle RAC и архитектуры AccelStor Shared-Nothing Немалое число Enterprise приложений и систем виртуализации имеют собственные механизмы для построения отказоустойчивых решений. В частности, Oracle RAC (Oracle Real Application Cluster) представляет собой кластер из двух или более серверов баз данных Oracle, работающих совме...

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

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

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

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

Виртуальные телефонные системы Термин «виртуальная АТС», или «виртуальная телефонная система» означает, что провайдер берёт на себя заботы по размещению самой АТС и применению всех технологий, необходимых для предоставления компаниям услуг связи. Звонки, оповещения и прочие функции обрабатываются на сер...

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

Контейнеры и Windows. От Hello World до Kubernetes. Часть первая, вводная Когда я разговариваю с Linux инженерами и говорю им о проблемах Kubernetes кластера на Windows, на меня смотрят очень подозрительно. Некоторые даже не верят что это законно такое бывает. Контейнеры на Windows не так распространены и востребованы, как на Linux. Но я думаю, ...

[Перевод] Применение автоматического машинного обучения к нейросетям с архитектурой «трансформер» Из блога Google AI С момента обнародования информации о них в 2017 году, нейросети архитектуры типа "трансформер" применялись к задачам различного толка, от генерирования текстов в стиле фэнтези до написания музыкальных гармоний. Что важно, высокое качество работы «трансфор...

Сайзинг Elasticsearch — How big a cluster do I need? — Well, it depends… (злобное хихиканье) Elasticsearch — сердце Elastic Stack, в котором происходит вся магия с документами: выдача, приём, обработка и хранение. От правильного количества нод и архитектуры решения зависит его производительност...

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

Краш-тесты СХД AERODISK ENGINE N2, проверка на прочность Всем привет! Этой статьей компания AERODISK открывает блог на Хабре. Ура, товарищи! В предыдущих статьях на Хабре были рассмотрены вопросы об архитектуре и базовой настройке СХД. В этой статье мы рассмотрим вопрос, который ранее не был освещен, но его часто задавали – об от...

[Перевод] 7 недостающих факторов в подходе 12 factor app Прим. перев.: Тот восторг, что испытали наши тимлиды, увидев в блоге IBM Cloud этот материал — своеобразное «расширение» легендарного Twelve-Factor App, — говорит сам за себя. Поднятые автором вопросы не просто на слуху, а по-настоящему жизненны, т.е. актуальны в повседнев...

Построение микросервисной архитектуры на Golang и gRPC, часть 2 (docker) Пришло время заняться контейнерами Прежде всего, мы используем новейший образ Linux Alpine. Linux Alpine — это легкий дистрибутив Linux, разработанный и оптимизированный для запуска веб-приложений в Docker. Другими словами, Linux Alpine обладает достаточным количеством зави...

Использование REST в ENM Ericsson на Python Здравствуйте. Не так давно Ericsson выпустил новую систему управления Ericsson Network Manager (ENM), которая уже успела появится у некоторых операторов сотовой связи. Было бы интересно разобрать некоторые вопросы по работе с ней и, в этой статье, коснёмся вопроса работы с н...

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

Инженерный подход к разработке ПО Как проверить идеи, архитектуру и алгоритмы без написания кода? Как сформулировать и проверить их свойства? Что такое model-checkers и model-finders? Требования и спецификации — пережиток прошлого? Привет. Меня зовут Васил Дядов, сейчас я работаю программистом в Яндексе, до ...

Интервью с Иваном Кругловым, Principal Developer в Booking.com: Service Mesh и «нестандартные» инструменты Booking Иван Круглов, Principal Developer в Booking.com, выступал на Слёрм DevOps c темой SRE, а после выступления согласился за чашкой кофе поговорить о Kubernetes, Service Mesh, open source и «нестандартных» решениях в Booking.com Так как тема SRE оказался намного обширнее, то Ива...

[Перевод] Как разрабатываются и производятся процессоры: проектирование ЦП Теперь, когда мы знаем, как работают процессоры на высоком уровне, настало время углубиться в разбор процесса проектирования их внутренних компонентов. Это вторая статья из серии, посвящённой разработке процессоров. Рекомендую изучить для начала первую часть, чтобы вы поним...

[Перевод] Опасности конструкторов Привет, Хабр! Представляю вашему вниманию перевод статьи "Perils of Constructors" автора Aleksey Kladov. Один из моих любимых постов из блогов о Rust — Things Rust Shipped Without авторства Graydon Hoare. Для меня отсутствие в языке любой фичи, способной выстрелить в ногу, о...

[Из песочницы] Rekko Challenge — как занять 2-е место в конкурсе по созданию рекомендательных систем Всем привет. Моя команда в Тинькофф занимается построением рекомендательных систем. Если вы довольны вашим ежемесячным кэшбэком, то это наших рук дело. Также мы построили рекомендательную систему спецпредложений от партнеров и занимается индивидуальными подборками Stories в ...

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

Открытый вебинар «Разработка высоконагруженных систем на PHP» Добрый вечер! В преддверии старта курса «Backend-разработчик на PHP» мы традиционно провели открытый урок. На нём поговорили о высоконагруженных системах, масштабировании, архитектуре. Детально рассмотрели HighLoad, а также основные подходы и тактики при разработке высоконаг...

Введение в контекстно-ориентированное программирование на Kotlin Это перевод статьи An introduction to context-oriented programming in Kotlin В этой статье я постараюсь описать новое явление, которое возникло как побочный результат стремительного развития языка Kotlin. Речь идет о новом подходе к проектированию архитектуры приложений и б...

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

[Перевод] Больше возможностей с паттернами в C# 8.0 Совсем недавно вышла Visual Studio 2019 Preview 2. И вместе с ней пара дополнительных функций C# 8.0 готова к тому, чтобы вы их опробовали. В основном речь идет о сопоставлении с образцом, хотя в конце я коснусь и некоторых других новостей и изменений. Эта статья на английск...

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

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

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

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

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

Анализ подходов к связыванию модулей в Node.js Многие разработчики Node.js для связывания модулей используют исключительно создание жёсткой зависимости с помощью require(), однако существуют и другие подходы, со своими плюсами и минусами. О них я в этой статье и расскажу. Будут рассмотрены четыре подхода: Жёсткие завис...

Как нейронная сеть SincNet выделяет значимые частоты в звуке через Back Propagation Недавно вышла одна очень интересная статья "Speaker Recognition from raw waveform with SincNet", в которой была описана end-to-end архитектура нейронной сети для распознавания говорящего по голосу. Ключевая особенность этой архитектуры — специальные одномерные сверточные сло...

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

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

Kubespray-as-a-Service — добавляем Kubernetes к любому облаку Вам нужен Kubernetes, а у вашего облачного провайдера такой услуги нет? Мы используем несколько провайдеров и ни у одного из них нет Kubernetes-as-a-Service. Wigin это очень простой в использовании веб-сервис с UI, который может быстро и просто развернуть кластер Kubernete...

Инженерный подход к разработке ПО. От теории к практике Как проверить идеи, архитектуру и алгоритмы без написания кода? Как сформулировать и проверить их свойства? Что такое model-checkers и model-finders? Что делать, когда возможностей тестов недостаточно? Привет. Меня зовут Васил Дядов, сейчас я работаю программистом в Яндекс.П...

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

«Ростелеком» приобретает одного из крупнейших провайдеров интернета и платного ТВ на территории Приморского края ПАО «Ростелеком», крупнейший в России провайдер цифровых услуг и решений, объявляет о том, что его дочерняя компания — ПАО «Башинформсвязь» — подписала соглашение о приобретении 100% долей в трех юридических лицах, что обеспечивает полный контроль над группой компаний «Альян...

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

Возможно ли без Redux? На сегодняшний день можно найти уйму позиций, где требуется react/redux. React прекрасен, вопросов нет. Вопрос к Redux — возможно ли без него. Если погуглить чуть-чуть, найдется добротная статья на хабре (https://habr.com/ru/post/350850/), где автор задается таким же вопросо...

[Перевод] Введение в сетевые политики Kubernetes для специалистов по безопасности Прим. перев.: Автор статьи — Reuven Harrison — имеет более 20 лет опыта в разработке программного обеспечения, а на сегодняшний день является техническим директором и соучредителем компании Tufin, создающей решения для управления политиками безопасности. Рассматривая сетев...

Осторожно — Docker контейнер Redis запускает криптомайнер Это будет очень короткая статья о человеческой жадности и предупреждение о надобности проверять любой опен- и не опен-сорс. Сегодня утром я случайно и с удивлением увидел на графиках моего хостинга 100% загруженность процессора. При том, что он не минимальной конфигурации, ...

С чего начать разработку архитектуры? Примечание: Если вы считаете, что на построении архитектуры съели хотя бы полпёсика, то эта статья не для вас. Модель — абстрактное представление реальности в какой-либо форме. Предполагаем, что архитектор уже закончил со сбором требований к будущей системе и их анализом. ...

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

Быт и нравы фантазёров В конце статьи есть краткое содержание. В работе с изменениями, чего бы конкретно они не касались – будь то стратегия развития компании, системы мотивации, орг.структура или правила оформления кода – всегда есть одно ключевое звено: идеи. Идеи отвечают на вопрос «а чего, со...

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

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

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

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

ok.tech: Data Толк 13 июня приглашаем всех, кто работает с данными, в московский офис Одноклассников, на ok.tech: Data Толк. Вместе с коллегами из OK.ru, Mail.ru Group, ivi.ru, Яндекса и других технологических компаний обсудим вопросы эволюцию хранилищ и баз данных, поговорим о достоинтвах и...

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

[Перевод] Аппаратные «характеристики» в .NET Core (теперь не только SIMD) Введение Несколько лет назад, мы решили, что настало время поддержать SIMD код в .NET. Мы представили пространство имен System.Numerics с типами Vector2, Vector3,Vector4 и Vector<T>. Эти типы представляют API общего назначения для создания, доступа и оперирования векто...

Многопоточные ассоциативные контейнеры в C++. Доклад Яндекса Из доклада старшего разработчика Сергея Мурылёва можно узнать о многопоточном ассоциативном контейнере для стандартной библиотеки, который разрабатывают в рамках WG21. Сергей рассказал о плюсах и минусах популярных решений этой задачи и о пути, выбранном разработчиками. — ...

[Из песочницы] Какой дистрибутив лучше использовать для вашей embedded системы? Какой дистрибутив лучше использовать для embedded систем. Этот вопрос является актуальным на сегодняшний день. Существует три актуальных подхода для решения этой задачи: Использовать готовый дистрибутив для вашего одно платного компьютера(Armbian, Openwrt и т.д.) Собрать...

Open Rack v3: что ждать от нового стандарта архитектуры серверных стоек Он найдет применение в гипермасштабируемых ЦОД. / фото Not4rthur CC BY-SA Зачем обновили спецификацию Инженеры из Open Compute Project (ОСР) представили первую версию стандарта еще в 2013 году. Он описывал модульную и открытую конструкцию стоек для ЦОД шириной в 21 дюйм. Т...

Устройства ввода-вывода ADAM-6200 Модули удаленного ввода-вывода предназначены для связи с периферийными устройствами различных типов. Это важнейший элемент построения промышленных систем. Они могут как принимать сигналы от других устройств, так и посылать управляющие сигналы на устройства, интегрируясь с ц...

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

[Перевод] Подготовка к Spring Professional Certification. Spring REST Сегодняшняя статья рассмотрит основные вопросы про REST в Spring. Она будет особенно полезна для начинающих программистов. Официальный гид от Pivotal, в котором написано про темы для подготовки. Оглавление Внедрение зависимостей, контейнер, IoC, бины AOP (аспектно-ориентир...

[Из песочницы] Вывод модели динамической системы дискретного фильтра Калмана для произвольной линейной системы Фильтр Калмана (ФК) является оптимальным линейным алгоритмом фильтрации параметров динамической линейной системы при наличии неполных и зашумленных наблюдений. Этот фильтр находит широкое применение в технических системах управления до оценок динамики изменения макроэкономич...

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

Что мы знаем о микросервисах Привет! Меня зовут Вадим Мадисон, я руковожу разработкой System Platform Авито. О том, как мы в компании переходим с монолитной архитектуры на микросервисную, было сказано не раз. Пора поделиться тем, как мы преобразовали свою инфраструктуру, чтобы извлечь из микросервисов м...

Linux Backup от Veeam на ОС «Эльбрус». Импортозамещение ['?' | '.' | '!'] Всем привет. Недавние статьи на Хабре Импортозамещение на практике. Часть 1. Варианты и Не долго музыка играла… или как ОС Эльбрус так и не стала свободной не оставили меня равнодушным. Я решил поизучать этот вопрос в ключе задачи резервного копирования. Тем более, что в э...

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

Как выбрать VPS О том, зачем нужен и какой бывает веб-хостинг читайте в нашем посте «Хостинг: варианты, сравнения, пользовательская статистика». Здесь же мы сразу перейдём к теме статьи, название которой содержательней любого вступления.  Конечно, в статье мы будем приводить примеры из с...

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

Новые процессоры для дата-центров — разбираем анонсы последних месяцев Говорим о многоядерных CPU мировых производителей / фото PxHere PD 48 ядер В конце 2018 года Intel анонсировали архитектуру Cascade-AP. Эти процессоры будут поддерживать до 48 ядер, иметь мультичиповую компоновку и 12 каналов DDR4 DRAM. Такой подход обеспечит высокий урове...

[Из песочницы] Github actions и кросс-платформенное построение Привет, Хабр. Это статья о том как настроить построение на всех платформах с помощью github actions. Читать дальше →

[Из песочницы] Создание минимального Docker-контейнера для Go-приложений Привет, Хабр! Предлагаю вашему вниманию перевод статьи основателя сервиса Meetspaceapp Nick Gauthier «Building Minimal Docker Containers for Go Applications». Время чтения: 6 минут Существует множество, как официальных, так и поддерживаемых сообществом контейнеров для разл...

[Из песочницы] Применение Go в производственных системах. Валидаторы Добрый день, Хабр! Я довольно часто начинаю утро с просмотра хабра и наконец решил внести свой вклад в данный процесс изучения интересного. Если всё сложится, то это первая моя статься из цикла применения языка GO на производственных системах. Я хочу рассказать некоторые т...

Домен-фронтинг на базе TLS 1.3. Часть 2 Введение В первой части статьи мы дали краткое описание механизма encrypted SNI (eSNI). Показали каким образом на его основе можно уклоняться от детектирования современными DPI-системами (на примере билайновского DPI и запрещенного РКН рутрекера), а также исследовали новый в...

Параметризация нейросетью физической модели для решения задачи топологической оптимизации Недавно на arXiv.org была загружена статья с не очень интригующим названием "Neural reparameterization improves structural optimization" [arXiv:1909.04240]. Однако оказалось, что авторы, по сути, придумали и описали весьма нетривиальный метод использования нейросети для полу...

[Перевод] Как использовать systemd-nspawn для восстановления Linux-системы Перевод статьи подготовлен специально для студентов курса «Администратор Linux». Разбираемся со способностью systemd запускать контейнеры для восстановления корневой файловой системы поврежденной системы. До тех пор пока будут существовать системы GNU/Linux, системным ...

Архитектура Digital Workspace на платформе Citrix Cloud Введение Статья описывает возможности и архитектурные особенности облачной платформы Citrix Cloud и набора сервисов Citrix Workspace. Данные решения являются центральным элементом и основой для реализации концепции цифровых рабочих мест (digital workspaсe) от компании Citr...

ок.tech Data Толк #3: Рекомендательные системы 6 ноября в московском офисе компании Одноклассники состоится ок.tech Data Толк #3, в этот раз мы решили посвятить мероприятие рекомендательным системам. Вместе с коллегами из OK.ru, Joom и СколТеха поговорим про прошедший RecSys19, а также о теории, практике и трендах реко...

RTOS или не RTOS вот в чем вопрос На написание данной статьи меня побудила длинная ветка комментариев (дискуссией это я назвать, к сожалению, не могу) к моей недавней статье “Многообразный мир embedded systems и место Embox в нем”. Меня в нескольких местах упрекнули в том, что я путаю RTOS и Embedded OS, чт...

[Перевод] Новое в Hadoop: познакомимся с различными форматами файлов в Hadoop Всем привет! Публикуем перевод статьи, подготовленный для студентов новой группы курса «Data Engineer». Если интересно узнать, как построить эффективную и масштабируемую систему обработки данных с минимальными затратами, посмотрите запись мастер-класса Егора Матешука! Неско...

Стратегическое партнерство: почему ServiceNow объединяются с крупным облачным провайдером Microsoft заключили партнерское соглашение с компанией ServiceNow, внедрением решений которой занимаемся мы в «ИТ Гильдии». Поговорим о возможных целях сделки. Читать дальше →

2. Check Point Getting Started R80.20. Архитектура решения Добро пожаловать на второй урок! На этот раз мы поговорим об архитектурных особенностях решений Check Point. Это очень важный урок, особенно для тех, кто впервые знакомится с «чекпоинтом». В целом, данный урок будет очень похож на одну из наших предыдущих статей "Check Poi...

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

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

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

ок.tech Data Толк #3: мини-интервью спикеров Проект ок.tech Data Толк родился как дискуссионная площадка для специалистов, занимающихся обработкой и аналитикой больших данных. Каждый раз мы подчеркиваем, что основная задача наших митапов – это не доклады, хотя они тоже очень важны, а открытая дискуссия аудитории со с...

Построение и эксплуатация отказоустойчивой anycast-сети Привет, Хабр! Ниже следует транскрипция доклада Евгения error2407 Богомазова (сетевой R&D инженер) и Дмитрия h8r Шемонаева (глава NOC) с прошедшего UPTIMEDAY. Видео в конце поста. Сегодня мы бы хотели рассказать о том, какие проблемы возникают при построении сети anyca...

Управление Docker контейнерами в Go Документация! Когда вы решите написать, свой велосипед по ловле хуков из docker hub или из registry для автоматического обновления/запуска контейнеров на сервере, вам может пригодиться Docker Cli, который поможет управлять демоном Docker в вашей системе. Читать дальше →

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

VPN в каждый дом или как приручить Дракона Ниже я расскажу о том, как заменить ваш VPN провайдер собственным сервером, развернутым на DigitalOcean с использованием WireGuard. В чем главная проблема VPN провайдеров? Вы не знаете что они делают с вашими данными. Очень мало VPN провайдеров прошли сторонний аудит и почти...

Быстрорастворимое проектирование Люди учатся архитектуре по старым книжкам, которые писались для Java. Книжки хорошие, но дают решение задач того времени инструментами того времени. Время поменялось, C# уже больше похож на лайтовую Scala, чем Java, а новых хороших книжек мало. В этой статье мы рассмотрим к...

Xcode 11 и XCFrameworks: новый формат упаковки фреймворков В жизни многих компаний, которые имеют и развивают свой стек библиотек и компонентов, наступает момент, когда объёмы этого стека становится сложно поддерживать. В случае разработки под платформу iOS, да и в целом, экосистему Apple, есть два варианта подключать библиотеки в ...

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

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

Как автоматизировать управление ИТ-инфраструктурой — обсуждаем три тренда Сегодня мы решили поговорить об инструментах, которые используют ИТ-компании и IaaS-провайдеры для автоматизации работы с сетями и инженерными системами. Читать дальше →

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

«ТехноТекст», кульминация: приближается финал конкурса авторов Приближается конец осени и года. Заканчивается и второй конкурс техноавторов. 28 сентября на Хабрасеминаре мы наградим победителей «ТехноТекста» — 2019. От авторов больше ничего не зависит — заявки больше не принимаются, над статьями работает жюри. И вот с ними и со спонсора...

Оптимизация производительности .NET (C#) приложений Статей с подобным заголовком достаточно много, поэтому постараюсь избежать банальных тем. Надеюсь, что даже очень опытные разработчики найдут здесь что-то новое для себя. В данной статье будут рассмотрены только простые механизмы и подходы к оптимизации, которые позволят п...

Как научить машину понимать инвойсы и извлекать из них данные Привет, хабр! Меня зовут Станислав Семенов, я работаю над технологиями извлечения данных из документов в R&D ABBYY. В этой статье я расскажу об основных подходах к обработке полуструктурированных документов (инвойсы, кассовые чеки и т.д.), которые мы использовали совсем ...

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

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

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

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

В чем сила и слабость рынка хостинга Пользователи меняются, а провайдеры хостинга и облачных услуг — нет. Так звучит главная мысль доклада индийского предпринимателя и миллиардера Бхавина Туракхия (Bhavin Turakhia), с которым он выступил на международной выставке облачных услуг и хостинга CloudFest. Мы тоже ...

IoT архитектура Почти год назад я начал публиковать серию статей по архитектуре IoT решений. (Ссылка на первую статью habr.com/ru/post/420173). И вот наконец вторая статья серии отдается на ваш суд. Читать дальше →

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

[Перевод] DeepMind и Google: битва за контроль над сильным ИИ Демис Хассабис основал компанию по созданию самого мощного в мире ИИ. Затем её купила Google В августе 2010 года в конференц-зале в пригороде Сан-Франциско на сцену вышел 34-летний лондонец по имени Демис Хассабис. Он вышел неторопливой походкой человека, который пытается ...

[Из песочницы] Коротко о главном: Clean Architecture, Robert C. Martin Это будет рассказ о впечатлении о книге, а также будут рассмотрены некоторые понятия и знания, которые, благодаря этой книге, были изучены Архитектура Можете ли вы, читая эту публикацию, дать четкий ответ на вопрос, что такое архитектура? Что такое архитектура в контексте п...

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

Псевдо Lens Flare Привет, Хабр! Представляю вашему вниманию перевод статьи «Pseudo Lens Flare» автора John Chapman. Lens flare (блики на линзах) ― это фотографический артефакт, возникающий при рассеивании и преломлении света в системе линз. Хотя он является артефактом, существует множество...

[Перевод] Монорепозитории: пожалуйста не надо От переводчика: Привет, Хабр! Да, это очередная статья о преимуществах и недостатках монорепозиториев. Собирался написать свою статью о том, как мы используем монорепозиторий, как мы переходили с maven на bazel и что из этого получилось. Но пока собирался с мыслями, вышла от...

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

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

[Перевод] Как логировать в NodeJS, чтобы пацаны во дворе уважали Что вас бесит сильнее всего, когда вы пытаетесь организовать читаемые логи в вашем NodeJS приложении? Лично меня чрезвычайно напрягает отсутствие каких-либо вменяемых зрелых стандартов по созданию trace ID. В этой статье мы поговорим о том, какие есть варианты создания trac...

[recovery mode] «Быть Insight-Driven»: продвинутая аналитика и управление жизненным циклом моделей машинного обучения Сегодня мы хотим поговорить о концепции Insight-Driven и о том, как ее реализовать на практике c помощью DataOps и ModelOps. Insight-Driven подход — это комплексная тема, про которую мы подробно рассказываем в нашей недавно созданной библиотеке полезных материалов про управл...

Вопрос из зала: внедрение CMDB на практике В редакцию портала поступил вопрос: Уважаемые коллеги, Внедрение CMDB — тема уже изъезженная, но практической информации крайне мало. Помогите, пожалуйста, не наступить на «те самые» грабли. Мы понимаем, где мы сейчас — осуществлена оценка текущего состояния. ИТ и заказчик...

От ежедневных аварий к стабильности: Informatica 10 глазами админа ETL-компонента хранилища данных часто оказывается в тени самого хранилища и ей уделяется меньше внимания, чем главной базе данных или фронт-компоненте, BI, формировании отчётов. При этом с точки зрения механики наполнения хранилища данными, ETL играет ключевую роль и требу...

Архитектурный шаблон “Macro Shared Transactions for Microservices” Автор: Денис Цыплаков, Solution Architect, DataArt Постановка задачи Одной из проблем при построении микросервисных архитектур и особенно при миграции монолитной архитектуры на микросервисы часто становятся транзакции. Каждый микросервис отвечает за собственную группу фун...

Что в черном ящике. Обзор методов тестирования биллинга Проверка платных сервисов — один из ключевых инженерных вопросов в тестировании Badoo. Наше приложение интегрировано с 70 платёжными провайдерами в 250 странах мира, и баг хотя бы в одном из них может привести к непредсказуемым последствиям.  В этой статье я расскажу о мето...

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

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

Принципы построения систем потоковой аналитики Проектирование систем потоковой аналитики и потоковой обработки данных имеет свои нюансы, свои проблемы и свой технологический стек. Об этом мы поговорили в очередном открытом уроке, прошедшим накануне запуска курса «Data Engineer». На вебинаре обсудили: когда нужна пот...

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

[Перевод] Как реализовать чистую архитектуру на Android? Что вы найдёте в этой статье? В 2016 году я начал изучать Java, а в начале 2017 года — Android. С самого начала я уже знал, что существует понятие архитектуры приложений, но не знал, как это применить в своём коде. Я находил много разных гайдов, но понятнее от этого мне не ...

Мы два года развивали свою систему мониторинга. Кликай, чтобы… Всем привет! Я уже рассказывал в этом блоге об организации модульной системы мониторинга для микросервичной архитектуры и о переходе с Graphite+Whisper на Graphite+ClickHouse для хранения метрик в условиях высоких нагрузок. После чего мой коллега Сергей Носков писал о самом ...

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

Установка Zimbra OSE 8.8.15 и Zextras Suite Pro на Ubuntu 18.04 LTS С последним патчем в Zimbra Collaboration Suite Open-Source Edition 8.8.15 LTS была добавлена полноценная поддержка «долгоиграющего» релиза операционной системы Ubuntu 18.04 LTS. Благодаря этому системные администраторы могут создавать серверные инфраструктуры с Zimbra OSE, ...

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

Эволюция создания веб-приложений на Java История развития построения веб-приложений на языке программирования Java с примерами их использования на временном промежутке от появления спецификации сервлетов до сегодняшнего дня. Читать дальше →

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

3. Дизайн сети предприятия на коммутаторах Extreme Добрый день, друзья! Сегодня я продолжу цикл, посвященный коммутаторам Extreme статьей по проектированию сети Enterprise. В статье я постараюсь по возможности кратко: описать модульный подход к проектированию сети Etnterprise рассмотреть виды построения одного из важне...

Фишки VS Угрозы технологии контейнеризации Использование контейнеров для разработки и развёртывания софта давно превратилось в стандартную практику. Возможность с лёгкостью обеспечить программе стандартное окружение, независимое от хоста, на котором она выполняется, быстро изменить настройки, добавить или изменить ка...

Безопасность Helm Эмоджи классные, с их помощью можно даже отразить всю суть рассказа о самом популярном пакетном менеджере для Kubernetes: коробка — это Helm (это самое подходящее, что есть в последнем релизе Emoji); замок — безопасность; человечек — решение проблемы. Конечно, построить...

[recovery mode] KISS Architecture. От микросервиса до монолита Андрей Копылов, наш технический директор, рассказывает, какой подход к проектированию архитектуры приложений использует команда веб-разработчиков AREALIDEA, и, чем KISS Architecture, его собственная разработка, так хороша. Читать дальше →

Как защитить 5G в «умном» городе: применяем новую архитектуру безопасности В прошлом нашем посте речь шла об исследовании международного коллектива учёных A Security Architecture for 5G Networks, которые искали способ защитить сети пятого поколения. Исследователи предлагают для этого новую архитектуру безопасности. Чтобы лучше понимать термины и ...

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

[Перевод] Топ-65 вопросов по SQL с собеседований, к которым вы должны подготовиться в 2019 году. Часть I Перевод статьи подготовлен для студентов курса «MS SQL Server разработчик» Реляционные базы данных являются одними из наиболее часто используемых баз данных по сей день, и поэтому навыки работы с SQL для большинства должностей являются обязательными. В этой статье с вопрос...

Электронные книги и их форматы: говорим про EPUB — его историю, плюсы и минусы Ранее в блоге мы писали о том, как появились форматы электронных книг DjVu и FB2. Тема сегодняшней статьи — EPUB. Изображение: Nathan Oakley / CC BY История формата В 90-е на рынке электронных книг господствовали проприетарные решения. И у многих производителей читалок б...

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

Полноценная мультиарендность в Zimbra OSE с помощью Zextras Admin Мультиарендность на сегодняшний день является одной из самых эффективных моделей предоставления ИТ-услуг. Единый экземпляр приложения, запущенный на одной серверной инфраструктуре, но который при этом доступен множеству пользователей и предприятий, позволяет максимально сниз...

Netramesh – легковесное service mesh решение В процессе перехода от монолитного приложения к микросервисной архитектуре мы сталкиваемся с новыми проблемами. В монолитном приложении обычно достаточно просто определить, в какой части системы произошла ошибка. Скорее всего, проблема в коде самого монолита, либо в базе дан...

Артём Галонский, СТО БюроБюро: «Я против такого понятия, как DevOps-инженер» Вы применяете DevOps-подход у себя дома? Вот муж-код деплоится на работу. Жена-инфраструктура готовит яичницу, варит кофе, гладит рубашки. Кот-мониторинг вовремя ускользает из-под ног, сам чистит свой лоток и громким мявом обозначает, когда жена отклоняется от установленного...

Hyperledger Fabric для Чайников A Blockchain Platform for the Enterprise Добрый день, дорогие читатели, меня зовут Николай Нефедов, я технический специалист компании IBM, в этой статье я хотел бы познакомить вас с блокчейн платформой – Hyperledger Fabric. Платформа предназначена для построения бизнес прил...

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

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

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

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

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

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

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

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

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

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

«Роутер на прокачку»: тюнинг оборудования TP-Link для интернет-провайдеров  Согласно последним статистическим данным, более 33 млн россиян пользуются широкополосным интернетом. Хотя прирост абонентской базы замедляется, доходы провайдеров продолжают расти — в том числе за счет улучшения качества имеющихся услуг и появления новых. Бесшовный Wi-Fi, IP...

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

Как нейронные сети графике помогали В 1943 году американские нейропсихологи Мак-Каллок и Питтс разработали компьютерную модель нейронной сети, а в 1958 первая работающая однослойная сеть распознавала некоторые буквы. Сейчас же нейросети для чего только не используются: для прогнозирования курса валют, диагност...

VMmanager 6: представляем коробку и сравниваем с предыдущим поколением 8 октября вышла коробочная версия VMmanager 6 — новой панели управления виртуализацией. Теперь её можно установить на сервер и использовать для продажи виртуальных машин или управления собственной инфраструктурой. В этой статье сравним новое поколение с предыдущим — VMmana...

Про ИТ-бизнес и не только Всем доброго нового года! Навеяно статьей Бизнес, я люблю тебя коллеги Verovir, а также ее же статьей Уходя — уходи? Ночной разговор об увольнениях (хотя последняя заслуживает отдельного развернутого ответа). Коллега, вы в статье хорошо выделили ключевые проблемные точки, с ...

[recovery mode] В чем набрать и чем собрать C++ проект Задавшись этим вопросом я, в первую очередь, сформулировал требования: жесткие и опциональные (но желательные) для системы сборки и графической среды разработки. Сразу хочу отметить что речь идет о написании C++ кода не под какую-то специфичную платформу типа Android или фре...

Безопасность в облаках. Изучаем безопасность облачных сервисов на примере инфраструктуры Яндекса Существует несколько методов построения корпоративной IT-инфраструктуры. Развертывание всех ресурсов и сервисов на базе облачной платформы — лишь один из них. Однако преградой на этом пути часто становятся предрассудки, касающиеся безопасности облачных решений. В этой статье...

Гэри Илш призвал SEO-специалистов «вернуться к основам» Отвечая на вопросы в рамках AMA-сессии в Reddit, сотрудник Google Гэри Илш посоветовал SEO-специалистам обратить внимание на базовые вопросы поисковой оптимизации. В частности, заняться тем, чтобы сделать сайты более доступными для сканирования. Вопрос к Илшу касался его мыс...

Глава Xbox: у будущей консоли Project Scarlett будет дисковод Во время презентации на открытии конференции E3 2019 компания Microsoft сделала предварительный анонс своей будущей игровой консоли с кодовым именем Project Scarlett. Платформа получит специальную высокопроизводительную однокристальную систему, призванную обеспечить новые иг...

[Из песочницы] Разработка визуальных тестов на базе Gemini и Storybook Привет, Хабр! В этой статье я хочу поделиться опытом разработки визуальных тестов в нашей команде. Так получилось, что о тестировании верстки мы задумались не сразу. Ну съедет какая-нибудь рамка на пару пикселей, ну поправим. В конце концов, есть же тестировщики — мимо них ...

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

Digital-мероприятия в Москве c 11 по 16 июня Подборка мероприятий на неделю Встреча с пользователями TheQuestion и Знатоков 11 июня (вторник) Толстого 16 бесплатно Приглашаем пользователей TheQuestion и Яндекс.Знатоков на встречу, посвящённую интеграции сервисов. Мы расскажем, как построена наша работа, и поделимся п...

Архитектура и возможности Tarantool Data Grid В 2017 году мы выиграли конкурс на разработку транзакционного ядра инвестиционного бизнеса Альфа-Банка и приступили к работе (на HighLoad++ 2018 с докладом о ядре инвестиционного бизнеса выступал Владимир Дрынкин, руководитель направления транзакционного ядра инвестиционно...

Что такое «цифровая трансформация» и «цифровые активы»? Сегодня я хочу поговорить о том, что такое «цифра». Цифровая трансформация, цифровые активы, цифровой продукт… Эти слова звучат сегодня отовсюду. В России нацпрограммы запускают и даже министерство переименовывают, но читая статьи и доклады натыкаешься сплошь на округлые фра...

Не нужен вам вуз, идите в ПТУ? Эта статья — ответ на публикацию "Что же не так с IT-образованием в России", а точнее, даже не на саму статью, а на часть комментариев к ней и идеи, в них прозвучавшие. Я сейчас выскажу, наверное, очень непопулярную здесь на Хабре точку зрения, но не высказать я ее не мог...

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

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

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

Разработано руководство для защиты интернета вещей Документ Security Maturity Model (SMM) Practitioner’s Guide позволит владельцам, вендорам, интеграторам систем интернета вещей определить цели безопасности для этих систем, понять текущее положение дел и обозначить шаги, которые они должны сделать для достижения намеч...

Предсказания от математиков. Разбираем основные методы обнаружения аномалий За рубежом все большую популярность набирает использование искусственного интеллекта в промышленности для предиктивного обслуживания (predictive maintenance) различных систем. Цель этой методики — определение неполадок в работе системы на этапе эксплуатации до выхода её из с...

Топливный мониторинг для дизель-генераторов ЦОДа – как его делать и почему это так важно? Качество системы электроснабжения – важнейший показатель уровня сервиса современного дата-центра. Это понятно: абсолютно все оборудование, необходимое для работы ЦОДа, питается электричеством. Не будет его – серверы, сеть, инженерные системы и СХД прекратят функционировать...

With love from Stepik: образовательная платформа Hyperskill Я хочу поговорить с вами о том, почему мы чаще чиним сантехнику, чем пишем про неё диссертации, о разных подходах к обучению программированию и о том, как мы пробуем применить один из них в нашем новом продукте Hyperskill. Если вам не по душе длинные вступления, то переходи...

Вебинары Hewlett Packard Enterprise в ноябре-январе В новой серии технических выбинаров эксперты Hewlett Packard Enterprise расскажут вам о способах повышения надёжности хранения данных, новостях мира гиперконвергенции, автоматизации ИТ-инфраструктуры, Интернете вещей, новых подходах к построению распределённых сетей. Зар...

[Из песочницы] Развёрнутый ответ на комментарий, а также немного о жизни провайдеров в РФ Сподвиг меня на этот пост вот этот вот комментарий. Привожу его здесь: kaleman сегодня в 18:53 Меня сегодня порадовал провайдер. Вместе с обновление системы блокирования сайтов, у него под бан попал почтовик mail.ru С утра дергаю техподдержку, ничего сделать не могут. Пров...

Сосчитаем агентов «Ревизор» Не секрет, что за контролем блокировок по списку запрещённой информации в России следит автоматизированная система «Ревизор». Как это работает неплохо написано вот в этой статье на Habr, картинка оттуда же: Непосредственно у провайдера устанавливается модуль «Агент Ревизо...

Музей DataArt. Катушки с ОС 6.1 для ЕС ЭВМ Очередной экземпляр из нашей коллекции — магнитные ленты с операционной системой для серии советских компьютеров ЕС ЭВМ. Идею универсального подхода к разработке вычислительной техники в министертве радиопмышленноти СССР обсуждали еще в середине 1960-х годов. В 1968 году ...

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

Mobile People Talks #8: Декларативный UI – SwiftUI В этом году были представлены фреймворки с новым подходом к построению UI - SwiftUI для платформ Apple и Jetpack Compose для Android. Но ведь подход не нов, если посмотреть на него внимательно, то сразу видны уши таких кросс-платформенных фреймворков, как Flutter и React Nat...

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

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

[Перевод] Раскрывая 140-летний секрет в физике Перевод статьи авторов из IBM Research. Важный прорыв в физике позволит изучить физические характеристики полупроводников в гораздо больших подробностях. Возможно, это поможет ускорить развитие полупроводниковой технологии следующего поколения. Авторы: Oki Gunawan — Staff M...

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

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

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

[Перевод] Spring Boot 2: что нового? От переводчика: несмотря на то, что уже прошел год, вопросы о том что же нового дал нам 2-ой Boot не заканчиваются. Писать такой контент с нуля — затея не самая умная. Поэтому решили перевести статью, которая нам кажется наиболее локаничной и при этом достаточно полной. Рели...

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

[Из песочницы] uJVM: платформа для запуска Java-приложений на микроконтроллерах (MCU) Добрый день, уважаемые хабровчане. В этом цикле статей я попытаюсь рассказать Вам о Java Virtual Machine и запуске Java программ на микроконтроллерах. Тема достаточно спорная: Зачем Java на микроконтроллерах, где и так мало ресурсов? Лучше нативного кода написаного на чистом...

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

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

Запускаем systemd в контейнере Мы давно следим за темой использования systemd в контейнерах. Еще в 2014 году наш инженер по безопасности Дэниел Уолш (Daniel Walsh) написал статью Running systemd within a Docker Container, а еще через пару лет – другую, которая называлась Running systemd in a non-privilege...

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

Популярный open source — часть вторая: 5 инструментов для управления облаком В прошлый раз мы рассказывали о наиболее популярных и обсуждаемых инструментах и сервисах для работы с логами и базами данных. Тема сегодняшнего материала — управление контейнерами и балансировка нагрузки в облаке. Читать дальше →

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

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

Российский спорт цифровизируют Об этом рассказал статс-секретарь - заместитель министра цифрового развития, связи и массовых коммуникаций Российской Федерации Олег Пак во вступительном слове на панельной дискуссии "Цифровизация спортивной отрасли", прошедшей в рамках форума "Россия - спорт...

[Перевод] ValueTask<TResult> — почему, зачем и как? Предисловие к переводу В отличие от научных статей, статьи данного типа сложно переводить "близко к тексту", приходится проводить довольно сильную адаптацию. По этой причине приношу свои извинения, за некоторую вольность, с моей стороны, в обращении с текстом исходной статьи...

[Из песочницы] Ортодоксальный Backend Современный backend разнообразен, но всё-таки подчиняется некоторым негласным правилам. Многие из нас, кто разрабатывает серверные приложения, сталкивается с общепринятыми подходами, такими как Clean Architecture, SOLID, Persistence Ignorance, Dependency Injection и прочими....

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

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

Router и Data Passing архитектуры Clean Swift Привет, читатель! В предыдущей статье я рассказывал про VIP цикл архитектуры Clean Swift. Теперь мы затронем одну из самых важных тем — переход и передачу данных между сценами.  Читать дальше →

[Перевод] Новый Windows Terminal: ответы на некоторые ваши вопросы В комментариях к недавней статье вы задали много вопросов по поводу новой версии нашего Windows Terminal. Сегодня постараемся ответить на некоторые из них. Под катом приведены некоторые из наиболее часто задаваемых вопросов, которые мы слышали (и до сих пор слышим), а также...

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

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

MOSDROID #15 Phosphorus Приглашаем вас на пятнадцатый митап сообщества Android разработчиков MOSDROID, который пройдет 2 февраля в офисе компании Туту, в БЦ Ньютон Плаза по адресу Москва, 1-й Нагатинский проезд 10с1. В этот раз поговорим о трансформации архитектуры одного из крупнейших мобильных...

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

Win32-приложения будут работать в Windows Core OS Компания Microsoft много лет работает над следующим поколением операционной системы Windows, которая называется Windows Core OS. Это будет ядро, которое станет основой многочисленных оболочек для устройств следующего поколения, таких как Surface Hub, HoloLens 2, может даже S...

[Из песочницы] Как искусственный интеллект помогает управлять проектами Обзор современного применения искусственного интеллекта для управления проектами Может показаться удивительным, но вопросу применения искусственного интеллекта для управления проектами насчитывается уже более 30 лет. Еще в 1987 году вышла знаковая статья Уильяма Хосли «Ис...

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

КриптоАРМ на базе контейнера PKCS#12. Создание электронной подписи CadES-X Long Type 1. Часть 3 Прошло время и утилита, начатая как просмотрщик сертификатов, дополненная функциями работы с криптографическими токенами PKCS#11 и создания запросов (PKCS#10) на квалифицированный сертификат, пополнилась, как и было заявлено, функциями работы с контейнерами PKCS#12. Итак,...

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

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

7-нм гибридные процессоры AMD появятся до конца года Многие пользователи задавались вопросом о сроках выхода APU AMD на свежей архитектуре Zen 2. И, судя по последним данным, это произойдёт раньше, чем мы рассчитывали. Подробнее об этом читайте на THG.ru.

[Перевод] Глубокое погружение в Linux namespaces В этой серии постов мы внимательно рассмотрим один из главных ингредиентов в контейнере – namespaces. В процессе мы создадим более простой клон команды docker run – нашу собственную программу, которая будет принимать на входе команду (вместе с её аргументами, если таковые им...

Juniper Networks: успешно завершен первый этап проекта Telefónica Лидер в сфере создания защищенных сетей с элементами искусственного интеллекта компания Juniper Networks объявила об успешном завершении первого этапа проекта Telefónica по переводу услуг на новую инфраструктуру Telefónica UK Fusión Network, стратегическим провайде...

Medium Weekly Digest #6 (16 – 23 Aug 2019) Поверьте, сегодняшний мир гораздо более непредсказуем и опасен, чем тот, который описал Оруэлл. — Эдвард Сноуден На повестке дня:        Децентрализованный интернет-провайдер «Medium» отказывается от использования SSL в пользу нативного шифрования Yggdrasil        Внутри се...

DevConfX::Management – доклады управленцев простыми словами Привет, Хабровчане! Очень скоро пройдет юбилейная, десятая конференция DevConf. В рамках секции менеджмента эксперты поделятся своим опытом и своими знаниями в сфере управления. Представляем вашему вниманию некоторые из докладов секции: Страх и ненависть работы в высокотехн...

Бережная обработка ошибок в микросервисах В статье показано, как в Go реализовать обработку ошибок и логирование по принципу "Сделал и забыл". Способ расчитан на микросервисы на Go, работающие в Docker-контейнере и построенные с соблюдением принципов Clean Architecture. Читать дальше →

[Перевод] Подготовка к Spring Professional Certification. Вопросы по Spring MVC Приветствую всех. Это уже 5 статья из цикла статей для подготовки с Spring Professional Certification. На Хабре она выходит второй, после части 1. Оглавление Внедрение зависимостей, контейнер, IoC, бины AOP (аспектно-ориентированное программирование) JDBC, транзакции, JPA...

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

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

ok.tech: frontend meetup 4 июня в петербургском офисе Одноклассников пройдет ok.tech: frontend meetup. Вместе с коллегами из OK.ru, Яндекса и mail.ru поговорим про тестирование на основе свойств, эволюцию подходов работы с текстами, познакомимся с новой библиотекой от создателя Emmet Сергея Чикуён...

Обзор Xiaomi Mi Box S и небольшое сравнение с Mi Box 3 Привет, Хабр! Не так давно вышла новая ТВ-приставка от Xiaomi, которая получила название Mi Box S. Сегодняшняя статья – обзор этой приставки и сравнение с ее «предшественником». Заглядывайте под кат! Читать дальше →

[Из песочницы] Прямой VPN-туннель между двумя компьютерами находящимися за NATами провайдеров Статья о том, как мне удалось организовать прямой (точка-точка) VPN-туннель между двумя компьютерами, каждый из которых находился за NAT'ом провайдеров, при помощи VPS и простых скриптов, используя стандартные утилиты Linux, без каких-либо настроек сетевого оборудования. Чи...

Microsoft Azure Developer Camp Россия 23 мая | 9:30 – 19:00 Офис Microsoft, БП Крылатские Холмы, ул. Крылатская 17к1, Переговорные комнаты Уран, Юпитер, Сатурн Москва, Россия Распространение облачных технологий постепенно изменяет методы разработки приложений, и перед программистами возникают новые сложные зад...

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

Docker контейнер для управления HP серверами через ILO Вы наверное может задаться вопросом — а здесь то Docker зачем? В чем проблема зайти на веб интерфейс ILO и настроить свой сервер как надо? Так и я думал когда мне отдали пару старых ненужных серверов, которые мне надо было переустановить (то что называется reprovision). Сам...

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

Дополнительные программные средства безопасности для NAS Цикл статей назван "Построение защищённого NAS". Поэтому в данной статье будет рассматриваться повышение уровня защищённости. Также, будут описаны и те инструменты, которые я не использовал, но возможно применить. Читать дальше →

6 занимательных системных багов при эксплуатации Kubernetes [и их решение] За годы эксплуатации Kubernetes в production у нас накопилось немало занимательных историй, как баги в различных системных компонентах приводили к неприятным и/или непонятным последствиям, влияющим на работу контейнеров и pod'ов. В этой статье мы сделали подборку некоторых...

[Перевод] Как сделать контейнеры еще более изолированными: обзор контейнерных sandbox-технологий Несмотря на то, что большая часть ИТ-индустрии внедряет инфраструктурные решения на базе контейнеров и облачных решений, необходимо понимать и ограничения этих технологий. Традиционно Docker, Linux Containers (LXC) и Rocket (rkt) не являются по-настоящему изолированными, пос...

Управляем Windows Server из Windows Admin Center В данной статье мы продолжаем рассказывать про работу с Windows Server Core 2019. В прошлых постах мы рассказали как готовим клиентские виртуальные машины на примере нашего нового тарифа VDS Ultralight с Server Core за 99 рублей. Затем показали как работать с Windows Server ...

TDDx2, BDD, DDD, FDD, MDD и PDD, или все, что вы хотите узнать о Driven Development Просматривая статьи по проектированию ПО, я постоянно встречал тучу невиданных сокращений и вскользь упоминаемых практик разработки. TDD — ну, это все знают, сначала пишем тесты, а потом остальной код. BDD — что-то знакомое, вроде как, тоже тесты, но особенные. TDD — снов...

Делаем 3D конфигуратор для WooCommerce Этот урок является логическим продолжением двух предыдущих статей (часть 1, часть 2) про создание трёхмерных конфигураторов без использования программирования и вёрстки. В прошлой части мы рассматривали вопрос интеграции трёхмерной части с использованием штатной системы за...

Управление SSL/TLS сертификатами в облаках и контейнерах — не человеческая работа Из презентации Venafi: как установка сертификатов вручную тормозит процесс непрерывной интеграции и развёртывания приложений Облачные сервисы и контейнеры стали стандартом де-факто для развёртывания веб-приложений. Однако интеграция сертификатов SSL/TLS в окружение DevOps ...

[Перевод] Машинно-синестетический подход к обнаружению сетевых DDoS-атак. Часть 2 И снова здравствуйте. Сегодня мы продолжаем делиться материалом, приуроченным к запуску курса «Сетевой инженер», который стартует уже в начале марта. Мы видим, что многих заинтересовала первая часть статьи «Машинно-синестетический подход к обнаружению сетевых DDoS-атак» и се...

Customer Development как жизненная философия Это пятничная статья про применение современных бизнес-методик в повседневной жизни. Прошу воспринимать с юмором. Читать дальше →

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

[Перевод] Ищем утечки памяти в приложениях на Python Ola! мы продолжаем серию публикаций приуроченных к запуску курса «Web-разработчик на Python» и прямо сейчас делимся с вами переводом еще одной интересной статьи. В Zendesk мы используем Python для создания продуктов с машинным обучением. В приложениях с использованием машин...

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

[Перевод] Уязвимость runC, затрагивающая Kubernetes, Docker и containerd Сообщество Linux занято сейчас устранением недавно обнаруженной уязвимости, которая касается средства для запуска контейнеров runC, используемого Docker, CRI-O, containerd и Kubernetes. Уязвимость, получившая идентификационный номер CVE-2019-5736, даёт заражённому контейне...

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

Фантастические плагины, vol. 1. Теория Жизнь с многомодульным проектом не так уж проста. Чтобы избежать рутины создания нового модуля мы создали собственный плагин для Android Studio. В процессе реализации мы столкнулись с отсутствием практической документации, перепробовали несколько подходов и откопали множеств...

Как Мефодий стал Анной: опыт разработки и запуска классификаторов голосовых сообщений. Часть 2 Цель и задача Напомню, что в рамках первой статьи мы получили модель с удовлетворяющим нас качеством и пришли к выводу, что не стоит сразу строить нейронные сети, на некорректных данных большой пользы от этого не будет. Чтобы избежать потери времени и своих сил, достаточно п...

Окей, Google: как пройти капчу? Здравствуйте. Меня зовут Ибадов Илькин, я студент Уральского федерального университета. В данной статье я хочу рассказать о своем опыте автоматизированного решения капчи компании «Google» — «reCAPTCHA». Хотелось бы заранее предупредить читателя о том, что на момент написани...

RISC-V: RocketChip в неестественной среде обитания Недавно на Хабре публиковалась статья о том, как поэкспериментировать с архитектурой RISC-V без затрат на «железо». А что, если сделать подобное на отладочной плате? Помните мемы про генератор игр: штук 20 галочек в стиле «Графика не хуже Кризиса», «Можно грабить корованы» ...

Леонид Блинов: Провайдер должен быть незаметным Уральская ассоциация операторов связи (УралАОС) под руководством главы интернет-провайдера Convex Леонида Блинова - одно из самых активных профессиональных объединений на Урале, отстаивающая права региональных операторов связи. Мы поговорили с Леонидом Блиновым о том с каким...

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

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

SamsPcbGuide, часть 13: Использование IBIS-моделей В этой спонтанной статье решил поделиться опытом применения IBIS-моделей на примере простой задачи. Читать дальше →

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

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

Преимущества анализа приложений 7 уровня в межсетевых экранах. Часть 2. Безопасность Новое поколение межсетевых экранов удобнее и безопаснее, благодаря новой архитектуре движка и новой идеологии управления сетевыми потоками. Почему появилась эта статья? Неоднократно приходил к коллегам-безопасникам, которые пользуются межсетевым экраном нового поколения и ...

Очень много менеджеров Эта статья написана вместе с Екатериной Корнеевой (Wrike, Customer Success Manager). Екатерина является профессионалом с 4-летним опытом работы в продажах и клиентском сервисе. В современных компаниях, распространяющих свой продукт под подписке (SaaS), количество менеджеро...

Открытый вебинар «Основы MongoDB» Друзья, очередной запуск курса «Базы данных» состоится уже завтра, поэтому мы провели традиционный открытый урок, запись которого вы можете посмотреть здесь. В этот раз поговорили о популярной БД MongoDB: изучили некоторые тонкости, рассмотрели основы работы, возможности и а...

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

Об одном физическом факультете Второй семестр подходит к концу, и, значит, уже можно сделать какие-то объективные выводы об учебе на физическом факультете Вышки. В этой статье мне бы хотелось рассказать о моем факультете, в частности, о лабораторных работах Читать дальше →

AI supremacy: Leela Chess. Или про то, как полностью открытая нейросеть победила Честно говоря, я очень разочарован хабром. Почему никто не осветил такую вещь, как победа нейросетевого подхода с полностью открытым кодом, а? И полностью открытыми нейросетевыми данными? Действительно, ну вот DeepMind Technologies описали как они обучали шахматный ИИ, иг...

[Из песочницы] Краткий разбор статьи «DeViSE: A Deep Visual-Semantic Embedding Model» Рассматриваемая статья. Введение Современные распознавательные системы лимитированы классифицировать на относительно не большое количество семантически не связанных между собой классов. Привлечение текстовой информации, даже несвязанной с картинками, позволяет обогатить моде...

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

Семинар «Управление уязвимостями: стандарты, реальность, инструменты», 4 июля, Москва Всем привет! 4 июля мы проведем небольшой Vulnerability Management Day. Поговорим о том, какие стандарты и best practice существуют и как это все ложится (или нет ;)) на реальную жизнь. Мы пригласили экспертов по различным продуктам и соответственно со своим подходом к у...

Технологическая выставка GITEX 2019 — как это было На прошлой неделе, с 6 по 10 октября, в Дубае (ОАЭ) проходила крупнейшая в районе Персидского залива технологическая выставка GITEX 2019. Она посвящена самым интересным достижениям в сфере роботехники, интернета вещей, биометрических, мобильных и облачных технологий, видео...

[Перевод] Почему простой дизайн сайта лучше с научной точки зрения Исследование, проведенное Google, имело два ключевых вывода: • Пользователю нужно всего 1/50 до 1/20 секунды, чтобы оценить, красивый сайт или нет. • «Визуально сложные» сайты оцениваются как менее красивые, чем их простые аналоги. Другими словами, исследование показало ...

Робот тестирует SAP ERP Мы в Альфастраховании используем SAP ERP как процессную систему урегулирования убытков. И так уж получилось, что мы ее немножко дорабатываем, это неизбежно приводит к возникновению в коде ошибок. Если ошибки доходят до продуктивной системы — это плохо. Этого надо избегать, о...

Услуга легкий безусловный возврат. Почта России Доброго времени суток, Хабр! Не так давно Почта России запустила услугу «Легкий возврат», но о ней еще не все знают и даже в отделениях почты. И тут вопрос даже не «когда?», а «кто?» залажает потеряет мою посылку. Сразу напишу, что эпопея только началась и чем закончится ...

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

Skills, Rules and Knowledge для IT-шника и человека В прошлый раз мы затронули такие проблемы образования как схоластический подход к обучению, а также немного поговорили о порочной практике тренинга навыков в ущерб получению знаний. Теперь настало время обсудить эти две фундаментальные категории более подробно и понять, в ...

[Перевод] Руководство по разработке, основанной на компонентах Модульность является одним из ключевых принципов разработки программного обеспечения с 1960-х годов. Применение этого принципа приносит в программирование много полезного. Модульность способствует эффективному использованию принципа разделения ответственностей, что ведёт к у...

[Из песочницы] VPN на роутере Билайн для обхода блокировок Билайн активно вводит в своих домашних сетях технологию IPoE. Данный подход позволяет авторизовать клиента по MAC-адресу его оборудования без применения VPN. При переводе сети на IPoE VPN-клиент роутера становится незадействованным и продолжает настойчиво стучаться в отключе...

Григорий Петров: работа с сетью в Ruby 28 сентября на конференции RubyRussia DevRel компании Evrone Григорий Петров расскажет о том, как общаются микросервисы. В сегодняшнем интервью Иван Соловьев поговорил с Григорием о теме его предстоящего выступления и не только об этом. Расскажи о себе, чем ты занимаешь...

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

[Из песочницы] ShIoTiny: малая автоматизация, интернет вещей или «за полгода до отпуска» Основные тезисы или о чем эта статья Так как интересы людей разные, а времени у людей мало, то кратко о содержании статьи. Статья эта представляет собой обзор проекта контроллера с минимальной ценой и возможностью визуального программирования посредством WEB-браузера. Пос...

[Перевод] Зачем ЯОП? Зачем Racket? Это продолжение статьи «Зачем Racket? Зачем Lisp?», которую я написал примерно через год после того, как открыл для себя Racket. Будучи новичком, я не мог понять дифирамбов, которые со всех сторон сыпались в адрес Lisp. Я не знал, что и думать. Как понимать, что Lisp в конце...

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

Применение DBREPLICATION при свёртке баз данных на Microsoft SQL Server Для корпоративных учетных систем характерно постепенное увеличение объёма баз данных из-за накопления исторической информации. С течением времени размер БД может достигать таких размеров, что это провоцирует ряд проблем с производительностью, сервисным обслуживанием, доступн...

[Перевод] Node.js: управление памятью, доступной приложениям, выполняемым в контейнерах При запуске Node.js-приложений в контейнерах Docker традиционные настройки памяти не всегда работают так, как ожидается. Материал, перевод которого мы сегодня публикуем, посвящён поиску ответа на вопрос о том, почему это так. Здесь же будут приведены практические рекомендаци...

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

Unity вместе с Havok работают над новым физическим движком Сегодня на GDC Unity объявили о сотрудничестве с Havok от Microsoft над двумя физическими движками. Первый — Unity Physics, который будет дефолтным, полностью написанный на высокопроизводительном C# коде. Второй — Havok Physics полностью интегрированный в Unity. Читать дал...

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

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

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

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

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

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

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

Behaviors — конечный автомат без головной боли Стандартный подход к описанию последовательности вводов пользователя и реакции на них (например при управлении персонажем в игре) — это конечный автомат (state machine). Он, однако, часто приводит к громоздким программам, понимание которых требует немалых усилий или даже зар...

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

[Перевод] 10 советов и приемов, которые помогут вам стать лучшим разработчиком на VueJS Перед вами вольный перевод статьи 10 Tips & Tricks to make you a better VueJS Developer с сайта Dev.to. Автор расскажет нам об интересных и полезных вариантах применения привычных нам средств VueJS. Введение Мне действительно нравится работать с VueJS и каждый раз, когда...

Разработчик, помни — трафик твоего приложения смотрят На данный момент существует так много типов уязвимостей, что разработчики совсем забывают об элементарных из них. На днях мне удалось обойти авторизацию в новом приложении WOG (ТОВ «ВОГ РІТЕЙЛ» — вторая по величине сеть АЗС в Украине). В 2017 году, точно такую же уязвимость...

Proof of Concept: целесообразность внутреннего ML проекта Недавно в уютном чатике дата сатанистов подняли вопрос, как правильно "продавать" внутренние проекты по машинному обучению. Оказалось, что многие из нас весьма брезгливо относятся к экономическому обоснованию своей деятельности. Меж тем, чтобы провести минимальную оценку рен...

Projects на CodeFest: как менеджеру выжить в непрерывно меняющемся мире? Роман 4,5 часа отвечает на вопросы участников CodeFest Какая тема самая животрепещущая в управлении IT-проектами в 2019 году? Вопрос с подвохом. В зависимости от размера компании, профиля, истории, для каждого ответ будет свой. Тем не менее, всегда есть несколько тем, кот...

[Из песочницы] Аппаратный bit banding CortexM3/M4(ARM), архитектура ядра, ассемблер, С/C++14 и капля мета программирования Введение Внимание, это не очередная «Hello world»статья о том как помигать светодиодом или попасть в свое первое прерывание на STM32. Однако, я постарался дать исчерпывающие объяснения по всем затрагиваемым вопросам, поэтому статья будет полезна не только многим профессионал...

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

iOS для творчества: рисование Привет! В прошлой статье я делал обзор возможностей iOS для написания музыки, а тема сегодняшней — рисование.  Я расскажу вам про Apple Pencil и другие приложения для работы с растровой и векторной графикой, пиксель-артом и другими видами рисования. Читать дальше →

[Перевод] Angular без zone.js: максимум производительности Angular-разработчики в большом долгу перед библиотекой zone.js. Она, например, помогает достичь в работе с Angular почти волшебной лёгкости. На самом деле, практически всегда, когда нужно просто поменять какое-нибудь свойство, и мы меняем его, ни о чём не задумываясь, Angula...

[Из песочницы] Безопасность в AEM – это вопрос платформы или способа внедрения? Автор: Андрей Пинчук | Certified Senior AEM Developer Представьте ситуацию: вы спокойно спите и видите свой третий сон, как вдруг раздается телефонный звонок — недовольный клиент жалуется, что вся система недоступна. Согласитесь, подобные события — дискомфорт для жизни AEM...

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

Операция TA505: сетевая инфраструктура группировки. Часть 3 Анализ сетевой инфраструктуры играет большую роль в исследовании вредоносных кампаний. Сведения о том, какие IP-адреса соответствовали доменному имени в различные промежутки времени, позволяют определить новые серверы злоумышленников. Решение противоположной задачи (ретрос...

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

[Из песочницы] Dagger 2 – это элементарно (Часть 1) Содержание Введение Что такое Dependency Injection, Пример зависимости Dagger 2 – введение Первое использование Dagger 2 Введение Статья написана не продвинутым программистом для таких же, обычными и понятными словами В статье используется пример кода на Kotlin. Версия da...

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

Построение металлической площадки на свайном фундаменте в СПДС Металлоконструкции Приглашаем вас принять участие в бесплатном вебинаре «Построение металлической площадки на свайном фундаменте в СПДС Металлоконструкции». ЗАРЕГИСТРИРОВАТЬСЯ 25 мая состоится вебинар «Построение металлической площадки на свайном фундаменте в СПДС Металлоконструкции». Прог...

Язык программирования Zig Первым комментарием к замечательной статье Субъективное видение идеального языка программирования оказалась ссылка на язык программирования Zig. Естественно, стало интересно, что же это такое за язык, который претендует на шину C++, D и Rust. Посмотрел — язык показался симп...

#ITX5 соберет тусовку JAVA-разработчиков X5 Retail Group – это не только 14 тысяч «Пятёрочек», тысяча «Перекрёстков» и «Каруселей», но еще и 1 300 айтишников, включая разработчиков на JAVA. В Х5 создано множество решений с помощью JAVA, мы готовы делиться своими кейсами и слушать партнеров. 9 июля соберёмся в офис...

Neural Quantum States — представление волновой функции нейронной сетью В этой статье мы рассмотрим необычное применение нейронных сетей в целом и ограниченных машин Больцмана в частности для решения двух сложных задач квантовой механики — поиска энергии основного состояния и аппроксимации волновой функции системы многих тел. Читать дальше →

Бро vs. не бро В этой статье предлагаю совершить экскурс в социобиологию и поговорить о эволюционных истоках альтруизма, родственном отборе и агрессии. Мы коротко (но со ссылками) рассмотрим результаты социологических исследований и исследований с нейровизуализацией, в которых показано, ка...

Интернет-провайдеры просят Минкомсвязь пускать их в дома без договора Источник фото: Евгений Асташенков/Интерпресс/ТАСС Сразу несколько крупнейших интернет-провайдеров федерального значения обратились к главе Минкомсвязи Константину Носкову с просьбой поддержать проект о либерализации доступа в многоквартирные дома, одобрив некоторые поправк...

[Перевод] Руководство по развертыванию моделей машинного обучения в рабочей среде в качестве API с помощью Flask Друзья, в конце марта мы запускаем новый поток по курсу «Data Scientist». И прямо сейчас начинаем делиться с вами полезным материалом по курсу. Введение Вспоминая ранний опыт своего увлечения машинным обучением (ML) могу сказать, что много усилий уходило на построение дейс...

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

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

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

Провайдеров связи собираются обязать заключать договоры на подключение жилых домов В понедельник замминистра строительства и ЖКХ Андрей Чибис заявил о том, что операторов связи вскоре обяжут заключить договор с управляющими компаниями для начала оказания услуг жильцам, о чем сообщают «Ведомости». Официальный договор обяжет управляющую компанию обеспечить п...

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

DCIM – ключ к управлению ЦОД Согласно прогнозам аналитиков компании iKS-Consulting, к 2021 году рост числа серверных стоек у крупнейших провайдеров услуг ЦОД в России достигнет 49 тысяч. А их количество в мире, по данным Gartner, уже давно превысило 2,5 миллиона. Для современных предприятий ЦОД – ценней...

Закрыт CDN-провайдер Moonwalk, которым пользовались 80% пиратских стриминговых сайтов в России Антипиратские группы BREIN, MPA и ACE добились закрытия CDN-провайдера Moonwalk. По информации Group-IB, Moonwalk был одним из крупнейших пиратских CDN, который предоставлял услуги 80% пиратских стриминговых сайтов в России.

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

CodeSide. Новая игра для знаменитого соревнования Russian AI Cup Сообщество участников чемпионатов и команда Mail.ru Group в сотрудничестве с Codeforces.com приглашают вас на самую настоящую бойню, от которой вы получите бессонные ночи и мозоли на руках, поскольку будете участвовать в одном из самых живых и интересных чемпионатов по про...

ESET обнаружила новые версии трояна DanaBot Быстро развивающийся модульный троян DanaBot подвергся новым изменениям. В версии, выпущенной в конце января 2019 года, реализован совершенно новый коммуникационный протокол, добавляющий несколько уровней шифрования в коммуникацию трояна и его C&C-сервера. Помимо этого, ...

Apple переманила специалиста по 5G-модемам из Intel Согласно новой просочившейся в Сеть информации, еще в феврале 2019 года компания Apple завербовала Умашанкара Тьягараяна (Umashankar Thyagarajan), сотрудника Intel, который возглавлял разработки, связанные с модемом 5G. Аккаунт Тьягараяна в LinkedIn также подтверждает, ...

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

[Из песочницы] Альтернативный подход к подписке на события, или а так ли нужен EventObject Резюме Целью этой статьи является попытка посмотреть, с иной точки зрения, на описание систем распространения событий.   На момент написания этой статьи большинство ведущих фреймворков на php реализуют систему событий, в основе которой лежит описание объекта события EventObj...

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

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

Big data, deus ex machina Источник «Данные — это новая нефть». Эту фразу на выступлении для PopTech произнёс несколько лет назад Джер Торп (Jer Thorp), художник и эксперт в вопросах анализа и визуализации данных, один из основателей «Бюро креативных исследований». Сегодня мы хотим поговорить не прос...

Особенности тестирования веб-приложения для видеосервиса Услуги потокового вещания по запросу (VOD) стали неотъемлемой частью нашей повседневной жизни. Video on Demand — это система доставки видеоконтента, которая позволяет зрителям выбирать контент (видео) и просматривать его в удобное время (по запросу) на любом устройстве, пр...

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

[Перевод] Подготовка к Spring Professional Certification. Spring Security Эта статья является переводом статьи по подготовке к Spring Professional Certification. В ней будет рассмотрена тема Spring Security и основные вопросы по ней. Ее также можно использовать для подготовки к собеседованию. ↓ Остальные статьи доступны по ссылкам в оглавлении ↓ ...

Новый сотрудник — dead or alive Всем привет! Продолжаю рассказывать об опыте управления в IT. Сегодня поговорим о вводе нового сотрудника в команду. Вы взяли инженера в штат. Когда он станет полноценной боевой единицей? Что делать, чтобы ускорить его адаптацию? Как оптимизировать этот процесс? В конце конц...

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

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

Децентрализованный интернет-провайдер «Medium» отказывается от использования SSL в пользу нативного шифрования Yggdrasil Mesh-сети — это всегда хорошо. А если они работают — ещё лучше! Доброго дня, Сообщество! В этой статье я расскажу, почему децентрализованный интернет-провайдер «Medium» отказывается от использования SSL и удостоверяющих центров в пользу нативного шифрования Yggdrasil — чем...

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

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

Apache NiFi. 28 ноября в лектории Deworkacy Привет! Через две недели пройдет наш митап, посвященный Apache NiFi, полезному OpenSource-инструменту по доставке данных. Поговорим о живых кейсах и обсудим различные технические подходы его использования. Спикеров будет 4, один человек от нас и коллеги по цеху от Центра р...

Перевод и интерпретация рекламы с английского языка на русский Реклама — двигатель торговли. И ее значение за последние 10 лет выросло просто астрономически. По сути никакой товар или услуга не может рассчитывать на нормальные продажи, если его активно не рекламируют. По данным агентства Dentsu Aegis Network, в 2019 году глобальный рын...

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

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

Возможности контейнерных ЦОД: готовый коммутационный узел в Мьянме за 50 дней Построение телекоммуникационной инфраструктуры – сложная задача, когда для этого нет ни условий, ни опыта, ни специалистов. Однако в этом случае можно использовать готовые решения, такие как контейнерные ЦОД. В этом посте мы рассказываем, как создавался ЦОД компании Campan...

Тюнинг Firebird и Linux для БД размером 691 Гб с 1000+ пользователей Firebird является очень популярной открытой СУБД в России, и, несмотря на отсутствие шумных маркетинговых акций, используется в большом количестве ответственных систем, особенно в медицинских и государственных системах автоматизации. Размер БД и количество активных пользова...

ITGLOBAL.COM получила статус официального реселлера Alibaba Cloud Alibaba Cloud, подразделение облачных вычислений Alibaba Group, предоставляет облачные услуги как для собственной системы электронной коммерции, так и для сторонних заказчиков. Компания обладает статусом крупнейшего облачного провайдера в Китае, имеет 56 точек присутствия в ...

Debian + Postfix + Dovecot + Multidomain + SSL + IPv6 + OpenVPN + Multi-interfaces + SpamAssassin-learn + Bind Данная статья о том как настроить современный почтовый сервер. Postfix + Dovecot. SPF + DKIM + rDNS. С IPv6. С шифрованием TSL. С поддержкой нескольких доменов — часть с настоящим SSL сертификатом. С антиспам-защитой и высоким антиспам-рейтингом у других почтовых серверов. С...

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

Buildbot в примерах Потребовалось мне настроить процесс сборки и доставки на сайт пакетов программ из Git-репозитария. И увидев, ни так давно, тут на Хабре статью по buildbot (ссылка в конце) решил для этого попробовать его и применить. Так как buildbot — это распределённая система, то будет ло...

Инструменты информирования или как мы рассказываем о своих сервисах и процессах Хабр, привет! Все, кто работал хотя бы в одной крупной территориально распределенной компании с сетью филиалов по всей стране, сталкивался с проблемой: «Как проинформировать заинтересованные лица об услугах и сервисах, которые вы предоставляете в рамках своего подразделения...

Численное моделирование – история одного проекта Привет, Хабр и его уважаемые читатели! В статье (ссылка) мы рассказали о нашем опыте внедрения инструментов численного моделирования в исследовательскую практику металлургической компании. Рады, что тема нашла поддержку и вызвала интерес у читателей ресурса. Сегодня мы рас...

Компьютерное зрение всем, даром 20 лет назад, в 1999 году, компания Kyocera выпустила первый мобильный телефон с цифровой камерой – Visual Phone VP-210. С тех пор, благодаря невероятно большому и растущему рынку мобильных устройств связи, ПЗС-матрицы цифровых камер совершили невероятный скачок по всем па...

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

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

Почему на современной бирже важна скорость, и как обогнать конкурентов: 3 практических способа Изображение: Unsplash Участники биржевых торгов во все времена стремились обогнать конкурентов, чтобы заключить самую выгодную сделку быстрее всех. Сегодня мы поговорим о том, какие методы сегодняшние трейдеры используют для того, чтобы добиться максимальной скорости рабо...

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

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

[Перевод] Основы Agile-трансформации Всем хабрапривет! Хочу поделиться переводом краткой, но достаточно толковой шпаргалки по Agile-трансформации. Оригинал статьи тут. Чтобы достичь успеха в сегодняшней рыночной ситуации, компании должны быстро поставлять клиентам качественный инкремент продукта (product i...

Горячие клавиши для выключения и перезагрузки Mac На нашем сайте уже появлялись статьи, посвященные «горячим» клавишам в операционной системе macOS. Мы рассказывали Вам об их применении в работе с текстом, веб браузером Safari и корзиной, даже рассказывали о том, как создать собственные сочетания клавиш для различных действ...

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

В iOS 13 появилась функция коррекции зрения для FaceTime Если вы когда-нибудь пользовались FaceTime, вопрос «куда деть глаза» во время беседы знаком вам не меньше, чем извечные «как быть» и «что делать». С одной стороны, хочется видеть собеседника, его жесты и мимику. А, с другой, чтобы не выглядеть перед абонентом на том конце п...

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

MPLS повсюду. Как устроена сетевая инфраструктура Яндекс.Облака Пост подготовили участники команды Облака: Александр Вирилин — руководитель группы сетевой инфраструктуры, Леонид Клюев — редактор Мы продолжаем знакомить вас с внутренним устройством Яндекс.Облака. Сегодня поговорим о сетях — расскажем, как устроена сетевая инфраструктура, ...

Кто использует протокол аутентификации SAML 2.0 У себя в блоге мы часто затрагиваем вопросы защиты данных и авторизации. Например, мы рассказывали о новом стандарте для беспарольной авторизации WebAuthn и даже брали интервью у одного из его разработчиков. Также обсуждали технологию DANE для аутентификации доменных имен по...

Пара слов в защиту монолита Сравниваем особенности микросервисной и монолитной архитектуры, их преимущества и недостатки. Статья подготовлена для Хабра по материалам нашего митапа Hot Backend, который прошел в Самаре 9 февраля 2019 года. Мы рассматриваем факторы выбора архитектуры в зависимости от конк...

Публикация приложения в Microsoft Store: некоторые изменения за год Вот уже год прошел с момента выхода статьи об особенностях публикации в MS Store. За прошедший год произошло много событий – GDPR, выход VS 2019 и прочие изменения. В сегодняшней небольшой статье мне бы хотелось немного рассказать о том, какие изменения произошли в особенно...

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

[Перевод] Собеседование: Swift. Вопросы и ответы Языку программирования Swift всего четыре года, но он уже становится основным языком разработки для iOS. Развиваясь до версии 5.0, Swift превратился в сложный и мощный язык, отвечающий как объектно-ориентированной, так и функциональной парадигме. И с каждым новым релизом в н...

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

«Преодолевая» закон Мура: чем заменить традиционные планарные транзисторы / фото Taylor Vick Unsplash В прошлый раз мы говорили о материалах, которые могут заменить кремний в производстве транзисторов и расширить их возможности. Сегодня обсуждаем альтернативные подходы к разработке полупроводниковых изделий и какое применение они найдут в дата-ц...

Линус Торвальдс не верит, что серверы на ARM-архитектуре заменят x86. «Продавать 64-битную модель — идиотизм» На прошлой неделе компания ARM Holdings объявила, что разрабатывает новую микро-архитектуру для серверных процессоров. Вычислительное ядро, которое будет в ней использоваться, носит кодовое имя Ares, и по обещаниям должно дать 60% прирост по сравнению с текущей платформой....

[Из песочницы] Метод создания DRAG and DROP эффекта Придя впервые к технологии DRAG and DROP столкнулся с очень тяжелым её описанием (Это мое субъективное мнение. Прошу с ним не соглашаться, а перечитать все что только можно и посмотреть на этот вопрос с многих сторон). И решил написать пару статей, нацеленных на начинающих р...

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

Samsung Galaxy S11 получит SoC Exynos 9830 с четырьмя ядрами Cortex-A77 Как известно, компания Samsung решила пересмотреть свой подход к разработке однокристальных систем Exynos. Корейский гигант отказался от процессорных ядер Mongoose собственной разработки. Их место сначала займут референсные ядра Arm Cortex, а когда-то позже у Samsung по...

Как работает сжатие в объектно-ориентированной архитектуре памяти Команда инженеров из MIT разработала объектно-ориентированную иерархию памяти для более эффективной работы с данными. В статье разбираемся с тем, как она устроена. Читать дальше →

Тест-драйв nanoCAD СПДС Стройплощадка 8. Часть 2 Тест-драйв nanoCAD СПДС Стройплощадка 8 Мы продолжаем публикацию тест-драйва по nanoCAD СПДС Стройплощадка. В первой части тест-драйва мы разобрали работу со специальным инструментом Менеджер проектов, его основные функции и способы построения элементов стройгенплана. Во вто...

Тест-драйв nanoCAD СПДС Стройплощадка 8. Часть 1 Тест-драйв nanoCAD СПДС Стройплощадка 8 Мы начинаем публикацию тест-драйва по nanoCAD СПДС Стройплощадка. В первой части тест-драйва мы разберем работу со специальным инструментом Менеджер проектов, его основные функции и способы построения элементов стройгенплана. Во второ...

О ЦОДе начистоту: как мы решали проблему пыли в серверных помещениях дата-центра Привет, Хабр! Я Тарас Чирков, директор ЦОД Linxdatacenter в Санкт-Петербурге. И сегодня в нашем блоге я расскажу о том, какую роль в нормальной работе современного дата-центра играет поддержание чистоты в помещении, как правильно ее измерять, достигать и поддерживать на ну...

Архитектура сетевого балансировщика нагрузки в Яндекс.Облаке Привет, я Сергей Еланцев, разрабатываю сетевой балансировщик нагрузки в Яндекс.Облаке. Раньше я руководил разработкой L7-балансировщика портала Яндекса — коллеги шутят, что чем бы я ни занимался, получается балансировщик. Я расскажу читателям Хабра, как нужно управлять нагр...

Битва L2TP, RRAS vs SoftEther «Украденная с запада картинка для привлечения внимания» В прошлых наших статьях мы рассказали, как работать с VDS на Windows Server Core 2019 на нашем новом тарифе UltraLight за 99 рублей в месяц. Предлагаем еще один способ использования данного тарифа. На этот раз речь по...

PVS-Studio ROI Время от времени нам задают вопрос, какую пользу в денежном эквиваленте получит компания от использования анализатора PVS-Studio. Мы решили оформить ответ в виде статьи и привести таблицы, которые покажут, насколько анализатор может быть полезен. Мы не можем в статье доказа...

Еще один вариант среды для разработки WordPress (docker, wp-cli) Есть официальные образы для развертывания WordPress и использования wp-cli. Но при их совместном использовании мне приходилось расшаривать всю папку WordPress и хотелось, чтобы было больше возможностей для кастомизации установки. Очень хотелось после запуска контейнера видет...

IntelliJ IDEA 2019.1: Кастомизация тем интерфейса, switch-выражения из Java 12, отладка внутри Docker-контейнеров Это – обзор нового в IntelliJ IDEA 2019.1. Ссылки в заголовках ведут на соотвествующие разделы на сайте, где всё описано детально, но на английском. Читать дальше →

«Конец — это только начало»: Первый тизер-трейлер нового сериала «Star Trek: Picard» / «Звездный путь: Пикар» с Патриком Стюартом в главной роли Американская телесеть CBS опубликовала первый тизер-трейлер нового сериала «Star Trek: Picard» / «Звездный путь: Пикар», главную роль в котором сыграет легендарный Патрик Стюарт. Актер играл роль капитана Жана-Люка Пикара в сериале «Star Trek: The Ne...

Sophos XG Firewall: От классического МЭ до NGFW с автоматической реакцией на ИБ инциденты В настоящее время происходят изменения в архитектуре угроз и резкое увеличение числа и сложности систем безопасности и, конечно, происходит эволюция в разработке средств защиты, в том числе межсетевых экранов. Межсетевые экраны нового поколения (Next-Generation Firewall, NG...

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

this и ScopeChain в EcmaScript Привет, Хабр! В предыдущей статье мы рассматривали общую теории ООП в применении к EcmaScript и популярное заблуждение начинающих разработчиков относительно отличия ООП в JS и классических языках. Сегодня мы поговорим о двух других не менее важных концепциях EcmaScript, а...

Новая операционная система HarmonyOS Компания HUAWEI представила первую мобильную OC с распределенной архитектурой –HarmonyOS.  Применение распределённой архитектуры позволяет HarmonyOS обеспечивать общую коммуникационную платформу, управлениераспределёнными данными, распределенное планирование зад...

SamsPcbGuide, часть 12: Технологии — корпуса BGA-типа, пластик и космос II В комментариях к предыдущей публикации hhba поделился статьёй, которая сама по себе достойна отдельной публикации, настолько там красивые решения приводятся. В дополнение к её обзору я постараюсь поставить точкиу над «i» в вопросе применения пластиковых корпусов в космически...

Как мы закрываем уязвимости в ОС Astra Linux Special Edition Операционных систем без уязвимостей не бывает — вопрос лишь в том, как эффективно разработчики их выявляют и закрывают. Наша ОС Astra Linux Special Edition здесь не исключение: мы постоянно проверяем и тестируем код на ошибки, нарушения логики, прочие баги и оперативно их ус...

[Перевод] Автоматизация библиотек на Typescript Хочу сразу оговориться: эта статья не дает готового к использованию рецепта. Это скорее моя история путешествия в мир Typescript и NodeJS, а также результаты моих экспериментов. Тем не менее, в конце статьи будет ссылка на GitLab репозиторий, который вы можете посмотреть, и ...

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

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

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

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

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

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

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

[Перевод] GitOps: сравнение методов Pull и Push Прим. перев.: В сообществе Kubernetes явную популярность набирает тренд под названием GitOps, в чём мы лично убедились, посетив KubeCon Europe 2019. Этот термин был относительно недавно придуман главой компании Weaveworks — Alexis Richardson — и означает применение привычных...

Lenovo ThinkShield: мощный комплекс опций и услуг на страже безопасности корпоративных ПК Безопасность всегда была ключевым приоритетом для компании Lenovo. За долгие годы работы на рынках настольных и портативных компьютеров мы реализовали много различных опций и услуг для защиты этих ПК. Также мы единственные на рынке, кто смог внедрить защиту в процессы произв...

[Из песочницы] История одного удачного применения SPR в Legacy проекте В этой статье я расскажу на примере эволюции своего проекта историю перехода и видение контрактного программирования. Сначала хотел назвать статью — «Контрактное программирование», постольку поскольку используемый подход заключается в разделении всей бизнес-логики на дата-...

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

Представлен мобильный маршрутизатор Huawei 5G Mobile WiFi Pro с аккумулятором на 8000 мА∙ч и 40-ваттной зарядкой, способный одновременно играть роль резервной батареи Huawei на сегодняшней 5G-конференции также представила Huawei 5G Mobile WiFi — мобильный маршрутизатор Wi-Fi со встроенным модемом 5G, который также может выступать в роли портативного аккумулятора для других мобильных устройств. Внешне Huawei 5G Mobile WiFi напоминает обычн...

ICANN убрала ценовой порог для домена .org — почему ИТ-сообщество против, и что будет дальше Также «под раздачу» попали .info и .biz. / фото David Goehring CC BY ICANN меняет правила игры ICANN изменили условия договора с регистратором доменных имен Public Interest Registry (PIR), ответственным за .org. Ранее ему запрещалось назначать базовую цену за домен выше 8,...

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

Вопросы для собеседования — от кандидата к работодателю Все мы привыкли к тому, что на собеседованиях задают много вопросов. Обычно — работодатели кандидатам. Один из таких вопросов — “а у вас есть вопросы к нам?”. Довольно часто кандидаты не готовы к этому. И зря. Задавать вопросы работодателю — это совершенно нормально и даже н...

Хитрости в Machine Learning — работа с несколькими моделями в Keras Это моя первая статья по теме Машинное обучение. С недавнего времени я профессионально занимаюсь машинным обучением и компьютерным зрением. В этой и будущих статьях я буду делиться наблюдениями и решениями специфических проблем при использовании TensorFlow и Keras. В этой ст...

S for Security: безопасность в Интернете Вещей и доклады на InoThings++ 2019 — Шеф, у нас дыра в безопасности! — Ну хоть что-то у нас в безопасности... Привет, Хабр! В комментариях к предыдущему посту про InoThings++ высказали мнение, что в Интернете Вещей есть более важная для обсуждения область, нежели вмешательство государства — это область обес...

[Из песочницы] Реализация горячей перезагрузки С++ кода в Linux * Ссылка на библиотеку в конце статьи. В самой статье изложены механизмы, реализованные в библиотеке, со средней детализацией. Реализация для macOS еще не закончена, но она мало чем отличается от реализации для Linux. Здесь в основном рассматривается реализация для Linux. Г...

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

AMD анонсировала свою 3D-архитектуру чипов, чтобы догнать Intel Foveros 3D Intel Foveros 3D Поскольку закон Мура больше не действует, разработчикам микросхем приходится искать иные способы повышения производительности. Одна из подходящих для этого технологий называется 3D-штабелирование (3D chip stacking). Это объёмная этажерочная архитектура чип...

Устойчивость обучения GAN (Копаем глубже) В предыдущей статье на примере игрушечных моделей я попытался проанализировать почему же, собственно, у нас получается достаточно эффективно обучать GAN’ы. Сейчас же мы попробуем обобщить некоторые результаты и, самое главное, попробуем проанализировать как влияет архитект...

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

Как сервера договариваются друг с другом: алгоритм распределённого консенсуса Raft Когда кластеры достигают размеров в сотни, а иногда и тысячи машин, возникает вопрос о согласованности состояний серверов относительно друг друга. Алгоритм распределённого консенсуса Raft даёт самые строгие гарантии консистентности из возможных. В этой статье мы рассмотрим R...

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

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

Вам не нужен блокчейн: 8 популярных юзкейсов и почему они не работают Порой диву даёшься, чего только люди ни сделают «на блокчейне». С середины 2017 я занимаюсь аудитами безопасности смарт-контрактов и повидал всякого. В отдельную категорию я бы выделил «применения блокчейна», которые выглядят логичными и полезными, но в основе содержат проб...

FAQ по архитектуре и работе ВКонтакте История создания ВКонтакте есть в Википедии, её рассказывал сам Павел. Кажется, что ее знают уже все. Про внутренности, архитектуру и устройство сайта на HighLoad++ Павел рассказывал еще в 2010 году. Много серверов утекло с тех пор, поэтому мы обновим информацию: препарируем...

Как устроена пассивная система охлаждения в компьютерах MIC-7900 После нашей статьи про безвентиляторные компьютеры MIC-7000 было много вопросов про систему охлаждения^ действительно ли она полностью пассивная или внутри есть какие-то активные механизмы охлаждения? Некоторые комментаторы сомневались, что система может работать на пасси...

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

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

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

[Перевод] Kubernetes: сборка образов Docker в кластере Чтобы собирать образы Docker в контейнере и при этом обойтись без Docker, можно использовать kaniko. Давайте узнаем, как запускать kaniko локально и в кластере Kubernetes. Дальше будет многабукаф Читать дальше →

Поговорим про мониторинг: живая запись подкаста Devops Deflope с New Relic на митапе 23 октября Привет! Так случилось, что мы — активные пользователи одной весьма известной платформы, и в конце октября ее инженеры приедут в гости к нашей команде. Подумав, что вопросы к ним могут быть не только у нас, решили собрать всех желающих, а также дружественный подкаст и знакомы...

Социальная инженерия с помощью программ Universal Windows Platform (APPX) TL;DR: В APPX-файл Universal Windows Platform можно упаковать обычный exe-файл, который будет запускаться в Windows 10 (сборка 1607 и новее) примерно так же, как обычные exe-файлы. Это можно использовать для атак социальной инженерии, с помощью рассылки через email — почто...

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

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

Модельно ориентированное проектирование. Электропривод с бесколлекторным двигателем постоянного тока В предыдущей статье про модельно ориентированное проектирование было показано, что не все методики одинаково полезны. И объясняется как делать правильно, что бы не было потом мучительно больно. Но в конце статье был поставлен вопрос, провокационный как Шарон Стоун на допросе...

[Из песочницы] Лучшие практики React и советы, которые каждый разработчик должен знать. Часть 1 Привет, Хабр! Представляю вашему вниманию перевод статьи «React Best Practices & Tips Every React Developer Should Know Pt.1» автора Alex Devero. React — одна из самых популярных библиотек для построения интерактивных пользовательских интерфейсов. В этой статье я пока...

[Перевод] 33+ инструмента для безопасности Kubernetes Прим. перев.: Если вы задаётесь вопросами безопасности в инфраструктуре, основанной на Kubernetes, этот замечательный обзор от компании Sysdig станет отличной отправной точкой для беглого знакомства с актуальными на сегодняшний день решениями. В него включены и комплексные с...

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

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

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

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

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

[Из песочницы] Почему вы должны думать о функциональном программировании Привет, Хабр! Представляю вашему вниманию перевод своей статьи «Why you should think about functional programming», посвященной функциональному программированию. Почему вы должны думать о функциональном программировании? Давайте ответим на следующие вопросы: всегда ли в...

[Из песочницы] SpaceVIL — кроссплатфоремнный GUI фреймворк для разработки на .Net Core, .Net Standard и JVM В данной статье я постараюсь рассказать о фреймворке SpaceVIL (Space of Visual Items Layout), который служит для построения пользовательских графических интерфейсов на платформах .Net / .Net Core и JVM. SpaceVIL является кроссплатформенным и мультиязычным фреймворком, в его ...

lifecell поделился лицензией на мобильную связь с провайдером «Фринет» (O3), который стал уже шестым партнером оператора по предоставлению конвергентных услуг Украинский телеком-оператор lifecell предоставил еще одну копию своей лицензии на мобильную связь провайдеру широкополосного доступа в интернет компании «Фринет» (ТМ «О3»). Этот провайдер станет уже шестым партнером оператора по предоставлению конвергентных услуг, ...

Консенсус в криптовалютах с гибридным майнингом Мне довелось участвовать в разработке механизма майнинга для криптовалюты, позволяющего использовать разные алгоритмы хэширования для построения блокчейна. Цель — дать возможность майнерам с любым оборудованием(ASIC, GPU, CPU) поддерживать сеть, охватывая всю возможную аудит...

iOS 13: Что нужно и чего совершенно не нужно делать при разработке под новую ОС С момента выхода iOS 13 вышло бесчисленное количество обзоров, в которых уже рассказано о новых фишках системы для пользователей. Сегодня мы не будем подробно останавливаться на этом, но зато поговорим о том, что меняет iOS 13 для разработчика приложений. Читать дальше →

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

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

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

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

HTTP Request smuggling — новые подходы 7 октября 2019 года директор отдела исследований PortSwigger (производителя BurpSuite) опубликовал исследование о новых подходах к HTTP Request smuggling. С их помощью он заработал на bugbounty около $70000. В этой заметке мы коротко выясним суть атаки, инструментарий, а так...

MESH-система ASUS AiMesh-AC1900 из двух роутеров С появлением массы мобильных девайсов, построение бесшовных Wi-Fi сетей как кость в горле домашних пользователей, так как установка репитеров не всегда является оптимальным решением. Читать дальше →

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

[Из песочницы] React. Lazy loading Доброго времени суток. Занимаюсь разработкой проекта на React и Redux. Хочу в этой статье описать архитектуру своего проекта. Итак, начнем. Файловая структура: Для подключения редьюсеров создаем класс singleton reducerRegister: ./reducerRegister.js class ReducerRegistry...

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

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

Визуальное программирование для Sonoff Basic Статья о том, как из дешёвого китайского устройства создать программируемый логический контроллер. Такое устройство найдёт своё применение как в домашней автоматизации, так и в качестве практических занятий по школьной информатике. Читать дальше →

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

Загадка нейтрино от Сверхновой 1987А Сверхновая 1987А: во время и до вспышки Не очень давно здесь была неплохая статья Bars21 о нейтрино от сверхновых. Она мне очень понравилась, и кое-какие моменты (например, про урка-процесс) натолкнули на то, что мы не только читали или слушали одних и тех же преподавателе...

Additional Uplinks в архитектуре системной логики Intel C620 В архитектуре x86-платформ возникли два течения, взаимно дополняющие друг друга. По одной версии, нужно двигаться в сторону интеграции в одном кристалле вычислительных и управляющих ресурсов. Второй подход исповедует распределение обязанностей: процессор оснащается производи...

Проблемы пакетной обработки запросов и их решения (часть 2) Это продолжение статьи «Проблемы пакетной обработки запросов и их решения». Рекомендуется сначала ознакомиться с первой частью, так как в ней подробно описана суть задачи и некоторые подходы к ее решению. Здесь же мы рассмотрим другие методы. Читать дальше →

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

[Перевод] Введение в Screen Capture API — Сканируем QR коды в браузере Введение В этой статье мы, как вы уже догадались, поговорим про Screen Capture API. Этот API появился на свет в 2014 году и новым его назвать сложно, однако поддержка браузерами все еще достаточно слабая. Тем не менее, его вполне можно использовать для персональных проектов ...

Восхождение на Эльбрус — Разведка боем. Техническая Часть 1. Регистры, стеки и другие технические детали Как и обещали, продолжаем рассказывать про освоение процессоров Эльбрус. Данная статья является технической. Информация, приведенная в статье, не является официальной документацией, ведь получена она при исследовании Эльбруса во многом как черного ящика. Но будет безусловно ...

Облако на 1000 стоек Проект был запущен в марте 2018 года на базе одного из ЦОДов компании 3data, где под облако было занято 50 стоек, на базе которых развернуты 20 сервисов. Через год, в конце марта 2019 года, число выделенных под облачную платформу стоек увеличится до 500, а число сервисов - ...

[Перевод] Жизненный цикл кода на Python – модель выполнения CPython Всем привет! Наступила весна, а это значит, что до запуска курса «Разработчик Python» остается меньше месяца. Именно этому курсу и будет посвящена наша сегодняшняя публикация. Задачи: — Узнать о внутреннем устройстве Python; — Понять принципы построения абстрактного син...

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

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

Как добавить индекс на нагруженной системе 24/7 без простоя? Друзья, в конце января у нас стартует новый курс под названием «MS SQL Server разработчик». В преддверии его запуска мы попросили преподавателя курса, Кристину Кучерову, подготовить авторскую статью. Эта статья будет вам полезна, если у вас есть очень популярная таблица на ...

Магниевые сплавы, границы двойников и сегрегация В далеком 1903 году небезызвестные братья Райт построили первый самолет, оснащенный двигателем. Большая часть этого удивительного аппарата была изготовлена из ели. Сейчас самолеты из дерева это музейные экспонаты, но на тот момент использование этого материала было обоснов...

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

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

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

GPS часы на Arduino Здравствуйте меня зовут Дмитрий сегодня я расскажу как я создал GPS часы. В конце статьи будет ссылка на прошивку и CAD 3D модель. Читать дальше →

На сцене вновь лауреаты международных конкурсов SSH и sudo. Под рукодством заслуженного дирижера Active Directory Исторически сложилось, что sudo права регулировались содержимым файлов из /etc/sudoers.d и visudo, а авторизация по ключам велась с использованием ~/.ssh/authorized_keys. Однако с ростом инфраструктуры возникает желание управлять этими правами централизованно. На сегодняшний...

Физические итоги года Новогодние праздники подходят к концу, а значит самое время подвести итоги года вместе с Американским физическим сообществом. Год выдался интересным по всем фронтам – и фундаментальными открытиями, и техническими достижениями. Читать дальше →

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

Секция Backend на DUMP Казань: архитектура облачных приложений, общительные микросервисы, DDD и не только Что делать, если секция Backend на конференции одна, а языков программирования несколько? Получается, либо каждому по докладу, и тогда что делать все остальное время? Либо больше внимания одному-двум языкам, а все остальные не в удел. Кажется, мы нашли выход. В Backend на DU...

[Из песочницы] Темы, стили и другие Практически все разработчики знают, что в андроиде есть Темы, но применение их обычно ограничивается копированием кусков xml из Stack Overflow или других ресурсов. В интернете есть информация по темам, но это обычно просто рецепт, как добиться определенного результата. В э...

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

[Из песочницы] Тренды и прогнозы в Natural Language Processing Тренды и прогнозы в области NLP (Natural Language Processing) Это статья про тренды и прогнозы из нашего сентябрьского Альманаха «Искусственный интеллект» №2, который посвящен обзору рынка технологий и компаний в области NLP и распознавания-синтеза речи в России. Для этого ...

[Перевод] Дзен изолированных компонентов в Android-архитектуре Несколько лет назад мы в Badoo начали использовать MVI-подход к Android-разработке. Он был призван упростить сложную кодовую базу и избежать проблемы некорректных состояний: в простых сценариях это легко, но чем сложнее система, тем сложнее поддерживать её в корректном виде ...

[Перевод] Сторона личности Пола Аллена, о которой знало не так много людей, как мне бы хотелось Статья из блога Билла Гейтса — американского предпринимателя, общественного деятеля, филантропа, создавшего компанию Microsoft совместно с Полом Алленом [1953-2018] (с которым они были приятелями со школы) Пол Аллен был одним из самых любопытных людей, которых я знал. Ещё...

Компас команды Привет! Меня зовут Маша, я Scrum Master в ivi. Работаю с командами биллинга и веб-разработки и помогаю ребятам организовывать рабочие процессы так, чтобы не только эффективно достигать целей, которые ставит бизнес, но и получать удовольствие от того, что ты делаешь. В своих ...

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