Шпаргалка по SQL (postgres), которая выручает меня на собесах.
Я решил посвятить свою первую статью SQL. Вопросы, рассмотренные ниже мне задавали на собеседованиях на позицию python-разработчика. Естественно отвечать правильно получалось не всегда, а если точнее то чаще не правильно, однако проведя N часов в рефлексии я составил перечень ответов, которыми пользуюсь до сих пор.
Данная информация предполагает знание основ языка запросов и я надеюсь, она окажется полезной для разработчиков, которые сейчас активно ищут работу а также, что ты прочитаешь этот текст до конца и добавишь свой вопрос к перечню (ну или поправишь неточности в существующих)
Читать далее https://habr.com/ru/articles/745948/
Я решил посвятить свою первую статью SQL. Вопросы, рассмотренные ниже мне задавали на собеседованиях на позицию python-разработчика. Естественно отвечать правильно получалось не всегда, а если точнее то чаще не правильно, однако проведя N часов в рефлексии я составил перечень ответов, которыми пользуюсь до сих пор.
Данная информация предполагает знание основ языка запросов и я надеюсь, она окажется полезной для разработчиков, которые сейчас активно ищут работу а также, что ты прочитаешь этот текст до конца и добавишь свой вопрос к перечню (ну или поправишь неточности в существующих)
Читать далее https://habr.com/ru/articles/745948/
Хабр
Шпаргалка по SQL (postgres), которая выручает меня на собесах
Привет, Хабр! Я решил посвятить свою первую статью SQL. Вопросы, рассмотренные ниже мне задавали на собеседованиях на позицию python-разработчика. Естественно отвечать правильно получалось не всегда,...
SQL-запросы выполняются в несколько этапов:
𝟭. 𝗙𝗥𝗢𝗠 - таблицы объединяются для получения базовых данных.
𝟮. 𝗪𝗛𝗘𝗥𝗘 - базовые данные фильтруются.
𝟯. 𝗚𝗥𝗢𝗨𝗣 𝗕𝗬 - отфильтрованные базовые данные группируются.
𝟰. 𝗛𝗔𝗩𝗜𝗡𝗚 - сгруппированные базовые данные фильтруются.
𝟱. 𝗦𝗘𝗟𝗘𝗖𝗧 - возвращаются окончательные данные.
𝟲. 𝗢𝗥𝗗𝗘𝗥 𝗕𝗬 - окончательные данные сортируются.
𝟳. 𝗟𝗜𝗠𝗜𝗧 - возвращаемые данные ограничены количеством строк.
𝟭. 𝗙𝗥𝗢𝗠 - таблицы объединяются для получения базовых данных.
𝟮. 𝗪𝗛𝗘𝗥𝗘 - базовые данные фильтруются.
𝟯. 𝗚𝗥𝗢𝗨𝗣 𝗕𝗬 - отфильтрованные базовые данные группируются.
𝟰. 𝗛𝗔𝗩𝗜𝗡𝗚 - сгруппированные базовые данные фильтруются.
𝟱. 𝗦𝗘𝗟𝗘𝗖𝗧 - возвращаются окончательные данные.
𝟲. 𝗢𝗥𝗗𝗘𝗥 𝗕𝗬 - окончательные данные сортируются.
𝟳. 𝗟𝗜𝗠𝗜𝗧 - возвращаемые данные ограничены количеством строк.
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
наглядное изображение объясняет, как работает двоичный код.
🔥7👌3👏2
5 справочных сайтов и шпаргалок для UX-профессионалов
За прошедшие годы я столкнулся с рядом шпаргалок, которые помогли мне с дизайном как разработчику полного стека и студенту UX-дизайна.
https://uxplanet.org/5-reference-sites-and-cheat-sheets-for-ux-professionals-3846b35834c2
За прошедшие годы я столкнулся с рядом шпаргалок, которые помогли мне с дизайном как разработчику полного стека и студенту UX-дизайна.
https://uxplanet.org/5-reference-sites-and-cheat-sheets-for-ux-professionals-3846b35834c2
Medium
5 Reference Sites and Cheat Sheets for UX Professionals
A list of the 5 ultimate cheat sheets for the UX professional.
Коды состояния HTTP, которые вы должны знать
Коды ответов для HTTP делятся на пять категорий:
📚Информационные (100-199)
👌Успех (200-299)
🚗Перенаправление (300-399)
👨💻Ошибка клиента (400-499)
🔋Ошибка сервера (500-599)
Эти коды определены в RFC 9110. Чтобы избавить вас от необходимости читать весь документ (около 200 страниц), здесь приводится сводка наиболее распространенных.
Коды ответов для HTTP делятся на пять категорий:
📚Информационные (100-199)
👌Успех (200-299)
🚗Перенаправление (300-399)
👨💻Ошибка клиента (400-499)
🔋Ошибка сервера (500-599)
Эти коды определены в RFC 9110. Чтобы избавить вас от необходимости читать весь документ (около 200 страниц), здесь приводится сводка наиболее распространенных.
👍2
Объяснение JSON Web Token (JWT) 10-летнему ребенку.
Представьте, что у вас есть специальная коробка, называемая JWT. Внутри этой коробки находятся три части: заголовок, полезная нагрузка и подпись.
Заголовок - это как этикетка на внешней стороне коробки. Он сообщает нам, какого типа эта коробка и как она защищена. Обычно он записывается в формате JSON, который представляет собой способ организации информации с помощью фигурных скобок { } и двоеточий : .
Полезная нагрузка - это собственно сообщение или информация, которую вы хотите отправить. Это может быть ваше имя, возраст или любые другие данные, которыми вы хотите поделиться. Она также записана в формате JSON, поэтому ее легко понять и с ней легко работать.
Подпись - это то, что делает JWT безопасным. Она похожа на специальную печать, о создании которой знает только отправитель. Подпись создается с помощью секретного кода, похожего на пароль. Эта подпись гарантирует, что никто не сможет подделать содержимое JWT без ведома отправителя.
Когда вы хотите отправить JWT на сервер, вы помещаете заголовок, полезную нагрузку и подпись внутрь коробки. Затем вы отправляете его на сервер. Сервер может легко прочитать заголовок и полезную нагрузку, чтобы понять, кто вы и что вы хотите сделать.
Представьте, что у вас есть специальная коробка, называемая JWT. Внутри этой коробки находятся три части: заголовок, полезная нагрузка и подпись.
Заголовок - это как этикетка на внешней стороне коробки. Он сообщает нам, какого типа эта коробка и как она защищена. Обычно он записывается в формате JSON, который представляет собой способ организации информации с помощью фигурных скобок { } и двоеточий : .
Полезная нагрузка - это собственно сообщение или информация, которую вы хотите отправить. Это может быть ваше имя, возраст или любые другие данные, которыми вы хотите поделиться. Она также записана в формате JSON, поэтому ее легко понять и с ней легко работать.
Подпись - это то, что делает JWT безопасным. Она похожа на специальную печать, о создании которой знает только отправитель. Подпись создается с помощью секретного кода, похожего на пароль. Эта подпись гарантирует, что никто не сможет подделать содержимое JWT без ведома отправителя.
Когда вы хотите отправить JWT на сервер, вы помещаете заголовок, полезную нагрузку и подпись внутрь коробки. Затем вы отправляете его на сервер. Сервер может легко прочитать заголовок и полезную нагрузку, чтобы понять, кто вы и что вы хотите сделать.
1. Web Server:
Размещает веб-сайты и доставляет веб-содержимое клиентам через Интернет
2. Mail Server:
Обеспечивает отправку, получение и маршрутизацию электронной почты по сети.
3. DNS-сервер:
Транслирует доменные имена (например, bytebytego .com) в IP-адреса, позволяя пользователям получать доступ к веб-сайтам по их человекочитаемым именам.
4. Proxy Server:
Сервер-посредник, выполняющий роль шлюза между клиентами и другими серверами, обеспечивая дополнительную безопасность, оптимизацию производительности и анонимность.
5. FTP-сервер:
Обеспечивает передачу файлов между клиентами и серверами по сети.
6. Origin Server:
Является центральным источником контента, который кэшируется и распределяется между пограничными серверами для ускорения доставки конечным пользователям.
Размещает веб-сайты и доставляет веб-содержимое клиентам через Интернет
2. Mail Server:
Обеспечивает отправку, получение и маршрутизацию электронной почты по сети.
3. DNS-сервер:
Транслирует доменные имена (например, bytebytego .com) в IP-адреса, позволяя пользователям получать доступ к веб-сайтам по их человекочитаемым именам.
4. Proxy Server:
Сервер-посредник, выполняющий роль шлюза между клиентами и другими серверами, обеспечивая дополнительную безопасность, оптимизацию производительности и анонимность.
5. FTP-сервер:
Обеспечивает передачу файлов между клиентами и серверами по сети.
6. Origin Server:
Является центральным источником контента, который кэшируется и распределяется между пограничными серверами для ускорения доставки конечным пользователям.
Пограничные вычисления и облачные вычисления — в чем разница? Дайте мне 3 минуты, и я скажу вам: в облачных вычислениях вычисления и хранение данных происходят в централизованном месте, а поставщики облачных услуг отвечают за управление компьютерными ресурсами.
Граничные вычисления — это распределенный подход к хранению данных и обработке задач. Размещая серверы на «крае» сети или на реальных устройствах, вычисления приближаются к тем местам, где они необходимы.
Преимущества облачных вычислений по сравнению с периферийными вычислениями.
🔹Объединение ресурсов в пулы может быть рентабельным.
🔹Поставщики облачных услуг (CSP) имеют много доступных ресурсов, что упрощает масштабирование.
🔹CSP управляют всей инфраструктурой вместо вас, в то время как граничные вычисления часто являются более сложными и, следовательно, более практичными.
🔹Облачные вычисления существуют уже давно, а это означает, что существует больше поставщиков и моделей услуг на выбор.
Преимущества граничных вычислений по сравнению с облачными вычислениями.
🔸Задержка и использование полосы пропускания сокращаются за счет локальной обработки данных, а не в централизованном месте.
🔸Возможна обработка данных в режиме реального времени.
🔸Отсутствие необходимости отправлять конфиденциальные данные по сети повышает безопасность.
🔸Распределенная система снижает вероятность отказа одного узла и выхода из строя всей системы. Пограничные вычисления и облачные вычисления — отличные варианты, но какой из них лучше для вас, зависит от требований вашего приложения.
Граничные вычисления — это распределенный подход к хранению данных и обработке задач. Размещая серверы на «крае» сети или на реальных устройствах, вычисления приближаются к тем местам, где они необходимы.
Преимущества облачных вычислений по сравнению с периферийными вычислениями.
🔹Объединение ресурсов в пулы может быть рентабельным.
🔹Поставщики облачных услуг (CSP) имеют много доступных ресурсов, что упрощает масштабирование.
🔹CSP управляют всей инфраструктурой вместо вас, в то время как граничные вычисления часто являются более сложными и, следовательно, более практичными.
🔹Облачные вычисления существуют уже давно, а это означает, что существует больше поставщиков и моделей услуг на выбор.
Преимущества граничных вычислений по сравнению с облачными вычислениями.
🔸Задержка и использование полосы пропускания сокращаются за счет локальной обработки данных, а не в централизованном месте.
🔸Возможна обработка данных в режиме реального времени.
🔸Отсутствие необходимости отправлять конфиденциальные данные по сети повышает безопасность.
🔸Распределенная система снижает вероятность отказа одного узла и выхода из строя всей системы. Пограничные вычисления и облачные вычисления — отличные варианты, но какой из них лучше для вас, зависит от требований вашего приложения.
👍6
❗️Linux 🐧 - Операционная система с открытым исходным кодом, основанная на Unix❗️.
Git 💾 - распределенная система контроля версий для управления изменениями кода.
Java 💻 - объектно-ориентированный язык программирования для разработки корпоративных приложений.
Тестирование 🔬 - процесс оценки системы или ее компонента (компонентов) с целью выявления дефектов.
Build Tools 🛠 - Программные приложения для автоматизации процесса сборки.
Spring Boot 🚀 - Фреймворк для создания приложений на основе микросервисов на Java.
Postgres 🗄 - Система управления реляционными базами данных с открытым исходным кодом.
Безопасность 🔒 - меры, предпринимаемые для защиты системы или приложения от несанкционированного доступа.
Микросервисы 🧱 - архитектурный стиль, который структурирует приложение в виде небольших независимых сервисов.
Docker 🐳 - платформа для разработки, доставки и запуска приложений с помощью контейнеров.
Kubernetes 🌪 - платформа с открытым исходным кодом для автоматизации развертывания, масштабирования и управления контейнерными приложениями.
AWS 🌥 - Amazon Web Services, платформа облачных вычислений для размещения и запуска приложений.
CI/CD 🔃 - непрерывная интеграция и непрерывное развертывание, практика разработки программного обеспечения для автоматической сборки, тестирования и развертывания изменений кода в производстве.
Git 💾 - распределенная система контроля версий для управления изменениями кода.
Java 💻 - объектно-ориентированный язык программирования для разработки корпоративных приложений.
Тестирование 🔬 - процесс оценки системы или ее компонента (компонентов) с целью выявления дефектов.
Build Tools 🛠 - Программные приложения для автоматизации процесса сборки.
Spring Boot 🚀 - Фреймворк для создания приложений на основе микросервисов на Java.
Postgres 🗄 - Система управления реляционными базами данных с открытым исходным кодом.
Безопасность 🔒 - меры, предпринимаемые для защиты системы или приложения от несанкционированного доступа.
Микросервисы 🧱 - архитектурный стиль, который структурирует приложение в виде небольших независимых сервисов.
Docker 🐳 - платформа для разработки, доставки и запуска приложений с помощью контейнеров.
Kubernetes 🌪 - платформа с открытым исходным кодом для автоматизации развертывания, масштабирования и управления контейнерными приложениями.
AWS 🌥 - Amazon Web Services, платформа облачных вычислений для размещения и запуска приложений.
CI/CD 🔃 - непрерывная интеграция и непрерывное развертывание, практика разработки программного обеспечения для автоматической сборки, тестирования и развертывания изменений кода в производстве.
Книга по регулярным выражениям — RegEx для разработчиков JavaScript [Полная книга]
https://www.freecodecamp.org/news/regular-expressions-for-javanoscript-developers/
https://www.freecodecamp.org/news/regular-expressions-for-javanoscript-developers/
freeCodeCamp.org
The Regular Expressions Book – RegEx for JavaScript Developers [Full Book]
If you want to master regular expressions and understand how they work in JavaScript, this book's for you. Regular expressions can be intimidating when you first encounter them. When I started learning to code, I gave up on regular expressions twice....
Устаревшая Linux-команда ifconfig и ее заменяющая шпаргалка
https://www.cyberciti.biz/faq/linux-ip-command-examples-usage-syntax/
https://www.cyberciti.biz/faq/linux-ip-command-examples-usage-syntax/
Docker против Kubernetes. Какой из них следует использовать?
Что такое Docker?
Docker - это платформа с открытым исходным кодом, позволяющая упаковывать, распространять и запускать приложения в изолированных контейнерах. Основное внимание уделяется контейнеризации, предоставляя облегченные среды, которые инкапсулируют приложения и их зависимости.
Что такое Kubernetes?
Kubernetes, часто называемая K8s, - это платформа оркестровки контейнеров с открытым исходным кодом. Она обеспечивает основу для автоматизации развертывания, масштабирования и управления контейнерными приложениями на кластере узлов.
Чем оба варианта отличаются друг от друга?
Docker: Docker работает на уровне отдельных контейнеров на одном узле операционной системы.
При этом необходимо вручную управлять каждым узлом, а настройка сетей, политик безопасности и хранилищ для нескольких связанных контейнеров может быть сложной.
Kubernetes: Kubernetes работает на уровне кластера. Она управляет несколькими контейнерными приложениями на нескольких хостах, обеспечивая автоматизацию таких задач, как балансировка нагрузки, масштабирование и обеспечение требуемого состояния приложений.
Одним словом, Docker специализируется на контейнеризации и запуске контейнеров на отдельных узлах, а Kubernetes - на управлении и оркестровке контейнеров в масштабе кластера узлов.
Что такое Docker?
Docker - это платформа с открытым исходным кодом, позволяющая упаковывать, распространять и запускать приложения в изолированных контейнерах. Основное внимание уделяется контейнеризации, предоставляя облегченные среды, которые инкапсулируют приложения и их зависимости.
Что такое Kubernetes?
Kubernetes, часто называемая K8s, - это платформа оркестровки контейнеров с открытым исходным кодом. Она обеспечивает основу для автоматизации развертывания, масштабирования и управления контейнерными приложениями на кластере узлов.
Чем оба варианта отличаются друг от друга?
Docker: Docker работает на уровне отдельных контейнеров на одном узле операционной системы.
При этом необходимо вручную управлять каждым узлом, а настройка сетей, политик безопасности и хранилищ для нескольких связанных контейнеров может быть сложной.
Kubernetes: Kubernetes работает на уровне кластера. Она управляет несколькими контейнерными приложениями на нескольких хостах, обеспечивая автоматизацию таких задач, как балансировка нагрузки, масштабирование и обеспечение требуемого состояния приложений.
Одним словом, Docker специализируется на контейнеризации и запуске контейнеров на отдельных узлах, а Kubernetes - на управлении и оркестровке контейнеров в масштабе кластера узлов.
👍3