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

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

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

11 полезных AI сервисов + Plasma AI Telegram бот с 160 ролевыми моделями, эксклюзивом от chatGPT 4 и MidJourney 5

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

После моей предыдущей статьи про 30+ задач, которые может выполнять chatGPT, мы решили запустить своего чат бота в Телеграм, которые за 3 месяца вырос до более 1 миллиона активных пользователей. Сегодня мы запустили большое обновление и функционал "Ролевых" моделей chatGPT 4, который превращает чат бота в продвинутого AI ассистента. Я хочу поделиться с вами новыми фичами и полезными возможностями бота, которые помогут каждому оценить потенциал AI технологий.

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

NudeCrawler: Голый ползун по женщинам на телеграфе

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

Nudecrawler - паук для поиска голых женщин.

Читать далее
Всего голосов 144: ↑134 и ↓10+167
Комментарии135

ArrayPool<T>: подводные камни

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


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


Для уменьшения аллокаций в современном .NET предусмотрены Span/Memory<T>, stackalloc с поддержкой Span, структуры и другие средства. Но если без объекта в куче не обойтись, например, если объект слишком большой для стека, или используется в асинхронном коде — этот объект можно переиспользовать. И для самых крупных объектов — массивов, в .NET встроены несколько реализаций ArrayPool<T>.


В этой статье я расскажу о внутреннем устройстве реализаций ArrayPool<T> в .NET, о подводных камнях, которые могут сделать пулинг неэффективным, о concurrent-структурах данных, а также о пулинге объектов, отличных от массивов.

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

Разворачиваем Kubernetes-кластер на bare metal под управлением Deckhouse и создаем в нем виртуальные машины

Уровень сложностиСложный
Время на прочтение14 мин
Количество просмотров6.4K

В новом релизе Kubernetes-платформы Deckhouse v1.43 появилась система виртуализации, основанная на современных технологиях: KubeVirt, Cilium, LINSTOR. Она позволяет в удобном и привычном для пользователя платформы режиме запускать виртуальные машины и управлять их жизненным циклом.

В статье мы рассмотрим это на практике: развернем Deckhouse на bare metal-сервере, запустим в нем виртуальную машину и протестируем, как обеспечивается связь между компонентами кластера с помощью магии Cilium.

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

Проектирование процессов разработки IT продукта

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

Перед вами первая часть из трёх частей общего труда, вводная часть цикла статей о проектировании процессов разработки IT-продукта.

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

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

NLP для TensorFlow: Генерация текста

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

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

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

Делаем донаты для telegram бота, через интеграцию ЮKassa для самозанятых

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

В статье-инструкции расскажу, как начал монетизировать telegram бота, который присылает уведомления о необходимости продлить домен, тем самым делает напоминание, чтобы пользователь продлил домен во время и не потерял его. За 2 часа, добавил кнопку доната и настроил интеграцию с ЮKassa. Через 1 день уже начал принимать донаты.

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

Приделываем руки к ChatGPT: бот, который исполняет код в рантайме

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

В предыдущей статье я рассказывал, как можно доучить GPT на собственных взглядах и вкусах. Сегодня попробуем дать GPT возможность поработать программистом по‑настоящему — с запуском кода и отладкой без участия человека. Весь код опубликован в репозитарии.

Как многие уже убедились, ChatGPT хорош, но есть некоторые типы задач, с которыми у него возникают трудности:

1. Он не может получать новые актуальные знания из сети.
2. Он не может выполнить какие‑либо действия.
3. У него сложности с алгоритмическими задачами (перевернуть строку, решить уравнение, произвести вычисления с применением численных методов).

И если задача 1 решается с помощью BingChat, то 2 и 3 мы сегодня будем решать в рамках данного туториала.

Основная идея такая: пусть ChatGPT сам решает, может ли он справиться с задачей «в уме» или же это лучше сделать с помощью написания кода на python, а наш сервер сразу же выполняет этот код и снова отдает результат работы ChatGPT, чтобы он мог его интерпретировать и или выдать пользователю окончательный ответ или исправить ошибку в своей программе и попытаться ещё раз.

Дальше много примеров и немного кода...
Всего голосов 47: ↑46 и ↓1+60
Комментарии30

Как красиво писать формулы c LaTeX?

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

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

Меня зовут Шайдурова Арина, я Data Scientist  и участник профессионального сообщества NTA. Сегодня я поделюсь с вами своим опытом использования LaTeX для написания математических формул. Всё просто и с примерами, идеально подойдет для новичков синтаксиса LaTeX.

LaTeX является очень популярным инструментом для написания различных материалов: в нём можно написать и книгу, и резюме, и дипломную работу, создать постер и даже календарь. Среди его пользователей он ценится за многие качества, но основную ценность для технических задач представляет его удобное, гибкое и легкое написание всевозможных математических формул!

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

Инструменты наблюдаемости, о которых нужно знать в 2023 году

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

Когда организации переходят в облако, их системы тоже начинают стремиться к распределённым архитектурам. Один из самых распространённых примеров этого — использование микросервисов. Однако это также создаёт новые сложности с точки зрения наблюдаемости.

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

В этой статье мы рассмотрим возможности, ограничения и важные особенности одиннадцати популярных инструментов наблюдаемости, что позволит вам выбрать наиболее подходящий для вашего проекта.
Читать дальше →
Всего голосов 32: ↑30 и ↓2+39
Комментарии4

LLaMA (Large Language Model Meta AI)

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

Meta анонсировала LLaMA (Large Language Model Meta AI), свою модель NLP с миллиардами параметров и обученную на 20 языках.

Недавно её слили на торренты и товарищи смогли запустить сетку локально на обычном домашнем компьютере, на обычном CPU.

