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

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

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

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

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

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

Алгоритм деления 2W-разрядных чисел с использованием операций с числами разрядностью W На примере 32-битных целых чисел рассматривается масштабируемый алгоритм деления, использующий числа с двукратно меньшей (16 бит) разрядностью. Для иллюстрации работоспособности алгоритма приведен код тестового приложения на языке С++. Читать далее

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

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

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

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

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

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

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

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

[Перевод] Отсечение и поиск / Prune and search Решал задачу на LeetCode (Word Search) и наткнулся на незнакомый мне термин "search pruning", либо "Prune and search". Немного погуглив, узнал, что это метод решения задач оптимизации, на Википедии есть соответствующая статья (ссылка). На русском языке я не нашел такого терм...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Китайский квантовый компьютер решил задачу в миллиарды раз быстрее суперкомпьютера Разработанный в Китае квантовый компьютер, известный как JiuZhang 3, совершил удивительный подвиг, решив сложнейшую математическую задачу всего за одну миллионную долю секунды. Это достижение более чем на 20 млрд лет быстрее, чем ту же задачу смог решить самый быстрый в мире...

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

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

Подключаем умный поиск (GPT) к своей базе документов Есть отечественный файрвол (NGFW) и есть документация для пользователей powered by GitBook. В этой документации работает простой поиск — только по словам и словосочетаниям. И это плохо, потому что нет ответов на вопросы: "Какие алгоритмы шифрования ipsec поддерживаются у вас...

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

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

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

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

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

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

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

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

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

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

Обзор Simulator — платформы для обучения инженеров безопасности Kubernetes с помощью CTF-сценариев Ранее мы делали обзор инструментов для оценки безопасности кластера Kubernetes. Но что, если нам нужно обучить инженеров основам безопасности Kubernetes на реальных примерах и автоматизировать этот процесс? Недавно компания ControlPlane, специализирующаяся на Cloud Native-ре...

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

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

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

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

Практическое руководство по созданию Helm чарта или как избавиться от рутины при работе с YAML манифестами Бывало ли у вас такое, что вы совершали одни и те же действия из раза в раз и наконец-то решили избавиться от всей этой рутины? Но вы решили отложить это решение на некоторое время, в частности из-за занятости или лени. Но вот вы решаете взять себя в руки и всё изменить! Так...

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

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

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

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

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

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

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

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

Privacy Manifest: что нужно о нём знать для внедрения в проект На работе я столкнулся с задачей внедрения Privacy Manifest в проект. Изучение вопроса началось с прочтения документации Apple, а продолжилось просмотром WWDC-сессии на тему конфиденциальности. После внедрения оказалось, что для корректной работы над задачей нужно изучить бо...

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

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

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

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

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

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

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

Голосовое управление умным домом — без интернета. История разработки особенности Станции Миди Недавно мы представили нашу новую умную колонку — Яндекс Станцию Миди. Она больше, чем Лайт или Мини, поэтому в ней уместились вуфер и два высокочастотных динамика с суммарной мощностью звука 24 Вт. Но при этом она легче и компактнее, чем Станция 2 или Макс. Кроме того, в Ми...

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

Эволюция обработки данных: от MapReduce к стриминговому движку Yandex Query Language (YQL) — универсальный декларативный язык запросов к системам хранения и обработки данных, разработанный в Яндексе. А ещё это один из самых нагруженных сервисов: YQL ежедневно обрабатывает около 800 петабайт данных и 600 000 SQL-запросов, и эти показател...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как оптимизировать код на С для x86-процессоров: подсистема кэша и памяти, инструкции AVX-512 Меня зовут Андрей Бакшаев, я ведущий инженер-программист в YADRO. Моя команда занимается разработкой и оптимизацией математических библиотек под архитектуру x86. До этого я 15 лет работал в Intel. Значительная часть моих задач заключалась в том, чтобы реализовывать некоторые...

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

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

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

LLaMA 2, RWKV, Santacoder и другие LLM на iOS Однажды я решил изучить язык Swift и разработать свое первое приложение для iOS. Для этого я решил создать реальный проект, который заключался в оптимизации нашумевшего LLaMA.cpp под iOS. Я поставил перед собой задачу обеспечить запуск 3B и 7B моделей на&...

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

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

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

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

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

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

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

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

Стрела времени, демон Лошмидта и квантовая термодинамика. Почему время необратимо? Когда всё вокруг стремится к хаосу и жизнь с каждым днём становится только хуже, невольно возникает желание обратить время вспять. Но почему-то реальность всячески противится попыткам развернуть стрелу времени на 180°. Что же заставляет время идти только вперёд и не даёт пов...

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

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

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

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

Как разработчику использовать ChatGPT: разберемся, когда нейросеть помогает, а когда вредит Может показаться, что ChatGPT работает непредсказуемо: то уверенно пишет документацию к коду, то не может решить школьную задачу по математике. Самое опасное, что во втором случае нейросеть умеет ввести в заблуждение. Чтобы понимать, какие задачи можно доверить чат-боту Chat...

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

О, вы из Англии? Локализация Ozon Seller на iOS Всем привет! Меня зовут Андрей, и я делаю iOS-приложение для продавцов Ozon Seller. Наша команда поставляет фичи, красит кнопки, работает над перформансом и  всячески улучшает пользовательский опыт работы продавцов на Ozon.Нашим приложением активно пользуются юзеры из р...

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

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

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

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

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

ClearML Data Management Очевидный для ML-инженера факт: если на вход модели подать мусор — на выходе тоже будет мусор. Это правило действует всегда, независимо от того, насколько у нас крутая модель. Поэтому важно понимать, как ваши данные будут храниться, использоваться, версионироваться и воспро...

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

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

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

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

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

[Перевод] Оценка заявки в YC на примере CommandBar Мы успешно попали в батч S20 акселератора Y Combinator с проектом CommandBar, хотя сами в то время продолжали работать над другим стартапом под названием CodePost. Нам одинаково нравились оба проекта и мы решили пусть YC определит какой проект лучше. "Если проект попал в YC,...

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

Тестируем AI на создании прикладного приложения Всем привет, я Григорий Тумаков, CTO в Моризо Диджитал.Недавно рассказал на Хабре, как мы в компании “потрогали” нейросети для прикладных задач разработки. Но там никаких серьезных выводов сделать не удалось.Поэтому решил на этом не останавливаться. Если есть инструменты — и...

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

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

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

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

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

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

[Перевод] Исследователи с DESI составили самую большую трёхмерную карту нашей Вселенной С помощью 5 000 крошечных роботов в телескопе, расположенном на вершине горы, исследователи могут заглянуть на 11 миллиардов лет в прошлое. Свет от далёких космических объектов только сейчас достигает спектроскопического прибора Dark Energy Spectroscopic Instrument (DESI), п...

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

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

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

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

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

