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

[Перевод] Каково это, создавать язык программирования сегодня? «Эта книга – классика. Относитесь к ней бережно». Такую фразу произнёс архитектор из нашей команды, передавая мне The Dragon Book. Разработкой компиляторов я увлёкся где-то 15 лет назад ещё на заре своей карьеры. Как-то раз, читая эту книгу поздно вечером, я заснул, небреж...

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

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

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

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

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

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

Как избавляться от ошибок в английском языке. Окаменелые ошибки Fossilized errors - "заученные" ошибки. Когда студент повторяет их вновь и вновь и не воспринимает их, как ошибку. Если это грамматическая ошибка, то правило может быть знакомым, но из-за того, что студента не исправляли, ошибка отложилась в памяти и осталась со студентом, н...

Начало мая 2024 года ознаменовалось 60-летием языка программирования BASIC. В честь этого события несколько проектов FOSS BASIC выпустили новые версии Язык программирования BASIC, созданный более 60 лет назад для обучения начинающих программистов, до сих пор жив и развивается. В мае 2024 года легендарный язык отметил свой 60-летний юбилей, и сообщество разработчиков решило отпраздновать это событие по-особенному. Неск...

PyZelda своими руками или как геймдевить без Unreal, Unity и кредитов Хабры и Хаброчки, я хотел бы перед самой статьёй обсудить вопрос целесообразности писать свой движок, вместо готовых решений. Есть куча статей, которые опишут разные движки от более популярных до менее. Я бы хотел затронуть немного другой вопрос: "Как человеку, который изуча...

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

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

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

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

[Перевод] Как я снизил время инкрементных сборок Rust на 40% Я форкнул и модифицировал компилятор Rust rustc. Одна фича — кэширование расширения процедурных макросов — привела к снижению времени инкрементных сборок на 11-40% в различных реальных крейтах. Благодаря этому ускорились dev-сборки и меньше стал тормозить rust-analyzer (IDE ...

Spring Boot Starter: практически, принципиально и подробнее. Part 1 Всем привет, меня зовут Сергей Соловых, я Java-разработчик в команде МТС Digital. За последние 2 года я написал и выпустил в продакшен более 30 микросервисов. Выдержать столь высокий темп помогло применение общепроектных решений и паттернов разработки. Общепроектные решения&...

Huawei поставила крест на Android. Представлена HarmonyOS NEXT, и в ней нет ни строчки кода Android Сегодня состоялось очень важное событие: Huawei представила в Китае новейшую операционную систему HarmonyOS NEXT, которая, в отличие от обычной HarmonyOS, не базируется на Android AOSP. Более того, эта ОС вообще не совместима с Android и ее приложениями. Создатели назы...

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

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

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

[Перевод] Эффект Монреаля: почему языкам программирования нужен Царь стилей Давайте представим нереалистичный сценарий, где вы выбираете язык программирования для проекта, который в перспективе станет очень большим. Допустим, это будет набор сервисов в монорепозитории, над которыми работает более 100 человек. Чтобы сделать этот сценарий ещё менее р...

Этапы и принципы развития навыка говорения Статью пришлось переопубликовать с важными уточнениями. Кто уже читал, в конце после чёрточки внизу – совершенно новый текст.«ЗНАТЬ иностранный язык» и «УМЕТЬ на нём разговаривать» — это очень разные вещи. Профессиональные переводчики знают язык глубоко, но разговаривают нек...

«Шум» в суждениях и предвзятость в решениях людей и нейросетей А — точность; В — шум; С — предвзятость; D — шум + предвзятость Когда разработчиков ПО просили в два разных рабочих дня оценить время выполнения задачи по одному и тому же ТЗ, часы, которые они прогнозировали, отличались в среднем на 71 %. Два одинаково опытных врача мог...

Rust — это не «memory safe C» TL;DR: 1) в Rust намного больше достоинств, чем просто скорость и безопасность 2) в Rust по умолчанию CDD (compiler-driven development, разработка через компилирование). Это как TDD, только CDD 3) Rust не сложный язык, особенно если не гнаться за максимальной производительно...

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

Несколько советов как новичкам не забросить изучение IT Я создаю IT-курсы уже 6 лет, являюсь руководителем направления обучения Бэкенд-разработке в онлайн-школе и даже развиваю свои собственные курсы по программированию на Python. Еще веду корпоративные обучения, работаю в универе и провожу консультации о построении пути в I...

[Перевод] Погружение в компиляторы Kotlin Привет, меня зовут Мялкин Максим, я занимаюсь мобильной разработкой в KTS.Не за горами выпуск новой версии Kotlin 2.0, основной частью которого является изменение компилятора на K2. По замерам JB, K2 ускоряет компиляцию на 94%. Также он позволит ускорить разработку новы...

Как я решал Advent of Typescript, и что я понял Возможно вы слышали про Advent of Code — ежегодное соревнование по решению задач на рождественскую тему. Начиная с 1 декабря, вплоть католического рождества, каждый день выкладывается новая задача. С каждым днем сложность задач возрастает.В дека...

PIC32MZ и Быстрое Преобразование Фурье PIC32MZ и Быстрое Преобразование ФурьеМикроконтроллер от компании Microchip далеко не новый. Но пока нам дружественный Китай увы и ах, и такого (415 MIPS на частоте 252 MHz ядра) предложить не может. Ведущие производители микроконтроллеров в Китае - Artery, Nation Semiconduc...

[Перевод] Использование фреймворков модульного тестирования для выявления уязвимостей Формулировка проблемы Поиск уязвимостей — сложный процесс, а еще сложнее пользоваться уязвимостями на нескольких целях в разных конфигурациях. Именно по этой причине существует множество фреймворков, таких как Metasploit, и различных сканеров уязвимостей, таких как nuclei....

Yet Another Easyjson. Как я не устаю делать велосипеды, а главное зачем Я люблю время от времени взять и переделать что-нибудь уже готовое. Цель не в том, чтобы сделать что-то лучше или доказать свою гениальность – я просто ищу опыт. Как получить опыт в разработке сложного инструмента, если ты берешь уже готовые фреймворки и пакеты и просто соби...

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

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

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

Как я за месяц написал интерпретируемый язык программирования на Python Привет, Хабр! В этой статье я хотел бы поделиться опытом создания своего языка программирования.ПредысторияМне 14. Обучаясь на втором году Яндекс Лицея, нужно было написать несколько проектов. Первым из них стал проект на PyQT5. Я долго думал над идеей и вспомнил, что летом ...

Разработка тензорного компилятора под RISC-V CPU с помощью OpenVINO и MLIR Привет, Хабр! Меня зовут Владислав Виноградов, я инженер группы исследований и разработки ПО глубокого обучения в YADRO. Моя команда создает и оптимизирует связанное с искусственным интеллектом программное обеспечение. Сегодня я расскажу, как можно разработать тензорный комп...

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

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

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

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

[recovery mode] Программирование в среде Scratch для детей: знакомство с платформой Программирование — это не только написание кода, но и способ мышления. Учиться ему лучше как можно раньше. Первые шаги в айти-сфере стоит начинать уже в младшей школе. Но это не значит, что в первом классе ребенок будет писать настоящий код. Для обучения можно использовать п...

Swift Utilities — Equatable для сложных Enum За годы работы разработчиком iOS, я собрал множество инструментов и полезных штук, которые облегчают процесс разработки. В этой статье, я хочу поделиться одним из таких инструментов. Это будет не большая статья. Я покажу, как пользоваться этой утилитой, продемонстрирую её в ...

Как и почему я писал для Флиппера на Си-с-классами Мой Флиппер дошёл до меня больше полугода назад, но что-то под него написать я собрался только сейчас. Его API рассчитаны на язык С — а у меня с ним опыта не очень много. Но проблем с тулингом не возникло — у Флиппера есть своя система сборки, которая скачала мне нужный тулч...

Укрощение примитивов синхронизации: сравниваем решения задачи с построением пула потоков на С и Go Эта статья основана на истории об одном личном челлендже. Задача звучала так: помочь с реализацией взаимодействия компонентов в программном комплексе заказчика. Иными словами, понадобилось IPC для дальнейшего развития продукта. Вызов заключался в том, что в обязательных треб...

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

Обобщенные фабрики тайпгардов в TypeScript Привет, Хабр! Меня зовут Сергей Соловьев, я разрабатываю интерфейсы международных платежей в Тинькофф Бизнесе. Уверен, многие хотят писать надежный, поддерживаемый, но при этом лаконичный код. Как найти баланс?TypeScript упрощает разработку веб-приложений ценой роста кодовой...

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

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

Можно ли обойтись без нативных языков, разрабатывая на Flutter и RN? Привет! Меня зовут Дима, я разрабатываю мобильные приложения на Flutter в Пиробайт. Все чаще мне приходится сталкиваться с задачами, в которых требуется обращение к нативному API устройства. Пакетов на pub.dev для решения этих задач мне всегда хватает. Но бывают моменты, ког...

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

Создание своего UEFI загрузчика Привет Хабр! Мне 16 лет, я студент, учусь на первом курсе колледжа на программиста. Начал увлекаться низкоуровневым программированием на Ассемблере и C/C++Я заметил что на Хабре есть множество статей о написании своих простых "загрузчиков" для BIOS-MBR, которые выводят на эк...

Пишем GPT4 ботов на coze.com Нет времени объяснять! Bytedance тестирует платформу создания АИ ботов, coze.com, в том числе на базе gpt-4/gpt-3.5/Dalle-3 с возможностью интеграции в телеграм/дискорд. На данный момент ограничений практически нет, бесплатный доступ к огромному количеству сервисов, включая...

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

SAGE: коррекция орфографии с помощью языковых моделей Коррекция правописания является одной из основополагающих задач в области Natural Language Processing (NLP). Достаточно прозаичная формулировка и кажущаяся жёсткой структура орфографической системы скрывают под собой нетривиальные внутриязыковые взаимодействия, являющиеся тр...

[Перевод] Что GCC делает для усиления защиты ядра? Усиление защиты ядра Linux — это задача, предполагающая постоянную работу сразу по нескольким направлениям. И иногда эта работа может быть выполнена даже не в самом ядре, а с помощью других инструментов, или даже в компиляторах. На конференции 2023 GNU Tools Cauldron Цин Чжа...

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

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

Потрошим golang: как устроена память Привет, меня зовут Стас, и я работаю в VK Cloud над разработкой облачных сервисов в команде Data Masters. Сервисы, запрошенные клиентами, так или иначе должны развернуться в том виде, в котором клиенты их запросили, в адекватные сроки и без ошибок. Существует множество мех...

Code review: почему мы до сих пор его используем и какие альтернативы? Прообраз code review появился в 60-х годах прошлого столетия, когда программы писали на перфокартах. Главной проблемой тогда было преобразование программного кода в машинный — компиляция. Это сложный процесс, чувствительный к ошибкам и структуре написанного кода. Если в проц...

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

Разработка цифровой аппаратуры нетрадиционным методом: Yosys, SpinalHDL, VexRiscv (ч. 2) Это вторая и заключительная часть большой статьи. Ознакомиться с первой частью можно по ссылке. Основная прелесть использования ПЛИС, на мой взгляд, состоит в том, что разработка аппаратуры превращается в программирование со всеми его свойствами: написание и отладка кода...

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

Postgresso за 2023 В прошлом году Postgresso 12 (49) и был обзором, пробегающим по 11 предыдущим номерам. В этом году мы решили, что эту задачу лучше выделить в отдельный выпуск.ЯНВАРЬPostgresso 1 за 2023 (50)ИгрушкиДа, мы любим рассказывать об игрушечных базах, самодельных базах для души. Бул...

[recovery mode] Где бесплатно учить Java в 2024 году В 2024 году изучение Java остается одним из актуальных направлений для тех, кто стремится стать профессиональным разработчиком.В настоящее время существует множество бесплатных ресурсов, которые предлагают уроки по Java, от курсов до университетских программ, что делает дост...

Почему вам стоит отказаться от использования timestamp в PostgreSQL Не секрет, что работа с часовыми поясами — боль, и многие разработчики объяснимо стараются ее избегать. Тем более что в каждом языке программирования / СУБД работа с часовыми поясами реализована по-разному.Среди тех, кто работает с PostgreSQL, есть очень распространенное заб...

Бесплатные курсы для изучения SQL в 2024 году Изучение SQL в 2024 году остается важным для по нескольким причинам:1. Широкое применение: SQL является стандартным языком для работы с реляционными базами данных, которые широко используются в различных отраслях. Большинство предприятий и организаций все еще хранят свои дан...

