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

Занимательные фигуры на Python в одну строку Однострочники подобны коанам в Дзэн-буддизме. Как и коаны, некоторые однострочники можно охарактеризовать как "выражения ставящие мозг в тупик". Сами по себе они не научат программировать, но при накопленном определённом опыте позволят постичь всю силу и красоту языка програ...

Как устроены цикл событий и стек вызовов в JavaScript Цикл событий (event loop) — ключ к асинхронному программированию на JavaScript. Сам по себе язык однопоточный, но использование этого механизма позволяет создать дополнительные потоки, чтобы код работал быстрее. В этой статье разбираемся, как устроен стек вызовов и как они с...

Ленивая подгрузка библиотек из CDN в Angular Когда я интегрировал свое Angular-караоке с YouTube, мне попался официальный YouTube-компонент из Angular Material. В README прилагалась инструкция для подключения. Почти каждая строка в ней примере сомнительна. Давайте разберемся, как сделать лучше и применить имеющиеся инс...

А вы знаете, где используется Haskell? Всем привет! Мы хотим продолжить серию постов на тему “где используются эти ваши странные языки программирования”. В прошлый раз мы рассказали про Лисп, а сегодня продолжим разговор про функциональные языки и обратим внимание на Haskell.  Он является основным языком раз...

«Ленивый сахар» PostgreSQL SQL - декларативный язык - то есть вы описываете "что" хотите получить, а СУБД сама решает, "как" именно она будет это делать. Некоторые из них при этом позволяют им "подсказывать", как именно лучше выполнять запрос, но PostgreSQL - нет.Тем не менее, "синтаксический сахар" н...

Пример использования WebAssembly-модуля, скомпилированного из Rust, в React-приложении Привет, друзья! На днях прочитал интересную статью, в которой демонстрируется возможность использования WebAssembly-модулей (далее — Wasm), скомпилированных из Rust, в React-приложении. Так вот, статья интересная, но автор толком ничего не объясняет, видимо, исходя из пред...

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

[Перевод] Async/await в TypeScript Если вас заинтересовала эта статья, то вы, наверное, несколько разбираетесь в асинхронном программировании на JavaScript и, возможно, интересуетесь, как оно работает в TypeScript.Поскольку TypeScript – это надмножество JavaScript, async/await там работает точно также, но с н...

Дорожная карта по изучению C++ Привет!Представляем вашему вниманию дорожную карту для изучения языка программирования C++. Идея дорожной карты возникла после проведения десятков собеседований молодых разработчиков, которые претендовали на роль Junior Developer C++, но обладали довольно слабой подготовкой ...

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

[Перевод] Эмоциональный код Я зарабатываю программированием с 1979 года, и большую часть этого времени мне приходится работать с чужим кодом. Поначалу было: "Добавьте эту маленькую функцию к тому, что у нас уже есть". Теперь — "как мы можем стать лучше" и " стоит ли сохранять данный код?". Прочтение ко...

Настройка VSCode для программирования AVR в Linux Всем, кто занимается электроникой, так или иначе знакомы контроллеры AVR. Начинающим они знакомы, по большей части, за счёт экосистемы Arduino. В данной статье я попытаюсь рассказать начинающим программистам, как можно в Linux просто настроить VSCode для работы с контроллера...

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

Ленивый программист — хороший программист? У Билла Гейтса (или не у него) есть высказывание: «Я всегда буду искать ленивого человека — он найдёт лёгкий путь решить задачу». И вроде бы с нею можно согласиться, но тут стоит чётко понимать, что значит здесь «ленивый». Читать далее

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

Игровой код, который сам себя программирует На сегодняшний день у меня выпущены четыре игры в Steam, и все они написаны на языке Haxe. Мне нравится по-максимуму автоматизировать свою работу, и сегодня я поделюсь некоторыми приёмами, которые я использую при программировании своих игр.Для непосвящённых: Haxe — это язык...

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

Старик Дарвин был прав? Языки программирования и «Происхождение видов» Однажды мы с коллегами задумались вот о чём. Существует хронология языков программирования – список дат «с начала времён». Понятное дело, что каждый из них появился под влиянием собственных условий и для выполнения конкретных задач. Но ведь между языками есть тесные связи, и...

SSH Picker в ежедневной работе сетевого инженера В статье рассмотрим полезный инструмент облегчающий сбор данных с сетевых устройств. Для работы скриптов с командной строкой по SSH на языке Python нужно использовать множество сторонних модулей, а вернее множество зависимостей одного модуля (привет paramiko), а если на маши...

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

Левел-дизайн 101: язык разработки локаций Однажды, если мне не изменяет память, в Нью-Йоркском университете кто-то сформулировал определение геймдизайна как «мотивирование игрока на определенные действия». Хорошая формулировка. По аналогии с ней, про левел-дизайн я бы сказал так:Левел-дизайн — это мотивирование игро...

Python и Samila. Делаем красиво Как при помощи языка программирования Пайтон и библиотеки Samila создавать красивые изображения, даже с минимальными усилиями. Читать далее

Функция Reactive во Vue: как это работает После jQuery я попробовал AngularJS и был очарован его возможностями. Несколько строк в AngularJS заменяли кучу спегетти-кода в jQuery. Это было похоже на магию. Сейчас все современные Frontend-фреймворки так или иначе обеспечивают реактивность, и это уже никого не удивляет....

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

[Перевод] Рейтинг языков программирования 2022. C# обошел Java, TypeScript сравнялся с PHP, а Dart – наиболее комфортный язык Украинский профильный ресурс DOU.UA провел очередной ежегодный опрос о языках программирования. Python уже второй год подряд демонстрирует негативную динамику. Java тоже теряет позиции – в этом году она на третьем месте по популярности. На второе место поднялся язы...

22 новых фичи C# — каким будет C# 11+ 1. Полуавтоматические свойства и ключевое словоfield.2. Модификатор уровня доступа file.3. Первичные конструкторы для классов и структур.4. Паттерн-матчинг для списков.5. Атрибуты для Main в программах с top level statement.6. Сырые строки без экранирования внутри строки&nbs...

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

Язык программирования Ficus для вычислений и не только Здравствуйте, уважаемые хабровчане. Меня зовут Вадим Писаревский, я являлся лидером OpenCV (Open Source Computer Vision Library) на протяжении примерно 20 лет, и продолжаю участие в этом замечательном проекте. В этой статье я рад представить вашему вниманию результат другого...

Портируем код C/C++ на Python В первой части нашего небольшого цикла статей мы исследовали возможность использования структур данных в Python, которые были созданы с помощью языков программирования C/C++. Для этого мы рассмотрели библиотеку Ctypes.В этой статье попробуем разобраться, какие еще есть подхо...

Готовимся к собеседованию по PHP: Что такое «DI», «Container», «Auto-wiring» за семь простых шагов Статья написана для начинающих разработчиков на языке PHP, чтобы помочь им усвоить понятия, нужные для понимания того, как устроены и работают современные фреймворки на PHP: Dependency Injection, Container, Auto-wiring.Автор надеется, что прочтение статьи поможет вам разобра...

Правда ли, что от регулярок у разработчиков одни проблемы Рассмотрим простой пример, чтобы понять, зачем нужны регулярные выражения. Допустим, перед нами стоит задача — найти и заменить местоимение 'ее' на 'его' в строке 'Быстрее всего мы догоним ее на машине'. Самое очевидное решение — использовать прямую замену, применив вст...

Миграция данных из различных RDBMS в HADOOP В статье будет рассмотрен процесс экспорта данных в Hadoop из различных РСУБД посредством фреймворка Spark. Для взаимодействия с фреймворком Spark будет использован язык программирования Python с применением api pySpark. Читать далее

Кто тебя за Цанцзе тянул В прошлом году в СМИ начали активно говорить о том, что совсем скоро у Huawei появится собственный язык программирования Cangjie (читается как «Цанцзе»). Так вот, кажется, ждать его появления осталось совсем недолго. Читать далее

Синтаксис Python — в чем главные подводные камни на первый взгляд легкого ЯП. Перспективы языка Python - один из самых популярных языков программирования. Как мы писали, в январе 2022 года он во второй раз за свою историю стал лидером ежемесячного рейтинга языков программирования Tiobe. Рост популярности Python за год составил 1,86%.Популярность языка обусловлена его о...

Про Flutter: как бекендер в мобильную кроссплатформу лез Flutter – это полноценная SDK, позволяющая писать нативные приложения на ненативном языке (dart), имеющем высокую скорость работы (выше конкурентов, но немного ниже натива), отклика/отрисовки. Этот набор средств разработки позволяет писать достаточно сложные с точки зрения и...

Мой друг Netmiko Ansible с костыльком может автоматизировать сеть и non-CloudEngine коммутаторов Huawei, как недавно было доказано на нашем Enterprise форуме. Однако в сети, в которой работают разные модели коммутаторов, Ansible не представляется эффективным инструментом на данный момент. И ...

Идея для языка программирования искусственного интеллекта. Свойство-ориентированный подход В данной статье предлагается новый свойство-ориентированный подход к организации объектной модели в языках программирования. Основная идея - вынести свойство из объекта и сделать понятия свойства и объекта равноправными. Это позволит получить крайнюю гибкость и универсально...

Вызов виртуальных функций в конструкторах и деструкторах (C++) В разных языках программирования поведение виртуальных функций отличается, когда речь заходит о конструкторах и деструкторах. Неправильное использование виртуальных функций – это классическая ошибка при разработке на языке С++, которую мы разберём в этой статье. Читать даль...

[Перевод] Поговорим о фичах в предварительной версии C# 11 К старту курса по разработке на C# рассказываем о новых конструкциях в предварительной версии языка C# 11. Среди них шаблоны списка, проверка Parameter на null и возможность переноса строки при интерполяции строк. За подробностями приглашаем под кат. Читать далее

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

Как скрестить Коня и Трепетную лань «Бить (Bash) или не бить», - спрашивал один датский принц. Вот и у меня возник аналогичный вопрос, когда у нас в компании появился сервер сборки Bamboo. Как можно в задании Bamboo, выполняющем скрипт Bash или Cmd, написать команды, одновременно понятные интерпретатору команд...

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

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

Архитектура Вселенной, часть 3: Идея Перед прочтением рекомендуется ознакомиться с предыдущими статьями цикла "Архитектура Вселенной":• Часть 1: Сознание• Часть 2: Относительность• Часть 3: ИдеяВ прошлой части "Архитектуры Вселенной" мы говорили об относительной природе пространства и времени, а сейчас я хотел ...

[Перевод] Дзен Nim 1. Копирование плохого дизайна — плохой дизайн.2. Если компилятор не может рассуждать о коде, то и программист не может.3. Не стой на пути у программиста.4. Перенеси работу на этап компиляции: программы запускаются гораздо чаще, чем компилируются.5. Настраиваемое управление ...

Способ качественно изучить паттерны проектирования Привет, Хабр! Когда я изучал паттерны проектирования, я делал это с помощью прочтения двух книг: простую и понятную книгу от Head First одновременно со сложной и менее понятной книгой от Банды Четырех. Ниже описан мой опыт того, как именно я это делал, плюс выводы, впечатлен...

Какие языки программирования нужно знать, чтобы получить работу в Meta Какие языки программирования нужно знать, чтобы работать в Meta (Facebook, Instagram, WhatsApp)

Логирование в объектах Python. Путь перфекциониста Логировать лучше, чем не логировать. Чем больше разбираешься в чужом и своём коде, тем больше убеждаешься в справедливости этих слов. В Python есть прекрасный модуль logging: настолько удобный и гибкий, насколько вряд ли когда-нибудь понадобится. Мы не будем обсуждать, как е...

[Перевод] Метаклассы в Python Привет, Хабр! У нас продолжается распродажа в честь черной пятницы. Там вы найдете много занимательных книг.Возможен вопрос: а что такое метакласс? Если коротко, метакласс относится к  классу точно как класс к объекту.Метаклассы – не с...

Ракета на палочке Всем привет! Меня зовут Илья!Если вы читали мою прошлую статью, то наверное уже знаете что я увлекаюсь любительским ракетостроением. Это сложная и долгая тема. Давайте сейчас не будем строить большую ракету, а в этой статье давайте поговорим о чём-нибудь попроще. Ну, наприме...

Грокаем алгоритмы Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих от Бхаргава А. Эта книга рекомендована Яндекс Практикум при подготовке к алгоритмическому собеседованию. Сам автор указывает, что книга для самоучек, студентов, выпускников и тех, у кого про...

Как начать писать программный код Си в ОС Linux (Руководство для совсем начинающих) Этот материал рассчитан на людей, будущих программистов, которые только начинают разбираться в программировании под ОС Linux, или может быть долго были пользователями ОС Windows. Я попробую здесь показать прямое руководство к действию на примере ОС Ubuntu и тех простых инстр...

[Перевод] Создание нативных CLI приложений на Java с помощью Graalvm и Picocli Язык программирования Go стал популярным для написания приложений командной строки. Для этого может быть много причин, но один аспект, в котором выделяется Go, - это возможность скомпилировать программу в один нативный исполняемый файл. Это значитель...

Задача про две ёмкости для жидкости Существует классическая задача:Есть 2 емкости: 5 литров и 3 литра. Как отмерить 4 литра жидкости используя только эти 2 емкости?В этом тексте я решу эту задачу в общем виде при помощи конечного автомата.  Также я упомяну про малоизвестный язык программирования Dot. Чит...

Как мы создавали курс по C# и боролись за секунды У сервиса онлайн-обучения программированию Хекслет есть собственный Open Source проект Code Basics, на котором выходят бесплатные курсы для начинающих на разных языках. Когда-то их было только два – PHP и JavaScript, сейчас уже более десятка. В компании Dodo Engeneering есть...

[Перевод] USB-интерфейс для Psion Organiser II Я собрал для Psion Organiser II интерфейс, который позволяет отправлять на него сообщения через USB-serial с помощью Arduino Nano. В основе лежит выполнение органайзером машинного кода, хранящегося в строке на языке OPL. Получившийся интерфейс полностью соответствует формат...

