Социальные сети Рунета
Понедельник, 6 мая 2024

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

20 систем управления проектами, обзор 100 фишек – Рынок систем управления давно насыщен! Это была хорошая идея 30 лет назад. – Ха-ха еще одна система управления проектами. Их же уже сотни? – Команда вроде опытная, а занялись давно просроченной идеей. Вам бы что-то на Блокчейн сделать… Примерно так говорят 9 из 10 инвест...

[Перевод] Используем nftables в Red Hat Enterprise Linux 8 Статья подготовлена в преддверии старта курса «Администратор Linux» В Red Hat Enterprise Linux 8 приоритетным низкоуровневым решением является nftables. В этой статье мы поговорим о том, как начать использовать nftables. Наиболее актуальной она будет для системных администр...

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

Обзор студийного конденсаторного микрофона FIFINE T669 // Конкурент Samson??? Сегодня в нашем обзоре микрофон FIFINE T669. Почему решили поговорить о студийном конденсаторном микрофоне? В наших видео мы использовали петличку RØDELink Filmmaker Kit. До сих пор это одно из лучших решений для видео продакшена. Однако, при работе в неподготовленных поме...

Унифицируй это: как Lamoda делает единообразными свои Go сервисы Мы широко используем микросервисную архитектуру, хоть и не считаем ее панацеей, и чуть больше 2 лет назад начали переходить на язык Go. Он сравнительно прост и, на мой взгляд, очень хорошо подходит для создания простых, небольших и быстрых микросервисов. Эта простота имеет и...

Wapiti — тестирование сайта на уязвимости своими силами В прошлой статье мы рассказали о бесплатном инструменте для защиты сайтов и API от хакерских атак, а в этой решили сделать обзор популярного сканера уязвимостей Wapiti. Сканирование сайта на уязвимости — необходимая мера, которая, вкупе с анализом исходного кода, позволяет ...

[Перевод] 9 полезных трюков HTML Приветствую, Хабр! Представляю вашему вниманию перевод статьи «9 Extremely Useful HTML Tricks» автора Klaus. У HTML есть много практических секретов, которые могут вам пригодиться. Но я хочу убедиться, что сайт работает в Internet Explorer и других браузерах. Я использую ...

Антипаттерн Entity Service. Иногда микросервисы хуже монолита Статья об одном неудачном решении, которое распространено при переходе на микросервисы. Несмотря на то, что Microsoft и другие компании в своих руководствах рассматривают возможность создавать Entity Serivces, есть все основания считать его антипаттерном. Далее мы поговорим ...

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

[Перевод] Конференция DefCon 27: за кулисами создания электронных бэйджей. Часть 1 Ведущий: приветствую всех на 27-конференции DefCon! Поскольку многие из вас здесь впервые, расскажу вам о некоторых основополагающих моментах нашего сообщества. Один из них состоит в том, что мы во всем сомневаемся, и если вы услышали или увидели что-то непонятное, просто за...

[Из песочницы] Автономизация Unit-тестов в PHPUnit Всем привет! Меня зовут Антон и сейчас (не так долго, около года) я разрабатываю на PHP в одном большом и старом проекте. Для обеспечения качества проекта мы применяем автотесты на фреймворке PHPUnit. Но, к сожалению, так получилось, что большая часть наших автотестов функц...

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

[Перевод] Введение в GitHub Actions В этой статье Senior App Dev Manager Джейсон Джордано (Jason Giordano) покажет нам, как использовать GitHub Actions для создания очень простого CI/CD решения. GitHub Actions, релиз которого состоялся 13 ноября 2019 года, позволяет легко автоматизировать все ваши рабочие пр...

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

Обзор Samsung Galaxy A51 — хорошая попытка Samsung очень плотно пиарит свой новый Galaxy A51. И оправдано, ведь смартфон действительно интересный. Однако перед покупкой совершенно обязательно знать о паре особенностей аппарата. В обзоре Samsung Galaxy A51 поговорим о них и не только. Go!

[Из песочницы] Как разработать дизайн и код персонального веб-сайта Привет, Хабр! представляю вашему вниманию перевод статьи «How to Design and Code a Personal Website» автора Ryan Smith. Многие разработчики считают, что быть хорошим дизайнером — это врожденная способность, что творческий подход — это то, с чем вы сразу родились. На самом д...

Обзор Samsung Odyssey G7 - лучший монитор для игр 2020 Обзор Samsung Odyssey G7 - лучшее предложение для тех, кто ищет себе топовый монитор для игр 240 fps   Поклонники игр любят плавность картинки, приличную скорость и не приемлют низкий FPS. Именно для них производители наладили выпуск игровых мониторов, список которых по...

Обзор Kaggle ML & DS Survey 2019. Или сколько зарабатывают ML специалисты Ежегодно Kaggle проводит опрос среди специалистов по анализу данных, и объявляет конкурс на поиск инсайтов из полученных данных. В этом году в опросе участвовало 19717 человек со всего мира. В статье рассматриваются лучшие обзоры и решения Kaggle ML & DS Survey 2019. Ч...

[Из песочницы] Android Remote Debugger — удаленная отладка Android приложений Отладка является важным этапом разработки программного обеспечения. Поиск и исправление ошибок позволяет разрабатывать качественные продукты. В данной статье я хочу поговорить об отладке только Android приложений. Android Studio предоставляет нам различные инструменты профил...

[Из песочницы] Свои Custom Controls в Angular Пролог Поговорим о реактивных формах в angular, узнаем за кастомные контролы, как их создавать, использовать и валидировать. Статья предполагает что вы уже знакомы с фреймворком angular, но хотите больше погрузиться в её специфику. Хорошее желание, начнем. Читать дальше &ra...

[Из песочницы] WAL-G: бэкапы и восстановление СУБД PostgreSQL Уже давно известно, что делать бэкапы в SQL-дампы (используя pg_dump или pg_dumpall) – не самая хорошая идея. Для резервного копирования СУБД PostgreSQL лучше использовать команду pg_basebackup, которая делает бинарную копию WAL-журналов. Но когда вы начнёте изучать весь про...

Решение нескольких задач от Amazon на примере JavaScript Доброго времени суток. Представляю вашему вниманию перевод статьи «Amazon Coding Interview Questions» автора Trung Anh Dang. В этой статье автор приводит несколько (три, если быть точнее) задач от Amazon (как он утверждает) и свои варианты решений. После ознакомления с ...

Обзор Razer KRAKEN X USB (RZ04-02960100-R3M1). Лучшие наушники до 5000 рублей? В прошлом году стартовали продажи недорогих игровых наушников Razer KRAKEN X с легким весом, восьмиканальным звуком и универсальным подключением с помощью 3.5мм аудиоразъема. Не так давно они выпустили модификацию этой гарнитуры с USB-разъемом. Вместе с ним была добавлена по...

Как мы построили динамические отчеты на SSRS 2014 Мы уже рассказывали, как помогли одной производственной компании трансформировать процессы корпоративного обучения и развития персонала. Сотрудники заказчика, которые тонули в бумажных документах и Excel-таблицах, получили удобное iPad-приложение и веб-портал. Одна из самых ...

[Перевод] Решение проблемы N+1 запроса без увеличения потребления памяти в Laravel Одна из основных проблем разработчиков, когда они создают приложение с ORM — это N+1 запрос в их приложениях. Проблема N+1 запроса — это не эффективный способ обращения к базе данных, когда приложение генерирует запрос на каждый вызов объекта. Эта проблема обычно возникает, ...

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

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

[Перевод] Spring MVC: создание веб-сайтов и RESTful сервисов Вы можете использовать эту статью, чтобы понять, как использовать Spring MVC для создания веб-сайтов или RESTful сервисов. А также получить обзор часто задаваемых вопросов, охватывающих наиболее распространенные задачи Spring MVC. Примечание: Статья ~ 7500 слов, вероятно, не...

[Из песочницы] Разбор UI/UX на примере прототипа в Figma и основные принципы Кому адресована статья В данной публикации я хочу помочь начинающим и «не очень» бизнес-аналитикам, менеджерам проектов, владельцам продуктов, желающим сделать свой первый сайт и всем-всем, кому надо сделать макет сайта или приложения, а он не знает с какой стороны подступит...

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

Django Rest Framework для начинающих: создаём API для чтения данных (часть 1) Меня зовут Стас Гаранжа, я выпускник курса «Python-разработчик» в Яндекс.Практикуме. Я хочу помочь начинающим разработчикам, которые приступили к изучению Django Rest Framework (DRF) и хотят разобраться, как устроен этот фреймворк. Я готовлю цикл статей, в которых расскажу о...

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

[Из песочницы] Home видео для Selenium aka WebDriver. Или чем записать экран, если у вас есть java, поломанные тесты и немного времени Решили мы на работе автоматизировать тесты для нескольких своих веб приложений. И кроме информации, когда упали тесты, захотелось еще и увидеть, как выглядела страница на этот печальный момент. Я уже давно не брал в руки шашки и Selenium, поэтому пришлось немного покопатьс...

[Из песочницы] Критерии оценки российских BI-систем Я уже много лет возглавляю компанию, являющуюся одним из лидеров по внедрению BI-систем в России и регулярно входящую в топ-списки аналитиков по объему бизнеса в области BI. За время работы я участвовал во внедрении BI-систем в компаниях из различных областей экономики – от ...

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

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

[Из песочницы] Golang + Phaser3 = MMORPG — Делаем базу для бесконечной генерации мира На русскоязычных ресурсах трудно найти подходящую информацию, возможно этот материал позволит вам понять некоторые основы для создания многопользовательских игр и не только. Я планирую сделать серию статей по созданию 2.5D MMORPG, то бишь в изометрии, наш мир будет разделе...

Мониторинг СХД IBM Storwize при помощи Zabbix В данной статье мы немного поговорим о мониторинге СХД IBM Storwize и других СХД, поддерживающих протоколы CIM/WBEM. Необходимость такого мониторинга оставлена за скобками, будем считать это аксиомой. В качестве системы мониторинга будем использовать Zabbix. В последних ве...

