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

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

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

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

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

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

Асинхронное программирование в однопоточных средах JavaScript Асинхронное программирование в однопоточных средах JavaScript Моя прошлая обучающая статья Введение в Redux & React-redux набрала больше 100к просмотров. Что же это не может не радовать меня. И поэтому я решил порадовать и вас написав очередную статью по JavaScript. Хотя...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Regex for lazy developers Регулярные выражения для ленивых людей?!Regex – это модуль вашего языка программирования который позволяет работать со сложными и большими строками просто! Давайте разбираться в них вместе. Приятного прочтения ;) Читать далее

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

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

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

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

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

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

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

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

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

[Перевод] React, AbortController и асинхронные onClick вызовы Добрый день, читатели Хабра, представляю вашему вниманию перевод статьи React, Abort Controller and onClick async calls Что такое Abort Controller в JavaScript Web Apps, как его использовать в React для прерывания асинхронных вызовов? Теория и некоторые примеры использова...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[Перевод] Туториал по JUnit 5  - Введение В этом туториале по JUnit 5 рассказывается о том, как JUnit адаптировал стиль кодирования Java 8 и некоторые другие функции. Узнайте, чем JUnit 5 отличается от JUnit 4.JUnit 5 - наиболее широко используемая среда тестирования для приложений Java...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Знакомимся с Javassist Всем большой привет! Перед началом стоит сказать, что библиотека Javassist довольно мощный инструмент, так как стирает почти все границы у того безграничного языка JAVA, позволяя разработчику осуществлять манипуляции связанные с байткодом.Конечно, получив доступ к байткоду, ...

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

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

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

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

Собираем компилятор для ПЛИС Lattice ECP5 в лице Yosys и NextPNR для работы в ОС Windows Наш цикл про ПЛИС Lattice ECP5 растянулся уже на шесть статей. Мы уже научились не только создавать простые проекты для них, но набили руку в разработке сложных систем на базе кроссплатформенной открытой среды LiteX. В целом, я уже набрал материалов, чтобы выдать инструкцию,...

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

Сам себе РКН или родительский контроль с MikroTik (ч.2) Вторая и заключительная статья в цикле организации родительского контроля на оборудовании MikroTik. Ранее подробно рассмотрены организация DNS, работа Firewall Filter и Ip Kid-control. В текущей части поговорим о прикладном применении маркировки трафика посредством Firewall...

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

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

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

Английский. Скрытый драйвер языка На какие вопросы отвечает эта статья1. Каков механизм восприятия языка “напрямую”.2. Как тренировать этот механизм.3. Как воспринимать английские слова как русские.3. Почему аудирование бесполезно.На какие вопросы не отвечает эта статья1. Как осваивать словарный запаса.2. Ка...

Потратить миллион, чтобы нанять двух джунов: профит и около него Привет, меня зовут Валерий Антонов, я руковожу направлением Java в Уральском банке реконструкции и развития (УБРиР). Осенью у нас окончилось обучение в двух школах Java. По итогам работы мы приняли в штат двух учеников школы Java, а несколько сотрудников банка сменили с...

Потратил 1 000 000 $, чтобы сделать свой переводчик. Продолжение истории Начало этой истории тут:https://habr.com/ru/post/492524/ ВступлениеЯ занимаюсь переводчиками с 2012 года, и эта тема выбрана не случайно. Еще тогда было замечено, насколько сильно переводы могут влиять на показатели бизнеса. В нашем случае поддержка всего 15 языков вмес...

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

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

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

Исследование: самые узнаваемые игроки IT-рынка России C 2018 года мы ежегодно проводим исследование технобренда hh.ru и других игроков IT-рынка. В этой статье мы поделимся с вами последними результатами. Осенью 2021 года мы опросили более 3 тысяч IT-специалистов, чтобы выяснить, насколько хорошо они знают о нас и других компани...

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

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

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

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

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

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

Том, Дик и Гарри. Что значат именные идиомы в английском и как их использовать Что общего у Джека, Тома и Боба? Верно, это самые популярные английские имена. Если вы работаете в международной компании, вы наверняка встречали хотя бы одного Боба или Джека среди коллег и клиентов. Эти имена настолько широко распространены в англоязычных странах, что давн...

