Результати пошуку
ITVDN: курси програмування
Відеокурси з
програмування
Підписка

300+ курсів за популярними IT-напрямками

Вибери свою IT спеціальність

Підписка
Підписка

300+ курсів за популярними IT-напрямками

Результати пошуку за запитом: c
Предисловие к курсу "Шаблоны проектирования"
<p>Объектно-ориентированная программная система состоит из множества объектов, что находятся в определенных отношeниях и связях друг с другом. Данный курс научит Вас как прaвильно проeктировать свои прогрaммные системы для плaтформы .Net, прaвильно подбирать и использовать порождающие, структурные и поведенческие шаблоны проектирования, описанные в труде &laquo;Приемы объектно-ориентированного проектирования. Цели, которые перед собой стaвили aвторы книги &laquo;Design Patterns via C#&raquo;: рaзъяснить и в хорошем смысле более &laquo;просторечиво&raquo; прeдоставить опрeделения и положeния, предстaвленные в книгe &laquo;Приeмы объектно-ориeнтированного проeктирования. Паттeрны проeктирования&raquo;.</p>
Вітаємо переможців Шахової IT Арени для програмістів

Автор: Редакція ITVDN

7 июля состоялся финал Шахматной IT Арены для программистов. Соревнования проходили в 4 тура, всего было 184 участника. Задания можно было решать на одном из 5 языков программирования -  Python, C#, Java, C++ или Pascal. В каждом туре были отмечены победители, выполнившие задания с максимальными баллами. Сегодня мы поздравляем победителей 4 тура. Ими стали: Богдан Зарицкий Владимир Шустов Олег Деміхов Александр Восколуп (решил задания на двух языках – Java и Python!) Ekaterina Zapryagaeva Победители 4 тура получат в подарок подписку ITVDN на 3 месяца с доступом ко всем курсам, представленным в каталоге. Еще четверо участников, которые выполнили все задания 4-го тура, получают в подарок  1 видео курс на свой выбор. Имена участников: Maksym Sukhorukov, Михаил Громов, Artyko, Роман Брага. Всем на емейл, указанный при регистрации, будут отправлены письма с промо-кодами и дополнительной информацией. А теперь самое главное! Кто же стал победителем соревнований по итогам 4 туров? Вот как выглядит Топ-10 турнирной таблицы: Богдан Зарицкий -  С#, 3180 баллов Олег Деміхов – C#, 3050 баллов Владимир Шустов - Python, 3040 баллов Artyko - Python, 2970 баллов Maksym Sukhorukov - Python, 2930 баллов Ekaterina Zapryagaeva - С#, 2850 баллов Александр Восколуп - Python, 2820 баллов Александр Восколуп – Java, 2820 баллов Роман Брага -  С#, 2300 баллов Михаил Громов - С#, 2280 баллов Абсолютными победителями в финале стали Богдан Зарицкий Олег Деміхов Владимир Шустов Победители смогут выбрать себе в подарок хорошую книгу по программированию. Мы свяжемся с каждым из победителей по электронной почте. Мы благодарим всех участников соревнований, а также Евгения Волосатова, инициатора, вдохновителя, бессменного ведущего, а главное создателя платформы для тренировки навыков программирования с возможностью проверки решений на 5 языках за возможность проведения Шахматной IT Арены для программистов. Оставайтесь на ITVDN!
Вітаємо переможців С# Марафона

Автор: Редакція ITVDN

