По образованию я авиационный инженер, а по профессии и из-за своей первой любви я программист.

Но иногда трудно вспомнить все темы, которые я изучил самостоятельно о программном обеспечении и проектировании систем, я не нашел в Интернете ничего, что меня порадовало бы. будет создавать именно это здесь:

Без чуши, давайте начнем перечислять все концепции и рассмотрим их одну за другой:

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

Список из них, по процессу после того, как мы выполним требования к программному обеспечению:

Проектирование системы: можно разделить на проектирование высокого уровня и проектирование низкого уровня.

«Нужно»:

монолитная или микросервисная архитектура, шардинг

балансировщик нагрузки, какие сервисы, какой тип БД, кэширование и многое другое и т.д.

мы углубимся во все его концепции позже.

2. Разработка: для разработки мы в первую очередь рассмотрим стек MERN, но стек сильно различается в зависимости от опыта команды и требований к программному обеспечению:

Внутренняя разработка:

Под серверной частью я подразумеваю наши службы API (интерфейс прикладного программирования), которые позаботятся о нашей связи между базой данных, или о вычислении наших данных, или об обработке чего-либо для машинного обучения, или о показе шоу Netflix со всего мира. мир для наших пользователей.

Для серверной части мы можем использовать множество языков и фреймворков, таких как Django для python, Express для Node.js (JAVASCRIPT или TYPESCRIPT), SpringBoot для Java, ASP.NET для C# и многие другие…

Внешняя часть Dразработка:

Под FrontEnd я имею в виду наш пользовательский интерфейс, который пользователь будет использовать на своем устройстве, таком как компьютер, мобильный телефон, кофеварка :) и т. д.

пока мы разрабатываем для браузера, мы используем HTML, CSS и Vanilla JS (обычный Javascript), а также фреймворки или библиотеки на основе javascript, чтобы манипулировать браузером и показывать то, что мы хотим показать нашим пользователям.

HTML довольно стандартен, для CSS мы можем использовать SASS/SCSS, BootStrap или Tailwind, и на рынке есть много других вариантов, из которых можно выбирать.

Некоторые из этих фреймворков и библиотек: ReactJS (это библиотека, а не фреймворк от Facebook), Angular (фреймворк от Google, который в основном используется в корпоративных приложениях),

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

Если мы разрабатываем приложение для мобильных устройств, мы можем использовать JAVA для Android, Swift для IOS, React Native или Flutter или IONIC (python) для кроссплатформенной разработки.

Опять же, есть более известные фреймворки и библиотеки, но это то, с чем мне удобнее всего.

Есть и другие вещи, такие как Gshock, three.js и т. д., но мы рассмотрим их позже.

Базы данных:

Для базы данных у нас есть два варианта: имя SQL (язык структурированных запросов) само по себе указывает на то, что это структурированный способ сохранения данных в нашей базе данных, который очень эффективен по структуре. Я имею в виду, что в виде строк и столбцов несколько таблиц подключен с использованием первичного ключа. некоторые из них — PostgreSQL, MySQL, MariaDB, Oracle Database и SQL Server.

и затем у нас есть NoSQL, который не является языком структурных запросов :), но он обеспечивает гораздо большую гибкость для разработки и аналитики. Существует несколько типов NoSQL, таких как хранилища на основе графов, документов, ключей и значений, базы данных, ориентированные на столбцы. Наиболее популярными из них являются MongoDB, DynamoDB (от AWS), Cosmos DB (от Azure) и Cloud Firestore (от google). Облако).

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

Ссылка на следующие посты будет здесь:

  1. Глубокое погружение в БД:


2. Глубокое погружение во внешний интерфейс:



3. Глубокое погружение в BackEnd: //todo

4. Глубокое погружение в системный дизайн: //todo

5. немного DSA для улучшения нашей логики вместе: //todo