Преглед изворни кода

Merge branch 'master' of http://213.155.192.79:3001/ypv/ISRPO

ypv пре 1 година
родитељ
комит
804c988170

BIN
Лекции/Задачи/12.png


BIN
Лекции/Задачи/12345.png


+ 113 - 0
Лекции/Задачи/Как ставить задачи, чтобы их понимали.md

@@ -0,0 +1,113 @@
+# Как ставить задачи, чтобы их понимали
+
+## Основные виды задач
+
+В условиях ограниченных ресурсов важно правильно расставить приоритеты. Существует несколько классификаций для определения первостепенных задач и времени работы над ними.
+
+По степени важности и срочности для бизнеса выделяют четыре уровня приоритетности:
+- A — важные и срочные;
+- B — важные, но несрочные;
+- C — срочные, но неважные;
+- D — несрочные и неважные.
+
+Такую систему удобно применять с помощью матрицы Эйзенхауэра. Задачи каждого параметра заносятся в четыре соответствующих квадрата и выполняются по степени неотложности. Достаточно несколько недель такой практики, чтобы научиться предвидеть появление важных и срочных дел. Это поможет заблаговременно подходить к решению таких вопросов, а значит более качественно их выполнять. 
+
+Кстати, вот как выглядит матрица Эйзенхауэра:
+
+![зад](12.png)
+
+А вот как ее представляет нейросеть. Она предлагает здесь же делить задачи на командные и некомандные, а заодно помечать и хобби:
+
+![ачи](12345.png)
+
+## Трекинг задач
+
+Держать все вопросы в голове неэффективно и сложно для руководителя. Вместо этого можно использовать специальные трекеры, чтобы устанавливать и отслеживать выполнение задач. Выбор программы зависит от размера компании. Например, для маленького коллектива подойдут системы Todoist, Notion, Trello. Для организации масштабных проектов используют Битрикс24, Weeek, «Яндекс.Трекер», YouTrack. Такие программы позволяют равномерно распределять нагрузку в команде, контролировать процесс выполнения и лучше укладываться в сроки.
+
+Многие руководители небольших компаний ставят задачи в мессенджерах, однако недостаток такой системы в том, что в рабочих чатах поручения быстро теряются в потоке других сообщений.
+
+## Этапы постановки задач сотрудникам
+
+Задачу необходимо правильно преподнести, чтобы сотрудники добились желаемого результата точно в срок. Грамотное поручение состоит из четырех шагов.
+
+### 1. Формулировка задачи по методу SMART
+
+Каждой букве аббревиатуры соответствует одно качество грамотно поставленной задачи:
+
+Specific — конкретная. Обозначать причину и цель задачи:
+❌ Исправить баг на сайте.
+✅ Исправить баг с формой заявки: не учитываются введенные личные данные.
+
+Measurable — измеримая. Уточнять конкретные показатели, которых требует результат:
+❌ Снизить стоимость лида.
+✅ Снизить стоимость лида на 30%.
+
+Achievable — достижимая. Учитывать интересы и физические возможности своих сотрудников:
+❌ Написать пять писем для трех разных рассылок за час.
+✅ Написать письмо о новых предложениях компании к завтрашнему дню.
+
+Relevant — значимая. Акцентировать на более серьезных последствиях:
+❌ Убедить клиента, что предлагаемый им интерфейс сайта будет неудобным для пользователей.
+✅ Если клиент настоит на своем, ухудшится конверсия, и это повлияет на репутацию компании. Исправление программы займет несколько дней.
+
+Time-bound — ограниченная во времени. Устанавливать четко обозначенные сроки выполнения:
+❌ Сделать макет сайта.
+✅ Сделать макет сайта магазина электротехники к 25.08.2023.
+
+### 2. Подробное описание задачи
+
+Инструкцию или техническое задание пишут в карточке таск-трекера. Их составляют максимально детально, чтобы у ответственного осталось как можно меньше вопросов или не было их вовсе. Руководитель описывает этапы выполнения, специфику задания, указывает необходимые контакты, прикрепляет файлы с рабочими материалами.
+
+### 3. Назначение сроков и точек контроля
+
+У составных задач есть не только дедлайн, но и промежуточные итоги. Руководитель назначает даты завершения отдельных этапов, в рамках которых следует выполнить отведенный план работы. Это помогает вовремя скорректировать процесс выполнения задачи или сдвинуть сроки, если поменяются условия.
+
+### 4. Передача задачи
+
+Как только вы передали задачу сотруднику, обязательно уточните, верно ли он все усвоил:
+❌ Все ясно?
+✅ Давай обозначим дальнейшие шаги для решения. К кому обратиться за поддержкой, если возникнут вопросы.
+
+## Грамотно поставленная задача должна выглядеть так:
+
+Выяснить, почему посетители сайта не оставляют заявки на покупку товара.
+
+Сделать рассылку тем пользователям ресурса, которые указали свои контакты, но не оформили заказ. Письма необходимо отправить до 16:00 завтрашнего дня.
+
+Взять данные посетителей у Дмитрия из отдела аналитики, забрать у верстальщика итоговую версию письма, отправить его, собрать статистику рассылки. Документ с образцом анализа прилагается.
+
+Сдать отчет по проделанной работе до 15 апреля, 16:00.
+
+Если будут трудности с выполнением задачи — обращаться к руководителю отдела маркетинга.
+
+## Возможные ошибки при постановке задач
+
+Чтобы результат совпал с вашими ожиданиями, нужно избегать следующих ошибок при составлении ТЗ:
+
+### 1. Размытое описание
+
+Руководитель дает расплывчатые пояснения к задаче, не описывает ожидаемый результат, не приводит алгоритм или рекомендации. Это может привести к неправильному выполнению, если сотрудник раньше не работал с подобным материалом. 
+
+Из-за частотности этой ошибки некоторые руководители сами берут часть работы, что приводит к перегрузкам и мешает исполнителям профессионально расти.
+
+Например, проект-менеджер поручил сотруднику отдела продаж провести опрос пользователей на предмет качества их продукции. Специалист собрал отзывы аудитории и разместил их в файле Google Docs. Однако проект-менеджер ожидал от него таблицу с анализом всех проблем, которые могут появиться при использовании товара. Оба сотрудника решили, что поручение заведомо понятно, воздержались от обсуждения задачи и, как итог, не совпали во взглядах.
+
+### 2. Много важных задач
+
+Руководитель может поставить несколько важных задач исполнителю, но не указать, какие из них следует выполнить раньше. Нет гарантии, что сотрудник правильно расставит приоритеты. Поэтому нужно заранее распределять тз по значимости их выполнения. Для каждого поручения следует устанавливать соизмеримые сроки сдачи.
+
+### 3. Не записаны изменения
+
+Иногда условия меняются прямо во время выполнения: смещаются сроки или сокращается бюджет. Обычно такие изменения озвучиваются устно и не вносятся в таск-трекеры, из-за чего исполнитель может упустить подробности или не передать их остальной команде. Это ведет за собой проблемы, ведь даже качественно выполненная работа больше не соответствует новым условиям.
+
+Например, продакт-менеджер обсудил условия со специалистами после поручения задачи разработчику. Руководитель решил внести изменения в программу, когда она уже была в процессе реализации. При проверке задачи тестировщик заметил, что указанные условия не соответствуют результату работы. Команде придется потратить дополнительное время на исправления.
+
+### 4. Отсутствие мотивации
+
+Перед постановкой задания его следует оценить. Сложные поручения могут потребовать много усилий и времени, заставить исполнителей выполнять экстра-обязанности. Нужно объяснить подчиненным важность таких задач и стимулировать коллектив на работу. 
+
+Так, если организации требуется перевести проект в другой data-центр, и компания экономит существенную сумму, будет уместно направить часть бюджета на благодарность сотрудникам. Это мотивирует коллектив быстро выполнять объемную работу.
+
+## Литература
+
+https://habr.com/ru/articles/795293/

