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

Замовити дзвінок

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

Підписка

Замовити дзвінок

+38 099 757 27 82
Результати пошуку за запитом: Обучение c
Изучай основы Git бесплатно

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

С 19 по 26 июня 2024 года на ITVDN проходит акция – вы можете пройти обучение по курсу "Основы использования Git" бесплатно! Что такое Git? Git – это самая популярная распределённая система контроля версий. С помощью Git контролировать изменения в файлах своих проектов и совместно работать над ними могут как разработчики ПО, так и графические и веб-дизайнеры, инженеры-проектировщики, специалисты DevOps, сисадмины, технические писатели и другие. Также этот инструмент важен для тестировщиков и Project менеджеров, ведь они так или иначе приобщены к коду разработчиков. О курсе “Основы использования Git” Данный курс даст вам базовые знания теории и практики работы с Git-репозиториями. Вы создадите учетную запись на GitHub, первое локальное и удаленное хранилища – Git-репозиторий; узнаете, что такое ветвление и слияние ветвей, а также научитесь умело манипулировать основными командами для просмотра, удаления, добавления и изменения данных с помощью консоли. К каждому уроку есть практические задания, опорный конспект, а также возможность пройти тестирование и получить Сертификат. Автор курса – Дмитрий Курган, React Developer. Продолжительность видео уроков курса – 2 часа 15 минут. Программа курса: Знакомство с Git. Работа с локальным репозиторием. Работа с файлами. Откат изменений. Работа с удаленным репозиторием. Разветвление и объединение. Для кого этот курс Курс рассчитан на начинающих и профессионалов, которые желают получить базовые знания и опыт работы с распределенной системой контроля версий Git для работы в одиночку и с командой. Понадобится широкому спектру IT-специалистов, начиная от разработчиков и тестировщиков, заканчивая DevOps специалистами, сисадминами, специалистами по работе с Big Data / Data Science и техническими писателями. Чему вы научитесь на данном курсе: Понимать возможности использования Git как системы контроля версий и различать централизованные и распределённые системы. Работать с Git с помощью интерфейса командной строки. Работа с локальным репозиторием для фиксирования изменений, просмотра истории коммитов и управления файлами, включая добавление, модификацию, выделение изменений и файлов, возврат к нужной версии файлов. Работать с удаленным репозиторием, включая создание репозитория GitHub, клонирование репозитория, создание SSH-ключа и отправку изменений в удаленный репозиторий. Работать с тегами и .gitignore. Создавать ветки, управлять и работать с ними, решать конфликты во время слияния и использовать rebase. Сроки акции Акция проходит с 19 по 26 июня 2024 года. Доступ к курсу открывается на 10 дней.
Изучай Асинхронное программирование в JavaScript бесплатно
С 18 по 25 апреля 2024 года на ITVDN проходит акция – вы можете пройти обучение по курсу "Асинхронное программирование в JavaScript" бесплатно! Если вы работаете с JavaScript, то знания, которые вы получите на этом курсе, будут очень полезны для вас. Что такое асинхронное программирование? Асинхронное программирование – это подход к созданию программ, в котором некоторые операции выполняются параллельно, без ожидания завершения друг друга, что позволяет улучшить быстродействие программы и уменьшить время ожидания пользователя. Асинхронность особенно востребована в веб-разработке. Обмен информацией с сервером должен быть максимально оптимизирован и не блокировать другое взаимодействие. Иначе пользоваться сервисом будет очень сложно и пользователи его покинут.  О курсе "Асинхронное программирование в JavaScript" Курс позволит вам ознакомиться со всеми аспектами создания продуктивного и неблокируемого кода на языке JavaScript. Вы научитесь пользоваться функциями обратного вызова и избегать "calback hell" в своих проектах. Также вы разберетесь с промисами, оптимизацией асинхронного кода и научитесь использовать современные методы обработки ошибок. Завершив курс, вы будете иметь полное понимание асинхронного JavaScript, а также будете уметь эффективно использовать async/await и оптимизировать устаревший асинхронный код. Автор курса – Виталий Киян, FrontEnd Developer. Продолжительность курса – 3 часа 38 минут. Структура курса: Начало работы с асинхронным JS. Функции обратного вызова (Callback). Promise Async/await. Работа с функциями обратного вызова (Callback). Обработка ошибок в асинхронном коде. События и обработчики событий (Event Emitters & Handlers). Отладка асинхронного кода. Для кого этот курс Курс будет полезен всем, кто изучает язык программирования JavaScript или же просто хочет освежить уже имеющиеся знания – в первую очередь он важен FrontEnd и BackEnd разработчикам. Для понимания материала курса необходимо иметь базовые знания JavaScript. Чему вы научитесь на данном курсе: Понимать преимущества использования асинхронных подходов в программировании. Использовать callback-функции и избегать “callback hell” в своих проектах. Работать с Promise. Понимать структуру и возможности, а также основные методы промисов, чтобы максимально эффективно использовать их в своем коде. Обрабатывать ошибки, которые могут возникнуть при выполнении асинхронных операций. Использовать async/await для эффективной работы с асинхронным кодом. Оптимизировать и отлаживать асинхронный код. Сроки акции Акция проходит с 18 по 25 апреля 2024 года включительно. Доступ к курсу открывается на 10 дней.
Изучай React бесплатно

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