Сегодня, 27 февраля 2017 года, завершился двухнедельный C# Марафон. ITVDN благодарит всех участников соревнования. Марафон стал испытанием не только для вас, но и для нашей команды. Совместными усилиями были найдены ошибки и неоднозначности в заданиях и вариантах ответов. Все ошибки учтены и будут исправлены. Вы помогаете делать наш образовательный ресурс лучше и за это вам огромное спасибо! Итоги марафона не совсем такие, как предполагалось на старте. У нас есть 2 группы победителей вместо ожидаемых трех призовых мест. Минимальный разрыв в результатах участников второго тура марафона убедил нас наградить 10 лучших. Имена победителей C# Марафона: Скочко Богдан, 1400 баллов, 90 попыток, тест на 1000 баллов (TP24139904) Андрей Бондар, 1400 баллов, 90 попыток, тест на 1000 (TP01827773) Вацлав Матусевич, 1400 баллов, 90 попыток, тест на 1000 (TP29586781) Вячеслав Добронравов, 1400 баллов, 90 попыток, тест на 1000 (TP29240846) Геннадий Чурсов, 1400 баллов, 90 попыток, тест на 1000 (TP37697643) Софья Полтавская, 1400 баллов, 90 попыток, тест на 972(TP33730985 Толстиков Александр, 1400 баллов, 90 попыток, тест на 972 (TP43297413) Andrii Zhyla, 1400 баллов, 90 попыток, тест на 972 (TP79941789) Roman Kyznecov, 1400 баллов, 90 попыток, тест на 944 (TP32693699) Игорь Мотькин, 1400 баллов, 90 попыток, тест на 916 (TP55501110) Все 10 победителей марафона получат в подарок подписку на три месяца, а первые пятеро также могут выбрать себе один из подарков  - фирменную футболку ITVDN, брендированную настольную игру типа Jenga или фирменную чашку. Подарочные сертификаты на 3 месяца подписки будут отправлены победителям 28 февраля 2017 года на емейлы, указанные в регистрационной форме. Для вручения других подарков мы свяжемся с каждым победителем лично. Также все участники второго тура, которые на 100% выполнили задания и прошли тестирование с результатами не ниже 70%, получат индивидуальные промо-коды со скидкой 25% на подписку ITVDN. Поздравляем победителей C# Марафона!
Олександр Шевчук розповість про шаблони проектування на семінарі у НАУ

Автор: Редакція ITVDN

Александр Шевчук, ведущий тренер-консультант, сертифицированный тренер Microsoft, ведущий эксперт в области бизнес анализа, построения архитектуры информационных систем и управления IT проектами, а также автор книги "Шаблоны проектирования via C#" выступит на семинаре в НАУ. Дата: 29 апреля 2015 года Время: 15:30 (время киевское) Место: г.Киев, НАУ, 6 корпус, аудитория 200 На мероприятии Вы узнаете о том, что на самом деле означают шаблоны проектирования, для чего они нужны, как и зачем нужно их использовать и какие шаблоны проектирования являются наиболее часто используемыми и применимыми на практике. Обращаем ваше внимание на то, что также на семинаре будет проведена презентация книги "Шаблоны проектирования via C#" и рассказано об идее ее написания, а также о преимуществах и недостатках книги "Приемы объектно-ориентированного проектирования. Паттерны проектирования" на основании которой она была написана. Книга "Design Patterns via C#" была написала с той целью, чтобы помочь разработчикам просто и понятно разъяснить и донести определения и положения, из книги банды четырех, а так же привести практические и наглядные примеры на языке С#. Для всех желающих разработчиков книга уже доступна для скачивания на портале  ITVDN.com  бесплатно по адресу: http://itvdn.com/ru/patterns На семинаре у участников будет замечательная возможность познакомиться с Александром Шевчуком лично и задать интересующие вопросы. Спикер уделит достаточное внимание всем участникам и ответит на Ваши вопросы. Участие в семинаре для разработчиков совершенно бесплатно, но тем не менее обязательна предварительная регистрация. Поэтому, уведомляем Вас, если вы решили участвовать - спешите зарегистрироваться, так как количество мест ограничено. Зарегистрироваться на семинар можно на сайте организатора семинара - Учебного Центра CyberBionic Systematics http://edu.cbsystematics.com/ru/education/freeitseminars
Вивчай «Алгоритми та структури даних» безкоштовно

Автор: Редакція ITVDN

