Архив метки: Программирование

Книга: Вероятностное программирование

Книга: Вероятностное программирование

Книга — Вероятностное программирование: Учебное пособие для вузов / В. В. Колбин. — 2-е издание. Модели и методы математического программирования в условиях дефицита информации используются в технике, экономике, биологии, военном деле и других областях человеческой деятельности. Они адекватнее других современных формальных методов приспособлены к анализу сложных систем, к подготовке и выбору оптимальных и компромиссных решений.

Представлены одноэтапные, двухэтапные и многоэтапные модели с вероятностными условиями и функционалами, многокритериальные и игровые постановки задач. Читать

Полное руководство, как стать веб-разработчиком в 2021 году

Веб-разработка сегодня является одним из самых востребованных отраслевых навыков. Если мы посмотрим на загрузки популярных пакетов, таких как express, react или jquery, то вы увидите, что за последние 5 лет общее между ними состоит в том, что их использование быстро растет с каждым годом.

Фактически, опрос stackoverflow за 2020 год включает «полный стек» и «интерфейс» как две из трех ведущих профессий разработчиков в мире на данный момент.

Таким образом, очевидно, что сегодня веб-разработка — это отличный навык. В этой статье посмотрим, что именно вам нужно сделать, чтобы стать веб-разработчиком в 2021 году и далее на перспективу.

 

Эта проблема

Проблема с сетью сейчас — это информационная перегрузка и шум. jQuery, Angular, Ember, Vue, React, Next.js, Nuxt.js, TypeScript, Sass, Webpack, NPM, Yarn, ESbuild, snowpack, …! Есть так много вещей, так много инструментов, так многому вы можете научиться — что часто становится обескураживающим даже начинать.

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

 

Вам не нужно все учить

Распространенное заблуждение состоит в том, что вам нужно научиться всему, чтобы стать отличным разработчиком. Это совершенно неверно.

  1. У вас должен быть «полный» технический стек. Полный технический стек — это стек, с помощью которого вы можете создать практически любой проект, который захотите.
  2. Вам нужно знать большинство, если не все популярные инструменты в экосистеме. Обратите внимание, это не означает, что вам нужно знать, как с ними работать. Но вы должны знать, что они существуют.

 

Вам нужно сделать ставку на стек

Angular vs React vs Vue vs Svelte vs xyz. Это обсуждение никогда не закончится. По правде говоря, все популярные фреймворки/библиотеки популярны, потому что люди их используют и хорошо умеют делать то, что делают.

Если хотите, можете попробовать провести время с разными технологиями. Но моя личная рекомендация — не менять основные библиотеки/фреймворки каждые месяц или два.

Конечно, вы можете переключиться с React на Angular, просмотрев Х-часовой курс. Однако помните, что при работе с технологией вам необходимо разработать определенную ментальную модель, и на то, чтобы освоиться с ней, могут потребоваться недели, если не месяцы.

Не переключайтесь на самые передовые технологии на рынке, придерживайтесь технологического стека, с которым вы работаете.

 

Фреймворк для изучения веб-разработки в 2021 году

Хорошо. Теперь большой вопрос. Чему вы на самом деле научились из всего шума в мире? Давайте разделим вопрос на две части — (Что и как), чтобы изучить интерфейс веб-разработки. Оба вопроса одинаково важны, так как в зависимости от принятого решения вы можете сэкономить или потратить впустую много времени. Давайте начнем.

 

Что нужно узнать о веб-разработке?

Это полный список вещей, которые вам следует изучить для веб-разработки. Обратите внимание, что это было бы самоуверенным, потому что у меня большой опыт работы с этими технологиями (платформа, на которой вы это читаете, codedamn, была построена со всеми этими технологиями).

 

Основы Интернета

Для многих это может стать неожиданностью. Большинство сайтов рекомендуют начинать с HTML/CSS, но я чувствую, что даже раньше вы должны понимать, как Интернет и сеть работают на высоком уровне. Что такое HTML-документы, как они отправляются с внутреннего сервера, что такое DNS, что именно происходит, когда вы вводите google.com в браузере и т. д.

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

 

HTML5/CSS3

HTML и CSS — фундаментальные строительные блоки Интернета. Несомненно, это должно быть первое, чему вы должны научиться что бы быть специалистом во фронтенд-разработке.

