Как стать автором
Обновить
11
0

Пользователь

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

Все еще работаете с access token на клиенте? Тогда мы идем к вам

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

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

В статье рассмотрим причины необходимости работы с токеном на клиенте веб-приложений, узнаем ,что лучше для хранения токена: localStorage, sessionStorage или cookie без флага HttpOnly (спойлер, ничего из этого), а также посмотрим на меры воздействия, которые можно использовать для снижения риска утечки токена посредством различных уязвимостей.

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

Читать далее
Всего голосов 37: ↑35 и ↓2+40
Комментарии40

Игровой жанр MOBA. История, особенности, примеры и сравнение

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

Жанр MOBA, что в переводе означает "Многопользовательская онлайн боевая(Б) арена(А)", зародился как поджанр стратегий в реальном времени (RTS). Сегодня это один из самых популярных и быстро развивающихся жанров компьютерных игр. В этой статье мы погрузимся в историю этого увлекательного жанра, узнаем о его истоках, рассмотрим ключевые моменты его развития и узнаем, как будет развиваться MOBA в будущем.

Жанр MOBA и почему выбирают именно его?

Давайте задумаемся. О чем изначально думают игроки, если речь идет о жанре игр MOBA? Возможно, образуются образы персонажей с разнообразными способностями, сражающихся на площадке(арене)? Для большинства это короткое и справедливое определение жанра. Но в то же время я не очень согласен с этим распространенным представлением!

Подробнее
Всего голосов 10: ↑5 и ↓5+4
Комментарии17

О найме. Взгляд оттуда

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

Давайте поговорим о том как нам обустроить Россию правильно нанимать людей и не задавать глупые вопросы на интервью.

Читать далее
Всего голосов 69: ↑59 и ↓10+64
Комментарии255

Аутентификация для WebSocket и SSE: до сих пор нет стандарта?

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

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

В статье разберем особенности аутентификации применительно к протоколу WebSocket и технологии Server-Sent Events, обсудим, какие нюансы могут быть, когда клиентская часть находится в браузере, и на что еще стоит обратить внимание, чтобы избежать неочевидных проблем.

А еще заодно поговорим про уязвимость Cross-Site WebSocket Hijacking (CSWSH) и в целом посмотрим на многие вопросы через призму информационной безопасности.

Читать далее
Всего голосов 53: ↑53 и ↓0+53
Комментарии5

Event Loop. Мифы и реальность

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

В сети есть довольно большое количество публикаций про Event loop и как он работает. Новые статьи появляются на популярных ресурсах и по сей день, в том числе на Хабре. Однако, к сожалению, далеко не вся информация, представленная в этих материалах является проверенной или достоверной. В связи с чем, само понятие обросло рядом мифов и догадок. Порой, даже опытному разработчику требуется немало внимания и опыта, чтобы понять, где истина, а где, чистой воды, вымысел.

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

Читать далее
Всего голосов 26: ↑26 и ↓0+26
Комментарии2

Удаленка схлопывается? Как сохранить для себя этот режим работы

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

Во время и сразу после ковида удаленка была на подъеме - компании массово отказывались от офисов, аналитики публиковали исследования, согласно которым все внезапно стали эффективными. Сейчас тренд сменился на противоположный. Сотрудников, в том числе из ИТ, возвращают в офис. Почему это происходит и можно ли как-то сохранить для себя работу из дома? 

Читать далее
Всего голосов 66: ↑45 и ↓21+34
Комментарии432

Кризис концепций стартапов и веры в туземун. Медленное развитие как альтернатива

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

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

Читать далее
Всего голосов 20: ↑16 и ↓4+18
Комментарии15

Machine Learning инженер: что/где/как изучать, чтобы въехать

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

Привет, хаброчеловек!

В этой статье мы обсудим путь среднестатистического обывателя в Machine Learning, а именно — как стать ML-инженером. Поговорим о специфике области, какие требуются знания и скиллы, что нужно делать и с чего начать.

Читать далее
Всего голосов 13: ↑12 и ↓1+11
Комментарии4

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

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

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

Читать далее
Всего голосов 129: ↑127 и ↓2+155
Комментарии49

Полное руководство по управлению навигацией во Flutter с помощью пакета go_router: часть 1

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

Привет, Хабр! Меня зовут Юрий Петров, я автор ютуб-канала «Мобильный разработчик» и Flutter Team Lead в Friflex. Мы разрабатываем мобильные приложения для бизнеса и специализируемся на Flutter. 

В этом руководстве я хочу рассказать про пакет go_router. Он помогает управлять навигацией во Flutter. Команда разработки Flutter поддерживает библиотеку go_router. Это позволяет надеяться, что она продолжит развиваться.

Рассказывать буду на примере простого проекта — Todo (заметки). Я понимаю, что таких проектов на Хабре очень много. Но, по-моему, лучшего примера не найти.

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии4

React + Three.js. Создаём собственный 3D шутер. Часть 3

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

Привет, дорогие пользователи мира IT!

В эпоху активного развития веб-технологий и интерактивных приложений, 3D-графика становится всё более актуальной и востребованной. Но как создать 3D-приложение, не теряя преимуществ веб-разработки? В этой статье мы рассмотрим, как сочетать мощь Three.js с гибкостью React, чтобы создать собственную игру прямо в браузере.

В статье вы познакомитесь с библиотекой React Three Fiber и научитесь создавать интерактивные 3D-игры.

Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии6

Компилятор за выходные: синтаксические деревья

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

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