Друзі, привіт! З 5 до 12 грудня ви маєте можливість безкоштовно пройти навчання за відеокурсом «Алгоритми та структури даних на C#». Курс «Алгоритми та структури даних на C#» охоплює такі теми: Оцінка ефективності алгоритмів — асимптотична складність, О-нотація, порівняння алгоритмів.  Однозв’язкові та двозв’язкові списки.  Динамічні масиви.  Стек (Stack) та черга (Queue).  Множини (Set) — об'єднання, перетин, різниця, симетрична різниця.  Алгоритми сортування — вибірка, вставка, злиття, Timsort.  Хеш-таблиці — принцип роботи, хеш-функції, обробка колізій.  Дерева — бінарне дерево пошуку, АВЛ-дерево, балансування.  Графи — представлення, пошук у глибину, пошук у ширину, алгоритм Дейкстри, алгоритм Флойда-Уоршелла, топологічне сортування.  Динамічне програмування — базові прийоми, задачі про рюкзак, оптимальний маршрут.  Кожне заняття — це баланс між теорією та практикою, де ви не просто вивчаєте алгоритми, а й навчаєтеся застосовувати їх у реальних завданнях. Завдяки цьому курсу ви зможете створювати оптимальні рішення, які працюють як годинниковий механізм. Після закінчення курсу ви можете пройти онлайн тестування і отримати іменний сертифікат, який буде підтвердженням ваших знань. Автор курсу Зінов’єва Анастасія, .NET Developer в компанії Plarium, Польща. Тривалість Курс складається з 10 відеоуроків загальною тривалістю 5 години 14 хвилини. Доступ до курсу надається на 10 днів. Чого ви навчитеся на даному курсі: Оцінювати час виконання алгоритмів та ефективно їх оптимізувати. Розуміти структури даних — від стеків і черг до дерев та хеш-таблиць. Реалізовувати популярні алгоритми, як-от пошук найкоротшого шляху чи сортування Timsort. Розв'язувати складні завдання — Ханойські вежі, комівояжер, динамічне програмування. Попередні вимоги Для тих, хто має базові знання C# і прагне підняти свої навички на новий рівень, створюючи потужні рішення.
Чорна п'ятниця на ITVDN. Великі знижки на IT навчання

Автор: Редакція ITVDN

Встречайте время грандиозного падения цен! Мы знаем, что вы его ждали. C 25 по 30  ноября на ITVDN  - Черная пятница! Большие скидки на все пакеты подписки.   Что же выбрать? Если вы хотите иметь доступ ко всем видео курсам на ITVDN, выбирайте один из универсальных пакетов: “Стартовый”, на 3 месяца – 35 USD (вместо 49,99) “Базовый”, на 6 месяцев – 58 USD (вместо 89,99) “Премиум”, на 12 месяцев – 110 USD (вместо 169,99) Если вы хотите пройти обучение по определенной специальности, вы можете выбрать одну из 14 комплексных программ: Верстальщик сайтов FrontEnd Developer JavaScript Developer Angular Developer C# / .NET Developer Java Developer Python Developer PHP Developer Android Developer iOS Developer Unity / Game Developer ASP.NET Core Developer ASP.NET MVC Developer C++ Developer   Что входит в пакет по специальности:  пошаговый план обучения с нуля до уровня специалиста; видео курсы по выбранной специальности; учебные материалы, исходники программного кода, опорный конспект, презентации к урокам; интерактивный тренажер для формирования навыков написания кода; консультации с тренером; онлайн тестирование и сертификаты по всем технологиям; диплом по специальности в случае успешного финального тестирования после обучения. Подробности всех планов подписок по ссылке. Программирование само собой не изучится. Это труд. Но вы можете вдохновить и поддержать себя, купив подписку со скидкой во время акции!   Учитесь с друзьями! Если у вас есть друг, который хочет освоить IT-профессию или расширить свои познания в программировании, вы можете порадовать его – вручить подарочный сертификат с доступом ко всем видео курсам. Во время акции подарочные сертификаты также будут продаваться со скидками. Пусть ваше обучение будет легким и приятным на ITVDN!
Мови програмування 2026: зростання TypeScript і Rust та нові тренди ринку

Автор: Редакція ITVDN

