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

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

Игровой код, который сам себя программирует На сегодняшний день у меня выпущены четыре игры в Steam, и все они написаны на языке Haxe. Мне нравится по-максимуму автоматизировать свою работу, и сегодня я поделюсь некоторыми приёмами, которые я использую при программировании своих игр.Для непосвящённых: Haxe — это язык...

Альф, переведи мне на телефон миллион рублей Или нюансы тестирования (и разработки) голосового помощника в банковском приложении.В нашем приложении Альфа-Мобайл с октября 2021 работает голосовой помощник Альф (Alf). Он умеет оплачивать счета, переводить на телефон и озвучивает курс доллара голосом Геральта — Всеволода ...

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

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

Gatling. Тестирование JDBC Привет! Меня зовут Александра, я работаю в отделе тестирования производительности Тинькофф. Этот текст — часть цикла статей, посвященных тестированию производительности с помощью инструмента Gatling. В предыдущей статье мы с командой рассказали о работе Gatling с HTTP. Еще м...

[Перевод] TDD: Что пошло не так? Эта статья является переводом материала «TDD: What went wrong or did it?».В сфере разработки программного обеспечения уже давно хвалят Test Driven Development (TDD, разработка через тестирование). Однако в последнее время было сказано много резких слов в адрес TDD, поскольку...

Генерируем Rust обёртку для FMOD Rust — хороший выбор для разработки игр. Хотя экосистема языка еще молода, с помощью FFI можно использовать готовые решения написанные на другом языке. Но написание и использование FFI может быть не тривиальной задачей, когда дело доходит до чего-то большего, чем вызов одной...

Python — серьезный язык для разработки backend Всем привет! Меня зовут Аникин Денис, я тимлид в команде Chat в Райффайзенбанке. А также представитель внутреннего Python-сообщества, так называемый «community lead» (об этом как-нибудь в другой раз). В этой статье я хотел поговорить про отношение к Python среди разработчико...

[Перевод] От песочных часов к пирамиде: как усовершенствовать структуру тестов Меня зовут Владислав Романенко, я Senior iOS QA Engineer в Badoo и Bumble. Мы регулярно внедряем новые фичи в приложения, и автоматизация тестирования — один из способов не пропустить баги. Фактически автотесты входят в жизненный цикл всех частей наших приложений: бэкенда, с...

PA — Pointer Authentication на ARMv8.3: устройство инструкций защиты Сегодня процессоры, микропроцессоры и микроконтроллеры стали неотъемлемой частью жизни. Они повсюду: смартфоны, умные часы, наушники и другие гаджеты. Однако первое стало обязательной частью каждого человека, а следовательно интерес злоумышленников к взлому или получению дос...

Атака не клонов, или Генерация и анализ тестовых данных для нагрузки. Часть 1 Как добиться необходимого контроля, удобства и даже скорости при подготовке тестовых данных для микросервисов и тестов производительности? В каких случаях лучше не генерировать XML и JSON файлы с помощью конкатенации строк? Зачем анализировать статистику по SQL запросам?Меня...

DevOps: о самом важном. Часть 1. Про то, о чем мало говорят Привет! Меня зовут Каро Манасян, я Chief DevOps Officer Московской биржи, и сегодня мы поговорим про… DevOps. Вокруг этого слова поднят такой уровень хайпа, что каждый интерпретирует его, как хочет. То ли это методология, то ли культура, то ли человек… Однако, на данный моме...

4 страха, мешающие стать тестировщиком в международной компании Привет, Хабр! Меня зовут Анастасия Донцова, и я работаю старшим менеджером команды тестирования в компании Dell Technologies. Хочу немного рассказать вам о своей специальности, а также развенчать несколько ложных и вредных представлений, которые её окружают. Тестирование пр...

Как устроены цикл событий и стек вызовов в JavaScript Цикл событий (event loop) — ключ к асинхронному программированию на JavaScript. Сам по себе язык однопоточный, но использование этого механизма позволяет создать дополнительные потоки, чтобы код работал быстрее. В этой статье разбираемся, как устроен стек вызовов и как они с...

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

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

Behave test recorder. Запись сценариев автотестов Привет! Меня зовут Степан Лущий, я – тимлид команды тестирования компании «БАРС Груп». Мы занимаемся созданием автоматизированных тестов (автотест), инструментов для их написания, а также развитием инфраструктуры автотестирования. В этой статье я расскажу, как мы разработали...

Tcl/tk: интегрированная среда разработки TKproE-2.30 Прошло без малого пять лет как я впервые столкнулся с интегрированной средой разработки программ на tcl/tk TKproE-2.20. И вот апреле 2021 года вышла новая версия этого продукта — TKproE-2.30 и я полностью погрузился в её мир. Он меня заворожил. Название TKproE является аббре...

В Steam доступно бесплатное тестирование новой Company of Heroes 3 В Steam доступно бесплатное альфа-тестирование Company of Heroes 3. Опробовать новую часть культовой серии стратегий на тему Второй мировой войны можно до 7 декабря 07:00 по мск. Читать полную статью

Unity «Best» Practices Эта статья родилась из внутреннего доклада для коллег, которые уже достаточно давно занимаются разработкой игр, но только недавно прикоснулись к Unity. Здесь мы собрали фишки и особенности работы с этим игровым движком разной степени капитанскости, почерпнутые из собственног...

Использование Gatling. Введение Привет! Мы — команда тестирования производительности в Тинькофф, и мы любим инструмент Gatling. В цикле статей мы расскажем об использовании Gatling и дополнительных инструментов, упрощающих разработку скриптов.Возможно, вы уже читали наши статьи про Gatling: первую и вторую...

[Перевод] Инженерный подход к тестированию алгоритмов: исследовательский анализ рабочего процесса. Часть 1 Что из себя представляет тестирование и анализ алгоритмов? Давайте разберемся в этом на практике. Читать далее

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

Обзор ORM для C#: что подойдет для проекта Одна из проблем использования языков объектно-ориентированного программирования (ООП) и баз данных в сложности их согласования между собой. Знание языка структурированных запросов (SQL) и умение писать запросы позволяют взаимодействовать с БД напрямую. Но использование «чист...

Альтернативное использование инструмента для нагрузочного тестирование Apache JMeter Всем привет! Меня зовут Андрей Попов, я Middle QA Engineer Auto-test в Утконос Онлайн. В этой статье хочу поделиться, почему мы выбрали Apache JMeter для нагрузочного тестирования, как выглядит этот инструмент, для чего он был нам нужен, и как мы используем его для нестандар...

[Перевод] 6 правил, которые пригодились бы мне, когда я осваивал программирование В кодинге главное — не кодинг Как вы думаете, что такое программирование? Написание кода? Написание хорошего кода? Нет. Это только часть истины. Программирование — это не про кодинг. Программирование — это о решении задач при помощи кодинга. Конечного пользователя не в...

Генератор компонентов Vue.js? Разработка веб-приложения это не только решения интересных задач, работа с логикой, или с интересной версткой. Это также рутина, которая преследует каждого разработчика в процессе работы. Начиная от создания разных файлов, и написания шаблонного boilerplate кода, заканчивая ...

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

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

Вызов виртуальных функций в конструкторах и деструкторах (C++) В разных языках программирования поведение виртуальных функций отличается, когда речь заходит о конструкторах и деструкторах. Неправильное использование виртуальных функций – это классическая ошибка при разработке на языке С++, которую мы разберём в этой статье. Читать даль...

Миграция данных из различных RDBMS в HADOOP В статье будет рассмотрен процесс экспорта данных в Hadoop из различных РСУБД посредством фреймворка Spark. Для взаимодействия с фреймворком Spark будет использован язык программирования Python с применением api pySpark. Читать далее

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

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

Gatling. Тестирование Kafka Привет! Меня зовут Александра, я работаю в отделе тестирования производительности Тинькофф. Мы продолжаем наш цикл статей, посвященных работе Gatling с различными протоколами. Ранее мы уже рассмотрели работу с HTTP, JDBC и gRPC. В этой статье поговорим о работе Gatling с Kaf...

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

Разработка и графических приложений в WSL2 Данная статья будет неким дополнением опубликованной ранее (не мной) статьи. Чтобы не повторять написанное, по ссылке выше есть информация о требованиях к работе wsl2 на windows 10, как его включить, настроить, обновить и запустить графическую среду. В текущей статье я расск...

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

Как можно тестировать платформенные сервисы PaaS (Platform as a Service) — внутренняя платформа для запуска и разработки приложений. Если коротко, то наш PaaS позволяет легко и, можно сказать, при нулевом знании внутренней кухни создать свой сервис и начать пилить продуктовые компоненты. Более длинное объяснение — в э...

Как мы создавали курс по C# и боролись за секунды У сервиса онлайн-обучения программированию Хекслет есть собственный Open Source проект Code Basics, на котором выходят бесплатные курсы для начинающих на разных языках. Когда-то их было только два – PHP и JavaScript, сейчас уже более десятка. В компании Dodo Engeneering есть...

Командная дипломная работа: кейс удаленной разработки социальной сети Привет, Хабр! Недавно Skillbox начал тестировать формат кросскомандных дипломных проектов для студентов направления «Программирование». Сегодняшняя статья посвящена разбору первого подобного реализованного диплома по разработке соцсети, в котором приняли участие 8 студентов ...

Что такое ECS и с чем его компилят Привет! Эта статья — первая в блоге MY.GAMES, международного разработчика и издателя видеоигр. Здесь мы объединим наработки и экспертизу всех 14 наших игровых студий. Впрочем, будем рассказывать не только о внутренней кухне экосистемы MY.GAMES, но и о том, чем живет геймдев ...

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

Golang для Embedded Linux При разработке очередной платформы перед командой АТОЛ встал вопрос выбора языка программирования/стека технологий/железа/фреймворка для создания решений. Железо было выбрано на базе относительно недорогой Linux-платформы STM32MP153/512MB DDR3/8GB eMMC. Эта платформа имеет н...

Battlefield 1914 — не совсем то, о чём вы подумали Шутер Battlefield 1914 появился на смартфонах. Вы вряд ли такое ожидали. Battlefield 1914 — мобильный проект, который доступен на iOS и Android. В нём нет онлайн-элементов, вместо этого инди-разработчики предлагают три карты, которые можно точечно настроить. Это касается ко...

[Перевод] Вышел Git 2.35. Самые важные подробности Git и владение им — неотъемлемая часть профессионального программирования. К старту курса по Fullstack-разработке на Python делимся самыми важными деталями о новом релизе Git прямо из блога его разработчиков. Читать далее

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

Elementary: новый взгляд на архитектуру Flutter-приложений Elementary — это архитектурный пакет, который создали в Surf на основе опыта разработки приложений на Flutter и лучших практик современной разработки. Решение позволяет чётко разделить слои согласно ответственностям, сделать код прозрачнее, а тестирование проще. На примере р...

Физика в Python с использованием Pymunk Физика. Кто-то её любит, кто-то нет, но определённо это неотъемлемая часть нашего существования. В этой статье мы рассмотрим как самому создавать физические симуляции используя всего 2 библиотеки Python. К концу статьи мы сделаем интерактивную симуляцию взаимодействия тел и ...

Как работает создание и управление маркетинговыми кампаниями Спортмастера и причём здесь Oracle Приветствую! Меня зовут Михаил, я разработчик Oracle в ClubPro (Клубная программа, программа лояльности Спортмастера). В команде разработки моё основное направление связано с развитием Campaign Management. Campaign Management (далее для краткости Campaign) предназначен ...

Особенности проекта Debezium для решения задачи миграции баз данных С 2014 года в России реализуется программа импортозамещения, которая распространяется в том числе на программное обеспечение и системы управления базами данных, поднимая вопросы оптимальной миграции. В этой статье мы, специалисты департамента разработки «Консист Бизнес Групп...

