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

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

Хакер получил доступ к GitHub-репозиториям Microsoft Злоумышленник скомпрометировал private-репозитории Microsoft, однако исходные коды продуктов компании или другие критические данные в его руки не попали.

Обзор k9s — продвинутого терминального интерфейса для Kubernetes K9s предоставляет пользовательский интерфейс терминала для взаимодействия с кластерами Kubernetes. Цель этого Open Source-проекта — облегчить удобную навигацию по приложениям в K8s, наблюдение за ними и управление ими. K9s постоянно следит за изменениями в Kubernetes и пре...

Angular для Vue разработчиков Сейчас во фронтенде среди фреймворков есть три явных лидера: Angular, React и Vue. Думаю, мы можем судить о любви разработчиков к проекту по количеству звезд на GitHub. На момент написания данной статьи у Vue уже 161 тысяча звезд, на втором месте находится React с 146 тысяча...

Прокачай свой CLI Сейчас многие фреймворки имеют в своем арсенале CLI (Command Line Interface) и ангуляр – не исключение. Впервые с CLI-утилитами я столкнулся, когда пробовал EmberJS и тогда мне это показалось очень удобным инструментом, который довольно сильно экономил мое время. Но, к сожал...

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

33 потрясающих GitHub-репозитория для разработчиков мобильных приложений В этой статье мы рассмотрим 33 полезных GitHub-репозитория для разработчиков iOS, Android и Flutter.

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

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

Разбираемся с Custom Tooling в Argo CD Спустя некоторое время после написания первой статьи, где я ловко управлялся с jsonnet и гитлабом, я понял что пайплайны это конечно хорошо, но излишне сложно и неудобно. В большинстве случаев требуется типовая задача: "сгенерировать YAML и положить его в Kubernetes&qu...

Сниппет, расширение для VSCode и CLI. Часть 1 Доброго времени суток, друзья! В процессе разработки Современного стартового HTML-шаблона я задумался о расширении возможностей его использования. На тот момент варианты его применения ограничивались клонированием репозитория и скачиванием архива. Так появились HTML-снипп...

[Перевод] Разработчик игры VVVVVV в честь её десятилетия сделал исходный код открытым Сегодня — десятилетняя годовщина релиза VVVVVV! Хотя, возможно, и завтра — строго говоря, впервые игра стала доступной 3 часа утра по GMT 11 января 2010 года, спустя очень долгий день устранения каждого найденного мной бага, создания сборок последней минуты и попыток медле...

[Перевод] Пишем приложение на Flutter в связке с Redux Привет всем! В этой статье я хотел бы показать вам, как создать Flutter приложение, используя Redux. Если вы не знаете, что такое Flutter, то это — SDK с открытым исходным кодом для создания мобильных приложений от компании Google. Он используется для разработки приложений...

[Из песочницы] Прикручиваем ActiveDirectory авторизацию к Kubernetes c помощью Keycloak Данная статья написана с целью расширить уже существующую, но рассказывает про особенности связки именно с Microsoft ActiveDirectory, а так же дополняет ее. В этой статье я расскажу как установить и настроить: Keycloak — это проект с открытым исходным кодом. Который обес...

Роскомнадзор назвал самые популярные у пиратов российские фильмы В Роскомнадзоре опубликовали перечень отечественных кинофильмов, пользующихся наибольшей популярностью среди пиратов. Наибольшее количество нелегальных копий в сети размещено на картину «Т-34», ставшую одним из наиболее успешных российских фильмов с точки зрения проката. В о...

Scaled YOLO v4 самая лучшая нейронная сеть для обнаружения объектов на датасете MS COCO Научная статья: arxiv.org/abs/2011.08036 Pytorch: YOLOv4-CSP, YOLOv4-P5, YOLOv4-P6, YOLOv4-P7 (main repository — use to reproduce results): github.com/WongKinYiu/ScaledYOLOv4 Darknet: YOLOv4-tiny, YOLOv4-CSP, YOLOv4x-MISH: github.com/AlexeyAB/darknet Структура YOLOv4-CSP: h...

Ленивая реализация обхода дерева дочерних элементов класса QObject Введение В статье описана ленивая реализация обхода дерева на языке C++ с использованием сопрограмм и диапазонов на примере улучшения интерфейса работы с дочерними элементами класса QObject из фреймворка Qt. Подробно рассмотрено создание пользовательского представления для р...

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

Код в одну строку или проверка Nethermind с помощью PVS-Studio C# для Linux Данная статья приурочена к старту бета-теста PVS-Studio C# для Linux, а также плагина для Rider. По такому прекрасному поводу с помощью данных инструментов была проведена проверка исходного кода продукта Nethermind и в данной статье мы посмотрим на интересные, а иногда и за...

[Перевод] Представляем PyCaret: открытую low-code библиотеку машинного обучения на Python Всем привет. В преддверии старта курса «Нейронные сети на Python» подготовили для вас перевод еще одного интересного материала. Рады представить вам PyCaret – библиотеку машинного обучения с открытым исходным кодом на Python для обучения и развертывания моделей с учителем...

Прекращаем ставить диод 2 Несколько лет назад мною была опубликована статья под аналогичным заголовком. Если кратко, то в ней я рассказал о процессе разработки с нуля устройства, выполняющего функции «идеального диода» для предотвращения разряда буферного аккумулятора на обесточенный блок питания. У...

Визуализация топологии сети с помощью скрипта Python и NeXt UI В данный момент в сети существует немало утилит и программ с открытым кодом для визуализации сетевых топологий. Исходными данными, как правило, для них выступают данные таких протоколов, как Cisco Discovery Protocol (CDP), Link Layer Discovery Protocol (LLDP), Open Shortest...

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

Как мы считаем людей с помощью компьютерного зрения Фото из открытых источников Массовые скопления людей создают проблемы в самых разных областях (ритейл, госслужбы, банки, застройщики). Заказчикам необходимо объединять и мониторить информацию о количестве людей во множестве мест: в офисах обслуживания, административных пом...

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

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

Как настроить SSH-Jump Server Для работы с облачной инфраструктурой рекомендуется создавать SSH Jumpstation. Это позволяет повысить безопасность и удобство администрирования серверов. В этой статье мы расскажем, как настроить единую точку входа для подключений по ssh – SSH Jump Server. Для реализации выб...

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

Ах, эти строки Это текстовая версия моего доклада "Ах, эти строки" на конференции JPoint-2020. Дабы не тратить время читателей зря, сразу расставим все точки над "ё". О чём статья? Статья об эффективном (или не очень) использовании строк. Для кого статья? Статья для раз...

Репозиторий youtube-dl восстановили на GitHub после вмешательства EFF Сегодня на GitHub восстановили репозиторий опенсорсного проекта youtube-dl, который ранее был удален из-за нарушения DMCA. Данная Python-библиотека применяется во многих инструментах и сервисах для копирования контента с YouTube, имеет более 72 000 звезд на GitHub и представ...

[Перевод] Руководство Google по стилю в C++. Часть 1 Часть 1. Вступление … Часть 8. Именование Часть 9. Комментарии … Все мы при написании кода пользуемся правилами оформления кода. Иногда изобретаются свои правила, в других случаях используются готовые стайлгайды. Хотя все C++ программисты читают на английском легче, чем на...

Обзор и тестирование Huawei Dorado 5000V6 Полгода назад я уже начинал рассказывать об обновлении линейки СХД компании Huawei – Dorado V6. На самом деле, мне удалось познакомиться с ними еще до официального анонса, и логично, что тогда у меня не было возможности потрогать их в работе собственными руками. В своей ста...

Забытые знаменитости стали источником дохода для стартапа: как работает проект видеооткрыток Cameo Компания открыла «маркетплейс» звёзд второстепенной величины — сейчас на платформе 20 тысяч знаменитостей, которые сняли для пользователей 365 тысяч персонализированных роликов. ...

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

[Из песочницы] Создаем прогрессивный PWA интернет-магазин на Nuxt.js 2 пошаговое руководство Часть 1 Статья ориентированна на людей, которые уже имеют понимание работы Vue, на котором основан Nuxt, поэтому я буду заострять внимание только на специфических для Nuxt вещах. Но даже если вы не знакомы с ними, то статья даст общее представление как выглядит проект с PWA Nuxt. Вы...

[Перевод] Что такое Waypoint и какие возможности дает его использование Пару недель назад я посмотрела демонстрацию Waypoint— нового инструмента, который представила 15 октября 2020 года компания Hashicorp. Инструмента, который предназначен для создания легкого, интуитивного и настраиваемого под пользователя рабочего процесса сборки, развертыва...

Мониторинг PostgreSQL с использованием Zabbix Доклад Дарьи Вилковой для Zabbix Meetup Online Я хочу познакомить вас со средством мониторинга PostgreSQL и операционной системы, которое разрабатывается нашей компанией с использованием Zabbix. Мы выбрали Zabbix в качестве средства мониторинга уже давно, потому что это п...

Что обозначает вывод «ss -s» На смену утилите netstat пришла утилита ss и очень часто вывод агрегированной (суммарной) информации «ss -s» (или «ss --summary») используется для нужд мониторинга. Однако, что же означает каждое из выводимых полей? # ss -s Total: 15046 (kernel 16739) TCP: 39306 (estab 1...

Пробуем запустить GAN сети в OpenVINO Репозиторий моделей Open Model Zoo библиотеки OpenVINO содержит много самых разных глубоких нейронных сетей из области компьютерного зрения (и не только). Но нам пока не встретилось GAN моделей, которые генерировали бы новые данные из шума. В этой статье мы создадим такую мо...

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

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

[Из песочницы] Urban Bot или как писать чат-ботов для Telegram, Slack, Facebook… на React.js В этой статье я хочу познакомить с новой библиотекой Urban Bot, которая адаптирует React для написания чат-ботов. Ниже я расскажу, зачем эта библиотека появилась на свет, какие дает преимущества и как написать вашего первого чат-бота. Чат-бот — это чаще всего отдельный чат ...

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

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

[Из песочницы] 5 фич JavaScript, без которых я не мог бы писать код (перевод) Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Kent Dodds «5 JavaScript Features I Couldn't Code Without». Это мой первый перевод, так что буду рад любым замечаниям. 5 фич JavaScript, без которых я не мог бы писать код Прежде чем мы начнем, по...

[Перевод] Продвинутый уровень визуализации данных для Data Science на Python Как сделать крутые, полностью интерактивные графики с помощью одной строки Python Когнитивное искажение о невозвратных затратах (sunk cost fallacy) является одним из многих вредных когнитивных предубеждений, жертвой которых становятся люди. Это относится к нашей тенденции...

[Перевод] Современные архитектуры фронт-энда В статье "Contemporary Front-end Architectures" рассмотрены архитектуры фронт-энда с точки зрения потоков данных в исторической ретроспективе. Материал состоит из трех частей Теория и история Реализация Перспективы Читать дальше →

Цефеиды — звездные «верстовые столбы» Вселенной … они дали самый надежный способ определения больших расстояний. А ведь вся история астрономии – это спор о расстояниях. Сначала до Луны и Солнца, затем до звезд, туманностей и галактик. Харлоу Шепли, астроном Этих редких звезд в нашей Галактике насчитывается всего неск...

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

YouTrack теперь с просмотром пул-реквестов в задачах Привет, Хабр! С вами команда YouTrack из JetBrains. У нас отличные новости — начиная с YouTrack 2020.3 в задачах отображаются не только коммиты, связанные с задачами, но и пул-реквесты. В сегодняшнем посте мы расскажем, что это, зачем это, и как это поможет сделать процесс...

[Перевод] Руководство Google по стилю в C++. Часть 2 Часть 1. Вступление Часть 2. Заголовочные файлы … Все мы при написании кода пользуемся правилами оформления кода. Иногда изобретаются свои правила, в других случаях используются готовые стайлгайды. Хотя все C++ программисты читают на английском легче, чем на родном, приятн...

Tencent открыл доступ на бета-тест Arena Breakout Издатель Tencent открыл дополнительные слоты для бета-теста Arena Breakout. Как и ожидалось, тестирование началось в сентябре, но места ограничены. Tencent передал через китайскую соцсеть о том, что для ранней версии Arena Breakout открыты дополнительные слоты. Пока что игр...

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

[Перевод] 10 отличных Github репозиториев, которые должен знать каждый веб-разработчик Кроме огромных репозиториев с источниками для подготовки к интервью, здесь много чего интересного Я собрал список из десяти отличных репозиториев на Github, которые помогут вам существенно расширить свои знания. А я его перевел, т.к. показалось, что пост многим будет интере...

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

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

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

[Из песочницы] Ack лучше grep Хочу рассказать об одной утилите для поиска, которая очень сильно упрощает жизнь. Когда я попадаю на сервер и мне надо что-то поискать я первым делом проверяю установлен ли ack. Эта утилита является прекрасной заменой grep, а также в какой-то мере find и wc. Почему не grep? ...

Анализ исходного кода Emby при помощи анализатора PVS-Studio Emby — довольно известный медиасервер, наравне с Plex и Kodi. В этой статье мы попробуем проверить его исходный код при помощи статического анализатора PVS-Studio. На официальном сайте Emby есть маленькая пометочка «Built with ReSharper». Что же, так даже интереснее. Читать...

Что такое Windows PowerShell и с чем его едят? Часть 2: введение в язык программирования Исторически утилиты командной строки в Unix-системах развиты лучше чем в Windows, однако с появлением нового решения ситуация изменилась. Читать дальше →

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

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

Объединяем закрытый WhatsApp и открытый SIP – Часть 1 Предыдущая статья «Как избежать блокировки в WhatsApp», хотя и получила много минусов, но тем не менее в течении 2 суток была самой читаемой статьей на Хабре – набрала более 20 тыс просмотров. Поэтому я решил что нужно продолжать с хакингом монстров рассказывать о различны...

Hidden Bar – удобная утилита для упорядочивания элементов в строке меню macOS По мере установки новых программ на Mac число элементов в правой части строки меню системы будет увеличиваться. Мало того, что это заставляет каждый раз напрягаться в поисках нужной иконки, так и порядок навести в этом месте очень сложно. Постоянно приходится путаться в этом...

Ищете вакансию тестировщика? Будьте готовы продемонстрировать навыки разработчика И снова здравствуйте. В преддверии старта курса «Java QA Engineer» подготовили небольшой материал, который станет полезен тем, кто только собирается построит карьеру в данном направлении. Тестировщик — кто это? Инженер по контролю качества программного обеспечения (QA) от...

Envoy. 1. Введение Приветствую! Это небольшая статья, отвечающая на вопросы: "что такое envoy?", "зачем он нужен?" и "с чего начать?". Что это Envoy — это L4-L7 балансировщик написанный С++, ориентированный на высокую производительность и доступность. С одной стор...

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