Книга «C++ для начинающих. 2-е изд." Привет, Хаброжители! Книга Герберта Шилдта начиная с таких базовых понятий языка, как типы данных, массивы, строки, указатели и функции, книга охватывает также важнейшие элементы объектно-ориентированного программирования — классы и объекты, наследование, виртуальные функц...

Database, Data Warehouse и Data Lake: что это и когда следует использовать каждое? Данных становится все больше. Важно уметь эффективно хранить и обрабатывать их для решения сложных бизнес-задач. Одним из первых шагов на пути к успешной стратегии является выбор технологии хранения, поиска, анализа и отчетности по данным. Как выбрать между базой данных, Dat...

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

Теория сложности Привет, Хабр!Теория сложности представляет собой концепцию о том, что сложные системы — это не просто совокупность частей, но скорее сеть взаимодействий, которые порождают новые, часто непредсказуемые явления.Формулы, используемые в теории сложности, часто связаны с вычисли...

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

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

Лучшие игровые движки 2024 для 2D разработки Defold - это бесплатный движок для создания 2D игр и других интерактивных приложений. Он разработан компанией King (известной по игре Candy Crush) и предлагает простой и эффективный способ создания кроссплатформенных проектов. 1. Язык программирования: Defold использует язык...

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

Есть ли Undefined Behavior в Rust? Если вы никогда не сталкивались с Rust-ом, а слышали, что он помогает избежать Undefined Behavior (UB), то отчасти это так. Некоторые делят язык Rust на 2 части: safe и unsafe. Я бы поделил на 4 части: safe, unsafe, const и async. Но нас интересуют safe и unsafe. Получить UB...

Миграция конфигурации сборки с Groovy на Kotlin DSL (Domain-Specific Language) — это язык программирования, который спроектирован и оптимизирован для решения задач в конкретной области или для определенного класса задач. DSL build.gradle предоставляет разработчикам удобный способ определения настроек проекта и управления ...

[recovery mode] Где изучать Golang в 2024 2024 году изучение языка программирования Go (Golang) остается одним из наиболее перспективных и востребованных направлений для разработчиков. Одним из главных преимуществ изучения Golang в 2024 году является его широкое применение в различных областях разработки програ...

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

Google представила Gemini — «убийцу» ChatGPT Компания Google официально объявила о запуске собственной системы искусственного интеллекта Gemini. По заявлению генерального директора Google Сундара Пичаи (Sundar Pichai), который провёл презентацию новейшей разработки, Gemini 1.0 на данный момент является самой мощно...

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

[recovery mode] Решаем дифференциальные уравнения с помощью Python часть 1 Начнем пожалуй с того, что решать дифференциальные уравнения вручную может быть не совсем просто. На данном ресурсе http://mathprofi.ru/differencialnye_uravnenija_primery_reshenii.html есть шпоры как это делать вручную, там есть множество подсказок по различным разделам высш...

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

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

[recovery mode] Как заниматься английским языком самостоятельно: гайд по самостоятельному изучению грамматики для начинающих Вы хотите начать заниматься английским, но пока по какой-то причине не готовы записаться на курсы или найти преподавателя по английскому языку. Но вы готовы уделить какое-то время, чтобы изучать язык самостоятельно, в своем темпе, чтобы если вдруг где-то в будущем вам язык п...

Разработка Tower Defense на Unity — часть 1 Доброго времени суток, ребята. Это моя первая статья вообще и первая в цикле статей о том, как я решил создать игру в жанре Tower Defence. Данный текст я пишу как человек неопытный и только исследующий сферу, так что он может показаться вам интересным, если вы уже давно проф...

Локальный веб-сервер для разработки с помощью Docker К вам в отдел выходит новый коллега-разработчик и, прежде чем брать первые задачи в одном из проектов, первым делом ему нужно запустить его у себя локально. Если это Senior Full Stack разработчик с опытом администрирования Linux, то установка и настройка конфигов Nginx,...

Выполняем сторонние программы на микроконтроллерах с Гарвардской архитектурой: как загружать программы без знания ABI? Зачастую в процессе разработки собственных устройств или моддинга уже существующих, встаёт задача выполнения стороннего кода: будь то ваши собственные программы с SD-флэшек, или программы, написанные другими пользователями с помощью SDK для вашего устройства. Тема компилят...

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

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

Проверка «магии» ИИ-моделей Google: первое впечатление и сила языка В области создания текстов с помощью искусственного интеллекта языковая модель Google (LLM) вызывает большой резонанс. Благодаря возможности создавать креативные истории, отвечать на вопросы и многое другое, неудивительно, что разработчики стремятся к этому. Один из первых п...

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

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

[Перевод] Я разработчик, а не компилятор Недавно у меня было телефонное собеседование, на котором мне задавали разнообразные вопросы по Java. Это стандартное собеседование и большинство вопросов тоже было вполне стандартным:Что такое полиморфизм?В чём разница между List и Set? Когда стоит использовать первое, а ког...

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

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

Где бесплатно изучать Rust в 2024 В 2024 году Rust остается одним из наиболее востребованных и перспективных языков программирования. Вот несколько причин, почему учить Rust может быть полезно:1. Безопасность: Rust разработан с упором на безопасность, предотвращая многие типичные ошибки программирования, так...

Каков C++ в gamedev'e? Хотел написать продолжение к статье Что почитать игровому программисту? про использование С++ в игровых движках, но размышления свернули куда-то не туда.Завороженно смотрю как и какими темпами идет развитие языка в последние годы, и понимаю, что получить и особенно применить...

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

Глубина кроличьей норы: бинарная граница и ABI C++ Вопрос ABI (Application Binary Interface), бинарной границы и бинарной совместимости в C++, раскрыт на просторах интернета не так хорошо как хотелось бы. Особенно сложно в его изучении приходится новичкам, потому что эта тема связана со множеством деталей нарочно скрытой от ...

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

[Перевод] Вам не нужен для этого JavaScript Прошу вас не возмущаться названием статьи. Я не ненавижу JavaScript, я люблю его. Ежедневно я пишу на нём кучу кода. Но ещё я люблю CSS и даже люблю JSX HTML. Я люблю все эти три технологии по причине, которая называется… ▍ Правило наименьших полномочий Это один из базовых...

[recovery mode] Где изучать C# в 2024. Бесплатные курсы и полезные ресурсы Существует несколько причин, почему стоит учить C# в 2024 году через бесплатные курсы:1. Популярность: C# является одним из самых популярных языков программирования, особенно в сфере разработки приложений для платформы Microsoft. Изучение C# открывает двери для работы над ши...

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

Зачем нам так много языков программирования? В мире насчитывают примерно 7 000 естественных языков и 9 000 языков программирования. Но, в то время как количество первых стабильно сокращается, число вторых продолжает уверенно расти. Сегодня поговорим о универсальном языке программирования «для всего» и причинах появлени...

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

Сказ о том, как я эмулятор Intel 4004 на Python писал (часть 2) Небольшой дисклеймер: перед прочтением данной статьи ознакомьтесь с первой частью, дабы вникнуть в суть происходящего. Желаю вам приятного прочтения :)Это вторая часть о том, как я писал и продолжаю писать и улучшать эмулятор Intel 4004 с очень ограниченным функционалом на я...

Apple основательно готовится к сложному iPad за ... Издание Nikkei, ссылаясь на инсайдеров, утверждает, что Apple изучает возможность разработки сложных моделей iPad, хотя нет точного графика запуска.

Apple основательно готовится к сложному iPad за ... Издание Nikkei, ссылаясь на инсайдеров, утверждает, что Apple изучает возможность разработки сложных моделей iPad, хотя нет точного графика запуска.

Файловый ввод, сделанный по-человечески Поводом к написанию данной статьи и к разработке соответствующей мини-библиотеки ffh стало одно из практических заданий по дисциплине ‘Языки программирования’, которую я веду. В этом задании необходимо прочитать все строки из текстового файла для последующей обработки. Так ...

Динамический JIT компилятор C++ Когда-то давно я писал статью-наблюдение про использование Хабра в качестве площадки для архитектурных ревью технических решений практически любой сложности Хабр — ума палата, и продолжаю пользоваться этим способом на постоянной основе. А теперь, похоже, я нашел еще один оч...

Релиз без ошибок. Невозможное возможно? Привет! Меня зовут Сергей, я технический эксперт в компании Bercut. Когда-то увлекался Delphi и J2ME, издал несколько книг на эти темы, а сейчас создаю высоконагруженные приложения для баз данных.Первой СУБД, с которой я познакомился — случилось это в далеком 2002 году, ...

Как я использовала идею CYBERPUNK 2077 в договорах с клиентами Договоры необязательно писать только "юридическим" языком. Можно упрощать, чтобы было понятно, о чём там речь, неюристам. Как же я обрадовалась, когда увидела оферту CYBERPUNK 2077. Там буквально на языке простого пользователя игры объясняли сложные вещи. Оказывается, так мо...

Разработка цифровой аппаратуры нетрадиционным методом: Yosys, SpinalHDL, VexRiscv (ч.1) Основная прелесть использования ПЛИС, на мой взгляд, состоит в том, что разработка аппаратуры превращается в программирование со всеми его свойствами: написание и отладка кода как текста на специализированных языках описания аппаратуры (HDL); код распространяется в виде па...

Nvidia не нравится, когда кто-то выпускает видеокарты и GeForce, и Radeon? ASRock заявила, что для неё сейчас сложно начать производство карт Nvidia Компания ASRock уже какое-то время производит видеокарты AMD и с недавних пор адаптеры Intel. А вот карты Nvidia она не выпускает и теперь стало известно, почему.  В интервью представитель ASRock ответил на вопрос, какие у компании планы и собирается ли она начать...

Почтовый сервер с нуля. Часть первая Очень часто на этапе стажировки новых сотрудников мы в нашей компании сталкиваемся с типичными простыми ошибками, непониманием работы DNS и почты. При этом обучение новых сотрудников по этой теме — достаточно длительный и сложный процесс, так как сами вопросы требуют построе...

C# изучение windows forms начало I'm студент изучающий язык программирования с#. Делюсь тем чему сам начусь. Надеюсь получится разобрать всё по полочкам, и возможно появятся люди которым будет интересно это читать, может быть кто то найдет себе что то новое или же если уже знаете язык то поможете тем кто т...

Яндекс представил новое поколение нейросетей YandexGPT Команда Яндекса анонсировал линейку нейросетей YandexGPT 3. Первая языковая модель линейки — YandexGPT 3 Pro — уже доступна на сайте Yandex Cloud. Она лучше работает со сложными запросами и точнее следует заданному формату ответов, благодаря чему будет особе...

Книга «Python для сложных задач: наука о данных. 2-е межд. изд. » Привет, Хаброжители! Python — первоклассный инструмент, и в первую очередь благодаря наличию множества библиотек для хранения, анализа и обработки данных. Отдельные части стека Python описываются во многих источниках, но только в новом издании «Python для сложных задач» вы...

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

Symfony под капотом: Symfony Messenger и механизм повторной обработки сообщений при ошибках Привет! Меня зовут Ваня, последние несколько лет я занимаюсь backend-разработкой в Сравни. Моя команда разрабатывает интеграции с сервисами наших партнёров, код пишем на PHP и Symfony Framework.При работе с интеграциями мы часто имеем дело со сбоями в сторонних сервисах, и н...

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

Язык Crystal и математика Если вам вдруг захотелось посчитать собственные значения матрицы, решить задачу линейного программирования или оптимизировать нелинейную функцию, то вы может взять питон со SciPy, можете взять R или Matlab\Octave, для любителей экзотики есть Julia, а те кому важен каждый тик...

Большой API для экспериментов и front проектов или памятка о том, как я создавал проект Это моя первая статься, а потому, как мне кажется, будет хорошим шагом начать с того, кто я такой. Меня зовут Юрий, я учусь на программиста и попутно сам стараюсь изучать всё возможное про мою специальность, а моя специальность - это .Net. Влюбился в него и вцепился с первог...

Решение на миллион: разбираем алгоритмические задачи с победителями True Tech Champ Привет, Хабр! Меня зовут Алина Ёжикова, я работаю в МТС Диджитал и делаю мероприятия для разработчиков. Сегодня расскажу, как мы организовали самый большой и сложный ивент в моей карьере — олимпиаду по программированию на восемь тысяч разработчиков.Я говорю про True Tech Cha...

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

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

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

