Социальные сети Рунета
Суббота, 20 апреля 2024

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Поисковик новостей (RSS), написанный на Java + SQLite Вы скорее всего подумаете: "Зачем десктопная программа, если можно, как минимум, загуглить?". А затем, что моя программа автоматически "гуглит" за тебя! Причём не только по одному ключевому слову, а по нескольким, которые вы, само собой, можете редактировать. А результат пои...

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

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

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

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

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

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

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

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

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

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

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

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

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

OverScript — язык программирования, написанный на C# Привет! Меня зовут Дмитрий, я написал на C# свой интерпретируемый язык программирования, который назвал — OverScript. Это си-подобный язык со статической типизацией. Сразу скажу, что это не прототип, а готовый проект. Весь код на 100% мой. Я подробно не интересовался, как на...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Музыка на Commodore PET — Faulty Robots После выпуска System Beeps, музыкального альбома для PC Speaker, я не планировал возвращаться к псевдомногоголосой одноканальной музыке в формате подобных крупных самостоятельных релизов, считая тему достаточно раскрытой. Это, конечно, не означало отказа от более утилитарног...

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

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

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

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

Разработка новой игры от компании Wargaming с помощью Rider for Unreal Engine Последние полтора года открыта программа раннего доступа к Rider for Unreal Engine — IDE для разработки игр на C++ с использованием Unreal Engine. На сегодняшний день в программе участвуют десятки тысяч индивидуальных разработчиков игр, a также множество студий и больших ком...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Улучшение Visual Studio Code для новичков VSCode — Самый популярный редактор кода среди веб-разработчиков. Вы можете использовать его с нуля, однако для опытных программистов его базовых функций недостаточно. Здесь я описал, то как сам докрутил этот редактор под свои потребности. Я фронтенд-разработчик, но также ис...

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

[Перевод] Автоматическая суммаризация текстов с помощью трансформеров Hugging Face. Часть 1 В июле 2020 года компания OpenAI выпустила свою модель машинного обучения третьего поколения, GPT-3, ориентированную на генерирование текстов. Тогда я понял, что мир уже не будет прежним. Эта модель задела меня за живое. Те системы такого рода, что выходили раньше,...

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

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

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

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

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

GBDev #1: разработка игр под Game Boy. История, инструменты, ресурсы Как-то так получилось, что работая в редакции, мне часто приходилось писать новостные заметки про Game Boy. Про ту саму легендарную консоль, буквально перевернувшую идею гейминга и позволившую играть везде, а не быть привязанным к телевизору или монитору. Я писал про порты с...

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

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

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

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

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

Держи свой трафик в тайне. SSL Pinning — ещё раз о том же самом Всем привет! Меня зовут Юрий Шабалин, я один из основателей компании Stingray Technologies. Мы разрабатываем платформу анализа защищенности мобильных приложений iOS и Android. Сегодня я хотел бы снова затронуть тему безопасности сетевого взаимодействия между приложением и ег...

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

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

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

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

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

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

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

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

Как я создаю игры на своём 3D движке в одиночку Много лет назад я занимался созданием маленьких Flash игр и публиковал их на сайте Newgrounds. Сейчас я делаю полноценные игры для ПК.На сегодняшний день у меня 4 законченных коммерческих игр в Steam, и самая последняя из них — выпущенная в 2021 году Pilie Pals, о процессе с...

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

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

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

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

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

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

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

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

Цемна стронэ Моцы Початково рыцер Еди, под вплывем Дартха Сидиоуса прешедл на цемна стронэ Моцы и прыял тытул „Дартх Вадер”.Вы поняли что-то из предыдущего предложения? Это польский язык. Это не перевод, не какой-то интернет-сленг, это польский язык как он есть, просто записаный кириллицей. В...

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

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

Конвертируй это — с Yandex Message Queue Довольно прозаичный и понятный в быту термин порой все еще вызывает вопросы в IT. Зачем при разработке приложений использовать очереди или сервисы очередей, чтобы автоматизировать этот процесс? Ответим на этот вопрос практическими примером — напишем в serverless-стеке Yandex...

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

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

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

Как я создал собственный 3D движок и игру на нём за 20 месяцев Речь идёт о игре Speebot, которая была выпущена в Steam в 2017 году.Я разрабатывал эту игру с января 2016 года в своё свободное время в одиночку. Мною выполнено всё программирование, дизайн игрового процесса, создание графики и музыки. Кроме того, я написал собственный игров...

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

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

Telegram-бот на вебхуках — Java+Spring, Redis, клавиатуры и деплой на Heroku — снова для самых маленьких В предыдущих сериях Это вторая статья в моей серии «для самых маленьких» — предыдущая была посвящена «классическому» Telegram-боту, наследуемому от TelegramLongPollingBot. Для кого написано Если вы ни разу не писали Telegram-ботов на Java с использованием вебхуков и тольк...

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

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

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

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

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

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

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

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

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

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

Модуль ACME-клиента для Tarantool Ссылка на GitHub. Подробнее о работе алгоритма и модуля можно посмотреть здесь.Клиент ACME-протокола используется для автоматического получения сертификата безопасности для вашего сайта. Для бесплатного получения сертификата и автоматического его продления в основном все исп...

[Перевод] Reversing для чайников — ассемблер x86 и код на С (для начинающих/ADHD friendly) До того как заняться реверс-инжинирингом, исполняемые файлы казались мне черной магией. Я всегда интересовался, как все работает под капотом, как двоичный код представлен внутри .exe файлов, и насколько сложно модифицировать “исполняемый код” без доступа к исходникам.Но одни...

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

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

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

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

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

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

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

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

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

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

Загрузка, парсинг и визуализация данных без программирования Признаюсь честно, у меня как у программиста, хоть и не настоящего, есть недоверие к «no-code» решениям. То есть тем, которые не требуют программирования, где всё можно делать через drag-and-drop и клики мышкой. Но после полугода разработки собственного «no-code» ETL сервиса ...

