Pull to refresh
3
@PelmenBlinread⁠-⁠only

User

Send message

Безопасный file upload в Go: 7 атак на загрузку файлов и как мы их закрывали

Level of difficultyMedium
Reading time16 min
Reach and readers5.1K

«Сделай форму загрузки PDF» – звучит как задача на полчаса. Claude/GPT напишет handler, мы добавим accept=".pdf" на фронте, multer на бэке – и вот у нас работающий upload. Можно деплоить.

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

С распространением LLM-инструментов порог входа в разработку снизился радикально. Это прекрасно – больше людей могут создавать продукты. Но вместе с порогом входа снизился и порог входа для уязвимостей. Когда LLM генерирует код загрузки файла, она решает функциональную задачу: принять файл, сохранить, обработать. Безопасность? «Добавлю потом». А «потом» обычно наступает после инцидента.

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

Читать далее

Как перестать наступать на грабли в Go: набор рабочих рецептов

Level of difficultyMedium
Reading time10 min
Reach and readers15K

Пишете на Go или только начинаете изучать язык? Эта шпаргалка точно сэкономит вам кучу времени. Никакой воды, абстрактных рассуждений и скучных введений. Мы пройдёмся по тем самым ситуациям, с которыми бэкендеры сталкиваются на каждом проекте: конкурентность, сеть, работа с JSON, обработка ошибок, тесты и дебаг.

Можете смело добавлять это в закладки. Забыли синтаксис или паттерн, открыли нужный раздел, скопировали, адаптировали и поехали дальше.

Читать далее

Как я написал радар межбиржевых спредов на Python и понял, почему 90% публичных ботов считают прибыль неправильно

Level of difficultyMedium
Reading time7 min
Reach and readers8K

Как я написал радар межбиржевых спредов на Python и понял, почему 90% публичных ботов считают прибыль неправильно

Читать далее

Дешевле Perplexity, но локально — и с любым агентом: Agent Browser Workspace

Level of difficultyMedium
Reading time5 min
Reach and readers12K

Дешевле Perplexity: на DeepResearch Bench получили 44.37 (RACE overall) на Claude Haiku 4.5 — модель заметно дешевле типичных "фронтирных" стэков.

Локально и прозрачно: реальный Chrome перед глазами — можно остановить, залогиниться, закрыть баннер, перезапустить шаг, расширить сбор, уточнить запрос. Итераций — сколько угодно.

Не только deep research: ещё и инструмент для браузерной автоматизации + извлечения контента, форм, HTML-данных.