[Перевод] Как изучить Haskell всего за 15 лет Haskell — это язык программирования, изобретённый в 20-м веке шотландскими логиками в качестве пранка (вероятно). Примерно пятнадцать лет назад я начал изучать Haskell по причинам, которые уже и не упомню. Сегодня я наконец написал полезную программу на Haskell и уверен, чт...

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

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

Pkl — новый язык конфигураций от Apple. Обзор и сравнение с YAML и JSON Каждое приложение требует определенного уровня конфигурации. С помощью специальных языков можно создавать файлы, которые способны автоматизировать инициализацию системы. Эти файлы обычно читаются и интерпретируются только один раз. Наиболее распространенный пример — конфигу...

Запускаем локальный ML-процесс в облаке с помощью DataSphere Jobs В сообществе ML-инженеров и дата-сайентистов популярны инструменты с быстрой обратной связью наподобие JupyterLab — они помогают легко и без лишних обвязок проверять гипотезы или создавать прототипы. Но довольно часто бывает, что при разработке ML-пайплайна, будь то инференс...

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

Развитие RISC-V & мультиклеточная архитектура Рост популярности RISC-V с момента его появления в 2010 году позволяет говорить, что архитектура состоялась.Пока успех архитектуры RISC-V — это, в первую очередь, ее открытость. Все остальные факторы вторичны. Минимализм системы команд, ее стандартизация, программная инфраст...

Суслик и пингвин: кодим на Go под Linux Язык ядра Linux, его модулей и утилит написаны на языке C. Хоть он и является старым языком и прародителем многих других, но его до сих пор используют. В экосистему линукса постепенно проникают и более молодые языки — например, Rust. Но сегодня мы поговорим об детище Google ...

Mockito и как им пользоваться Привет, Хабровчане! Помню, как в одном из моих первых проектов, мы столкнулись с проблемой тестирования кода, который зависел от внешних сервисов и баз данных. Это было не только трудоемко, но и занимало уйму времени. И сразу стало понятно, что без мокирования нам не обойтис...

Python + pygame — небольшие оптимизации Приветствую IT-специалистов, решивших прочитать мою статью, я - python разработчик любитель (изучающий язык уже 5 лет, но не имеющий коммерческого опыта), который решил создать игру на очень медленном языке программирования. В процессе разработки я сталкиваюсь с различными п...

Путь от преподавателя английского к AI Product Manager Всем привет, меня зовут Оля Шерстюк, раньше я была преподавателем английского языка, но начиная с 2023 года решила поменять свою деятельность и перейти в IT, сейчас я учусь в магистратуре AI Talent Hub. Хочу поделиться с вами своей историей.В 2023 я зачеркивала дни в календа...

Анатомия Htmx Hello world! По данным 2023 JavaScript Rising Stars библиотека htmx заняла второе место в разделе Front-end Frameworks (первое место вполне ожидаемо принадлежит React) и десятое место в разделе Most Popular Projects Overall. htmx — это библиотека, которая предоставляет до...

Автоматическое создание карточек слов для изучения иностранного языка или интеграция google translate в google sheets Добрый день.Недавно сделал инструмент для автоматизированного создания карточек для изучения слов — подумал что может быть кому то пригодится и как инструмент, и как техническое решение.Немного вводной информации: один из способов запо...

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

Начало Aircrack-ng и WEF ПредисловиеРад приветствовать всех читателей статьи! С сегодняшнего дня запускаю новую рубрику моих статей "Без про-v-ода", в серии этих статей я буду обозревать различные методы, фишки, инструменты, устройства и всё что связано в вардрайвингом. Думаю не секрет, что довольно...

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

[Перевод] Мудреный код — пожалуй, худший выбор Когда я учился в университете, Leetcode поломал мне мозг. Я смотрел на лучшие из лучших решений, которые укладывались в одну строчку малопонятного кода, и в своем заблуждении думал: «Как же мне достигнуть такого высокого уровня?» Что тут вообще происходит? Такой подход ч...

От «здравствуйте» до こんにちは: языки программирования не на английском языке Существует огромное количество самых разных языков программирования, их насчитывается несколько тысяч. Какие‑то — идеальны для работы, другие же созданы just for fun. К слову, есть ЯП, представленные программистами из неанглоязычных стран, в них...

