Обзор и урок tmux — это терминальный мультиплексор, позволяющий запускать в одном окне сразу несколько терминалов, удобно между ними переключаться, сохранять запущенные в нём процессы, всю историю и контекст. Крутейшая штука как для процесса разработки на локальной машине, так и для работы на удалённом сервере.
0:00 3 ночи, всем привет!
0:59 Что такое tmux и терминальный мультиплексор?
2:00 Сессии tmux
3:22 Про установку tmux
3:43 Запуск сессии tmux, работа с панелями и окнами в нём
6:10 Отсоединение от сессии и возврат в неё
7:30 Настройка tmux
9:05 Выводы
/****************** about ******************/
Меня зовут Алексей Голобурдин, я программирую с 2004 года и на этом канале делюсь своим опытом. Я основатель и руководитель компаний:
— Диджитализируй digitalize.team, разрабатываем сложные IT системы для бизнеса;
— Salesbeat salesbeat.pro, комплексный модуль доставки для интернет магазинов.
Если у вас есть проект на разработку, пишите нам на hi@digitalize.team.
С другими предложениями, а также если вам нужна одна или несколько индивидуальных консультаций/уроков по разработке (3000 руб/час), пишите мне на alexey@salesbeat.pro.
Резервное копирование баз данных — всегда актуально. В этом видео мы покажем, как написать два Python скрипта, один снимает полный дамп с PostgreSQL, затем архивирует, шифрует и загружает его в Яндекс Object Storage (S3-совместимое хранилище); а второй — выкачивает последний по времени дамп базы из хранилища, расшифровывает его, распаковывает и накатывает на БД.
Исходники — github.com/alexey-goloburdin/postgres-s3-backuper (прочтите описание, код из видео и в репозитории несколько отличаются).
Яндекс утилиту WAL-G здесь не используем, только стандартный pg_dump. Возможно, в следующих видео расскажем о WAL-G:)
0:00 О скриптах резервного копирования PostgreSQL
0:30 О Яндекс Object Storage / S3
1:07 Обзор скрипта бэкапа
4:44 Шифрование бэкапов с openssl
5:40 Продолжение обзора скрипта бэкапа
10:48 Emoji и разноцветный текст в консоли
11:45 Просмотр всех бэкапов в браузере
12:08 Обзор скрипта автоматической распаковки бэкапа в PostgreSQL
18:45 Выводы
/****************** about ******************/
Меня зовут Алексей Голобурдин, я программирую с 2004 года и на этом канале делюсь своим опытом. Я основатель и руководитель компаний:
— Диджитализируй digitalize.team, разрабатываем сложные IT системы для бизнеса;
— Salesbeat salesbeat.pro, комплексный модуль доставки для интернет магазинов.
Если у вас есть проект на разработку, пишите нам на hi@digitalize.team.
С другими предложениями, а также если вам нужна одна или несколько индивидуальных консультаций/уроков по разработке (3000 руб/час), пишите мне на alexey@salesbeat.pro.
Поднимаем с нуля чистый Debian сервер на Яндекс.Облаке (не принципиально — аналогичная настройка будет на Selectel, OVH или любом другом сервисе). Устанавливаем и настраиваем Nginx, Gunicorn, Django приложение, PostgreSQL, Supervisor, а также всю необходимую обвязку для этого. Покажем, как настроить Debian сервер для Django (или любого другого Python WSGI приложения) и связать все компоненты воедино.
0:00 Цели видео
0:48 Создаём сервер на Яндекс Облаке
3:36 Заходим на сервер по ssh
4:31 Про инструкции
5:02 Обновление репозиториев
5:24 Установка минимально необходимого софта
6:23 Настраиваем SSH и локали
8:03 Ставим основной необходимый софт, его обзор
10:06 Установка Oh My zsh
11:55 Установка Python из исходников
16:10 Поднимаем чистый Django проект
21:00 Настройка Gunicorn
24:31 Настройка Nginx
26:36 Настройка supervisor
31:20 Ставим PostgreSQL
34:25 Итоги
Шаблон Django для быстрого начала разработки и быстрого разворачивания на сервере — youtu.be/uXTZMurM0FY
/****************** about ******************/
Меня зовут Алексей Голобурдин, я программирую с 2004 года и на этом канале делюсь своим опытом. Я основатель и руководитель компаний:
— Диджитализируй digitalize.team, разрабатываем сложные IT системы для бизнеса;
— Salesbeat salesbeat.pro, комплексный модуль доставки для интернет магазинов.
Если у вас есть проект на разработку, пишите нам на hi@digitalize.team.
С другими предложениями, а также если вам нужна одна или несколько индивидуальных консультаций/уроков по разработке (3000 руб/час), пишите мне на alexey@salesbeat.pro.
Этим видео начинаем серию выпусков, в которых будем читать исходники популярных и не очень Python open source библиотек. Начинаем с библиотеки Loguru, предназначенной для простого логирования в Python.
/****************** about ******************/
Меня зовут Алексей Голобурдин, я программирую с 2004 года и на этом канале делюсь своим опытом. Я основатель и руководитель компаний:
— Диджитализируй digitalize.team, разрабатываем сложные IT системы для бизнеса;
— Salesbeat salesbeat.pro, комплексный модуль доставки для интернет магазинов.
Если у вас есть проект на разработку, пишите нам на hi@digitalize.team.
С другими предложениями, а также если вам нужна одна или несколько индивидуальных консультаций/уроков по разработке (3000 руб/час), пишите мне на alexey@salesbeat.pro.
Небольшой влог с мини обзором — купил MacBook Air на процессоре Apple M1, он же Apple Silicon и ставлю на него необходимый для разработки софт. Проверяем Python, PostgreSQL, Django, Brew, PyCharm, Linux/Unix инструменты htop, tree, tmux, grep и др. Делюсь первыми впечатлениями о новом поколении макбуков.
0:00 Почему решил обновиться на MacBook Air M1?
2:33 Покупка
2:57 Распаковка
4:55 Почему надо покупать у официалов
5:34 Первый взгляд, первая настройка операционки
9:01 Результаты настройки софта, что нового, выводы
/****************** about ******************/
Меня зовут Алексей Голобурдин, я программирую с 2004 года и на этом канале делюсь своим опытом. Я основатель и руководитель компаний:
— Диджитализируй digitalize.team, разрабатываем сложные IT системы для бизнеса;
— Salesbeat salesbeat.pro, комплексный модуль доставки для интернет магазинов.
Если у вас есть проект на разработку, пишите нам на hi@digitalize.team.
С другими предложениями, а также если вам нужна одна или несколько индивидуальных консультаций/уроков по разработке (3000 руб/час), пишите мне на alexey@salesbeat.pro.
Знать:
— Концепция и принципы реляционной модели данных
— Методы проектирования баз данных
– Методику построения запросов
— Подходы к профилированию производительности
– Методику оптимизации запросов к БД MySQL
– Подходы к администрированию хранилища данных на основе БД MySQL
— Основы архитектуры современных СУБД
– Основы и границы применимости реляционной модели
– Основные типы нереляционных баз данных, а также область их применимости при построении хранилищ данных
Уметь:
— Проектировать концептульные и логические схемы для высоконагруженных баз данных
— Строить запросы на выборку и модификацию данных к реляционным СУБД
– Профилировать производительность хранилища данных на основе БД MySQL
— Оптимизировать запросы и структуру реляционной БД в целях повышения производительности
— Выполнять запросы к нереляционной документоориентированной СУБД
— Разрабатывать прикладные программы, осуществляющие взаимодействие с БД
— О КАНАЛЕ:
Официальный канал образовательных проектов Mail.Ru Group
Сегодня хочу рассказать о том, почему мы стратегически выбрали Python как основной язык на ближайшие годы, чем он хорош и чисто технологически, и в проектном плане с точки зрения наличия специалистов и компаний, использующих технологию.
Тема изначально очень холиварная, но у меня нет задачи сказать, что все остальные языки плохие, у каждого ЯП есть свои плюсы и выбирать инструмент надо под задачу. Но! Если вам нужен 1 язык, который вы хотите изучить или с которого хотите начать, я считаю, что Python — лучший выбор.
Поговорим о принципах разработки Python, о продуманной архитектуре Python, его академичности, быстродействии и выразительности.
0:00 О чем будем говорить в видео
1:27 Языки, на которых я писал, и почему выбрал Python
2:31 Причины выбрать тот или иной язык программирования
3:19 Средний PHP vs Python разработчики
4:22 Академичность, лаконичность и красота Python
6:05 Продуманность архитектуры Python на примере len
10:56 Композиция вместо наследования
12:04 Каждый аспект языка распространяется на весь язык
12:59 Python медленный?
14:15 Выводы
Меня зовут Алексей Голобурдин, я программирую с 2004 года и на этом канале делюсь своим опытом. Я основатель и руководитель компаний:
— Диджитализируй digitalize.team, разрабатываем сложные IT системы для бизнеса;
— Salesbeat salesbeat.pro, комплексный модуль доставки для интернет магазинов.
Если у вас есть проект на разработку, пишите нам на hi@digitalize.team.
С другими предложениями, а также если вам нужна одна или несколько индивидуальных консультаций/уроков по разработке (3000 руб/час), пишите мне на alexey@salesbeat.pro.
Уже в октябре 2019 выходит релиз Python 3.8, а значит самое время познакомиться с его новыми фичами! Заодно обсудим уход Гвидо ван Россума с поста Великодушного Пожизненного Диктатора Python, который произошёл в процессе обсуждения новой функциональности версии 3.8.
0:00 Python 3.8 уже здесь!
0:29 Walrus оператор и уход Гвидо
3:00 Строго позиционные аргументы
4:00 Изменения в f-string
4:55 Новые типы в typing — TypedDict
6:06 Декоратор final
7:12 Получение версии библиотек в рантайме
8:07 Итоги
Меня зовут Алексей Голобурдин, я программирую с 2004 года и на этом канале делюсь своим опытом. Я основатель и руководитель компаний:
— Диджитализируй digitalize.team, разрабатываем сложные IT системы для бизнеса;
— Salesbeat salesbeat.pro, комплексный модуль доставки для интернет магазинов.
Если у вас есть проект на разработку, пишите нам на hi@digitalize.team.
С другими предложениями, а также если вам нужна одна или несколько индивидуальных консультаций/уроков по разработке (3000 руб/час), пишите мне на alexey@salesbeat.pro.
Что такое LaTeX? Это потомок и наследник профессиональной издательской системы, разработанной в 1970х Дональдом Кнутом, автором фундаменального труда «Искусство программирования». К слову, «Искусство программирования» было признано одной из 12 лучших физико-математических монографий 20го века наряду с трудами по теории относительности Альберта Эйнштейна.
LaTeX позволяет из простых текстовых файлов с расширением .tex, содержащих несложную семантику наподобие Markdown или даже HTML (с оговорками, конечно), получать PDF с профессиональной типографикой уровня печатной книги из издательства. Круто? Не то слово! Посмотрим на LaTex подробнее.
0:00 О TeX и LaTeX
1:43 Как выглядят PDF, подготовленные в LaTeX?
2:40 Краткая история LaTeX
3:24 Установка необходимых инструментов
5:33 Обзор TeXstudio и синтаксиса LaTeX
7:30 Главы, заголовки, оглавление
8:53 Форматирование текста, списки, изображения
11:41 Ссылки
13:09 Работа c LaTeX в vim и в консоли
14:02 Итоги
/****************** about ******************/
Меня зовут Алексей Голобурдин, я программирую с 2004 года и на этом канале делюсь своим опытом. Я основатель и руководитель компаний:
— Диджитализируй digitalize.team, разрабатываем сложные IT системы для бизнеса;
— Salesbeat salesbeat.pro, комплексный модуль доставки для интернет магазинов.
Если у вас есть проект на разработку, пишите нам на hi@digitalize.team.
С другими предложениями, а также если вам нужна одна или несколько индивидуальных консультаций/уроков по разработке (3000 руб/час), пишите мне на alexey@salesbeat.pro.
Лекция читается в рамках образовательного проекта «Технопарк Mail.ru Group» при МГТУ им.Баумана.
Описание лекции:
Лекция посвящена СУБД MySQL и ее сравнению с PostgreSQL.
Рассматриваются следующие темы:
— Архитектура MySQL
— Подсистемы хранения MySQL
— Репликация в MySQL
— Настройка MySQL
— Проблемы MySQL
— Достоинства MySQL
Хронометраж:
00:00:05 О теме лекции
00:01:09 Архитектура MySQL
00:02:08 Архитектура MySQL: хранилища объектов
00:04:22 Подсистемы хранения: MyISAM
00:06:52 Подсистемы хранения: InnoDB
00:08:30 Подсистемы хранения: Memory
00:09:53 Подсистемы хранения: критерии выбора
00:11:51 Подсистемы хранения: надежность
00:12:05 Другие подсистемы хранения
00:12:57 Подсистемы хранения: когда какую использовать / практические примеры
00:14:42 Проблемы MySQL: не транзакционный DDL
00:16:27 Проблемы MySQL: дорогой ALTER TABLE
00:20:00 Проблемы MySQL: особенности выборки данных
00:23:02 Проблемы MySQL: хранилище и лог транзакций существуют за пределами «движка»
СУБД
00:24:55 Репликация в MySQL: режимы репликации / проблемы репликации в MySQL
00:31:16 Репликация в MySQL: другие особенности
00:33:30 Репликация в MySQL: хрупкая репликация (пример проблемного запроса)
00:35:56 Ответы на вопросы по хранилищам MySQL
00:39:00 Архитектура MySQL: особенности планировщика запросов
00:41:19 Планировщик запросов: гарантированно плохие запросы
00:43:57 Проблемы MySQL: отличие между равенством и конструкцией IN в запросе выборки
00:47:08 Планировщик запросов: DELETE (стандартный / специфичный синтаксисы)
00:49:58 Проблемы MySQL: AUTO_INCREMENT
00:54:09 Проблемы MySQL: TIMESTAMP vs DATETIME
01:00:20 Проблемы MySQL: операция UPDATE не соответствует стандарту SQL92
01:01:33 Проблемы MySQL: lower_case_table_names
01:05:13 Как я познакомился с MySQL
01:08:53 Достоинства MySQL: секционирование
01:11:10 Достоинства MySQL: COLLATIONS
01:17:18 Достоинства MySQL: LIBSLAVE
01:18:52 Настройка MySQL: базовые параметры / кэш MyISAM
01:20:21 Настройка MySQL: размер блока ключей key_cache_block_size
01:21:26 Настройка MySQL: кэш InnoDB
01:27:58 Настройка MySQL: ввод / вывод в MyISAM
01:29:38 Настройка MySQL: ввод / вывод в InnoDB
01:33:33 Критерии выбора СУБД и проблемы миграции
01:36:26 Проблемы MySQL: необычайно долгий дамп
01:37:01 Ответы на вопросы по пройденному материалу: проблемы миграции
01:41:59 Причины миграции с MySQL на PostgreSQL: пример из практики
01:46:33 Проблемы MySQL: MYSQLDUMP
01:51:32 Проблемы MySQL: нелогичное выполнение некоторых запросов — WARNING vs ERROR
02:03:30 Проблемы MySQL: нелогичное выполнение некоторых запросов — TIMESTAMP
02:09:41 Проблемы MySQL: нелогичное выполнение некоторых запросов — GROUP BY
— О КАНАЛЕ:
Официальный канал образовательных проектов Mail.Ru Group