Как стать автором
Обновить
1
0

Пользователь

Отправить сообщение

JSON словарь в качестве постоянной памяти для GPT-ботов (версия 3.0)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров5.1K

Как заставить любого GPT-бота на базе любой LLM (например на ChatGPT) незаметно для пользователя запоминать в его постоянную память нужные нам сведения из диалога?

Пробуем применить подход к постоянной памяти используя JSON структуру.

Читать далее
Всего голосов 8: ↑4 и ↓4+2
Комментарии9

Как загрузить, установить Office 2024 LTSC с сайта Microsoft и активировать навсегда?

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров207K

Десять лет назад я писал пару статей - Как загрузить последний Office с сайта Microsoft без всякого App-V / Хабр (habr.com) и Как загрузить Microsoft Office 16 с сайта Microsoft / Хабр (habr.com), при помощи на тот момент еще мало кому известным Office Deployment Tool.

Время бежит стремительно, за Office 2016 выходит Office 2019, Office 2021, и вот сейчас подошло время для Office 2024. Что ж, посмотрим, что поменялось в плане загрузки, установки и активации продукта за десять лет.

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

Microsoft давно перешел на систему распространения продуктов семейства Office по разным, так называемым, "каналам" (channels), в зависимости от того как часто вы хотите получать нововведения и обновления.

Ключевым отличием в текущей загрузке и установке Office от того, что было актуально во времена Office 2016, является то, что вы должны определить, каким каналом распространения вы собираетесь пользоваться, - то есть с какого канала собираетесь устанвливать сам продукт. Тем, кто хотел бы подробно изучить разные каналы распространения я предложу почитать первоисточник - Обновления Office - Office release notes | Microsoft Learn. Остальным кратко резюмирую - Microsoft сейчас предпочитает всем продать подписку на Microsoft 365 (то, что ранее называлось Office 365), с регулярно обновляемыми возможностями в течении так называемой Современной политики жизненного цикла. По этой же современной политике распространяется пользовательские (коробочные, ретейл) версии Office 2021. Office 2021, например, поддерживается лишь до 13 октября 2026. А более старые версии следуют, так называемой политике фиксированного жизненного цикла, в рамках которой Office 2016 и Office 2019 поддерживаются лишь до 14 октября 2025. В целом, они не перестанут работать после, однако, перестанут обновляться. И у тех из вас, кто пользуется почтовыми сервисами на базе Microsoft Outlook.com или Office365, а возможно и пользователям Microsoft Exchange, с обновлениями выпущенными после 14 октября 2025 уже пора призадуматься об обновлении.

Читать далее об установке Office 2024
Всего голосов 166: ↑157 и ↓9+173
Комментарии248

Lazy Loading в Java

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров6K

Привет, Хабр!

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

Как и наши хвостатые друзья, существует такой паттерн как Lazy Loading, который позволяет экономить ресурсы, инициализируя объекты только тогда, когда они действительно нужны.

Рассмотрим, как мы можем применить этот котиковый подход в Java. Будем как котики — умными, экономными и эффективными!

Читать далее
Всего голосов 16: ↑11 и ↓5+8
Комментарии6

Что такое free tier и какие облачные ресурсы вы можете бесплатно использовать прямо сейчас

Время на прочтение7 мин
Количество просмотров11K

Привет, Хабр! Меня зовут Никита Бутримов, я лидер продуктового направления в Cloud.ru, отвечаю за эксплуатацию, стабильную работу и поддержку платформы Cloud.ru Evolution. Недавно мы запустили Evolution free tier, чтобы инженерам и разработчикам было комфортно попробовать возможности платформы. Спустя некоторое время мы поняли, что далеко не все понимают, что это такое и как работает. Поэтому в сегодняшней статье я хочу развеять все мифы — рассказать, что вообще такое free tier, сделать краткий обзор зарубежных и отечественных предложений, а также помочь разобраться, какие именно ресурсы вы реально сможете подключить у нас и использовать бесплатно. 

Обзор будет полезен как тем, кто еще не пользовался облаками, так и тем, кто уже многое попробовал и в курсе всех новинок рынка. Поехали!

Читать дальше
Всего голосов 15: ↑8 и ↓7+1
Комментарии53

Блеск и нищета нового Scrolling API в Spring Data

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров7.6K