Про уровни владения иностранным языком __1. Давайте подумаем, какой уровень у человека, который читает английскую классику почти без словаря? Я был таким человеком в 2008 году, когда приехал в частную школу английского языка в Лондоне. В школе были группы семи уровней: Beginner, Elementary, Intermediate (и Pre- и...

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

Бесплатные курсы для изучения C++ в 2024 году В 2024 году в сети доступно множество бесплатных ресурсов для изучения C++, которые предлагают высокое качество обучения. Поэтому нет необходимости платить за курсы, если вы можете получить все необходимые знания бесплатно.Учить C++ в 2024 году по бесплатным курсам имее...

Еще раз про асинхронную машину состояний и где именно там аллокации Несмотря на то, что про async/await уже было сказано много слов и записано множество докладов, тем не менее, в своей практике преподавания и наставничества, я часто сталкиваюсь с недопониманием устройства async/await даже у разработчиков уровня Middle+. В данной статье мы п...

Еще раз про асинхронную машину состояний и где именно там аллокации Несмотря на то, что про async/await уже было сказано много слов и записано множество докладов, тем не менее, в своей практике преподавания и наставничества, я часто сталкиваюсь с недопониманием устройства async/await даже у разработчиков уровня Middle+. В данной статье мы п...

Жизнь без линтеров и расчет цены абстракции: материалы для разработчиков на С++ В марте мы собирались на митапе по С++ в Санкт-Петербурге. Для всех, кто не смог присоединиться к встрече, подготовили записи докладов и дискуссии с экспертами из YADRO, VK и Kaspersky, а также создателем Sprinx Андреем Аксёновым. Почему стоит сохранить подборку в закладки:•...

Отладка в PL/SQL Developer Привет! Меня зовут Алексей Маряхин, я работаю разработчиком на Oracle и пишу много, очень много кода. И когда программа ведёт себя не так, как ожидалось, на помощь приходит отладка. Не так давно выяснил, что не все разработчики владеют функционалом отладки или знаю...

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

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

ESA разрабатывает цифрового помощника по наблюдению Земли, основанного на глубоком обучении Спутники ежедневно производят огромное количество ценных данных, но их использование может быть сложным и не всегда приносит максимальную пользу пользователям. Поэтому Европейское Космическое Агентство (ESA) совместно с технологическими партнёрами разрабатывает приложен...

Сложный пациент с Хабра: разработчик из Швеции, 23 года без стоматологов Знакомьтесь: Илья — один из подписчиков нашего блога на Хабре, разработчик. В 2021 году он уехал жить и работать в Швецию. Последние двадцать лет у Ильи были крайне напряжённые отношения со стоматологами. Точнее, этих отношений не было совсем: с начала двухтысячных он ни раз...

GeForce RTX 4090 может справиться со сложными паролями за минуты. Hive Systems показали, на что способны современные ускорители и суперкомпьютер в этих задачах Компания по кибербезопасности Hive Systems показала, на что способны современные видеокарты в задаче подбора паролей. Оказалось, что очень на многое.  создано DALL-E Авторы взяли несколько видеокарт разных поколений: GeForce RTX 2080, RTX 3090, RTX 4090, а также с...

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

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

ERNIE — удивительный компьютер на военных технологиях Что такое генератор случайных чисел? Несколько строчек кода, а в некоторых языках программирования — так и вовсе одна. Удивительно, но факт: в 1957 году генератор случайных чисел занимал небольшое помещение, поскольку именно для этой цели был построен специальный компьютер...

REST API на котиках Привет любителям котиков! Меня зовут Юля, я backend‑разработчик компании CDEK. Я сама не так давно изучала все эти сложные понятия в программировании, поэтому решила помочь и вам разобраться с одним из них.С какой стороны IT вы бы не пытали...

Мифы об изучении иностранных языков Когда-то эти факты поспособствовали расширению лично моих представлений:Одна московская знакомая росла в Нью-Йорке в 70-х годах: её отец был советским специалистом в ООН. Смотрят как-то юмористическую передачу на американском TV: она, подросток, ухохатывается — отец ничего ...

[Перевод] Я уже 14 лет в отрасли, но программировать по-прежнему сложно Много лет назад, учась computer science на старших курсах, я долго изучал различные вакансии онлайн, надеясь найти подходящую должность стажёра-программиста.Кроме вакансий для стажёров я иногда случайно нажимал на объявления о вакансиях «сеньор-разработчика». Помню, больше в...

[Перевод] 4 миллиардов операторов if Просматривая недавно соцсети, я наткнулся на этот скриншот. Разумеется, его сопровождало множество злобных комментариев, критикующих попытку этого новичка в программировании решить классическую задачу computer science: операцию деления с остатком.В современном мире, где ИИ п...

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

9 архитектурных антипаттернов при разработке телеграм-ботов на Python Привет, Хабр! Если вас заинтересовал заголовок этой статьи, значит, вас интересует созданием телеграм-ботов, и вы стремитесь к совершенству в этом. Разработка телеграм-ботов требует не только креативности, но и правильной архитектуры. В этой статье мы рассмотрим 9 архитектур...

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

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

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

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

Кратко про то, как устроен компилятор Go Привет, Хабр! В back in 2007 трое гуру из Google — Роб Пайк, Кен Томпсон и Роберт Гриземер — решили, что мир нуждается в чем-то свежем и быстром. Они метили на упрощение процесса разработки, но при этом хотели сохранить весь перфоманс на уровне C. И вот, в 2009 году появился...

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

Как я написал свой первый классификатор эмоций Всем привет! Немного о себе. Меня зовут Максим, я работаю специалистом по Machine Learning в компании SimbirSoft. Последние два года я углубленно изучал область машинного обучения и компьютерного зрения и сегодня с удовольствием поделюсь с вами опытом разработки личного пет-...

Системная ошибка рынка труда или почему не хватает технических писателей со знанием языков разработки и API Hola, Хабр! Я — технический писатель и за свою длинную карьеру в ИТ, нигде и никогда не сталкивался с ситуацией переизбытка в командах технических писателей. Наоборот, почти повсеместно в компаниях есть множество продуктов и проектов, в которых документация неполная, неточна...

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

Adventurers Mobile напоминает хардкорные шутеры на аркадных автоматах Шутер от третьего лица Adventurers Mobile выпустили на iOS и Android по всему миру, включая РФ. В нём делается ставка на сюжетные миссии, на прохождение которых тратится энергия. Уровни довольно сложные — без особого скилла первую миссию пройти сложно, так как враги стреляют...

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

Управление сетевыми устройствами: Orange Pi, OpenWRT и Python Современный мир интернета вещей (IoT) и смарт-устройств требует гибкости и мощности при управлении сетевым оборудованием. Найти подходящее решение, сочетающее в себе одновременно простоту, надежность и доступность, может быть сложной задачей. Сегодня я хочу рассмотреть одну ...

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

[Перевод] За 25 лет я выучил 30 языков программирования. Хочу поделиться своим опытом Привет, Хабр! Перевели для вас статью программиста-самоучки, в арсенале которого — три десятка языков программирования. Надеемся, она вдохновит вас поделиться собственными историями становления в кодинге не меньше, чем нас в beeline cloud. Приятного чтения!Всё началось в дал...

Протоколы семейства TCP/IP. Теория и практика В сети можно найти огромное количество материала о том, как функционируют сети на базе стека протоколов TCP/IP, а также как писать компьютерные программы с сетевыми возможностями. При рассмотрении компьютерных сетей часто углубляются в описание физических основ и структур ...

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

Семантический поиск и генерация текста на R. Часть 1 Для этой задачи использую LLM (Large Language Models - например, chatGPT или opensouce модели) для внутренних задач (а-ля поиск или вопрос-ответную систему по необходимым данным).Я пишу на языке R и также увлекаюсь NLP (надеюсь, я не один такой). Но есть сложности из-за того...

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

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

Это один из лучших подходов к изучению английского, что я видел за последние годы — коллокации Значение слова – это его использование в языкеЛюдвиг Витгенштейн (сурс) Что это вообще за магия такая? Коллокация – это просто пара или группа слов, которые часто возникают вместе. Такие комбинации звучат естественно для носителей языка, однако, тем, у кого язык не родн...

[recovery mode] Где изучать Python в 2024. Бесплатные курсы, книги и ресурсы Python является одним из самых популярных языков программирования в мире. Он широко используется в различных сферах, таких как веб-разработка, научные исследования, анализ данных, машинное обучение и многое другое. Изучение Python позволит вам получить полезные навыки и откр...

Генерация контрактов OpenApi или прикладной API first: совсем немного про зачем Новое место, новая позиция, новый продукт! Финтех, камунда, ~ 40 (!) микросервисов за которые отвечает наша команда. Первый спринт. Я в роли наблюдателя. В спринте вроде бы обычная задача - нужно вызвать из одного сервиса другой, и обработать результат. Ребята оценивают, нач...

Его вы изучали в школе: умер создатель языка программирования Pascal Никлаус Вирт, швейцарский ученый-компьютерщик, считающийся одним из пионеров языков программирования, умер 1 января 2024 года в возрасте 89 лет.

Сложные клиенты в ИТ: через тернии к профиту Сложные заказчики и клиенты — это всегда “геморрой”, много нервов и проблем на всех стадиях проекта. Коммуникационный аспект в нашей работе всегда занимает существенное место. Отчасти, это из-за специфики, мы чаще создаем приложения для спорта и нередко сталкиваемся с непрос...

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

Индексирование полнотекстовых данных в PostgreSQL с использованием модуля pg_trgm Привет, Хабр!PostgreSQL, одна из самых мощных и гибких реляционных СУБД, предлагает нам свой модуль pg_trgm, чтобы решить сложную задачу полнотекстового поиска.Когда речь идет о поиске, просто LIKE запросы больше не всегда могут удовлетворить технические требования. Полнотек...

Я изучал иностранный язык 3 месяца с DuoLingo. Почему это не самый эффективный инструмент для изучения языка Уже чуть более трех месяцев я учил испанский язык  с помощью тренажера DuoLingo. Это первая часть эксперимента. Моей целью было оценить объем знаний и перспективы использования DuoLingo изучающими иностранный язык.Я не тратил много времени, 10-15 минут в день, иногда ме...

Уравнение с тремя неизвестными: как отлавливать баги в системах хранения данных Привет! Меня зовут Никита Гуцалов, я инженер в компании YADRO и занимаюсь разработкой ПО для системы хранения данных TATLIN.UNIFIED. Вообще с системами хранения данных (СХД) я работаю уже много лет и люблю эту тему, поскольку она постоянно бросает новые вызовы, заставляя реш...

Базовые принципы и практики разработки чистого кода Культовый разработчик Кент Бек сформулировал принципы написания ПО, которые в вольном изложении звучат приблизительно так:1. Заставь код работать.2. Сделай его понятным.3. Оптимизируй для лучшей производительности.Этим основам не один десяток лет, однако джуны (да и старшие ...

[Перевод] Обработка ошибок в web apps не должна быть такой сложной В процессе работы с Go я столкнулся с ещё одной проблемой — обработкой ошибок в хендлерах. Как можно сделать этот процесс удобным и эффективным для 150+ обработчиков? Как обеспечить консистентность и поддержку при обработке ошибок? Разумеется, мои поиски палочки-выручалочки ...

Новые подробности шутера Ashfall: прыжки, плавание и полёты на глайдерах Издатель и, одновременно, разработчик NetEase Games поделился новыми геймплейными подробностями Ashfall — сетевого ролевого шутера от Legendary Star, события которого развернутся в далёком будущем. На данный момент игра уже получила свою страницу в Steam, но пока что нет ник...

[Перевод] 8 углубленных вопросов на собеседованиях на роль сеньора в JavaScript JavaScript — это мощный язык, который является частью фундамента интернета. У этого мощного языка также есть некоторые свои особенности. Например, знаете ли вы, что значение 0 === -0 равно true, или что Number("") дает 0? Дело в том, что иногда эти причуды могут ...

Наш самый психоделичный бизнес-проект Всё началось с гуся и Ильи enjoykaz. Последний спросил, что я хочу разовой выплатой на момент основания компании. Я попросил половину гуся с кнедликами, потому что Илья только переехал в Чехию (когда это ещё не стало мейнстримом). Он очень педантично записал это прямо в со...

Не пора ли валить с gnu libc на что‑то другое? Пользуюсь открытым ПО значительное время. Сижу на Линуксе.Но в последнее время настолько часто сталкиваюсь с различными багами, что думается иногда, а как оно вообще в принципе работает?Последний эпизод коснулся совсем уж системного кода - стандартной библиотеки libc от GNU....

Python, JavaScript или C++? Рассказываем, какие языки программирования изучать в 2024 году Высокие зарплаты, отсрочка от армии, ипотека с пониженной процентной ставкой — хорошие IT-специалисты востребованы на рынке и могут рассчитывать на льготы от государства. Для тех, кто тоже хочет стать айтишником, рассказываем, какие языки программирования популярны в 2024 г...

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

[Перевод] Svelte: Знакомство с рунами В 2019 году Svelte 3 превратил JavaScript в реактивный язык. Svelte - это фреймворк для создания веб-интерфейса, который использует компилятор для превращения декларативного кода компонентов в такой... Читать далее

Ещё одна замена Android, но теперь с поддержкой языка программирования Rust. Представлена Vivo BlueOS Похоже, китайские компании решили всерьёз вытеснить Android как минимум с внутреннего рынка. Huawei уже давно продвигает HarmonyOS, Xiaomi представила HyperOS, а теперь и Vivo присоединилась к этой игре, анонсировав BlueOS.  Как говорит сама Vivo, BlueOS — э...

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

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

[Перевод] Выявление ошибок в работе с памятью в C и C++: Сравниваем Sanitizers и Valgrind В этой статье вашему вниманию представлено сравнение двух инструментов для поиска ошибок в работе с памятью в программах, написанных на memory-unsafe (небезопасных при работе с памятью) языках — Sanitizers и Valgrind. Эти два инструмента работают совершенно по-разному. Поэто...

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

Эволюция разработки под Android Отправной точкой истории разработки Android считается начало 2000-х, когда Энди Рубин, Рич Майнер, Ник Сирс, Крис Уайт основывают Android Inc. Уже в 2005 Google выкупает их, а в 2008 запускает свою ОС — Android. Первым смартфоном на её базе стал HTC Dream. Так началась ...

[Перевод] Марсоход и моя ошибка на 500 миллионов долларов Кажется, что некоторые ошибки хуже, чем смерть. Февральским вечером 2003 года я начал процедуру в Лаборатории реактивного движения НАСА в Пасадене, штат Калифорния. Я натянул костюм для чистой комнаты и прошёл в воздушный шлюз High Bay 1 здания 179, где создавались почти в...

[Перевод] Rust — лучший язык для инфраструктуры данных Мир технологий бесконечно цикличен, и за последние несколько лет произошел еще один поворот колеса. Такие проекты, как ScyllaDB и Redpanda, добились успеха, переписав системы с Java (Cassandra и Kafka соответственно) на C++ для повышения производител...

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

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

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

Решаем головоломки и настраиваем среды Kubernetes: подборка новых языков программирования В блоге beeline cloud мы уже делились дайджестом свежих DIY-материалов о контейнерах, DevOps и архитектуре. Сегодня расскажем, кто и зачем разрабатывает новые языки программирования — выбрали те, что появились на свет за последние три года. Некоторые из них написаны энтузиас...

Токипона — самый простой язык, в котором меньше 150 слов В мире существует язык, в котором игнорируются все сложности Численность населения Земли составляет более 8 миллиардов человек. Для общения все мы используем один или несколько из 7 000 языков, которые были придуманы за десятки тысяч лет. Среди них есть как относительно прос...

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

Большой гайд по планированию. Как впихнуть в сутки 40 часов и оставить время на личную жизнь? Всем привет, на связи команда Skill Vortex!Пару недель назад один знакомый нашего коллектива обратился с вопросом про планирование и тайм менеджмент. Перед ним стояла задача – каким-то чудом совместить стажировку на полную ставку, учебу в ВУЗе, изучение иностранного языка и ...

Затыкаем рот Windows 10 Windows 10 очень любит Интернет. Обновления, синхронизации, телеметрия и ещё куча разной другой очень нужной ЕЙ информации постоянно гуляет через наши сетевые соединения. В «стандартном» сценарии использования, когда Windows 10 управляет домашним или рабочим компьютером, э...

[Перевод] Эффект Даннинга-Крюгера говорит о том, что люди не знают, чего они не знают Эффект Даннинга-Крюгера описывает тревожащее когнитивное искажение, от которого страдаем все мы. Люди с ограниченными знаниями в какой-либо области склонны переоценивать свои знания — а пробелы в знаниях есть у всех нас. Это несоответствие может объяснить, почему некоторые п...

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

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

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

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

Шутер Monument. Обновление спустя 5 лет после релиза Разработка игры началась в далёком 2014 году с изучением Unity. Чтобы выучить новую двиг или язык программирования я обычно делаю какой-нибудь проект на этой технологии, в моём случае это работает лучше чем зубрёжка. Таким проектом стал Monument - олдскульный шутер с видом о...

Первый учебник не о том, ЧТО нужно знать QA (про это сказано достаточно), а КАК правильно учиться и быстрее найти работу Гуд ньюз эвриван! У нас с друзьями есть традиция — каждый год мы пишем хотя бы один большой IT-учебник. В 2023 году мы выпустили бесплатный 100-Year QA-Textbook - интерактивный учебник по тестированию на английском и русском языках. 700+ страниц (без учета картинок!), 4...

Разблокировка по лицу в новых Pixel 8 и 8 Pro вовсе не так хороша, как утверждала Google? Появился первый случай, когда человек смог разблокировать чужой смартфон Смартфоны Pixel 8 и 8 Pro поддерживают разблокировку по лицу. Несмотря на то, что оба имеют лишь только одинарную фронтальную камеру, Google говорит, что благодаря ИИ и возможностям Tensor G3 функция Face Unlock в новых Pixel очень надёжна и соответствует уровню Class 3...

Почему зубы — одни из самых удивительных органов человека Зубы человека являются удивительными органами, и сейчас вы узнаете почему В 2011 году зуб британского музыканта Джона Леннона был продан на аукционе за 31 000 долларов. У обычных людей зубы тоже могут стоить очень дорого — посмотрите на расценки стоматологов, и ваши глаза то...

«Можно будет общаться как с живым собеседником», — в этом году YandexGPT заговорит по-казахски В 2024 году Яндекс обучит нейросеть YandexGPT казахскому языку. Языковая модель научится писать и перерабатывать тексты на казахском языке, запоминать ход беседы и отвечать на уточняющие вопросы пользователя. По заявлению компании, YandexGPT станет первой публичной гене...

Как я выбирал решения для удаленного администрирования? Опыт руководителя IT-отдела московского колледжа Привет, Хабр, меня зовут Владимир, и я работаю руководителем IT департамента одного из московских колледжей. Сейчас у нас трудится порядка 1500 сотрудников в 57 зданиях и обучается более 35 000 жителей Москвы. В прошлый раз я рассказывал, как мы переживали времена перевода в...

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

Сравнение utility types библиотек или тайпскрипт на стероидах Буквально за несколько лет typesctipt стал практически мастхэв в современной фронтэнд-разработке (и не только). Язык типов, работающих поверх языка javascript, который сам по себе является языком со слабой динамической типизацией со всеми вытекающими (отсутствие достойного т...

Графические процессоры RX 8700 XT/8600 XT на базе AMD RDNA 4 получают первые исправления на LLVM Идентификаторы графических вычислений (GC) двух новых устройств появились в последних патчах для компилятора LLVM.

Аналитик vs. презентация задачи. Изучаем профессионально-деформационные диалекты коллег Привет =) На связи снова Анастасия-аналитик из команды STM Labs со своей любимой темой «мягких» навыков. В статье про собеседования (первая часть тут, вторая тут) я сравнила аналитика с переводчиком с бизнесового языка на разработческий. Или наоборот.Недавно у нас на работе ...

Современный С++ в разработке девайсов Привет, Хабр.Меня зовут Андрей Белобров. Я тимлид одной из команд, разрабатывающих приложения для умных девайсов Сбера.На прошедшей недавно конференции Салют, OS DevConf! я выступил с докладом, в котором рассказал, как мы с командой разрабатываем приложения на С++ для умных ...

Десктопное приложение с нуля на .Net и C# с помощью ChatGPT Говорят, что нейросети скоро заменять программистов, можно будет просто ставить им задачу и они будут сами писать код. В своей работе я довольно часто использую ChatGPT и по опыту знаю, что его ответы далеко не всегда адекватные, особенно если задача нетривиальная. Но поскол...

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

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

Как улучшить английский в документации. Часть 2: ловушки двусмысленности Привет, Хабр! Я работаю техническим писателем в компании documentat.io, мы занимаемся заказной разработкой технической документации, в том числе на английском языке.В своей первой статье я разобрал, пожалуй, самые распространённые ошибки, которые допускают русскоязычные айти...

Как я запилил видеочат-рулетку за 2 месяца с нуля https://shomla.com/ВдохновениеВсё началось с простой идеи, которая посетила меня спонтанно во время общения в чат‑рулетке с разными людьми. Идея пришла не сразу, а спустя час пребывания в рулетке, наверное, потому что там уже стало дик...

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

[Перевод] Жизнь могла появиться в первые секунды после Большого взрыва Жизнь обрела свой дом на планете Земле около 4 миллиардов лет назад. Это значительная часть истории Вселенной, насчитывающей 13,77 миллиарда лет. Предположительно, если жизнь возникла здесь, то она могла появиться где угодно. А при достаточно широком определении жизни возмож...

Создание своего терминала на C++ и Qt: Часть 1 Привет, хабр! Сегодня мы создадим свой собственный терминал на языке программирования C++. Я являюсь фанатом Linux, и пользуюсь минималистичными терминальными программами - от Vim как IDE до чатов. Есть множество терминалов, у каждого из них есть плюсы и минусы. Наш терминал...

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

Астрономы обнаружили 9 новых двойных цефеид Измерение расстояний до далеких объектов в космосе представляет собой сложную задачу для астрономов. Даже определение расстояния до наших соседей во Вселенной — Малого и Большого Магеллановых Облаков, имеет определённые трудности. Однако сейчас ученые начинают обр...

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

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

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

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

Родители должны читать детям стихи — вот почему это важно До 7-месячного возраста младенцам необходимо читать детские стихотворения. Фотография: culture.ru В первый месяц жизни каждый из нас взаимодействовал с окружающим миром только при помощи громкого плача. Постепенно наша речь становилась все более развитой — уже в 9-месячном в...

Грабли RC фильтров Хождение по граблям.Все сложное состоит из тысяч мелочей. Бывает достаточно потерять один винтик и сложные часики могут и не затикать. Именно про такой винтик пойдет рассказ, который давно многому научил и заставил изучить крайне важный инструмент: симулятор Симона. Читать д...

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

[Перевод] С новым годом: GPT в 500 строках на SQL В минувшем году все только и говорили об ИИ и о том, как он может всё за вас сделать.Мне нравится, когда кто-то или что-то работает за меня. Поэтому решил: попрошу-ка ChatGPT написать за меня новогодний пост:"Эй, ChatGPT. А ты можешь реализовать большую языковую модель на SQ...

Google придумала свою нейросеть, которая лучше Chat GPT Еще в мае 2023 года компания Google объявила о том, что планирует использовать две свои исследовательские группы — Brain Team и DeepMind — для одного большого проекта. Компания хотела объединить их в единое подразделение под названием Google DeepMind. Эта новая команда по з...

Подборка: навыки и инструменты начинающего Go-разработчика Привет! Меня зовут Александр Тетеркин, я Go-разработчик в VK. Раньше я писал на Python, потом перешел на Go — пишу на этом языке уже три года, а также являюсь наставником на курсе «Go-разработчик с нуля».Я знаю, что новички в любой сфере задаются вопросами о том, с чего нача...

Yul: Учимся использовать inline assembly в Solidity В этой статье я расскажу про язык среднего уровня между Solidity и байт-кодом, который применяется в EVM. Основная задача Yul - это оптимизация смарт-контрактов по газу, как на уровне языка так и на уровне компилятора, а также гораздо больший контроль над выполнением кода. М...

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

Метод SMART. Что это и почему про него важно знать руководителю? Привет! Меня зовут Лера, я в управлении проектами уже 7 лет. Реализовывала проекты на стыке AR/VR/ML-технологий в сервисной компании. Сейчас работаю в EdTech и параллельно занимаюсь менторством начинающих проджектов и руководителей.Прежде чем мы перейдем к основной...

«Винтажная» метавселенная Second Life с NASA, IBM и Dell: внезапное возрождение Если вы думаете, что метавселенные — это исключительно современная история, начавшаяся с Цукерберга, то вы сильно ошибаетесь. В этом году одна из самых старых метавселенных Second Life (SL) отметит свой 21-й день рождения. Да-да, %USERNAME% — эта метавселенная была запущена ...

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

Приглашаем на онлайн-воркшоп «Kaspresso: учимся писать автотесты и прокачиваем резюме» В четверг, 16 ноября, в 16 часов (МСК) мы проведем онлайн-воркшоп Kaspersky Tech под названием «Kaspresso: учимся писать автотесты и прокачиваем резюме». Его проведет один из разработчиков популярного (1,7 тысяч звезд на Github) open source фреймворка для автотестов Kaspress...

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

Как изучать китайский язык / 怎样学习汉语? Пошаговая инструкция Не секрет, что китайский язык считается сложным для носителей европейских языков. Но сам язык как ни странно не очень сложный. В нем, например, существительные и прилагательные не изменяются по родам, числам и падежам, а глаголы не спрягаются. Сложность составляют письменнос...

Решение задачи про определение типа в Typescript с Yandex Cup 2023 Всю прошлую неделю проходила квалификация на Yandex Cup 2023. Я решил тряхнуть стариной и вспомнить что такое спортивное программирование.Яндекс представил 8 задачек разной сложности, которые необходимо сделать за пять часов. Я принял участие. На ста...

[Перевод] Что происходит, когда вы создаёте Pod в Kubernetes? Создание Pod в Kubernetes — простая задача. Но под капотом скрывается сложный рабочий процесс, который затрагивает несколько компонентов кластера. Делимся переводом статьи, где автор рассказывает, что в этот момент происходит в кластере. Статья будет полезна тем, кто изучает...

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

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

Стиль написания кода на Wolfram Language Я как большой фанат Wolfram Language (WL) очень часто изучаю открытые репозитории с кодом на этом языке. Изучив достаточно много кода я заметил, что стиль написания этого кода очень сильно разнится от проекта к проекту. Но так же я изучил много встроенных пакетов в Mathemati...

Хабргорода У меня возникла идея сделать список упоминаний названий городов в статьях Хабра за 2023 год и карту по которой можно найти статьи. Когда можно найти статьи, где упомянается конкретный город. С первого взгляда задачка простая, но это как всегда дьявол кроется в деталях! Для э...

Операция «K». Ищем баги в коде IntelliJ IDEA В этой статье мы проверим проект IntelliJ IDEA Community Edition на наличие ошибок и отправим наши правки разработчикам. Крупный проект, Open Source база и использование статического анализатора при разработке. Сложная задача для PVS-Studio. Читать далее

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

GigaChat и русский жестовый язык Всем привет! Меня зовут Капитанов Александр, я отвечаю за направление компьютерного зрения в SberDevices. В этой статье я расскажу о том, как моя команда Vision RnD разработала серию моделей SignFlow, обеспечивающих перевод с жестового языка на русский и американский английс...

Как я написал свой первый эзотерический язык программирования В данной статье, я рассказываю о том, как написал свой первый эзотерический язык программирования C42. Читать далее

Число пользователей нейросети Сбера Kandinsky и чат-бота GigaChat достигло 18 млн Команда СберБанка поделилась хорошими новостями о развитии фирменных генеративных нейросетей. Как сообщила пресс-служба, совокупное количество пользователей GigaChat и Kandinsky с момента релиза достигло 18 миллионов. Сбер запустил GigаСhat весной 2023 года, а в сентяб...

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

NASA отправит на обратную сторону Луны телескоп LuSEE-Night. Его калибратор позволит достичь беспрецедентной точности измерений с погрешностью 1% Научный проект под названием LuSEE-Night обещает открыть новые горизонты в изучении Вселенной. В рамках этого проекта планируется запуск радиотелескопа на обратную сторону Луны в 2026 году. Уникальность этой миссии в безжалостной, но обещающей колоссальное научное возна...

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

Пишем сложный Page object для playwright тестов вместе с Dorama Всем привет! Сегодня расскажу о том, как удобно организовать Page Object для большого проекта с использованием Playwright и библиотеки Dorama. Большинство современных веб-проектов имеют сложный интерфейс с переиспользуемыми компонентами. Причем компоненты могут переиспользов...

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

OmniFusion 1.1: мультимодальность теперь и на русском В прошлом году на конференции AIJ 2023 мы представили первую версию OmniFusion — мультимодальной языковой модели (LLM), способной поддерживать визуальный диалог и отвечать на вопросы по картинкам. Спустя несколько месяцев мы готовы представить обновление — OmniFusion 1.1 — S...

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

Языку программирования BASIC исполнилось 60 лет Это был первый общедоступный язык программирования, значительно повлиявший на популяризацию компьютеров и их победное шествие по всему миру

Как не облажаться при выборе российского NGFW Исследование российского рынка NGFW показало, что только 16% опрошенных довольны установленными российскими межсетевыми экранами. Наше общение с клиентами это подтверждает. При этом ошибка при выборе межсетевого экрана нового поколения может стать фатальной, так как именно N...

Пишем свой вариантный тип C++ 17 привнес в язык достаточно много нововведений, в том числе шаблон std::variant (хоть в Boost он есть уже довольно давно). Фактически, последним вышедшим и полноценно реализованным стандартом C++ на тот момент, как я начал изучать данный язык, являлся как раз C++17, поэ...

[Перевод] Не стоит недооценивать HTML «HTML – это просто», «Разрабатывать фронтенд проще, чем бэкенд», «После реализации бэкенда обновление UI не должно составлять труда», – за время работы в сфере веб-разработки вокруг меня то и дело звучали эти и другие аналогичные утверждения. И очень часто они вызывали у м...

[Перевод] Большая шпаргалка по Rust. 1/2 Hello world! Представляю вашему вниманию первую часть большой шпаргалки по Rust. Обратите внимание: шпаргалка рассчитана на людей, которые хорошо знают любой современный язык программирования, а не на тех, кто только начинает кодить ;) Также настоятельно рекомендуется хот...

История языков программирования: Autocode Алика Гленни из 50-х годов XX века «Упрощённые системы кодирования», которые затем стали называть привычным нам термином «языки программирования», появились очень давно. Одним из первых языков, которые действительно упростили работу операторов вычислительных машин, стал язык, разработанный Аликом Гленни в 195...

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

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

TSMC начнёт выпуск 1,6-нм чипов в 2026 году Компания Taiwan Semiconductor Manufacturing (TSMC), крупнейший контрактный производитель чипов и ключевой поставщик Nvidia и Apple, намерена начать производство 1,6-нанометровых процессоров во второй половине 2026 года. TSMC представила свою новую технологию A16 на конф...

Сбер представил новую версию GigaChat - на основе самой сильной модели для русского языка На международной конференции по искусственному интеллекту AI Journey разработчики Сбера анонсировали новую версию сервиса GigaChat, в основе которого лежит одна из наиболее продвинутых моделей для русского языка с 29 миллиардами параметров.  Иллюстрация: Сбер В чи...

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

[Перевод] Простые языки программирования Мне нравятся простые языки программирования, такие как Gleam, Go и C. Знаю, я не один такой. Есть что-то чудесное в работе с простым языком: каково его читать, использовать в команде, возвращаться к нему спустя долгое время и т.д. В этом посте я хочу конкретизировать, в чём...

[Перевод] Неужели это очередной «конец» сферы разработки ПО? Привет, Хабр! Поговорим о роли ИИ в жизни разработчика — мы в блоге beeline cloud часто обсуждаем темы, которые волнуют ИТ-сообщество. Увольнения, увольнения, увольнения, кажется, они никогда не закончатся. На сайте layoffs.fyi есть даже трекер увольнений в технологичес...

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

[Перевод] Python без типов: таким он когда-то был О типизации в Python сказано уже очень много. Если вам выпало сомнительное удовольствие поработать со мной, то вы, вероятно, в курсе, насколько скептически я отношусь к типизации в Python. Причины тому – сложность синтаксиса, mypy еле ползает, реализация языка в принципе пер...

Размышления о выборе языка программирования для школы (и ситуации с информатикой в целом)… Эта статья выросла из ответа на комментарии к статье Основные отличия PascalABC.NET, где возник традиционный спор про то, есть ли смысл в 2023 году изучать Pascal. Для комментов мой ответ слишком большой, так что оформлю в виде такого спонтанного поста.Как бывший программист...

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

Установка GCC в сборке MinGW Установка коллекции компиляторов GCC (GNU Compilers Collection) в Windows и первичная настройка для дальнейшей работы. Читать далее

Как создать 100 серверов в облаке за минуту? Базовая работа с OpenStack клиентом Для управления облачной инфраструктурой в индустрии накопилось достаточно много инструментов: terraform, pulumi, ansible, управление через SDK или напрямую через REST API. При этом, часто упускают из виду CLI инструменты в связке с shell-автоматизацией. А зря! Они помогают...

Играем в крестики-нолики c RPN калькулятором Когда я разбирался с программируемыми калькуляторами, то думал, как бы элегантнее протестировать функциональность устройства. Один из известных способов проверки – это реализация какой-либо игры. Игр для калькуляторов, как на просторах бывшего СССР, так и за рубежом громад...

ВРМ. Смарт-инструменты «Таблица -> Схема» для формализации бизнес-процессов. Рестайлинг ARIS SmartDesign Ставится задача повторить доселе непревзойдённый ARIS SmartDesign, который по табличному представлению процесса автоматически рисует схему процесса (структуры чего-либо). Схемы процессов желательно строить в нескольких процессных нотациях (EPC, VAD и т.п.). ARIS SmartDesign ...

Генерация зависимостей внутри программы В программировании программы часто строятся иерархично. Один программный компонент вызывает функции из другого программного компонента. Как бы представить эту взаимосвязь в законченной программе? Эту задачу можно решить прибегнув к языку Graphviz и утилитам cpp, dot, make, c...

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

Почему мы забываем сны? Почему некоторые люди запоминают свои сны, а другие нет? У ученых есть ответ на этот вопрос! Несмотря на то, что во сне мы проводим около трети жизни, то есть почти 22 года (при продолжительности жизни 70 лет), мы забываем большинство снов. Что удивительно, ведь сновидения н...

ООП в Mathematica В комментариях к мой статье пользователь @Refridgeratorв ответ на мой вопрос написал, что в Wolfram Language (WL) не хватает следующего: "ООП, перегрузки операторов, строгой типизации, событийно-ориентированного программирования, дата-ориентированного программирования, парал...

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

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

[recovery mode] Делаем JavaScript компилируемым с помощью llvm.js В данной статье мы рассмотрим мощный проект - llvm.js и расскажем, что он представляет из себя. Также мы научимся создавать компилируемый язык программирования на основе JavaScript. Хотя в этой статье мы сфокусируемся именно на JavaScript, ознакомившись с процессом, вы сможе...

Qualcomm создаёт мощный чип для шлемов дополненной реальности На текущий момент шлем дополненной реальности Apple Vision Pro оборудован сразу двумя процессорами M2 и R1, которые были произведены на 4-нм процессе компании TSMC и обладают достаточно приличной производительностью. Но сегодня появились новости о том, что компания Qualcomm ...

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

Почему у пожилых людей большие уши и носы — научное объяснение Удивительно, но в 1990-е годы ученые изучали размер носа и ушей пожилых людей В интернете можно наткнуться на «интересный факт» о том, что нос и уши — это единственные части тела человека, которые растут на протяжении всей его жизни. Если обратить внимание на внешность пожил...

Танцы с бубном над чёрной мамкой на базе stm32f407vet6 часть 3 Часть 1Часть 2Почему не запускалась прошивка после перезагрузки и при включении.Как было сказочно ранее что успешный запуск после прошивки происходит только если её заливать по адресу 0x08080000  и работает она до первой перезагрузки. А адресация перепрограммируемой памяти н...

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

Самые интересные задачи для безопасников — Джабба одобряет Мы решили не один CTF-турнир. За плечами остались KnightCTF, 0xL4ugh и DiceCTF. Найти по-настоящему интересные и сложные задачи все труднее, поэтому будем смотреть в оба глаза и следить за несколькими мероприятиями одновременно. На этот раз — порешаем задачи сразу двух CTF...

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

Некоторым языкам программирования десятки лет — и они ещё в ходу. 5 старых, но актуальных ЯП Не так давно мы писали про язык COBOL, которому уже больше 60 лет. Он до сих пор актуален, поскольку на нём держится немало систем финансовых и банковских организаций. Но есть и другие старые ЯП, всё ещё применяемые в некоторых отраслях. О них сегодня и говорим, не обойдя и ...

141 ГБ памяти HBM3e с пропускной способностью 4,8 ТБ/с и до 90% быстрее, чем H100. Представлен ускоритель Nvidia H200 Ускоритель Nvidia H100, который является самым желанным продуктом для компаний, занимающихся современными генеративными моделями ИИ, теперь не самый производительный в мире. Сегодня Nvidia представила модель H200.  Правда, технически это не какая-то совсем уж нова...

МФТИ создал предприятие для разработки решений в области ИИ Холдинг «Т1» и Московский физико-технический институт (МФТИ) сообщили о запуске совместного предприятия «Квантовые и оптимизационные решения» (СП «КОР»), которое будет заниматься разработкой инновационных продуктов в области математики и искусственного интеллекта. Это сотруд...

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

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

LLM'ы в преобразовании запроса на естественном языке в SQL (text2sql) Привет, Хабр! На связи участница профессионального сообщества NTA Марина Коробова.Данные занимают центральное место в информационном обществе. Именно информация является основой для принятия решений, развития бизнеса и научных исследований. Многие организации инвестируют огр...

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

C++ или Python? 7 языков программирования, которые «расплавят» ваш мозг Окунитесь в личный список обозревателя HackerNoon с самыми сложными языками программирования, которые заставят вас почесать голову. Классический C++, «загадочный» Malbolge и «поражающий воображение» Haskell. Познакомьтесь с INTERCAL, языком, созданным для того, чтобы разочар...

Умный дом в панельной хрущёвке Сразу признаюсь, что слово «хрущёвка» в этом тексте – скорее хук в заголовке. Правильнее было бы сказать, что я просто описываю свой опыт создания умного дома в обычной среднестатистической квартире городского жителя РФ, который я проживаю прямо сейчас.Статья будет состоять ...

Один компонент, 20+ фич, A/B-тесты: Поможет ли машина состояний? Сталкивались ли вы с проблемой возникновения багов из-за пересечения включенных фичей в приложении? Или, возможно, была необходимость одновременно проводить большое число A/B-экспериментов в одном компоненте? Некоторое время назад команда Почты Mail.ru решала задачу упр...

Modular выложила в открытый доступ основные компоненты Mojo – языка программирования для ИИ Компания Modular открывает доступ к Mojo, языку для разработки ИИ, обещающему сделать программирование более простым и интуитивным.

Почему люди не могут вернуться на Луну со времен миссии “Аполлон” За последние 50 лет полеты на Луну не стали более простой задачей, а скорее наоборот В последнее время многие космические агентства разных стран пытаются отправить на Луну свои посадочные модули. При этом раз за разом мы видим провалы этих миссий. Лишь некоторым аппаратам уд...

Google DeepMind научила ИИ AlphaGeometry решать сложные геометрические задачи ИИ-система AlphaGeometry способна доказывать математические теоремы, а также предлагать наиболее оптимальные шаги, необходимые для решения различных задач

Железный бык. История самого успешного французского компьютера Bull Gamma 3 Когда мы произносим словосочетание «французские технологии», первыми в голову приходят названия «Рено», «Пежо» и «Ситроен». Однако если уточнить запрос до «французские компьютерные технологии», память дает сбой, а то и вовсе норовит упасть в BSOD. Тем не менее, во Франции ...

Мобильную версию Extremely Realistic Siege Warfare Simulator тестируют в Китае Ранняя версия игры Extremely Realistic Siege Warfare Simulator доступна в Steam с 8 сентября 2022 года. Она получила очень положительные отзывы благодаря весёлым и непредсказуемым осадам замков и масштабным войнам по типу Total War. Теперь же для Extremely Realistic Siege W...

[Перевод] Меняем моки репозиториев на in-memory реализации Одним из важнейших аспектов тестирования наряду с поиском ошибок в приложении является время, необходимое для его проведения. Если тестирование приложения занимает от нескольких минут до нескольких часов, то оно не подходит для разработки с использованием быстрого цикла обра...

Async/Await из C#. Головоломка для разработчиков компилятора и для нас Я рискну все таки продолжить изложение своего понимания Поста: How Async/Await Really Works in C#, которое в предыдущей статье получило название “ортогональный взгляд”. Также, недавно мы познакомились (возможно несколько преждевременно) с изначальным определением концепции S...

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

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

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

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

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

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

Как визуализация приоритетности задач позволила нам ускорить процесс разработки и сделать его прозрачным для всех Какое-то время назад мы столкнулись с проблемой: сроки нашей разработки и темпы реализации начали сильно стопориться. При запуске фичей команда сталкивалась с отсутствием прозрачности при отображении объема задач в спринте. У одного разработчика в работе могло находиться сра...

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

[Перевод] Увядает ли ремесло программиста? Я всегда считал, что как мои родители позаботились о том, чтобы я научился читать и писать, так и я позабочусь о том, чтобы мои дети могли программировать компьютеры. Это одно из самых молодых искусств, но в то же время одно из самых насущных, и с каждым днём оно становится...

Редкое явление: четыре одновременные вспышки на Солнце могут вызвать магнитную бурю В конце апреля 2024 года на Солнце произошла симпатическая солнечная вспышка. Источник изображения: IFL Science Солнце — это гигантского размера газовый шар, без которого жизнь на Земле была бы невозможной. Внутри него постоянно происходят сложные процессы, вызываемые его ма...

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

Проектируйте правильно Проект это сложная история. Обычно это относительно сложное и длительное мероприятие, создать программный продукт и провести его через стадию активной разработки до первой реальной коммерческой эксплуатации. Лично я видел как этот путь, в среднем, занимал от 2 до 5 лет на пр...

[Перевод] Большая шпаргалка по Rust. 2/2 Hello world! Представляю вашему вниманию вторую часть большой шпаргалки по Rust. Первая часть. Обратите внимание: шпаргалка рассчитана на людей, которые хорошо знают любой современный язык программирования, а не на тех, кто только начинает кодить. Также настоятельно реком...

Turbo Pascal: 40 лет развития Сегодня 2023 год. Но вернемся на 40 лет позже - прямиком в 1983 год. Именно тогда Borland выпустила Turbo Pascal. Turbo Pascal - интегрированная среда разработки программного обеспечения для платформ DOS и Windows 3.x и язык программирования в этой среде, диалект языка Паска...

[Перевод] Безымянный язык программирования без присваивания имён Придумывать имена сложно. Давайте посмотрим, как далеко мы можем зайти без них.Что это?Это язык программирования, основанный на трёх парадигмах:Бесточечном программированииСтековом программированииМассиво-ориентированном программированииОсновная «фишка» языка — избегание люб...

Blizzard случайно снизила статы игроков Diablo IV в день выхода самого сложного подземелья Вчера — 5 октября — Blizzard открыла двери в самое сложное эндгейм-подземелье Diablo IV — Abattoir of Zir. Многие игроки готовились к сезонному событию по несколько недель, доводя до идеала свои билды, чтобы с ходу одолеть хотя бы первый уровень — разработчики заявили, что о...

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

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

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

KMP перешёл в stable. Что это значит? 1 ноября состоялся релиза Kotlin 1.9.20, beta компилятора k2. Но для нас интереснее глобальное изменение статуса KMP. Мы используем эту технологию в мобильной разработке и написали про неё несколько статей.В статье подробнее рассмотрим, что изменилось в технологии с пер...

Разработка игр с использованием Go и библиотеки Ebiten Go является мощным и эффективным языком программирования, который можно использовать для создания игр. В этой статье мы рассмотрим разработку простой игры с использованием языка Go и библиотеки Ebiten, предназначенной для создания 2D игр. Читать далее

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

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

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

Как джуну отрастить софты: советы и реальные истории. Часть 3. Развиваться Привет! На связи Митя Кожевников и Юра Соколов из Mindbox, и это третья, финальная часть гайда по софтам для джунов. В первой части мы говорили о том, что значит «приносить пользу» в разработке. Во второй — об ориентации на результат. В этой части речь пойдет о развитии: что...

«А» и «Б» сидели на трубе. «А» упало, «Б» пропало. Что осталось на трубе? (алгоритм получения ответа в частном случае) Началось всё с того, что не нашел я библиотеки для JavaScript, которая вычисляет собственные векторы для комплекснозначной матрицы 4х4. Пришлось писать самому. И в ходе реализации встала передо мной этакая бодренькая микрозадачка – из набора чисел «1, 2, 3, 4» вычеркнули два...

[Перевод] Как, блуждая по Stack Overflow, можно набрести на Branch predictor В блоге beeline cloud мы делились историями и мнениями разработчиков — как программист-самоучка выучил 30 языков программирования, в каких случаях парное программирование не работает и почему некоторые проекты угасают, когда из компании уходит тимлид разработки. Сегодня...

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

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

Как джуну отрастить софты: советы и реальные истории. Часть 2. Отвечать за результат Привет! На связи Митя Кожевников и Юра Соколов из Mindbox, и это вторая часть гайда по софтам для джунов. В первой части мы говорили о том, что значит «приносить пользу» в разработке, а в этой поговорим об ориентации на результат.О гайде. Этот гайд — внутренний документ...

Обзор языка Crystal Привет, Хабр!История Crystal начинается в 2011 году, когда команда энтузистов решили создать язык, который бы исправил некоторые из тех ограничений и проблем, с которыми они сталкивались, работая с Ruby. Они мечтали о языке, который бы позволял писать код, легкий для пониман...

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

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

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

Постфиксный калькулятор на Haskell Можно ли внедрить в Haskell постфиксный калькулятор?begin push 1 push 2 add endbegin push 1 push 2 push 3 add mul endНа первый взгляд такой код на Haskell не может работать. Функция begin должна иметь произвольное количество аргументов, а Haskell является языком со статическ...

В преддверии релиза представлен жуткий трейлер The Outlast Trials Кооперативный хоррор The Outlast Trials должен выйти в релиз уже 5 марта, спустя практически год раннего доступа. В преддверии этого события разработчики из студии Red Barrels подготовили свежий двухминутный трейлер с кадрами сюжета. Напомним, что релиз состоится сразу для П...

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

13-летний мальчик впервые в истории вылечился от смертельного рака мозга Французским врачам впервые в истории удалось полностью вылечить рак мозга Согласно статистике, на опухоли головного мозга приходятся 6% новообразований в организме человека. Обычно такой диагноз ставится в 15 случаях на 100 000 человек. Чаще всего болезнь обнаруживается у вз...

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

Это три огромные ошибки и неудачи Intel. Глава компании рассказал о процессорах для смартфонов, GPU для ИИ и полупроводниковом бизнесе Глава Intel Пэт Гелсингер (Pat Gelsinger) рассказал о трёх больших ошибках и неудачах компании.  создано DALL-E Первой такой неудачей глава Intel назвал процессоры для смартфонов. Напомним, Intel какое-то время выпускала платформы Atom для смартфонов с Android, и ...

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

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

Дальше о веб-комиксах на русском языке: «Серые будни магов», Тока Paint и «Космоножка» В первой и второй частях мы обсудили первые популярные веб-комиксы на русском языке — и упомянули, что ныне их гораздо больше. Естественно, среди современных веб-комиксов есть наиболее популярные и мемные — о которых мы теперь и поговорим. А также о не совсем комиксах — но ...

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

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

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

[Перевод] 35 лет игре «Prince of Persia» Для разных поколений геймеров серия игр Prince of Persia, скорее всего, означает разные вещи: от невиданного реализма в эпоху 2D до незабываемых игр в формате 3D и первых мобильных игр. Серия берет свое начало в 1989 году, хотя если вы родились в этом веке, то, вероятнее в...

Краткая история сервера На первый взгляд история и последующая эволюции серверов выглядит предельно просто. Ее исходные вехи: 1964 год — создание мэйнфрейма IBM System/360, каковой в числе прочего был сервером для его интерактивных консолей и прочих периферийных устройств, то есть сервером в «желез...

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

Ценности как инструмент принятия сложных решений: как мы упрощаем взаимодействие команд и приходим к единому мнению Последнее время мы активно растем. За год количество сотрудников «Фланта» увеличилось в два раза. И каждый специалист приносит в компанию свои опыт, видение и подходы. Мы ценим, что у нашей команды есть разные точки зрения на процессы, развитие инструментов, вопросы взаимоде...

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

Малоизвестные и интересные особенности C и C++ В C и C++ есть особенности, о которых вас вряд ли спросят на собеседовании (вернее, не спросили бы до этого момента). Почему не спросят? Потому что такие аспекты имеют мало практического значения в повседневной работе или попросту малоизвестны.Целью статьи является не освеще...

Как мы с Кандинским дракона рисовали Очень часто для оформления документов, например, презентаций или статей на Хабре

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

Сборник хороших ретроигр, но без улучшений. Обзор METAL GEAR SOLID: MASTER COLLECTION VOL. 1 Сборник METAL GEAR SOLID: MASTER COLLECTION VOL. 1 от Konami включает сразу пять игр серии, а также дополнительные бонусные буклеты и комментарии от разработчиков. Мы ознакомились с этой коллекцией на PlayStation 5, пройдя одну из игр полностью, а если быть точнее первые две...

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

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

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

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

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

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

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

Где изучать Javascript в 2024. Бесплатные курсы, книги и ресурсы Изучение JavaScript в 2024 году по открытым ресурсов имеет несколько преимуществ:1. Востребованность: JavaScript остается самым популярным языков программирования в мире. Знание JavaScript открывает двери к множеству возможностей в IT-индустрии.2. Бесплатный доступ...

Язык программирования Mojo: что нового в версии 24.3? На днях была опубликована новая версия языка программирования Mojo, теперь это 24.3. Новинка получила несколько важных компонентов, которые требуются для создания приложений на этом языке. Например, компилятор, интерактивная REPL-оболочка для сборки и запуска программ, отлад...

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

[Перевод] Как оптимизировать медленные SQL запросы? Большинство проблем, связанных с БД, во время разработки остаются незамеченными, потому что мы пишем код и проверяем его правильность только при малой "заполненности" нашей БД. Поэтому, когда приложение выкатывается в продакшн, через некоторое время начинают появляться пробл...

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

Kubernetes Networking: сервисы, Ingress и Network Policies Когда я впервые столкнулся с задачей масштабирования сложного приложения в Kubernetes, то был полон оптимизма. Однако вскоре стало ясно, что управление сетевым трафиком и безопасностью в такой динамичной среде — это непросто. Наше приложение начало страдать от потерь пакет...

Почему Accelerate — это не страшно Всем привет! Я Игорь Белов, iOS-разработчик в Тинькофф Бизнесе, выпускник Университета Иннополис и энтузиаст в области Computer Science. Занимаюсь iOS-разработкой почти четыре года, мне нравится изучать фундаментальные темы программирования и разбираться, как все работает по...

Применение архитектурных шаблонов в машинном обучении: разбор Gradient Boosting Привет, Хабр! Архитектурные шаблоны в машинном обучении представляют собой общие структуры и методологии, которые позволяют разработчикам более эффективно решать задачи. Они представляют собой набор bewährte Lösungen, то есть "проверенных решений", которые могут быть адаптир...

Nota, Typst и Evidence. Языки программирования для генерации документов Все настолько привыкли к Markdown, что считают его неким стандартом для оформления документов в вебе. Но это не конечная истина, высеченная на камне, а просто популярный язык разметки, как HTML и TeX. В то же время появляется всё больше новых языков, которые позиционируют...

От советских компиляторов до грязных трюков: что поведают на C++ Russia 2024 Завсегдатаи C++ Russia уже хорошо знают некоторых спикеров и ждут их новых докладов. Например, Антона Полухина @antoshkkaa): в 2020-м все смотрели его «Грязные трюки из такси», а недавно — «C++ трюки из userver». Из необычного — серия докладов Петра Советова об автоматизации...

