Pull to refresh
8
0
Send message

Я перевел книгу с помощью нейросети ChatGPT

Level of difficultyMedium
Reading time12 min
Views35K

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

В этой статье я хочу рассказать вам об увлекательном мире перевода книг, особенностей и вызовов, с которыми сталкиваются переводчики, а также поделиться опытом в части того, как искусственный интеллект становится надежным союзником в этом процессе. На примере перевода книги «Rebuilding Milo» (автор Aaron Horschig) на русский язык с помощью искусственного интеллекта, мы рассмотрим, какие преимущества и возможности предоставляет такой подход, и как он может изменить практику перевода.

Читать далее
Total votes 12: ↑9 and ↓3+15
Comments88

Suppgram: open-source служба поддержки на Telegram-ботах

Level of difficultyEasy
Reading time7 min
Views4.1K

Однажды ко мне пришли с запросом. Нужно было поднять горячую линию, в которую могли бы обращаться люди и получать ответы на свои вопросы, переписываясь с волонтёрами. Звучит как саппорт-система? Да, потому что это она и есть.

Осложнялась задача тем, что её нужно было сделать к завтрашнему дню. А, ну и, конечно, бесплатно!

Так у меня на руках оказался прототип системы, которая отлично справилась с поставленной задачей и которую я в качестве упражнения аккуратно переписал в open-source проект, который представляю вам сегодня — Suppgram. В статье я расскажу, чем оказались удобны Telegram-боты, как я подошёл к архитектуре проекта и как мне (не?) помогло знание паттернов проектирования.

К подробностям!
Total votes 17: ↑17 and ↓0+19
Comments4

Как случайно написать систему мониторинга (еще одну)

Level of difficultyEasy
Reading time3 min
Views4.9K

Интересно как-то у меня выходит - мои пет проекты получаются случайно. Нет финальной цели, есть только импульс: "О! А это звучит интересно, как же это можно сделать?". И все: "сон для слабаков", "пиво в пятницу? конечно не буду!" и все в таком духе. Как говорится - есть только путь. И это история началась примерно так же... Вечерело На работе мне было нечем заняться, нужно было поставить некоторое количество сервером и сервисов на мониторинг, но из-за большой бюрократии в компании сделать это было не просто, да и сама мониторинговая система работала на базе SNMP, вот только где взять SNMP у самописного сервиса? И тут в голову пришла гениальная идея попробовать самому. К тому же сложным это не выглядело: мониторинг портов, http и куда-нибудь отправить алерт. "Почему бы и не да" - подумал я, к тому же больше познаю Python. И так появился он...

Простенький мониторинг, который как-то, что-то делает, что-то показывает и даже консольная тулза есть:

Читать далее
Total votes 9: ↑8 and ↓1+9
Comments1

ChatGPT + YandexGPT API = ЛЮБОФ. Часть 1

Level of difficultyMedium
Reading time17 min
Views17K

Сказ о том, как мы, дата-сайентист и аналитик данных, на троих с ChatGPT, без программиста и девопса, создали сервис пересказа новостей TechMix с текстом и озвучкой. ChatGPT писал код, а мы ему только поддакивали.

Авторы: Эдуард Ланчев, Илья Кузнецов, ChatGPT

Читать далее
Total votes 21: ↑17 and ↓4+16
Comments39

Асинхронный веб: WebSocket, Server-Sent Events, Long Polling и Short Polling

Level of difficultyMedium
Reading time13 min
Views14K

Веб-разработка часто требует реализации механизмов обновления контента на странице в реальном времени. Существуют различные сценарии, где это необходимо, например, отображение прогресса выполнения тяжелых задач на бекенде, обновление каких-либо часто меняющихся данных, будь то курсы валют или мониторинг какой-то активности, чаты, различные уведомления. Эти сценарии объединяет одна общая особенность: источник события необходимости обновления данных находится не на клиентской стороне, поэтому мы хотим получать события с бекенда. В данной статье мы рассмотрим четыре популярных подхода к реализации этой функциональности: WebSocket, Server-Sent Events (SSE), Long Polling и Short Polling.
Мы проанализируем каждый метод, выявим их плюсы, минусы и сложность реализации.

Читать далее
Total votes 17: ↑15 and ↓2+18
Comments11

Llama 3.1-70b в своем Телеграм боте — бесплатно, безлимитно и всего 20 строк кода

Level of difficultyEasy
Reading time2 min
Views39K

Да, всего 20 строк кода и бот:

1) по качеству ответов будет соизмерим с ChatGPT-4o;
2) будет отвечать очень быстро т.к. подключим мы его через Groq который в среднем в 10 раз быстрее других аналогичных сервисов;
3) будет поддерживать диалог и запоминать последние сообщения.