Во времена Windows 98 у Microsoft была USB-тележка смерти для тестирования ОС на прочность У компании Microsoft в своё время в лаборатории была USB-тележка смерти для тестирования Windows на прочность.  создано DALL-E Программист Дэйв Пламмер (Dave Plummer), известный в том числе тем, что в своё время он принимал активное участие в работе по созданию ди...

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

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

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

[Перевод] Введение в оптику в Scala На протяжении всего этого блога я неоднократно упоминал о преимуществах сильной системы типов. Я рассказывал об уточнении типов (type refinement) для проверки значений, о рассчитанном на новичков и продвинутом подходе к выведению классов типов (type-class derivation) или о т...

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

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

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

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

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

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

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

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

По локоть в легаси: пошагово перезапускаем устаревший портал на PHP PHP — один из самых популярных языков веб-разработки уже около 20 лет, а самому языку скоро стукнет 30. За это время на нем написали огромное количество больших и маленьких проектов. Некоторые сайты, созданные в 90-ых, 00-ых и 10-ых, хранят код еще с тех давних времен. И чем...

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

«Пора ли гнать на мороз Computer Vision — scientist'ов ?» (Fondation Models и вокруг) Прошлый год в Computer Vision запомнился тем, что появилось множество больших претрейненных сетей (Fondation Models). Самая известная - GPT4v (ChatGPT с обработкой изображений).В статье я попробую простым языком объяснить что это такое (для тех кто пропустил), как меняет инд...

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

Разработка и тестирование целочисленного сумматора с AXI-Stream интерфейсами Часть 4 В предыдущей части был рассмотрен основной подход, применяемым для тестирования сложных цифровых устройств - constraint random testing. Мы узнали, как автоматизировать проверку корректности работы устройства с помощью сравнения его выходов с эталонной моделью. Тестовые окру...

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

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

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

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

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

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

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

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

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

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

Нормализация событий информационной безопасности и как ее можно выполнять с помощью языка eXtraction and Processing Всем привет! На связи Михаил Максимов, я — ведущий эксперт департамента развития технологий в R&D Positive Technologies. За плечами у меня многолетний опыт по развитию экспертизы в нашей системе MaxPatrol SIEM и процессов вокруг нее. И сегодня я хочу поговорить про один ...

[Перевод] «Уэбб» разглядел, как в ранней Вселенной зарождается галактика, похожая на Млечный Путь Гигантские галактики, которые мы видим сегодня во Вселенной, включая нашу собственную галактику Млечный Путь, в молодости были гораздо меньше. Слияния, происходившие на протяжении 13,7 миллиарда лет существования Вселенной, постепенно составили сегодняшние массивные галактик...

[Перевод] Как реагировать на то, что вы не единственный (работодатель)? Когда в начале пандемии мир внезапно был вынужден работать из дома, это глубоко потрясло многих руководителей. Я постоянно учусь руководству и был лидером более сорока лет, в том числе работал вице-президентом отдела HR в Microsoft. Момент возникновения необходимости работ...

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

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

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

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

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

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

Многорукие бандиты в задаче ритейла В настоящее время набирают популярность модели Reinforcement Learning для решения прикладных задач бизнеса. В этой статье мы рассмотрим подмножество этих моделей, а именно многоруких бандитов (multi-armed bandits). Также мы:- обсудим, какие задачи теоретически могут быт...

Зимняя школа по RISC-V — актуальные знания по перспективной открытой архитектуре от экспертов С 2 по 8 февраля пройдет Зимняя школа «Программирование для RISC-V» — недельный интенсив от YADRO и ННГУ им. Н.И. Лобачевского. Программа состоит из двух частей: онлайн-лектория и очной проектной работы.На бесплатных онлайн-лекциях все желающие познакомятся с основами разраб...

Основы тестирования в Go: mock-объекты, fuzzing и property-based testing Привет, Хабр!Golang как ЯП очень хорош для разработки высокопроизводительных приложений. В любом проекте наступает момент, когда нужно проверить, насколько хорошо все работает на самом деле, это можно сделать с помощью тестирования.Тестирование в Go можно выполнять с помощью...

Reflection в iOS: как посмотреть содержимое любой сущности В Swift, как и во многих других языках программирования, есть возможность получать информацию о структуре объекта в Runtime. Для этого в языке есть специальный механизм — Reflection. С его помощью можно просматривать содержимое любых сущностей, не зная о них абсолютно ничего...

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

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

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

«Разгоняем» HashSet, HashMap и циклы на примере Dart Если вы занимались профилированием своего приложения, то, глядя на CPU Flame Chart, вероятно, испытывали смесь досады и азарта, глядя на особо «жирный» метод. Досады – что ваша программа всё ещё не идеальна по скорости. Азарт – от того, что вы можете докопаться до причины пр...

Ученые нашли следы утерянного языка возрастом 3 000 лет В Турции найдена табличка с надписями на давно забытом языке На планете Земля сегодня насчитывается более 8 миллиардов человек, относящихся к тысячам разных народов. При всем этом многообразии, в мире не существует единого способа общения — каждый из нас разговаривает на одн...

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

Выдержит ли проверку временем Twisted Metal 2? Если спросить у увлечённых геймеров, какие они знают самые культовые гонки на выживание прошлого, то большинство назовёт Carmageddon, Vigilante 8 (самые олдфажные – Quarantine) и, конечно же, Twisted Metal. И если про первую я уже писал обзор, то про оставшиеся три – лишь пр...

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

Как мы в 2 раза ускорили решение MILP-проблем за счет ML Многие задачи, с которыми мы имеем дело при цифровизации производства (неважно какого), – это задачи оптимизации: оптимизация производственного расписания, оптимизация цепочек поставок и размещения объектов, оптимизационное планирование и прочее. Многие из них сводятся к про...

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

[Перевод] Как я перестал бояться и полюбил Vim Я работаю программистом уже почти десять лет. И, как и для каждого, кто посвящает работе до 2/3 суток, удобный инструментарий имеет для меня огромное значение. Сегодня я хочу как следует порефлексировать, поэтому статья выйдет слегка необычной. Сразу же хочу дать дисклеймер:...

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

«Авито», «Домклик», «Циан» и Яндекс проверили на устойчивость к фейковыми объявлениями о недвижимости Роскачество провело проверку приложений поиска и аренды недвижимости, выяснив, насколько хорошо модераторы распознают ложные объявления в приложениях и пропускают ли их.  Иллюстрация: Роскачество В ходе проверки эксперты Центра цифровой экспертизы Роскчаства созда...

Улучшаем пунктуатор на стенограммах Привет, Хабр! Сегодня я расскажу о том, как натренировать качественный русскоязычный пунктуатор и капитализатор для стенограмм (то есть, модель, превращающую только что распознанный Speech-to-Text’ом “привет хабр” в литературный “Привет, Хабр!”). Задача эта давно известная и...

[Перевод] Популярные конфигурационные опции для работы с git Привет! Я всегда мечтала, чтобы в инструментах для работы с командной строкой заранее сообщалось, насколько популярны те или иные конфигурационные опции, предусмотренные в них, например:o    «В принципе, никто этим не пользуется»o    «Этой опцие...

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