Хоррор Sons of the Forest покинет ранний доступ на следующей неделе Разработчики из компании Endnight Games объявили, что ужастик на выживание Sons of the Forest покинет ранний доступ и выйдет на ПК через Steam уже 22 февраля. Напомним, что сиквел хоррора от первого лица The Forest появился в магазине Valve год назад — 23 февраля 2023. Тепер...

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

В Албании обнаружены огромные запасы водорода, источника чистой энергии В Албании обнаружен крупный источник природного водорода В настоящее время основными способам получения чистого водорода является электролиз воды и конверсия кокса и метана. Это достаточно дорогостоящий и сложный процесс. Однако еще в конце XIX веке ученые стали обсуждать во...

Вертикальный отпариватель Polaris PGS 1860VA: мощная бесперебойная подача пара и ряд нюансов Если вам важнее быстро приводить в порядок вещи сложного кроя прямо на вешалке, чем гладить постельное белье и полотенца, то стоит обратить внимание на напольные модели с большим резервуаром для воды, телескопической стойкой с вешалкой и мощной подачей пара, вроде вертикальн...

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

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

Как выпустить ML-сервис в прод малыми силами: кейс работы в облаке Создание ML-модели — сложный и ресурсоёмкий во всех смыслах процесс. Но часто выкатка сервиса на основе модели в прод оказывается ещё сложнее: требует подготовки платформы, выделения ресурсов, настройки программных интерфейсов для передачи данных из модели конечному пользо...

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

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