Некоторые очень важные моменты:

  1. Обязательно изучите современный синтаксис HTML5.
  2. Попробуйте узнать о семантических тегах в HTML5 вместо того, чтобы вставлять все в div.
  3. Узнайте о современных методах макета в CSS (flexbox, grid)
  4. Узнайте о современном синтаксисе CSS и получите ясное представление о селекторах, медиа-запросах, свойствах, значениях и т. д. — основах.
  5. Не придерживайтесь старого и устаревшего синтаксиса ( centerтег marqueeи т. д.)
  6. Не тратьте много времени на изучение старых методов компоновки в CSS с плавающей точкой и т. д.
  7. Не пробуйте каждую передовую функцию CSS3/4. Многие из них могут еще не поддерживаться в браузерах. По большей части придерживайтесь широко поддерживаемых функций CSS3.

 

JavaScript

JavaScript очень важен для интерактивности и всего, что вы делаете, кроме простой статической целевой страницы HTML/CSS. Его можно широко использовать и за пределами внешнего интерфейса (в Node.js/Deno/TypeScript), поэтому важно, чтобы вы правильно понимали свои основы с помощью JavaScript.

Некоторые очень важные моменты:

  1. Обязательно изучите синтаксис ES6 +. Не используйте их varи даже не следуйте инструкциям. В большинстве случаев они не нужны. Один из способов проверить это — попробовать следовать руководствам, созданным после 2017 года.
  2. У JavaScript есть некоторые особенности поведения, которые могут застать вас врасплох. Например, почему 0,1 + 0,2 не равно 0,3 или почему null == undefined верно в JS. Помните, что у такого поведения всегда есть причины. Чтобы понять такие вещи, нужно выполнить поиск в Google.
  3. JavaScript — это, по сути, язык асинхронного и неблокирующего ввода-вывода. Это означает, что вы должны понимать, как некоторые основные части асинхронных вещей, такие как промисы, работают в JavaScript.
  4. Узнайте о DOM API и поймите, что это API, предоставляемый вашим браузером вашему JS-коду для взаимодействия с вашим HTML/CSS.

 

 

Продолжение:



2021-08-13T21:05:43
Программирование

Полное руководство, как стать веб-разработчиком в 2021 году. Часть 2

Инструменты разработчика

В это время вам также следует начать изучение того, как работать с инструментами разработчика в вашем браузере. Мы предпочитаем инструменты разработчика Chrome, потому что они отлично подходят для отладки и работы с JavaScript и DOM. Независимо от вашего выбора, мы бы предпочли создавать проекты и отлаживать любые проблемы, с которыми вы сталкиваетесь, с помощью инструментов разработчика, вместо того, чтобы часами смотреть на ваш код.

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

Некоторые важные моменты:

  1. Мы рекомендуем придерживаться инструментов разработчика Chrome, потому что они очень мощные.
  2. Узнайте о манипуляциях с DOM, отладке сетевых запросов, установке точек останова для событий, переходе по источникам, поиске кода в ресурсах вашего веб-сайта, регулировании скорости сети и многом другом.
  3. Это будет постоянное обучение, как и все другие технологии. Вы не должны стремиться изучать инструменты разработчика сразу, просто изучите небольшие, но важные вещи и двигайтесь дальше. Вы узнаете намного больше, работая с проектами и т. д.

 

Git

Вам нужно изучить систему управления версиями (VCS), и это должно быть git. Git — это широко используемая VCS, используемая командами и компаниями для управления своими кодовыми базами среди сотрудников. Git может быть очень сложным для изучения, но изначально ваш пример использования git будет заключаться в развертывании вашего кода на GitHub или аналогичном сайте.

Это необходимо, потому что, когда вы изучаете git, вы можете нажать на github. Когда вы можете нажать на github, вы можете интегрироваться со многими сервисами, такими как страницы GitHub, Vercel, Netlify и т. д., Чтобы создать предварительный просмотр вашего веб-сайта/проекта в реальном времени. Этим предварительным просмотром в реальном времени можно поделиться с друзьями, семьей и даже добавить в свое резюме.

Когда вы устроитесь на работу или будете работать с командой из 2+ разработчиков, вам все равно понадобятся знания git. Но даже для индивидуального разработчика это имеет первостепенное значение, так как значительно упрощает цикл развертывания на действующем веб-сайте.