Друзья, привет! Сегодня делимся приятной новостью с фронтенд разработчиками - с 14 по 21 марта на ITVDN проходит акция – вы можете пройти обучение по курсу “React Базовый” бесплатно! Курс на украинском языке. Доступ к курсу не предоставляется гражданам россии и беларуси. React - популярная JS-библиотека для построения пользовательских интерфейсов. Ее использовали для разработки такие известные компании, как Facebook, Instagram, Netflix, Dropbox, GitHub, Discord, Uber, – и это только несколько примеров из многочисленных проектов. О курсе Курс предоставляет базовые знания по React, а чтобы их закрепить на практике, вы выполните два проекта, которые могут стать отличным дополнением к портфолио. Материал наполнен самыми актуальными практиками использования инструментов React и сопутствующих библиотек, таких как react-router, react-redux, axios. Также вы узнаете основные концепции React, включая компоненты, состояние, свойства, события и жизненный цикл компонентов. Автор курса – Кочев Денис, Web-разработчик в Data Bridge. Продолжительность курса – 7 часов 29 минут. Формат: видео уроки с практическими заданиями, тесты, сертификат. Структура курса: Знакомство с React. Структура React приложений. Специфика работы с JSX. Основы работы с React компонентами. Управление состояниями функциональных компонентов. Введение в хуки. Управление эффектами компонентов. Возможности метода useEffect. Разработка приложения для списка заметок. Роутинг и навигация в React. Знакомство с библиотекой Redux. Работа с API, создание приложения для определения погоды. Разработка модального окна. Чему вы научитесь на данном курсе: Понимать предназначение и философию React. Работать с пакетом npm. Разрабатывать свои React-приложения. Пользоваться преимуществами библиотеки в своей разработке. В полной мере разбираться в синтаксисе JSX. Уметь стилизовать компоненты как с помощью inline-стилей, так и с использованием изолированных CSS-файлов. Работать с чистыми реакт-элементами без JSX. Работать с актуальными технологиями в использовании состояний и пропсов в функциональных компонентах. Управлять компонентами с помощью useEffect хука. Синхронизировать React-приложения с localStorage. Обрабатывать сетевые API-запросы методом пакета axios. Настраивать маршрутизацию веб-приложения с помощью библиотеки react-router последней версии. Создавать приложение для списка заметок (task list). Создавать свое приложение для определения погоды с использованием реального API. Создавать модальные окна, используя исключительно инструменты React. Разрабатывать компоненты, которые можно использовать в разных проектах. Поддерживать фронтенд-часть существующих веб-приложений, написанных на React. Предварительные требования Для прохождения курса требуются базовые знания HTML5, CSS3 и JavaScript. Он предназначен для веб-разработчиков начального уровня и может быть полезным опытным девелоперам, не имеющим опыта работы с библиотекой React. Сроки акции Акция проходит с 14 по 21 марта 2024 года включительно. Доступ к курсу открывается на 10 дней.
Изучай MySQL бесплатно

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