В поисках ПАК: импортозамещаем немецкое «железо» в российском ЦОД Привет, Хабр! Меня зовут Артем Золотарев, я инженер по виртуализации в Oxygen Data Centres & Clouds. Любой облачный провайдер и оператор ЦОД может столкнуться с задачей проброса USB-портов виртуальным машинам, которым нужен доступ к определенным устройствам. И чем с...

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

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

CI/CD в каждый дом: сборочный цех базовых docker-образов Привет, Хабр.Последнее время DevOps и CI/CD де-факто стали повсеместным стандартом независимо от размера команды, в интернетах хватает статей, почему это важно, в чём собственно идея, полезных практик и других материалов. Я же решил подойти с несколько другой стороны и макси...

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

Как в России в XIX веке компьютер изобрели Компьютер придумал русский учёный Семён Корсаков в первой половине XIX века. Что? Да! И теоретическое обоснование к изобретению искусственного интеллекта впервые подвёл тоже он. «Как микроскоп и телескоп усилили наши чувства, так и интеллектуальные машины могут усиливать наш...

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

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

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

Продать четырехлетний Hyundai Creta, чтобы вернуть 160% стоимости. Названы самые ликвидные четырехлетние кроссоверы «Автостат» опубликовал исследование, в рамках которого были определены самые ликвидные четырехлетние кроссоверы в России по итогам 3 квартала 2023 года. И выглядит рейтинг интересно: в нем один корейский автомобиль, один европейский, один японский и сразу дв...

