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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Оптимизация работы с Camunda на основе External task Привет! Меня зовут Андрей, я - ведущий разработчик в "РТК ИТ". В этой статье речь пойдет об опыте перехода на паттерн external task в одной из наших систем.Camunda — это BPM-движок для автоматизации бизнес-процессов. Она представляет собой набор библиотек, которые и позволяю...

У меня зазвонил Репка-фон. Делаем телефон на базе Repka Pi 3 с применением модуля SIM868 Делаем программно-управляемый телефон или даже узел связи на базе одноплатного компьютера Repka Pi и модуля платы функционального расширения для GSM связи. Просто поражают возможности одноплатных компьютеров в формфакторе Raspberry за счёт применения с использованием их 40 p...

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

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

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

Перенести терабайты канбан-досок в облако: опыт команды Yandex Tracker Привет, меня зовут Мария Карпенко, я разработчик в команде Yandex Tracker — сервиса для управления процессами и проектами. Внутри Яндекса сервис  используется для постановки задач практически во всех командах, так что общее количество событий по задачам исчисляется уже ...

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

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

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

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

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

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

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

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

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

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

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

Изменить цвета и кнопки сервиса — и не сломать дизайн-систему Меня зовут Алексей Афонин, я старший дизайнер продукта в Yandex Cloud. В прошлом году нам понадобилось полностью изменить внешний вид нашего сервиса для бизнес‑аналитики DataLens перед его выходом в опенсорс. Разработчики и дизайнеры интерфейсов часто ста...

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

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

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

Пакет context в Go: взгляд профессионала А вы часто читаете реализацию стандартной библиотеки своего любимого языка?..Меня зовут Константин Соколов, и мы с Сергеем Мачульскисом, моим коллегой из бэкенд-разработки в Positive Technologies, хотим с вами поделиться вдохновением. Давайте вместе посмотрим на пакет contex...

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

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

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

Как мы решали вопрос многоязычности в боте Русский или English? Что для бота хорошо, то разработчику работа :)ВведениеВ этой статье я поделюсь своим опытом реализации многоязычности в телеграм-боте, World for Life Bot расскажу о принципах выбора языков, которыми я руководствовался, технических аспектах реализации и ...

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

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