Итак, чтобы самому разобраться в теме, я собираюсь написать транслятор с эзотерического языка программирования wend (сокращение от week-end), который я только что сам придумал, в обычный ассемблер. Задача уложиться в несколько сотен строк питоновского кода. Основной репозиторий живёт на гитхабе (не забудьте заглянуть в мой профиль и посмотреть другие tiny* репозитории).

Читать далее
Всего голосов 75: ↑75 и ↓0+75
Комментарии28

Упрощенный пример на Rust обучения нейронной сети на основе Candle Framework от Hugging Face

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

Я недавно изучал примеры использования нейронных сетей из библиотеки Candle от Hugging Face и обратил внимание, что они довольно сложны для понимания людей, которые только начинают знакомство с нейросетями. Поэтому я решил написать максимально упрощенный пример кода на Rust, который демонстрирует обучение и использование простейшей нейросети.

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Комментарии5

Знакомство с WebTransport API

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


Hello world!


На днях я прочитал статью о WebTransport API как будущей альтернативе или даже замене WebSockets. Мне стало интересно, что это такое и с чем его едят. Давайте разбираться вместе.

Читать дальше →
Всего голосов 40: ↑40 и ↓0+40
Комментарии5

Внутренний Я(ндекс)

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

В этой статье я хочу описать (часть) моего опыта взаимодействия со структурой, именуемой в дальнейшем «яндекс», с точки зрения работника. Опишу собеседования и этап «входа».

Да, уже были статьи про собеседование и даже в эту же структуру, некоторые из них я видел, но не во всём с ними согласен, к тому же конкретно С++ разработчиков я там не видел.

Читать далее
Всего голосов 397: ↑391 и ↓6+457
Комментарии288

Смерть от тысячи микросервисов

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

Как мы к этому пришли? Как мы стали вместо решения наших задач, тратить кучи денег на решение проблем, которых у нас нет?

Читать далее
Всего голосов 105: ↑99 и ↓6+121
Комментарии309

React + Three.js. Создаём собственный 3D шутер. Часть 2

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

Привет, дорогие пользователи мира IT!

В эпоху активного развития веб-технологий и интерактивных приложений, 3D-графика становится всё более актуальной и востребованной. Но как создать 3D-приложение, не теряя преимуществ веб-разработки? В этой статье мы рассмотрим, как сочетать мощь Three.js с гибкостью React, чтобы создать собственную игру прямо в браузере.

В статье вы познакомитесь с библиотекой React Three Fiber и научитесь создавать интерактивные 3D-игры.

Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии7

Тестирование с использованием стабов, моков и прокси

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


Под тестированием с использованием моков понимается модульное тестирование с использованием моков в качестве заменителей реальных объектов. Под реальными объектами я подразумеваю объекты, которые тестируемый модуль (класс) будет использовать в реальном приложении. Если у вас есть класс Calculator, которому для загрузки данных из базы данных требуется объект dao (Data Access Object), то объект dao — это «реальный объект». Чтобы протестировать класс Calculator, необходимо предоставить ему объект dao, имеющий корректное соединение с базой данных. Кроме того, нужно добавить в базу данные, необходимые для тестирования.
Читать дальше →
Всего голосов 12: ↑10 и ↓2+11
Комментарии0

Личный домашний VPN на основе Raspberry (Shadowsocks) (для самых маленьких)

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

Настраиваем свой маленький, домашний и ламповый VPN на основе Shadowsocks (Outline). Нужен Raspberry и настраиваемый wi-fi-роутер. Пошаговая инструкция. Без абонентской платы и аренды VPS.

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

До этого блокировали пока что только коммерческие сервисы VPN. Пока под раздачу попадают протоколы WireGuard и OpenVPN (август 2023) (ссылка на СМИ, выполняющее функции иноагента). Первый очень популярен своей легкостью и быстродействием, быстрой настройкой. К сожалению, у такого трафика на лбу написано «Я — VPN соединение”. Второй протокол уже довольно старый и популярный, но тоже довольно легко обнаруживается РКН. На сегодня РКН только тренируется с блокировками, но похоже, что Shadowsocks пока работает без перебоев. Тем не менее, "эксперты «Роскомсвободы»* также предполагают, что следующим шагом властей может стать блокировка Shadowsocks, нестандартного протокола, созданного для обхода Великого китайского файрволла, и подобных ему инструментов” (ссылка на сайт некоммерческой организации выполняющей функции иностранного агента). Пока до этого протокола еще не добрались, на основе него, а точнее Outline, использующий технологию Shadowsocks, и настроим свой VPN-сервер.

*некоммерческая организация выполняющая функции иностранного агента

Читать далее
Всего голосов 32: ↑28 и ↓4+35
Комментарии34

Flutter DevTools: анализируем и улучшаем Flutter-приложения на примере «Росбанк Инвест»

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

Привет! Меня зовут Нияз, и в этом посте я расскажу о Flutter DevTools — очень богатом и разнообразном наборе инструментов для оценки Flutter-приложений, причем доступном прямо через браузер. Статья представляет собой обзор доступного функционала Flutter DevTools, где я постараюсь описать, что можно сделать с его помощью. Для иллюстраций я по возможности буду использовать приложение «Росбанк Инвест». В ряде случаев нужных примеров в приложении не нашлось, поэтому я придумал их сам. Надеюсь, эта статья будет вам полезна и добавит в ваш инструментарий кое-что новое.

Читать далее
Всего голосов 13: ↑13 и ↓0+13
Комментарии2
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность