Обновить
3
0
Олег Бубнов@bubn0ff

Frontend-developer

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

Переезжаем в Firefox. Советы по настройке

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

Разработчики Chrome, наконец, урезали поддержку лучшего блокировщика рекламы, uBlock Origin, и теперь популярность моего любимчика Firefox снова растёт1. Так что здесь я постараюсь убедить вас перейти на этот браузер и покажу, как его использовать.

Читать далее

Верстка для ленивых: как перестать бояться CSS и начать верстать как супергерой

Время на прочтение3 мин
Охват и читатели9.4K

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

Читать далее

Шпаргалки по безопасности: REST

Время на прочтение5 мин
Охват и читатели30K


REST — чрезвычайно популярная архитектура веб-приложений. Для вызова функций на сервере используются обычные HTTP-запросы с задаваемыми параметрами (для структуризации параметров обычно используют JSON или XML), при этом, строгого стандарта для REST-архитектуры не существует, что добавляет ей гибкости (и, конечно, немного хаоса).
Читать дальше →

Про свёрла

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

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

Читать далее

Git: Больше чем commit и push. 5 команд, которые спасут вашу репутацию (и нервные клетки)

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

git commit -m "WIP" — три слова, после которых начинается настоящий ад.

Доброго времени суток. Такая технология как Git в представлении не нуждается. Все знают add, commit, push — это как азбука. Но что делать, когда что‑то пошло не так? Ошибочный коммит прокатился по ветке? Надо срочно переключиться, но незавершенные правки мешают? Нужно перенести только одно исправление из другой ветки?

Знакомая ситауция? Тогда давайте разберем 5 команд, которые выходят за рамки базового workflow и реально спасают репутацию (и ваши нервные клетки).

Спасти нервные клетки

Localhost-атака: как Meta* и Яндекс следят за пользователями Android через localhost

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели57K

Мы раскрыли новый метод отслеживания, используемый компаниями Meta* и Яндекс, который потенциально затрагивает миллиарды пользователей Android. Мы обнаружили, что нативные приложения Android — включая Facebook, Instagram и несколько приложений Яндекса, таких как Карты и Браузер — незаметно слушают определенные локальные порты в целях отслеживания.

Эти нативные приложения Android получают метаданные браузеров, куки и команды от скриптов Meta* Pixel и Яндекс.Метрики, встроенных на тысячи веб-сайтов. Эти скрипты загружаются в мобильных браузерах пользователей и незаметно связываются с нативными приложениями, работающими на том же устройстве, через локальные сокеты (localhost). Так как нативные приложения программно получают доступ к идентификаторам устройства, таким как рекламный идентификатор Android (AAID), или обрабатывают идентификацию пользователя, как в случае приложений Meta, этот метод позволяет этим организациям связывать сессии мобильного браузера и веб-куки с личностью пользователя, тем самым деанонимизируя посетителей сайтов, на которых размещены их скрипты.

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

Читать далее

13 законов разработки ПО

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

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

  1. Закон Паркинсона.
  2. Закон Хофштадтера.
  3. Закон Брукса.
  4. Закон Конвея (и обратный закон Конвея).
  5. Закон Каннингема.
  6. Закон Старджона.
  7. Закон Завински.
  8. Закон Хайрама.
  9. Закон Прайса.
  10. Эффект Рингельмана.
  11. Закон Гудхарта.
  12. Закон Гилба.
  13. Закон Мёрфи.

Поехали.
Читать дальше →

Разработка высоконагруженных API: проблемы, решения, практические рекомендации

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели25K

Ваш проект взлетел. Первые пользователи превратились в тысячи. Тысячи стали десятками тысяч. Метрики в дашбордах рисуют красивую кривую, устремленную вверх. Но есть и другие кривые, которые ползут вверх с не меньшей скоростью. Время ответа сервера. Количество ошибок 502 и 504.

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

Читать далее

Руководство по Next.js. 3/3

Уровень сложностиСредний
Время на прочтение45 мин
Охват и читатели17K


Hello world!


Представляю вашему вниманию третью и заключительную часть обновленного руководства по Next.js.



На мой взгляд, Next.js — это лучший на сегодняшний день инструмент для разработки веб-приложений.


Предполагается, что вы хорошо знаете JavaScript и React, а также хотя бы поверхностно знакомы с Node.js.


Обратите внимание: руководство актуально для Next.js версии 14.


При подготовке руководства я опирался в основном на официальную документацию, но в "отсебятине" мог и приврать (или просто очепятаться) 😁 При обнаружении подобного не стесняйтесь писать в личку 😉


