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

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

[Перевод] 21 извлеченный урок за 21 год программирования Доброго времени суток, друзья! 7 апреля 2020 года. Сегодня для меня очень важный день. Сегодня исполняется ровно 21 год с того момента, как я начал писать код (делать это профессионально, зарабатывать этим себе на хлеб). Кажется, что это было только вчера… сегодня я — че...

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

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

Правила локализации для разработчиков Сначала делаем, а думаем потом — или наоборот? Alconost рассказывает, какие особенности локализации стоит учесть на этапе разработки игры. Эту статью мы написали как ответ на повторяющиеся вопросы разработчиков: «Что с моей игрой не так? Почему перевода недостаточно? Как...

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

От личного развития до Agile в XXXL масштабе за два дня на TeamLead Conf Итак, подготовка к пятой конференции TeamLead Conf идёт своим чередом. Осталось три недели. Площадка ждёт строителей, мы ждём вас и ваших коллег, типография ждёт расписание. Пока все чего-то ждут, расскажу немного о том, что у нас уже получилось. А получилось в целом очень н...

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

[Из песочницы] Наука о пользовательском опыте. Использование когнитивных искажений в разработке качественных продуктов Содержание Введение. О чем эта статья Цели и дисклеймеры Часть 1. Хороший продукт Часть 2. Пользовательский опыт (UX). Что это? Часть 3. Архитектура выбора Часть 4. Архитектор выбора Часть 5. Когнитивные искажения и Пользовательский опыт Ссылка на полную версию UX CORE (105...

[Из песочницы] UX-исследование ДБО: наш опыт, ошибки и открытия Привет. Я Денис Элиановский, дизайн-директор в JTC и руководитель в Opium Pro. Мы работаем в очень узких сегментах рынка IT, связанных с финансами и документооборотом. Вы точно ещё не слышали об этих компаниях и сегодня мало что о них узнаете, ведь эта статья про UX-исследов...

[Перевод] Ошибки при работе с датой и временем в SQL Server Перевод статьи подготовлен специально для студентов курса "MS SQL Server разработчик". Содержание Ошибка #1: Предполагать, что значения даты и времени хранятся в виде форматированных строк Ошибка #2: Забыть о людях, которые живут в других частях света Ошибка #3: ...

[Из песочницы] Очереди сообщений в PostgreSQL с использованием PgQ Очереди сообщений используются для выполнения: отложенных операций, взаимодействия сервисов между собой, «batch processing» и т.д. Для организации подобных очередей существуют специализированные решения, такие как: RabbitMQ, ActiveMQ, ZeroMQ и тд, но часто бывает, что в ни...

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

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

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

[recovery mode] Культура как основа масштабирования команды х2 каждый год. Про ошибки в найме и culture fit Я работаю менеджером разработки в Miro и активно участвую в найме. Последние несколько лет наша команда удваивается ежегодно и становится мультикультурной, у нас открываются офисы в Америке и Европе. 5 лет назад, в начале стадии быстрого роста, наши процессы найма и онборди...

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

Трансформация Android-разработки с Jetpack Compose и Корутинами Jetpack Compose — одна из наиболее обсуждаемых тем из серии видео про Android 11, заменивших собой Google IO. Многие ожидают от библиотеки, что она решит проблемы текущего UI-фреймворка Android, содержащего много легаси-кода и неоднозначных архитектурных решений. Другим не м...

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

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

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

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

[Перевод] Разбираемся в моделях кода архитектуры x64 «Какой моделью кода мне воспользоваться?» — часто возникающий, но нечасто разбираемый вопрос при написании кода для архитектуры х64. Тем не менее, это довольно интересная проблема, и для понимания генерируемого компиляторами машинного кода х64 полезно иметь представление о м...

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

История одного патча Apple В этом году мы с a1exdandy выступали на конференциях VolgaCTF и KazHackStan с докладом про Patch Diffing программ написанных на Оbjective-С и то, как с его помощью можно искать и находить 0-day и 1-day уязвимости в продуктах компании Apple. Видео выступления можно посмотрет...

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

Пентест-лаборатория Test lab 15 — ху из зэ н0в1ч0к? Ежегодно Pentestit выпускает уникальные лаборатории тестирования на проникновения. По своей сути, Test lab являются реальными копиями корпоративных сетей, которые содержат различные ошибки конфигураций. Каждый желающий может попробовать свои силы на практике совершенно беспл...

Сказ о том, как сделать машину времени для базы данных и случайно написать эксплойт Доброго времени суток, Хабр. Приходилось ли вам задумываться как поменять время внутри базы данных? Легко? Ну в некоторых случаях да, несложно — linux команда date и дело в шляпе. А если нужно поменять время только внутри одного экземпляра бд если их на сервере несколько? А...

Тестирование требований: как я нахожу ошибки в бизнес-логике фичи прежде, чем их закодят Привет, Хабр. Меня зовут Ольга, я работаю в тестировании с 2013 года, специализируюсь на тест-анализе и тест-дизайне. Сегодня хочу рассказать, как при планировании тестирования сохранить фокус на пользователях и их потребностях. Часто тестировщики начинают планирование тест...

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

STM32MP1 — ядра + Linux = идеальный микроконтроллер По роду своей деятельности занимаюсь разработкой различных приборов: измерительных, управляющих, контролирующих и т.п. В подавляющем большинстве устройство делится на 2 части: Требующий больших ресурсов микроконтроллера и не требующий жесткого реального времени графически...

Часть 6: Портирование MemTest86+ на RISC-V Наверное, мало какому айтишнику нужно объяснять, что такое Memtest86+ — пожалуй, он уже стал более-менее стандартом в тестировании оперативной памяти на ПК. Когда в одной из предыдущих частей я наткнулся на битую планку памяти, пришедшую в комплекте с платой, он (вместе с п...

Как компании улучшают свои приложения с помощью A/B-тестирования A/B-тестирование делает приложения лучше Мелкие компании вряд ли станут заниматься подобным видом тестирования своих продуктов. А/B-тестирование — важная часть бизнеса, который так или иначе связан с технологиями. Его суть заключается в одновременном тестировании разли...

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

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

Разработка hexapod с нуля (часть 8) — улучшенная математика передвижения Всем привет! В результате перехода на удаленную работу у меня появилось больше свободного времени на разработку гексапода (+2 часа в день за счет экономии на дороге). Я наконец-то смог сделать универсальный алгоритм для построения траектории движения в реальном времени. Нов...

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

[Из песочницы] Почем Appium для народа В этой статье мы рассмотрим инструмент Appium. Данная статья является вводным материалом для введения в автоматизированное тестирование мобильных приложений. Она покажет с какими трудностями возможно придется столкнуться при использовании данного инструмента. Рассмотрим неб...

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

Почему мобильным приложениям скоро придёт конец Android-приложениям скоро придёт конец? Мобильные приложения являются неотъемлемой частью как iOS, так и Android. И с чего мы это решили, что им придёт конец? Всё дело в PWA (Progressive Web Apps). Это веб-приложения, построенные на фронтенд-технологиях (HTML, CSS, JavaScrip...

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

[Перевод] DevOps vs Agile: В чем разница Разница в том, что происходит после разработки Когда ПО только начали разрабатывать, процесс разработки не подходил ни под один вид управления. Затем появился водопад, который ввел идею о том, что разработка ПО может быть определена временем создания или сборки приложения....

Тесты в Python: все основные подходы, плюсы и минусы. Доклад Яндекса Перед вами доклад Марии Зеленовой zelma — разработчика в Едадиле. За час Маша рассказала, в чём состоит тестирование программ, какие тесты бывают, зачем их писать. На простых примерах можно узнать про библиотеки для тестирования Python-кода (unittest, pytest, mock), принципы...

Погружение в Charles Proxy Привет, Хабр! Меня зовут Настя, я работаю в команде тестирования мобильных приложений компании FunСorp. При приёмке задач мы уделяем большое внимание проверке клиент-серверного взаимодействия. Опыт проведения собеседований показывает, что новички в тестировании мобильных п...

Интересные материалы: 25.02 В новой подборке рассматриваем 5 самых идиотских ошибок локализации, проектирование нового мобильного приложения Microsoft Office и даже самые распространенные ошибки программирования.

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

Самые распространённые ошибки Google Play: что делать и как исправить Google Play - это наиболее безопасная и доступная площадка, с которой можно скачать игры и приложения для Android-устройств. Само приложение Google Play работает очень стабильно, но иногда при загрузке из него выбранного контента всё-таки возникают ошибки. Для того, чтобы по...

[Перевод] Баги, которые разрушили ваш замок Уолтер Брайт — «великодушный пожизненный диктатор» языка программирования D и основатель Digital Mars. За его плечами не один десяток лет опыта в разработке компиляторов и интерпретаторов для нескольких языков, в числе которых Zortech C++ — первый нативный компилятор C++. Он...

Тестирование AI и стартаперство: интервью с Адамом Карми (Applitools) Есть популярная фраза «scratch your own itch»: если хочешь создать новый продукт, делай такой, которого тебе самому не хватает. В этом случае лучше всего понимаешь, как сделать его хорошо. Адам Карми остро ощущал нехватку инструмента для визуального тестирования, который по...

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

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

Современный код для выполнения HTTP запросов в Swift 5 с помощью Combine и применение их в SwiftUI. Часть 1 Выполнение HTTP запросов — это один из самых важных навыков, которые необходимо получить при разработке iOS приложений. В более ранних версиях Swift (до версии 5) вне зависимости от того, формировали ли вы эти запросы «с нуля» или с использование известного фреймворка Alam...

[Из песочницы] Typescript Compiler API: возьми управление компилятором в свои руки В разработке приложений на Typescript всегда есть этап сборки проекта. Обычно для этого используются системы сборки и автоматизации workflow, такие как webpack или gulp, обвешанные достаточным количеством плагинов, либо процесс сборки размазывается в командах package.json ...

Изготовление печати в домашних условиях. Обзор лазера NEJE 30W. Ребята всем привет!Сегодня в этой статье покажу вам как с помощью лазера NEJE 30W (актуально и для любых других лазеров) в домашних условиях я сделал печать!Заходя вперед хочу заметить, что остался очень доволен результатом. Не смотря на то что это мой первый опыт.Как всегда...

100 теоретических вопросов по JavaScript Доброго времени суток, друзья! Представляю вашему вниманию список из первых 100 вопросов по основам JavaScript из этого репозитория с краткими ответами и ссылками на «Современный учебник по JavaScript» Ильи Кантора (JSR) и MDN. Также в конце имеются ссылки на статьи для п...

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

Обратная разработка аналоговой видеокамеры Ранее на хабре я публиковал статьи, связанные с системой аналогового видеонаблюдения. В частности, были статьи, связанные с изучением файловой системы HDD видеорегистратора (DVR). В данной статье речь пойдёт про обзор навороченной аналоговой видеокамеры модели Evidence EVR...

Что такое Deno и заменит ли он Node.js? Доброго времени суток. Представляю вашему вниманию перевод статьи «Deno vs. Node.js — Here are the most Important Differences» автора Louis Petrik. Является ли Deno новым Node.js? Или всего лишь хорошей альтернативой? В этой статье я постараюсь ответить на данные вопросы...

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

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

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

API для генерации ответов сервера с любыми кодами статусов Привет, Хабр! Работая над библиотекой-обёрткой REST API, я столкнулся с проблемой. Для тестирования обработки ошибочных кодов ответа сервера (400, 500, 403 и т.д.) необходимо искусственно создавать условия на сервере для получения соответствующих кодов. При правильно настрое...

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

[Из песочницы] User flow: как создаются популярные приложения и сайты Всем привет! Я – Максим Скворцов, UX/UI-дизайнер Omega-R, международной компании по разработке и интеграции IT-решений. Я занимаюсь проектированием и визуализацией интерфейсов мобильных и веб-приложений. На базе своего опыта в сфере информационных технологий и экспертизы...

Как интерфейс рассказывает истории в видеоиграх В копилке Plarium Krasnodar набралось много интересных материалов, и мы хотим поделиться примечательными, на наш взгляд, примерами нарративного дизайна, связанного с проектированием пользовательского взаимодействия (UX) и графического интерфейса (GUI). Читать дальше →

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

Оптимизация C++: совмещаем скорость и высокий уровень. Доклад Яндекса Что влияет на скорость работы программ на C++ и как её добиться при высоком уровне кода? Ведущий разработчик библиотеки CatBoost Евгений Петров ответил на эти вопросы на примерах и иллюстрациях из опыта работы над CatBoost для x86_64. Видео доклада ...

Эти 19 устройств Huawei получила бета-версию HarmonyOS 2.0 Вчера Huawei сделала доступной бета-версию HarmonyOS 2.0 Mobile Developer Beta для большего количества устройств, включая складной телефон Huawei Mate X2, модели линейки Huawei Mate 40 и умные телевизоры Huawei Smart Screen. Изначально бета-версия для разработчиков Harm...

USB4: все тот же USB? В конце 2020 года ожидается выход устройств с поддержкой интерфейсов нового поколения USB4/Thunderbolt 4. Данные интерфейсы похожи, однако имеют ряд принципиальных отличий. Среди таких отличий можно выделить наиболее значимое: спецификации на USB4 общедоступные и любой жела...

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

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

React Native для самых маленьких. Опыт мобильной разработки Однажды, в одной продуктовой команде захотели разработать мобильное приложение, чтобы проверить гипотезу востребованности продукта и его удобства для пользователей. И то, что в команде не было мобильных разработчиков, не помешало. Два фронтенд-разработчика взяли React Native...

[Из песочницы] Внесите эти изменения, чтобы соответствовать стандартам доступности веб-дизайна Привет, Хабр! Предлагаю Вашему вниманию перевод статьи «Make These Changes to Meet Web Design Accessibility Standards» автора Richard Pilton Что такое доступность? Доступность (всё чаще мы её так и называем Accessibility) — это дизайн продуктов, устройств или услуг, которые...

Как писать читаемый код Бывает, что посмотрев на старый код, мы говорим: «Его проще переписать, чем поменять». Печально, если речь идет о нашем собственном коде, с такой любовь написанном несколько лет назад. Head of Developer Relations в Evrone Григорий Петров в своем докладе на TechLead Conf 2020...

Современный веб не готов к складным смартфонам Не так давно компания Samsung продемонстрировала нам, на что способны её работники в вопросе разработке в какой-то степени революционных продуктов. Galaxy Fold стал первым в мире складным телефоном с гибким экраном. С тех пор были выпущены Huawei Mate X, Galaxy Z Flip, Moto...

Как не править Python тесты И вынести тестируемые результаты вне кода. Это статья об автоматизации и увеличения удобства тестирования на Python. Вводная У меня был проект, который разрабатывался уже несколько лет. В проекте отсутствовали тесты. А также у него были активные зависимости от других команд...

Swagger/OpenAPI Specification как основа для ваших приёмочных тестов Человеческая жизнь слишком коротка, чтобы тратить ее на интеграцию и документацию. С помощью контрактов и кодогенераторов можно сократить рутинные операции и переписывание кода, обеспечить недосягаемое иными способами покрытие и достигнуть невыразимой чёткости бытия тестиров...

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

Как отправить отзыв в Apple после выхода iOS 14 Совсем немного времени остается до конференции Apple WWDC 2020, а значит скоро компания выпустит первую бета-версию iOS 14 для разработчиков (во всяком случае, так происходит каждый год), а затем и для участников публичной программы бета-тестирования. Несмотря на то, что в ...

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

[Перевод] Интернационализация: как вывести продукт на международный рынок (и не сойти с ума) «Наш продукт популярен на внутреннем рынке, поэтому теперь мы думаем выходить на международный. С чего мне начать как менеджеру по продукту?» «Поначалу выход на новый рынок не казался чем-то сверхсложным, но вопросов появляется всё больше и больше… а сроки поджимают». Прим...

JavaScript библиотека Webix глазами новичка. Часть 4. Работа с данными. CRUD Я — начинающий front-end разработчик. Сейчас я учусь и стажируюсь в одной минской IT компании. Изучение основ web-ui проходит на примере JS библиотеки Webix и я хочу поделиться своим скромным опытом и сохранить его в виде небольшого учебного пособия по этой интересной UI б...

Rust глазами Python-разработчика Привет! Мы – часть команды разработки «Рамблер/Медиа» (портал «Рамблер»). На протяжении трех лет мы поддерживаем и развиваем несколько больших python-приложений. Чуть больше года назад перед нами встала задача написать еще одно большое приложение – API к основному хранилищу...

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

IoT там, где вы не ждали. Разработка и тестирование (часть 1) Применением IoT в фитнес-трекерах, колонках, пылесосах уже никого не удивишь. Думали ли вы, что различные датчики можно установить в мусорные контейнеры и мусоровозы для контроля вывоза мусора? Звучит странно и вызывает вопрос: «А зачем?». Анатолию Коровину случилось порабо...

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

Позиция win-win: улучшаем пользовательский опыт и делаем онлайн-бизнес счастливее Рынок e-commerce в России растет быстро. По данным Яндекс.Кассы, с 2015 по 2020 год малый и средний бизнес вырос в объеме продаж на 148%, в 2 раза увеличилось количество платежей и стал выше средний чек. Если предприниматель опытный и не вчера вышел с бизнесом в онлайн, то о...

[Перевод] Пентест Active Directory. Часть 1 Перевод статьи подготовлен специально для студентов курса «Пентест. Практика тестирования на проникновение». У меня было несколько клиентов, пришедших ко мне перед пентестом с уверенностью в том, что они были в хорошей форме, потому что их анализ уязвимостей не показал кр...

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

Разработка приложений и Blue-Green deployment опираясь на методологию The Twelve-Factor App с примерами на php и docker Для начала немного теории. Что такое The Twelve-Factor App? Простыми словами, это документ призванный упростить разработку SaaS приложений, помогает тем что, осведомляет разработчиков и DevOps инженеров о проблемах \ практиках которые чаще всего встречались в разработке со...

[Перевод] 7 способов повысить эффективность автоматизации тестирования в Agile разработке Перевод статьи подготовлен в преддверии старта курса «Java QA Engineer». Разработка программного обеспечения — процесс сложный. Еще на заре разработки программного обеспечения как дисциплины архитекторы поняли, что без структуры управления этот процесс превращается в хао...

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

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

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

[Из песочницы] 3 года программирования вслепую. Часть 1 Всем доброго времени суток! Хочу поделиться своим опытом из разряда «Войти в IT». Тем более, что он происходил в полностью невизуальном режиме. О незрячих людях в нашем обществе знают мало, а о незрячих программистах еще меньше. И эта статья предлагает проследить за тем, как...

5 самых частых ошибок на экзамене IELTS и как их избежать IELTS — это один из двух самых популярных экзаменов для оценки уровня английского языка. Каждый год его проходит свыше 3 млн людей во всем мире. Формат экзамена вполне стандартный и к нему можно подготовиться. Но из года в год сдающие допускают одни и те же ошибки, кото...

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

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

Давайте отключим vacuum?! Алексей Лесовский Расшифровка доклада 2018 года Алексея Лесовского "Давайте отключим vacuum?!" Такой призыв часто возникает, когда в PostgreSQL возникают проблемы, и главным подозреваемым оказывается vacuum (далее по тексту просто "вакуум"). По опыту, многие наступают на э...

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

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

Автоматизация Для Самых Маленьких. Заметки. RESTful API Эта статья — одна из обещанных коротких заметок по ходу цикла статей Автоматизация Для Самых Маленьких. Поскольку основным способом взаимодействия с IPAM-системой будет RESTful API, я решил рассказать о нём отдельно. Воздаю хвалы архитекторам современного мира — у нас ест...

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

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

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

Как мы разрабатывали кроссплатформенную BPMS Всем привет! В НОРБИТ мы занимаемся SRM-решениями. Сегодня расскажем про особенный для нашей команды проект — разработку BPMS-платформы NBT. Мы не просто создали бизнес-решение для заказчика, а разработали собственный продукт с нуля, — всё это подразумевает совершенно друго...

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

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

Maltego Часть 5. Твое лицо тебя сдало Здравствуйте, дорогие друзья. Сегодня поговорим о более тяжелой артиллерии в рамках OSINT, а именно, о применении технологии распознавания лиц от Social Links для Maltego. Если не читали предыдущие статьи цикла о Maltego, то сейчас — самое время: Часть 1 — Что такое Malt...

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

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

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

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

[Из песочницы] Фаззинг тестирование веб-интерфейса. Расшифровка доклада В начале этого года Тензор проводил митап в городе Иваново, на котором я выступил с докладом про эксперименты с фаззинг-тестированием интерфейса. Тут расшифровка этого доклада. Когда обезьяны заменят всех QA? Можно ли отказаться от ручного тестирования и UI автотестов, з...

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

Мнение вирусолога: можно ли второй раз заразиться CoVID-19? Как думаете, что самое неприятное в пандемии нового коронавируса? Мне кажется, что это недостаток информации. Ведь если подумать, о большинстве заразных заболеваний мы знаем довольно много, а о CoVID-19, который появился всего несколько месяцев назад и унес – на момент напи...

Прощание с десятилетием: почему «Windows как сервис» стала такой важной концепцией «Windows как Service» является одним из наиболее значительных изменений, которые Microsoft внесла в свою операционную систему за долгое время. Многие посчитают, что это не слишком важно, но на самом деле концепция «Windows как сервис» значительно повлияла на мир персональных...

Разработка первого проекта на платформе Microsoft Dynamics 365 For Finance and Operations Всем привет! Меня зовут Таня, я тимлид группы разработки Axapta в компании Lamoda. В этой статье речь пойдет про разработку нашего первого проекта на платформе Microsoft Dynamics 365 For Finance and Operations. Я расскажу про подходы, которые мы использовали, про ошибки,...

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

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

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

[Из песочницы] Telegram-бот для управления инфраструктурой По мотивам статьи Телеграмм-бот для системного администратора (статья не моя, я только прочитал) захотел поделиться опытом создания Telegram-бота на PowerShell для управления серверами приложений. Будет текст, код и немножко картинок. Конструктивная критика приветствуется...

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

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

[Перевод] Подсчет запросов: Базовое тестирование производительности на Django Всем привет. Мы подготовили перевод еще одного полезного материала для студентов курса «Web-разработчик на Python», который стартовал вчера. Очень часто можно услышать о методах тестирования, таких как TDD, и о том, как тестировать бизнес-логику приложения. Однако тестиро...

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

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

PostgreSQL: Серверное программирование на «человеческом» языке (PL/Perl, PL/Python, PL/v8) Postgres знаменит своей расширяемостью, что относится и к поддержке процедурных языков (PL). Никто не может похвастаться языком списком языков такой длины, а потенциально этот список и вовсе не ограничен: для того, чтобы подключить язык к серверу, не требуется сверхусилий. М...

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

Apple выпустила iOS 13.4 beta 3 для разработчиков Среди пользователей Apple нет однозначно суеверных людей, однако за годы знакомства с фирменной техникой компании у многих выработался чуть ли не условный рефлекс на восприятие тех или иных примет. Наверное, каждый фанат яблочного бренда знает, что бета-версии – самый надёж...

[Перевод] Как достичь Уровня 5 по модели CMM в области QA и тестирования Перевод статьи подготовлен специально для студентов курса Python QA Engineer. В этой статье мы поговорим о том, что такое уровни СММ и как их достичь в QA-процессах, а также рассмотрим доступные и понятные примеры. Для любого процесса, будь то процесс контроля качества,...

Автоматизация тестирования мобильных приложений. Часть 2: предусловия, верификация элементов и независимость шагов Меня зовут Дмитрий Макаренко, я Mobile QA Engineer в Badoo и Bumble: занимаюсь тестированием новой функциональности в наших приложениях вручную и покрытием её автотестами. За последние два года подход к автоматизации тестирования в нашей компании сильно изменился. Колич...

Настроили мониторинг. Что дальше? Всем привет! Меня зовут Мазеин Михаил, я занимаюсь бекенд-разработкой в ManyChat. Одна из моих задач — анализ и повышение качества нашего продукта через системы мониторингов, алармов и сопутствующих процессов. Я на своем опыте убедился в том, что выстроить мониторинг — недо...

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

[Перевод] Sysbench и распределение случайных величин Перевод статьи подготовлен специально для студентов курса «Базы данных». То, что вы, возможно, не знали о генерации случайных чисел в sysbench Sysbench — это популярный инструмент для тестирования производительности. Первоначально он был написан Петром Зайцевым в начале ...

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

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

Дайджест интересных материалов для мобильного разработчика #333 (10 — 16 февраля) В новом дайджесте навыки iOS-разработчиков, тестирование пушей в эмуляторе, распознавание объектов и текстов, четыре года разработки и идеи больших хитов, разочарование во Flutter и исследования монетизации. Читать дальше →

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

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

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

[Из песочницы] Редактор кода на Android: часть 1 Перед тем как закончить работу над своим редактором кода я много раз наступал на грабли, наверное декомпилировал десятки похожих приложений, и в данной серии статей я расскажу о том чему научился, каких ошибок можно избежать и много других интересных вещей. Читать дальше &r...

Разработка hexapod с нуля (часть 6) — переход на 3D печать и новая электроника Всем привет! Разработка гексапода активно продолжается и пришло время показать кардинальные изменения в конструкции и планы по прошивке. Появилась большая пауза в выходе новых статей в результате длительного проектирования новой электроники и корпуса. В принципе об этом и б...

Property-based тестирование для JavaScript и UI: необычный подход к автоматизированным тестам Falcon Heavy Demo Mission Писать тесты скучно. А то, что скучно делать, постоянно откладывается. Меня зовут Назим Гафаров, я разработчик интерфейсов в Mail.ru Cloud Solutions, и в этой статье покажу вам другой, немного странный подход к автоматизированному тестированию. Чи...

Blue-Green Deployment на минималках В этой статье мы с помощью bash, ssh, docker и nginx организуем бесшовную выкладку веб-приложения. Blue-green deployment — это техника, позволяющая мгновенно обновлять приложение, не отклоняя ни одного запроса. Она является одной из стратегий zero downtime deployment и лучше...

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

Jenkins Pipeline: заметки об оптимизации. Часть 1 Меня зовут Илья Гуляев, я занимаюсь автоматизацией тестирования в команде Post Deployment Verification в компании DINS. В DINS мы используем Jenkins во многих процессах: от сборки билдов до запуска деплоев и автотестов. В моей команде мы используем Jenkins в качестве плат...

Apple выпустила iOS 13.4.5 beta 2 для разработчиков Вслед за iPhone SE 2020, чей анонс состоялся несколько часов назад, Apple выпустила вторую бета-версию iOS 13.4.5. На самом деле выхода этого обновления ждали ещё вчера, но, скорее всего, в Купертино решили приурочить запуск нового аппарата к запуску свежей сборки iOS. Это ...

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

[Перевод] Падение в кроличью нору: История об одной ошибке перезагрузки varnish — часть 1 ghostinushanka, молотив по кнопкам в течение предыдущих 20 минут, как если бы от этого зависела его жизнь, поворачивается ко мне с полу-диким выражением в глазах и хитрой ухмылкой — "Чувак, я кажется понял." "Посмотри вот сюда," — говорит, показывая на один из символов на эк...

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

[Перевод] Kha vs HTML5: Компилируем JavaScript в C++ Предлагаю вашему вниманию перевод доклада Роберта Конрада с прошедшего в октябре прошлого года HaxeUp Sessions 2019 Linz. Данный доклад посвящен процессу портирования на консоли игры CrossCode, изначально написанной на HTML5. Если вам понравится перевод, то рекомендую также ...

Видео Live! Badoo Localization Meetup 21 апреля Неделю назад прошел Live! Badoo Localization Meetup. Для нас это первая встреча на такую тему, да еще и в онлайн-формате. Отдельные секции по локализации редко встречаются на конференциях, поэтому собрать вместе четырех спикеров и больше 100 заинтересованных слушателей был...

Как получить OpenID/OAuth2 токен для тестирования front-end rest сервисов? Есть задача нагрузочно потестировать фронтальные веб рест апи. Ресты защищены OAuth с Authorization Code Grant. Значит появляется необходимость наличия валидного токена для Authorization: Bearer TOKEN. Вопрос — как его взять? И так это сделать красиво и правильно? Вот тут я...

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

Snort или Suricata. Часть 3: защищаем офисную сеть В предыдущей статье мы рассказали, как запустить стабильную версию Suricata в Ubuntu 18.04 LTS. Настроить IDS на одном узле и подключить бесплатные наборы правил довольно несложно. Сегодня мы разберемся, как с помощью установленной на виртуальном сервере Suricata защитить ко...

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

[Перевод] Понимаем и ищем уязвимости типа Open Redirect Перевод статьи подготовлен в преддверии старта курса «Безопасность веб-приложений». Одной из наиболее распространенных и тем не менее игнорируемых веб-разработчиками уязвимостей является Open Redirect (также известная как «Непроверенные переадресации и пересылки»). Веб-са...

Xiaomi серьезно прокачает «Галерею» в MIUI 12: эти функции мы ждали уже давно Несколько недель назад Xiaomi отказалась от поддержки версии MIUI 11 для разработчиков, чтобы сконцентрировать свои ресурсы на новом интерфейсе MIUI 12, который, по слухам, может появиться уже в конце мая. Сегодня мы получили первые сообщения о том, что нас ждет, и это, преж...

[Перевод] Использование VueJS вместе с Django Перевод статьи подготовлен в преддверии старта курса «Web-разработчик на Python». Введение Сейчас я работаю над очень интересным проектом. И в нем все сложно, потому что сам проект очень масштабный, а я занимаюсь им один в свободное время, при этом работая полный рабочий ...

Правила, которые я выработал по результатам тысяч code review Во время работы в LinkedIn большая часть моей работы состояла из проверки кода, code review. Были определенные ситуации, которые постоянно возникали снова и снова, поэтому я решил составить список, которым и поделился с командой. Вот мои 3 (+1 бонус) наиболее распространенны...

Почему не все ошибки надо исправлять, чтобы сделать ИТ-продукт лучше Данный материал подготовлен нашим партнером — компанией «Эквио». 2+2=3 2+2=5 2+2=4 Покупая ИТ-продукт для решения тех или иных корпоративных задач, бизнес-заказчики чаще всего задумываются о его стоимости, функциональности, удобстве, интеграционных возможностях и т.д. ...

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

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

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

eBPF: современные возможности интроспекции в Linux, или Ядро больше не черный ящик У всех есть любимые книжки про магию. У кого-то это Толкин, у кого-то — Пратчетт, у кого-то, как у меня, Макс Фрай. Сегодня я расскажу вам о моей любимой IT-магии — о BPF и современной инфраструктуре вокруг него. BPF сейчас на пике популярности. Технология развивается сем...

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

PlayStation 5 и Xbox Series X очень мощные Крупные издатели видеоигр уже получили свои модели PlayStation 5 и Xbox Series X для разработки нового контента и тестов. Некоторые из разработчиков решили поделиться своими впечатлениями. Например, генеральный директор студии Tequila Works заявил, что консоли нового поколен...

Современная сборка 2020 для frontend. Gulp4 Начало Посмотрев на календарь, я понял, что уже 2020, а посмотрев на свою сборку, которая была с 2018 года, я понял, что пора её менять. В этой статье мы разберем структуру проекта, плагины (минимальный набор функционала) и их новые возможности, которые добавились за такое б...

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

V&V не значит вендетта На протяжении последних шести лет я занимаюсь разработкой и приёмочным тестированием самых разных по сложности и размеру приложений для проведения и сопровождения клинических исследований. Big data, огромное количество визуализаций и представлений, хранилища данных, ETL и ...

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

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

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

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

Починить, хакнуть, раскопать. Решаем онлайн-квест Droid Mission В прошлом году мы провели онлайн-квест для мобильных разработчиков — Droid Mission. В течение месяца участники должны были решить как можно больше задач в трёх направлениях: fix it! (поиск ошибок и исследование кода), hack it! (реверс-инжиниринг) и dig it! (изучение особен...

Microsoft показала новую Windows Эмулятор создавался для разработчиков программного обеспечения, чтобы те могли адаптировать свое ПО под устройства с парой полноценных дисплеев. Скачать его вместе с образом бета-версии Windows 10X Microsoft предлагает со своего официального сайта, но сделать это смогут толь...

[Перевод] Как выполняются арт-тесты для игр Введение Меня зовут Джонджо Хемменс, я художник по окружениям (Environment Artist) и только начинаю свой путь в индустрии видеоигр. В этой статье я объясню, что такое арт-тесты, покажу примеры успешных тестов с ArtStation, расскажу о правилах и этикете, а также процитирую с...

Microsoft рассказала о разработке приложений для Windows 10X и Surface Duo Microsoft поделилась новой информацией о разработке приложений для грядущей операционной системы Windows 10X, а также рассказала, как разработчики могут адаптировать Android-приложения для поддержки Surface Duo. Складные устройства с двумя экранами предоставляют новые спосо...

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

Феном, пингвин и оверклокинг (часть 2) Вторая часть статьи о личном опыте разгона старого железа под Linux, в которой рассмотрен базовый набор софта для тестирования процессора и памяти. Снова Ubuntu, но в этот раз состоится на экскурсия в не такой уж страшный мир программ с текстовым интерфейсом (графический тож...

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

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

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

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

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

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

До свидания, Google Fonts. Последний аргумент Шрифты Google Fonts страшно популярны. Их загружают более 42,8 миллиона сайтов, в том числе Хабр. Библиотека Google Fonts содержит 1023 свободных шрифта и программные интерфейсы для их внедрения через CSS. Очень удобно, казалось бы. Во многих статьях отмечалось, в какую ц...

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

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

Где логика?! История тестирования одного микросервиса Эта статья — расшифровка доклада Дениса Кудряшова, QA-инженера Leroy Merlin, с конференции QA Meeting Point 2020. Денис рассказал, как столкнулся со сложной логикой, реализованной в сервисе, применил подход Control Flow Testing, и что из этого вышло. Из текста вы узнаете, мо...

Каким будет дизайн мобильных приложений в ближайшем будущем? One UI Если среди наших читателей есть те, кто интересуется дизайном, вы наверняка заметили, что всё чаще в Сети можно найти примеры UI/UX-дизайна, связанного с мобильными устройствами. Для многих дизайнеров мобильный интерфейс стал главным, ведь по статистике всё больше люд...

Истории аварий с Patroni, или Как уронить PostgreSQL-кластер В PostgreSQL нет High Availability из коробки. Чтобы добиться HA, нужно что-то поставить, настроить — приложить усилия. Есть несколько инструментов, которые помогут повысить доступность PostgreSQL, и один из них — Patroni. На первый взгляд, поставив Patroni в тестовой среде...

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

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

Война с тормозами. Оптимизация количества рендеров компонентов в React Native Привет, Хабр! Меня зовут Камо Сперцян, я занимаюсь React Native разработкой в Profi.ru. Если вы решили воспользоваться технологией React Native для быстрой доставки продуктовых фич и сосредоточились на скорости разработки, то, скорее всего, столкнётесь с проблемами производи...

[Из песочницы] Популярные ошибки в английском среди IT-специалистов Основываясь на многолетнем опыте преподавания английского специалистам IT-сферы (программистам, бизнес аналитикам, тестировщикам, маркетинговым специалистам), я собрала список наиболее распространенных среди “айтишников” ошибок в английском языке. Читать дальше →

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

Масштабирование андроид-тестирования в Одноклассниках Привет! Меня зовут Роман Иваницкий, я работаю в команде автоматизации тестирования Одноклассников. OK — огромный сервис с более чем 70 миллионами пользователей. Если говорить про мобильные устройства, то большинство пользуется OK.RU на смартфонах под управлением Android. П...

Free Trial, motherf***er, do you need it? — или почему бесплатные траялы и фримиум модели подходят далеко не для всех На этой неделе случилось 3 вещи: Несколько дней назад в своей статье о фреймворке формировании привычек я обещал рассказать о том, почему мы используем ПЛАТНЫЙ VS бесплатный trial-период в своих продуктах. Ребята из Getcourse написали заплюсованую статью про онлайн-школ...

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

Как я искал нормальный RDP-клиент и нашел целых три Remote Desktop Protocol — один из самых распространенных протоколов для удаленного управления, потому что он используется для работы с операционными системами Windows, которые часто незаменимы в корпоративной среде. Естественно, самый распространенный способ подключения к ...

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

Основы deep learning на примере дебага автоэнкодера, часть №1 Если почитать обучение по автоэнкодерам на сайте keras.io, то один из первых посылов там звучит примерно так: на практике автоэнкодеры почти никогда не используются, но про них часто рассказывают в обучалках и народу заходит, поэтому мы решили написать свою обучалку про них:...

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

RxRelay – это магия? Subject vs RxRelay В Android-комьюнити я встречал три типа разработчиков, которые сталкивались с RxRelay: Те, кто не понимают зачем RxRelay используется в их проекте, зачем он нужен и чем отличается от Subject Те, кто думают, что RxRelay «проглатывает» ошибки или «после того, как произошла...

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

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

Миллиард операций в базе данных за 0.3 секунды. Не сравнивайте OLTP с OLAP, а QuestDB с PostgreSQL Очень часто за свой 15летний опыт работы разработчиком ПО и тимлидом я сталкиваюсь с одним и тем же. Программирование превращается в религию — редко кто пытается внедрять технологии на основе разумного выбора, аргументированно, с учетом ограничений, возможностей переносимост...

[Перевод] Мой ответ тем, кто полагает, что значение TDD преувеличено Однажды я разговорился с разработчиком из компании-клиента о программном обеспечении. Мне стоило бы понять то, что разговор пошёл куда-то не туда, когда собеседник сказал о том, как нам, разработчикам ПО, повезло: «Мы обманом заставляем организации платить нам за, как кажетс...

[Перевод] Создайте свой собственный симулятор Q# — Часть 1 Симуляторы — это особенно универсальная особенность QDK. Они позволяют вам выполнять различные задачи в программе на Q#, не меняя ее. Такие задачи включают симуляцию полного состояния, оценку ресурса или симуляцию трассировки. Новый интерфейс IQuantumProcessor позволяет очен...

Почему на телефоне не получается смотреть животных в 3D от Google Помните свой первый AR? Это был совершенно новый опыт. Даже если это было что-то невнятное в плохом качестве, оно все равно было вписано в реальный мир. Это действительно было интересно и необычно. Сейчас мы уже немного привыкли к этому, но все равно всегда рады поиграться ...

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

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

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

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

Еще раз про try и Try По вопросу обработки ошибок уже множество статей написано и все равно возникают вопросы и споры. Я не стану рассматривать все способы и языки, но хотел бы остановится на исключениях в JVM и сравнить их с функциональным подходом (`Try`/`Either`) на примере Scala.Эта статья та...

Microsoft анонсировала WinUI 3 Preview 1 Microsoft выпустила публичную версию WinUI 3 Preview 1 (библиотека для создания пользовательского интерфейса приложений). В компании утверждают, что это самая передовая разработка на данный момент. Она помогает использовать новые дизайнерские элементы в универсальных програ...

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

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

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

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

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

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

Google выпустила Android 11 Developer Preview 3 Компания Google объявила о выпуске второй предварительной сборки Android 11 для разработчиков. Вероятнее всего, следом за Android 11 DP3 будет выпущена бета-версия мобильной операционной системы, которая будет более пригодна для тестирования обычными потребителями. Основные...

[Перевод] Алгоритм AdaBoost Перевод статьи подготовлен в преддверии старта продвинутого курса «Математика для Data Scienсe». Введение Алгоритм AdaBoost можно использовать для повышения производительности любого алгоритма машинного обучения. Машинное обучение стало мощным инструментом, позволяющим д...

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

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

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

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

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

[Перевод] Trusted Types — новый способ защиты кода веб-приложений от XSS-атак Компания Google разработала API, которое позволяет современным веб-приложениям защитить свой фронтенд от XSS-атак, а конкретнее — от JavaScript инъекций в DOM (DOM-Based Cross Site Scripting). Межсайтовый скриптинг (XSS) — наиболее распространённый тип атак, связанных с уяз...

[Из песочницы] DevOps инструменты не только для DevOps. Процесс построения инфраструктуры автоматизации тестирования с нуля Часть 1: Web / Android Примечание: данная статья является переводом на русский язык оригинальной статьи «DevOps tools are not only for DevOps. Building test automation infrastructure from scratch». Однако все иллюстрации, ссылки, цитаты и термины сохранены на языке оригинал...

Apple устранила ошибку с чтением зашифрованных писем в macOS и объединяет покупки приложений для различных платформ На прошлой неделе компания Apple выпустила обновление для своей настольной операционной системы macOS Catalina 10.15.3 и устранила в нём одну из ошибок приватности. Эта ошибка позволяла просматривать текст из зашифрованных писем, как если бы они были незашифрованными. Эту ош...

Поговорим про градиенты в Unity Всём привет. Меня зовут Григорий Дядиченко. Я в Unity разработке около 7 лет, и за это время повидал многое. Одна из основных проблем, которая встречается, когда забираешь у неопытных ребят проект - градиенты в интерфейсах. В целом ошибки в разработке интерфейсов не редкость...

Таким может быть интерфейс Android на устройствах с двумя экранами Как работает Android с двумя экранами? Компания Microsoft в октябре прошлого года представила миру ряд новинок. Среди них оказался и Surface Duo — это первый смартфон компании на Android. Но это не единственная его особенность, ведь аппарат имеет два экрана, которые сп...

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

Опыт работы над проектом на базе Vue3 в 2021 году Около полугода пришлось поработать над миграцией неработающего проекта на базе Vue 2 на проект Vue v.3. Поскольку до сих пор работа с ним остаётся экзотикой, попробую описать состояние развития этого проекта в июле 2021 года, через 10 месяцев после релиза, и какие особеннос...

[Перевод] Усложняем Sci-fi-модели процедурно: что такое Greeble и как его использовать Для начала позвольте мне пожаловаться, что «greeble» — ужасное слово, которое нужно изгнать из словаря. Ну, сняв камень с души, перейдём к объяснениям. Greeble — это мелкие повторяющиеся детали, добавляемые к модели, чтобы придать ей ощущение масштаба и определённой эстети...

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

[Перевод] 6 советов по нагрузочному тестированию к Черной пятнице Перевод статьи подготовлен в преддверии старта нового курса от OTUS — «Нагрузочное тестирование». От автора: И хотя черная пятница не скоро, советы из этой статьи определенно будут полезны тем, кто занимается нагрузочным тестированием. Черная пятница приближается очень б...

[Из песочницы] BPF для самых маленьких, часть нулевая: classic BPF Berkeley Packet Filters (BPF) — это технология ядра Linux, которая не сходит с первых полос англоязычных технических изданий вот уже несколько лет подряд. Конференции забиты докладами про использование и разработку BPF. David Miller, мантейнер сетевой подсистемы Linux, назыв...

Deno v1.0: Безопасная среда выполнения для JavaScript и TypeScript. Обзор возможностей Вступление Установка Как это выглядит внутри Функциональность WASM, RUST, Плагины Debugging, IDE Тестирование Compiler API CI Разное Вступление Если вы уже оказались за чтением этой статьи, то наверняка уже слышали про выступление Ryan Dahl, создателя NodeJS, на JSConf, г...

[Перевод] Неоморфизм с помощью SwiftUI. Часть 1 Салют, хабровчане! В преддверии старта продвинутого курса «Разработчик IOS» мы подготовили еще один интересный перевод. Неоморфный дизайн — это, пожалуй, самый интересный тренд последних месяцев, хотя, по правде говоря, Apple использовала его в качестве своего дизайнерског...

Google купила создателя платформы для разработки ПО без написания кода Вице-президент по развитию платформы для бизнес-приложений в Google Cloud Амит Завери (Amit Zavery) написал в блоге, что AppSheet покупается для того, чтобы предоставить любой компании возможность создавать мобильные приложения, даже той, у которой нет команды разработчиков....

Как писать книгу в LaTeXe по физике. Cтатья 1 Это моя первая статья на Хабре. Глава 1. Введение 1.1 Позвольте представиться и почему я это пишу    Я — научный сотрудник, физик. Недавно выпустил книгу по спектроскопии объемом 880 страниц и весом 1560 грамм. Эту книгу я писал 9 лет, параллельно читая лекции по...

Windows 10 стала еще ближе к macOS. Добавлены звонки со смартфона на ПК Вчера компания Microsoft сообщила о завершении тестирования новой версии приложения Your Phone для компьютеров, которые работают под управлением операционной системы Windows 10. Теперь приложение Your Phone позволяет пользователям синхронизировать свои компьютер и ...

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

«Техносерв Консалтинг» представляет решение TSC Rocket TSC Rocket SBL повышает скорость реализации и вывода новых продуктов за счет автоматизации процессов подготовки и выпуска нового функционала для системы и минимизирует возникновение возможных ошибок. Доступный и удобный интерфейс позволяет отслеживать состояния стендов разра...

Как скачать и пользоваться TapTap вместо Google Play, и есть ли смысл?  В Китае нет Google. Наверняка, это не шок для большинства из вас, но для многих невозможность смотреть YouTube во время поездки в Китай звучит как нонсенс. Это тем более странно потому, что именно Android - самая распространённая мобильная операционная система во всём Китае....

Не баян: ищем дубликаты изображений на основе Milvus с индексом FAISS внутри В user-generated проектах часто приходится бороться с дубликатами, а для нас это особенно актуально, так как основной контент мобильного приложения iFunny — это изображения, которые постятся десятками тысяч ежедневно. Для поиска повторов мы написали отдельную систему, чтоб...

Хакатон на 200 человек — что нужно для организации Знаете, почему проекты в крупных компаниях делаются по полгода? Потому что один из самых медленных процессов — это общение с заказчиком для выявления деталей его потребностей. Простое уточнение ТЗ (на гвозди или на клей надо крепить) может занимать до трёх месяцев. Я сейча...

Angular: Интеграционное тестирование (Shallow testing) Когда приложение разрастается или нам очень важно, чтобы оно работало верно при любом рефакторинге, мы начинаем задумываться о unit или e2e тестировании. За несколько лет работы с Angular — приложениями в корпоративном сегменте, поймав множество проблем при рефакторинге ...

Прошивка для фотополимерного LCD 3D-принтера своими руками. Часть 2 Продолжение статьи о написании своей прошивки для фотополимерного LCD 3D-принтера. Первая часть лежит тут. В ней было описан первый этап — создание графического пользовательского интерфейса для дисплея с сенсорной панелью. В этой части продолжу описывать этапы своего проек...

Ролики-мислиды: почему они работают? Если в ролике об игре показан геймплей, которого в рекламируемой игре на самом деле нет, — перед вами ролик-мислид. Вам наверняка встречались такие! За счёт чего они работают и приносят желаемое разработчикам и издателям? Мы попытались докопаться до сути и найти ответы на эт...

[Из песочницы] 20 советов пилоту DJI Mavic Mini, чтобы уберечь свой дрон от крушений и утраты Адекватная цена на летающую камеру профессионального качества, компактный размер, простое управление и большой ресурс аккумуляторов уже сделали Миник «народным» дроном для фотографов, путешественников и энтузиастов. Но этот квадрокоптер — не для рекордов высоты, дальности...

AnyFix — универсальное приложение для решения 330 проблем iOS-устройств Многие попадали в ситуацию, когда после неудачной установки обновления iOS устройство превращалось в «кирпич» и просто зависало на этапе включения. Особенно актуально это сейчас при работе с бета-версиями iOS 14. Или если iPhone вдруг показывает черный экран или начинает са...

Как обойти проверку на Рутинг устройства обхитрив библиотеку RootBeer? В этой статье я хочу поделиться своим опытом обхода проверки на рутованость своего устройства. Статья может рассматриваться не только как самостоятельный материал, но и как прямое продолжения моей работы из предыдущей статьи. Будем декомпелировать .apk, копаться в обфусциров...

Для Terraria вышло финальное DLC под названием Journey's End Студия Re-Logic объявила о запуске последнего обновления для песочницы Terraria, которое получило название Journey’s End. После него будут мелкие обновления, исправляющие ошибки, но новых контентных DLC ждать не стоит. В игре появились два новых режима: Journey Mode — настр...

Windows 10 20H2 может быть еще одним обновлением в стиле Service Pack Microsoft, очевидно, решила выпустить одно основное и одно второстепенное обновление в 2020 году. Это изменение, которое многие администраторы и потребители, вероятно, оценят, учитывая, что два больших обновления функций Windows 10 были излишне в году. Ранее в этом году мы с...

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

[Перевод] Проигравшие в гонке квантовые компьютеры и их роковые ошибки Инженерное искусство влияет на быстродействие сильнее физики Квантовый компьютер от IBM на 16 кубитах из 2017 В октябре 2019 компания Google заявила о достижении квантового превосходства – этим громким именем назвали тот этап развития квантовых компьютеров, на котором можн...

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

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

Меняйся легче! Компания ELMA презентовала low-code платформу ELMA4 В Москве прошла конференция ELMA DAY 2020. В ее рамках компания ELMA провела презентацию новой версии BPM-системы ELMA4 и конструктора интерфейсов для быстрого создания бизнес-приложений и решения партнеров ELMA, а также предоставила возможность своим партнерам и клиентам по...

Почему я ушел с React Native и перешёл во Flutter: Часть 1 Всем привет. Меня зовут Дмитрий Андриянов. Два года писал на React Native, сейчас я разработчик в Surf и уже полтора года пишу на Flutter. Когда я только решил серьёзно взяться за Flutter, я бы очень хотел найти статью от разработчика, который перешёл с React Native на Flutt...

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

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

Собрать команду UX-дизайнеров и потерять 7 миллионов из-за ошибок найма Это история масштабирования. С марта по сентябрь мы наняли 22 UX-дизайнера, а уже к октябрю расстались с половиной из них — написали про критичные ошибки и выводы, которые помогли изменить подход к найму и собрать сильную команду. Плюс рассказали, где и как искать дизайне...

[Из песочницы] Postman — Автотестирование метрики в AppMetrica 1. Введение Недавно встала задачка периодически проверять, все ли события в мобильном приложении работают корректно, передаются ли в AppMetrica. Подробности интеграции я опущу, имеется в виду, что она уже есть в МП. Для проверки нашел два варианта: через web интерфейс че...

Robot Framework для автоматизации тестирования: ограничения и плюшки В автоматизации тестирования я уже более 11 лет. Скажу сразу, что являюсь поклонником старомодного тестирования на Java и очень настороженно отношусь к различным готовым фреймворкам. Если вы придерживаетесь такого же мнения или только задумываетесь об использовании Robot Fra...

В Диспетчере задач Windows 10 появился эко-режим. Зачем? Microsoft представила в канале для разработчиков новую сборку Windows 10 – Windows 10 Insider Preview Build 21364. В ней исправлены многие ошибки и появился ряд функций, которые дебютируют в пользовательской версии Windows 10 осенью – с большим обновлен...

Data Engineer or die: история одного разработчика В начале декабря я совершил роковую ошибку принял поворотное решение в своей жизни разработчика и перешёл в команду Data Engineering (DE) внутри компании. В статье я поделюсь некоторыми наблюдениями, которые я сделал за два месяца работы в команде DE. Читать дальше →

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

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

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

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

Google представила новые анимации для Android Помните презентацию Android Lollipop, на которой нам показывали Material Design со множеством крутых анимаций? С тех пор, конечно, интерфейсы приложений действительно стали «материальными», но вот с анимациями как-то не задалось. Ситуацию может изменить новая moti...

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

[Перевод] Celery throttling — настраивам rate limit для очередей ​ В этой статье я покажу как решить одну из проблем, возникающих при использовании распределенных очередей задач — регулирование пропускной способности очереди, или же, более простым языком, настройка ее rate limit'a. В качестве примера я возьму python и свою любимую связку ...

Ошибка синего экрана (BSOD) Video Scheduler Internal Error в Windows: как исправить? Ошибки встречаются на всех компьютерах, ваш ничем не отличается от прочих. Надо понимать, что это всего лишь машина, которая сталкивается с самыми разнообразными проблемами аппаратного или программного обеспечения.  ♥ ПО ТЕМЕ: Как вывести экран iPhone или Android на компьюте...

[Из песочницы] Игровая консоль stm32 Немного шутеров для stm32; как, зачем, что получилось. Предисловие Будучи поклонником «старой» школы шутеров с одной стороны и embedded-разработчиком с другой, я всегда испытывал интерес, как и почему авторам той эпохи удавалось воплощать новый жанр, требующий совершенно ...

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

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

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

Дипфейк видео по одному кадру пример работы First Order Motion Model Можно ли из одной фотографии сделать целый фильм? А записав движения одного человека, заменить его на другого в видео? Безусловно, ответ на эти вопросы, крайне важен для таких сфер как кинематограф, фотография, разработка компьютерных...

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

Maltego Часть 4. ВК, Instagram, LinkedIN и другие фантастические твари И снова здравствуйте, дорогие друзья. Мы опять готовимся окунуться в прекрасный мир OSINT. Статьи в нашем цикле прибавляются, поэтому пора уже вводить некое подобие оглавления, ведь дальше их будет только больше. Итак, что мы уже разобрали в Maltego: Часть 1 — Что такое ...

Project Reunion призван упростить разработку UWP и Win32-приложений для Windows 10 В рамках конференции Build 2020 компания Microsoft анонсировала проект Project Reunion, призванный сократить разрыв между разработкой Win32 и UWP-приложений путём объединения Windows API и UWP API. Этот шаг позволит разработчикам модернизировать и создавать приложения, рабо...

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

Имитируем сетевые проблемы в Linux Всем привет, меня зовут Саша, я руковожу тестированием бэкенда в FunCorp. У нас, как и у многих, реализована сервис-ориентированная архитектура. С одной стороны, это упрощает работу, т.к. каждый сервис проще тестировать по отдельности, но с другой — появляется необходимость ...

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

Книга “Разработка мобильных приложений на C# для iOS и Android” Уважаемые читатели, рады представить вам книгу “Разработка мобильных приложений на C# для iOS и Android” от уже хорошо известного вам автора и эксперта в Xamarin, Вячеслава Черникова из компании Binwell. Без долгих прелюдий передаю слово автору. Добрый день, уважаемый хабр...

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

Apple выпускает iOS и iPadOS 13.4.1 с исправлением ошибки FaceTime Сегодня Apple выпустила iOS и iPadOS 13.4.1, небольшие обновления, которые появятся через две недели после выпуска iOS и iPadOS 13.4, основные обновления, которые представили общий доступ к папкам iCloud, новую панель инструментов Mail, поддержку трекпада для iPad и многое д...

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

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

Разведка с geo2ip и reverse-whois Разведка сетевых ресурсов компании главным образом заключается в брутфорсе поддоменов с последующим ресолвом найденных сетевых блоков. Далее могут быть найдены новые домены 2 уровня и процедура повторяется снова. Это позволяет найти новые IP-адреса на каждой итерации.Этот ме...

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

Wrike TechClub: Delivery infrastructure – processes and tools (DevOps+QAA). Доклады на английском Привет, Хабр! Мы в Wrike тестируем новые форматы технических мероприятий и приглашаем всех посмотреть видео нашего первого онлайн-митапа на английском. Поговорили про DevOps инфраструктуру для тестирования веб-приложений, кубы, Selenium и его альтернативы. Читать дальше &r...

Уродливый API В этой статье хочу рассказать о проблемах, с которыми столкнулся в процессе интеграции с API по HTTP протоколу, и поделиться опытом их решения.При разработке фронтенд приложений (mobile/web), часто сталкиваешься с тем, что API на бэкенде еще не реализован. Приходится ждать р...

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

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

Kotlin Multiplatform. Работаем с многопоточностью на практике. Ч.1 Доброго всем времени суток! С вами я, Анна Жаркова, ведущий мобильный разработчик компании «Usetech» Я давно занимаюсь не только нативной разработкой (как iOS, так и Android), но и кросс-платформенной. В свое время я очень плотно писала на Xamarin (iOS, Android, так и Forms...

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

Как избежать популярных ошибок сетевой безопасности В середине сентября стало известно об утечке почти 2Тб данных, в которых содержалась информация о работе системы оперативно-розыскных мероприятий (СОРМ) в сети одного российского оператора связи. Утечка произошла из-за неправильно настроенной утилиты резервного копирования...

Apple объединила встроенные покупки в приложениях для iOS, tvOS и macOS Apple хочет, чтобы пользователи не платили за одни и те же встроенные покупки дважды Педантичность и старательность, с которыми Apple подходит к освоению новых технологий, чаще всего идут ей на пользу, позволяя создавать то, что называется полезными инновациями. Однако время...

Дайджест интересных материалов для мобильного разработчика #332 (3 — 9 февраля) На этой неделе мы рассказываем про важные и интересные новости и статьи — “универсальные покупки”, единый магазин и платформу от Xiaomi, Huawei, Oppo и Vivo, про рисование муравьями и тех, кто играет в мобильные игры в России, про локализацию приложений и пробку из смартфоно...

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

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

Использование Intel Processor Trace для трассировки кода System Management Mode Эта статья посвящена тестированию возможности использования технологии Intel Processor Trace (Intel PT) для записи трассы в System Management Mode (SMM) режиме. Работа была выполнена в рамках Summer Of Hack 2019. Автор работы: @sysenter_eip. Большинство использованных инст...

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

«Объясняю каждую строчку» — разработка видеоигры в прямом эфире Э-ге-гей! Кто хочет узнать, как делаются видеоигры? Ладно, я угораю. Уж где-где, а тут публика должна быть в курсе. Тем не менее, как насчёт увидеть процесс создания игры? Полностью. С первой до последней строчки. ВСЁ. Вообще ВСЁ. Не просто увидеть, даже поучаствовать, если...

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

[Из песочницы] Машинное обучение на Android Привет, Хабр! Представляю вашему внимаю перевод статьи из журнала APC. Машинное обучение и интеллектуальный анализ данных – это практические разработки ИИ, благодаря которым появляются приложения различных тематик, начиная от воздухоплавания и заканчивая зоологией. Эти про...

Как передать ссылку с iPhone на любое устройство с браузером Нам пишет разработчик приложения LinkBridge На AppleInsider.ru довольно давно существует рубрика Dev Story. В ней разработчики рассказывают про опыт создания своих приложений. Но что-то в последнее время их почти не стало. С тех ламповых времен, когда игры имели Lite и полн...

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

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

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

Какой планшет на Android купить в 2021 и не переплатить Что нам известно об Android-планшетах? Да практически ничего. Если многих из нас попросить привести в пример хоть одну такую «таблетку», скорее всего вы услышите в ответ Galaxy Tab или в крайнем случае Xiaomi Mi Pad. Вот только планшеты от Samsung довольно дорогие, а Mi Pad...

Слухи: в игры на PlayStation 5 можно будет играть в обход главного меню У консоли нового поколения PlayStation 5 будет новая особенность, которой до этого мы не видели — функция «Activities», которая позволяет загружать любимые игры без необходимости входа в главное меню. Информация поступила от европейского издания Gamereactor, обозревавшего г...

MVVM на основе Combine в UIKit и SwiftUI приложениях для UIKit разработчиков Мы знаем, что ObservableObject классы с его @Published свойствами созданы в Combine специально для View Model в SwiftUI. Но в точности ту же самую View Model можно использовать и в UIKit для реализации архитектуры MVVM, хотя  в этом случае нам придется вручную «привязать» ...

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

Jenkins Pipeline. Что это и как использовать в тестировании Меня зовут Александр Михайлов, я работаю в команде интеграционного тестирования компании ЮMoney.Наша команда занимается приемочным тестированием. Оно включает в себя прогон и разбор автотестов на критичные бизнес-процессы в тестовой среде, приближенной по конфигурации к прод...

2. Check Point SandBlast Agent Management Platform. Интерфейс веб-консоли управления и установка агента Продолжаем изучать новую облачную платформу Check Point Management Platform для управления средством защиты пользовательских компьютеров — SandBlast Agent. В предыдущей статье мы описали основные составляющие SandBlast Agent, познакомились с архитектурой Check Point Infini...

Microsoft показа новый интерфейс Windows 10 в видео Изменения коснутся меню «Пуска» Windows 10, где акцент сделан на «живых плитках» (Live Tiles). Также Microsoft планирует уменьшить цветность блоков мозаичного интерфейса в меню «Пуск», чтобы упростить процесс поиска приложений. Кроме того, появятся более современные контекст...

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

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

[Из песочницы] Разработка круговых интерфейсов Оглавление Введение Классификация круговых интерфейсов Принципы проектирования кругового интерфейса Основы анимации кругового интерфейса Библиотека классов на JavaScript для реализации круговых интерфейсов Введение Круговой интерфейс – это графический интерфейс, элементы кот...

[Из песочницы] «Подготовка к собеседованию QA» starter pack или самая большая шпаргалка вопросов-ответов по тестированию 163 страницы смеси ответов на вопросы с реальных собеседований, перевода интересного контента с зарубежных ресурсов и агрегации материала с отечественных. Читать дальше →

[Перевод] Что такое SDLC? Этапы, методология и процессы жизненного цикла программного обеспечения Цитируя автора книги Managing Information Technology Projects Джеймса Тейлора, «жизненный цикл проекта охватывает всю деятельность проекта». Задачей же разработки ПО является выполнение требований продукта. Если вы хотите научиться создавать и выпускать высококачественное ПО...

Apple запретила большинство приложений про коронавирус За последние два месяца коронавирус сильно подпортил Apple бизнес. Компании пришлось закрыть многие магазины по всему миру, поставщики теряют деньги, заводы снова открылись только недавно, и то работают не на полную мощность. В своем роде вирус добрался и до App Store ̵...

Стоит ли покупать Huawei P30 Pro? Что говорят владельцы Все знают, что смартфоны Huawei – это тот ещё компромисс. Считается, что аппараты этого бренда покупают либо люди совсем непритязательные, которые плохо понимают, зачем вообще нужен смартфон, либо истые фанаты, которым сам чёрт не брат. Мне понятны эти опасения. Всё-таки от...

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

[Из песочницы] Windows 10 + Linux. Настройка GUI KDE Plasma для Ubuntu 20.04 в WSL2. Пошаговое руководство Введение Данная статья предназначена вниманию системных администраторов, которые подготавливают типовые рабочие места на компьютерах под управлением ОС Windows 10, в том числе для разработчиков ПО. Следует отметить, что существует определенная проблема, связанная с невозм...

HorizontalList с помощью SwiftUI Вступление SwiftUI — это современный UI framework, который позволяет разработчикам быстро и легко создавать собственные приложения на всех платформах Apple. Используя простой, понятный декларативный стиль, разработчики могут создавать потрясающие пользовательские интерфейсы ...

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

Instagram убирал кнопку IGTV с главной страницы TechCrunch попытался выяснить: у приложения проблемы или всё же дело в чём-то другом? Ведь из более чем миллиарда пользователей Instagram за 18 месяцев с момента запуска его загрузили максимум 7 млн. К слову, TikTok может похва...

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

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

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

[Перевод] Что же такого особенного в IAsyncEnumerable в .NET Core 3.0? Перевод статьи подготовлен в преддверии старта курса «Разработчик C#». Одной из наиболее важных функций .NET Core 3.0 и C# 8.0 стал новый IAsyncEnumerable<T> (он же асинхронный поток). Но что в нем такого особенного? Что же мы можем сделать теперь, что было невозмо...

Huawei выпустила бету Harmony OS для смартфонов раньше времени. Что о ней говорят тестеры Несмотря на то что Huawei представила Harmony OS около полутора лет назад, с тех пор не только не появилось ни одного смартфона, который бы работал на новой платформе, но даже её саму не видел никто, кроме Huawei. Однако этой осенью компания объявила, что запустит бета-тест...

Web-приложения на Flask: как бороться с циклическими импортами Flask – один из самых популярных фреймворков Python, но некоторые ошибки при его использовании могут привести к определенным затруднениям. В этой статье мы расскажем о том, как не допустить возникновения циклических импортов в проекте. Читать дальше →

Стороннее приложение Brawl Stars вредит некоторым смартфонам Samsung Обычно мы не говорим об ошибках в сторонних приложениях, если только они не связаны с Android-смартфонами. Но это именно наш случай, так как проблема выявлена на телефонах Samsung Galaxy, и она пришла вместе с последним обновлением мобильной игры Brawl Stars. Многие поклонни...

Разработка hexapod с нуля (часть 7) — новый корпус, прикладное ПО и протоколы общения Всем привет! Проектирование, печать и сборка нового корпуса наконец-то завершились. Также завершился запуск новой платы управления на базе STM32F373 и FW успешно перенесено на новый МК. Все ближе подходит релиз версии 1.00 с базовым функционалом. Теперь можно рассказать о т...

Анонс Windows 10 Insider Preview Build 19041.173 (Поздний доступ) Добрый вечер, друзья! Компания Microsoft выпустила предварительную сборку Windows 10 (версия 2004) под номером 19041.173 (KB4552455) для участников программы Windows Insider, использующих канал «Поздний доступ». Это накопительное обновление включает в себя исправления, сдел...

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

Как получить 9 своих лучших фото в Instagram за год Это приложение покажет ваши лучшие фото в Instagram за год Нам пишет разработчик приложения best9.app Меня зовут Михаил Луцкий, на настоящий момент я студент магистратуры московского вуза. Работаю iOS-программистом, преимущественно пишу на Swift. Программированием увлекаюсь ...

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

7 QA-шных грехов, которые помогут или помешают тестировщику (стать тем, кем ты хочешь) Привет, меня зовут Иван, я работаю руководителем горизонтали автоматизаторов в Skyeng. Занимаюсь менеджментом ресурсов автоматизаторов, внедряю процессы, которые упрощают работу ребят, пишу инструменты для команды (слак-бот, всякие интеграции с TMS и др.), менторю начинающ...

[Перевод] Как я самостоятельно выучил новый язык за 12 месяцев: тотальный гайд От А0 до B2 за год Чуть больше года назад я был полностью монолингвом, говорящем только на английском, с нулевыми познаниями во французском языке. А спустя двенадцать месяцев, я с лёгкостью сдал международный экзамен DELF B2. Если вы не знаете, что значит «В2», посмотрите ш...

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

Сервисный бизнес и кризис: истории успеха. Как нестандартное мышление работает на вас? Приветствую всех! С кем не знаком — Андрей Балякин. Последние 6 лет плотно связан с сервисной индустрией (ремонт и обслуживание оборудования). Являюсь со-основателем и CEO проекта HubEx — онлайн платформы автоматизации сервисных процессов в компаниях с мобильными сотрудникам...

Автодополнение кода и проверка типов для boto3 Картинка предоcтавлена автором boto3-type-annotations, Allie Fitter Сейчас мало кто пишет большие проекты на Python без аннотации типов. Это и просто, и позволяет отловить кучу ошибок еще на этапе написания кода, да и работает очень шустро. Но стоит добавить в зависимости b...

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

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

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

[Инструкция] Создание гугл-тестов (гугл-форм) Спасибо пользователям Exosphere и Yuriy_krd за помощь и конструктивную критику Иногда кажется, что создать что-то по конструктору весьма быстро и просто: хоть сайт, хоть опрос, хоть таблицы. Однако часто упускаешь из внимания какие-то обидные мелочи, из-за которых время уход...

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

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

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

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

16 тысяч подключений в секунду: как мы тестировали СКАЛУ-Р Виртуальное Рабочее Место Дано: 96 серверов, 16 000 виртуальных рабочих мест, 160 нагрузочных виртуальных машин и наш софт: система управления платформой виртуализации Скала-Р Управление (СУПВ) и VDI-решение Скала-Р Виртуальное Рабочее Место (ВРМ). Задача: протестировать систему на эдакий logon stor...

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

Медленное движение «влево» в автоматизации тестирования Похоже, что стремление «сдвинуть» тестирование влево, к началу конвейера, в сторону разработчиков для ускорения разработки приложений и их развертывания зашло в определённый тупик. Недавний опрос, проведённый компанией Perforce (специализируется на разработке сре...

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

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

[Перевод] Реализация алгоритма Минимакс на примере игры «Крестики-Нолики» Недавно я написал непобедимую игру «Крестики-Нолики». Это был интересный и поучительный проект, который многому меня научил. Если у вас есть желание посмотреть результат — это можно сделать здесь. Для того чтобы сделать игру непобедимой, было необходимо создать алгоритм, ...

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

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

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

Диагностируем проблемы в микросервисной архитектуре на Node.js с помощью OpenTracing и Jaeger Всем привет! В современном мире крайне важна возможность масштабировать приложение по щелчку пальцев, ведь нагрузка на приложение может сильно отличаться в разное время. Наплыв клиентов, которые решили воспользоваться вашим сервисом, может принести как большую прибыль так и...

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

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

Apple сделала покупки в App Store и Mac App Store общими Несмотря на то что каталоги App Store и Mac App Store всегда существовали независимо друг от друга из-за большой разницы в создании мобильных и десктопных приложений, Apple решила позволить разработчикам продавать свой софт для всех своих платформ сразу, говорится на официа...

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

Действительно ли Snapdragon 865 самый быстрый мобильный процессор на сегодня? Насколько быстр Snapdragon 865? Каждый год Qualcomm выпускает свой новейший процессорый сокет, который (что логично) мощнее предыдущего. Но в этом году у нас есть приятное исключение. Как мы недавно уже сообщали, по всей видимости, Snapdragon 865 — это самый быстрый мо...

Umka: новый статически типизированный скриптовый язык Только что вышла первая версия разработанного мной статически типизированного встраиваемого скриптового языка Umka. Он призван сочетать гибкость привычных скриптовых языков с защитой от ошибок типов на этапе компиляции в байт-код. Основная идея языка — Explicit is better th...

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

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

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

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

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

Ошибка андроида "в приложении Google снова произошел сбой" - решение проблемы На андроид вылетает диалоговое окно с уведомлением ошибки от приложения Google? Сам столкнулся с такой ошибкой - на видео покажу как быстро устранить сбой в приложении Google

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

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

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

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

Сравнение камер iPhone SE 2 и iPhone 11 Pro Камера этого смартфона сегодня нам интереснее всего. На этой неделе первые покупатели начали получать iPhone SE второго поколения, который Apple показала неделей ранее. Мы уже составили первое впечатление и поделились им. Теперь мы продолжаем в нем разбираться, но говорить о...

[Перевод] С чего начать изучение Flutter в 2021 году Как и многие мобильные разработчики, мы с нетерпением ждали презентации Flutter и теперь хотим поделиться с читателями Хабра переводом статьи Tadas Petra о том, как можно выстроить свое обучение, если вы хотите познакомиться с Flutter и кроссплатформенными приложениями в 202...

Гайд по UI анимации. Как начать анимировать интерфейсы Привет! Меня зовут Айгуль, я продуктовый дизайнер в Райффайзенбанке, а до этого работала в Mail.ru Group, OneTwoTrip и приложила руку к нескольким стартапам. Как-то я взяла на себя задачу продумать систему UI-анимаций для дизайн-системы. Но когда я начала над ней работу...

Хакатоны. Как выжать максимум и выжить Доброго всем времени суток! Меня зовут Александр Михалин — я .NET разработчик в компании “Рексофт”. За моей спиной 7 хакатонов, причем один в качестве члена жюри. Я не спал 8 ночей, выпил 52 чашки кофе, 15 банок редбулла, со мной в команде побывали 24 человека. Сегодня я х...

Концепт торрент-клиента в стиле Windows 10 Если вы используете Windows 10 и ищете современный торрент-клиент, вы, вероятно, заметили, что приложений с современным дизайном практически нет. Это связано с тем, что, несмотря на множество приложений BitTorrent, которые вы можете загрузить прямо сейчас, ни одно из них не ...

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

Wonder Bar — это как Touch Bar, только для мобильных ПК с Windows 10X Как известно, компания Microsoft разработала специально для двухэкранных мобильных устройств операционную систему Windows 10X. Конечно, это не полностью новая ОС, а скорее просто оптимизированный вариант обычной Windows 10 с рядом изменений и новых функций. Одна из них ...

Android. Surface Дисклеймер Данная статья предназначена для начинающих андроид разработчиков с небольшим опытом работы с видео и/или камерой, особенно тех кто начал разбирать примеры grafika и кому они показались сложными — здесь будет рассмотрен похожий код с упрощенным описанием основных ш...

Windows 10 May 2020 Update выйдет в следующем месяце Microsoft наконец-то выпускает обновление для Windows 10 версии 2004 для инсайдеров в канале Release Preview. Сегодня компания также подтвердила, что обновление 20H1 приближается к концу фазы тестирования. Как мы уже знаем, обновление Windows 10 May 2020 Update было сделано ...

Не запускаются приложения на iPhone с ошибкой «Общий доступ закрыт». Как решить За последние несколько дней многие пользователи iPhone и iPad на iOS 13 столкнулись с проблемами с запуском некоторых приложений. При этом появляется ошибка «Общий доступ к этому приложению теперь для Вас закрыт» или «This app is no longer shared with you», в зависимости от...

[Перевод] Изменение требований к проекту — ключевая проблема разработки ПО Шаги по разработке большой компьютерной программы для доставки заказчику Иллюстрация выше — из статьи д-ра Уинстона Ройса «Управление разработкой больших программных систем» 1970 года. Считается, что это первое в программной инженерии описание модели водопада. Диаграммы д-...

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

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

Как помыть руки, чтобы на них не осталось опасных бактерий? Практически с самого начала 2020 года весь мир обеспокоен тем, что по миру активно распространяется коронавирус CoVID-2019. По данным South China Morning Post, из-за этой болезни на момент написания статьи умерло более 3200 человек и это число продолжает расти. Чтобы снизит...

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

[Перевод] «Ленивая» загрузка с помощью Intersection Observer API Доброго времени суток, друзья! В данной статье мы познакомимся с Intersection Observer API, новым мощным инструментом для «ленивой» загрузки изображений и других элементов на странице, поддерживаемым всеми современными браузерами. Мы можем использовать этот инструмент для...

iPhone 11 Pro Max уже работает на новой iOS до анонса Компания Apple представит новую мобильную операционную систему iOS 14 только на международной конференции для разработчиков WWDC, которая состоится в июне. Тем не менее, в сети уже появились видео и фото, демонстрирующие работу новой ОС на iPhone.  Роликом поделил...

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

155 вопросов по JavaScript Доброго времени суток, друзья! Продолжаю работать над вопросами по JavaScript в форме викторины, о чем ранее писал здесь. Адаптировал приложение под мобильники, поправил стили, добавил сервис-воркер, мета-теги, линки и манифест, также немного поколдовал с серверной частью...

[Из песочницы] Формат таблиц в pandas Если вы пока ещё не знаете как транслировать данные напрямую заказчику в подсознание или, на худой конец, текст сообщения в slack, вам пригодится информация о том, как сделать процесс интерпретации таблиц более быстрым и комфортным. Например, в excel для этого используется у...

«Типичная ошибка — бездумно бенчмаркать всё подряд»: интервью с Андреем Акиньшиным о бенчмаркинге В прошлом году у Андрея Акиньшина (DreamWalker) вышла книга «Pro .NET Benchmarking»: подробнейший труд о бенчмаркинге, полезный как .NET-разработчикам, так и айтишникам других направлений. Когда до её выхода оставалась пара месяцев, мы проводили конференцию DotNext 2019 ...

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

Sentry — трекинг java exception в Java Sentry — трекинг java exception в Java Стандартно Java разработчики мониторят ошибки, exception через логи. Но есть и другой способ, а именно отправка exception в Sentry. Sentry — инструмент мониторинга исключений (exception), ошибок в ваших приложениях. Преимущества использ...

[Из песочницы] SwiftUI по полочкам Каждый раз, когда в языке программирования появляется новый Фреймворк, рано или поздно, появляются люди, которые изучают язык именно с него. Вероятно так было и в IOS разработке во времена появления Swift: поначалу он рассматривался как дополнение к Objective-C — но я этого ...

Стоит ли уменьшать разрешение экрана смартфона? Стоит ли уменьшать разрешение экрана смартфона? Функция, позволяющая понизить на программном уровне разрешение экрана, существует на рынке уже несколько лет. Многие при покупке смартфона сразу же решают переходить с 3K-разрешения на FullHD. Самыми популярными устройствами с ...

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

SwiftUI по полочкам: Анимация. Часть 1 Недавно мне попалась свежая статья, в которой ребята пытались воспроизвести интересный концепт средствами SwiftUI. Вот что у них получилось: Я с интересом изучил их код, но испытал некоторое разочарование. Нет, не в том смысле, что они что-то сделали неправильно, вовсе...

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

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

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

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

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

Зачем нам 170 разработчиков Привет, Хабр! Меня зовут Андрей Евсюков, я заместитель CTO в Delivery Club. Наша компания устроена сложнее, чем может показаться, когда представляешь себе сервис по доставке еды. Даже когда примерно знаешь, что там может быть под капотом. В этой серии статей я расскажу о ...

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

Sentry удаленный мониторинг багов в фронтенд приложениях React Мы изучаем использование Sentry с React. Эта статья является частью серии, начинающейся с сообщения об ошибках Sentry на примере: Часть 1. Читать дальше →

Эффективный DevOps Статья по мотивам доклада «Эффективный DevOps / Максим Залысин (Ситимобил)» с конференции DevOps Live 2020 команды Онтико. Читать далее

[Из песочницы] Геокодирование. Как привязать 250 тысяч адресов к координатам за 10 минут? Привет, Хабр! В этой статье я хотел бы поделиться опытом решения маленькой проблемы с большим количеством адресов. Если вы когда-либо работали с API геокодирования или пользовались онлайн инструментами, то думаю вы разделяете мою боль ожидания результата в течение несколь...

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

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

Релиз Windows 10 May 2020 Update все ближе и ближе Предстоящее обновление Microsoft для Windows 10 May 2020 Update (версия 2004) появится немного позже, чем планировалось изначально. Согласно первоначальному графику, обновление Windows 10 May 2020 Update должно было появиться у пользователей примерно в середине мая, но обнов...

Митап по продажам. Формат стендап Технологии успешных продаж-2020. Хотите узнать о горячих трендах в продажах, познакомиться с кейсами и услышать лайфхаки от экспертов — приходите на митап в МТС Университет 11 декабря. Что вас ждет только полезные знания&n...

Компания "Системы компьютерного зрения" представила приложение для подсчета объемов древесины Компания "Системы компьютерного зрения" (входит в группу "ЛАНИТ") разработала систему Smart Timber для подсчета объемов и ведения учета круглого леса. Сервис, основанный на проприетарных технологиях компьютерного зрения и машинного обучения, позволяет лесоперерабатывающим пр...

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

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

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

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

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

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

Microsoft представила SDK Preview для Surface Duo и Windows 10X Microsoft объявила о выпуске предварительной версии набора средств разработки (SDK) для Surface Duo, а также о скором выходе SDK Preview для Windows 10X. Кроме этого, компания представляет предложения новых веб-стандартов для веб-сайтов и PWA-приложений, призванных обеспечи...

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

[Перевод - recovery mode ] Zettelkasten: как один немецкий учёный стал невероятно продуктивным Изображение предоставлено автором. Основано на фотографии Патрика Томаса с Ансплэша Это перевод статьи Дэвида Клира о методе ведения заметок Zettelkasten, благодаря которому немецкий социолог Никлас Луман написал более 70 книг и 400 научных статей. Стоит читать, если вы хо...

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

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

Парсер командной строки на .NET5 Сегодня мы собираемся показать вам, как начать парсинг аргументов командной строки. Кстати, это один пост из серии статей о .NET 5. У нас есть еще много интересного.Приложения командной строки, также известные как консольные приложения, - это программы, созданные для использ...

Huawei объявила о глобальном выпуске EMUI 10.1 и Magic UI 3. У нас в стране очень любят продукцию компании Huawei. Это легко отследить не только в статистике продаж, но и в нашем Telegram-чате, где эта тема обсуждается очень часто и горячо. Именно поэтому выход новой операционной системы это всегда пусть и небольшое, но событие, кото...

Дайджест интересных материалов для мобильного разработчика #334 (17 — 23 февраля) В этом выпуске новый Android 11, открытая палеонтология, удаленная работа и проектирование темных тем, загадочное уведомление «1» от Samsung и разработка игр в Иране. С праздником! Читать дальше →

Опыт построения умного дома на Raspberry Pi и открытой платформе OpenHAB. Часть 1 Два года назад у нас появился загородный дом. Только сейчас, во время пандемии, мы поняли, что это была инвестиция, а не трата бабла повышение уровня жизни. Изначально планировали жить на два дома — квартира в городе и дом за городом. Поэтому появилось желание автоматизирова...

Больше половины специалистов пришли в IT из других сфер Больше половины специалистов в IT и digital меняли профессиюКаждому второму специалисту, работающему в IT или digital (52%), приходилось менять профессию. Среди молодежи (до 24 лет) этот тренд менее выражен: 68% сразу выбрали карьерный путь - или просто еще не успели сменить...

Microsoft Office получил обновление и новые функции Офисный пакет Microsoft Office для операционной системы Windows получил крупное обновление, правда пока в тестовой версии.Участники программы тестирования Office Insiders уже получили доступ к сборке под номером 12513.20010. Данный апдейт приносит ряд изменений и улучшений.Н...

Мобильная разработка — это просто и скучно? Доклад Яндекса Существует миф, что создавать приложения для iOS или Android проще, чем быть, скажем, бэкенд-разработчиком. Разумеется, это не так: в работе с любой платформой есть свои сложности, всюду возникают неочевидные проблемы, требующие навыков в предметной области и за её пределам...

Пользователи Windows 10 столкнулись со сбоями в работе панели Xbox Game Bar Панель Xbox Game Bar в Windows 10 является удобным инструментом, который имеет немало полезных функций, в том числе средства мониторинга ресурсов системы. Однако недавнее обновление на стороне сервера привело к тому, что у некоторых пользователей панель перестала работать, а...

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

Что умеет Dialogflow? 26 ноября в Москве прошла третья в своей истории Conversations – конференция по разговорному искусственному интеллекту для разработчиков и бизнеса, на которой был представлен новый доклад компании «Аэроклуб ИТ». В прошлый раз речь шла об одном из наших исследовательских пр...

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

[Перевод] Как я сгенерировал на Python тысячу лиц для своей игры На определённом этапе разработки своей игры я осознал, что мне нужна система диалогов с лицами-аватарами. Поэтому я решил создать генератор лиц на основе знаменитой игры Papers, Please. Генератор лиц Dukope (из Papers, Please) Сбор данных Я скачал примерно 50 портретов с...

[Перевод] Разработка MQ JMS приложения на Spring Boot Разработчики приложений, работающие на Java, при использовании интерфейса JMS, часто предпочитают работать со Spring Framework. Spring может упростить написание кода новых приложений, предоставляя шаблоны для общих паттернов (templates for common patterns) и успешно исполь...

Новая платформа Google сокращает затраты на обучение ИИ-модулей Фреймворк SEED RL построен на платформе TensorFlow 2.0 и использует комбинацию графических и тензорных модулей для централизации модели логического вывода. Вывод затем выполняется с использованием компонента, который обучает модель.Этот компонент, как заявляют в Google, може...

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

27 июня, стрим-конференция «Кодинг будущего» Привет! Если вы читали наши предыдущие посты, то уже знаете про Alfa Battle для Java-разработчиков. Послезавтра в прямом эфире можно будет посмотреть финал чемпионата, с 12.00 до 18.00. Параллельно стриму с финалом мы запустим стрим-конференцию под названием «Кодинг будуще...

Делаем примеры для STM32, собирающиеся в разных средах разработки Как я уже несколько раз упоминал в прошлых статьях, я один из разработчиков сервиса All Hardware, через который любой желающий может удалённо поработать с различными отладочными платами, которые туда выкладывают производители микроконтроллеров. По умолчанию, в каждую плату з...

[Из песочницы] Apache Kafka Описание одной борьбы (Денис-Карасик) Предлагаю ознакомиться с расшифровкой доклада Дениса Карасик "Кафка. Описание одной борьбы" Apache Kafka часто преподносится как серебряная пуля: стоит только начать ее использовать, как все проблемы решатся сами собой, дыхание станет свежим, а волосы мягкими и шел...

[Перевод] Юнит-тесты на Python: Быстрый старт Перевод статьи подготовлен специально для студентов курса «Python QA Engineer». Юнит-тестирование кода является неотъемлемой частью жизненного цикла разработки программного обеспечения. Юнит-тесты также формируют основу для проведения регрессионного тестирования, то есть о...

[Перевод] В самом популярном фрагменте кода за всю историю StackOverflow ошибка!  Недавнее исследование «Использование и атрибуция сниппетов кода Stack Overflow в проектах GitHub» внезапно обнаружило, что чаще всего в опенсорсных проектах встречается мой ответ, написанный почти десять лет назад. По иронии судьбы, там баг. Давным-давно… Еще в 2010 году я ...

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

Почему восстановленный iPhone лучше нового Xiaomi? Новый Xiaomi или восстановленный iPhone? Очень часто многие противопоставляют покупке iPhone смарфоны компании Xiaomi. Конечно, очевидно, что новые iPhone для фанатов Xiaomi — это слишком дорого и не соответствует железу смартфона. Новый iPhone 7 в России стоит 30 тыся...

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

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

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

(S)SDLC, или Как сделать разработку безопаснее. Часть 3 Этой статьей мы завершим небольшой цикл о построении процесса безопасной разработки на основе SAST — статического анализа кода на безопасность. В первой части мы разобрали основные вопросы, возникающие при внедрении SAST в процесс разработки. Во второй части остановились на ...

Как мы сетапили монорепозиторий с SSR и SPA для Otus.ru В начале 2017 года в KTS поступила задача - реализовать платформу для онлайн-образования Otus.ru.От нас требовалось как можно быстрее собрать портал, на котором можно было бы посмотреть информацию о курсах. Сделать MVP нужно было как можно быстрее, а современные фронтенд-фре...

Что посмотреть на карантине? Подборка материалов от Технострима (часть 3) Продолжаем нашу подборку интересных материалов (первая часть, вторая часть). На этот раз один образовательный курс Техносферы, выступление про модульное тестирование и одна передача из ток-шоу для айтишников «Oh, my code». Читать дальше →

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

Apple открыла iOS 14 для всех смелых и отважных. Публичное бета-тестирование стартовало Компания Apple открыла сегодня публичное бета-тестирование новых версий операционных систем iOS 14 и iPadOS 14, которые приносят множество новых функций.  Apple представила публике iOS 14 и iPadOS 14 на конференции для разработчиков WWDC в конце июня. С того време...

Новый сервис Huawei позволяет запускать Android-приложения без установки Huawei развивает свой магазин приложений, делая его похожим на Google Play С тех пор, как Huawei запретили пользоваться сервисами Google, китайцы пытаются всячески минимизировать понесённые из-за этого потери. Сначала Huawei взялась перевыпускать уже существующие смартфоны п...

PostgreSQL. Добавляем not null constraints в большие таблицы Проекты развиваются, клиентская база увеличивается, базы данных разрастаются, и наступает момент, когда мы начинаем замечать, что некогда простые манипуляции над базами данных требуют более сложных действий, а цена ошибки сильно повышается. Уже нельзя за раз промигрировать...

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

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

Способна ли разогнанная GeForce MX350 догнать мобильную GTX 1050? Вчера мы познакомились с результатами тестирования мобильных видеокарт GeForce MX330 и MX350, которые пока ещё не представлены, но о них уже известно практически всё. Напомним, MX330 — это переименованная MX250, а вот MX350 — условно новая видеокарта. Она ос...

Настройка роутера Zyxel Keenetic Lite Подключить роутер к интернету самостоятельно может каждый если перед ним будет подробная инструкция, но к сожалению далеко не все маршрутизаторы оснащены инструкцией на русском языке. В данном случае пользователи начинают искать информацию в интернете, и нужную для себя инфо...

Самые провальные продукты 2019 года Mate 30 Pro не имеет сервисов Google Чем нам запомнился 2019 год? Конечно, большими событиями, ведь именно в этом году стали появляться в продаже первые гибкие смартфоны и первые 5G-смартфоны. Но не обошлось и без неудачных продуктов, которые мы рассмотрим в этом материале. ...

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

От кода до roadmap: как я перешел из разработки в управление продуктом Во многих IT-компаниях продуктовыми менеджерами становятся бывшие программисты. Это логично, ведь они понимают процесс разработки «изнутри». Но даже они совершают ошибки из-за непонимания процессов, отсутствия навыков управления и незнания инструментов. Так первое время было...

Debouncing с помощью React Hooks: хук для функций Здравствуйте! Меня зовут Игорь Шамаев, я главный инженер по разработке в команде SmartData. Занимаюсь fullstack-разработкой внутренней аналитической BI-системы. В нашей компании React принят в качестве основного стандарта для построения пользовательских интерфейсов. Как и бо...

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

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

[Перевод] Kонференция NDС London. Предотвращение катастрофы микросервисов. Часть 1 Вы потратили месяцы, переделывая свой монолит в микросервисы, и наконец, все собрались, чтобы щелкнуть выключателем. Вы переходите на первую веб-страницу… и ничего не происходит. Перезагружаете ее — и снова ничего хорошего, сайт работает так медленно, что не отвечает в течен...

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

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

Глазные интерфейсы. Доклад в Яндексе В феврале Яндекс провёл вторую конференцию «Я Фронтенд». Мы сделали её непохожей на наши традиционные Я.Субботники — почти все спикеры были не из Яндекса, чтобы зрители могли узнать об опыте разных компаний и разработчиков. За день было съедено 10 кг мармелада, гости посмот...

[Перевод] Портирование API на TypeScript как способ решения проблем React-фронтенд Execute Program перевели с JavaScript на TypeScript. А бэкенд, написанный на Ruby, трогать не стали. Однако проблемы, связанные с этим бэкендом, заставили разработчиков проекта задуматься о переходе с Ruby на TypeScript. Перевод материала, который мы сегодня п...

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

Создание Python-обвязки для библиотек, написанных на C/C++, с помощью SIP. Часть 1 Иногда во время работы над проектом на языке Python возникает желание использовать библиотеку, которая написана не на Python, а, например, на C или C++. Причины для этого могут быть разные Во-первых, Python — язык замечательный, но в некоторых ситуациях недостаточно быстрый....

[Перевод] Четыре приема быстрой разработки на Unity3D Уже долгое время Unity3D — мой любимый инструмент разработки игр, которым я пользуюсь уже более 8 лет — и для профессиональных продуктов, и для личных проектов, и при обучении программированию и гейм-дизайну. Более того, я писал на Unity почти на всех гейм-дже...

Новые закругленные углы в Windows 10 В Windows 10 Sun Valley Update Microsoft внесет несколько изменений в базовый дизайн операционной системы. Наиболее заметным изменением, влияющим на ваши приложения, является то, что окно (контейнер) для приложений Win32 и UWP теперь будет иметь закругленные углы – как и все...

Деплоим проект на Kubernetes в Mail.ru Cloud Solutions. Часть 2: настройка и запуск приложения для транскрибации видео Это продолжение практикума по развертыванию Kubernetes-кластера на базе облака Mail.ru Cloud Solutions и созданию MVP для реального приложения, выполняющего транскрибацию видеофайлов из YouTube. Я Василий Озеров, основатель агентства Fevlake и действующий DevOps-инженер...

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

Поиск ошибки FDCAN, которой нет Всегда работа с CAN была простой, но что-то пошло не так (в устройстве на КДПВ)… В последнее время мне часто удается использовать микроконтроллер STM32H750VB, и вот в одном устройстве понадобилось задействовать шину CAN, но первая же попытка, которую я предпринял показала в...

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

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

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

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

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