Новый язык обычного и параллельного программирования Planning C 2.0 Здравствуйте, уважаемые читатели.Хочу написать здесь об одном из своих проектов -- языке Planning C (v2.0). Он является расширением C++, дополняющим базовый язык рядом новых конструкций. В настоящее время проект доступен в репозитории (исходный код прототипного транслятора-п...

Использование Gatling. Разбираемся в тестировании HTTP Всем привет! Это команда тестирования производительности Тинькофф, и мы продолжаем цикл статей о Gatling. В предыдущей статье мы рассмотрели базовые возможности инструмента Gatling, узнали, как быстро создать шаблон gatling-проекта, и познакомились с новыми функциями би...

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

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

Разработка автопилота для Apple Car может завершиться в 2023 году Источники заявляют, что инженеры Apple совместно со специалистами южнокорейской аутсорсинговой фирмы по сборке и тестированию полупроводников занимаются разработкой специальных чипов для автопилота Apple Car.Читать дальше... ProstoMAC.com.| Постоянная ссылка | No comment В...

[Перевод] Исследуем .NET 6. Часть 6. Поддержка интеграционных тестов в WebApplicationFactory В предыдущей статье я описал обходной путь, который был добавлен в .NET 6, чтобы инструменты EF Core, которые ранее полагались на существование определённых методов, таких как CreateHostBuilder, продолжали работать с новыми минимальными API хостинга.В этой статье я рассмотрю...

А вы знаете, где используется Haskell? Всем привет! Мы хотим продолжить серию постов на тему “где используются эти ваши странные языки программирования”. В прошлый раз мы рассказали про Лисп, а сегодня продолжим разговор про функциональные языки и обратим внимание на Haskell.  Он является основным языком раз...

Flutter for Desktop — новый подход к разработке приложений Язык программирования Dart был изначально разработан как перспективная замена JavaScript в веб-приложениях (с поддержкой асинхронности, потоков, классической поддержки ООП и возможностью использования строгой типизации), но, к сожалению, в этом качестве он так и не достиг зн...

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

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

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

[Перевод] Создание игр для NES на ассемблере 6502: приступаем к разработке Оглавление Оглавление Часть I: подготовка Введение 1. Краткая история NES 2. Фундаментальные понятия 3. Приступаем к разработке 4. Оборудование NES 5. Знакомство с языком ассемблера 6502 6. Заголовки и векторы прерываний 7. ...

Архитектурное тестирование О том зачем тестировать архитектуру приложения. Что можно "покрыть" такими тестами. Какие инструменты для этого существуют. А так же о перспективах данного направления. Читать далее

[Перевод] Мои главные принципы работы после 20 лет опыта в программировании Начиная новый проект, хорошо вспомнить полезные принципы программирования, которые помогут правильно расставить приоритеты и избежать многих ошибок. Рекомендациями от автора с опытом программирования в 20 лет делимся к старту курса по Fullstack-разработке на Python. Читать д...

Veslo — расширение Retrofit для тестирования (Java) Статья расскажет о расширении для декларативного HTTP клиента retrofit предназначенного в большей степени для функционального тестирования API. Создан в первую очередь для упрощения и ускорения разработки API тестов. Расширение позволяет использовать сразу две модели данных ...

Внедрение Q# в ваши любимые языки и платформы (Python, .NET, ASP.NET, Julia, Lua, PowerShell) Не секрет, что Q# и Quantum Development Kit позволяют легко писать квантовые программы и запускать их на симуляторах и на оборудовании через службу Azure Quantum, с использованием Python, .NET или даже через Jupyter Notebook. Более того, инфраструктура, которая поддерживает ...

Какую СУБД выбрать и почему? (Статья 2) После публикации статьи “Какую СУБД выбрать и почему? (Статья 1)” ко мне поступили справедливые комментарии о том, что я не упомянул такие типы СУБД, как Time Series и Spatial. В этой статье я кратко опишу их и добавлю еще два типа — Search engines и Object-oriented (объект...

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

Jetpack Compose в проектах на React Native: плюсы, минусы и интеграция Привет! Меня зовут Сергей Курочкин, я руковожу Android-разработкой в СберМаркете. Сегодня я расскажу, зачем нужен Jetpack Compose в проектах React Native, и поделюсь опытом интеграции фреймворка в наши приложения. В конце на примере простого компонента разберем весь процесс ...

Башенная защита Undead Ninja позволяет сражаться в PvP Азиатская игра Undead Ninja доступна теперь и в остальном мире. Она выглядит необычной, хотя жанр узнается после первой битвы. Undead Ninja — это новая игра из Азии, которая появилась в App Store и Google Play. Нам надо победить оппонента, для этого предстоит выставлять юн...

IBM начала предоставлять мощности своих мейнфреймов в облаке Сервис будет привязан к Wazi - среде разработки IBM для приложений для мейнфреймов. Тестирование и разработка были одной из первых рабочих нагрузок, предложенных для запуска в облаке. До появления IaaS организации часто создавали и использовали копии своих производственных с...

Можно ли автоматизировать автоматизацию тестирования? В своем докладе на конференции TestDriven Conf 2022 Станислав Васенков предлагает за минуту создать из ручного теста проект с автотестами в боевой инфраструктуре. О том, как разрабатывался генератор, можно узнать из интервью.Кроме того, мы обсудили актуальные проблемы соврем...

Kotlin и Python в одном проекте Я в компании отвечаю за работу команды разработчиков. Команда небольшая -  всего 6 разрабов, но за последний год с небольшим мы с нуля разработали и внедрили пять проектов. Причем это были не детские проектики, а вполне промышленные проекты, которые сейчас начинают свою...

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

[Перевод] Введение в язык программирования Leo Основная Leo — это основанный на Rust язык программирования со статической типизацией, созданный для написания частных приложений. Он предназначен для разработчиков, которые могут интуитивно строить блокчейн Aleo, обеспечивая основу для частной децентрализованной э...

«Ленивый сахар» PostgreSQL SQL - декларативный язык - то есть вы описываете "что" хотите получить, а СУБД сама решает, "как" именно она будет это делать. Некоторые из них при этом позволяют им "подсказывать", как именно лучше выполнять запрос, но PostgreSQL - нет.Тем не менее, "синтаксический сахар" н...

Есть ли жизнь без тестов? Это история про то, как нам удалось написать довольно сложную business-critical систему, и добиться, чтобы она была стабильной даже без юнит-тестов (WAT?!). Читать дальше →

Сто раз сломай, один раз поправь или как мы улучшали тестирование отказоустойчивости и восстановления API Привет, хабровчане!Меня зовут Нурыев Асхат, я ведущий инженер по автоматизации в DINS. За время работы в компании я участвовал в решении множества сложных задач. В этой статье я поделюсь историей улучшения процесса и автоматизации тестирования высокой доступности и восстанов...

[Перевод] Акторы Swift под капотом Акторы (Actors) — это фича, являющаяся частью структурированного параллелизма (Structured Concurrency) Swift, которая предлагает совершенно новый формат для написания и обработки асинхронного кода. Хотя они и являются чем-то инновационным для языка Swift, сама технология нов...

Книга «Изучаем C# через разработку игр на Unity. 5-е издание» Привет, Хаброжители! Изучение C# через разработку игр на Unity — популярный способ ускоренного освоения мощного и универсального языка программирования, используемого для решения прикладных задач в широком спектре предметных областей. Эта книга дает вам возможность с нуля и...

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

[Перевод] Гайдлайны и бритвы компании Bungie по кодингу на C++ Для создания игры наподобие Destiny требуется много командной работы и мастерства. У нас есть талантливые люди во всех областях знаний, однако было непросто достичь уровня координации, необходимого для создания игры масштаба Destiny. Это похоже на то, как если бы группе лю...

Тестирование GraphQL: подходы, инструменты, автоматизация Несколько месяцев назад на моем пути возник GraphQL.Это произошло, когда я присоединилась к одному из наших проектов, где был не только привычный REST, но и GraphQL API. Это было моё первое знакомство с ним. Я понятия не имела, что он собой представляет, в чем его особенност...

Применение автотестов в ежедневных релизах. Установка Cypress и Allure Меня зовут Виталий и я автотестер в компании Утконос ОНЛАЙН. В предыдущей статье я рассказал, почему мы решили использовать фреймворк для автоматизации тестирования, описал существующие варианты, наш выбор в пользу Cypress и его связку с репортом Allure. В этой части обсудим...

Cloud4Y предоставил облачную инфраструктуру Compliance Control Ltd Compliance Control Ltd. работает над большим количеством проектов, часть из которых лягут в основ новых продуктов, а часть — усилит уже существующие. Для полноценной разработки и тестирования необходима производительная, масштабируемая и бесперебойно работающая среда.

Как я перестал беспокоиться и полюбил тестирование React-компонентов Как тестировать React-компоненты? Какую библиотеку использовать? Как тестировать компоненты, которые берут данные из Redux, а не из пропсов? Как тестировать компоненты, в которых используется роутинг с помощью React-router-dom? Что делать, если в компоненте есть асинхронный ...

Руководство по Supabase. Часть 1 Привет, друзья! В этом цикле из 2 статей я хочу рассказать вам о Supabase — открытой (open source), т.е. бесплатной альтернативе Firebase. Первая статья будет посвящена теории, во второй — мы вместе с вами разработаем полноценное social app с аутентификацией, базой данных...

OAuth в мобильных приложениях Привет! Меня зовут Максим, я занимаюсь мобильной разработкой в KTS.Ни один сервис не обходится без логина. Часто в мобильных приложениях требуется интегрировать вход через сторонние соцсети — например, зайти через Google или VK. А при обучении мобильной разработке используют...

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

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

Первый древнейший: в чём уникальность языка программирования LISP В этой статье мы поговорим об одном из самых старых языков программирования ― Lisp. Несмотря на свой внушающий уважение возраст, он всё ещё находится в строю и заставляет переосмысливать всю теорию программирования. Так что же это за язык и чем он примечателен?Лисп, или LISP...

MIR CIT Mobile: передовые технологии тестирования в платежной системе «Мир» ВведениеВсем привет. Мы Денис и Александр из команды разработки сертификационных приложений Мир Plat.Form.Мы занимаемся развитием систем, которые помогают банкам-участникам платежной системы «Мир» и поставщикам платежных решений выполнять тестирование. Многие из нас совершаю...

Идея для языка программирования искусственного интеллекта. Свойство-ориентированный подход В данной статье предлагается новый свойство-ориентированный подход к организации объектной модели в языках программирования. Основная идея - вынести свойство из объекта и сделать понятия свойства и объекта равноправными. Это позволит получить крайнюю гибкость и универсально...

Игра с null: проверка MonoGame статическим анализатором PVS-Studio Анализатор PVS-Studio уже не раз был использован для анализа кода библиотек, фреймворков и движков для разработки игр. Пришло время добавить к их списку MonoGame – низкоуровневый gamedev-фреймворк, написанный на языке C#. Читать далее

Российскую операционную систему «Фантом» довели до тестирования после 12 лет разработки с нуля Система использует необычную архитектуру, не похожую на Windows и Linux.

Путеводитель по ID для JPA сущностей. Часть 1: ID, генерируемые на сервере Разработка инструментария – очень познавательное занятие, потому что заставляется задуматься над теми вещами, которые в процессе разработки иногда не замечаешь. Казалось бы, создание @Id атрибута в JPA – рутинное занятие и каждый разработчик может сделать айдишник, даже не в...

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

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

WEKA. Руководство по использованию Начав изучать библиотеку Weka я обнаружила, что в Интернете очень мало информации о ней на русском языке – как с ней работать и как ее использовать. Эта статья будет вводной для знакомства с библиотекой. Читать далее

Пишем сервис на GO. Runtime контроллер и Graceful Shutdown Напишем вместе HTTP-сервис на golang с нуля? Я уверен, что это довольно несложно. Для тех, кто каждую неделю этим занимается, моя статья не будет особенно интересна, но я все равно рекомендую взглянуть и оценить, возможно, ваши комментарии спасут кому-то жизнь. А может кое-...

Kincony KC868-A8: старший брат из Ханчжоу. Часть 2. Программируем A8 В прошлой статье мы познакомились с контроллером Kincony KC868-A8 и его схемотехникой, в этой статье мы разберём программирование его функциональных блоков (входов, реле, температурных датчиков, Ethernet интерфейса и т. д.). Примеры кода из этой статьи вы сможете использов...

[Перевод] Фаззинг сокетов: Apache HTTP Server. Часть 1: мутации Прим. Wunder Fund: наш СТО Эмиль по совместительству является известным white-hat хакером и специалистом по информационной безопасности, и эту статью он предложил как хорошее знакомство с фаззером afl и вообще с фаззингом как таковым.Этот материал открывает серию из трёх ста...

Кроссплатформенный путь мобильного тестировщика или как стать Flutter QA Привет, Хабр! В этой статье расскажу, в чём особенности тестирования приложения на Flutter под iOS и Android и чем оно отличается от тестирования нативного приложения. Читать далее

Том, Дик и Гарри. Что значат именные идиомы в английском и как их использовать Что общего у Джека, Тома и Боба? Верно, это самые популярные английские имена. Если вы работаете в международной компании, вы наверняка встречали хотя бы одного Боба или Джека среди коллег и клиентов. Эти имена настолько широко распространены в англоязычных странах, что давн...

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

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

Ubisoft прекращает разработку Ghost Recon Breakpoint Ubisoft сообщила, что Ghost Recon Breakpoint больше не будет получать обновлений. Игра получила 11 обновлений за два года, но в конце 2021 года игра стала очень спорной, после того как Ubisoft использовала игру для запуска собственной платформы NFT. Первые Ubisoft NFT, извес...

QA Meeting Point 2021: тестирование BigData, развитие команды, тонкости работы с AI 1 декабря мы провели конференцию QA Meeting Point. Участники услышали выступления экспертов в области тестирования AI и BigData, разобрались в основах performance-тестирования, познакомились с GraphQL и узнали, как создавать модульные тестовые проекты. Ссылка на доклады...

Автоматизация тестирования микросервисов: плюсы и минусы тестов на Go Микросервисы можно тестировать по-разному. У каждого подхода есть свои плюсы и минусы, поэтому, чтобы выбрать свой путь и избежать на нём «граблей», лучше всего учиться на чужом опыте. А ещё лучше — на конкретных примерах.Я занимаюсь тестированием в Ozon и хочу рассказать пр...

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

CRUD 0.11.0 для Tarantool Неделю назад вышла новая версия модуля CRUD для Tarantool. В 0.11.0 появилось множество нововведений, просьбы о которых поступали от наших пользователей. Что изменилось, как этим пользоваться и кому это может быть полезно? Расскажем обо всём.Tarantool — это платформа in-memo...

Worker Services в .NET Написание воркер-сервисов на .NET часто сопряжено с написанием большого количества повторяющегося boilerplate-кода. Однажды мне это надоело и я попытался успростить этот процесс, перенеся часть бойлерплейта в отдельную библиотеку, которой и посвящена эта статья. Читать далее

«Выживательная» стратегия Age of Darkness получила обновление с новым типом юнитов и многочисленными улучшениями в геймплее Это приятный клон They Are Billions, если что.

Конвертируй это — с Yandex Message Queue Довольно прозаичный и понятный в быту термин порой все еще вызывает вопросы в IT. Зачем при разработке приложений использовать очереди или сервисы очередей, чтобы автоматизировать этот процесс? Ответим на этот вопрос практическими примером — напишем в serverless-стеке Yandex...

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

TRY / CATCH в PostgreSQL Во встроенном процедурном языке PL/pgSQL для СУБД PostgreSQL отсутствуют привычные операторы TRY / CATCH для для перехвата исключений возникающих в коде во время выполнения. Аналогом является оператор EXCEPTION. Читать далее

Что такое тестирование. Курс молодого бойца. Книга для новичков Привет!Меня зовут Ольга Назина. Я в тестировании с 2006 года. Тестировщик, тренер, практик, энтузиаст — вот тут можно почитать обо мне подробнее.Я очень люблю серию книг по разработке ПО от Head First O`Reilly:— Изучаем Java. Кэти Сьерра и Берт Бейтс— Изучаем SQL. Линн Бейли...

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

Microsoft анонсировала изменения в программе предварительной оценки Windows 11 На этой неделе Microsoft объявила о некоторых изменениях в программе Windows Insider, которые коснутся пользователей тестовых сборок Windows 11 на каналах Dev и Beta. В будущем оба канала станут частью «активной ветки разработки», но будут использоваться для тестирования раз...

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

[Перевод] Пишем чистый код при помощи деструктуризации объектов в JavaScript Сравниваем традиционный способ извлечения значений и деструктуризацию (ES6) в JavaScriptВ этой статье мы рассмотрим традиционное присваивание значений из объектов в переменные и новый синтаксис деструктуризации в ES6. Материал адаптирован на русский язык совместно с тимлидом...

Кэш в асинхронных python приложениях Всем привет! Кэш один из "слонов" современного веба. Так почему мы так мало его используем на уровне приложения, нашего кода? Тому, кто хочет восполнить этот пробел и не хочет ударить в грязь лицом при написании очередного декоратора - добро пожаловать под кат Читать далее

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

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

Helidon, Testcontainers, Cucumber, Kafka и многое другое Helidon  отлично подходит для создания микросервисов, для простого и быстрого развертывания в проде, и демострирует действительно впечатляющую производительность!А как насчет тестирования Helidon?В этой статье мы рассмотрим несколько способов, как это сделать. Чита...

Функциональный Kotlin. Часть 2. Каррированные функции и где они обитают Вторая статья из цикла о функциональном программировании на Kotlin с разбором принципа работы, концепции и способов применения каррирования на практике. Читать далее

[Перевод] Состояние PHP в 2021 году: тенденции в разработке и прогнозы развития В 2021 году благодаря его новым фичам и возрастающей потребности в безупречно проработанном цифровом взаимодействии с клиентами PHP продолжал жить и здравствовать. Что же ждет PHP в будущем?В этой статье мы рассмотрим текущие реалии PHP landscape 2021, ответим на некоторые о...

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

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

Язык программирования Ficus для вычислений и не только Здравствуйте, уважаемые хабровчане. Меня зовут Вадим Писаревский, я являлся лидером OpenCV (Open Source Computer Vision Library) на протяжении примерно 20 лет, и продолжаю участие в этом замечательном проекте. В этой статье я рад представить вашему вниманию результат другого...

oneTBB: интеграция и сборка через CMake Threading Building Blocks (TBB) — популярная библиотека для параллельного программирования на C++ с открытым исходным кодом, опубликована на GitHub. Пару лет назад команда разработки решилась на глобальный рефакторинг библиотеки (проект TBB revamp), в который удалось вписать...

Основные варианты использования CSS переменных (Custom Properties) CSS Variables или CSS Custom Properties уже давно используются в разработке и поддерживаются большинством популярных браузеров. Если у вас нет обязательного требования разрабатывать под IE, то вполне вероятно, вы уже успели оценить их преимущества.По этой...

Будущее ручного тестирование и главные тренды области: интервью с Артёмом Ерошенко Артём Ерошенко — CPO и сооснователь Qameta Software. Он преподает тестирование, хостит подкаст «Айтишники», делает доклады в IT-сообществе, а 1 декабря во второй раз станет ведущим QA Meeting Point. Артём рассказал, зачем делиться знаниями и почему он не верит в будущее ручн...

С чего начать переход в «Индустрию 4.0» — бизнес-знания, данные и документооборот Мы в BIOCAD занимаемся разработкой и производством лекарственных препаратов. Это — достаточно сложный процесс, пересекающийся с управлением компетенциями и даже корпоративным контентом. Сегодня руководитель группы разработки Григорий Седлецкий и инженер-программист Екатерина...

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

Маленький баг в тестировании на Laravel Статья будет небольшая, даже совсем короткая. Для фанатов TDD, верящих, что фреймворки делают в небесах.Пару часов ковырялась с тестом $response->assertJson()->assertJsonMissing(); при одинаковом содержании обеих скобок: Читать далее

[Перевод] Zython (python-wrapper для minizinc) после года разработки Более года назад я начал создавать оболочку python для [minizinc](https://www.minizinc.org/). Это, пожалуй, самый популярный инструмент [ограниченного программирования](https://en.wikipedia.org/wiki/Constraint_programming). Вы можете найти больше информации о том, что такое ...

Доставка логов с ВМ из systemd в Yandex Cloud Logging Одна из самых частых и понятных задач в разработке и эксплуатации — доставка логов. И дальше в статье мы с вами используем Fluent Bit для доставки логов из виртуальной машины в сервис Yandex Cloud Logging. Читать туториал далее

Сочетание Shift-Left и «Традиционной» модели тестирования в будние дни QA В этом материале будет кратко рассказано, почему Shift-Left – это не всегда хорошо и почему не стоит забывать о традиционной модели тестирования. Рассмотрим паттерны поведения QA при тестировании обычных задач и как постепенно стать продуктивным тестировщиком, не утопая в ре...

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

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

ХPath: что нужно делать, а что нет Привет, Хабр! В прошлый раз мы уже поднимали тему написания селекторов на XPath для автоматизации тестирования веб-сервисов. Сегодня мне хотелось бы поговорить о практиках работы с XPath. Этот пост будет том, какие приемы хорошо работают, а каких вещей лучше избегать, если в...

[Перевод] Фаззинг сокетов: Apache HTTP Server. Часть 2: кастомные перехватчики Прим. Wunder Fund: наш СТО Эмиль по совместительству является известным white-hat хакером и специалистом по информационной безопасности, и эту статью он предложил как хорошее знакомство с фаззером afl и вообще с фаззингом как таковым.В первой статье ...

Wireguard VPN, Yggdrasil, ALFIS DNS и AdGuard На написание этой статьи спровоцировала вот эта статья, с кучей странностей, и необязательных действий. Если коротко, то автор не понимает зачем он ставит те или иные программы, а именно - Unbound и dnsproxy. Но так как кроме исправления недочётов той статьи хочется добавить...

[recovery mode] Yii3 будет не тем, чего я ожидал Я - фанат yii2. Да, несмотря на многие его недостатки, я смог его полюбить и примерно 5 лет зарабатываю на хлеб с маслом благодаря его разработчикам.Уже примерно два года я жду релиза Yii3. Я ждал, что это будет крутой монолит, как и вторая версия, но сильно доработанная и с...

Zynq 7000. Тестирование счётчика импульсов После небольшого (нет) перерыва в изучении Zynq и очередного прочтения своей предыдущей статьи, я отметил для себя очень важный момент - практически не отражено никаких результатов тестирования полученного поделия, кроме базовой проверки работоспособности. Во время подготовк...

[Перевод] Что нового в Selenium 4 — ключевые особенности и отличия Сегодня для каждого бизнеса требуется высококачественное программное обеспечение в сжатые сроки, чтобы достигнуть этого организациям необходимо проводить эффективное тестирование программ с помощью автоматизации. С развитием agile и DevOps методологий автоматизация тестирова...

Основы языка microScript Привет Хабр!Под предыдущей статьей собралось много вопросов и рассуждений относительно microStudio, в частности языка microScript, которому я не уделил внимания в предыдущей статье. Да я и не ставил цель затронуть все вопросы в одной статье.В этой статье я расскажу подробнее...

Эволюция рекомендаций ресторанов в Delivery Club. Часть 1 Всем привет! Меня зовут Иван Максимов, я работаю Lead Data Scientist’ом в команде рекомендаций и A/B-тестирования Delivery Club. Это первая из серии статей про нашу рекомендательную систему. Я расскажу о том, как мы определили проблемы предыдущего подхода к рекомендациям, и ...

[Перевод] Популярные расширения для VS Code 2022 В виду того, что мне срезали подписку на Medium решил поддерживать отечественные IT ресурсы. Попробую кидать интересные статьи с переводом на русском, а правообладатели пусть сами разбираются, я честно платил за подписку.На текущий момент VS Code остается средой разработки, ...

Xiaomi прекращает разработку MIUI для восьми моделей смартфонов. В их числе сверхпопулярные Xiaomi Mi 10 и Redmi K30 Xiaomi официально объявила о прекращении разработки MIUI для некогда очень популярных флагманских смартфонов, построенных на SoC Snapdragon 865. С 18 июля текущего года для них перестанут выходить бета-версии прошивок для внутреннего тестирования. Это не значит, что с 1...

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

Windows 11: минусы дизайна В этой статье мне бы хотелось поделиться пользовательским опытом, связанной с Windows 11, которой я на момент написания статьи пользуюсь примерно месяц с лишним. Читать далее

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

Стоит ли учить PHP в 2022 году IT-индустрия – динамичная сфера, где новые технологии и решения могут кардинально изменять структуру рынка, что влияет на популярность того или иного стека. Также IT-рынок подвержен субъективному хайпу, когда на какие-то технологии и языки программирования обращают чрез...

[Перевод] HTTP/3: развёртывание HTTP/3 на практике. Часть 3 Фото Wolfgang Rottmann, Unsplash.com После почти пятилетних разработок протокол HTTP/3 наконец приближается к окончательному выпуску. Рассказываем, какие трудности могут возникнуть при развёртывании и тестировании HTTP/3 и как адаптировать к нему сайты и ресурсы. Это трет...

Улучшение Visual Studio Code для новичков VSCode — Самый популярный редактор кода среди веб-разработчиков. Вы можете использовать его с нуля, однако для опытных программистов его базовых функций недостаточно. Здесь я описал, то как сам докрутил этот редактор под свои потребности. Я фронтенд-разработчик, но также ис...

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

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

[Перевод] Стилизация однофайловых Vue компонентов Если у вас есть опыт написания однофайловых Vue компонентов, вы, вероятно, сталкивались с написанием CSS в своем компоненте. Они позволяют разработчикам группировать код более логическими способами, а не разбивать компоненты по используемому языку (HTML, CSS или JavaScript)....

Python и Samila. Делаем красиво Как при помощи языка программирования Пайтон и библиотеки Samila создавать красивые изображения, даже с минимальными усилиями. Читать далее

Как разработчикам начать вести Телеграм-канал Меня зовут Александр, я руковожу backend-разработкой в КТS. Мы разрабатываем сложные высоконагруженные сервисы для крупных корпораций и рекламные спецпроекты.У нас есть Телеграм-канал «Программисты делают бизнес». Мы ведем его недавно — первый пост вышел в декабре 2020 года....

[Перевод] Туториал по JUnit 5  - Введение В этом туториале по JUnit 5 рассказывается о том, как JUnit адаптировал стиль кодирования Java 8 и некоторые другие функции. Узнайте, чем JUnit 5 отличается от JUnit 4.JUnit 5 - наиболее широко используемая среда тестирования для приложений Java...

Задача про две ёмкости для жидкости Существует классическая задача:Есть 2 емкости: 5 литров и 3 литра. Как отмерить 4 литра жидкости используя только эти 2 емкости?В этом тексте я решу эту задачу в общем виде при помощи конечного автомата.  Также я упомяну про малоизвестный язык программирования Dot. Чит...

Proof Of Concept на Python или как портировать С/С++ Язык программирования Python существует уже 31 год. Это полностью объектно-ориентированный язык. За все время существования на нем стало возможно применять разные парадигмы. Сейчас этот язык может поддерживать:- объектно ориентированную парадигму- структурное программрование...

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

Blazor: Нужен ли нам .Net в вебе? Всем доброго времени суток, меня зовут Михаил. Я .net разработчик в компании Orion Innovation. Сегодня речь пойдет про наш опыт создания веб приложения при помощи Blazor. Обсудим с какими проблемами мы столкнулись при разработке и почему вообще решили использовать Blazor.Ста...

[Перевод] Как написать эмулятор CHIP-8 на JS Автор провёл детство за играми в эмуляторах NES и SNES на своём компьютере, но никогда не думал, что однажды сам напишет эмулятор. Иван Сергеев поставил перед автором задачу написать интерпретатор Chip-8, чтобы изучить основные понятия низкоуровневых языков программировани...

Что у ECS под капотом Всем привет, это моя первая статья на Хабр. Давно хотел попробовать что-то написать, но всё никак не решался, да и темы подходящей не было. Наконец тема подвернулась, и пришло время закрыть этот гештальт =)В данной статье я опишу общий принцип "подкапотной" работы ECS фреймв...

Представляем новый редактор Razor в Visual Studio 2022 С выпуском Visual Studio 2022 вы можете использовать новый редактор Razor для локальной разработки ASP.NET Core с использованием MVC, Razor Pages и Blazor. Загрузите Visual Studio 2022 и обязательно обновите его до версии 17.0.2, чтобы получить последние обновления Razor. В ...

[Перевод] Создание игр для NES на ассемблере 6502: рефакторинг Оглавление Оглавление Часть I: подготовка Введение 1. Краткая история NES 2. Фундаментальные понятия 3. Приступаем к разработке 4. Оборудование NES 5. Знакомство с языком ассемблера 6502 6. Заголовки и векторы прерываний 7. ...

GraphQL в мобильной разработке Всем привет! С вами Анна Жаркова, ведущий разработчик компании Usetech. Сегодня стартует моя серия статей, посвященная работе с технологией GraphQL при разработке мобильных приложений. Если вы интересуетесь применением необычных технологий в мобильной разработке, давно подум...

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

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

[Перевод] Рейтинг языков программирования 2022. C# обошел Java, TypeScript сравнялся с PHP, а Dart – наиболее комфортный язык Украинский профильный ресурс DOU.UA провел очередной ежегодный опрос о языках программирования. Python уже второй год подряд демонстрирует негативную динамику. Java тоже теряет позиции – в этом году она на третьем месте по популярности. На второе место поднялся язы...

Моя первая NFT-коллекция на Solidity + Hardhat — «Сизифов Труд» На момент написания статьи я работаю Frontend-разработчиком в VK (Delivery Club) на Vue и плавно перехожу на iOS-разработку. Уже около 4 лет считаю себя поверхностно приближенным к сфере крипты: участвовал в разработке P2P-платформы (BTC-обменника), изучал основы и идеологию...

[Перевод] Поговорим о фичах в предварительной версии C# 11 К старту курса по разработке на C# рассказываем о новых конструкциях в предварительной версии языка C# 11. Среди них шаблоны списка, проверка Parameter на null и возможность переноса строки при интерполяции строк. За подробностями приглашаем под кат. Читать далее

Пишем свой плагин для IDEA для поддержки нового языка (часть 1) В статье рассмотрено как создается языковой плагин для IDEA на примере учебного языка Monkey. Приведены примеры из других плагинов. Пишем на Java и Kotlin. Читать далее

[Перевод] Развёртывание в Kubernetes из GitLab Развёртывание в Kubernetes из GitLab Это продолжение предыдущего туториала про командную разработку с использованием GitLab. Фокус предыдущей статьи был на организации непрерывной поставки в работе команды. В этой статье мы уделим основное внимание именно практическим дейст...

Что там у PVS-Studio c покрытием Toyota ITC Benchmark? Toyota ITC Benchmark – это набор синтетических тестов для C и C++, состоящий приблизительно из 650 примеров и предназначенный для тестирования анализаторов кода. Данная статья ответит на вопрос: "Насколько хорошо статический анализатор PVS-Studio покрывает Toyota ITC Benchma...

[Перевод] Async/await в TypeScript Если вас заинтересовала эта статья, то вы, наверное, несколько разбираетесь в асинхронном программировании на JavaScript и, возможно, интересуетесь, как оно работает в TypeScript.Поскольку TypeScript – это надмножество JavaScript, async/await там работает точно также, но с н...

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

Язык программирования C∀(CForAll) Мой интерес к дизайну языков программирования приводит меня иногда к интересным, но почти неизвестным в широких кругах проектам. Один из таких проектов - язык C∀ (CForAll), разрабатываемый Университетом Ватерлоо. C∀ является расширением ISO C и обеспечивает обратную совмести...

Разработка, сборка, деплой и мониторинг сервисов: от общего к частному и обратно Привет, Хабр! Меня зовут Андрей Перепелкин. Я руководитель группы бэкенд-разработчиков, вошел в IT более 15 лет назад, 10 лет занимаюсь Java и около 4 плотно работаю с микросервисами. В этой статье я расскажу, как:— мы организовали разработку микросервисов так, чтобы вы...

Как я тестировал Android-приложения с помощью Samsung Remote Test Lab Меня зовут Игорь. В прошлом году, параллельно с учебой в 11 классе, я проходил обучение в “IT-Школе Samsung” на базе томского IT-Куба. В конце курса обучения я одержал победу во Всероссийском конкурсе компании Samsung по разработке мобильных приложений «IT Школа выбирает сил...

QA Meetup от Ozon Tech Привет, хабравчане. Меня зовут Дима Колесник, и я занимаюсь разработкой инструментов тестирования в маркетплейсе. У нас серьёзные нагрузки: 90 млн уникальных пользователей, а в распродажи выдерживаем 5к заказов в минуту. При таком масштабе мы тестируем релиз за 5 минут и дел...

Распределенные Workflow на PHP. Часть 1 Мы занимаемся разработкой огромного количества сложного ПО для автоматизации и энтерпрайза и Workflow для нас — это большая и больная проблема. Если для вас тоже — я расскажу, как писать и оркестрировать очень сложные процессы на масштабах, и как убедиться, что они не падают...

ИТ-книга от идеи до выпуска. Часть 0: как начать и не бросить В конце прошлого года я выпустила свою первую книгу по тестированию — «Курс молодого бойца». Это было нелегко и долго =) Книгу я писала… 3 года! Потом ещё год искала художников и доделывала картинки. Потом искала издательства, проходила редактуру и т.д. Итого — 4.5...

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

Бета-тестирования российской мобильной ОС «Аврора» будет расширено В 2021 году была запущена программа бета-тестирования российской мобильной ОС «Аврора». В ней приняли участие более 4 тысяч пользователей. Уже в следующем году программа будет расширена. Об этом сообщили представители компании «Открытая мобильная платформа», которая стоит за...

MergeQueue и зелёный Master: часть 1-я В работе над проектом Образовательной Платформы Сбера мы столкнулись с ситуацией, когда интенсивность влития изменений в центральную ветку репозитория git существенно превысила время прохождения Quality Gate (статический анализ, сборка, автотесты) внесённых изменений. В стат...

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

Flutter: автоматизация UI тестирования Мы — команда мобильного проекта FL.ru. В своей статье хотим познакомить вас с Flutter Driver и рассказать об автоматизации UI тестирования мобильных приложений с помощью данного инструмента. Читать далее

Разработка без ТЗ Техническое задание штука сложная и долгая. Написание ТЗ многих вгоняет в уныние. А чтение ТЗ некоторых доводит до трясучки. Так же и в нашей компании. После месяцев страданий и обвинений друг-друга во всех мыслимых и не очень проблемах родился подход. Спустя время подход до...

FFmpeg libav с нуля. Часть 1: знакомство и начало работы Всем привет! Сегодня я хочу открыть серию статей по изучению FFmpeg libav с нуля.Сразу уточню, что в основном статьи направлены на программирование, используя библиотеки libav*, где в качестве языка выступит С++.Отмечу то, что я не являюсь профессионалом в данной теме и моей...

Skyrim на Unity Статья о моих приключениях при разработке первой игры в 3D. Да, вы правильно поняли, я замахнулась на святое, и попробовала сделать Skyrim на Unity. Но делала это с любовью и от чистого сердца. Читать далее

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

Regex for lazy developers Регулярные выражения для ленивых людей?!Regex – это модуль вашего языка программирования который позволяет работать со сложными и большими строками просто! Давайте разбираться в них вместе. Приятного прочтения ;) Читать далее

[Перевод] Вёрстка в 2022. Часть 1: Теория "Разработчик – это человек, который переводит мысли заказчика на язык машины" @mikita_duИдея статьи появилась год назад, думал назвать «Вёрстка в 2021», но как-то затянулось… Весной 2021 года Microsoft объявила, что с 15 июня 2022 года прекращается поддержка IE11 (да, не для...

Мультиплеер в Unreal Engine: Игровой процесс Привет Хабр!В данной статье я бы хотел разобрать мультиплеер со стороны игрового процесса. Опорой для написания статьи выступает популярный Network Compendium. Читать далее

[Перевод] Сериализуемость транзакций В этой статье рассмотрим, что такое "Сериализуемость" (Serializability) и какие гарантии она предоставляет.В реляционных СУБД уровень изоляции Serializable (сериализуемость), как следует из названия, обеспечивает сериализуемость транзакций. Однако, как вы увидите далее, в не...

[Перевод] Создание игр для NES на ассемблере 6502: заголовки и векторы прерываний Оглавление Оглавление Часть I: подготовка Введение 1. Краткая история NES 2. Фундаментальные понятия 3. Приступаем к разработке 4. Оборудование NES 5. Знакомство с языком ассемблера 6502 6. Заголовки и векторы прерываний 7. ...

Кто тебя за Цанцзе тянул В прошлом году в СМИ начали активно говорить о том, что совсем скоро у Huawei появится собственный язык программирования Cangjie (читается как «Цанцзе»). Так вот, кажется, ждать его появления осталось совсем недолго. Читать далее

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

Применение Rust в разработке: страдания и высокий порог входа. Григорий Петров разбирается, когда этот язык необходим Rust набирает популярность среди разработчиков. Мы, организаторы RustCon, решили опубликовать серию статей о том, по каким причинам компании начинают использовать его для своих проектов. Первая статья в серии - интервью с Григорием Петровым, DevRel из Evrone. Применять ...

Анатомия асинхронных фреймворков в С++ и других языках Привет! В этой статье я расскажу об устройстве асинхронных движков с корутинами и без них. Для начала сосредоточимся не на конкретном движке, а на том, почему во всех популярных языках программирования появились корутины и чем они так хороши. Это может быть интересно не толь...

Где работать в ИТ в 2021: IBS Наша рубрика «Где работать в ИТ» — это интервью с интересными айти-компаниями, в которых они детально рассказывают о своей внутренней кухне: от условий работы до тестирования кода. Мы задаем компаниям вопросы, публикуем ответы и разбавляем их фотками, чтобы вы смогли посмотр...

[Перевод] Создание игр для NES на ассемблере 6502: спрайтовая графика Оглавление Оглавление Часть I: подготовка Введение 1. Краткая история NES 2. Фундаментальные понятия 3. Приступаем к разработке 4. Оборудование NES 5. Знакомство с языком ассемблера 6502 6. Заголовки и векторы прерываний 7. ...

Тестирование MySQL на ARM-архитектуре Привет, Хабр! Мы в ECOMMPAY, помимо прочего, очень любим MySQL и «железные» серверы. MySQL используется как основная СУБД для нашего прода, и, кажется, мы умеем готовить её хорошо для высоких нагрузок. Так же хорошо (а может, и лучше) мы умеем работать с baremetal: они по...

Финуслуги: продолжение революции Когда вы в последний раз совершали революцию? Мы — в ноябре 2021 года, когда внедрили кредиты на платформе личных финансов https://finuslugi.ru/. Впервые у россиян появилась возможность взять кредит полностью онлайн, не посещая офис банка. При этом пользователь заполняет одн...

[Перевод] Культура совещаний: почему Amazon ставит документ во главе всего Привет, Хабр! Меня зовут Александр Попов, я PR-директор МойОфис. Еженедельно в моем рабочем графике бывает до 30 совещаний. Проведение встреч, а также подготовка к ним, забирают много сил и времени. С целью научиться эффективнее расходовать свои ресурсы, я решил исследовать ...

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

[Перевод] Капля здравого смысла для Windows-разработки на C и C++ Суровая действительность разработки на C и C++ для Windows такова: для этой платформы никогда не существовало качественной, нативной реализации стандартной библиотеки этих языков. Стандартная библиотека должна абстрагировать механизмы базовой системы ради упрощения разработк...

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

Пишем свой плагин для IDEA для поддержки нового языка (часть 2) Продолжение статьи о создании языкового плагина для IDEA на примере учебного языка Monkey. Приведены примеры из других плагинов. Пишем на Java и Kotlin. Начало Читать далее

Создание своего серверного ядра на Go для Minecraft Java. Часть #1 — Основное о идее Тема, которая будет писаться в многих частях будет в основном предствалять этапы написания своего серверного ядра для мультиплеера популярной игры Minecraft. Читать далее

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

Как и зачем команда Aitarget Tech обучала трансформационную ML-модель для digital-маркетинга Мы совместно с коллегами из Aitarget Tech, которые уже восемь лет ведут разработку в сфере рекламных технологий, обучили трансформационную ML-модель с целью генерации изображений для рекламных кампаний. Передаем слово Ане Корзун, стратегическому директору Aitarget, — она рас...

Случайные лабиринты и сапёр от третьего лица, инопланетные жуки и алгоритм Брезенхема Всем привет! Уже больше 30 лет я занимаюсь разработкой видеоигр и регулярно экспериментирую с различными игровыми механиками. В результате я пришел к идее создать игру по типу сапёра, но от третьего лица и на roguelike подобном уровне.Исследуя большое пространство, нужно соб...

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

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

Honor объявила о новом этапе тестирования прошивки Magic UI 6.0 на базе Android 12 Компания Honor объявила о новом этапе тестирования прошивки Magic UI 6.0 на базе Android 12 для Honor 50 и Honor 50 Pro. На этот раз оно доступно не ограниченному кругу лиц, а всем пользователям этих смартфонов, участвующим в бета-тестирования программного обеспечения. Правд...

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

[Перевод] Экспериментальная разработка эксплойта для Use-After-Free Пошаговая реализация эксплойта для уязвимости CVE-2021-23134, включая описание используемых для этого инструментов. Это мой первый опыт разработки эксплойта для ядра – так что здесь вы вполне можете заметить некоторые ошибки, за которые я заранее извиняюсь. Читать дальше &r...

Разработка новой игры от компании Wargaming с помощью Rider for Unreal Engine Последние полтора года открыта программа раннего доступа к Rider for Unreal Engine — IDE для разработки игр на C++ с использованием Unreal Engine. На сегодняшний день в программе участвуют десятки тысяч индивидуальных разработчиков игр, a также множество студий и больших ком...

[recovery mode] Пошаговая инструкция как создать NFT коллекцию на Golang + Ethereum (часть 3) Привет Хабр. В прошлых статьях мы научились генерировать 10 000 изображений для нашей NFT коллекции с помощью Golang, а также загрузили все сгенерированные изображения в децентрализованное хранилище IPFS.В этой статье мне хотелось бы поделиться знаниями и опытом, а такж...

Программа бета-тестирования отечественной операционной системы «Аврора» расширяется Компании «Открытая мобильная платформа», объявила о расширении программы публичного тестировании отечественной мобильной операционной системы  «Аврора».  Как отмечают разработчики, к тестированию первой российской мобильной ОС приглаша...

Как мы переносили аналитику из PostgreSQL в ClickHouse Привет, Хабр! Меня зовут Кирилл, одной из задач, которой я занимаюсь в Just AI, является пользовательская аналитика. В этой статье я хочу рассказать о нашем опыте миграции этой аналитики на новую СУБД ClickHouse. О том, с какими нюансами пришлось столкнуться и как мы их реша...

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

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

В рамках проекта Минцифры России состоялся запуск программы от ГК ЛАНИТ и “1С” Совместный проект “1С” и группы ЛАНИТ – компания “Мобильное Электронное Образование” – разработала курсы по обучению программированию, благодаря которым учащиеся школ могут бесплатно осваивать наиболее востребованные специальности. Проект получил одобрение Минциф...

Tarantool на процессорах Apple M1: первые результаты Spiderman + Youtube speedpaint by RowenHebing Процессоры M1 от Apple уже давно не новость. Многие знают об их быстродействии и о том, что приложения для MacOS нужно адаптировать под новую архитектуру. В команде разработки платформы Tarantool мы тоже недавно поставили перед ...

Более 75% команд, использующих ИИ отметили улучшения в культуре компании Совместное исследование MIT Sloan Management Review и BCG показало, что использование ИИ положительно влияет как на финансовый результат, так и на культуру компании, причем этот эффект носит взаимоусиливающий характер. Внедрение технологий ...

Книга «Python и DevOps: Ключ к автоматизации Linux» Привет, Хаброжители! За последнее десятилетие технологии сильно изменились. Данные стали хитом, облака — вездесущими, и всем организациям понадобилась автоматизация. В ходе таких преобразований Python оказался одним из самых популярных языков программирования. Это практичес...

Интеграция с Allure: структурировать, упростить, стабилизировать Если ваш проект с автотестами растет, то рано или поздно ставится вопрос о том, как централизованно управляться с этими тестами. Как найти время на поддержку тестовой документации? Как ее структурировать? Где хранить отчеты? Как избавиться от нестабильных тестов и быстро выя...

Автоматизация процесса релиза Всем привет! Меня зовут Даниил Хейфец, и я QA Lead мобильного направления в hh.ru. В этой статье я расскажу, как мы автоматизировали flow релиза мобильных приложений, как разбили его разработку на этапы, какие инструменты использовали и с какими проблемами столкнулись. ...

Знакомство с .Net Compiler Platform .Net Compiler Platform, или Roslyn - это высокоуровневый API для анализа и рефакторинга кода, написанного на  С# и VB (языках .Net). С помощью Roslyn можно как создавать независимые инструменты анализа и рефакторинга, так и писать расширения, встраиваемые в Visual Studi...

PCIExpress 1.0 2.5GT/s analyzer на базе ПЛИС своими руками На работе я занимаюсь созданием PCIExpress устройств на ПЛИС. Некоторые из ПЛИС имеют встроенное PCIExpress ядро, позволяющее работать с этим интерфейсом на уровне пользовательского приложения. ПЛИС серии ECP5UM фирмы Lattice использует Soft-IP Core для реализации протокола,...

Ускоряем прохождение iOS UI-тестов. Часть 1. Запускаем тесты без сборки проекта Хабр, привет!Меня зовут Борис. Я Mobile QA lead в Vivid Money.Это вступительная статья в цикле статей по iOS-автоматизации, в которых я расскажу о том, как ускорить прохождение UI-тестов.Данная статья будет полезна iOS-автоматизаторам с опытом, либо разработчикам.В рамках эт...

Зачем CI/CD тестировщикам? Сейчас компетентность в сфере TestOps является таким же базовым требованием к QA-инженерам, как и написание автоматизированных тестов. Причина — в активном развитии CI/CD в проектах и необходимости QA-инженерам работать с пайплайнами (читать как "последовательность этапов в ...

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

ЦДС запускает цифровую лабораторию ЦДС Tech Группа ЦДС запустила ЦДС Tech – собственную цифровую лабораторию для разработки и тестирования уникальных IT-решений для строительной отрасли. В лаборатории, созданной на базе IT-департамента компании, будут трудиться более 50 специалистов в области информационных технологий...

Идентификаторы элементов в XCUITest Меня зовут Семен, я занимаюсь автоматизацией тестирования мобильных приложений в hh.ru, и сегодня я расскажу о том, как писать автотесты под iOS. Быстрые регрессы, низкий time-to-merket, счастливые пользователи, у которых нет багов — для всего этого нам нужны автотесты....

Scrum в госкомпании: миф или реальность? SCRUM закрепился и в стартапах, и в IT-гигантах, но что на счёт скрама в крупной госкомпании? Попытаемся дать ответ на примере одной из команд разработки Россельхозбанка, а в конце статьи поделимся чек-листом в помощь начинающему скрам-мастеру. Читать далее

Как htmx помогает разработке на HTML htmx — инструмент для создания сложных и интерактивных веб-приложений на HTML, алтернатива клиентскому рендерингу на Javascript. В этой статье рассказываем, как библиотека помогает переиспользовать элементы на сервере, сократить объем кода на Javascript и отказаться от сборк...

Темное искусство функциональной верификации цифровых микросхем Сегодня, в субботу 26 февраля, на Сколковской Школе Синтеза Цифровых Схем Михаил Коробков проводит занятие по технологиям функциональной верификации: constrain solvers, cover bins и concurrent assertions. Примеры, которые мы подготовили для школы, вращаются вокруг протокола ...

[Перевод] Как сделать интерактивную карту с маршрутами на Python Распространённая задача программистов в работе с геопространственными данными — отобразить маршруты между различными точками. Решением, которое может понадобиться в разработке веб-сайта, делимся к старту курса по Fullstack-разработке на Python. Читать далее

В Call of Duty Vanguard началось бета-тестирование рейтингового режима Зачем он здесь?..

Пример использования WebAssembly-модуля, скомпилированного из Rust, в React-приложении Привет, друзья! На днях прочитал интересную статью, в которой демонстрируется возможность использования WebAssembly-модулей (далее — Wasm), скомпилированных из Rust, в React-приложении. Так вот, статья интересная, но автор толком ничего не объясняет, видимо, исходя из пред...

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

Сервер «1С: Предприятие» на Linux: настройка доменной авторизации В данной статье мы рассмотрим настройку сервера «1С:Предприятие» для использования Microsoft AD в качестве системы авторизации клиентов 1С. Статья представляет собой описание успешно внедрённого решения, за основу брались различные статьи из открытых источников, в частн...

И еще немного про авто-тесты в QEMU Привет, Хабр. Меня зовут Роман, я разработчик встраиваемых систем в Dannie и мы тут делаем умные камеры. По долгу службы, мне потребовалось завести эмуляцию прошивки для чипа из семейства MIPS. В рамках разработки проекта мы обозначили для себя задачу получения быс...

Как большинство Java проектов выглядят изнутри Меня зовут Аксёнов Вячеслав, я бэкенд разработчик и в последние годы пишу веб приложения на java/kotlin. Основная идея этой статьи описать основные технические задачи, которые ставятся перед современными веб приложениями, а также перечислить те библиотеки, которые чаще всего...

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

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

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

[Перевод] Удобные инструменты для разработчика при непрерывном тестировании производительности Сколько раз мы видели инфраструктуру и методологию тестирования, когда команда не может получить своевременную обратную связь о производительности разрабатываемой системы? Как правило, к тестированию производительности принято относиться как к "проекту по методу водопада", к...

[Перевод] Rustenstein 3D: программируем, как будто сейчас 1992 год Дважды в год компания NextRoll организует мероприятие Hack Week, на котором сотрудники на неделю берутся за проект по своему выбору. Это превосходная возможность для экспериментов, изучения новых технологий и объединения с людьми из всех отделов компании. Узнать о Hack Week...

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

[Перевод] Создание игр для NES на ассемблере 6502: скроллинг фона Оглавление Оглавление Часть I: подготовка Введение 1. Краткая история NES 2. Фундаментальные понятия 3. Приступаем к разработке 4. Оборудование NES 5. Знакомство с языком ассемблера 6502 6. Заголовки и векторы прерываний 7. ...

Kincony KC868-A4: ультимативный гайд. Часть 2. Программирование компонентов Продолжаем ультимативный гайд по контроллеру Kincony KC868-A4, начатый в предыдущей статье. Сегодня мы подробно разберём распиновку KC868-A4 и познакомимся с принципами программирования компонентов (функциональных блоков) этого контроллера. Все примеры будут сопровождаться...

Зачем прыгает быстрая коричневая лиса, или Панграммы в английском языке «The quick brown fox jumps over the lazy dog» — эту фразу на английском знают почти все, кто так или иначе имеет отношение к компьютеру.Это небольшое предложение, которое содержит все буквы английского языка. Лингвисты называют его «панграмма». Сегодня мы расскажем, для чего...

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

Библиотека Pygame / Часть 1. Введение Это первая часть серии руководств «Разработка игр с помощью Pygame». Она предназначена для программистов начального и среднего уровней, которые заинтересованы в создании игр и улучшении собственных навыков кодирования на Python. Читать далее

Тренды веб-разработки в 2022 году: как стать востребованным фронтендером Новый год — отличное время для изучения новых технологий. Но каких? Что будет в тренде в 2022 году? Ведущие эксперты с многолетним опытом в программировании дадут ответы на эти вопросы в прямом эфире! Программа лайва: - Общие тренды разработки и тенденции сферы IT. - К...

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

И снова про App Transport Security: что это и зачем Привет, Хабр! Меня зовут Юрий Шабалин, и, как я пишу в начале каждой своей статьи, мы разрабатываем платформу анализа защищенности мобильных приложений iOS и Android. В этой статье мне бы хотелось затронуть тему безопасной конфигурации сетевого взаимодействия, а также немног...

Qualcomm и Razer разрабатывают консоль для тестирования портативных игр Компания Qualcomm в тандеме с Razer работает над новым комплектом для разработки портативных игр на базе грядущего процессора Snapdragon G3X. В серии просочившихся слайдов, опубликованных VideoCardz, новое устройство называется «Snapdragon G3X Handheld Developer Kit». …

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

Выводим программных роботов на третью космическую скорость, или RPA в Linux Программные роботы (RPA) с каждым годом всё больше проникают в IT-инфраструктуру компаний, а доля роботизированных процессов в бизнесе постоянно растет. Чтобы поддерживать увеличивающееся количество автоматизированных процессов организациям необходимы дополнительные вычислит...

Аналог Moodle или как преподаватель-юрист создавал собственную систему дистанционного обучения. Часть 1. Начало Дисклеймер: система дистанционного обучения (СДО) в настоящее время введена в эксплуатацию (продакшн), апробирована, протестирована и успешно работает. Система бесплатна, имеет открытый исходный код и выложена в репозитории GitHub. С точки зрения стека технологий она построе...

MikroTik: IPsec IKEv2 VPN между роутерами MikroTik (site-2-site) Данная статья является результатом нескольких лет изучения, тестирования и внедрения VPN на оборудовании MikroTik на основе чистого IPsec IKEv2 между несколькими сетями с динамической маршрутизацией. Используя данный метод можно выстроить связную структуру сети с достаточным...

Куда исчезли субкультуры? Ещё не так давно молодёжные субкультуры зримо присутствовали на улицах и выглядели неотъемлемой частью современной городской жизни. Готы, панки, эмо, хиппи, рэперы и иже с ними легко опознавались в любой толпе. Однако в начале 2020-х от этого многообразия, кажется, мало что...

Забытые жемчужины отечественного игростроя. Часть 2 Первая статья о неплохих, но напрочь забытых старых играх российской разработки вызвала интерес, так что наш штатный Дедушка Мороз решил принести под ёлочку добавки – ещё четыре затерянные жемчужины. Читать дальше →

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

Экосистема React в 2022 году В данной статье мы рассмотрим текущее состояние экосистемы React, а также какие инструменты и библиотеки нам необходимы чтобы покрыть все основные кейсы для успешной разработки приложения. Читать далее

Занимательные фигуры на Python в одну строку Однострочники подобны коанам в Дзэн-буддизме. Как и коаны, некоторые однострочники можно охарактеризовать как "выражения ставящие мозг в тупик". Сами по себе они не научат программировать, но при накопленном определённом опыте позволят постичь всю силу и красоту языка програ...

Какие задачи не решаются bat-файлами? Бат-файлы ведут свою историю со времен MS-DOS. Новые фичи добавлялись с сохранением обратной совместимости. Из-за этого многое в языке bat-файлов, как мы увидим далее, нелогично и неудобно.Вместе с тем, в bat-файле можно использовать переменные, условия, циклы и подпрограммы...

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

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

Обновление данных в ClickHouse Всем привет! Эта статья продолжает первую часть, где я рассказывал о том, как мы в Just AI переводили пользовательскую аналитику на новую СУБД ClickHouse. В ней я на примерах показывал, как менялась схема данных и sql запросы, какие возникали сложности и удалось ли добиться ...

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

amd fx-8320 продолжение тестирование в играх продолжение тестирования в играх,системка таже ,процессор 3.6ггцх8 amd fx-8320e+1660 ddr5 вин7-64

[Перевод] Ультимативная шпаргалка по Selenium с Python для автоматизации тестирования Python – один из самых популярных языков для веб-автоматизации с Selenium, поскольку в нем есть упрощенный синтаксис, который позволяет выполнять больше задач за меньшее количество строк кода! Таким образом, Python и Selenium создают идеальную комбинацию для автоматизированн...

[Перевод] Создание игр для NES на ассемблере 6502: краткая история NES Оглавление Оглавление Часть I: подготовка Введение 1. Краткая история NES 2. Фундаментальные понятия 3. Приступаем к разработке 4. Оборудование NES 5. Знакомство с языком ассемблера 6502 6. Заголовки и векторы прерываний 7. З...

Тестирование офисных пакетов Р7-Офис, МойОфис, LibreOffice и MS Office Всем доброго времени суток. В рамках импортозамещения или точнее ухода от MS Office, на работе, возникла необходимость в рассмотрении российиских аналогов офисных пакетов и пакета LibreOffice, т.к. он автоматически установлен в дистрибутивах astra linux. Здесь хочу поделитьс...

Уязвимость и баги, стоящие денег клиентам. Разбираем модуль от CS Coding для CMS CS Cart На написание данной статьи меня вдохновила уязвимость в модуле "Авторизации по телефону", который разрабатывается и поддерживается CS Coding. Читать далее

TINKOFF-INVEST. Разработка торгового робота на JAVA. Часть 2 Как же быстро летит время... Прошло почти 2 месяца с момента публикации моей первой статьи о работе с TINKOFF INVEST API – Разработка торгового робота на JAVA. Часть 1, в которой мы начали свое знакомство с инструментарием автоматизации торговли, предоставляемым брокеро...

Стартовало бета-тестирование Google Play Games для Windows Компания Google запустила закрытое бета-тестирование приложения Google Play Games для Windows, которое предназначено для запуска Andoird-игр на ПК. На текущий момент принять участие в тестировании могут только пользователи из Гонконга, Южной Кореи и Тайваня. Помимо этого, с...

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

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

В России ученикам школ будут предложены бесплатные курсы программирования Для записи нужно будет пройти тестирование на портале «Госуслуги».

Qualcomm продемонстрировала работу SIM в процессоре Vodafone объединилась с Qualcomm Technologies и Thales для разработки первого в мире работающего смартфона с технологией iSIM – она позволяет интегрировать SIM-карту в процессор, что устраняет необходимость в отдельном слоте и выделенном чипе eSIM. Внедрение SIM-карты в…

Разработка hexapod с нуля (часть 12) — новое ядро передвижения Несколько частей назад в гексаподе обновился алгоритм передвижения, который позволяет в реальном времени изменять угол поворота, скорость и направление движения. Раньше это были отдельные заскриптованные движения. Также в гексаподе появилась стабилизация тела относительно ...

Сад из обломков монолита: как ПСБ перешел на Scrum Мы не внедряли Sсrum ради Scrum’а — мы хотели дать клиентам онлайн-доступ к продуктам и сервисам банка и использовать обычный проектный подход, а не кросс-функциональные команды. Но у этой задачи была особенность, которая вынудила нас прийти к гибкой методологии.Я, Константи...

«Международный  отчёт по качеству»: тренды QA и опыт ПСБ Привет, Хабр!Меня зовут Татьяна Бельская, я работаю управляющим по обеспечению качества в Промсвязьбанке. Мы с коллегами отвечаем за процессы, которые влияют на качество работы всех наших систем.У меня возникла потребность исследовать мировые тенденции QA, чтобы понимать, ка...

Эволюция UI-тестов в iOS-приложении Test-driven development — по-прежнему спорная тема. Часто встречается обоснованное, в общем-то, мнение, что такая разработка нужна только большим компаниям, потому что только у них достаточно ресурсов для создания и поддержки большого количества тест-кейсов. Но сегодня на п...

[Перевод] Программирование с dplyr Большинство глаголов dplyr так или иначе используют аккуратную оценку (tidy evaluation). Tidy evaluation - это особый тип нестандартной оценки, используемый во всём tidyverse. В dplyr есть две основные формы tidy evaluation:Описанные концепции обращения к переменным таблиц д...

Java: есть ли жизнь на десктопе? Привет! Я Виктор Барсуков, Java-разработчик в Lamoda. В этой статье хочу рассказать о своем опыте разработки десктопного Java-приложения в рамках пет-проджекта. Что из этого получилось и что можно было бы сделать иначе. Читать далее

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

Что вижу, то и программирую Не знаю, как у вас, в большом мире программирования, а у нас, в 1С, очень распространён подход «что вижу, то и программирую». Есть более удобоваримое название: «программирование от данных». Однако, чаще всего это называют говнокод. Хотя, тут я не согласен – до говнокода ещё ...

Язык программирования типов, скрытый в TypeScript. Utility Types TypeScript — это язык, расширяющий JavaScript, добавляя в последний типизацию. Правда, так как TypeScript не имеет runtime-а (почти), он транслируется в JavaScript, в процессе чего, вся типизация теряется. Такую типизацию можно назвать лишь инструментом статического анализа ...

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

[Перевод] Простейший вариант поиска пути: объяснение на Python Как именно мы находим выход из лабиринта? Как быстрее всего проехать из точки А в ближайшую пиццерию? Можем ли мы провести игрового персонажа к выходу так, чтобы он не уперся в стену?Поиск пути – типичная задача программирования, решаемая в самых разных ситуациях. Она извест...

Применима ли концепция «сдвиг влево» (shift left) для инженеров по надёжности систем (SRE)? Концепция «сдвига влево» помогает упростить некоторые аспекты разработки программного обеспечения. Но предназначена эта концепция не только для разработчиков. Она может быть не менее полезна для инженеров по надежности систем (SRE). Хотя основной задачей SRE-инже...

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

Как на самом деле работает распознавание лиц Мы, команда NtechLab, постараемся понятным языком рассказать, из чего на самом деле состоят самые современные алгоритмы распознавания лиц, с которыми каждый из нас сталкивается в повседневной жизни, порассуждаем, на что они способны и на что — пока нет, и попробуем отве...

Google работает над процессором Tensor второго поколения Пользователь Google Pixel обнаружил интересную ссылку в исходном коде семейства Pixel 6. В нем упоминается что то похоже на SoC Google Tensor второго поколения с кодовым названием Cloudripper. Исследовательская группа считает, что Cloudripper на самом деле не является ни наз...

Как устроена система игровых событий в проектах Playrix В продолжение темы нашего движка VSO, которую затронули ребята в статьях про разработку нашей «маленькой Unity» и про улучшение редактора, расскажу об одной из систем, относящихся к игровой логике. Это кросс-проектная система игровых событий GameEvents. Читать далее

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

Изолируем микросервисы с помощью Feature toggles в ASP.NET Core. Практика Снова привет, Хабр! В первой части статьи мы разбирали, что такое изоляция микросервисов, как в этом помогают переключатели функциональности, и как создать простое ASP.NET приложение в с поддержкой feature toggles, которое будет показывать прогноз погоды. В этой части з...

Меры поддержки предложено распространить на ИБ-специалистов В перечень поддерживаемых планируется добавить ОКВЭД 74.90.9 (деятельность в области защиты информации).Минцифры России совместно с ИБ-компаниями готовит план финансовой поддержки разработки отечественных решений в сфере ИБ, которые смогут заменить ушедшие с рынка средства з...

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

[Перевод] Не автоматизируйте test cases Как прямая автоматизация тест кейсов приводит к громоздким и раздутым наборам автотестов, которые практически не приносят пользы.Общепринятой практикой в индустрии является использование тест кейсов в качестве основы для автоматизации тестирования. QA инженеры разрабатывают ...

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

Выпущена бета-версия Google Play Games для Windows Компания Google запустила закрытое бета-тестирование приложения Google Play Games для Windows, которое предназначено для запуска Andoird-игр на ПК. На текущий момент принять участие в тестировании могут только пользователи из Гонконга, Южной Кореи и Тайваня. Помимо этого, с...

Как устроен счетчик ссылок в Swift Мы в iOS команде Vivid Money стремимся глубже понимать инструменты, которыми пользуемся каждый день. Один из таких – это язык программирования Swift. Он состоит из нескольких частей: компилятора, стандартной библиотеки и рантайма. Компилятор преобразует код понятный для чело...

Следующее обновление Windows 11 снова сделает экран смерти синим Обновление доступно для участников программы тестирования Windows Insider уже сейчас

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

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

Архитектура Вселенной, часть 3: Идея Перед прочтением рекомендуется ознакомиться с предыдущими статьями цикла "Архитектура Вселенной":• Часть 1: Сознание• Часть 2: Относительность• Часть 3: ИдеяВ прошлой части "Архитектуры Вселенной" мы говорили об относительной природе пространства и времени, а сейчас я хотел ...

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

Модуль ACME-клиента для Tarantool Ссылка на GitHub. Подробнее о работе алгоритма и модуля можно посмотреть здесь.Клиент ACME-протокола используется для автоматического получения сертификата безопасности для вашего сайта. Для бесплатного получения сертификата и автоматического его продления в основном все исп...

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

Где работать в ИТ в 2022: Usetech Наша рубрика «Где работать в ИТ» — это интервью с интересными айти-компаниями, в которых они делятся подробностями о своем процессе работы. Представители индустрии отвечают на вопросы, где рассказывают об условиях работы, найме, командах и технологиях. В этом году рубри...

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

Как настроить «Планфикс» с нуля и почему именно он Статья будет интересна бизнес-аналитикам, project-менеджерам, тимлидам, CEO начинающих студий по разработке и всем причастным и интересующимся. Hola, Amigos!Меня зовут Артем, и я TeamLead компании Amiga. Сегодня расскажу, как мы настроили процессы взаимодействия с коман...

OnePlus 10 Ultra — это первый «суперфон» OnePlus Недавно был выпущен смартфон OnePlus 10 Pro, который при своей флагманской начинке не предлагает чего-то сверхвыдающегося и стоит заметно меньше, чем прошлогодний Xiaomi Mi 11 Ultra. Обозреватели отметили, что он получил не самую лучшую камеру, но, возможно, это неспрос...

Визуализация данных с помощью веб-фреймворка Dash (часть 2) В предыдущей части статьи мы разбирали, что такое dash в общем, и создавали одностраничный дэшборд, взяв за основу датасет драгоценных камней с kaggle.Но! Задачи, которые падают на нас ,не всегда просты и не всегда возможно ограничить себя  одной страницей на Дашборде. ...

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

Рекомендательная система торговой сети самообслуживания. Часть 2 Данная статья, является продолжением, описания хода учебного исследовательского проекта по разработке рекомендательной системы.В первой части мы остановились на том, что модель, полученная с использованием библиотеки LightFM, не оправдала моих ожиданий, можно ли сделать что-...

Безопасная разработка и уязвимости программного кода Часть 1. Как писать свой код без ошибокНа сегодняшний день трудно представить себе какую-либо отрасль бизнеса, в которой не использовались бы информационные технологии. Не только в банковской сфере, но и в промышленности, транспорте, сельском хозяйстве – везде ИТ играют огро...

Американцы начали испытания двигателя для вертолётов будущего В сети появилась информация о свежих испытаниях военных США. Армия страны начала тестирование турбовального двигателя для боевого вертолёта будущего — его разработка ведётся в рамках программы Future Attack Reconnaissance Aircraft (FARA).

Из техпода в программисты (или Golang для самых маленьких) Доброго времени суток, Хабровчане! Данный цикл статей предназначен в первую очередь для себя самого чтобы быстрее усвоить материал, а также для новичков в программировании которые как и я хотят освоить язык и заниматься интересными проектами. Читать далее

[Перевод] Создание игр для NES на ассемблере 6502: движение спрайтов Оглавление Оглавление Часть I: подготовка Введение 1. Краткая история NES 2. Фундаментальные понятия 3. Приступаем к разработке 4. Оборудование NES 5. Знакомство с языком ассемблера 6502 6. Заголовки и векторы прерываний 7. ...

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

Как мы уменьшаем размер изображений на веб-страницах в 10 раз с помощью нашего оптимизатора Привет, Хабр! Меня зовут Евгений Лабутин, я из команды разработки продукта МТС Твой бизнес. Мы разработали свой рецепт приготовления картинок для нашего портала. Благодаря ему удалось сократить их вес на странице до 10 раз относительно уже оптимизированного jpg/png, сохранив...

TrinamiX Face Authentication — первая система аутентификации, размещаемая за экраном OLED, получившая сертификат высокой степени защиты Компания TrinamiX, созданная в 2015 году отделением в самостоятельное предприятие проекта BASF по разработке датчика объемного изображения, сообщила, что разработанная её специалистами система аутентификации TrinamiX Face Authentication, размещаемая за экраном OLED, пол...

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

[Перевод] Инструкция по Selenium Docker В этой статье мы расскажем о том, как запускать Selenium-тесты в Docker и выполнять их в браузерах Chrome и Firefox. И мы, вероятно, также поймем, зачем запускать Selenium-тесты в Docker. Читать далее

ULE — самописное MC Java ядро. Часть #1.1 — HelloWorld и изменения… Дальше создаю серверное ядро на языке Rust, в данной часте был сделан переход с Go и добавлено несколько интересный изменений.Переход с Go на Rust дал огромный прирост производительности и теперь ядро сверх быстрое. Ядро использует всего 128KB ОЗУ и запускается за менее 1мс)...

Бесплатный Telegram-бот для расшифровки аудио. Рассказываем кратко, как мы его сделали Бот конвертирует голосовые сообщения на русском языке в текстовый формат, также работает с загруженными одноканальными аудиофайлами. Его можно использовать даже в групповых чатах. В основе решения — технологии SmartSpeech от SberDevices. Читать далее

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

Установка ubuntu 20.04 с корнем на шифрованном ZFS зеркале и UEFI загрузкой На моей домашней машине вот уже 7 лет работает пара дисков, объединенная в soft raid1. И вот на днях один диск в зеркале наконец начал сыпаться. Появился повод переустановить систему с нуля и начать использовать шифрование, которое 7 лет назад не было задействовано. В процес...

10 вещей, которые можно делать в верстке с помощью псевдоэлементов before и after Привет, Хабр! Меня зовут Максим Васянович, я спикер курса “Веб-верстка” в Skillbox. Сегодня поговорим о верстке, а точнее - о нюансах работы с псевдоэлементами before и after. Статья будет полезна, прежде всего, начинающим верстальщикам. Но, возможно, и профи будет интересно...

Подразделение Hyundai Motor по разработке ДВС переориентируют на электрические силовые установки Компания закрывает центр разработки ДВС: около 12 000 сотрудников будут направлены на создание электромобилей и разработку тяговых аккумуляторов.

MIT Sloan Management Review и BCG: использование ИИ положительно влияет на культуру компании Внедрение технологий искусственного интеллекта в организации повышает эффективность персонала и помогает улучшить процесс принятия решений; 62% опрошенных отмечают повышение конкурентности компании, но лишь 2% смогли внедрить ИИ без каких либо изменений ...

Как собрать махолёт, или Jam, Godot и Blender Доброго времени суток. В сегодняшней статье речь пойдёт о разработке проекта для 72-х часового конкурса игр. Лететь далее

Back to 2021. Нововведения в Serverless с re:Invent от AWS Ежегодный AWS re:Invent, проходивший в конце 2021 года, принёс массу новостей про бессерверные технологии Янашёл самые интересные: и под катом мы поговорим про запуск функций на Graviton2, новых возможностях для машинного обучения, перенос разработки в облако и визуальный ре...

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

Синтаксис Python — в чем главные подводные камни на первый взгляд легкого ЯП. Перспективы языка Python - один из самых популярных языков программирования. Как мы писали, в январе 2022 года он во второй раз за свою историю стал лидером ежемесячного рейтинга языков программирования Tiobe. Рост популярности Python за год составил 1,86%.Популярность языка обусловлена его о...

Состоялся релиз Merge TD Hero, причём здесь Supercell? Игра Merge TD Hero вышла на смартфоны. В ней мультяшная графика и герои, которые словно срисованы с персонажей Clash of Clans. Merge TD Hero — мобильный проект в жанре «башенная защита». Игра доступна в App Store и Google Play. Задача игроков проста — защищать кристаллы от ...

Unity: 8 причин отказаться от Coroutine в пользу Async Когда речь заходит об асинхронных операциях в Unity, на ум первым делом приходит coroutine. И это не удивительно, так как большинство примеров в сети реализованы именно через них. Но мало кто знает, что Unity поддерживает работу с async/await еще с 2017 версии.Так почему же ...

Как правильно готовить автоматизацию или Что покрывать тестами в первую очередь Привет, это Эрик Бурыгин, я техлид курса «Автоматизатор тестирования на Java» в Яндекс.Практикуме и лид в Яндексе. Каждый ручной тестировщик считает, что автоматизация — это круто и её непременно нужно втащить в проект. Что может быть лучше, чем полное покрытие автотестами п...

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

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

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

8 правил, которые пригодятся при описании Git-коммитов Иногда системы контроля версий напоминают групповые чаты: вроде бы все тут собрались по какому-то поводу и пишут о чём-то одном, но что именно пишут ― разобраться порой просто невозможно. Как и в чате, где на одно грамотное и полное сообщение наберётся сотня «гыгы, лол» и «)...

Введение в distributed tracing В один прекрасный момент вы можете переезжать из одного ДЦ в другой и понять, что не знаете свои системы: их поведение может стать неожиданным. В одной системе вы должны были работать гораздо быстрее, но теперь работаете медленно. В другой — не понимаете, куда приходит запро...

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

AV-TEST: Windows Defender — один из лучших антивирусов в 2021 году Немецкая лаборатория AV-TEST опубликовала новый отчёт о тестировании антивирусного программного обеспечения для домашних пользователей Windows 10. В исследовании участвовал 21 продукт, в том числе Windows Defender от Microsoft. Оценка продуктов производилась по трём категор...

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

Разбор одного таска или как найти сайт по favicon.ico? На написание данной статьи меня подтолкнуло участие в соревнованиях по информационной безопасности - Capture the Flag (CTF). Это был MCTF 2021 , проводимый Московским Техническим Университетом Связи и Информатики. Читать далее

В России началось тестирование цифрового рубля Центробанк и несколько российских банков приступили к тестированию пилотной версии цифровой национальной валюты.

Как с нуля создать компанию по тестированию программного обеспечения и за 5 лет вырастить её с 5 до 90 человек Живой опыт развития компании по тестированию ПО.

Автоматизация тестирования «с нуля» (нетехническая сторона вопроса) Есть множество статей про технологии и те или иные подходы к автоматизации. Но почему-то нет статей про «обратную сторону» автоматизации. Как вообще всё зарождается на проекте? И как это «всё» организовать? Читаю дальше

Про Flutter: как бекендер в мобильную кроссплатформу лез Flutter – это полноценная SDK, позволяющая писать нативные приложения на ненативном языке (dart), имеющем высокую скорость работы (выше конкурентов, но немного ниже натива), отклика/отрисовки. Этот набор средств разработки позволяет писать достаточно сложные с точки зрения и...

MoreliaTalk — безопасный мессенджер с открытым исходным кодом Привет, Хабр! Сегодня я хочу рассказать вам о проекте, над которым я и ещё несколько разработчиков трудимся уже около полугода. Этот проект называется MoreliaTalk. Что это же он из себя представляет? MoreliaTalk - это мессенджер с открытым исходным кодом, построенный на клие...

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

Green server для PET-проектов на базе Raspberry Pi – часть вторая(большой брат) После не самого удачного опыта с Raspberry Pi 2 B в качестве домашнего сервера, я на пару лет бросил идею с домашним хостингом. Но количество PET проектов только увеличивалось. Тогда я раздобыл старенькую рабочую лошадку - полноразмерный HP сервер 1U с 8gb оперативной памяти...

Изучаем пешку (часть 5) Давно не писал продолжения курса преподавания шахмат, но на то были объективные причины - переезд в другую страну, 2020-2021 годы "дружбы с Ковидом", осмысление онлайна в педагогических шахматах... Поэтому эта статья будет состоять из двух частей - про пешку и про онлайн пре...

Clickhouse & Grafana: история успеха одних алертов Меня зовут Елизавета Добрянская и я Frontend-разработчица в компании Домклик. В этой статье я хочу рассказать, как мы танцевали с бубном при настройке алертов на клиентские метрики. Как, зачем и с чем мы столкнулись в этой задаче - читайте далее

Пишем чат под Android на Websocket'ах Привет Хабр!Во время локдауна я решил поупражняться в разработке под Android. Начать решил с простой гиперказуальной игры с элементами дуэли. Взаимодействие игроков решил реализовать через отдельный сервер и websocket'ы, но пока читал про все это дело, понял, что простого ту...

Эти смартфоны Xiaomi, Redmi и Poco первыми получат MIUI 13. Опубликован список моделей Давно известно, что Xiaomi заканчивает разработку оболочки MIUI 13, которая построена на базе операционной системы Android 12. Прошивку уже должны были представить, однако её анонс отложили после волны критики пользователей в адрес MIUI 12 и MIUI 12.5. На данный момент ...

[Перевод] Как проверить, зависит ли Java проект от уязвимой версии Log4j Если ваше приложение использует Log4j с версии 2.0-alpha1 до 2.14.1, вам следует как можно скорее выполнить обновление до последней версии (2.16.0 на момент написания этой статьи - 20 декабря).Log4j уязвимость отслеживаться как CVE-2021-44228 (также известный ...

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

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

[Перевод] React, AbortController и асинхронные onClick вызовы Добрый день, читатели Хабра, представляю вашему вниманию перевод статьи React, Abort Controller and onClick async calls Что такое Abort Controller в JavaScript Web Apps, как его использовать в React для прерывания асинхронных вызовов? Теория и некоторые примеры использова...

JavaScript редактор диаграмм, который открывает диаграммы из PNG картинок (open source) dgrm.net | GitHubdgrm.net - это редактор диаграмм, с прицелом на трансформацию в карту знаний.Отличительные особенности:- аскетичность,- работает на телефонах (одно из немногих web-решений),- открытый исходный код.В процессе разработки появляются интересные моменты. Статья п...

TINKOFF-INVEST. Разработка торгового робота на JAVA. Часть 1 Многие что-то слышали, некоторые даже пробовали, но лишь единицы рассказали о таком мощном и удобном инструменте автоматизации биржевой торговли, как TNIKOFF INVEST API. Полностью раскрыть все возможности API или написать полноценного робота в рамках одной статьи – непосильн...

Повышаем эффективность работы с Word В данной статье собраны основные операции и алгоритмы работы, позволяющие повысить эффективность разработки документации в редакторе Microsoft Word как индивидуально, так и при командной работе. Не рассматриваются подходы с использованием Markdown, Pandoc, Asciidoc и Conflue...

Как управлять командой разработки Привет! Я Иван Антипин, заместитель директора департамента разработки в AGIMA. За свою карьеру я поработал с десятками команд. Где-то был разработчиком, где-то тимлидом, где-то помогал извне. У меня был миллион возможностей разобраться, как люди ведут себя в коллективе. Но в...

Создание dungeon crawler'а с LeoECS Lite. Часть 1 Друзья, это начало нового цикла статей про создание игры жанра dungeon crawler с использованием фреймворка LeoECS Lite, и его задача – помочь вам быстро разобраться, как на практике применить LeoECS Lite для разработки игр на Unity и решить некоторые виды проблем. Перед чтен...

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

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

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

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

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

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

Хранители данных: как устроена работа с DWH в Lamoda Всем привет! Меня зовут Юлия Скогорева, я системный аналитик в команде Center of excellence в Lamoda, которая входит в дирекцию данных и аналитики.Если бизнесу нужны какие-то данные для принятия важных решений, то на помощь приходит наша команда. Мы тщательно изучаем множест...

Как мы телеграм-магазин делали: интеграция с движком, функционал, вывод товарной базы В июне 2021 года на выставке e-commerce мы впервые показали интегрированный магазин в телеграм с базовым набором функций. Уже тогда мы попытались вместить десятки категорий с десятками тысяч товаров в чат мессенджера. Но масштаб всего возможного функционала мы только предста...

Star Citizen собрала уже 400 миллионов на разработку Менее чем через 18 месяцев после преодоления отметки в 300 миллионов долларов, Star Citizen собрала более 400 миллионов долларов в формате краудфандинга. На момент написания 3 364 629 игроков внесли в общей сложности 402 657 305 долларов в соответствии со страницей целей фин...

Инсайдеры Windows 11 на канале Dev теперь тоже могут протестировать запуск Android-приложений Microsoft объявила, что с сегодняшнего дня инсайдеры Windows 11, использующие сборки с канала Dev, могут присоединиться к тестированию подсистемы Windows Subsystem for Android (WSA). До этого момента оценить запуск Android-приложений в Windows 11 могли только инсайдеры на к...

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

Новое слово в расчётах систем видеоконференцсвязи — часть №2: расчёт диагонали ТВ и VR-визуализация 360˚ В прошлой статье Часть №1: подбираем видеокамеру, используя 3D-моделирование мы показали удобные современные инструменты для подбора оптимальной камеры для переговорной комнаты или конференц-зала.Этому проекту посвящается цикл статей:Часть 1: Подбираем видеокамеру, используя...

[Перевод] Практические рекомендации по работе с Docker для Python-разработчиков Прим. Wunder Fund: в этой длииинной статье вы найдете ряд полезных советов по работе с Docker, как общего характера, так и Python-специфичных. Хоть мы и давно используем Docker в работе, про некоторые советы мы подумали "а что, так можно было?". Советуем вначале пролистать с...

Исследование: самые узнаваемые игроки IT-рынка России C 2018 года мы ежегодно проводим исследование технобренда hh.ru и других игроков IT-рынка. В этой статье мы поделимся с вами последними результатами. Осенью 2021 года мы опросили более 3 тысяч IT-специалистов, чтобы выяснить, насколько хорошо они знают о нас и других компани...

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

Apple приписывают намерение использовать в iPhone модемы собственной разработки, начиная с 2023 года Компания Apple давно стремится перейти от использования модемов Qualcomm к модемам собственной разработки. По сообщению источника, Apple наконец начнет использовать свои модемы 5G в 2023 году. Они будут рассчитаны на выпуск по 4-нанометровому техпроцессу, разработанному...

Почему типы так много значат для программистов? Адаптация статьи What do types mean for programmers? (Ville Tirronen) Типы – одно из основополагающих понятий для программистов. Типы также могут быть одним из наиболее запутанных и многогранных явлений в нашей сфере. И они же являются бесконечным источником споров в интерне...

Mercedes Benz объединяется с Luminar для автоматизированного вождения Mercedes Benz объявил, что объединился с Luminar для автоматизированного вождения, обе компании будут работать вместе над разработкой будущих технологий автоматизированного вождения. Luminar — прекрасное дополнение к существующему списку первоклассных партнерских отношени...

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

Главный секрет операторов match/case в пайтоне Не так давно увидела свет версия языка пайтон 3.10. В ней был добавлен pattern matching statement (оператор сопоставления с шаблонами). Как гласит официальное описание этого оператора в PEP622, разработчики в большей мере вдохновлялись наработками таких языков как: Scala, Er...

Samsung разрабатывает высокопроизводительный твердотельный накопитель PCIe 5.0 Компания Samsung Electronics Co., Ltd., мировой лидер в области передовых технологий памяти, объявила сегодня о разработке твердотельного накопителя PM1743 для корпоративных серверов, интегрирующего интерфейс PCIe (Peripheral Component Interconnect Express) 5.0 с усовершенст...

Node.js: Heroes of Worker Threads ― C++ Addon Node.js имеет несколько способов исполнения CPU-bound заданий:1. Просто запустить CPU-bound задачу в одном процессе, блокируя event loop. Кто-то может возразить, что это совсем не вариант, но если этот процесс был специально создан для этой задачи, то почему бы и нет. Правда...

С 2 лет до 6 месяцев: как мы ускорили “доставку” почтового ПО в 4 раза Всем привет! Меня зовут Антон, я системный архитектор отдела разработки курьерских сервисов в Почтатехе. Мы разрабатываем сложные цифровые продукты Почты России. Помогаем ей стать удобнее, быстрее, качественнее и технологичнее для вас. Команда нашего отдела создаёт и ра...

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

Запущен первый в России открытый сервис для аналитики и прогнозирования бизнес-процессов ETNA - это open-source сервис, который на старте доступен на языке программирования Python (в будущем будет доступен более широкой аудитории пользователей). Проект работает по принципу открытого исходного кода. Анализ, проверка гипотез и построение прогнозов строится на осн...

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

9 библиотек Python для разработки игр Разработка игр на Python — это не только PyGame, Tower Defense и платформеры, а это и DOOM, и MMORPG, и симуляторы свиданий/отношений, и визуальные новеллы, и конкурсы DARPA, и моделирование вселенной, и автотрекинг низкоорбитальных спутников. Под катом список 9 библиотек...

Как снова начать читать книги, а не ленту. Часть 1 За последние полгода я прочитала около 20 книг и перечитала ещё десяток старых и любимых. Это не то чтобы очень много, но в пять раз больше, чем я прочитала за полгода перед этим.Зачем вообще читать книги, а не ленту, лонгриды или смотреть сторисы? Сейчас даже довольно сложн...

[Перевод] Как повысить безопасность Docker-контейнеров Контейнеры Docker уже довольно давно стали неотъемлемой частью инструментария разработчика, позволяя собирать, распространять и развертывать приложения стандартизированным способом.Неудивительно, что при такой популярности наблюдается всплеск проблем безопасности, связанных ...

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

Еще пять регионов начнут обучать школьников программированию Школьники из Калужской, Тульской, Оренбургской, Нижегородской областей и Республики Башкортостан смогут обучиться языкам программирования на бесплатных курсах в рамках пилотного проекта Минцифры России и Университета 2035. Запись на обучение доступна ...

Сравнение php-fpm, nginx-unit и laravel-octane Сравнение производительности php-fpm, nginx-unit и laravel-octane - что выбрать для разработки микросервисов. Читать далее

[Перевод] Возможности Java — от Java 8 до Java 17 С момента появления в 1995 году до сегодняшнего дня в Java многое изменилось. Java 8 была революционным выпуском, вернувшим Java на пьедестал лучших языков программирования.Мы рассмотрим большинство изменений в языке Java, которые произошли с Java 8 в 2014 году до сегод...

Как научиться работать в Blazor, делая что-то полезное. Часть I Когда я вижу, как кто-то учит кого-то языку программирования, то частенько замечаю тенденцию показывать новичкам примитивные примеры в виде ToDo list. Помимо того, что подобные примеры не учат ничему полезному в программировании, они очень однобоки и не позволяют оценить вс...

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

Alphabet основала компанию, которая будет искать новые лекарства с помощью искусственного интеллекта Холдинг Alphabet объявил в четверг об основании новой компании, которая будет использовать технологии искусственного интеллекта для открытия новых лекарств. Она будет использовать наработки DeepMind, ещё одной дочерней компании Alphabet, которая проделала революционную работ...

K8S для начинающих. Первая часть Технологический прогресс не стоит на месте, особенно если это касается области IT. Еще в 2014 году, когда Google открыл исходный код проекта Kubernetes, который вобрал в себя лучшее из Borg и Omega - внутренних систем Google, его мало кто знал и использовал. Но прошло 7 лет ...

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

Этапы погружения junior-разработчика Всем привет! Меня зовут Иван Сёмин, я руковожу несколькими командами разработки в компании Домклик. На данный момент в моём подчинении 28 человек, часть из которых приходила на junior-позицию. Хочу поделиться своим видением погружения новых сотрудников в процессы компании и ...

Автоматические имена роутов Laravel Часто разработчики при создании проектов пренебрегают именованием маршрутов по разным причинам, например, когда они вообще не обращаются к ним используя метод `route()`. Это обусловлено архитектурой приложения и в этом нет ничего зазорного. Но есть и такие проекты, где имена...

4 года Q# В этой статье мы решили собрать все самые важные новинки в языке Q# за этот год. Среди них Azure Quantum, QIR Alliance, Python и многое другое. Подробности под катом.Здесь вы можете увидеть все примечания к выпускам за год. Читать далее

Как мы распознаем фото документов пользователей. Часть II В прошлой статье я кратко описал методы и подходы, которые мы используем в inDriver при распознавании фото документов. Во второй части подробно опишу архитектуру CRAFT и CRNN, а также варианты их использования. Прошу под кат! Читать далее

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

Как работает FaceSwap. Часть 2. Разработка от Sber AI Привет, Хабр! В прошлой статье мы обсудили, что такое faceswap и довольно подробно разобрали существующие подходы. В этой статье мы хотим остановиться на том, как именно мы в Sber AI решаем эту задачу, а также погрузить вас в детали реализации нашего решения. Любое обучение ...

[Перевод] Задачки по программированию на BASIC для ZX Spectrum Недавно я участвовал в нескольких соревнованиях, которые проводились в Facebook-группе, посвящённой BASIC-программированию для ZX Spectrum. Там попадаются задачки разной сложности, но большинство из них можно решить, минут за 30 написав соответствующий код. Если вы хотите пр...

Кейс-лайфхак: как IT-команда Сбера научилась комфортно укладываться в сроки, нужные бизнесу После такого несколько кликбейтного заголовка сразу раскроем карты: IT просто однажды «осмелились» сказать «нет» потоку сверхсрочных задач от бизнеса, и разработка стала успевать входить в график. На этом можно было бы и закончить, но тогда лайфхак остался бы лишь теорией, к...

Руководство по NestJS. Часть 1 Привет, друзья! В этой серии из 3 статей я расскажу вам о Nest (NestJS) — фреймворке для разработки эффективных и масштабируемых серверных приложений на Node.js. Данный фреймворк использует прогрессивный (что означает текущую версию ECMAScript) JavaScript с полной поддержкой...

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

Можно ли обойтись без фразовых глаголов в разговорном английском? Этим вопросом довольно часто задаются те, кто изучают фразовые глаголы в английском как часть разговорной речи на уровне intermediate, upper-intermediate и выше и пытаются употреблять их в своей речи. Причина этого вопроса вполне понятна – понимание и использование фразовых ...

Состоялся пробный запуск Merge Island, аркадной стратегии на Андроид Проект Merge Island появился в американском Google Play. В нём надо отстраивать королевство, исследовать новые территории и объединять юнитов для постоянных побед. Merge Island — мобильная стратегия, которая появилась на Андроид в Северной Америке. Это первое ОБТ, пока неиз...

Наборы инструментов Intel oneAPI 2022 доступны для скачивания Intel объявила о выпуске наборов инструментов для oneAPI 2022. Благодаря расширенным кросс-архитектурным свойствам новые усовершенствованные программные инструменты предлагают разработчикам дополнительные ресурсы для ускорения вычислений. oneAPI представляет собой откры...

Английский. Скрытый драйвер языка На какие вопросы отвечает эта статья1. Каков механизм восприятия языка “напрямую”.2. Как тренировать этот механизм.3. Как воспринимать английские слова как русские.3. Почему аудирование бесполезно.На какие вопросы не отвечает эта статья1. Как осваивать словарный запаса.2. Ка...

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

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

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

Три способа отследить запросы Greenplum, которые «отъедают» слишком много ресурсов Привет, Хабр! Меня зовут Роман, я работаю разработчиком в компании Arenadata, где мы решаем много задач, связанных с Greenplum. Как-то мне представился случай разобраться с одним непростым, но вполне типичным для этой СУБД кейсом. Необходимо было выяснить, на обработку каких...

История славянских шипящих: почему мы пишем жи-ши через И? tl;dr: потому что перед Ы не могли возникнуть ни Ж, ни Ш. Орфография многих живых языков отражает давно исчезнувшие вещи: например, написание английского слова knight указывает на то, что когда-то в 14 в. оно произносилось «книхт». В русской орфографии тоже полно «доисторич...

Go, я создал: интегрируем Allure в Go красиво Привет! Меня зовут Антон, я ведущий инженер по тестированию в Ozon: занимаюсь созданием и поддержкой end-to-end Go-тестов бэкенда для QA.Мы довольно долго писали тесты в основном на Python. Go – молодой язык, и популярных устоявшихся инструментов у него пока немного. В Pytho...

[Перевод] Работа сети в пошаговой игре Три года назад я приступил к разработке Swords & Ravens — многопользовательской онлайн-адаптации в open source моей любимой стратегической игры A Game of Thrones: The Board Game (Second Edition), разработанной Кристианом Питерсеном и изданной Fantasy Flight Games. На фев...

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

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

Загрузка, парсинг и визуализация данных без программирования Признаюсь честно, у меня как у программиста, хоть и не настоящего, есть недоверие к «no-code» решениям. То есть тем, которые не требуют программирования, где всё можно делать через drag-and-drop и клики мышкой. Но после полугода разработки собственного «no-code» ETL сервиса ...

VK запускает программу стажировки Набор на стажировку в гибридном формате идёт в Москве и Санкт-Петербурге. Для студентов из других городов по ряду направлений возможен удаленный формат. Студентов ждут в командах ВКонтакте, Одноклассников, голосового помощника Маруси, VK Работы, VK Cloud Solutions, AliExpre...

Первые эксперименты со смешанным Litex+Verilog проектом для ПЛИС В предыдущей статье мы начали осваивать построение шинно-ориентированных систем на базе среды Litex (которая всё делает на Питоне) с внедрением собственных модулей на Верилоге. Статья так разрослась, что практические опыты мы оставили на потом. Пришла пора провести их. Сегод...

Rockstar официально подтвердила разработку GTA 6 Rockstar официально подтвердила разработку GTA 6. Студия опубликовала заметку на официальном сайте, где сообщила что разработка игра идет полным ходом. Читать полную статью

Автоматизация разработки конструкторской документации средствами VBA При выполнении проектов, в которых требуется разработка конструкторской документации соответствующей ГОСТам ЕСКД или СПДС, возникает много задач, связанных с ее корректным изготовлением. Часть этих задач связана с непосредственным оформлением документов – заполнением основны...

Финальный бета-тест PUBG: New State начинается завтра Krafton запустил предзагрузку бета-версии PUBG: New State. Это финальный шанс попробовать игру перед релизом. PUBG: New State готовится к последнему техническому релизу. Если вы не могли участвовать в предыдущих тестах, то настал момент. Внизу вы найдёте ссылку для скачиван...

Моя первая игра — Picross.io Всем привет, я инди разработчик, но когда то я им не был :) За всё время своих скитаний я успел сменить много различных профессий, от грузчика и продавца консультанта, до сотрудника торгового зала в "Ленте", но в итоге пришёл в геймдев, и, в этой статье я поделюсь своим опыт...

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

Из Java в Kotlin: туда и обратно В статье рассмотрены проблемы и решения, которые возникли при добавлении Kotlin в небольшой существующий микросервис на Spring Boot, написанный на Java. В рамках статьи не будут рассматриваться плюсы и минусы того или иного языка - здесь и так сломано много копий. В рамках п...

Простой шутер от третьего лица на Unreal Engine. Часть 2 До прочтения этой статьи рекомендую прочитать первую часть.План на сегодня:Сегодня мы создадим простеньких противников, который будут ходить туда-сюда. Научимся наносить им урон. Читать далее

[Перевод] Дзен Nim 1. Копирование плохого дизайна — плохой дизайн.2. Если компилятор не может рассуждать о коде, то и программист не может.3. Не стой на пути у программиста.4. Перенеси работу на этап компиляции: программы запускаются гораздо чаще, чем компилируются.5. Настраиваемое управление ...

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

Недельный геймдев: #58 — 20 февраля, 2022 Из новостей: новая версия RPG Maker будет работать поверх Unity, Дисней опубликовал USD-ассеты из мультфильма Моана, стала доступна коллекция ассетов Scene3D для упрощения разработки 3D игр с помощью Defold.Из интересностей: статья от команды Unity по работе с террейном, ...

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

[Перевод] DevOps — это культура, а не роль Любая крупная компания или организация, так или иначе, связана с разработкой программного обеспечения и должна быть единым целым. Очень важно быть гибким и действовать быстро, при этом не жертвуя безопасностью и надежностью. Порой такое давление выливается в отмену или прио...

Дата-центры кампуса IXcellerate Moscow North глазами оператора FirstVDS Операторы в двух наших дата-центрах дежурят круглосуточно. Один из них, Павел, работает с нами давно и знает, как там всё устроено. В своей статье он рассказывает про современную площадку IXcellerate Moscow North. Хочу рассказать вам про дата-центр, а точнее уже кампус ...

Как оптимизировать производительность сайта. Расширенные рекомендации Привет!Это снова Сергей Кузнецов, руководитель отдела Frontend-разработки в AGIMA. Недавно я рассказывал здесь про оптимизацию сайта в разрезе показателей Google PageSpeed. И теперь хочу вернуться к этой теме. Сегодняшняя статья будет не слишком длинной, но, надеюсь, для мно...

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

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

Шифры замены В предыдущей статье были рассмотрены простые шифры, использующие алфавиты естественных языков (ЕЯ). Автоматическая обработка сообщений в компьютерных и сетях связи предусматривает использование искусственных языков (ИЯ), что более эффективно во многих отношениях. Ранее описы...

Самые интересные блоги и сайты для C++ программистов Наверняка у читателя есть свои любимые сайты и блоги, посвящённые программированию на языке С++. Сегодня ваша коллекция пополнится. Читать дальше →

Выявление «омикрона» тестом LumiraDx на антигены подтверждается лабораторным анализом Результаты непрерывного тестирования и мониторинга вариантов COVID-19 показывают, что микрофлюидный экспресс-тест обнаруживает «омикрон» с чувствительностью, сравнимой с другими вариантами   ЛОНДОН, 14 января 2022 г. /PRNewswire/ — Компания LumiraDx (Nasdaq: ...

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

Эмулятор электросчётчиков Ряд наших устройств имеет встроенный порт RS-485 для прямого подключения электросчётчиков, имеющих данный интерфейс. Для облегчения тестирования устройств мы разработали небольшую программу-эмулятор. Именно о ней дальше и пойдёт речь. Читать далее

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

Google начала тестирование Android-игр на Windows-компьютерах В сети появилась информация о начале тестирования Google Play Games for PC. В рамках него поисковый гигант планирует отточить собственную платформу, благодаря которой Windows-пользователи смогут играть в Android-игры на своих компьютерах.

Постоянный календарь — Это ты тестировал систему продажи билетов?— Да…— Клиент сейчас купил билет на дату «82.13.-891». Либо ты сейчас скажешь ему, сколько дней осталось до поездки, либо переводим тебя на должность стажёра. Нравится ли вам наш календарь? Если вы программист, то, наверное, не о...

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

Старые песни о главном Программисты старшего (и очень старшего) возраста наверняка помнят такую книгу Фролова и Олюнина: «Практический курс программирования на языке PL/1», изданную в 80-х массовым тиражом. В те времена не было Интернета, и поэтому получить нужную информацию можно было, только куп...

Нарастающий итог в SQL с разрывами в данных Ранее мы рассмотрели способы расчёта нарастающего (накопительного) итога в SQL. Самый распространённый вопрос - как посчитать тоже самое, но на данных с разрывами? После написания исходной статьи мне его задавали неоднократно – так что есть смысл написать об этом отдельно. Ч...

Анализ синтаксиса, который всегда с тобой Всем привет, меня зовут Денис Лимарев, я разработчик платежной системы Delivery Club. И сегодня я расскажу, как мне надоели однообразные ошибки и собственная невнимательность, и как я с этим борюсь. Недавно я написал статью о нашем линтере, где вскользь затрагивал ...

FinalWire выпустил AIDA64 v6.70 FinalWire Ltd. сегодня объявила о доступности программного обеспечения AIDA64 Extreme 6.70, оптимизированного инструмента диагностики и тестирования для пользователей. Новое обновление AIDA64 представляет оптимизированные тесты для процессоров Intel Jasper Lake и Alder Lake-...

Зачем компаниям API Management Привет, Хабр! Мы – Ярослав Насонов и Надежда Колезнева – развиваем витрину для внешних API в МТС. Сегодня обсудим тему управления API в корпорации. Поделимся опытом внедрения API-менеджмента в МТС, расскажем, что уже сделали, сколько потратили времени, с какими ошибками стол...

[Перевод] Стратегия управления глубиной очереди ввода-вывода для достижения пиковой производительности По материалам статьи Джо Чанг (Joe Chang): I/O Queue Depth Strategy for Peak Performance (IO Queue Depth Strategy) Статья была опубликована рание на SQL.RU Публикуется повторно ввиду недоступности сайта.В большинстве случаев для SQL Server применяются незамысловаты...

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

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

Tarantool: ускорение разработки с Rust Tarantool, как известно, поддерживает любой язык, который совместим с C и компилируется в машинный код. В том числе есть возможность реализации хранимых функций и модулей на Lua и C. Тем не менее, уже в двух своих проектах мы использовали Rust (в одном полностью перенесли Lu...

Ранняя версия Magic vs. Metal доступна на смартфоны Студия Foursaken Media выпустила на Андроид проект Magic vs. Metal. В нём проходят битвы мехов со взрывами и воздушными ударами. Magic vs. Metal — мобильная игра, ранняя версия которой доступна в Google Play, причём даже в России; информации о версии для iOS нет. В ней верт...

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

Создание телеграмм-бота (Spring Boot, Kafka, PostgreSQL), часть первая Всем привет, данная статья является, своего рода моей первой, но все же постараюсь максимально просто рассказать вам о том, как создать бота, прикрутив к нему все обещанные выше свистелки-тарахтелки.Статьи будут разделены на 2 части, первая часть - создание основного бота с ...

15 игр для тех, кто любит логику, алгоритмы и ассемблер Есть «Super Mario», признанная классика видео игр. Есть «Doom», который запускают на чайниках и тестах на беременность. Есть супер-популярные по статистике twitch.tv игры («League of Legends», «GTA V», «Fortnite», «Apex Legends») которые стримят пятая часть всех стриммеров...

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

Обзор языка функционального программирования Koka Как-то заглянув на GitHub, обнаружил Koka — язык функционального программирования со статической типизацией. Koka разрабатывается с 2012 года Daan Leijen в Microsoft Research, USA. Его исходники выкладываются на GitHub под лицензией Apache 2.0. Как признаются его авторы, он ...

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

Alibaba вступает в конкуренцию с AWS и Huawei с разработкой новых чипов и серверов и открытием новых ЦОДов Alibaba начинает наступление на облачном рынке против Amazon Web Services и Huawei с разработкой новых процессоров и серверов для своих дата-центров облачных услуг, объявив также о планах строительства новых ЦОДов за пределами Китая. Разработка новых ...

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

Разворачиваем PostgreSQL, Redis и RabbitMQ в Kubernetes-кластере В этой статье я не буду объяснять, зачем вот это всё нужно, или обсуждать достоинства и недостатки этого решения. Воспринимайте эту статью как инструкцию (заметку) для быстрого развертывания базы и очереди в dev-кластере Kubernetes. Читать далее

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

Готовимся к собеседованию по PHP: Что такое «DI», «Container», «Auto-wiring» за семь простых шагов Статья написана для начинающих разработчиков на языке PHP, чтобы помочь им усвоить понятия, нужные для понимания того, как устроены и работают современные фреймворки на PHP: Dependency Injection, Container, Auto-wiring.Автор надеется, что прочтение статьи поможет вам разобра...

Inductive bias и нейронные сети В этой статье я расскажу, что такое inductive bias, зачем он нужен и где встречается в машинном обучении. Спойлер: везде. Любая нейросеть имеет inductive bias (даже та, что в человеческом мозге, хе-хе)Также вы узнаете:- почему inductive bias — это очень хорошо- способы внедр...

Ссылки и ссылочные типы в C++ Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это пятая статья из серии, список предыдущих статей приведен в конце в разделе 6. Серия ориентирована на программистов, имеющи...

Яндекс.Практикум и “вхождение в айти” Зачем статья с отзывом о курсе на Хабре? Большая часть аудитории скорее всего уже работает в it, но у многих есть знакомые, которые интересуется вопросом “входа в айти”, и я пишу эту статью для того, чтобы её можно этим знакомым скинуть. На Хабре недавно был отзыв на Яндекс....

Как мы в Домклике делаем виджеты на React Всем привет! Меня зовут Игорь Савин, я frontend-разработчик в компании Домклик. На текущий момент у нас около 150 различных команд разработки, из которых большая часть связана с разработкой какого-либо фронтенда на HTML, CSS и Javascript. Но когда так много команд, непременн...

[Перевод] Уроки абстракции: чему FP может научить ООП Одним из наиболее распространенных «лучших практик» в программировании является принцип DRY: не повторяйся. Для реализации этого принципа можно использовать множество методов: инкапсуляция, параметризация, инверсия управления и многое другое. Одним из этих методов является а...

Стабильность develop в Android Всем привет! Меня зовут Костя, я тимлид платформенной мобильной команды в hh.ru. Мы уже рассказывали о практиках, которые помогают нам выпускать еженедельные релизы мобильных приложений: автоматизация тестирования, Release Train, GitHub Flow, Continuous Integration. И нам ст...

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