Парочка полезных ссылок:


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

Установка Windows через CMD

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели17K

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

Но существует альтернативный способ установить Windows — более быстрый, не требующий подключения к интернету и не навязывающий никаких сервисов — ручная установка с использованием CMD.

Читать далее

Сложно о простом. Как работает интернет. Часть 5. Будущее (ли?) сетей: IPv6, SDN и Overlay сети

Уровень сложностиПростой
Время на прочтение18 мин
Охват и читатели6.5K

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

В предыдущей статье я рассказывал о различиях LAN, MAN, WAN, что такое сети Clos и иерархию операторов.

В этом цикле я не стану учить вас настраивать оборудование и проектировать сети. Я расскажу об основных (и не только) принципах построения сети, а также о функционировании сети и сетевых протоколов в стеке TCP/IP.

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

Читать далее

Эти CSS-техники устарели

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели14K


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


Общаясь с коллегами, я заметил, что они незнакомы с последними возможностями CSS. Как обычно, у всех свои причины. У кого-то много повседневной рутины. Кому-то в принципе неинтересно, что нового происходит в CSS. А кто-то по привычке использует подходы десятилетней давности и ему норм.


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


Давайте посмотрим, что я вам подготовил.

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

Что такое CDN и как она работает: объяснение на примере доставки котиков

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

Представьте, что вы построили идеальный сайт. Всё оптимизировано, но стоит тысяче пользователей из разных концов света одновременно захотеть посмотреть, как пушистик прыгает в коробку — и ваш сервер падает. Чтобы этого не случилось, в игру вступает CDN (Content delivery network). О том, как она работает, объясню на примере доставки котиков. 

Читать далее

SSL и SSL-сертификаты для новичков

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

Представляю вашему вниманию перевод статьи SSL and SSL Certificates Explained For Beginners. Я долго разбирался с SSL, сертификатами, центрами сертификации - это единственная статья, после которой у меня что-то отложилось в голове :) Поэтому возникла идея перевести ее и донести до широких масс.

Читать далее

Paranoia Mode: подборка инструментов для приватной и безопасной работы в Linux

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели7.8K


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

Привет, Хабр! Я Вика, системный администратор в Selectel. В этой статье предлагаю взглянуть на несколько проверенных методов и технологий для минимизации цифрового следа — без лишней паранойи, но с пониманием, как все устроено. Прошу под кат!
Читать дальше →

«Кем Вы видите себя через 5 лет», или HRско-русский разговорник

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

Вас спрашивали «Кем Вы видите себя через 5 лет»? Меня тоже. За двадцать пять лет в IT я понял, зачем они так делают. Понял – это значит, что я «привык и научился пользоваться» (С). Но «неприятно удивлять» они меня не перестали.

Публикую свой личный русско-HRский разговорник. Он вряд ли поменяет ваше отношение к HRскому языку, но проходить собеседования вы будете проще и эффективнее.

Дисклеймер:

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

Читать далее

CI/CD для начинающих: деплой React-приложения без боли

Время на прочтение5 мин
Охват и читатели9.9K

Следующий шаг после разработки веб-приложения — размещение его на сервере. Независимо от сложности проекта или используемой инфраструктуры, общий процесс остается одинаковым: нужно «упаковать» код в CI/CD-конвейер и отправить на сервер. В тексте рассмотрим, как это происходит на примере простого приложения to-do list на React. Подробности под катом!
Читать дальше →

Зацените BUSY Bar — устройство для продуктивности

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели17K

3 года назад я рассказывал как я делаю опенсорсную табличку "Я Занят". С тех пор проект полностью перешел внутрь Flipper Devices и его разрабатывает та же команда, что и Flipper Zero.

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

Читать далее

15 команд Git, которые покрывают 90% повседневной работы разработчика

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

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

Читать далее

Хабр без ограничений: Магия «плюса» в адресе почты

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

В 20 лет я планово обновил паспорт. Через пару недель мне позвонили мошенники. С самого начала меня начали «обрабатывать» и для укрепления доверия называть мои ПДн. В разгаре беседы «господа из техподдержки компании N» назвали мои новые паспортные данные!

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

Так фича или всё-таки баг?

Информация

В рейтинге
5 591-й
Откуда
Россия
Зарегистрирован
Активность

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

Фронтенд разработчик, HTML-верстальщик
От 150 000 ₽
HTML
CSS
SCSS
JavaScript
TypeScript
React
Redux
Gulp
Webpack
Jest