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

Алгебраические типы данных и Python Возможно, кто-то из читателей, увидев заголовок этой статьи, подумает что-нибудь вроде:"Что?! Алгебраические типы данных?! Это же что-то из мира функциональных языков программирования. Python?! Ну нет... Где Python со своей динамической утиной типизацией, а где типы дан...

Экстракоды при синтезе программ Впервые термин «экстракод» я услышал еще применительно к командам БЭСМ-6. Сейчас это слово практически не используется, наиболее близкое понятие - «системный вызов». Из-за особенностей системы команд БЭСМ-6, те экстракоды действительно больше напоминали дополнительные встрое...

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

Star7: с чего начиналась Java В начале 90-х годов в Sun Microsystems, в 2010 году поглощенной Oracle, проводился ряд реформ, связанных с переопределением приоритетов компании. В результате преобразований появился так называемый Project Green, с которым связано создание языка Java. Java — это косвенный ре...

Создание статического анализатора для C# на основе Roslyn API После прочтения этой статьи вы будете обладать знаниями для создания своего собственного статического анализатора для C# кода, благодаря ему вы сможете найти потенциальные ошибки и уязвимости в исходном коде своих и не только проектов. Заинтригованы? Что ж, давайте начнём. Ч...

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

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

[Перевод] Перечисления в PHP 8.1 Они наконец-то появятся: поддержка перечислений будет добавлена в PHP 8.1! Пост посвящён более подробному рассмотрению нового функционала. Читать далее

[Из песочницы] Особенности применения языков программирования С и С++ при разработке ПО, связанного с функциональной безопасностью Крис Хоббс (Chris Hobbs) в своей фундаментальной работе «Embedded Software Development for Safety-Critical Systems» [1] приводит распространенное среди программистов мнение о том, что накладывать ограничения на языки программирования, это как заказывать Пикассо создание ка...

Быстрый ENUM tl;dr github.com/QratorLabs/fastenum pip install fast-enum Зачем нужно перечисление (enum) (если вы все знаете — опуститесь до секции «Перечисления в стандартной библиотеке») Представьте, что вам нужно описать набор всех возможных состояний сущностей в собственной модели ба...

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

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

Снова про шаблоны C++ в микроконтроллерах Идея использования шаблонов языка C++ для программирования контроллеров не является чем-то новым, в сети доступно большое количество материалов. Кратко напомню основные преимущества: перенос значительной части ошибок из runtime в compile-time за счет строгого контроля ти...

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

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

GSoC 2019: Проверка графов на двудольность и трансформеры монад Прошлым летом я участвовал в Google Summer of Code — программе для студентов от компании Google. Ежегодно организаторы отбирают несколько Open Source-проектов, в том числе от таких известных организаций, как Boost.org и The Linux Foundation. Для работы над этими проектами Go...