Світ розробки програмного забезпечення змінюється швидше, ніж будь-коли. Якщо ще кілька років тому вибір технологій був переважно питанням особистих уподобань або корпоративних стандартів, то у 2026 році він дедалі більше визначається вимогами до безпеки, масштабованості та швидкості доставки продукту. На передній план виходять дві технології з різною філософією — TypeScript і Rust. Паралельно з ними активно зростають Go, Kotlin, Swift та кілька молодших, але перспективних гравців. Розглянемо, що відбувається з мовами програмування у 2026 році — і як ці зміни впливають на розробників, тестувальників та IT-команди. Глобальна аналітика: що кажуть звіти та індекси Щороку кілька великих індустріальних досліджень формують уявлення про реальну картину ринку. Серед них особливо виділяються опитування Stack Overflow, звіти GitHub Octoverse та індекс популярності мов від TIOBE. Узагальнена картина виглядає так: TypeScript демонструє стрімке зростання й уже випереджає JavaScript за кількістю активних комерційних проєктів. Rust кілька років поспіль утримує статус “найулюбленішої технології” серед розробників. Python залишається універсальним лідером за загальною кількістю користувачів, але саме TypeScript і Rust показують найцікавішу динаміку в професійному середовищі. Це важливий сигнал: ринок рухається від простої популярності до якості інструментів і довіри до технологій. TypeScript: професійна надбудова над JavaScript Технічно TypeScript не є окремою мовою програмування — це надмножина над JavaScript, яка додає статичну типізацію, інтерфейси та розширені можливості для побудови великих застосунків. Проте в професійній спільноті його дедалі частіше називають мовою програмування — через власну екосистему, синтаксичні можливості та незалежну роль у сучасних проєктах. Чому TypeScript так швидко став стандартом? статична типізація дозволяє знаходити помилки ще під час розробки великі команди легше підтримують складні кодові бази більшість сучасних фреймворків орієнтовані саме на TypeScript типізований код краще аналізується AI-інструментами У результаті TypeScript став ключовим інструментом для frontend-, full-stack-розробників і QA-інженерів, що працюють з автоматизацією веб-застосунків. Rust: безпека і продуктивність без компромісів Rust представляє інший підхід — системне програмування з акцентом на безпеку памʼяті без використання garbage collector. Серед ключових переваг: захист від memory-вразливостей на рівні компілятора продуктивність, порівнювана з C/C++ сучасний інструментарій і продумана екосистема Rust активно використовують у cloud-native сервісах, WebAssembly, blockchain-проєктах та високонавантажених backend-системах. Попри складніший поріг входу, більшість розробників, які освоїли Rust, не хочуть повертатися до альтернатив. Інші мови, що набирають обертів Окрім TypeScript і Rust, у 2026 році помітно зростають: Go — фаворит DevOps та хмарної інфраструктури. Kotlin — поступово витісняє Java в Android і заходить у backend. Swift — стабільна основа iOS-екосистеми. Julia, Zig, Elixir — нішеві рішення для науки про дані, low-level систем і розподілених застосунків. Про зрілі мови: C#, Java та Python нікуди не зникли Важливо не створювати хибного враження, що поява TypeScript і Rust означає занепад класичних мов. Насправді C#, Java та Python залишаються основою величезної частини світової розробки. Їхній розвиток перейшов у фазу зрілості: темпи зростання сповільнилися але обсяг існуючих систем — колосальний мільйони продакшн-проєктів продовжують підтримуватися саме на цих мовах Python домінує у data science, machine learning та автоматизації. Java і C# залишаються ключовими мовами enterprise-сектору, банківських систем і корпоративних платформ. Сумарно ці мови становлять левову частку всієї комерційної розробки у світі. Зростання TypeScript і Rust не означає витіснення C#, Java чи Python — це радше диверсифікація стеків: сучасні команди дедалі частіше комбінують зрілі мови з новішими інструментами залежно від задач. Чому рейтинги різні? Аналітичні платформи вимірюють різні речі: пошуковий інтерес, активність у репозиторіях або субʼєктивні оцінки розробників. Саме тому позиції мов відрізняються між рейтингами. Проте перетин усіх джерел показує чітку тенденцію: TypeScript і Rust стабільно входять до числа технологій, які активно обирають професійні команди. Практичні рекомендації для IT-фахівців Для розробників веб і full-stack: JavaScript + TypeScript backend і системні рішення: Rust або Go Для QA-інженерів TypeScript корисний для автоматизації тестування та інтеграційних сценаріїв у веб-проєктах. Для DevOps Go та Rust дедалі частіше стають основою для створення інструментів і мікросервісів. Для початківців Якщо ви тільки входите у веб-розробку, починати варто саме з JavaScript. Оптимальний шлях: спочатку JavaScript (синтаксис, async, DOM, базові концепції) потім TypeScript як інструмент професійного рівня для великих проєктів Висновок JavaScript залишається фундаментом сучасного вебу, а TypeScript став його професійним надбудовним стандартом. Rust формує нове покоління безпечного та продуктивного системного програмування. Водночас C#, Java та Python продовжують утримувати левову частку реального production-коду у світі. 2026 рік чітко показує: нові технології не замінюють старі — вони доповнюють їх. Для IT-фахівців це означає одне: сучасний стек — це комбінація перевірених мов і нових інструментів. А інвестуючи час у TypeScript, Rust та фундаментальні технології сьогодні, ви суттєво підвищуєте свою цінність на ринку завтра.
Новий відеокурс – Entity Framework Core Базовий