Читать далее
Total votes 50: ↑40 and ↓10+38
Comments102

Как реализовать end-to-end-тестирование telegram-бота

Level of difficultyMedium
Reading time11 min
Views23K

Каждый, кто когда-либо писал telegram-ботов, задавался вопросом: «Как их тестировать?» Сложно найти однозначный ответ. Например, при написании тестов для веб-приложений и API можно воспользоваться тестовым клиентом DRF или FastAPI: просто пишешь запрос и делаешь assert на полученный ответ. Мне захотелось получить подобный функционал и для тестирования telegram-бота.

Привет, Хабр. Я Михаил Выборный, python-разработчик, backend-developer в облачном провайдере beeline cloud. В этой статье хочу поделиться опытом написания автоматизированных end-to-end-тестов без эмуляции Telegram Bot API, но с использованием тестовых аккаунтов. Мы зайдем в изолированное тестовое пространство Telegram, создадим тестового бота, подготовим фикстуру для запуска нашего приложения и напишем авторизацию для тестовых клиентов. Я буду пользоваться Python Telegram Bot, Pytest, Anyio и другими инструментами, подробности под катом.

Читать далее
Total votes 20: ↑20 and ↓0+20
Comments0

Telegram WebApps. Как встроить веб-приложения в чат-бота?

Reading time5 min
Views110K

Относительно недавно команда Telegram выпустила обновление, с которым появилась возможность встраивать в мессенджер веб-приложения. Эта статья — обзор основных моментов внедрения веб-приложениий в телеграм-ботов.

Читать далее
Total votes 15: ↑15 and ↓0+15
Comments9

Создание telegram-ботов с интерактивным меню

Level of difficultyMedium
Reading time15 min
Views49K

Однажды меня попросили провести ревью и рефакторинг одного telegram-бота. Увидев файл размером 2000 строк, рассчитанный только на обработку разных меню я понял, что это требует унификации и общих подходов. Так родилась библиотека aiogram-dialog

В этой статье я бы хотел обратить внимание на некоторые проблемы, которые мы встречаем при создании таких меню, предложить варианты их решения. А во второй половине статьи показать как это решается с помощью aiogram-dialog.

Мы не будем рассматривать архитектуру всего приложения, об этом вы можете прочитать у Фаулера или Мартина. Мы поговорим только про определенную часть UI ботов. Так же это не будет введением в разработку telegram-ботов с нуля. Я предполагаю, что читатель знаком с питоном, ООП и слышал о такой вещи как DRY.

Примеры выбраны так, чтобы проще было показать определенные проблемы, но это не единственные сценарии приводящие к ним.

Читать далее
Total votes 22: ↑21 and ↓1+23
Comments4

Гайд по межсетевому экранированию (nftables)

Reading time32 min
Views55K


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

В качестве межсетевого экрана будем использовать nftables, функционирующий под управлением ОС Debian GNU Linux.
Читать дальше →
Total votes 22: ↑21 and ↓1+28
Comments15

Сравнение технологий WebSockets, Server-Sent-Events, Long-Polling, WebRTC и WebTransport

Reading time16 min
Views13K

При работе с современными веб-приложениями реального времени незаменима возможность отправлять события с сервера на клиент. Именно этой необходимостью продиктовано то, что за годы работы было изобретено несколько методов для этой цели, каждый с собственным набором достоинств и недостатков. Первоначально единственным вариантом был длинный опрос. Затем в качестве альтернативы появились веб-сокеты — более надёжное решение для двунаправленной коммуникации. Вслед за веб-сокетами появились события, отправляемые сервером (SSE), более простой метод, обеспечивающий однонаправленную связь от сервера к клиенту. Забегая вперёд, сейчас разрабатывается ещё и протокол WebTransport, который может тем более изменить ландшафт этой области, обеспечивая более эффективный и гибкий подход, располагающий к масштабированию. В некоторых нишевых случаях можно присмотреться и к технологии WebRTC, предназначенной для работы с событиями в направлении сервер-клиент.

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

Читать далее
Total votes 24: ↑22 and ↓2+27
Comments4

На какие AI Coding Assistants стоит обратить внимание в 2024?

Reading time8 min
Views18K

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

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

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

Приятного прочтения(:

Читать далее
Total votes 19: ↑19 and ↓0+20
Comments11

Самые полезные библиотеки JS для красивых анимаций

Reading time5 min
Views16K

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

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

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

Приятного прочтения :-)

Читать далее
Total votes 31: ↑31 and ↓0+32
Comments6

Развертываем peer-to-peer чат с голосом, видео, шарингом экрана, файлов и паролем