[Перевод] Алгоритм генерации тайловых карт Model Synthesis Я много писал об алгоритме коллапса волновой функции (Wave Function Collapse). Этот алгоритм, разработанный Максимом Гуминым в 2016 году, генерирует тайловые карты и пиксельные текстуры на основании удовлетворения ограничениям с дополнительной рандомизацией [перевод на Хабр...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Анализ синтаксиса, который всегда с тобой Всем привет, меня зовут Денис Лимарев, я разработчик платежной системы Delivery Club. И сегодня я расскажу, как мне надоели однообразные ошибки и собственная невнимательность, и как я с этим борюсь. Недавно я написал статью о нашем линтере, где вскользь затрагивал ...

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

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

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

Программируем микроконтроллеры ESP32 и STM32 на C# (nanoFramework) .NET nanoFramework — это бесплатная платформа с открытым исходным кодом, основанная на .NET и предназначена для малых встраиваемых устройств, микроконтроллеров. С её помощью можно разрабатывать различные устройства для Интернета вещей, носимые устройства, научные приборы, ...

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

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

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

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

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

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

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

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

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

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

Техническая разведка Привет, Хабр. Я знаю, что вы любите статьи «Чему я научился…». Обычно в них рассматривается либо личный опыт работы, либо различные книги с полезными советами. Сегодня я предлагаю вам посмотреть какой полезный опыт можно извлечь из методичек ЦРУ на примере материала Robert M...

Samsung выпустит 64 модели смартфонов и планшетов в 2022 году: какие из них получат SoC Snapdragon, Exynos, MediaTek и Unisoc По данным корейских СМИ, почти половина смартфонов и планшетов, которые Samsung Electronics планирует выпустить в 2022 году, будут использовать однокристальные системы Qualcomm. При этом с начала этого года у Samsung возникли проблемы из-за невозможности закупить SoC у ...

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

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

Не совсем очевидные тренды развития рынка приложений, как к ним подготовиться мобильному разработчику? Меня зовут Ексей Пантелеев, я 12 лет программирую мобильные приложения, а всего зарабатываю программированием почти 20 лет и как профессионал пережил несколько платформ (например Flash Player, AIR, Stage3D), под которые я разрабатывал приложения. До мобайла я делал веб и игр...

[Перевод] Как написать «Пятнашки» на Flutter Возможно, вы уже читали о конкурсе Flutter Puzzle Hack и думаете о том, как проявить максимум творческих способностей. И мы вам в этом поможем, рассказав о том, как структурирована кодовая база нашего примера головоломки. Подробностями делимся к старту авторского курса по ве...

Tarantool: ускорение разработки с Rust Tarantool, как известно, поддерживает любой язык, который совместим с C и компилируется в машинный код. В том числе есть возможность реализации хранимых функций и модулей на Lua и C. Тем не менее, уже в двух своих проектах мы использовали Rust (в одном полностью перенесли Lu...

[Перевод] Пишем Python-расширение на Ассемблере (зачем?) Прим. Wunder Fund: в жизни каждого человека случается момент, когда ему приходиться позаниматься реверс-инжинирингом. В статье вы найдёте базовые особенности работы с ассемблером, а также прочитаете увлекательную историю господина, который решил написать Питон-библиотеку на ...

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

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

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

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

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

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

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

[Перевод] Многомодульность в Android и Dagger: пошаговый пример Наше мобильное направление продолжает делиться собственным опытом, а также переводить те статьи, которые могут сослужить разработчику хорошую службу. Эту статью по Android, написанную в 2020 году, мы выбрали, изучая вопросы оптимизации внедрения зависимостей на проекте, и пе...

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

Моя первая игра — Picross.io Всем привет, я инди разработчик, но когда то я им не был :) За всё время своих скитаний я успел сменить много различных профессий, от грузчика и продавца консультанта, до сотрудника торгового зала в "Ленте", но в итоге пришёл в геймдев, и, в этой статье я поделюсь своим опыт...

На Steam Deck теперь можно установить Windows 10: Valve выпустила драйверы Сегодня Valve выпустила драйверы Windows 10 для своей портативной консоли Steam Deck. Эти драйверы обеспечат необходимую аппаратную совместимость для тех, кто хочет использовать ОС Microsoft. Выпускаемые сегодня драйверы предназначены для графического процессора, Wi-Fi ...

Проверяем Архитектурные стили на движке Factorio (часть 1) Добрый день всем, дорогие читатели!Если вы хотя бы чуть-чуть имели неудачу пообщаться с Архитекторами, то знаете, что в их понимании не существует идеальной архитектуры ПО и вся их работа состоит во взвешивании плюсов и минусов того или иного Архитектурного стиля. И поскольк...

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

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

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

5 лучших числовых головоломок для Android: Какура Есть немного странные игровые жанры, которые объединяют в себе очень много всего. Например, есть шутеры, которые объединяются со стратегиями и становятся чем-то новым. Есть гонки, объединенные с игрой от третьего лица, и в результате получается что-то вроде GTA 5. А есть кр...

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

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

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

Князь Вялых Проектов Этот текст – заказной. Знаю, многие из читателей пытались заказать у меня тексты, но я если и пишу для кого-то, то только для друзей. Нетрудно догадаться, что заказчик – мой друг. Зовут его… Пусть Вася. Он так и не решил, называться ли настоящим именем. Потому что так и не р...

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

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

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

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

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

DIY VSCode плагин для Clojure На энном году работы с использованием Clojure/Clojurescript в качестве основных языков разработки, я наконец-то дошел до стадии, когда «больше терперть уже нельзя», и написал таки свой плагин для этой цели. Это явилось результатом многолетних поисков, лишений и страданий. ...

Секреты запуска Flutter в production. Создаем IT-верфи Про нас Привет! Мы Даниил Левицкий и Дмитрий Дронов, мобильные разработчики компании ATI.SU — крупнейшей в России и СНГ Бирже грузоперевозок. Хотим поделиться с вами своим видением разработки приложений на Flutter. У нас несколько команд мобильной разработки, и раньше мы п...

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

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

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

Что такое ECS и с чем его компилят Привет! Эта статья — первая в блоге MY.GAMES, международного разработчика и издателя видеоигр. Здесь мы объединим наработки и экспертизу всех 14 наших игровых студий. Впрочем, будем рассказывать не только о внутренней кухне экосистемы MY.GAMES, но и о том, чем живет геймдев ...

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

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

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

Консоли Xbox вновь могут запустить стриминг на Twitch из дашборда Microsoft объявила, что с сегодняшнего дня на консолях Xbox Series X, Xbox Series S и Xbox One стала доступна нативная интеграция с Twitch, позволяющая быстро запускать прямую трансляцию своего игрового процесса на стриминговый сервис. Стоит отметить, что тестирование функц...

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

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

[Перевод] От песочных часов к пирамиде: как усовершенствовать структуру тестов Меня зовут Владислав Романенко, я Senior iOS QA Engineer в Badoo и Bumble. Мы регулярно внедряем новые фичи в приложения, и автоматизация тестирования — один из способов не пропустить баги. Фактически автотесты входят в жизненный цикл всех частей наших приложений: бэкенда, с...

Как Wargaming возможно испортили мой игровой аккаунт World of Tanks Почти пол года назад я написал статью о серьёзной проблеме балансировщика игры World of Tanks, и за это Wargaming возможно решили меня "проучить" используя уже давно существующие механизмы запланированных боев.

Проверка Barotrauma статическим анализатором PVS-Studio Barotrauma – игра, в которой можно поуправлять подлодкой, попрятаться от монстров и даже поиграть на аккордеоне в попытке не пойти ко дну. Посмотрим, как проект, начатый инди-студией Undertow Games и продолженный совместно с FakeFish, выглядит изнутри. Для этого исследуем ис...

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

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

[Перевод] О типах Автор оригинального материала — Роберт С. Мартин (Uncle Bob), 25 июня 2021Я написал свою первую программу в 1964 году. Программа называлась «Компьютеризированные ворота мистера Паттерсона» и была реализована на маленьком пластиковом компьютере под названием DIGICOMP-I, котор...

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

Создаем свой React с рендером и useState за 30 минут Понимание процессов приходит с изучением механизмов, которые приводят в движение мелкие части большого пазла. Если представить, что Вам дали задачу объяснить, что такое React за полчаса, скорее всего, Вы бы выбрали один из двух вариантов: - пересказать все то, что изложено ...

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

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

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

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

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

[Перевод] Dungeons & Dragons для SRE В прошлой жизни я работал фулл-тайм SRE, а по совместительству был драконорожденным паладином по имени Лорарат (Lorarath). На работе со своей командой я сопровождал тысячи систем, а вечерами пытался выжить в воображаемых битвах и спасти мир от ведьмы Морганы. Мне нравятся со...

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

Мультиплеерная игра на Rust + GRPC со спектатор модом Rust и GRPC. Все это вкупе с простым игровым движком. Небольшой туториал по разработке мультиплеерной игры. Читать далее

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

Что мне не нравится в react-router Недавно меня спросили: “Зачем я отказался от библиотеки react-router и перешел на свой велосипед?” Честно говоря, вопросы, связанные с моим вариантом роутинга, мне задавали уже раз пять. Последний раз это было пол года назад, и с тех пор я немного подзабыл основные причины м...

У Unity всё плохо На просторах интернета, и в частности хабра, очень трудно встретить статьи с критикой игрового движка Unity. Я решил это исправить, и приготовил вам текст о переходе на DOTS, насилию над C#, знаменитых UI пакетах, MonoBehaviour, универсальности и о многом другом.Статья не тр...

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

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

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

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

Google Play Games выйдет на Windows 10 и Windows 11 в 2022 году В рамках ежегодной церемонии награждения The Game Awards 2021 Google объявила, что уже в следующем году пользователям Windows станет доступно приложение Google Play Games, которое откроет доступ к сотням игр с платформы Android. Отмечается, что игры будут запускаться локаль...

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

[Перевод] Табличные тесты в Go с использованием Gomock Чтобы эффективнее тестировать работу программы, можно использовать табличные юнит-тесты. В этой статье пошагово рассказываем, как писать такие тесты с помощью фреймворка Gomock.Этот текст написал Golang-разработчик Арек Ностер. С разрешения автора мы перевели статью. Читать ...

Controller, но не Massive: реализуем список карточек для iOS 13 и не только с учетом практик чистого кода Привет! Когда мне по работе понадобилось реализовать список карточек на связке UICollectionView и UICollectionViewCompositionalLayout для iOS 13+, я не нашел хорошего примера. Написал свой и хочу поделиться с сообществом. А заодно показать реализацию для iOS11+.Примеры можно...

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

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

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

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

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

Нейронные сети в кибербезопасности — текстовая модель с низкой задержкой, сохраняющая конфиденциальность Для начала пару слов об обработке текстовой информации, рекуррентных сетях и методах защиты конфиденциальности пользователя.Рекуррентные нейронные сети (Recurrent Neural Networks, RNNs) — популярные модели, используемые в обработке естественного языка (NLP). Идея RNN - ...

Первая функция из Android 13. Новая ОС получит возможность устанавливать язык для каждого приложения отдельно Android 12 только начинает своё шествие по рынку смартфонов, а в Сети уже появились подробности об одной из функций Android 13.  Называется функция Panlingual. Суть её достаточно простая: она позволит пользователям выбирать язык отдельно для ка...

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

Добавление пользовательской темы для фронтэнд-приложений Привет, Хабр! Меня зовут Павел, я фронтэнд-архитектор в компании Itransition. Вот уже более 8 лет я работаю во фронтэнде. В течении этого времени мне довелось поработать с приложениями, как полностью основанными на бэкенд технологиях, так и с классическими сайтами, написанны...

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

Custom view на Compose В июле Google выпустил стабильную версию Compose. Это вызвало большой интерес в сообществе. Все вокруг стали поговаривать, что эта технология захватит Android-разработку, и скоро все будут писать на Compose.Я принялся за изучение, заглянул на developer.android.com и нашел ра...

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

PHP Дайджест № 222/3 (26 марта – 25 апреля 2022) Дисклеймер: Нет, это не дайджест авторства Романа Пронского. К сожалению, у меня нет достоверной информации - будет ли выходить его дайджест далее.Однако я взял на себя смелость временно продолжить дело Романа и написать новый дайджест за тот месяц, что прошел с выхода ...

PHP Дайджест № 222/2 (22 февраля – 25 марта 2022) Дисклеймер: Нет, это не дайджест авторства Романа Пронского. К сожалению, у меня нет достоверной информации - будет ли выходить его дайджест далее.Однако я взял на себя смелость временно продолжить дело Романа и написать новый дайджест за тот месяц, что прошел с выхода ...

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

[Перевод] Замена 12 мощных Bash-команд с помощью Go Каждый серьёзный программист или системный администратор должен, хотя бы на базовом уровне, владеть Bash-командами. Во многих случаях эти команды позволяют управлять компьютерными системами гораздо быстрее и эффективнее, чем инструменты с графическим интерфейсом. Сегодня ...

FSNotes 5 для iOS — заметочник для гиков Привет, Habr! Больше 4 лет я пишу программу заметочник под macOS и iOS. Я уже упоминал вскольз о нюансах разработки, сегодня время пришло написать о самой программе.Если кратко, то FSNotes это программа для написания, каталогизации и хранения заметок в максимально открытом в...

Опыт эксплуатации Mellanox под управлением Switchdev Мы уже писали про Linux Switchdev в Mellanox — что это такое и как мы с ним живем в Qrator Labs. Сегодня я хочу рассмотреть этот вопрос с другой стороны. Меня зовут Дмитрий Шемонаев, я руковожу центром сетевых операций.Кроме того, что этот коммутатор можно использовать как W...

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

Dart Code Metrics — мой первый pull request В статье рассмотрел инструмент для анализа кода Dart Code Metrics и о том, насколько полезно его использовать. Постарался поделиться своими знания в создании нового правила для анализатора. Автоматизировали проверку имени класса и названия файла не только для своего проекта...

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

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

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

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

[Перевод] Повышение производительности в Unity. Как я поднял показатель FPS с 15 до 60 Я делаю ремейк своей старой игры Loca Deserta: Sloboda Первая версия была написана на Flutter, но сейчас в качестве движка для игры я выбрал Unity.Я начал работу с нуля и реализовал множество новых функций, но заметил, что даже мой Galaxy S21 Ultra подлагивал во время игры. ...

Facebook разрешит писать ненавистнические посты о россиянах только украинцам Сегодня утром Meta, владеющая Facebook и Instagram, заявила, что разрешает отныне использовать «язык ненависти» в отношении российских военных, Владимира Путина и Александра Лукашенко. За это сервисы Meta заблокировали в России, а саму компанию намерены признать экстремистск...

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

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

Элегантный вопросительный знак В этой заметке я хочу поделиться элегантным решением одной задачи с сайта-хрестоматии RosettaCode. Речь пойдёт о программе, вычисляющей функцию Минковского — одного из инструментов теории чисел и динамических систем. Несмотря на то, что реализовать эту функцию относительно н...

Дефект поддержек в PrusaSlicer 2.4.0                   На написание этой заметки меня натолкнуло то, что сам нигде информации по этой проблеме не нашёл. В чём суть? Нужно было напечатать корпус для обдува модели. Раньше пользовался слайсером Simplify3D 4.0. Но мне не нравится как он расставляет шов. Вроде бы и ...

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

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

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

Охота на Вампуса. Переосмысление классической игры для Алисы Привет! Меня зовут Кирилл Богатов, я дизайнер голосовых интерфейсов в команде TORTU и заядлый геймер. Когда эти две страсти сталкиваются, рождаются необычные концепты для голосовых игр.Месяц назад я выпустил игру «Охота на Вампуса» для голосового ассистента Алисы. Игра получ...

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

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

Текстовые игры — новый старый инструмент для автора или «Сделаем Текстовые Квесты снова Великими!» Про текстовые игры написано довольно много как на Хабре, так и на просторах интернета. Это один из самых первых жанров интерактивных развлечений с использованием ЭВМ и даже без него (просьба поделиться опытом НЕэлектронных текстовых игр в комментариях). В данной статье я хоч...

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

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

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

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

Большому художнику – большой критик: новые версии модели ruCLIP для ранжирования результатов ruDALL-E (и не только) В ​2021 году особенно активно развивались языковые и визуальные трансформеры, что привело к появлению новых разработок в сфере мультимодального анализа данных. Ярким примером стала модель синтеза изображений по текстовым описаниям DALL-E от OpenAI. Команды Сбера - Sber AI и ...

И снова про App Transport Security: что это и зачем Привет, Хабр! Меня зовут Юрий Шабалин, и, как я пишу в начале каждой своей статьи, мы разрабатываем платформу анализа защищенности мобильных приложений iOS и Android. В этой статье мне бы хотелось затронуть тему безопасной конфигурации сетевого взаимодействия, а также немног...

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

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

Дилемма моделирования в рамках Data Vault/Anchor Modeling: объект или событие Всем привет :) Меня зовут Голов Николай, я строю платформу данных на основе Snowflake и Anchor Modeling в ManyChat.В этой статье я уже подробно рассказывал, как решал аналогичную задачу  в Авито, используя Vertica и методологию Anchor Modeling. В комментариях ...