В Spring Data 3.1 появилось новое API для итерирования по большому объему данных: Scrolling API. Давайте изучим его, посмотрим на практические применения с примерами кода и преимущества по сравнению со всем известным Pageable. А также разберём, чего Scrolling API пока не хватает, и можно ли его вообще брать в свои проекты. Если хотите выяснить, как с новым API в теории ускорить пагинацию больших данных, — заходите под кат.

Читать далее
Всего голосов 22: ↑22 и ↓0+28
Комментарии5

Как и зачем активно проверять работоспособность узлов при проксировании запросов с помощью Nginx

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров3.6K

Привет, Хабр! В этом материале рассмотрим, как мы в SynGX реализовали активную проверку работоспособности узлов в группах балансировки, и как этот опыт может быть полезен при использовании прокси-серверов c аналогичной функциональностью.

Меня зовут Ринат Фатхуллин, я владелец продукта Platform V SynGX. В СберТехе мы с 2017 года развиваем собственную сборку Nginx для внутренних заказчиков, а в 2022 вышли на рынок под брендом Platform V SynGX.

Читать далее
Всего голосов 16: ↑13 и ↓3+15
Комментарии0

Как подружить Llama-3.1 и YouTube имея всего 40 строк кода

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров6.8K

Сделаем Телеграм бота которому можно кинуть ссылку на YouTube видео и поговорить с ним о содержимом этого видео.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии10

Кратко про класс CompletableFuture в Java

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров7.3K

Привет, Хабр!

Асинхронное программирование уже давно является полноценной частью Java. С появлением Java 8 и введением класса CompletableFuture, асинхронное программирование стало более доступным.

CompletableFuture — это класс в пакете java.util.concurrent, предоставляющий возможности для асинхронного программирования. Он поддерживает выполнение задач в фоновом режиме, цепочки задач, обработку исключений и многое другое.

Читать далее
Всего голосов 18: ↑15 и ↓3+15
Комментарии2

Go + Minio: как написать простой сервер для взаимодействия с файлами

Уровень сложностиСредний
Время на прочтение26 мин
Количество просмотров5.8K

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

Если вы только изучаете go, начинаете писать сервера, то обязательно посмотрите эту статью - для бекендера уметь работать с s3 хранилищем так же важно, как и уметь работать с реляционной / нереляционной базой данных и с key-value базой - это основа основ.

Читать далее
Всего голосов 11: ↑1 и ↓10-9
Комментарии10

Создание дистрибутивов для разных операционных систем в Java 21 и 22

Время на прочтение6 мин
Количество просмотров4.4K


Статья рассказывает о построении дистрибутивов приложений для операционных систем Windows, macOS и Linux в случае использования Java 21 и 22.

Продолжает ранее опубликованную статью о создании дистрибутивов в предыдущих версиях Java, подробно описывая кардинальные изменения, произошедшие с того времени.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+7
Комментарии0

«Hello, World!» от мира сжатия данных. Канонический алгоритм Хаффмана

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров5.3K

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

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии18

Обзор новых Open Source LLM. Или как локально запустить аналог ChatGPT

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров22K

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

Читать далее
Всего голосов 33: ↑32 и ↓1+36
Комментарии47

Туториал по Tokio. 2/2

Уровень сложностиСредний
Время на прочтение38 мин
Количество просмотров2.9K



Hello world!


Представляю вашему вниманию вторую часть туториала по Tokio.



Tokio — это асинхронная среда выполнения (runtime) кода Rust. Она предоставляет строительные блоки, необходимые для разработки сетевых приложений любого размера.

Читать дальше →
Всего голосов 19: ↑19 и ↓0+26
Комментарии0

Пакетная обработка данных на современных GPU

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров3.3K

По большому счёту, самая первая и самая важная оптимизация, которую можно применить к любой современной системе машинного обучения, заключается в том, чтобы реализовать в этой системе пакетную обработку данных (batching). Для того чтобы получить результат работы системы (inference, инференс) в пакетном режиме — ей, вместо одного элемента входных данных, отправляют N таких элементов. Чаще всего никаких дополнительных нагрузок на систему это не создаёт. Формирование инференса для каждого из элементов, входящих в пакет размера N, занимает в точности столько же времени, сколько нужно для обработки одного элемента входных данных. Почему это так? На первый взгляд может показаться, что обработка пакета данных не может обойтись без некоторых накладных затрат ресурсов. В конце концов — оборудованию приходится выполнять в N раз больше действий.

