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

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

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

Auth service без библиотек

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

О чем эта статья: статья посвящена схемам регистрации, аутентификации, авторизации пользователей в веб приложениях, смене паролей, отзыве токенов, и т. п. Мы также рассмотрим, как организовать хранение данных, обсудим, что такое JWT, коротко поговорим о «сервисе для отправки email»

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

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

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

План действий на 2024 для UX/UI-дизайнера и ссылки на статьи

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

UI/UX-дизайн — это перспективная сфера деятельности, которая удачно сочетает творческий подход и аналитическое мышление. Профессиональные дизайнеры UI/UX разрабатывают визуально привлекательные интерфейсы, делая их при этом удобными и интуитивно понятными.

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

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

Справочник-шпаргалка по методологиям и паттернам на Python

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

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

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

Читать далее
Всего голосов 13: ↑10 и ↓3+7
Комментарии3

JavaScript: структуры данных и алгоритмы. Часть 5

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


Привет, друзья!


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



Сегодня мы рассмотрим систему непересекающихся множеств, фильтр Блума и кэш актуальных данных.


Код, представленный в этой и других статьях серии, можно найти в этом репозитории.


Интересно? Тогда прошу под кат.

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

Подробно про JWT

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

О чем эта статья: мы разберемся, что такое JSON Web Token, как он устроен и для чего используется, рассмотрим такие приемы, как «black-list токенов» и «контроль версий» токенов. Для наглядности, в конце будут блок-схемы клиент-серверных запросов с пояснениями.

Для кого эта статья: для тех, кто хочет детально понять что такое JWT, а так же для тех, кто просто ищет схему реализации.

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

Хранение данных в Postgresql

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

В этом тексте хочется подробнее рассмотреть хранение данных в PostgreSQL на физическом уровне.

Для начала определимся с общеизвестными вещами. Данные хранятся в таблицах, таблицы находятся в схемах, схемы, в свою очередь, в базах данных. Под данными я тут подразумеваю одну или несколько строк. В качестве примера будем рассматривать эталон критики, по моему личному мнению, цитаты Линуса Торвальдса.

Подробнее под катом
Всего голосов 16: ↑15 и ↓1+18
Комментарии3

Неизвестно полезный CSS. Часть 4

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


Привет, Хабр. Я продолжаю рассказывать про неизвестные широкому кругу разработчиков CSS фишки. Я отбираю их так, чтобы они были полезны в разного рода проектах.


Неважно, верстаете ли вы сайт для малого бизнеса или создаёте супермодное React приложение. Они поддерживаются большинством браузеров. Отдельно отмечу, что я не считаю IE11 современным браузером. По этой причине я не учитывал его.


Сегодня мы рассмотрим:

  • сброс стилей до значений, взятых из веб-стандартов;
  • возврат значений свойств, установленных в браузере;
  • что можно сделать с прыжками контента при открытии и закрытии модального окна;
  • возможность отобразить текст «красиво» с помощью ключевого слова system-ui;
  • способ стилизации элементов на языке, отличающимся от основного.

Больше не буду затягивать. Давайте посмотрим, что я вам подготовил.

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

Как в Netflix сделали поиск по федеративному графу

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

За последние несколько лет те, кто занимается в Netflix направлением Content Engineering, перевели множество служб компании на использование федеративной платформы GraphQL. Этот процесс продолжается и сегодня. Применение федерации GraphQL даёт командам, отвечающим за различные предметные области, новые возможности. Теперь они могут, независимо от других команд, создавать и использовать собственные графовые службы, относящихся к сфере их деятельности (Domain Graph Service, DGS). Команды, кроме того, могут связывать свои предметные области с другими областями в унифицированной схеме GraphQL, доступ к которой даёт федеративный шлюз.

Давайте, в качестве примера, рассмотрим три главнейшие сущности этого графа.

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

Как вкусно приготовить «Сельдерей» (Celery)

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

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

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

PostgreSQL 16. Страницы и версии строк. Часть 3

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

Данная статья является продолжением: PostgreSQL 16. Изоляция транзакций. Часть 2.

В этой части мы рассмотрим, из каких частей состоит страница в PostgreSQL, как выполняются операции CRUD (создание, чтение, обновление, удаление) для строк с сохранением нескольких версий одной и той же строки в таблице и как на это влияют транзакции. Также рассмотрим вложенные транзакции.

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