Ещё одно решение игры Wordle на Python В начале 2022 года мир захватила головоломка Wordle и почти сразу стали появляться варианты решения. На Хабре уже появилось описания двух вариантов решения, но они мне не понравились, поэтому я изобретаю свой собственный велосипед. Ссылки на предыдущие решатели:1) https://ha...

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

DINS C++ EVENING: принципы разработки высокопроизводительных сетевых приложений и типовые проблемы Threadpool и Numa Андрей Новохатько из DINS расскажет, как устроены современные NIC, основные идеи DPDK фреймворка и то, как это можно использовать для оптимизации своих высоконагруженных backend-сервисов, а Александр Боргардт поделится из «ВКонтакте» поделится о типовых проблемах Threadpool ...

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

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

Зачем айтишнику писать статьи? Каждый день (да что там, каждый час) кто-то пишет на Хабр, а кто-то его читает. Авторы приходят на Хабр по-разному: чаще через песочницу или корпоративное приглашение, реже через инвайт друга, ещё реже — через общение с кураторами или модераторами. Они пишут обо всём: от сло...

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

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

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

[Перевод] Pyxel  для любителей ретро игр Pyxel -- это игровой движок для Python в стиле ретро.Благодаря своей простоте, вдохновленной старыми игровыми консолями (например, палитра состоит всего из 16 цветов, и только 4 звука могут быть проиграны одновременно), вы можете легко создавать игры в стиле пиксель-арт...

