Pull to refresh
65
1.1
Alex M @i360u

Tech Lead / Full Stack / R&D

Send message

Киберпанк, сингулярность

Level of difficultyEasy
Reading time5 min
Views1.9K

Я набираю этот текст на свежем ноутбуке от Apple, с процессором M4 Pro. В его строгом аллюминевом корпусе, достаточно мощности для современных игр на высоких настройках и для запуска локальных LLM. У него есть выделенный нейронный сопроцессор (NPU). Он может отображать сложные трехмерные сцены с трассировкой лучей в Blender, практически, в реальном времени. Кажется, еще совсем недавно, я мог ждать обработки одного кадра трехмерного видео часами... Современный экран показывает мне так много пикселей, что я боюсь считать сколько именно. Я вспоминаю свой первый, простенький ноутбук iRu. В свое время, он, также, казался мне чудом, хотя с трудом мог выполнять простые, по современным меркам, задачи. Это было 15 или 20 лет назад? Как же все изменилось...

Читать далее

Дзен и публикация картинок

Level of difficultyEasy
Reading time7 min
Views996

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

Эх, как бы не так.

TMA Wallet — некастодиальный MPC воллет для вашего Telegram Mini App

Level of difficultyEasy
Reading time5 min
Views1.9K

Всем привет! Думаю, все уже знают, что в телеге уже год как бум мини-аппов, все тапали хомяка. Подавляющее большинство из них связаны с криптой. Многие хотят внутри приложения давать своим пользователям кошелёк (EVM, TON или Solana, etc.), как некий виртуальный счёт, который можно пополнить, выводить средства, и, самое главное, дергать смарт-контракты.

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

Сложное и неудобное решение - кошелёк, который юзер должен записать на бумажке и следить за его безопасностью сам. В этом случае, вам лучше вообще использовать WalletConnect или не делать миниапп вообще. Правда, в этом случае UI миниаппа превращается в ад, где юзер должен подтверждать каждое действие во внешнем приложении.

Мы искали для нашего миниаппа вариант, который бы давал безопасность некастодиального кошелька, но с максимально гладким UX/UI. И нашли.

В этой статье я хочу сделать обзор TMA Wallet (npm-пакет, сайт, github) - opensource некастодиального multi-party кошелька, подходящего для любых чейнов, работающего на базе недавно появившееся API Telegram Cloud Storage.

Поехали!

Гиперконвергенция в облаке – от VMware до OpenStack

Level of difficultyMedium
Reading time9 min
Views11K

Привет, Хабр! В этой статье расскажем о гиперконвергенции и как ее можно реализовать разными путями в облаке. А также просто разберемся, чем она отличается от виртуализации с контейнерами. Для начала дадим определение гиперконвергенции, далее поговорим про OpenStack и VMware и затем перейдем к деталям реализации. 

Читать далее

HTML-теги с искусственным интеллектом

Level of difficultyEasy
Reading time10 min
Views2.3K

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

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

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

Читать далее

ИИ как платформа

Level of difficultyEasy
Reading time9 min
Views1.1K

Новая предметная область

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

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

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

Читать далее

Git Hooks не так страшны, как их малюют

Level of difficultyEasy
Reading time9 min
Views7.4K

Бывает, что в командах тестирования грезят об автоматизации процессов, но почему-то боятся внедрять даже такие простые вещи как хуки: «Они очень усложняют процесс, и писать их тысячу часов». С этим я категорически не согласен, ведь реализовать хуки очень просто.

Меня зовут Денис Федоров, я тестировщик в команде 2ГИС ПРО, сервисе геоаналитики для бизнеса. Рассказываю, что такое гит-хуки, чем они могут быть полезны и как их можно реализовать у себя. 

Читать далее

Интеграция LLM в корпоративные чат-боты: RAG-подход и эксперименты

Level of difficultyEasy
Reading time11 min
Views7.8K

Всем привет! На связи команда AI-Run из X5 Tech, мы занимаемся генеративными сетями в целом и языковыми моделями в частности. В этой статье мы опишем наш опыт работы с большими языковыми моделями (LLM), их внедрение для обработки корпоративных данных, а также поделимся нашими результатами и выводами.

Ещё мы расскажем о нашем подходе к использованию LLM, подробно остановимся на методе Retrieval Augmented Generation (RAG) и рассмотрим примеры использования чат-ботов на корпоративных порталах X5.

Эта статья будет полезна разработчикам, которые интересуются внедрением LLM для работы с корпоративными данными. Она основана на нашем выступлении на митапе, но не ограничивается им, а, скорее, дополняет его. 

Читать далее

Борьба со сложностью

Level of difficultyMedium
Reading time4 min
Views6.9K

Почему работа всегда сложнее чем кажется в начале?

Почему с течением роста проекта производительность программиста падает?

Почему читать код сложнее чем писать?

И что же со всем этим теперь делать?

Рендерим таблицы с помощью Symbiote.js

Level of difficultyMedium
Reading time7 min
Views2.2K

В этой статье, я хочу показать базовые приемы работы с HTML-таблицами при использовании библиотеки Symbiote.js и раскрыть на практике некоторые ее важные особенности.

Читать далее

Как сделать и настроить свой CDN