[Перевод] Всё о fsync В PHP (как и в других языках программирования с похожим интерфейсом) при записи в файл нет никаких гарантии, что ваши изменения сразу же будут записаны на диск. В действительности происходит следующее: ваша запись поступает в буфер (process buffer) PHP, и в определенный моме...

Обзор ORM для C#: что подойдет для проекта Одна из проблем использования языков объектно-ориентированного программирования (ООП) и баз данных в сложности их согласования между собой. Знание языка структурированных запросов (SQL) и умение писать запросы позволяют взаимодействовать с БД напрямую. Но использование «чист...

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

Из техпода в программисты (или Golang для самых маленьких) Доброго времени суток, Хабровчане! Данный цикл статей предназначен в первую очередь для себя самого чтобы быстрее усвоить материал, а также для новичков в программировании которые как и я хотят освоить язык и заниматься интересными проектами. Читать далее

Не умер ли ещё PHP (и ещё 11 вопросов, которые не стыдно задавать в 2022) Уже который год во всех слаках, дискордах, телеграмах и форумах главный вопрос о любом языке программирования звучит так — стоит его учить В ЭТОМ ГОДУ, или лучше уже не надо? Взять какой-нибудь PHP — его же вечно хоронят, и всё никак.Есть и много других вопросов. Например:— ...

Стоит ли учить PHP в 2022 году IT-индустрия – динамичная сфера, где новые технологии и решения могут кардинально изменять структуру рынка, что влияет на популярность того или иного стека. Также IT-рынок подвержен субъективному хайпу, когда на какие-то технологии и языки программирования обращают чрез...

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

Внедрение Q# в ваши любимые языки и платформы (Python, .NET, ASP.NET, Julia, Lua, PowerShell) Не секрет, что Q# и Quantum Development Kit позволяют легко писать квантовые программы и запускать их на симуляторах и на оборудовании через службу Azure Quantum, с использованием Python, .NET или даже через Jupyter Notebook. Более того, инфраструктура, которая поддерживает ...

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

Что такое Netcat? Bind Shell и Reverse Shell в действии Друзья, всех приветствую!В этой статье мы поговорим о том, что такое Netcat и с помощью него реализуем Bind и Reverse Shell соответственно.NetcatNetcat, впервые выпущенный в 1995 году (!), является одним из "оригинальных" инструментов тестирования на проникновение в сеть. Ne...

Дети, бесплатная онлайн-школа Сейчас много детей оторваны от школы. Надо продолжать давать им школьную программу. Это даже будет больше полезно для их психики, чем для образования. Регулярные ежедневные занятия.Мы собираем волонтеров–учителей, которые готовы бесплатно учить детей онлайнФорма для записи р...

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

Как мы используем юнит-тестирование в СУБД Oracle В некоторых технологиях и языках программирования юнит-тестирование — уже давно неотъемлемая часть написания кода. Оно интегрировано в разработку и доступно «из коробки» в виде фреймворков, как, например, JUnit для Java, xUnit/nUnit для C# и т. д. Но в Oracle культура юнит-т...

Модуляризация доменного слоя в UDF. Часть II В предыдущей части мы рассмотрели, что такое домен и какими принципами можно руководствоваться при его модуляризации. В этой части сконцентрируемся на типах связей между модулями и различиях в проектировании ООП и UDF-кода. Приятного чтения! Читать далее

Английский — это просто Меня зовут Денис, я являюсь Sysadmin/DevOps в небольшой шведской компании. Работаю удаленно 3 года. В Otus преподаю курс, связанный с мониторингом в Linux. Очень часто я слышу вопрос: «на работе на английском общаетесь? Как у тебя с языком?» Я думаю понятно, что не...

Язык программирования C∀(CForAll) Мой интерес к дизайну языков программирования приводит меня иногда к интересным, но почти неизвестным в широких кругах проектам. Один из таких проектов - язык C∀ (CForAll), разрабатываемый Университетом Ватерлоо. C∀ является расширением ISO C и обеспечивает обратную совмести...

[Перевод] Мои главные принципы работы после 20 лет опыта в программировании Начиная новый проект, хорошо вспомнить полезные принципы программирования, которые помогут правильно расставить приоритеты и избежать многих ошибок. Рекомендациями от автора с опытом программирования в 20 лет делимся к старту курса по Fullstack-разработке на Python. Читать д...

Еще пять регионов начнут обучать школьников программированию Школьники из Калужской, Тульской, Оренбургской, Нижегородской областей и Республики Башкортостан смогут обучиться языкам программирования на бесплатных курсах в рамках пилотного проекта Минцифры России и Университета 2035. Запись на обучение доступна ...

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

Node.js: Heroes of Worker Threads ― C++ Addon Node.js имеет несколько способов исполнения CPU-bound заданий:1. Просто запустить CPU-bound задачу в одном процессе, блокируя event loop. Кто-то может возразить, что это совсем не вариант, но если этот процесс был специально создан для этой задачи, то почему бы и нет. Правда...

JavaScript: заметка о WebAssembly Привет, друзья! В 2019 году WebAssembly (далее — WA или wasm) стал четвертым "языком" веба. Первые три — это, разумеется, HTML, CSS и JavaScript. Сегодня wasm поддерживается 94% браузеров. Он, как утверждается, обеспечивает скорость выполнения кода, близкую к нат...

[Перевод] Задачки по программированию на BASIC для ZX Spectrum Недавно я участвовал в нескольких соревнованиях, которые проводились в Facebook-группе, посвящённой BASIC-программированию для ZX Spectrum. Там попадаются задачки разной сложности, но большинство из них можно решить, минут за 30 написав соответствующий код. Если вы хотите пр...

Как LINQ, только быстрый и без аллокаций Кому не нравится LINQ в C#? Встроенная и уже достаточно старая фича языка C# и рантайма .NET.Но можем ли мы сделать более эффективную версию LINQ, чтобы и быстрее, и не кушало памяти? Давайте попробуем! Читать далее

Kincony KC868-A4: ультимативный гайд. Часть 2. Программирование компонентов Продолжаем ультимативный гайд по контроллеру Kincony KC868-A4, начатый в предыдущей статье. Сегодня мы подробно разберём распиновку KC868-A4 и познакомимся с принципами программирования компонентов (функциональных блоков) этого контроллера. Все примеры будут сопровождаться...

[Перевод] ROS книги по робототехнике переведенные на русский язык Robot Operating System это фреймворк который позволяет эффективно программировать современных роботов. Читать далее

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

[Перевод] Rustenstein 3D: программируем, как будто сейчас 1992 год Дважды в год компания NextRoll организует мероприятие Hack Week, на котором сотрудники на неделю берутся за проект по своему выбору. Это превосходная возможность для экспериментов, изучения новых технологий и объединения с людьми из всех отделов компании. Узнать о Hack Week...

Самые интересные блоги и сайты для C++ программистов Наверняка у читателя есть свои любимые сайты и блоги, посвящённые программированию на языке С++. Сегодня ваша коллекция пополнится. Читать дальше →

Опыт организации диалога с модулями ICP DAS I-7000 по RS-485 используя только bash В моем конкретном случае все казалось нерадужно, я опускал руки, думал о неизбежности начать писать на Си, компилировать ядро, уходить в отшельники для отладки приложения и т.п. Нельзя сказать что результата в Bash не было, он просто не устраивал. Пока программированием по н...

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

Постоянный календарь — Это ты тестировал систему продажи билетов?— Да…— Клиент сейчас купил билет на дату «82.13.-891». Либо ты сейчас скажешь ему, сколько дней осталось до поездки, либо переводим тебя на должность стажёра. Нравится ли вам наш календарь? Если вы программист, то, наверное, не о...

У вас появился щенок: что делать? Собаки приносят много радости, но воспитывать их — большая ответственность. Разбираемся вместе с Pedigree®, как найти общий язык с питомцем, обеспечить ему лучший уход и воспитание.

Старые песни о главном Программисты старшего (и очень старшего) возраста наверняка помнят такую книгу Фролова и Олюнина: «Практический курс программирования на языке PL/1», изданную в 80-х массовым тиражом. В те времена не было Интернета, и поэтому получить нужную информацию можно было, только куп...

Линукс-порт Far Manager: что нового за 2021 Предыдущий пост про порт Far Manager под Linux, far2l, оказался невероятно популярным, так что я подумал, что неплохо бы раз в год писать что-то вроде дайджеста самых интересных новостей разработки. Начнём.Буфер обмена в консольной версииТеперь far2l, как и mc, умеет использ...

Как я визуализировал граф билда. Build Graph for Xcode Каждый год я стараюсь запускать по одному пет-проекту. Самый первый начинался ещё до того, как я умел пользоваться Git, а последний вообще был не программой, а книгой про доступность. Каждый проект учил меня как программированию, так и подходу к продуктовой разработке, что п...

[Перевод] Тип данных Either как альтернатива выбрасыванию исключений Исключения – это базовый элемент многих языков программирования. Они обычно используются для обработки аномальных или непредусмотренных условий, при устранении которых необходим особый подход, нарушающий нормальный поток задач в приложении. В некоторых языках, например, в C+...

Как создать работающий Impact Map Больше 8 лет я использую Impact Map для аналитики IT-продуктов. Я довольно активно делился знаниями об этом подходе: писал статьи, выступал на конференциях с докладами и мастер-классами, рассказывал студентам в университетах и интернам в компании. Слушатели и участники масте...

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

Обзор языка функционального программирования Koka Как-то заглянув на GitHub, обнаружил Koka — язык функционального программирования со статической типизацией. Koka разрабатывается с 2012 года Daan Leijen в Microsoft Research, USA. Его исходники выкладываются на GitHub под лицензией Apache 2.0. Как признаются его авторы, он ...

В экосистему офисных приложений Р7-Офис внесены изменения Экосистема офисных приложений Р7-Офис получила масштабное обновление до версии 6.4 (модули совместной работы обновлены до версии 11.5.4, модуль «Команда» — до версии 1.6.3). Наиболее масштабные изменения в этот раз коснулись редакторов, большинство из них – табличного. Польз...

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

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

[Перевод] Как написать эмулятор CHIP-8 на JS Автор провёл детство за играми в эмуляторах NES и SNES на своём компьютере, но никогда не думал, что однажды сам напишет эмулятор. Иван Сергеев поставил перед автором задачу написать интерпретатор Chip-8, чтобы изучить основные понятия низкоуровневых языков программировани...

Микросервис головного мозга. Пилим всё, что движется Это история о том, как увеличить скорость выкатки фич, но сохранить качество продукта. О болевых точках, которые замедляют разработку, и новой «болезни» — микросервисе головного мозга, которую диагностировал Михаил Трифонов, техлид фронтов в SberСloud. Он утверждает, что она...

Что такое гигагерц и при чем тут Илон Маск? Проанализируем объявление о приеме на работу в Теслу на позицию джуниор-проектировщика процессора для AI автопилота автомобиля (скриншот ниже). Как мы видим, от соискателя требуется понимание микроархитектуры процессора, проектирование на уровне регистровых передач используя...

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

WinAPI из C# Язык программирования C# был создан как язык, который можно использовать для простого программирования в ОС Windows. Позже этот язык получил возможность создавать приложения и на других операционных системах, но в этой статье мы будем говорить только об ОС Windows.Для работы...

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

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

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

Как научиться работать в Blazor, делая что-то полезное. Часть I Когда я вижу, как кто-то учит кого-то языку программирования, то частенько замечаю тенденцию показывать новичкам примитивные примеры в виде ToDo list. Помимо того, что подобные примеры не учат ничему полезному в программировании, они очень однобоки и не позволяют оценить вс...

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

Названы самые некачественные процессоры, видеокарты и SSD за 2021 год по версии Puget Systems Какие производители производят больше бракованных комплектующих? Давайте разбираться

Книга «Изучаем C# через разработку игр на Unity. 5-е издание» Привет, Хаброжители! Изучение C# через разработку игр на Unity — популярный способ ускоренного освоения мощного и универсального языка программирования, используемого для решения прикладных задач в широком спектре предметных областей. Эта книга дает вам возможность с нуля и...

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

Международная конференция 2022 года по науке письменного выражения 21–23 января 2022 года — виртуальное мероприятие! КОЛУМБУС (шт. Огайо), 13 декабря 2021 г. /PRNewswire/ — В современных классах акцент на успеваемость учащихся в области письма находится на самом высоком уровне. Текущие исследования в области письма определяют письменн...

[Перевод] Стилизация однофайловых Vue компонентов Если у вас есть опыт написания однофайловых Vue компонентов, вы, вероятно, сталкивались с написанием CSS в своем компоненте. Они позволяют разработчикам группировать код более логическими способами, а не разбивать компоненты по используемому языку (HTML, CSS или JavaScript)....

Самые популярные языки программирования. Хабратоп 2021 года В прошлом декабре мы подбивали предварительные итоги и выкатили рейтинг популярности языков программирования. Пришло время для обновлений! В Хабратопе-2021 рассказываем, как менялись позиции  ЯП в рейтингах TIOBE, PyPL и Stack Overflow. Поехали! Читать далее

Переводы всех статей Пола Грэма на всех языках (210+) Пол Грэм — один из самых уважаемых людей среди ИТишников, основателей и инвесторов. Он первоклассный программист (написал два языка программирования), хакер, создатель дерзкого акселератора Y Combinator, философ. Своими помыслами и разумом Пол Грэм врывается в широкий сп...

Установить любое Android-приложение в Windows 11 за пару кликов. В магазине приложений Windows появился бесплатный установщик APK-файлов Когда Microsoft представляла Windows 11 летом, компания пообещала добавить в ОС возможность установки и использований Android-приложений. Хоть и не с первой попытки, но функция реализована в Windows 11, правда, работать с ней едва ли удобно: официальный магази...

