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

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

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

[Из песочницы] Чистая архитектура с Typescript: DDD и слоистая архитектура Привет, Хабр! В последнее время уделяю много внимание архитектуре и решил поделиться с сообществом переводом статьи Clean Architecture with Typescript: DDD, Onion автора André Bazaglia. Введение На протяжении более 6 лет моего профессионального опыта, я имел возможность раб...

[Из песочницы] Путь в программисты (С++) Привет. С вами я. Мне нравилось боксировать и бегать на дальние дистанции, и думал я только о спорте, но выучился на моряка. Работал в авиации, а стал программистом С++ в 29. Расскажу, как так получилось. О программировании к октябрю 2017 я знал ровно столько, сколько сейча...

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

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

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

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

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

Не плачь, девчонка! Ответ автору с vc.ru на письмо о Хабре Я давний участник Хабра — обычный читатель и корпоративный автор. Для меня Хабр — это хорошо знакомая, изученная, родная и не враждебная среда, поэтому каждый раз я удивлённо читаю доводы участников «кармасрачей» и обхожу их стороной, потому что писать комментарии на 5000 зн...

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

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

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

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

[Перевод] Привлечение и удержание художников в open-source играх Автор оригинальной статьи — Jetrel. Художник, который активно участвует в проектах Open Source игр. Несколько лет назад он был «арт-директором» игры Battle for Wesnoth. Кроме того, он сделал львиную долю арта для Frogatto and friends и продолжает работать над этой игрой. По...

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

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

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

Шардинг, от которого невозможно отказаться А не пора ли нам шардить коллекции? Не-е-е: у нас нет времени, мы пилим фичи! CPU занят всего на 80% на 64 ядерной виртуалке! данных всего 2Tb! наш ежедневный бекап идет как раз 24 часа! В принципе, для большинства проектов вcё оправдано. Это может быть еще прототип или к...

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

Трюки для обработки метрик в Kapacitor Скорее всего, сегодня уже ни у кого не возникает вопрос, зачем нужно собирать метрики сервисов. Следующий логичный шаг – настроить алертинг на собираемые метрики, который будет оповещать о любых отклонениях в данных в удобные вам каналы (почту, Slack, Telegram). В сервисе он...

Comet — PHP-фреймворк для быстрых REST API Два года я писал микросервисы на Go, используя генераторы кода на базе Swagger. Получались довольно компактные и очень быстрые решения. Сейчас использую PHP, поэтому решил найти средства для решения тех же самых задач в экосистеме языка. Знаю и люблю Laravel и Symfony, но т...

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

Embox на процессоре Эльбрус. Или никогда не забывайте о том, что получили при разведке Данная статья является логическим завершением серии статьей “восхождение на Эльбрус” об ознакомлении Embox с процессорной архитектурой Эльбрус (E2K) . Почему логическим завершением, потому что в результате удалось через telnet запустить приложение, которое выводит на экран ...

[Перевод] Docker передает cnab-to-oci в проект CNAB… и что вообще такое CNAB? Прим. перев.: Эта статья — перевод недавнего анонса из мира контейнеров. В прошлом месяце компания Docker объявила о передаче своей очередной разработки в руки более широкого Open Source-сообщества. Речь шла об инструменте конвертации метаданных CNAB-пакета в формат стандарт...

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

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

[Перевод] Использование API Gateway в качестве единой точки входа для веб-приложений и API Перевод статьи подготовлен специально для студентов курса «Архитектор высоких нагрузок». Введение Преимущества AWS, такие как высокая доступность, масштабируемость и эластичность, уже доказали свою эффективность для SaaS-провайдеров (Software-as-a-Service). При модернизац...

Памятка по борьбе с алкоголем или Как пережить фуршеты Тут вот праздники скоро. Спросил недавно друг «как мне это все пережить?». Я сначала объяснял, а потом решил написать статью на хабр. Рассказанное — услышит один человек, а написанное — прочитаю сотни! Меня, если честно, достаточно сильно раздражают всевозможные застолья. По...

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

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

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

[recovery mode] Архитектура Y messenger Y messenger разрабатывается чтобы быть одновременно и защищенным на уровне Tox, BitMessage, и удобным на уровне Telegram и WhatsApp. В этой статье я опишу как выглядит архитектура и какие решения были использованы чтобы достичь поставленных целей. Какие преимущества совреме...

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

[Перевод] Реализация SOLID и слоистой архитектуры в Node.js с TypeScript и InversifyJS Привет, Хабр! Предлагаю вашему вниманию перевод статьи Implementing SOLID and the onion architecture in Node.js with TypeScript and InversifyJS автора Remo H. Jansen В этой статье мы рассмотрим архитектуру, известную как слоистая (onion). Слоистая архитектура — подход к пост...

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

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

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

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

[Перевод] Как описать архитектуру продукта по нотации C4 Когда мы начали создавать платформу True Engineering, в компании не было единых правил для оформления архитектуры. Разные команды – разные инструменты, разные обозначения и уровни абстракции. Значит, даже подобные решения сравнить между собой не получится, а тому, кто смотри...

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

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

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

11 друзей Sanic’а – собираем асинхронное веб-приложение на Python Рано или поздно маленькие приложения разрастаются до нагруженных production-решений, поэтому программисту необходимо заранее продумать стек технологий. Для Python концептуальный выбор стоит между синхронными и асинхронными фреймворками. После появления библиотеки asyncio поп...

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

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

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

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

