Pull to refresh
4
6
Maxim B. @maxxborer

🦄 Пишу про всякий Frontend, продукты и процессы

Send message

OrbStack: Почему я забыл про Docker Desktop

Level of difficultyEasy
Reading time4 min
Views34K

Работая на MacBook с Docker Desktop, я часто сталкивался с тем, что система становилась менее отзывчивой, особенно при запуске нескольких контейнеров одновременно. Высокая нагрузка на CPU и память заметно влияла на время автономной работы.

Но недавно я наткнулся на OrbStack, и это изменило мой рабочий процесс настолько, что я решил поделиться своим опытом. Спойлер: теперь мой MacBook не превращается в печку, батарея держится дольше, а Docker-контейнеры летают.

Читать далее
Total votes 58: ↑56 and ↓2+61
Comments110

Гештальт vs КПТ

Reading time18 min
Views10K

В этой статье хочу внести ясность про гештальт-подход, и его противопоставление КПТ и другим подходам, чтобы каждый раз не орать «Вынипанимаити!» или «Бльоооооооооооооо!». 

Постараюсь сделать непонятное — понятным, чтобы прочитавший смог сам сделать выбор, опираясь на факты, а не на чужой субъективный уникальный опыт.

Читать далее
Total votes 17: ↑5 and ↓12-5
Comments25

Типичные ошибки архитектора, или Как перестать бояться и полюбить RFC

Reading time8 min
Views29K

Всем привет! С вами Женя, разработчик Dodo Engineering и один из ведущих подкаста «Читаем вместе». Он посвящен IT-книгам. В каждом сезоне мы планируем читать и разбирать одну книгу. Уже подходит к концу первый сезон, который мы посвятили книге Fundamentals of Software Architecture. Она написана архитекторами для архитекторов, но разработчикам, особенно тем, которые интересуются, как создавать работающие системы, тоже может быть очень интересна и полезна.

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

Не можете найти концов, почему было принято то или иное решение? Рассказываете коллегам по сто раз одно и то же? Обсуждения в мессенджерах превращаются в срачи на десятки сообщений?

Знакомо? Нам тоже. Но мы смогли победить эти проблемы.

Под катом выжимка из главы и нашего выпуска, а также практический опыт Dodo Engineering, как правильно оформлять и хранить архитектурные решения.

Читать далее
Total votes 32: ↑31 and ↓1+36
Comments5

CORS — это тупо

Reading time7 min
Views24K

Технология CORS и действующее в браузерах правило ограничения домена – те вещи, которые часто понимаются превратно. Ниже я объясню, что они собой представляют, и почему пора перестать волноваться по их поводу.

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

Прежде всего, отмечу, что CORS — это огромный костыль, помогающий снизить влияние ошибок, передающихся с унаследованным кодом. В этой системе защита предоставляется как по принципу отказа от участия (opt-out) в попытке частично купировать XSRF-атаки против незащищённых или немодифицированных сайтов, так и по принципу активного участия (opt-in), чтобы на сайте включалась активная самозащита. Но ни одной из этих мер не достаточно, чтобы решить целенаправленно созданную проблему. Если на вашем сайте используются куки, то вы обязаны деятельно позаботиться о его безопасности. (Ладно, это касается не любого сайта, но лучше перестрахуйтесь. Выделите время на тщательный аудит вашего сайта или выполните описанные ниже простые шаги. Даже придерживаясь самых разумных паттернов, вы всё равно можете подставиться под XSRF-уязвимости).

Читать далее
Total votes 17: ↑11 and ↓6+10
Comments19

3 самых очевидных способа вручную обнаружить текст от большой языковой модели

Level of difficultyEasy
Reading time12 min
Views47K

На написание и публикацию этого текста меня побудила необходимость быстро объяснить, как определять текст от больших языковых моделей (БЯМ). Важно, что речь идёт только про выявление очевидных случаев, а не бронебойное детектирование.

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

Читать далее
Total votes 82: ↑78 and ↓4+99
Comments87

Любой может получить доступ к удалённым и приватным данным репозиториев GitHub

Level of difficultyMedium
Reading time6 min
Views50K

Кто угодно может получать доступ к данным из удалённых форков, удалённых репозиториев и даже приватных репозиториев GitHub. И эти данные доступны всегда. Это известно разработчикам GitHub, и они намеренно спроектировали систему таким образом.

Это настолько огромный вектор атак для всех организаций, использующих GitHub, что мы решили ввести новый термин: Cross Fork Object Reference (CFOR). Уязвимость CFOR возникает, когда форк одного репозитория может получить доступ к требующим защиты данным из другого форка (в том числе и к данным из приватных и удалённых форков). Аналогично Insecure Direct Object Reference, при CFOR пользователи передают хэши коммитов, чтобы напрямую получать доступ к данным коммитов, которые иначе были бы для них невидимыми.

Давайте рассмотрим несколько примеров.
Читать дальше →
Total votes 114: ↑106 and ↓8+127
Comments42

Понятно про браузер: критические этапы рендеринга, аппаратное ускорение и оптимизации

Level of difficultyMedium
Reading time6 min
Views3.8K

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

Читать далее
Total votes 7: ↑6 and ↓1+9
Comments3

Information

Rating
894-th
Registered
Activity

Specialization

Frontend Developer
Senior