Социальные сети Рунета
Воскресенье, 21 июля 2024

[Перевод] Актуально ли сегодня ООП? Почти каждый день возникают дискуссии с критикой или восхвалением объектно-ориентированного программирования. «Java устарела!», «Java потрясающая!». В этой статье я проведу прагматичное исследование ООП на 2024 год. Термин объектно-ориентированное программирование придумал...

ООП в F# Привет, Хабр!Объектно-ориентированное программирование представляет собой подход к разработке, где основой являются объекты — экземпляры классов, объединяющие в себе и данные, и поведение. В F#, который вырос на функциональных концепциях, ООП представлен как дополнение к уже...

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

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

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

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

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

Плэнер — язык логического программирования для ИИ: что из него получилось Боты под управлением системы GOAP (Goal Oriented Action Planning), источник Плэнер (Planner) — функционально-логический язык программирования, схожий по своему синтаксису с Лиспом. Функциональная часть языка содержит фактически целиком Лисп в качестве подмножества. При этом...

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

[Перевод] Люди не понимают ООП «ООП для меня означает лишь обмен сообщениями, локальные ограничения и защиту, сокрытие состояния процесса и крайне позднее привязывание», — Алан Кэй (человек, придумавший термин «объектно-ориентированное программирование»)1 Похоже, многим не нравится объектно-ориентированн...

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

Кратко про FP в Julia В отличие от императивного подхода, где выражается последовательность операций, функциональное программирование (FP) сосредотачивается на "что" и "как" должно быть вычислено, а не на "когда". Это приводит к более чистому, модульному и легко тестируемому коду.Juliа поддержива...

[recovery mode] С какого курса начать обучение программированию для детей? Голосование Знакомство с программированием может начинаться уже с первого класса и даже раньше: с пяти лет. Даже в этом возрасте ребенок способен освоить логику и основные принципы написания кода. Для обучения можно использовать различные языки программирования, например, Скретч, Пайтон...

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

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

Я мыслю MOV EAX, 1 Чем больше усилий ты прикладываешь, тем лучше это у тебя получается. Программирование не исключение, и чтобы с уверенностью сказать: "Я могу написать это" нужно много работать. Эта статья о том с какого языка начать путь в программировании и о том как понять принципы работы ...

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

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

Kotlin (не) против Java: особенности компиляции в байткод В 1995 году Sun Microsystems представили Java — объектно-ориентированный язык программирования, основное кредо которого можно сформулировать так: «Написано один раз, работает всегда». В 2011 году как улучшенную альтернативу Java компания JetBrains представила Kotlin — язык с...

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

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

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

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

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