Автор: Редакція ITVDN

Якщо ви працюєте з C# і базами даних, то знаєте, що ефективне керування ними —  це must-have навичка для розробника. А якщо ще не знайомі з Entity Framework Core, саме час виправити це! Вийшов новий курс "Entity Framework Core Базовий", який допоможе швидко освоїти основи ORM і спростити роботу з базами даних у .NET-застосунках. Уявіть: ви пишете код на C#, а вся магія з базами даних відбувається без зайвих SQL-запитів. Саме для цього існує Entity Framework Core — кросплатформний фреймворк від Microsoft, який перетворює таблиці БД на зручні об’єкти та колекції. Забудьте про рутинне писання SQL — EF Core бере це на себе, дозволяючи працювати з даними так, ніби це просто шматок вашого коду. Цей курс — справжній must-have як для новачків, які хочуть нарешті зв’язати C# із SQL через ORM, так і для бувалих розробників, які прагнуть освіжити знання про EF Core та його останні фішки. Ось що вас чекає: Розберетеся, що таке ORM і коли він рятує. Навчитеся моделювати сутності в коді та пов’язувати їх із реляційною моделлю. Освоїте CRUD-операції (create, read, update, delete) без стресу. Познайомитеся з LINQ для крутих запитів до БД. Дізнаєтеся про міграції, щоб ваші моделі завжди були в актуальному стані. А ще — тонкощі типу відносин між сутностями (One-to-One, One-to-Many, Many-to-Many), підходи до спадкування (Table-per-Hierarchy, Table-per-Type тощо), жадібне/ліниве/явне зчитування даних і навіть трохи чистого SQL, якщо дуже захочеться. Автор курсу – Наурінський Юрій, .NET Tech Lead Курс складається з 15 відеоуроків загальною тривалістю 5 години 20 хвилини. Структура курсу: Поняття ORM. Знайомство з EF Core Обрання провайдера БД та підключення до нього. Початок роботи з EF Core Моделювання сутностей в EF Core. Частина 1: Конфігурація моделі Моделювання сутностей в EF Core. Частина 2: Використання особливостей Моделювання сутностей в EF Core. Частина 3: Відносини між сутностями Моделювання сутностей в EF Core. Частина 4: Наслідування в моделях Зворотня розробка. Міграції. Початкове наповнення даними Особливість EF Core: Відстеження_змін Зчитування сутностей. Частина 1: Теорія та використання LINQ Зчитування сутностей. Частина 2: Складні запити Зчитування сутностей. Частина 3: Завантаження пов’язаних сутностей Створення сутностей Оновлення сутностей Видалення сутностей Робота з сирим SQL Чого ви навчитеся на даному курсі: Основи ORM та їх переваги Як змоделювати сутності у C# та зв’язати їх із реляційною базою даних Як працювати з CRUD-операціями (створення, читання, оновлення, видалення) Використання LINQ для запитів до бази даних Як працювати зі зв’язками між сутностями: One-to-One, One-to-Many, Many-to-Many Використання міграцій для зручної підтримки структури БД Робота з Lazy, Eager та Explicit loading Як виконувати складні SQL-запити без виходу з EF Core Попередні вимоги Для новачків, які хочуть зрозуміти, як зв’язати C# з базами даних за допомогою ORM. Для досвідчених розробників, які хочуть розібратися з останніми можливостями EF Core. Дивіться перший урок у вільному доступі. Курс вже доступний на нашому сайті в повному обсязі – до кожного уроку є практичні завдання та опорний конспект. Якщо у вас є активна підписка, ви можете дивитися його прямо зараз.     
Великий розіграш подарунків з нагоди 20 тис підписників на CodeUA

Автор: Редакція ITVDN

