Социальные сети Рунета
Понедельник, 18 октября 2021

[Перевод] Интерактивная визуализация данных при помощи Plotly: строим красивые графики с Express и Cufflinks Если Вы все еще используете Matplotlib для создания графиков в Python, самое время взглянуть на мир с высоты альтернативной библиотеки интерактивной визуализации. Plotly позволяет создавать красивые, интерактивные, экспортируемые графики с помощью всего нескольких строк к...

[Перевод] Как создавать интерактивные линейные графики на Pandas и Altair Линейный график является неотъемлемой частью анализа данных. Он даёт нам представление о том, как величина изменяется при последовательных измерениях. В случае работы с временными рядами важность линейных графиков становится решающей. Тренд [направление], сезонность и коррел...

Я выпустил Grafar — JS-библиотеку для визуализации После пяти лет в столе я готов представить свою библиотеку для визуализации — grafar. У нас есть: 3D, реактивные вычисления и самое простое АПИ для построения математических графиков прямо в браузере. В статье рассказываю, что я сделал и как этим пользоваться. Читать далее

Визуализация сложных данных с использованием D3 и React Существует много возможныx вариантов реализации сложных графиков в ваших проектах. Я за несколько лет попробовал все возможные варианты. Сначала это были готовые библиотеки типа AmCharts 4. AmCharts сразу же оказался большим и неповоротливым. После этого были более гибкие и ...

Библиотека ASE для атомных симуляций: создаем наночастицы Библиотека ASE Библиотека ASE — это python-библиотека для проведения атомных манипуляций и вычислений. В данной статье мы будем создавать наночастицы с помощью этой библиотеки. Установка Устанавливается ASE стандартно через pip: pip install ase. Читать дальше →

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

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

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

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

Книга «Изучаем Python: программирование игр, визуализация данных, веб-приложения. 3-е изд.» Привет, Хаброжители! Мы выпустили третью версию #1 Best Seller in Python Programming Amazon — популярного в мире руководства по языку Python. Вы сможете не только максимально быстро его освоить, но и научитесь писать программы, устранять ошибки и создавать работающие прило...

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

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

[Перевод] 5 визуализаций, который помогут улучшить Data Story Статья переведена в преддверии запуска курса «Разработчик Python». Сторителлинг – один из важнейших навыков для специалистов, которые занимаются анализом данных. Чтобы доносить идеи и делать это убедительно, нужно простраивать эффективную коммуникацию. В этой статье мы поз...

Главный секрет блока else в циклах пайтона Это короткая статья для новичков. Наверняка вы знаете, что в пайтоне для циклов for и while предусмотрен блок else. И с этим блоком возникает много путаницы, потому что его действие на первый взгляд не интуитивно. Приходится потратить немного времени или заглянуть в документ...

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

[Перевод] Работа с библиотеками KTX Когда вы используете Android Java API в Kotlin, к вам достаточно быстро приходит понимание, что вам не хватает некоторых фич Kotlin, которые делают написание кода намного проще и приятнее. Вместо того, чтобы писать свои собственные обертки и функции расширения для этих API, ...

[Перевод] 8 бесплатных инструментов для создания интерактивных визуализаций данных без необходимости написания кода Когда тот, кто работает в сфере Data Science, собирается показать результаты своей деятельности другим людям, оказывается, что таблиц и отчётов, полных текстов, недостаточно для того чтобы представить всё наглядно и понятно. Именно в таких ситуациях возникает нужда в визуали...

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

[Перевод] Чем отличаются Dagger, Hilt и Koin под капотом? Dagger и Koin, без сомнения, являются двумя самыми популярными фреймворками для внедрения зависимостей на Android. Обе эти библиотеки служат одной цели и кажутся очень похожими, но работают они по-разному.А при чем здесь Hilt? Hilt — это библиотека, которая использует Dagger...

[Перевод] Wasm или не Wasm? Мы, в компании Linkurious, занимаемся работой над Linkurious Enterprise. Это — веб-платформа, которая, используя возможности графов и средства их визуализации, призвана помогать компаниям и органам власти, расположенным по всему миру, бороться с финансовыми преступлениями. ...

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

[Из песочницы] Повысьте производительность SPA, разбив ваши библиотеки Angular на несколько частей Привет, Хабр! Представляю Вашему вниманию перевод статьи «Improve SPA performance by splitting your Angular libraries in multiple chunks» автора Kevin Kreuzer. Angular — отличный фреймворк. Мы все его любим <3. Одна из вещей, которая делает Angular успешным и прекрасным в...

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

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