Bitsy. Make games, without operations Если вы давно хотели научиться делать игры, но не знали с чего начать, то рекомендуем попробовать Bitsy.Это редактор полного цикла для создания простых игр и маленьких миров на основе html. Это значит, что ваша игра максимально доступна и не требовательна, ее легко можно опу...

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

Золотое правило системного администрирования Я занимался разработкой систем последние 12 лет своей жизни. У меня в руках побывало всё. Я видел системы, работающие на COM портах, для передачи данных между терминалами. У меня есть сертификат NEC, подтверждающий тот факт, что я могу программировать их зубодробительные с...

[Перевод] Погружаемся в CSS: как использовать :where () Функция :where() помогает писать меньше кода, применять стили ко всему списку и снимает головную боль при использовании CSS reset. В статье разберёмся, как это работает, и посмотрим на примеры использования. Читать далее

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

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

[Перевод] Скриптинг без скриптинга Уже давно считается, что многие (если не все) игры или приложения можно улучшить, добавив в них поддержку скриптов.Для этого есть несколько разных способов. Наиболее распространенный подход - встроить Lua (или другой язык, который вам больше нравится). Если это по каким-то п...

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

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

Почему DevOps и Agile не работают в России, часть первая, Enterprise Пару лет назад, человек из Wrike написал серию статей про красную корпоративную культуру, причём во второй части буквально в 3 абзацах был весь смысл 4 статей. Было написано очень завуалировано и мягко, я же сегодня распишу, по сути, этот абзац в целую статью на примере круп...

