Программирование — это не только алгоритмы и логика, но и удивительное разнообразие синтаксиса языков. Работая над новым средством подсветки синтаксиса для llamafile, разработчик Justine Tunney* исследовала 42 языка программирования — от классического C и экзотического Tcl до мощного Ruby.
Justine делится своими открытиями о том, насколько причудливым и непредсказуемым может быть лексический синтаксис. Например, триграфы в C — устаревший инструмент для поддержки клавиатур с ограниченными символами, фиксированные длины строк в FORTRAN, вложенные комментарии в Haskell или строки с двойными квадратными скобками в Lua. Ruby вообще оказался чуть ли не самым сложным языком для подсветки из-за его контекстно-зависимого синтаксиса.
Под катом вы найдете описание разработки инструмента подсветки и исследование того, как языки программирования решают одни и те же задачи по-разному. Если вам интересны синтаксис, языковые особенности и сложности лексического анализа – эта статья для вас.
*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис
Читать далееВсем привет! Сегодня в эфире – редкая тема, про IIoT. Команда промышленной аналитики и интернета вещей GlowByte обобщила и структурировала мысли о возможностях цифрового производства, которые, на их взгляд, раскрываются и развиваются одновременно при правильной организации цифровой трансформации производства и конфликтуют друг с другом – при неправильной.
Читать далееПрогнозирование временных рядов играет ключевую роль в самых разных отраслях: от предсказания тенденций на фондовом рынке до оптимизации цепочек поставок и управления запасами.
Однако традиционные модели, такие как ARIMA, экспоненциальное сглаживание (ETS), Prophet, а также современные подходы глубокого обучения — например, LSTM и архитектуры на базе трансформеров — сталкиваются с рядом проблем.
Читать далееВ этом посте затронем тему про Chaos Engineering и роль мониторинга в обеспечении отказоустойчивости сложных ИТ-систем. Возможно, вы уже слышали про термин хаос-инжиниринг, и если ваша ИТ-инфраструктура обслуживает критически важные сервисы с большим числом пользователей, то самое время добавить ей надежности, внедрив этот самый Chaos Engineering вместе с системой зонтичного мониторинга.
Читать далееВ 1999 году Джонатан Кац, профессор физики из Университета Вашингтон, опубликовал пост с названием «Не становитесь учеными!». В нем он с горечью посоветовал молодым людям не выбирать карьеру ученого, несмотря на ее большую эмоциональную и интеллектуальную отдачу. Дело в том, что молодежь, мечтающая о науке, зачастую имеет смутное представление о карьерном периоде после защиты докторской диссертации, т. н. пост‑докторантуре. Зачастую совпадая с самым плодотворным в физическом и интеллектуальном плане возрастом после 30 лет, пост‑докторантура характеризуется грабительски низкой оплатой труда и нелимитированным рабочим временем; отсутствием гарантированного рабочего места с туманными перспективами получения постоянной позиции — также низкооплачиваемой — на основании редких открытых конкурсов; частым отсутствием свободы выбора тем исследований из‑за постоянной гонки за грантовым финансированием. По словам профессора Каца, «Я знал больше людей, которые разрушили свою жизнь, получив PhD по физике, чем наркоманов.»
Спустя четверть века после публикации манифеста, 20 января 2025 года международной группой ученых в журнале Proceedings of the National Academy of Sciences были опубликованы результаты социологического исследования, посвященного периоду пост‑докторантуры на основе анализа карьерного пути более сорока пяти тысяч ученых (препринт доступен по ссылке). Изменилась ли ситуация?
Читать далееМелочам вроде входа в систему и создания пользователя зачастую уделяется мало внимания --- те, кто пишет книги, по сто раз на дню это делают, не задумываясь, а потому и расписывают максимум на полстраницы. Мне приходилось не раз сталкиваться на практике с тем, что самой большой проблемой при изучении работы с программой является не сама работа, а установка и настройка всех приложений, которые вам для этого могут понадобиться. Многие ученики нуждаются в чётких однозначных инструкциях с пояснениями, что и почему они делают, повторимых на все сто процентов, иначе с большими проблемами столкнёшься задолго до того, как начнёшь изучать то, ради чего вообще пришёл, а это очень неприятно.
При обучении студентов работе с базами данных мной была выбрана СУБД PostgreSQL --- хотя она и считается несколько сложной для изучения, чем та же MySQL, это достаточно популярный и к тому же бесплатный продукт, с открытым исходным кодом, и самое главное --- у неё есть в том числе и российские корни. С литературой по PostgreSQL ситуация оказалась двоякой: с одной стороны, книг по ней не так уж и много, как хотелось бы (мейнстримом является MySQL, многие примеры оттуда работают и здесь), в результате чего найти хорошее объяснение или примеры по тому или иному вопросу может быть затруднительно. С другой стороны, с 2015 года компания Postgres Professional делает полный перевод документации PostgreSQL на русский язык, за что им огромное спасибо. Но... Всё равно этого не хватает. В общем, если вам нужно установить PostgreSQL и вы уже столкнулись при установке с какими-то трудностями, добро пожаловать под кат!
Читать далееОчень много в последнее время слышно замечаний в адрес PHP – мол, медленный, тяжелый, неповоротливый, все давно микросервисы на Go/Java/(нужное подставить) пишут. В этой статье я постараюсь расписать плюсы, минусы и результаты нашей попытки ускорить проект на PHP с использованием RoadRunner.
Читать далееУглерод, как известно, имеет две основные кристаллические разновидности – графит (гексагональная) и алмаз (кубическая). Алмазоподобный углерод – материал из аморфного углерода с преимущественно тетраэдральными связями углерода; обладает некоторыми свойствами алмаза. В англоязычной литературе популярны следующие термины: ta-C (tetrahedral amorphous carbon, тетраэдрический аморфный углерод); DLF (diamond-like film, алмазоподобная плёнка); DLC (diamond-like carbon, алмазоподобный углерод); DLC films (плёнки из алмазоподобного углерода).
Читать далееЯзыковые нейросетевые модели как только не тестировали: от решения олимпиадных задач до создания шедевров мировой литературы. У нас же родилась идея протестировать их на более прикладном уровне. А именно, сможет ли нейросеть играть по правилам в настольную игру, которая сложнее, чем крестики-нолики, и заодно посмотреть, как поведет себя в работе с LLM связка из четырех видеокарт Radeon RX 7900 XTX с 24 гигабайтами видеопамяти.
Читать далееСтатья возникла как разросшийся комментарий на Как собрать идеальную команду, если кандидаты завышают опыт, используют ChatGPT и просят высокую зарплату. Хотел написать комментарий, но сказать есть много чего.
В целом исходная статья проповедует правильные ценности, но давайте на те же вопросы посмотрим со стороны соискателя.
ПоехалиНу что ж, я продолжаю рассказывать о том, что было на выставке «РЭД Экспо». На очереди — игровой проект, получивший финансирование от Института развития интернета (ИРИ), в который хочется играть, а именно sci‑fi RPG «Сатурн». Эта игра — ещё одно доказательство того, что если сработанной команде государство выделяет деньги, может получиться хороший продукт. Я начал играть, и мне пока интересно, и не душно. Посмотрим, что будет к концу. Я даже поддержал разработчиков (купил саундтрек), потому что игра бесплатная. Пока я делаю обзор на игру, предлагаю вашему вниманию интервью с пиар‑директором игры «Сатурн» Иваном Орловым. В интервью он расскажет, почему игра «Сатурн» бесплатная, сложно ли было отчитываться перед ИРИ и будет ли мобильная версия игры. Приятного чтения!
Читать далееПривет, %USERNAME%. Помнишь то чувство, когда у тебя есть свободный день и можно прямо с самого утра поставить в CD-ROM диск с купленной накануне игрой? А потом начать изучение нового для себя мира. Я был там, Гэндальф, это было 3 000 лет назад! До сих пор помню тот звук жесткого диска, с которым прогружалась Windows 98, плюс легкое потрескивание CRT-монитора при включении.
Казалось бы, сейчас, в рассвет виртуализации, можно вообще не заморачиваться покупкой реального «ретрожелеза». Но мне хотелось именно той аутентичности и тех самых эмоций. Четверть века назад моим ПК был самосборный экземпляр на базе Intel Pentium II. Поэтому было решено собрать похожую конфигурацию и посмотреть на работу такого ПК глазами современного пользователя. Предлагаю посмотреть, что получилось.
Читать далееНе так давно стала задача создать персональный чат-бот ассистент для компании занимающейся интернет разработкой. Система должна была иметь как Backend, отвечающий за работу с локальной нейросетью, так и простой FrontEnd виджет на JavaScript, который можно подключить на любой из страниц компании. Ресурсов описывающих работу RAG-систем полно, однако руководств которые расскажут и поэтапно проведут разработчика через все необходимые шаги я не нашел. Тем самым постараюсь восполнить пробел в данной статье.
Читать далееПреимущества асинхронного взаимодействия ясны многим, однако работа с библиотекой WebFlux часто вызывает затруднения у Java-разработчиков
В этой статье разложены основы работы с webclient и реактивными стримами, взаимодействия Издателя и Подписчика, а также обработки ответов и ошибок, возникающих в процессе выполнения программы
Читать далееОценка LLM-систем вручную — это утомительное, времязатратное и порой раздражающее занятие. Поэтому, если вам приходилось многократно прогонять набор промптов, чтобы вручную проверять каждый вывод LLM, вас обрадует, что эта статья научит вас всему необходимому для правильной оценки LLM и обеспечения долгосрочной эффективности вас и вашего приложения на основе LLM.
Оценка LLM относится к процессу обеспечения соответствия выходных данных LLM человеческим ожиданиям, которые могут варьироваться от этических и безопасных соображений до более практических критериев, таких как правильность и релевантность выходных данных LLM. С инженерной точки зрения эти выходные данные LLM часто можно найти в форме тестовых кейсов, в то время как критерии оценки формализуются в виде метрик оценки LLM.
На повестке дня:
В чем разница между оценкой LLM и оценкой системы LLM, а также их преимущества
Офлайн-оценки, что такое бенчмарки системы LLM, как создавать наборы данных для оценки и выбирать правильные метрики оценки LLM, а также распространенные ошибки
Оценки в реальном времени и их польза для улучшения наборов данных для офлайн-оценок
Реальные примеры использования систем LLM и как их оценивать, включая chatbotQA и Text-SQL
Читать далееВ стремительно растущей области создания программного обеспечения интеграция больших языковых моделей (LLM) существенно изменяет способы, которыми компании подходят к процессам разработки. Центральную роль в раскрытии полного потенциала LLM играет фундаментальный навык промт-инжиниринга. По своей сути он подразумевает формирование входных запросов, позволяющих извлекать из LLM точные и осмысленные ответы. Этот ключевой навык дает разработчикам возможность повышать точность и релевантность получаемых данных, тем самым оптимизируя производительность ИИ-приложений.
Читать далееАвтор: руководитель проектов «АиБ Цифровизация» Дмитрий Смирнов. Более 15 лет руковожу проектами внедрения «1С:Управление производственным предприятием», «1С:ERP Управление предприятием», «1С:Управление холдингом».
Читать далее