Трансформером по A*, или как уменьшить число итераций самого известного алгоритма поиска пути Привет! Меня зовут Константин Яковлев, я научный работник и вот уже более 15 лет я занимаюсь методами планирования траектории. Часто эта задача сводится к поиску пути на графе, для чего обычно используется алгоритм эвристического поиска A*. Этот алгоритм был предложен в 60-х...

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

Любите гольф или хотите научиться играть в него. Собрали лучшие игры для Android в этом жанре Гольф — один из самых популярных летних видов спорта. Вы берете клюшки, отправляетесь на поле и получаете удовольствие. Чтобы скоротать время в дождливые дни, существуют игры в гольф на мобильных устройствах. Это не так хорошо, ка киграть в настоящий гольф, и мы не ст...

[Перевод] Баг памяти Windows, которому не менее восьми лет Память — достаточно дефицитный ресурс для многих компьютеров потребительского уровня, поэтому логично создать функцию, ограничивающую объём используемой процессом памяти; и Microsoft действительно реализовала такую функцию. Однако:Компания её не задокументировала (!)Её реали...

[Перевод] Размер пул-реквеста имеет значение Иногда бывает так, что вы отправляете на проверку пул-реквест, который оказался существенно больше, чем вы ожидали. И у вас возникает вопрос:«Какого же размера он должен быть? Бывает ли идеальный размер? Если бы теоретически можно было полностью его контролировать, то наскол...

5 приложений для очистки памяти вашего смартфона С каждым годом мобильные устройства становятся всё умнее — в них добавляют продвинутые алгоритмы искусственного интеллекта, топовые чипсеты с быстрой памятью и испарительной камерой для 120 FPS гейминга и даже объём встроенной памяти в 256 ГБ стал стандартом даже для iPhone....

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

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

[Перевод] Xv6 Глава 1: Интерфейсы операционной системы Эта книга рассказывает о принципах работы операционных систем на примере xv6. Операционная система xv6 реализует базовый интерфейс, который Кен Томпсон и Деннис Ритчи предложили в операционной системе Unix, и подражает внутреннему устройству Unix. Комбинации простейших механ...

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

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

Гений 21 века. Чем сейчас занимается Фабрис Беллар Некоторые программисты настолько хорошо известны, что не нуждаются в особом представлении. Наверное, Фабрис Беллар — самая яркая звезда современности. Автор мультимедийного комбайна FFmpeg, эмулятора QEMU и десятков других полезных программ — абсолютный гений и пример програ...

Обучение модели токсификации текстов с помощью TorchTune, подробное руководство Приветствую, хабровчане!Сегодня пятница, поэтому предлагаю немного пошалить и поговорить о слегка необычном, но весьма забавном проекте обучения нейросетевой модели на базе LLaMA2 7B, которая умеет превращать невинные предложения на русском языке в чуть более "токсичные" их ...

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

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

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

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

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

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

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

Microsoft верит, что ноутбуки с SoC Snapdragon X Elite превзойдут MacBook Air на SoC M3 Уже в ближайшие месяцы на рынок выйдут первые ноутбуки с Windows и SoC Snapdragon X Elite/Plus. Microsoft считает, что такие ПК превзойдут ноутбуки Apple на основе SoC M3.   В данном случае имеется в виду преимущество по классической производительности, а также по...

Может ли Orange Pi 5 стать ПК? Привет, Habr! В последнее время на Хабре публикуется много статей про одноплатные компьютеры, характеристики которых не уступают классическим ПК. Мне пригляделся Orange Pi 5 16 GB со слотом M.2. Слот M.2 позволяет поставить очень быстрый SSD диск, а 16 GB памяти должно хвати...

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

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

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

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

SPARK для «малышей» Примеры кода на Python для работы с Apache Spark для «самых маленьких» (и немного «картинок»).Данная статья представляет собой обзор основных функций Apache Spark и рассматривает способы их применения в реальных задачах обработки данных. Apache Spark — это мощная и гибкая си...

Как мы разгрузили руководителей проектов и освободили время для «профильных» задач Руководители IT-проектов (РП) на рынке труда в остром дефиците: по данным hh.ru на 1 вакансию приходится 1,9 резюме. Поэтому часто в компаниях один РП ведет по 5-6 проектов. При такой загрузке успеть все и сохранить качество практически невозможно.Решить проблему с загрузкой...

Создание генетического алгоритма для нейросети и нейроcети для графических игр с помощью Python и NumPy Привет, Хабр!Сегодня я расскажу и покажу, как сделать Genetic Algorithm(GA) для нейросети, чтобы с помощью него она смогла проходить разные игры. Я его испробовал на игре Pong и Flappy bird. Он себя показал очень хорошо. Совет прочитать, если вы не читали первую статью: "Соз...

1000 и 1 способ инициализации типов в C# 12.0 Среди нововведений C# 12 было достаточно больше количество по-настоящему качественных и крутых фич (например дефолтные параметры лямбд). Но речь сегодня пойдет о ложке дёгтя в бочке мёда - Primary Constructors.Вот казалось бы, как здесь можно было напортачить? Идея взята пря...

Как пытались (пере)программировать мозги, и что из этого получилось? Часть 2: злой гений Сидни Готтлиб В начале 50-х годов ЦРУ в рамках проекта «Артишок» активно занималось экспериментами в области того, что в шпионских романах и фильмах обычно называют «сыворотками правды»: как с помощью химических веществ заставить допрашиваемого или расспрашиваемого стать более откровенны...

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

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

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

«Я никогда не воспринимал её как MMO»: сотрудник Fntastic рассказал о разработке The Day Before После официального объявления о закрытии студии Fntastic издание DualShockers смогло связаться с одним из её сотрудников для дачи небольшого интервью. На условиях полной анонимности сотрудник поделился деталями разработки The Day Before и мыслями о закрытии проекта. Согласно...

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

Firefox остаётся самым быстрым браузером Почти год назад случилось знаковое событие: впервые в истории Firefox обошёл Chrome по скорости работы. Многие помнят, что с момента выхода в 2008 году Chrome отличался высокой производительностью, а Firefox на его фоне выглядел тяжеловесным и страдал от утечек памяти. Но...

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

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

[recovery mode] KolibriOS: пробуем ассемблер Решил потренироваться на ассемблере под x86 и выбор мой пал на KolibryOS. Ведь как-никак это ОС была написана на ассемблере и для использования ассемблера. И я хотел именно из самой KolibriOS писать код. Но... Наверное, зря я это всё затеял.Как оказалось, примеров кода не ма...

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

Процессор Apple M4 сделал iPad Pro 2024 мощнее новых макбуков. Насколько он круче других чипов от Apple? 7 мая компания Apple представила iPad Pro 2024, неожиданным компонентом которого стал новый процессор Apple M4. Внезапным это появление стало по двум причинам. Во-первых, предшествующий Apple M3 вышел меньше года назад. Во-вторых, процессоры M-серии, будучи самыми производи...