С 1 по 7 марта 2024 года на ITVDN проходит акция – вы можете пройти обучение по курсу "MySQL Базовый" бесплатно! Курс на украинском языке! Доступ к курсу не предоставляется гражданам россии и беларуси. Что такое MySQL? MySQL – это open-source система управления реляционными базами данных (РСУБД) от корпорации Oracle, которая широко используется в приложениях различного типа. Она известна своей производительностью, масштабируемостью и простотой использования, что делает MySQL популярным выбором при разработке серверной стороны (BackEnd). Согласно опросу Stack Overflow Developer Survey 2023, MySQL является второй по популярности СУБД – ею пользуется 40.6% профессиональных разработчиков из разных уголков планеты (более 60 тысяч респондентов). О курсе “MySQL Базовый” Курс состоит из 10 уроков, на которых вы изучите основы реляционных БД, научитесь основам проектирования БД и тому, как формировать к ним запросы. Вы будете понимать основы CRUD запросов в базах данных MySQL и уметь создавать их сущности, обращаться к ним для считывания хранящейся информации, изменять такую информацию и удалять её или сущности из базы данных. Также вы познакомитесь с процедурными расширениями MySQL для создания сложных запросов. MySQL чаще всего используется среди разработчиков, которые пишут на PHP, Java, Python, Ruby, JavaScript (Node.js) и т. д. Автор курса – Ян Хаджийский, PHP Web Developer & Python Engineer с бэкграундом в QA и большим опытом на фрилансе (235 из 240 заказов на Fiverr выполнены на 5 звёзд). Текущий стек – Python, Django, Vue.js. Продолжительность видео уроков курса – 5 часов 42 минуты. Программа курса: Введение в MySQL. Основные запросы: Insert, Update, Select, Delete. Типы данных для создания таблиц. Использование Foreign Keys при проектировании БД. Построение связей через JOIN. Создание индексов. Подготовка запросов. Создание процедур и функций MySQL. Условия IF-CASE и циклы в MySQL – Repeat, While. Транзакция. Триггеры. MySQL подзапросы. Для кого этот курс Курс рассчитан на новичков, желающих познакомиться с механизмами построения и работы реляционных БД в целом и в первую очередь с основами MySQL. Также он подойдет тем разработчикам или аналитикам, которые уже работали с SQL, но хотят изучить основы диалекта MySQL. Чему вы научитесь на данном курсе: Создавать свои MySQL базы данных. Понимать основы CRUD запросов в базе данных MySQL. Понимать особенности разных типов данных в MySQL. Создавать PRIMARY и Foreign ключи в таблицах, разрабатывая связи между таблицами. Использовать базовые встроенные запросы. Используя JOIN, объединять запросы к 3 и более таблицам одновременно, чтобы получить один набор данных. Создавать индексы и выполнять поиск с помощью индексов. Создавать процедуры и функции, делать их вызов и удалять их и т. д. Сроки акции Акция проходит с 1 по 7 марта 2024 года включительно. Доступ к курсу открывается на 10 дней.
Изучай Python бесплатно на украинском языке

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

С 16 по 23 марта 2023 года на ITVDN проходит акция – вы можете пройти обучение по новому курсу “Python Базовый” бесплатно! Курс на украинском языке! Что такое Python? Python — язык программирования высокого уровня, самыми главными ценностями которого является простота, читабельность и высокомодульность. Python используется для создания широкого спектра приложений, включая веб-разработку, анализ данных, искусственный интеллект, научные вычисления, разработку игр и т. д. О курсе «Python Базовый» В курсе “Python Базовый” рассматривается парадигма объектно-ориентированного программирования (ООП) и ее реализация в языке Python. Вы познакомитесь с основными концепциями ООП – инкапсуляцией, наследованием, полиморфизмом, абстракцией и тем, как эти принципы воплощены в конструкциях Python. Отдельные уроки посвящены темам практического применения рекурсии в Python, способам работы с файлами, особенностям сложных структур данных, созданию своих модулей и основам правильного оформления кода по стандартам PEP8. К каждому уроку есть практические задания и тесты для проверки знаний. А в конце вы сможете пройти финальный тест и получить сертификат. Продолжительность курса – 4 часа 18 минут. Программа курса: Знакомство с ООП. Наследование. Инкапсуляция. Полиморфизм. Абстракция. Работа с рекурсией. Структуры данных. Модули Python. Чтение и запись файлов. PEP8 стандарты оформления кода. Автор курса – Виктория Бойчук, Python Developer и тренер в учебном центре CyberBionic Systematics. Предварительные требования Для понимания материала необходимо владеть начальными знаниями конструкций Python, а именно следующими темами: переменные и типы данных, условные и циклические конструкции, списки и срезы, множества, кортежи, словари, функции, исключения. Эти темы рассматриваются на курсе Python Стартовый, который можно просмотреть в свободном доступе на YouTube-канале CodeUA по ссылке. Чему вы научитесь на курсе Python Базовый: Создавать простые объектно-ориентированные программы. Понимать основы парадигмы ООП и её особенности в Python. Выстраивать архитектуру программы на основе классов и объектов. Уметь читать, обрабатывать и записывать файлы (текстовые, XML, CSV, JSON). Разбираться в том, что такое PEP8, PEP20 и уметь применять на практике правила оформления кода Python 3. Понимать Дзен Python. Использовать List and dict comprehensions (генераторы списков). Работать со сложными структурами данных в Python. Создавать свой Python модуль. Сроки акции Акция проходит с 16 по 23 марта 2023 года включительно. Доступ к курсу открывается на 10 дней.
Вивчай "HTML5 & CSS3 Поглиблений" безкоштовно

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