«Сбер» обучил нейросеть ruGPT-3 писать код Модель генерации кода основана на глубокой нейронной сети ruGPT-3, обученной на коде «Сбера» и open-source библиотек. Возможности такой модели позволяют нейросети дописывать код разработчика, искать уязвимые места в коде, переводить код с одного языка программирования на дру...

Main Loop (Главный цикл) в Android Часть 2. Android SDK Основой любого приложения является его главный поток. На нем происходят все самые важные вещи: создаются другие потоки, меняется UI. Важнейшей его частью является цикл. Так как поток главный, то и его цикл тоже главный - в простонародье Main Loop.Тонкости работы главного цик...

Proof Of Concept на Python или как портировать С/С++ Язык программирования Python существует уже 31 год. Это полностью объектно-ориентированный язык. За все время существования на нем стало возможно применять разные парадигмы. Сейчас этот язык может поддерживать:- объектно ориентированную парадигму- структурное программрование...

[Перевод] Сравниваем async/await и then/catch с примерами  В JavaScript есть два основных способа обработки асинхронного кода: Promise (ES6) и async / await (ES7). Эти синтаксисы дают нам равные базовые функции, но по-разному влияют на читаемость и область видимости. В этой статье мы увидим, как один синтаксис помогает, а друг...

Изучаем скорость Core i9-12900K после отключения быстрых ядер – тесты малых ядер от TechPowerUp Что произойдёт с процессором Core i9-12900K после отключения быстрых ядер Golden Cove? Можно ли работать исключительно на малых ядрах? Давайте разбираться

[Перевод] Зарплаты украинских разработчиков — зима 2022. Architect-$7200, Senior-$5500, Middle-$3150, Junior-$1200 Украинский ресурс DOU.UA в декабре 2021 года провел большой опрос среди украинских ИТ-специалистов о работе и зарплатах.Всего собрали 8005 анкет от разработчиков разных уровней: от Intern до Architect. Предлагаем вашему вниманию первую статью по результатам этого опроса...

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

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

Главный секрет операторов match/case в пайтоне Не так давно увидела свет версия языка пайтон 3.10. В ней был добавлен pattern matching statement (оператор сопоставления с шаблонами). Как гласит официальное описание этого оператора в PEP622, разработчики в большей мере вдохновлялись наработками таких языков как: Scala, Er...

[Перевод] Я не чувствую давления async Async в моде. Async Python, Async Rust, Go, Node, .NET и т.д. Выбирайте свою любимую экосистему, и в ней будет свой модуль для асинхронности. Насколько хорошо работает вся эта асинхронная история, во многом зависит от экосистемы и среды выполнения языка, но в целом у нее ест...

WEKA. Руководство по использованию Начав изучать библиотеку Weka я обнаружила, что в Интернете очень мало информации о ней на русском языке – как с ней работать и как ее использовать. Эта статья будет вводной для знакомства с библиотекой. Читать далее

Язык программирования типов, скрытый в TypeScript. Utility Types TypeScript — это язык, расширяющий JavaScript, добавляя в последний типизацию. Правда, так как TypeScript не имеет runtime-а (почти), он транслируется в JavaScript, в процессе чего, вся типизация теряется. Такую типизацию можно назвать лишь инструментом статического анализа ...

Python — серьезный язык для разработки backend Всем привет! Меня зовут Аникин Денис, я тимлид в команде Chat в Райффайзенбанке. А также представитель внутреннего Python-сообщества, так называемый «community lead» (об этом как-нибудь в другой раз). В этой статье я хотел поговорить про отношение к Python среди разработчико...

Sliver во Flutter, или как работает скролл Если вы уже встречались со сливерами, то наверняка оценили всю «прелесть» работы с ними. На самом деле они совсем не так трудны и ужасны. Чтобы просто начать их использовать, как чаще всего бывает во Flutter, разбираться особо не нужно. А вот чтобы полноценно использовать их...

Латунирование, это просто Эта статья - простая и подробная инструкция, как можно в домашних условиях покрыть латунью металлические детали, применяя только подручную химию. cut/ В ней, подробно описанны все ньюансы и "подводные камни". После прочтения этой статьи, у вас просто не может не получиться...

[Перевод] Ручная кофемолка: инструменты командной строки для Java В книге "97 вещей, которые должен знать каждый Java-программист" есть глава о некоторых инструментах командной строки в JDK (я дал 2 из 97 советов).Поскольку я сам часто использую такие помощники, я хотел кратко представить их в сегодняшней статье.Я предпочитаю командную стр...

Геймер из РФ купил компьютер за 545 000 р с целью инвестировать деньги в дорожающие комплектующие Стоит ли вкладывать больше полумиллиона рублей в компьютер? Давайте разбираться

Почему не все сеньоры получают оффер мечты, и что с этим делать На Хабре много познавательных статей про то, «как я собеседовался в X» (раз, два, три, или вот четыре). Часто они написаны с одной стороны баррикад, т.е. со стороны соискателя. Читая очередную, я понял, что мое представление о найме тоже однобоко — и решил воспользоваться сл...

Как устроен счетчик ссылок в Swift Мы в iOS команде Vivid Money стремимся глубже понимать инструменты, которыми пользуемся каждый день. Один из таких – это язык программирования Swift. Он состоит из нескольких частей: компилятора, стандартной библиотеки и рантайма. Компилятор преобразует код понятный для чело...

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

Первые эксперименты со смешанным Litex+Verilog проектом для ПЛИС В предыдущей статье мы начали осваивать построение шинно-ориентированных систем на базе среды Litex (которая всё делает на Питоне) с внедрением собственных модулей на Верилоге. Статья так разрослась, что практические опыты мы оставили на потом. Пришла пора провести их. Сегод...

YouTrack теперь с конструктором рабочих процессов Привет, Хабр!На связи команда YouTrack из JetBrains. Как вы знаете, YouTrack подстраивается под работу практически любой команды с помощью рабочих процессов (workflows). Рабочие процессы позволяют автоматизировать многие рутинные действия, однако до недавнего времени это тре...

Что вижу, то и программирую Не знаю, как у вас, в большом мире программирования, а у нас, в 1С, очень распространён подход «что вижу, то и программирую». Есть более удобоваримое название: «программирование от данных». Однако, чаще всего это называют говнокод. Хотя, тут я не согласен – до говнокода ещё ...

Книга «WebAssembly в действии» Привет, Хаброжители! Создавайте высокопроизводительные браузерные приложения, не полагаясь на один только JavaScript! Компилируясь в бинарный формат WebAssembly, ваш код на C, C++ или Rust будет работать в браузере с оптимальной скоростью. WebAssembly обеспечивает большую с...

Шифры замены В предыдущей статье были рассмотрены простые шифры, использующие алфавиты естественных языков (ЕЯ). Автоматическая обработка сообщений в компьютерных и сетях связи предусматривает использование искусственных языков (ИЯ), что более эффективно во многих отношениях. Ранее описы...

Стоит ли покупать Radeon RX 580 после майнинга в 2022 г – лучший GPU для геймеров в тесте Benchmark Есть ли смысл в покупке старой видеокарты в 2022 году, особенно, если она раньше работала на майнинговой ферме? Давайте разбираться

7099 человеческих языков и 8945 языков программирования На Земле живет 7,5 миллиардов человек и 30 миллионов программистов. Человеческих языков около 7099, сколько компьютерных — никто не знает. CodeLani насчитал около 4248 языков, HOPL — 8945. Хочу поделиться самыми интересными находками по языкам программирования. Никто не з...

[Перевод] Printf("%s %s", внедрение, зависимостей) Механизм внедрения зависимостей (Dependency Injection, DI) стал одним из тех аспектов корпоративного программирования, с которыми мне было сложнее всего разобраться. А именно, дело было в том, что это понятие уже имело для меня смысл. Мне, для того, чтобы этот смысл увидеть,...

[Перевод] Как Kubernetes создает и запускает контейнеры: Иллюстрированное руководство Понимание того как Kubernetes обрабатывает контейнеры дает большую гибкость при создании пользовательских конфигураций под конкретные нужды.Kubernetes позволяет выполнять много полезной работы без глубокого понимания деталей. Утилита командной строки kubectl и дашборды в Ope...

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

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

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

Основы языка microScript Привет Хабр!Под предыдущей статьей собралось много вопросов и рассуждений относительно microStudio, в частности языка microScript, которому я не уделил внимания в предыдущей статье. Да я и не ставил цель затронуть все вопросы в одной статье.В этой статье я расскажу подробнее...

Как мы четыре года организовываем работу на удаленке с помощью Discord Тренд 2020 года продолжает расти. Все больше компаний дают возможность работать сотрудникам в гибридном формате или полностью из дома.Я расскажу, как мы организовали удаленную работу в Discord.Меня зовут Илья, я CTO компании 2people IT и один из её основателей. Основная наша...

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

[Перевод] Освежите ваш COBOL: почему на язык 60-летней выдержки вдруг резко возник спрос? Давным-давно, когда мир был юн, и компьютеры в нем были в новинку, я учился по программе на младшего сотрудника (Associate Degree) по обработке данных – программ по «компьютерным наукам» тогда не было – и в рамках этой программы преподавались бухгалтерское дело, математика, ...

Windows 7 vs Windows 11 – сколько fps в играх даёт переход на новую ОС по мнению TG Стоит ли переходить на Windows 11, или новая ОС вообще не даёт преимуществ в играх? Давайте разбираться

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

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

AccessUSB: «флешка всевластия» для телевизоров LG Многие современные телевизоры имеют скрытые сервисные меню, через которые можно посмотреть и изменить различные параметры, недоступные в обычном пользовательском меню. В телевизорах LG есть 2 основных сервисных меню - InStart и EzAdjust, которые можно вызвать посылкой "секре...

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

[Перевод] Shape Up на русском. Книга от создателей Basecamp о том, как выпускать нужные рынку продукты – в срок И сразу ссылка:https://shapeup.vlad.studio/С вами так бывало? Послушаешь новый альбом и так зацепит, что обязательно нужно со всеми поделиться. Примерно это случилось со мной и книжкой «Shape Up». У меня за плечами десяток лет работы продуктовым дизайнером, и я не раз видел,...

Почему типы так много значат для программистов? Адаптация статьи What do types mean for programmers? (Ville Tirronen) Типы – одно из основополагающих понятий для программистов. Типы также могут быть одним из наиболее запутанных и многогранных явлений в нашей сфере. И они же являются бесконечным источником споров в интерне...

Какой язык программирования учить в 2022 году: армянский или грузинский? За последний месяц IT-отрасль в России пережила серьезный стресс. По оценкам РАЭК в ближайшее время из России эмигрируют около 100 000 ИТ-специалистов, не говоря о том, что за первую волну эмиграции их число составляло приблизительно 80 000. Мы видим, что люди, которые идут ...

Картридж с The Super Shinobi 2 На самом деле эта мини-статья была написана ещё в 2018-м году, задолго до моего появления на Хабре. И я решил выложить её здесь, чтобы, во-первых, она получила большую аудиторию, а во-вторых потому что недавно мне пожаловались, что давненько я ничего не писал. А так как моя ...

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

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

[Перевод] Создание игр для NES на ассемблере 6502: заголовки и векторы прерываний Оглавление Оглавление Часть I: подготовка Введение 1. Краткая история NES 2. Фундаментальные понятия 3. Приступаем к разработке 4. Оборудование NES 5. Знакомство с языком ассемблера 6502 6. Заголовки и векторы прерываний 7. ...

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

Спортивное программирование: не все так просто, как кажется Меня зовут Абай Баймуканов, я – разработчик-алгоритмист. Уже несколько лет увлекаюсь олимпиадными программированием, поэтому в этой статье хотел бы поделиться своим видением по этому поводу. Быть олимпиадником по спортивному программированию довольно весело и интересно. Н...

AirPods 3 или AirPods Pro. Что выбрать В начале этой недели компания Apple, наконец, показала свои новые полностью беспроводные наушники. AirPods 3 действительно внешне очень напоминают AirPods Pro. При этом в них нет силиконовых амбушюр и системы активного шумоподавления. Но AirPods 3 обладают большей автономнос...

Всё о Keycloak: зачем нужен, кому подходит и какие преимущества даёт 14 марта в Слёрм стартует курс «Безопасность проекта: аутентификация в Keycloak». Мы пообщались с его автором Виктором Поповым, техлидом DevOps-команды дирекции больших данных в X5 Group. Он рассказал, какие задачи помогает решать инструмент и кто его выбирает — стартапы или...

Zero Trust Networks: что это, зачем и как работает О концепции "нулевого доверия", вероятно, слышали многие. Более того, очень многие компании постепенно и небезуспешно внедряют эту концепцию. Еще три года назад 78% ИБ-отделов либо уже реализовали эту концепцию, либо же планировали на нее перейти.Есть и частное приложение ко...

Бесплатный Telegram-бот для расшифровки аудио. Рассказываем кратко, как мы его сделали Бот конвертирует голосовые сообщения на русском языке в текстовый формат, также работает с загруженными одноканальными аудиофайлами. Его можно использовать даже в групповых чатах. В основе решения — технологии SmartSpeech от SberDevices. Читать далее

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

Международная олимпиада по программированию «BalaTech» для школьников организована в в онлайн-формате Международная Олимпиада по программированию «BalaTech» с бесплатным участием приглашает 50 000 школьников освоить программирование с помощью игр и посоревноваться за потрясающие призы! Международная олимпиада ...

[Перевод] Как большие ИТ-компании стали настоящими гигантами: история поглощений Скорее всего вы читаете эти строки в браузере, созданном Apple или Google. Если у вас в руках смартфон, то почти наверняка одна из этих компаний разработала его операционную систему. Вероятно, вы попали сюда по ссылке, размещенной на сайте Apple News, Google News или в социа...

Генерируем Rust обёртку для FMOD Rust — хороший выбор для разработки игр. Хотя экосистема языка еще молода, с помощью FFI можно использовать готовые решения написанные на другом языке. Но написание и использование FFI может быть не тривиальной задачей, когда дело доходит до чего-то большего, чем вызов одной...

