Explorar o código

Merge branch 'master' of u21miheenko/ISRPO into master

ypv hai 1 ano
pai
achega
535961d9e6

+ 45 - 0
Лекции/Go/Go.md

@@ -0,0 +1,45 @@
+# Суть языка Go
+Go (или Golang) представляет собой компилируемый многопоточный язык программирования, который имеет открытый исходный код. Его часто используют в веб-сервисах и клиент-серверных приложениях. К концу 2021 года Go вошёл в список самых востребованных языков. Он даже обошел PHP, C# и TypeScript.
+
+
+Разработчики поставили перед собой цель объединить лёгкость программирования на Python и скорость исполнения приложений на C и C++. Из-за этого Go стал компилируемым. В экосистеме языка имеется свой интерпретатор. Однако он практически не используется, так как код компилируется достаточно быстро.
+Язык Go может использоваться для создания любых продуктов, будь то консольные программы или сложные многопоточный приложения. Однако его основной сферой применения является разработка серверных приложений. У языка есть библиотеки для создания графических интерфейсов. Однако разрабатывать на них довольно трудно.
+Go отличается тем, что при его использовании программист может полностью сосредоточиться на архитектуре приложения. Ему не нужно заниматься созданием документации или отслеживанием устаревших синтаксических конструкций. Goland довольно просто использовать. Монотонная работа может выполняться встроенными инструментами. Это значительно разгружает разработчика.
+
+# Особенности языка:
+* Автоматическое управление памятью и сборщик мусора. По скорости Goland может сравниться с такими языками, как C и C++. Однако писать на нём проще. В отличие от указанных языков, управление памятью в Go осуществляет компилятор, а не сам разработчик
+* Синтаксический сахар. Речь идёт о синтаксических послаблениях, благодаря которым код создаётся быстрее. К примеру, с формальной точки зрения в конце некоторых операций (if, for) нужно ставить точку с запятой. Однако компилятор может делать это за программиста.
+* Автоматическое форматирование программ. Язык умеет расставлять отступы и выравнивать элементы по колонкам. Для этого используется команда gofmt. При этом необходимо применять только табуляцию для отбивки строк. Пробелы в начале строки данная команда не поймёт.
+*	Автоматическое создание документации. С помощью команды godoc вы сможете найти любые комментарии. Это позволяет очень быстро делать мануалы к программам.
+*	Отслеживание устаревших конструкций. Инструмент gofix сканирует код и отмечает синтаксические конструкции, которые являются устаревшими с точки зрения современных стандартов
+*	Инструменты тестирования. В языке программирования Go есть целый ряд инструментов тестирования. К примеру, typecheck помогает проверить соответствие типов в коде, golint формирует рекомендации, исходя из официальной документации (Effective Go и Code Review Comments), gosimple делает из сложных синтаксических конструкций более простые, а gas выявляет слабые места в коде.
+
+# Плюсы и минусы языка Go
+
+### Плюсы
+
+*	Простой синтаксис. В данном языке отсутствуют наследование, классы, объекты и сложные функции. Благодаря этому разработчик может с лёгкостью писать программу и понимать чужой код. Специалисту не нужно знать никаких стандартов.
+*	Низкий порог вхождения. Если вы не имеете никакого опыта в разработке, то можете начать с Go. Основное руководство к языку занимает всего 50 страниц. При этом он сделан таким образом, чтобы вы допускали как можно меньше ошибок при написании кода.
+*	Большое количество встроенных инструментов для программистов. В Go есть инструменты тестирования, утилита для создания документации, дополнения для поиска ошибок в коде и многое другое. Это упрощает работу с кодом.
+*	Большое количество библиотек. Почти для каждой задачи разработана готовая стандартная библиотека внутри языка. Существуют также и сторонние варианты, которых с каждым годом становится все больше. Плюс ко всему, к коду, написанному на языке Go, можно подключать библиотеки С и С++. В интернете есть огромное количество таких библиотек.
+*	Высокая производительность. Вы можете переписать код с другого языка на Goland, чтобы увеличить производительность в несколько раз. При этом добиться таких результатов можно без специальной оптимизации.
+*	Надёжность. Приложение, написанное на Goland, не затрачивает слишком много памяти и вычислительных мощностей. Это позволяет программам функционировать более стабильно.
+*	Развитое сообщество. Go является языком программирования с открытым исходным кодом. Это позволяет разработчикам создавать полезные инструменты и делиться опытом с другими участниками сообщества.
+
+### Минусы
+
+*	Небольшой функционал. С помощью Goland можно создавать сетевые и серверные приложения. Но он не подойдёт для разработки графических интерфейсов. Так что у вас вряд ли получится написать пользовательское приложение без применения других инструментов и языков. То же самое касается и некоторых других задач.
+*	Простота. Не удивляйтесь, что это качество является не только преимуществом, но и недостатком языка. Дело в том, что из-за простоты Go не получится использовать для выполнения некоторых задач. К примеру, вы не сможете разработать большой проект, так как в языке нет объектов для совместной работы с распределённым кодом.
+*	Низкая популярность. Работодатели гораздо реже требуют знание Go, чем Java, Python или C++. Язык становится всё более востребованным, но его всё же нельзя назвать популярным.
+*	Низкий порог входа. Это качество также можно рассматривать как недостаток. Простота изучения данного языка приводит к тому, что многие программисты осваивают его очень упрощенно. При этом они уверенно заявляют, что являются«Go-разработчиками». В конечном итоге язык приобретает не самую хорошую репутацию.
+
+# Где используется язык Go
+
+Разобравшись с преимуществами и недостатками Go, необходимо понять, где он чаще всего применяется.
+Существуют языки программирования, которые используются почти во всех сферах разработки приложений (например, C# и Java). Поэтому с ними практически невозможно тягаться. Однако Goland изначально не претендовал на звание языка общего назначения. У него есть своя цель и спектр задач.
+Но есть один важный нюанс. Дело в том, что разработчики стремятся расширить сферу применения Goland. Первые версии языка Go были заточены только на создание приложений Google. Но через некоторое время проект получил открытый исходный код, из-за чего данный инструмент стал более функциональным. Go 1 считается языком общего назначения.
+С каждым годом Go-разработчиков становится всё больше. Они создают новые инструменты, пакеты, фреймворки, драйверы, API, генераторы кода и многое другое. Сфера применения Go стремительно расширяется. Вполне вероятно, что через некоторое время этот язык станет одним из основных.
+
+### Литература
+
+https://gb.ru/blog/yazyk-go/

+ 54 - 0
Лекции/Jira/Jira.md

@@ -0,0 +1,54 @@
+# Что такое Jira ?
+
+Jira – это программный инструмент для управления проектами, разработанный компанией Atlassian. Jira часто используется в IT-компаниях для формирования списка задач, отслеживания общего прогресса команды и решения возникающих по ходу разработки продукта проблем. 
+Приложение Atlassian построено по принципам канбан- и скрам-досок, давней практики организации задач. Но эти принципы дополняются массой вспомогательных механизмов, которые добавлялись в приложение исключительно с целью упростить создание новых приложений, добавить в них функции, исправить ошибки и т.п. Также эта система управления проектами исповедует Agile-методику разработки. 
+
+# Для чего используют Jira ?
+
+Эту программу создавали для программистов. «Затачивали» каждый аспект под нужды разработчиков. Поэтому работает и выглядит она иначе. Не слишком универсально. В связи с этим вырос ряд конкретных сценариев, в которых применяется JIRA:
+*	Наглядная организация списка задач.
+*	Управление проектом и командой, занимающейся его развитием. 
+*	Разработка ПО с нуля или добавление новых функций.
+*	Управление задачами, связанными с маркетинговой составляющей продукта.
+•	Отслеживание ошибок в программе и их своевременное исправление. 
+
+# Алгоритм работы с Jira
+
+Процесс работы с Jira можно разложить на 7 простых шагов:
+1.	Для начала нужно загрузить Jira, создать профиль и запустить утилиту. Можно использовать аккаунты Apple и Google.
+2.	В окне приложения необходимо выбрать пункт Create Project.
+3.	Программа предложит список шаблонов для доски с задачами (для разработчиков, для маркетологов и т.п.). Выбираем ту, что лучше всего соответствует целям команды и стилю работы в вашей компании. 
+4.	Затем Jira задаст пару вопросов по поводу того, пользовались ли вы ранее Agile и канбан. На основе ответов программой будет принято решение о целесообразности внедрения обучения в интерфейс.
+5.	Настраиваем колонки под своим нужды (если то, что было предложено в шаблоне, не на 100% удовлетворяет вашим требованиям).
+6.	Создаем задачу (пункт Create).
+7.	Приглашаем других пользователей (то есть членов команды) работать с созданной вами доской (пункт Invite). 
+
+# Как устроена Jira ? 
+
+### Интерфейс
+Интерфейс Jira делится на несколько ключевых вкладок. Во вкладке «Projects» хранятся все канбан/скрам-доски, которые вы можете просматривать или редактировать. Фактически это основное рабочее пространство. Здесь же можно перейти в режим отслеживания релизов продукта, взглянуть на все активные спринты, проанализировать отчеты о проделанной работе и т.п. 
+
+![ ](Рисунок1.png)
+
+### Задачи
+Задачи в оригинале называются Issues, что можно перевести как «проблемы». Issue – это единица информации. В нее закладывается либо какая-то функция, которую нужно реализовать, либо ошибка в программе, которую необходимо исправить. 
+Issues – это составные части проекта и спринта. Именно список задач формирует рабочий процесс. Поэтому он и состоит из создания задач, наблюдения за ними, выполнения, анализа, дополнения, изменения и т.п.
+### Типы задач
+У задач в Jira есть типы. Для более удобной категоризации можно выбрать один из вариантов, например новую функцию, баг, подзадачу, эпики и т.п. 
+Выбор типа задач зависит от целей команды и компании. Можно создавать свои типы для удобного распределения, фильтрации и поиска задач. Соответствующий раздел настроек находится в Project settings.
+### Релизы 
+Каждый набор новых функций в приложении или пакет исправленных ошибок отправляется к пользователям в виде новой версии этого самого приложения. Версионность – самый удобный, часто используемый и фактически ставший индустриальным способ развития программных продуктов. 
+Поэтому в Jira такой акцент сделан на контроле новых версий. В соответствующем разделе можно создавать версии программ, указывать дату выпуска и закреплять за ними исправления багов, новые функции и issues, входящий в конкретный релиз. 
+![ ](Рисунок2.png)
+### Код и деплой
+Одно из преимуществ Jira – возможность тесно интегрировать ее с другими продуктами, например с платформами Bitbucket, Github и Gitlab. 
+Такое объединение добавляет дополнительный контекст в систему управления проектами. У лидеров команды появляется возможность наблюдать не только за прогрессом как за набором меняющихся активных задач, но и смотреть на реальные изменения в коде.
+Интеграция позволяет разработчикам напрямую отправлять каждый коммит в Jira, чтобы другие члены команды могли видеть изменения из условного Github прямо в системе управления проектами.
+### Плагины
+Jira можно сделать еще функциональнее, если подключить к ней плагины сторонних компаний. 
+Некоторые из них продвигает сама Atlassian. В их числе интеграция с Git-системами, к примеру. Это один из наиболее распространенных и очевидных вариантов использования плагинов. 
+Также разработчики Jira активно развивают идею тесного взаимодействия между пользователями системы управления проектами и пользователями мессенджера Slack. Есть даже отдельный набор программных модулей для интеграции одного в другое. 
+![ ](Рисунок3.png)
+
+### Литература
+https://timeweb.com/ru/community/articles/kak-rabotat-v-jira#:~:text=Jira%20–%20это%20программный%20инструмент,скрам-досок%2C%20давней%20практики%20организации%20задач

BIN=BIN
Лекции/Jira/Рисунок1.png


BIN=BIN
Лекции/Jira/Рисунок2.png


BIN=BIN
Лекции/Jira/Рисунок3.png


+ 42 - 0
Лекции/Kotlin/Kotlin.md

@@ -0,0 +1,42 @@
+# Где и для чего используется язык Kotrlin
+Kotlin — это язык программирования, который позволяет писать программы для разных платформ. Его разработала международная компания JetBrains, чтобы быстрее писать свой продукт — среду разработки IntelliJ IDEA. Но некоторые особенности сделали этот язык идеальным для мобильной разработки. 
+
+### Приложения на Android. 
+Главная сфера применения языка Kotlin — разработка приложений для устройств на Android. Это могут быть смартфоны, телевизоры, умные устройства или приборы для бизнеса и промышленности: кассовые аппараты, терминалы сбора данных и даже некоторые станки. В любом смартфоне на Android большинство приложений наверняка написаны именно на Kotlin. В том числе все основные приложения Google.
+
+### Кросс-платформенные приложения
+,которые нужно запускать на устройствах с разными операционными системами. Для этого используют специальный инструмент, Kotlin Multiplatform. Он позволяет написать одно приложение и для Android, и для iOS, и даже для Windows. Правда, у него есть недостатки — пока нет инструмента для простого создания пользовательского интерфейса и иногда приходится всё-таки адаптировать код под разные платформы. Но эти проблемы сейчас стараются решить, так что в скором времени Kotlin может стать полностью мультиплатформенным языком программирования.
+
+### Веб-приложения
+С помощью дополнительных библиотек и фреймворков на Kotlin можно писать веб-приложения: причем как фронтенд, так и бэкенд. Для этого язык применяют реже, но этот вариант всё же доступен — если в проекте возникнет такая потребность.
+
+В последнее время язык программирования Kotlin стали использовать в работе с большими данными и чтобы проводить физические и математические расчёты. Для этого тоже существуют специальные библиотеки, например KMath.
+
+# Особенности языка Kotlin
+* Полная совместимость с Java. Долгое время приложения для Android писали на языке Java. В 2010 году на базе этого языка решили разработать новый, для общих целей. В 2016-м появился Kotlin и быстро стал «языком для Android» благодаря официальному признанию Google и удобной интеграции со средой разработки Android Studio. Kotlin взял от своего предшественника очень много и до сих пор позволяет использовать внутри себя функции и библиотеки Java.
+* Краткий и ясный синтаксис. Kotlin создавали в том числе для того, чтобы код на нем было просто и понятно читать. Он легче воспринимается и состоит из меньшего числа знаков и строчек, поэтому гораздо более понятен стороннему наблюдателю. Также это делает его проще в изучении — как после Java, так и с нуля.
+* Защита от ошибок. В Kotlin есть несколько инструментов, которые предотвращают случайные ошибки при написании кода. Например, он требует сразу задавать тип переменной, что не позволит присвоить ей не то значение. Если же тип не указан, Kotlin сам может его определить — это называется выведение типа. Он не даст присвоить переменной значение null там, где это может привести к поломке программы. Это полезно для новичков и выручает опытных программистов там, где они могут случайно потерять бдительность.
+* Поддержка ООП и функционального программирования. Kotlin умеет работать как с объектами, так и с функциями — в зависимости от того, что требуется для проекта или конкретной задачи.
+
+# Отличия Kotlin от Java
+Помимо упрощённого и облегчённого синтаксиса, в Kotlin есть несколько существенных нововведений по сравнению с Java:
+* Безопасная работа с null-значениями. Kotlin позволяет заранее определить переменные, значения которых могут быть равными null. Это позволит избежать ошибок NullPointerException, которые много лет беспокоили Java-программистов.
+* Поддержка функционального программирования. Java ориентирован в первую очередь на ООП, в то время как Kotlin содержит удобный инструмент и для ООП, и для функционального программирования. Это позволяет при необходимости писать более компактный и производительный код.
+* Использование расширений. Kotlin позволяет применять расширения встроенных классов и интерфейсов даже там, где нет доступа к их исходному коду. Это позволяет программировать на Kotlin более эффективно, не изменяя базовые классы.
+
+# Преимущества и недостатки
+Сейчас Kotlin считается стандартным языком программирования для Android — это официальная позиция Google. Однако он не совершенен — у него есть как преимущества, так и недостатки, о которых полезно знать.
+### Преимущества
+*Простой, краткий и лаконичный код.
+* Полная совместимость с Java.
+* Встроенные инструменты для асинхронного программирования.
+* Официальная поддержка Google.
+* Простота освоения по сравнению со многими другими языками программирования.
+
+### Недостатки
+
+* Низкая скорость компиляции — некоторые приложения на Kotlin «собираются» из кода медленнее, чем такие же приложения на Java.
+* Нет полноценной возможности писать приложения для iOS, используя только Kotlin, — он всё-таки больше подходит для Android, несмотря на инструмент Multiplatform.
+
+### Литература
+https://skillbox.ru/media/code/yazyk-programmirovaniya-kotlin/