С 20 по 27 января на ITVDN проходит акция — вы можете пройти обучение по курсу “HTML5 & CSS3 Углублённый” бесплатно! Что такое HTML5 & CSS3? HTML5 и CSS3 являются фундаментальными технологиями, которыми обязан владеть каждый веб-разработчик. Язык гипертекстовой разметки HTML позволяет создать разметку (каркас) каждой веб-страницы, а CSS —  язык стилей — преображает сайт, придавая ему привлекательный и эффектный внешний вид. Хорошее владение HTML и CSS уже позволяет верстать сайты и зарабатывать деньги. Именно с этих двух базовых технологий начинается путь к профессии FrontEnd разработчика. О курсе “HTML5 & CSS3 Углублённый” Данный курс предназначен для тех, у кого уже есть базовые знания HTML5 и CSS3. В курсе будут рассмотрены такие темы, как: гибкая верстка, реализации анимаций, использование хранилищ браузера, многопоточность, а также подключение препроцессора и сборщика для отображения кроссбраузерности веб-страницы на различных устройствах. Автор видео курса — Сергей Патёха, Senior Software Engineer at ITernal Group. Программа курса: Микроданные, геолокация. Canvas. WebStorage. Audio, Video. Принципы построения разметки Flex, Grid. Шаблоны сайтов. Трансформация и анимация. Градиенты. Основы SASS. Практика. Предварительные требования Для понимания курса нужны базовые знания по HTML & CSS, в частности по таким темам: основные теги HTML5 и свойства CSS3; работа с изображениями, таблицами и списками; позиционирование элементов; стили для текста; формы, метатеги. Также нужны определенные знания JavaScript, в частности: навигация по DOM элементам и модификация DOM дерева; работа со свойствами, атрибутами и стилями из JS; события в JavaScript; функции конструкторы, классы; работа с формами и элементами управления, валидация формы; Cookies и Web Storage; обработка исключений; асинхронность; сетевые запросы. Чему вы научитесь на этом курсе: Работать с обновленными спецификациями HTML5 & CSS3. Применять гибкую и адаптивную верстку (Flex, Grid). Настраивать проект с помощью сборщика Gulp, работать с менеджером пакетов npm. Придавать динамичность страницам, используя анимации и переходы. Понимать основы препроцессора SASS. После изучения материала курса вы можете пройти онлайн тестирование и получить Сертификат, подтверждающий ваши знания. Сроки акции Акция проходит с 20 по 27 января 2022 года включительно. Доступ к курсу открывается на 10 дней.
Карта спеціальності FrontEnd розробник.

Автор: Віталій Мазяр