Sysbox: Изолированный container runtime. Краткий обзор и настройка О Sysbox в 3-х предложениях:- Sysbox - это "VM-like" контейнеры с возможностью запускать внутри системный софт: Docker, Kubernetes, Systemd, вложенные контейнеры и т.д. - Любой софт, работающий на виртуальной машине, должен также работать в контейнере без проблем и с на...

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

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

Ремарки в Cisco IOS ACL Недавно встретил среди своей команды некоторое непонимание принципов работы ремарок в списках доступа. Ремарки расценивались, как еще еще одна строка с правилом. Не было понимания, как работать с блоками правил под одной ремаркой и т.п.Хотел найти внятное описание по этой те...

Как сэкономить на ресурсах с помощью модуля Terraform для AWS Spot Instance Иногда бывает довольно сложно сэкономить на Spot Instance Amazon Web Services (AWS). Не стоит забывать, что по сути это — аукцион. Цены хоть и не меняются так же резко, как на биржах, тем не менее могут расти, пока не достигнут ondemand. Бывает, что такое продолжается не ден...

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

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

Зачем CI/CD тестировщикам? Сейчас компетентность в сфере TestOps является таким же базовым требованием к QA-инженерам, как и написание автоматизированных тестов. Причина — в активном развитии CI/CD в проектах и необходимости QA-инженерам работать с пайплайнами (читать как "последовательность этапов в ...

[Перевод] Руководство по визуальному языку субтитров Эти рекомендации применимы к видимым субтитрам для телевидения или кино, к переводным субтитрам, субтитрам на YouTube, встроенным субтитрам для видео в социальных сетях и субтитрам в видеоиграх.Максимальное количество символов на строку и время показа субтитра ограничены, по...

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

[Перевод] Что такое MLOps и различные MLOps-инструменты  (часть 2) По сравнению с прикладным программированием общего назначения машинное обучение (ML) является относительно недавней областью исследования. Крупные инициативы в области ML сегодня поддерживаются как аппаратным, так и программным обеспечением, позволяя предприятиям принимать б...

Борьба с  TOAST или будущее JSONB в PostgreSQL В PostgreSQL есть два типа данных: JSON и JSONB. Первый формат является текстовым хранилищем, в котором json хранится "as is",  второй — бинарным, в нем ключи отсортированы  (сначала по длине ключа, а потом по его названию), дубликаты удалены, а пробелы удалены. Т...

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

Tcl/tk: интегрированная среда разработки TKproE-2.30 Прошло без малого пять лет как я впервые столкнулся с интегрированной средой разработки программ на tcl/tk TKproE-2.20. И вот апреле 2021 года вышла новая версия этого продукта — TKproE-2.30 и я полностью погрузился в её мир. Он меня заворожил. Название TKproE является аббре...

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

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

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

Кто нанимает в русскоязычные команды вне РФ и Беларуси? (апрель 2022) После 24-го февраля появились десятки каналов в Телеграме, постов на VC, Хабре, страничек в Notion, которые собирают компании с удаленкой и релокацией. Но я не нашел ресурсов или каналов, которые концентрируются на одном аспекте: русском языке общения в командах.На мой взгля...

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

[Перевод] Возможности Java — от Java 8 до Java 17 С момента появления в 1995 году до сегодняшнего дня в Java многое изменилось. Java 8 была революционным выпуском, вернувшим Java на пьедестал лучших языков программирования.Мы рассмотрим большинство изменений в языке Java, которые произошли с Java 8 в 2014 году до сегод...

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

Zynq 7000. Тестирование счётчика импульсов После небольшого (нет) перерыва в изучении Zynq и очередного прочтения своей предыдущей статьи, я отметил для себя очень важный момент - практически не отражено никаких результатов тестирования полученного поделия, кроме базовой проверки работоспособности. Во время подготовк...

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

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

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

Применение Rust в разработке: страдания и высокий порог входа. Григорий Петров разбирается, когда этот язык необходим Rust набирает популярность среди разработчиков. Мы, организаторы RustCon, решили опубликовать серию статей о том, по каким причинам компании начинают использовать его для своих проектов. Первая статья в серии - интервью с Григорием Петровым, DevRel из Evrone. Применять ...

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

О чём молчат джуны. 16 вопросов новичку во фронтенде Олег — фронтенд-разработчик в крупном видеосервисе (и попутно выпускник Академии). Он только недавно начал работать, но уже согласился ответить на некоторые вопросы от подписчиков нашего комьюнити-чата в Телеграме, которым интересно, как всё устроено в реальной работе.Что ну...

Дистанционная работа из-за границы, Проблемы с налогами В последние полтора года многие компании перевели своих сотрудников на удаленную работу. Часть из них, воспользовавшись возможностью, уехали работать в страны с более приятным климатом / интересной архитектурой. Статья для всех кто прожил или планирует прожить за пределами Р...

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

Django-sockpuppet, интересная альтернатива React, Vue, Angular или очередная заброшенная джанговская «батарейка»? Всем доброго времени суток! В данной статье я хотел бы очень кратенько, без подробностей рассказать про интересный проект, который будучи достаточно простым, сильно увеличивает возможности Django фреймворка. Мне он показался достаточно интересным. Сейчас хайп вокруг с...

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

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

Как отредактировать аудиодорожку прямо в браузере Мы уже рассказали о нескольких сервисах, которые позволяют записать семплы, биты и треки для своих проектов. Сегодня продолжим тему, но расскажем об инструменте, который позволяет работать с аудиодорожкой в браузере — AudioMass. Читать далее

[Перевод] Как собрать зловредный компилятор А вы знали, что бывает такая атака на компилятор через бэкдор, защититься от которой невозможно? В этом посте я покажу вам, как реализовать такую атаку менее чем в 100 строках кода. Кен Томпсон, создатель операционной системы Unix, рассказывал о такой атаке еще в 1...

Функциональный Kotlin. Часть 2. Каррированные функции и где они обитают Вторая статья из цикла о функциональном программировании на Kotlin с разбором принципа работы, концепции и способов применения каррирования на практике. Читать далее

Мой первый опыт решения неточных задач или почему стоит заниматься олимпиадами Решаем оптимизационную задачу с vk winter quest алгоритмами спортивного программирования Читать далее

Управление данными в системе автоматизации на Vue и Vuex и решение проблем тестирования с помощью Jest Привет! Меня зовут Артём Карачёв, я фронтенд-разработчик в Sportmaster Lab. Сейчас мы пишем модуль автоматизации физической фотостудии, где работают несколько фотографов, менеджеров, фоторедакторов, кладовщиков и других. Все фото кроссовок, которые вы видите в интернет-магаз...

Повышаем эффективность работы с Word В данной статье собраны основные операции и алгоритмы работы, позволяющие повысить эффективность разработки документации в редакторе Microsoft Word как индивидуально, так и при командной работе. Не рассматриваются подходы с использованием Markdown, Pandoc, Asciidoc и Conflue...

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

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

Лучшие одноплатники и парочка проектов на базе RP2040 весны 2022: что предлагают производители Одноплатные компьютеры опасны — стоит только увлечься ими и все, затягивает все сильнее с каждым днем. На их основе можно разработать множество DIY-проектов, от самых простых, домашних, до вполне себе промышленных систем, которые управляют чем-то важным. При этом одноплатни...

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

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

Каталог Goodram Industrial пополнил модуль памяти SODIMM DDR4-3200 объемом 32 ГБ Польский бренд коммерческой и промышленной памяти расширил предложение промышленных модулей памяти DDR4 еще одной моделью. Модуль DDR4 SODIMM с каталожным номером GR4S32G320D8I имеет объем 32 ГБ и работает на эффективной частоте 3200 МГц. По словам производителя, это &l...

Шейдеры в Unity — это не сложно. Часть 3 — добавляем блеска Всем привет! Благодарен всем за замечания и комментарии к предыдущим статьям. Благодаря всем нам мы наполняем интернет доступными знаниями и это действительно круто.Сегодня продолжаем разбираться с шейдерами, а именно с работой с освещением. В прошлой части мы разобрали тип ...

Databaser. Возвращение легкости стартапа Всем привет, меня зовут Александр Даниленко, я – ведущий разработчик отдела «Бюджет-Online». В компании «БАРС Груп» работаю уже 5 лет. За это время нам удалось успешно исправить некоторые сложности процесса разработки. Первая проблема, с который мы столкнулись – ра...

Альтернатива MapReduce при поиске в распределенной БД Привет, меня зовут Сатбек, я работаю в команде Tarantool. Расскажу, как реализовать в шардированном кластере поиск, скорость которого не зависит от количества мастеров и объёма хранимых данных. Условно назову этот способ индексным слоем:- Опишу общую схему построения по...

Эффективная генерация сортируемых GUID для первичных ключей БД на клиенте Использовать Guid.NewGuid() в качестве первичного ключа в базе данных — плохая с точки зрения производительности идея. Это связано с тем, что в SQL Server, MySQL и некоторых других БД для первичных ключей создаются кластерные индексы, которые определяют, как строки будут хра...

8 ферзей на AVR-ассемблере Фанатам ассемблера посвящается.Всем привет! Решил подключить матрицу светодиодов 8х8 и вывести на неё решение задачи о 8 ферзях. [Описание см. на Википедии]ПроцессорВ качестве процессора я выбрал компактный и шустрый процессор attiny85. Программа будет написана на ассемблере...

Python: самое короткое решение 41 задачи из проекта Эйлера Сегодня мы решим 41-ю задачу из Проекта Эйлера в 6 строк кода. Сделаем это сначала в развёрнутом виде, а потом максимально сократим решение. Читать далее

Мне за 50 и я айтишник: опыт против стереотипов Есть стереотип, что работа в IT — удел молодых. Якобы в зрелом возрасте труднее постоянно учиться, поспевать за новыми трендами и веяниями технического прогресса, находить общий язык с младшими коллегами. Но чем дальше развивается отрасль, тем очевиднее, что это представлени...

Методы масштабирования разрешения в играх DLSS, FSR и NIS: разбираем их особенности, достоинства и недостатки Рассматриваем различные методы масштабирования разрешения, включая Nvidia DLSS, AMD FSR и новый Nvidia Image Scaling (NIS), отмечая их достоинства и недостатки. Разбираемся в теории и на практике, какие из техник обеспечивают лучшее качество изображения, какие работают быстр...

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

Сотни тысяч школьников со всей России смогут научиться программированию онлайн за госсчет Как сообщает CNews , субсидия будет предоставлена на проведение двухлетних ИТ-курсов для всех российских школьников, учащихся в 8-11 классах, говорится в проекте постановления. В рамках этих курсов они будут обучаться современным языкам программирования. О каких именно языка...

Не вздумайте дарить мне эти телефоны! Иногда мне кажется, что мир сошел с ума, когда чуть ли не каждый день появляется новый смартфон. Не так давно вышел флагманский процессор Snapdragon 888, а ему на смену уже пришел Snapdragon 8 Gen 1, на основе которого будут работать топовые смартфоны 2022 года. Такое много...

Понимают ли собаки лай друг друга Редакция Вопросы и ответы 01.02.2022, 15:57 Понимают ли собаки лай друг друга Лай собаки — это выражение нынешнего эмоционального состояния. Безусловно, мы все понимаем, что примитивное «гав» — это не слово. Но могут ли псы понимать ла...

IO_URING. Часть 2. Let's GO Всем привет! Продолжаем разбираться с io_uring. Сегодня попробуем использовать io_uring для решения прикладных задач. А именно напишем полноценный TCP сервер. Для этого мигрируем наши приложения с C на GO. Не буду писать длинные вступления, вперед экспериментировать! Читать ...

[Перевод] Zython (python-wrapper для minizinc) после года разработки Более года назад я начал создавать оболочку python для [minizinc](https://www.minizinc.org/). Это, пожалуй, самый популярный инструмент [ограниченного программирования](https://en.wikipedia.org/wiki/Constraint_programming). Вы можете найти больше информации о том, что такое ...

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

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

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

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

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

Новая GeForce RTX 3050 за 65 000р vs GeForce GTX 1080 Ti с Авито – лучший выбор по тестам TG Какую видеокарту з этих двух купили бы вы? Давайте разбираться

GeForce RTX 3050 за 75 000 р vs Radeon RX 6600 за 62 000 р – оптимальный выбор по тестам TG Какую видеокарту купить, если у вас есть лишние деньги? Давайте разбираться

Выбираем лучший процессор ноября 2021 года до $300 – Core i5-12600K vs Ryzen 5 5600X от Tomshardware Какой процессор купить, если у вас бюджет ограничен 300 долларами? Давайте разбираться

Babel + core-js + IE = ??? Сегодня будет рассказ про фронтендерский зоопарк. Начну издалека.Если вы фронт, то вы знаете, что наш код читается многими браузерами. Вы так же знаете, что разные браузеры реализуют разные части стандарта языка. Вы так же знаете, что разные браузеры реализуют по-разному одн...

Пишем без Retrofit'а, Gson'a и Kotlin Coroutines Android приложение Порой нам хочется написать код без лишних библиотек, чтобы более глубоко понять основные принципы или просто ради интереса.В качестве примера я написал простое Android приложение, которое позволяет юзерам найти значение русского слова.Давайте остановимся на каждом моменте по...

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

Анимированный «AI да Пушкин» сочинит современные стихи по заданной фразе Команда банка «Тинькофф» продолжают развивать экосистему. На этот раз для «прокачки» разработок в области нейросетей был запущен проект «AI да Пушкин».  С точки зрения пользователей «AI да Пушкин» — это анимиро...

[Перевод] Война или мир: используем MATLAB и Python вместе Если вы студент, работаете в академической сфере или на производстве, вы, вероятно, сталкивались с ситуациями, когда вам нужно было объединить работу с более чем одного языка программирования. Это обычное дело в инженерных и научных приложениях, особенно когда они связаны с ...

Основы работы отечественных МК 1986ВЕ1Т с болгарскими отладчиками OLIMEX ARM-USB-OCD-H. Часть 1 — Первый запуск Во первых строках сего письма хочется сказать, что идея написать эту статью пришла из-за того, что волею судьбы мне пришлось работать с микроконтроллерами компании Миландр. Помимо того, что информации по сети не так много, она еще и достаточно разрознена. И все бы ничего - к...

Scala: Гексагональная архитектура и DDD на Free Monad в функциональном программировании Привет Хабр! Пятничного тру ФП хардкора с Free Monad, Таглес Финал, Монад трансформерами, Refined Types, Smart Constructors и прочим таким вам в ленту. Хардкор сам себя в ленту не принесет так что погнали. Гексагональная архитектура делит наш код на три основные части. 1) Pr...

Golang-дайджест № 10 (1 – 31 октября  2021) Свежая подборка новостей и материаловИнтересное в этом выпускеВыпущены Go 1.17.2 и Go 1.16.9, выпущен Ebiten 2.2.0 с поддержкой Nintendo Switch, анонс опроса разработчиков Go в 2021 году, какой роутер Go мне использовать, GoPlus (Go +)Приятного чтения! Читать далее

Вертел я ваши UIView Эта статья является логическим продолжением UIKit ты вообще про UI?Если вы ее пропустили, рекомендую сначала ознакомиться с ней. На всякий случай напоминаю, что весь графический интерфейс – это ответственность слоев (не вью!).Я люблю пользоваться инструментами разработки, ко...

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

ТЕСТ: Определите значения устаревших слов! Давным-давно люди называли предметы, явления и действия совсем другими словами. Язык менялся, какие-то выражения совсем перестали использоваться в речи, а у некоторых появились более понятные нам синонимы. В этом тесте мы собрали забавные устаревшие словечки и предлагаем вам...

[Перевод] Акторы Swift под капотом Акторы (Actors) — это фича, являющаяся частью структурированного параллелизма (Structured Concurrency) Swift, которая предлагает совершенно новый формат для написания и обработки асинхронного кода. Хотя они и являются чем-то инновационным для языка Swift, сама технология нов...

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

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

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

Radeon RX 6500 XT vs 20 актуальных игр – худшая видеокарта года или лучший бюджетный GPU в тесте TG На что способна видеокарта Radeon RX 6500 XT? Давайте разбираться

GeForce RTX 3050 vs GeForce RTX 2060 – лучшая видеокарта 2022 года или проходная модель в тесте TG Стоит ли вообще новая GeForce RTX 3050 вашего внимания? Давайте разбираться

GeForce GTX 1080 после майнинга vs GeForce RTX 3050 из магазина – оптимальный выбор по тестам Bk Какую видеокарту купить, если ваш бюджет ограничен? Давайте разбираться

Выбираем лучшую программу для майнинга Эфира на видеокартах GMiner vs T-rex по мнению SSm Какую программу выбрать для майнинга Эфира? Давайте разбираться

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

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

Как пользователи спасают психику техподдержке «Набить хай-ло» — программирование светодиодных индикаторов на корпусе для показа Hi или Lo в зависимости от нажатия кнопки «турбо», если кто-то такую ещё помнит. Один из моих первых тикетов в роли поддержки как раз закончился тем, что я сообщил пользователю, что осталось т...

[Перевод] Преодоление сложности в самом сердце DDD Эта статья является переводом материала «Tackling Complexity in the Heart of DDD».Давайте проведем небольшой эксперимент: попробуем объяснить суть предметно-ориентированного проектирования (DDD) тому, кто понятия об этом не имеет. Это, особенно если делать кратко, непросто. ...

FOSS News №104 — дайджест материалов о свободном и открытом ПО за 27 декабря 2021 — 16 января 2022 года Всем привет! Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире. Главные темы нового выпуска: Новости о распространении и борьбе с катастрофической уязвимостью в Log4...

Flutter for Desktop — новый подход к разработке приложений Язык программирования Dart был изначально разработан как перспективная замена JavaScript в веб-приложениях (с поддержкой асинхронности, потоков, классической поддержки ООП и возможностью использования строгой типизации), но, к сожалению, в этом качестве он так и не достиг зн...

[Перевод] Простейший вариант поиска пути: объяснение на Python Как именно мы находим выход из лабиринта? Как быстрее всего проехать из точки А в ближайшую пиццерию? Можем ли мы провести игрового персонажа к выходу так, чтобы он не уперся в стену?Поиск пути – типичная задача программирования, решаемая в самых разных ситуациях. Она извест...

[Перевод] Сравнение типов данных VARCHAR(max) и VARCHAR(n) в SQL Server Тип varchar(max) часто используется как в обычных, так и во временных таблицах. Да, с ним можно не беспокоиться о длине строк или появления ошибки "Произойдет усечение строковых или двоичных данных" (String or binary data would be truncated).Но стоит ли использовать varchar(...

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

Core i5-12600K vs Core i9-10900K – на что способен старый флагман за 50 000 р в тесте Benchmark Что купить сегодня при сборке нового ПК: Core i5-12600K за 27 000 рублей или Core i9-10900K за 50 000? Давайте разбираться

Radeon RX 580 с Авито за 40 000р vs новая GeForce RTX 3050 за 43 000р – лучший выбор по тестам Bk Какую видеокарту купить, если у вас есть всего 40 000 рублей? Давайте разбираться

Core i7-2600К vs 20 игр – на что способен старый флагман спустя 10 лет после выхода в тесте GECID Поможет ли старому процессору разгон? Давайте разбираться

Выбираем оптимальную недорогую видеокарту января 2022 г – GeForce 1050 Ti vs GeForce 1650 в тесте TG Какую бюджетную видеокарту купить, если у вас ограничен бюджет? Давайте разбираться

Майнеров из РФ отключают от пулов, мешая добывать Эфир на видеокартах Что в такой ситуации можно сделать? Давайте разбираться вместе

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

Пишем сервис на GO. Runtime контроллер и Graceful Shutdown Напишем вместе HTTP-сервис на golang с нуля? Я уверен, что это довольно несложно. Для тех, кто каждую неделю этим занимается, моя статья не будет особенно интересна, но я все равно рекомендую взглянуть и оценить, возможно, ваши комментарии спасут кому-то жизнь. А может кое-...

[recovery mode] Поддержка Arduino в ReactOS Вадим Галянт написал драйвер usbser.sys для ReactOS, и теперь (барабанная дробь) появилась возможность программировать платы Arduino в ReactOS. И да, на реальном железе, не в Virtual Box. Ну как.. теоретическая возможность на самом деле.Для программирования скетча Arduino и...

Из Java в Kotlin: туда и обратно В статье рассмотрены проблемы и решения, которые возникли при добавлении Kotlin в небольшой существующий микросервис на Spring Boot, написанный на Java. В рамках статьи не будут рассматриваться плюсы и минусы того или иного языка - здесь и так сломано много копий. В рамках п...

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

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

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

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

Как мы в QIWI внедряли Kotlin Multiplatform Mobile (KMM) Привет, Хабр!Меня зовут Кирилл Васильев, и я хотел бы рассказать, как мы в QIWI внедряли Kotlin Multiplatform Mobile (KMM). КММ — это технология кроссплатформенной разработки, позволяющая писать общий код под основные платформы за исключением UI-слоя. Все продукты со вр...

[recovery mode] Оконные функции SQL простым языком с примерами Привет всем!Сразу хочется отметить, что данная статья написана исключительно для людей, начинающих свое путь в изучении SQL и оконных функций. Здесь могут быть не разобраны сложные применения функций и могут не использоваться сложные формулировки определений - все написано м...

Как купить живую видеокарту после майнинга – торгуемся за каждый дюйм по методике VIK-off Можно ли купить видеокарту после майнинга, а после использовать её без проблем? Давайте разбираться

Криптовалютное законодательство в РФ появится в 2022 году, а Binance готова к диалогу с властями Что будет с криптовалютами в РФ, и как на это смотрят западные биржи? Давайте разбираться

Гостья из 2009 – на что способна старая бюджетная видеокарта GeForce GT 130 в 2022 году в тестах WG Можно ли вообще на GeForce GT 130 запускать игры в 2022 году? Давайте разбираться

Рынок криптовалют потерял $200 млрд, а эксперты Cryptonews ожидают падения Биткоина ниже $30 000 Что вообще происходит с криптовалютами, и чем всё может закончиться? Давайте разбираться

Почему GeForce GTX 1080 Ti горят во время майнинга Эфира – причины и описание проблемы от VIK-off Что происходит с видеокартами после майнинга? Давайте разбираться

GeForce GTX 470 спустя 12 лет – стоит ли покупать старую видеокарту на вторичном рынке по мнению WG Можно ли использовать старую видеокарту спустя 12 после выхода на рынок? Давайте разбираться

Биткоин и Эфир сильно подешевеют, а альткоины потеряют до 90% стоимости – эксперты РБК Что ждёт криптовалюты в ближайшие месяцы? Давайте разбираться

Биткоин дорожает, а аналитики РБК ожидают приближения бычьего ралли и затяжной коррекции в 2022 году Что ждёт Биткоин в ближайшее время? Давайте разбираться

Работодатели отчаянно хантят знатоков Python и Java Пандемия Covid-19 только усилила острую нехватку IT-кадров во всех отраслях российской экономики, а импортозамещение создает специфические запросы. Самыми частыми требованиями к потенциальным сотрудникам стали знание операционной системы Linux и обязательное владение языками...

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

[Перевод] Когнитивистика в гейм-дизайне: как сделать классную игру при помощи науки Когнитивистика часто используется в исследованиях аудитории игр: она позволяет выводить UI/UX на новый уровень, направлять внимание игроков и помогает им принимать нужные решения. Нашли статью, где рассматривается, что важно знать о работе мозга с точки зрения геймдева. Дава...

В софте все всрато и становится еще всратее Приветствую хабравчане!Глава 1 - Нытье про то, что раньше было лучшеДесяток лет читаю Хабр, в основном разработка, программирование, старое железо и посты с адовым рейтингом. Видел несколько постов об ожирении сайтов, софта. О разочаровании в программировании с 2000+ постов....

Делаем асинхронность асинхронной, разбираемся в планировщике Go, ругаем Linux В айтишном мире есть две весьма обсуждаемые темы:1. Что является главным недостатком в Go;2. Linux vs <что угодно>;В этой статье я попробую затронуть сразу обе, а также предложить решение проблемы, которая касается первой темы. Читать далее

Неидеальный руководитель: 8 причин почему так В мире огромное количество людей, которые стали руководителями, а потом перехотели ими быть — в чем дело?Когда мы молодые и амбициозные, то готовы брать все, что дают и радуемся любому повышению: «Вау, челлендж! Сейчас всем докажу! Я хочу быть руководителем, хочу власти и ус...

Знакомьтесь, MiSTer Я долго придумывал вступление к теме FPGA-реимплементации в контексте ретро, но это сложнее чем кажется. Давайте попробуем издалека. Сейчас электроника довольно неплохо стандартизирована, но ведь 40-50 лет назад ситуация была гораздо сложнее. То, что мы сейчас принимаем как ...

Кошелек с нуля в 2020 году: технологии, вызовы, решения Большую часть своей рабочей биографии я занимаюсь различными финтех продуктами – Яндекс.Деньги, 1ЦУПИС и так далее. Последние два года я разрабатываю очередное платежное решение и хочу рассказать о некоторых задачах, с которыми мы встретились. Но мне интересно рассказать не ...

[Перевод] Технология солнечных модулей из старейшей фотоэлектрической системы в Нидерландах Солнечная панель, выставленная в музее науки в Нидерландах, является одной из 2748, которые использовались для самой старой фотоэлектрической системы страны. Модуль имеет КПД около 9% и выходную мощность 18 Вт. Он был произведен немецкой компанией AEG-Telefunken в 1982 году....

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

Создание API на основе протокола MTProto В уже  далеком 2019 Telegram объявил конкурс на создание веб-версии своего мессенджера, в котором мне удалось поучаствовать. По итогу у меня осталась библиотека, которая может работать с API Telegram по протоколу MTProto. Полученный опыт вдохновил меня реализовать прото...

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

Можно ли сэкономить 25 000р в 2021 году на покупке видеокарты – iGPU Ryzen 7 5700G в тесте Benchmark Что если вместо относительно бюджетной GeForce GTX 1050 Ti взять интегрированную графику на процессоре Ryzen 7 5700G? Давайте разбираться

GeForce GTX 1080 Ti с Авито или новая GeForce RTX 3050 – оптимальный выбор по тестам SH На что способен старый флагман в 2022 году, и стоит ли его покупать на вторичном рынке? Давайте разбираться

Через сколько лет нужно менять процессор – Core i3-2120 + GeForce 1080 Ti vs актуальных игр от WG Стоит ли менять старый процессор, если вы покупаете мощную видеокарту? Давайте разбираться

Стоит ли покупать Shiba Inu и Dogecoin в 2022 г – эксперты РБК рассказали о судьбе собачьих токенов Что ждёт мемные криптовалюты в ближайшие годы? Давайте разбираться

Какую видеокарту купить, если у вас есть 50 000 р – GeForce RTX 3050 vs Radeon RX 580 в тесте TG Стоит ли покупать видеокарту пятилетней давности, или лучше обратиться за более новой к перекупщикам? Давайте разбираться

Как распознать в себе крутого программиста: 5 главных признаков Технологии IT/Игры 25.11.2021, 11:51 Как распознать в себе крутого программиста: 5 главных признаков В XXI веке фундаментальное математическое или инженерное образование не нужно тому, кто хочет стать крутым разработчиком. Способный пр...

Прототипирование процессоров Baikal на платформе Synopsys HAPS Если предыдущая статья про гибридное прототипирование https://habr.com/ru/company/baikalelectron/blog/582782/ описывала новаторское использование платформы HAPS, то сегодня мы расскажем в общем - что такое прототип, и какие традиционные подходы к  прототипированию испол...

4 года Q# В этой статье мы решили собрать все самые важные новинки в языке Q# за этот год. Среди них Azure Quantum, QIR Alliance, Python и многое другое. Подробности под катом.Здесь вы можете увидеть все примечания к выпускам за год. Читать далее

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

В какую крипту не страшно вкладывать деньги: выбираем самый надежный стейблкоин из USDT, USDC, BUSD, DAI, UST Окончательно разбираемся с выводами о том, какая криптовалюта наименее подвержена рискам внезапного и резкого обесценения; и в какой крипте риск санкционных заморозок минимален. Читать далее

Основы работы отечественных МК 1986ВЕ1Т с болгарскими отладчиками OLIMEX ARM-USB-OCD-H. Часть 2 — RAM & Interruptions Изначально вторая главазадумывалась только, как шпаргалка по работе из оперативной памяти, но делать и разбираться в этом не очень трудно. Основная "запара" может настигнуть несведущего именно при работе с прерываниями. Собсна, решено объединить. Читать далее

MoreliaTalk — безопасный мессенджер с открытым исходным кодом Привет, Хабр! Сегодня я хочу рассказать вам о проекте, над которым я и ещё несколько разработчиков трудимся уже около полугода. Этот проект называется MoreliaTalk. Что это же он из себя представляет? MoreliaTalk - это мессенджер с открытым исходным кодом, построенный на клие...

[Перевод] Rust — будущее инфраструктуры JavaScript Rust - это быстрый, надежный и экономичный, с точки зрения памяти, язык программирования. Его признавали одним из самых любимых языков программирования шесть лет подряд (на основании опросов).Созданный Mozilla, он теперь используется в Facebook,...

На какой ОС выгоднее всего майнить Эфир – Windows vs HiveOS vs RaveOS в тесте ПРО100М Есть ли смысл переводить свою ферму на малознакомую операционную систему? Давайте разбираться

10 лет на одной видеокарте – на что способен AMD FX 8350 + RADEON R9 290X в 2022г по тестам TG Можно ли вот так взять старый компьютер 10-летней давности и играть на нём в новинки 2021 и 2022 годов? Давайте разбираться

Можно ли собрать игровой компьютер без видеокарты – Core i5-12600K vs Ryzen 5 5600G от Benchmark Какой процессор купить, если вы пока не готовы тратиться на дорогую дискретную видеокарту? Давайте разбираться

Можно ли играть в игры без видеокарты – Core i7-12700K и UHD770 vs Ryzen 7 5700G и VEGA 8 в тесте TG Сможет ли встроенная графика на современных процессорах справиться с актулаьными играми? Давайте разбираться

Бомба сложности переносится, PoS под угрозой отмены – планы разработчиков Эфира на лето 2022 года Что вообще происходи, и когда майнинг на видеокартах запретят? Давайте разбираться

Core i9-12900KS vs Ryzen 9 5950X – кто самый быстрый настольный процессор на планете по тестам ТG Смогла ли Intel выпустить действительно самый быстрый процессор, или Ryzen 9 5950X до сих пор остаётся более производительным? Давайте разбираться

Биткоин и Эфир дешевеют, а Киты скупают цифровое золото с целью создать дефицит предложения на рынке Что происходит на рынке криптовалют 3 февраля? Давайте разбираться

SSD vs HDD – можно ли увеличить количество fps в играх благодаря переходу на SSD М2 по мнению SH Есть ли смысл геймерам переходить на скоростные твердотельные накопители? Давайте разбираться

Собственный голосовой помощник off-line Никогда не был любителем голосового интерфейса, но пробовал дома и Amazon Echo, и Алису. Все-таки очень долго это и недостаточно надежно - произносить фразу и думать потом - правильно ли меня поняли и всё ли сделано, как я хотел.Но после прочтения статьи и, главное, обсужден...

Захотели мы свой классифайд сделать на Vue и что у нас получилось Как обычно и бывает, долго мы не думали, появилось желание написать свою доску объявлений (классифайд или маркетплейс) каждый называет как хочет. Думали напишем за 1-2 месяца и выпустим, но все оказалось намного сложнее чем мы думали.Стек выбрали тот, с которым нам было комф...

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

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

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

Golang-дайджест № 14 (1 – 28 февраля  2022) Свежая подборка новостей и материаловИнтересное в этом выпускеВыпущены Go 1.17.7 и 1.16.14, Go 1.18 Release Candidate 1: Заметки, Самомодифицирующийся исполняемый файл на Go, Go Workspaces в Go 1.18, Gambit - шахматы в терминале, Подкаст - обсуждаем дженерики от Go Get Podca...

Terraform модуль для создания RBAC правил Начиная с Kubernetes 1.6, RBAC политики включены по умолчанию. К тому же использование этих политик помогает безопасно управлять вашим кластером. Раньше нам приходилось вручную создавать подобные политики, сервисные аккаунты и пользователей. Для каждого нового проекта мы п...

Музыка как код — опробовать концепцию можно прямо в браузере Существует множество языков для музыкального программирования. О некоторых из них, например, Sporth или ORCA, мы рассказывали в блоге. Сегодня поговорим о проекте Harmonicon — браузерном DAW, реализующем концепцию music-as-code. Читать далее

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

Топ-10 ошибок, найденных в C#-проектах за 2021 год За 2021 год разработчики PVS-Studio написали ряд статей, в которых разбирали странности, найденные анализатором в Open Source проектах. Год подходит к концу, а значит, пришло время представить традиционный разбор 10 самых интересных ошибок. Приятного просмотра! Читать далее

Как выложить свою первую библиотеку в open source Привет. Меня зовут Роман Аймалетдинов, я разрабатываю под Android в inDriver. Сегодня я решил поделиться своим небольшим знанием о том, как выложить в open source свой проект. Приятного чтения! Читать далее

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

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

Пишем свои модули для Ansible на Python Для жаждующих знаний и прогресса собрали материал из урока Дениса Наумова, спикера курсов Ansible и Python для инженеров. Немного разберёмся с теорией и посмотрим как написать модуль для создания пользователей в базе данных.Материал объёмный. Рекомендуем сразу открыть итогов...

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

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

Как стать миллионером купив мемную криптовалюту – изучаем советы экспертов РБК Можно ли увеличить свои вложения в мемную криптовалюту в тысячи раз? Давайте разбираться

Стоит ли покупать геймерский ноутбук для игр – GeForce RTX 3050 vs GeForce GTX 1060 в тесте TG Насколько быстрее окажется новая игровая видеокарта GeForce RTX 3050 чем старушка GeForce GTX 1060? Давайте разбираться

Эксперты РБК назвали причины падения Биткоина и ожидают дальнейшей коррекции криптовалюты Что будет с Биткоином в ближайшее время? Давайте разбираться вместе

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

Этих дракончиков не печатал только ленивый Эта модель уже стала классической.Печатались на эндере соплом 0,6 мм. Слой 0,15 мм, первый 0,3 - как рекомендовал автор. Отпечатала троих подряд из одной катушки "радужного" филамента PLA.Цвет довольно унылый, но и так сойдёт. У первого (самого красного) были проблемы с адге...

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

[Перевод - recovery mode ] Алгоритм поиска самой длинной подстроки палиндрома Поиск самого длинного палиндрома в строке за O(n). Читать далее

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

Градостроительная стратегия City Life привлечёт даже скептиков Издатель Zynga запустил в Юго-Восточной Азии проект City Life. Он предлагает строительство города, при этом всё выглядит и играется куда лучше «коллег по цеху». City Life — градостроительная стратегия, которая доступна на iOS и Андроид в Азии. Её выпустил Zynga, поэтому гра...

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

15 стран, 9 языков: трудности перевода одного iOS-приложения В 2017 году у Додо Пиццы появилось приложение для iOS на русском языке, а в 2019 его понадобилось перевести на румынский, а потом ещё на несколько языков. При этом ни одна строка не была обёрнута в макрос NSLocalizedString(…).В этой статье я расскажу, какие инструменты мы ис...

Terraform-модуль для инициализации Vault При настройке CI/CD для приложений мы в компании, как правило, используем Vault от HashiCorp. К тому же сами приложения зачастую используют Vault для хранения секретных данных. Но для того, чтобы начать использовать Vault, сначала необходимо произвести его настройку. Раньше ...

Интервью с iOS-разработчиком Мой путь в ИТ почти 20 лет, начинал с SQL/1С/эникейщика, потом немного .net, немного Java, ГИС, потом несколько лет менеджерская история в разработке, которую я прервал в 2016 году. До этого времени мой путь был скорее хаотичным и не спланированным. Далее я осознанно начал п...

Стоит ли переходить на более дорогую DDR5 в 2022 году – Core i5 12400F vs Ryzen 5 5600X в тесте TG Есть ли смысл переплаты за новую оперативную память стандарта DDR5, или стоит собрать компьютер на DDR4? Давайте разбираться

Российским программистам дадут отсрочку от армии и льготные кредиты – ключевые условия закона Что нужно сделать, чтобы получить отсрочку от службы в армии? Давайте разбираться

Утро 21 января Биткоин и Эфир встретили сильным падением – приход криптозимы или очередная коррекция Что происходит на рынке криптовалют, и почему Биткоин дешевеет? Давайте разбираться

Оптимальный процессор с интегрированной графикой осени 2021 года – AMD vs Intel по версии TG Какой процессор купить, если вы хотите играть в современные игры без вложений в дорогую дискретную видеокарту? Давайте разбираться

Стоит ли покупать дорогостоящий SSD для игр в 2022 году, или можно сэкономить на старом HDD – TG Есть ли вообще хоть какой-то смысл от покупки твердотельного накопителя для игр? Давайте разбираться

Как мы писали свой курс по Go и почему в итоге их получилось три В ноябре 2021 года Яндекс.Практикум запустил курс «Go-разработчик» для программистов, которые хотят добавить Go в свой стек. На курсе не рассказывают о базовых вещах, а сразу объясняют студенту, как переложить его знания в парадигмы Go. Меня зовут Алексей Полевой, я прода...

TRY / CATCH в PostgreSQL Во встроенном процедурном языке PL/pgSQL для СУБД PostgreSQL отсутствуют привычные операторы TRY / CATCH для для перехвата исключений возникающих в коде во время выполнения. Аналогом является оператор EXCEPTION. Читать далее

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

[Часть 1] Математика в АБ-тестах. Что такое z-score и p-value? Приветствую тебя, дорогой друг! Эта публикация была создана для тебя, если ты хотел бы разобраться с этими непонятными словами из заголовка раз и на всегда. Как с идейной, так и с математической стороны. Признаюсь сразу, в свое время в универе частенько прогуливал семинары п...

Видеокарта из магазина или на Авито у перекупщиков – Radeon RX 6600 vs GeForce RTX 2060 от Benchmark У кого цены сегодня лучше: в магазине или у перекупщиков? Давайте разбираться

[Перевод] State of the Web: Deno Deno — это современная среда выполнения JavaScript, конкурент Node.js, с планами внедрения таких функций, как безопасный ввод-вывод (secure I/O) и встроенная поддержка TypeScript. Deno построена с помощью языка Rust Райаном Далем — создателем Node.js. Background В докладе ...

Программирование в науке: полувековое легаси и Fortran 77 Александр Нозик, физик и программист, руководитель Nuclear Physics Methods Laboratory в JetBrains Research, заместитель заведующего Лабораторией методов ядерно-физических экспериментов и магистерской программой в МФТИ — о том, как перевести научный код на современный стек и ...

Лучшая игровая видеокарта до 100 000 рублей – Radeon RX 6600 XT vs GeForce RTX 3060 по тестам Bk Так какую из этих видеокарт купить здесь и сейчас? Давайте разбираться

God of War vs бюджетные видеокарты – считаем fps на GeForce GTX 1050Ti и GTX 1660S в тесте Benchmark Можно ли комфортно играть в God of War на бюджетных видеокартах? Давайте разбираться

Просто о современных концепциях шифрования в области Big Data Привет, Хабр!Сегодня мы с вами постараемся простым языком поговорить о том, как защитить свои данные в облаке, даже если оно полностью захвачено злоумышленниками. Читать далее

Руководство GNU troff Здравствуй, Хабр!Первая часть перевода документации troff в библиотеке Coolib. Сегодня этот замечательный текстовой процессор, старший брат LaTeX, редко упоминается на компьютерных форумах, однако история troff очень и очень достойная. Кроме всего прочего, troff компакт...

[Перевод] Работа с API на языке R, введение в пакет httr2 Цель этой статьи - показать вам основы httr2. httr2 - переосмысленная реализация пакета httr, т.е. интерфейс для работы с HTTP запросами на языке R.Из статьи вы узнаете, как создавать и отправлять HTTP-запросы и работать с полученными HTTP-ответами. httr2 разработа...

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

Российские геймеры переходят на бюджетные видеокарты – в тренде GeForce GT 1030 и GeForce GTX 1050Ti Какие видеокарты пользуются спросом у российских геймеров? Давайте разбираться

Пишем свой плагин для IDEA для поддержки нового языка (часть 1) В статье рассмотрено как создается языковой плагин для IDEA на примере учебного языка Monkey. Приведены примеры из других плагинов. Пишем на Java и Kotlin. Читать далее

gocorpus: открытый корпус Go кода, поддерживающий запросы На днях я запустил wasm-приложение, которое позволяет запускать gogrep шаблоны на относительно крупном корпусе Go кода (~11 миллионов строк кода). В этой заметке я напишу как этим пользоваться и зачем оно вообще может быть нужно. Звёздочки нести сюда Исходный код можно найти...

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

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

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

Zynq 7000. Прикручиваем Wi-Fi модуль RTL8822CS с использованием SDIO через EMIO Наконец-то пришла пора продолжить изучение возможностей платы Zynq QMTech и SoC XC7Z020. Следующая интересная задача, которую я для себя придумал в качестве обучающей - оснастить плату Wi-Fi модулем Realtek RTL8822CS и, если Wi-Fi модуль будет не нужен, а нужна будет ещё одн...

DDR5 vs DDR4 в играх на Core i9-12900K – сколько fps даст переплата в $150 в тестировании TG Стоит ли сегодня переплачивать двукратную разницу за новую оперативную память, или лучше посидеть на старой? Давайте разбираться вместе

Известный майнер посоветовал не покупать видеокарты для майнинга Эфира из-за наступления криптозимы Стоит ли в конце января инвестировать в покупку новых видеокарт? Давайте разбираться

Сколько ядер нужно современным играм – выбираем оптимальный процессор вместе с TG Хватит ли вам 4 ядра, или лучше взять новый дорогой 8-ядерный процессор? Давайте разбираться

Google выпустила первую бета-версию Android 12L — специальной версии ОС для складных смартфонов и планшетов Сегодня Google объявила о выпуске первой бета-версии Android 12L — операционной системы, призваннkй улучшить пользовательский опыт при работе на планшетах или смартфонах с большими складными экранами. Хотя первая бета-версия ориентирована в первую очередь на разработчиков, о...

Замедляет ли NVIDIA старые видеокарты – GeForce GTX 1060 с драйверами 2016 и 2022 года в тесте TG Что изменилось за эти годы? Стала ли видеокарта GeForce GTX 1060работать медленнее? А может быстрее? Давайте разбираться

В 2022 году видеокарты подорожают, а рекомендованная цена вырастет на 20% – Wccftech Стоит ли покупать видеокарту сегодня, или можно подождать до конца года? Давайте разбираться

Ищем замену дорогим видеокартам за 600 000р – на что способна GeForce GTX 770 за 13 500р в тесте WG Может ли видеокарта за 13 500 рублей тянуть все игры? Давайте разбираться

Криптовалюта Raptoreum оказалась невыгодной, а заработки на Ryzen 5950Х низкими – Dizzy Mining Можно ли сегодня заработать на майнинге криптовалюты Raptoreum на процессорах Ryzen? Давайте разбираться

Module Federation: простая загрузка динамических модулей Всем привет! Меня зовут Евгений, я работаю frontend-разработчиком в платформенной команде. Моя задача — помогать другим frontend-разработчикам выполнять их задачи эффективнее. Мы в Delivery Club больше года назад внедрили подход с микрофронтендами, о чём писали здесь. Вы мож...

Ещё о преподавании английского языка Какое-то время назад я начал собирать несостыковки между тем, что слышал от своих (и чужих) преподавателей и тем, что понял, изучая язык самостоятельно. Увидев недавно на Хабре похожий материал («Заблуждения об английском, которым нас научила школа»), я решил поделиться свое...

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

Docker, VSCode, GitLab и Office: бесплатные альтернативы популярным сервисам для программирования и работы В результате приостановки работы зарубежных компаний и отключения российских компаний от платежных систем Visa и MasterCard многие программисты столкнулись с проблемой доступа к привычным сервисам. Рассказываем о бесплатных альтернативах продуктам, которые уже недоступны для...

Фемида дремлет. Как работает обход защиты Themida Для подписчиковThemida или «Фемида» — одна из самых навороченных защит для софта. Вместе с WMProtect ее относят к настолько суровым протекторам, что некоторые программисты, которым жаль денег на честную покупку этих инструментов (а стоят они недешево), просто имитируют их на...

Публикуем проект с помощью Gradle и Sonatype в Maven Central без рук Это такое приятное чувство, когда ты закончил какую-то задачу. А особенно когда твой проект уже готов к релизу. Остался лишь последний шаг. Публикация проекта в Maven Central, имеено об этом я расскажу в этой статье. Как настроить Gradle, чтобы потом без труда настроить CI....

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

[Перевод] Как в PayPal разработали Dione — Open-source-библиотеку индексирования данных для HDFS и Spark Maksym Kaharlytsky on Unsplash Команда VK Cloud Solutions перевела историю о том, как инженеры PayPal столкнулись с проблемой обработки данных. Если пользователю требовалось получить определенную строку или выполнить многострочный запрос, данные нужно было дублировать, а д...

Насколько процессоры Intel стали быстрее за 12 лет – Core i7-860 vs Core i7-12700K в тесте Benchmark Может уже пришло время пересаживаться со старого процессора на новый? Давайте разбираться

Выбираем лучшие игровые видеокарты февраля 2022 года – оптимальный выбор по мнению Optimum Tech Какую видеокарту купить здесь и сейчас? Давайте разбираться

Можно ли собрать игровой ПК без видеокарты – Ryzen 5 5600G vs GeForce GTX 1050 Ti в тесте Benchmark Может ли сегодня интегрированная видеокарта заменить недорогую дискретную? Давайте разбираться

В рамках проекта Минцифры России состоялся запуск программы от ГК ЛАНИТ и “1С” Совместный проект “1С” и группы ЛАНИТ – компания “Мобильное Электронное Образование” – разработала курсы по обучению программированию, благодаря которым учащиеся школ могут бесплатно осваивать наиболее востребованные специальности. Проект получил одобрение Минциф...

Управление освещением через BLE Mesh Обзор возможностей BLE модуля JDY-10 на базе TLSR8266 с прошивкой поддерживающий mesh сети. Читать далее

Удивительная история Tether (USDT): люди отнесли $80 миллиардов пластическому хирургу, который не гарантирует их возврат В попытке избежать санкций Запада и контрсанкций со стороны РФ, многие россияне спешно переводят сбережения в криптовалюту. В этой статье я разбираюсь в финансовой надежности крупнейшего и старейшего стейблкоина USDT (спойлер: к ней есть серьезные вопросы). Читать далее

DDR5 vs DDR4 – какая ОЗУ даёт больше прибыли в добыче Raptoreum на процессоре Core i7-12700K Какую оперативную память лучше купить? Позволит ли новая DDR5 получать больший доход на процессоре Core i7-12700K? Давайте послушаем мнение блогера Dizzy Mining

Почему майнинг Эфира на видеокартах стал менее прибыльным – сложность добычи и сжигание $3.8 млрд Цена Эфира бьёт рекорды, а на доходах майнеров это не сильно отражается. В чём проблема? Давайте разбираться

Стоит ли становиться майнером в 2022 году – изучаем подводные камни Эфира и Биткоина с экспертами РБК Есть ли вообще сегодня смысл инвестировать в оборудование для добычи криптовалют? Давайте разбираться

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

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

Как приручить DDD. Часть 2. Практическая В прошлой статье я рассказал, как мы пришли к DDD и про его очень важную особенность — единый язык, на котором легче и дешевле разговаривать с бизнесом. Еще мы рассмотрели разработку, ведомую моделью. Когда вначале стоит не выполненная по требованию фича, а абстрактная модел...

Сколько всего Биткотнов у Сатоши Накамото – выясняем, как первый майнер cмог добыть $70 млрд Откуда у Сатоши Накамото 70 миллиардов долларов? Давайте разбираться

Бюджетная Radeon RX 550 из шкафчика – во что можно поиграть в 2022 году на старом GPU в тесте WG На что способна одна из самых бюджетных видеокарт 2017 года в современных играх? Давайте разбираться

Не запускается видеокарта после майнинга – удаляем кастомный BIOS на Radeon RX 570 вместе с DG В чём может быть причина нестабильной работы видеокарты после майнинга? Давайте разбираться

8 практичных товаров для дома с AliExpress. Оригинальный чайник и вешалка для ленивых Разбираем.

Как мы распознаем фото документов пользователей. Часть I Привет, Хабр! Я Илья, Junior Data Scientist в inDriver. В работе нам часто приходится распознавать документы водителей или пассажиров для их верификации в приложении. Наша команда выработала свой подход к идентификации текста и фото документов, которым мы хотели бы поделитьс...

Ускоряем java-рефлексию в 2022 После прочтения заголовка у среднестатистического читателя наверняка возникнет весьма логичный вопрос: «Кто такая эта ваша рефлексия и зачем её ускорять?»И если первая часть будет волновать только совсем уж откровенных неофитов (ответ тут), то вторая точно нуждается в поясне...

Kill them all! Приоритизация ИБ-инструментов Microsoft по Cyber Kill Chain Для подписчиковПочему-то принято считать, что для защиты серверов и сетевой инфраструктуры обязательно приобретать и настраивать сложные дорогостоящие программные продукты. Вместе с тем в арсенале Microsoft имеется множество инструментов безопасности, которые при правильной ...

Разбираемся с сессиями в SQLAlchemy В этой небольшой статье я хочу дать ответ на вопрос, который возник у меня, когда я познакомился с сессиями в SQLAlchemy. Если сформулировать его кратко, то звучит он примерно так: “А зачем оно надо вообще”? Меня, как человека пришедшего из мира джанги, сессии приводили в ун...

Генерируем Kotlin клиент по GraphQL схеме С одной стороны, GraphQL схема однозначно определяет модель данных и доступные операции реализующего ее сервиса. С другой, Kotlin предоставляет потрясающие возможности для создания предметно-ориентированных языков (DSL). Таким образом, возможно написать предметно-ориентирова...

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

Plantuml в работе системного аналитика. Пиши uml диаграммы текстом, чтобы сэкономить время Раньше я использовала для рисования диаграмм плагин в Confluence drawio или Microsoft Visio, который позволяет в графическом виде нарисовать диаграммы. Основная боль (для меня) у этих инструментов заключалась в том, чтобы поправить множество диаграмм надо открывать каждую, д...

PCIExpress 1.0 2.5GT/s analyzer на базе ПЛИС своими руками На работе я занимаюсь созданием PCIExpress устройств на ПЛИС. Некоторые из ПЛИС имеют встроенное PCIExpress ядро, позволяющее работать с этим интерфейсом на уровне пользовательского приложения. ПЛИС серии ECP5UM фирмы Lattice использует Soft-IP Core для реализации протокола,...

[Перевод] Создаем CLI-приложение с помощью React.js Приложения с интерфейсом в виде командной строки (Command-Line Interface — CLI) стали популярными в экосистеме разработчиков по целому ряду причин. Самые банальные из них — это простота использования (CLI) и то, что многие важнейшие инструменты разработки представляют из себ...

Энтузиаст улучшил штатный кулер Core i5-10400 при помощи бумаги и скотча – инструкция и подробности Как ощутимо снизить издаваемый шум штатным кулером? Давайте разбираться

Ищем бюджетную замену игровым видеокартам – GeForce GT 1030 vs Elden Ring в тесте WG Можно ли сегодня использовать для современных игр старую видеокарту GeForce GT 1030? Давайте разбираться

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

Игра с null: проверка MonoGame статическим анализатором PVS-Studio Анализатор PVS-Studio уже не раз был использован для анализа кода библиотек, фреймворков и движков для разработки игр. Пришло время добавить к их списку MonoGame – низкоуровневый gamedev-фреймворк, написанный на языке C#. Читать далее

[Перевод] Парадокс pull request-ов: как мы с ним справляемся Парадокс pull request-ов можно объяснить так. Я только что закончил писать код, который может хорошо сказаться на опыте наших пользователей, и хочу поскорее запустить его в работу. Мне нужна ваша помощь, но вы заняты и в большей степени склонны работать над собственным кодом...

[Перевод] Гайдлайны и бритвы компании Bungie по кодингу на C++ Для создания игры наподобие Destiny требуется много командной работы и мастерства. У нас есть талантливые люди во всех областях знаний, однако было непросто достичь уровня координации, необходимого для создания игры масштаба Destiny. Это похоже на то, как если бы группе лю...

Краткая история бензина: как он попал в нашу жизнь? Привет, Хабр! Как вы помните, с бензином мы связаны опосредованно. Но так как тема топлива в мире постепенно становится всё более горячей (no pun intended), мы решили рассказать вам в подробностях о том, как бензин вообще попал в нашу жизнь.Спойлер: очень извилистым путём, о...

Node.js: разрабатываем сборщик модулей Привет, друзья! Вам когда-нибудь хотелось узнать, как работают сборщики модулей (module bundlers) JavaScript типа Webpack или Parcel, что называется, под капотом. Если хотелось, тогда эта статья для вас. В данном туториале мы разработаем простой сборщик модулей на Node.js,...

Из Google Play пропадет множество приложений. Всё дело в ленивых разработчиках Ассортимент софта серьезно сократится

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

Использование Gatling. Разбираемся в тестировании HTTP Всем привет! Это команда тестирования производительности Тинькофф, и мы продолжаем цикл статей о Gatling. В предыдущей статье мы рассмотрели базовые возможности инструмента Gatling, узнали, как быстро создать шаблон gatling-проекта, и познакомились с новыми функциями би...

6 популярных криптовалют могут сильно подешеветь из-за ухода инвесторов по мнению экспертов РБК Какие криптовалюты имеют все шансы обвалиться в ближайшие дни? Давайте разбираться

Ищем альтернативу DDR5 для процессора Core i5-12600K – покупаем 2х16 Гб DDR4 с трёхкратной выгодой Оперативная память DDR5 стоит на Авито от 35 000 рублей и дороже. Что купить для новых процессоров Intel? Давайте разбираться

[Перевод] Баги в Hello World Hello World, должно быть, самая часто создаваемая компьютерная программа. Уже десятилетия это первая программа, которую пишут люди, когда начинают изучение нового языка программирования.Конечно же эта простая программа не должна иметь баги. Верно? Читать далее

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

Если моя машина мешает, работа над ошибками Известное эмпирическое наблюдение гласит, что 20 % усилий дают 80 % результата, а остальные 80 % усилий — лишь 20 %. Это Закон Парето. Примерно два года назад мы с Саней собрали бейджик «Если моя машина мешает», подробности можно найти в статье. Полу...

Security Week 43: функциональность трояна Trickbot В исследованиях вредоносного ПО часто разбирается метод первоначального заражения системы, так как именно он позволяет модифицировать протоколы защиты. Что происходит после взлома компьютера, в деталях анализируется не так часто. На вопрос «Что могут сделать злоумышленники п...

Kincony KC868-A8: старший брат из Ханчжоу. Часть 2. Программируем A8 В прошлой статье мы познакомились с контроллером Kincony KC868-A8 и его схемотехникой, в этой статье мы разберём программирование его функциональных блоков (входов, реле, температурных датчиков, Ethernet интерфейса и т. д.). Примеры кода из этой статьи вы сможете использов...

Фотоэлектрические модули для Sinopec будет поставлять Risen Energy Компания Risen Energy Co., Ltd., ведущий производитель фотоэлектрических модулей в Китае, выиграла тендер на поставку фотоэлектрических модулей TITAN мощностью 650 Вт для демонстрационного проекта компании Sinopec по производству зеленого водорода, который будет реализован в...

DDR5 vs DDR4 в играх и синтетике – стоит ли покупать новую ОЗУ прямо сейчас по мнению Gamers Nexus Насколько оперативная память нового поколения быстрее старой DDR4? Давайте разбираться

Сколько ядер должно быть у современного игрового процессора – 8 vs 16 ядер в тестах TG Достаточно ли для игр 8-ядерного процессора, или стоит платить за мощный 16-ядерный Ryzen 9 5950X? Давайте разбираться

Виталик Бутерин рассказал о опасности взлома Эфира хакерами с помощью «Атаки 51%» Реально ли взломать Эфир с помощью самой главной уязвимости всех криптовалют? Давайте разбираться

[Перевод] Как разработчику применять принципы лидерства Amazon Добрый день, меня зовут Павел Поляков, я Principal Engineer в каршеринг компании SHARE NOW, в Гамбурге в

Turbo Intruder и потерянное руководство пользователя Практически каждый, кто хоть немного пользовался Burp Suite, знает про Intruder – инструмент внутри Burp, который позволяет автоматизировать атаки на веб-приложения, такие как брутфорс, фаззинг, майнинг параметров.Однако, Intruder имеет много ограничений. Например, в Intrude...

ИИ-помощник Copilot от GitHub — как новый инструмент повлияет на работу программистов Летом 2021 года Microsoft и GitHub представили нейросетевого помощника программиста Copilot  на базе технологий компании Open AI. Авторы проекта научили Copilot премудростям работы с фреймворками и разным языкам программирования. После релиза системы было заявлено, что ...

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

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

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

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

Как я научился не волноваться и полюбил управление состояниями Flutter. MVI и Clean Code в комплекте Цель статьи — показать, как сделать ваш проект на Flutter более понятным для усовершенствования и удобным в сопровождении. Текст может быть полезным как для тех, кто только начинает изучать Flutter, так и более продвинутых пользователей, так как здесь мы рассмотрим актуальны...

Модуляризация DI в проекте с UDF-архитектурой Всем привет, меня зовут Юрий Трыков, я Head of Mobile в inDriver. В этой статье расскажу, как в рамках платформенной iOS-команды мы выстраивали модуляризацию DI-контейнеров в проекте, зачем вообще нам нужны DI-контейнеры и как настраивать взаимодействие UDF-компонентов и DI-...

[Перевод] Представляем MongoDB 5.2 Rapid Release Привет, Хабр. В феврале стартует очередной набор группы курса "MongoDB", в связи с чем подготовили для будущих студентов перевод статьи из официального блога MongoDB про релиз 5.2. Решили, что для читателей Хабра эта информация тоже может оказаться полезной, поэтому делимся ...

Почему я купил 32-дюймовый монитор 2К, а не новомодный 4К и есть ли смысл в переплате за 144 Гц Есть ли вообще смысл в покупке монитора с разрешением 4К и можно ли увидеть разницу между 1080р@74 Гц и 2К@144 Гц? Давайте разбираться вместе

Core i5-12600K vs Core i7-9700K – насколько быстрее стали процессоры Intel в играх в тесте SH Как себя чувствует процессор Core i7-9700K 2018 года выпуска в современных играх? Может быть уже пора бежать за новым Core i5-12600K? давайте разбираться

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

Как htmx помогает разработке на HTML htmx — инструмент для создания сложных и интерактивных веб-приложений на HTML, алтернатива клиентскому рендерингу на Javascript. В этой статье рассказываем, как библиотека помогает переиспользовать элементы на сервере, сократить объем кода на Javascript и отказаться от сборк...

Становление IT-шника Эта статья и не статья вовсе. А рассказ о жизни. Я такое обычно не пишу, потому что сложно рассказать о жизни так, чтобы не свалиться к нытью или в преукрашивание. Честный байопик создать сложно.Но после прочтения этой статьи и предыдущей статьи автора захотелось как-то отве...

Эзотерическая оптимизация газа в Solidity Программирование в Солидити отличается от других языков, так как каждое инструкция и байт памяти тратят газ - деньги пользователей. В сети уже есть много ресурсов с основными техниками оптимизации кода (например, стараться использовать calldata вместо memory), но я хочу пока...

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

Нет, правда, зачем нам TypeScript? Когда код на JavaScript содержит больше одного выражения, ну хорошо, больше трех, в нём можно легко запутаться. Выходов два — или добавить кучу проверок, но тогда код станет громоздким и его будет сложно сопровождать. Или можно добавить комментарии, но&nb...

Сокеты в Python, чат в 50 строк На очередной практике по Java, не предвещающей ничего необычного, преподаватель ворвался в аудиторию и с порога заявил: "Сегодня мы с вами познакомимся с сокетами и напишем прототип собственного чата"."А вечер-то перестаёт быть томным" - подумал я и не ошибся. Чёрт возьми, э...

Пишем свой плагин для IDEA для поддержки нового языка (часть 2) Продолжение статьи о создании языкового плагина для IDEA на примере учебного языка Monkey. Приведены примеры из других плагинов. Пишем на Java и Kotlin. Начало Читать далее

[Перевод] Наведите порядок! Очистка вашего PHP-приложения с помощью PHPStan За то время, что я работаю PHP-разработчиком, способ написания и доставки кода сильно изменился. В ранних приложениях Symfony и Zend Framework группы PHP-FIG не существовало, а стандарты кодирования определялись на усмотрение того, кто их писал. На протяжении тех лет, когда ...

TCL выпускает новые доступные телевизоры Google TV TCL выпустит доступные серии 4K-телевизоров P735 и C635 с уже установленным пользовательским интерфейсом Google TV. Обе модели P735 и C635 будут ЖК-телевизорами среднего класса с разрешением 4K и дисплеями с частотой 50/60 Гц. Доступные в размерах 43, 50, 55, 65 и 75 дюймов,...

Энергетическая теория обучения Главная суперспособность человека - это способность учиться. Если бы учиться было легко, то купил 3 книги по высокозарплатной тематике, обучился, и пошел зарабатывать миллионы. Но так не происходит. Учиться тяжело, а человек ленив и это биологическая данность. Мозг человека ...

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

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

OpenVPN от Ubiquiti до Mikrotik Рано или поздно в любой системе начинают появляться какие-то новые компоненты, с которыми раньше не приходилось сталкиваться. Так и в моем случае в парке удаленных маршрутизаторов Mikrotik под моим управлением появилось некоторое количество устройств Ubiquity, которые тоже т...

GeForce GTX 1080 с Авито vs новая GeForce RTX 3050 – оптимальная выбор для игр и майнинга в тесте Bk Стоит ли вообще покупать видеокарты на вторичном рынке, или лучше сразу взять новую по аналогичной цене? Давайте разбираться

Как мы используем LLVM для ускорения формирования отчётов Для бизнес-приложений очень важна возможность быстро сформировать нужный отчёт. Для этого, в частности, важно быстро получить результат запроса (часто – очень сложного запроса) к СУБД. Что не всегда просто, потому что с этой СУБД работают на чтение и запись тысячи (а иногда ...

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

[Перевод] Мозг птиц намного превосходил мозги динозавров В английском языке слово “birdbrained” (птичьи мозги) означает человека забывчивого и рассеянного. Однако 66 миллионов лет назад, возможно, именно они стали ключевым фактором, благодаря которому птицы остались единственными динозаврами, дожившими до наших дней. Читать далее

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

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

Undead Clash Zombie Games 3D доступна в ряде стран Undead Clash Zombie Games 3D появилась в Google Play, но только избранные смогут заценить проект. Undead Clash Zombie — это мобильный экшен, где мы отстреливаем зомби, отсиживаясь за укрытием. На данный момент доступна версия для Android, причём не во всех странах. Пока мож...

Почему не работает «Универсальноe управление» в macOS Monterey и iPadOS 15? Разбираемся Нюансов немало!

Цитирование в языках программирования Задачу я встретил, решая упражнения из книги Структура и Интерпретация Компьютерных Программ).Раздел 2.3 посвящён цитированию в LISP и символическим вычислениям.Обычные — несимволические — вычисления сводятся к расчётам с помощью арифметических операций. Если я поп...

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

Генератор дезинформации, топливо без выбросов и приближение лечения рака — 3 прорыва 2020-2021 В этой статье разберём три технологических прорыва 2020–2021 годов: генератор текстов на нейросетях GPT-3, экологически чистый «зелёный» водород и алгоритм AlphaFold 2, который решил сложную задачу биологии. Читать далее

Чемпионат Intel и «СберМаркет»: обучи ИИ-модель с помощью oneAPI и выиграй 1 млн руб. Партнёрский материал До 24 декабря 2021 года на площадке SberCloud DS Works проводится чемпионат Intel® и «СберМаркет» — участники должны решить практическую задачу по построению нейросетевой модели на основе исторических данных, которая предскажет, какие покупки совершит п...

[Перевод] Рисуем красивые трейсбеки, перехватывая исключения в Python Все мы тратим немало времени на отладку, копаясь в логах или читая трейсбеки (traceback, отчёты о трассировке стека). Любое из этих дел может оказаться сложным и длительным. Этот материал посвящён тому, как сделать трассировку стека и работу с исключениями как можно более пр...

От КАМАЗа до природного газа. Самые интересные статьи про дата-центры за год Привет, Хабр! В прошлом году мы много писали про дата-центры. Статьи про необычные локации ЦОД, новые технологии и личный опыт. Будем рады, если вы найдете материалы, которые еще не читали, и поделитесь мнением в комментариях. Приятного чтения! Читать да...

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

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

Как защитить сайты на PHP при помощи CrowdSec По данным статистики W3Techs, PHP применяется в 79% сайтов (о которых есть данные об используемых языках программирования). Для их защиты явно нужен собственный баунсер, и он уже добавлен в наш хаб! В этом посте поговорим о том, как этот баунсер может помочь защитить са...

Топ 40 наиболее выгодных видеокарт для майнинга Эфира осенью 2021 года по мнению Tomshardware Какую видеокарту купить, если вы хотите начать добывать Эфир уже сегодня? Давайте разбираться

GeForce GTX 650 Ti vs современных игр – на что способна старая видеокарта за 6000 рублей в тестах WG Можно ли сегодня запускать новые игры на видеокарте GeForce GTX 650 Ti? Давайте разбираться

Изучаем язык ассемблера на примере TSR программы под MS-DOS. Часть 1 Эта серия статей посвящена изучению и практике программирования на языке ассемблера.Материал рассчитан на новичков в ассемблере, студентов, которым пришлось столкнуться с «динозавром» в виде MS-DOS, и может быть интересен тем, кто хочет нем...

Какое разрешение монитора является оптимальным для современных игр – Full HD vs 8К в тесте Benchmark Есть ли разница между 4К и 8К и монитор с каким разрешением стоит покупать прямо сейчас? Давайте разбираться

Знакомство с .Net Compiler Platform .Net Compiler Platform, или Roslyn - это высокоуровневый API для анализа и рефакторинга кода, написанного на  С# и VB (языках .Net). С помощью Roslyn можно как создавать независимые инструменты анализа и рефакторинга, так и писать расширения, встраиваемые в Visual Studi...

[Перевод] Машинное обучение помогает в расшифровке древних языков Термин «Гуглоперевод» постепенно престаёт быть синонимом кривого дословного перевода текстов. Порой сложно догадаться, кто выполнил работу: машина или человек – качество стало действительно высоким. Это наводит исследователей на мысль: а не сможет ли ИИ помочь в расшифровке ...

oneTBB: интеграция и сборка через CMake Threading Building Blocks (TBB) — популярная библиотека для параллельного программирования на C++ с открытым исходным кодом, опубликована на GitHub. Пару лет назад команда разработки решилась на глобальный рефакторинг библиотеки (проект TBB revamp), в который удалось вписать...

Уязвимость и баги, стоящие денег клиентам. Разбираем модуль от CS Coding для CMS CS Cart На написание данной статьи меня вдохновила уязвимость в модуле "Авторизации по телефону", который разрабатывается и поддерживается CS Coding. Читать далее

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

Текстовая CAPTCHA в 2022 В этой статье я попробую пройти весь путь в распознавании text-based CAPTCHA, от эвристик до полностью автоматических систем распознавания. Попробую проанализировать, жива ли еще капча(речь про текстовую), или пора ей на покой.Впервые текстовая капча(text-based CAPTCHA), дал...

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

Особенности сканирования штрих-кодов в средней полосе России Привет, Хабр! Немного наболело, хочу поделиться. В серии материалов я освещу ряд аспектов мобильного компьютерного зрения по принципу “от простого к сложному в имплементации”, однако буду фокусироваться на сложных кейсах, которые выходят за грань банального “распознать QR-ко...

Рисуем диаграммы Mermaid.js в README-файлах GitHub 14 февраля 2022 года GitHub объявила о старте нативной поддержки диаграмм Mermaid.js в README-файлах GitHub. Нововведение помогло быстрее и эффективнее оформлять блок-схемы и графики для документации. До этого диаграммы вставлялись в виде изображений и если содержимое меняло...

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

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

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