[Из песочницы] 10 признаков того, что хороший программист из вас не получится Привет, Хабр! Представляю вашему вниманию перевод статьи «10 Signs You Will Suck at Programming» автора Jonathan Bluks. Очень часто на Reddit или Quora я вижу вопросы вида «Как понять, смогу ли я стать успешным программистом?» (На самом деле, эта статья является расширенн...

Наш опыт с графовой базой данных Dgraph в Kubernetes Недавно перед нами встала задача развернуть Dgraph в кластере Kubernetes. В этой статье я поделюсь полученным опытом: с чем мы столкнулись во время деплоя и последующего использования этого приложения в различных окружениях, от dev до production. Что вообще такое Dgraph? ...

[Перевод] 10 интересных репозиториев на GitHub, полезных любому разработчику Представляем вам перевод статьи Simon Holdorf, опубликованной на сайте medium.com. В ней вы найдете ссылки на полезные репозитории, с помощью которых можно прокачать навык разработки ПО. Фото с ресурса Unsplash. Автор: Vishnu R Nair GitHub — это лучшая платформа для обме...

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

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

Все, что вы хотели узнать про области видимости в Python, но стеснялись спросить В преддверии старта нового потока по курсу «Разработчик Python», решили поговорить про области видимости в Python. Что из этого вышло? — Читайте в материале ниже. Сегодня мы будем говорить о важных теоретических основах, которые необходимо понимать и помнить, чтобы писат...

Поиск багов как образ жизни: обзор №2 Длительная работа в IT натаскивает видеть несовершенства в пользовательском софте. Иногда это откровенные баги, которые хорошо бы исправить. Но сообщить об этом затруднительно из-за непрофессиональной работы поддержки. Публикация таких обзоров багов действительно помогает пр...

[Из песочницы] OData + RxJava + Retrofit 2 для android приложения Столкнулся на проекте с проблемой доселе не виданной. Пришлось покурить документацию и в этой статье я расскажу как с помощью RxJava и Retrofit 2 — можно решить задачу по созданию клиента Odata для android приложения. Спасибо огромное Jake Wharton за создание таких комфортн...

Хаос зависимостей в Python Знакомы ли вы с историей Python packaging? Ориентируетесь ли в форматах пакетов? Знаете ли, что распутывать клубок зависимостей придется даже когда кажется, что вот оно чудо — zero dependency? Уверен, что знакомы со всем этим не так хорошо, как автор библиотеки DepHell. М...

Лучшая материнская плата на чипсете B450. ASRock B450M Steel Legend На рынке компьютерных комплектующих очень много различных моделей, в которых пользователю достаточно тяжело разобраться. Мы решили помочь в этой проблеме и отобрали пять лучших материнских плат на рынке, которые идеально подойдут пользователям для сборки игрового компьютера ...

Краткая история Chaosnet Мы решили совершить еще один вояж в прошлое сетевых технологий. На сей раз мы поговорим о Chaosnet, специфическом сетевом протоколе, который использовался в 1970-х годах в Lisp-машинах. Исходным материалом для статьи послужила заметка на TwoBitHistory, которую мы расширили и...

[Из песочницы] Создание микросервисной архитектуры с использованием single-spa (миграция существующего проекта) Это первая статья по в данной теме, всего их планируется 3: * Создание root application из вашего существующего проекта, добавление в него 3 микро-приложения (vue, react, angular) Общение между микро-приложениями Работа с git (deploy, обновления) Оглавление Общая час...

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

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

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

Сотни тысяч маршрутов в секунду на ядро. Опыт Яндекс.Маршрутизации Пару недель назад Даня Тарарухин рассказал на Хабре, как появился наш сервис, Яндекс.Маршрутизация, и как он помогает компаниям с логистикой. Создавая платформу, мы решили несколько интересных проблем, одной из которых и посвящён сегодняшний пост. Я хочу поговорить о самом...

[Перевод] Лучшие практики Kubernetes. Настройка запросов и лимитов ресурсов Лучшие практики Kubernetes. Создание небольших контейнеров Лучшие практики Kubernetes. Организация Kubernetes с пространством имен Лучшие практики Kubernetes. Проверка жизнеспособности Kubernetes с помощью тестов Readiness и Liveness Для каждого ресурса Kubernetes имеется в...

Позиция Mail.ru Group по развитию opensource в России Считаем важным сегодня сформулировать позицию компании по развитию открытого исходного кода в России. Mail.ru Group — opensource-компания в своем ДНК. Мы уже много лет активно развиваем opensource-проекты — и силами отдельных разработчиков-энтузиастов, и целыми командами вну...

Визуализация промисов и Async/Await Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «JavaScript Visualized: Promises & Async/Await» автора Lydia Hallie. Приходилось ли вам сталкиваться с JavaScript кодом, который… работает не так, как ожидается? Когда функции выполняются в про...

[Перевод] Билл Гейтс: Что вам нужно знать о вакцине от COVID-19 Инженер, бизнесмен и филантроп Билл Гейтс стал объектом атаки сторонников абсурдных теорий заговора, утверждающих, будто он причастен к созданию коронавируса. В своём блоге создатель крупнейшего в мире частного благотворительного фонда размещает аналитические обзоры, делится...

[Перевод] Как питомцы могут сделать из вас хорошего программиста (да, они действительно это могут!) Перед вами перевод статьи, опубликованной на сайте medium.com. Автор, Mahdhi Rezvi, рассказывает, как развивать свои технические и нетехнические скиллы с помощью пушистого друга. Читать дальше →

Идеальный инструмент для работы с СУБД без SQL для Node.js или Все, что вы хотели знать о Sequelize. Часть 2 Представляю вашему вниманию руководство по Sequelize. Sequelize — это ORM (Object-Relational Mapping — объектно-реляционное отображение или преобразование) для работы с такими СУБД (системами управления (реляционными) базами данных, Relational Database Management System, RD...

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

Работаем с датчиком CO₂ Xiaomi ClearGrass Air Detector локально, без китайских серверов Давно планировал внедрить в домашнюю автоматизацию датчик углекислого газа CO₂. По соотношению цена/качество/функции/внешний вид лучшим для меня оказался Xiaomi ClearGrass Air Detector. Анализатор качества воздуха содержит датчики: CO₂ tVOC (летучие органические соединени...

[Из песочницы] Создание Discord-бота, используя библиотеку discord.js | Часть №1 Введение В этой статье я подробно расскажу о том, как работать с библиотекой discord.js, создать своего Discord-бота, а также покажу несколько интересных и полезных команд. Сразу хочу отметить, что я планирую сделать ряд подобных статей, начиная с простых команд, заканчивая...

Гидродинамическое моделирование (CFD) на рельефе с помощью MantaFlow и визуализация результатов в ParaView Дисциплина Computational fluid dynamics(CFD) или, на русском языке, Вычислительная гидродинамика изучает поведение различных потоков, в том числе вихревых. Это и моделирование цунами, и лавовых потоков, и выбрасываемых из жерла вулкана камней вместе с лавой и газами и многое...

Рабочая станция в Docker контейнере Для чего? Мне постоянно приходят всякие идеи и некоторые из них сразу хочется попробовать, но рабочая станция не всегда под рукой, поэтому я настраивал IDE на всем что попадется под руку. В итоге устройства начали захламляться, а поддерживать и обновлять их стало тяжело. Что...

[Из песочницы] Анатомия каналов в Go Привет, Хабр! Представляю вашему вниманию перевод статьи "Anatomy of Channels in Go" автора Uday Hiwarale. Что такое каналы? Канал — это объект связи, с помощью которого горутины обмениваются данными. Технически это конвейер (или труба), откуда можно считывать или ...

SSL сертификат для Docker web-app В данной статье я хочу поделиться с вами способом создания SSL сертификата для вашего веб-приложения работающего на Docker, т.к. в рускоязычной части интернета — подобного решения я не нашел. Подробнее под катом. Читать дальше →

База данных на SharedPreferences — Android Kotlin Для хранения большого количества информации в Android используется DataBase (SQLite, FireBase и т. п.), а для простого хранения настроек SharedPreferences. Вопрос, можно ли использовать SharedPreferences как своего рода Базу Данных и как это сделать? Статья написана об учеб...

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

VMware SD-WAN: обзор решения Этим материалом мы начинаем цикл статей о решении VMware SD-WAN. Сегодня поговорим о том, какие рыночные предпосылки сформировали его появление, какие задачи решает SD-WAN и каковы технические особенности решения VMware. Читать далее

Тонкости авторизации: обзор технологии OAuth 2.0 Информационная система Dodo IS состоит из 44 различных сервисов, таких как Трекер, Кассы ресторана или Базы знаний и многих других. 3 года назад мы написали сервис Auth для реализации сквозной аутентификации, а сейчас пишем уже вторую версию. В основе сервиса лежит стандарт ...

Расчет перцентилей для мониторинга высоконагруженных систем Привет, меня зовут Игорь, и я разработчик решений на Tarantool в Mail.ru Group. Я работаю над витринами маркетинга в реальном времени для Мегафона. При мониторинге часто требуется использовать перцентили. Они позволяют понять, как система работает бóльшую часть времени, в о...

UML для разработчиков Интернет полон статей про UML, вы найдете сотни примеров для каждого вида диаграмм, и без проблем создадите свои, нотация не сложная. Но так ли уж необходимо тратить на это время? Наш богатый опыт говорит «Да». Если у вас в команде более 2 человек и проект от 3 месяцев, то у...

[Перевод] Product Discovery 101 для Product-менеджера Перевод статьи подготовлен в преддверии старта новой группы по курсу "Product Manager IT-проектов". Так что же такое Product Discovery? Product Discovery – это процесс выяснения того, что же в конечном итоге предстоит создать. Он отражает ваше видение, дает бол...

Обнажённая электроника — бесплатные фото без СМС и регистрации Привет, Интернет. В процессе работы над проектом Nude Electronics Art я сделал достаточно качественные фотографии электронных плат и решил поделиться ими со всеми. Вы можете скачать их бесплатно на сайте Pixabay, в том числе для коммерческих целей. Коллекция будет потихонь...

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

[Перевод] 6 грехов, которые совершают программисты Эта статья — перевод с medium.com, в которой Daan, ее автор, предостерегает нас от неверных решений при выборе между скоростью и эффективностью в программировании. Фото с сайта Unsplash. Автор: Artem Sapegin Работа программиста неразрывно связана с необходимостью принимат...

Обзор Edna Harvey: The Breakout. Классический квест Давайте поговорим о достаточно интересной игре, которая когда-то давно радовала пользователей своими интересными задачами и решениями. Теперь данную игру переделали под современные системы, после чего выпустили в честь десятилетия проекта. Мы в нее поиграли и можем смело ска...

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

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

[Из песочницы] Использование Quartus и ModelSim Меня всегда интересовала цифровая схемотехника, а в частности языки описания аппаратуры -HDL. У меня давно лежала в списке будущего чтения книга Дэвида М. Хэррис и Сары Л. Хэррис «Цифровая схемотехника и архитектура компьютера», воспользовавшись свободным временем на самоизо...

База данных как сервис: когда, зачем и как использовать DBaaS в облаке Database by Julian-Faylona Многие облачные платформы предлагают базы данных как сервис (Database as a Service, DBaaS). Базу можно создать в облаке в несколько кликов, не тратя время на настройку и поддержку. Но не всем приложениям облачные базы данных подходят. Мы расскажем...

[Из песочницы] ToolKit на базе Eclipse и GTK+, для «Toradex Colibri T20 (Linux)» Эта статья рассчитана прежде всего на то, чтобы сэкономить время при создании тулкита, но при этом я постараюсь рассказать все достаточно объемно. Содержание Скачать все необходимое Установка SDK Проверка SDK Установка Eclipse Подключение GTK к Eclipse Настройка прое...

[Перевод] «Ваша устаревшая база данных перерастает сама себя». Опыт chess.com Прим. перев.: в этой статье сербский «инженер по масштабируемости» нагруженного онлайн-проекта в подробностях рассказывает о своем опыте оптимизации большой БД на базе MySQL. Проведена она была для того, чтобы выдержать резкий рост трафика на сайт, случившийся из-за пандемии...

Изучаем VoIP-движок Mediastreamer2. Часть 5 Материал статьи взят с моего дзен-канала. Обнаружитель тонального сигнала В прошлой статье мы создали измеритель уровня сигнала. В этой мы научимся обнаруживать тональный сигнал. В старые времена, когда не в каждой семье был телевизор, и у половины из них каналы переключали...

[Перевод] Всё, что нужно знать о Progressive Web App (PWA) PWA — прогрессивные веб-приложения. Предупреждение. Эта статья не проспонсирована PWA. Все взгляды и мнения в статье принадлежат только её автору. Progressive Web App или PWA — лучший способ для разработчиков заставить свои веб-приложения загружаться быстрее и быть более...

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

Транскомпилируемые языки: проекты конвертации код-в-код Источник: Ward Cunningham Транспиляция — это конвертация кода одного языка в другой. С помощью специального транспилера (транскомпилятора) один язык программирования общего назначения можно перенести на любой другой язык программирования общего назначения. Если необходимо...

[Перевод] Делаем своими руками: KVM Over IP при помощи Raspberry Pi На Хабре вряд ли стоит рассказывать о программах удаленного доступа к ПК, вроде TeamViewer. Но все это работает лишь в среде операционной системы. А вот доступа к BIOS, возможности установки, переустановки и прочих операций с операционной системой нет. Для всего этого есть ...

Беспроводной DIY датчик тепрературы и влажности с e-paper дисплеем Всем привет! Сегодня хочу рассказать читателям о своем DIY проекте датчика температуры и влажности с e-ink дисплеем. Это будет некая обзорная статья об этапах создания устройства, будет много картинок. Идея этого проекта родилась около двух лет назад, примерно тогда я увлекс...

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

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

Запуск тестов JMeter в OpenShift, используя Jenkins Pipeline Всем привет! В этой статье хочу поделиться одним из способов запуска тестов производительности JMeter в OpenShift'e с использованием Jenkins'a в качестве автоматизации. Сначала мы проделаем все необходимые действия (создание ImageStreams, BuildConfig, Job и проч) в ручном р...

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

Материальный дизайн. Создание анимаций в Kivy Приветствую всех любителей и знатоков языка программирования Python! В этой статье я покажу, как работать с анимациями в кроссплатформенном фреймворке Kivy в связке с библиотекой компонентов Google Material Design — KivyMD. Мы рассмотрим структуру Kivy проекта, использован...

Открытие портов 4321 и 9898 на шлюзе Xiaomi Gateway 2 Введение Отдыхая на новогодних праздниках, я загорелся идеей создания «Умного дома». Среди «народных» экосистем наиболее популярным в силу дешевизны и обилия всевозможных подключаемых устройств мне сразу показалось решение от Xiaomi. Сразу отказавшись от управления своим дом...

Исключения C++ через призму компиляторных оптимизаций На дворе 21-й век, непроизводительная реализация обработки C++ исключений на основе setjmp/longjmp уже в прошлом. Современные компиляторы, такие как gcc и clang, используют продвинутую реализацию C++ исключений, называемую zero-cost exception handling. Но насколько действи...

[Перевод] Как работает гистограмма Prometheus? Перевод статьи подготовлен в преддверии старта курса «Мониторинг и логирование: Zabbix, Prometheus, ELK». Ранее мы рассматривали счетчик (counter), измеритель (gauge) и сводку (summary). Теперь же давайте поговорим о том, как работает гистограмма (histogram) в Prometheus....

Интерфейсные байки Токсичного Деда. “Исследуй это!” (s1 e1) Приветствую. Сейчас только ленивый не пишет статьи и не выступает с докладами на тему: «Я дизайнер интерфейсов и сейчас я буду чесать ЧСВ.» И всегда в таких статьях и выступлениях речь идет о сайтах, мобильных приложениях и подобном b2c продукте. Переводя на общеупотребит...

Работа с асинхронностью в Dart Всем привет! Меня зовут Дмитрий Репин, я Flutter-разработчик в Surf.В этой статье я расскажу о том, как работать с асинхронностью в Dart: всё о самых важных классах библиотеки dart:async с примерами под катом. Поговорим о том, как в однопоточном языке сходить в сеть или базу...

Что нового в TestMace часть 1. Облачная синхронизация, обновленный интерфейс и многое другое Всем привет! После долгого перерыва TestMace вновь вылезает из норы, чтобы поведать миру о новостях, связанных с проектом. Если кто забыл либо не читал статью о нас, TestMace — это IDE для работы с API. Наша тулза ставит целью покрыть весь спектр работ с существующим API, к...

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

Встраиваемые системы машинного обучения на базе Nvidia Jetson Аппаратные платформы для машинного обучения быстро развиваются и дешевеют. Модули Nvidia Jetson позволяют создавать эффективные и доступные решения для Edge Computing. Сегодня стало возможным уместить высокопроизводительную систему с 256 графическими ядрами Nvidia Cuda в к...

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

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

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

Open360: как мы начали с разработки модели премирования и сделали IT-систему для внутреннего HR TL;DR: рассказываю о задаче оценки вклада сотрудника в общий результат и новой open source системе проведения круговой оценки сотрудников, разработанной в нашей компании, на базе метода оценки 360 градусов. Здравствуйте, меня зовут Иван Кудрявцев — я технический директор и ...

[Из песочницы] Как работают реляционные базы данных (Часть 1) Привет, Хабр! Представляю вашему вниманию перевод статьи "How does a relational database work". Когда дело доходит до реляционных баз данных я не могу не думать, что чего-то не хватает. Они используются везде. Существует множество различных баз данных: от небольшог...

FOSS News №6 — обзор новостей свободного и открытого ПО за 2-8 марта 2020 года Всем привет! Продолжаем обзоры новостей свободного и открытого ПО (и немного железа). Всё самое главное про пингвинов и не только, в России и мире. В выпуске №6 за 2–8 марта 2020 г.: Выпуск Chrome OS 80 Массовый отзыв сертификатов Let's Encrypt Удаление Эрика Рэймонда ...

[Перевод] Принципы для разработки: KISS, DRY, YAGNI, BDUF, SOLID, APO и бритва Оккама Хорошему программисту необходимо уметь совмещать свои навыки со здравым смыслом. Все дело в прагматизме и навыке выбора лучшего решения для вашей проблемы. Когда вы сталкиваетесь с проблемой при разработке ПО, вы можете воспользоваться базовыми принципами, которые помогут ...

Как я искал хелпдеск среди 15 решений и… не нашёл Этой статьи не должно было быть: вроде как и Хабр не жалобная книга, и у меня частная история далеко не хабровской компании. Но именно на Хабре я получил не очень корректное отношение одной компании и познакомился аж с двумя другими в самый подходящий момент — в момент, когд...

Создаем калькулятор на Swift 5 В преддверии старта базового курса «iOS-разработчик» публикуем статью, которую написал наш внештатный автор. Всем привет! Прошло уже больше года с того момента, как появился релиз Swift 5, который принес разработчикам много нового. В этой статье я хочу поговорить о мобиль...

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

Применение Flowmon Networks для контроля производительности распределенных приложений и баз данных Статью подготовил Dmitriy Andrichenko | Sales Executive, Russia & CIS | Flowmon Networks Приветствуем Вас на странице нашей новой статьи, посвященной решению задач контроля производительности распределенных сетевых приложений и баз данных. Данная статья является продо...

[Из песочницы] Есть ли «GameDev» на Сахалине? 1.V Я решил провести тщательный игровой обзор народной «цифровизации», прямо всё, что связано с Сахалином. Не коснемся умирающего кибер-спорта и пропагандирующих игр как «Путешествуй безопасно!» от клуба «Бумеранг». Турниры по игре, «Сеня спасатель» от МЧС России получивший ди...

Как создать шаблон описания системы и начать его использовать Когда в IT-компании работают 6 человек, которые пилят одну систему и обсуждают её в кулуарах, описание системы и документация кажутся ненужными. Но когда систем уже более 100, без описания не обойтись. Ведь непродуманное изменение UI может остановить создание заказов. Мы соз...

VPS на Linux с графическим интерфейсом: запускаем сервер X2Go на Ubuntu 18.04 Настройку VNC и RDP на виртуальном сервере мы уже освоили, осталось изучить еще один вариант подключения к виртуальному рабочему столу Linux. Возможности созданного компанией NoMachine протокола NX достаточно интересны, к тому же он хорошо работает через медленные каналы. Ф...

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

Потоковая передача колоночных данных с помощью Apache Arrow Перевод статьи подготовлен специально для студентов курса «Data Engineer». За последние несколько недель мы с Nong Li добавили в Apache Arrow бинарный потоковый формат, дополнив уже существующий формат файлов random access/IPC. У нас есть реализации на Java и C++ и привяз...

Лучший доступный корпус. COUGAR Gemini M Silver В последнее время многие пользователи, находясь на карантине, начали собирать компьютеры, дабы наслаждаться фильмами, играми, сериалами и прочим развлекательным контентом. При этом многие наши читатели банально не знают, какой корпус им выбрать для своего компьютера мечты. М...

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

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

Знакомимся с Needle, системой внедрения зависимостей на Swift Привет! Меня зовут Антон, я iOS-разработчик в Joom. Из этой статьи вы узнаете, как мы работаем с DI-фреймворком Needle, и реально ли он чем-то выгодно отличается от аналогичных решений и готов для использования в production-коде. Это всё — с замерами производительности, есте...

Клиентоориентированный Data Lake в игровой компании Источник Привет, Хабр! Меня зовут Максим Пчелин, и я руковожу разработкой BI-DWH в MyGames (игровое подразделение Mail.ru Group). В этой статье я расскажу о том, как и зачем мы строили клиентоориентированное DataLake-хранилище. Статья состоит из трех частей. Сперва я расс...

[Перевод] Самодельный ноутбук ZedRipper на 16-и Z80 Статья с сайта безумного инженера-самодельщика Криса Фентона Встречайте ZedRipper – 16-ядерный зверюга, работающий на частоте 83 МГц на базе процессоров Z80 – настолько же портативный, насколько непрактичный. Это моя самая свежая на сегодня попытка собрать компьютер ради ...

BlazingPizza: приложение на Blazor от начала и до конца. Часть 1. Настройка среды Всем привет! Если вы слышали о Blazor, но до сих пор не понимаете, что это такое. То вы по адресу. Это первая статья из цикла 12 статей, которая проведет вас через все круги ада весь процесс создания приложения на Blazor. В конце у нас будет готовый сайт небольшой пиццерии, ...

[Перевод] Почему я отказался от Google Maps API TL;DR Недавние изменения в модели ценообразования, мягко говоря, безумны. Когда я в 2012 году запустил NUKEMAP, у Google Maps были просто потрясающие программные интерфейсы. Абсолютно лучшие API для создания картографических мэшапов на JavaScript, практически бесплатные, с...

[Из песочницы] Создание Discord-бота на Python. Часть 1 Версии, которые стоят у автора Версия Python: 3.8.2 Версия discord.py: 1.3.3 Приветствую, хабровчане и другие пользователи интернета. Сегодня я начну цикл статей, посвящённых созданию Discord-бота с помощь...

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

Использование партиционирования в MySQL для Zabbix с большим количеством объектов мониторинга Для мониторинга серверов и служб у нас давно, и все еще успешно, используется комбинированное решение на базе Nagios и Munin. Однако эта связка имеет ряд недостатков, поэтому мы, как и многие, активно эксплуатируем Zabbix. В этой статье мы расскажем о том, как минимальными у...

Создание дизайн-системы для игры: детальный разбор подхода Меня зовут Максим Полстяной, я UI/UX Designer в Plarium Kharkiv. В этой статье я поделюсь опытом создания дизайн-системы для нашей браузерной стратегии «Войны Престолов», расскажу с чего все начиналось и какие этапы мы проходили. Читать дальше →

Лучшие доступные ноутбуки 2020 года. Lenovo Ideapad 330 15 Intel ASUS VivoBook 15 X512 Компания ASUS довольно давно на рынке ноутбуков и всегда показывала отличные результаты как в начальном сегменте, так и во флагманском. Однако нас сегодня интересует именно доступный сегмент, так как он более необходим обычному человеку. Не каждый м...

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

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

1С — Добро и зло. Расстановка точек в холиварах вокруг 1С Друзья и коллеги, в последнее время на Хабре участились статьи с хейтом в адрес 1С, как платформы для разработки, и выступлениями ее защитников. Эти статьи обозначили одну серьезную проблему: чаще всего, критики 1С критикуют ее с позиции "не осиливших", ругая проблемы, кото...

О ходе создания русской народной игры «Колобок» в феврале Создание "Колобка" началось для меня 13-го февраля, когда я решил по совету коллеги глянуть инструмент GDevelop. Через неделю я уже опубликовал статью, в которой призывал всех неравнодушных присоединиться. Рассказываю, что произошло с проектом за прошедшие две нед...

[Из песочницы] Как поднять свой сервер на RaspberryPI на основе docker Сказ о том, как я настраивал сервисы в docker на Raspberry PI и почему это, возможно, не лучшая идея. Введение (или как всё начиналось) Началось всё очень давно пару лет назад. Так уж вышло, что я оказался в Китае и надо было как-то связываться с внешним миром. Сторонним VPN...

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

Адаптивный или отзывчивый? Разбираем структуру React-компонентов В этой статье мы разберёмся, в чем сложность написания адаптивных компонентов, поговорим о code-splitting-е, рассмотрим несколько способов организации структуры кода, оценим их достоинства и недостатки и попытаемся выбрать лучший из них (но это не точно). Читать дальше &ra...

[Перевод] Локализация в ASP.NET Core Razor Pages — Культуры Привет, хабр! Прямо сейчас OTUS открывает набор на новый поток курса "C# ASP.NET Core разработчик". В связи с этим традиционно делимся с вами полезным переводом и приглашаем записаться на день открытых дверей, в рамках которого можно будет подробно узнать о курсе, а также за...

Сборка ZAV PRO V3. О чем не рассказал Алекс Корвин Простите за немного кликбейтный заголовок, но в этом длинном тексте речь пойдет именно о тех деталях, которые в обзоре Алекса Корвина и других видео и текстах авторы не упоминали. Некоторой информации мне не хватало при сборке, надеюсь, что эта статья пригодится тому, кто бу...

GSM/3G/4G-модемы во встраиваемых системах на примере LTE-модема Quectel EC21 и Yocto Project Многим устройствам на базе встраиваемых систем необходим интернет. Проводное подключение к интернету для них не всегда возможно, и если устройства находятся в зоне действия сотовой связи, то к интернету можно подключиться с помощью GSM/3G/4G-модемов. В этой заметке описан ...

Свой сервер видеоконференций Jitsi. Часть 1 Это первая статья, в которой я расскажу, как поднять свой собственный сервер видеоконференций Jitsi-meet. Я планирую выпустить три статьи на эту тему: Свой сервер видеоконференций Jitsi. Jitsi и все необходимые службы работают на одном сервере + сервис Jibri (для записи ...

Open-source Antifraud от RBKmoney — на пути к идеалу Привет! Не так давно мы писали в нашем блоге про антифрод и его устройство. В этом посте я хотел бы затронуть критерии идеального антифрода, который бы и клиентам жизнь упрощал, не блокируя платежи и при этом защищая их средства, и платежной системе время и ресурсы экономил...

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

Собираем простейшую ZigBee-сеть, программируем под Mbed, общаемся через MQTT Собираем простейшую ZigBee-сеть, программируем под MBed, общаемся через MQTT Эта статья — большой учебный практикум начального уровня по использованию XBee-модуля в связке с микроконтроллером, имеющим на борту Mbed OS. Стек XBee реализует ZigBee-стандарт и подходит для задач...

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

Postgresso 20 Жизнь продолжается. Продолжаем знакомить вас с самыми интересными новостями PostgreSQL Главная новость Feature Freeze Функциональность 13-й версии PostgreSQL заморожена. Теперь только доработки и исправления багов. Список нового, вопреки многим ожиданиям, довольно обширный...

Выигрыши с лучшей букмекерской конторой Вулкан Букмекерская контора Вулкан запустилась не так давно на базе Кюрасао. Сайт https://vulkanbet.ru/ имеет изящную визуальную эстетику и демонстрирует последние предложения новых релизов и общий разнообразный игровой контент. То, как отображается ресурс, зависит от того, какое у...

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

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

[Перевод] Управление по защите данных Германии: телеметрия в Windows 10 1909 Enterprise может быть полностью отключена Телеметрия давно стала горячо обсуждаемой темой с момента, когда Microsoft выпустил первую версию Windows 10. Microsoft решил глубоко интегрировать сбор данных в операционную систему — да так глубоко, что у пользовательских выпусков Windows 10 Home и Windows 10 Pro не было о...

Arc — система контроля версий для монорепозитория. Доклад Яндекса Системы контроля версий уже давно стали повседневным инструментом разработчика. В больших монорепозиториях требования к ним оказываются весьма специфическими. Из-за этого компании либо адаптируют существующие решения, как это делает Facebook с Mercurial и Microsoft с Git, ли...

Разработка веб-сайта на паскале (backend) В этой статье я расскажу о том, зачем, почему и как я начал делать сайты на паскале: Delphi / FPC. Вероятно, «сайт на паскале» ассоццируется с чем-то вроде: writeln('Content-type: text/html'); Но нет, всё гораздо интереснее! Впрочем, исходный код реального сайта (почти ве...

6 лучших смартфонов 2019 по версии пользователей Один из авторитетных западных сайтов (GSMarena) провёл голосование среди своих читателей, выясняя, какой смартфон покупатели считают самым удачным и выпущенных в 2019 году. Мы уже ранее писали о выборе журналистов, но другого западного издания, которые определили лучший см...

Применение CQRS & Event Sourcing в создании платформы для проведения онлайн-аукционов Коллеги, добрый день! Меня зовут Миша, я работаю программистом. В настоящей статье я хочу рассказать о том, как наша команда решила применить подход CQRS & Event Sourcing в проекте, представляющем собой площадку для проведения онлайн-аукционов. А также о том, что из эт...

Мой опыт разработки на языке Nim Привет, Хабр! Уже довольно давно я пишу свой игровой фреймворк — такой pet project для души. А так как для души нужно выбирать что-то, что нравится (а в данном случае — на чём нравится писать), то выбор мой пал на nim. В этой статье я хочу поговорить именно про nim, про его...

Эшелонированная защита. Fortinet & Flowmon Networks В последнее время все больше компаний дозревают до эшелонированной защиты, когда одно решение защищает периметр сети, другое — оконечные станции, третье — постоянно мониторит сеть, обнаруживая аномалии, четвертое сканирует сеть на предмет незакрытых уязвимостей и так далее...

Перезагрузка текстур OpenGLESv2 через DMABUF В этой статье я хочу рассказать, как просто можно обновлять текстуры OpenGLES через DMABUF. Поискал по Хабру и к своему удивлению не обнаружил ни одной статьи на эту тему. В Хабр Q&A тоже ничего такого не нашел. И это для меня немного странно. Технология появилась довол...

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

Новая работа vs Карантин Менять работу всегда волнительно, но каково выходить на новое место во время пандемии? Герои этой статьи — новички DINS, которые присоединились к команде в период самоизоляции. Они рассказывают о своих опасениях, удаленном онбординге и делятся мнением по поводу перехода на ...

Создание сайта – от А до Я Создание сайта— это длительный процесс, который требует последовательности действий и проработки всех этапов. Чтобы клиент получил функциональный сайт или магазин, нужно ответить на несколько вопросов: Какие задачи у сайт? На каких посетителей он рассчитан? Как он будет раб...

DevOps для разработчиков (или против них?!) Подход DevOps качественно изменил процесс разработки. Если раньше программисты только писали код и прогоняли тесты, то теперь они участвуют и в развертывании проектов на продакшен. Звучит так, будто сисадмины решили переложить свои заботы на плечи разработчиков, не так ли?...

FOSS News №2 — обзор новостей свободного и открытого ПО за 3-9 февраля 2020 года Всем привет! Продолжаю обзор новостей свободного и открытого ПО (и немного железа). В этот раз постарался брать не только российские источники, но и англоязычные, надеюсь получилось интереснее. Кроме того, кроме собственно новостей, добавлено немного ссылок на вышедшие за...

[Перевод] Delta: Платформа синхронизации данных и обогащения В преддверии запуска нового потока по курсу «Data Engineer» подготовили перевод интересного материала. Обзор Мы поговорим о достаточно популярном паттерне, с помощью которого приложения используют несколько хранилищ данных, где каждое хранилище используется под свои цели,...

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

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

[Перевод] Концепции, лежащие в основе Web Audio API Доброго времени суток, друзья! В этой статье объясняются некоторые концепции из теории музыки, на основе которых работает Web Audio API (WAA). Зная эти концепции, вы сможете принимать взвешенные решения при проектировании аудио в приложении. Статья не сделает вас опытным ...

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

[Перевод] Обзор 14 свежих плагинов для Фигмы, которые помогут повысить производительность пока мы все #сидимдома Сегодня мы поговорим о следующих новых Figma плагинах: AutoGrid — Поддержка сетки для AutoLayout. Tracking – Плагин для создания аннотаций отслеживания. Find and Replace Colors – Организация цветовых стилей в ваших дизайнах Spacing Manager – Плагин для согласованных отст...

Как переиспользовать код с бандлами Symfony 5? Часть 6. Тестирование Поговорим о том, как прекратить копипастить между проектами и вынести код в переиспользуемый подключаемый бандл Symfony 5. Серия статей, обобщающих мой опыт работы с бандлами, проведет на практике от создания минимального бандла и рефакторинга демо-приложения, до тестов и ре...

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

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

Предвзятый и субъективный взгляд на резюме разработчика Привет! Недавно мои коллеги из hh.ru провели вебинар, где разбирали резюме разработчика. Я решил поделиться своей точкой зрения на этот счет. В этой статье мы поговорим о том, как разработчики создают резюме. Я расскажу о том, что меня, как интервьюера, мотивировало и вооду...

Статический генератор сайтов Hugo. Фронтенд реалии В 2020 практически весь мир фронтенда заполонили Javascript фреймворки. Только и слышно о React, Angular, Vue и иногда в далеких просторах можно услышать тихий шепот «Svelte». Разработчики умело используют эти инструменты для создания крутых продуктов, но есть и «динозавры» ...

[Перевод] Лучшие практики Kubernetes. Корректное отключение Terminate Лучшие практики Kubernetes. Создание небольших контейнеров Лучшие практики Kubernetes. Организация Kubernetes с пространством имен Лучшие практики Kubernetes. Проверка жизнеспособности Kubernetes с помощью тестов Readiness и Liveness Лучшие практики Kubernetes. Настройка зап...

[Перевод] Почему разработчики влюбляются в функциональное программирование? Функциональное программирование (ФП) существует уже лет 60, но до сих пор оно всегда имело достаточно узкую сферу использования. Хотя компании, меняющие мир, вроде Google, полагаются на его ключевые концепции, средний современный программист знает об этом феномене очень мало...

[Перевод] Разбираемся с launchMode Android Activity: standard, singleTop, singleTask и singleInstance Перевод статьи подготовлен специально для студентов продвинутого курса по Android разработке. Activity — это одна из самых ярких концепций в Android (самой популярной мобильной операционной системе с хорошо продуманной архитектурой управления памятью, которая отлично реал...

[Перевод] Фронтенд-разработчику: 10 направлений, в которых стоит развиваться в 2021 году Профессия «фронтенд-разработчик», без сомнения, будет одной из самых востребованных в 2021 году. Раньше тем, кто работал в этой сфере, для создания интерактивных сайтов достаточно было знать HTML, CSS и, возможно, jQuery. Но сегодня фронтенд-разработчик вынужден существоват...

[Из песочницы] Коронавирус: мы все умрём? Что мы говорим Богу смерти? — Не сегодня. Сирио Форель, сериал «Игра престолов». Насколько действительно опасен коронавирус COVID-19? Сколько людей умрёт от коронавируса в мире? А сколько – в России? Так ли необходимы жесткие меры, принимаемые для борьбы с коронавирусом в ...

[Из песочницы] Riak Cloud Storage. Часть 1. Настройка Riak KV Riak CS (Cloud Storage) – лёгкое в использовании программное обеспечение для организации хранилища объектов, работающее поверх Riak KV. Riak (KV) это распределённая NoSQL база данных типа «ключ-значение(key-value)». Riak CS спроектирована так, чтобы обеспечить простоту, дост...

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

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

IKEv2 туннель между MikroTik и StrongSwan: EAP ms-chapv2 и доступ к сайтам Идея статьи возникла желании пропускать определенные сайты через VPN-туннель напрямую через маршрутизатор. Так как количество устройств дома велико, а пускать весь трафик через VPN неудобно в связи с низкой пропускной способностью туннеля. Статья написана сразу после создани...

Как e2e автотесты на Selenide помогают QA-команде при частых релизах Всем привет! Я Иван, старший инженер-тестировщик в КРОК. Уже 6 лет занимаюсь тестированием ПО. Из них 3 года внедряю автоматизацию тестирования на различных проектах - люблю всё автоматизировать. На рабочей машине много разных “батников” и bash-скриптов, которые призваны упр...

Делаем маршрутизацию (роутинг) на OpenStreetMap. Введение Хотелось бы поделиться опытом создания систем маршрутизации PostgreSQL/PgRouting на карте OpenStreetMap. Речь пойдет о разработке [коммерческих] решений со сложными требованиями, для более простых проектов, вероятно, достаточно обратиться к документации. Насколько мне извест...

Казино Вулкан с моментальным выводом денег Если вас давно привлекает азартный досуг, то возможно вас заинтересует Вулкан казино с выводом денег смотри здесь playvulcan-kazino.net/hotnews-realnyivyvoddeneg. Если вы действительно давно хотите получить яркие азартные эмоции и перспективы крупного выигрыша, то казино Вул...

Рейтинг лучших 3D-принтеров на весну 2020 года Мы все обожаем читать различные рейтинги - рейтинг миллиардеров по версии Forbes, лучшие смартфоны и ноутбуки, самые красивые и дорогие яхты, лучшие виллы и, конечно же, рейтинги лучших гостиниц, достопримечательностей и городов, что лучше Париж, Лондон, Нью-Йорк или Мальдив...

Как сделать базовый тест-класс для Selenium тестов и выполнить инициализацию через JUnit RuleChain Этой статьей мы продолжаем серию публикаций о том, как мы автоматизировали в одном из крупных проектов ЛАНИТ процесс ручного тестирования (далее – автотесты) большой информационной системы (далее – Системы) и что у нас из этого вышло. Как эффективно организовать иерархию кл...

Orchestrator и VIP как HA-решение для кластера MySQL В Ситимобил мы используем базу данных MySQL в качестве основного хранилища постоянных данных. У нас есть несколько кластеров баз данных под различные сервисы и цели. Постоянная доступность мастера является критическим показателем работоспособности всей системы и ее отдельны...

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

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

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

TelegramBot инструкция по созданию базового функционала для бота. (Часть 1) Не так давно я предложил вам воспользоваться моим ботом для телеграмма. Telegram Bot — помощник в планировании мероприятий Получив много вопросов в личку, я понял, что вопрос создания ботов для Телеграм довольно популярен. У меня спрашивали исходный код бота, просили по...

Создание отказоустойчивой ИТ инфраструктуры. Часть 4. Внедрение коммутаторов Cisco 3850 для межсетевой маршрутизации Статья предназначена для ознакомления с процессом внедрения коммутаторов третьего уровня в существующую сетевую инфраструктуру, и в основном адресована сетевым администраторам и инженерам. В ней рассказывается про настройку стека из двух коммутаторов Cisco 3850, и их использ...

[Перевод] Хорошо подумайте, прежде чем использовать Docker-in-Docker для CI или тестовой среды Docker-in-Docker представляет собой виртуализированную среду Docker-демон, запущенную в самом контейнере для сборки образов контейнера. Основной целью создания Docker-in-Docker была помощь в разработке самого Docker. Многие люди используют его для запуска Jenkins CI. Понач...

IP-телефония. Виды VoIP устройств, обзор плюсов-минусов. Что выбрать? По данным исследований DISCOVERY Research Group среднегодовой темп роста IP-телефонии в России составляет 30%. Предположительно рынок IP-телефонии в России к 2021 году вырастет до 14,2 млрд. Как видите, рост довольно серьезный. С развитием услуг IP-телефонии растет и рынок V...

Архитектура транзакций в Apache Ignite В этой статье мы рассмотрим, как устроены транзакции в Apache Ignite. Не будем останавливаться на концепции Key-Value хранилища, а перейдем сразу к тому, как это реализовано в Ignite. Начнем с обзора архитектуры, а затем проиллюстрируем ключевые моменты логики транзакций при...

Нерушимая PostgreSQL, или Как обеспечить отказоустойчивость для «открытой» СУБД На просторах Интернета море информации о том, как построить отказоустойчивую систему управления базами данных PostgreSQL. Но она слабо применима к задачам крупных компаний и не выдерживает строгости требований стандартов enterprise. В проекте создания ИТ-инфраструктуры для н...

Project Loom: виртуальные потоки в Java уже близко Несколько дней назад Ron Pressler разродился статьей State of Loom, которую не полайкал только самый ленивый джавист. Статья действительно хорошая, в ней много интересных метафор, которые я собираюсь бессовестно использовать теперь без ссылки на первоисточник. Со своей сто...

Безопасность REST API от А до ПИ Введение Умение реализовать грамотное REST API — полезный навык в наше время, т.к. все больше сервисов предоставляют свои возможности с помощью API. Но разработка REST API не ограничивается реализацией HTTP запросов в определенном стиле и формированием ответов в соответстви...

Приглашаем на SPb Scala Meetup 2020.1 Встречаемся 19 февраля, чтобы обсудить наболевшее – Scala системы сборки. Встреча сообщества состоится в нашем офисе (Старо-Петергофский, 19). В программе три доклада. Будем говорить про существующие билд тулы для Scala, разберемся, когда Pants лучше других систем сборки и...

Make «udalenka» great again: как перевести всю компанию на удаленную работу в 4 этапа В то время как коронавирус шагает по планете, на рынке ценных бумаг лидирует туалетная и целые страны закрывают на карантин, все больше компаний вынуждены переводить сотрудников на удаленную работу. Мы в RUVDS не стали исключением и решили поделиться с Хабром своим опытом ор...

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

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

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

[Из песочницы] GSM IoT-провайдер в ЖКХ (Часть 1) Прочитал статьи автора Interfer о трудностях в Iot и решил рассказать о своём опыте IoT-провайдера. Статья первая не рекламная, большая часть материала без моделей оборудования. Постараюсь написать детали в следующих статьях. Не вижу проблем применения GSM модемов для сбо...

Продвинутая система авторизации действий с ресурсами в Laravel. Часть 2. Шлюзы, Политики Введение Здравствуйте дорогие Хабровчане. Я продолжаю свой цикл статей о продвинутой авторизации действий с ресурсами в Laravel. Чтобы лучше понимать о чем пойдет речь этой статье — необходимо прочесть Первую часть. Для начала вкратце повторю постановку задачи: Имеется бол...

Метод решения системы диофантовых уравнений Добрый день! Как и обещал в первой своей статье, я хочу ознакомить Вас с одним из методов решения системы диофантовых уравнений. Цель статьи ознакомить остальных читателей с этой методикой и донести её в более или менее понятном виде. Рассмотрим систему из двух диофантовых у...

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

[Перевод] Rust для Java разработчиков Представляю перевод статьи автора Evan Cameron, которая может помочь Java разработчикам лучше понять отличия и схожесть этих двух языков — оригинал на сайте автора. Не считая себя достаточно опытным Rust разработчиком, я вряд ли смогу аргументированно участвовать в возможных...

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

Обзор про принтер UlTi Steel спустя 15 месяцев владения Астрологи объявили месяц UlTi Steel.Количество статей про UlTi Steel выросло втрое.В далёком апреле 2020 года решился на апгрейд своего Эндера, т.к. много печатал всяких мелких штук для врачей и хотелось делать это побыстрее. Долгое время "облизывался" на ZAV, почти решился ...

[Перевод] Thanos — масштабируемый Prometheus Перевод статьи подготовлен специально для студентов курса «DevOps практики и инструменты». Фабиан Рейнарц (Fabian Reinartz) — разработчик программного обеспечения, фанат Go и любитель решать сложные задачи. Также он мэйнтейнер Prometheus и соучредитель Kubernetes SIG instr...

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

[Перевод] Дизайн-токены способны на большее: создаем единый источник информации о компонентах UI Термином «дизайн-система» в IT давно никого не удивишь. Компании систематизируют дизайн продуктов, придумывая свои или используя чужие инструменты для управления стилями, паттернами и компонентами.  Badoo не является исключением: с помощью нашей дизайн-системы Cosmos мы подд...

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

Зачем (не)нужны геттеры? Прошлая статья про сеттеры/геттеры как способ работы с сущностью (на примере Symfony в PHP) получила бурное обсуждение. В данной статье попробую выразить свои мысли отдельно по поводу геттеров: зачем и когда что-то получать, какую ответственность они решают и когда их уместн...

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

Про перевод «сфер» Про «сферы» Не знаю, как вас, а меня корёжит, когда «в сфере» переводят на английский in the sphere. В этой статье я как раз поговорю об этих всяких сферах и сразу дам спойлер — слова sphere вы нигде в примерах не увидите. Примерно в половине случаев эта фраза вообще не пере...

Запускаем Jupyter на орбиту LXD Приходилось ли вам экспериментировать с кодом или системными утилитами в Linux так, чтобы не трястись за базовую систему и не снести всё с потрохами в случае ошибки кода который должен запустится с root-привилегиями? А как на счет того, что допустим, необходимо протестироват...

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

[Перевод] PuppetConf 2016. Kubernetes для сисадминов. Часть 1 Я системный администратор, занимаюсь компьютерами, и сегодня мы поговорим о Kubernetes. Я постараюсь глубже окунуться в тему, рассмотрев, какие проблемы сисадмин может решить с помощью этого приложения, и также затрону некоторые моменты эксплуатации Puppet, которая вроде как...

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

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

Пора на свалку Никогда не думал, что это случится со мной, но, похоже, я выгорел. А ещё мне стрёмно. Да, это ещё одна статья про выгорание. Я тут на днях смотрел на свою RSS-читалку и заметил, что под тегом «C++» у меня где-то три сотни непрочитанных статей. Я не прочитал ни одной статьи ...

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

Изучаем VoIP-движок Mediastreamer2. Часть 8 Материал статьи взят с моего дзен-канала. Структура RTP-пакета В прошлой статье мы с помощью TShark выполнили захват RTP-пакетов, которыми обменивались наши приемник и передатчик. Ну а в этой мы раскрасим элементы пакета в разные цвета и поговорим об их назначении. Взглянем...

[Перевод] Как выучиться на Data Scientist: наиболее востребованные технические навыки Какие технические знания становятся наиболее популярными у работодателей, а какие теряют свою популярность. В своей первоначальной статье 2018-го года я рассматривал спрос на общие навыки – статистику и коммуникацию. Также я рассматривал спрос на Python и язык программиро...

[Из песочницы] Временная локализация на Symfony 4 + Twig Потребность во временной локализации продукта возникает, когда продукт вырастает до таких масштабов, при которых необходима работа в разных временных зонах (очевидность). Хочется описать вариант простой идеи решения этого кейса. Предыстория такова: разрабатывали нишевую CRM...

VMware ESXi на Raspberry Pi: они реально это сделали То, что выглядит как забавная шутка, иногда оказывается вполне серьезным проектом. Это редко, но случается. Буквально на этой неделе было анонсировано техническое превью гипервизора VMware ESXi на архитектуре aarch64 под названием ESXi-Arm-Fling. В этой статье мы рассмотрим...

[Из песочницы] Шизофрения: взгляд после Грани безумия В те далекие времена, когда я чувствовал себя получше, я частенько заходил почитать хабр. Теперь почти полная потеря интереса к ИТ — одна из самых незначительных моих проблем. Заранее прошу прощения за исковерканные слова и знаки препинания, тут уже давно во вс...

Цифро-аналоговое и смешанное моделирование в PADS Professional Одной из полезных функций, включенных в PADS Professional, является встроенный инструмент моделирования аналоговых смешанных сигналов (AMS), который позволяет моделировать ваши схемотические проекты с использованием моделей SPICE и VHDL-AMS. Возможность использования обоих...

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

[Из песочницы] Кому на Руси жить хорошо? Как мы искали самый “зеленый” город с помощью OpenStreetMap и Overpass API У каждой карты есть легенда: именно она говорит читателю о том, что и каким образом на ней обозначено. Домам соответствуют многоугольники серого цвета, дорогам — отрезки и кривые, территории парков и скверов заливаются светло-зеленым и украшаются пиктограммой дерева. А к нек...

Сказ о том, как я Home Assistant настраивал Home Assistant — это популярная система умного дома, которая автоматизирует привычные бытовые процессы и работает на YAML файлах. В этой статье я расскажу, как настроить Home Assistant (далее HA), и что конкретно я использую в повседневной жизни. Это поможет вам избежать ош...

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

Настройка CI/CD в Plesk+Github Actions для проекта на Flask+Angular В этой статье я поделюсь своим опытом настройки CI/CD с использованием панели управления Plesk и Github Actions. Сегодня будем учиться деплоить простенький проект с незамысловатым названием «Helloworld». Он написан на Python-фреймворке Flask, с воркерами на Celery и фронтен...

[Перевод] Flutter: 11 вещей, которые нужно помнить для вашего следующего проекта Создание нового проекта на Flutter - это благословение - свежая кодовая база, никакого легаси кода (пока что), null safety, самые последние версии ваших любимых библиотек и так далее. Однако, в то же время, необходимо принять критические решения в самом начале, которые будут...

[Перевод] «Давайте использовать Kubernetes!»: как получить 8 проблем Это перевод вводной статьи об использовании Kubernetes: «Let’s use Kubernetes!» Now you have 8 problems Если вы используете Docker, то следующим логичным шагом будет Kubernetes, известный как K8s. Именно так вы обеспечиваете эксплуатацию своих продуктов, верно? Ну, возможн...

Обзор Haier HOX-P06HGBX. Недорогой духовой шкаф объемом в 76 литров Одним из важнейших инструментов любой хозяйки является духовая печь, благодаря которой можно приготовить совершенно бесчисленное множество блюд. Чаще всего при выборе новой духовки покупатели больше смотрят на ее возможности, нежели задумываются о том, насколько она надежна....

MS Remote Desktop Gateway, HAProxy и перебор пароля Друзья, привет! Существует множество способов подключения из дома к рабочему месту в офисе. Один из них — это использовать Microsoft Remote Desktop Gateway. Это RDP поверх HTTP. Я не хочу здесь затрагивать настройку самого RDGW, не хочу рассуждать, почему он хорош или плох,...

Управляя Github-ом: через Terraform к самописному решению на Ansible У нас 350+ человек и 400+ репозиториев на Github-е. В каждой репе может быть несколько админов, и они творят, что считают нужным, — естественно, случается так, что один человек не знает, что делает другой. Когда нам в инфре надоело смотреть на мучения других и добавлять/удал...

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

[Перевод] Обнаружена новая вспышка H2Miner червей, которые эксплуатируют Redis RCE День назад один из серверов моего проекта был атакован подобным червем. В поисках ответа на вопрос «что же это было такое?» я нашел замечательную статью команды Alibaba Cloud Security. Поскольку я не нашел этот статьи на хабре, то решил перевести ее специально для вас <3 ...

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

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

Обзор Creative Sound BlasterX AE-5 Plus. Лучшая PCI звуковая карта 2020 года В 2018 году мы проводили тестирование звуковой карты Creative Sound BlasterX AE-5, ставшей лучшей из доступных на то время. Да и сейчас она сохраняет актуальность, предлагая оснащение, характерное для более высокого ценового сегмента. Не так давно компания обновила ее, выпус...

Перенос работающего сервера на RAID Жил-был LAMP-сервер на Ubuntu 12.04, который работал на одном диске. Соответственно, возникла задача обеспечить перенос сервера на более отказоустойчивую конфигурацию – RAID1. Товарищи, в ведении которых был данный сервер установили второй диск, а дальнейшее было возложено н...

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

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

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

Скрытые функции Samsung на One UI, о которых надо знать Нам каждый раз говорят, что та или иная операционная система очень удобная и интуитивно понятная. Вот только это не так. Иначе, почему тогда каждый раз есть, о чем рассказать в статье, вроде этой? Уверен, что многие из вас скажут что-то, вроде ”Вау, вот оказывается, как мож...

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

ELK, SIEM, Open Distro: Составление отчетов Чтобы защитить вашу корпоративную сеть от угроз и атак, вы всегда должны выполнять тест на уязвимости в своей системе. Для того, чтобы их исправить. Итак, как вы понимаете, работа с отчетами очень важна для любого SOC, потому что она дает обзор уязвимостей, которые могут быт...

Устройство расширений для браузера Firefox (WebExtensions) Для людей, работа которых связана с использованием сети Интернет, расширения браузера могут быть очень полезными инструментами. С помощью них можно избавить пользователя от повторения одних и тех же действий и лучше организовать рабочий процесс. Можно составить набор инструм...

Обзор Defender G24. Недорогая колонка с Bluetooth 5.08 Не так давно компания Defender пополнила линейку беспроводных колонок сразу несколькими моделями. Сегодня в центре внимания будет модель Defender G24, недорогая, но при этом предлагающая поддержку актуального Bluetooth 5.0, с FM-тюнером и встроенным MP3-плеером. Рекомендова...

OrbitDB — децентрализованная база данных на IPFS Мы уже рассказывали про InterPlanetary File System, распределённую сеть поверх одноимённого p2p-протокола с доступом к данным по HTTP. Данные в ней не поддаются изменению (не блокчейн, но часть принципов совпадает), хранятся неограниченно долго и у неё даже есть система ре...

Видео обзор Cougar AQUA 360 - жидкостное охлаждение для процессоров Intel и AMD с RGB подсветкой Cougar AQUA 360 оправдывал наши ожидания, как в плане эффективности, так и работы RGB-подсветки. Рекомендуем эту водянку! Cougar AQUA 360 оправдывал наши ожидания, как в плане эффективности, так и работы RGB-подсветки, а потому лично мы склонны рекомендовать его для пользов...

Полная поддержка популярных реализаций Docker Registry в werf Все популярные реализации реестров для образов контейнеров поддерживают Docker Registry HTTP API и позволяют использовать одни и те же инструменты для работы с ними. Тем не менее, часть реализаций имеет свои особенности и ограничения, а значит — если вам нужно их поддержива...

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

[Перевод] JavaScript tree shaking, like a pro Это перевод статьи об оптимизации и уменьшении размера бандла приложения. Она хороша тем, что тут описаны best practices, советы, которых стоит придерживаться, чтобы тришейкинг работал и выкидывал неиспользуемый код из сборки. Она будет полезной многим, потому что сейчас все...

1. Check Point SandBlast Agent Management Platform Добро пожаловать на новый цикл статей, посвящённый защите персональных рабочих мест с помощью решения Check Point SandBlast Agent и новой облачной системе управления — SandBlast Agent Management Platform. SandBlast Agent рассматривался нами в статьях об анализе зловредов и...

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

Как украсть Macbook У меня несколько раз воровали макбуки и ни разу антикражные средства Apple вроде Find My Mac не помогли мне вернуть компьютер. Действительно ли они бесполезны? Можно ли доверять встроенному шифрованию FileVault? Как повысить шансы вернуть компьютер? Эта статья результат мо...

[Перевод] Юбилейная лекция Дональда Кнута «У рождественской ёлки» В течение четверти века великий стэнфордский почётный профессор проводит в декабре особую лекцию «У рождественской ёлки». Приближающийся к своим 82 годам Дональд Кнут снова провёл юбилейную 25-ю лекцию 5 декабря. Он напомнил аудитории, что по-прежнему усердно продолжает раб...

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

Нейросеть — обучение без учителя. Метод Policy Gradient Доброго времени суток, Хабр Настоящей статьей открываю цикл статей о том, как обучать нейронные сети без учителя. (Reinforcement Learning for Neuron Networks) В цикле планирую сделать три статьи по теории и реализации в коде трех алгоритмов обучения нейронных сетей без учи...

[Перевод] Ода Excel: 34 года волшебства Примечание: статья была написана в 2019 году, а в этом Microsoft Excel отмечает уже 35-летний юбилей. Чему инструмент, выдержавший проверку временем, может научить нас в эпоху «софта, который пожирает мир»? В статье я хочу показать вам, как фундаментальные принципы, стоящи...

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

[Перевод] Управление жестами: От края до края (I) Всем привет. Специально для студентов продвинутого курса по Android-разработке подготовили перевод интересной статьи. Это первая статья их серии «Управление Жестами». Другие статьи вы можете найти по ссылке. В Android Q был добавлен новый режим навигации по системе, п...

Эльбрус VS Intel. Сравниваем производительность систем хранения Аэродиск Восток и Engine Всем привет. Мы продолжаем знакомить вас с системой хранения данных Аэродиск ВОСТОК, выполненной на базе российского процессора Эльбрус 8C. В этой статье мы (как и обещали) детально разберем одну из популярнейших и интереснейших тем, связанной с Эльбрусами, а именно – прои...

Создаем ячейки в iOS В этой статье мы поговорим про систему ячеек в iOS. Обсудим, какие ячейки бывают в iOS, посмотрим на ячейки в дизайн-системе hh.ru и их реализацию в коде и попробуем собрать свою ячейку. Читать далее

Собираем C++ с bazel Введение и мотивация В последнее время на Хабре появляются посты про то, что cmake и c++ — друзья, приводятся примеры, как собирать header-only библиотеки и не только, но нет обзора хоть сколько-нибудь новых систем сборки — bazel, buck, gn и других. Если вы, как и я, пишете ...

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

«Программирование лучше секса» Эту фразу на заре своей трудовой деятельности я услышал от начальника отдела АСУ одного из Советских заводов, когда он предлагал идти работать к нему в отдел. Естественно, тогда я не считал, да и сейчас не считаю, что программирование может быть заменой хорошему сексу. Но...

LyX: Общие замечания. Часть 1 Скопировано с моего блога в целях создания еще одного русскоязычного источника информации по данной теме. Эта статья является продолжением следующих статей одного цикла: статья 1 статья 2 статья 3 статья 4 статья 5 Фух, даже не знаю, как писать этот пост. Я мог бы начать ...

[Перевод] Реверс-инжиниринг домашнего роутера с помощью binwalk. Доверяете софту своего роутера? Несколько дней назад, я решил провести реверс-инжиниринг прошивки своего роутера используя binwalk. Я купил себе TP-Link Archer C7 home router. Не самый лучший роутер, но для моих нужд вполне хватает. Каждый раз когда я покупаю новый роутер, я устанавливаю OpenWRT. Зачем? К...

[Из песочницы] Kamailio SBC или не SBC? Возможно многие, кто по той или иной причине сталкивается VoIP, особенно с решениями с открытым исходным кодом, слышали такое выражение: "Kamailio SBC". В этой статье постараемся разобраться правильно ли приравнивать Kamailio к SBC (пограничный контроллер сессий) и...

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

[Перевод] Можно ли доверять медицинским советам ботов? Доктора пока не уверены в этом Компания Babylon Health, капитализация которой оценивается в $2 млрд, предлагает услуги чатбота, дающего медицинские советы на основе описываемых симптомов. Его использовали уже 1,7 млн раз. Однако эксперты волнуются, что он работает не совсем так, как обещают в рекламе. Хэ...

[Из песочницы] Учимся разворачивать микросервисы. Часть 1. Spring Boot и Docker Привет, Хабр. В этой статье я хочу рассказать о своем опыте создания учебной среды для экспериментов с микросервисами. При изучении каждого нового инструмента мне всегда хотелось его попробовать не только на локальной машине, но и в более реалистичных условиях. Поэтому я ре...

Почему успехи ИИ DeepMind в Atari вызывают у меня разочарование Картинка, которую вы видите, позаимствована с сайта DeepMind, и демонстрирует 57 игр, в которых их новейшая разработка Agent57 (обзор статьи на Хабре) достигла успеха. Само число 57 взято не с потолка, — именно столько игр было выбрано еще в 2012 году, чтобы стать своеобра...

Худшие игровые ноутбуки 2019 года. HP OMEN 17-an100 и HP OMEN 15-dc0000 В последнее время игровые ноутбуки набирают особую популярность — пользователи хотят иметь мобильную производительность, чтобы играть или работать вдалеке от дома. Правда, далеко не все современные решения могут действительно порадовать потенциального покупателя в силу своих...

Мониторинг БД Oracle с помощью OEM Привет! Меня зовут Александра, я работаю в команде тестирования производительности. В этой статье расскажу базовые сведения об OEM от Oracle. Статья будет полезна для тех, кто только знакомится с платформой, но и не только для них. Основная цель статьи — помочь провести бы...

Почему 97% программистов 1С мало платят и так будет всегда Внимание: статья — про программистов 1С, соответственно — не про вас. Считайте, что про вомбатов, и для вомбатов (погуглите, это интересные животные). У них есть проблемы, схожие с вашими. Вопрос зарплаты и её повышения волнует большинство работающих людей, которых я встреч...

Архитектура и дизайн Android приложения (мой опыт) Хабр, привет! Сегодня я хочу рассказать об архитектуре, которой я следую в своих Android приложениях. За основу я беру Clean Architecture, а в качестве инструментов использую Android Architecture Components (ViewModel, LiveData, LiveEvent) + Kotlin Coroutines. К статье прил...

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

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

VPS как лекарство от скуки на карантине Когда ты постоянно работаешь на удалёнке, работа постепенно занимает весь объём свободного времени. И это карма, от которой сложно избавиться. Однако, когда ты работал-работал в офисе и вдруг вынужденно (как все мы) сел дома, неожиданно обнаруживается масса свободного времен...

Что скрывается за VestaCP Вряд ли сейчас кому-то может прийти в голову мысль написать свою панель управления сервером: интернет давно прикипел к ISP, cPanel, Plesk и десятку их аналогов. Все «взрослые» панели умеют примерно одно и то же, различаясь лишь интерфейсом, уровнем поддержки и специфически...

Как выжить SQL-базе в 21 веке: облака, Kubernetes и PostgreSQL multimaster Привет, хабровчане. Сегодня стартуют занятия в первой группе курса «PostgreSQL». В связи с этим, хотим рассказать вам о том, как проходил открытый вебинар по данному курсу. В очередном открытом уроке поговорили о том, с какими вызовами столкнулись SQL-базы в эру облаков и...

Избавляемся от рутины со своим плагином для PhpStorm Привет, Хабр! Я тружусь в команде Антиспама, и, как и у большинства бэкенд-разработчиков Badoo, большая часть времени у меня уходит на работу с PHP-кодом. С этой работой связано много специфических проблем и задач, которые можно решить или упростить. Когда мне надоело вруч...

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

Разработка «простого генератора напряжения» в соответствии с ГОСТ Р МЭК 61508 (IEC 61508) В данной статье будут рассмотрены необходимые шаги для создания устройства, отвечающего общим требованиям функциональной безопасности (ФБ). А также будет предложена архитектура простейшего «безопасного» (safety) генератора напряжения. Так как управляя напряжением, можно уп...

10 плагинов WooCommerce для Интернет-Магазина на WordPress Если у вас есть веб-сайт, разработанный с помощью WordPress, вы можете довольно просто и быстро запустить магазин с помощью плагина WooCommerce. Несмотря на то, что плагины WooCommerce предлагают множество преимуществ для веб-сайтов на WordPress, для внесения изменений и ул...

Как улучшить ваш API сервис на node.js. Часть 1 Сейчас доступно приличное количество материалов по написанию API на node.js. Большинство из них в виде туториалов и демо-примеров в документациях. Этого достаточно, чтобы быстро разобраться и написать что-то свое. Но в них редко найдутся детали, почему это делается именно та...

[Перевод] Canary Deployment в Kubernetes #1: Gitlab CI Мы будем использовать Gitlab CI и ручной GitOps для внедрения и использования Canary-деплоя в Kubernetes Статьи из этого цикла: (эта статья) Canary Deployment при помощи ArgoCI Canary Deployment при помощи Istio Canary Deployment при помощи Jenkins-X Istio Flagger Выполн...

Пусть хоть потоп, но 1С должна работать! Договариваемся с бизнесом о DR Представьте себе: вы обслуживаете ИТ-инфраструктуру крупного торгового центра. В городе начинается ливень. Потоки дождя прорывают крышу, вода заполняет торговые помещения по щиколотку. Надеемся, что ваша серверная не в подвале, иначе проблем не избежать.   Описанная история...

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

Предварительный обзор Nokia Smart TV. Первый телевизор бренда Компания Nokia когда-то давно была лидером рынка мобильных телефонов, а потом и смартфонов, но довольно быстро проиграла все свои преимущества. Дальше был целый период спада и вот только сейчас производитель возвращается на рынок. Более того, руководство Nokia приняло решени...

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

Предварительный обзор Corsair Vengeance 6100. Готовый игровой монстр Сегодня мы поговорим о довольно интересном компьютере, который является готовым решением и отлично справляется с поставленными задачами. Это игровой компьютер, но на нем, естественно, можно работать с видео или изображениями. Главное преимущество продукта именно в том, что в...

[Перевод] Заменяем Redux c помощью Observables и React Hooks Управление состоянием — одна из важнейших задач, решаемых в разработке на React. Было создано множество инструментов в помощь разработчикам для решения этой задачи. Наиболее популярным инструментом является Redux — небольшая библиотека, созданная Дэном Абрамовым, и предназн...

[Перевод] Preload в php 7.4: Composer и выбор файлов для предзагрузки Мы в Badoo активно занимаемся переходом на PHP 7.4 и с большим энтузиазмом ждём возможности использовать новую функцию preload. Не так давно мы рассказывали о наших экспериментах с ней. Судя по всему, сообщество взбудоражено не меньше, чем мы. Разработчики фреймворков актив...

[Из песочницы] Unity, ECS, Actors: как поднять FPS в своей игре в три раза, когда оптимизировать уже нечего → Что такое ECS → Что такое Actors Не раз слышал, как хорош шаблон ECS, и что Jobs и Burst из библиотеки Unity — решение всех проблем с быстродействием. Чтобы не добавлять каждый раз слово «наверное» и «может», рассуждая о быстродействии кода, решил проверить всё лично. М...

История системы доменных имен: первые DNS-серверы В прошлый раз мы начали рассказывать историю DNS — вспомнили, с чего стартовал проект, и какие проблемы был призван решить в сети ARPANET. Сегодня поговорим о первом DNS-сервере BIND. Читать дальше →

[Из песочницы] Raspberry Pi и модем SIM7600E 4G HAT Добрый день всем. В этой статье я хотел бы рассказать о своем опыте использования 3G-модема SIM7600X, который можно подключать к Raspberry Pi. Статья может оказаться полезной тем из вас, кому необходимо использовать Raspberry автономно, в условиях отсутствия WIFI-сети. Пара...

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

Лучше своими руками: как мы сделали мобильное приложение Perekrestok.ru inhouse Привет! Меня зовут Мария Тимофеева, я директор по продукту онлайн-супермаркета Perekrestok.ru. К выходу нашего нового мобильного приложения мы решили рассказать, как делали текущую версию, сколько багов собрали и как пришли к выводу, что в нашем случае inhouse-разработка ока...

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

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

[Перевод] Дружим ORDER BY с индексами Привет, Хабр! Я потихоньку перевожу статьи Маркуса Винанда из блога use the index luke. Первой статьей в цикле был манифест Маркуса о важности использования безофсетной пагинации на ключах. Мы рассмотрели всего один пример, как этот подход работает на практике. В этой и сле...

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

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

Применение принципов функционального программирования при проектировании ERP Привет, Хабр! В этой статье мы попробуем взглянуть на архитектуру учетных систем (ERP, CRM, WMS, MES, B2B, ...) с позиций функционального программирования. Существующие системы сложны. Они базируются на реляционной схеме данных, и имеют огромный мутабельный стейт в виде сот...

Обзор Shovel Knight: King of Cards и Shovel Knight: Showdown – Конец великой лопатной саги Страшно подумать, что Shovel Knight – одна из величайших инди-игр всех времён – дебютировала в 2014 году. В году, когда Wii U всё ещё верила в светлое будущее, ещё задолго до того, как Кэйдзи Инафунэ и его Mighty No. 9 заставили миллионы людей разувериться в целесообразности...

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

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

Создание инкрементального сервера для iOS Team Бесплатная книга После пяти лет наступаний на одни и те же грабли, и полугода поисков DevOps-а, который знает что-такое Provision Profile и как от него зависит развертывание приложения, было принято решение составить пошаговую инструкцию, в картинках, о том, настраивать р...

Обзор накопителя AORUS NVME Gen4 SSD 2 ТБ: есть ли польза от PCI Express 4.0? С появлением материнских плат на базе чипсета AMD X570, поддерживающего шину PCI Express 4.0, у производителей скоростных накопителей появилась возможность предложить более производительные SSD в популярном формате M.2 NVMe. Сегодня у нас на обзоре одна из первых доступных н...

[Перевод] Архитектурный шаблон MVI в Kotlin Multipaltform, часть 1 Около года назад я заинтересовался новой технологией Kotlin Multiplatform. Она позволяет писать общий код и компилировать его под разные платформы, имея при этом доступ к их API. С тех пор я активно экспериментирую в этой области и продвигаю этот инструмент в нашей компани...

Коронавирус был во Франции уже в декабре, считают ученые Согласно официальной версии, новый коронавирус SARS-CoV-2, вызывающий COVID-19, появился в китайском городе Ухань, на рынке морепродуктов в декабре 2019 года. Однако данные последнего исследования в корне меняют наше видение ситуации. Как пишет испанская El Pais, когда у Ам...

[Перевод] Vim с поддержкой YAML для Kubernetes Прим. перев.: оригинальную статью написал Josh Rosso — архитектор из VMware, ранее работавший в таких компаниях, как CoreOS и Heptio, а также являющийся соавтором Kubernetes alb-ingress-controller. Автор делится небольшим рецептом, который может оказаться очень полезным для ...

[Из песочницы] Дизайн интерфейса для промышленного контроллера Привет! Меня зовут Георгий, я дизайнер. Пока мы все сидим по домам, я решил поделиться опытом в разработке дизайна интерфейсов для промышленной автоматизации.Так сложилось, что дизайном приложений и сайтами занимается большое количество профессионалов. А вот хороших специал...

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

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

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

SwiftUI 2020. Что изменилось? Приветствую вас, жители Хабра и все интересующиеся разработкой под IOS. На связи Анна Жаркова, Senior iOS/Android разработчик компании Usetech Сегодня мы поговорим о тех изменениях и новшествах, которые нам представляет Apple на WWDC 2020. А именно про доработанную и даже пе...

Это мог быть очередной JavaScript-фреймворк Прошлым летом, в процессе подготовки статьи для Хабра, я не поленился упаковать свой шаблон для бэкэнд-приложений на Node.js в npm-пакет, сделав из него cli-утилиту для быстрого старта. Никаких надежд на то, что этим пакетом будет пользоваться кто-то, кроме меня, не было изн...

Уменьшение времени отклика при передаче данных по UDP Привет, Хабр! В этой статье я хочу рассказать о решении одной из типичных проблем, с которой Embox справляется лучше GNU/Linux. Речь идет о времени реакции на пакет, переданный по протоколу Ethernet. Как известно, основной характеристикой передачи данных по сети является пр...

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

Обзор SteelSeries Sensei Ten. Лучшая симметричная мышка для игр? Мышек с хорошим техническим оснащением в симметричном корпусе доступно ограниченное количество, и линейка Sensei одна из самых известных. Не так давно производитель SteelSeries обновил ее, выпустив SteelSeries Sensei Ten, сохранив выверенную эргономику и внешний вид корпуса,...

Linux Kernel Library: ядро Linux в форм-факторе so или dll Когда-то читал статью о выборе файловых систем «чтоб везде-везде работало». В ней в очередной раз увидел жалобы, что Ext4 замечательная файловая система, но на Windows есть только кривые неточные проприетарные драйверы. Но отмотаем ленту ещё на пару лет назад: тогда на Хабре...

Как менялся рынок BI и почему мы решили создать свою BI платформу Я работаю в «Инфосистемы Джет» около 7 лет, большую часть из которых проектировал и внедрял BI-решения и системы, на них построенные: ситуационные центры, информационно-аналитические системы и всё, что создано, чтобы собирать и анализировать данные. За это время у меня нак...

[Перевод] Python Gateway в InterSystems IRIS Эта статья посвящена Python Gateway — комьюнити-проекту с открытым исходным кодом для платформы данных InterSystems IRIS. Этот проект позволяет оркестрировать любые алгоритмы машинного обучения, созданные на языке Python (основная среда для многих Data Scientists), использов...

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

Рубрика «Читаем статьи за вас». Март 2020. Часть 2 Привет, Хабр! Продолжаем публиковать рецензии на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество! Первая часть мартовской сборки обзоров опубликована ранее. Статьи на сегодня: NeRF: ...

[Перевод] Мягкие частицы в WebGL и OpenGL ES Системы частиц это одни из самых простых способов сделать 3D сцену визуально богаче. В одном из наших Android приложений 3D Buddha Live Wallpaper достаточно простая сцена, которой было бы неплохо добавить чуть больше деталей. И когда мы думали как добавить разнообразия изобр...

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

Как мы автоматизировали портирование продуктов с C# на C++ Привет, Хабр. В этом посте я расскажу о том, как нам удалось организовать ежемесячный выпуск библиотек для языка C++, исходный код которых разрабатывается на C#. Речь идёт не об управляемом C++ и даже не о создании моста между неуправляемым C++ и средой CLR — речь об автомат...

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

[Перевод] Проверка образов с помощью Gitlab CI/CD Всем привет, в преддверии старта курса «CI/CD на AWS, Azure и Gitlab» подготовили перевод интересного материала. В этой статье мы поговорим о том, как проверять образы контейнеров на платформе Gitlab CI/CD с помощью Sysdig Secure. Образы контейнеров, которые не соответст...

Стало известно, сколько зарабатывают стримеры и игровые блогеры Этот вопрос давно интересует многих. Мы уже привыкли видеть под видео или статьями на сайтах и видеохостингах, а также Instagram сообщения о том, что статья или материал заказные, за него авторам занесли денег. Люди считают, что те, кто сегодня занимается производством кон...

OpenGL примитивы в стиле RAII Добрый день, хабра юзеры. Я давно не писал и возможно кто-то заждался статей от меня — конечно же нет. Так как свободного времени стало чутка поболее, а мой GitHub совершенно пуст, я решил написать свой клон Mein kampf Minecraft. С большой вероятностью, я задокументирую это...

Как мы рекомендуем новинки каталога в онлайн-кинотеатре ivi (+ код на Python) В блоге онлайн-кинотеатра ivi накопилось достаточно статей про архитектуру рекомендательной системы Hydra. Однако рекомендации — это не только внешний API, но и алгоритмы, которые живут «под капотом» и реализуют достаточно сложную бизнес-логику. В этой статье я расскажу о п...

Выход The Last of Us Part II перенесли на неопределенный срок Вслед за фильмами Sony начала переносить релизы игр: долгожданная The Last of Us Part II должна была выйти 29 мая, но теперь выход отложен на неопределенный срок. По словам издателя, такие меры были приняты из-за проблем с логистикой во время пандемии. Чувствуете иронию? Во ...

WhatsApp прощается с многими смартфонами на базе Android и iOS Следующая информация будет полезна тем, кто по-прежнему использует старые смартфоны под управлением операционных систем iOS и Android, при этом продолжает использовать сервис обмена сообщениями WhatsApp. Популярная платформа обмена сообщениями, которая принадлежит ...

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

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

[Из песочницы] Визуализируя нейронный машинный перевод (seq2seq модели с механизмом внимания) Привет, Хабр! Представляю вашему вниманию перевод статьи "Visualizing A Neural Machine Translation Model (Mechanics of Seq2seq Models With Attention)" автора Jay Alammar. Sequence-to-sequence модели (seq2seq) – это модели глубокого обучения, достигшие больших успех...

[Из песочницы] Маркировка остатков обуви в 1С. Решение проблемы сканирования и выгрузки в «Честный знак» Один из проблемных моментов в начале этого года для производителей и продавцов обуви – запрет с 1 марта 2020 года (возможно, с 1 июля) на производство, импорт, оптовую и розничную продажу обуви без маркировки и передачи данных в систему маркировки «Честный знак». Сегодня хо...

Судьбоносные решения разработчиков видеоигр Когда Нил Дракманн решил изменить часть сюжета и концовку The Last of Us, он осознавал, что идет на серьезный риск. Многие сотрудники самой Naught Dog считали этот ход неразумным, но в итоге нестандартный...

ruleguard: динамические проверки для Go В этой статье я расскажу о новой библиотеке (и утилите) статического анализа go-ruleguard, которая адаптирует gogrep для использования внутри линтеров. Отличительная особенность: правила статического анализа вы описываете на особом Go-подобном DSL, который на старте rulegua...

Elixir как цель развития для python async В книге «Python. К вершинам мастерства» Лучано Рамальо описывает одну историю. В 2000 году Лучано проходил курсы, и однажды в аудиторию заглянул Гвидо ван Россум. Раз подвернулся такой случай, все стали задавать ему вопросы. На вопрос о том, какие функции Python заимствовал ...

Сравнение 6 популярных “Drag&Drop” тем на WordPress WordPress является одним из самых популярных инструментов, когда речь заходит о необходимости в легком управлении контентом и простой веб-разработке. Он успешно завоевал рынок инструментов для создания веб-сайтов, предоставляя своим пользователям быстрые, надежные и простые ...

Как с помощью хакатона столкнуть математиков и ML–щиков, и кто тогда победит Введение Эта статья о том, как мы совместно с роснефтёвой «дочкой» «Самаранефтехимпроект» и Казанским Федеральным Университетом в сентябре 2020 года провели «Хакатон трёх городов», на котором предложили студентам решить классическую задачу сейсмической корреляции отражающих ...

Пошаговое руководство по настройке Laravel 6 в Google Cloud Run с непрерывной интеграцией Всем привет! В преддверии старта курсов «Framework Laravel» и «Backend-разработчик на PHP», продолжаем делиться интересным материалом по теме. Поехали. За последние несколько лет популярность Laravel резко возросла. Сообщество Laravel даже придерживается мнения, что Larave...

[Из песочницы] Получение meterpreter сессии внутри NAT сети, с помощью Chrome и Pivot машины Вводная Всем привет, в этой статье я хочу поделиться своим опытом в эксплуатации уязвимости Chrome FileReader UAF, проведении техники pivoting, ну и написать свою первую статью конечно. Так как я являюсь начинающим Pentest инженером, то потратил на освоение и понимание этой...

[Перевод] Пол Грэм: «Краткость = сила» На HackerNews сегодня подняли обсуждение статьи Пола Грэма 2002 года и мы решили воскресить её перевод из небытия. «The quantity of meaning compressed into a small space by algebraic signs, is another circumstance that facilitates the reasonings we are accustomed to carry...

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

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

Что общего у Assassin’s Creed и тамагочи? Скидка в App Store! Ежедневно мы мониторим App Store и десятки сайтов со скидками, чтобы выбрать лучшие приложения и опубликовать и здесь. Сегодня можно скачать приложение для внесения трат на iPhone, Assassin’s Creed и тамагочи (для тех, кто помнит, что это). Если хотите посмотреть все беспла...

Мониторинг как процесс управления событиями Привет, Хабр! Сегодня мы хотим поделиться с вами статьей по выступлению руководителя технической поддержки ИТ-ГРАД Алика Фахрутдинова, в которой расскажем о том, как мы строили новую систему мониторинга в рамках коллаборации с ПАО «МТС». На сей раз опустим технические детали...

Обзор ноутбука MSI Modern 14: ультрапорт на Intel Comet Lake-U Появление мобильных процессоров Intel Core 10-го поколения стало для производителей ноутбуков хорошим поводом обновить линейки экономичных ультрапортов. Еще во время сентябрьской выставки IFA 2019 многие компании анонсировали свои решения на базе чипов Ice Lake и Comet Lake....

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

Обзор работы «Learnability Can Be Undecidable» Эта статья является моим вольным пересказом работы Learnability can be undecidable, Shai Ben-David, et al. Недавно на Хабре вышла статья Машинное обучение столкнулось с нерешенной математической проблемой, которая является переводом одноименного обзора в Nature News статьи Ш...

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

Flutter, Dart — локальная база в сотни раз более быстрая чем SQLite или Shared Preferencies Примерно месяц назад общаясь с одним разработчиком приложения на Flutter встала проблема торможения обработки маленьких (в десятках тысяч) массивов данных на телефоне юзера. Многие приложения предполагают обработку данных на телефоне и, далее, их синхронизацию с бэкендом. На...

Три года в Латинской Америке: как я уехал за мечтой и вернулся после тотальной «перезагрузки» Привет, Хабр, меня зовут Саша. После 10 лет работы инженером в Москве я решился круто изменить жизнь — взял билет в один конец и уехал в Латинскую Америку. Я не знал, что меня ждет, но, признаюсь, это стало одним из моих лучших решений. Сегодня я хочу рассказать, с чем я сто...

[Перевод] 6 уроков, извлечённых из опыта оптимизации производительности Node.js-сервиса В компании Klarna прилагают большие усилия к тому, чтобы помочь разработчикам в создании высококачественных и безопасных сервисов. Один из инструментов, который предназначен для разработчиков, представляет собой платформу для выполнения A/B-тестов. Важнейшим компонентом этой...

Facebook выпустит свою операционную систему назло Google Скоро на рынке появится новая ОС — от Facebook Несмотря на то что очень многие компании пытались создать собственные операционные системы для мобильных устройств, получилось это сделать только у Apple и Google, которые, собственно, сегодня не просто доминируют на рынке...

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

Nothing At Stake: компромиссы с совестью Очень коротко о себе. Как-то давно на Хабре обо мне писали в этой статье, однако часть аудитории, интересующаяся блокчейн технологиями, почти наверняка знакома с моей работой через проект Monero, у которого оригинальная кодовая база(CryptoNote) была разработана в основном м...

Выпуск#33: ITренировка — актуальные вопросы и задачи от ведущих компаний Привет! У кого какой день карантина? Побочная сила коронвариуса — он убил все остальные новости. А все остальные новости, как известно, плохие, так что это хорошая новость. В общем, мы посовещались и решили на этой неделе предложить задачки на тему… вирусов. Спокойно, зар...

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

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

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

1000 и 1 пост: с Днём рождения, Хабр ❤ 26 мая — День рождения Хабра. А ещё вышла наша 1000-ая публикация, которой могло бы не быть, если бы Хабр не был тем, который он есть. В этой статье мы расскажем о нашем пути и о наших выводах, которые удалось сделать за 4 года ведения блога. Но это ниже, под катом. А здесь ...

Flutter BloC паттерн + Provider + тесты + запоминаем состояние Эта статья выросла из публикации “BLoC паттерн на простом примере” где мы разобрались, что это за паттерн и как его применить в классическом простом примере счетчика. По комментам и для своего лучшего понимания я решил попробовать написать приложение в котором будут получены...

Мониторинг в ЦОДе: как мы меняли старую BMS на новую. Часть 3 Мы продолжаем наш рассказ о том, как мы меняли BMS-систему в наших ЦОДах (часть 1, часть 2).  При этом мы не просто поменяли решение одного вендора на другого, а разработали систему с нуля под свои требования. В заключение нашей истории делимся итогами проделанной работы и и...

Telegram-бот на Java для самых маленьких — от старта до бесплатного размещения на heroku Для кого написано Если вы ни разу не писали Telegram-ботов на Java и только начинаете разбираться — эта статья для вас. В ней подробно и с пояснениями описано создание реального бота, автоматизирующего одну конкретную функцию. Можно использовать статью как мануал для созда...

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

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

Заколдованные частоты для Radeon RX 5500 XT. ASRock представила свои карты, и они работают на тех же частотах, что и у других Компания ASRock пополнила свой ассортимент тремя моделями видеокарты Radeon RX 5500 XT. Младшей является Radeon RX 5500 XT Challenger D 4G OC, а две другие получили по 8 ГБ памяти. Это Radeon RX 5500 XT Phantom Gaming D 8G OC и Radeon RX 5500 XT Challenger D 8G OC. Мод...

[Перевод] Загадочное происхождение настольной игры про взлом кодов Mastermind Она стала мировой сенсацией. Её использовали в Fallout. Она помогла созданию отрасли кибербезопасности. Но откуда же она взялась? «Это неинтересно», — думал Дэн Тейтел. В Fallout 3 есть куча компьютерных терминалов, и если игрок хотел взломать один из них, ему нужно было ...

[Перевод] Лёгкий способ сделать крохотный USB-хаб для Raspberry Pi Перевод статьи с сайта самодельщика Retrocution Бывало у вас такое, что вам не хватает USB-портов при создании проекта на Raspberry Pi Zero? Притом внешние USB-хабы или HATS не подходили из-за ограничений по размеру? Если да, или если вы просто ищете себе интересный проек...

[Перевод] Визуализация работы сервис-воркеров (Service Workers) Доброго времени суток, друзья! Вероятно, многие из вас слышали о таком новшестве в экосистеме JavaScript, как сервис-воркеры, которые являются ключевым элементом современной веб-разработки. Сервис-воркеры становятся все более востребованными, в первую очередь, благодаря п...

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

12864 ЖК-панель на Anet A8 Доброго здоровья, всем печатникам!Два года назад я дебютировал на этом достопочтенном сайте с постом «Заявление» (https://3dtoday.ru/blogs/alexbor/zayavlenie). Тогда рассказал о создании своего самодельного принтера, получив много разного рода отзывов. Два года принтер работ...

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

[Из песочницы] Ableton не нужон: подключаем Ableton Push 2 к VCV Rack Создание музыки, в последнее время, проходит примерно тот же путь что фотография 10 лет назад: у каждого появляется своя зеркалка и аккаунт в инстаграме. Музыкальная индустрия этому очень рада, ведь такой интерес приносит много денег. Каждый день появляются новые VST плагин...

Из жизни с Kubernetes: Как мы выносили СУБД (и не только) из review-окружений в статическое Примечание: эта статья не претендует на статус лучшей практики. В ней описан опыт конкретной реализации инфраструктурной задачи в условиях использования Kubernetes и Helm, который может быть полезен при решении родственных проблем. Использование review-окружений в CI/CD м...

Как системы анализа трафика обнаруживают тактики хакеров по MITRE ATT&CK на примере PT Network Attack Discovery Согласно Verizon, большинство (87%) инцидентов ИБ происходят за считанные минуты, а на их обнаружение у 68% компаний уходят месяцы. Это подтверждается и исследованием Ponemon Institute, согласно которому у большинства организаций уходит в среднем 206 дней на обнаружение ин...

Стас Афанасьев. Juno. Pipelines на базе io.Reader/io.Writer. Часть 2 В докладе поговорим про концепцию io.Reader/io.Writer, для чего они нужны, как их правильно реализовывать и какие в связи с этим существуют подводные камни, а также про построение pipelines на базе стандартных и кастомных реализаций io.Reader/io.Writer. Читать дальше &rarr...

Стас Афанасьев. Juno. Pipelines на базе io.Reader/io.Writer. Часть 1 В докладе поговорим про концепцию io.Reader/io.Writer, для чего они нужны, как их правильно реализовывать и какие в связи с этим существуют подводные камни, а также про построение pipelines на базе стандартных и кастомных реализаций io.Reader/io.Writer. Читать дальше &rarr...

[Перевод] Инстанцирование в Python Допустим, у вас есть класс Foo : class Foo(object): def __init__(self, x, y=0): self.x = x self.y = y Что происходит, когда вы создаёте его объект? f = Foo(1, y=2) Какой метод вызывается первым при этом вызове Foo? Большинство новичков, да и, возможно, не...

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

[Перевод] Исследование CSS-свойства flex Вам когда-нибудь было интересно узнать о том, как работает сокращённое CSS-свойство flex? Оно позволяет задавать значения свойств flex-grow, flex-shrink и flex-basis. Я обратил внимание на то, что данное свойство чаще всего используют в виде flex: 1, что позволяет flex-элеме...

[Перевод] Что принёс нам Pandas 1.0 9 января состоялся релиз Pandas 1.0.0rc. Предыдущая версия библиотеки — 0.25. Первый мажорный релиз содержит множество замечательных нововведений, в том числе улучшенное автоматическое суммирование датафреймов, больше форматов вывода, новые типы данных и даже новый сайт док...

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

Простая самодельная VGA видеокарта Насколько мне известно, довольно многим интересно подключить микроконтроллер к обычному монитору и попробовать что-либо вывести на экран. В этой статье пойдёт речь о создании простейшей VGA-видеокарты на базе микроконтроллера atmega168-20. Читать дальше →

Как процессор M1 сделал новые MacBook Air и MacBook Pro лучше Перевод компьютеров Mac на ARM-чипсеты, который затеяла Apple, имел не только идеологический смысл, но и практический. О многих преимуществах процессорной рокировки компания рассказала в ходе вчерашней презентации, но из-за ограничений по времени информация была подана очен...

[Из песочницы] Получение разрешения на полёт дрона (БВС, БПЛА) в Российской Федерации Данная статья написана мной с целью облегчить прохождение по пути официального оформления своего вылета тем моделистам-любителям, кто сомневается в выполнимости для себя данной процедуры и не знает с чего начать. В первую очередь хочу выразить благодарность автору статьи «...

О том как написать и опубликовать смарт-контракт в Telegram Open Network (TON) О том как написать и опубликовать смарт-контракт в TON О чем эта статья? В статье я расскажу о том, как поучаствовал в первом (из двух) конкурсе Telegram по блокчейну, не занял призовое место и решил зафиксировать опыт в статье, чтобы он не канул в Лету и, возможно, помог ко...

Обзор LEXAND LUV-2000. Ультрафиолетовая лампа Не так давно мы изучали термобутылку со стерилизатором LEXAND LUV-1000 и персональным стерилизатором LEXAND LUV-3000, сегодня детально затронем вопрос обработки помещения с помощью ультрафиолетовой лампы LEXAND LUV-2000. Как и рассмотренные ранее устройства, она портативная....

Оконные функции с «форточкой» или как пользоваться фреймом Всем привет. 26 февраля в OTUS стартовали занятия в новой группе по курсу «MS SQL Server разработчик». В связи с этим я хочу поделиться с вами своей публикацией про оконные функции. Кстати, в ближайшую неделю еще можно записаться в группу ;-). Оконные функции прочно вошл...

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

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

Стоит ли устанавливать macOS Catalina? Отзывы пользователей Крупные обновления macOS выходят не так часто, как iOS. Не потому, что там нечего менять — просто для многих компьютеры Mac являются основным инструментом для работы, и если после очередного апдейта что-то пойдет не так (например, удалится часть данных), это может ста...

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

Полный набор gRPC, RESTful JSON API и Swagger из одного .proto файла. От введения до нюансов и тонкостей grpc-gateway В этой статье я опишу процесс создания сервера с gRPC и RESTful JSON API одновременно и Swagger документацию к нему. Эта статья — продолжение разбора различных способов реализаций API-сервера на Golang с автогенерацией кода и документации. Там я обещал более подробно остано...

Как создать сайт на хостинге Lightsail от Amazon Web Services Хостингов много не бывает. Каждый новый вносит свою долю новизны на рынок услуг, что положительно сказывается на конкуренции, ценах и условиях работы в целом. Посмотрим, что предлагает компания Amazon с их облачной платформой Lightsail. Что такое Amazon Web Services A...

[Из песочницы] Пишем бот для пазл игры на Python Давно хотел попробовать свои силы в компьютерном зрении и вот этот момент настал. Интереснее обучаться на играх, поэтому тренироваться будем на боте. В статье я попытаюсь подробно расписать процесс автоматизации игры при помощи связки Python + OpenCV. Читать дальше →

Маркетинг на рынке США: как SaaS-стартапу заработать десятки тысяч долларов с помощью AppSumo.com В русскоязычном интернете нет недостатка в статьях по выводу продукта на Product Hunt и другие похожие сервисы, но не так много материалов по использованию ресурса AppSumo. Я решил поделиться своим опытом продвижения продукта на американском рынке с помощью этого сервиса. ...

«Как зеницу ока...» или делаем простенькую охранную систему на базе микроконтроллера (Canny или Arduino) и Raspberry PI Во время подготовки статьи, про распознавание микроконтроллеров с помощью TensorFlow и OpenCV мне одновременно на глаза попались Craftduino, Canny 3 tiny и Raspberry PI, после чего я решил, что будет здорово еще раз объединить их в одной статье. Я долго думал, о чем писать, ...

Создание полноценного Viberbot на Django 2 и Viber REST API. Часть первая — Webhook Установка Webhook для работы bot на viber и отправка первого POST запроса к backend мессенджера Опираясь на свой опыт разработки под Viber и множество неоднозначных мнений, публикую цикл статей по созданию и запуску viberbot. Для понимая полной картины в целом, будем работат...

Масштабирование базы данных. Microsoft AlwaysOn Привет. Меня зовут Тигран Петросян, я ведущий инженер по технической поддержке Docsvision, и сегодня расскажу о применении технологии MS SQL AlwaysOn. Это вторая статья из мини-серии «Масштабируемость системы ECM на предприятии», в которой первая статья моего коллеги была по...

[Перевод] Sktime: унифицированная библиотека Python для машинного обучения и работы с временными рядами Всем привет. В преддверии старта базового и продвинутого курсов «Математика для Data Science», мы подготовили перевод еще одного интересного материала. Решение задач из области data science на Python – это непросто Почему? Существующие инструменты плохо подходят для реше...

Подключение Yandex Database к serverless телеграм боту на Yandex Functions Данная статья является продолжением вот этой статьи. В ней мы рассмотрели создание и настройку yandex cloud functions телеграм бота. А сегодня мы рассмотрим подключение телеграм бота к базе данных и сохранение какой-либо информации о пользователе, с которым общается бот.В ка...

[Из песочницы] Flutter. BlOC, Provider, async – архитектура «по полочкам» Вступление Когда пытаешься написать приложение, то первое с чем сталкиваешься – это как организовать архитектуру приложения. А когда еще при этом речь идет про Flutter, так голова совсем может пойти кругом от того, что выдает Гугл — Vanilla, Scoped Model, BLoC, MVP, MVC, MVV...

Web Security SQL Injection 2020 Статья расскажет, как использовать SQLmap и похожих инструментов для автоматизации решений заданий по sql injection на одном из популярных CTF ресурсов. В статье зайдем немного дальше, чем просто модификация risk-level «if you know what i mean». Задания не будут полностью ра...

Умный дом как хобби Когда-то в блоге мы рассказывали, как наш руководитель отдела обучения и замечательный программист Евгений создал марсианские часы и заодно выиграл в конкурсе. А потом — как он же сконструировал систему «Умный дом» своими руками....

Собеседование php-developer в 2020 Так уж получилось, что в этом году я прошел ряд собеседований на позицию PHP разработчика, чего я не делал уже несколько лет. Будучи человеком ленивым практичным, перед собеседованием я попытался найти сборники вопросов-ответов, но все найденное было довольно старым, поэтому...

Камера телефона Samsung за 1400 долларов разбивается сама по себе Иногда происходят какие-то события, когда хочется воскликнуть ”Аааа! Еще вот так можно было облажаться…”. Это касается, в первую очередь, Samsung Galaxy S20 Ultra, вышедшего пару месяцев назад, но до сих пор страдающего от какой-то непонятной череды проблем, которые случают...

Вжух, и прогоны автотестов оптимизированы. Intellij IDEA плагины на службе QA Automation Привет, Хабр. Я работаю QA Automation инженером в компании Wrike и хотел бы поговорить о том, как нам удалось оптимизировать процесс код-ревью для репозитория с 30 000+ автотестов при помощи IntelliJ IDEA плагина. Я расскажу о внутреннем устройстве плагина и о том, какие п...

Обзор и опыт эксплуатации ноутбука Asus ZenBook 14 (UM433DA). Лучший в классе? В этой статье я расскажу вам об одном из лучших, на мой взгляд, ноутбуков в […]

[Перевод] Проектируем bounded context с помощью Bounded Context Canvas: рецепт воркшопа Среди тем предстоящей конференции TechLead Conf 2020 будет детальное обсуждение Domain-Driven Design и EventStorming. Помимо подготовки 2-слотового доклада Константина Густова о DDD, доклада Сергея Баранова об EventStorming и митапа, во время которого мы будем создавать DDD-...

Про кластер серверов 1С Кластер — это разновидность параллельной или распределённой системы, которая: 1. состоит из нескольких связанных между собой компьютеров; 2. используется как единый, унифицированный компьютерный ресурс Gregory F. Pfister, «In search of clusters». Дано: есть бизнес-прило...

Huawei запустил в Украине специализированный сайт FusionSolar о фирменных решениях в сфере солнечной энергетики, включая умные станции Smart PV Компания Huawei Ukraine объявила о запуске в Украине официального сайта по направлению FusionSolar. Данное подразделение занимается производством оборудования для умных солнечных электростанций Smart PV и разработкой решений в сфере солнечной энергетики. В компании отметили,...

[Из песочницы] Мое решение — лучшее Привет, Хабр! Предлагаю Вашему вниманию перевод статьи «My solution is the best!» автора John Hotterbeekx. Недавно я смотрел выступление одного докладчика об архитектуре. Беседа вышла увлекательной, концепция и идея определенно имели смысл, но выступающий не понравился. Чт...

[Перевод] Убийства во имя армии США и видеоигр Армия США давно использует видеоигры для обучения и вербовки Два неожиданных союзника: армия США и индустрия видеоигр. Кто бы мог подумать? [перевод статьи из журнала Ars Technica от декабря 2008 г.] Разные подразделения армии США часто появляются в видеоиграх с самого мом...

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

Повторная обработка событий, полученных из Kafka Привет, Хабр. Недавно я поделился опытом о том, какие параметры мы в команде чаще всего используем для Kafka Producer и Consumer, чтобы приблизиться к гарантированной доставке. В этой статье хочу рассказать, как мы организовали повторную обработку события, полученного из Ka...

Обзор беспроводной системы видеонаблюдения IMOU Cell Pro KIT Если необходимо быть в курсе происходящего во всех уголках квартиры, дома или дачного участка, то одной камерой видеонаблюдения не обойтись: требуется уже целая система камер. В идеале — без лишних проводов и с простым управлением. Одна из таких систем недавно появилась на р...

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

Избавляемся от паролей в репе с кодом с помощью HashiCorp Vault Dynamic Secrets Привет, Хабр! Меня зовут Сергей, я работаю IT Head в компании Quadcode. Сегодня хотел бы рассказать о том, как я решил проблему с хранением паролей в открытом виде в коде одного из моих pet-проектов. Думаю, это знакомая для многих ситуация. Знакомая — и неприятная. Сразу ска...

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

[recovery mode] Обработка персональных данных для мелкого интернет-магазина Знакомые впечатлились новым штрафом в КоАП в миллион рублей: Статья 13.11. Нарушение законодательства Российской Федерации в области персональных данных 8. Невыполнение оператором при сборе персональных данных… обязанности по обеспечению записи, систематизации, накопления, х...

Парсер данных по произвольной грамматике в 400 строк Есть много существующих инструментов для парсинга файлов по заданной грамматике. Например, ANTLR или Yacc. Они используют конечные автоматы и генерируют большие файлы с исходным кодом для парсинга. Действительно ли это так сложно? Попробуем сделать сами. В этой статье я пока...

Предварительный обзор Xbox Series X. Мощнейшая консоль на рынке Состоялся довольно интересный и очень неожиданный анонс игровой приставки Microsoft, которая должна будет покорить пользователей на ближайшие пять лет. Пока что информации не очень много, особенно разочаровало отсутствие цены, но есть о чем поговорить даже без детального опи...

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

Как мы в Спортмастере выбирали систему кеширования. Часть 1 Привет! Меня зовут Алексей Пьянков, я разработчик в компании Спортмастер. В этом посте я рассказал, как начиналась работа над сайтом Спортмастер в 2012 году, какие инициативы удалось «протолкнуть» и наоборот, какие грабли мы собрали. Сегодня я хочу поделиться мыслями, кото...

[Перевод] Java/Spring: Как полностью сгенерировать CRUD REST API с помощью Speedment В этой статье вы узнаете, как с помощью Speedment создать полный CRUD REST API для базы данных. С каждым годом становится все очевиднее, что Spring Framework является одним из наиболее широко используемых фреймворков для веб-разработки на Java. Читать дальше →

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

[Перевод] Печатная плата с ракеты Сатурн-5 – обратная разработка с пояснениями Перевод статьи из блога Кена Ширрифа В лунных миссиях «Аполлон» ракетой Сатурн-5 управлял передовой бортовой компьютер, разработанный в IBM. Система собиралась из гибридных модулей, похожих на интегральные схемы, но содержавшие отдельные компоненты. Я провёл обратную разраб...

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

[Перевод] Использование Clickhouse в качестве замены ELK, Big Query и TimescaleDB Clickhouse — это столбцовая система управления базами данных для онлайн обработки аналитических запросов (OLAP) с открытым исходным кодом, созданная Яндексом. Ее используют Яндекс, CloudFlare, VK.com, Badoo и другие сервисы по всему миру для хранения действительно больших об...

Как Youtube и Instagram: интернационализация и локализация приложения на Python Язык Python лежит в основе всемирно известных приложений, таких как Youtube, Instagram и Pinterest. Для продвижения на мировом рынке приложению необходима локализация, то есть адаптация к особенностям той или иной страны, и интернационализация – перевод контента. В статье мы...

США: Великобритании не следовало допускать Huawei к строительству сетей 5G Борис Джонсон объясняет свое решение стремлением обеспечить доступ граждан страны к самым лучшим из существующих технологий.

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

Как мы решали проблему трех монолитов В стратегиях большинства компаний все чаще упоминается цифровизация: одни компании пытаются внедрять современные технологии (например, Big Data, IoT, AI, blockchain), другие — повсеместно автоматизируют свои внутренние процессы. Несмотря на растущие усилия и инвестиции во вн...

Пишем шеллкод под Windows на ассемблере В этой статье я хочу показать и подробно объяснить пример создания шеллкода на ассемблере в ОС Windows 7 x86. Не смотря на солидный возраст данной темы, она остаётся актуальной и по сей день: это стартовая точка в написании своих шеллкодов, эксплуатации переполнений буферо...

Все тайны Radeon RX 5600 XT будут раскрыты в два этапа Уже сегодня компания AMD должна представить множество новинок, среди которых будет и видеокарта Radeon RX 5600 XT. Мы знаем о данном адаптере почти всё, и даже ориентировочные цены: 280-300 долларов. Но, к сожалению, нормальное понимание уровня производительности мы по...

[Перевод] [в закладки] Работа с изображениями в веб Одно из решений, которые приходится принимать фронтенд-разработчику при создании сайта, касается выбора способа включения изображений в состав веб-страниц. Этот способ может заключаться в использовании HTML-тега <img>. Это может быть применение CSS-свойства background ...

10 систем управления. Где удобнее коммуницировать по задачам и обмениваться файлами? Вот уже 7 лет, как я раз и навсегда «переехала» из реальных офисов в виртуальные. Мне гораздо комфортнее работать дома на удалёнке. Под «виртуальным офисом» я подразумеваю системы управления проектами. За годы дистанционной работы с разными компаниями и студиями я перепробов...

[Из песочницы] Нет предела совершенству или об изъянах Биржевых Фондов Тинькофф Не так давно команда Тинькофф Инвестиций объявила о запуске биржевых фондов — портфелей, номинированных долларах, рублях и евро. Каждый фонд представляет собой статичный портфель из ETF, акций, облигаций и золота. Команда Тинькофф решила создать собственные ETF, вдохновившис...

[Перевод] Учимся писать информативные комментарии к GIT-коммитам используя общепринятую семантику Когда я только знакомился с системами контроля версий (особенно с git), я рассматривал их только как приложения, которые помогают мне хранить историю изменений моего кода. Т.е. когда случается что-то нехорошее, я могу просмотреть историю коммитов и вернуться к последнему «хо...

Опыт создания web-приложения с Pony ORM Привет, Хабр! Недавно передо мной встала задача написать на Python web-приложение для разделения счёта в ресторане между участниками трапезы. Так как нужна DB для хранения данных о заказах и пользователях, встал вопрос выбора ORM для работы с базой. Разработка велась на Flas...

Пользователи Windows 10 в опасности. Microsoft настоятельно рекомендует всем обновить ОС Компания Microsoft опубликовала важное обновление для операционной системы Windows 10, которые настоятельно рекомендуют установить всем пользователям. Рендмондская компания при помощи этого обновления закрыла четыре очень серьезные бреши в системе безопасности операцион...

Предварительный обзор Amazfit Bip S. Достойные часы Компания Huami, которая работает под крылом Xiaomi, выпускает достаточно классную серию умных часов Amazfit, которая привлекает пользователя длительностью автономной работы, довольно низкой стоимостью и прочими преимуществами, которые так нравятся аудитории. Сегодня мы погов...

Разгоняем портал ДО на основе Moodle (решение проблем узких мест) В последнее время все острее встает вопрос об обучении онлайн, во время пандемии, так и в связи с переходом в онлайн всего и вся. На сайте Хабр есть материалы по установке базовой системы на основе moodle. В данной заметке хотелось бы поделиться некоторым опытом настройки с...

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

Видеообзор ноутбука MSI Modern 14 Появление мобильных процессоров Intel Core 10-го поколения – отличный повод для производителей ноутбуков обновить линейки своих устройств. Сегодня у нас на обзоре компактная 14-дюймовая модель MSI Modern 14 на базе чипа из линейки Comet Lake-U.  Читайте также более подробную...

Чип Exynos. Давай, до свидания? Snapdragon 865 будет ... Samsung из года в год пытается догнать в деле создания флагманских чипов Qualcomm. Увы, у нее это плохо получается и ее Exynos стабильно остаются позади конкурентов. Не удастся и Exynos 990 выйти на один уровень с Snapdragon 865.   В этой ситуации южнокорейский гигант...

Обзор защиты ПО процессора S905X (secured boot) В этой статье речь пойдёт о защите програмного обеспечения на процессоре S905X. Конечная цель — запустить неавторизованный софт. S905X Процессор S905X — это ARM Cortex-A53 с тактовой частотой до 1,5GHz, напичканый всевозможными декодерами для видео и аудио потоков, как напр...

Почему Мистер Робот — лучший сериал про IT-индустрию Доброго времени суток, уважаемые читатели Хабра! 23 декабря 2019 года в свет вышла заключительная серия одного из самых популярных сериалов про IT — Мистер Робот. Посмотрев сериал до конца, я твёрдо решил написать статью о сериале на Хабре. Выход этой статьи приурочен к мое...

Перевернутая пирамида как конец вашего проекта В этой статье я хочу поделится небольшим опытом касательно построения команд в ИТ-проектах. Поговорить я хочу о такой не всегда очевидной вещи как «Пирамида зрелости команды». Читать дальше →

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

Обзор A4Tech Bloody X5 Pro. Игровая мышка с точным сенсором Не так давно мы проводили тестирование мышки A4Tech Bloody X5 Max, ориентированной на киберспорт. Сегодня в рамках этой серии детально изучим A4Tech Bloody X5 Pro, оснащенная сенсором с чувствительностью до 16000 CPI. Список ключевых особенностей и преимуществ схож с рассмот...

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

Когда я на часах Мы тут открыли позицию инженера поддержки в команде GoLand. Это сподвигло меня рассказать, как это у нас происходит. На Хабре уже есть хорошая статья об этом из 2014 года. Но, во-первых, GoLand тогда еще не существовал. А, во-вторых, многое с тех пор поменялось. Хотя забавно...

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

Шесть рецептов для начинающего тимлида: как всё успевать и развивать команду Привет! Меня зовут Дмитрий Ли, я тимлид одной из команд разработки бэкенда в Badoo. Когда я впервые стал тимлидом, я стал активно посещать конференции и читать умные книги об управлении командой. Однако в моей работе после этого менялось немногое. Я читал о том, каким я д...

Эта маленькая правка не может убить сервер Вначале был сервер. И на этом сервере жил сайт, допустим, example.com. Шло время, сайт рос, одного сервера ему стало мало, да ещё и ребрендинга захотелось. И оставил сисадмин его бакендом, и создал для него фронтенд, допустим, example2.com. Так и появилась типичная схема н...

Уйти во фронтенд после декрета, стать синьором в Gitlab и core team member Vue.js Наш новый формат — прямые эфиры с успешными разработчиками и айтишниками, на которых вы можете задать вопрос профессионалу и получить ответ из первых рук развивается дальше. 25 мая на ваши вопросы будет отвечать Наталья Теплухина, Vue.js core team member, GoogleDevExpret ...

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

[Из песочницы] Функциональные опции на стероидах Привет, Хабр! Представляю вашему вниманию перевод статьи Functional options on steroids от автора Márk Sági-Kazár. Функциональные опции — это парадигма в Go для чистых и расширяемых API. Она популяризирована Дейвом Чейни и Робом Пайком. Этот пост о практиках, которые появ...

Литьё латуни по выплавляемым моделям (филамент WAX) Перед тем как отливать восковки, нам нужно распечатать эти самые восковки. Я буду использовать пластик WAX (вакс) от компании «Filamentarno!». По сути WAX - это воск в виде филамента. Рекомендую к просмотру ролик по печати материалом WAX На ULTi STEEL:Под одним из моих ролик...

Пишем свой capped expirationd модуль для tarantool Какое-то время назад перед нами встала проблема чистки кортежей в спейсах tarantool. Чистку нужно было запускать не тогда, когда у tarantool уже заканчивалась память, а заранее и с определенной периодичностью. Для этой задачи в tarantool есть модуль, написанный на Lua, под ...

Обзор смартфона HTC Wildfire E1 Сегодня к нам на обзор попал очень любопытный смартфон HTC Wildfire E1. Когда-то именно с девайса HTC начался сайт droidnews, когда приобрёл себе тот самый изогнутый HTC Hero с трекболом. Позже во владении были устройства Desire HD, Sensation, One X, one M7. А после вышло ...

Ошибки в JavaScript: исправляем, обрабатываем, чиним Всем привет! Вдохновленные успехом предыдущей статьи, которая была написана в преддверии запуска курса "Fullstack разработчик JavaScript", мы решили продолжить серию статей для новичков и всех тех, кто только начинает заниматься программированием на языке JavaScript. Cегодн...

Функциональные тесты в Циан Привет! Меня зовут Тимофей, я Python-разработчик в команде Платформа компании Циан. Наша команда занимается разработкой инструментов для продуктовых разработчиков. Это и библиотеки: HTTP-клиент, веб-сервер, библиотеки доступа к базам данных, и средства мониторинга микросерв...

Java-дайджест за 29 мая 23 мая нашей любимой Java исполнилось 25 лет. Все эти годы один из самых популярных запросов в гугле — когда же Java наконец умрёт? Не дождётесь. К летней конференции JPoint присоединяется сам Джоэл Спольски — один из двух создателей Stack Overflow. Олды должны хорошо пом...

Настройка балансировки нагрузки на InfoWatch Traffic Monitor Что делать, если мощности одного сервера не хватает для обработки всех запросов, а производителем ПО не предусмотрена балансировка нагрузки? Есть много вариантов – от покупки балансировщика нагрузки до ограничения числа запросов. Какой из них правильный, нужно смотреть по ...

Intel работает над поддержкой нескольких GPU серии Xe в драйверах для Vulkan Вот уже несколько месяцев Intel добавляет в свои графические драйвера патчи, которые должны позволить работать нескольким GPU на архитектуре Intel Xe в одной системе. До сих пор изменения касались ядра Linux, но теперь они стали ближе к пользователю — Intel начала подготовку...

Как я делал 2D тени в Unity Что первое приходит в голову разработчику инди-игры, когда он сталкивается с необходимостью добавления фичи, представления о реализации которой толком не имеет? Разумеется, он идёт искать следы тех, кто уже прошёл этот путь и удосужился записать свой опыт. Так поступил и я н...

Предварительный обзор MSI Creator 17. Очень мощно На рынке ноутбуков довольно давно не было ничего интересного, так как крупные производители просто повышают производительность компонентов, не меняя даже дизайн корпуса. Сегодня мы с вами поговорим о довольно необычном решении, которое может изменить ситуацию в корне, ведь т...

[Перевод] Знакомимся с NestJS Перевод статьи подготовлен в преддверии старта курса «Разработчик Node.js». У современных разработчиков есть много альтернатив, когда речь заходит о создании веб-сервисов и других серверных приложений. Node стал крайне популярным выбором, однако многие программисты предп...

802.11ba (WUR) или как скрестить ужа с ежом Не так давно на всяческих других ресурсах и в своем блоге я рассказывал о том что ZigBee мертв и стюардессу пора бы уже закопать. Для того чтобы делать хорошую мину при плохой игре с Thread, работающим поверх IPv6 и 6LowPan, достаточно более приспособленного для это Bluetoot...

[Из песочницы] 10 строк кода, которые уменьшат боль от вашего проекта на Vue … или знакомство с плагинами Vue JS на примере интегрированной шины событий Пара слов о… Всем привет! Сразу оговорюсь. Я очень люблю VueJS, активно пишу на нем уже больше 2-х лет и не считаю, что разработка на нем может причинить боль хоть в какой-то значимой степени :) С д...

Как уменьшить потребление wifi модулей в десять и более раз Добрый день, Всем!!! Данная статья в основном касается популярного модуля ESP8266 (ESP8285). Недавно на одном из форумов мне задали вопрос о протоколе ESP-NOW. В итоге решил рассказать о способах сокращения потребления датчиков и исполнительных устройств, работающих по WiFi,...

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

Создаем CRUD API на Express и MySQL: часть вторая Всем привет. В преддверии старта курса «Разработчик Node.js», хотим поделиться продолжением материала, который был написан нашим внештатным автором. Всем еще раз привет. Мы возвращаемся к созданию приложения на Node.js и MySQL для небольшого todo — приложения на Node.js ...

Локализация приложений: как мы подружили перевод и разработку Привет, Хабр! Я ведущий разработчик системы локализации в Badoo. Мы работаем с несколькими большими проектами: Badoo, Bumble, Lumen и Chappy. Сейчас в системе локализации у нас находятся 150 000 фраз и текстов, переведённых на 52 языка. При этом каждое из наших приложений и...

OnePlus рассказала появится ли реклама в прошивке ... Для ряда производителей смартфонов запуск рекламы на них — осознанный и необходимый шаг, попытка дополнительной монетизации. Так, например, ранее Xiaomi пошла на то, что во все свои смартфоны на MIUI она добавила неотключаемую рекламу в виде небольших баннеров в отдель...

HUAWEI объявила о запуске HMS Core 4.0 Компания HUAWEI объявила о запуске набора сервисов HMS Core 4.0, который даст разработчикам приложений повысить эффективность разработки приложений, а также усовершенствовать их монетизацию. Эта платформа сможет обеспечить широкую базу открытых API экосистемы HUAWEI и посп...

[Из песочницы] Laravel+Docker+Gitlab. С чего начать Я обычно всегда обходился без докера и думал, что докер нужен только для больших проектов в больших компаниях. Но однажды я увидел как работает докер в паре с гитлабом у моего товарища и понял, что мне все таки стоит его изучить. Однако, как обычно это бывает, одной подходящ...

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

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