Как удобно использовать iPhone и Android одновременно Мы уже много раз рассказывали о бесконечном противостоянии Android и iOS. Пользователи по-прежнему принципиально недолюбливают смартфоны на разных операционных системах и, наверное, зря: «чистый» Android донельзя напоминает iOS, а различные аксессуары для телефоно...

PROграммист со звёздочкой* Про качество подготовки программистов на раскрученных курсах не написал ещё только ленивый. Я – ленивый, поэтому пишу только сейчас.Попался мне тут человек, который принёс на собеседование диплом, выданный одной раскрученной образовательной организацией. Раньше я только жало...

Почему книга Эндрю Таненбаума «Архитектура компьютера» вредна для образования Сегодня взял в руки книжку Эндрю Таненбаума "Архитектура компьютера" (последнее издание на русском языке вышло в 2018 году). Я ее пролистывал лет 10 назад, но сегодня решил пролистать снова, чтобы быть абсолютно уверенным в том что я напишу ниже. А именно: это книжка была вр...

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

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

Microsoft представила улучшения функции Auto HDR для Windows 11 Обновлённая версия Xbox Game Bar для Windows 11 принесла с собой несколько улучшений функции Auto HDR, правда некоторые из них пока доступны только участникам программы Windows Insider. Напомним, что Auto HDR позволяет автоматически добавлять поддержку расширенного динамиче...

Camunda: тестируем модели процессов Привет! Продолжаем делиться опытом о том, как можно автоматизировать бизнес-процессы в банке с помощью Camunda. В прошлой статье мы рассказали об одном из проектов, который создали на базе Spring Boot с подключенной Camunda в качестве библиотеки. В этом материале расскажем о...

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

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

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

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

Как macOS Monterey работает на MacBook Pro. Личный опыт К обновлению операционной системы пользователи техники Apple относятся по-разному. Одни спешат в числе первых опробовать все новые фишки, вторые ждут, пока первые все протестируют, и только потом садятся за апдейт, третьи и вовсе предпочитают остаться на предыдущей версии. ...

Paint получает новые возможности дизайна в Windows 11 Windows 11 начала развертываться для потребителей почти пять месяцев назад, и важно понимать, что операционная система все еще находится в стадии разработки. Хотя сегодня есть способы установить Windows 11, новая операционная система или большинство новых приложений пока дос...

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

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

Романтичный и уютный ШИМ «умных ламп» Я долго думал, где написать эту статью, вроде слишком простая для Хабра. На Пикабу - непонятная система рекомендаций, а на Я.Дзен - больше заходят статьи: "как починить лампу из пятёрочки, используя паяльник и синюю изоленту". Дело в том, что "умные лампы", на данный момент,...

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

Blazor: Нужен ли нам .Net в вебе? Всем доброго времени суток, меня зовут Михаил. Я .net разработчик в компании Orion Innovation. Сегодня речь пойдет про наш опыт создания веб приложения при помощи Blazor. Обсудим с какими проблемами мы столкнулись при разработке и почему вообще решили использовать Blazor.Ста...

Netflix всё же выпустит свои игры на iOS Теперь, когда Netflix предлагает мобильные игры для Android, остается нерешенным вопрос: как к ним присоединятся игроки c iOS, если политика Apple запрещает использование универсальных игровых сервисов? По-видимому, платформе придётся пройти трудный путь. В своей информацион...

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

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

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

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

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

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

Доставка логов с ВМ из systemd в Yandex Cloud Logging Одна из самых частых и понятных задач в разработке и эксплуатации — доставка логов. И дальше в статье мы с вами используем Fluent Bit для доставки логов из виртуальной машины в сервис Yandex Cloud Logging. Читать туториал далее

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

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

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

Подключение блока реле к Arduino по I²C Любите ли вы I²C так же, как люблю я? Поистине, гениальное изобретение - можно подключить до 64 устройств всего по двум проводам (не считая питания). Сегодня статья - туториал для новичков. Сегодня мы будем подключать готовый блок реле из 8 штук, израсходовав всего два пина....

8 правил, которые пригодятся при описании Git-коммитов Иногда системы контроля версий напоминают групповые чаты: вроде бы все тут собрались по какому-то поводу и пишут о чём-то одном, но что именно пишут ― разобраться порой просто невозможно. Как и в чате, где на одно грамотное и полное сообщение наберётся сотня «гыгы, лол» и «)...

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

STM32, CMSIS, CAN, Часть 1 — передача Привет, сегодня мы будем настраивать отправку данных с помощью CAN (Controller Area Network). В интернете много информации о том, как настроить CAN использую HAL библиотеку, а в случае использования CMSIS информация обрывочна, по этой причине решил рассказать о своем опыте р...

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

15 игр для тех, кто любит логику, алгоритмы и ассемблер Есть «Super Mario», признанная классика видео игр. Есть «Doom», который запускают на чайниках и тестах на беременность. Есть супер-популярные по статистике twitch.tv игры («League of Legends», «GTA V», «Fortnite», «Apex Legends») которые стримят пятая часть всех стриммеров...

Apple поделился новыми функциями iMovie, которые появятся в апреле После завершения мероприятия «Peek Performance» Apple представила две новые функции для iMovie, которые называются Magic Movie и Storyboards. С помощью Magic Movie вы можете быстро создавать видео, выбирая медиафайлы или альбомы из своей библиотеки и позволять пакету автомат...

Xilinx называет Alveo U55C своей самой производительной картой-ускорителем Компания Xilinx, называющая себя лидером в области адаптивных вычислений, в ходе конференции по суперкомпьютерам SC21 представила карту-ускоритель для центров обработки данных Alveo U55C и новое решение для кластеризации на основе стандартизированного API для массового ...

Потоковый сервис Netflix начал добавлять в свою подписку мобильные игры, но пока только на Android Стриминговый сервис Netflix в публикации у себя на официальном сайте объявил о старте с сегодняшнего дня развёртывания по всему миру (и в России тоже) раздела со своими мобильными играми. Источник изображений: Netflix На старте мобильные игры Netflix будут доступны только на...