BIN
Лекции/Логирование/123.png


+ 82 - 0
Лекции/Логирование/Логирование_ понятие, механизмы и уровни.md

@@ -0,0 +1,82 @@
+# Логирование: понятие, механизмы и уровни
+Программисты и системные администраторы занимаются структурированием и контролем за работой сайтов, серверов и программного обеспечения отдельного компьютера. При возникновении ошибок в работе того или иного сервиса специалист обращается к логам.
+
+![Логи](123.png)
+
+## Что такое логи?
+
+Лог (log) - это хронологическая запись наиболее значимой информации о работе системы. Подобная фиксация событий дает представление и том, что происходило в системе, в какой именно момент, какой пользователь спровоцировал то или иное событие, какие ошибки возникли и т.д.
+
+Запись оформляется в особый файл, который еще называют лог-файлом или журналом логов. Для специалиста такой файл — это книга или справочник, рассказывающий о том, что происходило в системе в конкретный период времени. Грамотные администраторы, обращаясь к подобным записям, могут не только выявить проблему в работе системы на ранней стадии, но и вовремя предотвратить сбой в ее работе. Несанкционированные действия или установление вредоносных программ также фиксируются журналами логов. И по ним можно достаточно эффективно выявить внешнее вмешательство в работу сайта. Таким образом логи используются для контроля, мониторинга, анализа, защиты и оптимизации работы приложений и серверов.
+
+## Типы логов
+
+В зависимости от того, информация какого типа фиксируется системой, формируются разные типы записей. Поэтому логи делятся на: системные, серверные, почтовые, логи аутентификации, авторизации, log file приложений, баз данных и т.д. Подобная группировка помогает быстрее находить нужный лог и оптимизировать работу с ним.
+
+Еще существует разделение логов в порядке их значимости для ситуационной ошибки:
+- Срочное исправление - Fatal error
+- Ошибки, не влияющие на пользователя - Not critical error
+- События, требующие внимания - Warning
+- Информация о вызовах сервера - Initial information
+
+## Что такое логирование?
+
+Логирование — это процесс формирования логов, а именно: фиксация и структурирование информации о работе системы в отдельные лог-файлы с возможностью быстрого доступа к ним в случае необходимости. Файлы содержат отчет обо всем, что происходило с системой: какие действия совершали конкретные пользователи, когда это происходило, как система реагировала на события и т.д.
+
+Фиксацию всех важных для системы событий производит специальное программное обеспечение. В процессе логирования учитываются настройки уровня детализации записей, поскольку ни одна система не проводит записи абсолютно всех событий.
+
+Кроме формирования журнала записей, важной компонентой настройки логирования является правильная организация хранения логов. Она должна обеспечивать своевременный и быстрый доступ к ним.
+
+Лог-файлы могут храниться на компьютере, на удалённом жёстком диске, на отдельном сервере, в облачных хранилищах, т.е. на любом удобном носителе с ограниченным доступом для посторонних.
+
+Настройка автоматического сбора и хранения логов делается для того, чтобы во время возникновения проблем на сервере была возможность проанализировать сохраненные данные. При этом важно не просто выявить сбой, но и исправить возникшие проблемы, предотвратить появление ошибок в будущем. В этом заключается основная задача работы программиста с log file.
+
+## Механизмы записи информации
+
+Как было сказано выше, в журналах логов не фиксируется абсолютно вся информация. Система производит запись наиболее важных для анализа данных. Например, при обращении пользователя к конкретной странице сайта, в лог записываются: URL, к которому обращается посетитель, его IP-адрес, используемый браузер, операционная система, дата и точное время обращения, код ответа сервера и прочее.
+
+Для формирования журналов логирования программисты используют разные механизмы фиксации информации:
+
+1.Самый понятный и распространенный механизм - запись логов в текстовый файл. Это запись каждого события отдельной строкой.Подобные журналы легко читать, открыв файл в любом текстовом редакторе.
+
+2.Более углубленный лог - когда одно событие записывается несколькими строками, например, журнал ошибок. Такие записи имеют сложную многоступенчатую структуру, в которой человеку легко пропустить важную информацию. Поэтому для чтения этого вида log files используются специальные программы.
+
+3.Бинарный - самый сложный механизм записи файлов. Обычно такие логи обрабатываются тем же программным обеспечением, что и ПО, их записывающее.
+
+4.Приложения, использующие БД или сами СУБД. Основным недостатком такой фиксации является вероятность замедления работы базы данных из-за интенсивной записи логов. Поэтому при использовании такого механизма ведения записи крайне важно четко определить, что именно система должна фиксировать.
+
+Настраивая логирование, важно учитывать, что процесс формирования лог-файлов должно быть незаметным для пользователя. Если отладка проведена не правильно, производительность системы будет снижаться из-за нехватки места на диске.
+
+## Уровни логирования
+
+При любом механизме записи событий их объем все равно будет большим. И работать с таким количеством информации будет достаточно сложно. Поэтому логи структурируют по уровням. Наиболее известными и востребованными являются следующие уровни логирования:
+- debug
+- info
+- warning
+- error
+- fatal
+
+На уровне debug едет запись значимых переходных состояний, например, запуск или остановка сервера, запрос в БД, верификация, обработка информации. Уровень info расскажет программисту об общих событиях работы сервиса. Экстренные ситуации, проблемы, некорректные запросы будут записаны в warning. Основные ошибки на уровне error.
+
+Чтобы соблюдались уровни логирования, программисту нужно прописать условия или внутри самой программы, или выставить условия в зависимости от ситуации при запуске программы, которая производит логирование.
+
+## Ротация файлов
+
+Представим, что логирование данных системы налажено. Например, мы прописали в приложении уровни: debug, info, warning, error. Выбрали в качестве механизма записи обычные текстовые файлы и у нас благополучно все логи собираются в отдельном месте. Теперь нам стоит разобраться с ротацией логов.
+
+Ротация файлов логирования представляет собой архивирование логов с одновременным удалением старых файлов и заменой их вновь созданными. Во время ротации происходит сортировка логов и удаление тех файлов, к которым точно не нужно будет обращаться. Такой подход позволяет сократить объем памяти, используемой для хранения журналов логирования. Поскольку не все файлы одинаково значимы для системного администратора, в удалении части из них заложен смысл сохранения работоспособности и эффективности системы. Ведь чем больше памяти на жёстком диске, тем быстрее обрабатываются запросы пользователей.
+
+Во время ротации происходит несколько технических процедур: сохранение и архивирование нового лога, переименование ранее сформированных файлов и удаление самых старых. Конечно, такое представление последовательности действий значительно упрощено. В реальности же ротация логов – это сложный многоступенчатый порядок действий системы, который запускается специальными утилитами.
+
+На рынке существует системы логирования с высокими рейтингами, которые не только реализуют функцию формирования журналов с хронологической записью истории событий, но и с настройкой их последующей ротации.
+
+## Как читать логи?
+
+Для чтения простых логов можно использовать обыкновенный текстовый редактор. А вот для расшифровки более сложных и объемных записей стоит воспользоваться специальным программным обеспечением. Ассортимент готовых решений для анализа файлов логирования достаточно широк. Выбирать ПО стоит, исходя из задач и объемов вашего ресурса. Расшифровка логов имеет свои особенности, поэтому во время анализа необходимо следовать рекомендациям разработчика ПО.
+
+## Заключение
+
+Логирование данных - это фиксация событий в работе веб-ресурса, помогающая его администраторам вовремя выявлять баги системы, исправлять их, предотвращать появление ошибок или сбоев в будущем. Кроме указанных выше функций, информация из логов позволяет маркетологам получать данные про объем трафика, время посещения страниц, страницы входа/выхода, географию посетителей и другую важную для повышения конверсии информацию. Таким образом, логирование является важным этапом контроля и мониторинга работы системы, позволяющим увеличить коэффициент ее производительности.
+
+## Литература:
+https://habr.com/ru/articles/795445/

