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

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

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

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

Макросы для питониста. Доклад Яндекса Как можно расширить синтаксис Python и добавить в него необходимые возможности? Прошлым летом на PyCon я постарался разобрать эту тему. Из доклада можно узнать, как устроены библиотеки pytest, macropy, patterns и как они добиваются таких интересных результатов. В конце есть ...

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

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

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

[Перевод] Пишем интерпретатор BASIC в стиле 80-х В течение нескольких лет я работала над личным проектом создания (а на самом деле исследования) «фальшивого эмулятора», то есть написанного на JavaScript эмулятора никогда не существовавшего компьютера. Эта машина должна была стать данью памяти восьми- и шестнадцатибитным ...

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

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

Java-дайджест за 17 января. Две первые недели нового года Появился шрифт JetBrains Mono — приятный и красивый шрифт для разработчиков Вышел плагин для интеграции GitLab с IntelliJ IDEA. Теперь можно делать код-ревью прямо в вашей любимой IDE! В Java-плагине для Visual Studio Code добавили кучу важных ништяков (действительно вли...

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

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

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

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

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

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

Обновленный плагин YouTrack для IDE на платформе IntelliJ Привет Хабр!В командах разработки трекеры задач и IDE редко существуют друг без друга. Поэтому мы решили существенно «проапгрейдить» плагин YouTrack для IDE на платформе IntelliJ. Плагин интегрируется с вашими любимыми IDE от JetBrains — AppCode, CLion, DataGrip, GoLand, Int...

[Перевод] 10 расширений для VS Code, без которых я не могу программировать VS Code — мой любимый редактор кода. Это — самый популярный из существующих редакторов, возможности которого можно расширять практически до бесконечности. И, что удивительно, разработала его компания Microsoft. Я полагаю, что ни один из других редакторов и ни одна из других ...

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

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

Учим нейросети в Google Таблицах Хочу с вами зачелленджить одну интересную штуку: попробовать обучить нейросеть в Google Таблицах. Безо всяких макросов и прочих хаков, на чистых формулах. Читать дальше →

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

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

[Из песочницы] HTTP Error 503. Service Unavailable: случай в поддержке хостинга Работа в поддержке хостинга в основном однотипная, большинство запросов от клиентов решаются по проработанной схеме, но иногда всё же приходится сталкиваться с нетривиальными проблемами. Тогда главная задача инженера — найти тот самый — единственно верный путь, который приве...

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

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

6. NGFW для малого бизнеса. Smart-1 Cloud Приветствую всех, кто продолжает читать цикл о новом поколении NGFW Check Point семейства SMB (1500 cерия). В 5 части мы рассмотрели решение SMP (портал управления для SMB шлюзов). Сегодня же хотелось бы рассказать о портале Smart-1 Cloud, он позиционирует себя как решени...

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

Do you speak English? Лучшие приложения для изучения английского Чтобы с гордостью отвечать «Yes, I do!», стоит обратить внимание на мобильные приложения, которые помогут вам освоить иностранный язык. Мы проанализировали лучшие из них. ...

Лемматизируй это быстрее (PyMorphy2, PyMystem3 и немного магии) Я работаю программистом, и в том числе занимаюсь машинным обучением применительно к анализу текстов. При обработке естественного языка требуется предварительная подготовка документов, и одним из способов является лемматизация – приведение всех слов текста к их нормальным фор...

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

Полезные советы по редактированию фото на iPhone и iPad Многим не хватает встроенных в приложение «Фото» на iOS инструментов для редактирования фотографий и они загружают различные сторонние приложения вроде Darkroom, Obscura Camera и другие. В этом нет ничего такого, потребности у всех разные, но я до сих пор вижу, что большинс...

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

На iPad вышла Book of Demons — микс из карточной игры и hack & slash Сегодня у владельцев iPad настоящий праздник. Сначала Company of Heroes от Feral Interactive эксклюзивно для планшетов Apple, а теперь и Book of Demons, да еще и со скидкой в честь релиза. Ограниченное время игра будет продаваться по цене 379 рублей, а потом стоимость выра...

Джентльменский набор программиста UE4, ч. 3 Данный вопросник является дополнением и логическим завершением темы "джентльменского набора", поднятой ранее. Разработка игр — весьма комплексная индустрия, с очень широкими набором технологий и подходов, при этом базис у всех этих вещей на самом деле общий. Этот список созд...

[Из песочницы] Реализация алгоритма определения ширины объекта с помощью ультразвукового дальномера и энкодеров на языке RobotC Доброго дня! Сегодня я бы хотел поделиться реализацией алгоритма определения ширины объекта с помощью ультразвукового дальномера и энкодеров на языке программирования RobotC (с использованием платформы VEX EDR). Предистория Недавно, мне предложили провести мастер-класс на ...

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

5 функций Telegram, о которых многие забывают Telegram уже давно и по праву занял свое место среди самых популярных мессенджеров в мире. Конечно, до WhatsApp ему еще далеко, но все равно, столько преданных фанатов, сколько есть у детища Павла Дурова, другим еще поискать. Секрет популярности легко объясним — прогр...

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

400 000 сайтов оказались под угрозой из-за плагинов Специализирующаяся на кибербезопасности компания Sucuri выявила уязвимости в плагинах InfiniteWP, WP Time Capsule и WP Database Reset, которые в общей сложности касаются как минимум 400 000 интернет-ресурсов по всему миру. Самой серьёзной является «дыра» в InfiniteWP Client ...

Редактор кода Visual Studio Code. Самый подробный гайд по настройке и установке плагинов для начинающих Бесплатный, мощный, очень популярный, с кучей дополнений, да что там говорить, сам Фейсбук выбрал его в качестве основного редактора! Сегодня речь пойдет о редакторе кода Visual Studio Code или просто VS Code. Мы с тобой его установим, настроим, а также применим плагины, к...

Жизнь и работа в Нидерландах Наконец-то руки дошли до продолжения статьи "Истории о моей работе в Нидерландах" — а именно, пришла пора рассказать о деталях переезда и поделиться практическими советами с будущими трактористами. Прошу прощения у всех, кто ждал этого продолжения гораздо раньше. Н...

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

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

Вкусовщина и AI: как мы в Prisma Labs делали объективно субъективный автоматический улучшатель фотографий Привет, Хабр! Меня зовут Андрей, я занимаюсь R&D в Prisma Labs. В своё время наша команда провела весьма интересное исследование на тему автоматического улучшения фотографии, результатом которого стала фича “AutoAdjustment” в приложении Lensa, позволяющая в один клик сде...

[Перевод] Flutter. Упрощаем компоновку виджетов с помощью Dart расширений В версии Dart 2.7 нам представили расширения, позволяющие разработчикам добавлять новые функциональные возможности в уже существующие типы. Расширения могут быть отличным помощником не только, когда мы пишем бизнес-логику, но и когда у нас есть другие задачи! Примером такой...

Чиним сериализацию объектов в Kotlin раз и навсегда Недавно я наткнулся на статью о проблеме c Java-сериализацией объектов в Kotlin. Автор предложил решать её добавлением метода readResolve к каждому объекту, который наследуется от java.io.Serializable. Этот способ выглядит абсолютно правильным, однако его поддержка может о...

Частичное применение и каррирование функций в Лиспе Одно из известных преимуществ Лиспа над другими языками программирования состоит в том, что в Лиспе проще, чем где бы то ни было, реализуются различные новые механизмы, появляющиеся в современных языках программирования. Причин тому несколько: это и гомоиконность Лиспа (един...

[Перевод] Смотрим на Chapel, D, Julia на задаче вычисления ядра матрицы Введение Кажется, стоит вам отвернуться, и появляется новый язык программирования, нацеленный на решение некоторого специфического набора задач. Увеличение количества языков программирования и данных глубоко взаимосвязано, и растущий спрос на вычисления в области «Data Scien...

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

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

[Перевод] Руководство по версиям и возможностям Java Здесь есть все, что вам нужно знать о различных версиях и функциях Java. Java 8, Java 11, Java 13 — какая разница? Вы можете использовать это руководство, чтобы найти и установить последнюю версию Java, понять различия между дистрибутивами Java (AdoptOpenJdk, OpenJDK, Oracl...

[Перевод] Как победить бездушный рандом в roguelike-играх Умирая в игре 30-й раз, невольно задумываешься: все ли продумал геймдизайнер и не напортачил ли он с балансом? Не всегда можно подстроиться под неожиданные изменения, особенно когда они созданы процедурной генерацией. Дальше материал, в котором разбирается роль случайнос...

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

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

Разработка плагинов для Zabbix Agent 2 На последнем Zabbix Summit 2019 вместе с выходом Zabbix 4.4 был анонсирован новый Zabbix Agent 2, ключевая фишка которого — возможность написания плагинов к нему на языке Go. И многие сразу стали спрашивать: а как же, собственно, эти плагины писать, как они устроены? Где взя...

[Перевод] Основы работы с Shader Graph в Unity Шейдер — это небольшая программа, содержащая инструкции для GPU. Она описывает способ вычисления экранного цвета для определённого материала. Хотя у Unity есть Standard Shader, иногда требуется реализовать эффект, на который не способен стандартный шейдер. Раньше для этог...

На мобильных вышел карточный рогалик Journey Of Abyss Карточные рогалики существовали задолго до появления Slay the Spire, но именно этот проект сделал жанр особенно популярным. Сам он в этом месяце наконец-то добрался до iOS, но на мобильных постоянно выходят и другие подобные проекты. Journey of Abyss – это тоже карточный ро...

[Перевод] Настраиваем окружение Python с помощью pyenv, virtualenvwrapper, tox и pip-compile Эти инструменты упростят настройку и позволит автоматизировать рутинные операции. Они избавят разработчика от многих сложностей, которые мешают сосредоточиться на решении задач и комфортном написании кода. Есть много способов настройки окружения Python. В этом материале о...

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

[Из песочницы] Собственный софт-процессор на ПЛИС с компилятором языка высокого уровня или Песнь о МышЕ Собственный софт-процессор на ПЛИС с компилятором языка высокого уровня или Песнь о МышЕ — опыт адаптации компилятора языка высокого уровня к стековому процессорному ядру. Распространенной проблемой для софт-процессоров является отсутствие средств разработки для них, особен...

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

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

[Перевод] Исследование системы типов для проверки корректности музыки Сегодня много говорят о представлении музыки с помощью языков программирования, поскольку это, с одной стороны, интересная задача для инженеров, а с другой — является частью задачи универсального описания музыки. Как это выглядит? Для многих языков созданы среды программи...

Opener 2020: Самый сок Введение На протяжении всего апреля мы с командой после учёбы и работы решали увлекательные задачи в рамках конкурса Opener от компании Itransition. Вместе с конкурсом закончился наш лучший месяц на самоизоляции. Теперь, отдохнув, я готов спокойно поделиться этим опытом с ва...

Как поделиться геолокацией в Google Maps без адреса Наверное, все умеют делиться геопозицией. Этот навык может пригодиться в самых разных жизненных ситуациях – от поиска нужного заведения до отслеживания передвижения близкого человека, которого нужно проконтролировать, например, при поездке на такси посреди ночи. Другое дело...

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

Функция «Коллекции» теперь включена по умолчанию в Microsoft Edge Canary и Dev Функция «Коллекции» теперь по умолчанию включена для всех пользователей инсайдерских сборок Microsoft Edge Chromium на каналах Canary и Dev. Об этом Microsoft объявила в своём блоге. Мы разработали «Коллекции», основываясь на том, что вы делаете в Интернете. Это универсальн...

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

[recovery mode] Уйти от jQuery к Svelte, как это было Всем привет. Это отчёт в продолжение статьи "Уйти от jQuery к Svelte, без боли". Ниже я расскажу о трудностях с которыми столкнулся, их было не много, и только одна была настолько фундаментальной, где без поддержки сообщества я бы не справился. Введение Я планир...

[Из песочницы] Как собирать проекты в Jenkins, если нужно много разных окружений На Хабре много статей о Jenkins, но мало где описывается пример работы Jenkins и докер агентов. Все популярные инструменты сборки проектов типа Drone.io, Bitbucket Pipeline, GitLab, GitHub actions и другие, могут собирать все в контейнерах. Но как же Jenkins? На сегодняшний...

[Из песочницы] С++, метапрограммирование и регистры микроконтроллера Привет, Хабр! Вот уже несколько лет все свои проекты для линейки микроконтроллеров stm32 я делаю на C++. За это время у меня накопилось некоторое количество материала, который может быть интересен другим разработчикам. Во избежание лишних вопросов: я использую связку QtCre...

Как объяснить роботу свою точку зрения Когда-нибудь задумывались зачем сегодня нужны роботы? С детства мне казалось, что роботы стоят где-то на современных фабриках, что это где-то далеко от нас. Или в фантастике. Но уже нет. Роботы на сегодня — это автоматизация любого рутинного процесса. Их могут ставить и на ф...

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

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

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

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

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

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

[Из песочницы] Создание динамических параметров в Jenkins job, или как сделать вашу задачу user-friendly Доброго времени суток, Хабр! Сегодня я хотел бы поделиться одним из способов, как с помощью Active Choices Plugin сделать задачу в Jenkins наиболее унифицированной и понятной для пользователя. Введение Такая аббревиатура как DevOps уже давно не является чем-то новым для IT с...

Выбираем плагин для двухфакторной аутентификации в Wordpress Двухфакторная аутентификация значительно повышает уровень безопасности сайта при соблюдении остальных условий (таких как своевременное обновление движка-тем-плагинов, применение практик безопасного программирования и т.п.). Столкнувшись с вопросом подключения Google Authe...

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

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

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

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

Расширяем Laravel за счет собственных компонентов Задача Добавить в приложение систему оповещения пользователей через СМС-сообщения с возможностью выбора провайдера. Решение Оптимальным решением, на мой взгляд, является добавление собственного компонента. Компонент — блок программы с четко определенным набором действий (ко...

Обучение универсальной модели NLU c BERT и Multitask Learning В современной компьютерной лингвистике понимание смысла написанного или сказанного достигается с помощью моделей естественного языка (NLU). С постепенным ростом аудитории виртуальных ассистентов Салют встает вопрос об оптимизации наших сервисов, работающих с естественным яз...

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

[Перевод] Цикл уроков по SDL 2.0: урок 6 — Загружаем шрифты с помощью SDL_ttf От переводчика: Это продолжение серии переводов туториалов от Twinklebear, в оригинале доступных тут. Перевод отчасти вольный и может содержать незначительные поправки или дополнения от переводчика. Перевод первых двух уроков — за авторством InvalidPointer, а третьего и че...

Все, что вы хотели узнать об LDPC кодах, но стеснялись спросить (наверное) Предисловие С кодами малой плотности проверок на чётность, которые дальше мы будем именовать коротко LDPC (Low-density parity-check codes), мне удалось познакомиться более или менее близко, работая над семестровым научным проектом в ТУ Ильменау (магистерская программа CSP)....

[Перевод] ELK SIEM Open Distro: Прогулка по open Distro В этом посте будет описана установка и настройка open Distro для Elasticsearch. В open Distro доступны следующие плагины являются : Безопасность (Security ) Оповещение (Alerting ) SQL Управление информационной безопасностью (ISM) Анализатор производительности (Performance A...

[Перевод] Разворачиваем вложенные столбцы — списки с помощью языка R (пакет tidyr) В большинстве случаев при работе с ответом полученным от API, или с любыми другими данными которые имеют сложную древовидную структуру, вы сталкиваетесь с форматами JSON и XML. Эти форматы имеют множество преимуществ: они достаточно компактно хранят данные и позволяют избежа...

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

«Google Поиск» получил масштабное обновление в России Google Поиск стал умнее благодаря технологии BERT Интуитивность – это то, чего мы в первую очередь ждём от любого продукта. Если пользователь покупает смартфон, он не должен самостоятельно что-то прошивать, чтобы устройство заработало как надо, или искать, где бы скачать ну...

Как собрать образ Oracle DB для Testcontainers Код должен тестироваться на той СУБД, с которой он будет работать. Testcontainers — это такая библиотека, которая позволяет использовать в юнит тестах практически любую СУБД с той же лёгкостью, что embedded базы данных типа HSQLDB или H2. Был бы только Docker образ Именно с...

Генерация типизированных ссылок на элементы управления Avalonia с атрибутом x:Name с помощью C# SourceGenerator В апреле 2020-го года разработчиками платформы .NET 5 был анонсирован новый способ генерации исходного кода на языке программирования C# — с помощью реализации интерфейса ISourceGenerator. Данный способ позволяет разработчикам анализировать пользовательский код и создавать...

[Из песочницы] Стилизация Select-Option (почти) без JavaScript Стилизация некоторых стандартных элементов — довольно нетривиальная задача. Разумеется, хороший специалист может стилизовать что угодно, однако всё упирается в сложность этого действия. Для стилизации радиокнопок и чекбоксов потребуется совсем немного времени — идея стилиз...

Intel наделит свои графические процессоры аппаратным ускорением трассировки лучей Предположения о том, что компания Intel может реализовать поддержку аппаратного ускорения трассировки лучей в своих будущих GPU семейства Intel Xe, появились достаточно давно. Затем компания подтвердила их, но только для GPU для центров обработки данных. Теперь же явные свид...

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

Хоррор с элементами рогалика Monstrum выйдет на консолях 22 мая В далеком 2015 году на компьютерах вышел хоррор с элементами выживания и рогалика под названием Monstrum. В Steam у него чуть больше 1700 отзывов, 90% из которых положительные. Авторы игры взяли привычный рецепт создания проектов в таком жанре, но добавили в него процедурну...

ExtendScript Работа с файлами Всем привет.В предыдущей статье я рассказал, как написать скрипт для Adobe After Effects. Напомню, что наш скрипт создает окно в интерфейсе программы. В этом окне можно вводить и выполнять код Extendscript - язык сценариев для программ Adobe. Теперь хочу предложит вам некото...

Управление трафиком в Kubernetes-кластере с Calico Практически каждый инженер, практикующий DevOps, в какой-то момент сталкивается с задачей настройки правил доступа для своих проектов. В данной статье мы рассмотрим примеры настройки сетевых политик Kubernetes-кластера, в котором используется плагин Calico и осветим некотор...

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

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

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

Умный аквариум 800литров: Rubetek RE-3310, лампочки Rubetek RL-3103, датчики Rubetek RS-3220... Мы продолжаем серию материалов по реальным примерам развертывания системы умного дома. Ранее опубликованные материалы затрагивали освещение, климат, элементы безопасности, панели управления и интеграцию с голосовым помощником «Алиса». Сегодня хотим поделиться опытом работы э...

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

Работа с IPv6 в PHP Недавно мы получили статус LIR и /29 блок IPv6. А следом возникла необходимость вести учёт назначенных подсетей. И коль скоро наш биллинг написан на PHP, пришлось немного проникнуться вопросом и осознать, что этот язык — не самый дружелюбный в плане работы с IPv6. Под катом ...

Пишем расширение для Burp Suite с помощью Python Привет, Хабр!Думаю многие знают о таком инструменте, как Burp Suite от PortSwigger. Burp Suite – популярная платформа для проведения аудита безопасности веб-приложений. Помимо того, что Burp и так содержит тонну полезных функций, он еще и дает возможность пользователям созда...

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

Go-swagger как основа взаимодействия микросервисов Здравствуй, NickName! Если ты программист и работаешь с микросервисной архитектурой, то представь, что тебе нужно настроить взаимодействие твоего сервиса А с каким-то новым и ещё неизвестным тебе сервисом Б. Что ты будешь делать в первую очередь? Если задать такой вопрос ...

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

Используем бесплатные возможности Github Actions для CI/CD на Flutter-проекте GitHub Actions — инструмент для автоматизации рутинных действий с репозиторием и подспорье при создании CI/CD для вашего проекта. Пользователи GitHub’а ежемесячно получают по 2000 минут, чтобы выполнять GitHub Actions на инфраструктуре сервиса. Применим это бесплатное время...

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

Автоматизация задач администрирования API VMware vSphere с использованием Ansible В предыдущей статье мы рассмотрели взаимодействие с VMware с помощью Python. В этой же обсудим взаимодействие с VMware с помощью Ansible. Ansible — система управления конфигурациями, написанная на языке программирования Python с использованием декларативного языка разметки ...

Ender-3 как лазерный гравер Это называется, во что можно превратить Эндер спустя полгода эксплуатации )))Подобные посты уже есть на ресурсе, я же просто поделюсь своей реализацией.Итак, имеем Кота.Задача - методом выжигания увековечить его мордочку на куске фанеры.После некоторых фотографических манипу...

Как энергетик изучал нейросети и обзор на бесплатный курс «Udacity: Intro to TensorFlow for Deep Learning» Всю свою сознательную жизнь, я был энергетиком (нет, сейчас речь не идет о напитке с сомнительными свойствами). Я никогда особо не интересовался миром информационных технологий, да и даже матрицы я вряд ли на листочке смогу перемножить. Да и не нужно мне это было никогда, ...

[Перевод] 10 хитростей Python, о которых полезно знать По данным StackOverflow Python — это самый быстрорастущий язык программирования. Например, в одном из отчётов Forbes речь идёт о том, что использование Python выросло на 456%. Python применяется в Netflix, в IBM, и ещё в тысячах компаний по всему миру. Давайте не забывать и ...

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

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

Простое руководство по дистилляции BERT Если вы интересуетесь машинным обучением, то наверняка слышали про BERT и трансформеры. BERT — это языковая модель от Google, показавшая state-of-the-art результаты с большим отрывом на целом ряде задач. BERT, и вообще трансформеры, стали совершенно новым шаго...

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

16 советов по разработке для Android на языке Kotlin. Часть 1 Перед прочтением этих советов вам желательно ознакомиться с документацией Kotlin и самостоятельно изучить язык на сайте try.kotlinlang.org. Поскольку эти советы направлены именно на использование Kotlin в контексте разработки под Android, у вас также должен быть опыт работ...

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

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

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

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

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

BlaBlaCar запускает BlaBlaHelp Бесплатное мобильное приложение, которое объединяет пользователей BlaBlaCar с теми, кому нужна помощь с покупкой продуктов во время распространения Covid-19, сообщает ITbukva.com.В сегодняшней сложной ситуации, когда людей всего мира призывают находиться дома ради собственно...

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

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

[Перевод] Точки входа в Python Многие думают, что точки входа это такие инструкции в setup.py, которые позволяют сделать пакет доступным для запуска из командной строки. Это, в целом, верно, но возможности точек входа не ограничиваются этим. Ниже я покажу как можно реализовать систему плагинов для пакета...

Как оценить уровень владения Английским языком На Хабре много статей о том, как самостоятельно изучать английский язык. Но вот вопрос, а как оценить свой уровень при самостоятельном изучении? Понятно, что есть IELTS и TOEFL, но эти тесты почти никто не сдает без дополнительной подготовки и эти тесты, как говорят, оцени...

Унифицируем арсенал Gatling Тестирование производительности — это непрерывный процесс оптимизации, контроля быстродействия систем и подтверждения их отказоустойчивости как на стадии моделирования и проектирования, так и на каждой итерации внесения изменений. Сейчас в Тинькофф мы активно занимаемся разв...

Расширения в Kotlin. Опасный атавизм или полезный инструмент? Kotlin — еще молодой язык, но уже стремительно ворвался в нашу жизнь. Из-за этого не всегда понятно, каким образом правильно реализовать тот или иной функционал и какие best practice применять. Особенно тяжело обстоит дело с возможностями языка, которых нет в Java. Одним ...

[Перевод] Руководство по возможностям Java версий 8-14 Здесь есть все, что вам нужно знать о различных версиях и функциях Java. Java 8, Java 11, Java 13, Java 14 — какая разница? Вы можете использовать это руководство, чтобы получить практическую информацию о том, как найти и установить последнюю версию Java, понять различия ме...

[Из песочницы] PostgeSQL: Разработка расширений (функций) на языке С Эту статью написал еще пару лет назад, и не знал куда ее можно было бы выложить, а потом и забыл. Смысл использования языка С при разработке расширений для PostgreSQL по сравнению с интерпретируемыми (скриптовыми) языками можно свести к двум положениям: производительность и...

Как справиться с декомпозицией задач и не перестараться Всем привет! Меня зовут Виктор, я системный аналитик в компании «Спортмастер». И сегодня я хотел бы поговорить о декомпозиции задач и передачи их в разработку. Любой объект состоит из частей, будь это автомобиль или программный продукт. И чтобы собрать любой из этих объекто...

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

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

Лучшие хорроры 2019 года на iOS и Android: Layers of Fear, DISTRAINT 2 и другие Полноценно пугаться на мобильных вряд ли получится. Банально формат не предусматривает. Поэтому мы выбираем не самые страшные игры на iOS и Android, а просто хорошие проекты, которые в той или иной степени тяготеют к особенностям жанра. Layers of Fear Порт с ПК, как это ...

Огромный прирост производительности для 3D-карт Radeon и поддержка старых адаптеров. Вышел новый драйвер Adrenalin 2020 Обещанный вчера новый драйвер для видеокарт AMD Radeon наконец-то вышел. Напомним, компания раз в год выпускает очень крупное обновление для своего драйвера, добавляя множество новых функций и меняя дизайн. Версия Adrenalin 2020 19.12.2, которая уже доступна для загрузк...

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

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

Выпущена предварительная версия PowerToys 0.16 с новыми инструментами Microsoft выпустила новую предварительную версию возрождённой утилиты PowerToys под номером 0.16, которая включает в себя несколько полезных нововведений. Во-первых, был добавлен инструмент, позволяющая одновременно изменять размер нескольких изображений, выбрав соответству...

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

Лучшие игры для Android-планшетов Играть на планшете — одно довольствие Сегодня почти все пользователи смартфонов играют в разного рода игры — это могут быть как простенькие убивалки времени, так и весьма продвинутые проекты. Но даже если вы являетесь гордым обладателем какого-нибудь фаблета посл...

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

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

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

UiPath Action Center: удобное взаимодействие роботов и людей В одном из последних исследований Deloitte сообщается, что 32% всех руководителей самым серьезным препятствием при масштабировании автоматизации считают разрозненность и фрагментарность бизнес-процессов. Новый продукт компании UiPath — Action Center помогает собрать всё во...

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

В плагинах Ultimate Addons нашли критическую уязвимость Два плагина для WordPress, установленные на сотнях тысяч сайтов, содержат критическую уязвимость, позволяющую злоумышленникам перехватить управление веб-ресурсом. Как выяснили ИБ-специалисты, наборы дополнений Ultimate Addons к конструкторам страниц Elementor и Beaver Builde...

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

16 советов по разработке для андроид на языке Kotlin. Часть 2 Всем привет. В преддверии старта базового курса по Android-разработке, продолжаем делиться полезным материалом. Перед прочтением этих советов вам желательно ознакомиться с документацией Kotlin и самостоятельно изучить язык на сайте try.kotlinlang.org. Поскольку эти советы...

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

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

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

Рекламные баннеры Ростелекома и как с ними бороться Многим уже известно, что Ростелеком при поддержке Mail.ru начал внедрение своих рекламных баннеров на сайтах не защищённых протоколом HTTPS. Защититься от их появления на своём сайте можно переводом его на HTTPS. Но что делать, если у вас нет такой возможности или для вас ...

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

Как включить встроенный всплывающий Шазам на iPhone без установки самого приложения Приложение Shazam, позволяющее угадать (распознать) играющую на стороннем устройстве музыку при помощи микрофона iPhone или iPad, весьма популярно. Однако после того как Apple купила сервис Shazam у пользователей появилась возможность определять автора, альбом и название ком...

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

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

Это лучшее приложение для установки сторонних циферблатов на Apple Watch Одна из главных новых функций watchOS 7 заключается в возможности загружать циферблаты на Apple Watch от друзей или других пользователей. Это открыло двери для новых приложений, подобных тому, о котором я расскажу в этой статье. Buddywatch, вероятно, является одним из лучши...

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

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

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

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

Необычные задачи по физике развивающие научное мышление (для школьников) Возможно вы уже читали мои статьи: Научные мультфильмы, что показывать детям без вреда для них? Простые опыты с ребенком дома Как мы для музея науки сделали самую большую катушку Тесла в Украине Как сделать мощную лестницу Иакова из трансформатора от микроволновки своими р...

Самые популярные структуры данных Что такое структура данных? Проще говоря, структура данных — это контейнер, в котором хранятся данные в определенной компоновке (формате, или способе организации их в памяти). Эта «компоновка» позволяет структуре данных быть эффективной в одних операциях и неэффективной в др...

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

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

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

[Из песочницы] MVVM и выбор элементов в адаптере Уже примерно после 3-его самописного адаптера, в котором надо было реализовывать логику запоминания выбранного элемента, у меня появились мысли, что должно же быть какое-то решение, которое уже включит в себя всё необходимое. Особенно, если в процессе разработки приходилось ...

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

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

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

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

Лучшие плагины WordPress App Builder WordPress всегда был первым инструментом для предпринимателей, которые хотят получить или улучшить присутствие их бренда или компании в Интернете. Помимо возможности легкой поддержки блога, контента и медиа ресурсов, лидирующая CMS платформа предоставляет возможность гибкой ...

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

Выпущена новая сборка Microsoft Edge Dev 81.0.416.3 Компания Microsoft выпустила новую сборку Microsoft Edge на базе Chromium под номером 81.0.416.3 для канала Dev, которая принесла с собой несколько новых функций, а также различные исправления и улучшения. Вероятнее всего, это последняя сборка с номером версии 81 в ветке De...

[Из песочницы] Mikrotik RouterOS в Docker Всем доброго времени суток! В данной статье я хочу рассказать об одном OpenSource проекте под названием Docker RouterOS, изначально он был создан в качестве полигона для прогонки интеграционных тестов и ничего более, но со временем, по просьбе пользователей, был добавлен ряд...

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

Загрузка и сборка AOSP Решил поделиться своей инструкцией как собрать AOSP (Android Open Source Project). Эта инструкция будет полезна тем кто хочет посмотреть что-же внутри Android и возможно заняться системной разработкой. В любом случаи эти знания полезны для понимания самого Android, как раз д...

No Way Home — новое сюжетное приключение с элементами шутера для Apple Arcade Темп выхода новых проектов в Apple Arcade заметно снизился еще в прошлом году, но сами проекты в целом радуют. Первым обновлением библиотеки в этом году стала постапокалиптическая головоломка Doomsday Vault, а теперь подоспело приключение об исследованиях с сюжетом под назва...

GoLand 2019.3 с улучшенной производительностью, расширенной поддержкой Go Modules и не только Привет, Хабр! Две недели назад мы выпустили GoLand 2019.3. Этот релиз — особенный для нашей команды и отличается от предыдущих. С того момента, как GoLand из плагина вырос в самостоятельную IDE, прошло 2 года. Все это время мы старались добавить как можно больше разнообра...

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

О том,как я двухголового монстра строил - или как не стоять раком,собирая свой первый 3D принтер Всем привет,с вами студент по имени Тёма.Сегодня я хочу поделиться с вами впечатлениями о сборке и проектировке своего первого 3д принтера (но не последнего).О его разработке я уже писал статейку ТЫЦТакже писал и о своих шишках по заказу металла на этот же принтер(спасибо ко...

[Перевод] Расширьте возможности машинного обучения Azure с помощью расширения VS Code Привет сообществу Python! Прошло много времени с тех пор, как мы последний раз писали об этом, но мы рады представить новые возможности, добавленные в расширение VS Code Azure Machine Learning (AML). Начиная с версии 0.6.12, мы представили изменения в пользовательском интерф...

[Перевод] Ненужные расширения для VS Code Недавно я занялся тщательным исследованием VS Code и сделал несколько интересных находок. Как оказалось, в редакторе есть довольно много возможностей и настроек, позволяющих отлично решать те же задачи, которые решают многие популярные расширения. Здесь речь пойдёт о шест...

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

[Из песочницы] Частотный анализ русского текста и облако слов на Python Частотный анализ является одним из сравнительно простых методов обработки текста на естественном языке (NLP). Его результатом является список слов, наиболее часто встречающихся в тексте. Частотный анализ также позволяет получить представление о тематике и основных понятиях т...

ВК. Займобот. $35k Я большой ценитель специфичных арбитражных воронок, всегда с удовольствием вписываюсь в перспективные тесты и изучаю как работают другие команды. Один из интересных подходов – это Займоботы, которые используются в основном ВК. Если кто не знает, это чат-бот, который призван ...

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

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

Симуляторы фабрики и управления: лучшие игры в стиле Factorio для iOS и Android На этой неделе на мобильных вышла игра Sandship: Crafting Factory. Она интересна и сама по себе, но привлекает многих, потому что приближается к определению игры «в стиле Factorio», которая пользуется безумной популярностью на компьютерах. Если вы знакомы с последней, то лиш...

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

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

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

3 функции приложения Фото на iPhone, которые упростили мне жизнь В iOS 13 одно из самых масштабных преображений произошло с приложением «Фото». Появилось много новых функций, причем некоторые Apple спрятала так сильно, что об их существовании знают далеко не все. И даже если тот или иной пункт меню находится прямо на виду, им почему-то н...

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

Опасно ли держать открытым RDP в Интернете? Нередко я читал мнение, что держать RDP (Remote Desktop Protocol) порт открытым в Интернет — это весьма небезопасно, и делать так не надо. А надо доступ к RDP давать или через VPN, или только с определённых "белых" IP адресов. Я администрирую несколько Windows Serv...

[Перевод] Ричард Хэмминг. «Несуществующая глава»: Как мы знаем, что мы знаем (11-20 минута из 40 ) Начало тут. 10-43: Кто-то говорит: «Учёный знает науку, как рыба знает гидродинамику». Тут нет никакого определения Науки. Я открыл для себя (я думаю, что говорил вам об этом ранее), где-то в старшей школе разные учителя говорили мне о различных предметах, и я мог видеть, ...

[Из песочницы] Как мы придумали TableAdapter и упростили работу с UITableView При работе с UITableView хотелось избежать написания шаблонного кода, который еще больше усложняется, если нужно обновлять состояние таблицы анимировано. Apple представила свое решение этой проблемы на WWDC 2019, но оно работает только с iOS 13. А у нас, как у студии разраб...

Intel показала работу мультиадаптера — связки из встроенного GPU и дискретной видеокарты Почти все современные процессоры Intel оснащаются встроенным графическим ядром. На сегодняшний день возможностей таких GPU достаточно для обычной работы и даже для запуска каких-нибудь старых либо максимально нетребовательных игр. Если же в ноутбуке есть ещё и дискретна...

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

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

[Из песочницы] Производственный календарь своими руками в Postgresql Здравствуйте, меня зовут Виктор и я разработчик в компании Gems Development. Я хочу рассказать, как мы реализовывали создание и заполнение производственного календаря в Postgresql. Рабочий процесс зависит от официальных государственных и международных праздников. В корпора...

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

[Перевод] CSS: полное руководство по функции calc() В CSS есть особая функция calc(), применяемая для выполнения простых вычислений. Вот пример её использования: .main-content {   /* Вычесть 80px из 100vh */   height: calc(100vh - 80px); } Здесь с CSS-кодом, в котором используется calc(), можно поэкспериментировать. Авто...

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

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

Как настроить родительский контроль на Android Family Link — лучшее приложение родительского контроля на Android Несмотря на то что Digital Wellbeing принято считать аналогом «Экранного времени» для Android, на самом деле у них есть одно весьма ощутимое отличие. Если ограничительный режим в исполнении Apple позволя...

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

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

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

Что Apple представит на CES’2020 HomeKit неуниверсален. Но вскоре всё изменится Apple довольно негативно относится ко всевозможным выставкам и технологическим конференциям, предпочитая посещать только те мероприятия, которые она организует сама. Такой подход гарантирует, что, во-первых, приглашённые будут у...

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

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

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

Солнечная электростанция на балконе. Личный опыт Привет Хабр. Эта статья является продолжением экспериментов с солнечными панелями в городской квартире, первые опыты делались три года назад, но затем из-за переезда все пришлось свернуть и распродать. Однако опыт, как известно, не пропьешь, и было решено с учетом полученно...

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

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

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

Каким будет умный дом от Apple, Google и Amazon Скоро будем жить в таких умных домах (которые умнее их владельцев) 18 декабря Amazon, Apple, Google и Zigbee Alliance объявили о намерении создать общий для всех элементов всех умных домов в мире общий “язык”, понятный всем. Это набор протоколов, правил и коммуникационных те...

[Перевод] Исчерпывающий путеводитель по тегу iframe Элемент iframe (сокращение от встроенного фрейма), вероятно, является одним из старейших тегов HTML и был представлен ещё в далеком 1997 году в HTML 4.01 Microsoft Internet Explorer. Хотя все современные браузеры поддерживают данный тег, многие разработчики пишут бесконечны...

[Из песочницы] Как развивались комментарии к коду с 1940-х до 2020 года А никак они не развивались. С самых первых языков программирования и по сей день комментарии коду — это всего лишь статичный текст (за некоторыми исключениями, о которых я расскажу). Ну а что там еще можно улучшить или придумать — спросите вы. Давайте поразмышляем на эту...

Nvidia CUDA можно использовать на GPU Intel. Для этого понадобится инструмент ZLUDA Платформа Nvidia CUDA существует на рынке уже почти 15 лет. Это программный комплекс, представляющий собой расширение языка программирования C, и предназначенный для неграфических вычислений на GPU.  При этом CUDA всегда была эксклюзивом карт Nvidia...

Создатель Linux признался, что захотел себе Mac с процессором M1 Apple умеет делать продукт, который хочется купить, независимо от того, нужен он тебе на самом деле или нет. HomePod mini, Apple Watch 6, iPad Air 4 – именно так выглядел мой последний личный список желаний, от исполнения которых я еле удержал сам себя, призвав всю силу вол...

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

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

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

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

Roccat Kain 202 AIMO Игровая мышь Roccat Kain 202 AIMO предлагает классический дизайн для правой руки. Мышь беспроводная, подключается через USB 2,4 ГГц. В комплекте есть кабель micro USB для зарядки. По словам компании, мышка может проработать до 35 часов без подзарядки. Мышь получила стильный...

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

Microsoft выпустила расширение Microsoft News для Google Chrome Старый Microsoft Edge канул в лету, а на его смену пришел новый Microsoft Edge, который уже основан на Chromium. Как бы там не было, как у старого, так и у нового Microsoft есть есть одна функция, которая может показаться интересной: Адресная строка поиска, новостная лента,...

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

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

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

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

[Перевод] Расширяемые расширения в JavaScript Привет, Хабр! Обращаем ваше внимание на долгожданную допечатку книги "Выразительный JavaScript", которая только-только пришла из типографии. Тем, кто еще не знаком с творчеством автора книги (при всей энциклопедичности она понравится и начинающим разработчикам) ...

Разработчики Genshin Impact поделились социальными нововведениями в обновлении 1.2 На прошлой неделе мы рассказали о том, что miHoYo готовится добавить Лётные испытания в свою популярную MMO Genshin Impact. Оказалось, что на этом новости не заканчиваются: разработчики провели беседу с коммьюнити, где ответили на самые интересные вопросы. Они касались новов...

За десять лет прибыль от применения ИИ может составить до 16 триллионов долларов США Такие данные опубликованы в третьем ежегодном исследовании PwC "Прогнозы развития технологии ИИ на 2020 год " представлена оценка инвестиций американских компаний в технологию ИИ и последствий более широкого развития и интеграции этой технологии в экономику.Согласн...

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

Новый Проводник в Windows 10X В 2017 году Microsoft представила Fluent Design, и постепенно многие ключевые области Windows 10 были изменены в связи с новым обновлением языка дизайна. В рамках подхода Fluent Design Microsoft обновила множество приложений, таких как «Музыка Groove», «Почта и Календарь», «...

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

Что такое «Школа 21», и почему она устроена именно так Привет, Хабр! Меня зовут Светлана Инфимовская, я директор «Школы 21». Знаю, что многие из вас слышали о ней, а кто-то даже участвовал в наших отборочных бассейнах. При этом сама идея проекта, его методология не всегда правильно понята. Кому-то кажется, что в «Школе 21» одна ...

Umka. Жизнь статической типизации в скриптовом языке В своё время посты на Хабре и Reddit о статически типизированном скриптовом языке Umka вызвали весьма активную дискуссию. Прошедшие полтора месяца позволили мне избавиться от некоторых заблуждений, развить язык и дать чуть более вразумительные ответы на вопросы публики. ...

[Из песочницы] Валидация XML с помощью XSD, JAXB и Spring Framework Обзор Здравствуйте! В этой статье я хочу описать программу валидации XML с помощью Spring Framework. Наиболее очевидная область применения такой валидации — это программирование web-сервисов. Валидация производится через преобразование XML-Java (unmarshalling) по соответству...

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

Web Components и IoC Замечательной особенностью веб-компонентов или скорее даже языка разметки HTML является возможность прозрачно оборачивать существующий контент новым. Благодаря этому, вы можете практически неинвазивно дорабатывать существующий legacy код, а так же изящно структурировать новы...

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

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

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

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

На Android появилась смесь понга и королевской битвы — Balls Royale Инди-разработчики не перестают удивлять своей изобретательностью, особенно когда доходит дело до разработчики чего-то нового, смешивания жанров. Как раз это и произошло с королевской битвой Balls Royale, которую, кстати, разработал один человек. Её суть проста: всего в игров...

Google позволит веб-приложениям работать на Android наравне с обычными Разработчики уже давно пытаются найти альтернативу современным мобильным приложениям. Что они только ни придумывали. Одни пытались создавать облачные версии популярных программ и игр, чтобы вся нагрузка по обработке ложилась не на смартфон, а на удалённые сервера по типу ст...

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

NLP: ВЫДЕЛЯЕМ ФАКТЫ ИЗ ТЕКСТОВ С ПОМОЩЬЮ ТОМИТА-ПАРСЕРА NLP - natural language processingБольшая часть данных в мире не структурирована – это просто тексты на русском или на любом другом языке. Извлеченные факты из таких текстов могут представлять особый интерес для бизнеса, поэтому подобные задачи возникают сплошь и рядом. Этим ...

Как обучить нейронную сеть DeepPavlov на ноутбуке с использованием GPU В этой статье я хочу поделиться своим опытом использования данной open-source библиотеки на примере реализации одной задачи с парсингом файлов PDF/DOC/DOCX содержащих резюме специалистов. Здесь я также опишу этапы реализации инструмента для подготовки датасета. После чего м...

Этот робот-пылесос не нужно очищать после уборки На платформе коллективного финансирования Xiaomi Youpin был представлен робот-пылесос iRobot Roomba i7, который отличается от большинства других аналогичных устройств интересной функцией. iRobot Roomba i7 оснащен функцией автоматической самоочистки. По сути этот пылесос...

Haproxy — программирование и конфигурирование средствами Lua Сервер Haproxy имеет встроенные средства для выполнения скриптов Lua.Язык программирования Lua для расширения возможностей различных серверов используется очень широко. Например, на Lua можно программировать для серверов Redis, Nginx (nginx-extras, openresty), Envoy. Это впо...

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

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

Что не так с Apple Watch Apple Watch являются, пожалуй, самым перспективным устройством в линейке Apple. Несмотря на то что сейчас на рынке правит бал именно iPhone, таким количеством апробированных, но нереализованных функций как Apple Watch не обладает даже флагманская модель фирменных смартфонов...

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

Пишем telegram бота на языке R (часть 1): Создаём бота, и отправляем с его помощью сообщения в telegram Аудитория telegram ежедневно растёт с геометрической прогрессией, этому способствует удобство мессенджера, наличие каналов, чатов, и конечно возможность создавать ботов. Боты могут использоваться в совершенно разных целях, от автоматизации коммуникации с вашими клиентами до...

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

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

Стартовала кампания по сбору средств на ремастер RPG Geneforge 1 - Mutagen Больше 25 лет студия Spiderweb Software создает уникальные ролевые игры, которые все еще выглядят безобразно, но привлекают своим содержанием. Последним проектом Spiderweb стала RPG Queen's Wish: The Conqueror, а следующим будет ремейк «культовой инди-классики». Geneforge —...

Инкрементальный annotation proccesing для ускорения gradle-сборок Начиная с версий Gradle 4.7 и Kotlin 1.3.30 появилась возможность получить ускорение инкрементальной сборки проектов за счет корректной работы инкрементальной обработки аннотаций. В статье разбираемся, как в теории работает модель инкрементальной компиляции в Gradle, что ну...

Big Data Tools EAP 11: Zeppelin в DataGrip и spark-submit во всех поддерживаемых IDE Только что вышло очередное обновление EAP 11 для плагина под названием Big Data Tools, доступного для установки в IntelliJ IDEA Ultimate, PyCharm, and DataGrip. Можно установить его через страницу плагина на сайте или внутри IDE. Big Data Tools — это плагин, позволяющий соед...

React и Vue без npm и сборки Когда все начинают знакомство с React или Vue, как с двумя самыми популярными фреймворками для frontend, конечно-же все используем магические команды npm install, npm build. И только после этого папочку 'public' Мы деплоим «куда надо». Но есть и другой (я бы назвал его извр...

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

Конец эпохи ITIL v3! Таймер запущен... Что дальше? Запуск публикации ITIL 4 Foundation состоялся в 2019 году, а спустя 2 года, AXELOS объявила график прекращения поддержки ITIL v3. Свершилось! Таймер запущен. Для всех работающих в сфере ИТ наступил конец эпохи. Многие годы ITIL v3 был ориентиром в управлении ИТ-услугами (ITS...

Кто есть кто в мировой микроэлектронике Типичная новость про электронику начала 2020 года: «Intel, вероятно, не будет размещать заказ на производство у TSMC, но рассматривает возможность сотрудничества с GlobalFoundries». Кто такие Intel — всем понятно, но что за GlobalFoundries и TSMC? Когда деревья были большими...

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

Python & EEL. Делаем просто на Python’е и красиво на JS Тема красивых интерфейсов была и будет актуальна всегда, кто-то использует для создания графических приложений C#, кто-то использует Java, кто-то уходит в дебри C++, ну а кто-то извращается с Python, используя tkinter или PyQT. Существуют различные технологии, позволяющие со...

Зарплаты в ИТ во втором полугодии 2019 года: по данным калькулятора Хабр Карьеры Наш отчёт по зарплатам в ИТ за второе полугодие 2019 года построен на данных из калькулятора зарплат Хабр Карьеры, в котором за этот период было собрано более 7000 зарплат. В отчёте мы посмотрим на текущие зарплаты по основным ИТ-специализациям, а также на их динамику за ...

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

Выпущена сборка Microsoft Edge Dev 86.0.594.1 Microsoft выпустила новую сборку Microsoft Edge на базе Chromium под номером 86.0.594.1 для канала Dev, которая принесла с собой несколько новых функций, а также различные исправления и улучшения. Основные новшества: Добавлена возможность устанавливать темы из интернет-мага...

В Chrome для Android появится поддержка Google Assistant Скоро в Chrome появится Google Assistant Приложения и сервисы Google, являющиеся составными частями единой экосистемы, на самом деле практически никак не связаны между собой. Тем не менее, поисковый гигант ведёт давнюю работу по исправлению этого недостатка, стараясь совмест...

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

СКИДКА (379р → 149р) Игра Leap of Fate для iPhone и iPad – один из лучших экшенов с элементами rogue-like Leap of Fate для iPhone и iPad – пример того, что игра может вызывать интерес только из-за имеющихся в ней необычных механик. По сути же, это обычная помесь экшена и rogue-like, которая обязана своей популярности нестандартному подходу своих разработчиков. Скачать Leap of Fa...

Tesla сделает электромобиль специально для Китая Компания Tesla недавно запустила завод в Китае и уже приступила к массовому выпуску Model 3. Пока седан на местном рынке достаточно дорог, но по мере повышения локализации цену хотят снизить до $37000, то есть примерно уровня стоимости Model 3 в США. Но это планы н...

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

[Перевод] В CodePen добавлена поддержка Flutter Сегодня (15 апреля 2020) мы рады сообщить, что CodePen, основная среда разработки для миллионов frontend разработчиков и дизайнеров, добавила поддержку Flutter! Для веб-разработчиков CodePen уже давно является отличным местом для обмена экспериментами по дизайну, новыми под...

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

[Перевод] Что я узнал после более чем 1000 code review За последние 3 года я рассмотрел более 1000 pull (merge) request’ов. За это время я многому научился — в основном тому, как не проверять код, как сделать процесс менее болезненным, что делает код хорошего качества и так далее. Pull request должен делать только одну вещь Это...

Решаем практические задачи в Zabbix с помощью JavaScript Тихон Усков, инженер команды интеграции Zabbix Zabbix — кастомизируемая платформа, которая используется для мониторинга любых данных. С самых ранних версий Zabbix у администраторов мониторинга была возможность запускать различные скрипты через Actions для проверок на целевы...

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

[Из песочницы] Web Scraping. Часть 1 Введение Всем привет. Недавно у меня возникла идея о том, чтобы поделиться с интересующимся кругом лиц о том как пишутся скраперы. Так как большинству аудитории знаком Python все дальнейшие примеры будут написаны на нём. Данная часть рассчитана для того, чтобы познакомить те...

Как скачать любое видео с YouTube и других сервисов Я часто занимаюсь работой с видеоматериалами, и зачастую не ограничиваюсь только теми роликами, которые снял сам. Часто возникает необходимость чем-то «забить» место на таймлайне, и здесь на помощь приходят тематические ролики с YouTube и других видеосервисов. Существует не...

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

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

Пишем свою стратегию для виртуального скролла из Angular CDK Привет! В Angular CDK в седьмой версии появился виртуальный скролл. Он отлично работает, когда размер каждого элемента одинаков, — причем прямо «из коробки». Мы просто задаем размер в пикселях и указываем, к какому элементу нужно прокрутить контейнер, сделать ли это плавно, ...

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

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

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

Управление индивидуальным развитием участников команды Профессиональное развитие — важнейший мотиватор в работе. Если вы тимлид и согласны с этим тезисом, то наверняка задумывались, как вы можете управлять этим процессом и помогать участникам вашей команды развиваться. На TeamLead Conf Павел Филонов из Kaspersky поделился своей...

Портативная тепловизионная камера Raspberry Pi может считывать вашу температуру на расстоянии Хотите измерить температуру всего вокруг!? Возможность проверки температуры на расстоянии определённо сейчас актуальна как никогда. Способность знать есть ли у людей вокруг такой признак многих заболеваний как повышенная температура тела это важное знание в современном мире....

Rituals: Book of Skog — головоломка с элементами хоррора для iOS и Android Студия Curioso Games выпустила свою дебютную игру — хоррор под названием Rituals: Book of Skog. Ее можно загрузить бесплатно в App Store и Google Play. (На самом деле их дебютом была Lanterns для KaiOS, но вы, скорее всего, даже не знали о существовании такой ОС, поэтому все...

Выпущена новая сборка Microsoft Edge Dev 81.0.389.2 Компания Microsoft выпустила новую сборку Microsoft Edge на базе Chromium под номером 81.0.389.2 для канала Dev, которая принесла с собой несколько новых функций, а также различные исправления и улучшения. Это небольшое обновление, поскольку основное внимание сейчас уделяет...

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

[Перевод] Как разработчикам Myst удалось уместить на одном CD-ROM целую вселенную Привет, Я Рэнд Миллер, соавтор «Myst». Мы поставили перед собой задачу создать реальный мир «Myst», но болезненно ударились о реальные ограничения CD-ROM. Играми я начал заниматься ещё с начала старшей школы, и я уже не молод, то есть это было довольно давно. Игры, которые ...

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

IM-мессенджер на своем сервере со сквозным шифрованием На сегодняшний день, очень много IM-мессенджеров предлагают end-to-end шифрование, но вариантов, которые можно быстро развернуть на своем сервере гораздо меньше. Изучая варианты, мой взгляд упал на Delta Chat, о котором на Хабре уже упоминали — мессенджер без централизов...

Первое исследование состояния DevOps в России В 2019 году компания DORA и и Google Cloud выпустили совместный отчет The 2019 Accelerate State of DevOps: Elite performance, productivity, and scaling, из которого мы знаем, как в мире обстоят дела с DevOps. Это часть большого исследования DevOps, которым DORA занимается с ...

Кто умнее чем IDEA? Два года назад я вызвался постоять на стенде нашей компании JetBrains на последней конференции JBreak в Новосибирске. Перед конференцией мне спустили сверху вот такие карточки: И сказали, мол, ну раздай каким-нибудь людям на конференции на своё усмотрение. Я запаниковал. Ка...

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

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

Анонсирован сиквел хардкорного платформера Super Fowlst 2, релиз 26 мая Super Fowlst— минималистичный, но довольно хардкорный мобильный платформер, выполненный в духе Super Meat Boy. Он вышел на iOS и Android еще в 2018 году, а теперь разработчики готовят полноценное продолжение. Super Fowlst 2 визуально не сильно отличается от оригинала, но по...

Вы больше не сможете помогать учёным искать инопланетян в рамках проекта SETI@home Более 20 лет назад, в мае 1999 года, стартовал уникальный на тот момент проект SETI@home, в рамках которого желающие посредством специального ПО могли предоставлять вычислительные мощности своих ПК для анализа данных с целью поиска следов внеземных цивилизаций. Если то...

[Перевод] Python в Visual Studio Code – январский релиз 2020 Мы рады представить январский релиз 2020 расширения Python для Visual Studio Code. Вы можете скачать расширение из маркетплейса, или установить его напрямую из галереи расширений в Visual Studio Code. Если расширение Python у вас уже установлено, вы можете получить последнее...

The Division 2 получила новое обновление Расширение The Division 2 "Warlords of New York" вернет вас в Нью-Йорк. В обновлении будет множество изменений, в том числе новые предметы, снаряжения и новый игровой процесс. Добавлена карта Нижний Манхэттен. Максимальный уровень 40. Добавлены новые миссии и дополнител...

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

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

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

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

Adobe выпустила Photoshop Camera для Android. Как скачать Photoshop Camera — автоматический и бесплатный аналог Photoshop для смартфонов Photoshop уже давно является нарицательным именем, таким же как ксерокс или джип, и обозначает процедуру редактирования изображения, даже если из изменений там — только какой-нибудь пр...

Зачем на Apple Watch учебный режим и как он работает На презентации iPhone 12 Apple не просто так говорила про новые возможности использования своих устройств в пределах одной семьи. Так, одним из нововведений watchOS 7 стал режим «Учебное время». А сделали его для того, чтобы ребенок во время уроков меньше отвлекался на разн...

[Из песочницы] Если бы я учил Frontend сегодня. Советы начинающим Мой путь в веб-разработке начался 5 лет назад. За это время я успел испробовать множество технологий, а в последние 3 года развиваюсь в направлении frontend. В этой статье я бы хотел ясно изложить, какие технологии необходимо изучить новичку, а также поделиться методами их ...

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

[Перевод] О 30-кратном увеличении параллелизма в Node.js Каков наилучший способ беспроблемного увеличения параллелизма в Node.js-сервисе, который используется в продакшне? Это — вопрос, на который моей команде понадобилось ответить пару месяцев назад. У нас запущено 4000 контейнеров Node (или «воркеров»), обеспечивающих работу на...

[Из песочницы] MVC в Unity или как упростить жизнь Для начала разберемся, что такое MVC (Model View Controller) Зачем же он нужен? Самый простой ответ — для постройки удобной и расширяемой архитектуры. Стоит разобраться зачем нужно дробить взаимодействие на три разных класса. Во-первых разделение обязанностей, следую принцип...

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

ILUШA vs Dynamixel. Выбор сервопривода с обратной связью Сервопривод отечественного производства Илюша. Мы разрабатываем робот для сбора мячей для гольфа. Для открытия люка сброса мячей нам требуется сервопривод. Мы опробовали огромное количество и сегодня хотим рассказать Вам об очень интересном аналоге Dynamixel который более...

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

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

XML сайты в результатах поиска Что такое XML сайт XML сайт это сайт страницы которого являются простыми XML файлами с MIME типом "text/xml". Они содержат только уникальные данные для этой страницы. В таком XML файле задаётся ссылка на XSLT шаблон который преобразует XML в HTML или в XHTML в брау...

Как настроить автоудаление распакованных ZIP-архивов на Mac Если вы часто загружаете из Сети различные архивы в формате ZIP, знайте — рано или поздно они займут существенное количество места на вашем Mac. Что делать? Есть два способа — выбрать время и вручную удалить ненужные «зипы»… или один раз всё автоматизировать. ♥ ПО ТЕМЕ...

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

[Перевод] 50 лет Паскаля В начале 1960-х в мире доминировали языки Фортран (Джон Бэкус из IBM) для научного и Кобол (Жан Саммет из IBM и Министерство обороны) для коммерческого применения. Программы писались на бумаге, затем перфорировались на картах, после чего результатов их выполнения ждали цел...

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

[Из песочницы] Анализ популярности YouTube видео участников Евровидения 2020 13 марта на официальном YouTube канале Евровидения была выложена композиция группы Little Big, которая будет представлять Россию на конкурсе. Посмотрев клип, захотелось сравнивать статистику видео нашей группы, с видео других участников; какие ролики самые просматриваемые, у...

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

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

[Перевод] Разворачиваем модель машинного обучения с Docker – Часть 1 Перевод статьи подготовлен в преддверии старта базового и продвинутого курсов по машинному обучению. Расширяем возможности для наших студентов. Теперь в OTUS есть целых два курса по Machine Learning: базовый и продвинутый. Оба курса стартуют в августе, в связи с чем мы приг...

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

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

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

Масштабная утечка: что нового будет в iOS 14 Мы уже выяснили, что обновления – самый надёжный источник информации о новых продуктах Apple. Ведь если Евразийская экономическая комиссия в основном сливает только названия аппаратных новинок, обозначая примерный список устройств, которые следует ждать в ближайшее время, т...

Браузер Brave – достойная замена Chrome По данным на конец 2019 года, самым популярным браузером в мире был Google Chrome (примерно ⅔ рынка). Свободный браузер Firefox более логичный и простой с точки зрения настроек безопасности. На Firefox основан анонимный Tor Browser. Многие приверженцы Apple остаются верны с...

Метрики — индикаторы здоровья проекта В IT здоровый проект — это система или сервис, который, с одной стороны, качественный, то есть соответствует требованиям и нравится пользователям. С другой стороны, приносит прибыль, потому что бизнес всегда на самом деле хочет зарабатывать деньги. Без связки качества и бизн...

9 любимых расширений Android KTX Расширения Kotlin позволяют нам расширять некоторые классы новыми функциями — в результате мы получаем более чистый и простой код. Это так здорово, что некоторые из распространенных расширений Android Kotlin сведены в проект Android KTX, и они находятся всего в одной з...

Обзор Razer Cynosa Lite. Мембранная клавиатура с подсветкой и макросами В скором времени в России стартуют продажи игровой клавиатуры Razer Cynosa Lite с мембранными переключателями. Поддержка макросов, многоцветная подсветка, прочная конструкция с защитой от воды. Интересна она еще будет и невысокой стоимостью. К моменту публикации продажи еще...

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

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

Adobe Substance Designer. Процедурное текстурирование Алексей Баукин, инструктор Substance Designer в Realtime School В метафизической философии Субстанция — неизменная сущность вещей Давайте поговорим о текстурировании. Качество и вау-эффект любой 3D-картинки, от простого рендера до киношных спецэффектов или виртуальных игро...

Low-code платформы: панацея или рискованная ставка? Low-code платформы (Low code application platforms, LCAP) возникли как реакция на сложность и многообразие современных средств разработки ПО. Согласно Gartner, одним из самых известных игроков в этой области является Mendix. Продажа Siemens за космические $700 млн. это подтв...

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

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

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

Google научила Google Assistant читать текст на экране вслух Несмотря на то что мне откровенно не нравится роботизированный голос Google Assistant, и Алиса, на мой вкус, звучит гораздо приятнее, отказать ему в беспрецедентных возможностях я не могу. За годы своего существования голосовой помощник Google превратился в супер-удобного к...

Как превратить заметки в напоминания на Mac и iOS Заметки и Напоминания связаны даже глубже, чем кажется Apple всегда любили за её экосистему, которую ей удалось выстроить. Почти каждый продукт компании может работать в паре с другим, обладая глубокой взаимосвязью. Именно поэтому, скажем, Apple Watch позволяют разблокироват...

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

Динамическая сборка и деплой Docker-образов с werf на примере сайта версионированной документации Мы уже не раз рассказывали про свой GitOps-инструмент werf, а в этот раз хотели бы поделиться опытом сборки сайта с документацией самого проекта — werf.io (его русскоязычная версия — ru.werf.io). Это обычный статический сайт, однако его сборка интересна тем, что построена с ...

[Перевод] Пол Грэм: «Краткость = сила» На 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...

[Перевод] Использование современных графических форматов в веб-проектах Эдди Османи, в статье «Цена JavaScript в 2018 году», озвучил одну ценную мысль: время, необходимое на обработку скрипта размером 200 Кб, и на обработку изображения, имеющего такой же размер, серьёзно различается. Дело в том, что при обработке кода браузеру нужно проделать бо...

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

Новая медиавалюта. Исследование внимания аудитории к интернет-рекламе с применением технологии айтрекинга (часть 2) Как оценивать эффективность рекламы в условиях информационного шума и меняющихся паттернов поведения потребителя? Классические метрики засчитывают просмотр, даже если он не был совершен: пользователь мог смотреть на экран, но не видеть рекламу. Специфика digital-форматов так...

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

[Перевод] 10 топовых плагинов для IntelliJ IDEA, которые ты не должен пропустить Хотя IntelliJ IDEA является полноценной IDE (Интегрированная среда разработки), вы наверняка захотите ее персонализировать. В JetBrains Marketplace есть множество плагинов с полезными функциями, которые могут удовлетворить ваши личные или деловые потребности.Библиотека огром...

Microsoft объясняет новое меню «Пуск» и дизайн панели задач Windows 11 Следующая основная версия Windows представляет собой радикальный пересмотр пользовательского интерфейса. В Windows 11 Microsoft отказывается от живых плиток, которые впервые дебютировали в Windows 8 в 2012 году, и представляет новый интерфейс для Центра действий Windows 10 (...

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

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

Запись видео с экрана и многое другое при помощи NVIDIA ShadowPlay Уверен, многие из вас хотели бы попробовать завести свой канал в YouTube с нарезками лучших моментов из видеоигр, чтобы и народ развлечь, и себя в чем-то новом попробовать. Но вот в чем загвоздочка, как только мы слышим страшные и незнакомые слава про карту захвата и OBS, вс...

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

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

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

SARIF SDK и его ошибки Сегодня у нас на тесте очередной качественный проект Microsoft, в котором мы всё же попытаемся героически поискать ошибки при помощи PVS-Studio. SARIF – аббревиатура от «Static Analysis Results Interchange Format», представляет собой стандарт (формат файла), предназначенный...

[Перевод] Бандлинг JavaScript-кода и производительность: передовые методики Сейчас, на рубеже десятилетий, самое время критически переоценить то, что считалось правильным в недалёком прошлом, и выяснить, не потеряло ли оно актуальности в наши дни. Иногда вчерашние передовые методики разработки становятся сегодняшними антипаттернами. Автор статьи,...

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

Xiaomi расширила возможности резервного копирования MIUI В последней закрытой бета-версии MIUI 12.5 с номером сборки 21.8.30 была обновлена функция локального резервного копирования. Теперь пользователи могут выбирать, какие именно данные они хотят сохранить в виде локальной резервной копии. Это могут быть изображения, аудио, виде...

Java-дайджест за 10 марта Есть такая штука, Milkman — это альтернатива Postman, расширяемый воркбенч для работы с запросами и ответами с интерфейсом на JavaFx и с идеей «всё есть плагин». Несмотря на плагинную архитектуру, эта штука почти не использует reflection, и поэтому стало возможно пересобр...

[Из песочницы] Типобезопасная работа с регистрами без оверхеда на С++17: value-based метапрограммирование С++, благодаря своей строгой типизации, может помочь программисту на этапе компиляции. На хабре уже довольно много статьей, описывающих как, используя типы, добиться этого, и это прекрасно. Но во всех, что я читал, есть один изъян. Сравним с++ подход и си подход с использова...

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

Как подготовить сайт к росту нагрузки Только ленивый не достал с дальней полки свою экспертность и не предсказал «онлайнизацию» жизни — такую же вынужденную, как и режим самоизоляции. Но трафик, действительно, уже начал расти, а с учётом «каникул» до конца апреля ресурсы, предлагающие доставку товаров, услуги ...

Facebook Open Graph: удобно для сайта, полезно для продвижения Протокол Open Graph от Facebook – как с его помощью можно улучшить охват в социальных сетях, какие для этого нужны настройки и снова про один из плагинов WordPress, который умеет все это делать. Что такое протокол Open Graph Это протокол, который позволяет настраивать...

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

4 аудитории, которые стоит исключить из таргетинга в Google Ads Автор: Джо Мартинес – директор по клиентской стратегии в Clix Marketing. Хорошо знаком со всеми аспектами PPC, но больше всего интересуется медийной рекламой, ремаркетингом и рекламой в YouTube. Иногда успешная PPC-кампания требует подхода «меньше, да лучше». Минус...

Настольная игра-головоломка Monopoly Sudoku выйдет на iOS и Android Казалось бы, что только вчера мы освещали настольную игру Game of Life 2, разработчиком которой выступает Marmalade Game Studio. Но теперь мы узнали, что студия работает ещё над одним проектом, которые если и не амбициознее, то точно интересно объединяет две, казалось бы, не...

[Перевод] Создание Minecraft за одну неделю на C++ и Vulkan Я поставил перед собой задачу воссоздания с нуля Minecraft за одну неделю с помощью собственного движке на C++ и Vulkan. Меня вдохновил на это Hopson, который сделал то же самое при помощи C++ и OpenGL. В свою очередь, его вдохновил Шейн Бек, которого вдохновила Minecraft, и...

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

macOS Big Sur: Что нового в iMac, MacBook и Mac Pro? #WWDC2020 Компания Apple представила macOS Big Sur, новейшую версию одной из самых передовых операционных систем для настольных компьютеров. Дизайн macOS Big Sur значительно изменился по сравнению с предыдущими версиями macOS, но при этом по-прежнему узнаваем. В Safari появилось мног...

Впечатления от принтера 3D-DIY Bizon 2 Добрый день коллеги.Решил поделиться впечатлениями от недавно прибретенного принтера 3D-DIY Bizon 2 версии 2020. До этого я пользовался принтером Tevo Tornado, в принципе особых претензий к нему не было за исключением одной - невозможности беспроблемной печати ABS пластиком ...

О конкурентном корутинизме (на примере реактивного программирования) 1. Введение Конкурентная борьба за умы, настроения и чаяния программистов является, как мне представляется, современным трендом развития программирования. Когда почти не предлагается ничего нового, хотя и под лозунгом борьбы за него. Распознать в толчее программных парадигм ...

Проброс USB-портов из Windows 10 для удалённой работы Когда человек много лет рыл бункер и запасал там продукты, он должен испытывать глубокое моральное удовлетворение, если бункер понадобился. Он будет довольный заявлять: «А я говори-и-и-ил!» То же касается и того, кто делал запасы продуктов в кладовой, когда все закупались в ...

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

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

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

Mash — язык программирования, компилирует сам себя Приветствую всех в новом 2020-м году. С момента публикации первого поста про Mash прошел практически ровно 1 год. За этот год язык был сильно доработан, были продуманы многие его аспекты и определен вектор развития. Этим всем я рад поделиться с сообществом. Читать даль...

Трансформация цвета: поиски в прореженном столе Это обзор функциональности, появившейся в Pillow 5.4: применение трехмерных таблиц поиска (3D lookup tables, 3D LUT) для трансформации цвета. Эта техника широко распространена в обработке видео и 3D-играх, однако мало графических библиотек могли похвастаться их поддержкой до...

[Из песочницы] База данных на ScriptableObject c системой сейва/загрузки Введение В каждой игре есть данные, с которыми работают гейм-дизайнеры. В рпг — это база данных айтемов, в матч-3 — стоимость в кристаллах инструментов из магазина, в экшенах — количество хп, на которое лечит аптечка. Для хранения таких данных существует много способов — кт...

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

В Apple ужесточили правила для издателей и разработчиков игр Отныне каждое такое приложение должно отдельно устанавливаться из App Store, а игровые онлайн-сервисы станут лишь их каталогами. Компания Apple пересмотрела правила своего магазина приложений App Store перед выходом операционной системы iOS 14. Изменения коснутся облачных...

Халява кончилась: YouTube убрал режим «картинка в картинке» в Safari Одним из главных нововведений iOS 14 стала функция «картинка в картинке», для многих это вообще самая полезная фишка во всем обновлении. Ранее данная функциональность была доступна только на iPad, однако экраны айфонов растут с такой скоростью, что в Apple решили расширить ...

«Инфраструктура как код» в автоматизации сервисов CI/CD Привет! Меня зовут Игорь Николаев, я пью за любовь работаю в отделе автоматизации процессов разработки Мир Plat.Form в НСПК. В этой статье я поделюсь тем, как наш отдел решал задачу по автоматизации предоставления различных ресурсов для команд разработки. Эта задача свойстве...

Я протестировал «Быстрые команды» для Android. Это какая-то дичь «Быстрые команды», которые появились в iOS 12, на мой взгляд, являются одним из главных преимуществ iOS над Android. Благодаря им мне удалось расширить функциональные возможности своих устройств, научив их такому, чего ни один Android-смартфон ни за что не сделает при помощ...

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

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

Что нового в Ubuntu 20.04 23 апреля состоялся релиз Ubuntu версии 20.04 с кодовым названием Focal Fossa, являющимся следующим выпуском Ubuntu для долгосрочной поддержки (LTS) и является продолжением Ubuntu 18.04 LTS, выпущенной в 2018 году. Немного про кодовое имя. Слово «Focus» означает «центральн...

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

[Перевод] Не начинайте учиться кодингу с Python, начните с языка C Python удивителен своей способностью продвигать программирование. Он как будто является подтверждением популярной идеи «если вы знаете английский, то должны знать, как писать код». Благодаря синтаксису, напоминающему английский язык, парадигме отступов и огромному количест...

Дания намерена к 2030 году построить два «энергетических острова», вырабатывающих не менее 4 ГВт электроэнергии На днях правительство Дании представило первую часть своего масштабного «климатического плана». Он включает самые различные направления как в ближайшей, так и в долгосрочной перспективе, но нас больше всего интересует одна его часть. Согласно плану, Дания н...

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

Смотрим новый Android 11 Вчера Google выпустила Android 11, мы сразу же начали изучать нововведения в новой версии Android, мой коллега Иван Кузнецов написал материал по этому поводу, а сейчас я попытаюсь поделиться тем, что еще может понравиться пользователям в новом «Андрюше». Особенно ...

[recovery mode] Кросскомпиляция выполняемых файлов Rust для Windows из Linux Наверное не будет уж очень удивительным если я тут, на IT площадке Хабра, скажу что я иногда балую себя программированием. Основная OS у меня Linux, но иногда приходится собирать исполняемые файлы и для Windows. И естественно что перегружаться в Windows только для сборки exe...

У некоторых пользователей Edge Chromium устанавливается на неправильном языке Сегодня состоялся официальный релиз нового браузера Microsoft Edge на базе Chromium, который вы уже можете скачать с официального сайта. Однако запуск прошёл не совсем гладко. Некоторые пользователи сообщают о том, что браузер устанавливается на другом языке. Компания Micro...

«Hello, Checkmarx!». Как написать запрос для Checkmarx SAST и найти крутые уязвимости Привет Хабр! В статье я хочу рассказать о нашем опыте создания своих запросов в Checkmarx SAST. При первом знакомстве с этим анализатором может сложиться впечатление, что кроме поиска слабых алгоритмов шифрования/хеширования и кучи false positive, он ничего больше не...

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

Валидация ассетов в Unity3D Начнём с того, что я обожаю сериализацию в Unity. Она надёжна и очень проста в использовании. Я просто расширяю MonoBehaviour, ScriptableObject и подобные классы и настраиваю сериализуемые поля экземпляров в инспекторе. Но у неё есть и слабости. Одна из них ― человеческий...

Обновление прошивки видеокамеры Canon XF705 расширяет возможности записи в XF-AVC и MP4 Компания Canon Europe объявила о выпуске обновленной прошивки для видеокамеры XF705. Обновление расширяет опции записи в XF-AVC и MP4, а также добавляет поддержку HDR при съемке с высокой частотой кадров. Оно является бесплатным. Снимаем короткометражку на видеокамеру...

Разработка простейшего логического анализатора на базе комплекса Redd В прошлой статье цикла мы потренировались сохранять данные из потокового интерфейса в память средствами DMA. Пришла пора сделать какую-то полезную поделку, используя полученные навыки. Очень полезная при удалённой отладке вещь — анализатор. Вообще, при работе с комплексом ск...

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

(S)SDLC, или Как сделать разработку безопаснее. Часть 1 С каждым годом культура разработки растет, появляются новые инструменты для обеспечения качества кода и новые идеи, как эти инструменты использовать. Мы уже писали про устройство статического анализа, про то, на какие аспекты анализаторов нужно обращать внимание, и, наконе...

Object Detection. Распознавай и властвуй. Часть 1 Технологии компьютерного зрения позволяют в сегодняшних реалиях сделать жизнь и бизнес проще, дешевле, безопаснее. По оценкам разных экспертов этот рынок будет двигаться в ближайшие годы только в сторону роста, что и позволяет развиваться соответствующим технологиям как в ...

Группировка Lazarus взяла на вооружение RAT-троян Dacls Специалисты Netlab 360 зафиксировали кампанию по распространению ранее неизвестного модульного трояна, получившего название Dacls. Зловред атакует компьютеры под управлением Windows и Linux через RCE-уязвимость в макросе системы Atlassian Confluence, закрытую еще в марте это...

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

«Autodesk Shotgun» - программа для продюсеров, режиссеров, руководителей CG-студий На сегодняшний день существует множество различных программ, которые позволяют значительно облегчить различные виды деятельности. Многие люди упускают возможность значительно упростить свою работу. Продуктов действительно очень много. Есть приложения для различных целей и за...

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

Легендарный самолет-разведчик стал “Wi-Fi-роутером для военных” Старый добрый U-2 впервые взлетел более 65 лет назад — 1 августа 1965 года и является представителем совсем другой эры самолетостроения. Он разрабатывался в те времена, когда о мощной электронике на борту летательного аппарата инженеры и военные могли только мечтать. Поэтому...

Proxmox Backup Server: интеграция с Proxmox VE и базовые операции В середине июле этого года мы рассказывали о том, что была представлена бета-версия Proxmox Backup Server (PBS). В день холостяков, 11.11.2020 в 11:11, Proxmox Server Solutions GmbH опубликовали релиз версии 1.0.1, что не прошло незамеченным. Взглянем детально, как использо...

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

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

Инженерный подход к подаркам За окном дождь, на календаре декабрь. Близится пора праздников, а значит и пора подарков. Коллега Павел желает себе новый ноутбук, а подруга Маша хочет домик у моря. И несмотря на достойный оклад профессии “тыжпрограммист”, мы не живём в мире бесконечных возможностей, а зн...

Тест ABS SolidFilament     Вопрос диверсификации закупок материалов для печати всегда остро ощущался, но постоянно откладывался  простой отговоркой - "нет времени". Статьи на 3D Today на тему применения тех или иных материалов, почему то казались "не очень серьезными", а пробная печать с использов...

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

Страшно не будет. Официально анонсированы майские игры PlayStation Plus PlayStation наконец рассказала о том, какие игры получат подписчики PlayStation Plus в мае. Несмотря на слухи, поиграть в Dying Light или Dark Souls Remastered не удастся – вместо этого игрокам предложат градостроительный и фермерский симуляторы. Да, иногда слухам доверять ...

[Из песочницы] Компилятор Befunge на Python В процессе подготовки к курсу «Основы компиляторов» для студентов 4-го курса я изучал различные эзотерические языки программирования. Вот хорошая статья на эту тему. В статье самым интересным мне показался язык Befunge (Крис Пресс, 1993 год), особо отмечу три его особенности...

Google Assistant умеет удалять случайно записанные разговоры. Нужно просто попросить Google Assistant может случайно записать то, что вы сказали, но при этом может и удалить Если вы пользуетесь Google Assistant и интересуетесь его развитием, скорее всего, вы знаете, что иногда он может срабатывать, даже если вы его не звали. Это жертва, на которую мы идём в ...

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

Windows 10 Build 21337 доступна для скачивания Microsoft только что выпустила новую сборку Windows 10 Insider Preview для тестеров в канале разработчиков (Dev). Новая сборка ОС – 21337, и она включает в себя несколько заметных изменений, в том числе новый способ переупорядочивания и настройки виртуальных рабочих столов. ...

Создание собственного пакета для Laravel Nova: OptimalImage Работая над новым проектом, для администрирования которого используется Laravel Nova, я его проверил в инструментах для веб-мастеров от Google. Оказалось что некоторые фотографии на ресурсе были не оптимизированными — размер их можно было существенно сократить. Те, что идут ...

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

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

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

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

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

15 февраля Badoo PHP Meetup #4. Легаси Привет! 15 февраля, в субботу, приглашаем на очередную встречу сообщества PHP-разработчиков в офисе Badoo.  Митап будет целиком и полностью посвящен легаси, и вот почему. Мы часто слышим утверждения из разряда «о легаси все уже сказано», «о чем там рассказывать», «ну ест...

Делаем маршрутизацию (роутинг) на OpenStreetMap. Добавляем поддержку односторонних дорог Продолжаем цикл статей про построение систем роутинга со сложными требованиями на основе Open Source базы данных PostgreSQL и расширения PgRouting на карте OpenStreetMap. Сегодня мы поговорим о том, как добавить поддержку односторонних дорог (направлений движения). Зачастую,...

Создаем свою CRUD API на Express и MySQL: часть первая Всем привет. В преддверии старта курса «Fullstack разработчик JavaScript», хотим поделиться небольшим материалом, который был написан нашим внештатным автором. Express один из самых популярных веб-фреймворков, который поддерживает роутинг, миддлвейрс и систему шаблонов. Д...

[Из песочницы] Ускорение сборки проекта на CMake+GCC: предварительная компиляция заголовочных файлов Есть несколько причин, почему проект на С++ в среднем собирается дольше сравнимых по величине проектов на других языках, например на Java или C#. Соответственно, есть и несколько способов уменьшить время сборки. Одним из самых известных является использование предварительной...

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

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

100 плагинов для Revit или как мы оптимизировали проектирование систем электроснабжения Привет, Хабр! Меня зовут Алексей Новиков, уже 5 лет я занимаюсь информационным моделированием систем электроснабжения в компании STEP LOGIC.  Раньше основной ценностью работы проектировщика был комплект чертежей, сейчас – это информационная модель, которая является прод...

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

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

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

Создаем и запускаем в облаке мощный и главное бесплатный сервер Minecraft Пару месяцев назад, когда Oracle представила в своем публичном облаке двухсокетные серверы с 80-ядерными ARM-процессорами, в англоязычном блоге Тодда Шарпа появилась статья о том, как запустить сервер Minecraft в облаке. Теперь, когда Oracle добавил эти процессоры в Always F...

Apple выпустила iOS 13.3.1 beta 1 и iPadOS 13.3.1 beta 1 для всех iOS 13.3.1 beta 1 уже доступна для загрузки всем желающим Вы знаете, как определить примерный срок релиза обновления iOS, даже если его бета-тестирование только началось? Достаточно посчитать, как много времени проходит между выходами закрытых и публичных сборок. Если апдейт...

Как добавить виджеты из iOS 14 на любой Android Думаю, никто не возьмётся спорить с тем, что подход Apple к развитию iOS лучше подхода Google. Бесспорно, меня тоже раздражают ограничения, которые в Купертино навязывают пользователям своей операционки, но, если взять только качество реализации обновлений, новых функций и ...

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

Услуги или проекты? Голландский ITSM-эксперт Ян ван Бон (Jan van Bon) в своей заметке «The CIO Office and the PMO [Project Management Office] are dead... long live the SMO [Service Management Office]!» («CIO-офис и PMO мертвы… Долгую жизнь SMO!») недавно опубликованной на английском языке, рас...

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

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

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

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

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

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

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

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

Известна дата релиза симулятора Forager от HopFrog и Humble Games на iOS и Android В апреле разработчики из студии HopFrog сообщили отличную новость для любителей симуляторов, подобных Stardew Valley — Forager выйдет на смартфоны. Оригинальная игра была выпущена на PC, а вскоре и на Nintendo Switch, PlayStation 4 и Xbox One. Издателем выступает всеми извес...

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

Сколько человек видят вашу иконку в App Store во время фичеринга «Приложение дня» Недавно наше приложение Маленькие истории получило фичеринг «Приложение дня» в 32 странах. Я бы хотел поделиться цифрами и показать, сколько людей видят ваше приложение в каждой из этих 32 стран. Заодно в таблице будут количество установок и конверсия в установку из просмотр...

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

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

Google выпустила свежее обновление Google Play. Что нового? Google может обновлять Google Play независимо от Android Несмотря на то что Google часто ругают за несовершенства Google Play, лично мне импонирует подход компании к развитию своего магазина приложений. В отличие от Apple, которая обновляет App Store максимум один раз в год ...

Графика следующего впечатления на Xbox Series X и PlayStation 5 пока не впечатляет. Трейлер No Man's Sky Next Generation Разработчики игры No Man's Sky сообщили, что в честь выхода консолей следующего поколения PlayStation 5 и Xbox Series X они выпустят обновлённую версию своего проекта, которая будет доступна в день выхода консолей. Все владельцы игры на PS4 или Xbox One смогут обнов...

Ещё более быстрые зарядки на ещё большем числе смартфонов. Новинка Oppo получит поддержку VOOC 4.0 Смартфон Oppo Reno 3 Pro 5G, который будет самым тонким среди аппаратов с поддержкой сетей пятого поколения, представят 26 декабря. Устройство должно получить экран с повышенной кадровой частотой и SoC Snapdragon 765G. А ещё эта новинка будет поддерживать быструю зарядк...

История о том, как я разработал язык программирования Привет Хабр! Меня зовут Ильдар. Мне 29 лет. Программирую с 2003 года. За свою жизнь создал 4 фреймворка и язык программирования. В этом посте я поделюсь своим опытом, инсайтами, которые я получил при разработке языка программирования BAYRELL Language. Заранее прощу прощения ...

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

[Перевод] Чему меня, как разработчика, научили аварии в космосе Исследования космоса интересовали меня, сколько я себя помню. Люди, знавшие меня лично, слышали рассказов о космосе больше, чем им хотелось бы. Я администрировал русскоязычную версию Википедии, и одним из моих любимых увлечений была редактура связанных с космосом статей. Я ...

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

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

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

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

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

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

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

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

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

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

Состоялся релиз Microsoft Flight Simulator 2020 Сегодня, 18 августа 2020 года, вышла новая часть легендарной серии гражданских авиасимуляторов Microsoft Flight Simulator. Впервые игру показали в прошлом году на конференции E3 2019, и уже тогда было понятно, что она намерена совершить революцию в жанре. Microsoft Flight S...

Язык программирования karasic Привет, друг. Как известно, каждый уважаемый кодер рано или поздно пишет свой логер, парсер json и язык программирования. Поскольку первое и второе мы уже написали, то нам ничего не остаётся, как представить наши наработки по новому инновационному языку программирования kara...

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

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

[Из песочницы] Тесты на pytest с генерацией отчетов в Allure с использованием Docker и Gitlab Pages и частично selenium Этот текст предназначен для начинающих тестировщиков, желающих понять как делать отчеты на allure с историей тестов, также разъяснить где их хранить, чтобы в отчет мог заглянуть любой участник вашей команды. Когда я хотел добавить в gitlab автотесты в стеке python, allure, ...

Apple начала официальные продажи нового Mac Pro в России Mac Pro 2019 уже приехал в Россию, правда, стоит он тут ощутимо дороже Долгое время свежие новинки от Apple появлялись в России с ощутимым запозданием. До определённого момента российский рынок ни разу не входил в число стран первой волны, из-за чего все новые смартфоны, пла...

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

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

В 2019 году самой распространённой угрозой для пользователей macOS стал троянец Shlayer Решения "Лаборатории Касперского" для macOS заблокировали этот зловред у 12% пользователей в России и у 10% - в мире.Известно, что Shlayer распространяется под видом обновлений для Adobe Flash Player. Чаще всего он пытался проникнуть на устройства с сайтов, которые...

Xbox Cloud Gaming и Remote Play теперь доступны в приложении Xbox для Windows 10 и 11 Microsoft объявила, что с сегодняшнего дня в приложении Xbox для Windows 10 и Windows 11 стали доступны функции Xbox Cloud Gaming и Remote Play. Отметим, что ранее они были доступны только участникам программы Xbox Insider. Xbox Cloud Gaming позволяет играть в игры по подпи...

В плагине Rank Math SEO была обнаружена серьёзная уязвимость В популярном WordPress-плагине Rank Math SEO была обнаружена критическая уязвимость, которая позволяла злоумышленникам получить административный доступ к сайту. Проблема была устранена через день после того, как разработчики Rank Math о ней узнали. Уязвимость обнаружили спец...

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

Машинное обучение на языке R с использованием пакета mlr3 Источник: https://mlr3book.mlr-org.com/ Привет, Хабр! В этом сообщении мы рассмотрим самый продуманный на сегодняшний день подход к машинному обучению на языке R — пакет mlr3 и экосистему вокруг него. Данный подход основан на «нормальном» ООП с использованием R6-классов и...

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

С помощью сервиса Домосед каждый сможет открыть свой бизнес В этом году каждый четвертый интернет-пользователь в РФ заказывал доставку продуктов на дом, при этом половина из них приступила к использованию такой услуги по причине пандемии коронавируса. Сервис сборки и доставки продуктов и товаров на дом «Домосед» провел собственное и...

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

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