Как большинство Java проектов выглядят изнутри Меня зовут Аксёнов Вячеслав, я бэкенд разработчик и в последние годы пишу веб приложения на java/kotlin. Основная идея этой статьи описать основные технические задачи, которые ставятся перед современными веб приложениями, а также перечислить те библиотеки, которые чаще всего...

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

[Перевод] Как сделать игру 2048 на React Автор этого туториала сосредоточился на анимации. Он использовал хуки библиотеки React, её Context API, а также TypeScript и LESS. В конце вы найдёте ссылки на игру, её код и демо анимаций. Подробности рассказываем под катом, пока у нас начинается курс по Frontend-разработке...

Sony выпустила крупное системное обновление для PlayStation 4 и PlayStation 5 Компания Sony объявила о выпуске обновления системного программного обеспечения для игровых приставок PlayStation 4 и PlayStation 5. Прошивки под номером 21.02-04.50.00 и 9.50  уже доступны пользователям PS5 и PS4 для установки. Пользователи PS4 могут теперь созда...

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

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

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

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

Способы попадания в 3D-цель с помощью API КОМПАС-3D Недавно на нашем сайте вышла новость о разработке приложения для КОМПАС-3D, позволяющего автоматизировать процесс моделирования строительных лесов. Уникальность данного приложения состоит в том, что компоненты строительных лесов, добавляемые в сборку, могут автоматически соп...

Двигаем биты — или как реализовать свой стандарт UUID Я работаю над открытой реализацией предложенного стандарта идентификаторов UUIDv7. На данный момент спецификация существует в виде IETF черновика. Черновик уже пережил два переиздания, и мы постоянно обновляем спецификации. Но сам документ — это дело простое. Для того чтобы...

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

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

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

Что в Shadow Brides: Gothic RPG забыла Цири из Ведьмака? Студия Laura Games запустила игру Shadow Brides: Gothic RPG на Андроид. С первого взгляда это обычная ролевая игра с автоматическими боями и пикантными артами, но разработчики не против перерисовывать персонажей из других вселенных. Shadow Brides — мобильная RPG, которая до...

The Legend of Zelda: Breath of the Wild 2 перенесена на весну 2023 года Предстоящий сиквел игры The Legend of Zelda: Breath of the Wild, который на данный момент называется Breath of the Wild 2, перенесен на 2023 год. О задержке только что объявил продюсер Zelda Эйдзи Аонума. Продолжение Breath of the Wild 2017 года, которое ранее было выпущено ...

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

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

Автоматизация процесса релиза Всем привет! Меня зовут Даниил Хейфец, и я QA Lead мобильного направления в hh.ru. В этой статье я расскажу, как мы автоматизировали flow релиза мобильных приложений, как разбили его разработку на этапы, какие инструменты использовали и с какими проблемами столкнулись. ...

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

Мой опыт с Webpack 5 Module Federation Всем привет. Меня зовут Михаил, я - фронтенд-разработчик в Лиге Цифровой Экономики.В последнее время я пробую себя в должности руководителя направления фронтенд-разработки, однако я хочу с вами поделиться опытом разработки приложения с применением Webpack Module Federation, ...

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

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

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

Jetpack Compose в проектах на React Native: плюсы, минусы и интеграция Привет! Меня зовут Сергей Курочкин, я руковожу Android-разработкой в СберМаркете. Сегодня я расскажу, зачем нужен Jetpack Compose в проектах React Native, и поделюсь опытом интеграции фреймворка в наши приложения. В конце на примере простого компонента разберем весь процесс ...

Как мы уменьшаем размер изображений на веб-страницах в 10 раз с помощью нашего оптимизатора Привет, Хабр! Меня зовут Евгений Лабутин, я из команды разработки продукта МТС Твой бизнес. Мы разработали свой рецепт приготовления картинок для нашего портала. Благодаря ему удалось сократить их вес на странице до 10 раз относительно уже оптимизированного jpg/png, сохранив...

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

История Телеграм-игры длинною в 5 лет: Рагна-бот и его игроки Как-то в голову пришла мне идея игры: человеку приходят 4 очень похожие друг на друга кнопки и ему нужно выбрать верную за короткий промежуток времени. Так же я любил ходить в рейды в ММОРПГ-играх (я не любитель ПвП, но вот дружные замесы против босса - это по мне). В то вре...

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

От холодильника до теста на беременность: 6 необычных девайсов, на которых запустили Doom ПопМем Интересно 06.11.2021, 12:44 От холодильника до теста на беременность: 6 необычных девайсов, на которых запустили Doom При помощи современных технологий любое устройство с дисплеем можно превратить в экран вашего компьютера. Част...

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

WoG уже 20 лет… Все это уже история... И я даже писал об этом (не на habr). Поэтому, возможно, кому-то это знакомо. Не думал, что тут стоит писать подобное, но, вижу, что фанаты Героев 3 (и вообще серии HoMM) тут очевидно присутствуют, поэтому рискну... Время: 20 лет назад. Место: Ээээ… ...

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

Состоялся пробный запуск tower defense игры Rising Valkyrie Студия FunOneGame выпустила на Андроид проект Rising Valkyrie. Он доступен в Канаде, но вы тоже можете попробовать раннюю версию. Rising Valkyrie — мобильный проект, который появился в Google Play; информации о версии для iOS нет. По геймплею мы должны собирать колоду из ба...

Как вести учет криптовалютного портфеля в Гугл Таблицах Введение«Деньги любят счет» - это пословица, как никакая другая, очень точно описывает всю суть успешного распоряжения своими деньгами.На сегодняшний день существует множество инструментов и сторонних сервисов (Blockfolio, Coinmarketcap, Cryptocompare и т.п.) для ведения уче...

Впечатления о Golang от разработчика на PHP Привет! Меня зовут Андрей Литвиненко и я имею почти 15-летний опыт разработки на PHP. Уже около трех месяцев я активно пишу на Go и хочу поделиться наблюдениями, которые отметил для себя. Возможно, этот текст будет полезен тем, кто сейчас знаком с PHP и подумывает познакомит...

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

Компания Facebook официально сменила название Технологии IT/Игры 28.10.2021, 21:40 Компания Facebook официально сменила название Основатель Facebook Марк Цукерберг на онлайн-презентации грядущего ребрендинга компании официально объявил её новое название. ...

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

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

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

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

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

Как мы ускорили сборку CAD-программы на С++ в несколько раз Если вы пишете на C++, то скорее всего сталкивались с тем, что компиляция, кодогенерация и компоновка проектов, написанных на нём, занимают время и с развитием проекта начинают мешать как CI конвейеру так и итерации разработки на рабочем месте. Наша команда не понаслышке зна...