<p>FrontEnd разработка &mdash; самое популярное направление в IT с низким порогом входа для новичков. Специалисты по FrontEnd имеют возможность совмещать программирование с творчеством, создавая клиентскую сторону веб-приложений. Большая часть того, что вы видите и с чем можете взаимодействовать на любом веб-сайте &mdash; результат работы FrontEnd разработчика.</p> <p>Это направление для многих привлекательно еще и тем, что фронтенд разработчику не обязательно знать математику, алгоритмы и структуры данных. Таким образом, путь во фронтенд открыт для самых разных специалистов, желающих войти в IT.</p> <p>На сайтах по поиску работы в IT вы можете видеть огромное количество вакансий по фронтенду &mdash; компании открыты для квалифицированных специалистов и готовы хорошо платить за качественную работу. Если вам интересно это направление, и вы хотите сделать профессиональный старт в данной сфере, эта встреча будет для вас как нельзя кстати!</p> <p>Цель мероприятия &mdash; помочь вам разобраться с главными аспектами данной специальности, опираясь на тенденции развития IT-рынка, правильно расставить приоритеты и помочь спланировать ваше обучение и карьеру по направлению FrontEnd.</p> <p>&nbsp;</p> <p><strong>Программа встречи: </strong></p> <ol> <li>Кто такой FrontEnd разработчик?</li> <li>Актуальность специальности и востребованность на IT-рынке.</li> <li>Как стать FrontEnd разработчиком: <ol style="list-style-type:lower-alpha;"> <li>предварительные требования;</li> <li>карта специальности;</li> <li>обзор обязательных и факультативных технологий.</li> </ol> </li> </ol> <ol> <li value="4">Где и как изучить FrontEnd.</li> <li>Angular, React, jQuery, Vue.js - какие фреймворки нужно знать новичку?</li> <li>Как получить первый практический опыт.</li> <li>Стажировка и первая работа - возможности и перспективы.</li> <li>Вопросы и ответы.</li> </ol> <p>&nbsp;</p> <p><strong>Целевая аудитория</strong>: начинающие разработчики, студенты ВУЗов, а также все, кто интересуется FrontEnd направлением и хочет профессионально развиваться в нём.</p> <p><strong>Условия участия:</strong> бесплатно. Для получения приглашения на онлайн-трансляцию заполните регистрационную форму.</p> <hr /> <p><strong>Информационные партнеры:</strong></p> <p><strong><a href="https://ru.jobsora.com/" name="Работа. Вакансии. Трудоустройство" target="_blank"><img alt="Работа в России" src="https://itvdn.blob.core.windows.net/mail-delivery/mail-delivery-573a679a-1426-488a-99f9-3c79d5d073ad.png" style="width: 171px; height: 60px; float: left;" /></a></strong><br /> <span style="font-size: 13px;">&nbsp;Работа. Вакансии. Трудоустройство</span></p> <p>&nbsp;</p> <p>&nbsp;</p> <p>&nbsp;</p>
Пріоритет операторів у JavaScript (частина 1)

Автор: Олександр Марченко