gRPC Привет, Хабровчане!Для тех, кто не в курсе, gRPC - это открытый фреймворк от Google, который был представлен миру в 2016 году. Основываясь на протоколе HTTP/2, gRPC использует Protocol Buffers в качестве языка описания интерфейса. Основная идея gRPC заключается в создании ун...

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

Как мы реализовали кнопку со свайпом на Jetpack Compose Привет, Хабр! Меня зовут Женя Мельцайкин, я работаю в команде мобильной разработки Контура.Мы разрабатываем экосистему для бизнеса, которая оптимизирует рутинные задачи: работу с маркировкой, проверку контрагентов, товароучет, документооборот, отчетность. И в одном из продук...

Как стать Delphi-программистом за час «для самых маленьких» Принято считать, что программирование это сложно, но это миф (все проще чем кажется), и все что нужно чтобы стать программистом это немного упорства и изобретательности.В этой статье мы получим все базовые навыки, которые нужны Delphi программисту (включая базовые знания Run...

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

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

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

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

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

Превращаем 3D модель в настоящую скульптуру⁠⁠ Хочу поделиться некоторыми деталями своей работы включая использование ZBrush и 3D печати для создания скульптур из металла.За последние несколько лет, я накопил определенный опыт работ такого рода. Но кроме коммерческих проектов, у меня не ослабевает интерес к литью разных ...

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

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

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

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

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

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

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

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

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

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

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

Как не стоит делать игры на Unity Много статей написано про хороший и плохой код, но статей с разборами проблем реального кода очень мало (за исключением багов в open source проектах), поэтому решил показать проблемы в реальной игре на Unity. Читать далее

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

Синкерим, хешайдим, терминируем: 6 утилит, чтобы ускорить ваши локализации Наша команда Mobile Doc&Loc «Лаборатории Касперского» занимается подготовкой документации и локализации B2C-продуктов компании для мобильных устройств. Основная сложность (и одновременно фишка) нашей работы заключается в том, что необходимо регулярно подготавливать перев...

[Перевод] Искусство README Привет, Хабр!На связи Андрей из сообщества ITMO.OpenSource. Мы считаем, что важно делать открытую науку, поэтому пишем об открытом коде, проводим митапы «Scientific Open Source» и разрабатываем научные решения с открытым кодом.Мы убеждены, что открытая наука – это не просто ...

Как устроен GIL (Global Interpreter Lock) в Python: влияние на многозадачность и производительность Привет, уважаемые читатели!GIL, или Global Interpreter Lock десятилетиями оставался темой обсуждения и дебатов среди питонистов.Что такое GIL? GIL, сокращение от Global Interpreter Lock, представляет собой важную концепцию в Python. Он представляет собой мьютекс, который бло...

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

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

Разобраться раз и навсегда: Task.WhenAll или Parallel.ForEachAsync в C# Все хотят писать код, который работает быстро. Часто мы сидим, просматривая написанные алгоритмы и пытаясь понять, что можно сделать, чтобы настроить их производительность. В таком случае часто прибегают к параллельному выполнению задач. Конечно, если можно выполнять зада...

Как работает дедупликация данных в потоке Kafka-to-Kafka? Всем привет, меня зовут Александр Бобряков. Я техлид в команде МТС Аналитики, занимаюсь Real-Time обработкой данных. Мы начали использовать фреймворк Apache Flink, и я решил поделиться на Хабре своим опытом внедрения этой технологии в цикле статей.В предыдущей части «Как исп...

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

Проверка продуктовых гипотез и немодерируемые UX-исследования c применением внутренних инструментов: кейс команды OK Проверка гипотез — неотъемлемая часть работы с продуктом. Но в условиях крупного «живого» проекта, такого как ОК, зачастую возникает не одна, а много гипотез одновременно, которые нужно проверить быстро, без негативного влияния на сервис и с минимальными затратами. Для ...

Стажёры рулят или Почему не надо бояться доверять молодым сотрудникам Боитесь стажёров? Не хотите тратить своё время на обучение начинающих специалистов? Задач много, а специалистов по ИБ мало?Делюсь опытом построения стажёрского конвейера на базе SOC. Может, это решит ваши проблемы.Многие российские современные IT-компании имеют стажёрские пр...

Как введение Security Buddy повысило на 25% киберграмотность пользователей Всем привет! Меня зовут Джамил Меджидов, и я лидирую внутреннее направление Security Awareness в МТС RED. Что бы вы сказали, если бы компании удалось снизить вероятность возникновения киберинцидентов на 70%? Мы постоянно работаем над тем, чтобы минимизировать хакерам векторы...

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

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

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

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

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

Медленное выполнение команды TRUNCATE: анализ проблемы блокировок спинлока в SQL Server Приветствую всех читателей Хабра! Меня зовут Михаил, я администратор DBA в компании «Автомакон». На данный момент работаю на проекте для «ВкусВилл».Решил затронуть одну из насущных проблем, связанную с работой SQL Server, а именно со спинлоками в нем. Да, даже такой зрелый и...

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

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

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

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

[Перевод] Xv6: учебная Unix-подобная ОС. Заключение Книга рассказала об идеях, что лежат в основе операционных систем, на примере xv6. Одна часть кода xv6 выражает основные идеи и каждая строка кода важна - переключение потоков, пространства пользователя и ядра, блокировки и т.д. Другая часть кода воплощает алгоритмы и структ...

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

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

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

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

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

Жажда скорости. Сравниваем работу Hashcat на ВМ, ПК и ноутбуках с разными CPU и GPU Безответственное отношение к учетным данным — проблема, которая встречается часто и даже в крупных компаниях. Вот почему важно проводить аудиты «‎стойкости» паролей сотрудников. Один из вариантов такой проверки — прогон учетных данных по утекшим базам через хэши. Но обычно п...

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

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

Искусственный интеллект Microsoft создал новый перспективный материал для аккумуляторов за 80 часов Искусственный интеллект в его сегодняшнем виде — это не только рисование картинок, создание кода и написание текстов. Его также активно используют в науке. И Microsoft решила показать возможности своей платформы, создав посредством ИИ новый материал, потенциально ...

Социальный проект: визуализация данных медицинской статистики Хабровчане, приветствую! Меня зовут Андрей Иванов, я системный аналитик в сфере медицины и здравоохранения. До 2005 года работал практикующим врачом, потом руководил медицинским информационно-аналитическим центром. Спустя время возникла настоятельная потребность получить баз...

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

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

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

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

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

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

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

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

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

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

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

Графические оболочки FFmpeg Считается, что работа в консоли эффективнее GUI по нескольким причинам. Во-первых, там быстрее набирать команды, чем двигать курсором. Во-вторых, на CPU, память и GPU не ложится лишнее бремя графической оболочки, так что любые процессы быстрее выполняются в консоли. Но е...

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

[Перевод] Молодые математики открывают новую главу в изучении простых чисел Анимация отсева по Эратосфену, где показаны кратные величины каждого простого числа, простирающиеся вдоль числовой оси. Более 2,000 лет назад греческий математик Эратосфен разработал метод поиска простых чисел, который остаётся актуальным по сей день. Его идея заключалась в...

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

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

Как вообще этот ваш CI CD настроить Привет, Хабр! Хочется рассказать о нашем опыте внедрения CI/CD в компанию. О том, как в целом работать с ним и как это работает у нас.Статья нацелена на новичков конкретно в этой сфере и хотят чуть детальнее стандартной документации настроить деплой, может внедрить у себя, ч...

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

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

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

Мистер Твистер. Впечатления о Twister OS для Raspberry Pi Когда я купил себе Raspberry Pi 400 и водрузил на него Dosbian, я заранее знал, что рано или поздно наиграюсь в «X-Com» и захочу попробовать что-нибудь ещё. Классическую Raspberry Pi OS я уже видел, поэтому душа требовала разнообразия, а пятая точка — приключений. И тут я с...

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

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

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

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

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

ОбАСУчиваем дачу. От идеи к проекту «Всё намного сложнее, чем кажется на первый взгляд.» Закон Мерфи. Дисклеймер: Автор абсолютно уверен, что все поставленные задачи можно было решить иным способом. Лучше, дешевле, умнее, креативнее… Но вышло так, как вышло. Собственно, автор придерживается точки зрения, что ...

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

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

М. Розенберг. Язык жизни. Ненасильственное общение (конспект книги) Поделюсь 5 основными выделенными из книги мыслями, которые можно реализовать на практике. Мысль 1. Прими ответственность за свои состояния (вместо перекладывающего ответственность «ты разозлил меня» всегда используй «я рассердился, потому что...») и действия (вместо «я...

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

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

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

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

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

Вся информация по Assassin's Creed Jade Assassin's Creed Jade — очередная мобильная адаптация крупной игровой франшизы. Вместо внутренней разработки Ubisoft решили отдать её на аутсорс Tencent. Смотря на примеры таких игр как Harry Potter: Magic Awakened, Call of Duty Mobile и Diablo Immortal, никаких проблем с та...

Началось тестирование Operation Apocalypse на Android Разработчики Operation Apocalypse из NetEase, как и обещали, запустили тестовые сервера игры в Китае. После окончания теста весь прогресс будет сброшен, а во время тестирования можно совершать внутриигровые покупки. Самостоятельно скачать клиент игры получится через китайски...

8 ГБ ОЗУ достаточно, да, Apple? Тесты показывают, что MacBook Pro 14 M3 с 16 ГБ памяти может быть в четыре-пять раз быстрее версии с 8 ГБ Компания Apple недавно заявила, что 8 ГБ ОЗУ на MacBook Pro M3, вероятно, аналогичны 16 ГБ в других системах. И пусть такое заявление крайне сложно проверить, теперь точно можно сказать, что 8 ГБ для нового MacBook Pro – это проблема как минимум в некоторых прилож...

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

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

Ретро кодинг: Привет из прошлого века На дворе 2023 год. Информационные технологии шагнули далеко. Даже 10 лет назад кажется для нас устаревшей эпохой.Искуственный интеллект заполняет интернет контентом, графика в играх кажется уже реальной, а айти теперь - самая популярная область. Скорость интернет соединения ...

Dino Crisis, Silent Hill, The Matrix: Path of Neo и другие игры, достойные ремастеринга Поклонники знают, насколько важны олдовые игры для современной культуры. Они выросли на Зельде, Марио и Принце Персии, поэтому уже в зрелом возрасте любят перепроходить их и вспоминать о беззаботном детстве. Однако технические требования таких игр давно не подходят под нын...

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

[Перевод] Переворачиваем список целых чисел Недавно Александр Муньис опубликовал новую математическую игру, которую назвал «Переверни список целых чисел». Заключается она в следующем.- Составьте список разных положительных чисел (например, 10 5 3). Ваша цель — перевернуть список, используя «ходы» двух видов:- Разделит...

Unreal Engine 5: Nanite — Z-тест для самых маленьких Доброго времени суток,Неожиданной для себя, обнаружил, что по какой-то причине, присутствует не так много содержательных статей о работе технологий Unreal Engine 5 на русском языке. Я решил исправить эту несправедливость. И чтобы не повторятся с англоязычными статьями или не...

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

10 важных советов для игроков Helldivers 2 После шаткого релиза, игра Helldivers 2 набирает популярность, поэтому я решил поделиться топ-10 советами для новичков. 1. Обходите патруль На сложных миссиях игрокам следует обходить патрули огромных насекомых. Сначала их стоить пометить, а после спрятаться или убежать....

Задача «Получить значение у N url из списка» с собеседования на Go На данный момент нахожусь в активном поиске нового проекта, поэтому активно хожу на собеседования.Решил поделиться своими мыслями о решении задачи, которую (как мне кажется) часто дают на собеседованиях. ЗадачаНаписать функцию, которая принимает несколько url адресов, а отда...

Какой смартфон мощнее: Android или iPhone. Сравнение Snapdragon 8 Gen 3 и Apple A17 Pro Мы никогда не перестанем сравнивать iPhone и Android, потому что каждый год появляются новые вводные. В частности, у смартфонов меняются процессоры. В сентябре Apple показала iPhone 15 Pro и iPhone 15 Pro Max, работающие на чипе Apple A17 Pro, а в конце октября компания Qua...

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

Формула идеального IT-ивента Привет, на связи Хабр!Мы видим, что компании часто публикуют анонсы ивентов для айтишников, а вы, читая их, наверняка думаете: «вроде бы неплохо, но вот если бы это было… (офлайн/покороче/подешевле/на Багамах и т.д.), тогда бы сходил». Нам стало интересно: каким должен быть ...

Приключение SAM в Японии или как компьютерное зрение видит гейшу Привет! Я занимаюсь разметкой данных для ИИ: экспертно и с большой любовью. Задачи компьютерного зрения — одни из самых популярных и поэтому поговорим про них.Прочитав статью вы узнаете как алгоритму отличить гейшу от китаянки, кто такая майко, как не перепутать лапшу с авто...

«Костыли» вместо SIEM или почему так лучше не делать? В 2022 году только 14,5% российских компаний были оснащены SIEM, показало наше исследование. При этом задачи по контролю безопасности ИТ-инфраструктуры были и остаются у всех. Их часто решают альтернативными средствами. Например, 12% наших респондентов заявляли, что имеющиес...

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

Количество ядер в процессоре смартфона — насколько это важно? Ядра процессора хоть и влияют на производительность смартфона, но большее значение имеет не их число, а их характеристики. Расскажем, насколько важно количество ядер в процессоре смартфона, и на что важно обратить внимание при выборе телефона. Что такое ядра процессора телеф...

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

C++26 — прогресс и новинки от ISO C++ Работа в комитете по стандартизации языка C++ активно кипит. Недавно состоялось очередное заседание. Как один из участников, поделюсь сегодня с Хабром свежими новостями и описанием изменений, которые планируются в С++26. До нового стандарта C++ остаётся чуть больше года, и...

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

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

[Перевод] Реверс-инжиниринг сигнала автомобильного брелка Я уже пару лет как изучаю протоколы радиосвязи. Началось это с момента, когда я из любопытства решил поэкспериментировать с USB-донглом RTL-SDR. Мне всегда хотелось понять, как передаются данные в пультах дистанционного управления (в частности, автомобильных брелках), попро...

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

Во что я играл на этой неделе: God of War на PSP, Marvel Strike Force, Black Ops для Nintendo DS и другое Рабочая неделя подходит к концу, а это значит, что я могу наконец-то рассказать, во что я играл и что нашёл интересное для себя и, возможно, для вас, чтобы скоротать выходные. Первая игра, которая меня удивила — Immortal Prince. Это более бюджетная, но не менее качественная ...

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

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

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

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

Преобразование Уолша-Адамара На сайте hackerrank.com есть отличная задача.По заданному массиву short[] A; найти максимальное количество его подмассивов, xor элементов которых будет одинаковым. Сам этот xor тоже нужно найти.Максимальная длина массива равна 105, так что квадратичный алгоритм не укладывает...

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

GeForce GTX Titan спустя 11 лет зачастую не способна опередить даже Radeon RX 6400 с 96-битной шиной Авторы PC Games Hardware решили протестировать видеокарту GeForce GTX Titan — первое поколение линейки Titan, которое вышло 11 лет назад.   фото: iXBT На момент выхода это было весьма впечатляющее решение с ценой 1000 долларов. Карта оснащалась GPU GK110 с 2...

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

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

Древний Fortran вошёл в топ-10 самых популярных языков программирования, пока PHP стремительно теряет позиции Всё дело в росте задач с высокопроизводительными математическими вычислениями.

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

Любовь в каждой атаке: как группировка TA558 заражает жертв вредоносами с помощью стеганографии Приветствую! И снова в эфир врывается Александр Бадаев из отдела исследования киберугроз PT Expert Security Center. Но на этот раз мы работали в паре с Ксенией Наумовой, специалистом отдела обнаружения вредоносного ПО, недавно рассказывавшей читателям Хабра о троян...

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

Российской OCR – 30 лет. Как появилась технология, благодаря которой мы забыли про ручной ввод? (Часть 2. OCR CuneiForm) В честь 30-летия OCR мы продолжаем вспоминать, как появились первые отечественные технологии распознавания текста. На прошлой неделе мы рассказали про самую первую такую программу – OCR Tiger, предназначавшуюся для оцифровки книг с целью их дальнейшего переиздания. Сего...

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

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

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

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

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

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

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

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

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

Как автоматизировать построение архитектурных схем в большой микросервисной системе Если у вас есть большая система, состоящая из множества микросервисов, то вы наверняка задавались вопросом: «Что сделать, чтобы архитектурная схема всей системы была всегда на 100% актуальной?». Обычно, в компаниях есть свои практики формирования архитектурных схем и ведения...

Дизайн уровней в Quake II: классика своего жанра Последний раз я старался проходить Quake II ещё в детстве на PS1, но на геймпаде было играть невозможно, а PC в то время еще не было. Но Id Software решили перевыпустить не только первую, но и вторую часть. Решил пройти Quake II. Получил огромное удовольствие не только от ур...

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

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

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

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

На практике пробуем KAN – принципиально новую архитектуру нейросетей На днях ученые из MIT показали альтернативу многослойному перцептрону (MLP). MLP с самого момента изобретения глубокого обучения лежит в основе всех нейросетей, какими мы их знаем сегодня. На его идее в том числе построены большие языковые модели и системы компьютерного зрен...

Номера телефона +7 (942) — какой оператор и кто может звонить? Некоторую информацию о номере можно понять по его коду, например, где именно зарегистрирован номер и какой провайдер его обслуживает. Какому оператору и региону принадлежат номера телефонов +7 (942)? Код мобильных номеров 942 принадлежит виртуальному оператору ГЛОНАСС, работ...

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

Обновление кешей сервисов в реальном времени с помощью YDB CDC на примере Yandex Monitoring Меня зовут Егор Литвиненко. Я старший разработчик Yandex Observability Platform. Летом 2023 года я рассказывал на Saint Highload в Санкт-Петербурге про наш путь внедрения YDB CDC для обновления данных в сервисах, чтобы решить проблему инвалидации кэшей.В этой статье будет вс...

Попробовал на себе Xiaomi Band 8 Pro от которого долго отказывался Нечасто можно встретить такое устройство, как Xiaomi Smart Band 8 Pro. Это очень доступный фитнес-трекер по цене всего около 5000 рублей, но при этом удивительно полезный благодаря большому времени автономной работы и набору датчиков, которых не хватает некоторым даже более...

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

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

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

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

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

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

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

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

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

[Перевод] Ищем баги в коде браузера при помощи фаззинга Наш браузер Ladybird неплохо справляется с качественно отформатированным веб-контентом, но я решил, что будет полезно проверить его инструментами для исследования безопасности. Поэтому сегодня мы воспользуемся Domato 

Алгоритм Diffie-Hellman: Пишем приватный мессенджер на Go Это продолжение прошлой статьи про данный алгоритм. Где я рассказывал про возможность общения между двумя пользователями без прямого обмена ключом шифрования. Я уже описывал идею создания прозрачного Open-Source мессенджера на основе этого алгоритма и хочу представить вам ег...

[Перевод] Сравнение производительности dict() и {} в Python Какое-то время назад, во время разбора кода мы обсудили выбор dict() вместо {} в новом коде на Python. Коллега утверждал, что dict() более читаем и чётче выражает цель, поэтому следует предпочесть его. Меня это не убедило, но в тот момент контраргуентов не наш...

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

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

Борьба с несбалансированными данными Привет,Хабр! Почему несбалансированные данные - это такая большая проблема? Все начинается с того, что в реальном мире классы могут быть не равномерно представлены в наших данных. Например, в задаче обнаружения мошенничества с кредитными картами, обычные транзакции будут сос...

Шкала масштабов вселенной (русский язык) Всем привет! Добавил русский язык к шкале масштабов вселенной.В интернете есть довольно занимательная шкала с относительными размерами разных объектов от мельчайших, до обозримой Вселенной. Сама шкала изначально была flash презентацией, а после прекращения Adobe поддержки sw...

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

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

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

Построение планов параллельного выполнения программ для процессоров со сверхдлинным машинным словом (проект) Процессоры архитектуры  сверхдлинного машинного слова (VLIW - Very Long Instruction Word) относятся к специфическим классам архитектур, прямо нацеленным на использование внутреннего параллелизма в алгоритмах (программах), причём параллелизм этот анализируется и планируе...

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

Видеоновости: Русский язык в Warzone Mobile, бета-тест Heroes of Might & Magic Mobile и другое Привет, читатели и зрители AppTime. На связи Никитенков Валерий, главный редактор на сайте и голос еженедельной подборки новостей за последние 7 дней. Я расскажу, почему закрыли эмулятор Yuzu и что будет дальше, как Warzone Mobile стали меньше ненавидеть в СНГ, почему War ...

Реализация консенсусного алгоритма Raft Привет, Хабр!Когда речь идет о распределенных системах и сетевых приложениях, консенсусный алгоритм становится must have. Эти алгоритмы играют ключевую роль в обеспечении надежности, согласованности и целостности данных в условиях, когда у нас есть несколько участников (узло...

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

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

Главные отличия PCA от UMAP и t-SNE Здесь будет рассказано о главных отличиях самого старого и базового алгоритма снижения размерности - PCA от его популярных современных коллег - UMAP и t-SNE. Предполагается, что читатель уже предварительно что-то слышал про эти алгоритмы, поэтому подробного объяснения каждог...

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

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

Ящик мечты с произвольной конфигурацией В своей предыдущей статье я рассказал как создлал "ящик мечты" для всякой мелочёвки. Для болтиков, гаечек и прочей мелкой ерунды такие ящики подходят просто идеально. Но когда я попытался разместить в своём ящике всякую мелочь от 3D-принтера у меня ничего не получилось. Что-...

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

[recovery mode] Как вести несколько проектов и не сойти с ума. Очередная статья про тайм-менеджмент Привет! Меня зовут София, я маркетолог проекта Fitil, в блоге которого публикую эту статью. Fitil — это сообщество для знакомств и общения. Мы стартап, а значит, задач очень много.Кроме Fitil я веду ещё два проекта как маркетолог: занимаюсь позиционированием, запусками ...

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

[Перевод] Обслуживание HTML из MS-DOS Отсутствующий в MS-DOS стек протоколов TCP/IP всегда был поводом для жарких дискуссий – и это при том, что изначально его поддержка в ОС не планировалась вовсе. И дело вовсе не в том, что MS-DOS он был бы не по силам. TCP/IP на момент разработки DOS еще не был реализован сам...

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

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

Самый долгий полет на самолете без посадки, который длился более двух месяцев Роберт Тимм и Джон Кук во время полета, который длился почти 65 дней. Источник фото: cnn.com В 2005 году весь мир облетела новость о том, что 10 декабря Boeing 777-200LR совершил беспосадочный рейс из Гонконга в Лондон протяженностью более 21 000 километров. Маршрут был прол...

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

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

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

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

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

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

Интерпретатор Brainfuck на Brainfuck Когда-то давно, году в 2013-м, на глаза мне попался следующий код:>>>+[[-]>>[-]++>+>+++++++[<++++>>++<-]++>>+>+>+++++[>++>++++++<<-]+>>>,<++[[>[->>]<[>>]<<-]<[<]<+>>[&...

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

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

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

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

Аналог Duolingo для продвинутых — одна хорошая книга для пополнения словарного запаса в английском языке Наткнулся недавно на книгу "1100 words you Need to Know" by Murray Bromberg and Melvin Gordon" (для уровня C1-C2). Она легко гуглится в Яндексе.Данную книгу упоминали уже здесь, на Хабре, как хороший способ изучения новых слов. Я напишу еще немного. Читать далее

[Перевод] Кодируем крестики-нолики в 15 битах Недавно я наткнулся на пост Алехандры Гонсалес (@blyxyas), в которой рассказывается о попытке сжать игру крестики-нолики в минимальное количество битов. Она пришла к решению из 18 битов. Это заставило меня задуматься: а можно ли улучшить этот результат?Как говорит Алеха...

Тестируем печать с растворимыми поддержками на IDEX 3D принтере Snapmaker J1s. BambuLab отдыхает? Всем привет, Друзья! С Вами компания 3DTool!Вы наверняка заметили повышенную активность вокруг 3D принтера Snapmaker J1S IDEX. Все правильно! Ведь на данный момент, эта модель является самой быстрой на рынке в своём ценовом сегменте. Конечно, к публикациям в наших блогах поя...

[Перевод] Как программировали в 1969 году Я провёл это интервью со своей матерью Марианной Эрнерфельд в декабре 2018 года. В посте приведён немного урезанный перевод. Полное интервью на шведском языке можно прочитать здесь. Почему ты захотела стать программистом? Я решила стать программистом в 1965-66 годах. Прочи...

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

Детекция дефектов дорожного покрытия без размеченных данных: Хакатон, LiDAR, RANSAC, ICP и 44 бесcонных часов Здравствуйте, читатели Хабра! Решил активнее вкатываться в DS (хотя уже больше года в "теме" и даже нет ни одной публикации, ужас) и написать первую статью на Хабре.В данной публикации я расскажу о проекте для детекции дефектов дорожного покрытия с использованием лидара, про...

Переводим документацию API из Markdown в OpenAPI Всем привет! Я Ира — тимлид команды, которая занимается развитием и поддержкой публичного API hh.ru.Несколько лет назад к нам пришли ребята из мобильной команды и сказали, что хотят документацию в OpenAPI формате. Для них это удобно, потому что можно генерировать DTO прямо и...

Практическая магия Istio при построении архитектуры крупных микросервисных систем. Часть 1 — функциональная Под Новый Год мы с женой пересматриваем одну популярную магическую сагу — хочется знаете ли в жизни волшебства. В IT волшебства тоже хватает — от танцев с бубнами до самых современных технологий, принцип работы которых проще объяснить тёмной магией. Так, например, бытуе...

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

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

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

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

Изобретение Desk Nest Cat Bed решает одну из главных проблем современности (возможно) Изобретатель Скотт Зальцман предложил вещь, способную решить одну из самых больших проблем современности. Речь идет о неисправимом желании котов разместиться на хозяйском рабочем столе и мешать работе всеми возможными способами. Прогонять их никому не хочется, но они нажимаю...

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

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

Вам не нужен time management, вам нужен attention management Привет, меня зовут Ася Исакова, и я организационный психолог. Я уже 10 лет работаю с разными командами, и за это время видела сотни горящих, выгорающих и сгоревших на работе людей. В этой статье я расскажу, как управлять своим вниманием так, чтобы хватало сил на важные дела ...

Как с помощью ChatGPT реализовать раскраску во flutter Сегодня мы рассмотрим, как реализовать раскраску для растровых изображений с помощью алгоритма flood fill. Посмотрим, что уже есть на pub.dev, заглянем немного в теорию этого алгоритма, реализуем его на dart с помощью ChatGPT и применим во flutter приложении. Читать далее

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

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

Основы Event Loop в JavaScript В JS Event Loop позволяет непрерывно проверять, есть ли в очереди задачи, и, когда стек вызовов пуст, передавать эти задачи на выполнение. Таким образом, долгие операции не мешают продолжению выполнения кода. Именно благодаря Event Loop приложение мо...

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

Подключаем модуль TM1638 к Arduino без библиотеки SPI Изначально поставка задачи была такой. У меня была в наличии плата TM1638. Нужно было научиться с ней работать (ну и проверить работоспособность самой платы) для того, чтобы использовать её в одном интересном проекте (о нём в другой раз). Под рукой оказалась платка Arduino N...

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

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

Внутри S3. Доклад Яндекса Привет, я Паша, разработчик в Yandex Infrastructure, и я катаю гусей. С 2019 года я развиваю S3-хранилище как для внутренних пользователей Яндекса, так и для клиентов Yandex Cloud. А «гусём» называется наш бэкенд S3 API: он написан на Go, а из словосочетания Go + S3 получилс...

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

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

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

Показываем видео в терминале Приветствую, сегодня я опробую OpenCV, библиотеку для работы с видео, на примере простой задачи - символами ASCII вывести видеоролик в терминал. Те, кто ей пользовались, могут сказать, что я забиваю дрелью гвозди - создана она для работы с алгоритмами компьютерного зрения. Ч...

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

Новые смартфоны будут получать меньше оперативки, чем старые. Почему так? Объем оперативной памяти долгое время оставался одной из характеристик, которую производители смартфонов долго и непрерывно улучшали. Начав с 2-3 ГБ, они в конечном итоге достигли совсем уж невероятных пределов, обойдя даже многие настольные компьютеры. 8, 12, 16, 24 ГБ ...

Основные функции Apache Tomcat Привет, дорогие читатели! Apache Tomcat — это открытое программное обеспечение, реализующее спецификации Java Servlet, JSP и Java WebSocket, предоставляя таким образом платформу для запуска веб-приложений, написанных на языке Java. Разработанный и поддерживаемый Apache Softw...

А эта видеокарта не улетит? MaxSun RTX 4070 MGG получила охладитель с пятью вентиляторами Почему-то именно сегодня компании решили анонсировать не самые обычные видеокарты. Мы уже видели двухслотовую Asus RTX 4070 Turbo и однослотовую Galax GeForce RTX 4060 Ti Max с «турбинами», а теперь пришёл черёд модели из противоположного лагеря. У MaxSun RT...

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

Даже если взять оптимизированное под процессоры Intel ПО для искусственного интеллекта, новый Core Ultra 7 155H в половине случаев проигрывает Ryzen 7 7840U Сегодняшние тесты процессора Intel Core Ultra 7 155H под Linux показали, что там новинка Intel существенно уступает 15-ваттному Ryzen 7 7840U при большем энергопотреблении. Авторы Tom's Hardware решили отдельно протестировать Meteor Lake в задачах, связанных с ИИ, п...

В Samsung Galaxy AI появилась поддержка русского языка Компания Samsung добавила поддержку ещё нескольких языков к возможностям своего искусственного интеллекта (ИИ) Galaxy AI. В том числе, стал доступен русский язык, а кроме него — арабский и индонезийский. Появилась и поддержка трёх новых диалектов: австралийского а...

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

Почему навигация в Google, Booking и Spotify именно такая, и какую лучше выбрать вам При работе над паттерном навигации моя команда выяснила интересный факт — мало материалов для дизайнеров. Я провела своё исследование: поговорила с разработчиками, проанализировала множество приложений и заглянула в гайдлайны.В статье покажу три самых популярных вида навигац...

Игроки Warzone Mobile: «Раньше я делал максимум 5 убийств, теперь спокойно более 8» Перед релизом Warzone Mobile разработчики из Activision гордо заявляли, что в матчах будут только реальные игроки в числе 120 человек. Теперь геймеры заметили, что им в матчах начали попадаться боты. Они выдают себя сами: смотрят на вашего бойца в упор, стоят на месте, ред...

Часы на языке "JS" имитирующие физику и гравитацию Реализовал давнюю идею написать часы с динамическими подвижными элементами. Получилось, даже что-то метафорическое. Смотришь на падающее время, жалеешь о том, что потерянное время не вернуть. О том как быстро идет время.

[Перевод] Работа со временем и датой в C# с применением библиотеки Humanizer Цель этой статьи — показать вам, как использовать Humanizer, чтобы вывести работу со временем и датой в ваших C#-проектах на новый уровень. Я расскажу о том, как преобразовать объекты DateTime и TimeSpan в удобный для восприятия человеком вид, как настраивать параметры гуман...

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

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

Как перестать работать в выходные и наконец-то научиться делегировать: опыт одного тимлида Всем привет, меня зовут Иван Михеев, я Chief Technology Officer маркетплейса авторских туров YouTravel.me, где руковожу разработкой, поддержкой и всем, что связано с технической частью бизнеса. Сегодня я хочу вам рассказать о том как делегирование влияет на эффективность ком...

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

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

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

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

Нейросеть Copilot+ появилась в Windows 11: ОС сама улучшает видео, рисует без интернета и расскажет все, что вы делали ИИ с большим количеством функций появится и в Windows 11. Изображение: blogs.microsoft.com 20 мая компания Microsoft провела свою презентацию, где показала новые функции Windows, связанные с искусственным интеллектом. Они получили название Copilot+. Это произошло всего за не...

Настраиваем серверные платформы с помощью PowerShell-модуля: от проверки конфигурации до монтирования образа Привет! Меня зовут Константин, я ведущий инженер по разработке ПО в компании YADRO. Разрабатываю инструменты сопровождения оборудования, которое мы производим, в том числе серверов линейки VEGMAN. Один из таких инструментов — специальный модуль для PowerShell, кото...

Nvidia напоминает, что у многих из нас уже давно имеются Premium AI PC. Компания говорит, что GPU намного производительнее NPU в вычислениях ИИ Рынок ПК сейчас активно разворачивается в сторону искусственного интеллекта. Производители активно используют название AI PC, подразумевая под ним компьютеры, которые основаны на процессорах с выделенным блоком NPU. Однако Nvidia решила напомнить, что ИИ изначально опир...

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

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

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

Ученые разгадали тайну исчезновения трехметровых обезьян — самых крупных приматов на Земле Причина исчезновения гигантских обезьян оставалась большой загадкой для ученых, но теперь эта тайна раскрыта Миллионы лет назад, на территории современного Китая, Индии, Таиланда и Вьетнама жили гигантопитеки — обезьяны, рост которого достигал 3 метров. Впервые об этих древн...

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

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

Альтернатива Nova: почему решили перейти с самописного решения на Orchid Привет. Меня зовут Артем, я backend-разработчик в Пиробайте. Когда я только пришел в компанию, то узнал, что команда разрабатывает административные панели на основе самописного решения, созданного внутри студии. Когда-то за основу был взят шаблон Inspinia, и для него написан...

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

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