Как создавалась System Shock ⣿⢿⣾⡟⢕⢔⣞⠋⠻⣚⢻⣮⡳⣜⡓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣩⣻⡶⣽⣮⣽⣶⢟⡫⣱⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣾⣎⡎⣾⣿⣷⣌⡈⢑⠄⠛⢠⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢰⣿⢛⣿⠿⣋⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣾⣽⡻⢯⣻⣶⣤⣷⣼⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⣻⢟⣵⡾⣿⣾⣻⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⠟⢻⣷⣯⣛⣿⣿⡿⠊⠉⠛⢷⣦⣀⠀⠀⠀⠀⠀⠀⣀⣤⣶⠝⠋⠙⠻⣮⣿⢟⡽⠖⢛⡍⣿⣿⠿⢟⣿⡍⣿⣿⠾⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣻⢻⢿⣿⢿⡽⢹⠟⠓⠋⠿⢿⣿⣤⣶⣮⠒⠀⠙⢿⣿⡆⠀⠀⢀⣿⣿⠏⠁⠀⢠⣶⣤⣾⡯...

Будущее программирования: языки, зарплата и перспективы в 2024 году Почему программисты не боятся искусственного интеллекта? Потому что им достаточно сказать заказчику: «Объясните компьютеру, что именно вы хотите». Так шутили еще недавно, но теперь такие шутки становятся не такими веселыми, как раньше. Искусственный интеллект, воплощенный в ...

Будни техпода. Как разместить Telegram-бота на виртуальном сервере Чуть больше месяца назад мы запустили Telegram-бота, через который можно заказать виртуальный сервер. Этот бот помогает арендовать VPN-сервер, VPS из нашего маркетплейса или уникальную конфигурацию под ваши цели. А не возникало ли у вас желания запустить собственный Tele...

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

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