Введение В данной статье мы познакомимся со стандартными операторами и их применением в языке программирования JavaScript для работы с переменными и со значениями. Сперва познакомимся со специфической терминологией, которая используется при работе с операторами.Большинство операторов обозначаются символами пунктуации, такими как =, +, - и другими. Некоторые – специальными ключевыми словами, к примеру, delete и new. Но, как знаки пунктуации, так и ключевые слова обозначают обычные операторы, просто используют для этого разный синтаксис. Оператор присвоения Операнд – то, к чему будет применен оператор, или порой можно встретить название: «аргумент оператора». Оператор присваивания выглядит как знак равенства = :    var a = 1, b = 2; В данной строке переменной "a" было присвоено значение 1, а переменной b – значение 2.      var a = a + 2; В этой строке переменной "a" было присвоено ее значение, увеличенной на 2. Иначе говоря, сперва выполнится операция сложения текущего значения переменной a, результат которого будет пере-присвоен переменной a. Полезной особенностью данного оператора является использование его по цепочке:      var a, b, c;       a = b = c = 2 + 3; В результате работы последней строки всем трем переменным будет присвоено значение 5. Арифметические операторы Арифметические операторы используются для определения простейших математических операций над операндами, в качестве которых могут выступать как значения, так и переменные: плюс + , минус - , умножить * , поделить / , деление по модулю (определение остатка от деления) %. Большинство JavaScript-операторов работают с двумя операндами, следовательно, способны два простых выражения объединить в одно более сложное. Но JavaScript поддерживает несколько унарных операторов, которые преобразуют только одно выражение в другое, более сложное. Таким оператором является унарный минус, который изменяет знак числа на противоположный. В таком случае оператор «минус» в выражении -1 представляет собой унарный оператор и выполняет смену знака у своего единственного операнда 1. <script type="text/javascript">         var x = 1;         document.write(-x + " ");         document.write(-(-x) + " ");         document.write(-(x + 4) + " "); script> Унарный плюс, используемый в качестве арифметического оператора, не выполняет каких-либо действий: <script type="text/javascript">         document.write(+1);         document.write(" ");         document.write(+(1 - 2)); script> Более распространенным применением унарного плюса является преобразование значения в число. В случае объединения двух выражений в одно более сложное используются бинарные операторы, иначе говоря, бинарным называют оператор, который применяется к двум операндам, к примеру, если оператор плюс будет стоять между двумя числами, он будет представлен в своей бинарной форме: <script type="text/javascript">         var a = 1, b = 2;      document.write(a + b + " ");      document.write(b + a + " "); script> Кроме того, если у нас есть две переменные со строковыми значениями, бинарный плюс сложит эти строки. произведя конкатенацию, а применение унарного плюса к каждой из переменных произведет преобразование их значений к числу. var a = "2"; var b = "3"; alert(a + b); // "23", произошла конкатенация строк alert(+a + b); // "23", второй операнд - всё ещё стоковая переменная alert(+a + +b); // 5, число, поскольку оба операнда предварительно преобразованы в числа ((+a) + (+a)) В то же время, если использовать оператор «минус», мы получим другие результаты: var a = "2"; var b = "3"; alert(a - b); // -1, произошло неявное преобразование типов Таким образом, мы подошли к тому, что создавая JavaScript-выражения, важно обращать внимание на типы данных, передаваемых операторам, и, как следствие, на типы данных, которые они возвращают. Стоит отметить, что различные операторы требуют, чтобы операнды, с которыми они работают, возвращали значения только определенного типа. Так, нельзя выполнить умножение строк, поэтому выражение var a = "text1" * "text2"; не является допустимым и приведет к ошибке. В то же время, выражение var a = "2" * "3"; вполне допустимо, потому что интерпретатор JavaScript будет пытаться по мере возможностей преобразовать выражение в требуемый тип данных, в нашем случае из строкового типа в числовой. Познакомимся с работой операторов умножения и деления на простом примере. В данном случае мы используем бинарные формы операторов, поскольку они взаимодействуют с двумя операндами: <script type="text/javascript">      document.write("2" / 2 + " "); // 1, произойдет неявное преобразование строки в число      document.write(((2 + 2) * 6) / "12" + " "); // 2, произойдет неявное преобразование строки в число      document.write(12 * 7 / 2 + " "); // 42      document.write(17 % 7 + " "); // 3, возвращаем остаток от целочисленного деления      document.write(21 / 3 - 1 + " "); // 6, наблюдаем правильный порядок выполнения операций: сперва деление, затем нахождение разницы script> Если с работой операторов +, -, *, / в самом простом их применении мы были знакомы еще из младшей школы, то с оператором % стоит познакомиться детальней. Оператор деления по модулю % вычисляет остаток, получаемый при целочисленном делении первого операнда на второй, которые в курсе школьной математики именовались как делимое и делитель соответственно, а в результате самого деления мы получали частное и остаток от деления. Деление по модулю подразумевает возвращение остатка от деления. Например, выражение var a = 190 % 27; будет выполнено следующим образом: Оператор деления по модулю зачастую применяют к целочисленным операндам, но он корректно работает и с вещественными значениями. Так, в итоге выполнения выражения var a = -6.3 % 3; переменной a будет присвоено значение -0.3. Кроме этого, стоит отметить следующие особенности вычислений в JavaScript:  <script type="text/javascript">        var a = 4,        b = true;        c = undefined,        d = Infinity,        e = 0,        res = undefined;         res = a * d;         document.write(res + " "); // Infinity, умножение числа на бесконечность возвращает бесконечность         res = a + b;         document.write(res + " "); // 5, true преобразовывается в 1 и производится операция сложения         res = a / e;         document.write(res + " "); // Infinity, деление числа на ноль возвращает бесконечность         res = a * c;         document.write(res + " "); // NaN, умножение числа на неопределенный тип данных, вернет сигнализацию об ошибке в виде NaN - Not a Number script> В дальнейшем мы познакомимся с такими операторами как инкремент/декремент, операторами сравнения, равенства и идентичности, которые будут часто использоваться в написании клиентских сценариев c использованием языка JavaScript.
.NET & Blazor. Створення веб-програми на основі браузера