Пошаговая инструкция как использовать MkDocs для создания сайта с документацией продукта Всем привет! Мы продолжаем разбирать наши решения. Сегодня расскажем о том, как, используя генератор Material for MkDocs, можно создать несложный, но удобный статический сайт с документацией (и не только!).А ещё как встроить его в CI/CD для автосборки и автопубликации (...

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

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

[Перевод] Почему я считаю Haskell хорошим выбором с точки зрения безопасности ПО? Команда Typeable понимает ценность безопасности. Мы любим Haskell, но стоит ли его выбирать, если ваша цель – создание защищенного программного обеспечения? Хотелось бы сказать «да», но как и для большинства эмпирических вопросов о разработке ПО, здесь просто нет объективно...

Создание шаблона VPS с Drupal 9 на Centos 8 Мы продолжаем расширять наш маркетплейс. Недавно мы рассказывали, как сделали образ Gitlab, а на этой неделе в нашем маркетплейсе появился Drupal. Рассказываем, почему выбрали именно его и как создавался образ. Drupal — удобная и мощная платформа для создания любых типов...

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

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

Сейчас я буду убеждать вас использовать статический анализ в PHP Я помню выход PHP7: появились strict types, скалярные type hint-ы. Мы начали двигаться в сторону языка со статической типизацией, но типизация не ушла в статику. Концептуально все осталась прежним — мы запускаем программу и только в runtime узнаем, что где-то есть неправ...

Проект LLHD — универсальный язык описания аппаратуры Буквально на днях на arXiv-е была выложена очень занятная статья швейцарских исследователей, в которой представлены подробности проекта LLHD. Это проект создания многоуровневого промежуточного представления для языков описания аппаратуры, наследующий идеологию и принципы про...

Kingston Workflow Station – универсальный модульный комбайн для карт памяти и USB устройств Привет, Хабр! 4-в-1 и это не картридж для Денди из 90-ых! Это станция Workflow Station и устройства чтения карт памяти от компании Kingston. В настоящее время едва ли не каждое устройство оснащено картой памяти или USB-интерфейсом, поэтому компания Kingston выпустила на ры...

[Перевод] Создание пользовательских функций запросов с key paths Поскольку это довольно строгий статически компилируемый язык, с первого взгляда может показаться, что Swift мало чего может предложить в плане кастомизации синтаксиса, но на самом деле это далеко не так. Благодаря таким фичам, как настраиваемые и перегруженные операторы, key...

Алгоритм ранжирования ошибок Возможно Вам доводилось слышать про протокол журнала событий syslog, в котором можно насчитать аж 8 уровней важности: emergency, alert, critical, error, warning, notice, info, debug. Наверняка Вы, как и я какое-то время назад, думаете, “зачем столько”? А что если я скажу, чт...

Let vs where в Ocaml/Haskell Языки Ocaml и Haskell ведут родословную из языка ISWIM, описанного в знаменитой статье Питера Лендина "The next 700 programming languages". В ней автор, отталкиваясь от языка LISP, создаёт новый язык программирования и, в частности, вводит ключевые слова let, and и where, ко...

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

[Перевод] Управление робототехникой в реальном времени с помощью языка Lean Подразделение Microsoft Research недавно опубликовало предварительный выпуск Lean 4. Предыдущие версии Lean были сосредоточены на том, чтобы быть помощником по доказательствам — программным инструментом, который облегчает разработку строгих математических доказател...

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

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

Генерация документации с использованием JSDoc JSDoc - это язык разметки, используемый для аннотирования исходного кода JavaScript с использованием комментариев. Аннотации обрабатывается различными инструментами для создания документации в доступных форматах, таких как HTML и Rich Text Format. Читать далее

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

Языку программирования Python исполнилось 30 лет Время идет быстро, и Python, одному из самых популярных языков программирования современности, исполнилось 30 лет. Впервые о нем стало известно в конце февраля 1991 года, когда Гвидо ван Россум опубликовал первый выпуск Python в группе alt.sources. Работа над языком вела...

Языковой сервер Pylance вышел в релиз Мы рады объявить, что Pylance, наша быстрая и многофункциональная языковая поддержка Python в Visual Studio Code, официально вышла из предварительной версии и достигла своего первого стабильного выпуска.Ранее на этой неделе мы объявили, что, начиная с майского выпуска расшир...

Развитие инструментария С++ программистов: статические анализаторы кода Размер современных приложений и сложность языка C++ превышают возможности людей по всестороннему анализу текста программ на обзорах кода. Компенсационная методология – статический анализ кода. Читать дальше →

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

Как мы добавили поддержку языка Frege в IDEA. Часть 2 Привет! Это вторая часть рассказа о том, как мы поддерживали язык Frege в IntelliJ IDEA. Первую часть читайте здесь. Сейчас мы поделимся, как сделали автодополнение, систему сборки, интерпретатор и систему типов. И как все это тестировали. Читать далее

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

Microsoft открыла исходный код языка программирования Project Verona Некоторое время назад стало известно, что Microsoft работает над созданием нового языка под кодовым названием Project Verona, который предназначен для безопасного программирования инфраструктуры. Новый язык включает в себя некоторые идеи из популярного языка программировани...

«ФП на Python посредством Coconut!» |> print В этом посте представлен язык Coconut, функциональное надмножество языка Python, целью которого является создание элегантного функционального кода, оставаясь при этом в знакомой среде Python и библиотеках, и приведено несколько показательных примеров.'Здравствуй, Мир!' |>...

Какой тип числа у Number в JS? Если вы изучали языки со строгой типизацией, то должны понимать, что определённое значение должно храниться в памяти с заранее выделенным для неё количеством байт. Например, для числа int выделяется 4 байта, что равняется 32 битам и может содержать в себе 2³² значе...

[Перевод] Как в Datalake объединить слишком большое количество небольших файлов в несколько больших с помощью Apache Spark Один из современных способов хранения большущего объема данных для платформ обработки и анализа данных - это распределение каждого датасета между несколькими узлами в кластере. Если мы используем облако, то весь датасет разделяется на множество объектов. Это может привести к...

[Перевод] Rust — теперь и на платформе Android Корректность кода на платформе Android является наиважнейшим аспектом в контексте безопасности, стабильности и качества каждого релиза Android. По-прежнему сложнее всего вытравливаются ошибки, связанные с безопасностью памяти и попадающиеся в коде на С и C++. Google вкладыва...

Modern Reverse Engineering: TTD Обратная разработка сегодня это достаточно трудоемкий процесс в первую очередь потому, что в период с 2000х по 2020 годы вышло в свет много языков программирования, которые ставили перед собой задачу стать интуитивными и простыми для изучения, безопасными и в то же время эфф...

[Из песочницы] Изучаем VoIP-движок Mediastreamer2. Часть 1 Материал статьи взят с моего дзен-канала. Введение Эта статья является началом серии статей о реалтайм обработке медиаданных с помощью движка Mediastreamer2. В ходе изложения будут задействованы минимальные навыки работы в терминале Linux и программирования на языке Си. Medi...

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

[Перевод] Программирование игры для embedded-устройства на ESP32: шрифты и система тайлов Начало: сборка, система ввода, дисплей. Продолжение: накопитель, аккумулятор, звук. Часть 7: Текст Завершив со слоем кода Odroid Go, мы можем приступить к созданию самой игры. Начнём с отрисовки на экране текста, потому что это станет плавным введением в несколько тем, ...

Разделение кода и текста: прототип Этот пост является продолжением предыдущей публикации Разделение кода и текста: мысли вслух. На этот раз мы пойдем чуть-чуть дальше и представим возможный API, а также сравним рабочий процесс до и после. В качестве примера использованы язык PHP и фреймворк Laravel, но это по...

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

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

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

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

RUI – библиотека для создания web-приложений на языке go Хочу представить вам свой проект – библиотеку RUI (Remote User Interface). Библиотека предназначена для создания web-приложений на языке go.  Особенностью библиотеки заключается в том, что вся обработка данных осуществляется на сервере, а браузер используется как тонкий...

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

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

На дне с нефтью, Covid-19 и биткоином: самые вирусные мемы недели Что ж, пожалуй, за прошедшую неделю произошло ВООБЩЕ ВСЕ самое плохое, что могло произойти. Отходим от пятницы 13-го за просмотром резюмирующих этот кошмар мемов. Предупреждаем, будет очень токсично. Фантомные боли активированы. Сейчас становится очевидным, с чего началась в...

Памятка и туториал по HTTP-заголовкам, связанным с безопасностью веб-приложений Доброго времени суток, друзья! В этой статье я хочу поделиться с вами результатами небольшого исследования, посвященного HTTP-заголовкам, которые связаны с безопасностью веб-приложений (далее — просто заголовки). Сначала мы с вами кратко разберем основные виды уязвимостей ...

Вся правда о Soft skills Хорошим программистом быть нетрудно — надо всего лишь постоянно учиться. Фреймворки обновляются ежегодно, а популярные языки программирования рождаются каждые пять лет. Вместе с ними нужно изучать инструментарий, лучшие практики, паттерны проектирования и бог знает, что...

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

Lingoda Team Challenge приглашает объединяться для онлайн-изучения языков Lingoda, языковая онлайн-школа №1, объявила о запуске #LingodaTeamChallenge, курс, который объединит людей со всего мира, которые хотят выучить новый язык. Особенность Lingoda Team Challenge заключается в программах онлайн-обучения. Каждая программа разработана индивидуально...

Методы расширения в Java В таких языках программирования, как C#, Kotlin, Groovy, Scala есть возможность расширять класс путем добавления нового функционала, при этом не требуется наследование или изменение самого изначального класса. Это реализовано с помощью специальных выражений, называемых расш...

MediaTek вряд ли в одиночку спасёт Huawei. Компания пока не готова гарантировать поставки Как известно, Huawei не только отрезана от поставок компании Qualcomm, но и уже почти лишилась доступа к производственным мощностям TSMC, то есть вскоре, возможно, останется и без собственных SoC Kirin. Один из вариантов для Huawei — использовать чужие платформы. ...

Путь в IT, воспоминания бумера. Часть 2, институт, PDP (СМ) Первая часть тутМое программирование продолжилось в сентябре, после поступления в институт (ЛЭТИ). Программировал я вечерами, в совхозе под Любанью (Ленинградская область), после уборки морковки на полях, потому что учеба в ЛЭТИ началась именно с помощи совхозу, причем на эт...

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

[Перевод] Новые функции языка, начиная с Java 8 до 16 Улучшения языка Java, которые вам следует знатьПоследнее обновление 30.03.2021, чтобы включать изменения до JDK 16.Когда в Java 8 были представлены Streams и Lambdas, это было большим изменением, позволившим использовать функциональный стиль программирования с гора...

[Из песочницы] Packet Tracer. Лабораторная работа: Настройка плавающих статических маршрутов Топология сети Задачи Создание основного статического маршрута по умолчанию Развертывание плавающего статического маршрута Проверка переключения на плавающий статический маршрут при отказе основного маршрута Общие сведения Итак, для начала пару слов о том, что же такое ст...

Компания Hikvision рассказала об особенностях работы современных СКУД. Итоги вебинара «Распознавание лиц – в каждый офис» Современный офис обладает сложной и разветвленной ИТ-инфраструктурой, которая объединяет самые разные системы, включая также системы безопасности. Поэтому возможность интеграции систем контроля доступа и их отдельных элементов в действующую ИТ-среду компании, объединения с к...

MediaTek вряд ли в одиночку спасёт Huawei. Компания пока не готова гарантировать поставки Как известно, Huawei не только отрезана от поставок компании Qualcomm, но и уже почти лишилась доступа к производственным мощностям TSMC, то есть вскоре, возможно, останется и без собственных SoC Kirin. Один из вариантов для Huawei — использовать чужие платформы....

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

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

Generic Math: суперфича C#, доступная в .NET 6 Preview 7 10 августа 2021 года Microsoft в блоге опубликовала информацию о свежевыпущенном .NET 6 Preview 7.Помимо добавления очередной порции синтаксического сахара, расширения функционала библиотек, улучшения поддержки UTF-8 и т.д., в данное обновление была включена демонстрация суп...

[recovery mode] Типобезопасная работа с массивами PHP, часть 2 Всем привет, прошёл почти год с публикации первой части. Обсуждение в комментариях было жарким, выводы я для себя сделал, изменения в либу внёс почти сразу, но написать об этом времени не нашлось.На днях расширил функционал парой методов, и хочу поделиться с вами этими новос...

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

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

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

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

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

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

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

Азбука libp2p от Textile (или за что мы её любим) Перевод статьи начального уровня в блоге проекта Textile от 19 ноября 2019 г.Первые шаги к созданию децентрализованного приложения могут быть трудными. Изменить привычный при разработке централизованных приложений образ мышления не легко, поскольку распределённый дизайн ло...

Jupyter в Visual Studio Code — июньский релиз Мы рады сообщить, что стал доступен июньский релиз расширения Jupyter для Visual Studio Code. Если вы работаете с Python, мы рекомендуем загрузить расширение Python из Marketplace или установить его прямо из галереи расширений в Visual Studio Code. Если у вас уже установлено...

Китов, Глушков и протоинтернет в СССР Автор: Андрей ЛебедевМасштабные инфраструктурные, промышленные и хозяйственные проекты требуют не менее масштабных систем управления и планирования. К тому же эти системы обязаны обладать высокой точностью и высокой скоростью обработки больших объёмов информации. Поэтому в о...

Инструкция: Как добавить новый язык в Mac OS? Операционная система macOS от Apple, конечно же, поддерживает множество языков мира. Причем в настройках можно «держать» несколько разных языков и быстро переключаться между ними при необходимости. В этой статье выясним, как добавить новый язык на вашем компьютере Mac. Как з...

Об ошибках в коде QuantConnect Lean В данной статье рассматриваются ошибки в проекте с открытым исходным кодом, найденные с помощью статического анализатора. Говорится о некоторых простых вещах, которые могут помочь избежать их появления. Например, используя синтаксические конструкции языка начиная с C# 8.0. ...

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

[Перевод] Rust в ядре Linux В более ранней публикации  компания Google объявила, что в Android теперь поддерживается язык программирования Rust, применяемый в разработке этой ОС как таковой. В связи с этим авторы данной публикации также решили оценить, насколько язык Rust востребован в разработке ядр...

[Перевод] Гайд по использованию enum в Python Модуль enum содержит в себе тип для перечисления значений с возможностью итерирования и сравнения. Его можно использовать для создания понятных обозначений вместо использования чисел (для которых приходится помнить, какое число что обозначает) или строк (в которых легко опе...

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

Обзор SSD Seagate FireCuda Gaming 1 ТБ. Строгий игровой накопитель со скоростью до 2000 МБ/с Большинство внешних накопителей представляют собой невнятные пластиковые обмылки, которые совсем не хочется лишний раз брать в руки. К нам в руки попал флагманский накопитель Seagate FireCuda Gaming 1 ТБ, обладающий приятным металлическим корпусом с RGB-подсветкой и скорость...

Статическая подписка с использованием шаблона Наблюдатель на примере С++ и микроконтроллера Cortext M4 Всем доброго здравия! В преддверии Нового года хочу продолжить рассказывать про использование С++ на микроконтроллерах, на этот раз попытаюсь рассказать про использование шаблона Наблюдатель (но далее я буду называть его Издатель-Подписчик или просто Подписчик, такой вот ка...

Huawei Digital Power стремится к созданию полноправного всемирного сообщества партнеров Huawei Digital Power стремится к созданию полноправного всемирного сообщества партнеров для обеспечения экологически безопасного и светлого будущего ШЭНЬЧЖЭНЬ (Китай), 12 июня 2021 г. /PRNewswire/ — Компания Huawei Digital Power, неуклонно сосредоточенная на ...

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

Как выучить иностранный язык: алгоритм Если вы хоть немного пересекались с Machine Learning, то понимаете, что человеческий мозг — это, по сути, большая нейросеть. А раз так, то и работу с ним можно строить по известным в ML алгоритмам. Так я нашел универсальный способ выучить любой иностранный язык до нормальног...

Как мы добавили поддержку языка Frege в IDEA. Часть 1 Привет! В этом посте мы расскажем, как реализовывали плагин для поддержки функционального языка Frege в IntelliJ IDEA. Если вам интересно, как IDE от JetBrains работают внутри, или вы хотите поконтрибьютить в языковые плагины (а может даже написать свой!), эта статья для вас...

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

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

Indivumed расширяет деятельность по разработке лекарств с созданием СП Ix Therapeutics Это совместное предприятие с компанией Xlife Sciences позволит осуществлять программы разработки лекарственных средств для специализированных онкологических учреждений ГАМБУРГ (Германия), 18 марта 2021 г. /PRNewswire/ — Компания Indivumed GmbH (далее «Indivum...

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

Как извлечь пользу из статической типизации Эта статья о том, как извлечь максимум пользы из статической системы типов при дизайне вашего кода. Статья пытается быть language agnostic (получается не всегда), примеры на Java и взяты из жизни. Читать далее

Проверь себя в Swift: паззлер для любителей головоломок Мы, команда мобильной разработки в SimbirSoft, при создании iOS-приложений широко используем язык Swift – достаточно безопасный, быстрый и выразительный. Для тех, кто знаком со Swift, мы приготовили несколько головоломок–паззлеров. Попробуйте определить результат выполнения ...

Проект CETI — декодинг «языка» кашалотов В 2016 году океанологи впервые обнаружили и записали то, как кашалоты общаются друг с другом, используя своеобразную ультразвуковую речь из коротких и длинных ритмично повторяющихся щелчков (кодов), напоминающих сигналы азбуки Морзе. Им удалось обнаружить, что кашалоты обща...

Google запустила универсальное и функциюнальное решение резервного копирования для Android Компания Google начала распространять новую систему резервного копирования для устройств на основе операционной системы Android.  Она получила название Backup By Google One. Отмечается, что это более универсальное и функциональное решение, чем текущая стандартная&...

Заключен меморандум о взаимопонимании Shanghai Electric Guoxuan и Pacific Green Компании Shanghai Electric Guoxuan New Energy Technology Co., Ltd (далее «Shanghai Electric Guoxuan» или «Компания») и Pacific Green Technologies, Inc. (далее «Pacific Green» или «PGTK») подписали меморандум о взаимопонимании по стратегическому ...

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

Том Голисано жертвует $30 млн Специальной Олимпиаде на расширение медицинских услуг Том Голисано жертвует $30 млн Специальной Олимпиаде в целях расширения важнейших услуг здравоохранения для людей с особенностями интеллектуального развития по всему миру ВАШИНГТОН, 17 сентября 2021 г. /PRNewswire/ — Международная организация «Специальная Олимпиада» сег...

DeepCode: взгляд со стороны Не так давно DeepCode, статический анализатор, основанный на машинном обучении, стал поддерживать проверку C и C++ проектов. И теперь мы можем на практике взглянуть, чем отличаются результаты классического статического анализа и статического анализа, основанного на машинном...

Jekyll на VPS за 30 рублей для состоятельных людей Статический HTML почти ушел в прошлое. Теперь сайты это собой связанные с базами данных приложения, которые динамически формируют ответ на пользовательские запросы. Однако, в этом есть и свои недостатки: более высокие требования к вычислительным ресурсам и многочисленные уя...

Глаголы R vs Операторы SQL Какой язык использовать для анализа данных - это максимально избитая и больная тема. Поэтому мы объединились с Алексеем Селезневым, руководителем отдела аналитики в Netpeak и автором телеграм-канала R4Marketing, и подготовили сравнение операторов SQL и глаголов языка R. Для ...

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

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

Создание браузерных 3d-игр с нуля на чистом html, css и js. Часть 2/2 В данной статье мы продолжим создавать трехмерную браузерную игру лабиринт на чистом html, css и javascript. В предыдущей части мы сделали простой 3-мерный мир, реализовали движение, управление, столкновения игрока со статическими объектами. В этой части мы будем добавлять г...

Линтер на все случаи жизни — GitHub Super Linter Команда DevOps инженеров из GitHub поделились своим универсальным решением для проверки качества кода. С ним можно настроить линтер для 17 языков всего в 11 строк: name: Lint Code Base on: push: branches-ignore: - 'master' jobs: linter: runs-on: ubuntu-lat...

Меняем промежуточное представление кода на лету в Ghidra Когда мы разрабатывали модуль ghidra nodejs для инструмента Ghidra, мы поняли, что не всегда получается корректно реализовать опкод V8 (движка JavaScript, используемого Node.js) на языке описания ассемблерных инструкций SLEIGH. В таких средах исполнения, как V8, JVM и прочие...

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

Путь одной команды от «велосипедов» до IoT-платформы Привет, Хабр! Мы, команда Rightech, наконец-то решили начать вести блог. У нас накопилось много опыта в построении высоконагруженных IoT-систем, и мы решили, что просто обязаны им делиться! Совсем недавно прошел запуск публичной версии нашей платформы RIC (Rightech IoT Clou...

[Перевод] Домен, поддомен, ограниченный контекст, пространство задач/решений в DDD: четко определены Domain-Driven Design — это, как правило, подход к проектированию систем программного обеспечения, который предполагает создание общего языка между экспертами домена и разработчиками системы. В число известных правил DDD входят Use a Ubiquitous Language и Make The Implicit Ex...

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

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

[Перевод] C++ — это замечательно, и вот почему C++ — один из самых непонятных языков в современной поп-культуре разработчиков программного обеспечения. Люди часто сравнивают его с C, потому что это "низкоуровневый" язык. Следовательно, он получил репутацию эзотерического языка, который интересует только параноиков произв...

Пишем онлайн-радио на языке Vala Привет всем! В своем первом посте я хочу рассказать о создании простого радио на языке Vala. Я ни разу не программист, а скорее любитель и все свои разработки я писал на Java, но так как на компьютере использую GNU/Linux, а именно старый добрый Debian, да еще на GNOME, то по...

Обзор GameLisp: нового языка для написания игр на Rust Программист, подписывающийся псевдонимом Fleabit, уже полгода разрабатывает свой язык программирования. Сразу же возникает вопрос: ещё один язык? Зачем? Вот его аргументы: Разработка движка игры и разработка игры на этом движке – две очень разные задачи, и для них удобно...

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

Бесполезный REPL. Доклад Яндекса REPL (read-eval-print loop) бесполезен в Python, даже если это волшебный IPython. Сегодня я предложу одно из возможных решений этой проблемы. В первую очередь доклад и мое расширение TheREPL будет полезны тем, кого интересует более быстрая и эффективная разработка, а также т...

Wrike уходит от использования языка Dart. Часть 1 Данной статьёй мы хотим пролить свет на технический стек Wrike: каким он был раньше и каким мы видим его в будущем. Мы расскажем о том, почему пять лет назад мы выбрали язык Dart основным для frontend-разработки нашего продукта и почему сейчас мы решили посмотреть в сторону ...

[Перевод] Особенности создания клона Minecraft «DScraft» для маломощной консоли 2004 года, Nintendo DS DScraft - это адаптация убер-популярной компьютерной игры Minecraft для Nintendo DS. Хотя DScraft даже близко не так популярен, как оригинальная игра, ему всё равно удалось собрать большое комьюнити, которое существует и сегодня, а саму игру загрузили более 500.000 раз тольк...

Пишем Slack бота для Scrum покера на Go Здравствуйте! Сегодня мы напишем Slack Scrum покер бота на языке Go. Писать будем по возможности без фреймворков и внешних библиотек, так как наша цель – разобраться с языком программирования Go и проверить, насколько этот язык удобен для разработки подобных проектов. Прошу ...

Язык сетевого программирования P4. Часть 1: обзор возможностей и настройка SONiC-P4 Эта первая часть обзорной статьи, в которой мы разбираемся с молодым языком программирования P4: что это такое, для чего он нужен и чем лучше прочих систем обработки пакетов. Конечно, будет и практика: примеры программирования и обзор железа с поддержкой P4. А на десерт — по...

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

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

Что если изменить систему единиц времени? Это жестко? Официальный сайт движения за изменение системы единиц времени.Здесь я подробно напишу на русском языке объяснение. Читать далее

Yahsat создает многоцелевую и универсальную спутниковую экосистему Компания Al Yah Satellite Communications (Yahsat), являющаяся ведущим оператором спутниковой связи в ОАЭ, остановила свой выбор на компании Airbus, в задачу которой входит создание системы мобильной связи нового поколения Thuraya 4-NGS, способствующей дальнейшему развитию де...

[Перевод] Статический анализ в GCC 10 Я работаю в Red Hat над GCC, GNU Compiler Collection. Для следующего основного релиза GCC, GCC 10, я реализовывал новую опцию -fanalyzer: проход статического анализа для выявления различных проблем во время компиляции, а не во время исполнения. Я думаю, что лучше выявлять ...

Как мы загружали банковскую карту из iPhone в брелок С каждым годом всё больше компаний проявляют интерес к проектам, связанным с интернетом вещей (Internet of Things, IoT).  В статье я расскажу о созданной нами IoT платформе, о способах загрузки банковских карт в носимые устройства, об исследовании возможностей фреймворка C...

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

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

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

Как сделать и разместить статический сайт на Gatsby в Yandex.Cloud Пошаговая инструкция по созданию и деплою статического сайта в облако, прикрутки к нему сертификата Let’s Encrypt, домена второго уровня и настройки API-шлюза Перейти к руководству

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

Huawei представляет HUAWEI WATCH 3 Series: умные часы на базе HarmonyOS 2 HUAWEI анонсировала запуск серии смарт-часов HUAWEI WATCH 3, включающей в себя две модели — HUAWEI WATCH 3 и HUAWEI WATCH 3 Pro. Они работают под управлением операционной системы HUAWEI HarmonyOS 2, обеспечивающей удобство и расширение умных возможностей за счет улучшенног...

Нацполиция Украины получила первые четыре «Фантома» на основе Skoda Kodiaq для измерения скорости в движении (в 2021 году закупят еще 125 фантомных патрулей других моделей) Глава Госагентства инфраструктурных проектов («Укринфрапроект») Кирилл Хомяков рассказал о передаче Нацполиции Украины первых четырех патрульных «Фантомов», предназначенных для скрытой фиксации нарушения скоростного режима на украинских дорогах. Первые фа...

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

Книга «Android. Программирование для профессионалов. 4-е издание» Привет, Хаброжители! Познакомьтесь с возможностями программирования Android на языке Kotlin! Множество примеров приложений с четкими объяснениями ключевых концепций и API позволят легко разобраться в самых трудных задачах. Эта книга посвящена прикладным методам разработки ...

В школах Москвы откроются медиаклассы С 1 сентября в столичных школах начнут работать медиаклассы, которые станут очередным направлением предпрофессиональной подготовки. Инициативу Департамента образования и науки города Москвы поддержали ведущие вузы, в том числе МГУ им. М.В. Ломоносова, МГИМО, НИУ «Высша школа...

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

Python в Visual Studio Code – февральский релиз 2021 Мы рады сообщить, что стал доступен релиз расширения Python для Visual Studio Code от февраля 2021 года. Вы можете загрузить расширение Python из Marketplace или установить его прямо из галереи расширений в Visual Studio Code. Если у вас уже установлено расширение Python, вы...

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

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

Языки «Властелина колец»: как язык создал целую вселенную Рождение Средиземья 21 сентября 1937 года в Англии вышла небольшая книжка, озаглавленная просто – «Хоббит», автором числился мало известный за пределами научного мира Дж. Р. Р. Толкин. Читатели приняли текст хорошо, но никто не понял, чем все это грозит миру. Толкиновский...

Опыт работы с карт-принтерами, часть 1 Данная статья будет полезна тем, кто начинает работу с карт-принтерами(Evolis Primacy и Smart-51) и кодировкой NFC карт типа Mifare Classic и Mifare DESFire EV2. В первой части мы опишем общее впечатление от работы с карт-принтерами, а также проблемы с которыми нам пришлось ...

[Перевод] Что такое «this» и с чем его едят Автор фото — Sebastian Herrmann. Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Daniel James «What is 'this'? Why is that?». Что такое «this» и с чем его едят Когда я начинал изучать JavaScript, концепция this показалась мне крайне запутанной. ...

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

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

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

Clickhouse. Расширение кластера Всем привет! Я хотел бы поделиться своим опытом по расширению высоконагруженного кластера ClickHouse, немного о том как работает репликация и шардирование. Читать далее

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

Фишки Swift: статический URL Надоело использовать URL(string: "url")! для статических URL?

Создание SDK под Android в стиле Single-Activity Single activity подходом при создании конечного приложения под Android никого не удивишь. Но мы пошли дальше и использовали No-Activity при разработке SDK. Сейчас разберемся для чего это понадобилось, возникшие сложности и как их решали. Читать далее

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

Численный FORTH Форт и сейчас известен, главным образом, среди разработки встроенных систем, как что-то вроде необычайного высокоуровневого ассемблера, например, для микроконтроллеров - AmForth и Mecrisp. Однако, когда-то давным давно был известен в другой ипостаси - как язык программирован...

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

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

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

[Перевод] Создание арт-объектов, игр и много чего ещё с использованием числа Пи и Python Число Пи — пожалуй, самое знаменитое число в мире. Это единственное число, ради которого учредили особый день в году — День числа пи, отмечаемый 14 марта. В этой статье мы рассмотрим различные особенности числа π и попробуем с его помощью создать что-нибудь развлекательное, ...

Как начать учить английский язык и не забросить после первой недели? Коротко о том, чем руководствоваться при старте изучения языка и как не расстраиваться, когда не получается. Как выбрать компетентного репетитора, который научит современному языку. Читать далее

MikroTik Скрипт: Массовое создание VPN (PPP) пользователей, из csv файла Не самая частая задача на устройствах MikroTik - одномоментное создание большого количества VPN/PPP  пользователей. Но когда она возникает, это превращается в очень скучное и нудное дело, что следует исправить. Импортируем PPP пользователей из CSV файла, на устройство M...

30 миллиардов параметров: реально ли обучить русский GPT-3 в «домашних» условиях? Не так давно Сбер, а затем и Яндекс объявили о создании сверхбольших русских языковых моделей, похожих на GPT-3. Они не только генерируют правдоподобный текст (статьи, песни, блоги и т. п.), но и решают много разнообразных задач, причем эти задачи зачастую можно ставить...

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

Проверка макросов XLM во время выполнения теперь доступна в Microsoft Excel Excel 4.0 (XLM) — это старый язык макросов, который Microsoft выпустила для Excel еще в 1992 году. Хотя это устаревший язык, и большинство организаций с тех пор перешли на Visual Basic for Applications (VBA), некоторые продолжают использовать XLM из-за его функциональных воз...

Rust станет одним из основных языков разработки Android Разработчики Google рассказали, что Android получит поддержку языка Rust, так как он более безопасен и позволит предотвратить появление ошибок, связанных с памятью.

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

Домен Perl[.]com захвачен и связан с малварью Неизвестные злоумышленники «угнали» домен perl[.]com, принадлежащий Тому Кристиансену, который использует его с 1997 года для размещения новостей и статей о языке Perl.

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

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

И мышонок, и лягушка. Универсальный Компилятор В серии про надежное программирование [1], [2] остался незаслуженно забытым Swift. Я, честно говоря, просто не считал его кроссплатформенным, а работающим исключительно для macOS/iOS. Тут случайно выяснилось, что Swift также поддерживается такой средой разработки, как Re...

SSH, PGP, TOTP в Yubikey 5 Это аппаратный ключ безопасности, который поддерживает протокол универсальной двухфакторной аутентификации, одноразовые пароли и асимметричное шифрование. Если вы добавите его, допустим, в аккаунт на Гитхабе, то для входа в свой аккаунт, понадобится ввести логин/пароль и кос...

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

Названы компании, ставшие лауреатами премии IT Stars имени Георгия Генса в 2021 году На торжественной церемонии награждения премии IT Stars имени Георгия Генса были названы компании, ставшие лауреатами 2021 года. Награждение состоялось 6 октября. Победителями стали заказчики и исполнители шести инновационных ИТ-проектов в различных сферах, а также разработчи...

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

Зачем PVS-Studio использует анализ потока данных: по мотивам интересной ошибки в Open Asset Import Library Анализ потока данных является неотъемлемой частью любого современного статического анализатора кода. Однако, со стороны, не очень понятно, что это и главное – зачем нужно. До сих пор некоторые ассоциируют статический анализ с поиском чего-то в коде по определённому шаблону....

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

Dart на сервере Недавно столкнулся с необходимостью написать REST API сервер на Dart. Оставим за рамками этой статьи почему и зачем это было надо, но первое с чем я столкнулся - выбор библиотек. Так уж сложилось, что я привык писать на NodeJS используя KoaJS в качестве веб сервера. Простая ...

[Перевод] Как мы потерпели неудачу, а затем преуспели в переходе на TypeScript К старту курса о Fullstack-разработке на Python, где также рассматривается TypeScript, мы перевили статью о миграции в Heap.io — компании, которая предоставляет платформу аналитики продуктов, — c языка CoffeeScript на TypeScript; TS в Heap.io начали использовать более 4 лет ...

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

Контроллер Xbox 8BitDo Pro 2 теперь доступен для предзаказа за 45 долларов На этой неделе 8BitDo начала принимать предварительные заказы на свой новый контроллер 8BitDo Pro 2 Xbox по цене 45 долларов. Ожидается, что поставки начнутся 8 декабря 2021 года, и самый продвинутый контроллер 8BitDo станет доступной альтернативой другим аналогичным професс...

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

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

[Перевод] Путаница зависимостей. Как я взломал Apple, Microsoft и десятки других компаний С тех пор как я начал учиться программировать, я восхищаюсь уровнем доверия, который мы вкладываем в простую команду, подобную этой:pip install package_nameВ некоторых языках программирования, таких как Python, это простой, более или менее официальный способ установки зависи...

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

Detekt — пишем свои правила Мы в «Ситимобил», используем статический анализатор кода Detekt. Это инструмент, который при запуске проходит по проекту и показывает допущенные в коде code smell. Сегодня мы расскажем, как написать свое правило и помочь команде соблюдать уникальные для проекта договоренност...

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

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

[Перевод] Единый математический язык для физики и инженерного искусства в 21 веке Конец 18-го и 19-й век были временем колоссального прогресса в математике. Величайшие умы тысячелетия вводили все новые математические системы и языки, такие как алгебры Клиффорда и Грассмана. Хотя эти алгебры вызвали значительный интерес, в то время они воспринимались как п...

Next js. Куда, откуда и причем здесь google? Прошло уже почти 2 недели с момента презентации next 11. К сожалению, эта новость обошла хабр стороной и пора бы это исправить. Сперва немного о презентации. Восьмого числа, узнав про ивент, не теряя ни минуты, я пошел на него регистрироваться. Это был сайт, на котором стран...

Какие языки программирования учить? Чем больше освоишь, тем круче будешь Довольно популярное мнение среди разработчиков, что уровень квалификации и зарплата зависят от количества языков программирования, которыми разработчик владеет.Я сам в свое время ходил и думал, что бы такого изучить, чтобы потом писать в...

Почему мы не обновляли приложение ВКонтакте для iPad пять лет, а теперь обновили Да, сегодня 1 апреля. Нет, это не шутка. Про iPad тоже не шутка.С этого дня (и навсегда) iOS-приложение ВКонтакте станет универсальным — все обновления будут доступны одновременно на iPhone и iPad.Я Матвей Правосудов, старший продуктовый дизайнер ВКонтакте. Расскажу про диза...

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

Как устроен The Update Framework (TUF). Обзор технологии безопасного обновления ПО The Update Framework (TUF) — программный фреймворк с открытым кодом для защиты репозиториев, из которых скачиваются обновления. Главная задача TUF — предоставить возможность обновлять софт безопасно, а также минимизировать ущерб в случае, если обновление скомпрометировано. Ф...

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

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

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

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

[Перевод] Инъекция секретов из Vault в поды используя сайдкары Kubernetes Мы рады объявить о новой интеграции Kubernetes, которая позволяет приложениям без встроенной в HashiCorp Vault нативной логики использовать статические и динамические секреты, получаемые из Vault. Она основана на новом инструменте под названием vault-k8s, который использует ...

Я десять лет страдал от ужасных архитектур в C# приложениях — и вот нашел, как их исправить Я второй десяток лет участвую в разработке приложений для бизнеса на .NET и каждый раз вижу одни и те же проблемы — быдлокод и беспорядок. Месиво из сервисов, UoW, DTO-шек, классов-хелперов. В иных местах и прямой доступ в базу данных руками, логика в статических классах, к...

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

Telegram бот на Firebase В основном, про Firebase рассказывают в контексте создания приложений под IOS или Android. Однако, данный инструмент можно использовать и в других областях разработки, например при создании Telegram ботов. В этой статье хочу рассказать и показать насколько Firebase простой и...

[Перевод] Марсианский рубеж Какая ежедневно используемая ИТ-система удалена от нас дальше всех? Марсоход Perseverance. Пожалуй, дальше пока что некуда. Под катом поговорим о технической начинке миссии, особенностях связи с Землей и других насущных проблемах и задачах, которые стоят перед марсоходом Per...

MeetUp: бэкенд-разработка: PHP vs GO. Выбираем лучшее решение Отличная новость для бэкенд-разработчиков и тех, кто только планирует свой путь в IT! Мы решили сделать интересный митап и сравнить в прямом эфире 2 языка backend-разработки: PHP, являющийся одним из лидеров среди языков для создания динамических веб-сайтов и GO...

Используем трейты для полиморфных связей в Laravel Введение Поговорим о возможном применении трейтов вместе с полиморфными отношениями в Laravel. Содержание статьи: Описание предметной области Создание приложения Возможные структуры БД Создание сущностей Использование трейта Написание тестов Продолжение под катом

[Перевод] Быстрое обнаружение Covid-19 на рентгеновских снимках с помощью Raspberry Pi Системы обнаружения Covid-19 на рентгеновских снимках выдают быстрые результаты, в частности информацию о том, насколько серьёзно лёгкие поражены вирусом Covid-19. Традиционные системы обнаружения Covid-19 обладают тем недостатком, что для формирования отчётов им требуется д...

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

Улучшая интерфейс: как связаны дизайн и успех продукта Знаменитый древнеримский инженер и архитектор Витрувий говорил, что архитектура обязательно должна обладать тремя качествами: firmitas (прочность), utilitas (функциональность), venustas (красота). Это верно и для архитектуры пользовательско...

Создание и проверка подписей образов контейнеров: Интеграция Notary V1 и Connaisseur в Kubernetes В статье представлен пример использования системы создания и проверки подписей образов Docker Content Trust и интеграции в Kubernetes с использованием сервера Notary и специализированного Admission Controller - Connaisseur.Представлен теоретический обзор на используемые инст...

Wasm в Armory Engine Для тех кто в танке - wasm или WebAssembly это язык программирования низкого уровня для виртуальной стековой машины раз разработанный как портативная цель компиляции для высокоуровневых языков, таких как Си, C++, C#, Rust, Go. Проще говоря вы можете ...

Зачем нам потребовалось написать свою реализацию MRCP-сервера. Часть 1 Привет, Хабр! Сегодня мы хотели бы поделиться кейсом создания собственного MRCP-сервера. Это протокол передачи данных, используемый серверами для предоставления различных услуг (таких как распознавание речи и синтез речи) для своих клиентов. MRCP опирается на другие протокол...

Использование инвентори-плагинов из Ansible Content Collections в Ansible Tower ИТ-среды становятся все сложнее и сложнее. В этих условиях для системы ИТ-автоматизации критически важно иметь актуальную информацию обо узлах, которые присутствуют в сети и подлежат обработке. В Red Hat Ansible Automation Platform этот вопрос решается через так называемые и...

Универсальный резчик Простое создание универсального резчика (плиткорез, резчик листового материала) из подручных материалов, с использованием 3d печати. Предисловие: для домашних работ понадобился резчик виниловых панелей (для пола, длиной ~120 см.) и напольного кафеля. Так как этих инстру...

Как ФБК* сами слили все данные оппозиции в открытый доступ Привет! Здесь я хочу указать на возможную причину, почему были слиты данные зарегистрировавшихся в УГ и предупредить, что ФБК* на несколько недель в июне была открыта, как эта калитка в меме. Читать далее

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

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

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

Ростелеком и защита перс. данных Живу в подмосковье, являюсь абонентом проводного интернета от Ростелеком. Понадобился мне статический IP. В личном кабинете на сайте "lk.rt.ru" такой услуги не нашел. Гугл выдает ссылку на подключение данной услуги на сайте "my.rt.ru". Я не придал этому значения, перешел по ...

Модули и расширения для Godot 3, ссылки и краткий обзор существующих Список из расширений и модулей для Godot 3. Расширения и модули которые я видел и посчитал полезными. Читать далее

О специальных макро в ассемблере Много лет назад американским специалистом Гарри Килдэллом (Gary Kildall) в рамках создания системы программирования для персональных компьютеров был разработан транслятор с языка ассемблера для процессора Intel 8086, который он назвал RASM-86 (Relocating ASseMbler). Этот во ...

Парсинг Markdown и LaTeX в Grazie Chrome Plugin Возможно, вы уже пользуетесь Grazie — плагином для среды разработки Intellij IDEA, который проверяет естественные языки на грамматические, пунктуационные и прочие виды ошибок. Сейчас команда проекта работает над плагином для Chrome, который будет делать то же самое, но уже в...

Angular Universal: проблемы реального приложения Angular Universal — это опенсорсный проект, который расширяет функциональность @angular/platform-server. Он делает возможным Server Side Rendering в Angular. В этой статье мы обсудим проблемы и возможные решения, с которыми мы столкнулись при разработке реального приложения ...

Не можете запомнить порядок слов в английском предложении? Вжарьте по нему «опсашком» В русском языке порядок слов в предложении практически не важен. «Я тебя люблю», «Я люблю тебя», «Тебя я люблю», «Люблю я тебя». Нюансы есть, но при этом каждый из этих вариантов грамматически правильный. В английском все не совсем так. Есть фраза «I love you», а «...

[Перевод] «Чертовски глупое решение»: история появления языка C Как ни сложно в это поверить, C не родился в виде истрёпанного руководства в бумажной обложке. В том или ином виде, язык C повлиял на формирование практически каждого языка программирования, разработанного с 1980-х. Некоторые языки наподобие C++, C# и Objective C должны бы...

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

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

Современный Frontend: проблемы и пути решения. Пишем React-like приложение со строгой типизацией без сборщиков Всем привет! Меня зовут Петр Солопов, я руководитель отдела фронтенд-разработки в SuperJob. Думаю, многие из вас видели популярную серию картинок в интернете про фронтенд и бэкенд: на бекенде всегда какой-то монстр, а на фронте — все мило, летают бабочки. На мой взгляд, это ...

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

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

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

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

Создал свой Lego Jeep в 3d Всем привет! Первая статья с повторением рекламы Яндекс получила хороший отклик от читателей Хабра, поэтому я решил написать про свой более новый проект. В этот раз я решил собрать свою собственную модельку LEGO. Я знаю про программы для создания кубиков, например, BrickLink...

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

Построение компонентов с выпадающими блоками с помощью Angular и Material CDK Каждое приложение использует компоненты с выпадающими блоками. Такие панели используются в выпадающем списке, Autocomplete, Tooltip и т.д. В Material CDK есть инструмент Overlay для создания такого функционала.В этой статье мы рассмотрим какую проблему решает Overlay CDK, к...

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

Google выпустила новый язык программирования Logica Софтверный гигант Google порадовал своих поклонников выпуском нового языка программирования.Язык программирования с открытым исходным кодом получил название Logica. Новинка стала преемником языка Yedalog, ориентирована на транслирование программ в SQL и манипулирование данны...

Тим Бернерс-Ли создаст NFT из World Wide Web's Objective-C На следующей неделе сэр Тим Бернерс-Ли выставит на аукцион NFT оригинал исходного кода, который он использовал для создания Всемирной паутины.Центральным элементом цифрового коллекционирования будет 9 555 строк исходного кода с отметками времени, которые разделяют файлы, соз...

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

[Перевод] Java 15 глазами программиста Scala Время летит. Не успеваешь моргнуть глазом, а уже вышел очередной релиз Java. В соответствии с графиком (по релизу каждые полгода) комьюнити получило в свое распоряжение Java 15, судьба которой — стать фундаментом для Java 17 LTS (выйдет через год).В Java постоянно ...

[Перевод] Google удалил расширение ClearURLs для Chrome Google по каким-то причинам удалил популярное расширение ClearURLs из Интернет-магазина Chrome.Разработчик подал апелляцию в Google против блокировки расширения и получил ответ: в копии электронного письма, предоставленного разработчиком, Google утверждает, что описание расш...

Как я устал от JavaScript и создал свой собственный язык программирования За свою карьеру я успел поработать со множеством языков программирования. Писал flash-игры на ActionScript 3 и Android-игры на Java, сервера на Java, Scala и NodeJS (JavaScript), скрипты на Python, веб и мобильные приложения на React (JavaScript). И на каком бы языке я не пи...

Универсальная зарядка на 60 Вт от Xiaomi Компания Xiaomi представила быструю зарядку под брендом Baseus. Это универсальное зарядное устройство, которое может заряжать и смартфоны, и ноутбуки, причем сразу три устройства одновременно. Baseus есть два разъёма USB-A и один разъём USB-C. Разъем USB-C имеет выходную м...

[Перевод] Полное руководство по инкрементной регенерации статических сайтов с помощью Next.js Год назад во фреймворке Next.js 9.3 появилась поддержка генерирования статических сайтов (Static Site Generation, SSG), что сделало его первым гибридным фреймворком. Я к тому моменту уже несколько лет с удовольствием пользовался Next.js. Но тот релиз сделал Next.js моим новы...

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

Samsung Galaxy Buds Pro adidas Originals Special Pack запущен в Южной Корее Южнокорейский технологический гигант Samsung анонсировал ограниченную серию наушников Galaxy Buds Pro adidas Originals Special Pack. Выпущенный специальный набор adidas Originals для Galaxy Buds Pro предназначен исключительно для Южной Кореи. Стоимость этого ограниченного в...

МИР.РУС: каждому гражданину России — бесплатный домен на русском языке 24 мая 2021 года стартовал благотворительный проект МИР.РУС, в рамках которого каждый гражданин РФ сможет бесплатно получить адрес в интернете (доменное имя) на русском языке.  С 24 мая на сайте МИР.РУС для бесплатной регистрации доступны кириллические домены в зонах:&#...

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

Как анализатор PVS-Studio стал находить ещё больше ошибок в проектах на Unity Разрабатывая статический анализатор PVS-Studio, мы стараемся развивать его в различных направлениях. Так, наша команда работает над плагинами для IDE (Visual Studio, Rider), улучшением интеграции с CI и т. д. Увеличение эффективности анализа проектов под Unity также являетс...

[Из песочницы] Разбираемся с управлением памятью в современных языках программирования Привет, Хабр! Представляю вашему вниманию перевод статьи «Demystifying memory management in modern programming languages» за авторством Deepu K Sasidharan. В данной серии статей мне бы хотелось развеять завесу мистики над управлением памятью в программном обеспечении (далее...

Будущее аннотаций типов в Python Аннотации в Python прошли этап от необязательной, экспериментальной возможности добавления метаданных до широко используемого инструмента. Хотя изначально большинство разработчиков использовало их лишь для статического анализа кода (mypy, Pylance), некоторые энтузиасты ...

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

Как мы делали универсальный сервис подписания для инфраструктуры Госуслуг на C и GO. Часть 2 Это вторая часть статьи, посвященной универсальному сервису подписания для инфраструктуры Госуслуг. Первая часть статьи была посвящена GO-части нового сервиса, в которую входит конфигурирование, тестирование, ресты, файловый менеджер и планировщик. Всему тому, что происходит...

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

[Перевод] Retrofit: удобные разработка и тестирование API Если разработчик веб-сервиса хочет дать максимум удобств и пользы клиентам, ему нужно создать общедоступный API для программной работы с этим сервисом. В экосистеме Java есть один подход к разработке API, весьма удобный для программистов. Он заключается в размещении DTO и ин...

Разработаны унифицированные радиолинии для перспективных аппаратов Высокоскоростная радиолиния позволяет передавать данные от целевой аппаратуры космических аппаратов на скорости до 2 400 Мбит/с - это примерно в два раза выше, чем в современных спутниках. Низкоскоростная линия связи обладает увеличенной в пять раз, до 30 Мбит/сек, скоростью...

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

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

NER для русского языка в Spacy 3: удобно и легко Славянские языки, в том числе и русский, считаются довольно сложными для обработки. В основном, из-за богатой системы окончаний, свободного порядка слов и других морфологических и синтаксических явлений. Распознавание именованных сущностей (далее, NER) представляется трудной...

Переход с Azure на GCP, с ASP.NET MVC на ASP.NET Core 3.1 Автор: Андрей Жуков, .NET Team Leader, DataArtВ статье я описал собственный успешный опыт миграции реального проекта с одной облачной платформы на другую. Конечно, это не единственный возможный путь. Но думаю, здесь можно найти подсказки, которые облегчат жизнь всем, кому та...

Акустическая система SVEN SPS-614 с двойным подключением Компания SVEN выпустила акустическую систему SVEN SPS-614. Акустика имеет строгий дизайн с черной отделкой. SVEN SPS-614 обеспечивает по-настоящему качественный звук. Колонки оснащены двумя динамиками - низкочастотным и высокочастотным. Частотная характеристика состав...

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

Rust — сохраняем безразмерные типы в статической памяти Не так давно в качестве хобби решил погрузиться в изучение embedded разработки на Rust и через какое-то время мне захотелось сделать себе логгер, который бы просто писал логи через UART, но который бы при этом не знал какая конкретно реализация используется. И вот тут я быст...

Автоматизация, безопасность, онлайн-знакомства: для чего еще используют голосовые технологии в 2021 году Голосовые интерфейсы и форматы общения сейчас переживают новый виток популярности благодаря активно развивающимся технологиям распознавания речи и обработки естественного языка (NLP). Ведущие технологические компании одна за другой выпускают голосовых ассистентов, системы бе...

[Перевод] KELM — внедряя графы знаний в корпус для предварительного обучения языковой модели Большие предобученные модели для обработки естественного языка (Natural Language Processing, NLP), такие как BERT, RoBERTa, GPT-3, T5 и REALM, использующие корпусы полученных из Интернета текстов на естественном языке и тонко настроенные под конкретную задачу, добились значи...

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

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

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

Forrester признал Micro Focus лидером в области статического тестирования безопасности приложений Высокую оценку получили продукты Fortify для всесторонней оценки безопасности создаваемых разработчиками приложений, доступные как в локальной версии, так и в варианте SaaS. Компания Micro Focus объявила о том, что в отчете The Forrester Wave: Static Application Security ...

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

Электронный Органайзер Exiland Assistant стал еще более гибким и удобным Разработчик универсальной программы–органайзера Exiland Assistant для Windows, компания Exiland Software, анонсировала выпуск новой версии 5.2, которая принесла ряд улучшений и новых возможностей как для домашних пользователей, так и для бизнеса. Простой, но мощный органайзе...

Создание шутера с LeoECS. Часть 2 Друзья, это продолжение серии статей по созданию шутера с использованием фреймворка LeoECS. В этой части мы реализуем несколько новых игровых механик и рассмотрим механизм взаимодействия ECS "мира" с MonoBehaviour-ами. Перед прочтением этой части не забудьте ознакомиться с п...

Hello Word смарт-контракт для TON (FreeTON) Одна из интересных тем, о которой мне хотелось бы сегодня рассказать - это программирование смарт-контрактов. За язык на котором мы будем программировать свой смарт возьмем Solidity, а в качестве платформы будем использовать FreeTON Читать далее

Создаем свою инспекцию для IDEA В статье показано, как быстро можно сделать свою полноценную инспекцию для IDEA для языка Java. В инспекции будем проверять, что переопределены методы equals, hashСode для классов, используемых в качестве ключа в HashMap. Писать будем на Kotlin. Читать далее

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

[Перевод] Исследование производительности хостингов статических сайтов Статические веб-сайты — это, уже довольно давно, горячая тема. Они быстры, они чрезвычайно безопасны, так как в них нет CMS, которые можно взломать. Правда, после того, как некто создал статический сайт, перед ним встаёт один очень важный вопрос: «А где этот сайт хостить?». ...

PHP – компилируемый язык?! PVS-Studio ищет ошибки в PeachPie PHP широко известен как интерпретируемый язык программирования, использующийся в основном для разработки сайтов. Однако немногие знают, что для PHP есть ещё и компилятор под .NET — PeachPie. Но вот насколько он качественно сделан? Сможет ли статический анализатор найти в эт...

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

[Перевод] Как использовать Prometheus для обнаружения аномалий в GitLab Одной из базовых функций языка запросов Prometheus является агрегация временных рядов в режиме реального времени. Также язык запросов Prometheus можно использовать для обнаружения аномалий в данных временных рядов.  Команда Mail.ru Cloud Solutions перевела статью инженера ...

Заменяем события C# на Reactive Extensions с помощью кодогенерации Недавно прошла приуроченная к выходу .NET 5 конференция .NETConf 2020. На которой один из докладчиков рассказывал про C# Source Generators. Поискав на youtube нашел еще неплохое видео по этой теме. Советую их посмотреть. В них показывается как во время написания кода разрабо...

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

[Перевод] Жизнь до Unicode Unicode определенно усложнил обработку строк, а люди, которые используют языки исключительно с алфавитами ASCII, могут подумать, что это неоправданно. Однако я не говорю на языке ASCII и достаточно взрослый, чтобы помнить альтернативы, и альтернативы были намного хуже, чем с...

Supermicro презентовала новые высокоемкие системы хранилищ данных Клиенты могут использовать разнообразные варианты расширения гибких 60- и 90-отсековых систем, представленных в конфигурациях с одним или двумя узлами, SBB или JBOD Компания Super Micro Computer, Inc. (SMCI), мировой лидер в сфере корпоративных вычислительных, сете...

Переводчик для браузера: 5 лучших Chrome-расширений для быстрого перевода Очень часто интенет-пользователи сталкиваются с ситуациями, когда необходимо перевести неизвестное слово или отрывок текста. Предлагаем вашему вниманию пять полезных расширений Google Chrome, предназначенных именно для этих целей. ♥ ПО ТЕМЕ: Как переводить переписку в Viber ...

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

Биткоин или Биткойн? В русском языке встречаются два варианта написания слова Bitcoin — через «ои» (Биткоин) и через «ой» (Биткойн). Какое же из них верное? На самом деле это не такой уж простой вопрос. Дебаты между сторонниками обоих вариантов ведутся не один год и, на момент написани...

Наблюдения за «погодными условиями» в проекте с C++/CLI Каждая команда в своей работе сталкивается с необходимостью внедрения новой технологии или языка программирования в проект. Иногда это внедрение проходит успешно, а иногда нет. В этой статье хотелось бы рассказать о нашем опыте использования C++/CLI. Читать далее

Acer представила игровой монитор Nitro XV272S для России Дизайн мониторов Nitro XV272S оформлен в темных тонах и обладает строгим и стильным внешним видом. Подробнее об этом читайте на THG.ru.

Postgresso 24 Жизнь продолжается. А мы продолжаем знакомить вас с самыми интересными новостями PostgreSQL. На этот раз мы решили немного изменить формат Постгрессо: теперь никакого информационного равноправия. Об одних релизах и статьях будем рассказывать подробней, о других — в паре стр...

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

Вентилятор Thermaltake Toughfan 12 Turbo создает высокое статическое давление Компания Thermaltake сообщила о выпуске вентилятора Toughfan 12 Turbo, который хорошо подходит для установки на радиаторы, поскольку создает высокое статическое давление. Забегая вперед, скажем, что речь идет о значении 3,78 мм водяного столба. К особенностям вентилято...

Vivaldi 4.2 — Тонкости дословного перевода Что делать человеку, если он совершенно не знает английского языка? Это просто - нужно установить Vivaldi и использовать встроенный переводчик веб-страниц. А что делать тому, кто свободно читает по-английски? Правильно - установить Vivaldi и просматривать англоязычные сайты....

[Перевод] Опенсорсные инструменты и пакеты для работы с HTTP API Мы продолжаем серию статей о создании HTTP API с помощью .NET 5. В предыдущей статье мы рассмотрели создание обнаруживаемых HTTP API с помощью ASP.NET Core 5 Web API. В этой статье мы рассмотрим пакеты и инструменты для работы с HTTP API с открытым исходным кодом. Ну что ж, ...

Each и Every в английском: где который «каждый» Продолжаем нашу рубрику «Нюансы английского». Сегодня рассмотрим пару очень похожих по смыслу слов each и every. На русском у них идентичные значения, но области и особенности использования в оригинале отличаются. На начальных этапах изучения языка в этих нюансах не сил...

Cистема накопления энергии Huawei получает престижные сертификаты TUV Rheinland Продукция Huawei получает сертификаты TÜV Rheinland, подтверждающие ее соответствие самым строгим стандартам накопления энергии  ШАНХАЙ, 7 июня 2021 г. /PRNewswire/ — На выставке SNEC 2021 система накопления энергии (ESS) для бытового использования LUNA2000 компан...

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

[Перевод] Удобная и долгожданная: поддержка enum в PHP 8.1 В PHP 8.1 наконец-то добавили встроенную поддержку перечислений — enum. Под катом — перевод статьи блогера и PHP разработчика ​​Брента с обзором новых возможностей, дополнениям и комментариями разработчиков о том, что они думают о поддержке перечислений в PHP 8.1. Как реализ...

Как проверять выражения на английском like a pro Представьте, что вы читаете текст и наткнулись на новую интересную фразу. Всегда ли вы знаете, как её правильно произнести и использовать в речи? Или, например, вы пишете письмо и не можете решить правильно ли использовали выражение. Эти ситуации типичны для и...

Как я студентам язык D преподавал Два года назад я начал читать курс “Язык программирования Ди” в самом настоящем университете, провёл в общей сложности 40 лекций, примерно столько же практических занятий даже дважды принял экзамен, один раз удалённо. Как так случилось, кому вообще может быть нужен D, и как ...

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

[Перевод] Стоит ли переходить с Python на Nim ради производительности? Nim — это сочетание синтаксиса Python и производительности C Несколько недель назад я бродил по GitHub и наткнулся на любопытный репозиторий: проект был полностью написан на языке Nim. До этого я с ним не сталкивался, и в этот раз решил разобраться, что это за зверь. Сна...

Централизованное управление CBPolicyD в мультисерверной инфраструктуре Zimbra OSE CBPolicyD является универсальным инструментом для управления политиками в Postfix. Он входит в комплект поставки Zimbra OSE и ранее мы рассказывали о том, как настраивать CBPolicyD на своем почтовом сервере и создавать в нем различные политики, которые позв...

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

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

Язык Go обновился до версии 1.15 На днях представлен релиз языка программирования Go 1.15. Как известно, изначально это был проект компании Google, который вышел за пределы корпорации и стал развиваться при поддержке сторонних разработчиков. Код проекта распространяется под лицензией BSD. Достоинств у ...

[Из песочницы] C++/Qt: пора валить?. Если бы раньше я запускал новый долгоживущий проект, в котором основные функции связаны с большим объёмом вычислений при каком-то взаимодействии с пользователем через графический интерфейс, я бы не задумываясь использовал С++/Qt. Это позволяло использовать один фреймворк/яз...

ZFS: архитектура, особенности и отличия от других файловых систем Я, Георгий Меликов, являюсь контрибьютором проектов OpenZFS и ZFS on Linux. Также я занимаюсь разработкой IaaS в команде облачной платформы Mail.ru Cloud Solutions. Хотя в продакшене нашего подразделения мы и не используем ZFS, но хозяева подкаста SDCast пригласили меня расс...

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

Обидно за мнения про статические анализаторы кода Инструменты статического анализа кода ушли далеко вперёд. Это вовсе не те "линтеры", которые активно применялись 20 лет тому назад. Однако многие по-прежнему относятся к ним, как к очень простым инструментам. Обидно. Обидно, как за методологию анализа кода в целом,...

Депутаты доработали законопроект о единой системе проверки сведений об абонентах По информации “Коммерсанта”, совещание, на котором будут представлены поправки в закон "О связи" и ряд других законодательных актов с целью создания ЕИС ПСА, намечено в Госдуме на 31 января. Законопроект был принят весной прошлого года в первом чтении, ...

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

Структурированное сопоставление с шаблонами в Python 3.10 Версия Python 3.10, работа над которой началась 25 мая 2020 года, запланирована к выпуску  4 октября 2021 года и будет содержать ряд интересных нововведений. Одним из многообещающих нововведений будет структурированное сопоставление с шаблонами (structured pattern match...

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

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

Фоторамка на Flutter своими руками Привет! Меня зовут Игорь, я работаю Frontend-директором в компании Wrike. В этой статье хочу поделиться историей создания моего пет-проекта и рассказать, как я сделал электронную фоторамку и написал для нее софт на Flutter, столкнувшись по пути со всеми возможными сложностям...

[Перевод] Как использовать Python для проверки протокола Signal Galois работает над повышением удобства SAW, инструмента для верификации программ на C и Java, исходный код которого открыт. Основным способом взаимодействия пользователей с SAW является его спецификация и язык программирования сценариев. Чтобы сдела...

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

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

«Состояние повышенной вздрюченности» сотрудников: проблематика и последствия "Каждый день ругают и почти не хвалят, ищут только, чтобы найти что-то… . Еще я заметил, что начальники, зная о возможной ошибке, специально ждут пока она случится, чтобы потом, как они говорят, “на личном опыте показать, как неправильно я поступил". В "мордоре", мне кажется...

Представлена система хранения Synology SA3200D Компания Synology объявила о выпуске системы хранения данных SA3200D, относящейся к корпоративному сегменту. Новая модель семейства масштабируемых и высокопроизводительных систем хранения Synology SA оснащена двумя контроллерами и предназначена для ключевых сервисов пре...

[Перевод] Утерянная диссертация Денниса Ритчи Многие из вас, дорогие читатели, слышали о Деннисе Ритчи. В конце 1960-х он оставил аспирантские исследования в области прикладной математике в Гарварде ради должности в Bell Telephone Laboratories, где и проработал всю жизнь. Вскоре после поступления на работу в Labs Ритчи...

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

Дракон-Дом шкатулка - "Имболк". Всем, доброго дня от авторской мастерской Svetoten!Хочу рассказать Вам о своём большом проекте, создание которого стало возможным благодаря технологиям 3D скульптинга и печати!● "Имболк" - это удивительная шкатулка, в виде Дракона-Дома. В его облик, вложен образ древнего ма...

PVS Studio.VS.Статический анализ GCC 10. Независимый минитест После появления переводной статьи про Статический анализ в GCC 10, и ожидаемой реакции присутствующих здесь представителей разработчика коммерческого статического анализатора PVS-Studio, у меня возник вопрос: «Почему же представители отказываются проверить свой продукт на та...

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

[Перевод] Создатель Node.js анонсирует замену — Deno Из множества способов программирования компьютеров языки сценариев — самый простой и практичный вариант. Среди них язык сценариев веб-браузера (JavaScript) является самым быстрым, наиболее популярным и единственным, в котором применяется процесс промышленной стандартизации...

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

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

1С справа налево: как мы поддержали RTL в платформе 1С: Предприятие Платформа 1С:Предприятие локализована на 22 языка, включая английский, немецкий, французский, китайский, вьетнамский. Недавно, в версии 8.3.17, мы поддержали арабский язык. Одна из особенностей арабского языка в том, что текст на нём пишут и читают справа налево. UI для ара...

Microsoft объявила о создании консультационной сети M12 CISO Network Microsoft объявила о создании сети M12 CISO Network. Ее появление связано с признанием роли новых систем машинного обучения, которые качественно изменяют подходы к корпоративным системам безопасности. Подробнее об этом читайте на THG.ru.

[Перевод] У AssemblyScript новый конкурент: язык Grain, созданный для WebAssembly, громко заявил о себе Оскар Спенсер — один из создателей языка Grain Grain — язык программирования высокого уровня со строгой типизацией. Это гибридный язык, сочетающий в себе некоторые возможности функционального  (например, вывод типов, сопоставление с образцом, замыкания) и императивного про...

Разбираем английскую лексику из посадки марсохода Perseverance Две недели назад весь мир наблюдал за успешной посадкой робота Perseverance на поверхность Марса и разговоров о космосе сразу стало на порядки больше. Инфоповод всколыхнул обсуждения в соцсетях и блогах — все больше людей хотят говорить о покорении космоса, возможностях и оп...

Почему большинство юнит тестов — пустая трата времени? (перевод статьи) Перевод статьи "Why most unit testing is waste?"Автор: James O Coplien, Перевод: Епишев Александр  1.1 Наши дниВо времена FORTRAN, когда функция была функцией, иногда заслуживающей функциональных проверок, юнит-тестирование было одним из главных составляющих. Компьютеры...

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

Релиз InterSystems IRIS 2020.1 В конце марта вышла новая версия платформы данных InterSystems IRIS 2020.1. Даже пандемия коронавируса не предотвратила релиз. Из важного в новом релизе — повышение быстродействия ядра, генерация REST-приложения по спецификации OpenAPI 2.0, шардинг для объектов, новый вид П...

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

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

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

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

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

Обнаружены 28 опасных расширений для Google Chrome и Microsoft Edge Эксперты Avast обнаружили малварь, скрытую как минимум в 28 сторонних расширениях для Google Chrome и Microsoft Edge. Все эти расширения были связаны с популярными платформами: Video Downloader для Facebook, Vimeo Video Downloader, Instagram Story Downloader и VK Unblock.

Исследование COVID-19 и неинициализированная переменная Существует открытый проект COVID-19 CovidSim Model, написанный на языке C++. Существует статический анализатор кода PVS-Studio, который умеет хорошо находить ошибки. Однажды они встретились. Познайте хрупкость алгоритмов математического моделирования и почему нужно приклады...

Как злоумышленники использовали названия киноновинок в зловредах в 2019 году Всего по миру эксперты обнаружили более 20 фишинговых сайтов, которые заманивали пользователей возможностью бесплатно посмотреть громкие премьеры 2019 года, и ещё 925 вредоносных файлов, связанных с названиями этих фильмов.С помощью фишинговых сайтов, на которых предлагается...

Строгий корпус Thermaltake H330 TG оснащён сетчатой лицевой панелью Компания Thermaltake расширила ассортимент компьютерных корпусов, анонсировав модель H330 TG формата Middle Tower, на основе которой можно создать игровую систему со строгим обликом.

Skype на сотню человек уже реальность Компания Microsoft начала распространять важное обновление Skype для простых пользователей. Тремя неделями ранее обновление Skype 8.66 стало доступно участникам тестовой программы Skype Insider Preview.  Обновление расширяет количество возможных участников группов...

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

В переходной камере модуля МКС «Звезда» давление за две недели упало в три раза Вчера стало известно, что в переходной камере модуля МКС «Звезда» ощутимо упало давление. Оно постепенно просело до значения 154 мм ртутного столба.  Для сравнения, 29 июля оно составляло 160 мм, 28 июля — 167 мм, 20 июля — 2...

PyDERASN: как я добавил big-data поддержку Продолжаю прошлую статью о PyDERASN — свободном ASN.1 DER/CER/BER кодеке на Python. За прошедший год, с момента её написания, кроме всяких мелочей, небольших исправлений, ещё более строгой проверки данных (хотя и прежде он был уже самым строгим из известных мне свободных код...

Мелкая питонячая радость #12: вирусы и зловредное ПО на Python В мире  существует много явлений с сомнительной и спорной репутацией. Например, сюда можно отнести  хоккей на траве, датскую квашеную селедку и мужские трусы-стринги. А еще к этому  списку можно с абсолютной уверенностью добавить вирусы на Python.Трудно сказат...

[Перевод] 7 расширений для VS Code, установив которые, вы не захотите выходить из редактора …Даже простейшие инструменты могут давать людям возможность делать великие дела. Биз Стоун, «Решайся! Заряд на создание великого от основателя Twitter» Одно из различий между очень хорошими и хорошими программистами заключается в том, какие инструменты они используют. Подбо...

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

Плата ASRock X299 Taichi CLX теперь может принять до 1 Тбайт оперативной памяти RDIMM Компания ASRock выпустила новую версию BIOS для своей материнской платы X299 Taichi CLX, которая обеспечит ей возможность работы не только с привычной для настольных систем оперативной памятью UDIMM, но также и с серверной памятью типа RDIMM. Поддержка серверной памяти даст ...

Romancing SaGa Re;univerSe уже доступна для предварительной загрузки на iOS и Android На прошлой неделе Romancing SaGa Re;univerSe вышла в режиме пробного запуска в некоторых странах, а сегодня приложение стало доступно для предварительной загрузки во всем мире. Напомним, что эта бесплатная мобильная jRPG, которая прямо связана с серией, вышла в Японии еще в ...

Борьба с холодным стартом serverless-функций: «подогрев» среды и оптимизация запуска контейнеров Основная претензия при работе с serverless — время холодного старта, которым нельзя управлять «из коробки». Если функция стартует впервые за последние 5–25 минут, скорее всего запуск будет долгим — сотни миллисекунд. Причём статически типизированные языки имеют в разы больше...

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

[Перевод] Linux Page Cache для SRE: основные файловые операции и syscall'ы (часть 1) В этой серии постов я хотел бы поговорить о Linux Page Cache. Я считаю, что данные знания теори и инструментов жизненно необходимы и важны для каждого SRE. Общее понимание как работает Page Cache помогает и в рутинных повседневных задачах, и в экстренной ...

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

[Перевод] Полное руководство по созданию Docker-образа для обслуживания системы машинного обучения в продакшене Команда Mail.ru Cloud Solutions перевела полное пошаговое руководство для создания образа Docker (GPU или CPU) вместе с объяснением всех передовых методов, которые следует использовать для обслуживания любого программного обеспечения на основе машинного обучения. Далее текс...

Huawei пригласила разработчиков присоединиться к расширению экосистемы HMS В ходе международной презентации линейки HUAWEI P40 компания поделилась новейшими достижениями в области создания экосистемы Huawei Mobile Services (HMS). Huawei приглашает разработчиков присоединяться к ее деятельности по расширению упомянутой экосистемы с целью предоставле...

План Apple по сканированию iPhone в США вызывает тревогу. Тотальная слежка начинается Apple объявила о планах сканировать iPhone на предмет жестокого обращения с детьми , что сразу же вызвало обеспокоенность по поводу конфиденциальности пользователей.Apple заявляет, что ее система автоматизирована, не сканирует сами изображения, использует некоторую...

Войны лоббистов и развитие BIM. Часть 6: Причины спекуляций в строительной отрасли. Монополии корпораций над данными Причиной отсутствия роста производительности и распространения спекуляций в строительной отрасли является качество данных, которыми оперируют участники процессов строительства. В чем основная проблема данных в строительстве? В первую очередь, в отсутствии доверия и прозрачно...

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

Создание графики для nes/dendy Предыдущие мои статьи рассказывают о том как начать программировать под денди на ассемблере. Мы научились отрисовывать спрайты и background, так же мельком обсудили что такое таблица атрибутов и таблица имен, так же мы разобрались как прочитать контроллер. В тех статьях Я ис...

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

Стартовала предрегистрация на гача-RPG Disney Sorcerer’s Arena со знакомыми персонажами Год назад стало известно о мобильной игре Disney Sorcerer's Arena, которую вместе с Disney создает компания Glu. Недавно разработчики запустили предварительную регистрацию на официальном сайте, что может указывать на приближающийся релиз. Главной особенностью игры станет во...

Почему язык Go стал стандартом для DevOps-инженеров Иногда вещи находят себе применение неожиданно и не в том, для чего их задумывали. В 1960-е годы Кен Томпсон — легенда программирования — написал компьютерную игру Space Travel для операционной системы Multics. Система была проектом компании Bell Lab, где он работал вме...

Biostar рассказала, какие матплаты совместимы с Windows 11 Компания Biostar опубликовала перечень системных плат, которые обладают полноценной поддержкой операционной системы Windows 11. Системные требования новой ОС, в особенности к используемому процессору и наличию модуля TPM 2.0, уже наделали в Сети немало...

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

О системных расширениях Parallels Desktop в macOS Если вы являетесь пользователем Parallels Desktop (или используете другое приложение, требующее сторонних системных расширений), то вы наверняка видели сообщения от macOS и Parallels Desktop с надписью «Системное расширение заблокировано». Так что же это такое — системно...

Объектно ориентированное программирование на Си без плюсов. Часть 1. Введение Приветствую! Каждый раз, когда начинаешь решать какую-либо большую задачу, то на пути появляется множество маленьких. И найденные или не найденные решения маленьких подзадач превращаются в то, что мы в дальнейшем называем опытом. Но к сожалению, если не пользуешься чем-...

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

Обзор портативной аудиосистемы JBL PartyBox On-The-Go: возьми караоке с собой Переносная акустическая система JBL PartyBox On-The-Go – универсальное устройство для организации зажигательных музыкальных вечеринок. Она не только обладает яркой подсветкой и звуковым арсеналом мощностью 100 Вт, но и позволяет подключать беспроводные микрофоны для караоке....

Эмоциональная история процессоров: IBM/370 В первой части были описаны многие разные процессоры до середины 90-х. Для мейнфреймов IBM там места не нашлось, так как эти системы долгое время не использовали процессоры-чипы. Однако, мейнфреймы IBM тесно связаны с другими компьютерными системами, долгое время являясь луч...

Как Google Play разрушил все ожидания. Опыт создания игры на Android. 2 месяца разработки. Отказ. Временный бан Admob Привет, сегодня я расскажу вам о разработке своей первой игры на Android, публикации ее в Google Play, закупке рекламы в Google Ads и доходе. Я советую эту статью к прочтению каждому кто впервые будет создавать игру, ведь тут вы найдете полезную информацию и некоторые нюансы...

LG раскрыла особенности нового дизайнерского языка для своего следующего смартфона Флагманские телефоны LG за последние пару лет выглядели очень похожими друг на друга. Отличия в дизайне устройств G7, V40, G8, V50, G8X и V60 были незначительными. Но в дальнейшем ситуация изменится. Компания готовится к выходу нового смартфона, который будет использовать со...

[Перевод] Метаклассы в Python Метаклассы – это такие классы, экземпляры которых сами являются классами. Подобно тому, как «обычный» класс определяет поведение экземпляров класса, метакласс определяет и поведение классов, и поведение их экземпляров.Метаклассы поддерживаются не всеми объектно-ориентированн...

[Перевод] Рейтинг языков программирования 2021: доля Python падает, а TypeScript обошел С++, в лидерах JavaScript, Java, C# Украинский профильный ресурс DOU.UA провел очередной ежегодный опрос о языках программирования, в рамках которого было собрано 7211 анкет (92% респондентов находятся в Украине). Из интересного - впервые с 2014 года у Python отрицательная динамика, наблюдается тенденция перех...

Facebook судится с разработчиками расширений для Chrome из-за сбора данных Рекомендуем почитать: Xakep #259. Атака на Apple Содержание выпуска Подписка на «Хакер» В конце прошлой недели компания Facebook подала иск против португальской компании Oink and Stuff, которая специализируется на создании приложений для Android и расширений для браузеров Ch...

Почему язык Java так популярен в коммерческой разработке ПО? С момента своего создания Java является одним из наиболее распространенных языков программирования. Каким образом технологии удается сохранять лидирующие позиции уже на протяжении 26 лет? И почему язык Java считается одним из самых популярных в коммерческой разработке...

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

Numl – Альтернативный язык разметки и стилизации для веб Всем привет! Меня зовут Андрей, я профессионально разрабатываю веб-интерфейсы уже больше 11 лет и последний год развиваю проект Numl, который можно назвать языком разметки и стилизации для веб. В этой статье я расскажу, как в попытке перебороть ряд особенностей CSS и упрости...

Как Kafka стала былью Привет, Хабр! Я работаю в команде Tinkoff, которая занимается разработкой собственного центра нотификаций. По большей части я разрабатываю на Java с использованием Spring boot и решаю разные технические проблемы, возникающие в проекте. Большинство наших микросервисов асинхр...

[Перевод] Пустобрёх GPT-3: генератор языка от OpenAI понятия не имеет, о чём говорит Тесты показывают, что популярный ИИ пока ещё плохо разбирается в реальности С тех пор, как OpenAI в мае впервые описал свою новую систему искусственного интеллекта (ИИ) GPT-3, генерирующую текст, сотни новостных изданий, включая и MIT Technology Review, написали множество ...

Just for fun: команда PVS-Studio придумала мониторить качество некоторых открытых проектов Статический анализ кода — это важная составляющая всех современных проектов. Еще более значимым является его правильное применение. Мы решили организовать регулярную проверку некоторых открытых проектов, чтобы увидеть эффект от частого прогона анализатора. Мы используем анал...

Bitcoin Latinum сотрудничает со всемирно известной группой The h.wood для расширения цепочки блоков Страховойбиткойн-форк нового поколенияPalo Alto, CA — Bitcoin Latinum обладает высокой пропускной способностью, сетевой безопасностью, крупнейшим объемом транзакций, управлением цифровыми активами. Недавно было опубликовано сообщение о вхождении биткойн-форка в партнер...

Мультиплеерный шутер на автомобилях Steel Rage доступен в России в Google Play Steel Rage — это PvP-шутер на автомобилях, который все еще распространяется в режиме пробного запуска, но в начале этого месяца стал доступен для игроков из России. Разработчики активно развивают проект и общаются с сообществом. Стать его частью вы можете на официальной стра...

Йо-хо-хо, и бутылка рому! Разбираем ошибки игрового движка Storm Engine PVS-Studio – это инструмент статического анализа, позволяющий находить ошибки в исходном коде программ. В качестве знакомства с возможностями анализатора вашему вниманию предлагается результат проверки PVS-Studio исходного кода игрового движка Storm Engine. Читать далее

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

Книга «Golang для профи: работа с сетью, многопоточность, структуры данных и машинное обучение с Go» Привет, Хаброжители! Вам уже знакомы основы языка Go? В таком случае эта книга для вас. Михалис Цукалос продемонстрирует возможности языка, даст понятные и простые объяснения, приведет примеры и предложит эффективные паттерны программирования. Изучая нюансы Go, вы освоите...

Личный кабинет поставщика или на чем держится наша «бесконечная полка» М.Видео-Эльдорадо продолжает развивать собственный маркетплейс бытовой техники и электроники, на котором уже представлено более 100 партнёров. Сегодня на онлайн-площадках и в магазинах 160 000+ товаров, что втрое больше, чем годом ранее. Быстрое расширение ассортимента, ИТ...

Бесплатное решение для создания программного гибрида SSD и HDD на домашнем ПК Windows Tiered Storage Spaces Привет, Хабр! Уже много лет я читаю замечательные посты, и, кажется, наконец нашел чем сам могу поделиться с сообществом. Сегодня я хотел бы рассказать про создание программного гибридного локального диска SSD и HDD на настольной версии Windows и его тестирование. Впер...

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

Как WCF сам себе в ногу стреляет посредством TraceSource Не так часто удается написать что-то интересное про проблемы, связанные с параллельным программированием. В этот же раз "повезло". Из-за особенностей реализации стандартного метода TraceEvent произошла ошибка с блокировкой нескольких потоков. Хочется предупредить о существую...

Новый язык программирования — Relax Всем привет, я являюсь автором языка программирования Relax. На данный момент я разрабатываю RVM(RelaxVirtualMachine) И Relasm(Relax Assembly). Первые попытки сделать свой язык начались в конце лета 2020, тогда я и не думал что делать язык - это так сложно. Сам же проект Rel...

Видеокарта Asus TUF Gaming GeForce RTX 3080 OC Edition (10 ГБ): довольно тихая и очень эффективная система охлаждения, 5 видеовыходов, включая два HDMI 2.1 Asus TUF Gaming GeForce RTX 3080 OC Edition (10 ГБ) — интересный представитель одного из мощнейших на сегодня 3D-ускорителей, имеющий строгий дизайн (подойдет для ненавистников вычурного дизайна с обилием подсветки), а также очень эффективный кулер, который и охлаждает очень...

Bison, dynamic linking и… обработка BMP изображений В этом посте я постараюсь раскрыть тему написания несложного модульного приложения на языке C89 для обработки 24-битных BMP изображений, использующего в своей работе простой скриптовый язык.Если вы заинтересованы в разработке языков или вам необходимо быстро разобраться как ...

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

Portmanteau или слово-чемодан: как шутка в английском языке превратилась в новый способ создавать необычные слова Каждый год в словарь английского языка добавляется примерно 1000 новых слов. А это значит, что каждый день создается примерно 3 новых. И как минимум одно из этих трех — это «портмонто». Что это за смесь бульдога с носорогом? Всего лишь слово, которое было создано из комбина...

Vue.js и слоистая архитектура: вынесение бизнес-логики в сервисы Когда нужно сделать код в проекте гибким и удобным, на помощь приходит разделение архитектуры на несколько слоев. Рассмотрим подробнее этот подход и альтернативы, а также поделимся рекомендациями, которые могут быть полезны как начинающим, так и опытным разработчикам Vue.js,...

Хакеры создают вредоносные "коронавирусные" приложения для Android Еще до этого специалисты Check Point говорили о том, что злоумышленники будут активно использовать страх людей перед распространением вируса: вредоносные приложения были обнаружены на сайтах с доменами, связанными с коронавирусом. В Google Play Store исследователи пока не об...

[Из песочницы] Массивы bash Предлагаю вашему вниманию перевод статьи Митча Фрейзера (Mitch Frazier) "Bash Arrays" с сайта linuxjournal.com. Если вы используете «стандартную» оболочку *NIX-системы, возможно, вы не знакомы с такой полезной особенностью bash как массивы. Хотя массивы в bash не ...

[Перевод] Веб-скрейпинг на PHP Термин web scraping означает извлечение информации из веб-страниц в интернете. Его ещё называют web crawling или web data extraction. PHP широко используется в качестве серверного скриптового языка для создания динамических сайтов и веб-приложений. И на нём можно написать...

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

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

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

Эффект реалистичного перелистывания страниц на JS Представляю вашему вниманию — один из возможных вариантов реализации довольно забавного приема, для создания эффекта реалистичного перелистывания страниц. Демо и документация: nodlik.github.io/StPageFlip Github: github.com/Nodlik/StPageFlip Подобный эффект я реализовывал...

Создание резервной копии MySQL при помощи утилиты XtraBackup Percona XtraBackup — это утилита для горячего резервного копирования баз данных MySQL. Во время создания резервной копии данных не происходит блокирования таблиц, ваша система продолжает работать без каких бы то ни было ограничений. Главное преимущество XtraBa...

Видео: новый прототип SpaceX Starship успешно справился с тестом под давлением Новый полноразмерный прототип ракеты Starship SN3, готовящейся для межпланетных перелётов, с успехом прошёл испытания системы под давлением, что открывает возможности для проведения дальнейших, более сложных тестов. Как сообщил основатель и генеральный директор компании Spac...

[Перевод] Заклятые друзья навсегда: Google, Facebook, Amazon, Apple и Microsoft Когда деревья были большими, компания Amazon.com Inc. продавала только книги, Apple Inc. продавал компьютеры, а Google был просто поисковиком. Те времена давно прошли, и каждая из этих компаний, а ещё Microsoft и Facebook в придачу, стала технологическим гигантом.Критики Big...

Эксперимент: как научиться создавать популярные тексты на английском (и почему англоязычный Хабр так мало читают) Я много лет занимаюсь маркетингом, написанием текстов, при этом увлекаюсь английским и использую его в работе. В русскоязычном интернете в целом не так и много статей о контент-маркетинге и продвижении бизнеса в США. А те что есть часто просто рассказывают как надо делать ...

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

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

В сети появился концепт интерфейса Apple Car В последние несколько недель в сети активно обсуждается электроавтомобиль Apple. Большое количество слухов подтолкнуло дизайнеров к созданию концептов, связанных с яблочным транспортным средством. Например, буквально на днях дизайнер интерфейсов Джон Калкинс (John Calkins) н...

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

Новый Microsoft Edge появится через Центр обновления Windows в Windows 10 На конференции Microsoft Ignite 2019 компания объявила дату выпуска своего нового веб-браузера Edge. Microsoft Edge на базе Chromium будет доступен 15 января, и похоже, что миграция будет происходить в фоновом режиме через стандартное обновление программного обеспечения.В об...

Нативная и кроссплатформенная разработка мобильных приложений - в чем разница Технологии IT/Игры 23.07.2021, 13:37 Нативная и кроссплатформенная разработка мобильных приложений — в чем разница При создании мобильного приложения возникает вопрос — что выбрать: нативную или кроссплатформенную разработку? Сегодня м...

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

std::atomic. Модель памяти C++ в примерах Для написания эффективных и корректных многопоточных приложений очень важно знать какие существуют механизмы синхронизации памяти между потоками исполнения, какие гарантии предоставляют элементы многопоточного программирования, такие как мьютекс, join потока и другие. Особен...

Некоторые особенности HR-политики в ИТ-ориентированной рознице Привет! Меня зовут Катя, я занимаюсь автоматизацией HR-процессов «Леруа Мерлен» в России. Сразу скажу: сама я не пишу код, но участвую в каждом проекте. Хочу рассказать про некоторые особенности того, как это у нас устроено. Самый частый вопрос ко мне от новых разработчиков...

Да не сгорит оно огнём. Обновление противопожарных требований в 2021 году Привет, Хабр. Меня зовут Алексей, и уже 10 лет я занимаюсь проектированием и внедрением противопожарных систем. В 2021 году в нашей сфере грядут существенные изменения, связанные с внедрением новых стандартов — СП 484.1311500.2020, СП 485.1311500.2020, СП 486.1311500.2020. Э...

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

G-code, потерявшийся брат Assembler-а Про язык управления промышленными CNC-станками и всевозможными любительскими устройствами вроде 3D-принтеров написано очень много статей, но почитать о том, какова идеология этого языка и как она связана с аппаратной реализацией — почти негде. Поскольку моя работа связана не...

[Перевод] Python. Язык, на котором просто мыслить Привет, Хабр! У нас возможен предзаказ долгожданного второго издания книги "Простой Python". Перевод первого издания вышел в 2016 году и по сей день остается в числе бестселлеров. Поскольку мы убеждены, что Python — лучший язык программирования для начинающих, ...

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

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

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

Aerocool Flo: строгий ПК-корпус с нестандартным размещением материнской платы Компания Aerocool анонсировала довольно любопытный компьютерный корпус под названием Flo, предназначенный для создания игровой настольной системы. Главная особенность новинки заключается в том, что материнская плата монтируется с поворотом на 90 градусов. Из-за этого слоты р...

Как мы делали универсальный сервис подписания для инфраструктуры Госуслуг на C и GO. Часть 1 Это первая часть статьи, в которой будет рассмотрена GO-часть нового сервиса подписания для всем известного (а если не всем, то многим) портала Госуслуг. Сюда входит конфигурирование, тестирование, ресты, файловый менеджер и планировщик. В общем все то, что происходит до тог...

Универсальные интеллектуальные средства сетевого взаимодействия представила Huawei Комиссия ООН по широкополосной связи и компания Huawei провели в Пекине 6-й форум разработчиков средств широкополосной связи Ultra-Broad band Forum (UBBF 2020) в режиме онлайн. На форуме этого года, посвященном теме «Intelligent Connectivity, New ValueTogether» («И...

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

Расширение для Firefox использовали для взлома Gmail Аналитики Proofpoint обнаружили кампанию, связанную с китайской группировкой TA413. Хакеры атаковали тибетские организации по всему миру, используя вредоносное расширение для Firefox, которое похищало данные Gmail и Firefox, а затем загружало малварь на зараженные машины.

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

Логистике нужна единая цифровая платформа при поддержке регулятора Об этом заявил генеральный директор ГК «Деловые Линии» Фарид Мадани на экспертной сессии «Стратегия формирования Национальной цифровой транспортно-логистической экосистемы». Организатором выступил Аналитический центр при московском Правительстве. Топ-менеджер перевозчика отм...

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

Как сделать самодельный электрический багги с мощным мотором. Часть 3. Тормоза, охлаждение, сидения, селектор, улица Всем привет.Кто пропустил тему про саму идею, создание рамы и установку мотора, высоковольтной батареи и подвески https://habr.com/ru/post/551750/ часть 1Установка колес, подключение электрики и модуля заряда PDM Nissan Leaf https://habr.com/ru/post/552888/ ча...

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

CWE Top 25 2021. Что такое, с чем едят и чем полезен при статическом анализе? Впервые поддержка классификации CWE появилась в PVS-Studio с релизом 6.21, который состоялся 15 января 2018 года. С тех пор прошло уже очень много времени, и хотелось бы рассказать об улучшениях, связанных с поддержкой этой классификации в последних версиях анализатора. ...

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

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

Практика создания единого шаблона проектов на базе Azure DevOps (TFS) В одной из прошлых статей мы писали, как всей компанией перешли на единый трекер на базе Azure DevOps (TFS). Это позволило нам создать единый свод правил для ведения проектов. Рассказываем, как наш проектный офис разработал логику, по которой сейчас работают все наши команды...

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

Делать или делать — как работают слова do и make в английском В английском языке много мелких нюансов, которые нужно знать. Есть слова, которые вроде как синонимы и означают одно и то же, но при этом их нужно использовать в строго определенных случаях. Сегодня расскажем о паре do-make. Эти слова изучают уже на первых занятиях по а...

[Перевод] Определённо не Windows 95: какие операционные системы поддерживают работу в космосе, ч. 2 Cloud4Y продолжает рассказывать про то, какие операционные системы реального времени используются в космических аппаратах, какие у них есть особенности и недостатки. Это вторая, заключительная часть истории. Первая часть была тут. Читать далее

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

Отставить панику. Камеры iPhone 12 не трескаются На прошлой неделе аналитик Минг-Чи Куо (Ming-Chi Kuo ) сообщил, что у одного из поставщиков камер для будущих смартфонов iPhone 12 возникли проблемы с качеством. Якобы компания Genius Electronic Optical обнаружила проблемы с растрескиванием покрытия на широкоугольном об...

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

[Перевод] Используй console.log () как про Использование console.log() для отладки JavaScript - самая распространенная практика среди разработчиков. Но есть еще кое-что ...Объект console обеспечивает доступ к отладочной консоли браузера. Особенности того, как она работает, варьируются от браузера к браузеру, но де-фа...

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

Игровой монитор Asus ROG Strix XG32VC поддерживает частоту обновления 170 Гц Компания Asus представила игровой монитор ROG Strix XG32VC, основой которого служит вогнутая по радиусу 1800R панель типа VA. Размер панели равен 31,5 дюйма, разрешение — 2560 x 1440 пикселей. Монитор поддерживает технологии адаптивной синхронизации AMD FreeSync P...

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

[Перевод] Интервью с создателем СУБД SQLite (часть 1): история создания SQLite и Консорциума, сотрудничество с Motorola, AOL и Nok Адам: Привет и добро пожаловать в CoRecursive. Я Адам Гордон Белл. В каждом эпизоде ​​CoRecursive кто-то делится увлекательной историей создания собственного программного обеспечения. Что произойдет, если сайд-проект, который вы делали по фану, вдруг станет популярным во в...

«UML. Взгляд со стороны» или «Как UML удерживает аналитиков в прошлом» Изображение с www.uml.org Статья посвящена UML и особенностям его применения в настоящее время. Немного исторических сведений, совсем немного, только основные моменты: UML зародился в 90-х годах как результат работы по создания языка объектно-ориентированного моделировани...

Леммы о разрастании для регулярных и контекстно-свободных языков Две леммы о разрастании — утверждения, использующиеся для доказательства ограниченности важных классов формальных языков: регулярных и контекстно-свободных. Важность этих классов для программистов понять легко: регулярные выражения (один из видов описания регулярных языков) ...

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

Теперь каждую ИСПДн нужно подключать к SOC? Наверное, многие из вас видели в конце декабря 2020 года в СМИ заголовки вроде «Подписано около 100 новых законов» и возможно даже читали подборки изменений новых правил из различных сфер жизни, вступающих в силу с 1 января 2021 года. Одним из таких подписанных документов бы...

Рейтинг языков программирования TIOBE: январь 2020 Актуальный рейтинг популярности языков программирования в мире по данным индекса TIOBE. Язык C стал языком программирования 2019.

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

Анонс Huawei Nova 6 SE: четверная камера в стиле iPhone 11 Помимо Huawei Nova 6 и Nova 6 5G, Huawei представила ещё один смартфон данной серии, который получил название Huawei Nova 6 SE. Новинка относится к устройствам среднего уровня, но при этом обладает привлекательным дизайном. Его отличительной особенностью стала четверная задн...

[Перевод] Руководство по возможностям Java версий 8-16 Последнее обновление: 05 апреля 2021 г. Вы можете использовать это руководство, чтобы получить практическую информацию о том, как найти и установить последнюю версию Java, понять различия между дистрибутивами Java (AdoptOpenJdk, OpenJDK, OracleJDK и т. Д.), А также получить...

У английского языка нет будущего (времени) «Английский язык не имеет будущего времени, потому что у него нет ни словоформ будущего времени в том виде, в котором они есть в других языках, ни других грамматических форм, которые могли бы обозначать только будущее время».Но погодите. А чем тогда является Future Tense, ко...

Hernia, Preservative, Сrest, Absent и другие 60 английских слов, которые часто переводят неверно Наш язык имеет немало заимствованных слов. Иностранные слова в оригинале на самом деле могут иметь совсем другие значения, чем слышимые и употребляемые нами. И таких примеров довольно много. А иногда настоящий перевод в нашем языке эволюционировал и стал означать нечто связа...

Откуда взялся 'do' в вопросах и отрицаниях? В июне на Хабре было сразу несколько интересных статей на лингвистические темы, и одну дискуссию из комментариев мне хочется вынести в отдельную статью: удивительная и, по-видимому, уникальная особенность английского — то, что в вопросах и отрицаниях обязательно должен быть ...

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

[Перевод] Практика по Котлину: Создание веб приложений на React и Kotlin/JS От переводчика. Привет! Про Kotlin есть стереотип, будто бы это язык для разработки только под Android. На самом деле, это совсем не так: язык официально поддерживает несколько платформ (JVM, JS, Native), а также умеет работать с библиотеками для этих платформ, написанных на...

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

Как переключать язык на клавиатуре Macbook, iMac, Mac Pro или Mac Mini — 3 способа Большинство русскоязычных владельцев компьютеров Mac пользуются двумя языками при работе — русским и английским, один из которых является основным системным (все меню, окна и так далее отображаются на этом языке). Одним из первых вопросов Mac-новичка является: «Как переключа...

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

Подкаст «Хочу в геймдев» #21 Двадцать первый выпуск подкаста - мы говорим о профессии Нарративный дизайнер. Чем занимается нарративный дизайнер, каковы особенности этой профессии? Что нужно делать, чтобы стать им? Об этом и не только вы узнаете в 21-м выпуске! Читать далее

Какой могла бы быть Standard PHP Library Каждая статья с критикой PHP, следом за объяснением почему «$» в обозначении переменной портит синтаксис, обязательно расскажет вам о том, как плохо организовано именование функций в ядре и расширениях. И если «$» останется в стандарте языка и наших сердцах навсегда (хотя бы...

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

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

Zebra Technologies представила удобный и универсальный портативный принтер для мобильных сотрудников Устройство найдет применение на транспорте, в логистике, розничной торговле и гостиничном деле Zebra Technologies Corporation (NASDAQ: ZBRA), инновационная компания, чьи решения и партнеры позволяют коммерческим предприятиям добиваться максимальных результатов в своей работе...

7 слов в английском, которые встречаются в СМИ реже чем 3 случая на 100 миллионов В английском языке уже больше миллиона уникальных слов — именно такие результаты дал масштабный анализ литературы, который совместно проводили Гарвардский университет и компания Google. Лексикон языка увеличивается в среднем на 8500 новых слов каждый год. С такой же скоро...

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

Как кыргызский язык стал «русским» и почему это закономерно «B пpeдeлax иcтopии мы видим, чтo языки тoлькo дpяxлeют пo oпpeдeлeнным жизнeнным зaкoнaм, в звyкoвoм и фopмaльнoм oтнoшeнии. Языки, нa кoтopыx мы тeпepь гoвopим, являютcя, пoдoбнo вceм языкaм иcтopичecки вaжныx нapoдoв, cтapчecкими языкoвыми пpoдyктaми. Bce языки кyльтypн...

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

Google научился переводить с татарского. Google Translate впервые за четыре года расширил поддержку языков Компания Google объявила о расширении языковой поддержки для сервиса Google Translate (Google Переводчик).  Теперь Google Переводчик может работать с текстами на таких языках: руанда, ория или одия, татарский, туркменский и уйгурский. На этих языках говоря более ...

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

Экран без вырезов, 64 Мп, 4500 мА·ч, 12 ГБ ОЗУ и 512 ГБ флэш-памяти. Redmi K30 Ultra позирует на видео Следующим смартфоном Redmi станет модель флагманского уровня K30 Ultra – ее представят на домашнем рынке уже в августе. Новинка ранее засветилась в базе данных китайского регулятора TENAA, а сейчас – в видеоролике, опубликованном в китайской социальной сети ...

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

Криптографическое образование адреса IPv6 в Yggdrasil Абонентский IP – логический адрес пользователя в сети. В малых сетях обычно используются статические адреса, прописанные вручную, а в более массовых – автоматическое назначение через DHCP. За каждый сегмент локальной или глобальной сети отвечает некое лицо или организация, в...

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

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

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

[Перевод] PuppetConf 2016. Kubernetes для сисадминов. Часть 2 PuppetConf 2016. Kubernetes для сисадминов. Часть 1 Установите лимит использования ресурсов. С помощью простой математики можно рассчитать, сколько копий приложения вы сможете запустить – если одной копии нужен 1 ГБ RAM, то имея 10 ГБ памяти, можно запустить 10 копий. За эт...

Microsoft провела атаку на ботнет Necurs, подготовка которой заняла восемь лет Компания Microsoft и ее партнеры из 35 стран сегодня предприняли скоординированные юридические и технические шаги, чтобы нарушить работу Necurs — одного из самых плодовитых ботнетов, который заразил более девяти миллионов компьютеров по всему миру. Атака стала рез...

[Перевод] Улучшения покрытия PHP кода в 2020 году А вы знали что метрики покрытия вашего кода врут? В 2003 году Дерик Ретанс (Derick Rethans) выпустил Xdebug 1.2. Впервые в экосистеме PHP появилась возможность собирать данные о покрытии кода. В 2004 году Себастьян Бергманн выпустил PHPUnit 2, где впервые это использовал. ...

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

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

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

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

Microsoft провела атаку на ботнет Necurs, подготовка которой заняла восемь лет Компания Microsoft и ее партнеры из 35 стран сегодня предприняли скоординированные юридические и технические шаги, чтобы нарушить работу Necurs — одного из самых плодовитых ботнетов, который заразил более девяти миллионов компьютеров по всему миру. Атака стала рез...

Неделя фронтенда на Хабр Карьере Мы, конечно, не астрологи, но решили сделать так, чтобы крутые фронтендеры нашли себе работу мечты и поэтому объявляем неделю фронтенда на Хабр Карьере! Читать далее

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

Игровой облачный сервис Microsoft xCloud не будет доступен на iOS Когда Microsoft впервые представила свой Project xCloud осенью 2018 года, казалось, что у него есть потенциал для открытия совершенно нового игрового мира для владельцев мобильных устройств. Буквально на этой неделе была объявлена дата запуска xCloud — 15 сентября. Но чем M...