BIN
Лекции/Стажировка/1234.jpeg


+ 66 - 0
Лекции/Стажировка/Как выбрать компанию для стажировки.md

@@ -0,0 +1,66 @@
+# Как выбрать компанию для стажировки
+
+В наше время у всех желающих освоить новую профессию есть понятный и четкий алгоритм. Сначала нужно обучиться в вузе или самостоятельно пройти теорию с помощью профильной литературы, уроков на YouTube, онлайн-курсов, наставников или репетиторов. Затем нужно выполнить первые практические задачи — для себя или друзей, либо смоделировать ситуацию и придумать ее решение. С портфолио собственных небольших проектов можно идти на стажировку или даже сразу в наём, в зависимости от порога входа в профессию.
+
+Но как понять, что стажировка в компании действительно пойдёт вам на пользу? Меня зовут Екатерина Сергеева, я специалист по развитию и обучению, и я провожу стажировки в KODE, где они идут уже восемь лет. В этой статье поделюсь мнением о том, как новичку заранее проанализировать компанию для стажировки, чтобы обучение прошло максимально выгодно: то есть либо закончилось оффером, либо прокачало его навыки и увеличило ценность на рынке труда.
+
+![Стаж](1234.jpeg)
+
+Кажется, в том, чтобы выбрать стажировку, нет ничего сложного — достаточно найти крупную компанию с известным брендом, которая их организовывает. Дальше остаётся только связаться с ними, понадеяться, что команда качественно выстроила процесс обучения и спустя месяц-два ваш багаж знаний и навыков кратно вырастет. Такое доверие может сыграть злую шутку: в резюме появится строка с названием крупной компании, но в реальности вы получите мало опыта и это не ускорит развитие вашей карьеры. Поэтому мы предлагаем выбирать компанию для стажировки по целому ряду критериев помимо медийного веса.
+
+## Предыдущий опыт стажировок
+
+Главный критерий оценки — был ли у компании опыт работы со стажёрами. Если она уже выпустила один-два потока по вашему направлению, у нее было время обкатать процесс: получить обратную связь от участников, исправить узкие места и отсечь нецелевые активности. В таком случае вы получите более полезный и концентрированный опыт, чем если рискнёте стать частью экспериментальной группы. Кроме того, вы сможете пообщаться с сотрудниками, которые попали в компанию через стажировки прошлых потоков, узнать их впечатления и предположить, на какой реальный прогресс можете рассчитывать.
+
+## Программа обучения
+
+Если компания качественно организовала стажировку, у нее есть понятный план. Прочитайте программу и проверьте, действительно ли в ней есть то, чему вы хотите учиться. Например, в плане стажировки iOS-разработчиков в KODE — конкретные пункты:
+- Введение. Начало работы над проектом.
+- Способы группировки и отображения сложных динамичных форм данных.
+- Работа c UIKit, стили, цвета, UI-компоненты.
+- Координаторы, логика перехода между экранами, отображение, понятие сессии юзера, архитектура.
+- Network layer. Запрос данных, обработка, отображение полученных данных на вью. Моки. Парсинг и модели данных.
+- Обработка ошибок в приложении, сторонние компоненты и библиотеки. Схемы для релиза.
+
+Отсутствие плана обучения означает, что стажировка может быть организована плохо и пройдёт с минимальной пользой. Например, некоторые компании подыскивают стажёров для того, чтобы было кому подхватить простые рутинные задачи, которыми невыгодно занимать время сотрудников. В таком случае вы будете месяц практиковаться в формате «принеси-подай».
+
+Кроме того, обратите внимание на уровень задач: если большая часть пунктов кажется повторением алфавита, вряд ли вы узнаете что-то новое.
+
+## Реальные задачи
+
+Представьте, что вам нужно рассказать, чем вы занимались во время стажировки, будущему работодателю, который в это время составляет представление о вашем опыте. Небольшие, но конкретные достижения вроде «Помогал тестировать фичу и нашел в ней два бага» значат намного больше, чем ответственное перекладывание бумажек и готовность прийти на помощь любому коллеге.
+
+Например, у нас на стажировке Android-разработчики делают фичу в специальном проекте на архитектуре, максимально приближенной к той, которую мы используем при разработке коммерческих проектов. Благодаря симуляции разработки на настоящем проекте стажёр знакомится с процессами и подходами, принятыми в индустрии и адаптированными под наши нужды.
+
+## Наставники
+
+Не каждому человеку дано быть учителем. Помимо дара к обучению, хороший наставник — это специалист, который постоянно решает рабочие задачи и держит руку на пульсе новостей в своей сфере.
+
+Узнайте, чем сейчас занимается сотрудник, который будет вас обучать. Если он исключительно ездит по конференциям, участвует в презентациях, ведет блог и пишет авторскую колонку, он может научить вас быть медийным лицом компании. Но если вы идёте на стажировку с другими целями, вам нужен наставник-практик.
+
+## Качество обратной связи
+
+Главная ценность стажировки — не задачи, а обратная связь. Новичкам крайне важно, чтобы опытный специалист указал на ошибки, направил в нужное русло размышлений, похвалил за грамотные решения. Это залог быстрого роста.
+
+Как может быть выстроена связь с наставником:
+- Встречи на лекциях в офисе один-два раза в неделю.
+- Онлайн-чат для группы, в котором наставник отвечает на вопросы в установленные часы.
+- Проверка домашних заданий и подробный фидбэк — например, на почту. Важно, чтобы наставник объяснял ошибки, замечал удачные решения и давал стажёрам фундамент для размышлений.
+
+При хорошем сценарии наставник знает стажёров в лицо, держит в голове их прогресс и действительно заинтересован в их развитии. При плохом развитии событий он отвечает на вопросы скупо и нехотя, выставляет немотивированные оценки, поэтому ценность его обратной связи стремится к нулю.
+
+## Организационные моменты
+
+Чек-лист вопросов, которые стоит уточнить заранее:
+- Сроки стажировки.
+- Где будет проходить стажировка или в каком формате.
+- Сколько времени в неделю будет занимать обучение и сколько — домашнее задание.
+- На какой уровень зарплаты сможет претендовать стажёр, если ему предложат оффер. Это сложный вопрос и не каждая компания готова ответить на него на старте, но всё же его можно задать.
+
+## Заключение
+
+Подытожим: если вы — стажёр с целью «получить максимальную пользу от стажировки», проведите предварительное исследование. Не бойтесь спрашивать и уточнять — в адекватной компании активная жизненная позиция будет вашим дополнительным преимуществом. Доверяйте тому, что видите и слышите, не игнорируйте интуицию, но и не переживайте слишком сильно. В конце концов, большинство достойных работодателей готовы вкладываться в стажёров, потому что видят в этом смысл и ценят талантливые кадры.
+
+## Литература
+
+https://habr.com/ru/articles/795333/