Level of difficultyMedium
Reading time7 min
Views9.8K

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

Что будет ниже:

Поиск open source решения для общения голосом, шаринга экрана, включения видео и чатов в режиме peer-to-peer, без лишних бекендов
Запуск этого решения в открытую в github pages
Заворачивание этого решения на приватный сервер
Простенькое закрытие доступа туды через basic http auth
Заключение с описанием некоторых замечаний и потенцевальных возможностей

Читать далее
Total votes 22: ↑20 and ↓2+27
Comments13

Анатомия htmx

Level of difficultyMedium
Reading time15 min
Views16K



Hello world!


По данным 2023 JavaScript Rising Stars библиотека htmx заняла второе место в разделе Front-end Frameworks (первое место вполне ожидаемо принадлежит React) и десятое место в разделе Most Popular Projects Overall.


htmx — это библиотека, которая предоставляет доступ к AJAX, переходам CSS, WebSockets и Server Sent Events прямо из HTML через атрибуты, что позволяет создавать современные пользовательские интерфейсы (насколько сложные — другой вопрос), пользуясь простотой и мощью гипертекста. На сегодняшний день у библиотеки почти 30 000 звезд на Github. Удивительно, что до такого решения мы додумались только сейчас, учитывая, что весь функционал был доступен уже 10 лет назад (вы сами убедитесь в этом, когда мы изучим исходный код htmx).


В этой статье мы с вами разберемся, как htmx работает. Но давайте начнем с примера ее использования.

Читать дальше →
Total votes 23: ↑21 and ↓2+28
Comments8

Как работает радио?

Level of difficultyMedium
Reading time8 min
Views21K

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

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


Если вы подзабыли какие-то из этих тем, то рекомендую сначала освежить память.
Читать дальше →
Total votes 64: ↑64 and ↓0+65
Comments51

Восприятие английского на слух: упражнения, полезные советы и подборка ресурсов

Level of difficultyEasy
Reading time5 min
Views21K

Восприятие английского на слух: упражнения, полезные советы и подборка ресурсов

Привет! Это Лена, методист курсов английского в Практикуме. Мы уже знакомы по статьям про собеседование для разработчиков и small talk. В этот раз поговорим о восприятии английского на слух и прокачаем навык общения с иностранными коллегами.

Читать далее
Total votes 9: ↑8 and ↓1+9
Comments5

Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному

Level of difficultyMedium
Reading time46 min
Views240K

Поскольку блокировки интернета в РФ в последние недели и месяцы многократно активизировались, а маразм все крепчает и крепчает, стоит еще раз поднять тему обхода этих самых блокировок (и делаем ставки, через сколько дней на эту статью доброжелатели напишут донос в РКН чтобы ограничить к ней доступ на территории страны).

Вы, наверняка, помните отличный цикл статей на Хабре в прошлом году от пользователя MiraclePtr, который рассказывал о разных методах блокировок, о разных методах обхода блокировок, о разных клиентах и серверах для обходов блокировок, и о разных способах их настройки (раз, два, три, четыре, пять, шесть, семь, восемь, десять, десять, и вроде были еще другие), и можете спросить, а зачем еще одна? Есть две основные причины для этого.

Читать далее
Total votes 445: ↑437 and ↓8+489
Comments371

Упорядочиваем закладки

Level of difficultyEasy
Reading time3 min
Views6.1K

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

Пример закладок @alizar: 800+ статей.

Упорядочить!
Total votes 15: ↑15 and ↓0+15
Comments7

Проблема квантового измерения и её решения: байесовские вероятности или неопределённость самолокации?

Level of difficultyMedium
Reading time37 min
Views6.1K

Кажется, наука приближается к разрешению парадокса, породившего множество интерпретаций квантовой механики и множество споров между их сторонниками. Реализованный в 2019 г. эксперимент «Друг друга Вигнера», в котором наблюдатели моделируются с помощью фотонов или кубитов квантового компьютера, убедительно показал, что квантовую механику нельзя применять для описания мира с точки зрения других наблюдателей. В результате теории, постулирующие коллапс волновой функции, перестают быть самосогласованными и выбывают из игры. В финальный раунд проходят только кьюбизм и многомировая интерпретация – две самые радикальные и диаметрально противоположные интерпретации, предлагающие очень похожие решения проблемы измерения. Одна из них требует отказаться от идеи объективной реальности, а вторая – признать собственную неуверенность в том, в какой вселенной вы находитесь. Я делаю ставку на второй вариант, а какое из этих двух зол выбираете вы?

Читать далее
Total votes 27: ↑25 and ↓2+29
Comments67

Information

Rating
Does not participate
Registered
Activity