Начало кастома мотоцикла, проба пера. Решил для начала немного поменять стандартные поворотники на хвосте мотоцикла на что-то  своё. В итоге спустя несколько попыток и перепроектирования получились первые образцы. Сначала конечно получилось громоздко и не очень село на штатное место (не очень удачно перенёс форм...

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

[Перевод] REST API на Java без фреймворков Перевод статьи подготовлен специально для студентов курса «Разработчик Java». В экосистеме Java есть много фреймворков и библиотек. Хотя и не так много, как в JavaScript, но они и не устаревают так быстро. Тем не менее, это заставило меня задуматься о том, что мы уже забы...

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

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

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

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

Рука Бога. Помощь по талонам Вообще, Рука Бога – это один из самых знаменитых футбольных голов в истории, исполненный аргентинцем Диего Марадоной на 51-й минуте четвертьфинального матча чемпионата мира по футболу 1986 года против сборной Англии. «Рука» — потому что гол был забит рукой. Мы, в своей кома...

3-в-1. Поильник для людей, лейка и соусница. Привет всем! Сегодня - немного о грустном. Так уж вышло, что срочно потребовалась ёмкость, из которой можно было поить человека, не способного держать кружку самостоятельно. Поить его из обычной - очень сложно, можно захлебнуться, т.к. не видно, сколько воды он набрал. Ну и ...

Изучаем React: 300+ вопросов для подготовки к собеседованию Доброго времени суток, друзья! Представляю вашему вниманию первую версию репозитория с большим количеством вопросов (с ответами, разумеется) по React и связанным с ним технологиям. А много — это сколько? Это 322. Почему первая версия? Потому что будет еще и вторая, прим...

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

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

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

Готовый шаблон для тестирования с использованием Spring Представляю вам — готовый шаблон для тестирования с использованием Spring. Введение Цель этой статьи показать, что писать автотесты со Spring проще нежели на чистой Java. Так же хочу продемонстрировать, насколько Java + Spring упрощает жизнь тестировщикам. Для кого эта ...

Особенности строительства национальных дата-центров, Михалыч Проводим измерения для прохождения сертификации по Tier 3 в дата-центре в Стамбуле. И нет, на фото не я. Я руковожу проектами создания ЦОДов в России и за рубежом. И хочу рассказать о том, как в последние годы российские ЦОДы приобретают свой особый стиль проектирования. ...

[Перевод] Keras Functional API в TensorFlow В Keras есть два API для быстрого построения архитектур нейронных сетей Sequential и Functional. Если первый позволяет строить только последовательные архитектуры нейронных сетей, то с помощью Functional API можно задать нейронную сеть в виде произвольного направленного ац...

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

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

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

[Из песочницы] Все, что вы должны знать о std::any Привет, Хабр! Представляем вашему вниманию перевод статьи «Everything You Need to Know About std::any from C++17» автора Bartlomiej Filipek. С помощью std::optional вы можете хранить один какой-то тип. С помощью std::variant вы можете хранить несколько типов в одном объек...

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

Использование TSDuck для мониторинга IP(TS)-потоков На сегодняшний день существуют готовые (проприетарные) решения для мониторинга IP(TS)-потоков, например VB и iQ, они обладают достаточно богатым набором функций и обычно подобные решения имеются у крупных операторов, имеющих дело с ТВ-сервисами. В этой статье описывается реш...

[Перевод] Подмена DLL (DLL hijacking) Всем привет. Прямо сейчас в OTUS открыт набор на апрельский запуск обновленного курса «Реверс-инжиниринг». В преддверии старта курса мы традиционно подготовили перевод интересного материала. В операционной системе Windows приложения и службы при запуске ищут DLL, необходим...

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

Яндекс снабдил англоязычные видео закадровым переводом 7 сентября 2021 года. Яндекс начал предлагать автоматически перевести англоязычные видеоролики. Научно-популярные передачи, кулинарные шоу, лекции Илона Маска и Ричарда Фейнмана, стендапы и видеоблоги - всё это теперь можно посмотреть в русской озвучке. Перевод получается за...

Samsung выпустила приложение «Hand Wash» для Galaxy Watch, напоминающее мыть руки Пандемия COVID-19 уже привела к довольно значительным изменениям в нашей повседневной жизни. Важность регулярного мытья рук для снижения риска заражения вирусом очень высока. Чтобы помочь пользователям, компания Samsung выпустила новое приложение «Hand Wash» для смарт-часов ...

Google засветила новую операционную систему Pigweed Судя по всему, Google работает над проектом новой операционной системы У Google есть много проектов, о которых не знают пользователи. Часть из них просто не пользуется популярностью, а часть держится в секрете самой компанией. Однако тут дело не в том, что поисковый гигант х...

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

[recovery mode] DevOps: автоматизация инфраструктуры на примере Terraform, docker, bash, prometheus exporters, Gitlab и WireGuard Всем привет.Есть такие люди, которые работают с облачной инфраструктурой и не используют автоматизацию, потому что это долго, нужно вникать, а им надо фичи пилить. Накликали что-то там в UI, подключились по ssh, поставили всякого с помощью apt и т.д. и конфигурационные файлы...

Как перестать бояться давать деньги в долг? Это приложение поможет Немногие любят давать деньги в долг в основном по одной простой причине — даже если займ просит близкий друг или родственник, нет никакой гарантии, что долг вернут в полном объеме. Если вы, конечно, не Дон Корлеоне, который точно уверен, что по итогу все равно получит свое....

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

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

[Перевод] Альтернатива ML-Agents: интегрируем нейросети в Unity-проект с помощью PyTorch C++ API Кратко объясню, что будет происходить в этой статье: покажу, как использовать PyTorch C++ API для интеграции нейросети в проект на движке Unity; сам проект я подробно описывать не буду, это не имеет значения для данной статьи; использую готовую модель нейросети, преобраз...

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

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

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

Новые возможности postgres_exporter для мониторинга PostgreSQL Добрый день, читатели habr! В первой заметке о posgres_exporter, я рассмотрел достаточно частный случай, при работе с новой, на тот момент фитчей, а именно возможностью мониторинга одним экспортером набора экземпляров и/или баз данных. И описал тот "букет" проблем с которыми...

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

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

Сколько видеопамяти необходимо современным играм - влияние нехватки видеопамяти на производительность на примере Polaris 4Gb vs 8Gb Данная статья затронет такие вопросы: как 3 - 4 гигабайт видеопамяти хватит всем, видео чип просто не "тянет" текстуры, зачем ему много видеопамяти и я компенсирую нехватку видеопамяти оперативной памятью, по существу все что будет затронуто в данной статье применимо и к дру...

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

[Из песочницы] Захват криптоключей Mifare и копирование ключей домофонов IronLogic своими руками Голыми руками захватывать криптоключи и копировать брелоки Mifare для домофонов конечно невозможно, а вот собрать прибор, который будет это делать вполне реально. Не буду здесь рассказывать о том, что такое Mifare и вдаваться в технические подробности, скажу только, что данн...

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

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

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

[Перевод] Мониторинг распределённых систем — опыт Google (перевод главы книги Google SRE) SRE (Site Reliability Engineering) — подход к обеспечению доступности веб-проектов. Считается фреймворком для DevOps и говорит как добиться успеха в применение DevOps-практик. В этой статье перевод Главы 6 Monitoring Distributed Systems книги Site Reliability Engineering о...

[Перевод] Логирование в Kubernetes: EFK против PLG Мониторинг стал весьма важным компонентом растущих облачных решений с ростом сложности распределенных систем. Он необходим для понимания их поведения. Нужны масштабируемые инструменты, которые смогут собрать данные со всех сервисов — и предоставить специалистам единый интер...

Алексей Грачёв: Go Frontend Kyiv Go Meetup May 2018: Ведущий: – Всем привет! Спасибо, что вы здесь собрались! Сегодня у нас два официальных спикера – Лёша и Ваня. Будет ещё два, если у нас хватит времени. Первый спикер – Алексей Грачёв, он расскажет нам о GopherJS. Алексей Грачёв (далее – АГ): – Я ...

[Перевод] Несколько полезных советов как практиковаться в Python Привет, Хабр! Сегодня я предлагаю Вам перевод статьи Duomly, посвящённой изучению и практике программирования на языке Python. Введение Изучение Python не сильно отличается от изучения других языков программирования. Один путь для становления профессионалом в Python (или в д...

Автоматизация тестирования: Java или Python? Всем привет! В марте OTUS запускает сразу два курса по автоматизации тестирования: «Python QA Engineer» и «Java QA Engineer». У нас часто спрашивают, какой из этих курсов выбрать, ответить на данный вопрос мы решили переводом статьи от компании SafeBear. Один из самых попу...

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

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

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

Калибровка BMG экстртудера для Anycubic Predator Итак, я решил заменить родной титан экструдер от Anycubic на Triangel labs Dual Drive Extruder BMG.Тут я опишу этапы замены экструдера и его калибровку для Anycubic Predator на TriGorilla.1. ставим на место родного экструдера, экструдер от Triangel labs Dual Drive Extruder B...

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

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

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

Как установить Fortnite на Android без Google Play На этой неделе стало известно, что Apple и Google удалили игру Fortnite из своих магазинов приложений. Первыми такое решение приняла Apple, возмутившись тем, что Epic Games – студия-разработчик – добавила в игру собственный инструмент оплаты встроенных покупок. Google тоже ...

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

[Перевод] Prometheus: мониторинг HTTP через Blackbox экспортер Всем привет. В мае OTUS запускает практикум по мониторингу и логированию, как инфраструктуры так и приложений с помощью Zabbix, Prometheus, Grafana и ELK. В связи с этим традиционно делимся полезным материалом по теме. Blackbox экспортер для Prometheus позволяет реализоват...

Navigation Component-дзюцу, vol. 1 — BottomNavigationView Два года назад на Google I/O Android-разработчикам представили новое решение для навигации в приложениях — библиотеку Jetpack Navigation Component. Про маленькие приложения уже было сказано достаточно, а вот о том, с какими проблемами можно столкнуться при переводе большого...

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

TMC2208 для FlashForge Dreamer Не так давно стал обладателем дримера. Печатаем на нем не сильно сложные детали. Стоит он недалеко от рабочего места и постоянный дребезг и "песни" не то чтобы сильно, но раздражали. Не секрет, что драйвера у него стоят 4988 (у кого-то A, у меня HR), да еще и со своими прико...

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

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

[Перевод] Быстрый поиск файлов От переводчика: предлагаю вашему вниманию перевод очень старой статьи, опубликованной 15 января 1983 года. Несмотря на столь внушительный возраст, статья показалась мне интересной, и возможно, что она будет полезной для кого-то и сегодня. На эту статью, кстати, ссылается раз...

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

Сборка приложения среды arduino средствами CI github Немного имея по работе дело с CI/CD (gitlab ce), не так давно на github наткнулся на actions, и решил попробовать, что же это за зверь такой. Собирать JS или какие то другие решения не очень интересно было, поэтому решил протестировать сборку Arduino скетча для esp8266, ...

[Из песочницы] Распределенный реестр для колесных пар: опыт с Hyperledger Fabric Привет, я работаю в команде проекта РРД КП (распределенный реестр данных для контроля жизненного цикла колесных пар). Здесь я хочу поделиться опытом нашей команды в разработке корпоративного блокчейна для данного проекта в условиях ограничений, накладываемых технологией. По ...

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

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

[Перевод] Магические сигнатуры методов в C# Представляю вашему вниманию перевод статьи The Magical Methods in C# автора CEZARY PIĄTEK. Есть определенный набор сигнатур методов в C#, имеющих поддержку на уровне языка. Методы с такими сигнатурами позволяют использовать специальный синтаксис со всеми его преимуществами. ...

Эволюция методов mesh denoising: от простых фильтров до 3D глубокого обучения В этой обзорной статье вы узнаете, что такое mesh denoising, какие методы использовались и используются для устранения шума на полигональных сетках (от классических фильтров до передовых графовых нейронных сетей), и получите общее представление о развитии направления. С пом...

5 шагов к защите коммерческой тайны Как часто вам предлагают заткнуть пальцем пробоину в борту судна? Нам — постоянно! Вот обычная заявка: составьте нам NDA с работником, чтобы защититься от разглашения конфиденциальной информации Почему-то многие в ИТ уверены, что для защиты информации компании необходимо...

Распознавание объектов на android с помощью TensorFlow: от подготовки данных до запуска на устройстве Обучение нейросети распознаванию образов — долгий и ресурсоемкий процесс. Особенно когда под рукой есть только недорогой ноут, а не компьютер с мощной видеокартой. В этом случае на помощь придёт Google Colaboratory, которая предлагает совершенно бесплатно воспользоваться GPU...

[Из песочницы] Разбор настройки ELK 7.5 для анализа логов Mikrotik Давно была мысль посмотреть, что можно делать с ELK и подручными источниками логов и статистики. На страницах хабра планирую показать практический пример, как с помощью домашнего мини-сервера можно сделать, например, honeypot с системой анализа логов на основе ELK стека. В э...

[Из песочницы] Архитектура нейронной сети RetinaNet Данная статья посвящается объяснению устройства архитектуры нейронной сети RetinaNet. Обзор был проведён мною в ходе выполнения дипломной работы, а так как для его написания потребовалось обращаться исключительно к англоязычным источникам и собрать найденную информацию воеди...

[Перевод] Руководство по Deno: примеры работы со средой выполнения TypeScript Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «The Deno Handbook: A TypeScript Runtime Tutorial with Code Examples» автора Flavio Copes. В этой статье мы научимся работать с Deno. Мы сравним его с Node.js и создадим с его помощью простой RES...

[Перевод] Асинхронные задания в Django с Celery Перевод статьи подготовлен в преддверии старта курса «Web-разработчик на Python». Если в вашем приложении есть какой-то длительный процесс, вы можете обрабатывать его не в стандартном потоке запросов/ответов, а в фоновом режиме. К примеру, в вашем приложении пользователь...

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

Почему много оперативной памяти — это хорошо Не так давно Samsung представила Galaxy S20, минимальная модификация которого оснащена 8 ГБ ОЗУ, а максимальная предлагает 16 гигабайт. Новый Xiaomi Mi 10 также предлагает 8 гигабайт оперативной памяти. Но зачем же смартфонам так много памяти? На этот вопрос я и попытаюсь о...

Реальный способ улучшения снимка без фоторедакторов Изначально, статья должна была быть присвоена теме улучшения снимков с помощью приложения для фото на основе алгоритмов искусственного интеллекта (https://play.google.com/store/apps/details?id=wide.android.camera&hl=uk), но разница между стандартным приложением фотокаме...

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

[Перевод] Скрытая цена CSS-in-JS-библиотек в React-приложениях В современных фронтенд-приложениях технология CSS-in-JS пользуется определённой популярностью. Всё дело в том, что она даёт разработчикам механизм работы со стилями, который удобнее обычного CSS. Не поймите меня неправильно. Мне очень нравится CSS, но создание хорошей CSS-ар...

[Из песочницы] Нужно ли нам озеро данных? А что делать с хранилищем данных? Это статья перевод моей статьи на medium — Getting Started with Data Lake, которая оказалась довольно популярной, наверное из-за своей простоты. Поэтому я решил написать ее на русском языке и немного дополнить, чтобы простому человеку, который не является специалистом по раб...

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

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

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

Wi-Fi для RRF на платы SKR 1.1 - 1.4 После успешного перехода с прошивки Марлин на RepRap могу уверенно сказать: - хорошая вещь, очень удобная.А значит нужно сделать платку для организации связи с принтером по Wi-Fi. Сначала были прототипы на проводах, теперь пора бы и красиво оформить.Рисовал платки, продумыва...

League of Legends: Wild Rift — объясняем рейтинговую систему, очки Победы и ранги В мобильной League of Legends: Wild Rift рейтинговая система действует примерно также, как и на PC, но она оптимизирована для динамичных и коротких сражений. Чтобы участвовать в матчах, где зарабатываются ранги, вам нужно для начала достичь 10-го уровня. На помощь здесь прих...

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

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

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

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

Экономика взаимопомощи Тема сложная и спорная, заранее прощу прощения. Речь о помощи одного сотрудника другому в решении задач. Сказать, что мы не помогаем друг другу, нельзя. Но это практически не влияет на эффективность. Помогаем, чтобы задача была решена в принципе. Ну и тогда, когда решение з...

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

Калькулятор Wolframalpha в диалоге Telegram Идея В диалогах телеграма я очень часто использую телеграм бот: inlatexbot. Он позволяет вставлять Latex прямо в диалоге телеграма — это удобно: математическое обозначение можно отправить понятной картинкой, чтобы было так $$display$$\sqrt{4} * 2^x * \frac {1} {3}=1024$$disp...

[Перевод] Реализуем машинное обучение на iOS-устройстве с использованием Core ML, Swift и Neural Engine Привет, хабр! В преддверии старта продвинутого курса «Разработчик iOS», мы традиционно подготовили для вас перевод полезного материала. Введение Core ML — это библиотека машинного обучения, выпущенная в свет Apple на WWDC 2017. Она позволяет iOS разработчикам добавлять ...

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

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

Google Analytics запустил когортный анализ для ресурсов App + Web Google Analytics обновил инструмент «Analysis» для ресурсов «Приложение и сайт» (App + Web). Теперь в нём доступен метод когортного анализа. Этот метод позволяет проводить более детальный анализ поведения пользователей по разным когортам. С его помощью специалисты ...

Игры с Wifi на ESP32 На мысль сделать карманный инструмент для анализа WiFi сетей меня подтолкнула статья https://habr.com/ru/post/477440/. Спасибо им за идею. Мне как раз было нечем заняться. Вся работа была выполнена в рамках хобби с целью получения удовольствия и расширения своих знаний в об...

Использование примесей (mixins) в Dart Несколько раз от коллег звучал вопрос о том, что не понятно, зачем вообще нужны mixin'ы (примеси) в языке Dart. Я решил посмотреть, что есть на просторах Интернета по этому вопросу. К великому огорчению в статьях, которые удалось найти в основном говорится о том, как использ...

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

Применяем Data Sceince в мирных целях покупки дома Чтобы продать что-нибудь ненужное, нужно сначала купить что-нибудь ненужное, а у нас денег нет. — Трое из Простоквашино Введение Так получилось, что я живу в своей квартире (или кондо по-местному) в Монреале. И однажды, примерно год назад меня посетила мысль что неплохо-бы ...

Хюгге для разработчиков, или как я съездила на KotlinConf Хабр, привет! Меня зовут Мария, и я программист. Пишу под Android и несколько лет делала это на Java — на фоне универских плюсо́в она мне казалась очень удобной. Но прогресс не стоит на месте, и, придя полтора года назад в Яндекс.Деньги, я познакомилась с молодым языком Ko...

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

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

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

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

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

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

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

[Перевод] Рецепты по приготовлению оффлайн-приложений Доброго времени суток, друзья! Представляю вашему вниманию перевод замечательной статьи Джейка Арчибальда «Offline Cookbook», посвященной различным вариантам использования сервис-воркера (ServiceWorker API, далее по тексту — просто воркер) и интерфейса кэширования (Cache ...

[Перевод] Почему интернационализация и локализация имеют значение Хабр, отличного всем времени суток! Скоро в OTUS стартует курс «Python Web-Developer»: мы приглашаем на бесплатный Demo-урок «Паттерны Page Controller и Front Controller: реализация в Django» и публикуем перевод статьи Nicolle Cysneiros — Full Stack Developer (Labcodes). Сог...

Как пользоваться словарями (и не только) Для совсем начинающих оптимальным словарём будет Abbyy Lingvo lingvolive.ru, потому что в нём значения слов не свалены в кучу, как в некоторых электронных словарях — первые два значения слова будут наиболее актуальными. По сути Lingvo представляет из себя старые советские сл...

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

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

[Из песочницы] PRESENT — ультралегкое блочное шифрование (перевод оригинальной статьи PRESENT: An Ultra-Lightweight Block Cipher) Привет, Хабр! Привожу тут перевод оригинальной статьи «PRESENT: An Ultra-Lightweight Block Cipher» за авторством Robert B. Weide Богданова, Лендера, Паара, Пошмана, Робшава, Сеурина и Виккелсоя. Аннотация После внедрения AES потребность в новых алгоритмах блочного шифрова...

[Перевод] Телефон шпионил за мной, поэтому я нашёл тех, кто использует данные слежения СЛЕЖКА: Американская компания имеет информацию о моём местоположении. В моём телефоне 160 приложений. Я не знаю, что они делают, но решил это выяснить. У меня было ощущение, что эти приложения шпионят за мной. Конечно, не прослушивают меня, но постоянно следят за тем, где...

TOTP (Time-based one-time Password algorithm) С ростом числа угроз кибербезопасности, для разработчиков становится все более и более необходимым обновлять стандарты безопасности веб-приложений и быть при этом уверенными в том, что аккаунты пользователей в безопасности. Для этого в настоящее время многие онлайн-приложени...

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

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

Как бесплатно перенести свои любимые треки в Spotify, используя Javascript Все любители музыки в России с нетерпением ждали выхода Spotify на наш рынок. Когда наконец это случилось, перед пользователями встала проблема переноса музыки из других сервисов. Лично у меня за годы накопилась огромная коллекция музыки на разных платформах: Яндекс.Музыка, ...

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

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

[Перевод] Взлом Wi-Fi-сетей, защищённых WPA и WPA2 Автор статьи, перевод которой мы сегодня публикуем, хочет рассказать о том, как взломать Wi-Fi-сеть, для защиты которой используются протоколы WPA и WPA2. Статья написана исключительно в ознакомительных целях Читать дальше →

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

Мультяшная стратегия Infinity Kingdom появилась в App Store и Google Play Ещё прошлым летом мы сообщили постоянным читателям о том, что стратегия Infinity Kingdom должна выйти в октябре. Студия YOUZU в итоге выпустила игру, но на несколько месяцев позже. Это градостроительная стратегия с мультяшной графикой. Нам выдаются задания, выполнение которы...

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

[Перевод] Многопоточность. Модель памяти Java (часть 2) Привет, Хабр! Представляю вашему вниманию перевод второй части статьи «Java Memory Model» автора Jakob Jenkov. Первая часть тут. Аппаратная архитектура памяти Современная аппаратная архитектура памяти несколько отличается от внутренней Java-модели памяти. Важно понимать апп...

Сравнение Nylon от Hi-tech plast и Bestfilament Итак в этой статье пойдет рассказ о двух разных видов Nylon от всем известного Bestfilament и начинающих ребят с Hi-tech plast. Поступил мне заказ на изготовление шестерни на мясорубку, ничего необычного, стандартная шестерня. Клиент попросил как всегда попрочнее материал, я...

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

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

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

[Из песочницы] Сохранение значений в .Net приложение на этапе сборки Появилась у меня необходимость при сборке приложения передать внутрь набор констант для использования их на рантайме. Например, мы хотим «зашить» в приложение некое строковое значение которое будет известно в момент сборки. В мире C++ я решал подобные штуки очень просто с и...

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

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

[Перевод] Seccomp в Kubernetes: 7 вещей, о которых надо знать с самого начала Прим. перев.: Представляем вниманию перевод статьи старшего инженера по безопасности приложений британской компании ASOS.com. С ней он начинает цикл публикаций, посвящённых повышению безопасности в Kubernetes благодаря использованию seccomp. Если введение понравится читателя...

Групповые политики (GPO) Active Directory: разбираемся почему это важно и как ими управлять в GPOAdmin Групповая политика — важный элемент любой среды Microsoft Active Directory (AD). Её основная цель — дать ИТ-администраторам возможность централизованно управлять пользователями и компьютерами в домене. Групповая политика, в свою очередь, состоит из набора политик, называемых...

[Перевод] Мониторинг Kubernetes с помощью Prometheus и Thanos Поздравляем! Вам удалось убедить ваше начальство в миграции приложений на микросервисную архитектуру с использованием контейнеров и Kubernetes.Вы очень довольны и все идет по плану. Вы создаете свой первый кластер Kubernetes (у всех основных облачных провайдеров: Azure, AWS ...

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

[Перевод] Реализация epoll, часть 1 Сегодня мы публикуем перевод первой статьи из серии материалов, посвящённых реализации epoll в ядре Linux 3.16.1*. Автор исходит из предположения о том, что читатели знакомы с API и с использованием epoll. Он уделяет основное внимание реализации подсистемы epoll в ядре Linux...

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

[Перевод] Полигоны Another World: Sega Genesis Перевод пятой статьи из серии от Fabien Sanglard, в этот раз про порт Another World на Sega Genesis. Разработка MegaDrive/Genesis началась сразу после того, как Sega выпустила свою Master System ​​в 1987 году. В то время целью Sega было создание чего-то, что превосходит PC E...

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

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

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

[Из песочницы] Расчет временных ограничений для ПЛИС простым языком Здравствуйте. Эта статья написана для самых-самых новичков в мире ПЛИС. В ней я попытаюсь максимально просто и понятно рассказать что такое временны́е ограничения (timing constraints), накладываемые на проекты под ПЛИС. Статья создана на основе собственного опыта попыт...

Сколько стоит Mac Pro 2019 в самой дорогой конфигурации Mac Pro 2019 — самый дорогой компьютер в истории современной Apple Как и было обещано, вчера, 10 декабря Apple начала продажи нового Mac Pro. Он стал одним из самых дорогих компьютеров на рынке и уж точно самым дорогим компьютером в современной истории самой компании. ...

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

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

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

Опыт внедрения Service Mesh на Nomad и Consul В этой статье мы расскажем, как развернули Service Mesh, решили часть проблем микросервисной архитектуры и уменьшили нагрузку на разработчиков и инженеров инфраструктуры. Читать дальше →

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

PubSub почти бесплатно: особенности NOTIFY в PostgreSQL Если ваши микросервисы уже используют общую базу PostgreSQL для хранения данных, или ей пользуются несколько экземпляров одного сервиса на разных серверах, можно относительно «дешево» получить возможность обмена сообщениями (PubSub) между ними без интеграции в архитектуру Re...

Подготовка к PMP по шагам Всем привет!Это вторая статья по подготовке к сдаче экзамена на сертификат Project Management Professional (PMP). Первая статья была посвящена тому, зачем сдавать РМР. Сегодня я хочу поговорить о том, как можно подготовиться к сдаче.  Итак, вы решили сдавать PMP. Н...

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

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

[Перевод] Создание псевдотрёхмерной гоночной игры В детстве я редко ходил в залы аркадных автоматов, потому что особо в них не нуждался, ведь дома у меня были потрясающие игры для C64… но есть три аркадные игры, на которые у меня всегда находились деньги — Donkey Kong, Dragons Lair и Outrun… … и я очень любил Outrun — ско...

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

[Перевод] Правила компоновки во Flutter, которые должен знать каждый Когда новичок во Flutter спрашивает, почему какой-то виджет с width: 100 не ширины 100 пикселей, обычно ему отвечают, что надо обернуть этот виджет в Center, верно? Не надо так делать Если так отвечать, то к вам будут возвращаться снова и снова, спрашивая, почему какой-то F...

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

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

Бесплатный Плей Маркет на Андроид Многие современные гаджеты работают на операционной системе Андроид. Гугл Плей Маркет очень популярное приложение, с помощью которого можно загрузить игры и программы. Бесплатный плей маркет можно загрузить на сайте PlayMarket 4 ANDROID. С помощью этого приложения можно скач...

[Перевод] Оптимизация кода на Python с помощью ctypes Перевод статьи подготовлен специально для студентов курса «Разработчик Python». Внимание: код в этой статье лицензирован под GNU AGPLv3. Я написал это руководство, поскольку не смог найти такого, которое будет объединять в себе все полезное о ctypes. Надеюсь, эта статья ...

IELTS, TOEFL, PTE: детальный гайд по международным экзаменам по английскому языку Чтобы учиться или официально работать в англоязычной стране, необходимо получить международный сертификат о знании языка. Сегодня существует несколько десятков разнообразных программ тестирования, которые выдают сертификаты об уровне владения английским. Но самыми популя...

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

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

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

[Перевод] Эндрю Ын «Страсть к машинному обучению». Перевод глав 47-58 Это вторая статья с переводом отдельных глав книги Эндрю Ына «Страсть к машинному обучению». Перевод предыдущих глав вы можете почитать по ссылке. В этой статье речь пойдёт о сквозном (end-to-end) глубоком обучении, а так же автор книги поделится некоторыми способами анал...

Тестирование в Kotlin при помощи Spock Цель статьи заключается в том, чтобы показать какие возникают трудности при использовании Spock с Kotlin, какие есть пути их разрешения и ответить на вопрос, стоит ли использовать Spock, если вы разрабатываете на Kotlin. Подробности под катом. Читать дальше →

[Перевод] Побег из привилегированных Docker-контейнеров Перевод статьи подготовлен в преддверии старта курса «Пентест. Практика тестирования на проникновение». Привилегированные контейнеры Docker – это такие контейнеры, которые запускаются с флагом --privileged. В отличие от обычных контейнеров, эти контейнеры имеют root-доступ...

Рецепты PostgreSQL: шаблонизатор mustach Для приготовления шаблонизатора mustach нам понадобится postgres и mustach. Можно также воспользоваться готовым образом. Зачем нужен шаблонизатор в базе? Ну, во-первых, если шаблонизатор в базе, то и сами шаблоны тоже должны быть в базе. А зачем нужно хранить шаблоны в базе...

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

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

3 лучших приложения для отслеживания сна на iPhone и Apple Watch Если вы спите в Apple Watch, попробуйте отследить свой сон Отслеживание сна с помощью Apple Watch — отличный способ со временем получить представление о том, сколько вы на самом деле проводите во сне. Apple наверняка работает над собственными функциями отслеживания сна...

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

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

[Перевод] Введение в gRPC на Rust В статье будет показано как создать gRPC сервер и клиент на Rust. Для большей наглядности клиент будет также Telegram ботом. В итоге будет получена следующая архитектура: Статья является не всеобъемлющим руководством по gRPC в Rust, а скорее практическим гайдом, демонстриру...

[Из песочницы] Карманное руководство по Z3 Преамбула "Человеческий мозг это пустой чердак. Дурак так и делает: тащит туда нужное и не нужное. И наконец наступает момент, когда самую необходимую вещь туда не запихнешь, или наоборот не достанешь..." В.Б. Ливанов (из к/ф "Шерлок Холмс и доктор Ватсон&qu...

[Из песочницы] Актуальные библиотеки визуализации данных для react-разработчиков Привет, Хабр! Представляю вашему вниманию перевод статьи «Data Visualization Libraries for React Developers in 2019» автора Veronika Rovnik. Вот уже несколько лет подряд React не сдаёт позиции и входит в тройку самых любимых библиотек профессиональных разработчиков по всему...

Laravel. Локализованный роутинг Привет, Хабр! Хочу рассказать вам о том, как в одном проекте возникла проблема с роутингом и как мы её решали. Сначала наш проект был самым обычным сайтом. Сайт развивался, аудитория расширялась и возникла необходимость поддержки мультиязычности. Проект был на базе фреймвор...

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

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

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

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

Решил 50 задач и ответил на вопрос — Python или JavaScript? Привет, друзья! Я — JavaScript-разработчик. Код пишу в основном на React (иногда на Vue), немного на TypeScript, немного на Node, немного знаю SQL, но... со мной работает много людей, которые пишут код на Python вокруг много разговоров про Python повсюду преподают Python ...

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

[Перевод] Что JavaScript-разработчику следует знать о Curl Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «What JavaScript Developers Should Know About Curl» автора Valery Karpov. Curl — это популярный инструмент командной строки, часто используемый для отправки HTTP-запросов. Curl поддерживает большое...

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

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

Колеровка полимеров Hardlight Приветствую всех!Из-за временных перебоев с поставками, вызванных карантинным режимом, и отсутствием нужного мне Dental, попали мне в руки полимеры Hardlight Hard белый и прозрачный. Оба этих состояния мне не нравятся, потому что по ним очень трудно оценить качество печати, ...

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

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

Готовый интернет-магазин на 1С-Битрикс со скидкой 20% Еще несколько месяцев назад владельцы офлайн магазинов если и задумывались о продажах в интернете, то с пометкой «как-нибудь потом». И вот сейчас «как-нибудь потом» наступило, да так стремительно, что интернет-магазин необходим очень срочно. Нет времени на долгую раз...

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

«Когда часы двенадцать бьют». Или гирлянда в браузере Предположим, у нас есть несколько мониторов. И нам захотелось использовать эти мониторы в качестве гирлянды. Например, заставить их моргать одновременно. Или, может быть, синхронно менять цвет согласно какому-то умному алгоритму. И что, если сделать это в браузере – ведь тог...

7 лет хайпа нейросетей в графиках и вдохновляющие перспективы Deep Learning 2020-х Новый год все ближе, скоро закончатся 2010-е годы, подарившие миру нашумевший ренессанс нейросетей. Мне не давала покоя и лишала сна простая мысль: «Как можно ретроспективно прикинуть скорость развития нейросетей?» Ибо «Тот, кто знает прошлое — тот знает и будущее». Как бы...

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

Использование Graylog и NLog для сбора логов от приложений на C#. Личный опыт КДПВ Хабр, приветствую! Описанное ниже ни в коем случае не tutorial или best practice. Я решил всего лишь агрегировать и задокументировать свои достижения в поставленном вопросе. Надеюсь, содержимое данной статьи позволит ищущим информацию по логированию почерпнуть что-т...

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

Как работает Object Tracking на YOLO и DeepSort Object Tracking — очень интересное направление, которое изучается и эволюционирует не первый десяток лет. Сейчас многие разработки в этой области построены на глубоком обучении, которое имеет преимущество над стандартными алгоритмами, так как нейронные сети могут аппроксимир...

Нашли бюджетную альтернативу Final Cut Pro. Что она умеет? Многим рано или поздно приходится сталкиваться с необходимостью сделать видеоклип из нескольких роликов, наложить музыку или просто вырезать из него ненужные элементы. И без мощной утилиты здесь не обойтись — можно, конечно, ограничиться iMovie на айфоне, но возможнос...

Неотъемлемые помощники в деле разведки наиболее эффективной в мире спецслужбы (часть 2) Часть 1 Даже имея доступ к конфиденциальным и секретным документам польза будет равна почти нулю, если у шпиона не будет возможности сделать их копии. Можно положиться на память и запомнить материал, потом записать с помощью блокнота и ручки, зарисовать. Довольно-таки неэффе...

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

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

[Из песочницы] Nuxt + Django + GraphQL на примере Предисловие Nuxt — "фреймворк над фреймворком Vue" или популярная конфигурация Vue-based приложений с использованием лучших практик разработки на Vue. Среди них: организация каталогов приложения; включение и преконфигурация самых популярных инструментов в виде Nux...

о Redux архитектуре во Flutter приложениях Не так давно вышла статья о чистой архитектуре во Flutter. Хочу осветить тему немного под другим углом и развить тему управления глобальным состоянием с помощью Redux. Читать далее

14 самых популярных Node.js-библиотек в 2020 году Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «14 Most Useful NodeJS Libraries in 2020». В данной статье автор делится своими находками среди многочисленных пакетов Nodejs. Express Быстрый, гибкий, минималистичный, легкий в изучении фреймворк...

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

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

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

[Перевод] Отложенное завершение pod'а при его удалении Задержка выключения pod’а в Kubernetes Это третья часть нашего пути (прим. пер. — ссылка на первую статью) к достижению нулевого времени простоя при обновлении Kubernetes-кластера. Во второй части мы сокращали время простоя, которое возникло из-за принудительного завершения...

[Перевод] Ansible против Puppet Ansible и Puppet представляют собой системы управления конфигурациями (SCM), необходимые для построения повторяющихся инфраструктур. Ansible отличается простотой использования, имеет безагентную архитектуру (не требует установки агента/клиента на целевую систему) и YAML-по...

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

[Перевод] Symfony и Гексагональная архитектура В данной статье мы коротко пройдемся по теории и на практике разберемся как перевести любое Legacy приложение на гексагональную архитектуру. Повествование будет в контексте фреймворка Symfony и PHP 7.4, но синтаксис приведенных примеров настолько прост что вы без труда пойм...

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

[Перевод] Чистый CSS: 4 метода анимирования цвета ссылок Автор статьи, перевод которой мы сегодня публикуем, предлагает, пользуясь чистым CSS, создать механизм изменения цвета текста ссылки при наведении на неё мыши. Но это должна быть не обычная смена цвета. Новый цвет должен заполнять ссылку слева направо, заменяя старый. Для ...

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

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

[Из песочницы] 10 лучших инструментов для автоматизации тестирования ПО Привет, Хабр! Представляю вашему вниманию перевод статьи «Top 10 Automated Software Testing Tools» автора Pratik Satasiya. Боб Иган, директор по исследованиям Sepharim Research, говорил о мобильной безопасности. Он выступил с заявлением на Enterprise Mobility Trends 2016: «...

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

Окей, Гугл! Отстань от меня! Как отключить голосового ассистента? Я искренне уважаю голосового ассистента от Google. В российской действительности более адаптированной мне кажется Алиса, да и голос у нее поприятнее. Но в сравнении с туповатой Siri, Google Ассистент не идет ни в какое сравнение. Да и по сочетанию факторов он, наверное, луч...

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

Мне кажется, что российские VPS/VDS-хостинги родом из ада (и да, мы косячим тоже) В общем, сразу хочу сказать, что мнение про ад и то, что сервис у многих из двухтысячных — это оценочное суждение. На самом деле, конечно, они родом из России. На самом деле, конечно, мы тоже хороши, и об этих пятнах в биографии я тоже расскажу. На самом деле, в последние ...

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

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

Русификатор для SuperSlicer Всем Привет.Решил опубликовать русификатор для SuperSlicer. Перевод был сделать до версии 2.3.55.2. В сам SuperSlicer уже входит перевод на русский, но там старая версия, буду стараться обновлять его и там.  Основан перевод на версии от prusha и версии от Andylg. Переведено ...

Как вывести сайт под запад в ТОП10, не зная ничего о SEO В этой статье описан личный опыт двух человек: меня и моей коллеги Марии. Опыт людей, у которых совершенно не было знаний в SEO. Во второй половине 2019 года на нас легла ноша в виде продвижения 2-х сайтов проекта Ratatype. Сайтов молодых (рождены в 2019) и на иностранный ры...

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

Поддержка Touch в JavaScript Какие проблемы могут быть у frontend-программиста, если тестировщик запустит его приложение на iPad с новой трекпад-клавиатурой, Windows-планшете, с неопределенным состоянием “режима планшета” или ноутбуке с подключенным к нему телевизором c поддержкой Multi-touch? Это дале...

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

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

[Из песочницы] Новая архитектура нейросети — EfficientDet Привет, Хабр! представляю вашему вниманию перевод статьи «EfficientDet: Scalable and Efficient Object Detection» автора Mingxing Tan, Ruoming Pang, Quoc V. Le. В последние годы был достигнут огромный прогресс в направлении более точного обнаружения объектов, в то же время с...

[Из песочницы] Создание упаковщика x86_64 ELF файлов под linux Введение В данном посте будет описано создание простого упаковщика исполняемых файлов под linux x86_64. Предполагается, что читатель знаком с языком программирования си, языком ассемблера для архитектуры x86_64 и с устройством ELF файлов. В целях обеспечения ясности из приве...

[Перевод] Как начать заниматься Bug Bounty Друзья, в этом месяце Otus запускает набор на новый курс — «Безопасность приложений». В преддверии старта курса традиционно подготовили для вас перевод полезного материала. Как начать заниматься Bug Bounty? Этот вопрос весьма распространенный, и я продолжаю получать его в ...

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

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

Управление кластером Docker Swarm с помощью Swarmpit Доброго времени суток, %username%. Пора расчехлить блог после 6 лет простоя и попробовать опять что-то полезное принести сообществу. Я крайне удивлен, что на хабре до сих пор нет ни одной статьи про Swarmpit. Я конечно понимаю, что наверняка большинство изучая Docker оста...

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

Небольшая модернизация 3D принтера ANYCUBIC I3 MEGA     Долго я мечтал переделать некоторые узлы в Anycubic i3 Mega, но кустарный огород городить не хотелось, а для нормальной переделки нужен был 3Д принтер, причем с областью печати намного больше чем у «Кубика». Короче нужно было разобрать Кубика, а потом по месту моделирова...

Реверс API по его android приложению Зачем У меня есть pet-project, приложение для учета финансов. На мой взгляд, одной из ключевых проблем подобных приложений является ручной ввод баланса. У банков есть информация о транзакциях которые я совершаю и даже есть неплохая аналитика. Но Банков несколько и они ничег...

В чём камера iPhone SE 2 лучше, чем у любого другого iPhone После детального разбора iPhone SE второго поколения стало известно, что в нем установлена такая же камера, как в iPhone 8. Для многих это стало тревожным звоночком, ведь до этого ходили слухи, что Apple установила в iPhone SE 2 модуль камеры от iPhone XR. Однако это не пом...

Как бесплатно добавить новые шрифты на iOS Официальная поддержка пользовательских шрифтов появилась на iPhone и iPad с выходом iOS 13 и iPadOS 13, однако не все знают, как добавить на айфон сторонние шрифты без покупки дополнительных приложений или оформления платной подписки Adobe Creative Cloud. Совсем недавно в A...

Хабр Конвертер: чтобы версталось легко Наверняка многие из вас хотя бы однажды пользовались хабраконвертером, который официально рекомендован администрацией Хабра — https://shirixae.github.io/habraconverter-v2/. Несколько лет назад его создал хабравчанин meta4, а потом доработал Shirixae. Принцип простой: открыва...

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

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

Svelte: знакомимся с Действиями Недавно на Хабре появилась статья от @sanReal, где Александр рассказал о том, каким приёмам и каким возможностям Svelte он научился на собственном опыте. Я был немного удивлён не увидев в его списке упоминания одного из самых мощных инструментов фреймворка — Действий. К тому...

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

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

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

[Из песочницы] Мой (нано)опыт с Yandex.Maps API или зачем нужна инструкция Introduction Я андроид разработчик и... Мне довелось допиливать небольшой проект(~500h), в котором на старте было принято решение использовать Yandex.Maps API, потому что зачем для Москвы использовать гугл карты, если есть наши. Сейчас расскажу, как все прошло. Я не проводил...

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

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

Симуляционное моделирование механической системы средствами визуального программирования Scilab\Xcos Вместо предисловия. Эта небольшая по объему работа была экстренно выполнена с учебными и демонстрационными целями около года назад на базе уже разработанной ранее модели струны. Как водится, потом полежав энное время без дела, недавно она попалась мне на глаза. Что такое S...

Тема Hide Lable для MIUI 11: удобная и красивая — всё нужное и ничего лишнего Новая тема для MIUI 11 Hide Lable появилась сегодня в официальном магазине MIUI. Это дизайнерская тема от Costantino, и, как и многие другие его разработки, выдержана в довольно яркой, но традиционной цветовой гамме. В ее оформлении ничто не раздражает, а в функционале есть ...

[Из песочницы] Самый простой алгоритм для создания Филворда (Часть 1) Привет, Хабровцы. В этой статье я хочу поделиться с вами немного своим опытом и показать вам мой простой алгоритм, который я придумал для создания Филворда. Под «Филвордом» я буду иметь ввиду эту многим знакомую игру. В игре есть поле размером обычно NxN заполненное словами...

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

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

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

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

[Из песочницы] Запись и передача звука с устройства на устройство при помощи Multipeer Connectivity Добрый день, дорогой читатель! Некоторое время назад я решил попробовать записать и передать записанный звук с устройства на устройство. Как средство передачи записанного звука выбор пал на фреймворк MultipeerConnectivity. В этой статье я расскажу как это сделать. Первым д...

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

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

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

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

Никогда такого не было и вот опять. Почему нужно использовать self-hosted VPN. Релиз Amnezia Вот и пришло время для релиза VPN-клиента, родившегося благодаря хакатону DemHack, и выращенного при поддержке РосКомСвободы, PrivacyAccelerator и Теплицы социальных технологий. Спустя полгода с того момента, как идея была впервые озвучена, мы презентуем готовый продукт — б...

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

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

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

Anet A8 Plus - Доработки и улучшения сразу после покупки Как известно, практически любой бюджетный 3D-принтер в силу своей "бюджетности" изначально имеет какие-либо "врожденные" недостатки. В этой статье я хочу рассказать о моем собственном опыте устранения недочетов модели Anet A8 Plus, которые я посчитал необходимыми сделать сра...

Машинное обучение. Нейронные сети (часть 2): Моделирование OR; XOR с помощью TensorFlow.js Статья является продолжением цикла статей, посвященных машинному обучению с использованием библиотеки TensorFlow.JS, в предыдущей статье приведены общая теоретическая часть обучения простейшей нейронной сети, состоящей из одного нейрона: Машинное обучение. Нейронные сети (ча...

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

Как мы стартовали Vivid Money для iOS Всем привет! Меня зовут Илья. Я - iOS техлид в Vivid Money. Мы больше года занимались разработкой нашего финтех-продукта и теперь готовы поделиться с сообществом приобретенным опытом и знаниями.Это вступительная статья, в которой я поверхностно затрону несколько технических ...

Сервис на языке Dart: введение, инфраструктура бэкэнд Оглавление 1. Введение 2. Backend 2.1. Инфраструктура. 2.2. Доменное имя. SSL. 2.3. Серверное приложение на Dart. … 3. Web 3.1. Заглушка «Under construction» … 4. Mobile … Введение Меня, Flutter-разработч...

Почему lsFusion, а не 1С? Предыдущая статья “Почему не 1С?” вышла больше года назад и вызвала достаточно живой интерес (совсем немного не дотянула до 100к просмотров и 2к комментариев). Впрочем, как и ожидалось, у многих возник резонный вопрос: “Если не он, то кто?” Безусловно, как многие поняли, т...

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

Totum — open source конструктор CRM/ERP и произвольных учетных систем (PHP + PgSQL) В двух словах — продвинутые таблицы. Ориентирован на отдельных разработчиков или микрокоманды из двух-трех человек. Подходит начинающим разработчикам и бизнес-аналитикам, желающим превратить свое понимание бизнеса в готовое решение или быстро разработать проект под конкретн...

Как реализовать интеграцию с ЕСИА на Java без лишних проблем Долгое время основным способом идентификации граждан был обычный паспорт. Ситуация изменилась, когда в 2011 году по заказу Минкомсвязи была внедрена Единая система идентификации и аутентификации (ЕСИА), ― она позволила распознавать личность человека и получать о ней данные в...

Как реализовать игнор заблокированных пользователей в группах Telegram? UPD: благодаря помощи Tkachov эта статья всё-таки превратилась из просьбы о помощи в работающую инструкцию. В комментариях он дал работающий код для создания игнора в десктопном клиенте Телеграм. Я на всякий случай расположу объяснение в конце статьи. Далее статья продолжа...

[Перевод] Алан Кей: История SmallTalk (Аннотация и Введение) У меня есть цель — разобраться в том, что же происходило в 60-70-е годы в Xerox PARC и в окрестностях, как так вышло, что несколько коллективов инженеров, работая рука об руку, создали невероятные технологии, которые определили наше настоящее, а их идеи будут определять буду...

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

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

[Из песочницы] 5 причин, по которым моушн дизайн помогает вам общаться с людьми Привет, Хабр! Представляю вашему вниманию перевод статьи «5 Reasons Motion Graphics Help You Connect With People» автора Katy French. Оригинал статьи: Katy French | Перевод статьи сделал моушн дизайнер Игорь Царёв Мы большие поклонники моушн дизайна. Это не потому, что о...

Covid-19: зачем мы сидим на карантине, и ответы на другие вопросы Привет Хабр. Изначально я не планировал публиковать здесь статью про коронавирус, аналитики на хабре уже более чем достаточно. Однако, читая разные местечковые форумы и соцсети, я с удивлением обнаружил сколько достаточно вредных мифов гуляет в сети, и что обычные люди, не ...

Пять причин купить Chromebook вместо обычного ноутбука Если спросить простого человека, какие операционные системы есть для смартфона, он не задумываясь назовет Android и iOS. Если задать тот же вопрос про операционные системы для компьютера, то в его голове всплывут Windows и ”та, для Apple”. На самом деле мир уже давно измени...

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

1. Group-IB. Комплексная защита сети. Архитектура TDS Добрый день, коллеги! Сегодня начинаем новый цикл статей, посвященный решениям информационной безопасности от компании Group-IB. Компания работает на рынке информационной безопасности уже более 17 лет, и за это время обросла весьма существенными компетенциями, выполняя про...

Установка SKR v1.4 (не турбо) + TMC2208 (UART) на Ender 3 с родным дисплеем     Мой первый пост. И рассчитан он для начинающих печатников (коим я и являюсь), обладателей очень популярного Creality Ender 3. Писк моторов (ночью очень раздражает) и желание печатать водорастворимым филаментом для поддержек, сподвигло на апгрейд, с условием сохранения ро...

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

[Из песочницы] Как использовать несколько языков программирования и не сойти с ума Привет, Хабр! Представляю вашему вниманию перевод статьи «How to use multiple programming languages without losing your mind» автора Bart Copeland. Сопливое нытьё про FSF и Red HatКароч, тема такая: я им написал, а они не ответили. Ну ладно бы Массивсофт, который вообще ник...

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

Fortinet Single Sign-On. Описание технологии Приветствуем! На протяжении всего времени нашей работы с решениями компании Fortinet, а в частности с межсетевым экраном нового поколения FortiGate, одним из самых интересующих вопросов является контроль и отслеживание трафика отдельных пользователей или групп пользователей....

Внедрение CRM в кризис: помощь бизнесу или дохлый номер? Апрель 2020 года принёс малому и среднему бизнесу кризис, сравнимый с 2008 годом, а для сферы услуг даже хуже. Задело всех: кто продавал, производил, разрабатывал, заказывал и доставлял, — потому что в коммерческой сфере нет изолированных единиц, все здесь «скованные одной ц...

Автоматизируем ведение большого количества пользователей в AD Автоматизируем ведение большого количества пользователей в AD: Добрый день! В этой статье я бы хотел описать применённое мной практическое решение по автоматизации одной рутинной задачи второй линии технической поддержки одного крупного предприятия. Имеем два территориаль...

[Перевод] Код, в котором мы живем Традиционно процесс разработки ПО сравнивается со строительством. Термин «архитектор» только укрепляет ассоциативную связь между этими процессами. Но современные реалии сделали эту модель неактуальной, потому что есть механизмы, которые она объяснить не может: Если мы дела...

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

Boot or not to boot или ректальная реанимация MKS TFT32.  Так случилось что я владелец FLSUN QQ c MKS TFT32_L V4.0. Очень скоро функционала экраничка перестало хватать , все настройки и калибровки проще проводить с PC с отключенным экраном, я все делал в Pronterface. А вскоре и вовсе перешел на klipper, этим устранил недостатки то...

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

Голосовой ввод текста: топ-5 бесплатных инструментов Если вы работаете в digital-маркетинге, вам постоянно нужно взаимодействовать с текстом: записывать идеи, задачи, описывать концепции, писать статьи и многое другое. Иногда проще и быстрее надиктовать текст, чтобы не забыть важную мысль или задачу. Диктофон для этого подход...

[Перевод] 5 вопросов по SQL, которые часто задают дата-сайентистам на собеседованиях Хотя составление SQL-запросов — это не самое интересное в работе дата-сайентистов, хорошее понимание SQL чрезвычайно важно для того, кто хочет преуспеть в любом занятии, связанном с обработкой данных. Дело тут в том, что SQL — это не только SELECT, FROM и WHERE. Чем больше S...

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

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

Опыт работы с Plesk Хочу поделиться некоторыми впечатлениями о нужности или ненужности такой вещи, как контрольная панель для коммерческого односерверного веб-проекта при наличии очень part time админа. История началась пару лет назад, когда знакомые знакомых попросили меня сопроводить покупку ...

[Перевод] Опенсорс-хелпдеск как альтернатива Zendesk и Help Scout. Архитектура, дизайн и юзабилити Это перевод ряда статей из блога одного опенсорсного хелпдеска (и общего почтового ящика) на Laravel. История данного проекта — хороший пример того, как опенсорс-сообщество может не просто повторить, но и местами улучшить дизайн и функционал уже готового распиаренного комм...

Реверс API Сбербанка Зачем У меня есть pet-project, приложение для учета финансов. На мой взгляд одной из ключевых проблем подобных приложений является ручной ввод баланса. У банков, в частности сбера, есть информация о транзакциях которые я совершаю и даже есть неплохая аналитика. Но Банков н...

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

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

Самый маленький телефон в мире Tiny 2 — самый маленький 3G-смартфон в мире В 2018 году компания Zini Mobiles на площадке KickStarter запустила проект телефона Tiny T1. Он стал самым маленьким телефоном в мире. В этот раз компания решила повторить успех, но теперь уже речь пойдёт о Tiny T2, главной о...

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

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

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

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

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

Как описать 100 Gitlab джоб в 100 строк В продолжение предыдущей статьи про инструменты деплоя в Kubernetes, хочу рассказать вам про то как можно использовать Jsonnet для упрощения описания джоб в вашем .gitlab-ci.yml Дано Есть монорепа, в которой: 10 Dockerfiles 30 описанных деплоев 3 окружения: devel, staging...

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

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

Как выглядит zip-архив и что мы с этим можем сделать. Часть 4 — Чтение архива Продолжение цикла о Zip-архивах и PHP. Предыдущие статьи: Часть 1, Часть 2, Часть 3 Доброго времени суток, дорогие читатели. На этот раз я хотел бы представить, наверное, заключительную часть цикла о Zip-архивах и PHP. В этой статье я покажу как прочесть уже существующий ...

Что нужно знать о влиянии новостей на стоимость акций Изображение: Unsplash В последнее время очень часто можно прочитать новости формата «индекс Dow Jones пережил рекордное падение на фоне новостей о распространении коронавируса». При этом, такие статьи в СМИ появлялись регулярно и до того, как тема вируса и общественного з...

Вариант работы с вебсокетами в iOS на языке Swift / Написал менеджер для работы с websocket Всем привет. 4 года назад я уже разбирался с вебсокетами в iOS, тогда я решил задачу с помощью одной из библиотек cocoapods, статья есть на Хабре. А сегодня хочу продемонстрировать еще одно решение, нативное без cocoapods. Я написал свой менеджер для работы с вебсокетами ...

[Из песочницы] Flutter. Асинхронность и параллельность Привет, Хабр! Представляю вашему вниманию перевод статьи "Futures — Isolates — Event Loop" автора Didier Boelens об асинхронности и многопоточности в Dart (и Flutter в частности). TLDR: В целом, статья ориентирована на новичков и не изобилует откровениями. Если вы ...

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

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

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

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

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

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

Хабра-детектив на выходных 2. Новый уровень Вы ведь помните историю про студентов? Ту самую, где за перевод технической статьи, опубликованный на Хабре, ставили зачёт. Я ведь знаю, что помните. Сам недавно видел комментарий к очередному переводу из песочницы: "Зачёт-то поставили?". Поскольку уже прошел целый месяц с ...

Снижение скорости свободного перемещения для первого слоя      Доброго времени суток. Прошу строго не судить, это мой первый пост. Испытывал трудности при печати модели с большим количеством элементов в первом слое. Раньше использовал PLA и проблем не было, перешёл на ABS, узнал все его капризы с адгезией к столу. Если использовать...

[Перевод] Webpack: руководство для начинающих Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «Webpack: A gentle introduction» автора Tyler McGinnis. Перед изучением новой технологии задайте себе два вопроса: Зачем нужен этот инструмент? Какие задачи он выполняет? Если вы не можете отв...

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

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

[Из песочницы] Angular: понятное введение в NGRX Цель этой статьи — дать чистое и ясное представление о ngrx. Для этого я объясню, что нужно знать и понимать о ngrx, а затем мы увидим это в действии с простыми и понятными примерами кода. Вот список тем, которые мы будем обсуждать в этой статье: Что такое ngrx Преимущес...

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

Scara - Home`s 3Dprinter. Фаза вторая. Комментарии к видео:Не успел собрать принтер, как уже приходится фиксить. Изменил положение наружнего плеча. Во-первых это увеличило высоты печати, во-вторых - не самое удачное решение для размещения плеча. Если понадобится его обслужить, то придется разобрать половину принт...

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

[Перевод] Масштабирование Redux-приложения с помощью ducks В преддверии старта курса «React.js разработчик» подготовили перевод полезного материала. Как масштабируется front-end вашего приложения? Как сделать так, чтобы ваш код можно было поддерживать полгода спустя? В 2015 году Redux штурмом взял мир front-end разработки и заре...

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

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

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

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

Аутентификация в Kubernetes с помощью Dex: прикручиваем LDAP Сегодня я подробно разберу настройку аутентификации в Kubernetes с помощью Dex в связке с LDAP, а также покажу, как можно добавлять статических пользователей в Dex.  В статье не буду останавливаться на основных принципах работы Dex, а сразу перейду к установке и настройке L...

Основы Unity + Mirror Хочу немного поделиться опытом для тех, кто хочет попробовать себя в написании сетевой игры, но не знает с чего начать. Так как информации по этой теме в интернете много, но полезную и актуальную было найти тяжело (а в русскоязычном сегменте и подавно), я решил собрал и стру...

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

[Перевод] Обработка сетевых данных на лету Перевод статьи подготовлен в преддверии старта курса «Пентест. Практика тестирования на проникновение». Аннотация Разнообразные виды оценки безопасности, начиная от регулярного тестирования на проникновение и операций Red Team до взлома IoT/ICS-устройств и SCADA, подразум...

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

Криптовалюта. ICO, IEO, STO. Майнинг. Блокчейн: регулирование в России. Полная история: 2014-2019 годов Пролог Юрист — человек, который может написать ответ на 10 листов и назвать его кратким. Основной мой бизнес связан с юриспруденцией. Почти еженедельно приходит 1-2, а то и 3-5-10 клиентов, которые задают одни и те же вопросы: «Каков статус криптовалют/токенов в РФ/СНГ?»;...

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

Параметризованное 3D-моделирование подшипникового стакана в nanoCAD Plus 20 Компания MaxSoft категорически приветствует всех читателей! В этой статье речь пойдет о САПР-платформе nanoCAD, а если конкретнее — о её 3D модуле. Так уж сложилось, что из релиза в релиз, все вертикальные решения на базе платформы nanoCAD, ровно как и сама платформа, обяза...

Aсинхронный PHP Десять лет назад у нас был классический LAMP-стек: Linux, Apache, MySQL, и PHP, который работал в медленном режиме mod_php. Мир менялся, а с ним и важность скорости. Появился PHP-FPM, который позволил значительно увеличить производительность решений на PHP, а не срочно переп...

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

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

[Перевод] Вызов принят: OpenBSD на ноутбуке Хотелось бы поделиться, может быть и не самым новым, но отчасти познавательным и местами увлекательным, опытом установки на ноутбук операционной системы не из мейнстрима (т.е. не Windows или Linux) для хоть сколько-нибудь полноценной работы в наше (развращённое) время. Начал...

Vivaldi 3.1 — Заметные радости Привет, Хабр! При работе на компьютере в сети мы больше всего времени проводим в браузере, а главная задача, которую мы при этом решаем — получение или создание информации. Собственно, всё просто. Но только на словах. А на самом деле за этими простыми описаниями стоит оче...

Samsung представила виртуальную клавиатуру раньше Apple SelfieType — проекционная клавиатура от Samsung Несмотря на то что Apple довольно скрытная компания, которая старается до последнего держать втайне информацию о новых продуктах, она на постоянной основе сама сливает большую часть своих планов. Речь в данном случае идёт...

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

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

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

[Перевод] Навигация между представлениями с помощью @EnvironmentObject в SwiftUI Перевод статьи подготовлен в преддверии старта продвинутого курса «Разработчик iOS». Здравствуйте и добро пожаловать на наш туториал! В этой серии мы говорим о том, как перемещаться между представлениями в SwiftUI (без использования навигационного представления!). Хоть эта...

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

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

[Из песочницы] Как быстро захватить мир или управление сетью windows компьютеров с помощью OPSI Disclaimer: Автор любит короткие и прямые костыли, а также нежно обожает свободный открытый софт за ту гибкость и масштабируемость, что тот дает. Целью данной статьи является желание попиариться, а также рассказать о незаслуженно неизвестной в русскоязычном интернете системе...

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

Может ли эпидемия CoVID-2019 стать сезонной как грипп и ОРВИ? В то время как эпидемия коронавируса разрастается в более чем 64 странах мира, некоторые ученые не исключают, что CoVID-201 с нами надолго. Напомним, что новый коронавирус это не только близкий родственник атипичной пневмонии SARS и ближневосточного MERS, но и ОРВИ. А эпиде...

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

Cybersecurity Suite: программный пакет нового поколения анонсировала RevBits Компания RevBits представила новый набор инструментов Cybersecurity Suite, обеспечивающий компаниям по всему земному шару превосходную защиту от кибератак. Платформа RevBits Platform была создана с одной простой целью — «предоставить комплексное технологическое ре...

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

AMD не планирует создавать отдельную архитектуру для процессоров со сверхнизким TDP Ещё сравнительно недавно компания AMD имела отдельную микроархитектуру для x86-совместимых процессоров с низким энергопотреблением. Параллельно с «прожорливыми» CPU Bulldozer чипмейкер выпускал экономичные APU на архитектуре Bobcat, которую потом заменила Jaguar....

В приложении Яндекс теперь можно заказать еду и продукты В приложении Яндекс теперь можно заказывать продукты и готовую еду с доставкой на дом. На главном экране приложения появились сервисы Яндекс.Еда и Яндекс.Лавка. Чтобы сделать заказ в Лавке или Еде, теперь не нужно скачивать отдельные приложения. Сервисы мгновенно открываются...

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

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

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

Компьютерный мастер – Компьютерная помощь на дому Любому пользователю компьютера известны нередкие случаи, когда именно в тот момент, когда нужно срочно отправить сообщение по электронной почте, либо получить задание, которое немедленно надо выполнить, компьютер, вдруг перестает нормально работать. А еще и такое ̵...

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

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

Как проанализировать рынок фотостудий с помощью Python (1/3). Парсинг данных В интернете огромное количество открытых данных. При правильном сборе и анализе информации можно решить важные бизнес-задачи. Например, стоит ли открыть свой бизнес? С таким вопросом ко мне обратились клиенты, желающие получить аналитику рынка услуг фотостудий. Для них было...

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

У «Газпром-медиа» готова замена TikTok. Приложение Yappy для коротких вертикальных видео выйдет в конце года Как пишет Коммерсантъ, у «Газпром-медиа» готово приложение Yappy, которое импортозаместит TikTok. Yappy основано на другом приложении – «Ямолодец», купленном компанией в прошлом году. Смысл Yappy такой же, как и в TikTok – ...

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

Google объяснила, почему нужно установить последнее обновление Android Google выпустила январское обновление безопасности, которое, впрочем, доступно далеко не всем Я уже много раз высказывал своё мнение насчёт обновлений безопасности, которые, на мой взгляд, являются вещью совершенно бесполезной с практической точки зрения. Но кто я такой, что...

[Из песочницы] Изучаем мультикаст операторы RxJS Привет, Хабр! Представляю вашему вниманию перевод статьи «Understanding RxJS Multicast Operators» автора Netanel Basal. Широковещательные или мультикаст операторы нередко кажутся самой сложной темой при изучении RxJS. В этой статье я попробую все доступно объяснить. Мы рас...

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

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

Пиксельный симулятор ограбления Teardown анонсирован на Gamescom 2020 Планируйте идеальной ограбление, пытаясь при этом думать вне привычных рамок. Анонсированная во время церемонии открытия Gamescom 2020 пиксельная игра Teardown точно предложит игрокам много часов весёлого игрового процесса. Сначала посмотрите трейлера, а детали последуют ни...

Видеоурок Теплицы: плагин Mate Translate как альтернатива переводчику от Google Все мы знаем Google Translate. Это действительно очень удобный инструмент, но у Вовы Ломова возник вопрос: а есть ли какая-то альтернатива этому переводчику? Естественно круг поиска был ограничен рядом важных критериев: бесплатно, просто, онлайн, работает в браузере. И Вова ...

Засветка фоторезиста на 3D принтере лазерной указкой Была уже аналогичная статья. Решил повторить тоже самое, но уже с лазерной указкой, т.к. мощности должно хватить для засветки фоторезиста. Лазерную указку не ломал, а добавил “обвес”, чтобы её можно было использовать как указку, сняв всё добавленное. Для засветки фоторезиста...

Создаем готовый для опенсорса проект на Angular в пару кликов Недавно я публиковал статью о том, как быстро настраивать npm-пакеты перед публикацией в opensource. В ней я разобрал настройку версионирования, CI, построение воркфлоу и удобный деплой на страничку с демо. Все советы той статьи распространяются и на библиотеки Angular. Но в...

Онлайн-курс Теплицы: все о Google Analytics Google Analytics – самый действенный инструмент в отслеживании поведения ваших посетителей на сайте и «по дороге» к нему. Как сказал Алексей Сидоренко, руководитель «Теплицы социальных технологий» в интервью – «Если вы владелец магазина, вам, конечно, интересно знать, чт...

Смартфоны Samsung, Razer и Asus теперь поддерживают Google Stadia Производители смартфонов стремятся использовать в своих гаджетах самые производительные чипсеты. И эти времена, когда кому-то будет важна модель процессора, уже совсем скоро уйдут в прошлое. А всё дело в развитии 5G и стриминговых сервисов. В настоящее время самым популярны...

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

Microsoft пока не согласилась адаптировать Windows для Mac с ARM Думаю, все уже слышали про Apple Silicon. Это новая инициатива Apple по переводу всей линейки Mac на мобильные процессоры собственного производства. В Купертино решили, что их фирменные чипы уже достаточно производительны, чтобы ими можно было снабдить даже самые мощные маш...

Умный дом: Строим графики потребления воды и электричества в Home Assistant Каждый раз получая платежку за электричество и воду я удивляюсь — неужели моя семья стооооолько потребляет? Ну да, в ванной установлен теплый пол и бойлер, но ведь они же не кочегарят постоянно. Воду тоже вроде экономим (хотя поплескаться в ванной тоже любим). Несколько ле...

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

[Перевод] Контрольный список для ревью кода в распределенных системах points of view by sanja Микросервисная архитектура широко распространена в разработке программного обеспечения. Но организации, которые ее используют, помимо сложностей в реализации бизнес-логики сталкиваются еще и с распределенными сбоями. Ошибки распределенных вычислений...

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

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

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

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

Полноценный Kubernetes с нуля на Raspberry Pi Совсем недавно одна известная компания объявила, что переводит линейку своих ноутбуков на ARM-архитектуру. Услышав эту новость, я вспомнил: просматривая в очередной раз цены на EC2 в AWS, обратил внимание на Graviton'ы с очень вкусной ценой. Подвох, конечно же, был в том, ...

Битва снифферов: Charles vs Proxyman Привет, меня зовут Даша, я работаю тестировщицей клиентского мобильного приложения в компании Ozon.Сегодня поговорим о снифферах в тестировании мобильных приложений –– программах для перехвата, анализа и модификации трафика. Пожалуй, самый популярный сниффер из тех, о которы...

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

GHIDRA vs. IDA Pro Приветствую, Думаю, пришла пора. Наболело/накипело/есть мнение. С выходом Гидры ситуация с инструментарием для реверс-инженеров достаточно сильно изменилась. Если раньше выбора чем пользоваться особо не было (здесь не будут упоминаться Binary Ninja, Hopper, JEB или Radare2,...

My Time at Sandrock — RPG от создателей My Time at Portia, вдохновлённая работами Миядзаки My Time at Sandrock — это RPG в открытом мире, над которой работает таже студия, что и над My Time at Portia. Новую часть можно даже назвать сиквелом, потому что её события происходят после покидания города Portia. По сюжету мы прибываем в Sandrock, потому что там требуются ...

Чек-лист — как тестировать поиск Я посмотрела, как тестируют поиск начинающие тестировщики, и решила написать этот чит-лист проверок. Это такая серебряная пуля, которую можно применить на любом проекте, лишь немного варьируя под себя, под свой проект.Поиск — он же есть практически в каждой системе. Поэтому ...

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

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

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

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

StealthWatch: интеграция с Cisco ISE. Часть 4 В более ранних статьях было рассмотрено несколько обширных тем касательно решения по мониторингу Cisco StealthWatch. Напомню, что StealthWatch — решение по мониторингу трафика в сети на предмет инцидентов безопасности и легитимности сетевого взаимодействия. В основе работы...

[Перевод] Мнение: Spamhaus – онлайн цензура или борцы за чистый веб? Монополия, злоупотребление властью и корыстные цели или рука помощи в море спама? Представители нескольких интернет-компаний пообщались с техническим журналистом Ларсом Собираджем (Lars «Ghandy» Sobiraj), чтобы обсудить противоречивый проект Spamhaus. Адаптированный разбор п...

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

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

Ремесло и успех в IT С интересом читаю статьи про бизнес в IT, хотел поддержать в комментариях автора Так ли просто организовать свой бизнес ИТ-специалисту, но потом понял, что хочу высказаться более развёрнуто. Представлюсь как на встрече анонимных алкоголиков. Я — IT-ремесленник. Из 27 лет ст...

AMD рассказал о планах на будущее Zen 3, Zen 4, RDNA 2 и RDNA 3 На финансовом собрании компании AMD, представители компании рассказали о целях на ближайшие два года. AMD планирует выпустить больше графических карт с архитектурой RDNA, а также центральных процессоров семейства Zen 3 и Zen 4. Будущая архитектура RDNA 2 обеспечит улучшен...

Переводчик на iPhone: Как пользоваться встроенной программой Перевод в iOS В iOS 14 (обзор всех новых функций) компания Apple добавила новое приложение «Перевод». Нетрудно догадаться, хотя бы по названию, что программа предназначена для перевода с одного языка на другой. Приложение «Перевод» имеет несколько полезных функций, которые окажутся удобны...

Техподдержка 3CX отвечает: Обновление на 3CX v16 с предыдущих версий В новый год с новой АТС! Правда, не всегда есть время или желание разбираться в тонкостях перехода между версиями, собирая информацию из разных источников. В этой статье мы собрали всю информацию, необходимую для простого и быстрого обновления до 3CX v16 Update 4 со старых в...

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

[Из песочницы] Как научить UITextView красиво выделяться Постановка задачи Дано: многострочный текст. Найти: красиво оформленный фон. «Да это же на часок», — подумал я. — Нужно всего лишь поставить backgroundColor в attributedText». Но этого оказалось недостаточно. Дело в том, что стандартное выделение — это закрашенный прямоуго...

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

[Перевод] Распознавание маски на лице с помощью YOLOv3 YOLO или You Only Look Once — это архитектура свёрточных нейронных сетей, которая используется для распознавания множественных объектов на изображении. В 2020, на фоне пандемии, задача детектирования объектов (object detection) на изображении стала как никогда актуальной. Эт...

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

Создаем graphql бекенд на Golang Сегодня мы будем разрабатывать приложение на Golang + GraphQL. Мы часто используем GraphQL на своих проектах и знаем о нем немало, использовали его вместе с различными языками программирования: Javascript, Ruby и теперь руки дошли и до того чтобы попробовать связку Golang G...

Автоматизация тестирования в микросервисной архитектуре Привет, Хабр. Меня зовут Сергей Вертепов, я senior backend инженер. Это небольшая обзорная статья о том, как мы тестировали монолитное приложение Авито, и что изменилось с переходом на микросервисную архитектуру. Читать дальше →

[Из песочницы] [Symfony 5] Раздельная авторизация для админов и пользователей с двумя разными сущностями и формами входа Цель Создать в Symfony 5 раздельную авторизацию: Администратор — будет иметь сущность Admin, url для входа /admin/login Пользователь — будет иметь сущность User, url для входа /login Данные для входа не должны пересекаться, мы не можем авторизоваться как User на странице /...

[Перевод] 7 уроков, которые я усвоил за десять лет в разработке Представляем вам перевод статьи JS dev Ray, опубликованной на сайте medium.com. Автор рассказывает о важных вещах, которые он понял за свою карьеру разработчика приложений. По его мнению, эта информация может очень пригодиться начинающим специалистам. Читать дальше →

Это случилось: готовится к выходу смартфон на полноценной Windows 10 Рынку смартфонов уже давно необходима революция, и мы ощущаем, что эти времена наступят уже совсем скоро. Смартфоны должны в будущем заменить ноутбуки, компьютеры и планшеты. Почему я так считаю? А потому что всё идет именно к этому. Например, Samsung предлагает своим потре...

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

Я иду искать: геопозиционирование хоста по IP-адресу в глобальной сети Интернет на примере криптобиржи Binance В статье рассмотрены методы геопозиционирования сетевых интерфейсов по IP-адресу на примере API-сервиса криптобиржи Binance. Геопозиционирование основано на дистанционно-временных моделях пересчета времени кругового обхода (RTT) в дистанцию и определения примерного местопо...

[Перевод] Сортировка в Scala — пример на кошках Привет, Хабр! Выношу на ваш суд русскоязычный перевод моей статьи на Medium: Sorting in Scala — a cat shop example. Статья рассчитана на читателей, знающих синтаксис языка Scala и осведомлённых о базовых инструментах стандартной библиотеки. Читать дальше →

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

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

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

[Из песочницы] [Перевод] От пиратства к опенсорс: моя история Привет, Хабр! Предлагаю Вашему вниманию перевод статьи "From piracy to open-source: my story" автора Jakob Attkinson. Я рос с компьютером с 6 лет. Хотя я и был рожден в довольно небогатой семье, мой отец осознавал мощный потенциал технологий и хотел быть уверенны...

Настройка GeoIP ACL в HAProxy в два шага Hello Planets by Augustinas Raginskis Иногда возникает задача управления трафиком в зависимости от географического положения клиента. Возможные области применения — блокировка некоторых локаций либо перенаправление трафика на итоговый сервер в зависимости от локации клиент...

Tinder знает о вашей интимной жизни больше, чем ваши друзья Сегодня в центре нашего внимания Tinder — самое популярное мобильное приложение для знакомств (57 миллионов пользователей на начало 2020 года, из которых 5,9 млн. имеют платную подписку. Это приложение работает на основе данных о местоположении, подбирая желающих познакоми...

Google представила новый режим для «Google Переводчика» Google представила обновление Google Переводчика, которое изменит восприятие сервиса «Google Переводчик» — явно не тот сервис, которому нужны постоянные обновления. Нет, конечно, повышение точности интерпретации языков или понимания контекста, от которого может напряму...

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

Как и почему мы переехали с собственного npm-репозитория на Verdaccio Всем привет. Меня зовут Андрей Фримучков, я работаю в команде инфраструктуры разработки интерфейсов Яндекса. Последние два месяца участвовал в запуске нового хранилища пакетов. Около года назад мы упёрлись в ограничения собственного решения и после череды экспериментов пришл...

[Из песочницы] Почему в 2020 году мы по-прежнему выбираем Ruby? Привет, Хабр! Представляю вашему вниманию перевод статьи «Why is Ruby still our choice in 2020?» автора Vira Vashkovska. Мы — опытная команда Ruby on Rails разработчиков. Некоторые из нас занимаются разработкой на Ruby уже многие годы и знают его как свои пять пальцев. Вот ...

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

Выполнен заказ по брелкам! Осилил я свой первый мелкосерийный заказ, на брелки в количестве аж 50 шт. Да этого только какие штучные вещи были..   Опишу вкратце процесс, то есть то как это может сделать новичок в 3D моделировании типа меня. 1. Берем нужный логотип:2. Делаем его черно-белым: 3. Пихаем э...

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

11 друзей RUVDS или Обзор маркетплейса с готовыми образами Недавно в очередном посте о том «как корпоративные редакторы захватили Хабр и совсем не дают вздохнуть свободным авторам», нам поставили в минус, что в нашем блоге слишком много материалов НЕ про услуги компании, ее деятельность и прочее в том же духе. То про лабиринты в иг...

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

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

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

Как использовать объектное S3-хранилище Mail.ru Cloud Solutions для хранения бэкапов Veeam LogiMap ASRS Unit by Vidom Veeam Backup & Replication — коммерческая платформа для резервного копирования и управления данными облачной, виртуальной и физической среды. Она поддерживает разные сценарии хранения данных, в том числе использование S3-совместимых объектных ...

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

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

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

GitHub: шаблон Zabbix для мониторинга задач сбора данных в MaxPatrol SIEM Сегодня SIEM – это главный помощник при анализе событий ИБ: трудно представить, сколько бы потребовалось времени, чтобы вручную просматривать логи с множества источников. При этом прекращение сбора данных с источника – достаточно распространенная проблема SIEM. И далеко не...

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