Level of difficultyMedium
Reading time7 min
Views15K
CDN (сеть доставки контента) представляет собой группу серверов, размещаемых в разных географических регионах с целью обеспечить быструю загрузку контента для пользователей из этих регионов. Чаще всего сети доставки контента используются для ускорения загрузки статических файлов: картинок, видео, скриптов, zip-архивов. Каждый из CDN серверов просто хранит одни и те же файлы, а пользователь получает их с ближайшего сервера.

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

Иногда может понадобиться настроить собственную сеть доставки контента. Давайте рассмотрим, для чего это нужно и как это сделать.


Это наша будущая CDN из 5 серверов, которая будет раздавать контент на весь мир
Читать дальше →

Как крипто-индустрия переиграла традиционный мир разработки

Level of difficultyMedium
Reading time11 min
Views4.7K

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

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

Читать далее

Symbiote.js VS LitElement

Level of difficultyMedium
Reading time8 min
Views1.8K

Мотивация разработчиков библиотек и фреймворков для фронтенда может быть разной. И если вы, являясь таким разработчиком, хотите работать не “в стол” а с расчетом на какое-то признание и пользу для индустрии, вы должны четко понимать, что именно и зачем вы делаете. Если вы хотите сэкономить пользователям пару килобайт трафика или пару миллисекунд отклика - вам будет очень тяжело доказать миру, что ради этого стоит выбрать именно ваше решение. Люди выберут размер комьюнити, богатую экосистему и крупного вендора. Ваш набор аргументов должен быть достаточно веским, чтобы обратить на себя внимание. Сейчас я попытаюсь доказать, что при наличии такого решения как LitElement от гиганта индустрии Google, имеет смысл посмотреть в сторону Symbiote.js.

Читать далее

Кто знает, что значит GPT в названии ChatGPT, могут дальше не читать

Level of difficultyEasy
Reading time11 min
Views63K

В настоящее время искусственный интеллект (ИИ) стремительно развивается. Мы являемся свидетелями интеллектуальной мощи таких нейросетей, как GPT-4 Turbo от OpenAI и Gemini Ultra от Google. В Интернете появляется огромное количество научных и популярных публикаций. Зачем же нужна еще одна статья про ИИ? Играя с ребенком в ChatGPT, я неожиданно осознал, что не понимаю значения аббревиатуры GPT. И, казалось бы, простая задача для айтишника, неожиданно превратилась в нетривиальное исследование архитектур современных нейросетей, которым я и хочу поделиться. Сгенерированная ИИ картинка, будет еще долго напоминать мою задумчивость при взгляде на многообразие и сложность современных нейросетей.

Читать далее

Fooocus v2: Революция в работе с изображениями — расширение, изменение и персонализация. Все про Input Image в нейросети

Level of difficultyEasy
Reading time9 min
Views82K

Друзья, всем привет, в прошлой статье Fooocus v2 — бесплатный Midjourney у вас на компьютере, вы познакомились с рисующей нейросетью которая вполне способна заменить Midjourney, узнали как её установить, как пользоваться, за что отвечают все настройки и как работают режимы, как писать запросы, чтобы нейросеть вас понимала.

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

Внутри много картинок и гифок.

Читать далее

Fooocus v2 — бесплатный Midjourney у вас на компьютере. Подробная инструкция по установке и использованию нейросети

Level of difficultyEasy
Reading time10 min
Views332K

Друзья, всем привет! Сегодня я хочу рассказать вам про самую простую и доступную для понимания нейросеть, которая создает изображения по вашему текстовому описанию. Она называется Fooocus и основана на знаменитой Stable Diffusion XL. Это идеальное решение в качестве вашей первой нейросети, и необходимый инструмент для любого дизайнера или контент мейкера.

Внутри много тяжелых изображений.

Читать далее

TypeScript и все что тебе нужно в разработке

Level of difficultyMedium
Reading time6 min
Views37K

Все для работы с продвинутым TS внутри. Generic Types, Mapped Types, Types Guard, Utility Types и многое другое. Шпаргалка с навигацией и примерами.

К изучению

5 новинок CSS в адаптивной верстке, которые можно использовать уже сейчас

Level of difficultyEasy
Reading time4 min
Views30K

Hola, Amigos! На связи Игорь Мельников, Frontend-разработчик компании Amiga. Возможно, вы уже слышали про технологии, которые я описываю в статье, но не использовали их, потому что думали, что они не поддерживаются актуальными браузерами. Теперь можете смело брать их во всеоружие и применять в своих проектах! 

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

Читать далее

RabbitMQ Direct Reply-to. RPC поверх кролика без дополнительных очередей (пример на Python)

Level of difficultyMedium
Reading time5 min
Views12K

Реализацией RPC запросов поверх брокеров сообщений никого не удивишь: очередь для запроса, очередь для ответа — ничего сложного.


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


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


На самом деле, в RabbitMQ есть механизм и для такого сценария. Но он спрятан в недрах документации и о нем почти нет информации в интернете (особенно рабочих примеров кода).


Вот это недоразумение мы сейчас и исправим.

Читать дальше →
1
23 ...

Information

Rating
1,534-th
Date of birth
Registered
Activity

Specialization

Fullstack Developer, Chief Technology Officer (CTO)
Lead
JavaScript
Web development
Project management
FullStack
Researching
DevRel
Neural networks
BlockChain
Designing application architecture
Progressive Web Apps