Ru
Главная → Каналы → Технологии → Типичный программист

Типичный программист

@tproger_official · Технологии

Всё самое интересное по программированию. Бот: @tproger_official_bot ВК: vk.com/tproger Размещение рекламы, вакансий и анонсов событий в Telegram: https://tproger.ru/ad/telegram/ Реклама и сотрудничество: @alexkayukov или @vshulepa

78 100подписчиков сейчас
27.0%ERR
39.0цитируемость
5постов/день
Русскийязык
Россиягео
Подписаться в Telegram
В ленте @TgTopFeedBot на канал подписано: 1
Данные обновлены 22.07.2020

Публикации всего: 245

Постов на странице: 10 30 50 Страница 1 из 25
Звонки Discord на Cloudflare: почему сервер поближе не всегда лучше Сервер в Рейкьявике снизил задержку местных звонков, но пинг иностранных участников вырос в 2,7 раза. У Discord весь звонок обслуживает один сервер: если он оказался в Исландии, участники из Германии тоже отправляют пакеты туда и обратно. Перенос трафика из Роттердама в Амстердам добавил другую проблему. У пользователей французского провайдера Orange задержка в часы пик превышала секунду: соединение между сетями на пути к Cloudflare было перегружено. Перенос пришлось откатить. В разборе миграции голосовых звонков команда Discord показывает, как эти сбои изменили план: регионы стали переносить по одному, заранее проверяя, выдержат ли соединения с крупными интернет-провайдерами дополнительный трафик. #облака
🔥 3 👏 2 🎉 2 · всего 16 Перейти к публикации →
Doom на виртуальной машине Turso: память в таблице, кадры в строках запроса Вся память Doom помещается в одну запись таблицы: двоичное значение BLOB на 64 МиБ. Указатель в C становится смещением внутри этого значения, а чтение и запись памяти игра выполняет командами базы данных. Команда Turso написала компилятор vdbecc: LLVM переводит исходный C-код в промежуточное представление, а vdbecc превращает его в VDBE, байткод виртуальной машины базы. Готовые кадры игра отдаёт через ResultRow, ту же инструкцию, которой SELECT возвращает строки результата. В разборе порта есть код и браузерная демонстрация, а также объяснение, как реализовали вызовы функций и указатели на них. Повторить это в обычном SQLite нельзя: нужны расширения Turso и добавленный загрузчик программы. #веб
👍 5 ❤ 4 🤔 2 · всего 16 Перейти к публикации →
Перенос MiniJinja с Rust на Go силами Opus и Codex Около десяти часов работы агента и примерно 45 минут активного участия автора. Так Армин Ронахер оценивает основной перенос MiniJinja с Rust на Go. MiniJinja собирает текст по шаблонам. Он начал с Opus 4.5 внутри Pi, а оставшиеся исправления тестов передал GPT-5.2 Codex. Рабочая среда оставалась той же; Go-реализацию сверяли с сохранёнными результатами тестов Rust-версии. По ходу работы агент отказался от проверок, в которых программа должна завершаться ошибкой: текст сообщений не совпадал дословно. Ронахер вмешался и сохранил эти тесты, изменив способ сравнения сообщений. #ии #инструменты
👍 5 🔥 3 👏 2 · всего 19 Перейти к публикации →
Что можно настроить в ИИ-агенте Pi? Армин Ронахер пользуется Pi и добавляет нужные возможности через расширения. В его описании устройства агента есть три составляющие: — ядро читает, записывает и редактирует файлы, запускает команды; — расширения добавляют функции и могут сохранять свои данные в сессии; — ветки беседы позволяют отдельно отладить проблему и вернуть в основную сессию краткий пересказ. Список задач и ревью изменений Ронахер поручил создать самому Pi. В разборе агента с примерами расширений видно, что он дописал под собственный рабочий процесс. #ии #инструменты
🤔 3 👌 3 🎉 2 · всего 17 Перейти к публикации →
От чатбота к агентам: опыт Митчелла Хашимото Для работы с кодом Хашимото перешёл от отдельного чата к агенту, который читает файлы проекта и запускает программы. После этого начал повторять собственную работу: сначала решал задачу сам, затем давал её агенту без готового решения. Так он выяснял, какие задачи можно поручать ИИ. Дальше добавлял инструкции в AGENTS.md, файл с правилами проекта, и способы проверить изменения, включая запуск тестов. В истории освоения ИИ в разработке Хашимото связывает выбор задач с настройкой рабочего окружения. Отдельные чаты при этом остались в его повседневной работе. #ии #инструменты
🎉 4 👏 3 🤔 2 · всего 13 Перейти к публикации →
Листаете ленту, открываете ролик, переходите в сообщество автора — всё внутри ВКонтакте. За этими привычными действиями стоят разные системы и команды. Каждой нужна возможность развивать свою часть продукта и выпускать обновления в собственном темпе. В прошлом году ВКонтакте начала переход на сервисную архитектуру: пользовательские сценарии постепенно переносили в отдельные сервисы, пока продуктовые команды продолжали выпускать обновления. Для подготовки новых сервисов создали внутреннюю платформу разработки. Она автоматизирует типовые операции — теперь подготовка занимает часы вместо недель. Трансформация затронула и веб-версию. Основные разделы перевели на SPA: браузер обновляет нужные части интерфейса без полной перезагрузки страницы. В результате страницы открываются на 25% быстрее, а переходы между разделами ускорились в 3,5 раза. Вместе с техническим директором ВКонтакте Юрием Кочаряном разобрали, как проходили эти изменения, что помогло командам ускорить разработку и какие подходы можно применить в своём проекте. https://tproger.ru/articles/kak-perestraivat-produkt-kotorym-ezhednevno-polzuyutsya-65-milli
👍 6 ❤ 5 🔥 5 · всего 34 Перейти к публикации →
Давайте сыграем в айтишную каламбурю! Правила простые: берём любой термин, название компании или имя известного айтишника и делаем из него каламбур. Я начинаю — вы подхватываете: Ада Лавпринглс
☃ 8 👍 4 🔥 4 · всего 23 Перейти к публикации →
Почему доставка сообщения не гарантирует выполнение платежа Брокер доставил команду провести платёж, но обработчик может упасть при её выполнении или обращении к платёжному сервису. Подтверждение доставки ещё не подтверждает результат. В схеме отслеживания завершения отправитель публикует команду и сохраняет идентификатор платежа со статусом PENDING, то есть ожидает результата. После выполнения обработчик отправляет подтверждение с тем же идентификатором. Получив его, отправитель меняет статус на COMPLETE: работа завершена. Если остался PENDING, исход неизвестен: платёж мог сорваться, а мог пройти без обработанного подтверждения. В зависимости от сценария может потребоваться запросить результат у платёжной системы, прежде чем решать, повторять ли операцию. Такой контроль добавляет хранение состояний, компоненты и новые точки отказа.
❤ 4 👍 3 🤔 3 · всего 15 Перейти к публикации →
Как IRC-сеть из 1998 года пересобрали на Go и WebAssembly 28-летняя Yudum.NET теперь помещается в один исполняемый файл на Go: сервер чата, сайт и веб-чат работают в одном процессе с базой SQLite. Никнейм служит учётной записью на сайте, а старые IRC-клиенты по-прежнему подключаются. Веб-чат тоже написан на Go: TinyGo компилирует его в WebAssembly для запуска в браузере. Один и тот же код проверяет ход в игре на сервере и рисует стол в чате. Цена решения: несколько мегабайт браузерного модуля и сборка, которая занимает минуты. В разборе переписывания Yudum.NET есть и история борьбы с перезапусками: временный процесс обслуживает веб-запросы, пока запускается новая версия. Сайт не гаснет, но IRC-соединения ещё обрываются. Эту часть предстоит решить. #веб
👍 4 🎉 3 😁 2 · всего 19 Перейти к публикации →
Измеритель INP тоже может ошибаться В SpeedCurve нашли баг в lux.js: обёртка передавала durationThreshold во вложенном options, хотя PerformanceObserver ждёт этот параметр на верхнем уровне. Браузер не видел настройку и применял стандартный порог 104 мс. Что это меняло? Взаимодействия короче 104 мс не попадали в обычный Event Timing observer. Например, запись о событии длительностью 80 мс могла отсутствовать. Это могло влиять на рассчитанное INP и определение событий, которые его сформировали. В lux.js 4.5.3 вложенность исправили и добавили браузерный тест. Перед сравнением графиков проверьте версию сборщика и отметьте момент обновления: распределение могло измениться из-за измерения, а не вашего релиза. Разбор ошибки #веб #производительность
🤔 3 😁 2 💯 2 · всего 16 Перейти к публикации →
1 2 3 … 24 25

Другие каналы категории