Друзі, на YouTube-каналі CodeUA вже 20 тисяч підписників! Цей канал ми розвиваємо спільно з нашими друзями – навчальним центром CyberBionic Systematics і запрошуємо до співпраці всіх, хто хоче створювати якісний та доступний навчальний контент українською мовою. Ми вдячні вам за те, що дивитеся наші відео, і щоб розділити нашу радість із вами, влаштовуємо великий розіграш подарунків. 10 квітня о 16:00 на YouTube-каналі CodeUA ми розіграємо подарунки від двох проєктів – ITVDN та CyberBionic Systematics. Для визначення переможців буде використаний сервіс Random.org. Заявки приймаються до 11:00 10 квітня. Що розігруємо? Ви можете виграти подарункові сертифікати на пакети відео курсів з 4 спеціальностей, які користуються найбільшим попитом: FrontEnd Developer, Java Developer, C#/.NET Developer та Python Developer або пакет підписки Базовий. Frontend Developer – 44 курси, доступ на 7 місяців, вартість 104.99 USD. C#/.NET Developer – 55 курсів на 8 міс., вартість 119.99 USD. Java Developer – 29 курсів на 7 міс., вартість 104.99 USD. Python Developer – 19 курсів на 6 міс., вартість  89.99 USD. Пакет "Базовий" – доступ до 230+ відео курсів на 6 місяців, вартість 89.99 USD. Що входить в пакети підписки: Доступ до відео курсів на 6-8 місяців (залежно від обраного напрямку) Доступ до інтерактивних практикумів Вихідний код навчальних проектів Презентації, опорний конспект, ДЗ Перевірка домашніх завдань Консультації з тренером Онлайн тестування та сертифікати за пройденими курсами Доступ до нових курсів, які виходитимуть під час дії підписки Детальніші описи кожного пакету дивіться за посиланнями вище. Переможці розіграшу зможуть активувати свої подарункові сертифікати протягом року з моменту їх отримання. Навчання за відео курсами – найдоступніший і заодно дуже зручний формат. Вчитися можна будь-де і будь-коли, потрібен тільки комп'ютер і підключення до інтернету. Дивіться відео уроки і вебінари, робіть практичні завдання, отримуйте сертифікати і ви досягнете успіху! Умови участі в розіграші Для того щоб взяти участь у розіграші, потрібно виконати дві прості умови: Зробити пост в одній із соціальних мереж (Facebook, LinkedIn, Twitter, Instagram чи TikTok) з посиланням на будь-яке відео/плейлист з YouTube-каналу CodeUA, або на статтю/вебінар/курс на ITVDN. Переконайтеся, що ваша сторінка відкрита, аби ми могли перевірити умови виконання цього пункту. Заповнити Анкету учасника. Найцікавіше на CodeUA На CodeUA ви знайдете курси з популярних мов програмування та технологій, а також уроки англійської, записані українською мовою: C# Стартовий Python Стартовий HTML & CSS Стартовий Java Стартовий Git + GitLab Business English English IT Курси ідеально підходять новачкам, котрі до цього не мали ніякого відношення до програмування та ІТ. Крім цього, на CodeUA ви знайдете вебінари-практикуми з Python та C#/.NET розробки, огляди ІТ-спеціальностей, корисні вебінари з пошуку роботи в ІТ та успішного проходження співбесід, а також інші цікаві відео матеріали. Про подарунки від навчального центру CyberBionic Systematics читайте за посиланням. Взяти участь у розіграші UPD від 11/03/2023 Переможці розіграшу Сингаєвська Тетяна - Пакет "Базовий" (6 місяців доступу до бази з 230+ ІТ-відеокурсів) від ITVDN Голод Андрій - Відеокурси за спеціальністю FrontEnd Developer на ITVDN Армен Рогальов - Відеокурси за спеціальністю C# Developer на ITVDN Черевач Сергій - Відеокурси за спеціальністю Python Developer на ITVDN Kopernia Nikolas - Відеокурси за спеціальністю Java Developer на ITVDN
Створюємо Telegram-бота на Python. Частина 2

Автор: Армен Маїлян

