Все потоки
Поиск
Написать публикацию
Обновить
342.28

Веб-разработка *

Делаем веб лучше

Сначала показывать
Порог рейтинга
Уровень сложности

Назад в будущее Хабра. Трекер 3.0

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

Приветствуем вас, наши дорогие пользователи! Без долгих предварительных ласк: новый трекер, налетайте 🙂

Читать далее

Разбираем HTTP/2 по байтам

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

image


Откройте любую статью с обзором HTTP/1.1. Скорее всего, там найдётся хотя бы один пример запроса и ответа, допустим, такие:


GET / HTTP/1.1
Host: localhost

HTTP/1.1 200 OK
Date: Sat, 09 Oct 2010 14:28:02 GMT
Server: Apache
Content-Length: 38
Content-Type: text/html; charset=utf-8

<!DOCTYPE html>
<h1>Привет!</h1>

Теперь откройте статью с обзором HTTP/2 или HTTP/3. Вы узнаете о мультиплексировании запросов, о сжатии заголовков, о поддержке push-технологий, но вряд ли увидите хоть одно конкретное сообщение. Ясно, почему так: HTTP/1.1 — текстовый протокол, тогда как сиквелы к нему бинарные. Это очевидное изменение открывает дорогу ко множеству оптимизаций, но упраздняет возможность просто и доступно записать сообщения.


Поэтому в этой статье предлагаю покопаться в кишках у HTTP/2: разобрать алгоритмы установки соединения, формат кадров, примеры взаимодействия клиента с сервером.

Читать дальше →

Прекратите превращать программирование в религию (восклицательный знак)

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

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

Не верите?

Давайте я покажу вам.

Я бы пересмотрел вообще всё

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

В программировании нет вообще никаких непреложных истин. Даже самые очевидные правила могут иметь контекст, в которых их применять нельзя. К сожалению в 99% организаций есть прям заповеди, обязательные к исполнению. И есть правила, которые считаются правилами хорошего тона (как не сморкаться в занавеску). Однако всегда бывают ситуации, когда лучше все-таки сморкаться.


Вот примеры.


1) Например, DRY — don’t repeat yourself. Хорошее полезное правило, но его можно довести до маразма. Из того что я встречал на практике: есть два разных по бизнес-смыслу раздела, которые начинались с простого CRUD, и многие части (и фронта и бека) выглядели во многом абсолютно одинаково. Если их объединить с помощью общей высосанной из пальца абстракции и тем самым избавиться от небольшого дублирования кода, то потом (очень скоро) можно будет сойти с ума, потому что эти две вещи скоро разъедутся, обрастая кастомными фичами, и абстракция будет только вредить. Нельзя абстрагировать неабстрагуемое, даже если DRY нарушен.


«[Немного] дублирования обходится гораздо дешевле, чем неправильная абстракция» — Сэнди Мец

Т.е. DRY — хороший принцип, но бывают исключения.

Читать дальше →

История одной XSS в Telegram

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

Здравствуйте, уважаемые читатели Хабра! Сегодня я хочу поделиться с вами информацией о XSS-уязвимости, которую я обнаружил в Telegram около двух недель назад. Также статья коснется некоторых особенностей работы программы поиска уязвимостей от Telegram. Моя цель — не только продемонстрировать вам интересный и относительно простой пример XSS, но и обозначить причины, по которым, возможно, не стоит тратить свои усилия на участие в багбаунти программе Telegram.

Читать далее

Мы добавили markdown-режим в новый редактор

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

Вы просили — мы сделали.

Читать далее

Байки погромиста. Если кто-то скажет, что программирование — это скучно

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

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

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

Ну что он там опять натворил?

Плохие практики разработки, которые до сих пор встречаю в стартапах

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

Привет, я Виктор. Двенадцать лет назад я пришел в веб-студию в Самаре. Так начался мой путь в разработке. У нас не было гита, CI/CD, тестовых стендов и много чего еще. Я видел, как это мешало развитию команды и бизнеса. Приходилось на ощупь собирать грабли, открывать для себя хорошие практики и внедрять их. С тех пор я поработал старшим разработчиком в российском финансовом холдинге и немецком b2b-стартапе. Был тимлидом в фудтех-проекте, СTO в образовательных стартапах для российского и латиноамериканского рынка — и почти везде поначалу натыкался на похожие проблемы. Недавно переехал в Израиль, стал консультировать стартап. И что бы вы думали…

Читать далее 👉

Почему форумы продолжают жить

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

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

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

Или спросим иначе: почему старые форумы продолжают существовать в 2023 году и там сохраняется своё коммьюнити (преимущественно, по специализированным темам)? Хотя, вы наверное уже догадались.
Читать дальше →

