Большой процент так называемых «экспертов» сегодня знают только, как использовать какой-нибудь хайповый инструмент, но они ничего не понимают в том, как все работает на более глубоком уровне. Это реальный вызов и большая проблема на будущее.
Программирование *
Искусство создания компьютерных программ
Опыт использования AI для QA: тестировщикам приготовиться на выход?
Всем привет, меня зовут Илья. И я использую в своей QA работе уже полгода различные инструменты ИИ. Хочу поделиться своим опытом и наблюдениями, как ИИ может повысить эффективность работы. И стоит ли бояться тестировщикам их замены железными мозгами и руками?
Русский LLM-помощник (saiga) с кэшем, используя RAG (Retrieval-Augmented Generation)
Используя технику Retrieval-Augmented Generation ("Поисковая расширенная генерация"), мы настроим русскоязычного бота, который будет отвечать на вопросы потенциальных работников для выдуманного свечного завода в городе Градск.
Делаем 10-минутную задачу за 2 часа с помощью ChatGPT
Все мы видели много статей, где с помощью AI-инструментов за минуты выполняется работа, на которую раньше мог легко уйти день. Особенно впечатляют примеры, где работа (успешно) идет вне зоны компетенции человека (т.е. когда AI позволяет делать то, что человек в принципе один сделать не мог бы). Но сегодня у меня получился несколько другой случай:
Истории
Изучаем Q#. Статистическое сравнение двух последовательностей чисел
Добро пожаловать в новый мир новых технологий вычислений!
В быту, когда мы смотрим на разные предметы, мы пытаемся понять - похожи ли они или нет, и на сколько они похожи.
Так и в математике - когда мы смотрим на последовательностей чисел, мы пытаемся понять - похожи ли они или нет, и насколько они похожи.
Одним из таких критериев "похожести" является совпадение частотных характеристик этих последовательностей.
Рассмотрим вопрос, как реализовать такую проверку с использованием квантовых вычислений и напишем программку-тест на Q-sharp для проверки этих рассуждений.
Для понимания данного туториала вам потребуются базовые знания по
теории вероятности
алгебре
булевым функциям
свёртке, корреляции, скалярному произведению
квантовым вычислениям (кубиты и трансформации)
программированию на Q-sharp
Пишем графический ASCII-калькулятор с помощью стандартной библиотеки Си
Программа calculator.c родилась как школьный проект в рамках Student Innovation Scholarship. Сперва я решил написать простой инструмент для построения графиков функций с помощью символов ASCII, но после завершения первого прототипа понял, что задача намного сложнее, чем предполагалось. Вернувшись к проекту год спустя, я увидел, что в нём есть много неочевидных нюансов. Поэтому предлагаю разобрать весь процесс разработки моего графического калькулятора с нуля.
Почему ты не станешь программистом
Вы никогда не задумывались, почему так трудно сменить профессию и стать программистом? При таком обилии информации, онлайн-курсов и книг. Почему столь малый процент желающих доходит до заветной цели - своей первой работы?
Событийное логирование для аналитики и мониторинга работы телеграм-бота
Привет, Хабр! Меня зовут Артем.
По мере роста различной работы с телеграм ботом нашего корпоративного телеграм-бота, оптимизация и поддержание его стало более сложной задачей. В какой-то момент я осознал, что нужен надежный способ отслеживания происходящих событий в приложении. Это важно не только для решения проблем и багов, но и для оптимизации производительности и повышения общей эффективности работы.
В этой статье мы рассмотрим как реализовать событийное логирование для телеграм-бота.
Какой длины должны быть классы — когда «чистый» код на самом деле не так уж и хорош
Привет, Хабр!
Наши коллеги из beeline cloud подкинули интересную статью для перевода про разработку на PHP, плохие практики и не только. Это история о том, как правила чистого кода могут подорвать его фактическое качество. Материал содержит много рассуждений на эту тему и будет полезен всем, кто только начинает свой путь в разработке. Приятного чтения!
Приглашаем на онлайн-митап «Гетерогенность, или Деплой JavaScript туда и обратно»
На ивенте расскажем, как мы в «Лаборатории Касперского» развернули несколько веб-приложений в совершенно разных средах на единой кодовой базе, разберем построение В2В единой консоли — комплексного, сложного приложения; единую модель деплоймента для cloud-native-разработки и on-premise; а также разработку в распределенных командах (фича-тимы).
Изучаем Q#. Алгоритм Гровера. Не будите спящего Цезаря
Криптохомячкам посвящается ...
Алгоритм Гровера представляет собой обобщённый, независящей от конкретной задачи поиск, функция которого представляет "чёрный ящик" f: {0,1}^n to {0,1}^n, для которой известно, что EXISTS!w:f(w)=a, где a — заданное значение.
Считаем, что для f и заданного a можно построить оракул Uf: { |w> to |1>, |x> to |0> if |x> != |w> }
Алгоритм Гровера достаточно прост
- Задаём в регистре (массиве кубитов) начальное значение H|0>
- Повторяем несколько раз (исходя из оценки) пару трансформаций над регистром
- Отражение от решения Uw: { |w> to -|w>, |x> to |x> if |x> != |w> } или Uw = I-2|w><w|
- Отражение от s=H|0> Us = 2|s><s|-I
- Забираем нужное решение из регистра (с большой долей вероятности, что оно правильное)
Применим этот алгоритм для решения задачи нахождения ключа шифра Цезаря ...
Проектирование архитектуры для микросервисов с использованием gRPC
Привет, Хабр!
Микросервисная архитектура предлагает нам гибкость, масштабируемость и управление сложными приложениями на новом уровне. Однако, чтобы извлечь максимальную выгоду из этой архитектуры, важно правильно спроектировать микросервисы и обеспечить эффективное взаимодействие между ними.
gRPC – высокопроизводительный и мощный инструмент для построения микросервисных систем.
Как устроен PassMark. Воспроизводим тесты из машинного кода
На сегодняшний день существуют сотни программ для оценки производительности вычислительных устройств, но абсолютным лидером среди них несомненно является PassMark - "Industry standard benchmarking since 1998", - как его позиционирует сам разработчик, и вдобавок предоставляющего обширную публичную базу оценок производительности разнообразных устройств по всему миру для возможности их сравнения между собой. Все это делает PassMark выбором №1 для всех, кто не только желает оценить производительность своего устройства, но и сравнить его с любым другим устройством в мире.
Но что находится под капотом у легендарной программы для бенчмаркинга? В этой статье мы изучим ее алгоритмы тестирования и воспроизведем их самостоятельно на других языках программирования, чтобы иметь независимую возможность получения оценки производительности.
Ближайшие события
Как потратить дни, чтобы сэкономить секунды: продвинутые коммиты в GitLab
Коммит изменения в GitLab — фоновый и рутинный процесс, на который никто не закладывает рабочего времени. Но в нем есть действия, которые съедают 18 секунд при каждом коммите. 10 коммитов — уже 3 минуты за день и 15 — за неделю. Да, немного, но на это тратится внимание. К тому же, за эти 15 минут можно сделать что-то полезное или просто выпить кофе и дать мозгу отдохнуть.
Мы в Selectel нашли способ, как упростить коммиты в GitLab и добавить им информативности — описания прямиком из Jira. Любите автоматизировать рутинные задачки? Тогда добро пожаловать под кат.
15 ресурсов по Git. Что почитать/посмотреть?
Всем привет! В этот раз собрали подборку вспомогательных материалов для изучения Git. Удобство и гибкость сделали Git стандартом для большинства современных IT-компаний. Поэтому умение работать с ним критично для любого программиста.
Эти ресурсы помогут начинающим разработчикам познакомиться с системой управления версиями, рассмотреть разные подходы и частые ошибки, а более опытным программистам — освежить знания.
Простые шаги к эффективному code review
Всем привет! Меня зовут Владислав Шиханов, я ведущий программист в CDEK. В нашей компании работает 500+ IT-специалистов, именно мы создаём продукты и сервисы, из которых и состоит СДЭК. Моя команда разрабатывает сервисы для автоматизации процессов продаж и запуска новых продуктов.
Однажды мы столкнулись с тем, что процесс проверки кода начал задерживать выполнение задач и требовал слишком много усилий от участников. На ретро мы договорились повысить приоритет этого процесса и сделать доклад с best practices. В этой статье я решил поделиться главными выводами и лучшими практиками, которые помогли нам существенно упростить проверку кода.
Моделируйте будущее или Теория Вероятности в действии (по мотивам статьи Joel Spolsky)
Из опыта работы в "Кровавом Enterprise" плечом к плечу с Менеджером Продукта, перед поступлением очередной задачи в работу, у меня интересовались, сколько на нее уйдет времени (внезапно). Это, можно сказать, напрягало тем, что такая оценка должна затрагивать все возможные факторы "торможения". Соберу в список некоторые из них и покажу вариант решения на вебе.
[sobjectizer] Релиз версии 5.8.1: реализация пожеланий пользователей и исправление недочетов
Пару дней назад мы зафиксировали версию 5.8.1 открытого проекта SObjectizer. В данной статье поговорим о новых возможностях, которые появились в SObjectizer благодаря пожеланиям пользователей, и упомянем исправление не выявленного ранее недочета. Кому интересно, милости прошу под кат.
Для тех же, кто ни разу не слышал про SObjectizer, очень кратко: это относительно небольшой C++17 фреймворк, который позволяет использовать в С++ программах такие подходы, как Actor Model, Publish-Subscribe и Communicating Sequential Processes (CSP). Основная идея, лежащая в основе SObjectizer, — это построение приложения из мелких сущностей-агентов, которые взаимодействуют между собой через обмен сообщениями. SObjectizer при этом берет на себя ответственность за:
доставку сообщений агентам-получателям внутри одного процесса;
управление рабочими нитями, на которых агенты обрабатывают адресованные им сообщения;
механизм таймеров (в виде отложенных и периодических сообщений);
возможности настройки параметров работы перечисленных выше механизмов.
Составить впечатление о этом инструменте можно ознакомившись вот с этой обзорной статьей.
Я мыслю MOV EAX, 1
Чем больше усилий ты прикладываешь, тем лучше это у тебя получается. Программирование не исключение, и чтобы с уверенностью сказать: "Я могу написать это" нужно много работать. Эта статья о том с какого языка начать путь в программировании и о том как понять принципы работы компьютера на низком уровне.
Как Guidance выводит ИИ на новый уровень: инструмент для эффективного управления моделями
В последнее время наблюдается стремительный прогресс в сфере обработки естественного языка. Появление мощных языковых моделей вроде GPT и Bard действительно открыло новые возможности для создания интеллектуальных приложений. Однако вместе с тем мы столкнулись с необходимостью более совершенных инструментов для эффективной интеграции и управления такими моделями.
И вот недавно компания Microsoft представила Guidance - язык управления, предназначенный для контроля над большими языковыми моделями. По нашему мнению, этот инструмент может существенно изменить процесс разработки приложений на основе возможностей AI.
В данной статье мы хотели бы поближе познакомиться с его особенностями и разобраться, что же это за "зверь". Надеемся, эта информация будет полезна для разработчиков, исследователей и организаций, которые активно работают над совершенствованием контроля поведения LLM.
Приглашаем к прочтению!
Вклад авторов
-
alizar 4296.2 -
olegchir 3450.6 -
ru_vds 3107.2 -
haqreu 2916.0 -
tangro 2672.2 -
nmivan 2585.0 -
MaxRokatansky 2410.8 -
kesn 2353.0 -
DmitrySpb79 2296.0 -
grigoryvp 2212.2