Некоторые важные моменты:

  1. Git может очень быстро стать сложным. Не запутайтесь с большим количеством команд git. Как индивидуальный разработчик, вам вряд ли понадобится что-либо, кроме 5-7 часто используемых команд.
  2. Хотя пункт 1 верен, вы все равно должны понимать общую архитектуру того, как работает git, какие есть ветки, что подразумевается под удаленными репозиториями и т. д. Это снова прочная основа понимания, которую вы должны иметь.

 

NPM/Yarn

NPM и Yarn — два самых популярных менеджера пакетов для JavaScript. Оба они существуют для одной цели — управления зависимостями в вашей кодовой базе. Зависимость — это пакет/программное обеспечение, которое обычно не разрабатывается вами/вашей командой, но вы все равно можете использовать и интегрировать его в свое приложение. Например, система дизайна, такая как бутстрап или попутный CSS, является зависимостью.

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

Некоторые важные моменты:

  1. NPM и пряжа — очень близкие понятия. Когда вы узнаете о npm, вы также узнаете о package.json, о том, зачем они нужны, и многом другом. Все это также можно перенести на yarn v1 в качестве менеджера пакетов.
  2. Поэтому не стоит особо задумываться о том, какой менеджер пакетов вам следует изучить. Изучите любой (например, Yarn), и вы можете автоматически переключиться на другой, если этого требует ваш проект.

 

React

React — библиотека, пользующаяся огромной поддержкой сообщества. Любая проблема/ошибка, с которой вы столкнулись с React — скорее всего, кто-то уже сделал эту ошибку и задал вопрос на 1000 веб-сайтах. Поэтому, если вы хороший гуглер, у вас не должно возникнуть проблем при работе с React.

Некоторые важные моменты:

  1. На первый взгляд React выглядит просто, но для масштабной работы требуется разработка ментальной модели. Речь идет не только о концепциях и хуках, но и о том, как спроектировать ваше приложение, сделать его поддерживаемым, выбрать правильные библиотеки для экосистемы и т. д.
  2. React не применяет никаких стандартных практик для общих задач, таких как сетевые запросы или пользовательский интерфейс. Но мы рекомендуем следующие варианты — react-query для сетевых запросов, попутный CSS или материальный UI для библиотеки UI.
  3. Не изучайте подробно компоненты на основе классов, если вам не нужно работать с устаревшей кодовой базой, которая требует от вас глубокого изучения. Компоненты на основе классов — это не будущее React. Убегайте от руководств, которые учат вас компонентам на основе классов. Вместо этого узнайте о функциональных компонентах и ​​хуках.

 

Сборщики модулей

Webpack — один из самых популярных сборщиков модулей, который React использует прямо сейчас из коробки. Опять же, вам не обязательно глубоко изучать webpack, но вы должны знать, что это за файл webpack.config.js.

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

 

Тестирование кода

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

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

 

Упражняться! Упражняться! Упражняться!

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

 

Как научиться фронтенд-разработке?

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

 

Вам нужен бесплатный подход к обучению

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

  1. Часто используйте Google для обучения и выяснения сомнений.
  2. Смотрите видео на YouTube, но убедитесь, что они относительно новые, особенно по таким темам, как JavaScript и React.
  3. Практикуйтесь самостоятельно, создавайте проекты и развертывайте их в Интернете, чтобы люди могли их увидеть.
  4. Пройдите бесплатные курсы.

 

Вывод

На самом деле время — деньги, иногда даже более важные, чем деньги. Что вы хотите потратить (или можете потратить), зависит от вас. Но мы бы порекомендовали, даже если это не кодирование, потратить деньги на свое образование, чтобы получить ускорение и ясность в том, чего вы пытаетесь достичь, определенно того стоит.

 

Начало:



2021-08-13T21:00:57
Программирование

Пузырьковая сортировка

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

Идея алгоритма проста: несколько раз сравнивайте соседние элементы в массиве и меняйте их местами, если они не отсортированы. Алгоритм повторяет описанный выше процесс до тех пор, пока все элементы в массиве не будут отсортированы. На каждой итерации алгоритма алгоритм сравнивает все пары соседних элементов. Смежные элементы меняются местами, если они не отсортированы.

 

Пример:

Пусть исходный массив будет [5, 4, 9, 3, 7, 6].

Первая итерация:

сравните элементы в индексах 1 и 2: 5, 4. Они не отсортированы. Поменяйте их местами. Array = [4, 5, 9, 3, 7, 6].

Сравните элементы в индексе 2 и 3: 5, 9. Они отсортированы. Не меняйте местами. Array = [4, 5, 9, 3, 7, 6].