Автор: Daniel Roth

В рамках сегодняшней статьи я рад представить новый экспериментальный проект от команды ASP.NET под названием Blazor. Что такое Blazor? Blazor – это экспериментальный веб UI – фреймворк на базе C#, Razor и HTML, который работает непосредственно в браузере посредством WebAssembly. Цель эксперимента – в значительной мере упростить задачу построения простых и качественных одностраничных приложений, которые могут быть запущены в рамках любого браузера. Достигается это за счет написания .NET веб-приложений, которые при помощи открытых веб-стандартов могут запускаться на стороне клиента. В случае если вы уже работаете с .NET, подобный подход открывает перед вами следующие перспективы: вы сможете использовать навыки разработки браузерных приложений в дополнение к существующим сценариям серверных, облачных, нативных и игровых приложений. Однако, даже если вы непосредственно с .NET не знакомы, мы надеемся, что Blazor подтолкнет к его изучению. Зачем использовать .NET для браузерных приложений? Хотя веб-разработка за прошедшие годы значительно упростилась, создание современных веб-приложений - задача далеко не всегда тривиальная. Построение же веб-приложений на базе .NET предоставляет уникальную возможность улучшить качество написания подобного рода программ. Среди основных преимуществ стоит выделить: Стабильность и целостность: инструменты стандарта .NET на протяжении многих лет зарекомендовали себя в качестве надежных помощников при разработке приложений. Современные инновационные языки: с использованием C# и F# процесс создания программ, по сути, становится чем-то вроде развлечения, настолько широким спектром возможностей эти языки обладают. Популярная среда разработки: стек IDE Visual Studio обеспечивает максимальное удобство работы с Windows, Linux и macOS. Быстрота вычислений: .NET обладает длинной историей по улучшению производительности, надежности и защиты веб-приложений для серверов. Соответственно, при разработке full-stack .NET приложений все указанные преимущества также ощущаются. Browser + Razor = Blazor! Blazor базируется на существующих веб-технологиях, таких как HTML и CSS, но в этом случае для создания UI-элементов вы используете C# и Razor – синтаксис вместо JavaScript. Однако отметьте, что это не то же самое, что и деплой существующего проекта UWP или Xamarin в браузер. Blazor будет обладать всеми ключевыми особенностями современных веб-фреймворков, включая: Компонентную модель для построения комплексных UI Маршрутизацию Слои Формы и валидацию Внедрение зависимостей Поддержку JavaScript Перезагрузку в браузере во время разработки «вживую» Рендеринг на стороне сервера Полноценную поддержку .NET – отладки (как в браузере, так и в IDE) IntelliSense и прочие различные инструменты Возможность запускать более старые (не WebAssembly) браузеры через asm.js Публикацию и мониторинг размера приложения Изменения WebAssembly Запуск .NET – приложений в браузере стал возможен благодаря WebAssembly, новому веб-стандарту для «портативных, умеренных в размерах и быстрых» веб-приложений. Таким образом, WebAssembly вводит фундаментально новый способ построения веб-приложений, так как код, скомпилированный под WebAssembly, не уступает скорости нативных .NET-приложений. Никаких прочих сторонних зависимостей нам не нужно: вы можете запустить обычные .NET-сборки в браузере с использованием WebAssembly. В августе прошлого года наши друзья из команды Xamarin Microsoft анонсировали планы по созданию Mono .NET специально для браузеров с использованием все той же WebAssembly. По сути, Blazor частично базируется на результатах их работы. Новый эксперимент Сейчас мы восхищаемся возможностями Blazor-технологии, но не стоит забывать, что сейчас это лишь экспериментальная технология, а не официально выпущенная и готовая для полноценной работы. На этой стадии мы можем более глубоко ознакомиться с основными функциональными возможностями представленной технологии, а также выразить свои замечания и пожелания разработчикам. Я хочу попробовать! Найти технологию вы можете в Blazor repo, который сейчас доступен для использования. Это проект с полностью открытым исходным кодом: все текущие изменения и дополнения могут быть отслежены в вышеупомянутом репозитории. Пожалуйста, отметьте, что технология находится в статусе раннего доступа. Здесь еще нет никаких инсталляторов или шаблонов проектов, кроме того, многое из заявленного еще не реализовано. Даже то, что уже сделано, не оптимизировано. Если вам интересно, вы можете загрузить репозиторий, построить его и протестировать, но пытаться на его базе разработать рабочий проект – задумка явно не удачная. Что же касательно предложений и поддержки, вы можете использовать issue tracker репозитория. Через месяц мы планируем выпустить первые черновые версии заготовок веб-проектов и инструментов, сделав технологию более доступной для широкой аудитории. Автор перевода: Евгений Лукашук Источник
Нововведення в С# 8