Это ужасно бесит — подборка косяков, постоянно встречающихся от сайта к сайту, от приложения к приложению

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

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

В этой статье я попытался перечислить некоторые из таких наиболее распространённых косяков. Если вы отвечаете за разработку/дизайн/менеджмент какого-либо сайта или приложения, пожалуйста, никогда так не делайте. Правда, ну сколько можно...

Читать далее

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

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

Возможно, вам всё-таки придётся заплатить за свободное ПО. Но не деньгами: показываем примеры абсурдных требований в лицензиях программ с открытым исходным кодом.

Читать далее

«Я устал, я мухожук», или почему VK скатился

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

ВКонтакте - самая популярная русскоязычная социальная сеть. За прошедшие годы сайт пережил многое: сменил владельцев, несколько раз изменял дизайн, обрастал новыми сервисами и возможностями. Пока не оброс настолько, что пользоваться нормально им стало очень сложно. Этот пост о наболевшем, вопрос в пустоту, почему разработчики ВК делают то, что делают?

Читать далее

Почему ваш веб-сайт должен быть меньше 14 КБ

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

Чем меньше веб-сайт, тем быстрее он грузится, и это неудивительно.

Удивительно то, что страница на 14 КБ может грузиться гораздо быстрее, чем страница на 15 КБ, даже на 612 мс быстрее, хотя разница между страницами на 15 КБ и 16 КБ минимальна.

Так происходит из-за алгоритма медленного старта TCP. В этой статье я расскажу, что это такое, как оно работает и почему это важно. Но сначала мы вкратце расскажем об основах.
Читать дальше →

Ближайшие события

Я два года выпускаю крошечные проекты

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

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

Мне так и не удалось придерживаться еженедельного графика, однако я продолжал неторопливо работать, пока не выпустил восемь проектов.

Каждое утро я сидел с кофе и набрасывал код какого-то проекта. Это моё любимое хобби, а теперь оно стало приносить приличный пассивный доход.

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

Как я опять Хабр сломал

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

Всегда хотел взломать Хабр. Мечта такая, но как-то руки не доходили. И вот, вдохновившись статьей о праведном взломе через iframe src , я, как и автор поста @Maxchagin, решил исследовать функционал Хабра на предмет уязвимостей.

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

Читать далее

Простые сайты снова в моде. Минимализм возвращается

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


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

Такая ситуация напрягает и самих веб-разработчиков. Приходится тратить кучу времени на оптимизацию, тестирование новомодных фич в разных браузерах, осваивать сложные CMS. Зачем? На самом деле HTML и CSS — исключительно мощные инструменты, если ими умело пользоваться.
Читать дальше →

Как я Хабр взломал

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

Всегда хотел взломать Хабр. Мечта такая, но как-то руки не доходили. И вот, вдохновившись статьей о праведной борьбе с Безумным Максом, я, как и автор поста, решил исследовать функционал Хабра на предмет уязвимостей.

Читать далее

Почему я ненавижу турбо-страницы от Яндекса

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

Яндекс запустил свою версию "ускоренных страниц" под названием “Турбо” в далеком 2017 году. Это был эксперимент, но прошло уже 5 лет, и я вижу в этой технологии больше проблем, чем их решения.

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

Читать далее

«Пап, ты уже старый для этого»: как я в 40 лет ушёл из редакторов во фронтенд-разработчики

Время на прочтение8 мин
Количество просмотров59K
Привет, меня зовут Андрей Рябцев. В июле 2021 года я окончил курс «Веб-разработчик» в Яндекс.Практикуме и сменил профессию. Раньше я писал и редактировал тексты, а теперь занимаюсь фронтендом.

Мой случай едва ли тянет на историю успешного успеха, но если статья вдохновит хотя бы одного читателя, не зря я трачу на неё этот вечер. Меня бы год назад точно вдохновила.



Что было до


Сначала хотел использовать в заголовке слово «гуманитарий» — его часто гуглят вместе с фразой «стать программистом», но я не люблю это слово. От него веет безысходностью. Оно как клеймо: «Ты же гуманитарий, куда тебе…»

Много лет — 17, если быть точным, — я проработал в медиа. Писал свои и редактировал чужие тексты, руководил бригадами выпуска в газете и онлайн-издании. В какие-то периоды много ездил по России и за её пределы. Было интересно. А на вопрос друзей, счастлив ли я, отвечал «да», почти не раздумывая. Но со временем отрасль, как выражаются в Министерстве иностранных дел, «заметно деградировала», а перспективы в ней оставаться стали «смехотворны».
Читать дальше →

Питон против Безумного Макса, или как я посты на Хабре замораживал

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

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

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

Что из этого вышло

Вклад авторов