OSINT в Telegram Протокол Telegram известен своей доступностью и открытостью. У него есть множество публичных реализаций: tdlib/td, rubenlagus/TelegramApi, vysheng/tg, LonamiWebs/Telethon и другие. Однако, даже имея в распоряжении столь богатый инструментарий и объемную документацию (https...

[Перевод] Смотри, куда едешь (периферийное зрение vs когнитивная нагрузка) Проблема не в когнитивной нагрузке из-за многозадачности, а в периферийном зрении. Согласно новому исследованию MIT, ключ к тому, чтобы не отвлекаться от вождения, прост: следите за дорогой и смотрите, куда едете. Это может показаться ужасно очевидным, учитывая, что «смо...

[Перевод] Имитация рисования от руки на примере RoughJS RoughJS это маленькая (<9 КБ) графическая библиотека JavaScript, позволяющая рисовать в эскизном, рукописном стиле. Она позволяет рисовать на <canvas> и с помощью SVG. В этом посте я хочу ответить на самый популярный вопрос о RoughJS: как это работает? Немного ист...

[Перевод] Как сделать интерактивную карту с помощью Python и open source библиотек Сегодня делимся с вами пошаговым руководством создания интерактивных карт для веб-приложения или блога. Просто сохраните эту статью в закладках. Хоть и существует, например, библиотека d3.js, которая может создавать пользовательские карты, есть несколько инструментов еще пр...

[Из песочницы] Ранжирование округов Москвы по стоимости аренды с Python Сейчас программирование все глубже и глубже проникает во все сферы жизни. А возможно это стало благодаря очень популярному сейчас python’у. Если еще лет 5 назад для анализа данных приходилось использовать целый пакет различных инструментов: C# для выгрузки (или ручки), Excel...

[Перевод] 13 проектов для Python-программистов уровня intermediate Изучение основ Python — прекрасный опыт. Но эйфория от изучения языка постепенно заменяется желанием создать что-то своими руками. И это нормально, но нужны идеи. Проблема здесь в том, что некоторые проекты либо слишком просты, либо слишком сложны для разработчика среднего...

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

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

Базы данных. Тенденции общемировые и в России Эта статья не является ответом на множество вопросов по базам данных (БД) и системам управлениям базами данных (СУБД). Я как автор выражаю своё собственное мнение о  трендах, стараясь опираться на беспристрастные показатели, статистики и т.д., но для примера приводя со...

Кастомизация компонентов Ant Design и оптимизация бандла The Archivist by juliedillon Я Иван Копенков, ведущий фронтенд-разработчик в Mail.ru Cloud Solutions, в статье расскажу, какие есть подходы к кастомизации компонентов UI-библиотеки Ant Design, как это сделали мы, а так же покажу, как удалось полностью избавиться от неисполь...

Создаём интерактивный выставочный экспонат с .NET, Azure Functions и магией когнитивных сервисов В начале января Электромузей Москвы объявил открытый отбор экспонатов для участия в выставке Open Museum 2020. В этой заметке я расскажу, как превратил идею когнитивного портрета, о которой я уже писал, в интерактивный экспонат, и как после закрытия музея на карантин этот эк...

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

Опасная уязвимость в популярной библиотеке Sequelize Привет, Хабр! Данная статья будет интересна тем, кто уже использует библиотеку Sequelize или же только собирается с ней работать. Под катом мы расскажем, чем встроенный функционал operatorAliases может быть вреден и как избежать утечки из собственной базы данных. Читать да...

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

[Перевод] Почему стоит начать изучение программирования с языка C Краткое содержание: автор статьи объясняет, почему С хорош именно на этапе обучения и прокачки мозгов будущего программиста. А через некоторое время, или даже параллельно, можно выучить более современный язык и заняться, например, Enterprise- или Web-разработкой. Фото: Lia...

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

User Experience Core Guide — Новый подход к работе с абстракцией TL; DRЯ потратил пол года и 500 часов своей жизни на создание бесплатного инструмента содержащего 896 углов обзора наиболее популярных проблем в Product Management-е с позиции когнитивных искажений (научно доказанных паттернов мышления человека).63 вопроса и 896 ответов кото...

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

[Перевод] Как работает panic в Rust Как работает паника в Rust Что именно происходит, когда вы вызываете panic!()? Недавно я потратил много времени на изучение частей стандартной библиотеки, связанных с этим и оказалось, что ответ довольно сложный! Мне не удалось найти документы, объясняющие общую картину пани...

[Перевод] Как устроен процесс создания docker-контейнера (от docker run до runc) Перевод статьи подготовлен в преддверии старта курса «Инфраструктурная платформа на основе Kubernetes». За последние несколько месяцев я потратил немало личного времени на изучение работы Linux-контейнеров. В частности, что конкретно делает docker run. В этой статье я соб...

[Из песочницы] DLL & Python DLL & Python Недавно меня заинтересовала тема использования DLL из Python. Кроме того было интересно разобраться в их структуре, на тот случай, если придется менять исходники библиотек. После изучения различных ресурсов и примеров на эту тему, стало понятно, что примене...

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

[Из песочницы] Точные и быстрые вычисления для чисел с плавающей точкой на примере функции синуса. Введение и часть 1 Внимательно прочитал очень хорошие статьи от ArtemKaravaev по сложению чисел с плавающей точкой. Тема очень интересная и хочется её продолжить и показать на примерах, как работать с числами с плавающей точкой на практике. В качестве эталона возьмём библиотеку GNU glibc (libm...

ABBYY NeoML 2.0: Python и многое другое Прошел почти год с тех пор, как мы опубликовали на GitHub библиотеку для машинного обучения NeoML. О чем, конечно же, была статья на Хабре. Мы обещали поддерживать и развивать ее. Свое обещание мы сдержали, и на днях свет увидела вторая версия библиотеки! С первой версии ...

[Перевод] Как сделать Data Science приложение для Windows (и не только) с графическим интерфейсом с помощью PySimpleGUI Работать с Data Science в Jupyter, конечно, очень приятно, но если вы хотите пойти дальше и развернуть свой проект или модель на облачном сервере, то здесь есть много отличных решений — с помощью Flask, Django или Streamlit. Хотя облачные решения по-прежнему самые популярные...

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

EDA под другим углом Поговорим не про еду, а про разведочный анализ данных (exploratory data analysis, EDA) который является обязательной прелюдией перед любым суровым ML. Будем честны, процесс довольно занудный, и чтобы выцепить хоть какие-то значимые инсайты про наши данные — требуется потр...

[Перевод] Facebook Prophet + Deep Learning = NeuralProphet Изучая прогнозирование временных рядов, рано или поздно вы наткнетесь на чрезвычайно популярную модель Prophet, разработанную Facebook. Она приобрела свою большую популярность благодаря тому, что обеспечивает хорошие показатели с точки зрения точности, интерпретируемых резул...

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

[Перевод] Советы по использованию алгоритма коллапса волновой функции В последнее время я много экспериментировал с процедурной генерацией на основе ограничений. В частности, с алгоритмом Wave Function Collapse (WFC, коллапс волновой функции). Я даже написал собственную open source-библиотеку и ассет unity. WFC — это очень гибкий алгоритм, в...

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

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

Влияние data-классов на вес приложения Kotlin имеет много классных особенностей: null safety, smart casts, интерполяция строк и другие. Но одной из самых любимых разработчиками, по моим наблюдениям, являются data-классы. Настолько любимой, что их часто используют даже там, где никакой функциональности data-класс...

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

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

Могучие Typescript Декораторы — как работают, во что компилируются и для каких прикладных задач применимы Каждый Ангуляр разработчик видел декораторы в тайпскрипт коде. Их используют, чтобы описать Модули, сконфигурировать Dependency Injection или настроить компонент. Другими словами, декораторы используются, чтобы описать дополнительную информацию, или метаданные, для фреймворк...

Мониторинг пет-проектов на коленке: Netdata, Monitoror, N8N Привет, я Паша из Ozon. В рабочее время занимаюсь тестированием поиска, а по вечерам надеваю маску инди-разработчика. И моя самая частая задача — написать скрипт → залить его на сервер → периодически мониторить, что сервер доступен. Эта статья как раз и будет строиться вокру...

[Перевод] JAVA преступно недооценена Точка зрения невежественного студента информатики Вероятно, вы прочитали заголовок этого поста и подумали: «Что этот парень курит? Java повсюду!» Вы правы, Java по-прежнему доминирует в отрасли и c ее помощью запускаются одни из крупнейших в мире критически важных приложе...

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

Возможно ли использовать Linux Desktop в Windows инфраструктуре? Всем привет! На Хабре неоднократно поднимались вопросы о том, как подготовить дистрибутив Linux для ввода в Active Directory, а также для интеграции с некоторыми другими серверами Windows. При этом, до сих пор не было написано статьи о том, стоит ли вообще этим заниматься, ...

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

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

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

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

Использование Obj библиотек в KolibriOS в языках высокого уровня Вступление В KolibriOS системные библиотеки имеют формат MS COFF и расширение Obj. В этой статье будет рассказано как их импортировать и использовать в C--, GCC и TinyC. Читать дальше →

Ускоряем разработку с помощью сервисов Azure: создаем чат-боты и когнитивные службы средствами платформы Привет, Хабр! Сегодня мы расскажем, как решать с помощью Azure задачи, которые обычно требуют человеческого участия. Операторы тратят много времени, чтобы отвечать на одни и те же вопросы, обрабатывать телефонные звонки и текстовые сообщения. Чат-боты автоматизируют общение ...

Идеальный инструмент для создания прогрессивных веб-приложений или Все, что вы хотели знать о Workbox. Часть 2 Что такое Workbox? Workbox (далее — WB) — это библиотека (точнее, набор библиотек), основной целью которой является "предоставление лучших практик и избавление от шаблонного кода при работе с сервис-воркерами" (далее — СВ). Если вы впервые слышите о СВ, то перед и...

Интеграция в проект LVGL графической библиотеки для микроконтроллеров LVGL — Light and Versatile Graphics Library также известная как LittleVGL. Библиотека поддерживает большое количество микроконтроллеров, таких как STM32, ESP32 и другие. Мне пока удалось запустить полноценную демо программу на ESP32 и STM32f429 Discovery. Библиотека открыт...

[Перевод] Ванильный JavaScript и HTML. Никаких фреймворков. Никаких библиотек. Никаких проблем Используете для создания приложений Vue, React, Angular или Svelte? Я использую, и если вы тоже, и уверен, что вам уже давно не приходилось писать приложение, которое выводит информацию без этих прекрасных инструментов. Когда-то многие из нас писали веб-приложения только с...

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

[Из песочницы] pyqtdeploy, или упаковываем Python-программу в exe'шник… the hard way Наверняка, каждый, кто хоть раз писал что-то на Python, задумывался о том, как распространять свою программу (или, пусть даже, простой скрипт) без лишней головной боли: без необходимости устанавливать сам интерпретатор, различные зависимости, кроссплатформенно, чтобы одним ...

Postgresso 20 Жизнь продолжается. Продолжаем знакомить вас с самыми интересными новостями PostgreSQL Главная новость Feature Freeze Функциональность 13-й версии PostgreSQL заморожена. Теперь только доработки и исправления багов. Список нового, вопреки многим ожиданиям, довольно обширный...

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

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

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

[Перевод] Шпаргалка по сортировке для Data Science Сортировка данных является основной задачей для ученых и инженеров по обработке данных. Пользователи Python могут выбирать наиболее удобную из ряда библиотек со встроенными, оптимизированными опциями сортировки. Некоторые даже работают параллельно с GPU. На удивление, неко...

FFmpeg. Трюки и хитрости FFmpeg — мультимедийный комбайн, набор библиотек которые позволяют записывать, обрабатывать и конвертировать видео и/или аудио материалы в различные форматы. С помощью этого инструмента можно производить видео монтаж практически любой сложности. Его используют многие плееры,...

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

[Перевод] Устаревшие пропсы и дочерние зомби-элементы в Redux Читая документацию по react-redux v7, вы могли обратить внимание на предупреждение о проблеме устаревших пропсов и дочерних зомби-элементов. Этот раздел может показаться слегка запутанным, если читатель ещё не сталкивался с проблемой сам. Цель данной статьи — как следует раз...

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

[Перевод] Визуализация работы сервис-воркеров (Service Workers) Доброго времени суток, друзья! Вероятно, многие из вас слышали о таком новшестве в экосистеме JavaScript, как сервис-воркеры, которые являются ключевым элементом современной веб-разработки. Сервис-воркеры становятся все более востребованными, в первую очередь, благодаря п...

[Перевод] Делаем печатные ссылки кликабельными с помощью TensorFlow 2 Object Detection API TL;DR В этой статье мы начнем решать проблему того, как сделать печатные ссылки в книгах или журналах кликабельными используя камеру смартфона. С помощью TensorFlow 2 Object Detection API мы научим TensorFlow модель находить позиции и габариты строк https:// в изображениях ...

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

Идеальный инструмент для работы с СУБД без SQL для Node.js или Все, что вы хотели знать о Sequelize. Часть 2 Представляю вашему вниманию руководство по Sequelize. Sequelize — это ORM (Object-Relational Mapping — объектно-реляционное отображение или преобразование) для работы с такими СУБД (системами управления (реляционными) базами данных, Relational Database Management System, RD...

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

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

Книга «C++ для профи» Привет, Хаброжители! С++ — популярный язык для создания ПО. В руках увлеченного программиста С++ становится прекрасным инструментом для создания лаконичного, эффективного и читаемого кода, которым можно гордиться. «C++ для профи» адресован программистам среднего и продвину...

[Из песочницы] Валидация данных в C++ с использованием библиотеки cpp-validator Казалось бы, валидация данных — это одна из базовых задач в программировании, которая встретится и в начале изучения языка вместе с "Hello world!", и в том или ином виде будет присутствовать в множестве зрелых проектов. Тем не менее, Google до сих пор выдает ноль ...

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

Представляем .NET 5 Preview 1 В конце прошлого года мы выпустили .NET Core 3.0 и 3.1. В этих версиях добавлены модели настольных приложений Windows Forms (WinForms) и WPF, ASP.NET Blazor для создания одностраничных приложений и gRPC для кроссплатформенного обмена сообщениями на основе контрактов. Мы такж...

Как разобраться в исходном коде React React самая популярная библиотека для построения пользовательских интерфейсов. Мы знаем про виртуальное дерево, движок fiber, процедуру reconcilation, хуки и другие прекрасные возможности react. Но как это работает на уровне исходного кода? Ответить на этот вопрос смогут оче...

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

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

[Перевод] «А Crysis потянет?» Почему до сих пор обсуждают игру, выпущенную 13 лет назад Каждый год выпускаются сотни новых игр. Некоторые из них добиваются успеха и продаются миллионами копий, но само по себе это не гарантирует статуса легенды. Однако изредка появляются игры, которые становятся частью истории отрасли, и мы продолжаем обсуждать их и играть в ни...

[Из песочницы] Введение в ASGI: становление асинхронной веб-экосистемы Python Привет, Хабр! Представляю вашему вниманию перевод статьи "Introduction to ASGI: Emergence of an Async Python Web Ecosystem" автора Florimond Manca. "Черепахи рядом с водоемом", Ricard Baraham на unsplash.com Python не замыкается только на Data Science, в...

Почему некоторые люди отрицают науку? Исследователи, похоже, наконец выяснили, почему люди отвергают науку. И это не невежество. Так уж сложилось, что количество фейковых новостей (fake news) в современном мире постоянно растет. Фейк-ньюс – это утверждения, не имеющие под собой никаких доказательств (например, у...

Apache Spark: оптимизация производительности на реальных примерах Apache Spark – фреймворк для обработки больших данных, который давно уже стал одним из самых популярных и часто встречаемых во всевозможных проектах, связанных с Big Data. Он удачно сочетает в себе скорость работы и простоту выражения своих мыслей разработчиком. Разработчик ...

Быстрый расчет формул из Excel на C# Как часто вы слышите от заказчиков, что они пришлют данные в Excel или просят вас сделать импорт или выгрузку в Excel-совместимом формате? Я уверен, что в большинстве сфер Excel — один из самых популярных, мощных и в то же время простых и удобных инструментов. Но самым пробл...

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

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

[Перевод] Marshmallow vs. Pydantic: две лучшие библиотеки для сериализации и валидации данных на Python Сериализация и десериализация данных — это преобразование между необработанной структурой данных и экземплярами классов для их хранения и передачи. Например, преобразование объектов Python в JSON-представление. Мы рассмотрим две популярные Python-библиотеки Marshmallow и Pyd...

[Перевод] Лёгкая, гибкая, производительная обёртка над Web Animations API — @okikio/animate В 2020 году автор оригинальной статьи решил написать более эффективную библиотеку PJAX, похожую на проект Rezo Zero — Starting Blocks, но так, чтобы легко работать с barbajs. Он понимал, что Starting Blocks легче расширить с помощью настраиваемых функций ...

Фото глазами животных — создан уникальный редактор снимков Ученые разработали бесплатное программное обеспечение с открытым исходным кодом, в котором можно менять фотографии, сделанные даже обычным смартфоном, для имитации зрения животных. Редактор описан в статье, опубликованной в журнале Methods in Ecology and Evolution. Программа...

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

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

Что такое v9s, и почему потребовалось писать еще одну библиотеку валидации? Примерно год назад фронтенд нашего проекта, в качестве фреймворка для которого используется Vue.js 2, дошел до состояния, хорошо описываемого словами "проще сжечь".К тому времени наш нетипизированный корабль уже трещал по всем швам, и решено было убить сразу нескольких зайце...

Собираем свою библиотеку для SSR на React Server Side Rendering часто применяется в разных проектах. Существуют крутые фреймворки для React – NextJS и Gatsby. Но в то же время любой фреймворк диктует архитектуру приложения, а это приводит к проблемам в больших приложениях. Поэтому часто можно встретить собственные с...

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

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

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

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

SafetyNet Attestation — описание и реализация проверки на PHP В эту тему пришлось детально погрузиться во время работы над обеспечением стандартных механизмов верификации устройств для разных мобильных платформ. Задача сводилась к разработке полноценной реализацию проверки JWS-токенов по протоколу SafetyNet на серверной стороне.После м...

[Перевод] Реализация алгоритмической теории игр на Python с Nashpy Теория игр — это метод изучения стратегических ситуаций, когда результаты зависят не только от ваших действий, но и от того, что предпримут другие. Что такое стратегическая ситуация? Вспомним типы рыночных структур: есть совершенная конкуренция, когда все компании являются...

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

[Перевод - recovery mode ] Программирование GPU на Java Получение доступ к GPU из Java раскрывает огромную мощь. Здесь рассказывается как GPU работает и как получить доступ из Java. Программирование устройства графического процессора (GPU) является заоблачным миром для Java программистов. Это понятно, так как обычные задачи для ...

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

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

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

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

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

[Из песочницы] Оптимальный путь новичка в мире C++/Qt Часто задаваемый начинающими программистами вопрос – какие материалы читать для повышения своего профессионального уровня? В таком, наиболее общем виде, ответить на данный вопрос невозможно. Это зависит от текущих знаний и умений человека, от его специализации, от задач, кот...

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

[Из песочницы] JavaScript библиотека Webix глазами новичка Я начинающий JS front-end разработчик. Сейчас я учусь и стажируюсь в одной минской IT компании. Изучение основ web-ui проходит на примере JS библиотеки Webix и я хочу поделиться своим первым опытом и оформить, своего рода учебное пособие по освоению этой элегантной и мощно...

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

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

[Перевод] Мифы об асинхронном PHP: он не по-настоящему асинхронный В последнее время было достаточно много обсуждений производительности в PHP. И даже несмотря на то, что у нас есть PHP8, JIT и куча других улучшений, многие по-прежнему продолжают жаловаться на то, что PHP "недостаточно производительный". Что PHP - это язык, подходящий тольк...

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

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

В App Store резко подешевели приложения, некоторые раздают бесплатно В последнее время в App Store становится все больше приложений, которые становятся бесплатными или распространяются с большой скидкой. Причины не совсем понятны, хотя и есть одно предположение. Сегодня раздают легендарную The Talos Principle, Mini Metro сделали бесплатной и...

Альтернативное понимание контекста с помощью статистической языковой модели В интернете полно статей на тему основанных на N-граммах языковых моделей. При этом, готовых для работы библиотек довольно мало. Есть KenLM, SriLM и IRSTLM. Они популярны и используются во многих крупных проектах. Но есть проблемы: Библиотеки старые, не развиваются. Пло...

Как создать шаблон описания системы и начать его использовать Когда в IT-компании работают 6 человек, которые пилят одну систему и обсуждают её в кулуарах, описание системы и документация кажутся ненужными. Но когда систем уже более 100, без описания не обойтись. Ведь непродуманное изменение UI может остановить создание заказов. Мы соз...

[Перевод] Полезные приемы и лучшие практики от Kaggle Из этой статьи вы узнаете то, что можно узнать только потратив множество часов на изучение и практику. Читать далее

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

Вредоносные Python-библиотеки воровали ключи SSH и GPG Из PyPI были удалены две вредоносные библиотеки, пойманные на краже ключей SSH и GPG из проектов разработчиков. Одна из библиотек оставалась незамеченной почти год.

[Перевод] История интерпретируемости в распознавании изображений Распознавание изображений (т. е. классификация того, какой объект отображается на изображении) является основной задачей в области компьютерного зрения, так как она позволяет использовать различные последующие приложения (автоматическая маркировка фотографий, помощь слабов...

Google Stadia добавит еще три игры в свою библиотеку на этой неделе Google продолжает заниматься разработкой бета-версии Stadia. Новые игры появляются на сервисе с момента запуска, еще три будут добавлены на этой неделе, сообщает ITbukva.com. Еще четыре были подтверждены на 2020 год, но достаточно ли этого, чтобы сделать службу привлекательн...

Зачем вам чужие ошибки? Исправляем уязвимости в сторонних библиотеках Любое ПО содержит уязвимости, причем они появляются на разных этапах его жизненного цикла. Полностью избавиться от уязвимостей в коде достаточно сложно, но можно, как минимум, сократить их количество. Для этого используются средства SAST, DAST и IAST – статический, динамичес...

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

[Перевод] А вы знаете о том, что в Python есть встроенная СУБД? Если вы — программист, то я полагаю, что вы, наверняка, знаете о существовании чрезвычайно компактной и нетребовательной к ресурсам СУБД SQLite, или даже пользовались ей. Эта система обладает практически всеми возможностями, которых можно ожидать от реляционной СУБД, но при ...

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

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

Three.js и геометрия При использовании для отображения в браузере библиотеки ThreeJS в качестве первого примера обычно выступает куб или какой-либо другой простейший объект, и он создается при помощи предустановленных специальных классов BoxGeometry или SphereGeometry. Затем обычно рассматривает...

[Перевод] Автоматические скриншоты iOS с помощью XCTestplan и XCode 11 В Райффайзенбанке несколько мобильных приложений, которые должны работать на самых разных девайсах и операционных системах, поэтому мы стараемся автоматизировать рутинные процессы в тестировании. Эта статья показалась нам полезной, и мы решили ее перевести. foto source: u...

Исследование качества кода Open XML SDK от Microsoft Моё знакомство с Open XML SDK началось с того, что мне понадобилась библиотека для создания документов Word с некоторой отчётностью. После работы с Word API более 7 лет, захотелось попробовать что-нибудь новое и более удобное. Так я узнал, что у Microsoft есть альтернативно...

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

Unreal Features of Real Types, или Будьте осторожны с REAL После публикации статьи об особенностях типизации в PostgreSQL, первый же комментарий был про сложности работы с вещественными числами. Я решил бегло пробежаться по коду доступных мне SQL-запросов, чтобы посмотреть, насколько часто в них используется тип REAL. Достаточно час...

Если iPhone SE 3 будет таким, это просто бомба Многие ожидали появления нового iPhone SE в марте этого года, но достаточно было оглянуться назад, чтобы понять — Apple не обновляет iPhone SE каждый год. Между выходом первого и второго поколения этого смартфона прошло целых 4 года. Тем не менее, если верить инсайдерам, Ap...

Создание пакета NuGet для библиотеки с платформозависимым API Когда речь заходит о создании .NET библиотеки, части API которой являются платформозависимыми, приходится думать, как всё это оформить в NuGet пакет, да так, чтобы установленная из пакета библиотека работала в разных сценариях (.NET Framework, .NET Core, self-contained app и...

Что общего у научной визуализации данных и геймдева — обсуждаем в новом подкасте «ITMO Research_» Это вторая часть интервью с Андреем Карсаковым (kapc3d), к.т.н., старшим научным сотрудником Национального центра когнитивных разработок, доцентом Факультета цифровых трансформаций. С 2012 года Андрей работает в научной группе Визуализация и компьютерная графика. Занимается...

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

Reactive Data Display Manager. История одного рефакторинга Борясь с рутиной по конфигурации UITableView и UICollectionView, мы создали библиотеку RDDM. В её основе — адаптер, имплементирующий DataSource и Delegate, и генератор, соответствующий ячейке коллекции.Библиотека дорабатывалась и становилась мощнее. Но чем больше мы вно...

Когда твой код стал общим: история от дебюта до эндшпиля «Отстаньте от меня, пожалуйста, я — творец! Дайте мне творить!», — программист Геннадий уже третий раз за вечер проговаривает эту мантру у себя в голове. Тем не менее пока что он не написал ни одной строчки кода, потому что в библиотеку, которую пытается развивать, прилете...

Jetpack Compose — как легко построить UI на Android В июле этого года вместе с Android Studio Arctic Fox вышла одна из долгожданных библиотек — Jetpack Compose. Она позволяет создавать пользовательский интерфейс в декларативном стиле и обещает быть революцией в построении UI.Разбираемся, так ли это на самом деле, какие у библ...

[Перевод] Визуализация и анализ белков в Biopython Биология человека – невероятно сложная наука. Даже учитывая, что с каждым годом мы открываем всё больше секретов человеческого тела, получаемые нами ответы порождают всё большее количество вопросов. Завершение проекта "Геном человека" придало многим учёным уверенность в том,...

[Перевод] Как защитить Python-приложения от внедрения вредоносных скриптов Python-приложения используют множество скриптов. Этим и пользуются злоумышленники, чтобы подложить нам «свинью» — туда, где мы меньше всего ожидаем её увидеть. Одним из достоинств Python считается простота использования: чтобы запустить скрипт, нужно просто сохранить его ...

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

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

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

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

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

[Перевод] Java: свертывание многострочных логов в однострочный лог с помощью Spirng и логгера Logback или Log4j2 Logback и Log4j2 – одни из самых известных фреймворков логирования в JAVA. Фреймворк Logback используется только совместно с библиотекой SLF4J, которая представляет собой интерфейс для систем протоколирования событий. Log4j2 представляет собой вторую, улучшенную версию логге...

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

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

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

[Перевод] Почему Context — это не инструмент «управления состоянием» TL;DR Context и Redux — это одно и тоже? Нет. Это разные инструменты, делающие разные вещи и используемые в разных целях. Является ли контекст инструментом «управления состоянием»? Нет. Контекст — это форма внедрения зависимостей (dependency injection). Это транспортный м...

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

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

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

Цифровая логистика: решение транспортной задачи спроса и предложения с помощью библиотеки DOcplex от IBM Всем привет, меня зовут Дмитрий Кузин (Application Development Senior Analyst в Accenture), и в своей статье я делюсь историей о том, как запрос на решение задачи в корпоративной рассылке привел к освоению Python библиотеки DOcplex от IBM, предназначенной для решения оптими...

Особенности практического использования различных алгоритмов Многорукого бандита Большинство статей про алгоритмы, используемые для решения задачи многорукого бандита, очень академичны. Они пестрят формулами, графиками и статистическими таблицами. При этом как будто подразумевается, что у нас есть неизменяемый набор ручек для дёргания и n→∞ попыток. В эт...

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

Как снизить стоимость владения SIEM-системой и зачем нужен Central Log Management (CLM) Не так давно, Splunk добавил ещё одну модель лицензирования — лицензирование на основе инфраструктуры (теперь их три). Они считают количество ядер CPU под серверами со Splunk. Очень напоминает лицензирование Elastic Stack, там считают количество нод Elasticsearch. SIEM-систе...

[Перевод] Заметки о Unix: история Unix до readline Unix и программы, работающие в этой ОС, существуют уже очень давно. В частности, библиотека GNU Readline появилась в 1989 году (как и Bash). Времени существования этой библиотеки (и подобных проектов) вполне достаточно для того чтобы она стала бы распространённым инструменто...

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

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

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

Управление LCD и OLED дисплеями на AVR-ассемблере Сразу предупреждаю, что не собираюсь разводить холивары насчет преимуществ AVR-ассемблера перед С/Arduino, или даже перед BASCOM-AVR и MikroPascal for AVR — каждый инструмент уместен в своей области. У ассемблерного подхода в ряде случаев имеются свои преимущества — в основн...

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

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

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

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

Асинхронная работа с libusb 1.0 Несколько статей назад мы рассмотрели методику работы с USB-устройством при помощи библиотеки libusb. Данные в устройстве у нас формировались по таймеру, поэтому мы были не просто уверены, что рано или поздно они придут к нам, но даже могли предсказать, через какой срок это ...

Разработка дискретной графики Intel продвигается, но флагманы на втором плане Как выяснилось по итогам изучения аннотаций в программном обеспечении с открытым кодом, таинственные дискретные графические решения Intel DG1 будут относиться к тому же классу энергопотребления и производительности, что и встроенная графика процессоров Tiger Lake, которые до...

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

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

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

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

[Перевод] Собеседования в сфере Data Science и распространённые приёмы работы с датами в SQL Поговорим о распространённых приёмах работы с датами, которые находят применение на Data Science-собеседованиях и в обычной работе. При анализе данных весьма часто возникает необходимость извлечения из полей, хранящих даты, их частей, вроде года, дня или месяца. Нередко тому...

Django Rest Framework для начинающих: создаём API для записи и обновления данных (часть 1) Продолжаем изучать Django Rest Framework с точки зрения новичка. Мы уже разобрали создание REST API для получения данных из БД, включая отдельную статью о работе сериалайзера. В этой статье расскажу, как с помощью сериалайзера проверить поступившие данные для записи в БД. В...

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

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

Геология XXI века: от реальности к виртуальности Ранее в статьях мы уже обсудили доступные данные (результаты наземных и спутниковых гравитационных и магнитных измерений, ортофото и космические снимки, цифровые модели рельефа), теоретические подходы и методы обработки (интерферометрия, построение обратных геофизических мод...

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

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

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

Formlabs. За кадром Создание новых миров — всегда сложная задача для кино- и телеиндустрии. Ещё труднее воплотить в жизнь научно-фантастические существа и артефакты.Большинство зрителей смотрят ТВ-шоу и фильмы, даже не задумываясь над тем, какая работа стоит за картинкой на экране. Огромные ком...

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

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

Отображение объектов на картах в админке Django Бесплатная, с открытым исходным кодом библиотека DjangoAdminGeomap предназначена для отображения объектов на карте в админке Django.Существует полноценный многофункциональный ГИС фреймворк GeoDjango. При его использовании в админке Django можно отображать объекты на карте. О...

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

Мнемоника и английский язык: как ошибки превратить в победы Ученые подсчитали, что объем памяти самого обычного человека примерно равен 2,5 петабайт информации. Больше 2,5 миллионов гигабайт — это примерно 35,5 лет непрерывной записи видео в формате Full HD. Но как ни странно, с таким мощнейшим суперкомпьютером в голове мы часто н...

О кэшах в микроконтроллерах ARM Привет! В предыдущей статье мы для ускорения графики на микроконтроллере применяли процессорный кэш. При этом мы использовали режим «write-through». Тогда мы писали о некоторых преимуществах и недостатках связанных с «write-through» режимом, но это был лишь беглый обзор. В...

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

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

Поиск уязвимостей в компьютерных системах становится сродни наблюдению за жизнью в живой природе Вчера в часовом поясе Сингапура на конференции Black Hat Asia выступил исследователь по компьютерной безопасности Даниэль Грусс (Daniel Gruss), доцент Австрийского технологического университета Граца. Именно команда Грусса обнаружила уязвимости Meltdown и Spectre в процессор...

Функциональное программирование на TypeScript: полиморфизм родов высших порядков Привет, Хабр! Меню зовут Юрий Богомолов, и вы (возможно) можете меня знать по моей работе над серией #MonadicMondays в твиттере, по каналу на ютьюбе или статьям на Medium или dev.to. В русскоязычном сегменте интернета очень мало информации по функциональному программированию...

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

[Перевод] Мейнтейнер популярнейшей JS-библиотеки приговорен к тюремному заключению за смертельное ДТП по его вине Мы в TestMace активно следим за судьбой проектов, значимых для js сообщества, в частности core-js. И, по нашему мнению, резонансное событие, описанное в статье, не получило должного освещения на хабре. Что ж, мы решили исправить это дело и публикуем перевод статьи, кратко пе...

Atlas Shrugged или поворот не туда Самое дорогое, что есть у каждого человека — его жизнь и время, отпущенное ему. Каждый распоряжается этими ресурсами по-своему. Нет второго шанса, нельзя родиться заново, часы не отмотать назад. Игорь Сысоев день за днем почти 20 лет своей жизни посвящал кропотливой работе...

PVS-Studio впечатлен качеством кода Abbyy NeoML На днях компания ABBYY опубликовала исходный код своего фреймворка NeoML. Нам предложили проверить эту библиотеку с помощью PVS-Studio. Это интересный проект с точки зрения анализа, так что мы не стали откладывать его в долгий ящик. Чтение этой статьи не займет у вас много ...

Эмулятор RFID на Arduino Многие читали мой пост "Эмулятор RFID", где я в деталях рассказывал об устройстве EM Marine, о том как намотать антенну, и как сделать RFID-эмулятор из трёх деталей. Но, будем честны, несмотря на гениальную простоту того устройства, оно достаточно сложно для повт...

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

Неофициальный гайд по Active Admin Статья про Ruby в блоге компании ДомКлик! Как так получилось, что в молодую компанию завезли мертвый язык? Секрет в том, что на Ruby можно быстро написать и протестировать бизнес-идею. И делается это не без помощи Rails и Active Admin — библиотеки, которая позволяет быстро с...

Возвращение США на Луну в 2024 невозможно. Аудит программы Artemis показал большие задержки с разработкой новых скафандров Похоже, у NASA появились новые проблемы с её программой Artemis, в рамках которой США хотят вернуться на Луну.   Программа подразумевает такой запуск в 2024 году. Однако согласно отчёту Управления генерального инспектора (Office of Inspector&nbs...

Визуализация использования GIL в CPython Интересно, как ведут себя потоки, когда борются за GIL, или немного информации отсюда только для Python3. Сразу оговорюсь, что использую Ubuntu 16.04 c ядром 4.15.0-115-generic, на машине стоит 4-х ядерный процессор Intel(R) Core(TM) i5-4200U CPU @ 1.60GHz с 4 GB RAM. Теор...

[Перевод] 20 психологических уловок в дизайне продуктов Совершенствование продуктов с применением когнитивных искажений и моделей убеждения. Несколько лет назад коллега из моей бывшей компании (BlaBlaCar) познакомил меня с игрой Mental Notes. Разрабатывая какую-либо функцию, мы вместе с несколькими менеджерами по продукту, дизай...

[Из песочницы] Flutter. Как прокачать ваш BLoC Реализующих BLoC паттерн библиотек много. Но та, о которой я расскажу, необычная, и называется isolate_bloc. Как можно понять из названия — это какой-то необычный блок, а особенность его в том, что он работает в отдельном Isolate (далее изолят) и не тормозит ваш UI. В че...

[Из песочницы] Материальный Python. Что нового в библиотеке KivyMD Приветствую! Не так давно уже писали о Python в Mobile development и разработке мобильных приложений на Python с помощью библиотек Kivy и KivyMD. Эта статья продолжит знакомить вас с кроссплатформенными Python инструментами, а конкретно сегодня мы рассмотрим новинки, котор...

Вы могли бы запустить macOS или даже Windows на iPad Pro. Что для этого нужно? Обсуждение преимуществ macOS над iOS возникает каждый раз, когда Apple выпускает новый iPad Pro с аппаратным обеспечением, которое уж слишком хорошее для его операционной системы iPadOS. В результате многие начинают говорить о том, что Apple сама тормозит развитие iPad: зач...

DBA: грамотно организовываем синхронизации и импорты При сложной обработке больших наборов данных (разные ETL-процессы: импорты, конвертации и синхронизации с внешним источником) часто возникает необходимость временно «запомнить», и сразу быстро обработать что-то объемное. Типовая задача подобного рода звучит обычно примерно ...

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

OpenPGP переписывают на Rust: проект Sequoia Секвойя Стагг в роще Олдер-Крик, Калифорния В 2018 году три бывших разработчика GnuPG начали работу над проектом Sequoia — реализацией OpenPGP на Rust. Как известно, OpenPGP — это открытый стандарт шифрования данных, часто используемый для защищённой электронной почты; а G...

Facebook объявил о покупке Giphy Facebook покупает один из самых популярных поисковиков по GIF в интернете – Giphy. По данным Axios, стоимость сделки составила $400 млн. Согласно официальному заявлению Facebook, сотрудники стартапа присоединятся к команде Instagram. Библиотека Giphy будет интегрирована с In...

[Из песочницы] Кажется, мой iPhone забыл пароль от корпоративной Wi-Fi сети Всем привет! Уже и не думал что вернусь к этому кейсу, но Cisco Open Air Wireless Marathon подтолкнул меня вспомнить и рассказать про личный опыт, когда чуть больше года назад мне довелось потратить довольно много времени над изучением проблемы с беспроводной сетью на базе ...

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

Потроха IPsec, меримся с TLS 1.3, ГОСТ и Go Приветствую! Очень хочется рассказать про устройство современного стэка IPsec протоколов ESPv3 и IKEv2. IPsec, как мне кажется, незаслуженно обходится многими стороной и детального разбора его работы, его протоколов и возможностей я не видел на русском языке. Кроме того, сде...

ABBYY NeoML: как мы делали библиотеку машинного обучения и зачем она нужна Привет, Хабр! Меня зовут Стас, и я отвечаю за направление Common Libraries в компании ABBYY. Недавно мы выложили на GitHub созданную нами библиотеку для машинного обучения NeoML. NeoML — это кроссплатформенная C++ библиотека, позволяющая организовать полный цикл разработки ...

Правильные графики Covid-19 Во времена повсеместной одержимости библиотеками и веб-фреймворками мы стали забывать радость от решения задач минимальными средствами. В этой статье, мы запилим веб-сервис на актуальную тему, используя ванильные Python и JavaScript, а также, задеплоим его в GitLab Pages. Бы...

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

Tutorial: как портировать проект с Interop Word API на Open XML SDK С выходом .NET5 дальнейшее развитие некоторых проектов оказалось под вопросом из-за сложности портирования. Если от небольших устаревших библиотек можно отказаться или найти им замену, то от зависимости Microsoft.Office.Interop.Word.dll очень сложно отказаться. Microsoft не ...

Представляем PHP 7.4: Производительность, Возможности, Устаревший Функционал PHP постоянно развивается, и только что мир увидело их последнее обновление — PHP 7.4. Производительность и скорость продолжают расти, в чём мы убедились ещё в предыдущих релизах PHP 7. Предварительная загрузка — одно из самых ярких обновлений. Эта возможность позволяет знач...

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

Рассказываем про библиотеку для Process Mining: теперь SberPM в открытом доступе Process Mining – это подход к извлечению, анализу и оптимизации процессов на основе данных из так называемых журналов событий (event logs), доступных в корпоративных ИТ-системах. Являясь своеобразным мостиком между Data Mining и Process Management, он выводит исследование би...

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

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

[Перевод] Я создал свой собственный дипфейк за две недели и $552 Создавая это видео, я научился многому Технология дипфейков использует глубокие нейронные сети для убедительной замены на видео одного лица другим. У этой технологии есть очевидный потенциал для злонамеренного использования, и она становится всё более распространённой. По п...

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

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

[Перевод] Руководство по работе с OpenAL на C++. Часть 1: воспроизводим звук Вашей игре нужен звук! Наверно, вы уже использовали OpenGL для рисования на экране. Вы разобрались с его API, и поэтому обратились к OpenAL, потому что название кажется знакомым. Что же, хорошие новости — OpenAL тоже имеет очень знакомый API. Он изначально задумывался для и...

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

Почему я советую людям не учить Ansible. Андрей Девяткин Комментарий автора: Основная цель доклада — рассказать про методы построения инфраструктуры (Configuration Synchronization/Immutable infra) и сравнить их. Ansible используется как пример одного из инструментов синхронизации конфигурации. С точки зрения автора мир движется в ...

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

[Перевод] Java и базы данных: обзор библиотек и API Каждый раз при необходимости взаимодействия с базами данных появляются три вопроса: - Какой подход использовать при разработке: java-first или database-first? Писать сначала Java-классы или SQL-запросы? Будет ли использоваться уже существующая база данных? - Каким способом в...

[Перевод] Сбалансированная система показателей для ключевых показателей IT Оригинал How to Make Sure Your KPIs Are Balancedавтор  Stuart Rance, дата публикации 21.10.14Достоинства: написано простым, доступным языком, качественные примеры.Недостатки: слишком компактно.Уровень сложности - средний.Полезность - 7/10.Статья об одном из варианте, к...

Неочевидные сложности CRDT Мы все так привыкли к облачной синхронизации Dropbox и совместному редактированию в Google Docs, что объединение результатов действий разных пользователей может казаться давно решённой проблемой. Но на самом деле в этом вопросе остаётся множество подводных камней, а работа ...

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

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

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

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

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

Идеальный инструмент для работы с СУБД без SQL для Node.js или Все, что вы хотели знать о Sequelize. Часть 1 Представляю вашему вниманию руководство по Sequelize. Sequelize — это ORM (Object-Relational Mapping — объектно-реляционное отображение или преобразование) для работы с такими СУБД (системами управления (реляционными) базами данных, Relational Database Management System, RD...

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

Kotlin Multiplatform. Работаем с многопоточностью на практике. Ч.2 Доброго всем времени суток! С вами я, Анна Жаркова, ведущий мобильный разработчик компании «Usetech». В предыдущей статье я рассказывала про один из способов реализации многопоточности в приложении Kotlin Multiplatform. Сегодня мы рассмотрим альтернативную ситуацию, когда м...

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

Зачем нужна библиотека приложений в iOS 14 Помимо виджетов, одной из главных фишек iOS 14 стала библиотека приложений (App Library). Это новая функция, которая автоматически группирует все приложения на iPhone. Больше не нужно самостоятельно создавать папки, и у вас не будет 10-15 рабочих столов с приложениями, кото...

[Перевод] Используем Ansible вместе с Terraform Недавно я начал применять Terraform для создания облачной лабы для тестов, и это довольно круто. Буквально за несколько дней я поднялся с «никогда не использовал AWS» до «я умею декларативно создавать изолированную инфраструктуру в облаке». Я поставил парочку серверов в выд...

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

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

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

Новая кампания AMD делает упор на многозадачность ноутбуков, использующих APU Renoir На CES 2020 компания AMD представила 7-нм гибридные процессоры семейства Renoir. Они получили усовершенствованную графику поколения Vega (GCN) и восемь вычислительных ядер с архитектурой Zen 2. Теперь стали ясны приоритеты в рекламном продвижении — AMD будет делать упор на м...

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

Pixockets: как мы написали собственную сетевую библиотеку для игрового сервера Привет! На связи Станислав Яблонский, Lead Server Developer из Pixonic. Когда я только пришел в Pixonic, наши игровые сервера представляли собой приложения на основе Photon Realtime SDK: многофункционального, но весьма тяжелого фреймворка. Решение это, казалось бы, должно...

Фреймворк-независимое браузерное SPA Учитывая насколько hype-driven является разработка софта в наше время, можно быть уверенным в том что через несколько лет будут существовать новые модные фреймворки для фронтенд разработки. В момент когда фреймворк на базе которого построено приложение вы...

Библиотека от AMD стала причиной плохой производительности процессоров AMD в Cyberpunk 2077 После выхода Cyberpunk 2077 пользователи процессоров AMD заметили, что игра не полностью использует все логические ядра. Выглядело это следующим образом: Читать дальше →

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

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

[Перевод] Автоматический вечный календарь с подсветкой Статья с сайта Instructables на конкурс самоделок с применением станков с ЧПУ Как по мне, самыми часто используемыми объектами в нашей жизни служат часы и календари. Течение времени всегда было одной из главных тем в жизни людей. И я такой же – думаю, что это можно понять...

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

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

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

[Перевод] Java/Spring: Как полностью сгенерировать CRUD REST API с помощью Speedment В этой статье вы узнаете, как с помощью Speedment создать полный CRUD REST API для базы данных. С каждым годом становится все очевиднее, что Spring Framework является одним из наиболее широко используемых фреймворков для веб-разработки на Java. Читать дальше →

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

Нейросеть диагностирует болезнь Альцгеймера с беспрецедентной точностью Технологии Роботы 08.09.2021, 19:52 Нейросеть диагностирует болезнь Альцгеймера с беспрецедентной точностью Один из наиболее важных способов, при помощи которых алгоритмы искусственного интеллекта доказывают свою эффективность, — это д...

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

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

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

pipeplot — интерактивная визуализация потока данных из pipe в консоли Для тех, кто не хочет покидать консоль, любит её ascii-графику, появилась утилита для отрисовки графиков из pipe. Под катом анимация и примеры. Читать дальше →

[Перевод] Как освободить умные часы Garmin от облачных сервисов, которые не работают из-за атаки Автор статьи — известный хакер Эндрю Хван (bunnie) Я часто говорю: если поверить, что технология — это магия, то мы рискуем стать её заложниками. Совсем недавно я попал в такую ситуацию, но, к счастью, меня спас открытый исходный код. На момент написания этой статьи Garmin...

[Перевод] IQueryable порождает сильную связанность Время от времени я встречаю людей, пытающихся выразить API в терминах IQueryable<T>. Почти всегда это плохая идея. В этой статье я объясню почему. В кратце, IQueryable<T> — это один из лучших примеров заголовочного интерфейса (Header Interface), предлагаемых плат...

[Перевод] Отслеживание лиц в реальном времени в браузере с использованием TensorFlow.js. Часть 4 В 4 части (вы же прочли первую, вторую и третью, да?) мы возвращаемся к нашей цели – создание фильтра для лица в стиле Snapchat, используя то, что мы уже узнали об отслеживании лиц и добавлении 3D-визуализации посредством ThreeJS. В этой статье мы собираемся использовать клю...

[Перевод] useSWR – моя новая любимая библиотека React Перевод статьи подготовлен в преддверии старта курса «React.js разработчик». Последние несколько месяцев я работаю над приложением на NextJS. С каждой неделей оно становится все больше и больше. В приложении используется axios для вызовов API и unstated-next для управлени...

MyApp extends Holiday Я уверен, что среди уважаемой аудитории найдутся те, кто меня поймет. Дело в том, что во всем изобилии популярных библиотек и фреймворков для веб-фронтэнда, лично мне, не нравятся, практически, все альтернативы. В каждом из вариантов я нахожу для себя существенные минусы, к...

Kotaku: Rockstar меняется, а следующая GTA находится на раннем этапе разработки Издание Kotaku выпустило небольшой отчет о компании Rockstar, в котором речь идет о том, как поменялась культура в студии после выпуска Red Dead Redemption 2. Руководство потратило много времени на улучшение условий труда, которые многие уже должны были почувствовать. Графи...

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

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

Работающие в паре графические процессоры Intel замечены в тесте SiSoftware Интернет-ищейка Tum_Apisak обнаружил в базе данных синтетического теста SiSoftware Sandra интересную конфигурацию графической системы Intel 12-го поколения на базе новой архитектуры Xe. Имеющиеся данные указывают, что в составе неназванного компьютера используются сразу два ...

[Перевод] Понимаем соединения и пулы Прим. перев.: автор этой статьи — технический архитектор Sudhir Jonathan — рассказывает об одном из тех базовых механизмов, с которым сталкивается каждый пользователь, разработчик и системный администратор. Однако до возникновения определённых (и иногда довольно специфичных)...

ЦАП/усилитель iFi Zen DAC V2: продвинутые возможности по доступной цене ЦАП/усилитель iFi Zen DAC V2 не может показать сверхвысоких результатов измерений и имеет пару-тройку спорных особенностей. Но при этом слушатель получает все самое необходимое: поддержку MQA и других современных форматов, совместимость с разными наушниками, возможность одно...

[Перевод] Мои доходы от работы очень хорошим инженером Facebook Когда я десяток лет назад переехал в США для работы в Facebook, то понятия не имел, хорошим или плохим был оффер. Я даже не торговался и согласился на ту сумму, которую мне предложили. Отчасти это вызвано тем, что я был в восторге от приглашения, отчасти тем, что я совершенн...

Разработка сервера для многопользовательской игры с помощью nodejs и magx Многие разработчики начинают разработку многопользовательского онлайн сервера на основе библиотеки socket.io. Эта библиотека позволяет очень просто реализовать обмен данными между клиетом и сервером в реальном времени, но продумать и реализовать всю логику и интерфейс взаимо...

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

Перевод числа в строку с помощью FPU Часто требуемое для вывода результатов расчетов преобразование числа с «плавающей точкой» из формата IEEE-754 в текстовую строку в «научной» нотации (т.е. с показателем степени «E») не является совсем уж тривиальной задачей. В силу обстоятельств автору пришлось самостоятельн...

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

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

Шпаргалка по визуализации данных в Python с помощью Plotly Plotly — библиотека для визуализации данных, состоящая из нескольких частей: Front-End на JS Back-End на Python (за основу взята библиотека Seaborn) Back-End на R В этой простыне все примеры разобраны от совсем простых к более сложным, так что разработчикам с опытом будет...

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

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

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

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

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

FSTB – работа с файлами в Node.js без боли Когда я работаю с файлами в Node.js, меня не оставляет мысль, что я пишу очень много однотипного кода. Создание, чтение и запись, перемещение, удаление, обход файлов и подкаталогов, всё это обрастает неимоверным количеством бойлерплейта, который еще усугубляется странными на...

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

Программирование на Python для HR 5-й поток 5-й поток онлайн-курса «Программирование на Python для HR». Мы создали курс специально для HR-специалистов: рекрутеров, C&B, кадровиков, talent managers. Наш крс — это максимум практики и полезной теории для HR-специалистов, которые хотят в первую очередь...

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

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

Поток создания ценности — поток создания чего? Прочитав замечательную статью моего коллеги «Все говорят: «Поток!». А ты построй поток» и возникшую после неё дискуссию, я подумала, что довольно часто сталкиваюсь с вопросом, а что же такое ценность? Много говорится о потоке создания ценности, о том, какие организационные ш...

Как вписать «свободную» PostgreSQL в суровое enterprise окружение Многие знакомы с СУБД PostgreSQL, и она отлично зарекомендовала себя на небольших инсталляциях. Однако тенденция к переходу на Open Source стала все более явной, даже когда речь идет о крупных компаниях и enterprise требованиях. В этой статье мы расскажем, как встроить Postg...

Разработка круговых интерфейсов. Часть 2. Перенос библиотеки с JavaScript на QML Оглавление Введение Библиотека круговых интерфейсов v2.0 Круговая CAPTCHA Перенос библиотеки с JavaScript на QML Демонстрационное мобильное приложение Заключение Введение Предыдущая статья была вводной к вопросу разработки круговых интерфейсов. В ней рассмотрены определение,...

Реверс-инжиниринг протокола ngrok v2 Реверс-инжиниринг протокола Ngrok v2ngrok — это сервис, позволяющий создавать туннели на локальный компьютер пользователя. Иными словами, резервируется публичный адрес, все обращения по которому пробрасываются на локальный порт.К сожалению, с 2016 года поддержка open-s...

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

[Перевод] Лучшие вопросы средней сложности по SQL на собеседовании аналитика данных Первые 70% курса по SQL кажутся довольно простыми. Сложности начинаются на остальных 30%. С 2015 по 2019 годы я прошёл четыре цикла собеседований на должность аналитика данных и специалиста по анализу данных в более чем десятке компаний. После очередного неудачного интервью...

На пути к «10x инженеру»: шорткаты, сниппеты, шаблоны Программирование — творческая работа. Но в ней много рутины: поиск, перемещение и редактирование текста (читай кода), создание файлов, написание часто повторяющихся конструкций. Рутина — часть рабочего дня, но тратит время и выматывает — такое точно счастья не приносит. При...

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

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

[Перевод] Ищем уязвимости в Python-коде с помощью open source инструмента Bandit Наверное, все разработчики слышали, что нужно писать чистый код. Но не менее важно писать и использовать безопасный код. Python-разработчики обычно устанавливают модули и сторонние пакеты, чтобы не изобретать велосипеды, а использовать готовые и проверенные решения. Но пр...

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

Дорожная карта развития продукта vs диаграмма Ганта Диаграммы Ганта теряют свою популярность. Особенно среди энтузиастов Agile, которые полагают, что даты и зависимости подавляют креативность и инновации. Это может быть правдой, если команда работает очень линейно и каждую фазу не может начинать пока не будет завершена предыд...

Между человеком и обезьяной нашли еще одно сходство Ученые нашли новое сходство между человеком и обезьяной. Связано оно с отношением к делу, на которое было потрачено много усилий - феноменом “невозвратных затрат”. Согласно ему, человек может продолжать заниматься определенным делом только из-за того, что уже слишком много с...

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

[Перевод] Обратная связь по грантам памяти (memory grant feedback) в SQL Server 2019 Всем привет! В преддверии старта курса «MS SQL Server разработчик», подготовили для вас еще один интересный перевод. Если оптимизатор неправильно вычисляет необходимый объем памяти для выполнения запроса, то это будет либо пустая трата памяти, которую мог бы использовать ...

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

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

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

Сетевая подсистема в ОС В данной статье будет проведено исследование сетевой подсистемы ОС Windows и Linux, а также предложен план изучения подсистем операционной системы. Основная задача исследования - понять, из чего состоит сетевая подсистема; какие поддерживает протоколы из коробки; какие допол...

[Перевод] 20 инструментов Android-разработчика, о которых вы могли не знать Набор полезных, но не очень известных инструментов и библиотек Android.Работая над статьями о 30 лучших библиотеках и проектах Android 2019 г. и 25 лучших библиотеках и проектах Android 2020 г., я наткнулся на множество замечательных инструментов и проектов, которые могут пр...

Классная доска нового поколения. 85-дюймовая интерактивная панель Samsung Flip уже в России Компания Samsung начинает российские продажи интерактивной цифровой панели Samsung Flip. По оценке Omdia, к концу 2024 года в классах по всему миру будут использовать более 1 млн интерактивных дисплеев. 85-дюймовая интерактивная панель позволяет решать различные задачи,...

Python GUI. Библиотека KivyMD. Шаблон MVC, parallax эффект и анимация контента слайдов Приветствую вас, дорогие любители и знатоки Python! Прошло пол года с момента моей последней публикации на Хабре. Был погружен в пучину обстоятельств и сторонние проекты. Начиная с сегодняшней, статьи будут выходить с периодичностью раз в месяц. В этой статье мы рассмотрим к...

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

[Из песочницы] Контролируемые и неконтролируемые компоненты в React не должны быть сложными Привет, Хабр! Представляю вашему вниманию перевод статьи «Controlled and uncontrolled form inputs in React don't have to be complicated» автора Gosha Arinich. Возможно, вы видели много статей, говорящих: “вы не должны использовать “setState”", в то время, когда докумен...

Samsung патентует гибрид проводных и беспроводных наушников, которые можно будет использовать в бассейне Источник приводит изображение из патента Samsung, поданного 3 марта текущего года на регистрацию во Всемирную организацию интеллектуальной собственности (WIPO). Документация опубликована в широком доступе 10 сентября, и судя по схематичному изображению, Samsung работает...

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

[Из песочницы] Плоды изоляции: интерактивная карта COVID-19 с историческими графиками и миграционными ограничениям Три недели назад мы с командой в Routitude переключились с наших привычных задач на создание сервиса для мониторинга распространения вируса COVID-19. За это время мы реализовали: дашборд с регулярно обновляющимися данными для всех стран (а также административных субъектов ...

[Перевод] Худшие из так называемых «лучших практик» для Docker В интернете всегда кто-то неправ, и часто встречаются плохие советы по упаковке Docker. Но некоторые из них достаточно опасны, чтобы удостоиться этой статьи. Часто пишут, что при сборке Docker-образа не нужно устанавливать обновления безопасности. Я написал несколько опро...

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

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

Внедрение зависимостей (Dependency Injection) с GetIt во Flutter Внедрение зависимостей - DI - Dependency injection - термин часто встречающийся на собеседованиях. Сам по себе концепт опирается на более объемный принцип инверсии зависимостей (буква D в SOLID), но намного проще и ближе к практике. Кратко можно сказать, что при внедрении за...

Браво, Apple. iPhone 6s с iOS 14 работает очень плавно Финальная версия операционной системы iOS 14 будет выпущена только этой осенью, однако некоторые пользователи уже получили возможность опробовать бета-версию, которая доступна для многих моделей, начиная с iPhone 6s. Первые пользователи iPhone 6s с iOS 14 поделились сво...

Есть ли в Google Play скрытая пасхалка? Google как ни одна другая компания любит всяческие пасхалки, которые скрывает во многих своих продуктах. Они делятся на постоянные, которые позволяют получить к ним доступ в любое время, и временные, которые появляются исключительно на период проведения каких-либо мероприят...

Работа с файлами в C++ с использованием Boost Привет! Я время от времени рассказываю на Хабре о решениях распространённых задач на C++, и вообще люблю делиться опытом. Поэтому даже написал целую книгу, которая называется «Разработка приложений на С++ с использованием Boost». Она может быть интересна разработчикам, кото...

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

VideoLayout: быстрое и простое видео для Android Обычно показ видео на Android “стоит” очень дорого с точки зрения производительности. Кроме того, из-за большого размера часто разработчики не хотят добавлять видео в свои проекты. С помощью этой библиотеки VideoLayout вы можете сделать быстро работающий и мало весящий видео...

Подкаст: AR на стадионе, моделирование процессов реального мира и мультидисциплинарный геймдев Это — подкаст «ITMO Research». Во втором выпуске с нами Андрей Карсаков, кандидат технических наук, старший научный сотрудник национального центра когнитивных разработок, доцент факультета цифровых трансформаций. С 2012 года Андрей работает в научной группе Визуализация и к...

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

Блеск и нищета автономных команд Неоднократно упоминавшийся на нашем портале Чарльз Бетц (Charles Betz, среди прочего автор «Digital Practitioner Body of Knowledge (DPBoK)», являющейся базой для соответствующей сертификации от The Open Group, консорциума, разработавшего TOGAF, IT4IT, к которым, кстати, Чарл...

Код на React и TypeScript, который работает быстро. Доклад Яндекса Евангелисты Svelte и других библиотек любят показывать примеры тормозящих компонентов на React. React и TypeScript дают много возможностей создавать медленный код. После доклада Виктора victor-homyakov вы сможете писать более производительные компоненты без усложнения кода. ...

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

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

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

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

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

Сверточная нейронная сеть и ее интеграция в iOS (часть 1) Средства реализации. Различные алгоритмы машинного обучения интегрированы в множество высокоуровневых языков программирования. Наиболее популярным и быстро развивающимся из них является Python. TensorFlow — открытая программная библиотека для машинного обучения, разработа...

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

Как мы взламывали «умную» фабрику Хотя процесс подключения предприятий к интернету давно уже носит массовый характер, с точки зрения кибербезопасности каждый такой случай уникален, и охватить все возможные варианты нереально. В рамках нашего нового исследования Attacks on smart manufacturing systems мы сос...

[Перевод] Букварь по F# для любопытствующих C#-разработчиков Предисловие Мой переход на F# в качестве излюбленного языка был слегка усеян препятствиями. Примерно через десять лет почти постоянного использования C# у меня пробудилось любопытство, когда я услышал об этом другом #-языке. Моя первая реакция была той, которую с тех пор вид...

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

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

[Перевод] Погружение в CQRS Эта статья является конспектом материала Clarified CQRS. Прежде чем начать разбираться с CQRS, нужно понять две основные движущие силы, стоящие за ним: сотрудничество и устаревание.Сотрудничество относится к ситуациям, когда несколько участников используют или изменяют один ...

[Перевод] Создавайте приложения бесплатно с помощью Azure Cosmos DB Free Tier Хотите создать новое приложение, разработать и протестировать или запустить небольшие производственные рабочие нагрузки с помощью Azure Cosmos DB? Наш новый уровень бесплатного пользования позволяет начать работу без затрат и сэкономить деньги при создании и развитии новых п...

Ищете бесплатные альтернативы cPanel? Держите сразу 7 Приветствую вас, уважаемые читатели и почитатели Хабра! В этой статье я расскажу вам о 7 популярных альтернативах cPanel. Вы узнаете: Почему бесплатные панели управления web-сервером нередко оказываются лучше, чем платные аналоги Какие возможности готовы предложить Вам...

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

[Перевод] 20 месяцев, 2000 часов работы, 200 000 евро убытков: история об упорстве и невозвратных затратах Если выразить идею статьи в двух словах: иногда бывает сложно понять, то ли ты проявляешь настойчивость, то ли попался в ловушку невозвратных затрат. Своему текущему проекту я отдал двадцать месяцев, проработал над ним в общей сложности две тысячи часов и «потерял» двести ...

[Перевод] Julia готова для прода Сейчас мне хочется поделиться своими выводами сделанными после нескольких бесед, в которых я участвовал на JuliaCon 2020. Я потратил уже 20 лет на развертывание в корпоративных средах проектов связанных с наукой о данных (тогда она так еще не называлась, но мы уже обучали н...

[Перевод] Способы снизить потребление газа смарт-контрактами Комментарий от переводчика: статья по меркам Ethereum и языка Solidity относительно старая, аж 2018 года, но ряд идей и подходов будут полезны начинающим.В настоящее время я работаю над Dapp, первый крупный этап разработки которого подходит к концу. Поскольку издержки на тра...

Осциллограф в браузере Отрисовка графиков в реальном времени Одно время я работал в компании, которая разрабатывала бесконтактные датчики, как на фото. И при установке этих датчиков, надо было правильно сориентировать антенну (белая штука на фото). И выглядело это так: один человек на объекте, ...

[Из песочницы] Создаем аудиовизуальный VR-опыт с применением A-Frame и Tone.js Привет, Хабр! Представляю вашему вниманию перевод статьи «Creating A VR Audio/Visual Experience On the Web With A-Frame and Tone.js» автора Sean Sullivan. A-Frame — это фреймворк для создания виртуальной реальности в вебе. Используя лишь ссылку, любой человек с VR-шлемом ...

Лучшая библиотека 2019 года с лазерными проекторами Panasonic (31 проектор 350,000 лм) Пример хельсинской библиотеки OODI интересен масштабами использования проекторов в сочетании с камерами Panasonic, обеспечивающими трансляции и возможность виртуального присутствия на мероприятиях с 360°-обзором Ежегодно эту библиотеку посещают 3 млн. и она точно может не б...

Точные и быстрые вычисления для чисел с плавающей точкой на примере функции синуса. Часть 3: fixed-point Продолжаем цикл лекций (часть 1 и часть 2). В части 2 мы посмотрели, что внутри у библиотеки libm и в данной работе попробуем немного переделать функцию do_sin, чтобы увеличить её точность и скорость работы. Приведу эту функцию ещё раз do_sin): Как было показано в предыду...

[Из песочницы] Вывод текста на OLED дисплей с контроллером SH1106 по шине SPI через библиотеку HAL Здравствуйте, уважаемые читатели. В своих разработках на микроконтроллерах STM32, для вывода осмысленной информации, я пользуюсь OLED дисплеями на чипе SSD1306. В последний раз пришел ко мне 1,3" SPI модель по демократичной цене — около 200руб. Первое, что бросилось в г...

Архитектура in-memory СУБД: 10 лет опыта в одной статье База данных в оперативной памяти — понятие не новое. Но оно слишком плотно ассоциируется со словами «кэш» и «не персистентный». Сегодня я расскажу, почему это не обязательно так. Решения в памяти имеют гораздо более широкое поле применения и гораздо более высокий уровень н...

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

Flutter: слоёный пирог с интересной начинкой. Графика Write once, run anywhereПредлагаю заглянуть под капот, и погрузиться в детали реализации движка Flutter, чтобы понять, как он решает вопрос кроссплатформы с точки зрения отрисовки UI Читать далее

Как избавиться от дублей в базе данных (на примере MS SQL) Всем привет! Меня зовут Евгений, я занимаюсь разработкой и проектированием в Ozon. Больше всего работаю с MS SQL и C#, но попадаются и другие СУБД и языки программирования.Ozon как продукт быстро растёт: во втором квартале этого года мы доставляли больше миллиона посылок в д...

[Перевод] Преобразуем графику Fortnite в PUBG новым более быстрым подходом Пару лет назад я показал, как мы можем использовать ИИ для переноса стилей, такой как CycleGAN, для преобразования графики одной игры, чтобы она выглядела похожей на другую, на примере Fortnite в PUBG. Этот проект до сих пор остается одним из самых просматриваемых, и спустя ...

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

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

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

5 причин, почему компании должны принять виртуальные трудовые ресурсы Настало ли время переосмыслить мудрость открытого рабочего пространства? Мы собираемся увидеть беспрецедентный бизнес-эксперимент, который разворачивается, когда компании используют виртуальную рабочую силу. Лидеры сталкиваются с реалиями пандемии COVID-19 и принимают трудно...

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

[Перевод] Фронтенд-разработчику: 10 направлений, в которых стоит развиваться в 2021 году Профессия «фронтенд-разработчик», без сомнения, будет одной из самых востребованных в 2021 году. Раньше тем, кто работал в этой сфере, для создания интерактивных сайтов достаточно было знать HTML, CSS и, возможно, jQuery. Но сегодня фронтенд-разработчик вынужден существоват...

Быстрее, чем C++; медленнее, чем PHP Привет, Хабр. У меня тут случайно код на хаскеле получился быстрее аналогичного кода на C++. Иногда — на 40%. (время работы, меньше — лучше, C++ снизу) Что самое смешное — я собирал хаскель-код через LLVM-бекенд, но при этом сравнивал с GCC. Если сравнивать с clang (что вро...

[Из песочницы] Ошибки памяти. Какие когнитивные искажения учитывать, чтобы верно распознавать ложь Этой статьей решил начать серию из нескольких текстов в помощь тем, кому по долгу службы (например, в ИБ- или СБ-), да и просто «по жизни» приходится распознавать правду и ложь. Разберем, как выявлять признаки обмана в речи и невербальных проявлениях, изучим удачные скрипты ...

[Перевод] Автоматизация рабочего процесса Java-проекта с помощью модифицированной модели ветвления Gitflow Автоматизация рабочего процесса Java-проекта с помощью модифицированной модели ветвления Gitflow Ключевые выводы Gitflow — это совместная модель ветвления, которая пытается использовать мощность, скорость и простоту ветвления Git. Этот метод хорошо работал в ситуации, котор...

[Перевод - recovery mode ] Понимание LDAP-протокола, иерархии данных и компонентов записей Введение LDAP, или Lightweight Directory Access Protocol, является открытым протоколом, используемым для хранения и получения данных из каталога с иерархической структурой. Обычно используемый для хранения информации об организации, ее активах и пользователях, LDAP является ...

Как я познакомился с Apple Pencil. Приложение Nebo Компания Apple изначально была скептически настроена по отношению к стилусам. Многие годы Samsung со своей линейкой Galaxy Note не оставляли выбора для многих представителей творческих профессий. Однако реализация умного пера от Купертино сильно подорвала количество продаж ...

Когда и почему люди становятся атеистами? Исследователи в последнее время нередко задаются вопросом о том, почему некоторые люди становятся атеистами. Сегодня на нашей планете проживает примерно 7,7 миллиардов человек. Практически 6 млрд из них причисляют себя к одной и существующих религий, что означает, что 84% м...

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

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

Исследователи IntSights включили ИИ в число киберугроз 2020 года "Мы станем свидетелями массового применения ИИ при таргетированных и автоматических атаках",- цитирует "КоммерсантЪ" слова директора по изучению киберугроз нью-йоркской исследовательской компании IntSights Итайи Маора со ссылкой на телеканал CNBC. IntSigh...

Лучше делать хоть что-то, чем не делать ничего На конференциях по всяким Agile и DevOps мы часто слышим слово «unlearn» — забудьте то, что вы знали ранее! Измените свои представления о мире! Всё устроено не так, как мы привыкли считать. Разучитесь, чтобы научиться. В очень многих случаях такие заяв...

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

[Перевод] Что такое Spring Framework? От внедрения зависимостей до Web MVC Вы можете использовать это руководство для различных целей: Чтобы понять, что такое Spring Framework Как работают ее основные фичи: такие как внедрение зависимостей или Web MVC Это также исчерпывающий FAQ (Перечень часто задаваемых вопросов) Примечание: Статья ~ 9000 слов...

Project Loom: Современная маcштабируемая многопоточность для платформы Java Эффективное использование многочисленных ядер современных процессоров — сложная, но всё более важная задача. Java была одним из первых языков программирования со встроенной поддержкой concurrency. Ее concurrency-модель, основанная на нативных тредах, хорошо масштабируется д...

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

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

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

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

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

IPv6 — прекрасный мир, стоящий скорого перехода на него Практически все статьи, которые я видел на тему «чем хорош IPv6 и почему на него стоит пошустрее переходить», говорят только о просто более широком адресном пространстве. В лучшем случае, упомянут автоматическую конфигурацию адресов и маршрутов (stateless address autoconfigu...

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

[Перевод] Как BigQuery от Google демократизировал анализ данных. Часть 1 Привет, Хабр! Прямо сейчас в OTUS открыт набор на новый поток курса «Data Engineer». В преддверии старта курса мы традиционно подготовили для вас перевод интересного материала. Каждый день более ста миллионов человек посещают Twitter, чтобы узнать, что происходит в мире, ...

First DI: Первый DI на интерфейсах для Typescript приложений Делюсь одной из своих библиотек которая называется First DI. Она уже много лет помогает мне решить проблему внедрения зависимостей в браузерных приложениях для таких библиотек как React, Preact, Mithril и другие. При написании First DI за основу была взята идеология DI библи...

Библиотека ttf2mesh — преобразование TrueType шрифтов в сетку Многим известна проблема трёхмерной графики — отсутствие легковесных кроссплатформенных решений в вопросе вывода текста. Большинство реализаций позволяет использовать выбранный шрифт в виде текстуры. Публикуемая библиотека ttf2mesh реализует другой способ — она преобразует в...

Визуализация промисов и Async/Await Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «JavaScript Visualized: Promises & Async/Await» автора Lydia Hallie. Приходилось ли вам сталкиваться с JavaScript кодом, который… работает не так, как ожидается? Когда функции выполняются в про...

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

[Перевод] Перестаньте использовать Page Objects (РО) и начните использовать App Actions Написание поддерживаемых сквозных тестов — это сложная задача. Часто тестировщики создают косвенный слой веб-страницы, называемый page objects, для выполнения общих действий. В этой статье я утверждаю, что page objects — это плохая практика, и предлагаю непосредственно обрат...

[recovery mode] Базовые возможности LXD — системы контейнеров в Linux LXD — это системный менеджер контейнеров следующего поколения, так гласит источник. Он предлагает пользовательский интерфейс, похожий на виртуальные машины, но использующий вместо этого контейнеры Linux. Ядро LXD — это привилегированный демон (сервис запущенный с правами ro...

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

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

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

[Перевод] Как управлять марсоходом Немногим более года назад мне повезло: я стал частью команды ученых и инженеров, ответственной за управление марсоходом «Кьюриосити». С тех пор я узнал МНОГО нового о марсоходах. Но еще больше только предстоит узнать. «Спирит», «Оппортьюнити», «Кьюриосити» и «Персеверанс» —...

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

Жуки, бабочки, цикады и прочие. Google пополнила библиотеку AR-поиска более чем двумя десятками разных насекомых Google продолжает активно наполнять библиотеку 3D-объектов, с которыми можно взаимодействовать в дополненной реальности прямо из результатов поиска. Google объявила о внедрении поддержки дополненной реальности в рамках расширения функциональности панели Knowledge Panel в 201...

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

Время сборки Xcode с BitBar Вы когда-нибудь задумывались, сколько времени в день вы проводите в ожидании, пока Xcode выполнит сборку вашего проекта? Этот плагин BitBar показывает потраченное время прямо в строке меню! Как сделать: https://github.com/matopeto/xcode-build-times

[Перевод - recovery mode ] 41 термин в дизайне, полезный для UX-исследователя Работа с UX-дизайнерами и знакомство с их словарным запасом — это почти изучение нового языка. Давайте посмотрим на 41 часто используемый дизайнерский термин. Для лучшего взаимопонимания в команде. Читать дальше →

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

[Из песочницы] Конвертация текстовых документов в xml на С# Недавно мне пришлось столкнуться с необходимостью достать текст из офисных документов (docx, xlsx, rtf, doc, xls, odt и ods). Задача осложнялась требованием представить текст в формате xml без мусора с максимально удобной для дальнейшего парсинга структурой. Решение использо...

Apple показала iPadOS 15 и это очень грустно На презентации в рамках WWDC 2021 Apple представила новую версию iPadOS — iPadOS 15. Одним из главных нововведений iPadOS 15 стала возможность размещать виджеты на любом рабочем столе в любой части экрана с помощью галереи виджетов, куда были добавлены новые виджеты вроде п...

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

[Перевод] Диагностика крови с помощью Deep Learning: Как превратить проект с хакатона в стартап и поднять $20,5 млн Слева — Танай Тандон, в 17 лет в 2014 году основал стартап Athelas для диагностики малярии при помощи смартфона. Справа — соосновательница Athelas Дипика Бодопати. Несколько лет назад Athelas (YC S16) за одну ночь разработала свой прототип на хакатоне YC Hacks 2014. В эт...

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

Умные часы Fossil Gen 6 могут получить новый Snapdragon Wear 4100 Умные часы Fossil под управлением Wear OS прошли сертификацию FCC. Это может быть намек на то, что скоро появится шестое поколение устройства. Но будет ли оно использовать более быстрый Snapdragon Wear 4100? Когда компания Qualcomm представила Snapdragon Wear 4100, у любител...

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

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

[Перевод] История потоковых мультипроцессоров Nvidia Последние выходные я потратил на освоение программирования CUDA и SIMT. Это плодотворно проведённое время закончилось почти 700-кратным ускорением моего «рейтрейсера на визитке» [1] — с 101 секунд до 150 мс. Такой приятный опыт стал хорошим предлогом для дальнейшего изучен...

Microsoft анонсировала октябрьский пакет обновлений для OneDrive Компания Microsoft анонсировала декабрьский пакет обновлений для OneDrive. [Создание общей библиотеки в OneDrive в Интернете OneDrive подключает вас ко всем вашим файлам - будь то индивидуальные рабочие файлы или общие командные файлы. Microsoft обновляет существующий опыт с...

Обзор облачного сервиса GeForce Now (GFN.RU) — Геймерский ПК в каждый дом Идея облачного гейминга не оставляет нас в покое уже, хочется сказать, лет десять — долго, другими словами. Много компаний сгорели ещё до запуска, в то время как другие были выкуплены. С «облаками» заигрывают как лидеры индустрии вроде Sony и Microsoft, так и игроки поменьше...

Что такое Universal Control в macOS Monterey и как это работает Презентация iOS 15 и macOS Monterey получилась очень скучной. Впервые мы всей редакцией на протяжении двух часов томились в ожидании конца мероприятия. Apple не только слишком сильно её растянула, но и почти не рассказала ничего интересного. Большая часть представленных фун...

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

Интерактивные таблицы, графики и диаграммы на Mac без установки Excel (Эксель): Как создавать на macOS Таблица и график – отличный способ сделать данные наглядными. Но их можно сделать и ещё лучше, если превратить статичную картинку в динамическую. Как это сделать? ♥ ПО ТЕМЕ: Как сохранять файлы Pages в формате Word (doc, docx) на Mac, iPhone, iPad или Windows. Нам поможет бе...

Лучшие новые игры для Android первой половины октября 2020 ”Ну, наконец-то что-то новое” — хотят сказать многие из тех, кто заходит в Google Play, чтобы посмотреть, во что можно поиграть. Проблема в том, что когда появляются действительно новые игры, найти их не всегда просто, а иногда в них и вовсе нет ничего нового. Если ск...

[Перевод] Неизбежность проникновения FPGA в дата-центры Не нужно быть разработчиком чипов, чтобы программировать для FPGA, как не нужно быть программистом на С++, чтобы писать код на Java. Однако в обоих случаях, вероятно, это будет не лишним. Цель коммерциализации обеих технологий, Java и FPGA, в том, чтобы опровергнуть послед...

[Из песочницы] Проекция контента в Angular или затерянная документация по ng-content При изучении Angular очень часто упускают или уделяют недостаточное внимание такому понятию, как проекция контента. Это очень мощный инструмент для создания гибких и переиспользуемых компонентов. Но в документации о нем упоминается лишь пару абзацев в разделе Lifecycle hooks...

Один из крупнейших в мире производителей клубники начал использовать роботов для сбора урожая Использование робототехники Traptic последовало за пилотным проектом 2020 года, когда многие сельскохозяйственные компании нуждались в помощи в условиях дефицита сотрудников, связанного с пандемией. Тем не менее, даже до COVID-19 нехватка рабочей силы приводила к огромным по...

Интерактивные финансовые данные в 20 строках кода Статьи на финансовые темы появляются на Хабре регулярно. Во многих из них в качестве источника первичных данных используется неофициально открытое API Yahoo finance. В этой статье я покажу три способа добыть данные (включая Yahoo) а также как напилить из них простое вэб-прил...

[Перевод] Создаём одинаковое приложение 5 раз На написание этой статьи меня вдохновил YouTube-канал Fireship, записывающий отличные видео о веб-разработке, крайне рекомендую их посмотреть, если вам интересна эта тема. Вот видео с канала, в котором в 10 фреймворках создают todo-приложение: Я решил, что не хочу тратит...

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

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

Есть ли польза от оценок трудозатрат разработчиков для самих разработчиков? Мы знаем, что заказчикам и заинтересованным сторонам проекта нужны оценки по срокам реализации задач. На их основании они строят планы, расставляют приоритеты и планируют даты поставки разрабатываемых продуктов. А что для разработчиков? Для них отдача совсем не очевидна. Да ...

7 трендов смартфонов, которые надо было оставить в 2020 году и забыть о них В любом направлении промышленности есть то, что называется трендами. Есть они и у смартфонов. Это то, чего придерживаются все производители, стараясь сделать так, чтобы их гаджеты соответствовали тому, что происходит в мире. Вот только единственный нормальный тренд — ...

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

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

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

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

Диспетчер задач Windows 10 получает интеграцию с Microsoft Edge Если вы часто используете Диспетчер задач, вы могли заметить длинный список процессоров, связанных с веб-браузером. Подобно Google Chrome и другим современным браузерам, Microsoft Edge использует многопроцессорную архитектуру, что приводит к большому количеству процессов. В ...

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

[Перевод] Go глазами Rust-программиста: первые впечатления В преддверии старта курса «Разработчик Golang» подготовили перевод интересного материала. А каким было ваше первое впечатление от Go? На протяжении последних нескольких недель мне довелось использовать Go в работе. Я впервые использовал Go на более-менее крупном и серьезно...

Лучшие гоночные игры для Android 2021 Что может быть лучше хорошего гоночного симулятора? Даже не обязательно ему быть именно симулятором. Достаточно просто, чтобы игра была про гонки. Может быть я выдаю свои интересы за общественные, но именно гонки являются одним из самых универсальных жанров наряду с головол...

[Из песочницы] Выбор генератора форм для Vue.js Уважаемый хабрачитатель, хочу поделиться с тобой опытом в выборе и использовании генераторов форм для Vue.js. Введение Пожалуй, известно каждому, что любой выбор начинается с фиксации целей, постановки задач и формирования списка требований к объектам выбора. Данная статья ...

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

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

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

Геопространственное моделирование с применением методов машинного обучения Всем привет! Меня зовут Константин Измайлов, я руководитель направления Data Science в Delivery Club. Мы работаем над многочисленными интересными и сложными задачами: от формирования классических аналитических отчетов до построения рекомендательных моделей в ленте приложен...

Пользователи iPhone 11 пожаловались на проблемы с GPS iPhone 11 страдают от проблем с работой GPS, но не у всех К хорошему привыкаешь быстро. Именно поэтому никто даже внимания не обратил на то, что запуск iPhone 11 прошёл относительно гладко. Если сравнивать его с iPhone XS, который из-за сбоя в программном обеспечении из коро...

[Перевод] Первое знакомство с JavaScript-библиотекой Solid Solid — это реактивная JavaScript-библиотека для создания пользовательских интерфейсов без использования виртуальной DOM. Она однократно компилирует шаблоны, превращая их в узлы реальной DOM, а благодаря тщательно спланированным механизмам обновления контента при изменении с...

[Перевод] Самая лучшая практика: работа с path в Python В последней статье мы использовали рекурсивную функцию размером менее 10 строк для решения проблемы сканирования папок и ранжирования файлов по дате изменения и размеру.Теперь я подниму планку и покажу, как можно было сделать лучше. Читать далее

[Перевод] Создание шейдерной анимации в Unity Недавно я работал над анимацией респауна и спецэффектом главного героя моей игры “King, Witch and Dragon”. Для этого спецэффекта мне нужна была пара сотен анимированных крыс. Создание двухсот мешей со скиннингом с анимацией ключевыми кадрами всего для одного спецэффекта — ...

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

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

[Перевод] Основы нейросетей в 100 строках кода (часть 1) В трёх частях этой статьи мы: Напишем нейросеть с нуля на Python и обучим её алгоритмом градиентного спуска. Применим её к датасету The Wisconsin Cancer Data-set и предскажем по 9 различным признакам, является ли опухоль доброкачественной или злокачественной. Подробнее иссл...

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

[Перевод] Как написать (игрушечную) JVM Статья про KVM оказалась интересной для читателей, поэтому сегодня публикуем новый перевод статьи Serge Zaitsev: как работает Java Virtual Machine под капотом. Нравится нам это или нет, но Java — один из наиболее распространенных и широко используемых языков программирования...

[Перевод] Компилируем Microsoft Word 1989 года Собираем Opus Opus — это кодовое имя, которое разработчики компании Microsoft дали пакету Microsoft Word for Windows v1.1a. Давайте скомпилируем его из исходного кода и посмотрим, удастся ли его запустить! 1. Введение В этой статье задокументирован процесс получения исход...

Анализ и визуализация данных в финансах — анализ ETF с использованием Python С проникновением аналитики во многие сферы нашей жизни она не могла обойти стороной финансы. В этой статье рассмотрим ее применение для анализа ETF с целью их анализа, в том числе и с применением визуализиции.1. О данныхДля анализа будем использовать данные ETF c базово...

Единая система мониторинга и оповещений BI: правда или вымысел? Привет, Хабр! Мы, Юлия Лузганова HiJulia и Наталия Прудникова balzaant, аналитики в команде Business Intelligence Delivery Club. Наш департамент аналитики стремительно вырос за последние полтора года, сейчас в нем 50 человек и десятки различных проектов. Мы в группе BI-ана...

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

[Перевод] C и C++: межъязыковые интерфейсы Как известно, C и C++ — это родственные языки, между которыми есть много общего. Но их пути, с годами, расходятся всё сильнее. В общих чертах дело обстоит так: код, написанный на одном из этих языков, не может быть скомпилирован под видом кода, написанного на другом. Этому м...

Если люди такие умные, то почему мозг становится меньше? За последние 20 тысяч лет размер человеческого мозга уменьшался. Но о чем это говорит? Вероятно, вы этого не знали, но существует несколько теорий о том, почему человеческий мозг становится все меньше начиная с каменного века. Изменения, произошедшие в ходе эволюции Homo Sap...

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

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

Расслабленный Джедайст #78 На чилле и расслабоне встречаем новый Джедайст. Отобрали для вас много-много мелких обновлений, пяток новых мощных инструментов и целую прорву дизайнерского знания для самого приятного летнего чтения. Поработать Framer вдохновился Фигмой и запустил ...

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

Doom Eternal не будет поддерживать трассировку лучей Разработчики игры Doom Eternal в одном из интервью сообщили, что игра появится без поддержки трассировки лучей. Возможно, она появится немного позже, когда техническая команда на 100 % разберется с новой технологией. Студия id Software потратила слишком много времени на...

Управление Java Flight Recorder Не так давно в мире Java случилось грандиозное событие. Во всех актуальных версиях OpenJDK стал доступен Java Flight Recorder (или просто JFR). Что такое Java Flight Recorder? JFR – это механизм легковесного профилирования Ja...

Новые игры для Android. Октябрь 2020 На Android всегда есть во что поиграть! Это факт и с этим нет смысла спорить. Но разве не интересно, когда выходит что-то новое? Именно поэтому сегодня поговорим о новых играх, которые можно скачать в Google Play. Они вышли в октябре и пока не набрали большой популярности, ...

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

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

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

[Перевод] Terraform, моно-репозитории и compliance as code Всем привет. OTUS открыл набор в новую группу по курсу «Инфраструктурная платформа на основе Kubernetes», в связи с этим мы подготовили перевод интересного материала по теме. Возможно, вы один из тех, кто использует terraform для Infrastructure as a Code, и вам интересно...

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

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

Лучшие инди-игры по версии Google Play в 2019 году Google выбрала лучшие инди-игры 2019 года 25 июня в музее современного искусства в Лондоне (Галерея Саарчи) прошло соревнование среди инди-разработчиков Google Play Indie Games Showcase. Всего в финал прошли 20 команд из 10 стран. В результате голосования, в котором, в том ч...

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

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

PWA-приложения Microsoft Edge скоро будут визуально неотличимы от нативных приложений Microsoft Edge скоро представит функцию под названием Window Controls Overlay, чтобы сделать прогрессивные веб-приложения (PWA) визуально неотличимыми от их нативных аналогов, позволяя разработчикам настраивать область заголовка своих PWA. «Эта функция позволяет разработчика...

Мобильные геймеры потратили более $2 млрд в Roblox, США в топе Вы можете любить или ненавидеть Roblox, но это приложение для создания всевозможного контента сейчас точно находится на пике своей популярности, потому что геймеры успели потратить более $2 млрд на неё. И это касается только мобильной версии — в мае 2020 года эта цифра уже д...

Первые шаги с aiohttp: часть 2. Подключаем базу данных к приложению Привет!В прошлой статье мы познакомились с aiohttp и написали на нем свое первое веб-приложение: стену с отзывами.В этой статье мы продолжим изучение и подключим к нашему приложению базу данных PostgreSQL, используя для этого Gino, SQLAlchemy и Aiopg, а также автоматически с...

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

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

Фичи JavaScript. Часть 1 Доброго времени суток, друзья! В этой статье я хочу поделиться с Вами некоторыми находками, сделанными мной в процессе изучения JavaScript. Возможно, Вы найдете для себя что-то интересное. Данная часть серии будет посвящена, преимущественно, работе с DOM. Рекомендую прим...

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

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

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

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

Использование SEH в 32 разрядных приложениях Windows с компилятором Mingw-W64 Что такое SEH Из всех механизмов, предоставляемых операционными системами семейства Windows, возможно наиболее широко используемым, но не полностью документированным, является механизм структурной обработки исключений (он же Structured Exception Handling, или просто – SEH). ...

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