Сравните элементы в индексе 3 и 4: 9, 3. Они не отсортированы. Поменяйте их местами. Array = [4, 5, 3, 9, 7, 6].

Сравните элементы в индексе 4 и 5: 9, 7. Они не отсортированы. Поменяйте их местами. Array = [4, 5, 3, 7, 9, 6].

Сравните элементы в индексе 5 и 6: 9, 6. Они не отсортированы. Поменяйте их местами. Array = [4, 5, 3, 7, 6, 9]

Массив после первой итерации равен [4, 5, 3, 7, 6, 9].

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

Первая итерация:

[5, 4, 9, 3, 7, 6]

[4, 5, 9, 3, 7, 6]

[4, 5, 3, 9, 7, 6]

[4, 5, 3, 7 , 9, 6]

[4, 5, 3, 7, 6, 9]

Вторая итерация:

[4, 3, 5, 7, 6, 9]

[4, 3, 5, 6, 7, 9]

Третья итерация:

[3, 4, 5, 6, 7, 9]

Исходный код: пузырьковая сортировка

def bubble_sort(arr, n):

for i in range(0, n):

for j in range(0, n-1):

# Если пара не находится в отсортированном порядке

if arr[j] > arr[j+1]:

# Поменяйте местами пары, чтобы сделать их в отсортированном порядке

arr[j], arr[j+1] = arr[j+1], arr[j]

return arr



if __name__ == "__main__":

arr = [5, 4, 9, 7, 3, 6]

n = len(arr)

arr = bubble_sort(arr, n)

print (arr)

Пояснение: Алгоритм состоит из двух циклов. Первый цикл повторяется по массиву n раз, а второй цикл n-1 раз. На каждой итерации первого цикла второй цикл сравнивает все пары соседних элементов. Если они не отсортированы, соседние элементы меняются местами, чтобы упорядочить их. Максимальное количество сравнений, необходимых для присвоения элементу его правой позиции в отсортированном порядке, равно n-1, потому что есть n-1 других элементов. Так как имеется n элементов, и каждый элемент требует максимум n-1 сравнений; массив сортируется за время O (n ^ 2). Следовательно, временная сложность наихудшего случая равна O (n ^ 2). Лучшая временная сложность в этой версии пузырьковой сортировки также составляет O (n ^ 2), потому что алгоритм не знает, что он полностью отсортирован. Следовательно, даже если он отсортирован.

 

Часть 2 (необязательно): оптимизированная пузырьковая сортировка

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

def optimised_bubble_sort(arr, n):

not_sorted = True

while(not_sorted):

not_sorted = False

for i in range(0, n-1):

# Если пара не находится в отсортированном порядке

if arr[i] > arr[i+1]:

# Поменяйтесь ими местами

arr[i], arr[i+1] = arr[i+1], arr[i]

# Помните, что массив не был отсортирован 

# в начале итерации

not_sorted = True

return arr



if __name__ == "__main__":

arr = [5, 4, 9, 7, 3, 6]

n = len(arr)

arr = optimised_bubble_sort(arr, n)

print (arr)

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

Оптимальная временная сложность этого алгоритма — O (n). Это происходит, когда все элементы входного массива уже находятся в отсортированном порядке, и требуется одна итерация, чтобы проверить, находится ли массив в отсортированном порядке или нет.



2021-07-24T10:37:10
Методология программирования

Хотите контроль версий? Настройка Git на вашем сайте

Когда вы создаете свой веб-сайт, контроль версий является его основной частью. Конечно, вы можете просто хранить файлы на своем рабочем столе, называя их “версия 1”, “версия 1.1”, “версия final”, “версия revised final” и так далее, но разве не было бы здорово иметь веб-сайт, где контроль версий прекрасно организован, дает вам возможность переключаться между версиями и дает вам копию вашего веб-сайта, расположенную где-то еще, а не только на вашем хостинге и домашнем компьютере?

 

Добро пожаловать в Git

(Если вы уже использовали Git раньше, вы можете перейти к основным направлениям, но если вы этого не сделали, позвольте нам объяснить.)

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

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

 

Как мне использовать Git?

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

Вы также можете использовать онлайн-репозиторий для хранения вашего кода.

 

Как я могу использовать Git для управления своим сайтом?

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

 

Настройте свой проект в GitLab