[Перевод] wc на D: 712 символов без единого ветвления После прочтения "Побиваем С программой в 80 строк на Хаскеле", которую я нашел на ХакерНьюс, я решил, что D может и лучше. И я написал wc на D. Прим.пер. Я предложил вышеупомянутую статью перевести 0xd34df00d, но он предпочел сделать по мотивам свою «Побеждая C дв...

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

[Перевод] Разработчики open source проектов пишут письмо GitHub Дорогой GitHub, Почти 4 года назад группа разработчиков ПО с открытым исходным кодом написала вам письмо. В нем мы выразили свое разочарование тем, что платформа, которую мы так сильно любим, игнорирует нашу просьбу о помощи. Вы стали работать над собой — обращали внимани...

Магия 2-х строк на Lua или как донести исходные заголовки HTTP Authorization header-авторизации до web-сервиcа Статья будет полезна тем: кому необходимо задействовать несколько видов авторизации в одном запросе к серверу; кто хочет открывать сервисы мира Kubernetes/Docker в общий интернет, не задумываясь о способах защиты конкретного сервиса; думает, что всё уже кем-то сделано, ...

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

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

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

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

[Из песочницы] ConfigureAwait: часто задаваемые вопросы Привет, Хабр! Представляю вашему вниманию перевод статьи «ConfigureAwait FAQ» автора Стивен Тауб. Async/await добавили в .NET более семи лет назад. Это решение оказало существенное влияние не только на экосистему .NET — оно также находит отражение во многих других языках...

Пишем прошивку под TI cc2530 на Z-Stack 3.0 для Zigbee реле Sonoff BASICZBR3 с датчиком ds18b20 Предполагается, что читатель уже имеет начальные знания языка C, что-то знает о Zigbee, чипе cc2530, методах его прошивания и использования, а также знаком с такими проектами, как zigbee2mqtt. Если нет — подготовьтесь или сходите почитать на https://myzigbee.ru и https://w...

Почему я играю только на лёгком уровне сложности Хочу вам признаться - я играю в игры только на лёгком уровне сложности. Но не спешите опускать меня в комментариях. Давайте я разъясню свою точку зрения и возможно вы примете мою сторону.

Яндекс.Диск запретил использование open source утилиты rclone Предыстория Привет, Хабр! К написанию этого поста привела довольно странная ошибка, которую вчера вечером на ноутбуке с Linux (да, я их тех странных людей, кто использует GNU/Linux на ноутбуке) я получил вместо содержимого своего Яндекс.Диска: $ ls -l /mnt/yadisk ls: reading...

Вызов кода Go из Dart с использованием cgo и Dart FFI на простом примере Ключевой мотивацией для написания данной статьи является факт сильного недостатка информации (особенно в русскоязычном сообществе) по использованию cgo и Dart FFI для использования Go из языка Dart.Язык Dart, не смотря на свою возрастающую популярность, на данный момент до с...

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

В Узбекистане насчитывается 8 тысяч компаний в сфере информации и связи Немаловажную роль в развитии сферы информации и связи сыграл IT-парк, открытый в 2019 году.

Пример реального проекта на F# В экосистеме Майкрософт F# занимает место экспериментального языка, удачные концепты из которого, впоследствии, переносятся в C#. Вместе с тем, во многом благодаря сообществу, фаршик стал реальной альтернативой для прикладных проектов.Пример такого проекта www.open-quiz.com ...

Unity + git = дружба: часть 1 джентльменский набор Система контроля версий git уже давно стала стандартом де-факто в мире разработки, но для большинства разработчиков на Unity не секрет, что существует ряд трудностей связанных с особенностями Unity, которые мешают эффективно использовать ее совместно с git. Вот список типи...

[Перевод] Flutter. Весеннее обновление 2020 Привет! Меня зовут Евгений Сатуров, я Flutter-разработчик Surf и основатель Flutter Dev Podcast. Ниже перевод статьи Tim Sneath и Patrick Sosinski с моими комментариями. Полмиллиона разработчиков, 50 тысяч приложений, взрывной рост и обновлённый релизный цикл. Последние м...

Deep Fake Science, кризис воспроизводимости и откуда берутся пустые репозитории Я мирно сидел на семинаре, слушал доклад студента о статье с прошлого CVPR и параллельно гуглил тему. — К достоинствам статьи можно отнести наличие исходного кода…. Пришлось вмешаться: — Наличие чего, простите? — Э-э-э… Исходного кода… — Вы его смотрели?  — Нет, но в статье...

Распространение сферического коня в вакууме по территории РФ Привет от ODS. Мы откликнулись на идею tutu.ru поработать с их датасетом пассажиропотока РФ. И если в посте Milfgard огромная таблица выводов и научпоп, то мы хотим рассказать что под капотом. Что, опять очередной пост про COVID-19? Да, но нет. Нам это было интересно именно...

WSL эксперименты. Часть 2 Привет, Хабр. В преддверии старта курса «Administrator Linux. Professional» публикуем продолжение статьи про WSL эксперименты, которую написал наш эксперт — Александр Колесников. Настало время для продолжения экспериментов с подсистемой WSL; первую часть статьи можно посм...

Пользователи Mac с чипом M1 жалуются на быстрый износ SSD. В чём дело? Компьютеры Mac на M1 получились очень мощными и производительными (не говоря уже о времени автономной работы), но, как и в случае с любым новым устройством, без «болячек» здесь не обошлось. И если большинство проблем Apple уже исправила с помощью обновлений macOS, то с ново...

Евгений Варавва, разработчик в Google. Как описать Google в 5 словах Можно ли описать Goggle в нескольких словах? Компанию, в которой сотни подразделений, порой настолько экспериментальных, что вплотную приближаются к научной фантастике. Компанию, в которой работают сотни тысяч человек по всему миру. Наверное, Google — для каждого своей. Для...

[Перевод] Swift Property Wrappers Если вы использовали SwiftUI, то наверняка обращали внимание на такие ключевые слова, как @ObservedObject, @EnvironmentObject, @FetchRequest и так далее. Property Wrappers (далее «обёртки свойств») — новая возможность языка Swift 5.1. Эта статья поможет вам понять, откуда же...

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

Ищем цепочку событий в потоке данных с помощью FlinkCEP В данной статье речь пойдет об использовании открытой платформы Apache Flink для обнаружения цепочки последовательности событий. Статья подойдет как для начинающих разработчиков в области обработки потоковых данных, так и для тех, кто желает познакомиться с Apache Flink. Н...

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

[Из песочницы] Docker-образ для раздачи Single Page Application Single-page Application (SPA) – это набор статических JavaScript и HTML файлов, а так же картинок и других ресурсов. Поскольку они не изменяются динамически, опубликовать их в интернете очень просто. Для этого существует большое количество дешёвых и даже бесплатных сервисов,...

Знакомьтесь: чертежи для ядерного реактора с открытым исходным кодом Американская некоммерческая организация «Energy Impact Center» озвучила свое намерение выложить в открытый доступ чертежи, схемы и всю необходимую документацию для строительства персональных ядерных реакторов. Речь идет о мирном атоме, частных АЭС малой мощности. Большая час...

Приложение «Дія» за четыре дня скачали более 1 млн раз, из них 64,6% пришлось на Android На прошлой неделе долгожданное мобильное приложение «Дія» («Держава в смартфоні») перешло в стадию открытого бета-тестирования, став доступным всем желающим. И вот сейчас общее число установок на платформах Android и iOS превысило 1 млн. То есть, за четыре дня «Дію» в общей ...

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

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

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

[Перевод] PEP 257 на русском. (Соглашение о Docstrings) Привет, Хабр. Бывают моменты, когда тебе хочется максимально погрузиться в язык и понять все его тонкости. В случае Python один из лучших способов это сделать — читать на официальном сайте документацию и PEP-ы. В своё время я этого не делал, поскольку не мог понять многих «т...

[Из песочницы] Пол Грэм: Хейтеры Перевод последнего на данный момент эссе Пола Грэма с правками Илона Маска, любытно с точки зрения понимания поведенческих паттернов при формировании и высказывания мнения на интернет-ресурсах. Далее от лица Пола. Читать дальше →

[Из песочницы] Отладка и программирование микроконтроллеров stm32f303, atmega328 через любой интерфейс, как через jtag Данная статья посвящена моему первому open source проекту “repl”(ссылка на репозиторий внизу). Идея данного проекта заключается в том, чтоб позволить программисту микроконтроллеров отлаживать программу в микроконтроллере через любой его интерфейс, при этом чтобы отладка не с...

(Не)очередной MQTT телеграм бот для IoT Всем привет! Сегодня хочу поделиться опытом разработки универсального телеграм бота для получения информации и управления IoT устройствами посредством протокола MQTT. Почему (не)очередной? Потому что это не просто бот с двумя захардкоженными кнопками для управление лампочк...