Автор: Jonathan Allen

Хотя внимание разработчиков приковано сейчас к таким глобальным вещам, как дефолтная реализация методов интерфейсов, мы хотим поговорить с вами о нюансах новой версии популярного языка программирования С#. Новые операторы присвоения: &&= и ||= Начиная с самой первой версии, C# поддерживал комбинирования операторов присвоения с другими операторами. Существует поддержка всех бинарных операторов (а именно - +, -, & и так далее), кроме булевских && и ||. Теперь комбинации типа &&= и ||= дополнят этот список. Дословно-интерполируемые строки Дословные строки начинаются на @”. Интерполируемые строки используют $”. Но что, если нам нужно создать дословно-интерполируемую строку? Что нам писать - @$” или  $@”? Сейчас первый вариант работает, но второй выдает ошибку уровня компиляции, что может вызывать некоторые неудобства у многих разработчиков, так как обычно такие нюансы часто забывают. Суть нововведения заключается в том, что в новой версии можно использовать как первый вариант конструкции, так и второй. Впрочем, некоторые все равно находят это изменение лишним, так как оно может привести к некоторой фривольности кода и проблемам с единым стилем. Выражение using структурно соответствует IDisposable У компилятора C# интересное отношение к интерфейсам. Довольно часто вам не нужно на самом деле реализовывать абстрактный интерфейс для определенных фичей языка. Все, что вам нужно, так это просто реализовать в классе определенный публичный API, что по своей структуре повторяет абстрактный интерфейс. Классическим примером этого является foreach и IEnumerable. Если класс обладает методом GetEnumerator, возвращающим значение свойства Current и методом MoveNext, тогда вы можете использовать foreach. Сами типы возвращаемых данных не имеют значения, что позволяет таким классам, как List<T>, реализовывать более быстрые перечисления. Этот подход достаточно часто называется структурным соответствием. В рамках новой версии языка using также будет поддерживать структурное соответствие. На первый взгляд, это нововведение кажется лишенным смысла, так как мы вряд ли ожидаем увидеть класс для использования с using без реализации интерфейса IDisposable. Впрочем, мы упускаем такое нововведение как ref struct. Реализация интерфейса в данном случае невозможна, поэтому здесь нам на помощь приходит структурное соответствие. Методы расширения с foreach и using Как дополнение к предыдущему посту, теперь мы можем добавить GetEnumerator и Dispose в качестве методов расширения для работы с foreach и using соответственно. Опять же, здесь мы говорим об особенности, которая станет полезной в частном случае. К примеру, вы хотите добавить Dispose-расширение в COM-объект сторонней библиотеки (к примеру, дабы вызвать Marshal.ReleaseComObject). Впрочем, информация об этом еще неполная и мы можем упустить некоторые случаи использования данной фичи. Using неявной области видимости На данный момент выражение using может быть использовано только в рамках явной области видимости (в скобках). Если данное нововведение будет принято на вооружение, теперь вы можете писать конструкции следующего вида: Каждая из этих переменных будет автоматически очищена в конце текущей области видимости в реверсивном порядке. Функционально написанное выше эквивалентно этому, но гораздо более элегантно: Подобное может быть полезно в тех случая, когда в одно и то же время создается множество dispose-объектов. Теперь вы можете создавать подобные объекты даже внутри выражений в полной уверенности в безопасности данного типа объявлений. Возможный минус данного нововведения в том, что оно не совместимо с оператором goto. Автор перевода: Евгений Лукашук Источник
Notification success