Если у вас уже есть учетная запись в GitLab, просто нажмите на кнопку Новый проект, дайте ему имя, и вы готовы начать работу. Держите вкладку браузера со всеми инструкциями командной строки открытой, потому что некоторые из них вам скоро понадобятся.

 

Создайте новый файл в своем проекте

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

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

 

SSH в ваш хостинг-пакет

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

Команда такова:

ssh yourhostingpackage.tld@ssh.stackcp.com

 

Если вы не уверены, вы всегда можете найти его на странице SSH-доступа в панели управления веб-хостингом.

 

Убедитесь, что Git установлен

Если вы можете войти в свой хостинг-пакет по SSH, у вас будет установлен Git, но если вы похожи на меня и вам всегда нужно перепроверять, введите:

git --version

 

Это показывает вам, какую версию вы установили.

 

Настройте свою глобальную конфигурацию

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

Во-первых, введите:

git config --global user.name you

 

Where you заменяется вашим именем пользователя.

Затем введите:

git config --global user.email email

 

Где ваш адрес электронной почты?

Как только вы это сделаете, вы можете проверить это, набрав текст:

git config --global --list




Перейдите в главную папку вашего сайта

Если вы наберете:

ls

 

Вы должны увидеть каталог под названием public_html.

Вот где будет жить ваш сайт. Вы можете перейти в него, набрав:

cd public_html

 

Теперь вы готовы подключиться!

 

Преобразуйте свой каталог public_html в репозиторий Git

GitLab должен знать, что можно помещать файлы в этот каталог. Итак, как только вы окажетесь в своем каталоге public_html, введите:

git init

 

Это настраивает все на большую связь.

 

Соедините свой проект GitLab с вашим каталогом public_html

Введите:

git remote add origin git@gitlab.com:username/projectpath.git

 

Где username ваше имя пользователя GitLab и projectpath название вашего проекта.

Как только он будет закончен, вы можете проверить это, набрав номер:

git remote -v

 

Он вам покажет, с чем вы связаны.

 

Перенесите все, что есть в вашем репозитории, на ваш сайт

Теперь пришло время для самой веселой части. Введите текст:

git pull origin main

 

Это вытягивает все main (вашу основную версию кода) из origin (вашего проекта GitLab).

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

 

Наслаждайтесь своим новым сайтом

И вот он у вас — GitLab, ваш сайт и контроль версий-все настроено!

 

Что мне теперь делать?

Как только вы все настроите, вы сможете сделать гораздо больше с помощью GitLab и вашего сайта. Установите SSH-ключ, и вам не нужно будет продолжать входить в GitLab каждый раз, когда вы делаете толчок. Создайте вилку вашего существующего проекта и создайте совершенно новые веб-сайты на основе вашего основного шаблона. Добавьте больше пользователей в свой проект и заставьте всех членов вашей команды работать над одной и той же версией.



2021-06-24T08:25:14
Программирование

Основные обязанности инженера DevOps

Изучение основных обязанностей инженера DevOps

В обязанности инженера — программиста уже достаточно хорошо известна. Но необходимо изучить, как меняются сценарии в случае DevOps Engineer:

 

Планирование развертывания программного обеспечения

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

 

Управляющий код

Управление кодом — важный аспект для любого программного обеспечения, работающего в производственной среде. Регулярный аудит кода очень помогает свести к минимуму ошибки, которые могут возникнуть в производственной среде. Инженеры DevOps заботятся о тонкой настройке уже существующего кода, созданного с момента создания программного обеспечения альфа-уровня, а также пост-продакшн.

 

Документация процедуры развертывания

Даже отличное программное обеспечение было бы бесполезным, если бы к нему не было четкой и краткой документации. Инженеры-программисты документируют, как создавать программное обеспечение, а также развертывать его. Но инженеры DevOps сосредоточены исключительно на документировании процедуры развертывания.

Чем старее программное обеспечение из-за его использования в производственной среде, тем важнее тщательно проверять процесс его развертывания. Следовательно, документация — это постоянный процесс, который так же важен, как и исправления кода. Лучшая документация = Меньшие ошибки. Вы знали:


Тестирование только стабильных версий ПО

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

 

Отчеты об ошибках с критическим исправлением (при необходимости)

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

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

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

 

Развертывание стабильных выпусков в производственных средах

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

 

Сопровождение и мониторинг развертываний

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

 

Перепланировка дизайна на основе поведения на уровне производства

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

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

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



2021-06-18T13:33:06
Программирование