UX-текст на языке Шекспира: заповеди, грехи и табу Изменив одно местоимение, можно на 90% увеличить показатель кликабельности (CTR) кнопки, которая приведет новых пользователей. Дописав одно предложение, можно увеличить количество оплаченных покупок и снизить нагрузку на саппорт. Поставив одну запятую, можно было бы сохранит...

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

«День с̶у̶р̶к̶а̶ Redux» — как бороться с рутиной, применяя автоматизацию "Ух-ты! Какая интересная задача! И оценка времени на разработку хорошая! ..." 2 часа спустя: "Какой же это ужас, ещё 10 редьюсеров создать, ещё 10 раз описать зависимости состояний. Типы, компоненты... Сколько же бесполезной рутины... Вот бы можно было писать только декларат...

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

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

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

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

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

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

CoroOS: концепт операционной системы для микроконтролеров на корутинах С++20 Здравствуйте! Меня зовут Александр, и я работаю программистом микроконтроллеров.Наверное, любой разработчик встраиваемых систем время от времени подумывает написать свою собственную ось. Такую, чтобы другим неповадно было!И ваш автор не исключение. Как по мне - дело не то чт...

Google может использовать разные алгоритмы для разных языков Есть алгоритмы, которые Google использует только для определенных языков

Apple превращает iPhone в платежный терминал В будущем iPhone 11, который можно приобрести на сайте https://apple-premium.ru/iphone/apple-iphone-11/, и любой другой последующий iPhone сможет принимать платежи по кредитным картам. Как сообщает Bloomberg, Apple работает над сервисом, который позволит местным и небольшим ...

Фишки iMessage в iOS 15, о которых вы могли не знать В 2022 году мы не представляем свою жизнь без мессенджеров: WhatsApp, Telegram и Viber появились не так давно, но кажется, что они с нами всю жизнь. Как насчет того, что у Apple есть собственный iMessage, в котором собрано все необходимое? Мы уже рассказывали вам о том, поч...

Основные приемы работы с Canvas [Part 1] Привет! Сегодня я хотел бы начать цикл статей на тему того, как работать с canvas в HTML5 и как применять знания в области матанализа для реализации необычных и интересных эффектов.Все навыки и умения, которые мы получим здесь, являются фундаментальными принципами и могут бы...

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

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

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

Как управлять командой разработки Привет! Я Иван Антипин, заместитель директора департамента разработки в AGIMA. За свою карьеру я поработал с десятками команд. Где-то был разработчиком, где-то тимлидом, где-то помогал извне. У меня был миллион возможностей разобраться, как люди ведут себя в коллективе. Но в...

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

Нарастающий итог в SQL с разрывами в данных Ранее мы рассмотрели способы расчёта нарастающего (накопительного) итога в SQL. Самый распространённый вопрос - как посчитать тоже самое, но на данных с разрывами? После написания исходной статьи мне его задавали неоднократно – так что есть смысл написать об этом отдельно. Ч...

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

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

Мирная Олбания. Казнить нельзя помиловать? Буду краток и без картинок. Мне нравится Хабр. Читателем являюсь давно. В 18 году решился оставить комментарий, а в 19 прилетело НЛО и присвоило медаль Автора. Теперь я «автор» 4х публикаций, так характерный для ресурса. Если хватит сил и смелости, то после этого поста будет...

3Д- Моделирование с нуля с помощью DesignSpark Mechanical на русском языке Меня зовут Дмитрий, мне 61 год и я проживаю в Германии. Имею нескольо специальностей, связанных с обработкой, опыт работы на современных машинах с ЧПУ, а так же квалификацию, связанную с CAD.  Autodesk Inventor, Autodesk Fusion 360, Sketchup, а так же FreeCAD- это те програм...

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

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

Что у ECS под капотом Всем привет, это моя первая статья на Хабр. Давно хотел попробовать что-то написать, но всё никак не решался, да и темы подходящей не было. Наконец тема подвернулась, и пришло время закрыть этот гештальт =)В данной статье я опишу общий принцип "подкапотной" работы ECS фреймв...

Apple выпустила Android-приложение для защиты от слежки Факт того, что Apple не очень-то заботится о пользователях Android-смартфонов, совсем не удивляет. Ну, с одной стороны, вполне очевидно. Хочешь пользоваться яблочными сервисами — покупаешь iPhone. С другой, если не обеспечить доступ к некоторым фишкам для владельцев д...

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

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

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

Криптовалюта поможет стать NPC в S.T.A.L.K.E.R. 2 Шутер S.T.A.L.K.E.R. 2 обзаведётся криптой, которая поможет стать «мета человеком». Что это значит и как отреагирует сообщество? Крупные издатели начинают серьёзно рассматривать вопрос о вводе в игры NFT, то есть криптовалюты. Сначала об этом заговорил CEO Ubisoft, хотя сот...

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

Недельный геймдев: #56 — 6 февраля, 2022 Из новостей на этой неделе: Epic Games приобрела RD-Textures, Blender Studio выпустила Watchtower, Valve объявила об изменениях в правилах установки скидок для разработчиков, вышли Blender 3.1 Beta, Particle Illusion 2022 и ZBrush 2022.0.4.Из интересностей: разбор рендери...

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

MMORPG Onigiri HEROES использует графику «из прошлого века» Состоялся релиз Onigiri HEROES и не всё так гладко. Больше всего игрокам не нравится графика. Onigiri HEROES — мобильная MMORPG, которую выпустили на iOS и Android. Разработчики заявляют, что её сеттинг — средневековое фэнтези, причём в Японии. На старте дают выбрать пол и...

Разбираемся с библиотекой лексического анализа ANTLR4 У нас в SberDevices разрабатывается платформа по управлению рекомендациями, которая взаимодействует с разными ML-движками. Со временем их станет много, и, когда пользователь умных устройств Sber будет запрашивать контент – искать фильмы, музыку, спрашивать о чём-то виртуальн...

Модульность и DI в современном Android-приложении. Большой туториал от Яндекса Всем привет! Я Денис Загаевский из Android-разработки Яндекс.Карт. Если вы развиваете многомодульное приложение или хотите разбить на части пока ещё одномодульное, этот туториал для вас. Под катом расскажу, как удобно разбить приложение на модули, зачем это нужно и как пото...

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

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

Все сюжетные ролики Diablo Immortal на русском языке, сервера могут открыть 1 июня Activision Blizzard всё-таки может оставить русскую локализацию в Diablo Immortal несмотря на запрет скачивать игру в РФ и Беларуси. Русскоязычные игроки прогнули свою линию — Майкл Ибарра, глава Blizzard, обещает оставить русский язык как одну из опций в Diablo Immortal. ...