Как извлечь пользу из статической типизации

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

Эта статья о том, как извлечь максимум пользы из статической системы типов при дизайне вашего кода. Статья пытается быть language agnostic (получается не всегда), примеры на Java и взяты из жизни.

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

Стать программистом: не с нуля не до профи (Flutter и не только)

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

Как найти первую работу в IT? Что нужно знать для этого? На сколько это вообще сложно?

Обо всём по-подробнее здесь.

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

Чтение на выходные: «Принципы изменения мирового порядка. Почему одни нации побеждают, а другие терпят поражение»

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

Рэй Далио — американский финансист и инвестор, основатель одного из самых крупных в мире хедж-фондов Bridgewater Associates. Он регулярно входит в списки 100 самых влиятельных людей в мире по версии журнала Time и 50 самых щедрых благотворителей в США по версии Forbes. Автор ряда книг об успехе, бизнесе и финансах.

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

Как я превратил обычный бизнес в IT компанию, читая книги

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

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

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

Казалось бы, что могло пойти так?
Всего голосов 51: ↑43 и ↓8+54
Комментарии17

Мем айсберг SQL: погружение в глубины баз данных

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

Мем айсберг SQL: погружение в глубины изучения баз данных

Мем айсберг SQL — это вирусное интернет-изображение, изображающее айсберг с несколькими слоями. Вершина айсберга содержит общеизвестные концепции и инструменты SQL, такие как операторы SELECT и JOIN. Однако по мере погружения под воду становятся видны более абсурдные и малоизвестные аспекты SQL.

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

Как мыслить нестандартно. Топ-5 книг для развития креативности и интуиции

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

Привет, Хабр! Я бизнес-тренер в ОТП Банке. И моя новая статья посвящена книгам про мышление. Решила выделить топ-5, но их, конечно, больше. Если есть, что добавить в этот список – кидайте в комментарии, буду очень благодарна. О хороших книгах должны знать все:)

Пополнить багаж знаний
Всего голосов 13: ↑13 и ↓0+14
Комментарии8

Асинхронность в программировании

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

В области разработки высоконагруженных многопоточных или распределенных приложений часто возникают дискуссии об асинхронном программировании. Сегодня мы подробно погрузимся в асинхронность и изучим, что это такое, когда она возникает, как влияет на код и язык программирования, которым мы пользуемся. Разберемся, зачем нужны Futures и Promises и затронем корутины и операционные системы. Это сделает компромиссы, возникающие во время разработки ПО, более явными.


В основе материала — расшифровка доклада Ивана Пузыревского, преподавателя школы анализа данных Яндекса.


Читать дальше →
Всего голосов 71: ↑67 и ↓4+63
Комментарии70

Что можно узнать о Domain Driven Design за 10 минут?

Время на прочтение5 мин
Количество просмотров194K
Говорят, что можно бесконечно смотреть на огонь, наблюдать за тем, как работают другие, а также изучать DDD (Domain Driven Design, предметно-ориентированное проектирование). Но если у вас есть только 10 минут — можно прочитать эту статью и пройтись по самым верхушкам, а потом с умным видом кивать головой во время светской беседы.

Покрутили и рассмотрели DDD с разных сторон вместе с Андреем Ратушным — техническим директором компании Югорские Интернет Решения.



Читать дальше →
Всего голосов 27: ↑25 и ↓2+30
Комментарии64

Подготовка к техническому собеседованию Senior/Team Lead backend

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

Недавно появились мысли походить на собеседования чем я успешно занялся. Если конкретно - смотрел лидовскую/сеньерскую позиции на Python и Golang(но статья может пригодиться backend разработчикам в целом). Не ставлю целью статьи объять все не объятное и дать какие-то гарантии. Я лишь зафиксирую данные для себя на будущее.

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

Сразу сделаю пометку, что некоторые навыки/ресурсы специфичны(по типу нарешивания Leetcode), но отталкиваемся от текущих реалий рынка.

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

Ядерный магнитный резонанс, ЯМР⁠⁠. Часть 3

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

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

Добро пожаловать под кат
Всего голосов 11: ↑11 и ↓0+15
Комментарии7
1
23 ...

Информация

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