Object-Relational Mapping (ORM) в Golang Одна из самых важных задач ЯП`s это эффективное взаимодействие с базами данных и Go не исключение. В Go есть парадигма Object-Relational Mapping (ORM), позволяет работать с реляционными базами данных в терминах объектно-ориентированного программирования. Это очень сильно упр...

Объектно-ориентированный подход к написани REST-клиентов, или возможна ли жизнь без Open API Как-то в общении с моим другом-разработчиком из одной крупной софтверной компании у нас зашёл разговор о взаимодействии распределённых команд. В его компании было множество достаточно изолированных команд, каждая из которых разрабатывала свой сервис. В ответ на мой вопрос, к...

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

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

VBScript убирают из Windows. Но почему и зачем? Корпорация Microsoft сделала интересное завяление — VBScript уберут из ОС Windows. Речь, конечно, о поддержке сценариев VBScript. Почему скриптовый язык программирования потерял актуальной для корпорации? Подробности — под катом. Читать дальше →

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

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

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

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

Calypso: Схема данных MongoDB на Scala Чтобы применять Domain-Driven Design, DDD Aggregate и Transactional outbox на MongoDB, наша команда создала open source библиотеку calypso для работы с BSON.Публикация для тех, кто стремится к современным практикам разработки и разделяет наше влечение к Scala 3.Готовы к откр...

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

Релиз Ruby 3.3.0: что появилось нового в языке программирования и что изменилось На днях появился новый релиз динамического объектно ориентированного языка программирования Ruby 3.3.0. Он вобрал в себя лучшие возможности многих других ЯП, включая Perl, Java, Python, Smalltalk, Eiffel, Ada и Lisp. Что касается кода проекта, то он распространяется под лице...

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

Релиз Ruby 3.3.0: что появилось нового в языке программирования и что изменилось  На днях появился новый релиз динамического объектно ориентированного языка программирования Ruby 3.3.0. Он вобрал в себя лучшие возможности многих других ЯП, включая Perl, Java, Python, Smalltalk, Eiffel, Ada и Lisp. Что касается кода проекта, то он распространяется по...

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

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

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

Falang: Low-сode конструктор логики с экcпортом в C++, C#, Rust, Go, TypeScript Полтора года назад я рассказывал про свой пет-проект по визуальному программированию - falang.io. Основная его особенность состоит в том, что пользователь не управляет расположением икон на схеме, только их содержимым. Все остальные соединительные линии рисуются автоматическ...

Самый конец 2023 года: оцениваем рейтинги языков программирования по версии TIOBE и PYPL Востребованность языков программирования постоянно меняется. Какие-то с течением времени остаются актуальными, а часть постепенно прекращает использоваться и уходит с рынка. Есть, конечно, долгожители вроде COBOL, но их не так много. Тем не менее некоторые ЯП находятся в топ...

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

Фабрика для std::variant: как объединить compile-time и run-time, чтобы получить выигрыш от обоих Привет, Хабр! Меня зовут Михаил Полукаров, я занимаюсь разработкой Desktop-версии пользовательского приложения для совместной работы сотрудников с любого устройства VK Teams.  Если вы тоже работали с большими проектами, где активно применяются объектно-ориентированные пат...

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

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

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

Объектно-ориентированный подход при проектировании цифрового офиса сотрудника На современных проектах объектно-ориентированные подходы могут стать универсальным средством построения API, а файлы  YAML — понятной всем нотацией при интеграции. В новой статье рассмотрены оригинальные объектно-ориентированные подходы для проектирования архитектуры ци...

[Перевод] 4. Nix в пилюлях: Основы языка Четвёртая часть из цикла статей Люка Бруно, посвящённой пакетному менеджеру и языку программирования Nix.Здесь мы знакомимся с основами языка. Читать далее

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

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

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

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

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

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

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

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

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

[Перевод] Байт-кодовые VM в неожиданных местах Отвечая на вопрос в Twitter, Ричард Хипп написал, почему SQLite использует байт-кодовую VM для исполнения операторов SQL. Вероятно, большинство людей ассоциирует байт-кодовые VM с языками программирования общего назначения, например, с JavaScript или Python. Но иногда их м...

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

Делаю игрулю на Playdate на чистом C. Глава 4 Я пишу игру на игровую консоль Playdate на чистом C. Игра в жанре "выживальщик" наподобие Vampire Survivors. Так как в чистом C отсутствуют многие современные объектно-ориентированные удобства мне приходится по-всякому изворачиваться чтобы адаптировать свои идеи в код. В эти...

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

[Перевод] Go развивается в неверном направлении Язык программирования Go известен своей простотой в использовании. Благодаря продуманному синтаксису, возможностям и инструментарию, Go позволяет писать легко читаемые и поддерживаемые программы произвольной сложности (см. этот список на GitHub). Некоторые инженеры-программ...

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

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

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

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

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

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

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

Из пушек по воробьям. Генерация и решение лабиринта не самым обычным способом На уходящей неделе мне попалась симпатичная, хоть и не новая мини‑серия статей на Дзен‑канале @zdgzdgzdg про процедурную генерацию лабиринта методом «коллапса волновой функции». Пока я читал эти статьи и знакомился с кодом, меня осенило: ведь это&nbs...

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

Пишем приложение на Python для подготовки к собеседованиям по Python На конец 2023 года язык программирования Python является самым популярным по индексу TIOBE. Что касается работы, то по количеству вакансий в мире язык Python занимает второе место (после JavaScript/TypeScript). Поэтому у соискателей на должность, где требуется Python, возник...

Разработка децентрализованных приложений на Spring Boot: инструменты Web3 Tech Привет! Меня зовут Даниил, я разработчик в Web3 Tech. Недавно в JVM-инструментарии для нашей основной платформы «Конфидент» состоялся новый релиз, в который вошли библиотеки клиента для взаимодействия с нодой и Spring Boot стартеры. Далее в посте я расскажу об этих библиотек...

C++20 в bare-metal программировании, работа с регистрами микроконтроллеров Cortex-M Сегодня я хотел бы обсудить тему, с которой так или иначе сталкивался почти каждый программист встраиваемых устройств без использования настоящих операционных систем, а именно прямое управление периферийными узлами микроконтроллера. A конкретнее, я&...

Карсон Гросс, создатель HTMX Карсон Гросс (Carson Gross) — профессор информатики из Монтаны, который неожиданно стал одним из самых ярких персонажей в индустрии веб-программирования последних лет. Он автор языка HyperScript и популярной библиотеки для фронтенда HTMX, позволяющей создавать сложные инте...

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

JetBrains выпустила новую IDE для работы с документацией Writerside Инструмент используется в JetBrains уже более 10 лет, и, по словам команды, продукты JetBrains, от языка программирования Kotlin до IntelliJ Platform SDK, используют Writerside для создания своей документации. Читать далее

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

С помощью нового метода можно изучать программирование в игровой форме Исследователи из Литвы и других европейских стран разработали метод, цель которого — облегчить обучение программированию с помощью геймификации и искусственного интеллекта (ИИ).

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

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

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

В России проведут первые соревнования по спортивному программированию на платформе Foncode В России проведут первые соревнования по спортивному программированию на импортозамещенной соревновательной платформе Foncode, созданной Федерацией спортивного программирования совместно с FONBET. Об этом объявили вчера на TAdviser SummIT.

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

О динамическом программировании на пальцах Как динамическое программирование может упростить нашу жизнь? Как можно оптимизировать решение задач?Сегодня мы разберем динамическое программирование на пальцах с примерами на Python!Усаживайтесь поудобнее, леди и джентльмены! Вперед!

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

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

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

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

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

[Перевод] Утверждение, что «199 из 200 соискателей не умеют писать код», некорректно Насколько правомерно утверждение, что 199 из 200 соискателей вакансий в сфере программирования по факту программировать не умеют? Откуда взялось это утверждение, и какие основания под собой имеет? Читать дальше →

Способы отображения: существует ли связь между DDD и ООП В ходе обсуждений докладов на Analyst Days возник вопрос о связи Domain-driven design (DDD) с объектно-ориентированным подходом (ООП): оказывается, для большинства она вовсе не так очевидна, как мне представлялось. Подробнее погружаясь в&nb...

[Перевод] Как так вышло, что при лишнем шаге сборки моё приложение на Zig ускоряется в 10 раз Вот уже несколько месяцев я интересуюсь двумя технологиями: языком программирования Zig и криптовалютой Ethereum. Чтобы подробнее изучить обе, я написал на Zig интерпретатор байт-кода для виртуальной машины Ethereum.Язык Zig отлично подходит для оптимизации производительност...

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

Ускорение Python в 2 раза с помощью multiprocessing, async и MapReduce Python действительно может считаться относительно медленным языком программирования по сравнению с некоторыми другими языками, такими как C++ или Java. Однако, существуют различные библиотеки и инструменты, которые позволяют ускорить выполнение счетных задач в Python. Рассмо...

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

Власти США рекомендовали отказаться от легендарных языков программирования C и C++ из-за их небезопасности Похоже, эпоха легендарных языков программирования C и C++ может подойти к концу.

Делаю игрулю на Playdate на чистом C. Глава 2 Я пишу игру на игровую консоль Playdate на чистом C. Игра в жанре "выживальщик" наподобие Vampire Survivors. Так как в чистом C отсутствуют многие современные объектно-ориентированные удобства мне приходится по-всякому изворачиваться чтобы адаптировать свои идеи в код. В эти...

Про рейтинги популярности языков программирования — на лето 2024 года Вечнозеленая тема — рейтинги популярности языков программирования. Говорят, что они в основном интересуют слушателей ИТ-курсов, но в майском рейтинге 2024 есть и небольшая сенсация. В ТОП-10 индекса TIOBE вернулся Fortran, — язык, ведущий историю с 1957 года (кстати, последн...

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

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

Какой язык программирования выбрать? Обзор на Go Продолжаем серию статей про особенности, применение, плюсы и минусы языков, которые используются в «Криптоните». В этой статье наш инженер департамента инфраструктуры Алексей Косов расскажет про Golang.Ранее наши разработчики делали обзоры на Rust, Scala, JavaScript и Spark....

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

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

Книга рецептов Rust. 1/2 Hello world! Книга рецептов — это коллекция простых примеров, демонстрирующих хорошие практики решения распространенных задач программирования с помощью крейтов экосистемы Rust. Читать дальше →

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

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

Белый дом призвал разработчиков ПО отказаться от небезопасных С и С++ и перейти на Python и Rust Американские власти уверены, что все беды заключаются в устаревших языках программирования

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

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

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

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

Книга рецептов Rust. 2/2 Hello world! Книга рецептов — это коллекция простых примеров, демонстрирующих хорошие практики решения распространенных задач программирования с помощью крейтов экосистемы Rust. Первая часть Читать дальше →

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

Oxlint — более быстрая альтернатива ESLint Друзья, всем привет! Меня зовут Игорь Карелин, я frontend-разработчик в компании Домклик. Недавно стал общедоступен новый линтер «Oxlint», основанный на языке программирования Rust, и многие эксперты высоко оценили его. Какие преимущества Oxlint предоставляет по сравнению со...

Гендиректор Nvidia: В век ИИ изучение программирования скоро не будет иметь смысла Дженсен Хуанг уверен, что языком программирования в будущем станет обычная человеческая речь.

Язык программирования Kotlin обновляет поддержку WebAssembly, достигая статуса Alpha JetBrains объявила о переходе Kotlin на WebAssembly на стадию Alpha, что расширяет возможности платформы Kotlin Multiplatform в области кроссплатформенного программирования.

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

Хеш-функция Стрибог. Особенности аппаратной реализации на System Verilog На просторах интернета есть несколько статей об алгоритме получения хеш-функции Стрибог (ГОСТ 34.11-2012), в том числе и на Хабре. Однако везде в качестве примера приводится реализация на языках программирования C, C#, Python и других. То есть идет последовательное выполнен...

Реализация SHA256 и SHA512 на языке RUST Небольшая заметка студента о том, как самостоятельно реализовать алгоритмы SHA256 и SHA512 на Rust.Статья будет полезна всем, кто интересуется криптографией, хочет повысить уровень безопасности своих приложений или просто расширить свои знания в области программирования на R...

Мой вам подарок к новому году или как наконец запустил то, что надо было давно запустить… Немножко истории Начну с истории вопроса. Очень давно, я написал Fresh IDE – навороченнoe IDE для программирования на ассемблере, а точнее на FlatAssembler. Fresh IDE долгие годы меня полностью устраивал, поэтому я с перерывами выпустил 2 главные версии и начал просто его...

Использование нейросетей во время программирования признали крайне вредным для новичков Молодым программистам рекомендуют не использовать нейросети, которые мешают изучению языков программирования

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

3-е издание «Основы Dart», анонс печатной версии и новой книги — «Основы Flutter» Всем привет!Прошло не так много времени с выхода второго издания «Основы Dart» и т.к. этот язык программирования не стоит на месте, привел книгу к актуальному состоянию, добавив в нее раздел по Extension Types. Несмотря на то, что материал был у меня еще до выхода Dart 3.3 (...

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

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

Язык программирования R для статистической обработки данных Гибадуллина Д.А  Гибадуллина Дарья Анатольевна/ Gibadullina Daria Anatolievna- студент второго курса бакалавриат Уральского филиала Финансового университета направления бизнес-информатика Аннотация: Язык программирования R имеет широкое применение в области ст...

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

Язык программирования Python оказался близок к заражению хакерами Инцидент с участием Python Software Foundation (PSF) подчеркнул опасность утечки токенов из двоичных файлов. Персональный токен доступа к GitHub с правами администратора к языку программирования Python и репозиториям PyPI был "открыт" примерно год. Токен, принадлежащий дирек...

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

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

Perl 5.40.0: что нового спустя 11 месяцев? Изменения и дополнения в релизе Не прошло и года, как разработчики дождались новой стабильной ветки языка программирования Perl — 5.40. При подготовке этого выпуска изменениям подверглись свыше 160 тыс. строк кода и 1 500 файлов. Всего в работе над релизом приняли участие 75 специалистов. Ну а подробн...

Эксперты пришли к выводу, что 52% ответов ChatGPT неверны и крайне вредны для программирования Похоже, ИИ пока далёк от того, чтобы заменить миллионы людей.

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

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

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

Готовимся к собеседованию по Rust: 4 самых частых вопросов. Часть 1 Привет, Хабр!Rust — язык программирования с акцентом на безопасность, скорость и параллелизм. Rust решает многие проблемы, с которыми сталкиваются на других ЯП, например, управление памятью без сборщика мусора. Очевидно из-за многих преимуществ Rust выбирают все большей комп...

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

Книга «Terraform: инфраструктура на уровне кода. 3-е межд. изд.» Привет, Хаброжители! Terraform — настоящая звезда в мире DevOps. Эта технология позволяет управлять облачной инфраструктурой как кодом (IaC) на облачных платформах и платформах виртуализации, включая AWS, Google Cloud, Azure и др. Третье издание было полностью переработано...

[recovery mode] Разработка расширения для PHP на C++. Хуки встроенных функций и методов PHP - это мощный и широко используемый язык программирования для веб-разработки. Однако, иногда требуется расширение функциональности или модификация стандартного поведения PHP с использованием более низкоуровневых языков, таких как C++. В этой статье мы рассмотрим, как с...

[recovery mode] Гайд по Scratch для детей: как запустить игру на Android Детское программирование стремительно набирает популярность. Многие школьники, интересующиеся видеоиграми, нередко задумываются о создании собственного виртуального мира. К счастью, сейчас для этого есть множество технических возможностей: в большинстве современных семей ест...

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

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

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

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

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

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

Освоение программирования за 2 года с нуля или как я пытался автоматизировать реальное производство Моя профессия далека от IT технологий. Я работаю на производстве кажется всю жизнь довольно давно. Тематика - производство и ремонт металлообрабатывающих станков. Производим станки как новые, так и ремонтируем. Стараемся все делать локализировано (импортозамещение ж)- все ж...

Забытый порт 3c0, или видят ли камеры иллюзии Вы видите желто и синих цвета? Но у меня черно-белые изображение. Сам монитор черно-белые. Монохромное изображение — чёрно-белые компьютер монитор. У меня он был! Нет у меня желто и синих цвета. А они есть в глазу! Но не только. Они есть в фотоапарата! Фотоапарат решил что ж...

Разбор монады ContT, или как написать продвинутый goto, генераторы и файберы на хаскеле В этой статье я разберу монаду ContT, и покажу как вернуть return и другие control-flow операторы из императивных языков программирования, которых мне так нехватало, когда я начинал изучать хаскель. Читать далее

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

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

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

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

Gabriel2 — Open Source асинхронная библиотека для модели Акторов на Rust с использованием Tokio В целом мне очень нравится концепция Акторов в асинхронном программировании. Низкоуровневое программирование с использованием очередей сообщений и обработчиков сообщений не позволяет мыслить в терминах высокоуровневых абстракций. Акторы позволяют абстрагироваться от низкоуро...

[Перевод] Ретрокодинг на Macintosh System 7.5, Think C и ResEdit Большинство современных программистов привыкли использовать инструменты автодополнения кода и новомодные ИИ-штучки а-ля Copilot. Они стали нормой.Эти инструменты настолько удобны, что мы начали забывать о боли и борьбе, которые сопровождали процесс разработки в далеком прошл...

Делаю игрулю на Playdate на чистом C. Глава 3 Глава 1Глава 2Я пишу игру на игровую консоль Playdate на чистом C. Игра в жанре "выживальщик" наподобие Vampire Survivors. Так как в чистом C отсутствуют многие современные объектно-ориентированные удобства мне приходится по-всякому изворачиваться чтобы адаптировать свои иде...

Сто паттернов для разработки корпоративных программ. Часть первая В этой статье рассмотрены все паттерны проектирования из "Банды четырёх" с примерами на языке программирования C#. Для самых терпеливых имеются дополнительные паттерны.Это первая статья из серии "Сто паттернов для разработки корпоративных программ". Следующие статьи будут по...

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

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

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

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

Локальные LLM в разработке: а почему бы и да? Меня зовут Антон Гращенков, и я занимаюсь развитием Java в Альфа-Банке. Программированием увлекаюсь ещё со школы: писал на множестве разных языков — от Pascal до TypeScript, мне это просто нравится. В статье я на примерах покажу, для каких задач я использую локальные мо...

[Перевод] Логический долг гораздо разрушительнее технического Жили-были разработчики ПО, игнорировавшие рекомендованные методики наподобие предметно-ориентированного проектирования (Domain-Driven Design); они срезали углы, чтобы выпускать продукты быстро. Они думали: «Нам платят за написание кода, а не за проектирование!» Менеджер по...

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

Российские айтишники назвали специализации, которым они обучаются Согласно исследованию Rambler&Co и «Школы 21», 68% россиян считают, что цифровые навыки необходимы для работы. Опрос охватил более 54 000 человек и также показал, что среди IT-специалистов наибольший интерес вызывает язык программирования Python (32%). Следом идут C++ (2...

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

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

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

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

Почему Сборка с Помощью Есlipse ARM GCC Плагинов это Тупиковый Путь В программировании микроконтроллеров часто используют Eclipse с плагинами.Главным образом от незнания языков скриптов сборки (Make, Cmake, Ninjia и т п).В этом тексте я напишут почему способ сборки из Eclipse c ARM плагинами — это тупиковый путь...

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

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

Разработчикам на Rust: рецензия на книгу «Rust: атомарности и блокировки» Очередной пост — рецензия на книгу «Rust Atomics and Locks: Low‑Level Concurrency in Practice» авторства Мары Бос. Это руководство по работе с низкоуровневой конкуренцией в языке программирования Rust. Издание предлагает глубокое погружение в ме...

Популярнее некуда: у JavaScript самое большое сообщество. Как это выяснили Языки программирования часто анализируют по разным методикам, после чего и публикуются рейтинги. Их не один и не два, но о самом известном, Tiobe, слышали, наверное, все. Рейтинги часто оспаривают, с ними не согласны многие разработчики и аналитики. Тем не менее, знать о них...

[Перевод] Тестирование без моков: язык шаблонов. Часть 1 Автоматизированные тесты очень важны. Без них программистам приходится тратить огромное количество времени на ручную проверку и исправление кода. К сожалению, многие автотесты также тратят огромное количество времени. Простым и очевидным вариантом является создание широких т...

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

Обзор библиотеки Stan в R Приветствую! Stan - это библиотека на C++, предназначенная для байесовского моделирования и вывода. Она использует сэмплер NUTS, чтобы создавать апостериорные симуляции модели, основываясь на заданных пользователем моделях и данных. Так же Stan может использовать алгоритм о...

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

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

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

Fortran, язык, которому почти 70 лет, поднялся с 27 до 12 места в рейтинге ЯП. В чём причина его новой популярности? Мир программирования частенько преподносит сюрпризы в отношении того либо иного языка. Так, в начале 2024 года Fortran, один из самых старых ЯП, поднялся сразу на 15 позиций в рейтинге TIOBE. Что случилось и почему ранее почти забытый ...

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

Как программируются кассовые аппараты? Привет, Хабр! А вы когда-нибудь задумывались, каким образом ваша покупка на угловой заправке или в супермаркете превращается в акт, сохраняющийся в электронной памяти кассового аппарата? Эти устройства - настоящие живые свидетели каждой транзакции, но как они работают внутри...

[Перевод] Введение в поддержку JavaScript в MySQL MySQL продолжает наращивать инновации и теперь включает в себя богатые возможности процедурного программирования внутри базы данных. Отныне разработчики могут писать хранимые программы на языке JavaScript (функции и процедуры) в сервере баз данных MySQL. Хранимые программы б...

PVS-Studio в 2023 За окном январь 2024 года, а это значит, пора подвести итоги за 2023 год! В этой статье мы не только рассмотрим всё новое, что появилось за 2023 год, но и освежим память по основным функциональным возможностям статического анализатора PVS-Studio. Читать дальше →

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

Экспорт статьи из LibreOffice Writer в Habr Flavored Markdown или HTML Резюме. В статье дается ссылка на файл в формате ODT (основной формат файлов, используемый в текстовом редакторе LibreOffice Writer), содержащий макросы на «родном» для LibreOffice языке программирования макросов BASIC, которые осуществляют экспорт текста из LibreOffice Writ...

Диспетчер Задач для Микроконтроллера В программировании микроконтроллеров часто нужно написать простые тестировочные прошивки. При этом надо некоторые функции вызывать чаще, а некоторые реже. Для этого, конечно, можно запустить FreeRTOS, однако тогда этот код не будет переносим на другие RTOS например Zephyr RT...

[Перевод] Передавать пустые срезы между Rust и C/C++ на удивление сложно Моя основная работа связана с браузерами и криптографией, а не компиляторами. Но я нередко сталкиваюсь с ситуацией, когда мне приходится проводить больше рабочего времени за изучением семантики языков программирования, чем за фактическим их использованием. Так что эта стать...

Кратко про микросервисы на Scala и Erlang Привет, Хабр!Микросервисы давно являются некой "попсой" для создания гибких, масштабируемых и отказоустойчивых систем. И естественное имеет свою реализацию в функциональном программирование.В статье рассмотрим два языка программирования, которые выделяются своим функциональн...

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

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

Искусственный интеллект Gemini от Google превзошел всех людей и нейросети в 57 науках Компания Google представила новую версию искусственного интеллекта под названием Gemini. Она набрала 90,0 % в тесте MMLU (понимание языка в условиях многозадачности) против 89,8 % у людей и 86,4 % у GPT-4 по набору из 57 прикладных и фундаментальных наук. В со...

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

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

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

Геймдев жив? Несмотря на кликбейтный заголовок, проблему я хочу поднять вполне серьёзную. Последние 17 лет я работаю в геймдеве и преподаю геймдизайн. Это помогает структурировать мысли и факты. И именно этим мы займёмся в данной статье: разложим по полочкам факты, формирующие облик совр...

All-in-One PC: один за всех Настольные ПК по меркам быстро меняющегося цифрового мира принадлежат к разряду динозавров: со времени своего появления в середине 80-х они не претерпели каких-либо принципиальных изменений. Подобная замшелость вызывает в отрасли определенное беспокойство, ведь необходимо с...

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

[Перевод] Большинство оконных приложений — это недоработанные real-time приложения В приложениях пользовательского интерфейса таких платформ, как Windows, Linux и macOS, скрывается ряд недоработок, которые порой снижают их быстродействие до раздражающе медленного. Сюда относятся нюансы работы в реальном времени, блокирование памяти при доступе к диску и н...

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

ГАЙД по python стеку для Data Science инженеров Data science - это область, которая занимается изучением и анализом больших объемов данных, чтобы находить в них полезные закономерности, делать прогнозы или принимать решения на основе фактов. Самым популярным языком программирования для data science является Python. Б...

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

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

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

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

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

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

[Перевод] Result builders in Swift Конструктор результатов можно рассматривать как встроенный предметно-ориентированный язык (DSL) для сбора деталей, которые объединяются в конечный результат. Конструкторы результатов в Swift позволяют создавать результат, используя "блоки сборки", расположенные в ряд друг за...

ChatGPT для разработчиков: API, лимиты, как втягивать в него базу знаний, что нельзя сделать, что лучше делать осторожно Мы с командой вернулись тут с Хайлоада, и там даже CTO крупных компаний задают много вопросов про разработку с LLM. Наша компания занимается прикладной разработкой всего того, что касается GPT/LLM. Расскажу про очевидные вещи, о которых у меня там спрашивали CTO и разраб...

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

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

Что нам стоит вязальный аппарат построить? Некоторая информация и ряд мыслей на тему… Картинка Macrovector, Catalyststuff, Freepik Ткацкое и вязальное дело — одни из старейших и известнейших изобретений человечества, сопровождающие его в течение большей части истории. При этом вязание многократно опережает ткацкое дело по времени своего возникновения, так ...

Обзор программ-диалеров для OS Windows Phone За всеми теми замечательными вещами, которые позволяют делать современные смартфоны, очень легко забыть об основной функции этих устройств. А именно — о звонках. Казалось бы, что может быть проще, чем запустить стандартное приложение «Телефон» и набрать интересующий нас номе...

[Перевод] Об извлечении кода в Python Я начал изучать Python в 2009 году, столкнувшись с очень нетривиальной и, кстати, необычной задачей на этом языке. Тогда я разрабатывал приложение для ПК, где графический пользовательский интерфейс создавался на PyQT, а основным языком в программе был Python. Чтобы скрыть...

Когнитивные искажения в программировании Всем привет!Сегодня мы поговорим о такой интересной и забавной вещи, как когнитивные искажения. Что это? Зачем это? Как с этим бороться или, быть может, их даже можно использовать? Для начала давайте разберемся, о чем же мы говорим. Читать далее

Книга «Эволюционная архитектура. Автоматизированное управление программным обеспечением. 2-е межд. изд.» Привет, Хаброжители! Новые инструменты, фреймворки методики и парадигмы вновь и вновь меняют экосистему разработки программного обеспечения. Непрерывный прогресс основных практик разработки на протяжении последних пяти лет заставил искать новые пути и подходы к архитектуре...

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

[Перевод] Как стать программистом графики: советы команды AMD Game Engineering Очень часто нас спрашивают о хороших веб-сайтах для новичков по изучению программирования графики. Разумеется, мы бы с радостью порекомендовали GPUOpen, но правда в том, что основная целевая аудитория GPUOpen — программисты среднего или высокого уровня. Для только начинающих...

Как я рабочую задачу автоматизировал, не написав ни строчки кода, с помощью AI-ассистента AI-сервис Phind - ассистент по программированию для не программистов. Или как я автоматизировал свою рабочую задачу, не написав самостоятельно ни строчки кода. Читать далее

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

Amazon запускает помощника по программированию на базе искусственного интеллекта Amazon объявила о выпуске Amazon Q Developer, помощника по генеративному кодированию на базе искусственного интеллекта, целью которого является повышение производительности и упрощение процесса разработки программного обеспечения. Инструмент предоставляет предложения в режим...

Новый китайский аналоговый процессор в 3000 раз быстрее GPU A100 от Nvidia. Что это за чип и для чего он нужен? Именно это преимущество нового чипа указывают в статье, описывающей новое изобретение, китайские разработчики. Команда ученых из университета Цинхуа создала аналоговый фотоэлектронный чип. По мнению самих разработчиков, этот чип способен вывести отрасль машинного зрения на ...

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

Electronic Arts ищет программиста для новой мобильной игры На сайте hitmaker.net появилась вакансия от Electronic Arts на позицию бэкенд разработчика. Работать нужно удалённо, но находиться в Канаде — офис подразделения EA расположен в Ванкувере. Программист будет трудиться над новой мобильной игрой. В ней будет мультиплеер, рассчит...

Не только Роботрон: краткая история IT-сектора ГДР В предыдущей части мы коротко рассказали о первых послевоенных годах IT-отрасли разъединенной Германии и о тех процессах, что шли на Западе и Востоке. Мы остановились в 1949 году. Именно тогда в Мюнхенском университете под руководством его ректора Ганса Пилоти началось строи...

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

Эльфы и пингвины: что такое ELF и как он работает в Linux? Всем привет! С вами как всегда я, Аргентум. Сегодня я расскажу и поведаю вам древние тайны, которые хранят горные старцы-сисадмины — тайны об эльфах, и как они взаимодействуют с древним народцем пингвинов. Дамы и господа, встречайте — статья о работе ELF и двоичных файлов в...

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

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

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

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

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

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

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

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

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

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

Где учиться программированию в 2024 году: курсы для начинающих

[Перевод] Анатомия Hello World на языке C Эта статья посвящена программе Hello World, написанной на C. Это максимальный уровень, на который можно добраться с языком высокого уровня, не беспокоясь при этом о том, что конкретно язык делает в интерпретаторе/компиляторе/JIT перед выполнением программы. Изначально я хо...

Шрифт на кривых Безье на микроконтроллере ИдеяИдею подсмотрел в канале о программировании ESP32, один человек продемонстрировал часы на 6 дисплеях. Каждая цифра на своём дисплее типа 1.8" 128х160. Разработчик проекта показал источник своего вдохновения: проект Bézier Clock на Javascript разработчика Jack Frigaard. К...

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

Дата-центр ЦЕРН на 1 эксабайт: как хранят данные Большая наука невозможна без больших вычислений. По крайней мере, это утверждение справедливо в ядерной физике. Мы видим, что львиная доля самых мощных суперкомпьютеров установлена именно в научных учреждениях, в том числе университетах. Сразу несколько отраслей современно...

Опыт использования свободного ПО OSS-CAD_SUITE для программирования FPGA Gowin Для программирования FPGA нужна среда проектирования. Например, при использовании микросхем ПЛИС Altera/Intel мы используем САПР Intel Quartus Prime Software. Возможно, основная ценность технологии ПЛИС даже не сами микросхемы, а программное обеспечение, которое позволяет ра...

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

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

Импортозамещение которое мы потеряли: советские ЯП и их создатели (часть 2) В комментах к предыдущей части некоторые читатели предложили рассказать о ещё нескольких ЯП, которые сыграли значительную роль для развития программирования в СССР. Автор не смеет игнорировать просьбы трудящихся. В этой части цикла поговорим об АЛМО, Эль-76 и Рапира и ЛЯПАС....

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

Рисуем рабочий процессор в Paint и запускаем на нём ОС | Ритуал по призыву демона Тьюринга Однажды в тёмном-тёмном городе, в тёмном-тёмном подвале, очередной обезумевший контентмейкер за паяльной станцией подключал программатор к умному термосу. Термос этот он нашёл на улице и хотел перепрошить его маленький и беззащитный Cortex-M0+. Человек бредил. Раз в пару ...

Получение и визуализация данных из Битрикс24 без навыков программирования Год назад у Битрикс24 появилась нативная интеграция с BI-сервисом DataLens: теперь пользователи CRM могут строить дашборд с бизнес-аналитикой за несколько кликов. Для создания таких аналитических отчётов бизнес обычно объединяет все данные в единую базу. При таком подходе мо...

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

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

Управление проектами: обзор публикаций за неделю Экстремальное программирование и мокапы, вредные советы проджектам и аналитика ошибок, матрицы компетенций участников проекта и новые инструменты, - прочитал и отобрал всё интересное, что писали про управление проектами за прошедшую неделю. Читать далее

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

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

Samsung каким-то образом удалось обойти Apple на рынке смартфонов США Компании Samsung удалось обойти Apple на рынке смартфонов США.   Аналитики CIRP опубликовали данные о продажах за год, вплоть до марта 2024 года. Оказалось, что за этот период Samsung заняла 38% рынка, тогда как Apple смогла занять лишь 33%. Учитывая, что обычно и...

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

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

Многообразие функциональных обёрток В далёком 2002-ом комитет по стандартизации C++ посетил пропозал, предлагавший ввести шаблонный класс, некий обобщенный «указатель на функцию», способный работать как с простыми указателями на функции, указателями на методы классов, так и с произвольными функциональными объе...

Зарплаты IT-специалистов в первой половине 2024: +8% по всей России Первое полугодие 2024 всё, а значит, мы снова смотрим, сколько в этот период зарабатывали IT-специалисты. Каждые полгода мы на Хабр Карьере выгружаем зарплаты, которые IT-специалисты оставили в калькуляторе, анализируем их и отслеживаем динамику. На этот раз мы изучили ...

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

BASIC исполнилось 60 лет: язык, сыгравший ключевую роль в популяризации программирования Прадедушка Python и не только.

Epic Games Store раздаёт игру Human Resource Machine. Она учит программированию Нужно торопиться: акция действует до вечера.

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

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

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

Quick & worldwide: как мы ускорили DocLoc-релизы и апдейты для 34 локализаций Наши потребительские мобильные продукты уникальны тем, что распространяются в более чем 100 странах на 34 языках — возможно, рекордное значение в российской IT-индустрии. В основном лишь считанные продукты отдельных компаний переводятся на десяток-другой языков; у нас же мас...

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

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

Сам написал, сам полетал: как и зачем я разработал 3D-игру с нуля под компьютеры из 90-х в 2024 году? Осторожно: Несмотря на кажущуюся сложность статьи о разработке целой 3D-игры с нуля, я постарался систематизировать и упростить материал так, чтобы понятно было любому заинтересованному читателю, даже если вы далеки от программирования в целом! Статьи о разработке инди-иг...

[Перевод] Мягкое знакомство с дополнительным кодом Недавно, общаясь по видеосвязи с другом, я рассказывал ему о своих идеях по реализации нового продукта. В разговоре я упомянул добавление больших знаковых чисел в ассемблере с использованием дополнительного кода, на что получил от собеседника вопрос: «Что такое дополнительн...

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

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

«Бабушка интернета» – Мэри Ли (Бернерс-Ли) Вудс Порой путь человека может быть предопределён. Завтра исполняется 69 лет Тиму Бернерсу-Ли, создателю всемирной паутины, о жизни которого мы завтра вам расскажем подробно. Великие люди порой затмевают своих предков, так случилось и сейчас: мало кто знает родителей человека, ...

Глава NVIDIA дал понять, что благодаря ИИ программирование уже не такой необходимый навык «Все в мире теперь программисты. Это чудо искусственного интеллекта».

Рекорд России по спортивному программированию установлен на фестивале «Техноспорт» За 10 часов состоялось 49 матчей.

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

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

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

Организация очереди обращений к native библиотеке из управляемого кода средствами Dispatcher В недавнем прошлом столкнулся со следующей проблемой: в реализуемом проекте (под .net) необходимо было организовать взаимодействие с внешними ресурсами (аппаратное обеспечение, специфическая полнотекстовая БД). Доступ к этим ресурсам осуществлялся средствами библиотек содерж...

Илон Маск утверждает, что его ИИ Grok уже находится на уровне GPT-4 и Gemini Pro 1.5 В тесте программирования он набрал впечатляющие 90% правильных ответов.

Генеральный директор NVIDIA: с появлением ИИ программирование больше не нужно Каждый человек стал программистом.

В 2023 году россияне чаще всего выбирали онлайн-курсы по программированию и дизайну Исследование «Сравни»

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

Квиз со звёздочкой для С++ программистов от Сергея Кушниренко Привет всем любителям побрейнштормить и хорошенько развлечься! Команда PVS-Studio на связи. Новый крутой квиз с интересными вопросами из мира программирования уже у нас на сайте. Да не простой квиз, а задачки от Сергея Кушниренко — разработчика игр в 4A Games! Если устали от...

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

Используем паттерн Decorator в Bitrix Применять паттерны программирования — хорошая практика. К сожалению, на проектах CMS Bitrix редко встречаются примеры использования. В статье я покажу на примере, как можно использовать паттерн Decorator.А также рассмотрю этот паттерн в целом: его распространенные реали...

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

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

Практическое руководство по Rust. 1/4 Hello world! Представляю вашему вниманию первую часть практического руководства по Rust. Руководство основано на Comprehensive Rust — руководстве по Rust от команды Android в Google и рассчитано на людей, которые уверенно владеют любым современным языком программирования....

Случай является на помощь тому, кто неустанно ищет Привет, Хабр.Выдался вечер, в который я всё-таки дозрел поделиться с вами небольшой рефлексией. Я на Хабре уже три года и три месяца, почти всё это время мне удаётся публиковать примерно по 4 лонгрида в месяц, а с некоторого времени — и по паре переводов в месяц (в этом блог...

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

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

Представлена клавиатура Keychron K5 Max с тремя вариантами подключения Модель для Windows и macOS поддерживает программирование через QMK/VIA и возможность широкой пользовательской кастомизации.

Postgresso #1 (62) Умер Никлаус Вирт1-го января этот мир покинул Великий человек - Никлаус Вирт (Niklaus Emil Wirth). Его создания: Pascal, Algol-W, Euler, Modula-1, 2, Oberon-1, 2.Но прежде всего Никлаус был главным идеологом программирования сверху вниз, структурного программирования.РелизыS...

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

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

Спецификация уникальных идентификаторов UUIDv7 для ключей баз данных и распределенных систем по новому стандарту RFC9562 Долгожданный стандарт RFC9562 "Universally Unique IDentifiers (UUID)" с тремя новыми версиями идентификаторов UUID (6, 7 и 8) вместо малопригодного RFC4122 наконец-то вступил в силу. Я участвовал в разработке нового стандарта. Обзор стандарта можно посмотреть в статье.Введен...

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

Таких больше не делают: смотрим на шедевральный BlackBerry Priv. Как ежевичная компания сделала крутейший смартфон? Давние читатели знают, что в моём блоге особое место отведено девайсам от компании BlackBerry. Канадский бренд в своё время делал очень интересные смартфоны с уникальными инженерными решениями, которые не были похожими ни на один современный смартфон. Пожалуй, только «ежев...

Java Digest #13 Всем привет!

[Перевод] Как устроен языковой сервер В этом посте я хочу прокомментировать один любопытный комментарий из базы кода rust-analyzer. Вот этот комментарий. Здесь описан интересный рекурсивный алгоритм, неоднократно встречающийся в разных аспектах программирования языковых серверов. Я видел реализации такого алгор...

Функциональный Rijndael Rijndael (авторы Vincent Rijmen, Joan Daemen) - алгоритм, признанный стандартом шифрования в 2001 году, ныне называемый AES (Advanced Encryption Standard).Материалов про AES много, и я сразу выделю отличие этой статьи от других:• приведена реализация шифра в функциональной п...

[Перевод] Где-то в дороге мы забыли о мастерстве программирования «Поставляй!»«Мы теперь Agile, детка. Двигайся быстро и ломай вещи!»«Мы оцениваем наших инженеров по тому влиянию, которое они оказывают!»Где‑то по пути, в разгар agilification программного обеспечения или золотой лихорадки зарплат инженеров‑прог...

“Укроп” — ваш кредитный оптимизатор “Укроп” взялось от “Your CRedit OPtimizer” :) Основная идея В современном мире финансовой стабильности, всеобщего счастья и легкодоступных кредитов, вопрос в эффективности набирания этих самых кредитов стоит довольно остро. И если по времени пересекается 1-2-3 кредита, име...

В Москве прошел финал всероссийских соревнований по спортивному программированию Программисты со всей России поборолись за 2 миллиона рублей.

Яндекс научил нейросеть находить ошибки в программном коде Функция доступна тем, кто изучает программирование в Яндекс Учебнике и Практикуме.

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

Учебно-развлекательный проект «Мобильная платформа». Управление жестами руки Учебно-развлекательный проект "Мобильная платформа", который использует управление жестами руки для управления роботом. В ней подробно рассматриваются технические аспекты сборки платформы, программирование Arduino и обработка жестов с помощью Python и библиотеки mediapipe. ...

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

[Перевод] 6. Nix в пилюлях: Наша первая деривация Медленно, но верно мы добрались до шестой пилюли, посвящённой пакетному менеджеру и чистому функциональному языку Nix.Попробуем создать нашу первую деривацию. Читать далее

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

В дисциплину «спортивного программирования» в России забыли включить само программирование Спортсменам придётся бегать и выполнять другие физические упражнения

«Вундервафля в мире накопителей энергии»: твердотельные аккумуляторы от компании TDK Источник. На Хабре почти каждый месяц публикуют материалы о новых типах аккумуляторов. Но большинство разработок так и остаются новостями — 99% новинок не становятся реальными технологиями. Часто проблема в том, что это лишь научные изыскания, где главное для автора — сам...

[Перевод] Когда Random совсем не случаен Этот пост — рассказ об истории, случившейся больше десятка лет назад; её код был мной утерян. Поэтому прошу простить меня, если я не вспомню точно все подробности. Кроме того, некоторые подробности упрощены, чтобы от этой статьи могли получить все, кому нравится компьютерная...

В японской MMORPG HIT: The World (HIT 2) будет меньше P2W-элементов Некоторые мобильные геймеры могли подумать, что японская версия HIT 2 — HIT: The World — ничего нового по сравнению с корейской версией не предложит. На самом деле изменения очень крупные, о чём и рассказал японский портал, 4gamer.net. Его автор передаёт, что релиз HIT: Th...

Когда встретился с проблемой nullptr! = NULL лицом к лицу Многие из нас частенько читают статьи о багах и лучших практиках программирования, чтобы избежать возможных ошибок. Порой, ты просто знаешь, как не нужно делать, но на практике с реальной проблемой не встречаешься. Для меня такой была тема nullptr != NULL. Изначально NULL я ...

[Перевод] Девять типов программистов в 2024 году О программисты! Костяк цифровой эры, незримые прядильщики нашей онлайн-вселенной. Боковая ветвь человекообразных приматов, связанных тесными родственными узами с Homo Sapiens. Отличаются плохой осанкой, лёгкой степенью мизантропии и способностью решить любую проблему, заглян...

Как перевести игру 'The Lamplighters League' На данном примере предлагается разобрать перевод .wem файлов аудио одного языка (англ.) на другой язык (русский) с последующей упаковкой в .wem и использования в игре. В качестве инструментов будут использоваться python, нейросети, а также программа Wwise. Из интересного — ...

Практическое руководство по Rust. 2/4 Hello world! Представляю вашему вниманию вторую часть практического руководства по Rust. Первая часть Руководство основано на Comprehensive Rust — руководстве по Rust от команды Android в Google и рассчитано на людей, которые уверенно владеют любым современным языком пр...

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

Змеиная наука: Химия в Python, часть 1 Химия, как наука, всегда требовала точности, глубокого анализа и системного подхода. С развитием вычислительных технологий открылись новые перспективы для химиков: возможность использовать программирование для моделирования, анализа данных и ускорения процессов исследований....

Студенты Яндекса выиграли международную студенческую олимпиаду по программированию Это одно из самых крупных и престижных в мире соревнований по программированию

Зачем в школах изучать Pascal, если самый популярный язык программирования в мире — JavaScript? Проблема «учим одно, а на практике требуется другое» хорошо известна. Но не слишком ли большие ожидания связаны с уроками по информатике? Или есть ожидание того, что после уроков музыки дети будут музыкантами, труда — мастерами, а рисования — художниками? Зачем вообще привяз...

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

Игровая легенда из нулевых: каким был Nokia N-Gage QD? Обзор, аппаратный ремонт и программирование под Symbian Друзья! Многие ли из вас помнят такой телефон, как Nokia N-Gage? В начале нулевых финская компания сделала смелую попытку ворваться на рынок игровых консолей, создав устройство, которое сочетало в себе сразу две функции: полноценный смартфон на базе аппаратной платформы WD...

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

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

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

Skillbox проанализировал популярные курсы в 2023 году: чему учились взрослые россияне Чаще всего жители РФ выбирали курсы по программированию и разработке, а также к психологии и иностранным языкам.

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

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

Как делать бинарно-совместимые API на компилируемых языках При разработке продукта на компилируемом языке (таком как C или Rust) рано или поздно может наступить момент, когда нужно разделить продукт на несколько компонентов, развивающихся независимо, или дать возможность расширять функциональность плагинами, разрабатываемыми отдел...

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

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

Pure.DI помогает сделать DI чистым В статье поговорим о Dependency Injection. Обсудим что такое чистый DI, коснемся DI контейнеров и их эволюции. В основной части речь пойдет о генераторе исходного кода Pure.DI и о том, как он помогает создавать приложения в парадигме чистого DI. Чита...

Сервис для распознавания дипфейков, редактор для создания 3D-игр без кода – эти и другие российские стартапы 15 новых российских проектов для обучения программированию в Telegram, редактирования видео с телефона, выдачи займов сотрудникам, обучения детей в метавселенных и многого другого. Битва за «Продукт недели» началась!Product Radar — здесь каждую неделю публикуются лучшие...

Как сделать вывод на LED дисплей за один семинар с нуля Тут пришло приглашение на семинар по освоению программирования RA8M1. Предлагалось сделать четыре лабораторных работы и бесплатный обед с кофе-брейками. В заключении за труды получить очередную плату EK-RA8M1. От такого не отказываются. Хороший повод найти применение плате...

KC868-ASR: креа-нода (креативная для креативных) Сегодня мы поговорим об ещё одном изобретении сумрачного китайского гения — устройстве под кодовым номером KC868-ASR. Судя по самоназванию «Sensor Record Extension», компания Kincony предполагает использование этого устройства в качестве беспроводного сенсора с возможность...

Практическое руководство по Rust. 3/4 Hello world! Представляю вашему вниманию третью часть практического руководства по Rust. Первая часть Вторая часть Руководство основано на Comprehensive Rust — руководстве по Rust от команды Android в Google и рассчитано на людей, которые уверенно владеют любым современ...

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

Российские IT-специалисты рассказали о раздражающих стереотипах об их профессии Онлайн-школы программирования Хекслет провела исследование в котором IT-специалисты рассказали о раздражающих стереотипах об их профессии, с результатами ознакомилась «Газета.Ru».

«Замена Chrome». Браузер Arc стал доступен для пользователей Windows 11 После нескольких месяцев бета-тестирования The Browser Company наконец выпустила официальную версию браузера Arc 1.0.1 для пользователей Windows 11, которым уже не нужно записываться в список ожидания. Arc в настоящее время поддерживает только Windows 11. Тем, кто испол...

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

Go gamedev: низкоуровневое API рисования в Ebitengine Я уже несколько лет использую игровой движок Ebitengine, но ранее у меня получалось обходиться лишь высокоуровневым способом отрисовки объектов — DrawImage. Функция DrawTriangles казалась не очень понятной человеку, который привык к концепции "есть спрайт — можно рисова...

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

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

Pet-проект “Наручные часы на светодиодах” Что стоит самому разработать электронные наручные часы. Можно ли сделать часы простыми и одновременно эффектными. Как совместить в одних часах отладочное средство для изучения программирования и полезный гаджет.Это были не вопросы, а скорее план действий по разработке наручн...

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

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

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

Алгоритм генерации столбцов (Column Generation) Генерация столбцов - подход к решению задач смешанного линейного программирования (MIP) с большим кол-вом переменных или столбцов.В статье представил теоретическую предпосылку, схему алгоритма и python реализацию подхода. В практической части рассмотрел решение двух задач: з...

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

Программист мало пишет, но много читает Здравствуйте, меня зовут Александр, я backend-разработчик. Цель данной публикации – проанализировать затраты времени при разработке приложений. Расчеты приведены на основе web приложений на языке Python. Так же не рассматривается ситуация разработки MVP для получения различн...

Безымянная логика Почти две с половиной тысячи лет назад Аристотель положил начало науке логике, сформулировав три закона: тождества, противоречия и исключенного третьего. Закон тождества (кратко А=А) гласит, что всякая мысль (назовем ее А) в процессе рассуждения должна бы...

ФП виновно в снижении стоимости программ. Вот мои доказательства, господа присяжные заседатели Среди особенностей моего подхода к разработке у моих заказчиков, коллег и студентов наибольшее сопротивление вызывает использование Spring Data JDBC, а не [Spring Data] JPA (де-факто стандарта работы с БД на платформе Java).Изначально я собирался писать пост "Почему не JPA",...

[Перевод] Интернету исполнилось 50 лет. Винт Серф: «У нас всё ещё много работы» Винт Серф, один из создателей интернета, формирует информационные технологии вот уже пятьдесят лет. Команда VK Cloud перевела его интервью, в котором он рассказывает о своей жизни, инклюзии, о перспективах развития облачных технологий, ИИ и квантовых вычислений. Читать дал...

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

Пишем простой консольный мессенджер с end-to-end шифрованием поверх «Hidden Lake» сервисов Secpy-Chat — это простой консольный мессенджер со сквозным (end-to-end) шифрованием, работающий поверх сервисов анонимной сети Hidden Lake. За счёт своей простоты его можно редактировать, либо даже полностью переписывать на более любимую технологию или язык программирования....

Использование маппера UNROM при разработке игр для Dendy на языке Си Приветствую всех любителей программирования всяческих ретро-железок. Могу предположить, что у большинства из читателей этой статьи была в детстве Dendy (а может и сейчас есть) или другой клон Famicom (клонов NES в СНГ я не встречал). Сегодня предлагаю обсудить особенности ра...

Customer Journey Expert Двести лет тому назад, когда «рыночное» предложение было значительно ниже спроса и «процветала» монополия, на целый город мог приходиться один кузнец или пекарь. Конкуренция отсутствовала. Поэтому «путь клиента» к покупке был простым, линейным и безальтернативным. Но конкуре...

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

Зачем программисту микроконтроллеров тригонометрия? (или Обзор Усилителя Звука из Apple AirTag) На 12ом году опыта программирования микроконтроллеров мне наконец-то пригодилась школьная тригонометрия (6-класс). Это настолько специфический случай, что я решил накропать про это заметку.Когда Вам надо добавить в устройство звук, то можно воспользоваться микросхемой MAX98...

Практическое руководство по Rust. 4/4 Hello world! Представляю вашему вниманию четвертую и последнюю часть практического руководства по Rust. Первая часть Вторая часть Третья часть Руководство основано на Comprehensive Rust — руководстве по Rust от команды Android в Google и рассчитано на людей, которые уве...

Старые языки программирования, новые успехи: растёт популярность COBOL и Fortran С недавних пор такие ЯП, как COBOL и Fortran, снова стали набирать «вес» в рейтингах. Собственно, они никогда и не уходили из поля зрения разработчиков, просто постепенно теряли позиции. Но сейчас ситуация изменилась. Один из них даже занял 10 место в Tiobe, поднявшись на 9 ...

ИТ-кампус НЕЙМАРК как «точка сборки» олимпиадного движения. Как и зачем? К «олимпиадникам» в ИT неоднозначное отношение: кто-то считает их теоретиками, способными решить любую сложную задачу, но не способными выпустить простейшее приложение на прод, кто-то, наоборот, хочет заполучить такого выпускника любой ценой, ведь ему под силу те алгоритмы, ...

Восемь тысяч разработчиков приняли участие во всероссийской олимпиаде по программированию True Tech Champ от МТС Победители получили денежные награды и возможность присоединиться к команде ведущей ИТ-компании в стране.

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

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

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

[Перевод] Технологии давно почившей DEC продолжают служить миру вычислений DEC VAX 8350 со снятой крышкой Эта корпорация, ставшая одним из первопроходцев в мире IT, исчезла в конце 90-х. Несмотря на то, что в сфере компьютерных технологий осталось не так много стоявших у её истоков игроков, мы по сей день продолжаем пользоваться плодами их разр...

Исследование показало, что ChatGPT даёт неверные ответы по программированию в 52 % случаев При этом солидная часть программистов не замечает ошибок в ответах чат-бота.

[Перевод] Анти-паттерны в Go Web Applications В какой-то момент моей карьеры меня перестало радовать ПО которое я разрабатывал.Больше всего мне нравилось работать с низкоуровневыми деталями и сложными алгоритмами. Но после перехода на пользовательские приложения эта часть работы почти исчезла. Теперь программирование ка...

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

16-, 8- и 4-битные форматы чисел с плавающей запятой Уже лет 50, со времён выхода первого издания «Языка программирования Си» Кернигана и Ритчи, известно, что «числа с плавающей запятой» одинарной точности имеют размер 32 бита, а числа двойной точности — 64 бита. Существуют ещё и 80-битные числа расшир...

В закладки: 50+ полезных ссылок для начинающего QA-инженера Привет, Хабр! Меня зовут Кристина. Я работаю в Яндекс Практикуме ревьюером на курсе «Инженер по тестированию», ментором тестировщиков в Мастерской программирования и руководителем соревновательных видов IT-практики (багатонов, хакатонов и кейс-чемпионатов).В этой статье я по...

Нужны ли хоть кому-то дирижабли? Смотрим патенты Мы продолжаем рассказывать о различных изобретениях. Не могли мы обойти и тему дирижаблей. Как известно, нынешнее название произошло от французского слова dirigeable, то есть «управляемый». Аналогом является воздушное судно (от английского airship).Русский язык усвоил о...

Питер Норвиг: автор лучшего в мире учебника по ИИ Питер Норвиг (Peter Norvig) — выдающийся учёный, один из отцов современной ИИ-разработки. После сингулярности ИИ точно оставит его в живых в знак благодарности. Норвиг не только хороший программист, но и теоретик программирования, учёный и преподаватель, в длинном резюме ...

3D видеокарта-«декселератор» из 90-х. Как работала S3 ViRGE «под капотом»? Друзья! Многие ли из вас застали такую легендарную видеокарту, как S3 ViRGE? Когда-то этот GPU стоял чуть ли не в каждом втором офисном компьютере: благодаря дешевизне и заявленной поддержке 3D-ускорения, эту видеокарту просто сметали с полок магазинов. Далеко не все могли...

Принят новый стандарт Fortran 2023 В конце 2023 года был принят очередной стандарт языка Фортран, ISO/IEC 1539-1:2023. Programming languages. Fortran (в просторечии – Fortran 2023). Читать дальше →

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

Практическое руководство по Rust. Бонус Hello world! Представляю вашему вниманию бонусную часть практического руководства по Rust. Первая часть Вторая часть Третья часть Четвертая часть Руководство основано на Comprehensive Rust — руководстве по Rust от команды Android в Google и рассчитано на людей, которые ...

Паттерны или химеры программирования Данная статья будет полезна для Junior / Middle Java разработчиков, которые готовятся к собеседованию или просто развиваются и хотят немного конкретики по части паттернов, и так как в данной статье я покажу 5 паттернов, с которыми мы как разработчики работаем в Java Core, с ...

О программировании спустя 2 года опыта Меня зовут Никита, я — Python бэкенд-разработчик из Surf. Месяц назад я закончил первый проект в аутсорс-компании. Признаться, он стал для меня открытием — раньше я работал только в инхаус-продуктах. Это два совершенно разных опыта с разным отношением к продукту, коду, работ...

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

Петербуржцы смогут бесплатно освоить машинное обучение и работу с Big Data ПАО «МТС» открывает Школу аналитики данных, в программе – изучение и работа с ML-моделями, Big Data, программирование на Python.

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

CEO Nvidia: для создания независимой электронной отрасли США понадобится около 20 лет На конференции DealBook New York Times генеральный директор Nvidia Corp. Дженсен Хуанг заявил, что США, вероятно, понадобится пара десятков лет для того, чтобы стать независимыми в поддержании собственной цепочки производства и поставок чипов. Руководитель Nvidia затронул...

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

Авторизация и управление доступом на основе ролей для фронтенда В этом модуле проекта мы погрузимся в волнующий мир авторизации и управления доступом во фронтенд-разработке. Сегодня я поделюсь с вами моим опытом работы с технологиями Vue 3, Pinia для глобального управления состоянием и TypeScript. Однако, стоит отметить, что основные при...

Книга: «Рецепты Python. Коллекция лучших техник программирования» Привет, Хаброжители! В «Рецептах Python» используется простой, но эффективный метод освоения 63-х базовых навыков программирования на Python. Сначала формулируется вопрос, например «Как найти элементы в последовательности?» Затем приводится базовое решение на чистом понятн...

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

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

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

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

Лексикографический симлекс-метод Лексикографический симлекс-метод.Решение задачи линейного программирование симлекс-методом и лексикографическим симлекс-методом на Python! Читать далее

Две новых книги по Python от американского и российского авторов с промокодом Привет, Хабр!  Мы с почином — в блоге SSP SOFT стартует новая рубрика с анонсами выхода книг по программированию и операционным системам от издательства «БХВ-Петербург». Узнав об этой инициативе, издатель подарил всем читателям Хабра специальную скидку по промокоду, кот...

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

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

Intel Core Ultra 7 155H уступил Ryzen 7 7840HS по производительности процессора Intel Core Ultra 7 155H доминирует в графике, но уступает в производительности CPU и времени работы от батареи.

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

[Перевод] Rust и асинхронные функции: не надо менять future В начале 2010-х годов в программировании появился новый подход к реализации параллелизма с использованием абстракций future и promise, а также синтаксического приёма async/await. Эти технологии облегчили работу с асинхронным кодом, но вызвали ожесточённые споры среди разрабо...

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

Dedoc: как автоматически извлечь из текстового документа всё и даже немного больше Привет, Хабр! Мы команда разработчиков Института Системного Программирования РАН, занимаемся Computer Vision в обработке электронных документов. Мы разработали open-source библиотеку dedoc, которая помогает разработчикам и дата-сайентистам в пару строк кода читать разли...

Сбер объявил начало второго этапа ИТ-конкурса «Цифровой марафон» Россияне смогут принять участие в ИТ-конкурсе «Цифровой марафон» вне зависимости от уровня навыков программирования

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

Изобретательство и патентная активность в годы Великой Отечественной Войны 5 марта 1941 г. Постановлением СНК СССР было утверждено Положение «Об изобретениях и технических усовершенствованиях и о порядке финансирования затрат по изобретательству, техническим усовершенствованиям и рационализаторским предложениям». Вторая мировая война уже шла вовсю;...

Действительно ли C++ — лучший язык, чтобы выстрелить себе в ногу? В 2023 году одной из главных IT-новостей стала публикация гайда от Агентства национальной безопасности (NSA) США, в котором языки С/C+ признавались «опасными» и требующими перехода на «безопасные» C#, Go, Java, Ruby и Swift. В этой статье я с позиции Security Champion в Ka...

Hyosung TNC представил новую парадигму благодаря производству экологичного БДО Hyosung TNC делает значительные шаги на пути к устойчивому будущему, уделяя особое внимание производству экологичного БДО из биосырья. Бутандиол (БДО) играет решающую роль в качестве химического материала не только в производстве волокон спандекса, таких как ПТМЭГ, но и в ра...

ИТ с пеленок. 6 игр, которые познакомят детей с программированием Если ты влюблен в программирование, перетащить своего ребенка «на эту сторону» тоже однажды захочется. Годовасику про JSON рассказывать, конечно, рано (хотя за колыбельную прокатит), а вот с детьми 4+ уже можно прикоснуться к основам. Помогут в этом специальные игры для дете...

IT-2024: AI не решает — решают люди Году в 2010-м я читал журнал с интервью одного из тогдашних топов диджитал-сферы и мне запомнилась фраза про то, что тот, кто может спрогнозировать ситуацию в отрасли на пять лет вперёд, тот идиот или мошенник. В наше время горизонт планирования сократился чуть ли не до квар...

Samsung анонсировала свой генеративный искусственный интеллект Gauss На форуме Samsung AI Forum 2023 была представлена генеративная модель Samsung Gauss. Она включает три модуля для облегчения языковых задач, программирования и обработки изображений.

GigaChat Pro. Технические детали, сдача ЕГЭ и сравнение с конкурентами С момента запуска GigaChat прошло около полугода, и за это время у нас появилось более полутора миллионов пользователей. Они активно используют нейросетевые технологии как в работе, так и для развлечения. От пользователей поступают разнообразные запросы: от просьбы сделать к...

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

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

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

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

О развитии навыка говорения «Гло́кая ку́здра ште́ко будлану́ла бо́кра и курдя́чит бокрёнка». Эту фразу из несуществующих слов предложил в начале XX века академик Л.В. Щерба. Из неё ясно, что "будлану́ла" — действие, которое ку́здра (ж.р.) совершила в отношении бо́кра (м.р.); бокрёнок, скорее всего, дет...

Завершился турнир по программированию среди студентов Codemasters Code Cup Мероприятие объединило 370 молодых программистов, а в финал Всероссийского турнира по программированию среди студентов Codemasters Code Cup 2023 вышло 16 лучших программистов, победителей онлайн-этапа чемпионата в треках “Спортивное программирование” и “Разработка бизнес-при...

Настройка C++ проекта c OpenMP. Обертывание С++ для Python с помощью pybind11 и CMake В статье описан практический пример настройки проекта на языке C++ с использованием, в качестве примера, библиотеки для многопоточных вычислений OpenMP , а также дальнейшее обёртывание для использования в проектах написанных на Python при помощи библиотеки Pybind11. В качест...

История 16-летнего подростка взломавшего ЦРУ Подросток перехитривший правительство США. Эта история может показаться началом сюжета вымышленной истории о супергерое. Итак, как же у 16-летнего подростка получилось взломть ЦРУ. Новая звезда в мире хакерства Пока большинство детей его возраста играли в футбол, Мустафа...

concurrent.futures в Python Привет, Хабр! Сегодня мы взглянем на одну из самых интересных библиотек в Python для работы с параллельным выполнением задач - concurrent.futures.Каждый разработчик сталкивается с ситуациями, когда необходимо выполнять задачи параллельно. Это может быть I/O-операции, которые...

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

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

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

Помощник Amazon Q позволяет создавать приложения ИИ без знаний программирования Новый ИИ-помощник Amazon Q помогает создавать генеративные приложения с поддержкой искусственного интеллекта на основе данных компании. Также Amazon выпустила помощников Business и Developer.

[Перевод] От теории к практике: создаём веб-приложение для решения задачи коммивояжёра В таких сферах, как исследование операций (Operations Research) и наука о данных (Data Science) чрезвычайно актуально сближение теории и её практического применения в виде программных проектов. Теоретические выкладки формируют базу программ для оптим...

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

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

Методы хэширования паролей. Долгий путь после bcrypt Шифровальная машина M-209, на основе которой создана первая в истории функция хэширования crypt в Unix Прошло 25 лет с момента изобретения алгоритма хэширования bcrypt (1997), но он до сих пор считается одним из самых стойких к брутфорсу хэшей. Вот уже несколько десятилет...

Как я стал iOS разработчиком О чем пойдет речь В данной статье я хочу рассказать вам как я стал iOS разработчиком в 32 года не имея профильного образования, не оканчивая курсы, без знания английского языка и без друзей/знакомых в сфере IT.Понеслась.Первые мысли об...

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

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

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

Смогут ли разработчики конкурировать с нейросетями: оцениваем возможности AI и человека Привет, Хабр! Меня зовут Александр Демидов, я директор по разработке департамента управления технологиями МТС. Сегодня поговорим про использование в программировании нейросетей, включая ChatGPT и конкуренцию нейросетей и программистов.Всё чаще слышны разговоры, что вот-вот к...

Представлен Tecno Camon 30 Premier — уникальный камерофон с чипом для обработки фото и видео, который имеет производительность 4,6 TFLOPS Компания Tecno представила смартфон Camon 30 Premier, который выделяется наличием необычного выделенного чипа для обработки фото и видео.  Tecno уже рассказывала о нём. Это чип Tecno PolarAce на основе Sony CXD5622GG, имеющий производительность в 4,6 TFLOPS, хотя ...

Студенты из Петербурга заняли третье место на всероссийской олимпиаде по программированию ПАО «МТС» сообщает о награждении победителей и призеров всероссийской ИТ-олимпиады True Tech Champ. Два студента из Петербурга заняли третье место, решив задачи по алгоритмическому программированию.

Бег, наклоны и скорость печати на клавиатуре: опубликованы российские стандарты спортивного программирования В январе 2024 года в России вступил в силу новый федеральный стандарт подготовки по спортивному программированию.

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

Программирование и ИТ во мгле, но это не точно Приветствую хабравчане!В данной статье хочу поделиться проблемами в ИТ. Высказать об этом своё мнение. Обсудить в комментариях, всё ли так плохо на самом деле и каков выход из данной ситуации. Цель статьи больше развлекательная и не требует поиска глубинного смысла. Давай, ...

Бывший топ-менеджер Microsoft посоветовал купить PlayStation 5 Бывший топ-менеджер Microsoft порекомендовал геймерам приобретать PlayStation 5, чем вызвал негодование многих игроков. Лоуренс Гриб, также известный под своим тегом игрока Xbox Live «Майор Нельсон», является бывшим директором по программированию игровой сети Microsoft Xbox…

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

Пишем key-value storage на пакетах ping'а или храним данные между облаками Как-то давно я просматривал опции для команды ping и обратил внимание, что можно задавать размер ICMP пакета. "Хм", — подумал я: "Можно же сложить в сам пакет какую-то полезную нагрузку". Эта идея время от времени всплывала у меня в голове, но что именно...

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

Что вы знаете о символьном программировании? Кликбейтный заголовок, риторический вопрос и обещание раскрыть тайну! Не самый лучший набор, но нормального названия для статьи мне в голову не пришло. Что же здесь все таки будет? Речь пойдет о реализации символьного программирования в Wolfram Language (WL). Я не буду расск...

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

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

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

Сказ о том, как я эмулятор Intel 4004 на Python писал Рассказываю о том, как я решил написать эмулятор дедушки современных микропроцессоров - Intel 4004 с очень ограниченным функционалом на языке Python.. Читать далее

Отказоустойчивая архитектура: почему Tarantool не падает? Основная проблема в высоконагруженных приложениях — отказоустойчивость. Нагрузка с упавших узлов в кластере должна переключаться на живые. Это кажется несложной задачей, но на практике появляется много подводных камней. Мы с yngvar_antonsson потратили много времени на подд...

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

TokenFi запустила инструмент для создания токенов стандарта ERC20 Платформа для токенизации активов TokenFi представила инструмент, который позволит любому желающему запустить собственный цифровой актив за несколько кликов, не требуя знаний в области программирования

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

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

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

[Перевод] Насколько потолстел JavaScript к 2024 году? Я немного отстал от современных тенденций фронтенд-разработки. Помню, были статьи на тему раздутия веб-среды, в которых писали, что средний размер страницы начал достигать нескольких мегабайтов! И всё это время я жил с мыслью, что если средний размер страницы равен, скаже...

Повторяем Bad aplle на языке Python ASCII-графикой Повторяем Bad Apple в Python ASCII-графикойДоброго времени суток, уважаемые читатели хабра, в этой статье я расскажу Вам о том, как я повторил клип Bad Apple ASCII-графикой Читать далее

[Перевод] Чем на самом деле занимается Chief Technical Officer? В 2017 году я впервые почувствовал себя в роли CTO (Chief Technical Officer, технический директор). Я присоединился к маленькому стартапу в роли разработчика‑сеньора, и не успел опомниться, как оказалось, что я держу в руках бразды пра...

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

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

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

Кому и зачем нужны разработчики мобильных приложений в 1С Платформа 1C:Enterprise — самый простой способ перейти в сферу мобильной разработки. Научиться писать приложения на 1С проще, чем освоить Swift, Java или Kotlin. Обучение займёт всего пару месяцев. При этом специалист с такими знаниями всегда будет востребован на рынке благо...

Китай начинает и выигрывает? Huawei и SMIC запатентовали собственный 3-нм техпроцесс У КНР, в целом, всё неплохо с индустрией разработки и производства электронных чипов. Если бы не одно «но»: большинство компаний из Поднебесной, которые этим занимаются, находятся под санкциями. Так что они не могут официально получать системы для производства чипов. И чем д...

Крутейший КПК из конца 90-х — каким был Casio Cassiopeia E-105? Не так уж много людей помнят о такой аббревиатуре, как КПК. Карманные персональные компьютеры появились ещё в прошлом веке и стали незаменимыми помощниками в руках бизнесменов и крутыми девайсами в руках гиков. Ух, если сейчас вспомнить, то на ум приходят как минимум нескол...

KC868-A8M: 8x8, GSM, RTC и прочие плюшки (плюс CAN для любителей) В семействе «лёгких» контроллеров конфигурации «8 входов на 8 выходов» прибыло: Kincony смастерила новую, современную модификацию с поддержкой 2G/4G GSM и часов реального времени (про Wi-Fi, LAN, RS485 даже не упоминаю — это уже стало стандартом), а также добавила для люби...

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

Олимпиада по программированию на Java для студентов Компания Oracle совместно с организацией It-планета приглашает студентов ВУЗов и колледжей принять участие в международной олимпиаде по программированию на Java — Oracle Java Olympic. Соревнования проходят в Украине, России, Беларуси и Казахстане и состоят из трех этапов. ...

Современные процессоры Intel запретили продавать в Германии. Компания проиграла патентный спор, касавшийся некоторых линеек CPU Компания Intel проиграла патентный спор в Германии. Из-за этого теперь там запрещены продажи некоторых процессоров компании.  DALL-E Региональный суд в Дюссельдорфе постановил, что Intel нарушила патент компании R2 Semiconductor, который касается технологии регули...

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

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

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

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

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

Hashicorp Vault — собираем непрямую репликацию через ведро Hashicorp Vault - прекрасный продукт для централизованного хранения всех паролей и других секретов компании. При этом, многие знают, что удобная ключница - это идеальный способ потерять все ключи одновременно. Когда я работал в крупном телекоме, то DRP-протоколы с восстановл...

Больше ОЗУ для одноплатников: Orange Pi 5, 5B и 5 Plus получили сразу 32 ГБ оперативки. Что это за девайсы? SoC Rockchip RK3588 всем хорош, кроме того, он поддерживает объем оперативной памяти вплоть до 32 ГБ. К сожалению, немногие компании, которые выпускают устройства на базе этого чипа, представляют 32 ГБ версии своих устройств. Но Orange Pi как раз из тех производителей, кто...

От HTTP к RCE. Как оставить бекдор в IIS Всем добрый день! Меня зовут Михаил Жмайло, я пентестер в команде CICADA8 Центра инноваций МТС.На проектах часто встречаются инстансы Internet Information Services (IIS). Это очень удобный инструмент, используемый в качестве сервера приложений. Но знаете ли вы, что даже прос...

[recovery mode] TarantoolScript: статическая типизация в Lua-скриптах Tarantool Если вам когда-нибудь доводилось писать скрипты для Тарантула, то вы наверняка сможете понять мою боль. Тарантул - удивительный инструмент, который позволяет не только хранить относительно большие объёмы данных и обеспечивать поразительно быстрое выполнение операций CRUD над...

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

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

Рынок труда и перспективы карьеры в Data Science в 2024 году На связи команда курсов Data Science OTUS. В данной статье Product Manager Мария Кузьмина собрала аналитические выкладки c hh, бизнес-секреты от Tinkoff и комментарии профессионалов о том, что они думают о специфике рынка труда в Data Sciencе/ML, а также какой стек нужен для...

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

[recovery mode] Налоги для программистов в Испании Многие пишут, как хорошо работать на солнечном пляжу практически в неглижу, но никто не раскрыл важный вопрос: а сколько же налогов платит предприниматель в Испании? Я - предприниматель, живу в Испании с 1998 года, стаж работы предпринимателем более 20 лет. Занимался разными...

Make Habr Hard Again: «железная» номинация «Технотекста» Новый «Технотекст» стартовал в конце прошлого года. Посмотрев список номинаций, некоторые авторы-инженеры YADRO, которые занимаются разработкой и программированием серверов, СХД, микроэлектроники, не поняли, какую из них выбрать. Раньше же была отдельная «железная» номинация...

35+ бесплатных ресурсов для начинающих разработчиков С++ Привет. Предположим, вы захотели начать изучать языĸ программирования C++ или, возможно, тех материалов, что уже изучили, вам недостаточно.Я — Савва, программирую уже больше 7 лет, работаю менеджером команды наставников в Практикуме на курсе «Разрабо...

[Перевод] Rust 1.75.0: API адресной арифметики, async fn и impl Trait в трейтах, уcкорение rustc Команда Rust рада сообщить о новой версии языка — 1.75.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение. Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.75.0 ва...

Курс «PostgreSQL для начинающих»: #1 — Основы SQL Этим постом я запускаю публикацию расширенных транскриптов лекционного курса "PostgreSQL для начинающих", подготовленного мной в рамках "Школы backend-разработчика" в "Тензоре".В программе: рассказ об основах SQL, возможностях простых и сложных SELECT, анализ производительно...

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

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

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

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

Пишем программу на Python для доступа к YandexGPT с помощью ChatGPT В данной программе можно будет самостоятельно составлять собственные system massage (в программе это называется «Специализация»), а это по сути своей программирование GPT модели естественны языком, так же можно будет изменять temperature (в программе это названо «Креативнос...

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

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

Как на самом деле Async/Await работают в C#. Уроки по асинхронному программированию из первой половины работы Несмотря на то, что с предыдущей статьей-переводом мы выяснили что перевод уже есть на Хабре я рискну продолжить анализ этой работы.Теперь это НЕ перевод. Это моя интерпретация тех частей содержания первой половины Поста: Как на самом деле Async/Await работают в C#, которые ...

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

Сетевой мультитул для ИТ и ИБ специалистов: zero-skill создание Telegram чат-бота с помощью ChatGPT Привет, Хабр! Меня зовут Руслан, я – инженер по сетевой и информационной безопасности в компании-интеграторе STEP LOGIC. Решаю различные задачи, связанные с настройкой и поддержкой сетевого оборудования в компьютерных сетях, работаю над проектами, требующими планировани...

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

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