Для этого пришлось ужать модель из 32 битной в 4 битную, уменьшив вес модели с 13 до 4 ГБ.

Попробуем запустить самую маленькую модель LLaMA 7B у себя на домашнем компьютере на середнячке AMD Ryzen 5.

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

Стохастический язык программирования на основе алгоритмов Маркова

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

MarkovJunior — это вероятностный язык программирования, в котором программы являются сочетаниями правил перезаписи, а инференс выполняется при помощи распространения ограничений. MarkovJunior назван в честь математика Андрея Андреевича Маркова, придумавшего и исследовавшего то, что сейчас называется алгоритмами Маркова.
Читать дальше →
Всего голосов 139: ↑139 и ↓0+139
Комментарии24

Описательная статистика перформанс-распределений

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

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

Андрей Акиньшин @DreamWalker поговорил об этом в докладе на нашей конференции Heisenbug. И теперь, пока мы готовим следующий Heisenbug (где тоже будут доклады о производительности), решили опубликовать текстовую версию его выступления (а для тех, кому удобнее другие форматы, прикрепляем видеозапись и слайды). Предупреждаем: много букв, цифр, графиков и формул!

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

Нужен ли ConfigureAwait?

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

image


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


Одна из многословных конструкций .NET связана с деталями реализации асинхронности и обросла кучей мифов. Про неё спрашивают на собеседованиях, код-ревью, делают обязательной, добавляя в правила линтера. Это .ConfigureAwait(false), сопровождающий каждый await в коде.


В этой статье я расскажу, зачем нужен ConfigureAwait(false) и как обойтись без него.

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

Иллюстрированное руководство по OAuth и OpenID Connect

Время на прочтение7 мин
Количество просмотров83K
Прим. перев.: В этом замечательном материале компании Okta просто и наглядно рассказывается о принципах работы OAuth и OIDC (OpenID Connect). Эти знания будут полезны разработчикам, системным администраторам и даже «обычным пользователям» популярных веб-приложений, которые скорее всего тоже обмениваются конфиденциальными данными с другими сервисами.

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


«Предоставьте свою банковскую учётку». — «Обещаем, что с паролем и деньгами все будет в порядке. Вот прям честно-пречестно!» *хи-хи*

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

Сегодня имеется единый стандарт, позволяющий одному сервису безопасно воспользоваться данными другого. К сожалению, подобные стандарты используют массу жаргонизмов и терминов, что усложняет их понимание. Цель этого материала — с помощью простых иллюстраций объяснить, как они работают (Думаете, что мои рисунки напоминают детскую мазню? Ну и ладно!).

Всего голосов 36: ↑34 и ↓2+38
Комментарии3

Полное понимание асинхронности в браузере

Время на прочтение24 мин
Количество просмотров107K
Про асинхронность JavaScript написано много статей, документации и книг. Но вся информация сильно распределена по интернету, поэтому сложно быстро и полностью разобраться, что к чему, и составить цельную картину в голове. Не хватает одного исчерпывающего гайда. Именно эту потребность я и хочу закрыть своей статьёй.

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

Безграничные возможности FFmpeg на примерах

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

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

FFmpeg объединяет более 300 видео/аудио/графических кодеков, декордеров, муксеров, демуксеров и фильтров. Благодаря ему вы можете написать собственный видеоплеер в тысячу строчек кода, не разбираясь с кишочками видеообработки.

Это «движок» почти всех современных инструментов для обработки/сжатия/редактирования видео. Они просто предлагают графический интерфейс с кнопками, а ffmpeg делает реальную работу.
Читать дальше →
Всего голосов 101: ↑98 и ↓3+127
Комментарии84

Путешествие в космос или введение в симплекс-метод для школьников

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

На Хабре уже были публикации о симплекс-методе раз и два. И они очень даже хороши. Но это не те публикации, которые расчитаны на школьников или учителей школ. Я же хотел обратить внимание на одну довольно старую статью, вышедшую в журнале "Юный техник" в августе 1985 года. Естественно, она была нацелена на школьников. И мне давно хотелось разобрать её детально...

Ключ на старт!
Всего голосов 56: ↑56 и ↓0+56
Комментарии15

Миграция приложения из OpenShift в «ванильный» Kubernetes

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

OpenShift, Rancher и другие зарубежные Kubernetes-платформы официально больше не поддерживаются в России. Многим компаниям приходится искать альтернативные решения для управления контейнеризированными приложениями — например, «ванильный» Kubernetes или российские платформы.

Хотя у Kubernetes-платформ одинаковая технологическая база, перейти с одной на другую непросто: миграция неизбежно сопряжена с различными трудностями, связанными с особенностями реализации компонентов. В этой статье рассмотрен пример переезда приложения из OpenShift в «ванильный» кластер Kubernetes. В конце статьи приведена таблица соответствия примитивов OpenShift и Kubernetes — с информацией о том, какие из этих примитивов требуют замены, а какие нет.

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

Устанавливаем Kubernetes-платформу Deckhouse в закрытом окружении. Пошаговая инструкция

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

Продолжаем серию статей про установку Deckhouse в разные окружения. Мы уже рассказывали про развертывание в Yandex Cloud. Эта статья посвящена установке платформы в закрытое окружение, когда у машин, на которых разворачивается кластер, нет доступа в Интернет.

Читать далее
Всего голосов 27: ↑24 и ↓3+26
Комментарии4

Информация

В рейтинге
4 048-й
Зарегистрирован
Активность

Специализация

Backend Developer, Fullstack Developer
Lead
C#
.NET
Microsoft SQL Server
.NET Core
PostgreSQL
Database
High-loaded systems
Designing application architecture
Database design