Расширяемо: новые сайты добавляются профилями в scripts/sites/*.json — селекторы и «контролы» живут отдельно от кода и промптов.

Читать далее

Паттерны конкурентности в Go. Подробный разбор. Часть 1. Worker pool

Level of difficultyEasy
Reading time4 min
Reach and readers4.3K

Пример паттерна Worker Pool на Go с подробным описанием кода. Пример подходит для знакомства с паттерном в процессе обучения, собеседования, но не является шаблоном для production кода.

Читать далее

Прокси для ленивых: поднимаем SOCKS5 поверх SSH, пока чайник закипает

Level of difficultyEasy
Reading time4 min
Reach and readers46K

Доступ к интернету в наши дни напоминает игру в «Сапёра»: никогда не знаешь, где рванёт и какой репозиторий отвалится завтра. Утром ты сеньор-помидор, а к обеду не можешь стянуть дистрибутив, потому что чей-то IP попал под горячую руку регулятора.

Если вы давно живёте в терминале, скорее всего всё это знаете - этот текст для тех, кто ещё не использовал SSH как SOCKS5-прокси.

Конечно, можно развернуть VLESS с XTLS-Reality, обернуть это в CDN и присыпать сверху магией, но иногда нужно решение в стиле «тяп-ляп и в продакшен».

Встречайте: SOCKS5 поверх SSH. Дешево, сердито и работает (если ваш провайдер еще не научился вскрывать SSH-пакеты зубами).

Имея VPS за пару долларов, вы можете вернуть себе доступ к документации (и, чего уж греха таить, к котикам в Instagram) буквально одной командой.

Ищем документацию

Полное руководство по n8n. Часть 1: Знакомство и установка

Level of difficultyEasy
Reading time4 min
Reach and readers35K

Устали тратить часы на рутину? Пора автоматизировать ее с помощью n8n. В этой статье я расскажу про локальную установку и основу платформы

Читать далее

Галлюцинации языковых моделей: от математики обмана к честным ИИ

Level of difficultyEasy
Reading time14 min
Reach and readers17K

Почему ChatGPT врет вам в лицо (и как OpenAI наконец объяснила, откуда берутся галлюцинации ИИ)

Статья по горячим следам сенсационного исследования OpenAI от 4 сентября 2025

Ваша модель только что выдала вам три разных неверных даты рождения одного человека. В десятом туре подсчета букв в слове "DEEPSEEK" она называет цифры от 2 до 7, хотя правильный ответ - 1. Знакомо?

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

4 сентября OpenAI опубликовала революционное исследование "Why Language Models Hallucinate", которое переворачивает представление о главной головной боли современного ИИ. Впервые математически доказано: модели врут не из-за плохих данных или недоработок архитектуры. Они врут, потому что мы сами их этому учим.

В своей статье я разбираю это исследование без воды и объясняю простыми словами:

✅ Почему формула «ошибки генерации ≥ 2 × ошибки классификации» объясняет все галлюцинации
✅ Что такое singleton rate и почему 20% редких фактов = минимум 20% вранья
✅ Как система оценки превратила ИИ в вечных студентов на экзамене, где лучше соврать, чем признаться в незнании
✅ 4 конкретных способа от OpenAI, как сделать модели честными уже сегодня

Самое шокирующее: проблема решается не улучшением технологий, а изменением того, как мы спрашиваем и оцениваем ответы.

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

Готовы перестать быть жертвой красивой лжи и начать строить по-настоящему надежные ИИ-системы?

Читать далее

Как я заменил саппорт-команду ChatGPT и потом неделю разбирался с жалобами

Level of difficultyEasy
Reading time4 min
Reach and readers20K

Наверное, у каждого продакта или фаундера хоть раз возникала мысль: а что, если просто поставить ChatGPT вместо поддержки? Он ведь не устает, не болеет, отвечает мгновенно и не просит премию к праздникам.

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

Читать далее

Выжимаем из Go скорость до последних наносекунд

Level of difficultyMedium
Reading time12 min
Reach and readers25K

Будем оптимизировать программы на Go. Выжимать последние наносекунды, чтобы код приближался по скорости к Си или ассемблерному. Цель - скорость, чтобы процессор был загружен на 100% при высокопроизводительные вычислениях.

Читать далее

Как запускать 100k+ браузеров в день и спать спокойно

Level of difficultyHard
Reading time7 min
Reach and readers16K

Привет! Я Павел Лобач из команды инфраструктуры тестирования Т-Банка. Расскажу, как у нас организована инфраструктура для запуска E2E браузерных тестов, как она развивалась и как в итоге вылилась в открытый проект Selebrow. 

Будет много технических подробностей и ни слова про ИИ!

Читать далее

Reddit в SEO 2025: как выигрывать на новом поле битвы

Level of difficultyMedium
Reading time25 min
Reach and readers6.6K

Пока вы оптимизировали meta-теги, Reddit стал третьим по влиянию SEO-сайтом в США. Разбираемся, почему Google теперь любит форумы больше ваших статей — и что с этим делать.

Читать далее

Как написать простейшую нейросеть на python, простыми словами о сложном

Level of difficultyEasy
Reading time8 min
Reach and readers46K

В мире Data Science написание нейронных сетей, кажется чем‑то очень трудоёмким, доступным для понимания лишь математикам с многолетним опытом. Многие руководства, начинаются со сложных объяснений backpropagation, градиентного спуска и т.п, от которых у новичков складывается впечатление, что написание нейросетей — им не по силам. В данной статье, я хочу развеять подобные убеждения и показать пример, написания простейшей нейронной сети на python. Мы не будем углубляться в теоретические основы высшей математики. Вместо этого, мы просто возьмем данные, напишем код, посмотрим на результат и проанализируем его.

Читать далее

Polars — «убийца Pandas» на максималках

Level of difficultyEasy
Reading time35 min
Reach and readers17K

Всем привет! Меня зовут Александр Андреев, я инженер данных. Сегодня я хочу рассказать вам о библиотеке Polars - потенциальной замене Pandas, любимой у большинства дата-инженеров и дата-саентистов библиотеки для работы с данными.

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

Читать далее

Как проектировать качественные API

Level of difficultyMedium
Reading time15 min
Reach and readers32K

Основная часть работы современных разработчиков ПО1 связана с API: публичными интерфейсами для общения с программой, например, API Twilio. Я потратил кучу времени на работу с API как их разработчик и пользователь. Я писал публичные API для сторонних разработчиков, приватные API для внутреннего использования (или для потребления одной страницей фронтенда), API REST и GraphQL и даже несетевые интерфейсы, например, для инструментов командной строки.

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

Читать далее

Безопасность API (аутентификация и авторизация): проблемы, решения, практические рекомендации

Level of difficultyMedium
Reading time9 min
Reach and readers17K

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

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

Читать далее

Galene — простой сервер видеоконференций. Установка на VPS

Reading time5 min
Reach and readers31K

Сегодня я расскажу, как установить простой сервер для видеоконференций. Его можно использовать, чтобы звонить родственникам или знакомым в эти непростые времена, или же просто иметь в виду как запасной вариант на случай перебоев с другими более известными сервисами.

Сервер называется Galene, github. Он был разработан во время пандемии в Парижском университете как инструмент для проведения удалённых занятий. Со временем его возможности расширились, и теперь по функционалу он ближе к Jitsi Meet.

Читать далее

Information

Rating
Does not participate
Registered
Activity