Как мы решали задачу оптимизации доставки грузов с использованием численных методов на примере метода имитации отжига В статье хотим поделиться своим опытом реализации алгоритма решения задачи маршрутизации на основе метода имитации отжига в Norbit CDS – умной системе управления доставкой. Проанализировав материалы, можно обнаружить различные предлагаемые способы решения VRP-задач (Veh...

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

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

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

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

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

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

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

Как мы сделали переводчик точнее и дешевле Google и Yandex Всем привет! Меня зовут Никита, я Data Scientist из Raft. Сегодня я расскажу вам о том, как мы решили задачу перевода каталога товаров большого интернет-магазина с русского на арабский язык с применением искусственного интеллекта. Мы рассмотрим различные подходы и идеи, возн...

«Трудности перевода»: как ChatGPT справился с задачей адаптации сложных текстов Привет, Хабр! Меня зовут Сергей Кулабухов, я занимаюсь внедрением ИИ в бизнес-процессы компании Fix Price. С появлением моделей обработки естественного языка (natural language processing) изменился и подход к реализации подобных задач. Теперь мы не программируем и не обучаем...

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

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

[recovery mode] Просто об архитектуре в Android В нашем скромном мире разработки Android есть общепринятый подход к проектированию приложений - Clean Architecture, который рекомендуется Google. Несмотря на множество статей, посвященных этому стандарту, вопросы и споры вокруг того, как "правильно готовить" Clean Architectu...

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

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

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

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

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

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

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

Как мы лечили раздвоение встреч в конференциях на базе Jitsi Привет! Меня зовут Дима. Я из команды бэкенда Яндекс Телемоста — сервиса для проведения видеовстреч, который входит в Яндекс 360. Перед нами стоит задача не просто предоставить сервис, а предоставить отказоустойчивый и надёжный сервис, который работает 24/7 и ...

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

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

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

Airflow в Kubernetes. Часть 1 Приветствую!На пути инженера данных часто встречаются задачи связанные с DevOps. Одна из таких - развернуть Airflow в Kubernetes кластере. Если до этого похожего опыта работы не было, то эта задача может показаться нетривиальной. Конечно, можно выполнить несколько команд из ...

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

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

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

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

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

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

Какие ML-платформы нужны бизнесу, и кто их может сделать Привет, Хабр! Меня зовут Виктор Кантор, я директор Big Data МТС. Около 14 лет я работаю с технологиями, связанными с Machine Learning, Big Data, Data Science. Но есть одна проблема, с которой я постоянно сталкиваюсь. Например, поставлена задача, которую нужно решить при помо...

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

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

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

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

В МТС разработали ИИ-программиста, который знает Python и Java В России создали нейросеть, которая умеет писать программный код на двух языках и «переводить» программы с одного языка на другой.

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

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

Опыт автоматизации управления FPGA-стендами для распределенной команды: отказ от готового решения и работа над ошибками В software-разработке с автоматизацией обычно все неплохо: более-менее понятно, как настроить CI и автоматизировать отдельные этапы CI-конвейера. Есть множество готовых решений и практик. Но, когда речь заходит об автоматизации тестирования на «железе», появляется множество ...

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

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

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

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

Что делать, если твой заказчик — весы, или Как заговорить на одном языке с бытовой техникой Меня зовут Алексей Плаксин, я системный аналитик в компании KODE и сейчас расскажу вам, как делал реверс-инжиниринг бытовой техники.Однажды к нам пришел крупный бренд бытовой техники, который в том числе производит и продает «умную» технику для дома. Нам нужно было в коротки...

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

Renga STDL: краткий обзор языка для расширения функциональности программы Renga Renga - программа для проектирования зданий, с помощью которой можно создать трёхмерную модель, включающую инженерные конструкции, коммуникации и всю информацию о них. Затем из этой модели можно получить чертежи и спецификации. Renga работает под Windows и написана на C++.В ...

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

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

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

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

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

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

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

Cotea: программный контроль исполнения Ansible Привет! Я Давид Бадалян, работаю в Исследовательском центре доверенного искуственного интеллекта ИСП РАН. В статье я хочу поговорить об Ansible – одной из самых популярных систем по автоматизации развёртывания. Стоит запустить Ansible программно, и он становится черным ...

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

Реализация многофункционального терминального интерфейса для МК AVR В данной статье речь пойдёт о разработке многофункционального терминального интерфейса для МК (на примере МК Atmega32 и терминала HyperTerminal. Многофункциональность в моём случае будет заключаться в обработке управляющих символов и управляющих последовательностей с целью р...

Интеграция видеоплеера YouTube во Flutter Hola, Amigos! Меня зовут Вова Зевеке, я Flutter-разработчик в Amiga. В одном из проектов передо мной стояла задача — интегрировать видеоплеер во Flutter- приложение, с которого можно было бы смотреть видео с YouTube. Казалось бы, подключаем  пакет youtube_player_flutter...

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

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

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

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

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

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

Возможности JS, о которых вы возможно не знали Всем привет! Меня зовут Леша, я фронтенд-разработчик. Крашу кнопочки, пишу js скрипты, веду канал в TG https://t.me/frontend_tales (подписывайтесь, стараюсь выкладывать полезный материал). В этой статье хотел бы поделиться с вами лайфхаками JavaScript, которые, возможно, пом...

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

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

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

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

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

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

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

Реализация чата на Flutter при помощи вебсокетов Всем привет, на связи PurplePlane! В этой статья мы хотели бы рассмотреть реализацию простого чата на языке Dart, используя пртокол websocket.Рассмотрим пример использования вебсокета при реализации простого чата с помощью библиотеки web_socket_channel. Читать далее

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

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

Ozon Tech Community 1C Meetup Как сделать жизнь 1С разработчика проще? У нас есть ответ.Всем привет, меня зовут Евгений, я руководитель группы разработки финансовых систем 1С. Приглашаю вас на Ozon Tech Community 1C Meetup, 10 октября в Санкт-Петербурге.На встрече обсудим целую палитру тем: от подходов п...

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

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

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

Как ZKP и ZK-Rollups помогают в решении проблемы масштабирования: обзор блокчейна zkSync Привет, Хабр! Меня зовут Рома и я Solidity-разработчик. Вместе с коллегами мы создаем базу знаний по тематике блокчейна и web3-разработке. Меня заинтересовал блокчейн zkSync, т.к. он выделяется среди других Layer 2 решений, но сначала хочу немного рассказать, в чем суть проб...

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

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

Быстрое пополнение словарного запаса при изучении иностранного языка методом «Ознакомление-забывание-вспоминание» Привет, Хабр!В этой статье мы описываем полную методику быстрого пополнения словарного запаса при чтении неадаптированной литературы на иностранном языке. Статья будет интересна тем, кто владеет иностранным языком на уровне B2-С1 и столкнулся с необходимостью увеличить слова...

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

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

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

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

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

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

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

Как рассчитать CLTV с помощью машинного обучения и как нам в этом помогает Feature Store Условия задачи: дано число клиентов банка N, число банковских продуктов М, горизонт времени прогноза Т. Нужно посчитать ( Pij ).Привет, меня зовут Игорь Дойников, в Альфе я CDS — Chief Data Scientist в Розничном Бизнесе. Моя команда строит модели машинного обучения для розни...

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

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

Деревья ltree в PostgreSQL – простым языком Привет, Habr! Меня зовут Оля Плюта, я продуктовый аналитик маркетплейса Uzum Market. В этой статье я расскажу об иерархических деревьях ltree в PostgreSQL. Статья вводная, поэтому я постаралась сделать её максимально понятной и наглядной. Читать далее

(Еще один!) личный опыт переезда в США. Часть 1: оффер Всем привет, меня зовут Александр и я алкоголик бы хотел поделиться личным опытом получения оффера в США, подготовки к получению визы этой страны, собственно, получения визы (ох, и разные это вещи!), переезда, получения гринкарты. Может, что-то получится добавить по результа...

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

ABC-XYZ анализ на Python. Управление ассортиментом и схемами поставок Управление ассортиментной матрицей и складскими запасами является нетривиальной задачей для бизнеса, требует аналитики и научного подхода к решению задачи. Одним из методов управления ассортиментом и закупками является ABC-XYZ классификация. Рассмотрим ее реализацию на Pytho...

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

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

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

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

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

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

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

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

REST API сервер на Bash с использованием сокетов и Apache Всем привет! Ранее рассказывал о том, как создать REST API и Web-сервер на PowerShell для Windows, а также упоминал, что подобный сервер будет работать и в системе Linux, благодаря кроссплатформенной версии PowerShell Core. Безусловно, для подобных целей лучше используются с...

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

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

Как мы реализовали аутентификацию трафика для MSA на базе монолита Привет, Хабр! Меня зовут Салахутдинов Дмитрий, я принципал инженер в СберМаркете. Занимаюсь развитием Ruby-платформы и масштабированием системы через декомпозицию монолита на сервисы.В статье хочу поделится опытом внедрения аутентификации на базе монолита. Это первая пробле...

Как мы считали экономику продукта «Семья» через uplift CLTV Всем привет! Меня зовут Владлен Севернов. Я работаю ML-инженером в команде CLTV билайна. В этой статье я поделюсь с вами моим опытом решения задачи uplift-моделирования для оценки экономики продукта «Семья» с точки зрения CLTV.Что мы подразумеваем под CLTVПодробнее про CLTV ...

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

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

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

«Физика для программистов» — как физтехи применяют её в приложениях. Маятники Данная статья входит в цикл, освещающий задачи на моделирование физических процессов на факультете МТФИ ВШПИ. В этой части речь пойдёт про задачу моделирования поведения маятника: коротко разберём теорию, которая лежит в основе модели, немного подумаем над архитектурой и нап...

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

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

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

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

НаQA нам QA? Привет, Хабр! Меня зовут Ксения, я руководитель отдела QA в компании ISPsystem. О том, как я собирала команду, можно почитать в моей предыдущей статье. Сейчас в нашем отделе 14 человек. Чем шире становится команда, тем больше ожиданий на нее возлагается относительно кач...

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

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

Как рисовать мозаики типа «эйнштейн» На немецком «эйнштейн» звучит как «один камень». Один - «ein», камень - «Stain». Всем известно, что под этой фамилией жил один замечательный человек, и звали его ... Но в статье речь не о нём. Речь о математической задаче по поиску одной плитки, такой чтобы составленная из н...

[Перевод] Почему Facebook* не использует Git Я работаю над созданием Graphite, источником вдохновения для которого стал внутренний инструментарий Facebook. Когда я решил создать стартап с друзьями, то никогда раньше не слышал о Mercurial, хотя всегда страстно любил инструменты разработчика. Мой предыдущий опыт разработ...

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

Ликбез по вхождению в Data Science: что для этого нужно и стоит ли пытаться? Всем привет! Меня зовут Надя, и сейчас я выступаю в роли ментора на программе Mentor in Tech и помогаю людям «войти» в Data Science. А несколькими годами ранее сама столкнулась с задачей перехода в DS из другой сферы, так что обо всех трудностях знаю не понаслышке. Поро...

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

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

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

Руководство по проектированию дизайна и юзабилити интерфейсов с Drag and Drop Всем привет! Меня зовут Александр Григоренко, я фронтенд-разработчик, и я часто сталкиваюсь с разработкой веб-интерфейсов с использованием Drag and Drop. В своей предыдущей статье про Drag and Drop я рассказывал про историю появления и развития этого подхода: появившись в пе...

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

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

Наивный байесовский классификатор. Основная идея, модификации и реализация с нуля на Python Наивный байесовский классификатор (Naive Bayes classifier) — вероятностный классификатор на основе формулы Байеса со строгим (наивным) предположением о независимости признаков между собой при заданном классе, что сильно упрощает задачу классификации из-за оценки одномерных в...

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

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

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

Как я с 0 поднял свой уровень английского до B2 и подтвердил этот уровень на экзамене IELTS Academic Привет, Хабр! В этой статье я расскажу о своем опыте изучения английского языка и поделюсь вещами которые работали и не работали для меня. Процесс изучения языка очень индивидуален, и никогда нельзя утверждать что верный какой-то один метод / схема (хотя некоторые статьи на ...

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

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

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

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

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

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

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

«Алиса» Яндекса выучила казахский язык Команда Яндекса объявила о запуске новой полезной функции для своего фирменного голосового помощника. «Алиса» научилась понимать казахский и говорить на нём.  Пообщаться с виртуальным ассистентом Яндекса на национальном языке Казахстана уже можно в моб...

Тест-дизайн на практике: комбинируем разные техники тестирования, на примере проверки систем оплаты Привет, Хабр! Меня зовут Сергей, я тестировщик в “Петрович-Тех”. В этой статье хочу поговорить о комбинировании различных техник тестирования и поделиться опытом тест-дизайна для проверки системы оплаты.На всем своем профессиональном пути тестировщика я так или иначе всегда ...

«Ревизорро» в IT: тестируем суммаризацию текста в GigaChat и YandexGPT После появления на рынке API для беседы с ChatGPT 3.5 каждый второй заказчик решения на основе машинного обучения (ML) хочет внедрить у себя ИИ, который может красиво и содержательно общаться на русском языке.Меня зовут Екатерина, я IT-архитектор команды SimbirSoft, специали...

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

Почему FilamentPHP — это хорошее решение для создания CMS Привет, Хабр! Меня зовут Егор Черненок, я работаю PHP-разработчиком в AGIMA. В этой статье расскажу вам о FilamentPHP. В документации говорится, что это набор красивых Fullstack-компонентов для Laravel. От себя добавлю, что он отлично подходит для построения CMS. А теперь по...

Мы опубликовали датасет для детекции речи размером более 150 тысяч часов на 6000+ языках Мы выложили в публичный доступ гигантский датасет для детекции речи (voice activity detection).Датасет содержит порядка 150 тысяч часов аудио более чем на 6,000 языках. Количество уникальных ISO-кодов данного датасета не совпадает с фактическим количеством языков, так как бл...

PaaS два года спустя. Обзор инструментов и какие задачи они решают Друзья, привет! Если у вас так же много разработчиков как у нас, то и им, возможно,  стало тесно стоять в очереди на deploy в монолите. А значит, вы можете решить перейти на микросервисную архитектуру и дать каждому игроку свой мяч каждой команде свой микросервис. ...

Потоковая обработка данных: анализ альтернативных решений Всем привет! Я Алексей Пономаревский, разработчик решений для платформ сбора и обработки больших данных.Два года назад мы в ITSumma создали решение для потоковой обработки данных с помощью Apache Spark и базы данных Greenplum — spark-greenplum-connector. Это многофункциональ...

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

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

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

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

«Самоидентификация» клавиатуры «Я — русский!»‑ спел недавно известный певец. Да и я, после 20 лет пользования клавиатурой, наконец‑то, устал вечно поправлять текст, набранный не в той раскладке клавиатуры (в голове держать всё невозможно!) и сделал индикацию текущей раскладки. Каз...

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

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

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

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

Волшебная таблетка, или Централизованная настройка параметров безопасности ОС Astra Linux с помощью ALD Pro Привет, Хабр! Я инженер в «Группе Астра» из команды ALD Pro. В статье расскажу, как мы создали расширенные групповые политики и инструмент для их применения на базе существующего механизма групповых политик ALD Pro. Благодаря этому получилось упростить настройку конечны...

Как я проектирую интерфейсы Привет, я Егор Камелев, проектировщик интерфейсов (UX-дизайнер). За последние 20 лет я поработал с командами десятков агентств, IT-отделов, действующих проектов и продуктов, стартапов (и запущенных, и незавершённых). Я знаком с сотней команд, не меньше. И среди них не нашлос...

database/sql: плохой, хороший, злой Многие Golang-разработчики  пробовали работать с БД в Go, и у каждого — свои боли. В этой статье разберём библиотеку database/sql как безотносительно конкретной СУБД, так и применительно к YDB. Рассмотрим трудности эксплуатации при использовании драйвера database/sql на...

Открыта запись на бета-тест Duet Night Abyss Разработчики Duet Night Abyss опубликовали пост на официальном сайте, где объявили набор игроков на предстоящий технический тест. Есть 3 способа принять участие. Первый это заполнить анкету, для которой сначала требуется зарегистрировать аккаунт от Hero Games. Второй вариант...

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

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

Тестируем приложение как сын маминой подруги или взгляд на Trace Based Testing Привет! Меня зовут Сергей, я бэкенд разработчик команды SEO в Банки.ру.В этой статье хочу описать свое знакомство с техникой Trace Based Testing (TBT): • расскажу о концепциях, которые чаще всего используются сейчас в тестировании• кратко опишу, что такое distributed ...

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

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

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

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

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

Электронный язык способен распознавать 4 вкуса и сорта вин Инженеры из Института науки и технологий DGIST в Южной Корее создали вкусовой анализатор, имитирующий работу человеческого языка

Вы за это заплатите! Цена Чистой Архитектуры Всем привет, меня зовут Артемий, я работаю старшим Android-разработчиком в команде пользовательского профиля в RuStore. Мой опыт в индустрии уже 8 лет. За это время я успел поработать в разных проектах и компаниях. У меня был опыт работы в проекте, в котором было свыше 300 м...

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

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

ClickHouse как бэкенд для Prometheus Привет! Меня зовут Михаил Кажемский, я Lead DevOps в IT-интеграторе Hilbert Team. В последнее время к нам часто обращаются заказчики, которым нужна помощь с организацией хранения долгосрочных метрик в российских облаках. Так как для многих эта задача сейчас актуальная, в дан...

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

Распознавание и перевод жестовых языков: обзор подходов Всем привет! В статье «Slovo и русский жестовый язык» мы рассказывали, как решаем задачу распознавания изолированных жестов, в статье «Русский жестовый язык: первое место в американском бенчмарке» делились результатами решения, а в статье «GigaChat и русский жестовый язык» р...

Задача Эйнштейна — большой тест LLM нейросетей на логическое мышление Я был вдохновлен ранее вышедшей статьей автора MikeMSN - "Задача Эйнштейна. ChatGPT, YaGPT2, Gigachat, Mistral Large" и решил провести большой тест наиболее популярных LLM нейросетей. Использовал для этого сайт Chatbot Arena, а также свой компьютер, на котором...

Вы кто такие, я вас не знаю, или Как мы делаем JWT-аутентификацию Привет! Меня зовут Данил, я backend-разработчик в Doubletapp. Почти во всех наших проектах есть пользователи, которые могут войти в систему. А значит, нам почти всегда нужна авторизация. Мы используем авторизацию, построенную на JSON Web Token. Она отлично сочетает в се...

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

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

Интеграция с ЕСИА на Node.js без CryptoPro [2024] Приветствую! Свою первую статью решил посвятить технической стороне интеграции с ЕСИА (Госуслугами). Считаю данный материал уникальным, поскольку пока разбирался в этой задаче не увидел ни одной статьи которая описывает интеграцию с ЕСИА без использования платной CryptoPro. ...

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

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

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

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

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

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

Камера как сканер штрих-кодов: проблемы, инструменты и эксперименты Всем привет, меня зовут Никита, я старший разработчик в компании Озон и работаю над iOS-приложением «Пункт Озон».«Пункт Озон» — это мобильное приложение для работников и менеджеров пункта выдачи заказов (далее просто ПВЗ). В приложении множество различных разделов для повсед...

Как показать номер версии на экране загру… Привет, Хабр! Меня зовут Сергей, и я 3 года работаю Android/iOS разработчиком. Написал с нуля приложение для фитнес-клубов (Google Play/App Store — если интересно, код под NDA, его не могу показать) и дорабатываю малоизвестный банк. За это время накопилось много интерес...

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

Сборник советов, как упростить работу с YAML-файлами YAML (.yml) — популярный язык для конфигурационных файлов, широко используемый DevOps в подходе «Инфраструктура как Код» (IaC). Несмотря на то, что работать с ним бывает проще, чем с тем же JSON (особенно в контексте взаимодействия с большими объемами данных), иногда использ...

NVIDIA и Hippocratic AI представили ИИ-помощника для медицинских работников NVIDIA в партнерстве с Hippocratic AI разработала помощника на основе искусственного интеллекта (ИИ) для здравоохранения, способный выполнять ряд задач лучше, чем другие крупные модели языка и человеческие медсестры. Основная цель проекта — помочь справиться с нехваткой меди...

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

JIRA + AI = LOVE или Как Product manager-у найти друзей и перестать страдать Развитие AI-инструментов на базе современных LLM запустило в последние годы тренд на автоматизацию всего, что прибито меньше, чем на 2 гвоздя, и первыми адоптерами здесь традиционно выступает IT сообщество. Как Луи Пастер некогда ставил себе и друзьям намешанные на голой кол...

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

Лонгрид о JavaScript JavaScript — ужасный язык программирования. По сравнению с другими распространёнными языками он выглядит генетическим уродом. Дело даже не в отсутствии многопоточности, или статической типизации, или того, что node_modules для про...

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

[recovery mode] Развертывание программного комплекса на Asp.net на российских ОС В России все больше пользователей и организаций используют российские Linux системы. Но при подготовке пакетов для комплексных решений на этих системах могут возникнуть сложности, связанные с несовместимостью ПО, необходимостью настройки пакетов и т.д. В этой статье рассмотр...

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

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

Итерируемся по enum'ам в C++ В этой статье я хочу поделиться простым и очевидным трюком в C++, о котором, не смотря на его простоту и очевидность, как оказалось, не все знают.Предположим, у вас есть enum class, и вы хотите пройтись по его элементам, то есть вызвать какую-то функцию для каждого из значен...

Выбираем инструмент проектирования интерфейсов для аналитика Всем привет! Меня зовут Бургомистренко Кристина и я — системный аналитик в компании заказной разработки Rubius. В этой статье я рассказываю про свой опыт проектирования и сравниваю несколько популярных инструментов для создания вайрфреймов, которые м...

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

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

[recovery mode] Кто такой Data Engineer Да, в этих ваших интернетах есть много материалов о том кто такой Data Engineer (DE), в том числе и на самом хабре. Но мне самому захотелось об этом рассказать. Опыт, хоть и небольшой, в этой сфере у меня есть (Сейчас Data Engineer в Сбер Образовании). ЭТА СТАТЬЯ НЕ ЯВЛ...

Как автоматизировать переобучение моделей? Меня зовут Денис, я управляю разработкой и внедрением моделей машинного обучения в «Газпромбанке» в розничный бизнес. Наша команда ML-инженеров работает в связке с DevOps, мне помогает мой коллега Виталий VitaliyF. Он готовит инфраструктуру для обучения и переобучения моделе...

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

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

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

Тачпад для управления гаджетами языком представили в действии Компания Augmental привезла на выставку CES 2024 доработанную версию контроллера MouthPad, позволяющего управлять разными устройствами с помощью языка

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

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

16-битная операционная система на коленках В мире компьютерных наук мало что может сравниться с созданием собственной операционной системы. В этой статье мы погрузимся в увлекательный мир разработки операционных систем, создав 16-битную ОС с помощью языка ассемблера NASM под архитектуру процессоров Intel x86-64. Мы р...

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

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

На что способны виртуальные потоки Java в обработке файлов Привет, Хабр!ПредисловиеНачнем с того,что я не специалист по Java и у меня нет коммерческого опыта на этом языке. Я просто обычный кодер, который по вечерам пилит проекты на Java, а основной мой стек состоит из PHP и смеси Python + Go. В данной статье хочу с вами поделиться ...

Step by step: интегрируем интерактивные 2D/3D-объекты в iOS-приложение Привет, Хабр! Меня зовут Степан, я iOS-разработчик SimbirSoft.В очередной раз открыв одно из ежедневных приложений, я обнаружил любопытную фичу: интерактивный 3D-элемент в виде звездочки. Казалось бы, ничего необычного, но это сделало взаимодействие с приложением немного при...

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

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

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

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

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

DebugMenu и визуальная иерархия элементов интерфейса В начале квартала, в Альфе, мы выбираем себе технические таски — задачи, направленные на техническое развитие проекта, а не на продуктовую составляющую. При выборе задачи хочется, чтобы она соответствовала нескольким условиям: • решает реальные проблемы нашей команды, у...

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

Flutter и ГОСТ TLS Меня зовут Куприёв Андрей, я Flutter‑разработчик в команде Центра развития финансовых технологий (ЦРФТ) Россельхозбанка. В этой статье мы рассмотрим, как реализовать поддержку протокола ГОСТ TLS в приложениях, разработанных на Flutter.Flutter, с ...

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

Spring Security 6. Авторизация и аутентификация на основе Базы данных Привет. Меня зовут Кирилл, я Java-разработчик. Несмотря на то, что уже год я работаю в компании, по прежнему стараюсь находить время для собственных проектов, с помощью которых осваиваю интересующие меня технологии и подходы. Именно на таком проекте я решил разобраться, как ...

[Перевод] Разработка SQL Expert Bot: подробный гайд по использованию Vercel AI SDK и API OpenAI OpenAI заложила фундамент для революции в сфере искусственного интеллекта с появлением ChatGPT, открывая новую эру в области AI, которую активно используют как отдельные люди, так и бизнес‑сообщества. OpenAI даже предоставила API для разработки ...

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

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

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

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

Обучение системного инженера. Путеводитель по ключевым навыкам и знаниям Всем привет! Меня зовут Максим, я работаю системным инженером в Yandex Cloud и в Яндекс Практикуме на курсе «Системный администратор». В этой статье я опишу свой субъективный взгляд на путь развития системного инженера (DevOps‑инженера, SRE, системно...

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

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

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

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

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

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

Наш опыт Android- и iOS-разработки в проекте Посмотрим на текущую ситуацию с разработчиками Android и iOS‑приложений. Обсудим варианты разработки мобильных приложений. Разберемся, как мы в стартапе NFCKEY работаем в этом направлении. Затронем особенности, которые возникают в связи с у...

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

Это реально? Что должен уметь джуниор системный аналитик по профессиональному стандарту Минтруда России Нам оставили немало комментариев к статьям по подготовке к собеседованию системного аналитика (СА) о том, что примеры со сложными вопросами по SQL, REST и диаграммам — избыточны. И что СА не обязан знать, как написать код обработки запроса на Python, И даже СУБД — тоже не сф...

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

Покрытие архитектуры as Code тестами

Call Activity vs SubProcess: В чём отличие? Приветствую моих читателей! Меня зовут Екатерина. Ранее 3.5 года я администрировала bpm-систему, сейчас вот уже более двух лет я работаю системным аналитиком и развиваю нашу собственную bpm-систему. В данной статье хочу рассказать о дилемме, с которой столкнул...

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

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

Как QA собеседование проходил Привет, Хабр!Меня зовут Тоня. В SM Lab я работаю старшим инженером по обеспечению качества в команде продукта Интра — занимаюсь ручным тестированием и написанием автотестов на Kotlin. В этой небольшой статье хочу рассказать, как я искала работу и проходила собеседования чере...

Как написать новостной Телеграм-канал если ты не программист. Часть первая Всем привет! Попробую написать трилогию покорения основ Python, отражающую мой путь любителя с “паяльником”. Тут не будет основ, чистого кода, отсылок к требованиям PEP-8, практически не будет ООП.Всех суровых Senior’ов, читающих данный материал, прошу понять и простить. Я н...

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

[Перевод] Как устроено автоматическое удаление мёртвого кода в Meta* В фреймворке Systematic Code and Asset Removal Framework (SCARF) компании Meta* есть подсистема выявления и удаления мёртвого кода. SCARF использует статический и динамический анализ программ для выявления кода, мёртвого с точки зрения как бизнеса, так и языков программиро...

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

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

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

АБ тесты и подводные камни при их автоматизации Задача оценки нововведений в онлайн и мобильных приложениях возникает повсеместно. Один из наиболее надёжных и популярных способов решения этой задачи - двойной слепой рандомизированный эксперимент, также известный как АБ-тест.На тему АБ-тестирования доступны как статьи на Х...

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

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

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

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

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

Бенчмарк Whetstone — исторический тест оценки производительности Продолжаю работу по обзору старых кроссплатформенных тестов оценки производительности, первая статья про целочисленный бенчмарк Dhrystone Тест разработан Гарольдом Керноу (CCTA) в 1972 году на языке Algol-60, в 1973 появляется реализация на языке Fortran, а в 1996 году появл...

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

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

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

[Перевод] Язык Janet для смертных. Часть 1 — Значения и ссылки Это первая глава перевода небольшой книги о языке Janet за авторством Иана Генри (Ian Henry). В этой книге раскрываются различные аспекты работы с языком, обьяснение синтаксиса и некоторых приемов программирования. Внимание, в этой публикации содержатся скобочки! Люди с неп...

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

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

Путь iOS-разработчика: как я много собеседовался и попал на стажировку Привет! Меня зовут Владислав Латышев, мне 28 лет, и сейчас я прохожу стажировку в Банки.ру как iOS-разработчик Я пробовал себя в разных специальностях — получил финансовое и менеджерское образование, занимался бухгалтерией, стал кандидатом в мастера спорта, был тренером по ф...

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

[Перевод] Starting Electronics: руководство по веб-серверам на Arduino. Часть 17. Завершающий урок и итоги От переводчика. Итак, дорогие друзья, нам с вами всё-таки удалось совершить маленькое чудо — перевести на русский язык и сделать доступным для широкого круга русскоговорящих любителей электроники, микроконтроллеров и IT технологий, можно сказать, культовый курс по построен...

В помощь тем, кто погружается в Smali Целевая аудитория этой статьи — люди, которые решили заняться исследованием .apk файлов, имеющие опыт разработки под Android и знакомые с основами синтаксиса Smali. Эта статья является оригинальной и ранее нигде не публиковалась. При копировании, прошу указывать ссылку на э...

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

15 отличных подкастов про стартапы и развитие ИТ-проектов на русском языке Лайфхаки, живой опыт и ошибки, скрытые возможности на разных рынках, а еще новые идеи для развития своего продукта – все это вы найдете в свежих подкастах из подборки.   Читать далее

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

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

Разрабатываем дизайн-концепцию IT-системы: этапы аналитики и дизайна Привет, Хабр! Меня зовут Юлия, я старший аналитик-проектировщик компании SimbirSoft. Работаю в сфере IT более 10 лет, в моем портфолио создание более 20 IT-систем для различных проектов: флагмана металлургии, медицинского проекта (6 стран присутствия), автомобилестроительной...

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

Intel рассказала, как искусственный интеллект помогал ей при разработке процессоров Meteor Lake Искусственный интеллект используется во многих сферах, и один из вариантов — разработка новых чипов. Intel поделилась информацией, как использовала ИИ при разработке своих новейших процессоров Meteor Lake.  создано DALL-E Судя по всему, пока ИИ используется ...

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

Как мы перевернули подход к созданию интерфейсов ОС В мире очень немного дизайн-команд, которые занимаются разработкой дизайна операционных систем (Apple, Google, Huawei, Microsoft и т. д.). И это дает таким командам уникальную возможность создавать дизайн-решения, которые могут стать трендсеттерами на рынке. При этом у всех...

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

Войти в ИТ через тестирование: опыт QA-инженеров hh.ru Привет! Меня зовут Олег Водянов, и я QA-инженер в hh.ru.  Свой путь в тестировании я начал в качестве джуна в далёком 2018 году. Всё, что мне тогда понадобилось для трудоустройства — это прочитать и законспектировать теоретическую информацию с сайта www.protesting.ru, н...

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

ASCII-арты на python Здравствуйте уважаемые читатели, в этой статье я расскажу Вам как делать ASCII-арты при помощи языка python, на примере моего кода. Читать далее

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

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

Опыт использования бизнес-процессов Битрикс в рамках крупного корпоративного портала Наша команда специализируется на разработке и развитии функционала корпоративного портала группы компаний НЛМК.На практике мы сталкиваемся с самыми разными задачами: от вывода ленты новостей компании и простейших форм обратной связи до функционала оценки качества работы сотр...

[recovery mode] Как мы делаем веб-сервис для автоматизации рабочих задач на базе агентов LLM Друзья, всем привет! Сегодня хотим рассказать про то, как мы — Виталий, Даниил, Роберт и Никита — при поддержке AI Talent Hub, совместной магистратуры Napoleon IT и ИТМО, создаем Цифработа — сервис цифровых работников, который помогает оптимизировать временные затраты у сотр...

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

ИНЬ-ЯН в UI/UX дизайне Привет, Хабр! Меня зовут Иван Вербов, я UI/UX дизайнер команды разработки платформы контейнеризации dBrain.cloud. Эта статья адресована моим коллегам-юиксерам, а также всем, кого затрагивают задачи анализа, обсуждения и согласования предложений и результатов работы над диз...

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

Один на 150 миллионов операций. Расследуем причины выброса времени отклика в операциях ввода-вывода Привет! Я Александр Пищулин, перфоманс-инженер в компании YADRO. Сегодня расскажу об одном интересном случае траблшутинга в работе с системой хранения данных — он касается выброса времени отклика. Поиск причин сбоев, наверное, одно из самых увлекательных занятий в моей работ...

Моделирование размещения хабов в pyomo Транспортные, телекоммуникационные и компьютерные сети часто используют Hub-and-Spoke архитектуру для эффективной маршрутизации потоков между множеством отправителей и получателей. Особенность такой топологии заключается в использовании специального объекта сети - хаба. Хабо...

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

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

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

Использование LLM в автоматизации рутинных задач Всем привет!На связи Георгий Бредис, Deep Learning Engineer из команды Intelligent Document Processing в SberDevices. Наша команда занимается задачами автоматизации бизнес-процессов путем извлечения информации из неструктурированного контента и созданием сервисом суммаризаци...

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

Решаем трудности адаптации мобильных приложений с Responsive_framework Hola, Amigos! Меня зовут Ярослав Цемко, я Flutter-разработчик в компании заказной разработки Amiga. Сейчас я расскажу об очень крутом плагине, который помог нам решить проблемы, связанные с адаптацией контента под разные дисплеи в одном из наших проектов. Читать далее

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

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

PHP/FI 1. Personal Home Page Tools/Forms Interpreter История зарождения PHP История PHP начинается не с полноценного языка программирования, а с набора CGI-скриптов на C, известного как PHP/FI 1. В этой статье мы возвращаемся к истокам PHP, рассматривая его первую версию, её компиляцию и функциональность. Читать далее

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

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Статьи про инди-разработку игр — это всегда интересно и занимательно. Но статьи про разработку игр с нуля, без каких-либо игровых движков — ещё интереснее! У меня есть небольшой фетиш, заключающийся в разработке минимально играбельных 3D-демок, которые нормально работали б...

SQL HowTo: итоги по строкам и столбцам «в одно действие» Немного отвлечемся от простых SELECT и посмотрим на реальной бизнес-задаче построения различных "тепловых карт" и "шахматок", как знание возможностей SQL может облегчить жизнь и разработчику, и его базе. Читать далее

Реализация многооконного приложения на Vue 3 В наше время чуть ли не каждое приложение использует браузерный клиент. Это просто в написании, это кроссплатформенно, это легко в использовании. Браузерные решения уже активно используются и в промышленной сфере: аналитиками, операторами. WEB-приложения для управления промы...

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

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

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

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

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

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

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

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

Российские инженеры создали компьютер для небольших беспилотников Инженеры лаборатории «ФабЛаб» Крымского федерального университета им. В.И. Вернадского разработали одноплатный компьютер для работы с машинным зрением на борту беспилотных устройств. Модель получила название Grape Pi 1, её размеры составляют 40х40 мм, к...

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

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

Два сапога — пара, а три — уже community: как алгоритмы на графах помогают собирать группы товаров Привет, Хабр! Меня зовут Иван Антипов, я занимаюсь ML в команде матчинга Ozon. Наша команда разрабатывает алгоритмы поиска одинаковых товаров на сайте. Это позволяет покупателям находить более выгодные предложения, экономя время и деньги.В этой статье мы обсудим кластеризаци...

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

Как автоматизировать использование дизайн токенов с помощью Stylelint и PostCSS Привет, Хабр!Меня зовут Саша и вот уже 7 лет я работаю фулстек разработчиком и пишу на C# и TypeScript/React.Сегодня я хотел бы поделиться своим небольшим успехом в автоматизации. В какой-то момент я понял, что во время код ревью я указываю разработчикам на одни и те же ошиб...

Путь из бизнес-аналитика в программного роботизатора Привет, Хабр! Меня зовут Леонид Бычков, я руководитель продукта ROBIN CLOUD в команде ROBIN, входящей в SL Soft. Это моя первая статья здесь, и для знакомства расскажу, как пришёл к тому, чем сейчас занимаюсь, — опишу своего рода путь в ИТ без программирования. Уверен, что N...

Был программистом, а стал системным аналитиком: что хорошего в смене специализации и каких ошибок лучше не совершать Если вы задаётесь такими вопросами, как «точно ли я занимаюсь тем, что нравится?» или «как сменить сферу деятельности?», тогда эта статья однозначно для вас. В ней я поделюсь:• тем, как я выбрал свою первую профессию программиста;• почему решил сменить её и ушёл в системный ...

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

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

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

Реализация кодека 66b/64b на языке VHDL В протоколах передачи данных для стабильной работы используются кодеки, выбранные разработчиками с учётом следующих требований:равномерное распределение 0 и 1 в каналепростота кодирования/декодированияиметь небольшую избыточностьОдин из самых распространённых протоколов, о к...

[Перевод] Что нужно знать, чтобы успешно пройти System Design Interview Для любого разработчика глубокое понимание основных принципов системного проектирования является необходимым условием для создания стабильных и масштабируемых программных систем, способных обеспечивать высокую производительность. Системное проектирование (System Design) вклю...

Личный опыт: переход с Redux на Effector. И при чем тут DX Frontend-разработка очень богата различными инструментами. Новые фреймворки и библиотеки выходят чуть ли не каждый день и, к сожалению, не все из них одинаково полезны или могут сделать ваш продукт лучше. Кроме того, они различаются по степени удобства именно для разработчик...

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

Одно, чтоб править всеми: как мы сделали хаб для сопровождения СУБД Работа в СУБД — это множество разноплановых задач: создание новых продуктов, плановые обновления, работа с инцидентами. По мере цифровизации компании количество таких задач растёт, очередь запросов наполняется. Всё больше времени уходит не на решения, а на подготовку — сбор ...

Samsung Galaxy AI получит поддержку русского языка К существующим в Galaxy AI 13 языкам добавляются новые, в том числе арабский, индонезийский и русский.

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

Мой первый опыт с VyOS. Часть 1 Привет хабр!Меня зовут Берик, я работаю системным администратором в IT холдинге SAMGAU, где отвечаю за IT инфраструктуру. Хочу написать серию статей где поделюсь своим опытом по использованию VyOS. Читать далее

Как совмещать работу с учебой. Что-то про тайм-менеджмент Всем привет! Меня зовут Даша и я системный аналитик компании SM Lab. Работаю в команде Brand Planning Tool. Наша команда BPT помогает брендам (таким как Fila, Demix, Northland) запускать новые коллекции. В этом я году закончила бакалавриат и поступила в магистратуру по напр...

Протектор и LLVM-обфускатор. Сравнение двух подходов к решению задачи запутывания кода Добрый день, Хабр! В данной заметке я постараюсь сравнить два разных подхода к задаче запутывания машинного кода – это протектор и обфускатор, построенный на базе LLVM-фреймворка. Нам пришлось с этим столкнуться, когда возникла задача защиты библиотек Guardant под разны...

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

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

Настройка NVMe over TCP — для тех, кому надо подключить больше 1 диска единственной конфигурации из всех примеров в Сети Технология NVMe через различные фабрики (далее NVMeOF) оформлена в качестве стандарта летом 2016 года, она была встроена в пятую ветку ядра Linux.Поэтому, когда было решено мигрировать объемные базы данных с легаси-решений на общедоступные платформы, возник вопрос — можно ли...

Успешный опыт участия в Data Science хакатонах В статье я хочу поделиться успешным командным и личным опытом участия в хакатонах и ML соревнованиях. На примере 13-ти соревнований, по итогу которых мы победили или оказывались на призовых местах, я рассажу о практических советах для будущих участников. На личном опыте я уб...

[Перевод] Одна игра, один разработчик, шесть платформ Недавно компания Valve объявила о том, что Counter-Strike 2 не будет поддерживать macOS. Я инди-разработчик, в одиночку выпустивший игру с поддержкой macOS, поэтому поначалу меня удивило это решение Valve. Но вспомнив о своём собственном опыте поддержки шести платформ, я нач...

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

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

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

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

Account Abstraction: что это такое и зачем нужно криптомиру Привет всем! Меня зовут Паша, я web3 разработчик в команде MetaLamp, мой основной стек – Solidity. Последнее время я часто сталкивался с задачами, требующими применения технологии Account Abstraction, поэтому я решил собрать базовые знания о ней в одну статью. Эта статья пом...

Оптимизация DevOps: Как персональные стенды и Grafana улучшают разработку и мониторинг Всем привет, меня зовут Зуев Алексей, и я работаю DevOps-инженером в компании Bimeister! Сегодня я расскажу вам о том, как мы облегчаем жизнь нашим разработчикам и как разработчик может отследить состояние своего микросервиса в namespace Kubernetes. Основная цель этой статьи...

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

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

Обзор книги «С++ 20 в деталях»: доступно, но не для джунов Привет, Хабр! Меня зовут Дмитрий Луцив, я работаю в СПбГУ на кафедре системного программирования, веду ряд IT-дисциплин на математико-механическом факультете в лабаратории компании YADRO и помогаю вузам актуализировать образовательные программы под задачи индустрии, как сотр...

[Перевод] Hono vs. H3 vs. HatTip vs. Elysia — современные замены Express для сервера (или без сервера) H3 отмечает, что Express.js - старый и малоразвивающийся фреймворк, являющийся не оптимальным выбором для новых проектов из-за потенциальных проблем безопасности и утечек памяти, что, к слову, касается и Koa.В нашей статье мы сделаем акцент на фреймворках, поддерживающих зап...

Как упростить себе жизнь: удобные юнит-тесты с JUnit и AssertJ Для тестирования Java-приложений создано столько полезных инструментов, что в них немудрено запутаться. Вместе с тем с помощью каждого из них можно решить строго определенный круг прикладных задач. Меня зовут Константин Шибков, я старший Java-разработчик CDEK и программный д...

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

Как делить пользователей на группы в АБ-тестах: ошибки и рекомендации В предыдущих статьях статья 1, статья 2, статья 3 мы рассмотрели основные подводные камни автоматизации и анализу АБ тестов, привели подробный обзор статей по этой теме, а так же рассмотрели типичные задачи аналитика данных. В контексте АБ-тестов одним из ключевых аспектов я...

Cloud Native или cloud-native: как мы разбирались с написанием термина и почему Open Source тоже пишут без дефиса На днях мы работали над переводом глоссария CNCF и начали спорить о том, как писать словосочетание cloud-native. Раньше мы использовали название с дефисом — такое правило применяется к составным прилагательным в английском языке (пример — well-known actor). «Википедия» в ста...

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

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

MLOps в билайн: как катить машинное обучение в production без ML-инженеров. Часть I Всем привет! Меня зовут Николай Безносов, я отвечаю за применение и развитие машинного обучения и продвинутой аналитики в билайне. В одной из прошлых статей мои коллеги рассказывали о месте Seldon в ML-инфраструктуре компании, а сегодня мы поднимемся на уровень выше и погово...

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

Как я проходила стажировку в отделе аналитических решений почти без опыта работы с данными Привет, меня зовут Луиза, я инженер данных в ЮMoney — работаю здесь уже год. Мы собираем данные, структурируем их, храним и создаём аналитические решения, например OLAP-кубы и дашборды. Департамент разделён на несколько команд, у каждой своя предметная область. За год я прев...

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

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

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

Обзор языка Erlang и его синтаксиса Привет, Хабр! История Erlang 80-х годах прошлого века в стенах шведской компании Ericsson. Он был разработан первоначально для нужд телекоммуникаций, Erlang задумывался как инструмент для создания распределенных, отказоустойчивых систем с возможностью быстрого обновления код...

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

Нельзя писать безопасный код на C++ без санитайзеров С++ видится мне огромным франкенштейном: очень уж много разнообразных способов описать свои намерения. В добавок к этому язык пропагандирует политику zero-cost abstractions, из которой следует (помимо прочего), что программист в ответе за все св...

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

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

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

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

Сбер представил модели ИИ, способные распознавать русский жестовый язык Команда Сбербанка на международной конференции по искусственному интеллекту AI Journey представила нейросетевые модели, позволяющие распознавать русский жестовый язык. Фото: Nic Rosenau / Unsplash Команда Vision RnD в SberDevices, разрабатывающая одно из таких решений,...

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

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

Как успешно пройти собеседование на Technical Product Manager в Тинькофф? Личный опыт Всем привет, меня зовут Виктор и на днях я выхожу в Тинькофф на позицию тех-продакта в Платформу базовых мобильных технологий.Во время подготовки к собеседованиям мне очень помогла статья на Хабре, однако там речь шла о позиции QA. Поэтому в этой статье я хочу рассказать о л...

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

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

Как я написал программу для преданалитики клиентов Привет! Меня зовут Александр Кулагин. Я не занимался разработкой профессионально, но заинтересовался созданием нейросетей. После изучения основ Python, NumPy и TensorFlow я захотел попрактиковаться на реальных задачах. Так я решил создать проект, который оценивает, какие ком...

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

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

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

Экстремальные практики программирования: что, как и зачем Всем привет! Меня зовут Сергей Бережной, я работаю в Яндексе уже 18 лет: в 2005 году пришёл разработчиком интерфейсов, потом руководил подразделениями разного размера, а сейчас я директор по взаимодействию с разработчиками. Ещё я много занимаюсь обучением: в рамках наших сез...

Мой краш-тест чемпионата: Победа в Data Science треке Привет! В статье я расскажу о моем опыте победы в чемпионате "CUP IT 2023" от Changellenge в области Data Science. Соревнование построено на кейс-подходе, где участники решают реальные бизнес-вызовы, с которыми сталкиваются сотрудники компаний VK и Альфа-Банка. Я успешно спр...

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

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

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

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

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

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

Внутренний Я(ндекс) В этой статье я хочу описать (часть) моего опыта взаимодействия со структурой, именуемой в дальнейшем "яндекс", с точки зрения работника. Опишу собеседования и этап "входа".Да, уже были статьи про собеседование и даже в эту же структуру, некоторые из них я видел, но не во вс...

Как пройти собеседование на позицию системного аналитика в 2024 году Привет, Хабр! Меня зовут Андрей Царев — я системный аналитик, технический интервьюер и ментор.Системный анализ — одно из популярных направлений в ИТ. Но далеко не все представляют, как правильно готовиться к интервью и проходить их. В&...

Простые шаги к эффективному code review Всем привет! Меня зовут Владислав Шиханов, я ведущий программист в CDEK. В нашей компании работает около 500+ IT-специалистов, именно мы создаём продукты и сервисы, из которых и состоит СДЭК. Моя команда разрабатывает сервисы для автоматизации процессов п...

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

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

Зачем главному транспортному институту Москвы собственная IT-команда Привет, Habr! Меня зовут Юрий Бутенко, я директор по технологическому развитию НИИ «МосТрансПроект». IT-команда нашего института играет одну из ключевых ролей в развитии транспортного комплекса Москвы, проводя исследования и предоставляя удобные цифровые серви...

Как мы выстроили процесс работы с макетами Меня зовут Алина Шилова, я работаю системным аналитиком над внутренними продуктами Tele2. Вот уже два года наша команда занимается разработкой портала для сотрудников компании. Специально для создания платформы была набрана команда. За 10 лет работы в ИТ-сфере это был мой пе...

Миграция с Webpack и react-scripts на Vite: Путь к Быстрому и Легковесному React Я работаю фронтенд-разработчицей в IT-компании, и многие из моих проектов на протяжении долгого времени собирались с использованием Webpack. Настройка Webpack иногда бывала сложной, но в целом он справлялся с задачей сборки проектов. Однако в последнее время мои коллеги нача...

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

Обзор Helm Dashboard — графического интерфейса для управления релизами Kubernetes Часто разработчики предпочитают использовать именно визуальные средства, чтобы более эффективно управлять релизами Kubernetes. Один из таких инструментов — Helm Dashboard. С его помощью можно самостоятельно создавать, развертывать, обновлять различные релизы Kubernetes-прило...

Как мы оптимизировали процессы обеспечения качества Привет! Меня зовут Таня, я куратор в SM Lab. В этом посте я расскажу вам о нашем пути оптимизации тестирования — узнаете, какие на нашем продукте были проблемы в процессах тестирования, как мы их решали, почему не надо отвлекать тестировщиков и в чём польза интуитивного тест...

О внутрикластерной маршрутизации через Istio Привет, Хабр! Я Степан, DevOps‑инженер, занимаюсь созданием CI/CD процессов с учётом проверки кода на безопасность, поддержкой и разверткой новых кластеров Kubernetes, соблюдением требований безопасности и созданием системы мониторинга и логирования — все это ...

Управление цветами в Seaborn: как эффективно визуализировать данные Привет, Хабр. В этой статье я расскажу про своё видение работы с цветом при визуализации графиков. Буду показывать все на примерах — уверен, они вам понравятся.Я покажу не только картинки было-стало, но и приведу примеры кода, а также объясню логику принятия решений: как исп...

Как мы внедряли каталог данных DataHub и искали компромисс между BI, DWH и ИБ Счастлив тот аналитик, у которого в компании есть дата-каталог — единая точка входа для поиска информации о данных невероятно экономит время, data lineage выстроен, а уровень заполненности документации на высоком уровне. Чтобы это были не только мечты, наша команда анал...

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

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

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

Обработка данных для RAG-систем Всем привет, меня зовут Андрей Шахов, я Python-разработчик и Lead Backend Developer в wpp.digital. ML-направлением, а точнее LLM в компании я начал заниматься только в конце 2023 года. Сейчас на задачи подобного рода у меня уходит примерно 40% рабочего времени.Решил начать п...

[recovery mode] Ваша емайл-рассылка нуждается в AMP-emails прямо сейчас В данной статье я расскажу про AMP-emails из личного опыта разработки , покажу примеры какие бывают емайлы, как их можно отправлять, в каких областях емайл-маркетинга они могут использоваться. У меня более 4 лет опыта работы с AMP-emails и мне есть чем с вами поделиться Чита...

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

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

Коротко про алгоритмы и структуры данных Привет, Хабр! Меня зовут Ричард, я работаю в команде kPHP в VK, занимаюсь разработкой kPHP, плагинов для IDE, а также другого инструментария, делая жизнь разработчиков проще. В своей работе мне приходится иметь дело с PSI деревьями, AST, самопис...

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

[Перевод] Rust 1.77.0: C-подобные строки, offset_of!, рекурсивные async fn, strip в release-профилях Команда Rust рада сообщить о новой версии языка — 1.77.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение. Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.77.0 ва...

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

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

Войти в ИТ после 45-ти: личный опыт смены профессии Привет, Хабр! Меня зовут Базянова Зиля, я работаю ведущим инженером Блока обеспечения и контроля качества выпуска изменений ПО в РСХБ-Интех. В статье хочу затронуть вопрос касательно смены профессии в возрасте 45+ и поделиться своей историей. Читать далее

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

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

[Перевод] Пишем графический ASCII-калькулятор с помощью стандартной библиотеки Си Программа calculator.c родилась как школьный проект в рамках Student Innovation Scholarship. Сперва я решил написать простой инструмент для построения графиков функций с помощью символов ASCII, но после завершения первого прототипа понял, что задача намного сложнее, чем пре...

Google объявила о выпуске Gemma 2B и 7B — открытых версий ИИ-модели Gemini Gemma 2B и Gemma 7B - это небольшие модели искусственного интеллекта с открытым исходным кодом для языковых задач на английском языке

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

Правда ли то, что национальный корпус русского языка «приватизирован» Яндексом? Где-то неделю назад на Хабре увидел тезис другого автора о том, что мол НКРЯ поддерживается на бюджетные средства, но де-факто контролируется компанией Яндекс, которая ведёт себя как собака на сене и де-факто приватизировала корпус и никому его не даёт. Такое же примерно мне...

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

Разработка и применение систем разграничения доступа на базе атрибутов Привет! Меня зовут Михаил, в Positive Technologies я руковожу бэкенд-разработкой метапродукта MaxPatrol O2. В этой статье я расскажу, зачем нам в компании понадобилось разграничение доступа на основе атрибутов. Его еще называют ABAC (attribute-based access control). Рассмотр...

7 причин моей гибкости. Как работают принципы ITIL Привет, меня зовут Кирилл, в СИГМЕ я работаю в департаменте решений SAP. И речь сегодня пойдет о 7 руководящих принципах ITIL, которые я хочу раскрыть на собственных примерах. Эти принципы не новы, но, как бывает с классикой, — к ней хочется возвращаться. Тем более что обозн...

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

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

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

Кратко про лидеров рынка Runbook Automation: Ansible, Puppet, и Chef Runbook Automation — это процесс использования специальных программных решений для автоматизации выполнения повторяющихся задач и процедур, которые в традиционных условиях выполняются вручную операторами IT-систем. RBA находит применение в автоматизации широкого спектра опер...

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

Самообучение ИТ-специалиста: мой эксперимент с ChatGPT Процитирую автора древнеримского романа «Сатирикон»: «Чему бы ты ни учился, ты учишься для себя». Актуальности она не потеряла и по сей день. Так что, как вы уже могли понять, речь в статье пойдет про самообразование. А точнее — про то, как его можно разнообразить и попробов...

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

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

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

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

eSIM и протоколы спецификации GSMA SGP.02: кейс МТС Привет, Хабр! Меня зовут Алексей Степанов, я работаю аналитиком в проектах IoT Connected Car и eSIM M2M в «МТС Диджитал».Среди наших клиентов — совершенно разные компании. Производители умных счётчиков для воды, терминалов для эквайринга, и даже автомобилей.В этом посте расс...

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

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

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

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

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

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

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