Если прибегнуть к простейшей модели работы нейронной сети, то получится, что некоторая дополнительная нагрузка на систему, всё же, создаётся. Для выполнения пакетных вычислений нужно выполнить в N раз больше операций. И, на самом деле, если попробовать это на CPU, то окажется, что так оно и есть (среднее время формирования вывода для ResNet-50, Colab).

Читать далее
Всего голосов 4: ↑4 и ↓0+12
Комментарии2

Structured concurrency в языке Go

Время на прочтение5 мин
Количество просмотров4.5K

Горутины виснут непонятно почему, случайная запись в закрытый канал вызывает panic, нормально протестировать приложение вообще невозможно.


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


Чтобы не запутаться, люди придумали концепцию structured concurrency, которую можно применять и в Go.

Читай или страдай
Всего голосов 16: ↑13 и ↓3+13
Комментарии17

Интеграция PostgreSQL и Hadoop

Время на прочтение5 мин
Количество просмотров2.2K

Представим некое перепутье, где с одной стороны — мощные возможности PostgreSQL, а с другой — необъятные просторы Hadoop. Выбор кажется сложным, но зачем выбирать одно, если можно соединить их и получить лучшее из обоих?

Объединяя их можно создать мощную систему, способную обрабатывать и анализировать огромные объемы данных.

Читать далее
Всего голосов 8: ↑7 и ↓1+9
Комментарии0

Три основных способа оптимизировать ваши запросы в PostgreSQL

Время на прочтение5 мин
Количество просмотров14K

Привет, Хабр!

Представьте себе, вы приходите домой после долгого рабочего дня, и вас встречает пушистый котик. Вы знаете, что он ждет вас, чтобы вы рассказали ему о своих подвигах на работе. И вот, вы начинаете свой рассказ, а он, этот милый мурлыка, вдруг спрашивает: "А как там у тебя с оптимизацией запросов в PostgreSQL?"

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

Читать далее
Всего голосов 28: ↑14 и ↓14+4
Комментарии15

Финансовая арифметика в PostgreSQL

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров9.9K

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

Читать далее
Всего голосов 30: ↑26 и ↓4+28
Комментарии53

Опрос для оценки индекса лояльности сотрудников

Время на прочтение11 мин
Количество просмотров2.9K

В этой статье мы рассмотрим важность проведения опросов для оценки индекса лояльности сотрудников и предложим практические рекомендации по их реализации. Индекс лояльности сотрудников (Employee Loyalty Index, ELI) является ключевым показателем, который помогает понять, насколько сотрудники преданы своей компании и насколько они готовы оставаться в ней надолго. Оценка индекса лояльности позволяет выявить потенциальные проблемы в коллективе, улучшить условия труда и повысить общую эффективность работы организации.

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

Читать далее
Всего голосов 20: ↑11 и ↓9+2
Комментарии6

Как протестировать логику консьюмеров и продюсеров и не сгореть? Spring Boot 3, Spring Kafka

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров5.7K

Всем привет. Решил поделиться опытом тестирования логики консьюмеров и продюсеров в стандартном Spring Boot приложении. Я несколько раз подходил к этой задаче с различными вариантами и находил разные подводные камни, которые стимулировали меня искать дальше - более лучшее решение. И вот, в очередной раз прошерстив накопленный опыт человечества (stackoverflow), я реализовал очередной вариант, в котором пока не нашел минусов предыдущих реализаций. В любом случае, поделюсь с вами как я к этому пришел и почему для моих кейсов не сработали другие варианты (или показались хуже последнего).

Дисклеймер. Я сторонник интеграционных тестов при запуске сборки проекта с тестами. То есть это когда для unit-тестов поднимается контекст Spring со всеми плюсами (окружение, максимально похожее на боевое) и минусами (это ДОЛГО запускается и ДОЛГО описывается).

Часть 1. А разве это проблема вообще?

Коротко: ...

Читать далее
Всего голосов 10: ↑8 и ↓2+7
Комментарии8

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность