Бизнес и системный аналитик – связующее звено между бизнесом и разработкой
Его роль в команде очень важна: он выявляет потребности бизнеса и ставит задачи разработчикам
Профессия аналитика — одна из востребованных на рынке IT (по данным hh.ru)
Вам подойдёт этот курс, если:
Хотите попасть в IT с нуля
Разочаровались в текущей работе и хотите сменить деятельность
Хотите освоить востребованную профессию с достойной оплатой
Не хватает знаний в аналитике
Программа
Состав команды разработки
Этапы разработки (Жизненный цикл ПО)
Методы сбора требований
Уровни требований
User story
Use case
Блок-схема
UML Use case diagram
UML Sequence diagram
BPMN
Виды БД
Связи, сущности атрибуты
Нормализация
SQL
Проектирование + er-diagram
Проектирование UI/UX
Постановка на фронт/бек
Итоговая документация
Scrum/Kanban
Постановка задач Jira
Собеседование/Резюме
Итоговая встреча
Формат обучения
1. Вся теория в видеолекциях, чтобы пересматривать в любое удобное время и сколько угодно
Курс рассчитан на тех, кто с полного нуля хочет погрузиться в основные темы бизнес и системного анализа, а также тех, кто только начал свой путь в аналитике и понимает, что он "плавает" во многих вопросах.
Автор: Ольга Пономарева. Старший системный аналитик в райффайзенбанке
Вы используете мобильную версию
перейти на Полную версию сайта
Новые складчины | страница 28
Страница 28 из 34
-
- Хобби и рукоделие
- Кулинария
- Нейросети и искусственный интеллект
- Дети и родители
- Курсы по психологии и личностному развитию
- Курсы дизайна
- Похудение, фитнес и спорт
- Здоровье
- Пикап, секс, отношения
- Раскрутка, SEO и SMM
- Курсы по фото и их обработке
- Курсы по эзотерике
- Бизнес
- Маркетплейсы (Wildberries, Ozon и другие)
- Имидж и стиль
- Курсы по программированию
- Курсы по администрированию
- Съемка и монтаж видео
- Курсы по музыке
- Строительство и ремонт
- Книги
- Школа и репетиторство
- Культура, история и искусство
- Иностранные языки
- Переводы курсов
- Копирайтинг и писательское мастерство
- Отдых и путешествия
- Инфобизнес
- Бухгалтерия и финансы
- Сад и огород
- Криптовалюта обучение
- Форекс, инвестиции, биржевая торговля
- Шаблоны и темы
- Программы, скрипты
- Базы и каталоги
- Авто-мото
- Схемы заработка
- Складчина на спортивные прогнозы
- Авторские складчины
- Доступ к платным ресурсам
- Другие тематики
-
[SystemAnalyst] Аналитик с нуля. Старт в профессии. Тариф Только послушать (Ольга Пономарева)
17 май 2024
Ссылка на тему: [SystemAnalyst] Аналитик с нуля. Старт в профессии. Тариф Только послушать (Ольга Пономарева)Ответов: 0 -
[Product University] No-code. От идеи до продукта без программиста
17 май 2024
Для кого это курс
- Для стартапов
Быстро и дешево собирайте минимально жизнеспособные продукты, не тратя месяцы и сотни тысяч рублей на поиск и зарплату программиста. - Для продуктовых менеджеров
Качественнее, быстрее и дешевле проверяйте больше гипотез. - Для владельцев небольших бизнесов
Автоматизируйте работу компании, чтобы нанимать меньше персонала и сократить количество человеческих ошибок. - Для фрилансеров
Не изобретайте велосипеды, быстрее и качественнее выдавайте готовые решения заказчикам.
Программа
1 модуль: Введение в No-code. Как быстро и дешево запускать продукты. Что такое MVP?
Почему не стоит «пилить продукт» по полгода.
Как быстро и дешево оценить востребованность будущего продукта еще до его создания?
Как быстро и дешево доносить ценность продукта (продавать его) с первого дня?
Как тестировать гипотезы и делать выводы на основе метрик.
2 модуль: Интернет-магазин без кода
Каталог товаров и фильтры (внутри каталога довольно много неочевидных функциональностей, котормы мало кто пользуется, например, синхронизация товаров с МойСклад)
Tilda CRM и внешние интеграции
Подключаем платежные системы (Сложности тильды с отправкой данных до платежа и как его избежать. Это очень серьезная проблема, которую мало кто умеет решать)
Подключение аналитики (тут отдельно про GA и про Google Tag Manager, как инструмент отправки событий в аналитику, так как только внутренний функционал у Tilda не решает все задачи стартапа)
3 модуль: Возможности конструктора Тильда как конструктора простых ИТ продуктов
Вводная лекция. Возможности Тильда
Обзор конструктора Тильда — как он заменяет код.
Возможности в части базы данных
Преимущества
Ограничения
Что можно реализовать на Тильда.
Личный кабинет в Тильда
Возможности в настройке Л К Тильды.
Ограничения.
Настройка и тест — скринкаст.
Сценарии использования.
Базы данных в Тильда
Tilda CRM
СУБД Потоки
СУБД Каталог товаров
Скринкаст настройки.
Упоминание про внешние БД.
Выводы по возможностям и ограничениям.
Интеграция Тильды с другими сервисами. Сценарии и возможности
Кастомные сценарии
Внешние БД. Гугл таблицы
Емейл рассылки. Мейлчимп. Сравнение с транзакционными письмами.
Телеграмм триггеры. Уведомления о заявках.
Прием платежей. Яндекс касса / Cloud Payments. Эквайринга банка
2. Сложные интеграции и кратко про возможности таких сценариев
Внешняя интеграция через Вебхук и Интегромат
Интеграции в Альбато
3. Доп-ные фишки. Делаем А Б тест на Тильде без разработчика с помощью Google Optimize
4 модуль: Полезные чат-боты без кода
Делаем бота поддержки, который собирает лидов и записывает клиентов
Делаем бота, который собирает новости и присылает их каждое утро нам в telegram
5 модуль: Мобильное приложение без кода
Прототип в Marvel
Создание PWA в Glide
Создание приложения для загрузки в сторы в Adalo
6 модуль: Система расписаний без кода
Основы API и интеграций. Изучаем Zapier, Integromat и Albato
Автоматизируем регистрацию учеников и сдачу ДЗ с помощью Tilda, Integromat и Airtable
Создаём дэшборды в Google Data Studio и Integromat
5 реальных проектов, которые вы сделаете за 15 дней
- Простой интернет-магазин на Tilda и Wordpress
- Сервис платной email-рассылки с помощью Tilda + MailchimpТелеграм-бот, присылающий вам каждое утро подборку новостей, трендов и погоду
- Мобильное приложение для учета личных задач и формирования привычек
- Систему ведения расписания занятий для онлайн-школы, включая личный кабинет преподавателя и ученика
Ответов: 0 - Для стартапов
-
[IBS] Java Advanced II. Высокопроизводительная Java (Павел Козлов)
16 май 2024
Курс посвящен повышению производительности Java-приложений. В курсе рассматриваются различные подходы к профилированию, поиску узких мест, тюнингу виртуальной машины, настройки флагов JVM, библиотеки сериализации и кэширования, хранение данных вне кучи, бенчмаркинг, мониторинг и настройка памяти, и другие темы.
Цели
- Познакомить слушателей с современными подходами к повышению производительности Java приложений.
- Разработчики Java
- Архитекторы Java
- Уверенное владение Java
Модуль 1. Обзор тюнинга производительности (теория - 3 ч. + практика - 3 ч.)
- Общие практики;
- Стратегии тюнинга производительности;
- Метрики производительности;
- Как повысить производительность?
- Инструменты для измерения производительности;
- JMeter;
- Нагрузочное тестирование с помощью JMeter;
- Как повысить производительность с помощью архитектуры?
- Повышение производительности с помощью архитектуры: потоки, очереди, микросервисы, облака;
- Лучшие практики для улучшения производительности кода.
- Использование памяти Java-объектами;
- Общие подходы и алгоритмы сборщиков мусора;
- Сборщик мусора Serial GC;
- Сборщик мусора Parallel GC;
- Сборщик мусора CMS;
- Сборщик мусора G1;
- Сборщик мусора Shenandoah;
- Тюнинг сборщиков мусора;
- Инструменты сбора и анализа метрик о сборке мусора;
- Выбор оптимального сборщика мусора.
- JIT компиляция;
- Java байт-код;
- Многослойная компиляция;
- Кэш кода и его тюнинг;
- Оптимизация кода;
- Деоптимизация кода и когда она происходит;
- Инструмент JITWatch для анализа результатов компиляции;
- Виды оптимизаций;
- Спекулятивные оптимизации;
- Настройка компилятора;
- AOT компиляция;
- GraalVM.
- Назначение и категории флагов JVM;
- Общие флаги;
- Флаги, связанные со строками;
- Флаги управления памятью;
- Safepoints и флаги, связанные с ними;
- TLAB и флаги, связанные с ними;
- План тюнинга JVM.
- Что такое benchmarking;
- Знакомство с JMH;
- API JMH;
- Нетривиальные примеры;
- Применение JMH на практике.
- Домашняя работа (2 ч).
- Что такое sun.misc.Unsafe;
- Методы Unsafe;
- Производительность нативной памяти;
- Создание структур данных в нативной памяти;
- Оценка производительности нативной памяти и сравнение с памятью в куче;
- Примитивные коллекции;
- Денормализация данных;
- Перспективный Foreign Memory Access API.
- Сериализаторы JSON (GSON, Jackson);
- Двоичные сериализаторы (Protobuf, Jackson Smile, Kryo, FST, One NIO);
- Сравнение производительности различных сериализаторов;
- Производительность сети при подключении через различные протоколы: HTTP/REST, TCP, Async TCP, RSocket, Netty server/client.
- Когда и как делать профилирование?
- Сэмплирующие и инструментирующие профайлеры;
- Использование Java VisualVM для профилирования;
- Профилирование с помощью Spring AOP;
- Профилирование с помощью IDEA и async profiler;
- Java Flight Recorder;
- Анализ логов Java Flight Recorder с помощью Mission Conrol;
- Создание и логгирование кастомных событий JFR ;
- Использование Java агентов для внедрения в код и записи любых событий в Java Flight Recorder;
- Написание программ для автоматического анализа логов JFR;
- Сбор и анализ SQL запросов с помощью JFR;
- Сбор и анализ REST запросов с помощью JFR;
- Средства управления производительностью приложений;
- Использование Glowroot для профилирования и анализа SQL-запросов и REST-запросов.
- Инструменты для анализа динамической памяти;
- Признаки утечек памяти;
- Основные причины утечек памяти;
- Поиск и обнаружение утечек памяти;
- Слабые и фантомные ссылки;
- Инструменты IDEA для анализа дампов кучи;
- Асинхронный профайлер для анализа потребления памяти;
- Использование числа генераций профайлера VisualVM для обнаружения утечек памяти;
- Использование MissionControl/JFR для автоматического анализа утечек памяти;
- Анализатор памяти Eclipse – анализ знаменателей и кучи.
- Шаблоны кеширования;
- Кеширование HTTP запросов;
- Конфигурация библиотек кеширования;
- Популярные библиотеки кэширования: EhCache, Caffeine;
- Кеширование сервисного уровня;
- Кеширование Spring сервисов;
- Буферизация ввода/вывода;
- Кэш процессора и непрерывная область памяти;
- Кэширование JPA/Hibernate;
- Приложения, использующие кэши разных уровней.
Ответов: 0 -
[IBS] Java Advanced I. Функциональное, асинхронное и реактивное программирование (Игорь Судакевич)
16 май 2024
Курс посвящен современным функциональным и реактивным подходам к разработке на Java, повышающем производительность бекэнда, и включает изучение неблокирующего ввода-вывода NIO2, асинхронных промисов CompletableFuture, библиотек реактивного программирования RxJava и Reactor, интерфейса асинхронного доступа к БД R2DBC, потоковый протокол SSE, реактивные репозитории Spring Data reactive, WebClient, протоколы WebSocket и RSocket, а также практические примеры применения.
Цели
- Познакомить слушателей с современными асинхронным и реактивным программированием.
- Дать примеры применения.
- Разработчики Java
- Архитекторы Java
- Уверенное владение Java, желательно знание Spring
Модуль 1. Функциональная Java (теория - 2 ч. + практика 1 ч.) ч)
- Функциональные интерфейсы
- Ссылки на метод
- Потоки данных
- Map / filter / reduce
- Агрегационные функции
- Reduce при параллельной и последовательной обработке
- Цепочки потребителей
- Потоковые коллекторы
- Использование Executors
- Future интерфейс
- Использование интерфейса Callable
- Отмена задач
- ForkJoin Framework
- Создание пула задач ForkJoin
- Параллельные потоки в Java 8+
- ForkJoin vs. параллельные потоки vs. последовательные потоки
- Основные различия между Java NIO и IO
- Потоково-ориентированный или буферно-ориентированный
- Блокирующий против неблокирующего ввода-вывода
- Java NIO Buffer
- Java NIO Channel
- Direct буфер
- Mapped file буфер
- Java NIO Selector
- Асинхронный ввод / вывод с NIO
- Блокировка файла
- Cервер NIO
- Архитектура сервера Netty
- Проблемы синхронного кода
- NodeJS архитектура
- Параллельная обработка потока данных
- CompletableFuture: sync и async методы
- Объединение (combine), составление (composing) и быстрейший побеждает (quicker wins)
- Обработка исключений в CompletableFuture
- Отмена CompletableFuture
- Использование CompletableFuture для реального потока данных
Модуль 5. Реактивное программирование (теория - 8 ч.)
- Что такое реактивность?
- Основы RxJava: наблюдатель и наблюдаемый (Observable и Observer)
- Реактивные потоки в Java 9 (Java Reactive Streams)
- Методы для побочных эффектов (side effects)
- Обработка ошибок
- Горячие и холодные потоки (hot/cold)
- Разделяемые и подключаемые потоки (shared/connectable)
- Освобождение потоков (disposing)
- Реактивные операторы (полный каталог)
- Subjects
- Распараллеливание потоков (Schedulers)
- Противодавление (backpressure) и интерфейс Flowable
- Тестирование реактивных потоков
- Операторы Flux / Mono в Reactor
- Работа с backpressure в Reactor
- Reactor и многопоточность (Reactor Schedulers)
- Parallel Flux потоки
- Оборачивание синхронных вызовов
- Тестирование Reactor
- Процессоры (Reactor processors)
- Реактивный доступ к БД
- Реактивные драйверы R2DBC
- Spring Data - реактивные репозитории
- Поддержка страниц (paging) в Spring Data reactive
- WebFlux: функциональные контроллеры
- Spring REST контроллеры, возвращающие реактивные данные (Mono / Flux)
- Spring REST контроллеры, возвращающие SSE (server-sent event)
- WebClient: получение реактивных данных с сервера
- SSE и протоколы WebSocket
- Использование WebSocket для передачи / получения данных JSON
- Использование WebSocket для передачи / извлечения двоичных данных
- Протокол RSocket
- Контроллер RSocket на стороне сервера
- RSocket клиент: обмен JSON и двоичными данными
- RSocket с балансировкой нагрузки
- RSocket с взвешенной балансировкой нагрузки
- Использование реактивных потоков с брокером сообщений (RabbitMQ)
- Spring Data MongoDB реактивные репозитории
- Бенчмарки: R2DBC против JDBC и WebFlux против Web MVC
- Архитектура и шаблоны реактивного программирования
Ссылка на тему: [IBS] Java Advanced I. Функциональное, асинхронное и реактивное программирование (Игорь Судакевич)Ответов: 0 -
[CyberYozh] Андроид-Паноптикум. Тариф Архитектор
16 май 2024
Это концепция, где только пользователь может наблюдать за всем, что происходит в его смартфоне. Мы научим вас находить и контролировать все слабые места в анонимности и безопасности вашего Android-смартфона.
Принципы Паноптикума:
- Централизованное наблюдение. Вы станете центральным наблюдателем всех процессов и уязвимостей вашего смартфона, построив архитектуру контроля безопасности.
- Анонимность наблюдателя. Вы будете невидимы для корпораций, хакеров и служб. Ваш смартфон не будет знать о вас ничего, а значит не сможет передать личные данные.
- Полная изоляция наблюдаемых. Каждый сервис, который может угрожать вашей анонимности, будет изолирован от других, чтобы остановить взаимодействие между приложениями.
Хотите шифровать интернет-активность. Настройте максимальный уровень защиты ваших данных и трафика от контроля со стороны провайдера /оператора / правоохранительных органов.
Вынуждены защищаться от взлома. Изучите все возможные уязвимости вашего Android-смартфона. Речь пойдёт не только об удаленных атаках на устройство, но про контрфорензике (физическом взломе).
Хотите превратить смартфон в антидетект. Научитесь подменять идентификаторы вашего смартфона. Это не просто изменение на браузерном уровне, вы научитесь изменять отпечатки сети, ОС и железа девайса.
Не готовы продавать себя корпорациям. Ваши интересы, контактные данные, фотографии и даже ваш любимый жанр порнографии перепродаётся до 50 раз в день рекламным сетям и маркетплейсам.
Храните криптовалюту на смартфоне. Обезопасьте хранение криптовалюты на вашем смартфоне. Вы создадите настоящий сейф, и доступ к деньгам будет только у вас и доверенных лиц.
Работаете с кастомными прошивками. Мы поможем найти оптимальный выбор прошивки под ваши задачи и научим с ней работать. Это важно, если вы не хотите привратить своё устройство в «кирпич».
Программа Курса
Длительность обучения: 6 месяцев Количество уроков: 72
Доступы и идентификаторы
Модуль 1:Прошивки и получение Root 12 занятий
Модуль 2:Продвинутое сокрытие метрик и обход антифрод-систем 7 занятий
Безопасность и анонимность
Модуль 3:Защита от утечек данных устройства 21 занятиe
Модуль 4:Контрфорензика и безопасность коммуникаций 8 занятий
Модуль 5:Автоматизация защиты от атак 8 занятий
Дополнительно
Модуль 6:Приложения и сервисы 12 занятий
Бонус:Нейросети для Android 21 занятиe
Тариф "Архитектор"
Прошивки и получение Root
Настройка Антидетекта
Защита от утечек
Контрфорензика
Защита от атак
Приложения и сервисы
Нейросети для Android
Ссылка на тему: [CyberYozh] Андроид-Паноптикум. Тариф АрхитекторОтветов: 0 -
[Thinknetica] Kubernetes для Rails-разработчиков. Тариф Слушатель (Темур Фактулин)
14 май 2024
Воркшоп для Rails-разработчиков, которые хотят начать использовать Kubernetes для улучшения процессов CI/CD и управления своими приложениями.
Темы которые будут рассмотрены:
Основы Kubernetes для начинающих
- Применение Kubernetes для управления и оркестрации контейнеризированных приложений.
- Освоение основных компонентов и абстракций, таких как pods, services, deployments и jobs.
- Настройка и использование GitLab CI/CD для автоматизации процессов развертывания в Kubernetes.
- Разбор процесса развертывания приложений через Helm и GitLab, упрощение этого процесса с помощью Helm charts.
- Освоение методов масштабирования приложений в Kubernetes, включая автоматическое и ручное масштабирование.
- Настройка запросов и лимитов ресурсов для подов, управление доступными ресурсами для обеспечения оптимальной производительности и стабильности.
- Настройка различных типов сервисов в Kubernetes, таких как ClusterIP, NodePort и LoadBalancer, для обеспечения доступа к приложениям.
- Применение стратегий обновления приложений, таких как Rolling Updates, для минимизации простоев.
Работа с фоновыми задачами:
- Интеграция и управление фоновыми процессами с использованием Sidekiq в Kubernetes.
- Автоматизация задач по обслуживанию приложений, например, миграций баз данных.
- инструменты и практики для бесперебойного выполнения миграций в процессе деплоя.
- применение k8s для стандартизации развертывания приложений в различных окружениях
- управление конфигурациями и зависимостями
Ответов: 0 -
[infostart] Транзакции и работа с ними (Павел Макаров)
14 май 2024
Курс-практикум "Транзакции и работа с ними" - это часть базовых знаний необходимых при разработке в нагруженных или крупных системах. На курсе по транзакциям подробно разбираются ошибки, приводящие к потере данных. При работе с нагруженными системами (от 500 пользователей, 1 Тб) эти знания становятся необходимыми. Они позволят не терять данные из-за неожиданных моментов/ошибок и обеспечить параллельную работу кода.
Объем курса: теория 1-2 часа, практика до 2 часов.
Программа курса
Теория:
Ключевые вопросы:
- зачем нужна
- свойства транзакций
- что такое транзакция
- зачем нужна транзакция
- где выполняется транзакция и что сохраняет
- вложенные транзакции
- проблемы открытой транзакции + правила обработки транзакций
Практика:
Ключевые вопросы:
- свойства транзакций
- время жизни транзакции: клиент серверный вызов, вложенный серверный вызов
- восстановимые и не восстановимые ошибки
- пример изолированности транзакции
- пример согласованности транзакции
- откат изменений в транзакции: изменение в памяти
- вложенные транзакции: откат, откат с фиксацией
- явные и не явные транзакции
- проблемы при проверке активности транзакций
- правила корректной обработки транзакций
Ссылка на тему: [infostart] Транзакции и работа с ними (Павел Макаров)Ответов: 0 -
[GetAnalyst] Карьера и собеседования
13 май 2024
- Встреча с HR - процесс найма, оформление резюме и подготовка к собеседованию
- Собеседование для СА
- Системный аналитик: вклад в IT проекты
- 5 лайфхаков для создания цепляющего резюме
- Объектно-ориентированное программирование
- Команда разработки в США и место аналитика в ней
- Собеседование на системного аналитика
- Навыки аналитика: с чего начать и как расти
- 8 вебинаров
Ссылка на тему: [GetAnalyst] Карьера и собеседованияОтветов: 0 -
Хардкорная веб-разработка (Алексей Голобурдин)
12 май 2024
Хардкорная веб-разработка - всё, что нужно уметь мощному разработчику под веб
Чтобы быть эффективным веб-разработчиком — неважно, backend, frontend, fullstack — мало знать только синтаксис выбранного языка программирования, например, Python или JavaScript. Для уверенной разработки веб-систем нужно иметь понимание и реальные навыки по всем технологическим блокам, работающим на разных слоях приложения.
Этих слоёв немало — это сам Интернет с его архитектурой и протоколами, это и серверные операционные системы Linux, и бэкенд-стек технологий, включающий в себя выбранный язык программирования, фреймворки, базы данных, системы планирования выполнения и прочее, это и целый спектр фронтенд-технологий.
Вне зависимости от того, работаешь ты бэкенд или фронтенд разработчиком, только фундаментальное понимание всех слоёв системы позволяет тебе быть эффективным, уверенным в своих силах специалистом, способным к красивому и эффективному решению задач веб-разработки.
Плюс — передовые методики разработки ПО. Асинхронные решения, автотесты, информационная безопасть, CI/CD.
Цель этого курса — дать тебе все необходимые навыки и закрепить их на практике.
Для кого этот курс
Этот курс создан специально для тебя, если:
- ты готов к хардкорному погружению в веб-разработку
- ты ещё не начал погружаться в тему веб-разработки и хочешь начать это делать правильно — от фундамента к первому этажу и выше
- ты уже начал изучать язык программирования, но как полноценно создавать веб-системы и как они работают, у тебя понимания нет
- ты уже разрабатываешь веб-системы, но хочешь стать более эффективным мощным бойцом, понимающим, как всё работает на всех уровнях приложения
- ты хочешь увидеть, как делаются настоящие большие веб-проекты и хочешь на реальной практике научиться делать такие же
- ты хочешь научиться писать качественный код и выстраивать расширяемую архитектуру своих приложений
- ты стажер, джун, мидл, сеньор, архитектор или президент компании (Билли, Гейтс, ты тоже приходи, потрындим)
Курс - это практика
Основа этого курса — практика. Подкрепляют практику сотни наглядных видео-уроков и текстовых материалов.
Благодаря наглядным демонстрациям, тебе не придётся сомневаться «как он это установил» или «как именно он это сделал» — ты видишь своими глазами все шаги. С момента установки Python на свой компьютер и до готового опубликованного на своём домене и своих серверах большого проекта (rroom), все шаги со всеми объяснениями.
Тесты и практические задания на курсе делятся на две категории. Одни задания проверяются автоматически платформой курса, которую мы специально разработали для него. Другие задания проверяются лично автором курса. Это и задания со свободной формой ответа, и задания на программирование с код-ревью автора курса, и комплексные большие проекты, которые вы будете делать на курсе.
Вся коммуникация по данному курсу проходит только с автором. С одной стороны, это позволяет тебе получить максимально качественную поддержку и обратную связь во время прохождения курса, с другой — это не позволяет сделать курс дешёвым. В больших образовательных компаниях стоимость курса обусловлена огромными затратами на маркетинг, в нашем же с тобой случае — на подготовку и ведение самого курса.
Как создаются настоящие проекты? (Покажу на курсе)
Изучив язык программирования, какой-то фреймворк и сталкиваясь затем с реальным проектом, зачастую мы не знаем, как к нему подступиться, как его правильно начать и как его правильно сделать.
На курсе я покажу реализацию книжного сервиса rroom.io — от дизайна до готового сайта, которым пользуются люди.
Rroom — это проект для тех, кто читает книги. Регистрация пользователей, ведение книжных подборок, отзывов, комментарии, стены, интеграция интернет-эквайринга для оплат на сервисе, реализация автоматизированной рекламы и многое другое.
Будет показан весь процесс разработки и весь используемый тулинг. Стек: Python, FastAPI, SQLAlchemy, PostgreSQL, Redis, Dramatiq, TypeScript, SolidJS. Конкурирующие фреймворки (Django, React) также найдут отражение в курсе.
А затем и ты на курсе реализуешь свой большой веб-проект, применив все полученные знания и навыки.
- Подготовка
- Цели курса
- Как будет проходить курс
- Границы тем курса
- Как потратить время зря
- Как получить от курса максимум
- Многозадачность, сон, скорость
- Задания, Google и ChatGPT
- Разделы КОМП — Как Оно Мне Поможет
- Задавайте вопросы
- Платформа
- Практика — rroom
- Книги!.md
- Цели курса
- Как работает компьютер
- Computer Science
- Римские и арабские цифры
- А если бы у нас было шесть пальцев
- Когда ленточка — это всё, что нужно
- Биты-байты
- Шестнадцатеричная система счисления
- Как научить электричество считать
- Цифровая и аналоговая техника
- Как Software меняет правила игры, Assembler
- Hardware — основное компьютерное железо
- Итоги
- Дополнительные материалы
- Computer Science
- Программное обеспечение
- Клавиатура, мышь, голос, мысль
- Как достичь слепого набора текста
- Операционные системы
- Установка удобного эмулятора терминала
- Установка GNU/Linux в Windows 10 с WSL
- Переключение версии WSL
- Установка Debian GNU/Linux в Oracle Virtualbox
- Установка Debian GNU/Linux на Apple Silicon Mac с UTM
- SSH-подключение к виртуальной машине
- Искусственный интеллект коровы
- Интеграция Windows и GNU/Linux с WSL
- Кодировки и hex-дампы
- Обходим защиту почтовых программ
- Языки программирования
- Эффективность языков программирования и программ
- Компилятор и интерпретатор
- Алгоритмы
- Пример — бинарный поиск
- Структуры данных
- Как гуглить
- Время, UTC, таймзоны, синхронизация
- Итого
- Дополнительные материалы
- Клавиатура, мышь, голос, мысль
- GNU/Linux
- Из чего сделаны облака
- Перемещения в пространстве (во времени будет дальше)
- Маски-шоу
- История команд и невероятные возможности
- Редактирование команд
- Философия Unix
- Стандартный поток вывода
- Стандартный поток вывода ошибок
- Стандартный поток ввода
- Каналы и конвейеры
- Чёрная дыра
- Тройничок — это хорошо
- Создаём и удаляем
- Чистота чисто Тайд
- Консольные текстовые редакторы nano, micro, helix
- Работаем только с нужными частями файла
- Следим за изменениями вывода команды
- Права суперпользователя
- Осваиваем перемещение во времени
- Псевдонимы
- «Помогити!»
- Переменные окружения HOME, USER, PWD
- Переменная окружения PATH, команда type
- Переменная окружения CDPATH
- Основные директории GNU/Linux и их назначение
- Жёсткие и символические ссылки
- Пользователи и группы
- Права доступа
- Битовая маска прав доступа
- Архивирование и разархивирование
- Поиск
- Терминальные мультиплексоры screen, tmux, zellij
- Процессы и утилиты top, htop
- Загрузка файлов из сети
- Оболочки bash, zsh, fish, nushell
- bat и другие современные аналоги
- make-файлы
- Итого
- Дополнительные материалы
- Из чего сделаны облака
- Как работает Интернет и веб — основы
- КОМП
- Компьютерные сети. Сетевые интерфейсы
- Ещё железяки — концентраторы и коммутаторы
- MAC-адреса, слежка АНБ и реклама
- Маршрутизаторы (роутеры), Internet
- Локальные и глобальные сети LAN & WAN
- Клиент-сервер
- Спецификации (протоколы), OSI-модель
- Сетевые протоколы TCP IP
- IP и порт
- NAT
- IPv4, IPv6, DNS
- Прокси-сервера и VPN
- DHCP
- Дополнительные материалы
- КОМП
- DNS
- DNS
- Доменные зоны
- Выбор и покупка домена rroom io
- Система DNS серверов
- DNS-записи
- Как посмотреть DNS записи любого домена
- NS-сервера и DNS-записи
- Файл hosts и доменное имя localhost
- Создание почты в своём домене hi(собака)rroom.io
- DNS
- HTTP, HTTPs
- Что такое протокол HTTP
- Установка Telnet
- Ещё раз о TCP-портах
- Творим дичь — отправка HTTP-запроса вручную
- HTTP-методы
- Безопасность и идемпотентность веб-сервисов
- HTTP-статусы
- HTTP-заголовки
- Смотрим HTTP-данные в Chrome Developer Tools
- Из чего состоит URL
- Как данные передаются на сервер
- Методология REST
- HTTPs
- Дополнительные материалы
- Что такое протокол HTTP
- HTTP2
- Как всё было — HTTP/0.0, HTTP/1.0, HTTP 1.1
- Проблемы HTTP/1.1
- Решения HTTP2
- Что будет дальше
- Как всё было — HTTP/0.0, HTTP/1.0, HTTP 1.1
- Сессии, cookies, безопасность
- Аутентификация и авторизация
- Хеш-функции
- Хранение паролей, механизм аутентификации
- Cookies — кто и как устанавливает и использует
- Работа Cookies, безопасность
- Подпись Cookies хешем
- Аутентификация и авторизация
- Быстрое погружение во frontend
- Фронтенд и бэкенд Компонены фронта и бэка
- HTML, CSS
- Запуск веб-сервера, абсолютный и относительны
- Делаем свой Интернет
- HTML-формы
- Chrome developer tools
- Смочить лапки в JavaScript
- Хакаем игру с динозавром в Google Chrome
- Фронтенд и бэкенд Компонены фронта и бэка
- Python для самых маленьких хардкорщиков
- Собстна, а почему Python?
- Изучение языка программирования
- Как пишутся программы
- Установка Python и настройка VS Code
- Снова о блокноте
- Практика
- Переменные
- Как работают переменные в Python
- Числовые типы данных
- Строки
- Булевы
- Преобразования типов
- Ветвление логики
- Списки
- Циклы
- Бесконечный цикл
- Кортежи
- Множества
- Словари
- Когда какую структуру использовать
- Работа с аргументами командной строки
- Функции
- Рекурсия
- Сортировка данных
- Области видимости переменных
- Нейминг, type hinting, комментарии
- Объекты
- Исключения
- Пакеты, модули
- Синтаксический сахар
- Работа с датами и временем, таймзоны
- Регулярные выражения
- Удобности стандартной библиотеки
- Запуск внешних утилит
- Виртуальные окружения — venv, pip, poetry, pdm
- Баги и работа с ними
- Критерии хорошей программы
- PEP8
- Собстна, а почему Python?
- Python для подрастающих хардкорщиков
- Документация
- Процедурное и объектно-ориентированное программирование
- Позиционные и keyword аргументы
- Внутренние и анонимные функции
- Замыкания
- args и kwargs
- Генераторы (не дизельные)
- Декораторы
- Инкапсуляция
- Наследование
- Полиморфизм
- Protected и private атрибуты
- Конструктор и инициализатор
- Геттеры и сеттеры
- Property
- Кэширование результатов функции
- Методы — классов, объектов и статические
- Абстрактные классы и интерфейсы
- Агрегация и композиция
- Важные дандер-методы
- Когда использовать классы
- Датаклассы, attrs, pydantic
- == и is
- Кортежи-таки можно менять
- map, filter, reduce и pythonic-аналоги
- Ссылочные параметры функции
- Функции как объекты
- defaultdict
- Свои исключения
- Строки и байты, BOM
- Сериализация и десериализация данных
- pickle, json, xml, protobuf
- Подсказки типов
- Утиная и гусиная типизация
- Статическая структурная типизация
- Регулярные выражения
- Перегрузка операторов
- Контекстный менеджер
- Pattern matching
- Инструментарий — ruff, black и другие
- Анализ скорости выполнения
- Настройка логирования
- Профилирование
- Дебаг
- Рефакторинг и инструменты
- Документация
- Pythonic код
- Zen of Python
- Используй распаковку кортежей
- Однострочники
- Используй enumerate
- Используй слайсы
- Хитрая сортировка
- dict.get vs KeyError
- Объединение словарей
- Знай и используй стандартную библиотеку
- Используй pathlib
- Используй моржовый оператор
- Возбуждай исключения
- Используй генераторы
- Используй itertools
- Не пренебрегай функциями перед классами
- Простые геттеры и сеттеры для джавистов
- Используй контекстные менеджеры
- Используй Decimal для точных вычисления
- Используй __repr__
- Создавай пакеты
- Zen of Python
- Алгоритмы и структуры данных
- Алгоритмы
- Сложность алгоритма
- О большое
- Сортировка пузырьком
- Быстрая сортировка
- Сортировка слиянием
- Сортировка методом Шелла
- Массивы и связанные списки
- Кортежи
- Словарь
- Множество
- Стек и очередь
- Линейный поиск
- Бинарный поиск
- Алгоритм Дейкстры
- Жадные алгоритмы
- Как мы на практике NP-полную задачу решали
- README
- Алгоритмы
- Как писать хорошо, а нехорошо не писать
- Искусство или навык
- Нейминг
- Форматирование
- Комментарии
- DRY
- KISS
- YAGNI
- Как писать хорошие функции и методы
- Проектирование от функций
- Функции большие и малые
- Отмерять и отрезать
- Закон Деметры
- Принцип единой ответственности
- Принцип окрытости-закрытости
- Принцип подстановки Барбары Лисков
- Принцип разделения интерфейсов
- Принцип инверсии зависимостей
- Low Coupling, High Cohesion
- Принцип наименьшего удивления
- Абстракции
- Смешение уровней абстракции
- Валидации, проверки, исключения
- Оценка качества программы
- Рефакторинг
- Борьба со сложностью
- Термины бизнес-области
- Искусство или навык
- Git
- Git — must-have инструмент любого разработчика
- Установка
- Инициализация Git-репозитория и что происходит под
- Первый коммит
- Список коммитов и информация о коммите
- Индекс и объектное хранилище Git
- Што такое, зачем так сложно, Линус, я недоволен
- Как добавить в репозиторий пустую директорию
- Как закоммитить сразу несколько файлов
- Как включать игнор
- Удобные сокращения git-команд
- Удобная история изменений проекта
- Создание новой ветки
- Сливаем ветки
- Красота и величие указателя HEAD
- GUI для работы с Git
- Merge-коммит и его особенности
- Конфликты слияния
- Изучаем разницу версий
- Откат изменений в рабочей директории или индексе
- Сброс проекта до старого коммита
- Подправить последний коммит
- rebase для предотвращения merge-коммитов
- rebase для объединения коммитов
- Клонируем удалённый репозиторий
- Создаём свой удалённый репозиторий
- Pull Request A.K.A. Merge Request
- Кто, когда и зачем добавил эту строку в проект
- Изменения истории веток, уже отправленных на сервер
- Тайные тайники Git
- cherry-pick и патчи (не корейские)
- Другие возможности Git
- Gitflow, GitHub Flow — организационный процесс работы с Git
- Правила комментирования коммитов
- pre-commit
- Markdown
- Итого
- Дополнительные материалы
- Git — must-have инструмент любого разработчика
- Контейнеризация — Docker, Podman и коллеги
- Что такое контейнеризация?
- Оркестратор, движок контейнеров, OCI рантайм
- Как работают контейнеры
- Образы контейнеров
- Docker vs Podman
- Запуск и остановка контейнера
- Вход в контейнер
- Работа с образами и контейнерами на локальном компьютере
- Dockerfile, Containerfile, сборка образа
- docker-compose, podman pods
- Volumes
- Сеть
- Вопросы безопасности контейнеров
- Пример контейнеризованного Python веб-приложения
- Деплой с контейнерами
- Дополнительные материалы
- Что такое контейнеризация?
- Первая практика с FastAPI
- Постановка задачи
- Пишем HTTP сервачелло на голом Python
- О фреймворках и библиотеках
- Пишем Hello World на FastAPI
- Создаём HTML шаблон
- Создаём и стилизуем форму логина
- Принимаем данные формы на бэкенде
- Проверка логина и пароля из формы
- Сохраняем пользователя в Cookies
- Читаем Cookie запись
- Цифровая подпись Cookies
- Хеширование паролей
- JavaScript и AJAX
- SPA и JS фреймворки
- Варианты передачи данных в запросе
- Веб-сокеты
- Git
- Покупка и настройка домена
- Привязка домена к серверу
- Перенос приложения на сервер
- Настройка сертификата
- Постановка задачи
- SQL и PostgreSQL
- О PostgreSQL
- Установка PostgreSQL в контейнере
- Установка PostgreSQL в Linux из пакетного менеджера
- Сборка PostgreSQL из исходников
- Установка PostgreSQL установщиком на маке
- Тулзяшечки — psql, pgcli, DBeaver, PyCharm
- ACID
- Термины — реальные и задротские
- Первичный ключ и внешний ключ
- Основные типы данных
- DDL, DML, DCL, TCL и прочий БДСМ
- Создаём пользователя
- Создаём БД, схему, таблицы, связи
- Комментарии в SQL и к таблицам-колонкам
- Вставка данных
- Простейшие выборки
- Обновление и всякое хитрое удаление данных
- Операторы и фильтрация выборки
- Сортировка выборки
- Ограничение количества возвращаемых данных
- Псевдонимы = алиасы = aliases
- LIKE, ILIKE
- Использование даты и времени
- CASE WHEN
- Выборка из нескольких таблиц — JOIN
- Coalesce и значения NULL
- Подсчет количества результата
- Группировка результатов выборки
- Фильтрация вкупе с группировкой
- Агрегатные функции
- Работа со строками
- Приведение типов
- Подзапросы
- UNION, EXCEPT, INTERSECT
- Вьюшки обычные и материализованные
- CTE
- Оконные функции
- Пример с оконными функциями
- Транзакции
- Read Committed изоляция транзакций
- Repeatable Read изоляция транзакций
- Serializable изоляция транзакций
- Массивы
- JSON и JSONB
- Индексы в PostgreSQL
- Индекс на уникальность
- Индекс по выражению
- Частичные индексы
- Виды индексов PostgreSQL
- Полнотекстовый поиск в PostgreSQL
- Нормализация и денормализация
- Репликация и шардинг
- Что использовать в качестве первичного ключа?
- Временные таблицы
- TRUNCATE
- Триггеры и правила
- EXPLAIN
- OLTP и OLAP
- PL/pgSQL
- Получаем размер базы данных
- Стратегии бэкапов
- Пулер запросов PgBouncer и Yandex Odyssey
- SQLite
- Дополнительные материалы
- О PostgreSQL
- Redis
- Зачем нам этот ваш ещё Redis?
- Установка Redis
- Что внутри
- Строки
- Хеши
- Списки
- Множества
- Отсортированные множества
- Транзакции
- Срок жизни ключей
- Pub-sub
- Streams
- Репликация
- Дополнительные материалы
- Зачем нам этот ваш ещё Redis?
- Асинхронный Python
- Как оно работает обычно
- Процессы, потоки, корутины
- GIL
- Чем поможет нам asyncio
- Concurrency is not parallelism
- Сопрограммы, они же корутины
- Шо за цикл событий такой умный?
- Почему мой код не выполняется быстрее с async-await?
- И как же мне ускорить выполнение кода c конкурентностью?
- asyncio.create_task
- Ожидание окончания выполнения задачи
- Когда использовать и когда не использовать асинхронность
- Способы запустить код асинхронно
- asyncio.gather
- asyncio.TaskGroup
- asyncio.as_completed
- asyncio.wait
- Надо ли обычные функции определять с async def?
- Асинхронно ходим в веб-сервисы
- Асинхронно ходим в СУБД
- Асинхронно ходим в файлы
- Трэш и содомия — пулы процессов
- Семафоры
- asyncio.to_thread
- Контекстные переменные
- throttle и debounce
- Как принудительно отдать управление в цикл событий
- uvloop и замена цикла событий
- Как оно работает обычно
- Django и как его готовить
- Обзор фреймворка, преимущества и недостатки
- Установка, инициализация, структура
- Первое приложение
- Модели хранилища
- Подцепляем контейнеры
- Миграции
- Великий и ужасный Django ORM
- Какой SQL варганит Django ORM
- Оптимизация использования Django ORM
- Или ну его в пень и пишем голый SQL
- Шаблоны
- Админка
- Реализация CRUD влоб
- Формы
- Function Based и Class Based Views
- Django для SPA и для не SPA
- Аутентификация
- Авторизация
- Аутентификация через внешние сервисы
- CORS в Django
- CRUD с DRF
- Swagger с DRF
- Асинхронность в Django
- Фоновые задачи с Django
- Использование Django apps
- Архитектура Django-проектов
- Стайлгайд
- Two Scoops of Django
- Дополнительные материалы
- Обзор фреймворка, преимущества и недостатки
- FastAPI, SQLAlchemy, Alembic
- Обзор фреймворка, преимущества и недостатки
- Асинхронность в FastAPI
- Запросы-ответы-валидация
- Выуживаем данные запроса
- Return Type
- Статусы ответов
- Swagger с FastAPI
- CORS в FastAPI
- Подцепляем контейнеры
- Асинхронный SQLAlchemy
- Миграции с Alembic
- CRUD c SQLAlchemy
- Фоновые задачи с FastAPI
- Вебсокеты и Server Side Events с FastAPI
- Архитектура FastAPI-проектов
- Обзор фреймворка, преимущества и недостатки
- Автотесты
- Зачем нам автотесты
- Какие есть виды тестов
- Пирамида тестирования
- и при чём тут архитектура
- unittest, pytest, nose
- Структура теста
- Рекомендации по юнит-тестам
- Чем качественные юнит-тесты отличаются от некачественных
- Тесты в Django
- Тесты в FastAPI
- Мокать аль не мокать?
- Школы тестирования
- Test suite для проекта
- Интеграционное тестирование
- E2E тестирование
- База данных в тестах
- Тесты и приватные методы
- Время
- Изучаем Pytest
- Зачем нам автотесты
- Архитектура backend-приложений
- Что такое архитектура и зачем она нам
- Быстрее отгрузить vs Сделать хорошо
- Писать хорошо, а нехорошо не писать
- Что есть зависимость
- Любую зависимость можно инвертировать
- Устойчивость кода
- Отделяем мух от котлет
- Сущности
- Сервисы = сценарии использования
- Репозитории, инфраструктура
- Чистая, гексагональная, портов и адаптеров и прочие архитектуры
- Зависимости
- Сборка всего приложения
- Пример
- Что такое архитектура и зачем она нам
- 12 факторов
- Один код — разные развёртывания
- Зависимости
- Конфигурация
- Сторонние сервисы
- Сборка, релиз, выполнение
- Процессы
- Port binding
- Параллелизм
- Утилизируемость
- Паритет разработки и работы приложения
- Логи
- Задачи администрирования
- Один код — разные развёртывания
- HTML
- Версии HTML
- Структура документа
- Кодировка документа и текста
- Что за что отвечает
- Тэги
- Форматирование текста
- Ссылки
- Списки
- Entities, UTF8 символы
- Разные размеры изображений
- Растровая и векторная графика
- Фоновые изображения
- Пути
- Семантическая разметка, контейнеры
- Таблицы
- Формы
- Комментарии
- Favicon
- Фреймы
- Block и inline элементы
- Canvas
- Интеграция плееров
- Форматирование HTML-кода
- W3C-валидатор
- Версии HTML
- CSS или как всех достать, раскрасить и распихать
- Что может делать CSS
- Подключение стилей
- Макет страницы
- Что такое стиль
- Codepen
- Достать по тэгу
- Достать по классу
- Достать по идентификатору
- Достать по атрибуту
- Достать сразу нескольких
- Родственные отношения
- Достать потомков
- Достать детей
- Псевдоклассы, псевдоэлементы
- Достать родственничков
- Достать вот этих, но не тех
- Наследование
- Специфичность
- Хак с important
- Сброс стилей
- Шрифты и форматирование текста
- Цвета — RGB, RGBA, HSL, HSLA
- Размеры
- Списки
- Блочная модель
- Схлопывание полей
- Блочные и строчные элементы
- Границы и тени
- Установка размера блочного элемента
- box-sizing
- Overflow, ограничение max размеров
- float
- Изображения фоном
- Несколько фоновых изображений
- Список ссылок, ролловеры
- Трансформация без трансформатора
- Анимации
- Оформление таблиц
- Оформление форм
- Фикс, резина, адаптив
- Как верстать?
- Древняя верстка
- Современность — flexbox
- Позиционирование
- Как делается адаптив
- Контейнерные запросы
- Как узнать, какая тема на устройстве включена?
- Включен ли режим энергоэффективности?
- Как скрыть или показать элемент?
- calc
- min, max, clamp
- CSS-валидатор
- Can I use
- Минимизация CSS
- БЭМ
- Дополнительные материалы
- Что может делать CSS
- Мобильные приложения на фронтенд-технологиях
- Cordova
- Ionic
- PWA
- Cordova
- Деплой веб-приложения
- Сколько нам нужно железа
- Арендуем сервачелло
- Присобачиваем домен
- Прокидываем SSH-ключи
- Ставим необходимые пакеты
- Используем контейнеры на проде
- Ставим Python
- Ставим PostgreSQL
- Ставим пулер коннектов для PostgreSQL
- Разворачиваем чудо-приложеньку
- Настраиваем Systemd
- Настраиваем файрвол
- Настраиваем анти-DDoS в Nginx
- Статику раздаёт Nginx, S3 или CDN
- Выносим PostgreSQL на отдельный сервер
- Настраиваем бэкапы
- Настраиваем ротацию логов
- Клонируем application-серваки
- Как запустить это всё в контейнерах
- А теперь подвиньтесь, выходит Ansible
- Сколько нам нужно железа
- JavaScript
- Где применяется JavaScript?
- Типы данных
- Управляющие конструкции, печать
- var, let, const
- Функции
- Стрелочные функции
- Объекты, методы, this
- null, undefined
- Глобальные браузерные переменные
- Структуры данных
- Деструктуризация, распространение
- Циклы
- Исключения
- Работа с датой и временем
- Форматирование строк
- Функциональное программирование в JS
- Модули
- Стиль кода
- Асинхронный JS
- Полифилы
- Работа с DOM-деревом на чистом JavaScript
- События в браузере
- MutationObserver
- Fetch и axios
- Cookies и LocalStorage
- node, deno
- Дополнительные материалы
- Где применяется JavaScript?
- TypeScript
- Для чего нам TypeScript?
- Установка TypeScript
- Теперь везде ставить типы?
- Основные типы
- Типизация функций
- Интерфейсы и структурная типизация
- Any и запрет Any
- typeof
- Дженерики
- Типизация объектов
- Keyof
- Typeof
- Для чего нам TypeScript?
- React и SolidJS
- Зачем нам вообще фронтенд-фреймворки?
- Веб-компоненты
- React vs SolidJS
- Создаём React-приложение
- JSX и чем он хорош
- Нарезаем компоненты
- Props
- Условный рендеринг
- Передача данных компонентам вверх и вниз
- Стейт
- Понимание рендера
- Контекст
- Refs
- Жизненный цикл
- Хуки
- Управление стейтом приложения
- Как проблемы React решает Solid?
- Установка Solid
- JSX Solid
- Сигналы Solid
- Эффекты Solid
- Memos Solid
- Порталы, ууу
- Рендер-логика в Solid
- Жизненный цикл в Solid
- События с Solid
- Refs в Solid
- Стилизация
- Удобные хранилища Solid
- Асинхронность в Solid
- TypeScript в Solid
- Зачем нам вообще фронтенд-фреймворки?
- Архитектура frontend-приложения
- Бэкендерское тут неприменимо?
- Разбираемся с FSD
- Продолжаем разбираться с FSD
- Микрофронтенды
- Практика
- Бэкендерское тут неприменимо?
- Взлом и защита
- Обзор
- Злодейски угоняем аккаунт
- Защита
- Коварно строим подлянки юзерам
- Защита
- Негодяйски угоняем данные
- Защита
- Подлецки хакаем сервер
- Защита
- Коварно хихикая, фишим
- Защита
- Левой пяткой хакаем Django
- Защита
- Мощнецки дудосим
- Защита
- Обуваем всех подряд
- Защита
- Заметки по безопасности
- Обзор
- CI/CD
- Зачем нам оно
- Подходы к CI/CD
- Сине-зеленое развертывание
- Инструменты
- Демонстрация
- Зачем нам оно
- Облачные технологии
- Зачем оно нам?
- Платформы
- Сервера
- S3-хранилища
- CDN
- Управляемые СУБД
- Балансеры
- Serverless Containers
- Lambda
- Инфраструктура как код
- Terraform, Ansible
- Зачем оно нам?
- Советы по работе в ИТ
- Резюме
- Собеседование
- Опыт работы
- Дизайн в проектах
- Как спрашивать помощи
- Самозванцы и Даннинг-Крюгер
- Тех долг
- Рефакторинг
- Изменяемость и неизменяемость
- Логирование
- Конфиги
- Знай и используй инструментарий
- Code review
- Локализуй проблему
- Задавай вопросы бизнесу
- Обучение
- Документация
- Баланс
- Модненький Agile
- Что всем от вас надо
- Касания с другими людьми
- Помогайте
- Обещания и профессиональная честность
- Мотивация vs Творчество vs Дисциплина
- Привычки
- Удалёнка
- Резюме
- Rroom
- О проекте Rroom, план работ
- О проекте Rroom, план работ
- Финальный проект
- Задание
- Задание
- Что дальше
- Что дальше
- Что дальше
Ссылка на тему: Хардкорная веб-разработка (Алексей Голобурдин)Ответов: 4 -
[Stepik] Разработка веб-приложений на Go (Илья Шаляпин)
11 май 2024
Описание
Курс затрагивает самые востребованные темы, для того чтобы начать писать REST API.
Программа курса:
Введение
Роутинг
Инструменты
JSON
Валидация данных
Обработка форм
Middleware
Шаблоны
Базы данных
Тестирование
Ссылка на тему: [Stepik] Разработка веб-приложений на Go (Илья Шаляпин)Ответов: 0 -
[Product University] Python и ИИ-технологии с нуля за 4 месяца. 12 проектов с помощью ChatGPT
10 май 2024
Почему сейчас?
Программировать теперь гораздо проще, чем раньше. ChatGPT и другие ИИ-инструменты совершили переворот. Они позволяют вам писать и переписывать целые куски кода, готовые SQL-запросы и приложения и помогать обучаться с небывалой скоростью.
Теперь, все что вам нужно: умение сформулировать задачу на русском/английском языке и время/желание. Вот почему в основу этого курса легли 2 следующих подхода:
1. Использовать ChatGPT и других ассистентов по-максимуму, для того чтобы они вам помогали писать и исправлять готовые куски кода.
2. Отталкиваться от готовых работающих бизнес-приложений и примеров. Вы не будете писать с нуля строчку за строчкой, скорее наоборот: будете брать готовые проекты и библиотеки и видоизменять их для себя.
12 проектов, которые вы сделаете за 4 месяца
С нуля на Python, с подсказками от ChatGPT, без каких-либо начальных знаний программирования
1. Telegram-бот на Python с GPT (аналог ChatGPT)
2. Парсинг сайтов и каналов
3. Поиск недооцененных квартир на ЦИАН
4. Автономные агенты
5. Построение полного процесса получения и обработки данных с реального онлайн-ресурса
6. Построение системы распознавания рукописных чисел на чистом NumPy с помощью модели k ближайших соседей
7. Whisper. Преобразование текста в аудио и транскрибация
8. Анализ цен на криптовалюты с помощью Pandas и Matplotlib
9. Обучение нейросети на табличных данных для задачи классификации
10. Сегментация изображений ковида
11. Выделение именованных сущностей для автоматизации документооборота
12. Построение рекомендательной системы на основе нейросетей
Для кого курс?
Аналитики данных и бизнес-аналитики
Знание этих инструментов и технологий может помочь вам эффективнее анализировать и обрабатывать данные, создавать отчеты и прогнозы, а также использовать машинное обучение для решения задач.
Предприниматели и руководители
Вы научитесь использовать знания для оптимизации своих бизнес-процессов, повышения эффективности команды и внедрения инноваций в свои продукты и услуги.
Маркетологи
Особенно для тех, кто работает с большими объемами данных, знание Python и SQL может помочь в анализе и оптимизации маркетинговых кампаний, а также в автоматизации рутинных задач.
Продакт менеджеры
Знание технологий поможет вам лучше понимать возможности и ограничения инструментов и платформ, используемых для разработки и поддержки продуктов.
Начинающие специалисты в области ИИ и машинного обучения
Курс даст вам основы, необходимые для дальнейшего изучения и развития в этой сфере.
Финансовые аналитики и экономисты
Вы сможете использовать Python и SQL для анализа финансовых данных, создания прогнозов и оптимизации финансовых моделей.
Ссылка на тему: [Product University] Python и ИИ-технологии с нуля за 4 месяца. 12 проектов с помощью ChatGPTОтветов: 3 -
[mo-ti] Курс по изучению HTML+CSS для применения в Tilda
8 май 2024
Научитесь стилизовать стандартные блоки, создавать свои эффекты и разбираться в коде
Программа курса
- Суть HTML, его особенности, назначение и функционал.
- Разбор структуры web страницы
- Изучение текстовых тегов, особенности заголовочных секций H, различные атрибуты. Структура текстовых ссылок, способы создания якорей и различных списков из текста
- Как формируется изображение. Отличие обычного изображения от фонового. атрибуты изображений и их ссылки
- Изучение вёрстки таблиц, их формирования, настройки и особых нюансов с данным элементом
- Постигаем основы данных элементов, учимся задавать параметры и формировать ссылки. Разбираемся в атрибутах и характеристиках каждого из них
- Разбираемся со структурой форм и типов её полей. Особенности формирования и способы применения в реальных проектах
- Суть появления CSS, смысл применения, ключевые возможности и особенности
- Учимся находить и обращаться к нужному элементу правильно и легко
- Изучаем возможности этого мощного инструмента разработчика. Учимся инспектировать код и вносить правки прямо на опубликованной странице
- Оформляем текст разными стилями, задаём особые параметры для изменения его внешнего вида
- Разбираем различные границы у блоков, способы их создания и формирования, погружаемся в мир эффектов теней блока
- Разбираемся с возможностями фона у элементов, множеством его свойств и исключительных особенностей. Способы применения в реальных проектах
- Постигаем различные события для взаимодействия с пользователем. Способы создания дополнительных элементов и манипуляции с ними
- Учимся задавать сложные градиенты любого элементу и разбираться в комбинации фильтров визуальной стилистики, их применения и особенности на реальной страничке
- Да, их куда больше, чем просто пиксели и проценты. Освоим и остальные особенные величины и способы их применения в реальной работе
- Рассмотрим, что такое медиазапросы и как их применять. Как делать шаговое изменение определённых свойств элемента
- Изучим мир анимации, способы её создания и применения к различным элементам. Особенности и нюансы при работе с каждым свойством
- Разберёмся в свойствах шрифта, в тех свойствах, что мы можем изменить, научимся переопределять шрифт различным элементам и даже подключать его на страничку при помощи CSS
- Погрузимся в мир построения структурных сеток, изменения текущих и перераспределения элементов на странице, изменения их порядка, положения, размеров и расположения. Изучим этот гибкий инструмент
- Live T-CSS — это сборник пополняющихся видео с ответами на вопросы пользователей, которые решаются на CSS. Там можно будет найти много полезного и интересного, пробовать повторить реализацию и лучше понимать, что можно сделать, благодаря полученным знаниям
Ссылка на тему: [mo-ti] Курс по изучению HTML+CSS для применения в TildaОтветов: 0 -
[Нетология] Разработчик на C++. Профессия + специализация (Дмитрий Фёдоров, Максим Бакиров)
8 май 2024
Преподаватели: Дмитрий Фёдоров, Максим Бакиров, Михаил Смирнов, Павел Пронин, Владислав Хорев, Амиран Мстоян, Михаил Марков, Иван Поляков, Антон Ласточкин, Владислав Панченко, Евгений Белоусов, Вадим Калашников
С++ входит в топ-3 языков программирования, позволяет создавать сложные IT-продукты с высокой производительностью и нагрузкой.
Изучив этот язык, вы сможете работать над самыми амбициозными проектами: от разработки видеоигр и операционных систем до создания роботов и умных гаджетов.
Мы поможем разобраться в С++, даже если вы никогда не программировали
Программа построена по принципу от простого к сложному — чтобы вы постепенно погружались в профессию. Рядом всегда будут эксперты и координаторы: они ответят на вопросы и помогут разобраться со сложными темами.
Изучение языка требует вовлечённости, но количество и масштаб возможностей позволяет программистам на С++ в среднем получать больше других разработчиков.
Чему научитесь:
- Понимать паттерны проектирования своего и чужого кода
Получите шаблоны проектирования и научитесь их применять
- Разрабатывать ПО с применением популярных фреймворков
Создадите графический интерфейс и научитесь писать сетевые приложения с использованием библиотеки QT
- Работать с базами данных
Освоите SQL и научитесь извлекать, преобразовывать, загружать данные
- Работать с алгоритмами и структурами данных
Освоите навыки выстраивания алгоритмов, а главное — научитесь мыслить как программист
- Работать с современными игровыми движками
Создадите и настроите проект на базе фреймворка Unreal Engine 5
- Создавать многопоточные программы и обходить блокировки
Сможете распараллеливать вычисления и определять время исполнения кода
- Игра «Жизнь»
Реализуете консольный вариант классической игры. На клеточном поле проведёте эволюцию поколений и визуализируете результаты
- Симулятор гонок
Разработаете гибкий и расширяемый прототип симулятора гонок. Сможете легко добавить новый тип транспортного средства или трассы
- Парсер INI-файлов
Разберётесь в формате INI-файлов и создадите свой класс, который сможет считывать такие файлы и разбирать их в удобные структуры языка
- Потокобезопасная очередь
Реализуете шаблонную очередь, которая гарантирует безопасную работу с данными при одновременном взаимодействии из нескольких потоков программы
- Инспектор аэропортов
Создадите приложение, которое позволяет просматривать расписание авиарейсов и оценивать загруженность аэропортов
- Датчик движения
Спроектируете и разработаете датчик движения, который будет выполнять полезную работу при срабатывании
- 3D-видеоигра
Познакомитесь с созданием игр на Blueprints и C++. Напишете свою первую игру на Unreal Engine 5
- Поисковая система для сайта
Разработаете аналог поисковой строки Google, Яндекс или Yahoo и научитесь получать данные с сайтов, строить поисковые индексы и релевантные выдачи результатов
17 месяцев, 94 часа теории, 522 часа практики
- Основы программирования на C++ (Проект: игра «Жизнь»)
- Система контроля версий Git
- Базовое программирование на C++ (Проект: симулятор гонок)
- Алгоритмы и структуры данных
- Продвинутое программирование на C++ (Проект: парсер INI-файлов)
- Работа с базами данных
- Многопоточное и асинхронное программирование (Проект: потокобезопасная очередь)
- Шаблоны проектирования в C++
- Кроссплатформенная разработка на Qt (Проект: приложение «Инспектор аэропортов»)
- Разработка умных гаджетов (IoT) (Проект: датчик движения для умного дома)
- Разработка видеоигр на Unreal Engine 5 (Проект: 3D-видеоигра «LeaveMeAlone»)
- Английский язык для начинающих разработчиков
- Введение в информационные технологии
- Карьера разработчика на С++
Вы разработаете поисковую систему для сайта — аналог поисковой строки Google, Яндекс или Yahoo. Научитесь получать данные с сайтов, строить поисковые индексы и релевантные выдачи поисковых результатов. Так вы закрепите навыки, которые приобрели на курсе.![[IMG]](proxy14p.php?image=https%3A%2F%2Fi123.fastpic.org%2Fbig%2F2024%2F0508%2F20%2F144c4a71f60e6730d2b99325c9393220.jpg&hash=2adc2b7da19d9eb194973f43e142aed0&v=4)
Ссылка на тему: [Нетология] Разработчик на C++. Профессия + специализация (Дмитрий Фёдоров, Максим Бакиров)Ответов: 0 - Понимать паттерны проектирования своего и чужого кода
-
[Skypro] Excel для работы с нуля (Марк Сысоев, Данила Елистратов)
6 май 2024
Получите навык работы с таблицами, ускорьте свою работу и зарабатывайте на фриланс-проектах.
Кому будет полезен курс?
- Молодым специалистам. Научитесь работать с большим массивом данных, быстро анализировать и визуализировать
- Менеджерам и аналитикам. Узнаете о новых функциях Excel, научитесь строить понятные интерактивные отчеты, сможете решать сложные задачи
- Руководителям компаний. Сможете самостоятельно анализировать данные и на этой основе принимать более точные эффективные решения для бизнеса
- Работать с продуктовыми и бизнес-метриками, рассчитывать комплексные метрики
- Объединять данные из разных выгрузок, делать отчеты для любых целей, строить графики и видеть тренды
- Собирать, обрабатывать и анализировать данные в Excel
- Понимать бизнес-задачи и переводить их в план действий
- Настраивать фильтры, работать с формулами
- Продумывать многоступенчатые решения для анализа
- Извлекать инсайты для бизнеса, находить закономерности и делать прогнозы
Авторы курса:1. Введение в Excel
Основы Excel
Обработка данных в Excel
Агрегация данных в Excel
2. Экономика
Базовая экономика
Когортный анализ
Переход к юниту
3. Юнит-экономика
Основы юнит-экономики
Работа с нестандартными данными
Визуализация в Excel
Калькулятор юнит-экономики
4. Google Sheets
Переход из Excel в Google Sheets
Дашборд в Google Sheets
5. Логика
Необходимые и достаточные условия
Логические операторы
Применение логики в бизнесе
6. Основы бизнеса
Бизнес-гипотезы
Бизнес-метрики
Коммуникации в командах
Приоритизация и сторителлинг
7. Основы теории вероятностей
Основы теории вероятностей
Условная вероятность
Комбинаторика
8. Статистика
Введение в статистику
Дискретные распределения
Непрерывные распределения
Параметрические гипотезы
Марк Сысоев - руководитель направления аналитики в «Яндекс.Практикуме», бывший руководитель направления аналитики в Skyeng.
Данила Елистратов - руководитель факультета аналитики в Skypro. Работал аналитиком в Home Credit Bank, Nielsen и «Ситимобиле».
Ответов: 0 -
[АИС] ClickHouse для дата инженеров
5 май 2024
Программа ориентирована на получение навыков в настройке и эксплуатации системы БД ClickHouse, использовании возможностей столбцовой системы управления базами данных, а также для быстрой и легкой обработки больших данных.
Целевая аудитория
Дата инженеры, разработчики, архитекторы БД, аналитики данных, Data Scientist специалисты
Программа курса / модули
- Введение.
- Область применения ClickHouse, отличие от других СУБД.
- Ограничения столбцовой системы.
- Отличительные возможности ClickHouse.
- Начало работы с ClickHouse.
- Запуск и подключение.
- Системные требования.
- Объекты баз данных.
- Интерфейсы доступа к ClickHouse.
- Клиентские библиотеки.
- Десктоп версия.
- Полезные практики в работе с ClickHouse.
- Анализ и оптимизация запросов. Оптимизация структуры таблиц.
- Итоговая аттестация.
Ссылка на тему: [АИС] ClickHouse для дата инженеровОтветов: 0
Страница 28 из 34