Разбираем алгоритмы компьютерной графики. Часть 1 — «Starfield Simulation» Этой небольшой заметкой я хочу начать цикл статей посвященных алгоритмам компьютерной графики. Причем, не аппаратным тонкостям реализации этой самой графики, а именно алгоритмической составляющей.Действовать буду по следующему принципу: беру какой-либо графический эффект (из...

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

Синтезируем SystemVerilog код в OpenSource среде Yosys/NextPNR В предыдущей статье я поделился опытом работы с ПЛИС фирмы Lattice через инструменты с открытым исходным кодом Yosys и NextPNR. Как я отмечал, освоить их меня заставило не столько любопытство, сколько требования Заказчика. В том проекте у меня просто не было выбора. И та ста...

Пишем асинхронного Телеграм-бота Сегодня я покажу, как написать своего Телеграм-бота на основе asyncio и aiohttp. Мы не будем использовать ни aiogram, ни любые другие библиотеки, а напишем бота с нуля, чтобы немного познакомиться с асинхронным программированием, корутинами и некоторыми примитивами синхрониз...

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

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

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

Аналитика микросервисов. Практический опыт аналитика в enterprise Вместо введенияДля кого я решил написать? Данная статья, написана для моих коллег аналитиков или для тех, кто желал бы им стать. Если вы теперь захотели стать аналитиком, то подумайте хорошенько. Микросервисы. С хайпом вокруг них, лучше быть разработчиком, архитектором,...

Golang для Embedded Linux При разработке очередной платформы перед командой АТОЛ встал вопрос выбора языка программирования/стека технологий/железа/фреймворка для создания решений. Железо было выбрано на базе относительно недорогой Linux-платформы STM32MP153/512MB DDR3/8GB eMMC. Эта платформа имеет н...

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

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

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

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

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

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

Потрясающее будущее PHP-стека для карьеры Совсем недавно была позитивная новость о том, что компания JetBrains простимулировала создание специального фондаTHE PHP Foundation, который будет финансировать и координировать дальнейшее развитие PHP, как современного языка программирования. Эта отлична...

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

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

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

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

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

Почему я перешёл с Python на Go: choose your fighter Привет, Хабр! Меня зовут Саша, я бэкенд-разработчик в Ozon. Пишу платформу для контента, который генерят пользователи: отзывов, комментов, вопросов, ответов. Раньше я писал на Python. Выбрал его изначально из-за лёгкого синтаксиса и большого количества вакансий для Python-ра...

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

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

Сам себе РКН или родительский контроль с MikroTik (ч.3) В конце 2021 года был опубликован цикл статей, посвящённый родительскому контролю на оборудовании MikroTik. Ранее были подробно рассмотрены организация DNS, работа Firewall Filter и Ip Kid-control, возможности маркировки трафика посредством Firewall Mangle для решения указ...

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

[Перевод] Structured concurrency в Swift Примечание переводчиков: В Swift 5.5 появилась новая концепция языка async/await. Мы решили опубликовать перевод статьи, чтобы разобраться с structured concurrency.За время подготовки перевода оригинал успели переписать, и в статье ниже мы совместили обе версии: сначала идет...

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

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

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

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

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

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

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

[Перевод] Go: рендеринг изображений в 2D-играх на примере Ebiten В статье речь идет о Ebiten 1.10.Ebiten — это хорошо продуманная библиотека для создания 2D-игр, написанная Хадзиме Хошем на языке Go. С ее помощью созданы движки ряда мобильных и десктопных игр, как например зарелиженная в Apple Store Bear's Restaurant, или OpenDiablo2 — ре...

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

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

Как я игрульку создал: ч. 1 Предыстория и идея, ч. 2 Игрок и сборщик уровней Здравствуй, Хабр!Я хочу поделиться опытом в создании одной гиперказуалки. Сам я, правда, ещё совсем зелен и юн на этой тернистой тропе игроделания, но может кому-то станет интересно и он прочтёт цикл этих статей. Самого кода здесь не будет, а если и будет, то в очень мизерны...

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

Ускоряем прохождение iOS UI-тестов. Часть 1. Запускаем тесты без сборки проекта Хабр, привет!Меня зовут Борис. Я Mobile QA lead в Vivid Money.Это вступительная статья в цикле статей по iOS-автоматизации, в которых я расскажу о том, как ускорить прохождение UI-тестов.Данная статья будет полезна iOS-автоматизаторам с опытом, либо разработчикам.В рамках эт...

Руководство по Supabase. Часть 1 Привет, друзья! В этом цикле из 2 статей я хочу рассказать вам о Supabase — открытой (open source), т.е. бесплатной альтернативе Firebase. Первая статья будет посвящена теории, во второй — мы вместе с вами разработаем полноценное social app с аутентификацией, базой данных...

Kincony KC868-A4: ультимативный гайд. Часть 3: управление контроллером через Telegram-бота В предыдущей статье цикла о Kincony KC868-A4 было рассмотрено «атомарное» программирование компонентов этого контроллера, в этой статье будем разбирать более продвинутый пример работы с KC868-A4 — управление вашей (IoT) системой через интернет. Способов управления контрол...

[Перевод] Прогресс GC от JDK 8 до JDK 17 JDK 17 с нами уже несколько месяцев и он не только про новые возможности языка Java. Прирост производительности в сравнении с более старыми версиями JDK очень заметен. Это становится особенно очевидно, когда мы сравниваем его с предыдущими LTS версиями: JDK 8 и JDK 11. Больш...

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

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

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

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

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

LJV: Чему нас может научить визуализация структур данных в Java Эта статья является пересказом моего доклада на Java-конференции SnowOne 2021 года. LJV — проект, созданный в 2004 году как инструмент для преподавания языка Java студентам. Он позволяет визуализировать внутреннее устройство структур данных. В этом докладе я запускаю LJV на ...

Разворачиваем Golang приложение в Kubernetes В этой статье я хочу поделиться примером, как можно развернуть простое приложение на Golang в Kubernetes, с помощью helm чартов и skaffold скриптов. Думаю, данная статья может быть полезной тем разработчикам, которые только знакомятся с Kubernetes, а возможно и более опытным...

WireGuard клиент для Windows на основе BoringTun В начале 2019 года компания Cloudflare представила BoringTun, реализацию WireGuard протокола, написанную на языке Rust. Код проекта распространяется под лицензией BSD-3-Clause и включает в себя библиотеку, которая может использоваться для интеграции функц...

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

Циклы маршрутизации Добрый день! Меня зовут Александр Зубков, я работаю в Qrator Labs и сегодня я хочу поговорить о циклах маршрутизации. Читать далее

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

«Руби мистически жив»: как в СберМаркете превращают разработчиков других стеков в рубистов Ruby-разработчиков на рынке почти нет — на одну вакансию на hh приходится по одному резюме. Для других языков это соотношение 1 к 5. Чтобы восполнить нехватку рубистов, в СберМаркете переобучают разработчиков на другом стеке. Меня зовут Александр Бунтов, я руководитель груп...

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

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

25+1 лучших OSINT расширений для Google Chrome Здравствуй Хабр! А мы тут продолжаем цикл статей об OSINT и, самое главное, о полезных для этого нелегкого дела инструментах.Сегодня мы разберем расширения для Google Chrome которые помогут нам собирать и анализировать данные из открытых источников, ну и в целом улучшат наш ...

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

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

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

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

[Перевод] Введение в отладку на примере Firefox DevTools, часть 3 из 4 В третьей части ищем ошибку при удалении задачи из списка дел, и попутно путешествуем во времени разбираемся со стеком вызовов в отладчике. Читать про стек вызовов

[Перевод] Программирование с dplyr Большинство глаголов dplyr так или иначе используют аккуратную оценку (tidy evaluation). Tidy evaluation - это особый тип нестандартной оценки, используемый во всём tidyverse. В dplyr есть две основные формы tidy evaluation:Описанные концепции обращения к переменным таблиц д...

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

Асинхронному django быть. Эксклюзивно для Хабра Здравствуйте, читатели хаба про django. Эта статья о фреймворке для перфекционистов с дедлайнами, и о том, можно ли добавить в него асинхронность. Некоторые в курсе, что со стороны Django Foundation также есть некоторые усилия в этом направлении. Например, есть [DEP-09](http...

HTTP-заголовки в I2P. Почему HTTP-прокси предпочтительнее SOCKS HTTP-заголовки — неотъемлемая часть протокола HTTP, на котором работают почти все ресурсы в сети интернет, которые вы открываете через веб-браузер. В них передается пользовательский запрос на сервер и информация о клиенте: язык, версия операционной системы, версия веб-браузе...

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

Утечка сборки Android 13 с новыми функциями и небольшими изменениями Android 12L в настоящее время находится на стадии бета-тестирования, поскольку он направлен на оптимизацию работы пользователей с устройствами большего размера, такими как планшеты и складные устройства. Между тем, Android 13 «Тирамису» впервые появляется на сайте XDA-Develo...

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

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

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

#define CPP WTF Уже давным-давно я работал в одной крупной компании в должности C++-разработчика и столкнулся с одной очень странной ошибкой. Я написал примерно такой класс:class Foo { static void* operator new() { return ...; }; };И увидел огромный stack-trace ошибок о недо...

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

[Перевод] Почему сооснователь Wasmer ушёл из компании? 4 октября 2021 года — последний день работы одного из основателей Wasmer в компании. Wasmer — стартап, который разрабатывает очень популярную одноимённую среду выполнения WebAssembly. Речь пойдёт о том, чего автору статьи удалось достичь за время работы в компании. Это не те...

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

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

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

Ученые работают над созданием ИИ-переводчика, который позволит понимать язык китов Междисциплинарная группа ученых запустила проект по расшифровке звуков, издаваемых кашалотами. Инициатива называется Project CETI (Cetacean Translation Initiative). Цель – создать искусственный интеллект, способный расшифровать щелчки, которые кашалоты используют для общения...

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

Представлены умные часы NoiseFit Buzz Сегодня были представлены новые умные часы NoiseFit Buzz. Одним из уникальных преимуществ носимых устройств является функция вызова через Bluetooth. NoiseFit Buzz — это бюджетные смарт-часы с круглым циферблатом и кнопкой для навигации. Они оснащены 1,37-дюймовым TFT-дис...

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

Психовизуальная корректировка (Psycho Visual Tuning) в NVENC Привет всем!В этой статье пойдет речь о таком параметре в OBS как Психовизуальная корректировка (Psycho Visual Tuning) используемый в кодировщике Nvenc.Статья была создана для пользователей, которые хотят более подробно разобраться в кодировщике Nvenс для получения наилучшег...

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

Пользователи платформы Tele2 Skill могут изучать иностранный язык Мобильный оператор запустил новый курс видеоуроков для изучения английского языка на портале skill.tele2.ru.

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

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

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

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

Заплатка на асме. Создаем панель инструментов для Windows на Flat Assembler Для подписчиковВ этой статье я расскажу о том, как создать простое приложение — заготовку панели инструментов для рабочего стола Windows. По ходу дела мы вспомним Win32 API, разберемся, как его использовать на языке ассемблера, и познакомимся с Flat Assembler, который станет...

[recovery mode] Python: рефлексия Я пишу на Python примерно с 15-го года. Я определённо люблю его. Он так прост... В этом эссе я хотел бы вспонить, как начались мои взаимоотношения с этим замечательным языком, что за всё это время я узнал, что заставляло меня пищать от восторга, и рвать на голове волосы от р...

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

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

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

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

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

FFmpeg libav с нуля. Часть 1: знакомство и начало работы Всем привет! Сегодня я хочу открыть серию статей по изучению FFmpeg libav с нуля.Сразу уточню, что в основном статьи направлены на программирование, используя библиотеки libav*, где в качестве языка выступит С++.Отмечу то, что я не являюсь профессионалом в данной теме и моей...

[Перевод] Нужна система с низкими задержками? Выбираем Java вместо C++ Все разработчики знают, что есть два способа сделать дело: первый — вручную, медленно, нервно, сложно, либо второй – автоматизировано, быстро и еще сложнее. Например, я мог бы продолжить писать эту статью о том, почему стоит использовать Java вместо C++ при программировании ...

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

[Перевод - recovery mode ] Modula-3 — Исторический контекст 6 ноября 1986 года Морис Уилкс написал Никлаусу Вирту с предложением пересмотреть и стандартизировать язык Modula-2+ в качестве преемника Modula-2. Вирт благословил этот проект, и так родился комитет Модула-3.На первом заседании комитет единогласно согласился придержива...

Использование Jetpack Compose в продакшне: первые впечатления Мы в МТС Банке давно ждали релиза Jetpack Compose, чтобы использовать его в продакшне. В прошлом месяце такая возможность наконец появилась — мы решили обновить дизайн одного из экранов нашего приложения «МТС Банк для бизнеса» для Android. В статье я хотел бы поделиться н...

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

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

Проблема многоязычности Question Answering over Knowledge Graphs и новый датасет QALD-9-Plus, способный её решить Для разнородных групп пользователей (прим. язык, возраст), возможность одинаково эффективно взаимодействовать с веб-приложениями является одним из важнейших факторов такого понятия как "доступность" (англ. Accessibility). Это относится и к системам автоматического ответа на ...

Отказоустойчивая работа с клиентами: архитектура, немного кода, разбор проблем и асинхронные подходы Мы в Юле применяем подходы и паттерны, которые позволяют нам избегать проблем, связанных с интеграциями: создаем абстракции, где размещаем транспортный протокол и логирование, используем circuit breaker, обращаемся к асинхронным подходам, используя Kafka как шину данных. Пре...

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

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

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

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

Создание телеграмм-бота (Spring Boot, Kafka, PostgreSQL), часть первая Всем привет, данная статья является, своего рода моей первой, но все же постараюсь максимально просто рассказать вам о том, как создать бота, прикрутив к нему все обещанные выше свистелки-тарахтелки.Статьи будут разделены на 2 части, первая часть - создание основного бота с ...

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

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

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

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

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

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

Популярная лингвистика. Книги про языки, которые мне нравятся Количество атомов в наблюдаемой Вселенной — где-то 10^80, число Дэвидов на картинке к статье — 2. Количество книг в этой подборке находится между этими ориентирами и будет пополняться (всегда рад рекомендациям). Что же это за книги? Не будучи лингвистом, языки я люблю, поэт...

Gatling. Тестирование Kafka Привет! Меня зовут Александра, я работаю в отделе тестирования производительности Тинькофф. Мы продолжаем наш цикл статей, посвященных работе Gatling с различными протоколами. Ранее мы уже рассмотрели работу с HTTP, JDBC и gRPC. В этой статье поговорим о работе Gatling с Kaf...

Управляем подсветкой клавиатуры при смене языка ввода Недавно я купил себе клавиатуру от Corsair модели K55 RGB Pro. У нее есть модная нынче RGB-подсветка, а чтобы ее настраивать, производитель предлагает скачать программу iCUE. На сайте написано, что некоторые игры могут управлять подсветкой совместимых устройств. Я заинтересо...

Британский и американский английский – какой язык учить? Увлекательные истории из жизни слов Какой английский учить – британский или американский? Если назвать брюки trousers, поймут ли американцы, что я имею в виду? Елена Рабинович преподает английский язык разработчикам в ЕРАМ уже 5 лет и часто слышит подобные вопросы. В этой статье она ответила на них, а еще расс...

Консоли Sony PlayStation 4 и 5 получили украинскую локализацию По информации издания PlayUA, в последнем обновлении системы игровых консолей от Sony появилась поддержка украинского языка интерфейса.Теперь наслаждаться украинским языком интерфейса могут пользователи PlayStation 4 и PlayStation 5.Для изменения языка нужно установить после...

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

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

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

Agile скрам-разработка Эта статья не рассчитана на бывалых скрам-мастеров, опытных проект-менеджеров… А скорее для начинающих, тех, кто хотят открыть для себя эту нишу в ИТ.Agile методы - это альтернатива поэтапному управлению проектами. Поэтапная методика управления проектами завязана на менеджер...

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

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

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

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

ViT — на кухне фаворит Прошедший 2021-й год ознаменовался настоящей революцией в области компьютерного зрения. Трансформеры, подобно новым штамма Ковида, вытеснившие конкурентов в области обработки естественного языка (NLP) и задачах, связанных с обработкой звука, добрались и до компьютерного зрен...

[Перевод] Пишем чистый код при помощи деструктуризации объектов в JavaScript Сравниваем традиционный способ извлечения значений и деструктуризацию (ES6) в JavaScriptВ этой статье мы рассмотрим традиционное присваивание значений из объектов в переменные и новый синтаксис деструктуризации в ES6. Материал адаптирован на русский язык совместно с тимлидом...

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

[Перевод] Состояние PHP в 2021 году: тенденции в разработке и прогнозы развития В 2021 году благодаря его новым фичам и возрастающей потребности в безупречно проработанном цифровом взаимодействии с клиентами PHP продолжал жить и здравствовать. Что же ждет PHP в будущем?В этой статье мы рассмотрим текущие реалии PHP landscape 2021, ответим на некоторые о...

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

Unity «Best» Practices Эта статья родилась из внутреннего доклада для коллег, которые уже достаточно давно занимаются разработкой игр, но только недавно прикоснулись к Unity. Здесь мы собрали фишки и особенности работы с этим игровым движком разной степени капитанскости, почерпнутые из собственног...

Недорасшифрованные письменности Крита, Кипра и филистимлян. Часть 3: Формальный анализ, корпуса и палеография Пришло время вернуться к теме, отложенной из-за большого количества работы.Напомню, в первой части был рассказ о дешифровке древнейшей греческой письменности – Линейного письма В, исчезнувшего вскоре после Троянской войны, когда у дешифровщиков не было привычных «верных помо...

Изолируем микросервисы с помощью Feature toggles в ASP.NET Core. Практика Снова привет, Хабр! В первой части статьи мы разбирали, что такое изоляция микросервисов, как в этом помогают переключатели функциональности, и как создать простое ASP.NET приложение в с поддержкой feature toggles, которое будет показывать прогноз погоды. В этой части з...

Что лучше: Переводчик Apple, Google Translate или Яндекc.Переводчик В современном мире с необходимостью перевода сталкиваются все. Давно прошли времена, когда пользователь, увидев сайт в интернете на английском языке, закрывал его и искал отечественные аналоги. Еще бы: переводчик нынче встроен в браузер. Теперь любой текст можно перевести п...

Материализованные представления и ReplacingMergeTree в ClickHouse В этой статье будут описаны подводные камни, на которые я натыкался при использовании одновременно материализованных представлений и движка ReplacingMergeTree в ClickHouse (далее CH). Для опытных пользователей CH эта информация возможно будет уже не новой, но надею...

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

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

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

[Перевод] Вёрстка в 2022. Часть 1: Теория "Разработчик – это человек, который переводит мысли заказчика на язык машины" @mikita_duИдея статьи появилась год назад, думал назвать «Вёрстка в 2021», но как-то затянулось… Весной 2021 года Microsoft объявила, что с 15 июня 2022 года прекращается поддержка IE11 (да, не для...

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

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

Как применять Branch by Abstraction в проекте на примере Android-разработки Представим простую историю. Вы заканчиваете делать рефакторинг, которым занимались последние 2 недели. Вы хорошо над ним поработали, сделали несколько ключевых изменений в проекте. Делаете долгожданный pull request, и ... 12 конфликтов.Или другой вариант. Вы работали и посто...

От LiveData к Flow… Мы Дима и Настя, Android-разработчики в компании СберЗдоровье. В этой статье мы хотим рассказать о том, как мы перевели весь наш проект с LiveData на Flow, с какими трудностями столкнулись и что полезного узнали. Эта статья будет полезна тем, кто работает с LiveData, уже про...

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

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

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

Gatling. Тестирование JDBC Привет! Меня зовут Александра, я работаю в отделе тестирования производительности Тинькофф. Этот текст — часть цикла статей, посвященных тестированию производительности с помощью инструмента Gatling. В предыдущей статье мы с командой рассказали о работе Gatling с HTTP. Еще м...

Темное искусство функциональной верификации цифровых микросхем Сегодня, в субботу 26 февраля, на Сколковской Школе Синтеза Цифровых Схем Михаил Коробков проводит занятие по технологиям функциональной верификации: constrain solvers, cover bins и concurrent assertions. Примеры, которые мы подготовили для школы, вращаются вокруг протокола ...

7 принципов Agile из Agile Extension от IIBA Принципы — это те рельсы, которые направляют людей по жизненному пути. Международный Институт Бизнес-Анализа (IIBA) определил 7 главных принципов, которые указывают бизнес-аналитикам как работать приносить больше пользы команде и клиенту, делая меньше работы с большим к...

WhatsApp работает над функцией скорости воспроизведения аудиосообщения WhatsApp работает над внедрением функции, которая ускоряет голосовые сообщения во время их воспроизведения. Это будет работать аналогично тому, как голосовые заметки могут быть ускорены до 1,5 или 2 раз во время воспроизведения. Эта функция была замечена при тестировании на ...

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

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

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

Компьютер на логических микросхемах: исполнение инструкций Вторая статья про самодельный компьютер. Сегодня я расскажу вам про кодирование и исполнение инструкций, а также немного про программирование. Читать далее

Появились первые скриншоты и подробности о Android 13 Только вчера мы успели узнать о первой функции Android 13, как сегодня появилось намного больше информации о новой ОС, включая скриншоты. Итак, новая ОС будет иметь кодовое имя Tiramisu. Та самая функция Panlingual, которая позволит устанавливать язык дл...

CGTN представляет цикл фильмов Poetry Sans Frontiers на тему общечеловеческих ценностей ПЕКИН, 3 января 2022 г. /PRNewswire/ — Китайская медиакорпорация CGTN выпустила цикл фильмов на тему общечеловеческих ценностей под названием «Поэзия без границ» (Poetry Sans Frontiers). Трансляция пяти эпизодов велась на разных языках на каналах и новых медиа-пла...

SNS и SQS: разбираемся, какие есть способы обмена сообщениями в облаках Привет, Хабр! Сегодня поговорим о принципах асинхронной работы с сообщениями и их очередями в распределенной и бессерверной архитектуре. У Amazon для этого есть веб-сервисы Simple Notification Service (SNS) и Simple Queue Service (SQS): они позволяют обмениваться сообщениями...

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

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

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

[Перевод] Как сервис Repl.it (W18) хакнул хакеров Во время месячной атаки у нас были деньки передышки и мы умудрились сгонять на стартап-тусу от BloombergBeta. Хороший способ выпустить пар перед предстоящими бессонными ночами. (Repl.it — сервис, который позволяет писать код на большинстве языков прямо в браузере, без уст...

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

Репликация с нуля за 5 простых шагов (невозможна) Меня зовут Сергей Петренко, я работаю в команде кластерных технологий Tarantool. В прошлом году я рассказывал о том, как в Tarantool появилась синхронная репликация и поддержка автоматических выборов лидера на основе Raft. Теперь предлагаю погрузиться во «внутренности» репли...

Зачем прыгает быстрая коричневая лиса, или Панграммы в английском языке «The quick brown fox jumps over the lazy dog» — эту фразу на английском знают почти все, кто так или иначе имеет отношение к компьютеру.Это небольшое предложение, которое содержит все буквы английского языка. Лингвисты называют его «панграмма». Сегодня мы расскажем, для чего...

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

Книга «C# 9 и .NET 5. Разработка и оптимизация» Привет, Хаброжители! В этой книге опытный преподаватель Марк Прайс дает все необходимое для разработки приложений на C#. В пятом издании для работы со всеми основными операционными системами используется популярный редактор кода Visual Studio Code. Издание полностью обновле...

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

[Перевод] Запись Extended Events в таблицу Опубликовано 23 февраля 2022 годаАвтор статьи Gianluca SartoriВ этой статье описывается, как отловить все запросы, выполняемые на сервере, и сохранить данные событий xEvents в таблицу SQL Server. Последнее вызывает трудности при использовании стандартных целей для сессии рас...

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

Engineering Manager: Место в структуре организации, задачи, плюсы и минусы Данная статья поможет разобраться в том, что из себя представляет позиция Engineering Manager, причём тут Tech Lead и как с этим жить? Читать далее

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

Российские разработчики разделили 130 млн рублей за создание ИИ-ассистента учителя на ЕГЭ Об этом было объявлено в четверг, 3 февраля, на церемонии награждения в "Точке кипения - Коммуна" в Москве, сообщает пресс-служба Платформы НТИ. Победители разделили 130 млн рублей, общий призовой фонд конкурса составляет 255 млн рублей.Призовой фонд конкурса по ан...

Онлайн курс по C# от Veeam Academy Еще один курс по C# в онлайн формате. В чем фишка?Если кратко, то в том, чтобы продолжать заниматься любимым делом - развивать лучший курс для начинающих разработчиков на C# :).Veeam Академия стартовала в 2017 году и всегда проводилась исключительно в очном формате. Мы всегд...

Меняем стек с PHP на Golang, или Разработка под Kubernetes Привет, Хабр!На связи Паша Емельянов, тимлид в AGIMA. В этой статье расскажу, как на одном из проектов мы переписывали старый функционал, разработанный когда-то на PHP, на Golang, с какими проблемами столкнулись и как их решали. Статья будет интересна и начинающим, и миддлам...

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

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

Настройка cервера с помощью docker для простых проектов. Часть вторая: docker-compose Настройка cервера с помощью docker для простых проектов. Инструкция для самых маленьких. Часть вторая: docker-compose.Мы продолжаем цикл обучающих статей для самых маленьких наших читателей. В данном обучении мы бы хотели разобрать docker-compose. Данная статья рассчитана на...

Ложные друзья переводчика: 15 английских слов и фраз, которые не нужно переводить буквально Сегодня мы расскажем вам о главном неприятном сюрпризе для студента, который начинает изучать иностранный язык. Словарный запас еще небольшой, а тут встречается слово, которое сильно похоже на знакомое. К примеру, accurate. Человек сразу думает, что это «аккуратный». Ве...

Новая документация Docsvision ч. 2 — Antora Привет всем читающим! Меня зовут Владимир, я - технический писатель в компании Docsvision и я здесь, чтобы опубликовать вторую часть статьи и надрать задницу всем, кто ставил дизлайки к первой части. Статью вы можете найти ниже.В первой статье я рассказал, как мы выбирали SS...

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

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

Как не выйти в Window при работе с Window? Многие разработчики разбиваются о жизненные циклы onResume, onActivity, onCreate, которые связаны с отображением UI внутри приложения, будь то Activity или фрагмент. Некоторые методы работы со стремительно развивающимся андроидом приходится искать интуитивно, потому что офиц...

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

04. The Gold-Bug A good glass in the bishop’s hostel in the devil’s seat forty-one degrees and thirteen minutes northeast and by north main branch seventh limb east side shoot from the left eye of the death’s-head a bee line from the tree through the shot fifty feet out. ...

DevSecOps by Swordfish Security. Часть первая Меня зовут Юрий Сергеев, я основатель и управляющий партнер в Swordfish Security. С 2017 наша компания активно занимается проблематикой построения процессов разработки защищенного ПО (Secure Software Development Lifecycle). За прошедшие годы нам посчастливилось реализов...

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

Использование Crosstab в бесплатной библиотеке отчетности JasperReports В автоматизации отчетности очень часто используют открытую Java-библиотеку JasperReports, например статья Опенсорс-решение для автоматизации отчетности рассказывает об ее использовании для получения PDF форматов отчетности между делом упомянув о возможности экспорта в другие...

Физика в Python с использованием Pymunk Физика. Кто-то её любит, кто-то нет, но определённо это неотъемлемая часть нашего существования. В этой статье мы рассмотрим как самому создавать физические симуляции используя всего 2 библиотеки Python. К концу статьи мы сделаем интерактивную симуляцию взаимодействия тел и ...

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

Первый хакатон ВСК — от идеи до реализации В конце 21-го года состоялся первый хакатон в истории ВСК! Точнее - это был не совсем хакатон. А почему - читайте далее!Что еще вы найдете в этой статье:• все подробности организации;• цифры и сложности;• как создать почву для решения бизнес-задач;• как повысить лояльн...

Разработка и графических приложений в WSL2 Данная статья будет неким дополнением опубликованной ранее (не мной) статьи. Чтобы не повторять написанное, по ссылке выше есть информация о требованиях к работе wsl2 на windows 10, как его включить, настроить, обновить и запустить графическую среду. В текущей статье я расск...

Я у мамы программист: как найти лучший IT-курс для ребенка Технологии IT/Игры 17.02.2022, 13:12 Я у мамы программист: как найти лучший IT-курс для ребенка Авторы доклада НИУ ВШЭ «Универсальные компетентности и новая грамотность» считают, что в XXI веке умение программировать — такой же важный ...

[Перевод] Авторизация в PostgreSQL. Часть 2. Безопасность на уровне строк Приветствую вас в очередном разборе инструментов авторизации PostgreSQL. В первых двух разделах предыдущей статьи мы обсуждали, чем интересна авторизация в PostgreSQL. Вот содержание этой серии материалов: Роли и привилегии; Безопасность на уровне строк (мы сейчас здесь);...

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

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

[Перевод] Лучшие книги по Apache Kafka «Effective Kafka: A Hands-on Guide to Building Robust and Scalable Event-Driven Applications», «Kafka: The Definitive Guide» и другие издания.В этой статье я расскажу, как изучал Apache Kafka и с какими трудностями столкнулся. Я очень надеюсь, что мои наблюдения помогут тем,...

Русская озвучка для иностранных роликов: Яндекс запустил закадровый перевод ещё для трех языков Команда Яндекса объявила о запуске функции русскоязычной озвучки иностранных видеороликов ещё для трёх языков.  Напомним, в сентября автоматическая русская озвучка была запущена для видеороликов на английском языке, что позволило с большим удобством просматривать ...

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

Как устроена система игровых событий в проектах Playrix В продолжение темы нашего движка VSO, которую затронули ребята в статьях про разработку нашей «маленькой Unity» и про улучшение редактора, расскажу об одной из систем, относящихся к игровой логике. Это кросс-проектная система игровых событий GameEvents. Читать далее

Реализация алгоритма Краскала на С# В данной статье для реализации алгоритма будут рассмотрены:1. Система хранения графа на основе List<>2. Сортировка рёбер графа по весу3. Система непересекающихся множествНа просторах интернета есть множество ресурсов, посвященных данному алгоритму, однако все варианты ...

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

«ВКонтакте» добавила автоматический перевод публикаций с русского на английский язык Пока функция работает только в десктопной версии.

[Перевод] Находим более качественные решения при помощи boost Каждый C++-разработчик хотя бы слышал о Boost – это, пожалуй, наиболее распространенный набор внешних библиотек, используемый в мире C++. Истоки большинства стандартных библиотек восходят к Boost, поскольку многие разработчики Boost также входят в состав комит...

Как устроены облачные сети и чем они отличаются от On-premise Cloud Station — Photoshop Art by PhaseRunner Принципы построения облачных и On-premise-сетей различаются: в облаке много новых сетевых сущностей и подходов к построению инфраструктуры. Но новое не значит сложное. Меня зовут Болат Кажкенов, я архитектор VK Cloud Solutions....

Kubernetes Resource Model (KRM), или YAML всему голова Connections by GrahamSym. YAML (YAML Ain't Markup Language) — язык сериализации данных, который обычно применяется в файлах конфигурации, используемых в Kubernetes, Docker, Ansible и многих продуктах. Сейчас этот инструмент незаслуженно недооценен, многие просто не понимаю...

О чем расскажут на С++ Russia 2021 Уже скоро стартует С++ Russia. И в преддверии конференции хотим поделиться с хабражителями описаниями докладов.С++ Russia — это всегда хардкор. В этот раз поговорим про ассемблер, асинхронные движки с корутинами, исключения, GPGPU и многое другое. Будут и низкоуровневые опти...

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

(Net)-NT(LM)v[12] Очень часто встречаю, что люди путают разные типы хэшей и думают, что NTLM и NTLMv1/v2 это одно и тоже, а NTLMv1/v2 и Net-NTLMv1/v2 разные типы. Данная статья заметка предназначена для того, что бы разобраться со всем этим. Читать далее

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

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

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

TeamCity C# script runner На операционных системах Windows администраторы традиционно используют PowerShell как средство автоматизации. Хотя PowerShell имеет .NET в своей основе, синтаксис его сценариев отличается от языка C#, к которому привыкли разработчики .NET, многие из которых занимаются и наст...

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

NestJS + GraphQL + Lambda Цель данной статьи - создать GraphQL приложение, построенное на фреймворке NestJS. А также загрузить его в Лямбда-функцию при помощи Terraform. Надеюсь данный пример поможет многим сэкономить много времени. Читать далее

67% родителей школьников связывают их будущее с ИТ-сферой Об этом сообщил заместитель Председателя Правительства Дмитрий Чернышенко по итогам опроса, организованного Минцифры России и Университетом 2035."Сфера информационных технологий - одна из наиболее активно развивающихся отраслей экономики. Наша задача - подготовить для ...

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

Что нужно знать про Postman: максимально коротко о Mock Servers, Flow и Visualize На просторах интернета часто встречается информация о платформе Postman. Большинство статей включают информацию о переменных, различных скриптах и автоматизации при тестировании. Но на самом деле Postman – это не только инструмент для тестирования, а платформа, которая помог...

Однопоточный JavaScript и многопоточная Java: что быстрее? Асинхронное выполнение на Java и JavaScript При необходимости в JavaScript можно запускать дополнительные потоки. Но обычно в Node.js или в браузерах весь код на JavaScript выполняется в одном потоке. В браузерах один и тот же поток рендерит содержимое веб-страницы на экран...

C++ Builder. Есть ли жизнь после смерти? Мнение одного динозавра В этой статье я опишу собственные впечатления о последних версиях среды разработки RADStudio от Embarcadero и, возможно, постараюсь помочь кому-то в ответе на вопрос: «А оно мне надо?».Сразу оговорюсь. Все описанное в этой статье является моим личным мнением и любые сравнени...

HAProxy, Nginx и Docker: как это сделано в Roxy-WI Продолжаем цикл статей о возможностях Roxy-WI. Сегодня мы поговорим ещё об одном важном наборе функций, связанных с управлением сервисами (а именно ― HAproxy и Nginx) в docker-контейнерах. Мы старались сделать эту функцию максимально простой и удобной в использовании. О том,...

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

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

Загрузка stage слоя DWH. Часть 1 Доброго дня. Меня зовут Иван Клименко, я разработчик потоков обработки данных в компании Аскона. В этом цикле статей я расскажу опыт внедрения инструмента Apache Nifi для формирования DWH. Данная статья посвящена первому этапу внедрения Apache NIFI - начальным потокам в...

Оптимизация рендеринга React-компонентов: как не навредить Всем привет! Если вы используете React для создания UI, то уверена, что вы слышали о таких понятиях, как PureComponent, memo, useCallback и прочих возможностях, которые нам предоставляют создатели библиотеки для оптимизации наших приложений. Разработчики React уже позаботил...

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

Страх и ненависть в RouterOS: что такое сетевое соединение в ядре Linux (часть 3 — NAT и сетевые соединения) В статье рассмотрено понятие «соединение» для TCP и UDP протоколов в ядре операционной системы Linux на примере работы оборудования MikroTik. Дополнительно рассматриваются особенности работы технологии NAT в указанном контексте. Материалы носят в основном теоретический хара...

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

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

Сломать объект с помощью финализации Вчера перевели в статус Candidate новый JEP 421: Deprecate Finalization for Removal. Путь к удалению механизма финализации из Java начался в Java 9, когда метод Object.finalize() был впервые объявлен deprecated. Рано или поздно механизм исчезнет из Java, поэтому если вы его ...

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

Назло локдаунам: Apple запускает сервис Fitness+ в России, заодно и английский подтянем Компания Apple объявила новость, которая порадует многих российских пользователей на фоне ужесточающихся мер по борьбе с коронавирусом — сервис Apple Fitness+ начинает предоставляться в России, а также ещё 14 регионах.   Apple рекламирует Fitness+ в России И...

Security Week 2209: криптография в смартфонах На прошлой неделе исследователи из Тель-Авивского университета опубликовали научную работу, в которой сообщили об обнаружении серьезных недостатков в системе шифрования данных смартфонов Samsung. Уязвимости, на данный момент исправленные, были найдены в защищенном приложении...

Ruby-Дайджест за неделю (27 дек. — 3 янв.) В этом дайджесте:• Обновление популярных гемов.• Статистика по гемам за год.• Интересные open-source проекты на GitHub #2.• Подборка полезных гемов #2.• Интересный контент, связанный с Ruby.• Рейтинги языка за 2021 год. Читать RubyDigest

Распределённые транзакции Kafka + PostgreSQL средствами Spring Как известно, во многих IT-проектах есть типичная задача -  транзакционная обработка данных в интеграционных сценариях, когда необходимо согласованно отправить или принять данные из внешней системы и при этом обновить собственное состояние приложения.Особенно интересной...

Computer Vision для iOS, Android, Web Привет, я Денис Соколов, руковожу R&D в Zenia — это платформа для йоги и фитнеса, которая использует ИИ для трекинга поз человека (подробнее об этом — в другой моей статье). Наша система распознавания работает на трёх платформах — iOS, Android, Web. В этой статье поговор...

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

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

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

Что смотрели и читали по PHP в 2021: список от сообщества В декабре прошел второй ежегодный опрос русскоязычного PHP-сообщества. Ответов удалось собрать в два раза больше, чем годом ранее — больше трех тысяч. Конечно, снова спросили у ребят про статьи и видео, которые запомнились за год.Как собирались мнения и кто проходил опросСсы...

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

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

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

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

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

«Технотекст»: FAQ, интриги и немного внутряка Всем привет! «Технотекст» должен был завершиться сегодня. Но раз история хорошая, почему бы и не растянуть удовольствие? Раскрою первую интригу: приём работ продлён до 20 апреля. Раскрою вторую — внутри статьи есть прототип «кубка» конкурса. В остальном — ответы на популярны...

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

Интеграция amoCRM с сайтом API AmoCRM одна из самых популярных CRM, при этом ее API один из самых странных, по моему субъективному мнению. Понадобилось передавать формы с сайта в crm. Использовать CRM Формы вместо своих дизайнерских не хочется. Было бы здорово открыть статейку в гугле, подставить ключ и н...

Трудности перехода: каков Elixir на вкус после Ruby Привет! Меня зовут Наталья. В Каруне я пишу в команде высоконагруженные сервисы на Elixir. Это третья компания, в которой я работаю на Elixir. До этого я писала на Ruby. Если посмотреть свежее исследование Хабр Карьеры по зарплатам, можно увидеть — зарплаты рубистов растут, ...

Особенности функций Mikrotik script. Сode из :parse Исследование функций и скриптов в Mikrotik script. Рассматриваются разные способы создания и вызова функций и скриптов с передачей в них параметров. Оператор :parse и особый тип данных code. Читать далее

Windows 11: минусы дизайна В этой статье мне бы хотелось поделиться пользовательским опытом, связанной с Windows 11, которой я на момент написания статьи пользуюсь примерно месяц с лишним. Читать далее

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

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

Конкурентный анализ приложений из App Store на основе открытых данных В этой статье я покажу, как можно без программирования парсить, анализировать и визуализировать данные из RSS- и Atom-лент на примере загрузки и парсинга фида Apple iTunes, а также проведения последующего конкурентного анализа приложений. Представим, что мы собираемся публик...

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

Отдаю NFT за 880 миллионов долларов «Код — это единственный закон, которому подчиняются цифры» Если вы читаете этот текст, но ни разу не слышали про NFT, то, наверное, вы моя мама (мама, привет). Про этот феномен уже должен был кто-то написать человеческим языком без пустых восторгов и пересказывания мифов, н...

Как создать telegram бот на C# быстро? Как создать telegram bot на C# быстро?В этой статье мы рассмотрим заготовку для создания telegram бота на C#. В связи с последними обновлениями TelegramBotAPI, большая часть удачных с моей точки зрения публикаций на эту тему несколько устарело. Потому предлагаю разобраться в...

Microsoft выпустила Windows 10 Build 19044.1499 для инсайдеров в Release Preview Channel Компания Microsoft выпустила Windows 10 Build 19044.1499 (21H2) (KB5009596) для Release Preview Channel для инсайдеров, которые работают на Windows 10. Это обновление включает следующие улучшения: • Исправлена проблема в Microsoft UI Automation, из-за которой приложение Micr...

[Перевод] Синхронные и асинхронные стектрейсы: опыт использования в Facebook Здесь мы подробно поговорим о том, каковы технические отличия между реализацией асинхронных стектрейсов по сравнению с реализацией традиционных стектрейсов, а также с какими сложностями можно столкнуться, реализуя такие асинхронные стектрейсы поверх корутин C++. Читать далее

Создаем и тестируем свой plugin для Gradle 7.0+ Система сборки проектов Gradle стала значительной вехой в эволюции инструментов подготовки артефактов и заменила во многих проектах ранее популярный Maven (который ранее стал заменой для make и ant). Де-факто Gradle является стандартом для сборки проектов для Android, но в д...

Do you speak... 10 островов с уникальными языками Наука Гуманитарные науки 01.04.2017, 15:00 Do you speak... 10 островов с уникальными языками Сегодня на Земле насчитывается примерно 6000 языков. Они подвергаются постоянным и порой значительным изменениям – особенно там, где носители ...

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

Эволюция рекомендаций в Delivery Club. Часть 2 Всем привет! Это вторая часть статьи об изменении подхода к рекомендациям в Delivery Club. В первой части я подробно описал текущие проблемы нашей рекомендательной системы: локально оптимальный баланс exploitation и cold start, а также недостаточно развитый механизм explorat...

Как снова начать читать книги, а не ленту. Часть 1 За последние полгода я прочитала около 20 книг и перечитала ещё десяток старых и любимых. Это не то чтобы очень много, но в пять раз больше, чем я прочитала за полгода перед этим.Зачем вообще читать книги, а не ленту, лонгриды или смотреть сторисы? Сейчас даже довольно сложн...

Заклинания из Гарри Поттера на Айфоне. Как пользоваться и добавить свои Все любят Гарри Поттера. А те, кто не любят, просто его не читали. В Apple, например, точно читали. Потому что в одном из последних обновлений Siri неожиданно научилась заклинаниям из истории о мальчике, который выжил. Теперь достаточно вызвать голосового ассистента, произв...

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

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

О судьбе отечественного оборудования для сетей 5G. Часть IV Что есть базовая станция 4G/5G И снова здравствуйте!Первая часть. Обзор РынкаВторая часть. Внешние и внутренние противоречияТретья часть. Основные действующие лицаИтак, на данный момент мы рассмотрели телеком рынок России, выявили основные тенденции его развития, а также обозначили главных действующих суб...

Big O нотация в Swift Данная статья поможет начинающим iOS разработчикам разобраться в производительности алгоритмов в Swift.Обозначение Big O нотация (или просто Big O) — это способ оценки относительной производительности структуры данных или алгоритма, обычно по двум осям: времени и пространств...

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

Как белорусы уже 30 лет делают искуственный интеллект при помощи ТРИЗ «Это не программисты, это не разработчики, это — камикадзе.» Минские студенты в 1987 году во главе с Валерием Цуриковым принялись программировать «Изобретающую машину» — софт, который бы усиливал интеллект инженеров и помогал изобретать. Кооператив был успешен и захватил...

«Горячие» и «холодные» Feature toggles: принципы работы В этой статье мы расскажем про принципы безопасной работы с переключателями функционала – Feature Toogles:  — Что из себя представляют переключатели функционала и для чего их использовать. — Какие проблемы возникают при неправильном использовании. — Что такое «горячие» ...

FOSS News №93 — дайджест материалов о свободном и открытом ПО за 18—24 октября 2021 года Всем привет! Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире. Главные темы нового выпуска: OS DAY 2021: отчёт с двух дней конференции. Власти предложили российским ...

6 функций iOS 15, которые не работают в России Функции iOS 15 рассмотрели практически под микроскопом и рассказали даже о самых незаметных. Энтузиасты даже попытались создать джейлбрейк для iOS 15, но пока всё тщетно. По сложившейся традиции Apple либо отключает, либо не добавляет некоторые функции для жителей России. С...

Почему с возрастом люди разучиваются читать правильно Психолингвисты из Центра языка и мозга НИУ ВШЭ обнаружили, что пожилые люди хуже молодых могут понимать смысл прочитанного текста. Учёные нашли этому объяснение.

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

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

Как мы отказались от JPEG, JSON, TCP и ускорили ВКонтакте в два раза На протяжении всей жизни мне приходится экономить вычислительные и сетевые ресурсы: сначала были компьютеры с 300 кГц (кило — не гига!) и 32 Кбайт RAM, интернет по dial-up. Потом я решал олимпиадные задачки. Теперь имею дело с терабайтами трафика и 50 млрд событий в сутки. И...

Создание dungeon crawler'а с LeoECS Lite. Часть 1 Друзья, это начало нового цикла статей про создание игры жанра dungeon crawler с использованием фреймворка LeoECS Lite, и его задача – помочь вам быстро разобраться, как на практике применить LeoECS Lite для разработки игр на Unity и решить некоторые виды проблем. Перед чтен...

Книга «Python и DevOps: Ключ к автоматизации Linux» Привет, Хаброжители! За последнее десятилетие технологии сильно изменились. Данные стали хитом, облака — вездесущими, и всем организациям понадобилась автоматизация. В ходе таких преобразований Python оказался одним из самых популярных языков программирования. Это практичес...

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

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

Подводные камни бенчмаркинга в .NET: фрагмент книги Андрея Акиньшина Андрея Акиньшина @DreamWalker хорошо знают в .NET-сообществе: он мейнтейнер BenchmarkDotNet и perfolizer, член программного комитета нашей конференции DotNext, автор книги Pro .NET Benchmarking о том, как правильно бенчмаркать.А теперь эта книга есть и на русском языке — ее ...

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

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

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

«Башня из грязи и веток» — номинант на «Небьюлу» от русского программиста Ярослав Барсуков — российский программист, живущий на данный момент в Австрии. А еще он — фантаст, пишущий на английском языке, чья повесть «Башня из грязи и веток» в прошлом году вошла в шорт-лист премии «Небьюла». Вместе с рассказами Барсукова она была переведена на русски...

Нейросеть, способная объяснить себе задачу: P-tuning для YaLM Мы уже рассказывали о том, как применили семейство генеративных нейросетей YaLM для подготовки ответов в Поиске, Алисе или даже в Балабобе. Главная особенность наших моделей — метод few-shot learning, который позволяет без дополнительного обучения решать большинство задач в...

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

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

Что скрывается на темной стороне Луны Наука Астрономия 21.12.2020, 19:41 Что скрывается на темной стороне Луны Когда мы слышим о «темной стороне Луны» и речь идет не о знаменитом альбоме Pink Floyd, то речь почти наверняка идет об обратной стороне Луны. Называть ее «темной...

[Перевод] 5 возможностей JavaScript ES12, которыми стоит воспользоваться уже сегодня Стандарт ECMAScript 2021 (12 редакция) выпущен 22 июня 2021 года. Вместе с ним появились новые возможности и новые синтаксические конструкции. Все эти улучшения направлены на то, чтобы сделать JavaScript надёжнее и стабильнее, чтобы разработчикам легче было делать своё дело....

[Перевод] Docker Everything Bagel: как развернуть локальный стек данных Container au Havre pour les 500 ans by 0Lifea. При разработке Open-source-проекта важно помогать пользователям и оставлять рекомендации. Но чтобы это делать, иногда нужно буквально «прочувствовать их боль»: воссоздать их рабочую среду, запустить тот же код и посмотреть на ...

Почему арабский и иврит пишутся справа налево ПопМем Интересно 31.12.2021, 15:42 Почему арабский и иврит пишутся справа налево Те, кто встречал тексты, написанные на арабском и иврите, возможно, заметили, что они читаются не слева направо, а справа налево. Арабский и иврит – не ед...

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

MEDIAPIPE – AI инструмент для Computer vision Не секрет, что задача по поиску человека на видео или фото всегда была актуальна. Но что если один инструмент объединяет в себе, помимо просто детектирования человека, еще и поиск полной маски человеческого лица, расположение рук и пальцев, да и вообще полностью позу человек...

FinOps с помощью Governance-as-Code Масштабы и сложность решений, основанных на облачных технологиях, продолжают расти. Слишком часто это расширение также означает, что затраты продолжают выходить из-под контроля. В этой статье мы рассмотрим, почему развивающаяся практика облачного финансового управления (FinO...

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

Sony выпустит первый в истории фильм, созданный с помощью PlayStation Dreams Sony Pictures Classics приобрела права на анимационный фильм под названием «Зимнее путешествие» (Winter’s Journey), который будет частично создан с использованием инструмента для создания игр PlayStation Dreams. Как пишет Deadline, фильм будет сочетать...

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

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

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

А все ли врут? Продолжаем издеваться над NVME А пока мои коллеги пытаются разобраться с проблемами серверных NVME Raid массивов, я решил посмотреть на проблему с другого ракурса. Ведь NVME — это не только жёсткий диск, но и три-четыре протокола быстропередаваемых данных. Для многих из нас nvme означает, что мы купили ...

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

6 функций, которые вам пригодятся, когда используете iPhone и iPad одновременно Единая экосистема Apple заметно упрощает жизнь пользователей: быстрый перенос файлов, синхронизация и прочие фишки всегда пригодятся. Удобно, когда все под рукой. Уверен, вы привыкли к тому, что благодаря iCloud можно не бояться потери смартфона и важных файлов, а AirPods, ...

Новый суперкомпьютер от Meta (возможно и самый быстрый) Для создания революционно нового ИИ следующего поколения необходимы мощные суперкомпьютеры, способные выполнять квинтиллионы операций в секунду. Meta представляет новый суперкомпьютер с искусственным интеллектом. По словам материнской компании Facebook, когда AI Research Su...

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

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

Настраиваем GitLab Container Registry В этой статье мы рассмотрим, как настроить реестр образов GitLab Container Registry, находящийся за обратным прокси сервером NGINX. Предполагается, что у вас уже установлен GitLab с помощью пакета Omnibus. Согласно документации, Container Registry можно настроить на том же д...

Скрытые друзья в плюсах Как известно, ключевое слово friend в C++ используется для предоставления доступа к закрытым членам класса внешним функциям и классам. Помимо этого, friend наделена еще одной фишкой, о которой знают далеко не все. В этой статье речь пойдет о hidden friends. Желающих разобрат...

Что нового в Windows Forms в .NET 6.0 Мы продолжаем поддерживать и внедрять инновации в среду выполнения Windows Forms. В этой статье обсудим, что мы сделали в рамках .NET 6.0. В том числе среди улучшений: улучшения и исправления специальных возможностей; начальная загрузка приложения; обновления шаблона; больше...

Как сделать красивый вывод текста на C# Прошлый пост на счет сердечка посмотрело много людей и у меня возникла идея сделать еще одну простенькую, но достаточно красивую штуку, а именно такой вот вывод текста(можно сказать анимированного, но язык не поворачивается). Данный пост подходит для новичков, можно потренир...

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

Почему на Айфоне не работает FaceTime FaceTime — одно из самых удобных приложений для видеозвонков, которое постепенно выходит за рамки устройств на iOS. Мало того, что с выходом iOS 15 появилась возможность общаться по FaceTime с любого устройства, так еще и появилась классная функция SharePlay, о которо...

Почему инициализировать веса нейронной сети одинаковыми значениями (например, нулями) – это плохая идея В популярных фреймворках машинного обучения TensorFlow и PyTorch при инициализации весов нейросети используются случайные числа. В этой статье мы попытаемся разобраться, почему для этих целей не используют ноль или какую-нибудь константу. Кто хочет быстрый и короткий ответ н...

Как я перестал беспокоиться и полюбил тестирование React-компонентов Как тестировать React-компоненты? Какую библиотеку использовать? Как тестировать компоненты, которые берут данные из Redux, а не из пропсов? Как тестировать компоненты, в которых используется роутинг с помощью React-router-dom? Что делать, если в компоненте есть асинхронный ...

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

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

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

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

Сервер «1С: Предприятие» на Linux: настройка доменной авторизации В данной статье мы рассмотрим настройку сервера «1С:Предприятие» для использования Microsoft AD в качестве системы авторизации клиентов 1С. Статья представляет собой описание успешно внедрённого решения, за основу брались различные статьи из открытых источников, в частн...

[Перевод] Шаблоны C++: как итерировать по std::tuple — основы Для большинства стандартных контейнеров перебор элементов можно осуществлять просто с помощью цикла for с диапазоном прямо во время выполнения. Но что насчет кортежей (std::tuple)? В этом случае мы не можем использовать обычный цикл, так как он не «понимает» список аргументо...

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

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

Диапазоны (Ranges) в C# 8 Всем привет. Продолжаю цикл статей про нововведения в C# 8 версии. Ранее уже вышло статья про работу с индексами. Сейчас же поговорим про диапазоны (Ranges). Забегая вперед, скажу, что теперь мы, C# разработчики, можем получать из коллекции непрерывн...

Как я запускал Spring Cloud Меня зовут Аксёнов Вячеслав, я старший бэкенд Java/Kotlin разработчик в крупном энтерпрайзе. Однажды я попал на проект, полный микросервисов, в котором за конфигурацию отвечала такая штука как Spring Cloud. Чтобы разобраться как именно это работает я исследовал и прикрутил э...

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

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

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

Самый по-человечески написанный учебник компьютерной архитектуры наконец-то выходит на русском языке и для RISC-V В 2015 году скачивания первого русского издания учебника Харрис & Харрис завалили сайт британской компании Imagination Technologies. Книгу стали использовать в МФТИ, ВШЭ МИЭМ, МГУ, МИЭТ, ИТМО и других вузах. С тех пор вышло еще два издания - для ARM и для MIPS, и вот в я...

«Яндекс Браузер» добавил интерактивные субтитры для видео в YouTube на четырёх языках Они поддерживают подсветку по словам и функцию перевода.

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

Как BI «купается» в озёрах данных: практика платформы «Форсайт». Часть 2. Виртуализация данных Всем привет. Мы продолжаем цикл публикаций о том, как наша BI-платформа «Форсайт» работает с данными. В этой статье мы бы хотели поговорить о том, как выйти за рамки привычного online analytical processing (OLAP) и с помощью enterprise BI погрузиться в проблематику «Fixed fo...

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

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

Обнаружение препятствий на OpenCV Моя первая статья на Хабре, не судите строго, надеюсь содержание будет как минимум интересно, а если окажется кому-то полезным - буду просто счастлив!Не так давно, ко мне в руки попала модель радиоуправляемого катера с мощным бесколлекторным двигателем. Быстро наигравшись с ...

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

Какую СУБД выбрать и почему? (Статья 2) После публикации статьи “Какую СУБД выбрать и почему? (Статья 1)” ко мне поступили справедливые комментарии о том, что я не упомянул такие типы СУБД, как Time Series и Spatial. В этой статье я кратко опишу их и добавлю еще два типа — Search engines и Object-oriented (объект...

"Arbalest" Prototype-00. Стройка боевого робота с нуля (почти). Цели этой статьи.Популяризация 3d печати и попытка вдохновить людей на творчество.Показать создание робота, используя копеечные ресурсы.Если лениво читать стену текста, то пролистывайте до конца и просто смотрите последнее фото готового робота)Вместо вступленияЭто вторая ста...

День рождения Тони Хоара, создателя Quicksort Сегодня 11 января исполняется 88 лет сэру Чарльзу Энтони Ричарду Хоару, разработчику алгоритма быстрой сортировки массивов. Тони Хоар — английский ученый в области информатики и вычислительной техники, он подарил миру не только алгоритмы Quicksort и Find, но и логику для док...

Индексы в C# 8 Всем привет. Начиная с этой статьи начинаю цикл статей про нововведения в C# 8 версии. Сейчас мы рассмотрим работу с индексами (Indexes). Забегая вперед, скажу, что теперь мы, C# разработчики, можем работать с индексами как в Python. Пристегнитесь. Начинаем

Что делать если SharePlay не работает в iOS 15 Одной из особенностей iOS 15 стала функция под названием SharePlay. С ее помощью владельцы iPhone и iPad смогут делиться со всеми участниками вызова в FaceTime контентом из Apple TV, Музыки и других поддерживаемых приложений из App Store. Но что делать, если новая функция не...

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

Оптимизация рендера в iOS: frame buffer, Render Server, FPS, CPU vs GPU Render Loop крутится — кадры мутятсяДоброго времени суток, уважаемые читатели. Здесь я начинаю свой цикл статей о работе с графикой в iOS.В моих планах разобраться с работой базовых механик отрисовки и углубиться к таким вещам как AVFoundation, Metal.Но а пока хочется понять...

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

Альтернативное использование инструмента для нагрузочного тестирование Apache JMeter Всем привет! Меня зовут Андрей Попов, я Middle QA Engineer Auto-test в Утконос Онлайн. В этой статье хочу поделиться, почему мы выбрали Apache JMeter для нагрузочного тестирования, как выглядит этот инструмент, для чего он был нам нужен, и как мы используем его для нестандар...

Как я решил стать трейдером и проигрался, а потом отыгрался, потому, что я программист. Мой опыт Таким я себя видел в своих мечтах. Freepik Здравствуйте дорогие хабровчане, в этом небольшом посте я хочу рассказать про свой опыт в торговле на бирже. Под катом я написал о том, как я пошёл тем же путём, что и все, и как и все (или как подавляющее большинство) проигрался,...

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

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

Заднее число против обратной силы, или Миграции в BPM-решениях Мы в «ЛАНИТ — Би Пи Эм» занимаемся построением BPM-решений и автоматизацией бизнес-процессов. Обычно после выпуска первой версии развитие процессов не останавливается и заказчик хочет их улучшать: заменять ручные расчеты на автоматические, убирать ненужные шаги и обращения к...

PostgreSQL в «Тензоре» — публикации за год (#2) Добро пожаловать под кат, если вдруг вы пропустили какие-то из наших статей за прошедший год об интересных и полезных возможностях PostgreSQL, которые мы узнаем при разработке нашей системы полного цикла управления бизнесом СБИС — от кадрового учета, бухгалтерии, делопроизво...

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

Websocket-сервер для геолокации на asyncio Привет!Меня зовут Артем, я занимаюсь бэкенд-разработкой в KTS и веду курс по асинхронному программированию в школе Metaclass. 11-го апреля у нас стартует 3-й поток курса. Чтобы показать, чему учатся наши студенты, мы провели live-code-вебинар по вебсокетам, на котором н...

Создаём игру на KPHP с помощью FFI и SDL KPHP теперь поддерживает механизм Foreign Function Interface (FFI). Мы с Владом решили продемонстрировать его возможности и за сутки написали первую в мире графическую игру на KPHP. Игру делали с использованием библиотеки SDL: работали со звуком, обрабатывали события клавиа...

Тысячная статья про принципы SOLID Ещё будучи совсем-совсем начинающим разработчиком, я услышал про принципы SOLID и, конечно же, совершенно их не понял. Их не помогли понять ни лекции Дядюшки Боба, ни книга его же авторства, не несколько десятков (а то и сотен) статей в интернете, которые я тогда прочитал (п...

[Перевод] Блокчейн на Python Когда я читал статью про блокчейн на JavaScript, мне было интересно познакомиться с идеями о блокчейн-разработке, которые отличаются от тех, что мне уже известны. А как только я начал читать код, мне захотелось сопоставить его с аналогичным Python-кодом, чтобы ещё и разобрат...

Какие смартфоны вам придётся покупать, если дойдёт до блокировки Google в России «Facebook* (очень экстремистский, запрещён в России), Twitter и Instagram слишком популярны в РФ, поэтому обязательно найдут общий язык с властями». «Санкции будут только финансовыми — интернет-сервисы не станут стрелять себе в ногу и блокировать свою работу в России самовол...

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

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

Как мы создавали движок на Unity (часть 0) Привет, Хабр!В данном цикле статей мы расскажем, как группа студентов создавала свой игровой движок для визуальных новелл, используя Unity. Звучит не оптимизировано, но почему бы не попробовать? Читать далее

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

Приключения микропроцессора в СССР: 8 бит Мы живем в удивительное время: компьютеры окружают нас со всех сторон. Любимый смартфон, ноутбук на работе, медицинские приборы, браслеты и часы. Умные рекламные табло, самокаты и автомобили. В основе каждого такого устройства лежит тот или иной микропроцессор. А просто...

10 лет Oil Rush: как не сгореть, создавая игру на собственном движке В этом году Oil Rush, нашей первой игре на собственном движке, исполнилось 10 лет. Основной профиль деятельности нашей компании — не совсем игры, но разработка Oil Rush помогла не только продемонстрировать технологию UNIGINE во всей красе, но и сделать ее еще лучше.Три года,...

Три способа отследить запросы Greenplum, которые «отъедают» слишком много ресурсов Привет, Хабр! Меня зовут Роман, я работаю разработчиком в компании Arenadata, где мы решаем много задач, связанных с Greenplum. Как-то мне представился случай разобраться с одним непростым, но вполне типичным для этой СУБД кейсом. Необходимо было выяснить, на обработку каких...

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

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

[Перевод] Как выбрать подходящий Go-роутер? (с блок-схемой) Когда вы начинаете разрабатывать веб-приложение с применением Go, один из первых вопросов, которым вы, вероятно, зададитесь, — “Какой роутер мне следует использовать?”.И это не такой простой вопрос, как может показаться сначала. Доступно более 100 различных роутеров с разным...

Как мы подходим к поддержке ML-моделей в синтезе речи Всем привет! Меня зовут Александра Сорока, я занимаюсь синтезом речи в Тинькофф. А это — мой текст о том, зачем вообще думать о долгосрочной поддержке кода и ML-моделей. Я расскажу, почему мы отказались от опенсорсных решений, как работаем с датасетами и разными версиями мод...

Дональд Кнут —  автор «Искусства программирования»  и  великий мастер ордена программистов Земли Уже совсем скоро – 10 января  гранд-мастеру программирования исполнится 84 года,  а он считает, что для окончания основного труда его жизни "Искусства программирования" ему необходимо еще 25 лет.  Дай бог ему здоровья, сил и ясный ум, а со всем остальны...

Обнаружение наличия функциональности в C++ на этапе компиляции Иногда, при реализации очередной "шаблонной магии" очень хочется на этапе компиляции иметь сакральное знание о том, а если у типа нужный метод, чтобы его вызвать или нет?Хорошо, если есть поддержка концептов или рефлексии. А что делать, если их ещё нет, или они не в полной м...

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

Как разработать микросхему, от идеи до результата. Часть 3. Схемотехническое представление и Layout В прошлой статье мы установили все программы, а в этой части, мы наконец приступим к практической части. Готовьтесь, эта часть будет очень большой. Для тех кто пропустил прошлые части — ссылки ниже. Как разработать микросхему, от идеи до результат...

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

[Перевод] Не самые популярные методы Django ORM Все мы знаем, что Django предоставляет ORM прямо из коробки, что не позволяет нам писать SQL-запросы. В этом механизме есть большой потенциал. Однако большинство из нас знакомы только с методами filter(), get(), update() и delete() из Django ORM.В Django ORM есть много други...

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

Samsung рассказала о новых функциях для своих умных телевизоров — видеосвязь, игры и автоматические субтитры Компания Samsung Electronics рассказала сегодня много интересного в рамках конференции SDC 21. Помимо запуска облачного игрового сервиса и открытия платформы Tizen для сторонних производителей, Samsung также рассказала о новых функциях, которые скоро станут доступны на ...

Как позвонить со скрытого номера на Айфоне Недавно ко мне обратился товарищ, которому на телефон без остановки поступали звонки со скрытого номера: да-да, это тот случай, когда номер не отображается вообще. Вместо этого было написано «скрытый номер», «нет ID абонента» или «анонимный абонент&...

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

Немного об отладке C/C++ приложений Приветствую, С/С++ разработчики, те, кто только изучает эти языки и просто интересующиеся! В этом посте речь пойдет об отладочном расширении Stack Scopes для Visual Studio Code. Отладка важная часть разработки, но нужно признать, что не очень любимая большинством разработчи...

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