Чат боты — это новый инструмент взаимодействия разработчика с пользователем. Их все чаще внедряют для совершенно различных целей. Новостные ленты, обработка налоговых деклараций, сохранение файлов – боты становятся удобным интерфейсом взаимодействия c различными сервисами. В прошлой статье мы рассмотрели, как написать простейшего чат-бота на Python и запустить его на своем компьютере. Сегодня мы рассмотрим, как того, написанного нами бота, разместить на внешнем сервере в сети Интернет. В качестве места размещения мы будем использовать бесплатный сервис Heroku.   Установка и настройка Git Для дальнейшей работы нам понадобится установить Git, зарегистрироваться на GitHub и создать репозиторий с именем нашего приложения. В нашем случае это MyFirstTestBot. Скачать версии Git, соответствующие вашей операционной системе, можно по следующим ссылкам для macOS и для Windows. На Linux Git можно установить, выполнив такую команду: sudo apt-get install git-all   Далее, желательно использовать виртуальную среду. Если она не установлена, при установке Python вы можете ее установить, выполнив команду: pip install virtualenv Создадим новую папку для нашего приложения и связи его с GitHub. В нашем случае это папка PythonApplication1 в корне диска C. Выполним клонирование репозитория. Для этого находясь в нашей папке в консоли выполним команду, введя ссылку на ваш репозиторий: git clone https://github.com/your_github_account/your_repository_name   После выполнения этой команды в нашей папке с именем PythonApplication1 мы получили еще одну папку – MyFirstTestBot. В консоли перейдем в корень диска C и выполним команду: virtualenv PythonApplication1 Если команда не выполняется, и вы на экране консоли видите «"virtualenv" не является внутренней или внешней командой…» - вам следует настроить системную переменную PATH и добавить в нее адреса расположения вашей папки с Python и подпапки со скриптами (в моем случае C:\Users\B\AppData\Local\Programs\Python\Python37-32\Scripts). Будем в дальнейшем пользоваться консолью Git, которую мы установили ранее: После выполнения этого скрипта в нашей папке будет такое содержимое: Поместим скрипт в папку, полученную в результате выполнения команды git clone (папка MyFirstTestBot). Имя файла с нашим скриптом - mftb.py Теперь запустим наше виртуальное окружение. Перейдем в консоли в папку C:\PythonApplication1 и выполним команду: source C:\PythonApplication1\Scripts\activate Если все сработало нормально – в консоли приглашение командной строки будет начинаться с имени нашей папки (PythonApplication1): Перейдём в нашу папку репозитория и выполним команду: pip install requests Создадим список зависимостей для Heroku, введя команду: pip freeze > requirements.txt Обратите внимание – в файле requirements.txt указываются требования к серверу Huroku. Там должно быть приблизительно такое содержимое: Если вы не продолжаете проект из предыдущей статьи, а создали новый – не забудьте указать все зависимости. В папке MyFirstTestBot создадим файл с именем Procfile без расширения. В теле этого файла пропишем: web: python mftb.py В папке MyFirstTestBot создадим также файл с именем __init__.py без содержимого. Содержимое нашей папки MyFirstTestBot теперь такое: Отправим в GitHub репозиторий наш набор изменений. Для этого выполним следующую серию команд, с указанием ссылки на ваш репозиторий: git init git add . git commit -m “first commit – ваше сообщение комментарий к коммиту” git push -u https://github.com/your_github_account/your_repository_name   Код нашего бота теперь загружен на GitHub и нам остается загрузить его на Heroku, где будет хоститься наш бот. Рекомендуется ознакомиться с основами работы с Heroku по ссылке. По той же ссылке следует скачать установщик интерфейса командной строки (CLI) от Heroku и запустить его. После установки CLI зарегистрируемся на Heroku через веб браузер. Далее подключимся к Heroku через консоль используя команду: heroku login   Нас попросят подключиться через браузер к сайту Heroku и залогиниться там. Нужно будет ввести ваши данные. Выполним команду для создания приложения в Heroku: heroku create Дальнейшие наши команды отправят наш проект на сервер Heroku и укажут необходимую настройку: git push heroku master heroku ps:scale web=1 Последняя команда запустит наше приложение на сервере: heroku open Теперь наше предложение установлено и запущено на сервере. Мы можем проверить это, пообщавшись с нашим ботом в Telegram: Как мы видим – все работает. Если по каким-то причинам бот не запустился, нужно ввести в консоли команду: heroku logs –tail И смотреть на коды ошибок на сайте.   Резюме.   В прошлой статье мы с вами посмотрели, как можно создать простого Telegram бота. Теперь мы опубликовали его на удаленном сервере. Наш чатбот работает, и мы можем к нему обращаться, используя привычный мессенджер.  Конечно, этот вариант бота далек от идеала, но для учебных целей, как первый проект бота, он подойдет. Попробуйте создать своего бота с другим набором предопределенных ответов. В дальнейшем вы сможете создавать более продвинутых чатботов, работающих с нейросетями и другими элементам искусственного интеллекта. Чаще всего востребованные библиотеки для работы ботов сейчас пишут на Python. Именно поэтому мы рассмотрели этот простой пример.  Для дальнейшего развития вас как квалифицированного Python разработчика мы рекомендуем ознакомиться с курсом подготовки Python-разработчика на портале  ITVDN.
Notification success