Безопасная разработка и уязвимости программного кода Часть 1. Как писать свой код без ошибокНа сегодняшний день трудно представить себе какую-либо отрасль бизнеса, в которой не использовались бы информационные технологии. Не только в банковской сфере, но и в промышленности, транспорте, сельском хозяйстве – везде ИТ играют огро...

Первый в России обвиняемый в киберпреступлении признал свою вину. Он продавал читы для World of Tanks Уроженец Екатеринбурга Андрей Кирсанов признал вину по первому в России уголовному делу из-за читов для компьютерной игры World of Tanks. Ранее постановлением Черёмушкинского суда Москвы дело в отношении Кирсанова было направлено по подсудности в Верх-Исетский районный...

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

Обзор докладов с конференции Hydra 2021 На ютубе опубликовали записи с конференции Hydra 2021. Я смотрел конференцию онлайн и написал abstract самых полезных и интересных докладов. Возможно, вам они тоже пригодятся и помогут в работе. Читать далее

Таймер в .NET с интервалом 1 мс. Windows Вы пишите код на платформе .NET под Windows и вам нужно выполнять некоторые действия каждую миллисекунду. Возможно ли это? Какие есть варианты и насколько они надёжны? Разберёмся, что можно использовать, и какие есть гарантии по точности срабатывания. Статья сконцентрирована...

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

Знакомство с p-адическими числами. Часть 1 Изображение с сайта Mathematical Art Galleries В этой серии из двух статей я приглашаю вас заглянуть в один любопытный и не самый популярный уголок математики, в котором обитают необычные создания — p-адические числа, а попутно хочу рассказать о написанной мной Haskell-библ...

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

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

Автоматизируем работу с ArchiMate в CI пайплайнах В этой статье я дам краткую вводную, что такое Archi и ArchiMate. Расскажу о коллективной работе с Archi используя расширение coArchi, после чего предоставлю контейнер позволяющий автоматизировать работу по созданию HTML и PDF документов с ArchiMate моделями. Завершим же, со...

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

Ещё одна статья про дизайн-системы (в продуктовом дизайне) Привет. Меня зовут Костя, и я отвечаю за дизайн в Агиме. И да, я решил написать ещё одну статью по дизайн-системам, в довесок к 7 млн уже существующих. Я думаю, эта статья будет бесполезна для любого, кто сталкивался с ДС вживую. Но с другой стороны, мне регулярно ...

Правда ли, что Apple разрешила удалять родные приложения Родные приложения на устройствах Apple — просто отпад. Думаю, что многие пользователи со мной в этом согласятся. Заметки, Календарь, Напоминания — лучшее, что есть в App Store. Да-да, вы все правильно поняли. Недавно в Купертино решили добавить все нативные прил...

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

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

[Перевод] Способы переписать логические параметры в С++ Программисты читают код намного чаще, чем пишут его, поэтому важно писать понятный, последовательный, однозначный код. Автор книги С++17 in detail написал о способах избегать путаницы. Делимся его материалом к старту курса по разработке на С++. Читать далее

ULE — самописное MC Java ядро. Часть #1.1 — HelloWorld и изменения… Дальше создаю серверное ядро на языке Rust, в данной часте был сделан переход с Go и добавлено несколько интересный изменений.Переход с Go на Rust дал огромный прирост производительности и теперь ядро сверх быстрое. Ядро использует всего 128KB ОЗУ и запускается за менее 1мс)...

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

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

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

Студентка из Индии разрабатывает ИИ для перевода языка жестов Результат перевода будет предоставляться ИИ мгновенно, в режиме реального времени. Читать полную статью

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

Сколько на самом деле у эскимосов слов для обозначения снега? Наука Человек 30.11.2021, 20:08 Сколько на самом деле у эскимосов слов для обозначения снега? На этот вопрос есть три ответа: довольно много, не так много и чертовски много. Или, если хотите конкретики: 5, 2 и не менее 99. ...

Пишем «Hello, world!» для Zepp OS и часов Amazfit GTS 3 Совсем недавно Amazfit (партнёр Xiaomi) представила новое поколение умных часов, в линейку которого вошли модели GTR 3 Pro, GTR 3 и GTS 3. Эти часы официально продаются и теперь можно без проблем купить. Я бы обошёл новинку стороной, ведь есть модели и подешевле с практиче...

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

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

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

Создание своего серверного ядра на Go для Minecraft Java. Часть #1 — Основное о идее Тема, которая будет писаться в многих частях будет в основном предствалять этапы написания своего серверного ядра для мультиплеера популярной игры Minecraft. Читать далее

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

Не Токио, а Тик-Токио. Дмитрий Рогозин решил переименовать столицу Японии Глава «Роскосмоса» Дмитрий Рогозин сообщил в своем Телеграм-канале, что теперь ведомство на всех картах дистанционного зондирования Земли будет называть столицу Японии Токио следующим образом: «ТИК-ТОКИО». Отмечая передовые позиции Минобороны Япо...

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

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

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

Психология языкового барьера, или Какого черта нельзя просто взять и заговорить на английском 63% россиян учили английский в школе или университете, но при этом только около 5% граждан могут похвастаться свободным владением языка. Это один из самых низких показателей в Европе по рейтингу EF English Proficiency Index.По нашему личному опыту, больше половины студентов ...

Node.js: разрабатываем пакетный менеджер Привет, друзья! Вам когда-нибудь хотелось узнать, как под капотом работают пакетные менеджеры (Package Manager, PM) — интерфейсы командной строки (Command Line Interface, CLI) для установки зависимостей проектов наподобие npm или yarn? Если хотелось, тогда эта статья для ...

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

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

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

Как мы создавали Data Management Platform: архитектура, проблемы, выводы Для таргетинга мы в Ozon используем сегменты, в которые группируем пользователей по интересам. Интересы могут быть определены через систему трекинга событий. Последние в свою очередь формируются в процессе взаимодействия пользователя с маркетплейсом Ozon. На основе сегментов...

Создатели Subway Surfers выпустили эксклюзивную игру MetroLand в Huawei AppGallery В магазине приложений AppGallery от Huawei вышла игра, которую нельзя найти в каком-то другом месте. Речь идёт о MetroLand от компании Kiloo, создавшей очень успешную мобильную игру Subway Surfers. Kiloo выбрал AppGallery для выпуска MetroLand, которая стала эксклюзивны...

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