Как использовать html-элемент <dialog>? Привет, Хабр! Меня зовут Александр Григоренко, я фронтенд-разработчик. В основном, занимаюсь разработкой приложений на React, но также постоянно экспериментирую с различными технологиями.В своей работе я часто создаю собственные или использую уже готовые UI-компоненты. Пробл...

Java Тренажер Хочу представить вашему вниманию бесплатный курс Java Тренажер, который недавно опубликовал на платформе Stepik.Java — это объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (позднее приобретённой компанией Oracle). Он был выпущен в 1995...

Ростех займется развитием радиофотоники в стране Новое технологическое направление будет развиваться на базе НИИ «Полюс» им. М. Ф. Стельмаха холдинга «Швабе» Госкорпорации Ростех. Научно-исследовательский институт одним из первых в России стал создавать сложные лазерные информационные системы. Решением Правительства РФ инс...

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

Зачем нужен архитектор 1С Есть такие, кто считает, что нет оснований для использования отдельного понятия архитектор 1С. Дескать, архитекторы это, например, Растрелли или Гауди, а мы тут немного другим занимаемся. Разработка программного обеспечения и проектирование зданий может и являются родствен...

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

[Перевод] Проблема: Wi-Fi работает только во время дождя Вот что ответил отец на мой вопрос о проблеме с домашним подключением к интернету: «Wi-Fi работает, только когда идёт дождь». Давайте сделаем шаг назад, чтобы осознать смехотворность этой ситуации. В то время я был студентом колледжа (это произошло больше десяти лет назад...

Сверхпроводящие материалы. Часть 1 Привет! Это моя первая статья на Хабр. Буду писать про то, чем занимаюсь в науке простыми и сложными словами.Ну что, поехали читать про сверхпроводящие материалы. Жамк

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

Agile в управлении проектами, SPSS и R для поиска взаимосвязей: подборка коротких онлайн-курсов российских вузов Собрали подборку курсов для разработчиков от Томского политеха, Московского физико-технического института и Новосибирского государственного университета. Все они доступны на агрегаторе курсов вузов «Академика», длятся в среднем 10–15 часов и проходят в асинхронном формате, н...

[recovery mode] Фильтруем логи санитайзеров и valgrind на примере приложения с Qt Периодически встречающаяся проблемами кода на С и C++ являются утечки памяти и неопределенное поведение. Даже если вы используете умные указатели, то от ошибок в библиотеках сторонних разработчиков вы не застрахованы. Для поиска ошибок в коде существуют специальные инструмен...

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

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

Изучаем и парсим биржевую информацию Мосбиржи. Наш первый парсер на Python, разбор кода Как устроен ISS MOEX (информационно-статистический сервер Московской Биржи) и как можно парсить с него биржевые данные. Разбор кода программы. Это первое знакомство с MOEX, дальше будем изучать куда как более актуальный для алготрейдинга продукт мосбиржи - ALGOPACK. Однако п...

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

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

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

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

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

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

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

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

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

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

Как в C# быстро извлечь подстроку Извлечение подстроки. Казалось бы, что тут может быть сложного? В любом современном языке программирования это можно сделать через функцию substring или через slicing. За время работы C# разработчиком я повидал разный код, в том числе разные способы извлечения подстроки. В э...

Heretic: full stack фреймворк на основе Marko.js В последнее время вышло так, что я по неведомой причине стал часто заниматься популяризацией Marko.js, декларативного и реактивного языка разметки, который разрабатывается eBay. С одной стороны, это связано с тем, что Marko незаслуженно часто обходят стороной, хотя он п...

Решаем задачу асинхронного ввода-вывода с библиотекой Asio Привет, Хабр! Меня зовут Илья Казаков, я C++ разработчик в команде систем хранения данных  компании YADRO, одна из моих задач — реализация эффективных IO-bound программ под Linux. На одном из проектов мы с командой использовали Asio — библиотеку C++ для сетевого и ...

In RISC-V Rust Превращаем простой пример распознавания нот из лабораторных работ Школы синтеза цифровых схем в Enterprise. Используем компилятор Rust для RISC-V микроконтроллера YRV-Plus. Читать далее

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

Sacred: ностальгия прошедшая проверку временем К 2004 году многие игроки уже успели насладиться Diablo II и хотели попробовать что-то новое, что-то, что подарит им те же ощущения и при этом предложит совершенно другой игровой опыт. В этот год вышла Sacred (или, как ее назвал официальный локализатор Акелла, «Князь тьмы»...

[Перевод] Когда парное программирование не работает Экстремальное программирование включает более 10 разнообразных приемов — TDD, игра в планирование, «заказчик всегда рядом» и т.д. Сегодня речь пойдет о парном программировании. Предлагаем читателям блога beeline cloud поделиться своим мнением об этом приеме! Практиковали ли ...

Википедии на искусственных языках Разделы википедии есть на 355 языках (плюс несколько десятков в инкубаторе).Есть крупные разделы с более чем миллионом статей, их чуть менее 20 (на английском, немецком, русском и так далее; парадоксальным образом на втором месте - википедия на себуанском, одном из языков фи...

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

Совместимость (или нет?) MLOps-инструментов Как и любой уважающий себя инженер, в детстве я любил конструкторы и всякого рода головоломки. Не растерял я эту любовь и сейчас, правда, на смену простеньким детским головоломкам пришли сложные программные системы. Как Lead Data Scientist я решил автоматизировать процессы в...

Первые кадры необычного симулятора слизи с топовой графикой Только представьте: вы отправили своего верного приспешника Слизь в человеческий город для сбора информации, но жаркая погода сыграла с ним дурную шутку. Сможете ли вы удержать его в жидком состоянии? Именно так звучит описание игры от инди-разработчика Asher Zhu, которой о...

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

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

Oppo представила умные часы Watch X Некоторое время назад компания OnePlus уже представила собственные умные часы под названием Watch 2 на выставке MWC 2024, а теперь Oppo представила свои собственные часы под названием Oppo Watch X. И на первый взгляд можно сказать, что эти два устройства имеют много (очень) ...

Как загружать классы в Java 8 и Java 9+? Привет, Хабр! Я разработчик в Институте Системного Программирования РАН, занимаюсь разработкой статического анализатора Svace. Недавно я столкнулся с задачей самостоятельной загрузки классов в JVM, что оказалось непросто, потому что в проекте мы используем модули Java.Модули...

[Перевод] Сложнейшая проблема компьютерных наук: центрирование Заявляю: «Мы, как цивилизация, разучились использовать центрирование». Ну то есть мы, конечно, знаем, как это делать — очень просто: display: flex; justify-content: center; /* Горизонтальное центрирование */ align-items: center; /* Вертикальное центрирование */ Не спрашива...

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

American Farming — симулятор фермера на iOS и Android наподобие Farming Simulator American Farming — мобильная игра от студии SquadBuilt Inc, которая не пытается стать «хайповой». Разработчики выпустили её в App Store и Google Play с ценником в 699 рублей, что уже может оттолкнуть фанатов F2P-механик. За эти деньги игроки получают симулятор фермера по тип...

Python и Excel глазами НСИ Всем привет! Меня зовут Алмаз. Я специалист по НСИ (нормативно-справочной информации) в компании Bimeister. Хотел бы поделиться своим небольшим опытом автоматизации некоторых рутинных задач при работе с различными файлами и Excel- базами данных.Python.Предыстория.Сейчас дово...

Диплом специалиста ИБ. Часть №3 — Портативное устройство SmartPulse Привет, Хабр!Вам знакомо такое чувство, когда сидишь, пишешь дипломную работу и думаешь "А не сделать ли умный пульсометр на ESP32-C3 с интегрированными механизмами защиты, динамическим пин-кодом и управлением через BLE с помощью собственного мобильного приложения для IoT-ус...

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

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

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

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

Самая древняя пирамида в истории была построена в каменном веке, задолго до появления Древнего Египта На фотографии показан комплекс Гунунг Паданг — предположительно, самая древняя пирамида в мире Когда речь заходит о древних пирамидах, многие люди в первую очередь думают о величественных сооружениях Древнего Египта. Также в далекие времена пирамиды строили представители нар...

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

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

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

[Перевод] Мои первые шаги в создании браузерных 2D игр на чистом JavaScript + Canvas. Часть 1. Прототип Всем привет!Поделюсь с Вами моим первым опытом в создании двумерных браузерных игр на языке JavaScript. Читать далее

Async iterator timeout в Python Представим следующую задачу: у нас есть микросервисная архитектура, в которой сервисы взаимодействуют через брокер сообщений, или через gRPC. Так или иначе, оба варианта предоставляют полнодуплексный канал связи, через который один сервис может отправлять множество сообщений...

Samsung много лет сопротивлялась, но сдалась. Galaxy A55 первым среди смартфонов компании получил поддержку бесшовных обновлений Функция бесшовных или плавных обновлений, известная также, как Seamless Updates и A/B Updates, была добавлена в Android ещё несколько лет назад. Samsung была одной из компаний, кто не стал поддерживать эту функцию до последнего. Однако теперь компания сдалась и добавила...

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

Создание и использование BOM в Gradle В каждой компании (а если она крупная, то, скорее всего, в каждом подразделении) должна быть выстроена культура использования BOM (bill of materials) для управления версиями зависимостей. В этой статье я хочу поделиться своим видением того, как это может быть организовано, а...

Применяем стандартные алгоритмы в C++. Семь примеров Привет, Хабр! Меня зовут Николай, я разработчик С++ в SimbirSoft. В этой статье я хочу поделиться своим опытом применения алгоритмов. Каждый из нас знает, что существуют алгоритмы стандартной библиотеки, и что они делают. Но не все и не всегда используют их. Я тоже их н...

5 минусов AMOLED-экранов, из-за которых вы купите смартфон с IPS Производители смартфонов уже давно решили, что экраны AMOLED лучше IPS. Они ярче, контрастнее, тоньше и энергоэффективнее своих аналогов. С этим спорить невозможно, а потому ежегодно количество представленных на рынке смартфонов с IPS сокращается. Тем не менее, такие модели...

В SPEC 2017 обнаружено завышение результатов тестов процессорами Intel Sapphire Rapids Компиляторы oneAPI были адаптированы для SPEC 2017

Еще один человек смог взломать сложнейшую защиту игр Denuvo DRM Разработчик Морис Хойманн недавно успешно взломал систему DRM-защиты Denuvo, используемую в Hogwarts Legacy. Хотя работа Хойманна длилась шесть месяцев, его усилия были направлены в первую очередь на понимание внутренней работы технологии, а не на содействие «незаконной деят...

[Перевод] PL/I — многогранный язык Майк Бедфорд раскрывает тайны PL/I - языка, который, как надеялись в IBM, заменит FORTRAN и COBOL.Названия языков программирования варьируются от банальных до точно описательных, от совершенно бессмысленных до, как в случае с темой этого месяца, откровенно неточных. Речь иде...

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

Когда переключаются потоки в Spring WebFlux Работа с библиотекой WebFlux вызывает затруднения у многих Java/Kotlin разработчиковКод выглядит непривычно, непонятно в каких потоках выполняется логика и как этим управлятьСегодня я попытаюсь объяснить простым языком такой важный аспект, как момент переключения потоков в W...

Пиррова победа Domain-Driven Design TL;DR: DDD неизбежно ведёт к избыточному (на порядки больше минимально необходимого) количеству саг в проекте, которые, в свою очередь, неизбежно ведут к нарушению целостности данных в БД.DDD вполне успешно решает поставленную задачу: дать разработчикам инструменты, которые ...

Взлет и падение языка COBOL. Где и как язык программирования, которому 60 лет, применяется и в наше время? В 2023 году языку COBOL исполнилось уже 64 года. Это один из старейших языков программирования, которые применяются на практике. Кроме того, он же — один из лидеров по объему написанного кода. Язык не собирается умирать, наоборот, он развивается. Конечно, конкурентом популяр...

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

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

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

Лучший стек для питониста-джуна 2024 (2 часть) Итак, что же поменялось за чуточку больше чем полгода? Если мы будем говорить об актуальности - ничего. Django до сих пор, а скорее всего так будет и всегда, остается "на плаву". Большая часть вакансий для back-end разработчика на Python имеет в себе требования по знаниям Dj...

6 виджетов для экрана блокировки iPhone, которые должны быть у каждого В iOS 16 на iPhone Apple дала возможность кастомизировать экраны блокировки ваших смартфонов. Для добавления стали доступны различные эффекты для обоев, шрифты, цвета, а самое главное — виджеты. При необходимости вы могли без всяких проблем разместить на локскрине нуж...

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