Если коротко то...
Firebase это комплексный набор инструментов и услуг, предлагаемых в качестве платформы Backend-as-a-Service (BaaS), позволяющий разработчикам легко создавать, запускать и расширять мобильные и веб-приложения. Он предлагает базу данных в реальном времени, аутентификацию, хранение данных, хостинг и другие возможности, и все это управляется с единой платформы.
Firebase это комплексный набор инструментов и услуг, предлагаемых в качестве платформы Backend-as-a-Service (BaaS), позволяющий разработчикам легко создавать, запускать и расширять мобильные и веб-приложения. Он предлагает базу данных в реальном времени, аутентификацию, хранение данных, хостинг и другие возможности, и все это управляется с единой платформы.
На самом деле очень многое хочется вам рассказать про данный сервис. Поверьте мне он прям палочка выручалочка в некоторых случаях.
К сожалению сейчас нет времени описать все, что хочется поведать вам, поэтому делюсь ссылкой на статью, где можно ознакомиться с данным инструментом и попрактиковаться.
Firebase: что такое, для чего нужно, как читать и записывать данные
https://kolmogorov.pro/what-is-firebase-chto-takoe
К сожалению сейчас нет времени описать все, что хочется поведать вам, поэтому делюсь ссылкой на статью, где можно ознакомиться с данным инструментом и попрактиковаться.
Firebase: что такое, для чего нужно, как читать и записывать данные
https://kolmogorov.pro/what-is-firebase-chto-takoe
kolmogorov.pro
Firebase: что такое, для чего нужно, как читать и записывать данные
Познакомимся с современной облачной базой данных Firebase: узнаем зачем, кому она может понравится, как отправлять и получать данные из облака
👍4🤔1
Что такое монолитное приложение?
- это принцип разработки, когда все сервисы и весь функционал находятся в одном месте в виде неделимого (монолитного) приложения
Чаще всего это проект, который установлен на сервере (кластере) и к нему обращаются все запросы. Написан как правило на одном или двух языках.
Суть работы примерно такая:
- клиент обращается к web-серверу
- веб-сервер перенаправляет запрос на нужную часть кода
- код выполняется (возможно обращается к б.д.)
- отправляет ответ на веб-сервер
- и дальше отправляется ответ клиенту (например в браузер)
Минусы:
- чтобы изменить небольшой функционал необходимо перезапустить все приложение
- труднее работать с разными источниками данных
- если "отказывает" один сервис, то останавливается все приложение
- труднее масштабировать
Плюсы:
- привычнее большинству разработчиков
- проще разобраться и контролировать т.к. все в одном месте
- сервисам проще взаимодействовать друг с другом
- это принцип разработки, когда все сервисы и весь функционал находятся в одном месте в виде неделимого (монолитного) приложения
Чаще всего это проект, который установлен на сервере (кластере) и к нему обращаются все запросы. Написан как правило на одном или двух языках.
Суть работы примерно такая:
- клиент обращается к web-серверу
- веб-сервер перенаправляет запрос на нужную часть кода
- код выполняется (возможно обращается к б.д.)
- отправляет ответ на веб-сервер
- и дальше отправляется ответ клиенту (например в браузер)
Минусы:
- чтобы изменить небольшой функционал необходимо перезапустить все приложение
- труднее работать с разными источниками данных
- если "отказывает" один сервис, то останавливается все приложение
- труднее масштабировать
Плюсы:
- привычнее большинству разработчиков
- проще разобраться и контролировать т.к. все в одном месте
- сервисам проще взаимодействовать друг с другом
👍5
Что такое микросервисная архитектура?
- это набор веб-сервисов, выполняющих какой-либо точечный функционал и объединенных в виртуальное облако, при этом работая как единое приложение.
Суть в том, что весь функционал разбит на части. У каждого микросервиса может быть своя бд. А сами микросервисы объединены с помощью внешних настроек и технологий.
Что могут микросервисы?
- работать и вызываться независимо друг от друга
- если один "откажет", остальные продолжат работать
- вызывать друг друга по необходимости
- могут быть написаны на разных языках
На данный момент, многие отдают предпочтение микросервисной архитектуре.
- это набор веб-сервисов, выполняющих какой-либо точечный функционал и объединенных в виртуальное облако, при этом работая как единое приложение.
Суть в том, что весь функционал разбит на части. У каждого микросервиса может быть своя бд. А сами микросервисы объединены с помощью внешних настроек и технологий.
Что могут микросервисы?
- работать и вызываться независимо друг от друга
- если один "откажет", остальные продолжат работать
- вызывать друг друга по необходимости
- могут быть написаны на разных языках
На данный момент, многие отдают предпочтение микросервисной архитектуре.
👍2
Что такое CI/CD?
CI/CD (Continuous Integration/Continuous Deployment) — это практика разработки программного обеспечения, которая направлена на автоматизацию процесса сборки, тестирования и развертывания кода.
Continuous Integration (непрерывная интеграция) представляет собой процесс, при котором разработчики регулярно сливают свой код в общий репозиторий, после чего автоматически запускаются сборка и тестирование кода. Это позволяет выявлять проблемы интеграции в ранние стадии разработки.
Continuous Deployment (непрерывное развертывание) — это процесс автоматического развертывания кода в производственную среду после успешного прохождения всех этапов сборки и тестирования. Это позволяет быстро и безопасно внедрять изменения в продуктивную среду.
В целом, CI/CD помогает ускорить процесс разработки, улучшить качество кода, уменьшить риски и повысить эффективность работы команды разработчиков.
CI/CD (Continuous Integration/Continuous Deployment) — это практика разработки программного обеспечения, которая направлена на автоматизацию процесса сборки, тестирования и развертывания кода.
Continuous Integration (непрерывная интеграция) представляет собой процесс, при котором разработчики регулярно сливают свой код в общий репозиторий, после чего автоматически запускаются сборка и тестирование кода. Это позволяет выявлять проблемы интеграции в ранние стадии разработки.
Continuous Deployment (непрерывное развертывание) — это процесс автоматического развертывания кода в производственную среду после успешного прохождения всех этапов сборки и тестирования. Это позволяет быстро и безопасно внедрять изменения в продуктивную среду.
В целом, CI/CD помогает ускорить процесс разработки, улучшить качество кода, уменьшить риски и повысить эффективность работы команды разработчиков.
👍2
Решали ли вы задачи на leetcode? В комментариях делитесь своими достижениями.
Anonymous Poll
44%
Да
56%
Нет
Как вы смотрите на идею создать аккаунт на leetcode вместе со мной, и вместе выбирать задачи и решать их? Глянем сколько у нас наберётся решённых задач за год.
Anonymous Poll
57%
Отличная идея, присоединяюсь к челенджу
36%
Идея интересная, но решать не буду, только смотреть
7%
Не интересно
Помните конспект книги "Чистый код"?
Добавил 5-ю и 6-ю главы. (Форматирование и Объекты и структуры данных)
https://github.com/WebWoodProg/literature-analysis/blob/main/%D0%A7%D0%B8%D1%81%D1%82%D1%8B%D0%B9%20%D0%BA%D0%BE%D0%B4%20-%20%D0%A0%D0%BE%D0%B1%D0%B5%D1%80%D1%82%20%D0%9C%D0%B0%D1%80%D1%82%D0%B8%D0%BD.md
Добавил 5-ю и 6-ю главы. (Форматирование и Объекты и структуры данных)
https://github.com/WebWoodProg/literature-analysis/blob/main/%D0%A7%D0%B8%D1%81%D1%82%D1%8B%D0%B9%20%D0%BA%D0%BE%D0%B4%20-%20%D0%A0%D0%BE%D0%B1%D0%B5%D1%80%D1%82%20%D0%9C%D0%B0%D1%80%D1%82%D0%B8%D0%BD.md
GitHub
literature-analysis/Чистый код - Роберт Мартин.md at main · WebWoodProg/literature-analysis
Contribute to WebWoodProg/literature-analysis development by creating an account on GitHub.
👍6❤1
Всем привет.✋
Немного полезной информации для вас.
Хочу рассказать про колоночные базы данных.
(Columnar database)
Суть их в том, что данные группируются не по строкам, а по столбцам.
Если нам нужно в классической реляционной бд найти и считать какие либо значения, то у нас сканируется вся таблица по строкам и столбцам, а затем извлекаются строки целиком, даже если нужно только одно значение каждой из них. В случае колоночной бд, мы можем искать значения по отдельным столбцам и извлекать только те значения, которые необходимы.
Данное свойство делает их использование перспективным при работе с большими данными. Извлечение данных из таблицы в таких случаях может быть в десятки, а то и в сотни раз быстрее.
Помимо этого, колоночные бд более эффективно используют дисковое пространство, за счёт того, что данные в них могут быть сжаты сильнее чем в строчных.
На данный момент существует множество колоночные СУБД.
Примеры:
- ClickHouse
- Greenplum
- HANA
- Vertica
- Cassandra
- SAP IQ и т.д.
Немного полезной информации для вас.
Хочу рассказать про колоночные базы данных.
(Columnar database)
Суть их в том, что данные группируются не по строкам, а по столбцам.
Если нам нужно в классической реляционной бд найти и считать какие либо значения, то у нас сканируется вся таблица по строкам и столбцам, а затем извлекаются строки целиком, даже если нужно только одно значение каждой из них. В случае колоночной бд, мы можем искать значения по отдельным столбцам и извлекать только те значения, которые необходимы.
Данное свойство делает их использование перспективным при работе с большими данными. Извлечение данных из таблицы в таких случаях может быть в десятки, а то и в сотни раз быстрее.
Помимо этого, колоночные бд более эффективно используют дисковое пространство, за счёт того, что данные в них могут быть сжаты сильнее чем в строчных.
На данный момент существует множество колоночные СУБД.
Примеры:
- ClickHouse
- Greenplum
- HANA
- Vertica
- Cassandra
- SAP IQ и т.д.
🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
К слову, почему за последнюю неделю делаю мало постов)) Но сегодня ждите интересную тему)
😁3🐳1
ЗАДАЧА:
На вход подается число в диапазоне [-2³¹;2³¹-1]. Нужно вернуть целое число, перевернув цифры в обратном порядке с сохранением знака(+/-). Если результат выходит за указанный диапазон, вернуть 0. (решение оставляем в комментарии)
Пример 1:
INPUT: x = 123456
OUTPUT: 654321
Пример 2:
INPUT: -5670
OUTPUT: -765
Пример 3:
INPUT: -2 147 483 648
OUTPUT: 0
На вход подается число в диапазоне [-2³¹;2³¹-1]. Нужно вернуть целое число, перевернув цифры в обратном порядке с сохранением знака(+/-). Если результат выходит за указанный диапазон, вернуть 0. (решение оставляем в комментарии)
Пример 1:
INPUT: x = 123456
OUTPUT: 654321
Пример 2:
INPUT: -5670
OUTPUT: -765
Пример 3:
INPUT: -2 147 483 648
OUTPUT: 0
Всем привет.
Давайте, для начала, разберемся в понятиях аутентификации, авторизации и идентификации.
1. Идентификация: Этот процесс определяет, кем пользователь является. Например, когда вы вводите свое имя пользователя на сайте.
2. Аутентификация: Этот процесс проверяет подлинность пользователя. Например, после того как вы ввели свое имя пользователя на сайте, вам может потребоваться ввести пароль для подтверждения вашей личности.
3. Авторизация: Этот процесс определяет, к каким ресурсам или функциям приложения пользователь имеет доступ. Например, после успешной аутентификации вы можете получить доступ к своему личному кабинету на сайте, но не иметь доступа к административным функциям.
Итак, чтобы сделать пример более ясным, предположим, что вы заходите на сайт (идентификация), вводите свой логин и пароль (аутентификация), и после этого получаете доступ к своему аккаунту с возможностью просмотра информации о заказах, но не имеете права редактировать их (авторизация).
Давайте, для начала, разберемся в понятиях аутентификации, авторизации и идентификации.
1. Идентификация: Этот процесс определяет, кем пользователь является. Например, когда вы вводите свое имя пользователя на сайте.
2. Аутентификация: Этот процесс проверяет подлинность пользователя. Например, после того как вы ввели свое имя пользователя на сайте, вам может потребоваться ввести пароль для подтверждения вашей личности.
3. Авторизация: Этот процесс определяет, к каким ресурсам или функциям приложения пользователь имеет доступ. Например, после успешной аутентификации вы можете получить доступ к своему личному кабинету на сайте, но не иметь доступа к административным функциям.
Итак, чтобы сделать пример более ясным, предположим, что вы заходите на сайт (идентификация), вводите свой логин и пароль (аутентификация), и после этого получаете доступ к своему аккаунту с возможностью просмотра информации о заказах, но не имеете права редактировать их (авторизация).
👍5🔥1
Аутентификация по паролю - пользователь предоставляет username и password.
Существует несколько стандартных схем данного типа аутентификации:
1) Basic - username и password передаются в заголовке Authorization в виде base64-encoded (является сравнительно безопасным способом
только при использовании HTTPS)
2) Digest - сервер передает уникальное значение nonce,
а браузер передает MD5 хэш пароля пользователя, вычесленный с использованиемданного nonce (более защищена при использовании http,
но уязвима перед атакой с заменой схемы на basic и неподдерживает использование современных хэш-функций
для хранения пароля пользователя на сервере).
3) NTLM - пароль не передается в чистом виде. В основном используется
в Active Directory.
4) Negotive - позволяет клиенту выбрать между NTLM и Kerberos аутентификацией.
Может функционировать, только если и клиент, и сервер находятся в зоне intranet и являются частью домена Windows.
Существует несколько стандартных схем данного типа аутентификации:
1) Basic - username и password передаются в заголовке Authorization в виде base64-encoded (является сравнительно безопасным способом
только при использовании HTTPS)
2) Digest - сервер передает уникальное значение nonce,
а браузер передает MD5 хэш пароля пользователя, вычесленный с использованиемданного nonce (более защищена при использовании http,
но уязвима перед атакой с заменой схемы на basic и неподдерживает использование современных хэш-функций
для хранения пароля пользователя на сервере).
3) NTLM - пароль не передается в чистом виде. В основном используется
в Active Directory.
4) Negotive - позволяет клиенту выбрать между NTLM и Kerberos аутентификацией.
Может функционировать, только если и клиент, и сервер находятся в зоне intranet и являются частью домена Windows.
👍7