[Перевод] Техническое руководство по системам управления версиями (VСS) В этой статье сравним с технической точки зрения самые известные системы управления версиями (в будущем планируем расширить список): Первое поколение SCCS (Source Code Control System) RCS (Revision Control System) Второе поколение CVS (Concurrent Versions System) SVN (...

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

3.Elastic stack: анализ security логов. Дашборды В прошлых статьях мы немного ознакомились со стеком elk и настройкой конфигурационного файла Logstash для парсера логов, в данной статье перейдем к самому важному с точки зрения аналитики, то что вы хотите увидеть от системы и ради чего все создавалось — это графики и табл...

Сложности работы с ANTLR: пишем грамматику Ruby В «Ростелеком-Солар» мы разрабатываем статический анализатор кода на уязвимости и НДВ, который работает в том числе на деревьях разбора. Для их построения мы пользуемся оптимизированной версией ANTLR4 – инструмента для разработки компиляторов, интерпретаторов и трансляторов...

Найдено объяснение спиральным рукавам Млечного пути Галактика, R5519 состоит из плоского кольца звезд с отверстием в середине, пробитым другой галактикой. Подобные образования называются «кольцеобразными» и нечасто образуются в современной вселенной. Галактики же в ранней вселенной были очень активными, буквально взбивая горя...

Домену .РФ исполняется 10 лет 12 мая 2020 года первому кириллическому домену .РФ исполняется 10 лет. По данным Координационного центра доменов RU/.РФ он был и остается крупнейшим кириллическим доменом, где в данный момент зарегистрировано более 760 тысяч доменных имен. Следующим после российского являетс...

Хостим Bitwarden — open-source менеджер паролей Менеджеры паролей действительно полезны и важны как для отдельных пользователей, так и для организаций, и они пригодятся, когда у вас много разных учетных записей и паролей. Обычно люди не любят пользоваться сторонними менеджерами паролей с сервисной архитектурой — неизвес...

[Из песочницы] Первые шаги в Spring, Rest API, акцент на PUT в связке с фронтендом Немного о себе: На данный момент я студент Skillbox и прохожу курс “Java-разработчик”. Не в коем случае не реклама, рассказываю немного о себе. Начал учить джаву с мая 2019 года, до этого немного самостоятельно изучал HTML, CSS и JS. Собственно, подтолкнуло меня на написани...

[Перевод] Лучшие инструменты с открытым исходным кодом и библиотеки для Deep Learning — ICLR 2020 Experiencebi Сложно найти на Хабре человека, который не слышал бы про нейронные сети. Регулярные новости о свежих достижениях нейронных сетей заставляют удивляться широкую публику, а также привлекают новых энтузиастов и исследователей. Привлеченный поток специалистов способствует не толь...

[Перевод] 6 способов значительно ускорить pandas с помощью пары строк кода. Часть 2 В предыдущей статье мы с вами рассмотрели несколько несложных способов ускорить Pandas через jit-компиляцию и использование нескольких ядер с помощью таких инструментов как Numba и Pandarallel. В этот раз мы поговорим о более мощных инструментах, с помощью которых можно не т...

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

[Перевод] Классификация изображений на Android с помощью TensorFlow Lite и сервиса Azure Custom Vision Классификация изображений позволяет нашим приложениям Xamarin распознавать объекты на фотографиях. Все более и более распространенной становится возможность сделать фотографию и распознать ее содержимое. Мы можем наблюдать это в наших банковских приложениях при внесении мо...

[Перевод] Публикация кода VVVVVV показала, насколько грубо устроены игры внутри На прошлой неделе создатель Dicey Dungeons Терри Кавана отпраздновал десятую годовщину своей давней игры VVVVVV, by опубликовав её исходный код [перевод на Хабре]. Если объяснять просто, то это значит, что любой человек может теперь посмотреть, как создавалась игра, потому ...

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

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

Mozilla запустила фонд для борьбы с COVID-19 Крупная компания Mozilla объявила о создании фонда, выделив по 50 тысяч долларов на технологичные проекты помогающих бороться с вирусом. Компания ищет технологичные проекты с открытым исходным кодом, борющихся с пандемией коронавируса COVID-19. На каждый проект Mozilla обе...

[Из песочницы] STM32CubeMonitor стоит попробовать Введение STM32CubeMonitor — утилита для удобного отображения данных с контроллеров семейства STM32. Причем не требуется никакого дополнительного оборудования, только плата с контроллером и программатор (я пробовал и китайский свисток и оригинальный st-link\v2). Слово «Cube» ...

Эксперимент VTrade. Часть 1: Биржи и современные технологии Цикл статей освещает попытку создания реактивной системы силами одного человека с минимальным бюджетом и в кратчайшие сроки. Цели эксперимента: Более глубокое понимание предметной области и улучшение технической экспертизы Выявление сильных и слабых сторон использования фу...

[Перевод] ELK SIEM Open Distro: Интеграция с WAZUH Продвигаемся дальше по нашему проекту. Мы завершили часть SIEM. Пришло время перевести наш проект из простого наблюдателя в активного ответчика. Одним из важных инструментов, которые мы использовали для этого, является Wazuh. В этой статье мы надеемся просветить вас о преиму...

Бесшовные A/B-обновления в Android: как они устроены Всем привет. В SberDevices наша команда занимается разработкой различных железок прошивок и для них на базе AOSP. Начиная с Android 8 (у некоторых вендоров с 7.1) в системе появился новый механизм накатки OTA-обновлений, т. н. Seamless A/B OTA Updates — бесшовные обновле...

Это почти идеал. Anycubic 4max Pro 2.0. Обзор действительно готового решения Всем доброго времени суток.В какой то момент уже должно было прийти понимание, что хватит играться с дешевыми китайскими дрыгостолами и наконец переходить на что то более серьезное. Этим серьезным FDM принтером стал именно Anycubic 4Max Pro 2.0. Выбор был сделан не просто та...

Nginx-log-collector утилита от Авито для отправки логов nginx в Clickhouse В этой статье будет рассматриваться проект nginx-log-collector, который будет читать логи nginx, отправлять их в кластер Clickhouse. Обычно для логов используют ElasticSearch. Для Clickhouse требуется меньше ресурсов (дисковое пространство, ОЗУ, ЦПУ). Clickhouse быстрее запи...

[Перевод] Автономные автомобили на open source (Статья Forbes 2019 года ) Брэд Тэмплтон с ранней версией Стэнфордского робокара. Об авторе: Брэд Тэмплтон — инженер-программист, евангелист робоавтомобилей с 2007 года, работал над Гуглокаром в его ранние годы. Основатель ClariNet, почетный председатель Electronic Fronti...

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

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

Unigine Engine — новый уникальный Пролог Не так давно я увидел showreel движка, который выглядит более чем конкурентно showreel В этой статье я максимально кратко расскажу об этом движке и косвенно сравню с прямыми конкурентами. зарегестрироваться и скачать тутunigine.com Немного про историю : Все началос...

Стала известна дата релиза MMORPG Seven Knights II в Южной Корее Выход MMORPG Seven Knights II уже не за горами. Об этом объявила южнокорейская корпорация Netmarble. Месяцем ранее мы писали о начале предрегистрации в Южной Корее. Пока что неизвестно, когда состоится глобальный релиз проекта. Отличием прямого сиквела от оригинала являются ...

[recovery mode] Как при помощи большого монитора и консольной утилиты WLSDM смотреть за Oracle WebLogic Server На просторах утилит консольных расширений Oracle WebLogic Server встретилась одна очень полезная — WLSDM, как ее позиционируют сами авторы — утилита мониторинга WebLogic Server с большим набором возможностей. Если пойдете на сайт разработчика, увидите, что рядом лежит еще од...

Java-дайджест за 14 декабря Дело Google vs Oracle будет рассматривать Верховный Суд США. В последний раз. Запасаемся попкорном, русская рулетка начинается. Прочитать суть проблемы можно в оригинальной PDF-ке, в которой Oracle утверждает, что у них скопировали 11500 строк кода из 37 пакетов, тем самым...

Современный Web-UI для SVN в 2020 году cSvn — это web-интерфейс к Subversion репозиториям. Основу cSvn представляет CGI-скрипт написанный на языке С. В мае 2020 года был опубликован релиз очередной версии Apache Subversion 1.14.0. В свете этого события, был создан новый, современный web-интерфейс для просмотра S...

POCO X3 Pro в Европе начинает получать MIUI 12.5 Всего несколько дней назад мы увидели появление глобальной версии MIUI 12.5 для Xiaomi Mi 11, сегодня настала очередь POCO X3 Pro, который начал получать версию обновленной оболочки Global ROM, предназначенную для европейского рынка. Это обновление с номером сборки V12.5.1.0...

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

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

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

Тысяча и один UI-баг, или Как помочь разработчику избегать типовых ошибок в UI Тестирование новых фич, казалось бы, очень творческий и интересный процесс. Но что делать, если ошибки в интерфейсах повторяются из фичи в фичу, а большая часть времени тратится на отлавливание мелких интерфейсных проблем?  За четыре года работы в Badoo из более чем тысяч...

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

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

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

[Перевод] Запускаем Keycloak в HA режиме на Kubernetes TL;DR: будет описание Keycloak, системы контроля доступа с открытым исходным кодом, разбор внутреннего устройства, детали настройки. Читать дальше →

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

Переход с Mercurial на GIT в Atlassian Bitbucket с сохранением файлов в кириллице Предыстория Ещё летом в официальном блоге BitBucket опубликовали запись, в которой сообщили об окончании поддержки репозиториев Mercurial. Прекращение поддержки Mercurial будет проходить в два этапа: С 1 февраля 2020 года пользователи больше не смогут создавать новые репоз...

[Из песочницы] Как использовать консоль JavaScript: выход за пределы console.log () Привет, Хабр! Представляю вашему вниманию перевод статьи «How to use the JavaScript console: going beyond console.log()» автора Yash Agrawal. Один из самых простых способов отладки чего-либо в JavaScript — вывод материала с помощью console.log. Но есть много других методов,...

Простой rpm репозиторий используя Inotify и webdav В этом посте рассмотрим хранилище rpm артефактов c помощью простого скрипта с inotify + createrepo. Заливка артефактов осуществляется через webdav используя apache httpd. Почему apache httpd будет написано ближе к концу поста. Итак, решение должно отвечать cледующим требован...

[Из песочницы] Как построить ЦОД Tier IV по схеме N + 1 Системы ИБП с изолированно-параллельной шиной (IP-Bus) – ответ разработчиков на рост мощностей дата-центров. В мире уже построено много ЦОДов с IP-Bus, в том числе с сертификатом Tier IV Uptime Institute. К таким решениям присматриваются и российские заказчики. В практике ...

Трепещущий Kivy. Обзор возможностей фреймворка Kivy и библиотеки KivyMD Kivy и Flutter — два фреймворка с открытым исходным кодом для кроссплатформенной разработки. Flutter: создан компанией Google и выпущенный в 2017 году; в качестве языка программирования использует Dart; не использует нативные компоненты, рисуя весь интерфейс внутри со...

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

Как мы обошли bytenode и декомпилировали байткод Node.js (V8) в Ghidra «Да я роботов по приколу изобретаю!» Рик СанчесМногим известно, что в 2019 году АНБ решило предоставить открытый доступ к своей утилите для дизассемблирования (реверс-инжиниринга) под названием Ghidra. Эта утилита стала популярной в среде исследователей благодаря высокой «вс...

[Из песочницы] Сравнение производительности инструментов обхода блокировок\VPN По мере того, как нам все активнее закрывают доступ к различным ресурсам в сети, все актуальнее становится вопрос обхода блокировок, а значит все актуальнее становится вопрос «А как же быстрее обходить блокировки?». Оставим тему эффективности, с точки зрения обхода DPI\вайт...

Digitimes: Samsung переносит начало серийного производства 3-нанометровой продукции на 2022 год Samsung, как и многие другие производители, продолжает сталкиваться с негативными последствиями пандемии коронавируса, которая на момент написания этих строк унесла жизни более 82 000 человек по всему миру. Ранее южнокорейскому производителю приходилось закрывать магазины и ...

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

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

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

BlitzTeam о персональных исках со стороны кипрской группы Wargaming Компания Wargaming юридически преследует своих бывших сотрудников за работу над Open Source проектом (программным обеспечением с открытым исходным кодом), который она официально развивала до весны 2018 года. Wargaming подала персональные иски к своим бывшим сотрудникам, кото...

Windows 10 20H1 решит проблему высокой загрузки процессора и производительности Компания Microsoft представляет новый алгоритм для индексации поиска Windows, который делает его более эффективным с точки зрения общей производительности системы, использования процессора и дисков.

В России предложили создать аналог GitHub за ₽2 млрд на случай отключения Более 2 млрд руб. в федеральном проекте "Искусственный интеллект" предложено выделить на создание хранилища открытого кода. Расходы должны оправдаться в случае отключения России от принадлежащего Microsoft хранилища GitHub Министерство экономического развития (МЭР) предложи...

Создание Discord – бота на .NET Core с деплоем на VPS-сервер Привет, Хабровчане! Сегодня вы ознакомитесь со статьей, в которой будет рассказано, как создать бота, используя C# на .NET Core, и о том, как его завести на удаленном сервере. Статья будет состоять из предыстории, подготовительного этапа, написания логики и переноса бот...

[Перевод] 10 отличных Github репозиториев для разработчиков (часть 2) Привет, хабровчане. Недавно у меня был пост, где я перевел статью со списком крутых репозиториев на Github. Читателям зашло, поэтому решил сделать продолжение, тем более, что автор оригинала предложил еще один интересный список. Кому интересно, добро пожаловать под кат. Как...

[Перевод] Модели мира. Могут ли агенты учиться в своем воображении? От переводчика: вопросы, поднятые в прошлой моей статье (видимо не слишком удачной) тем не менее вывели меня (огромное спасибо комраду Kilorad за ссылку!) на материал, который я посчитал необходимым перевести и выложить сюда. Да, я, к сожалению, посредственно владею как язык...

А скоро ли в небо? Последние 10 лет происходит бум венчурного инвестирования в сферу аэротакси и прочего летающего транспорта. Большинство аппаратов не похожи ни на вертолет, ни на самолет – конструкторы придумывают свои новые "прорывные" схемы. Все мы ждем, что еще чуть-чуть и кажд...

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

Генерация URL с параметрами на коленке и best practice Как-то я увидел в проекте соседней команды код, который генерировал строку с URL-параметрами для последующей вставки в iframe src-атрибут. Эта статья может показаться лишней, очевидной или слишком простой, но раз такое встречается в живой природе, об этом не стоит молчать, а...

Общий финансовый анализ на Python (Часть 2) Ну что продолжим? Скользящее окно (Moving Windows) В заголовке я привел дословный перевод. Если кто меня поправит, и другой термин более применим — то спасибо. Смысл скользящего окна– с каждым новым значением функция пересчитывается за заданный период времени. Этих функций...

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

Innovusion утверждает, что лидар Falcon совершеннее, чем зрение человека Компания Innovusion, называющая себя мировым лидером в разработке дальнобойных лидаров для транспортных средств, представила на CES 2020 новинку — лидар Falcon. По словам Innovusion, эта модель, ставшая развитием моделей Cheetah и Jaguar, превосходит человеческий...

YouTrack 2019.3: обновленный список задач и многое другое Меня зовут Лена, и я принесла вам YouTrack. Вы наверняка слышали про этот сервис трекинга задач от JetBrains, а если нет — время познакомиться! Мы выпустили новую версию и вот что происходит: появились новые функции и улучшения практически для всех сценариев использования Yo...

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

Hack The Box — прохождение Bitlab. Слабая JS обфускация, GIT и реверс Windows приложения Данной статьей я начну публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. В данной статье разберемся с легенькой JavaScript обфускацией, загрузим бэкдор через репозиторий Git, и отладим...

Утилиты nanoCAD СПДС. Найти и заменить текст Нередко возникают ситуации, когда в чертеже нужно найти и заменить то или иное слово. В nanoCAD с модулем СПДС для решения такой задачи предусмотрена утилита Найти и заменить (SPFIND, FIND, ПОИСК). Этот инструмент используется для поиска и замены строковых значений в объек...

Поведениеметр Я специально добавил хаб «читальный зал», так как конкретных схем, ПО и чертежей тут не будет, зато будет сказ о том, как проект выходного дня растянулся на 2 недели. В общем, нет ТЗ — результат ХЗ. Предпосылка. Не знаю, или кризис 4х — 5и лет, или непростой 2020, но повед...

Обзор некоммерческого проекта MyVPN с открытым исходным кодом Приложение MyVPN с открытым исходным кодом позволяет автоматизировать управление виртуальными частными сетями. Для его использования не потребуются навыки системного администрирования. Читать дальше →

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

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

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

[Перевод] Опенсорсные инструменты и пакеты для работы с HTTP API Мы продолжаем серию статей о создании HTTP API с помощью .NET 5. В предыдущей статье мы рассмотрели создание обнаруживаемых HTTP API с помощью ASP.NET Core 5 Web API. В этой статье мы рассмотрим пакеты и инструменты для работы с HTTP API с открытым исходным кодом. Ну что ж, ...

Аркадная гонка Forza Street станет временным эксклюзивом устройств Samsung  Forza Streetне похожа на мобильную гонку мечты, но на мероприятии Samsung именно ее производитель решил сделать эксклюзивом своих устройств, договорившись с Microsoft. Поэтому первое время игру можно будет загрузить только для смартфонов и планшетов южнокорейской компании. ...

Инструментарий фронтенд-специалиста: полезные утилиты и фичи для ускорения разработки Прошли те времена, когда фронтендеру достаточно было открыть «Блокнот», написать несколько строк кода, проверить его в браузере и загрузить на сервер через FTP. Современная разработка пользовательского интерфейса сильно усложнилась. Экосистема JavaScript растет и изменяетс...

Представлена утилита Project Hydra для разгона процессоров AMD Zen 3 и Zen 3+ 1usmus представляет утилиту разгона и настройки Project Hydra для процессоров AMD Zen 3 и Zen 3+ Ryzen. Project Hydra разработан исключительно для процессоров AMD Zen 3 и Zen 3+. К ним относятся линейка Ryzen 5000 (G) мобильная в том числе, а также грядущие Ryzen Threadrip...

[Из песочницы] Изучаем VoIP-движок Mediastreamer2. Часть 1 Материал статьи взят с моего дзен-канала. Введение Эта статья является началом серии статей о реалтайм обработке медиаданных с помощью движка Mediastreamer2. В ходе изложения будут задействованы минимальные навыки работы в терминале Linux и программирования на языке Си. Medi...

Утилита HWiNFO сможет отслеживать температуру самой горячей точки GPU Nvidia Разработчики информационно-диагностической утилиты HWiNFO продолжают наращивать возможности приложения. К примеру, не так давно программа научилась отслеживать температуру микросхем памяти GDDR6X в составе флагманских 3D-ускорителей Nvidia Ampere, показав, что эти чипы зачас...

Перфекционизм, отмена: как техническим специалистам писать статьи Цитата анонимного тимлида о том, как он обычно готовит текст: «Написание статьи технические специалисты обычно воспринимают так: автор сформулировал тему, немного подумал, сел и выдал текст сразу на чистовик. Естественно, в реальности все работает по-другому. Из-за этого &...

[Перевод - recovery mode ] Делаем быстрее POSTGRESQL COUNT (*) Часто жалуются, что count (*) в PostgreSQL очень медленный. В этой статье я хочу изучить варианты, чтобы вы получили результат как можно быстрее. Почему count (*) такой медленный? Большинство людей без проблем понимают, что следующий запрос будет выполняться медленно: S...

Microsoft работает над портированием extended Berkeley Packet Filter (eBPF) в Windows ZDNet сообщает, что Microsoft работает над тем, чтобы портировать инструмент extended Berkeley Packet Filter (eBPF) в Windows 10 и Windows Server 2016 (и более поздние версии). В настоящее время инструмент можно запускать в Subsystem for Linux, но Microsoft работает над нати...

[Из песочницы] Настройка динамической маршрутизации (в частности BGP) поверх туннеля OpenVPN на Linux (и вероятно *BSD) Зачем и о чём эта статья? Если погуглить на тему «openvpn bgp», то можно найти несколько интересных и полезных с практической точки зрения статей (например раз или два). Но начиная решать задачку вынесенную в заголовок, я по многим причинам даже не удосужился погуглить. Идея...

Fastify.js — не только самый быстрый веб-фреймворк для node.js Последние 10 лет среди веб-фреймворков для node.js самой большой популярностью пользуется Express.js. Всем, кто с ним работал, известно, что сложные приложения на Express.js бывает сложно структурировать. Но, как говорится, привычка — вторая натура. От Express.js бывает слож...

Делюсь небольшим, но полезным плагином: Deeplink Helper для Android Studio DRY. Don’t Repeat Yourself. Принцип, призывающий разработчика не дублировать код. DRY часто можно распространить шире, не только на код. Сегодня расскажу о личном проекте, который уже помог мне и другим разработчикам избавиться от последовательности рутинных действий при раз...

[Перевод] BERT, ELMO и Ко в картинках (как в NLP пришло трансферное обучение) 2018 год стал переломной точкой для развития моделей машинного обучения, направленных на решение задач обработки текста (или, что более корректно, обработки естественного языка (Natural Language Processing, NLP)). Быстро растет концептуальное понимание того, как представлять...

Освободи свой Android Некоторое время назад на Хабре вышла статья замечательной девушки fur_habr о проблемах безопасности, приватности и конфиденциальности мобильных коммуникаций и о путях решения этих проблем на платформе Android. В момент выхода этой статьи я как-то не обратил на неё внимани...

OpenToonz: снаружи и внутри Прошло уже почти четыре года с тех пор, как PVS-Studio поверял исходный код OpenToonz. Этот проект является очень мощным инструментом для создания двухмерной анимации. За время с последней проверки с его помощью были созданы такие мультипликационные произведения, как Мэри и...

Как мы переводили MIKOPBX с chan_sip на PJSIP MIKOPBX - это бесплатная АТС с открытым исходным кодом на базе Asterisk 16. Год назад мы взялись за переход на PJSIP. Основные причины:- PJSIP поддерживает "множественную регистрацию"- PJSIP более гибок в настройке- chan_sip не развивается, объявлен deprecated в Asterisk 17 ...

TensorRT 6.x.x.x — высокопроизводительный инференс для моделей глубокого обучения (Object Detection и Segmentation) Больно только в первый раз! Всем привет! Дорогие друзья, в этой статье я хочу поделиться своим опытом использования TensorRT, RetinaNet на базе репозитория github.com/aidonchuk/retinanet-examples (это форк официальной репы от nvidia, который позволит начать использовать в ...

Виртуальная АТС. Часть 1: Простая установка Asterisk на Ubuntu 20.04 Из-за перехода на удаленку в небольших компаниях часто возникают проблемы с телефонной связью. Обычно такие фирмы сидят в арендованных офисах, а услуги телефонии им оказывает бизнес-центр. О подключении сотрудников из дому придется позаботиться самостоятельно: самый недоро...

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

Сервис Яндекс.Кью назвал вопросы, интересующие россиян Сервис Яндекс.Кью назвал вопросы, которыми россияне задавались чаще всего. Аналитики сервиса изучили данные, полученные с момента слияния сервиса Яндекс.Знатоки и The Question в марте 2019 года. В общей сложности было задано более 274 тыс. вопросов, и пользователи просмотрел...

[Перевод] Deep Q Trading: объектно-ориентированный код на R Привет! Это перевод еще одной моей статьи, посвященной обучению с подкреплением (reinforcement learning). Эту итерацию даже предложили запостить в блоге Веды аналитики. :) В двух прошлых статьях на эту тему: 1 и 2 я пробовал создать и запустить обучение с подкреплением д...

Структура React REST API приложения + TypeScript + Styled-Components В этой статье я расскажу о том, как можно организовать структуру своего React приложения, чтобы работы протекала гораздо легче и навигация по директориям происходила быстрее. Звучит интересно

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

[Перевод] Изучаем mutmut — инструмент для мутационного тестирования на Python Мутационное тестирование позволяет выявить баги, которые не покрыты обычными тестами. У вас есть тесты на все случаи жизни? Или может быть, в репозитории вашего проекта даже лежит справка «О 100-процентном тестовом покрытии»? Но разве в реальной жизни всё так просто и дости...

[Перевод] Высокопроизводительный TSDB benchmark VictoriaMetrics vs TimescaleDB vs InfluxDB VictoriaMetrics, TimescaleDB и InfluxDB были сравнены в предыдущей статье по набору данных с миллиардом точек данных, принадлежащих 40K уникальным временным рядам. Несколько лет назад была эпоха Zabbix. Каждый bare metal сервер имел не более нескольких показателей – использ...

Представляем werf 1.0 stable: при чём тут GitOps, статус и планы Werf — это GitOps CLI-утилита с открытым кодом для сборки и доставки приложений в Kubernetes. Werf поддерживает сборку образов приложения с помощью Dockerfile или собственного встроенного сборщика (на основе синтаксиса YAML, с поддержкой Ansible и инкрементальной пересборк...

Разработчики FreeNAS и TureNAS собираются объединить оба продукта в общую систему FreeNAS - это бесплатная операционная система с открытым исходным кодом, предназначенная для сетевых устройств хранения (NAS). В течение большей части прошлого десятилетия проектом руководили сотрудники iXsystems, которая также выпустила корпоративную версию программного обе...

Немного про устройство современного радио на примере HackRF One Приветствую, Habr! Некоторое время назад в поле моего зрения очень часто попадало множество статей, видеороликов о теме SDR трансиверов. Тема представляет интерес и сегодня. Большой популярностью среди радиолюбителей и других, разного рода, «технарей» пользуются устройства H...

[Перевод] Как демо Memories умещается в 256 байт Введение Привет! Меня зовут «HellMood», а эта статья посвящена небольшой программе для MS DOS под названием «Memories». Эта программа имеет размер 256 байт, она выиграла в категории «PC 256 byte» соревнований демосцены «Revision» 2020 года, а также получила приз зрительских...

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

Интеграция проекта VueJS+TS с SonarQube В своей работе мы активно используем платформу SonarQube для поддержания качества кода на высоком уровне. При интеграции одного из проектов, написанном на VueJs+Typescript, возникли проблемы. Поэтому хотел бы рассказать подробней о том, как удалось их решить. В данной стать...

[Перевод] Напишем и поймем Decision Tree на Python с нуля! Часть 3. Библиотека для анализа данных Pandas Привет, Хабр! Представляю вашему вниманию перевод статьи "Pythonで0からディシジョンツリーを作って理解する (3. データ分析ライブラリPandas編)". Это третья статья из серии. Ссылки на предыдущие статьи: первая, вторая В данной статье я объясню, как работать с библиотекой Pandas, чтобы создавать De...

Бокс-непросыпайка для SMD и прочей мелочевки Написанием данной околотематической статьи побудили меня затянувшиеся изоляционные меры и сопутствующие им скука и желание себя чем-то занять. Прошу отнестись как к «пятничной развлекательной» статье. Но, может быть кому то будет и полезно! Никаких ардуин, только фанера и с...

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

NAS Backup и никакой магии. Deep dive от Veeam Уже несколько месяцев прошло с момента релиза Veeam Backup & Replication 10. Даже была обзорная статья про грядущий релиз. А вот пост-релизной статьи посвящённой более детальному и техническому разбору самой ожидаемой функции новой версии — NAS Backup, так и не было. Поэ...

Шутки и отсылки в «Гриффинах» на английском, которые нужно объяснять «Гриффины» — это своеобразный мультик для взрослых, который очень любят в США. По стилю он похож на «Симпсоны», но шутки в нем куда более жесткие. В русскоговорящих странах мультик был принят довольно холодно. Главная причина — практически все гэги и шутки завязаны на амери...

Логи в Kubernetes (и не только) сегодня: ожидания и реальность Шёл 2019 год, а у нас всё ещё нет стандартного решения для агрегации логов в Kubernetes. В этой статье мы хотели бы, используя примеры из реальной практики, поделиться своими поисками, встречаемыми проблемами и их решениями. Однако для начала оговорюсь, что разные заказчи...

Вместо 100 запусков приложения ― один автотест, или как сэкономить QA-инженеру 20 лет жизни Всем привет, меня зовут Евгений Демиденко. Последние несколько лет я занимаюсь разработкой автоматизированной системы тестирования игр в Pixonic. Сегодня я хотел поделиться нашим опытом разработки, поддержки и использования такой системы на проекте War Robots. Для начала ра...

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

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

Небольшой вклад в борьбе Avalonia UI против зоопарка платформ Эта статья – результат проверки проекта Avalonia UI с помощью статического анализатора PVS-Studio. Avalonia UI – это кроссплатформенная платформа пользовательского интерфейса на основе XAML, с открытым исходным кодом. Это один из технологически значимых проектов в истории ....

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

Google: скорость загрузки – это очень слабый фактор ранжирования Сотрудник Google Гэри Илш (Gary Illyes) подтвердил в Twitter, что скорость загрузки – это очень слабый фактор ранжирования в поиске. Он также сравнил его с HTTPS, который тоже мало влияет на позиции. «С точки зрения ранжирования это очень слабый фактор, очень похожий на HTTP...

Собеседование наоборот: вопросы соискателя к компании Всем привет! Хочу очередной раз поднять тему про найм. Только я собираюсь поговорить об этом с точки зрения кандидата, а не работодателя. Ведь собеседование, вопреки многим стереотипам, процесс двусторонний — вопросы может задавать не только интервьюер, но и сам соискатель. ...

Каков ты, русский опен сорс? В 2017-м году, когда я жил в Одессе (Украина), на украинском IT-портале DOU (аналог Хабра) опубликовали анализ наиболее активных "украинских" open source разработчиков: GitHub-акаунти українських ІТшників: хто в ТОПі. Я не попал в рейтинг, хотя по некоторым парамет...

Дополняя SQL. Часть 1. Сложности парсинга. Истории о доработке ANTLR напильником Публикую на Хабр оригинал статьи, перевод которой размещен в блоге Codingsight. Что будет в этой статье? Более пяти лет работаю в компании, что занимается разработкой линейки IDE для работы с базами данных. Начиная работу над этой статьей я и не представлял как много интере...

Ученые обнаружили тысячи «чужих» звезд в нашей галактике Наша галактика “поедает” звезды большого и малого Магеллановых облаков Наш Млечный Путь собирается как следует подкрепиться сразу несколькими более меньшими галактиками. Вернее, он уже это делает. Как сообщает портал livescience.com, исследователи обнаружили несколько тысяч ...

Cross-Site WebSocket Hijacking. Разбираемся, как работает атака на WebSocket Для подписчиковВ этой статье мы разберем протокол WebSocket и подробно остановимся на уязвимости CSWSH — насколько она распространена в открытом интернете. Для тех, кто дочитает до конца, я приготовил бонус в виде утилиты cswsh-scanner, с помощью которой ты можешь проверить ...

[Перевод] Создание пайплайнов CI с помощью Tekton (внутри Kubernetes). Часть 1/2 В этой статье мы собираемся создать пайплайн непрерывной интеграции (CI) с Tekton, фреймворком с открытым исходным кодом для создания конвейеров CI / CD в Kubernetes. Мы собираемся подготовить локальный кластер Kubernetes через kind и установить на нем Tekton. После этого мы...

[Перевод] Установка и настройка AlienVault SIEM (OSSIM) Перевод статьи подготовлен специально для студентов курса «Безопасность Linux». OSSIM (Open Source Security Information Management) — это проект с открытым исходным кодом от Alienvault, который обеспечивает функционал SIEM (Security information and event management). Он обе...

[Из песочницы] Хакинг классического Sonic the Hedgehog для Sega В этой статье я хочу разобрать внутреннее устройство легендарной игры Sonic the Hedgehog для приставки Sega Mega Drive, а также способы ее модификации или, как еще говорят, хакинга. Эта игра насчитывает порядка сотни хаков, включающих как действительно достойные работы (таки...

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

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

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

[Перевод] Проект ELISA: Linux в Safety-Critical системах Представляем вам перевод пресс-релиза (февраль 2019) в котором анонсируется проект ELISA, который позволит включать Linux в системы, для которых критически важна безопасность. За наводку спасибо lingvo Arm, BMW Car IT GmbH, KUKA, Linutronix и Toyota присоединяются к прое...

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

Поддержка Buildpacks в Spring Boot 2.3.0 Пару дней назад вышел релиз Spring Boot 2.3.0.M1, в описании которого первой строкой упоминается поддержка проекта Cloud Native Buildpacks, являющегося попыткой упростить жизнь разработчика, позволяя максимально автоматизировать сборку образов из исходных кодов. Так как на м...

Утилита ClockTuner поддерживает разгон процессоров AMD Ryzen 3000-ой серии Юрий Бублий "1usmus" выпустил утилиту ClockTuner для разгона процессоров AMD Ryzen семейства Zen 2, включая процессоры Ryzen 3000 и Ryzen Threadripper 3-го поколения. ClockTuner полностью автоматизирован, приложение оценивает качество каждого блока CCX процессора и наст...

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

[Перевод] Запускаем однофайловые программы в Java 11 без компилирования Пусть исходный файл HelloUniverse.java содержит определение класса и статичный метод main, который выводит в терминал одну строку текста: public class HelloUniverse{ public static void main(String[] args) { System.out.println("Hello InfoQ Universe"); ...

Заметки о разработке МРРТ контроллера Приветствую! Ранее я уже рассказывал в статье о своем проекте контроллера заряда для небольшой СЭС с алгоритмом поиска ТММ. Сей проект вялотекущий из-за нехватки времени и порой отcутствия настроения, но все же он развивается. С момент последней статьи я сделал еще 2 ревизии...

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

[Перевод] Как я строил карьеру в Amazon, куда меня взяли по ошибке Сегодня я праздную пять лет работы в Amazon. За это время я передал в продакшн боле 500 000 строк кода, проводил инспекцию чужого кода более 500 раз, проектировал, разрабатывал, развёртывал и поддерживал масштабные системы, которыми пользуются тысячи клиентов со всего света....

[Из песочницы] Unit тесты для RxSwift кода Привет, Хабр! Представляю вашему вниманию перевод статьи "Testing Your RxSwift Code" автора Shai Mishali с сайта raywenderlich.com. Написание реактивных приложений с помощью RxSwift концептуально отличается от написания приложений "обычным путем". Оно отл...

ROS2 vs ROS1.Установка ROS2 на Ubuntu 18.04 ROS (Robotic operation system) уверенно занимает лидирующие позиции в стандартах робототехники. Говоря словами известного политика, ею уже пользуются «не только лишь все». В данной статье попробуем взглянуть на следующий этап развития ROS — систему ROS2, подходящую для более...

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

[Перевод] Эндрю Ын «Страсть к машинному обучению». Перевод глав 36-46 Три года прошло с момента публикации первых глав книги Эндрю Ына (Andrew Ng) «Machine Learning Yearning». Если вы подписаны на хаб «Машинное обучение», то нет никакой нужды представлять вам её автора и скорее всего саму книгу вы уже давно прочитали на языке первоисточника. П...

[Из песочницы] Использование Camunda для удобной оркестровки на основе REST и Workflow Engine (без Java) Привет, Хабр! Представляю вашему вниманию перевод статьи «Use Camunda as an easy-to-use REST-based orchestration and workflow engine (without touching Java)» автора Bernd Rücker. 07.07.2020 г., перевод статьи Bernd Rücker Я часто обсуждаю микросервисную архитектуру с люд...

Утилита шумоподавления MSI Sound Tune будет доступна в ноутбуках MSI MSI Sound Tune это утилита, которая снижает посторонние шумы при разговоре с собеседником. MSI Sound Tune основан на базе искусственного интеллекта, используя нейронную сеть DNN, с более чем 500 миллионами данных. Автоматически распознает голос человека и отфильтровывает нен...

jsqry — лучше, чем jq В своей прошлой статье на Хабре я писал про библиотеку Jsqry, которая предоставляет простой и удобный язык запросов (DSL) к объектам JSON. С тех пор прошло много времени и библиотека тоже получила свое развитие. Отдельный повод для гордости — библиотека имеет 98% покрытие ко...

Действительно простая графика в R для науки и публицистики R — очень мощный инструмент для работы со статистикой: от предварительной обработки до построения моделей любой сложности и соответствующей графики. Простой гугл-запрос выдаст большое количество литературы по тому, как «легко и быстро» использовать R. Здесь будут и огромные...

ViennaNET: набор библиотек для backend’а. Часть 2 Сообщество .NET-разработчиков Райффайзенбанка продолжает краткий разбор содержимого ViennaNET. О том, как и зачем мы к этому пришли, можно почитать в первой части. В этой статье пройдемся по еще не рассмотренным библиотекам для работы с распределенными транзакциями, очеред...

RBK.money выпустила первый в мире open-source платежный процессинг — творим будущее вместе Привет! Если вы читали наши предыдущие посты (читали же?), то точно помните, что мы в RBK.money очень сильно за опенсорс. Настолько, что выложили в открытый доступ наш антифрод в виде открытых исходников под лицензией Apache 2.0. Как вы понимаете, нам понравилось. Одного а...

Планирование потоков в Windows. Часть 1 из 4 Ниже представлена не простая расшифровка доклада с семинара CLRium, а переработанная версия для книги .NET Platform Architecture. Той её части, что относится к потокам. Потоки и планирование потоков Что такое поток? Давайте дадим краткое определение. По своей сути поток это...

Танец звезды рядом с черной дырой доказал правоту Эйнштейна Альберт Эйнштейн снова оказался прав: впервые наблюдения с помощью Большого телескопа Европейской южной обсерватории (ESO) VLT показали, что звезда, которая вращается вокруг сверхмассивной черной дыры в центре нашей галактики, движется как предсказано общей теорией относите...

[Перевод] Новости из мира OpenStreetMap № 500 (11.02.2020-17.02.2020) Wochennotiz / weeklyOSM – Issue # 500 | Thank you О нас Вышел 500-й выпуск нашего еженедельного новостного проекта. Всё началось 23 июля 2010 года с небольшой заметки, в которой содержалось всего 14 новостей. Редакция проекта благодарит всех читателей, которые поддержива...

Android 10 для Pocophone F1 уже на подходе Народный флагман Pocophone F1 пока не получил преемника, но зато недавно получил MIUI 11. Правда, эта версия прошивки базируется на ОС Android 9.0 Pie, в то время как многим обладателям смартфона наверняка хотелось бы обновиться до самой актуальной версии Android. И она...

FOSS News №7 — обзор новостей свободного и открытого ПО за 9-15 марта 2020 года Всем привет! Продолжаем обзоры новостей свободного и открытого ПО (и немного коронавируса). Всё самое главное про пингвинов и не только, в России и мире. В выпуске №7 за 9–15 марта 2020 г.: Релиз Firefox 74 Полная домашняя автоматизация в новостройке. Продолжение Метод...

Компания Estee Lauder оставила 440 000 000 записей в открытом доступе Специалист компании Security Discovery обнаружил в открытом доступе БД компании Estée Lauder, содержащую в общей сложности 440 336 852 записи.

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

TDD в микроконтроллерах. Часть 2: Как шпионы избавляют от зависимостей В предыдущей статье мы начали освещать тему эффективности применения методологии TDD для микроконтроллеров (далее – МК) на примере разработки прошивки для STM32. Мы выполнили следующее: Определили цель и инструменты разработки. Настроили IDE и фреймворк для написания тесто...

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

Что такое Windows PowerShell и с чем его едят? Часть 1: основные возможности Исторически утилиты командной строки в Unix-системах развиты лучше чем в Windows, однако с появлением нового решения ситуация изменилась. Windows PowerShell позволяет системным администраторам автоматизировать большинство рутинных задач. С ее помощью можно менять настройки,...

[Перевод] Реверс-инжиниринг исходного кода коронавирусной вакцины от компаний BioNTech/Pfizer Добро пожаловать. В данном посте мы посимвольно разберём исходный код вакцины BioNTech/Pfizer SARS-CoV-2 мРНК. Да, такое заявление может вас удивить. Вакцина – это ведь жидкость, которую вводят человеку в руку. При чём тут какой-то исходный код? Хороший вопрос. Начнём мы с...

Creality Ender-6 3d-принтер предоставлен рекламодателем в обмен на эту статью.Всем привет, расскажу про свой первый опыт работы с принтерами Creality, не ремонт и обслуживание их, а именно плотный опыт работы (3 месяца с момента получения принтера, принтер работал не выключаясь, и даже сейча...

Добавление собственных пунктов в меню Marlin    Привет всем 3D печатникам и не только!   Сегодня постараюсь в простой форме рассказать, как можно добавить собственный пункт меню в Marlin. На форуме уже была статья на эту тему, но в ней рассматривался случай отмены печати при возникновении проблем в начале печати. Спосо...

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

[Из песочницы] Elite: Dangerous и CosmosDB o7 cmdr! Теплым карантинным вечером, в одном из телеграмных чатиков по Elite: Dangerous разгорелась дискуссия на тему: а у какого типа звезд чаще всего встречаются землеподобные планеты? Дело в том, что исследование планет является одной из основных механик игры. А в иерарх...

Cassandra. Как не умереть, если знаешь только Oracle Привет, Хабр. Меня зовут Миша Бутримов, я хотел бы хотел немного рассказать про Cassandra. Мой рассказ будет полезен тем, кто никогда не сталкивался с NoSQL-базами, — у нее есть очень много особенностей реализации и подводных камней, про которые нужно знать. И если кроме Or...

Как вести технический блог? Я работаю в коммерческой разработке с 2011 года. С конца 2012 занимаюсь разработкой под iOS. Свою первую техническую статью я написал на Хабре в начале 2017 года про подход к локализации мобильных приложений. Потом выпустил ещё несколько статей по iOS-разработке на Хабре и...

[Перевод] Графический интерфейс на Python за 5 минут Python легко использовать. В нем вы можете найти огромное количество библиотек для чего угодно. И это его основное преимущество. Из нескольких строк кода вы ничего не сделаете. Если вам нужны скрипты для личного пользования или для технически подкованной аудитории, то вам ...

[Перевод] Сравнение производительности HTTP/3 и HTTP/2 Мы в Cloudflare объявили о поддержке HTTP/3 в сентябре прошлого года, когда отмечали девятый день рождения. Наша задача всегда состояла в улучшении интернета. Сотрудничество в области стандартов — важная часть процесса, и нам повезло участвовать в разработке HTTP/3. Хотя ...

Настраиваем Continuous Integration для Jenkins и Bitbucket с werf Утилита werf создана так, чтобы её было легко интегрировать с любыми CI/CD-системами. Подробнее об этом процессе в общем случае читайте в эпилоге этой статьи, но основное её содержимое — практический пример по организации CI в Jenkins и Bitbucket. Подразумевается, что в р...

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

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

Утилита NVCleanstall обновилась до версии 1.4.0 Сайт TechPowerUp предоставил новые версии утилиты NVCleanstall за номерами 1.3.0 и 1.4.0. Эта утилита предназначена для очень тонкой установки драйвера видеокарты NVIDIA, позволяя включать и отключать множество компонентов.

Российские власти предполагают создать аналог GitHub Минэкономики РФ предложило создать в стране аналог принадлежащего Microsoft сервиса GitHub — хранилища открытого кода. Это необходимо на случай отключения России от GitHub и других подобных мировых репозиториев из-за санкций.  Как сообщается в последней версии федеральн...

Сколько на самом деле галактик в Местной Группе и что это говорит о Млечном Пути? Так выглядят галактики в скоплении Девы Наша галактика Млечный Путь вращается внутри Местной Группы галактик в относительно тихом уголке космоса. Местной Группой называют гравитационно связанные галактики, среди которых Млечный Путь, Галактика Андромеды и Галактика Треугольн...

Загрузка и обработка изображений в .NET Core В этой статье я хочу рассказать о своём опыте реализации механизма загрузки изображений в .NET Core приложении с последующим их ресайзом и сохранением в файловой системе. Для обработки изображений я использовал кроссплатформенную библиотеку ImageSharp от Six Labors. Существу...

Как не пропустить невалидный код в репозиторий Зачем это необходимо Когда в твоей команде работают больше одного человека, так или иначе все сталкиваются с проблемой разных стилей кодирования каждого члена команды. Кто-то пишет скобки для блоков if...else, кто-то нет. Когда проект становится больше, то такой код труднее ...

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

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

[Из песочницы] Игра с открытым API: Swagger Play В данной статье я хочу рассказать, как использовать Swagger модуль для Play Framework, с примерами из реальной жизни. Я расскажу: Как прикрутить последнюю версию Swagger-Play (модуль Play, позволяющий использовать аннотации swagger-api и генерировать на их основе документ...

Аналитики ждут новое падение Bitcoin Пока Tesla начинает принимать оплату за свои электромобили в криптовалюте Bitcoin, последняя только в течение последних суток подешевела примерно на 2000 долларов за единицу. Самая известная криптовалюта, за единицу которой совсем недавно давали более 61 000 доллар...

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

ROS: Застрявшим в Gazebo посвящается… Платформа для робота за 28.000 руб Инструкция по сборке роботизированной платформы для изучения ROS с грузоподъемностью более 30 кг ROS — это мета-операционная система (с открытым исходным кодом) для роботов. Это превратилось в стандарт отрасли. Имея готовый интерфейс обмена сообщениями между различными узлам...

[Из песочницы] Можно ли взломать самолёт — 2 В недавней переведенной статье “Можно ли взломать самолёт” меня возмутили выводы в конце: В заключение, взлом самолёта через GPS, радиоканалы и т.п. теоретически возможен, но потребует невероятного объёма работы, много планирования, координирования действий, много оборудова...

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

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

Чужой код — потемки: чем опасно скачивание «безобидного» софта с GitHub Наверное, каждый из тех, кто читает эту статью, хорошо знаком с GitHub — крупнейшим веб-сервисом для хостинга IT-проектов и их совместной разработки. Здесь можно найти почти любой open source-проект. Для компиляции проекта может быть нужен какой-то специфический софт, кото...

Тёмная Вселенная. Часть 1 Доброго времени суток, уважаемое хабрасообщество! Как я и обещал после прошлой статьи по теории струн, сегодня мы попробуем приоткрыть завесу тайн и пробежаться по костылям новым веяниям в космологии — попробуем взглянуть на тернистый путь, который прошли ученые, и разобрать...

[Из песочницы] Сравнение 3 бесплатных решений для управления информацией о товарах (PIM систем) На рынке доступно множество коммерческих решений для управления информацией о товарах (PIM). И есть 3 бесплатных решения с открытым исходным кодом: Akeneo, Pimcore и OpenPIM, которые вы можете использовать для внедрения системы PIM в своей компании. Я собираюсь сравнить эт...

Прекрасный платформер Forgotton Anne доступен на Android Летом этого года на iOS вышел очень красивый платформер Forgotton Anne. Визуально и в сюжетном плане он напоминает мультфильмы студии Ghibli. Действие игры происходит в Забытых землях — волшебном мире, населенном забывчиками — ожившими забытыми предметами, мечтающими, чтобы ...

VVVVVV??? VVVVVV!!! :) Если вы читаете этот текст – значит, вы либо подумали, что с заголовком статьи что-то не то, либо увидели в нём название знакомой компьютерной игры. VVVVVV – это инди-игра в жанре «платформер», завоевавшая сердца многих игроков своей приятной внешней простотой и не менее при...

Спринт-пульс: выстраиваем эффективную работу внутри большой команды Спринт-пульс — это дополнительный инструмент, который может использовать Scrum-команда для организации процесса внутри спринта. Он помогает настроить работу в команде и экономит время на погружение новых специалистов. Как его применять, рассказывает железный project-manager ...

Установка Ispconfig3 на ubuntu 20.04 (nginx+php-fpm+mysql) ISPConfig - бесплатная панель управления хостингом с открытым исходным кодом c возможностью управлять несколькими серверами из одной панели управления. Это один из лучших вариантов для веб-студий, хостинг-компаний, а так же для всех, кто ищет бесплатную панель управления хос...

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

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

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

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

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

Консольные утилиты Linux, которые смогут облегчить вам жизнь (Часть 2) Так как предыдущая статья зашла довольно хорошо, было бы неправильно не поделиться дополнительными утилитами, которые я использую и по сей день. Сразу хочу оговориться, что статья адаптирована и для новичков, а старым линуксоидам придётся немного сточить зубы потерпеть разж...

«25% — из Киева, почти 60% — программистки»: Сколько женщин-ФОП работают в украинской IT-сфере [инфографика] Украинский онлайн-сервис YouControl проанализировал, сколько женщин-ФОП насчитывается в IT-отрасли Украины, из каких они регионов, чем именно занимаются и где наблюдается их наибольший прирост. В 2019 году по сравнению с 2017 годом женщин-ФОП в IT стало больше на 62%. При эт...

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

QR-коды уже здесь или как Китай стал на 101% цифровым Китайцы первыми поняли, что хороший процесс — автоматизированный процесс. Чем меньше бумаги, чем меньше участие человека в каком-то рутинном массовом процессе — тем лучше. То же самое касается и разнообразной бюрократии — в очень многих случаях гораздо проще стандартизироват...

Бот в telegram, который следит за доменом Привет жителям Хабра. В попытках изучения PHP и долгих раздумьях, пришла в голову мысль, для практики написать какого-нибудь бота на PHP, без использования фрэймворков. Выбор пал на бота, который будет получать информацию о жизни домена (whois), затем доставать оттуда дату...

[Перевод] Инструмент для отслеживания DNS-запросов: dnspeep Недавно я создала небольшой инструмент под названием dnspeep, который позволяет понять, какие DNS-запросы отправляет ваш компьютер и какие ответы он получает. Всего мой код занял 250 строк на Rust. В этой статье я расскажу о коде, объясню, для чего он нужен, почему в нём воз...

[Перевод] Безопасная работа с секретами при сборке в Docker Compose Перевод статьи подготовлен в преддверии старта курса «Web-разработчик на Python». Когда вы собираете Docker-образ вам могут понадобиться секреты, например, пароль к приватному репозиторию пакетов. Вы не хотите, чтобы этот секрет в конечном итоге оказался в образе, потому ...

Исходные коды банкера Cerberus опубликованы в даркнете бесплатно ИБ-эксперты рассказали, что аукцион по продаже исходных кодов банковского Android-трояна Cerberus не оправдал ожиданий авторов малвари. В итоге исходники были бесплатно выложены в открытый доступ.

Обнаруженная NASA экзопланета Kepler-1649c очень похожа на Землю Орбитальный телескоп NASA «Кеплер» уже отправился на пенсию после окончания своей десятилетней миссии, но проделанная им работа продолжает приносить новые плоды и по сей день. В среду американское космическое агентство объявило, что в старых данных космической обсерватории н...

Transport City: Truck Tycoon — симулятор градостроителя вышел на смартфоны Студия CUPGUM выпустила мобильную игру в жанре «градостроительный симулятор» под названием Transport City: Truck Tycoon. Геймерам предстоит взять на себя ответственность за различные автомобили, которые должны выполнять свою работу. Система логистики построена на реалистичны...

IntelliJ IDEA 2019.3: оптимизация производительности и улучшение качества Привет! В этом релизе мы сосредоточились на производительности и качестве. Вместе с другими командами JetBrains, мы занимались оптимизацией производительности, повышением отзывчивости интерфейса, улучшением существующей функциональности. Чтобы правильно расставить приорит...

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

Как просканировать весь интернет Весь диапазон IPv4 адресов — это 4-миллиарда IP-адресов. Это кажется огромной цифрой, но весь IPv4 интернет можно полностью просканировать на предмет одного TCP-порта за 40 минут, например найти все веб-серверы в мире или все открытые SSH-порты. При этом достаточно одного ...

Свой стек навигации. Лучше чем у ROS? Это вторая статья команды setUP про наш опыт создания автономных роботов для соревнований Eurobot Open и использования для этого ROS. Первая статья про механику и общую архитектуру роботов. Роботы ездят по ровному полю и большинство препятствий заранее известно, однако, ко...

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

[Перевод] Мифы о useEffect Доброго времени суток, друзья! Представляю вашему вниманию перевод небольшой заметки Kent C. Dodds, в которой он делится своими соображениями относительно правильного использования хука «useEffect». Я обучил React тысячи разработчиков. Как до, так и после релиза хуков. О...

FOSS News №4 — обзор новостей свободного и открытого ПО за 17-23 февраля 2020 года Всем привет! Продолжаю обзор новостей свободного и открытого ПО (и немного железа). Всё самое главное про пингвинов и не только, в России и мире. В выпуске №4 за 17-23 февраля 2020 г.: Исследование RedHat: Open Source вытесняет проприетарное ПО из корпоративного сегмен...

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

[Перевод] Vulkan-tutorial. Урок 1.1 — Вступление В связи с тем, что у меня не так много времени для ресерча каких-то новых штук и написания статей о них, я решил перевести серию уроков по Vulkan. Надеюсь, что мои переводы будут кому-то полезны и не очень плохого качества. Для начала обучения — прошу под кат. Автор ориги...

[Перевод] PHP 8: код «До» и «После» (сравнение с PHP 7.4) Осталось всего несколько месяцев до выхода PHP 8, и в этой версии действительно есть много хорошего. Под катом расскажем, как эти нововведения уже начали менять подход автора этого материала к написанию кода. Читать дальше →

Поднимаем Mercurial на Windows-сервере (с Nginx) Недавно случайно узнал, что BitBucket, где лежат мои Mercurial-репозитории, прекращает поддержку Mercurial: новые репозитории создавать уже нельзя, а существующие будут удалелы с 1.06.2020. Возможные варианты действий: перейти на Git, выбрать один из других сервисов, или нас...

[Перевод] Рейт лимиты с помощью Python и Redis В этой статье мы рассмотрим некоторые алгоритмы рейт лимитов на основе Python и Redis, начиная с самой простой реализации и заканчивая продвинутым обобщённым алгоритмом контроля скорости передачи ячеек (Generic Cell Rate Algorithm, GCRA). Для взаимодействия с Redis (pip in...

[Перевод] 5 JavaScript-библиотек для работы со строками Работа со строками может оказаться непростым делом из-за того, что она подразумевает решение множества разноплановых задач. Например, для простого приведения строки к «верблюжьему» стилю понадобится несколько строк кода: function camelize(str) {   return str.replace(/(?:^\w...

Код игры Command & Conquer: баги из 90-х. Том первый Американская компания Electronic Arts Inc (EA) выложила в открытый доступ исходный код игр Command & Conquer: Tiberian Dawn и Command & Conquer: Red Alert. Этот код должен помочь игровым сообществам разрабатывать моды и карты, создавать пользовательские юниты и наст...

[Из песочницы] Написание графического приложения на Electron JS (начало: Создание окна) Приветствую! Если вы зашли на эту статью, значит скорее всего вам крайне неохота лезть в официальную документацию (а очень зря. Она и написана подробно, и имеет перевод на русский язык) и вы пришли за простым решением вашей проблемы — написание кросс-платформенного приложени...

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

[Перевод] Адаптивная процедурная генерация при помощи алгоритма WaveFunctionCollapse и априорного распределения вероятностей Что такое процедурная генерация? Процедурная генерация включает в себя множество генеративных алгоритмов, принцип работы которых заключается в создании данных не вручную, а алгоритмически: вместо ручного изготовления того, что мы хотим создать (карты, музыки, рельефа…), пише...

Власти предлагают создать в России аналог GitHub В Минэкономики подтвердили “Коммерсанту”, что идея российского аналога GitHub актуальна и является одним из "ключевых мероприятий для обеспечения условий для создания открытых библиотек ИИ" в рамках реализации национальной стратегии развития ИИ до 2030 ...

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

Открытые данные. Роскосмос. Сделаем как в NASA Мы все хорошо знаем, что чем больше информации, тем меньше слухов. Открытые данные — открытая страна. Читать дальше →

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

Датасеты для automotive 1. A2D2 dataset от Audi Наш набор данных включает в себя более 40 000 кадров с семантической сегментацией изображений и метками облака точек, из которых более 12 000 кадров также имеют аннотации для 3D-боксов. Кроме того, мы предоставляем немаркированные данные датчиков (п...

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

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

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

Книга «Профессиональный TypeScript. Разработка масштабируемых JavaScript-приложений» Любой программист, работающий с языком с динамической типизацией, подтвердит, что задача масштабирования кода невероятно сложна и требует большой команды инженеров. Вот почему Facebook, Google и Microsoft придумали статическую типизацию для динамически типизированного кода....

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

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

[Перевод] Создание пайплайнов CI с помощью Tekton (внутри Kubernetes). Часть 2/2 Создание пайплайнов CI с помощью Tekton (Часть 2/2) В этой статье мы собираемся продолжить создание пайплайна CI с Tekton. В первой части мы установили Tekton на локальный кластер kind и определили нашу первую задачу, которая клонирует репозиторий GitHub и запускает тесты пр...

[Перевод] Обучение и оценка модели с Keras Это руководство охватывает обучение, оценку и прогнозирование (выводы) моделей в TensorFlow 2.0 в двух общих ситуациях: При использовании встроенных API для обучения и валидации (таких как model.fit(), model.evaluate(), model.predict()). Этому посвящен раздел «Использова...

Нас Django вкус волнует и манит Прошло уже несколько недель, как официально вышла 3 версия Django. Я работал с этой версией ещё до публикации официального релиза и, к сожалению, заметил, что развитие Django сильно замедлилось. Версия 1.3 от 1.7 отличается в разы, а вот 3 версия содержит косметические изм...

Астрономы засняли далекую звездообразующую галактику MAMBO-9 NRAO/AUI/NSF, B. Saxton Снимок MAMBO-9 был получен астрономами при помощи обсерватории ALMA в Чили. По словам ученых, фотография демонстрирует то, как выглядела галактика примерно через 970 миллионов лет после Большого взрыва. Недавние наблюдения показывают, что MAMBO-9...

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

Удалить всё: как стереть данные и вернуть NVMe SSD к заводским настройкам Привет, Хабр! Мы часто говорим о способах восстановления данных на магнитных и твердотельных накопителях, резервном копировании, создании RAID’ов и прочих ухищрениях, которые помогают не остаться без важной информации в самый неподходящий момент нашей цифровой жизни. А что д...

[recovery mode] Итоги десятилетия До конца десятилетия остается две недели, а это значит пришло время подведения итогов. Я очень хотел сам написать весь материал, но боялся, что он получится слишком однобоким, поэтому долго откладывал. Признаюсь, для написания статьи, я вдохновлялся шикарнейшим выпуском The ...

Новые Samsung Galaxy S20 и Z Flip с точки зрения обзорщика — достойны ли они покупки? Я посмотрел вчерашнюю онлайн-трансляцию Samsung Galaxy Unpacked 2020 и в этой статье расскажу и о своих впечатлениях от неё, и о том, какими в итоге получились новые смартфоны Galaxy S20, и что в них самое главное.

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

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

Утилита Clock Tuner for Ryzen 2.1 может обеспечить разгон процессоров AMD Ryzen Zen 3 до 5.0 ГГц Пользователь "1usmus" представил бета-версию утилиты Clock Tuner for Ryzen 2.1 предназначенную для разгона процессоров AMD. Новая версия Clock Tuner for Ryzen 2.1 получит новую функцию Hybrid OC и улучшенные настройки для разгона. Функция Hybrid OC позволит увеличить часто...

Microsoft полностью перепишет часть Windows на своем новом языке программирования Как пишет CNews со ссылкой на Zdnet, новый язык базируется на набирающем популярность Rust, развитием которого занимается компания Mozilla, разработчик известного браузера Firefox. Проект получил название Verona и, по данным издания, ключевое его отличие от Rust заключается ...

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

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

#Назаметку. Осторожно, атомарные операции в ConcurrentHashMap В Java с незапямятных времён есть замечательный интерфейс Map и его имплементации, в частности, HashMap. А начиная с Java 5 есть ещё и ConcurrentHashMap. Рассмотрим эти две реализации, их эволюцию и то, к чему эта эволюция может привести невнимательных разработчиков. Warn...

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

[Перевод] Файл .npmrc и оптимизация настройки Node.js-окружения Npm — это повседневный рабочий инструмент Node.js-разработчиков. Это, в буквальном смысле, нечто такое, чем мы пользуемся ежедневно и по несколько раз на дню. Это — одна из частей экосистемы Node.js, которая привела эту платформу к успеху. Одним из самых важных и полезных с...

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

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

[Перевод] Отпечаток браузера: что это, как работает, нарушает ли закон и как защититься. Часть 1 От Selectel: эта статья первая в цикле переводов очень детальной статьи об отпечатках браузера и том, как работает технология. Здесь собрано все, что вы хотели знать, но боялись спросить по этой теме. Что такое отпечатки браузера? Это метод, используемый сайтами и сервиса...

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

Что такое Полный геном и зачем он нужен Атлас запустил новый продукт — Полный геном. Теперь мы можем исследовать не только отдельные точки в геноме, как в генетическом тесте, но и прочитать всю последовательность нуклеотидов генома. В этой статье рассказываем, что это и зачем это нужно. Внимание! Мы подарим Полны...

Единый реестр российских программ и GPL. Мои пять копеек Несколько дней назад на Хабре была опубликована статья вызвавшая определенный резонанс. Краткий пересказ статьи привело издание CNews, а оттуда тезис о запрете GPL и MPL в Едином реестре перекочевал в статью в Википедии. В исходной статье красноречиво рассказывалось о том, ...

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

Переход на IPv6 может занять еще десять лет Такую точку зрения высказал представитель интернет-регистратора RIPE NCC Марко Хохевонинг (Marco Hogewoning). Однако некоторые члены ИТ-сообщества посчитали такой прогноз излишне оптимистичным. Обсуждаем мнения экспертов и рассказываем, как идет внедрение IPv6. Читать даль...

Cucumber и BDD. Пишем UI-автотесты на iOS Привет, Хабр! В данной статье-мануале я хочу рассказать о базовых функциях такого фреймворка как Cucumber и его применение для создания ui авто тестов на мобильных iOS устройствах.Я ставлю перед собой задачу сделать описание максимально простым и понятным для большинства чит...

Понимание (всех) «модульных» форматов и инструментов JavaScript Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «Understanding (all) JavaScript module formats and tools» автора Dixin. При создании приложения часто возникает желание разделить код на части, логические или функциональные блоки (модули). Однако ...

[Перевод] Накопительная диаграмма потока (CFD) как индикатор здоровья вашего проекта Предисловие переводчика В русскоязычном профессиональном сообществе менеджеров процессов крайне мало литературы по Канбан методу на русском языке. Мы, сообщество Kanbanguide.ru, решили исправлять эту несправедливость и будем публиковать самые значимые с нашей точки зрения ст...

Определение объёма кластера Elasticsearch и тестирование производительности в Rally В этой статье мы разберёмся с основными подходами к сайзингу Elasticsearch, покажем сравнения бенчмарков кластера при загрузке логов и метрик. А разница там заметная. Надеемся, вам это поможет с определением объёма кластера Elasticsearch и расшифровкой того самого «it depend...

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

Скрытая активация камеры браузерами: Большой Брат или технологический просчёт? Всем привет! Меня зовут Вадим, и я один из технических консультантов и, по совместительству, системный администратор "РосКомСвободы". Но данный пост будет не обо мне. Он будет историей о подозрительной (с точки зрения приватности в контексте мобильных телефонов) ситуации, с...

Чего ждать от Java в 2020 году? 2020 уже в разгаре, давайте же обсудим, какие изменения в мире Java нас ожидают в этом году. В этой статье перечислю основные тренды Java и JDK. И буду рад дополнениям от читателей в комментариях. Сразу оговорюсь, что статья носит скорее ознакомительный характер. Детали по ...

IntelliJ IDEA: Structural Search & Replace Современные IDE — очень мощные инструменты, способные помогать разработчику в самых разных ситуациях. Но обратной стороной этой мощности является то, что большинство функций находится в тени — об их наличии мало кто подозревает. Простой пример одной...

Получаем 100 Гб пространства в облаке для загрузки файлов и фото Если вам мало пространства в Dropbox, «Яндекс.Диске», Mega.nz или Google Drive, которые дают какое-то количество места в своём облаке бесплатно, то можно получить дополнительные 100 Гб в проверенном сервисе, который не только что появился. Больше всего он понравится мобиль...

Что нужно знать об архитектуре ClickHouse, чтобы его эффективно использовать. Алексей Зателепин (2018г) ClickHouse — высокопроизводительная аналитическая база данных с открытыми исходниками, разработанная в Яндексе. Изначально ClickHouse создавался для задач Яндекс.Метрики, но постепенно нашёл множество применений как внутри Яндекса, так и в других компаниях. Я расскажу, как C...

Redux Toolkit как средство эффективной Redux-разработки В настоящее время разработка львиной доли веб-приложений, основанных на фреймворке React, ведется с использованием библиотеки Redux. Данная библиотека является самой популярной реализацией FLUX-архитектуры и, несмотря на ряд очевидных преимуществ, имеет весьма существенные ...

iOS тестирует проект xCloud Для тестирования в Microsoft Project xCloud TestFlight необходимо зарегистрироваться. Программное обеспечение позволяет одновременно тестировать 10 тысячам пользователям, остальные кто подключаются вынуждены ждать свободного места. Открытое бета-тестирование приложения x...

[Перевод] Как Django может обрабатывать 100 миллионов запросов в день Сегодня я буду писать о Django — фреймворке, который верно служит мне на протяжении последних пяти лет. Он помог мне преуспеть в разработке высоконагруженных решений, используемых сегодня миллионами пользователей. Действительно, Python не очень «быстрый» язык программировани...

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

[Перевод] 10 практических рекомендаций по безопасности образов Docker. Часть 2 Перевод статьи подготовлен специально для студентов курса «Безопасность Linux». Читать первую часть 5. Не оставляйте чувствительные данные в образах Docker Иногда при создании приложения внутри образа Docker вам нужны такие секретные данные, как приватный SSH-ключ для извл...

Быстрое чтение CSV в C# (fast read CSV) Уже не первый год пользуюсь своим универсальным конвертером CSV файлов в БД SQL Server - ImportExportDataSql, который имеет ряд полезных функций, необходимых любому разработчику БД MSSQL, например: перенос данных с одной БД в другую через SQL скрипт, выгрузка структуры БД...

[recovery mode] TOP12 междисциплинарных научных открытий 2019 года Спойлер! В статье возможно самое интересное из мира науки за 2019 год. Но это не точно. Коротко о нас — мы белоруские научные скауты, молодость которых еще только разбивается о гранит реальности. Мы проводим те научные мероприятия, которые считаем нужными и потому что можем...

Одна история с оператором Redis в K8s и мини-обзор утилит для анализа данных этой БД Что будет, если использовать всем известное in-memory-хранилище ключей и значений в качестве персистентной базы данных, не используя TTL? А если оно запущено с помощью надёжного, казалось бы, оператора в Kubernetes? А если в процессе увеличения реплик Redis мы внесём ещё о...

Microsoft сертификация Online — записки с полей Microsoft Russia перевела статью о процессе сдачи экзамена онлайн. Через меня за последний год, так или иначе, прошли уже сотни, если не тысячи людей, готовившихся, сдавших экзамены. Многие из них сдавали онлайн, еще до Covid-19, а уже после закрытия сертификационных центр...

Учимся разворачивать микросервисы. Часть 3. Helm Привет, Хабр! Это третья часть в серии статей "Учимся разворачивать микросервисы", и сегодня речь пойдет о Helm 3. В прошлой части мы создали Kubernetes конфигурацию для учебного проекта из 2 микросервисов (бекенда и шлюза) и задеплоили все это в Google Kubernetes...

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

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

Разработчики предложили Microsoft открыть исходный код для Windows 7 Представители фонда Free Software Foundation подготовили открытое обращение к корпорации Microsoft с требованием доработать Windows 7 с целью открытия исходного кода и возможности каждого разработчика самостоятельно проводить обновление и доработку операционной системы.

[Перевод] Грядущее галактическое столкновение Млечного Пути уже рождает новые звезды Недавно обнаруженное скопление молодых звезд (обозначено голубой звездой) находится на периферии Млечного Пути. Эти звезды, вероятно, образовались из материала, происходящего из соседних карликовых галактик, называемых Магеллановыми Облаками. Предоставлено: Д. Нидевер; NASA...

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

[Из песочницы] На пути к автоматизации выпуска SSL Достаточно часто нам приходится работать с SSL сертификатами. Давайте вспомним процесс создания и установки сертификата (в общем случае для большинства). Найти провайдера (сайт на котором мы можем купить SSL). Сгенерировать CSR. Отправить его провайдеру. Отправить его прова...

Как организовать успешный стартап? Эта статья — почти точный транскрипт моего мастер-класса, который я провёл в офисе Mail.ru Group для студентов наших образовательных проектов. Мне больше всего нравится такое определение стартапа: это что угодно, находящееся в состоянии высокой неопределенности. И сегодня ...

Принцип SRP на примере Laravel Принцип SRP (Принцип Единой Ответственности) — один из основополагающих принципов написания поддерживаемого кода. В этой статье я покажу как применить данный принцип на примере языка PHP и фреймворка Laravel. Часто, описывая модель разработки MVC (MVP, MVVM или другие M**),...

Epson официально объявил начало поставок проектора EB-L12000Q с реальным 4K разрешением На фоне многочисленных "4K" моделей имитирующих 4K разрешение методом дублирования пикселей Epson EB-L12000Q - единственный проектор в диапазоне 10,000-20,000 лм с реальным 4K разрешением Пандемия 4K давно захватила весь мир, но проекторов с реальным 4K разрешением практиче...

Через всю географию: навигационные и геодезические задачи на разных языках Приветствую вас, глубокоуважаемые! «… истинное место судна хотя и неизвестно, но оно не случайно, оно есть, но неизвестно в какой точке» Алексишин В. Г. и др. Практическое судовождение, 2006. стр. 71 «С двух краев галактики вышли пешеходы...» (С) Сергей Попов (Астрофизик) В ...

[Из песочницы] Как разместить статический сайт с помощью Yandex.Cloud Object Storage Привет, Хабр! В этой статье, я расскажу как легко и просто разместить статический сайт с помощью технологий Яндекса, а именно Object Storage. В конце у вас будет размещенный в сети сайт, который будет доступен по внешней ссылке. Эта статья будет полезна, если вы Начинающий ...

Опубликованы исходники швейцарского криптомессенджера Threema Архитектура веб-клиента Threema, источник Защищённый мессенджер Threema открыл исходный код и инструкции по воспроизводимой сборке приложений. Опубликованы 12 репозиториев для клиентов Android, iOS, веб-версии, рилеев нотификаций и других компонентов. Это важнейшее событие...

Red Hat: open source теснит проприетарный софт Компания Red Hat, поставщик решений с открытым исходным кодом, представила результаты собственного исследования «Корпоративное ПО с открытым кодом 2020» о положении дел с внедрением открытого кода в организациях ...

Делаем кроссплатформенное нативное десктоп приложение на Angular Как вы уже наверно знаете, Angular уже есть во многих платформах: Ionic (https://ionicframework.com/) NativeScript (https://www.nativescript.org/) NestJs (https://nestjs.com/) Universal (https://github.com/angular/universal) Platform-terminal, консольное приложение (https:...

Фамильный вики-движок Bonsai: итоги 2019 года В начале прошлого года я рассказывал про проект Bonsai — движок для создания семейного вики и фотоальбома с открытым исходным кодом. С тех пор проект планомерно развивался. За год сделано несколько фич, благодаря которым движок теперь значительно проще попробовать в у себя и...

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

«Я тише шептуна в открытом поле» или что такое Ninjutsu-OS Ninjutsu-OS — это специализированная ОС на базе Windows 10 (сборка 1909), которая содержит более 800 инструментов для тестирования кибербезопасности. Эдакий Kali Linux, только от мира Windows. Релиз совсем свежий, состоялся 18.04.2020. Читать дальше →

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

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

Шаблон backend сервера на Golang — часть 2 (REST API) Представленный ниже шаблон сервера на Golang был подготовлен для передачи знаний внутри нашей команды. Основная цель шаблона, кроме обучения — это снизить время на прототипирование небольших серверных задач на Go. Первая часть шаблона была посвящена HTTP серверу: настройка...

Node.js в 2020: Выйди и зайди нормально За последние 5 лет Node.js очень изменился, но знания о платформе у сообщества остались на уровне 2013-2015 годов, все те же подходы, все те же проблемы. Сообщество плохо следит за новыми возможности, а если и узнает про них, то это не влияет на написание ежедневного кода. ...

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

Volkswagen Group увеличила на 3 млн ориентиры по продажам электромобилей к 2028 году Компания Volkswagen Group пересмотрела планы по выпуску автомобилей на электрическом ходу. Как ожидается, к 2025 году примерно пятая часть продаж немецкого автопроизводителя будет приходиться на электромобили. news.yahoo.com Планы электрификации Volkswagen Group очень амбици...

Сканирующее окно по массивам NumPy CoLab блокнот с примерами Возможно сделать скользящее окно (rolling window, sliding window, moving window) по массивам NumPy на языке программирования Python без явных циклов. В данной статье рассматривается создание одно-, двух-, трех- и N-мерных скользящих окон по массивам...

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

[Перевод] Опциональная цепочка, объединение с null, и как они меняют наш подход к написанию кода Автор фото — Miguel Á. Padriñán. Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Sam Sedighian «Optional Chaining, Null Coalescing and How They Will Change the Way You Write Code». Опциональная цепочка, объединение с null, и как они меняют подхо...

Камера iPhone 11 разочаровала экспертов DxOMark iPhone 11 вышел ещё в сентябре прошлого года, а до специалистов DxOMark аппарат добрался только сейчас. В ходе тестов традиционно снимают и оценивают более 1500 тестовых изображений, а также видео, длительностью более 2 часов. С точки зрения фото- и видео-возможностей iPhone...

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

Для чего военные используют технологии AR/VR Армия как институт часто вносит решающий вклад в появление и развитие новых технологий. Появление устройств виртуальной и дополненной реальности и систем, которые работают на их основе, — тоже одна из заслуг военно-промышленного комплекса. Более того, сегодня армия становитс...

[Перевод] Работаем с двухмерной физикой в JavaScript Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Martin Heinz «Implementing 2D Physics in JavaScript». Давайте немного развлечемся, создавая двухмерные симуляции и визуализации в JS. Создание реалистичной анимации физических процессов может казать...

[Перевод] Руководство Google по стилю в C++. Часть 10 Часть 1. Вступление … Часть 9. Комментарии Часть 10. Форматирование … Эта статья является переводом части руководства Google по стилю в C++ на русский язык. Исходная статья (fork на github), обновляемый перевод. Читать дальше →

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

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

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

Пишем бизнес-процесс в Битрикс24 с задатком на будущее На работе я занимаюсь поддержкой пользователей и обслуживанием коробочной версии CRM Битрикс24, в том числе и написанием бизнес-процессов. Нужно отметить, что на самом деле я не «чисто» специалист по Битриксу, а это одна из моих обязанностей. На самом деле обязанностей у мен...

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

FigmaGen: Автоматизация стилей в iOS-приложении Сейчас многие команды систематизируют дизайн своих приложений. Мы решили пойти дальше и автоматизировать синхронизацию кода с нашей библиотекой компонентов.  Дело в том, что в hh для проектирования UI используется небезызвестный сервис Figma, который, кроме прочих своих плю...

Задачи с собеседований: поиск одинаковых чисел в двух строках Дан массив из двух строк со списками чисел, разделенных запятыми, отсортированными в порядке возрастания. Ваша цель – вернуть строку чисел, которые встречаются в обоих строках, в отсортированном порядке. Если пересечения нет, возвращаем false. Например: если входной ма...

А суть-то в чём, или Минимизация исходников — проще, чем кажется В эти чудесные январские дни всех нас, конечно, волнует вопрос минимизации исходного кода с сохранением инварианта. В смысле, не волнует?!? Зря… Вот упал у вас компилятор, а программа гигантская — как-то неудобно такое разработчикам слать. И тут начинается веселье: а если в...

Телескоп TESS нашел «невозможную» экзопланету #79: Лучшие материалы «Популярной механики» за 2019 год В рамках нового исследования ученые проанализировали наблюдения TESS за звездами HD 212771 и HD 203949, у которых ранее уже были обнаружены экзопланеты. Исследователи изучили колебания данных звезд (исследованием колеба...

Jinja2 в мире C++, часть третья. «Теперь ты в конане» С момента публикации предыдущей части прошло больше полутора лет, была реализована большая куча фичей, сделано несколько релизов, но не об этом пойдёт речь. Пару дней назад в жизни библиотеки произошло важное событие: она была добавлена в основной репозиторий conan'а (conan...

AI на минималках 2: Генератор стихов на Prolog AI на минималках 2: Генератор стихов на Prolog На картинке — четверостишье, сгенерированное моей программой. Оказывается "стихи" писать легко, нужно только знать несколько необходимых ингредиентов: размер, ритм, рифма. "Стихи" в кавычках, потому что в на...

Игра на WinForms + C# в 16 лет (2 часть) Предыстория Прошло довольно много времени с момента написания предыдущей статьи. Как и обещал я написал вторую часть. Хотелось бы сказать спасибо всем тем, кто давал советы в комментариях, из всех их я смог узнать что-то новое. Ну а для тех кому хочется сразу посмотреть прое...

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

Cats in Time — милая головоломка по типу The Room, только с котятами Всегда хотели спасать котят из заточения? Тогда обратите внимание на Cats in Time. Это трёхмерная головоломка, которая очень напоминает по своей затее The Room. Мы должны рассматривать замки и другие строения со всех сторон, чтобы найти загадки. Решая их мы будем спасать кот...

[Перевод] Open Source Guides: Запуск проекта с открытым исходником Предисловие переводчика Пару месяцев назад на Гитхабе случайно наткнулся на ссылку «Open source guides» и не мог оторваться. Где-то за неделю я внимательно прочитал все 10 разделов. Конечно, я и раньше знал про open source: читал разные статьи (например, «Понять Open Sourc...

[Из песочницы] Переосмысление DTO в Java Привет, Хабр! Представляю вашему вниманию любительский перевод статьи “Rethinking the Java DTO” Стивена Уотермана, где автор рассматривает интересный и нестандартный подход к использованию DTO в Java. Я провел 12 недель в рамках программы подготовки выпускников Scott Logic,...

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

MMORPG Icarus M: Riders of Icarus от VALOFE вышла на iOS и Android Этот день наконец-то настал: мобильная MMORPG от издателя VALOFE — Icarus M: Riders of Icarus — увидела свет и теперь доступна по всему миру. Мы уже писали о ней и вынесли вердикт, что это типичный мобильный многопользовательский проект, коих сейчас тысячи в цифровых маркета...

[Перевод] Как создать свой первый open source проект на Python (17 шагов) Каждый разработчик ПО должен знать как создать библиотеку с нуля. В процессе работы Вы можете многому научиться. Только не забудьте запастись временем и терпением. Может показаться, что создать библиотеку с открытым исходным кодом сложно, но Вам не нужно быть потрепанным ж...

[Перевод] Устранение бага в Factorio: не ошибается тот, кто ничего не делает В недавних примечаниях к патчам была строка «Исправлена ошибка создания земли под игроком при создании земли в другом месте». Подробнее об этом можно прочитать здесь. Некоторых пользователей Reddit заинтересовало, как вообще мог возникнуть такой баг, они попросили объяснить ...

Как выпускать продукты непрерывно на 20 языках и не умереть? В этой статье мы расскажем, как мы переводили локализацию мобильных проектов в Smartcat, какие изначально у нас были боли и как мы с ними справились. Кто мы Привет всем! Мы — Екатерина Галицкая и Дарья Егорушкина из «Лаборатории Касперского» (отдел документации и локализац...

[Из песочницы] Koin – это Dependency Injection или Service Locator? Введение В Android-разработке для DI традиционно используют Dagger 2, очень мощный фреймворк с кодогенерацией. Но есть проблема: новичкам сложно его использовать. Сами принципы DI просты и понятны, но Dagger усложняет их. Можно жаловаться на поголовное падение грамотности пр...

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

Имитация Сложности — Антиномия Простого и Сложного Программисты много говорят про сложность решений. Мы можем часами размышлять о правильных шаблонах, красивых абстракциях и цепочках зависимостей. Однако, давайте поговорим открыто, всегда ли сложность обусловлена решаемой проблемой? Не оказываемся ли мы в плену наших стереот...

Моя попытка номер 5 А я пропатчил, я пропатчил SJ Опять, опять, опять… Ох, как намаялся я с тобой Моя попытка номер пять. Крутилось в голове Это небольшой большой рассказ о попытке привнести сжатые строки в StringJoiner, а также о трудностях, вставших на моём пути. Предупреждение: внутри расчл...

MIR4 с блокчейном получила разгромные отзывы на релизе Мобильная MMORPG MIR4 только вышла на смартфоны, но её оценки опустились ниже плинтуса. Игроки жалуются на то, что игра не запускается, но возможно разработчики не виноваты. MIR4 — это корейская MMORPG, которую выпустили во всём мире. Издатель Kakao Games хотел выстрелить ...

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

Swift.assert — жизнь после релиза Как часто вы используете Swift.assert() в вашем коде? Я, честно, использую довольно часто (Если это плохая практика, то, пожалуйста, напишите в комментариях — почему это плохо?). В моем коде часто можно встретить, например, такой вызов: Swift.assert(Thread.isMainThread) Не ...

Лучший доступный смартфон 2020 года. Samsung Galaxy A30s 32GB ZTE Blade V10 Многие пользователи почему-то думают, что большой дисплей может быть только у очень дорогого флагмана, который стоит больше тысячи долларов. Однако на самом деле получить большой качественный дисплей можно буквально на любом более-менее доступном устройстве...

Запускаем тесты на GitLab Runner с werf — на примере SonarQube Если в качестве инфраструктуры, где разворачивается приложение, выступает Kubernetes, можно сказать, что существует два способа запуска тестов (и других утилит для анализа кода) в CI/CD: непосредственно в кластере K8s — с помощью отдельных Job или Helm hooks; «снаружи»...

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

Обнаружена самая гармоничная планетная система. Но что это значит? На протяжении семи лет астрономы из Обсерватории Верхнего Прованса с помощью спектрографа SOFIA наблюдали за звездой HD 158259, которая находится на расстоянии 88 световых лет от нашей планеты. За годы наблюдений ученым удалось заполучить более 300 снимков спектра звезды, п...

Roslyn API, или из-за чего PVS-Studio очень долго проект анализировал Многие ли из вас использовали сторонние библиотеки при написании кода? Вопрос риторический, ведь без применения сторонних библиотек разработка некоторых продуктов затягивалась бы на очень-очень большое время, потому что для решения каждой проблемы приходилось бы "изобретать ...

Разбираемся в VPN протоколах В последние месяцы армия пользователей VPN значительно увеличилась. И речь не о любителях обходить блокировки и посещать запрещенные сайты, а о тех, кто использует VPN для безопасной работы (да-да, удаленной работы). Это повод еще раз посмотреть на арсенал доступных протокол...

Зонтичная Grafana — скрещиваем Zabbix и Microsoft SCOM Если у вас есть Grafana и несколько систем мониторинга, то почему бы не визуализировать все имеющиеся данные и статусы в едином интерфейсе? Покажем на примере нашего тестового стенда как скрестить Zabbix и SCOM в единой Grafana и сделать сервисный мониторинг (с точки зрен...

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

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

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

Azure SDK for .NET: история о непростом поиске ошибок Когда мы решили поискать ошибки в проекте Azure SDK for .NET, то были приятно удивлены его размером. «Три с половиной миллиона строк кода», — приговаривали мы, изучая статистику проекта. Это сколько же там всего можно найти. Но, увы и ах. Проект оказался с секретом. Какова ...

TDD для микроконтроллеров. Часть 3: Запуск на железе TDD для микроконтроллеров. Часть 1: Первый полет TDD для микроконтроллеров. Часть 2: Как шпионы избавляют от зависимостей TDD для микроконтроллеров. Часть 3: Запуск на железе В первой части нашего цикла статей мы начали освещать тему эффективности применения методологии TDD...

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

Игры, пережившие «производственный ад» 2. История о долгостроях На момент написания первой части статьи игра Beyond Good and Evil 2 находилась в разработке уже девять лет. В 2017 Ubisoft неожиданно показала игру на E3, но два с половиной года спустя мы...

[Из песочницы] Автоопределение кодировки текста Введение Я очень люблю программировать, я любитель и первый и последний раз заработал на программировании в далёком 1996 году. Но для автоматизации повседневных задач иногда что-то пишу. Примерно год назад открыл для себя golang. В качестве инструмента создания утилит golan...

[Из песочницы] Некоторые тонкости injection'а коллекций в Spring'е Всем привет! Меня зовут Владислав Родин. В настоящее время я преподаю на портале OTUS курсы, посвященные архитектуре ПО и архитектуре ПО, подверженного высокой нагрузке. Сейчас в OTUS'е открыт набор на новый поток курса Разработчик на Spring Framework. В преддверии старта к...

В VK добавили Callback кнопки для ботов . Доброго времени суток, уважаемые жителя Хабра) Мой первый пост. Будет кратко, емко и надеюсь актуально. 9го июля ВК выкатил callback кнопки для чат-ботов. Телеграм напрягся сделал это в 199... давно. Самая популярная библиотека для разработки чат-ботов под ВК на Python — v...

Морское приключение Sea of Thieves от Microsoft скоро выйдет в Steam В прошлом году в Steam переехали некогда эксклюзивные игры из Origin от Electronic Arts, а также многие проекты Microsoft, которые ранее были доступны только в Microsoft Store. Скоро такой участи удостоится и Sea of Thieves от студии Rare. Sea of Thieves — это приключение, ...

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

Swift 5.3: Что нового? Привет Хабр! Язык программирования Swift обладает большой популярностью ввиду его использования в написании приложений под iOS, поэтому его развитие представляет интерес для всех занятых в этой области. Давайте посмотрим что нового приготовил разработчикам Swift версии 5.3....

G-Core Labs запустила новую европейскую точку присутствия хостинга и CDN в Мадриде G-Core Labs объявила об открытии новой точки своего хостинга и сети доставки контента в Мадриде. Новая точка присутствия в испанской столице предлагает заказчикам выделенные и виртуальные серверы с защитой от DDoS-атак любой сложности и объёма, а также ...

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

[Перевод] Минимизируем наложение лейблов в интерактивных визуализациях Перевод статьи подготовлен в преддверии старта курса «Промышленный ML на больших данных». Интересно развиваться в данном направлении? Смотрите записи трансляций бесплатных онлайн-мероприятий: «День Открытых Дверей», «Вывод ML моделей в промышленную среду на примере онлайн-ре...

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

Фреймворконезависимый фронтенд GoF, Чистая архитектура, Совершенный код — настольные книги «true программиста». Но в мире фронтенда многие идеи из этих книг недоступны. По крайней мере сходство с реальным миром найти очень сложно. Может быть современный фронтенд опережает время? Может быть «функциональное...

ок.tech: QATOK #2 5 марта в питерском офисе Одноклассников состоится ок.tech: QATOK #2 – митап, посвященный тестированию и всему что связано с обеспечением качества в ИТ-проектах. Нас ждет 3 технических доклада от представителей OK, Яндекса и VK, ребята расскажут про проблемы Espresso-автот...

Китайская компания Vivo обошла Samsung по объему поставок смартфонов в Индию Vivo обошла Samsung по объему поставок смартфонов в Индию, заняв второе место. На первом месте - Xiaomi. С точки зрения доли рынка, Vivo имеет сейчас 19,9%, уступая только Xiaomi с 30,6%. Samsung занимает третье место с 18,9%. Подробнее об этом читайте на THG.ru.

YOLOv4 – самая точная real-time нейронная сеть на датасете Microsoft COCO Эта же статья на medium: medium Код: github.com/AlexeyAB/darknet Статья: arxiv.org/abs/2004.10934 Мы покажем некоторые нюансы сравнения и использования нейронных сетей для обнаружения объектов. Нашей целью было разработать алгоритм обнаружения объектов для использования в...

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

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

Профессия: тестировщик Тестировщик: Это баг или фича? Разработчик: Пока что это фича. bash.im Инженер по тестированию — моя первая специальность в ИТ-сфере в далёких уже 2010-х, как, пожалуй, и у многих. Это было классическое «войти в айти»: на тот момент имелось только экономическое образование ...

Apache Kafka: основы технологии У Kafka есть множество способов применения, и у каждого способа есть свои особенности. В этой статье разберём, чем Kafka отличается от популярных систем обмена сообщениями; рассмотрим, как Kafka хранит данные и обеспечивает гарантию сохранности; поймём, как записываются и ч...

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

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

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

[Из песочницы] Как достичь своих целей? Привет, Хабр! Представляю вашему вниманию перевод ранее опубликованной на Хабре статьи «How to achieve goals?». 5 жизненных советов, которые помогут вам достичь своей желаемой цели. Конечно же, не обязательно выполнять их все в указанном порядке. Но самое важное — не просто...

Zabbix. Что делать, если принтер не делится информацией по SNMP? Доброго времени суток! КДПВ Данная статья – небольшой мануал, написанный в несколько художественной форме. В статье много картинок, заботливо упрятаных в спойлеры. Для кого написана эта статья? Для начинающих сисадминов, еще слабо знакомых с UNIX-системами, Zabbix’ом, но ...

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

Почему VR разработка вам не подходит Всем привет! Меня зовут Григорий Дядиченко, и я занимаюсь AR/VR. (Слышны хлопки по залу). В AR/VR я уже больше 4 лёт, хотя занимаюсь всё это не только исключительно ими, а самыми различными проектами под заказ всё это время. Я работал в студиях, я долгое время был фрилансеро...

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

[Перевод] Телешоу из 1970-х годов, ставшее предком киберспорта Почти 40 лет назад, на самом пике дискомании, всего за несколько месяцев до того, как игра Space Invaders запустит национальную одержимость электронными играми, в Лос-Анджелесе произошло почти забытое событие, ставшее предтечей современного киберспорта. Этот эксперимент, з...

Как мигрировать большой процесс с IBM BPM на Camunda и не останавливать разработку фич Привет, меня зовут Денис, я работаю в Тинькофф и занимаюсь BPM-системами. В этой статье я расскажу, как мигрировать с легаси систем а-ля IBM BPM на опенсорс движок процессов Camunda на примере большого процесса. А в конце приглашу вас на четвертый митап по Camunda, который...

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

GitHub закрыл репозитории проекта Popcorn Time по запросу Американской ассоциации кинокомпаний GitHub закрыл два репозитория, принадлежащих пиратскому стриминговому сервису Popcorn Time, после получения уведомления о нарушении закона о защите авторских прав в цифровую эпоху (DMCA) от Американской ассоциации кинокомпаний.Popcorn Time представляет собой сервис потоковог...

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

Автоматизированная сборка Delphi-приложения Автоматизированная сборка Delphi-приложения Я довольно часто сталкивался с тем, что разработчики на Delphi (можно сказать традиционно) компилируют свои приложения "ручками", что далеко не production-решение, а со стороны выглядит кустарщиной и "делаем на-колен...

Ventoy. Мультизагрузочная флешка Мультизагрузочная флешка, сколько раз она меня выручала, с нее я чистил компы от вирусов, ставил Оси и т.д. В общем объяснять для чего она на хабре не нужно. Я знаю две самых известных утилиты для создания МФ - Easy2Boot и Win Setup From USB. Чем отличается Ventoy от них? Се...

IDA Pro: работа с библиотечным кодом (не WinAPI) Всем привет, При работе в IDA мне, да и, наверняка, вам тоже, часто приходится иметь дело с приложениями, которые имеют достаточно большой объём кода, не имеют символьной информации и, к тому же, содержат много библиотечного кода. Зачастую такой код нужно уметь отличать от ...

Почему появились асинхронные веб-сервера? Всем привет. На связи Владислав Родин. В настоящее время я являюсь руководителем курса «Архитектор высоких нагрузок» в OTUS, а также преподаю на курсах, посвященных архитектуре ПО. Помимо преподавания, как вы могли заметить, я занимаюсь написанием авторского материала для б...

[Перевод] Теория вероятностей для физически точного рендеринга Введение В рендеринге часто используется вычисление многомерных определённых интегралов: например, для определения видимости пространственных источников освещения (area light), светимости, доходящей до области пикселя, светимости, поступающей за период времени и облучения, ...

[Перевод] Как Replit отжимает мой open-source проект «Я думаю, вам следует закрыть проект и прекратить работать над ним. Я привлеку наших адвокатов в понедельник, если к тому времени вы не выполнитте условия. [...] Мы были крошечной компанией, когда вы стажировались у нас [...] К счастью, сейчас мы намного больше, и, что очень...

Правильное TDD Привет, Хабр! На написание этого поста меня вдохновил другой пост TDD есть опиум для народа, где обсуждаются спорные моменты в подходе TDD и в принципе делается вывод о его несостоятельности (хотя и признается необходимость тестов в любом случае). С автором я был полностью с...

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

Ученые нашли ближайшую к Земле черную дыру Черные дыры не редкость во вселенной, ведь только в Млечном пути их насчитывается более 10 миллионов. Но сейчас ученые открыли ближайшую из них к Земле. Астрономы разглядели черную дыру в системе HR6819 с двумя звездами, расположенной на расстоянии около 1000 световых лет от...

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

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

Дополняя SQL. Часть 2. Оптимизация работы со строками и открытия файлов Публикую на Хабр оригинал статьи, перевод которой размещен в блоге Codingsight. Что будет в этой статье? Это вторая статья в цикле о жизни разработчиков IDE для баз данных. Ее структура будет похожа на первую. Как и в первой я расскажу о проблемах с которыми мы сталкивались...

do {Yoga} while (болит спина) Вступление Это обыкновенная история про самого обыкновенного IT-шника, которая, тем не менее, может быть интересна людям различных профессий. Статья не про то, как я добился успеха в той или иной IT-дисциплине, будь то программирование, администрирование или дизайн. Моя исто...

Как долго нужно лететь до Луны на самом деле? Сколько лететь до Луны? Как известно, все пилотируемые полеты на спутник нашей планеты осуществлялись только на космических кораблях, по времени занимая около 3 дней 3 часов и 49 минут. Для огромного расстояния в 380 000 километров это вполне приемлемое время, но стоит отмет...

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

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