крэш курс что это
Crash Course: простой способ получить знания с улыбкой
Канал Crash Course был создан для того, чтобы пользователи учились и смеялись. Сейчас это один из самых популярных образовательных каналов на YouTube.
Crash Course основан братьями из США Хэнком и Джоном Гринами в декабре 2011 года и быстро стал одним из самых популярных образовательных проектов на YouTube. На сегодняшний день аудитория канала составляет более 2,6 млн подписчиков, а количество просмотров «перевалило» за 175 млн. Crash Course — это обучающие видео как по гуманитарным, так и по естественнонаучным дисциплинам. И это позитивные, энергичные видео.
Программы данного образовательного канала построены по принципу сериала, посезонно. Уже вышли в свет и нашли своего зрителя курсы по мировой истории (2 цикла по 30 и 42 серии), биологии (30 серий), английской литературе (24 серии), истории США (48 серий), а также химии, гражданскому праву и психологии. В 2015 году появятся курсы по анатомии и физиологии, астрономии, экономике, управлению. Подавляющее большинство курсов Хэнк и Джон Грины ведут лично.
У программ Crash Course несколько особенностей. Обучение сочетается с развлечением. Братья Грины стараются не только просветить своих подписчиков, но и дать повод для улыбки. Видео строятся с учётом клиповости мышления современного пользователя Интернета, и тем более — подростка. Урок длится в среднем 10-15 минут. Присутствует динамичный монтаж, яркие и светлые цвета, инфографика, большое количество шуток. В целом Crash Course рассчитан на то, чтобы с интересом, легко и ненавязчиво освежить в памяти пропущенное в школе. При этом авторы стараются включать в свои видео и какие-то сравнительно новые данные по тому или иному предмету.
Финансировать свой проект братья Грин стараются с помощью инструментов краудфандинга. Сумму пожертвования пользователь определяет сам. Хэнк Грин считает:
Мы придерживаемся идеалистического мнения, что зритель заплатит за то, что любит для того, чтобы это продолжало развиваться и расти.
Вот, например, урок, посвящённый церковной Реформации. Любопытно, что лектор первым делом отвечает на вопрос, зачем это вообще нужно. Многие учителя не любят, когда кто-то из учеников сомневается в необходимости той или иной информации. Лекторы Crash Course всегда «продают» слушателям свой продукт и делают это «с огоньком».
Для того, чтобы слушать программы Crash Course, не требуется очень высокий уровень английского, каждый урок сопровождается субтитрами. Авторы заботятся о том, чтобы их понимали не только носители языка. А ведь можно и совмещать приятное с полезным: повторять, допустим, биологию, а заодно совершенствовать английский. И многие поклонники этого образовательного канала так и делают. Присоединяйтесь!
Краш-курс на Docker: научитесь плавать с большой рыбой
Краткое руководство по началу работы, которое вы ищете.
Если вы следовали тенденциям развития программного обеспечения в прошлом году, то, должно быть, устали слышать термин Docker. Вероятнее всего, вы ошеломлены огромным количеством разработчиков, говорящих о контейнерах, изолированных виртуальных машинах, супервизорах и другой магии Вуду, связанной с DevOps. Сегодня мы во всем разберемся. Пора наконец понять, что такое контейнеры как услуга и зачем они нужны.
«Зачем мне это нужно?»
Не так давно я задал себе тот же вопрос. Будучи долгое время упрямым разработчиком, я наконец сел и принял удивительность использования контейнеров. Вот мое мнение, почему вы должны попробовать их применить.
Docker?
Docker – программное обеспечение для создания контейнерных приложений. Контейнера должны быть небольшими, не хранящими информацию среды для запуска части программного обеспечения.
Образ контейнера представляет собой легкий, автономный исполняемый пакет части программного обеспечения, который включает все необходимое для его запуска: код, время выполнения, системные инструменты, системные библиотеки, настройки.
– Официальный сайт Docker.
Короче говоря, контейнер – крошечная виртуальная машина с примитивными функциями для запуска приложения, которое было положено в него.
Виртуальная машина?
Название «виртуальная машина» (VM) говорит само за себя: это виртуальная версия реальной машины, которая имитирует аппаратные средства машины внутри более крупной машины. Значит, вы можете запускать множество виртуальных машин на одном крупном сервере. Вы когда-нибудь видели фильм «Начало»? Виртуальная машина – что-то вроде «Начало». Часть программного обеспечения, позволяющая VM работать, называется Hypervisor.
Hypervisor?
У вас закипает мозг от новых терминов? Потерпите минутку, на то есть причины. Виртуальные машины работают только из-за Hypervisor. Это специальное программное обеспечение, которое позволяет физической машине размещать несколько разных виртуальных машин. Со стороны кажется, что VM запускают свои собственные программы и используют аппаратное обеспечение узла. Однако это Hypervisor выделяет ресурсы виртуальной машине.
Примечание: если вы когда-либо пытались установить программное обеспечение (такое как VirtualBox), но потерпели неудачу, скорее всего, это было связано с тем, что в BIOS вашего компьютера не активирована система виртуализации. Возможно, это случилось со мной больше раз, чем я помню. нервный смех**
Если вы такой же ботаник, как я, вот потрясающая запись на тему того, что такое Hypervisor.
Отвечая на свои вопросы…
Для чего действительно нужен CaaS? Мы давно используем виртуальные машины. Почему внезапно стали хороши контейнеры? Никто не говорил, что виртуальные машины плохи, с ними просто сложно справиться.
DevOps, как правило, сложен, и нужно, чтобы назначенный человек все время выполнял связанную с ним работу. Виртуальные машины занимают много места и оперативной памяти, а также нуждаются в постоянной настройке. Не говоря уже о том, что требуется опыт для правильного управления ими.
Чтобы не выполнять двойную работу, автоматизируйте
С Docker вы можете абстрагироваться от регулярных конфигураций и настроек среды и вместо этого сосредоточиться на кодировании. С Docker Hub вы можете взять предварительно созданные образы и запустить их в работу за короткое время.
Но самым большим преимуществом является создание однородной среды. Вместо того чтобы устанавливать список различных зависимостей для запуска приложения, нужно установить только Docker. Docker – кроссплатформенный, поэтому каждый разработчик команды будет работать в той же среде. То же самое относится к разработке, постановке и производственному серверу. Это круто! Нет больше «это работает на моей машине».
Быстрый старт
Начнем с установки. Удивительно: требуется всего лишь часть программного обеспечения, установленного на машине разработки, и все будет работать нормально. Docker – все, что нужно.
Установка Docker
К счастью, процесс установки очень прост. Вот так совершается установка на Ubuntu.
Это все, что нужно. Чтобы убедиться, что Docker работает, вы можете запустить другую команду.
Docker должен вернуть результаты работы.
Если системные службы остановлены, запустите комбо из двух команд, чтобы развернуть Docker и убедиться, что он запускается при загрузке.
Что насчет Mac и Windows? К счастью, установка так же проста. Скачайте простой файл, который запускает мастер установки. Нет ничего легче. Посмотрите здесь мастер установки для Mac и здесь для Windows.
Развертывание контейнера
После развертывания и запуска Docker мы можем немного поэкспериментировать. Четыре первые команды, которые нужно поставить в работу:
Начнем с малого. Возьмем образ Ubuntu из Docker Hub и создадим из него контейнер.
После запуска команды create убедитесь, что контейнер создан.
Список должен выглядеть примерно так.
Контейнер создан и готов к запуску. Запуск контейнера прост: задайте команду start ID контейнера.
Если запущен, присоединяйтесь к нему.
Cursor меняется. Почему? Потому что вы только что вошли в контейнер. Теперь вы можете запустить любую команду bash, к которой привыкли в Ubuntu, как будто это был экземпляр, запущенный в облаке. Попробуйте.
Реальный сценарий
Время поработать с настоящим материалом. Это то, что вы будете использовать в реальной жизни для своих проектов и производственных приложений.
Контейнеры или протокол без сохранения состояния?
Я упомянул выше, что каждый контейнер изолирован и не сохраняет состояние. Это означает, что после удаления контейнера его содержимое будет удалено навсегда.
Как вы сохраняете данные в таком случае?
Вы когда-нибудь слышали о томах? Тома позволяют сопоставлять каталоги на главной машине с каталогами внутри контейнера.
Примечание. Можно запускать команды create и start одновременно с командой run.
Почему я так много говорю о томах?
Мы можем создать простой веб-сервер nginx для размещения статического веб-сайта за пару простых шагов.
Создайте новый каталог, назовите его как хотите, я назову свой myapp для удобства. Все, что вам нужно, – создать простой файл index.html в каталоге myapp и вставить его.
У нас есть общая веб-страница с текстом заголовка. Осталось запустить контейнер nginx.
У нас есть веб-сервер nginx, запускающийся всего за пару команд. Редактируйте в index.html как вам нужно. Перезагрузите страницу, и увидите, что содержимое изменилось.
Примечание. Вы можете остановить запущенный контейнер с помощью команды stop.
Как сделать жизнь еще проще?
Есть поговорка: если нужно что-то сделать дважды, автоматизируй. К счастью, Docke позаботился об этом. Вместе с файлом index.html добавьте файл Docker. Его имя Dockerfile, без каких-либо расширений.
Dockerfile – конфигурация сборки для образов Docker. Основное внимание уделяется образам! Мы указываем, что хотим захватить образ nginx:alpine в качестве основы для нашего образа, создать том и выставить порт 80.
Запустим созданный образ.
Сила Dockerfile – надстройка, которую вы можете предоставить контейнеру. Можно предварительно создавать образы по своему вкусу, а если не нравятся повторяющиеся задачи, то совершить еще один шаг и установить docker-compose.
Docker-compose?
Docker-compose позволит создавать и запускать контейнер c одной команды. Но еще важнее, что вы можете построить целый кластер контейнеров и настроить их, используя docker-compose.
Перейдите на страницу установки и установите docker-compose на компьютер.
Будьте осторожны с отступами, иначе *docker-compose.yml** не будет работать должным образом. Осталось только запустить его.
Постарайтесь не оставлять остатки контейнеров и удалять их, если они вам больше не нужны.
Более широкая перспектива?
Убедившись, что Docker не является единственной технологией для создания контейнеров, я должен обязательно упомянуть менее популярные технологии. Docker – это всего лишь самый распространенный вариант контейнеризации. Но, похоже, rkt также отлично работает.
Копая глубже, я должен упомянуть об оркестровке контейнеров. Мы говорили только о верхушке айсберга. Docker-compose – это инструмент для создания сетей контейнеров. Но, когда появляется необходимость управлять большими объемами контейнеров и обеспечивать максимальный аптайм, в игру вступает оркестровка.
Управление большим кластером на основе контейнеров – вовсе не тривиальная задача. По мере роста количества контейнеров нужен способ автоматизации различных задач DevOps, которые мы обычно делаем. Оркестрация – это то, что помогает в создании хостов, создании или удалении контейнеров, когда нужно масштабировать или воссоздавать упавшие контейнеры, сетевые контейнеры и многое другое. И здесь на помощь приходят следующие инструменты: Kubernetes от Google и собственная разработка Docker – Swarm Mode.
Заключение
Если я не убедил вас в огромных преимуществах использования CaaS и простоты Docker, я бы настоятельно рекомендовал пересмотреть и перенести одно из ваших существующих приложений в Docker-контейнер!
Контейнер Docker – это крошечная виртуальная машина, где вы можете делать все, что вам нравится, от разработки, установки, тестирования до хостинга производственных приложений.
Однородность Docker похожа на магию для производственных сред. Это облегчит развертывание приложений и управление серверами. Потому что теперь вы точно знаете: что работает локально – будет работать и в облаке. Это то, что я называю спокойствием. Больше никто не услышит печально известного приговора, который мы все слышали слишком много раз.
Ну, это работает на моей машине…
crash course
Смотреть что такое «crash course» в других словарях:
crash course — n a course in which you learn a lot about a particular subject in a very short period of time crash course in ▪ a crash course in Spanish … Dictionary of contemporary English
crash course — crash courses N COUNT: usu with supp, oft N in n A crash course in a particular subject is a short course in which you are taught basic facts or skills, for example before you start a new job. I did a 15 week crash course in typing … English dictionary
crash course — noun a rapid and intense course of training or research (usually undertaken in an emergency) he took a crash course in Italian on his way to Italy his first job was a crash course in survival and in learning how to get along with people a crash… … Useful english dictionary
crash course — UK / US noun [countable] Word forms crash course : singular crash course plural crash courses a course of study in which you are taught a lot about a subject in a short time … English dictionary
crash course — If you do a crash course, you do an intensive training course in order to obtain quick results. Before going to Tokyo, he did a crash course in Japanese … English Idioms & idiomatic expressions
crash course — noun Date: 1966 a rapid and intense course of study; also an experience that resembles such a course … New Collegiate Dictionary
crash course — noun A quick, intense course of learning, especially one which is informal or hurried. He got a crash course in babysitting when his sister dropped off his nephew for the afternoon … Wiktionary
crash course — noun (C) a course in which you learn the most important things about a particular subject in a very short period of time (+ in): a crash course in Spanish … Longman dictionary of contemporary English
crash course — See a crash course … English idioms
Крэш-курс по UI-дизайну
Мы всегда в поисках хороших статей о дизайне, чтобы потом использовать их в работе над сайтом «Я люблю ИП». Сегодня мы перевели ещё одну статью, которая рассказывает, чем отличается UI-дизайн от UX-дизайна и на каких основных принципах строится дизайн интерфейсов.
UI vs. UX
Если вы хоть немного интересовались дизайном приложений, то наверняка слышали термины «UI» и «UX». Но чем же они отличаются?
В самой простой форме, UX-дизайн — это то, что делает интерфейс полезным, а UI-дизайн — делает его красивым. Дизайн интерфейсов — это смесь визуальной иерархии и элементов интерфейса. Чтобы разобраться, чем отличается прекрасный дизайн от просто хорошего, необходимо понять, что дизайн интерфейсов — это всего лишь один из слоев целого дизайн-процесса. Возможно, именно поэтому эти два термина так часто путают. В этой статье я постараюсь рассказать, в чём же заключается разница между ними с точки зрения дизайн-процесса.
Согласно книги Дж. Гарретта «Элементы опыта взаимодействия», UX-дизайн можно определить через пять основных уровней. Давайте начнём с самого абстрактного.
1. Стратегия
Цели сайта и потребности пользователей
В широком смысле, стратегия — это основа продуктового дизайна. На данном этапе применяются различные техники исследования, включая пользовательские интервью, анализ конкурентов, персонажи и др., для того, чтобы понять:
2. Набор возможностей
Функциональные спецификации и требования к контенту
На данном этапе вы должны определить набор функций и объём информации для вашей платформы. Другими словами:
Главный вызов для дизайнера здесь — это правильно расставить приоритеты с минимальными издержками. Наверняка, у вас есть сотни идей, как решить проблему, но вы не можете внедрить их все.
3. Структура
Информационная архитектура и проектирование взаимодействия
На данном этапе ваши идеи должны начать оформляться в структуру. Информационная архитектура отвечает за то, как представлена информация внутри приложения и как её воспринимают пользователи. Проектирование взаимодействия определяет последовательность действий, которые помогут пользователю решить конкретную задачу. Вместе они определяют наиболее логичные шаги для того, чтобы удовлетворить потребности пользователей.
4. Компоновка
Дизайн интерфейса и информационный дизайн
На данном этапе вещи становятся все менее абстрактными и более конкретными.
На уровне компоновки мы разрабатываем дизайн интерфейса и информационный дизайн, чтобы уточнить структуру из предыдущего уровня. Дизайн интерфейса отвечает за расположение конкретных элементов интерфейса, которые позволяют пользователю взаимодействовать с функциональностью системы. Тогда как информационный дизайн отвечает за то, как представлена эта информация, чтобы облегчить это взаимодействие.
Именно на данном этапе вы найдёте большинство UX-дизайнеров или дизайнеров по продукту, работающих над вайерфреймами. Вайерфреймы — это очень приблизительные, зачастую чёрно-белые макеты, которые демонстрируют назначение каждого элемента интерфейса для пользователей.
5. Поверхность
Визуальный дизайн и чувственное восприятие
Уровень поверхности, как и предполагает название, стремится создать великолепное чувственное восприятие и визуальный дизайн. Задача дизайнера здесь — создать интуитивную связь с пользователями через успешную коммуникацию бренда, продукта, его ценностей и свойств в целостной картине.
Именно здесь вы найдёте UI-дизайнеров, делающих большую часть своей работы, используя такие инструменты как Sketch, Photoshop, Adobe Experience Design, Illustrator или Figma.
Теперь давайте перейдём к основным принципам хорошего UI-дизайна.
Принцип № 1. Простота превыше всего
Нет ничего хуже, чем неопределённость в приложении. Что делает эта кнопка? Как я сюда попал? Как вернуться обратно? Для того, чтобы это избежать, дизайнер всегда должен спрашивать себя:
Почему это здесь? Какой в этом смысл? Как ещё это можно сделать?
Хорошие дизайнеры находят множество возможностей для создания макета интерфейса, видит потенциальные недостатки каждого из них и понимают, какой дизайн лучше всего поможет пользователям достичь своих целей. Простота в дизайне позволяет пользователям чувствовать себя уверенно, находясь внутри приложения.
Принцип № 2. Давайте ясную, информативную обратную связь
Мы все пользовались такими сайтами и приложениями, где ты пытаешься нажать на кнопку и не понимаешь, сработала она или нет.
Простыми словами, у каждого действия должна быть реакция. Например, если вы веб-разработчик, то знаете, что :hover на кнопке позволяет пользователям понять изменение её состояния.
Отличный пример — это индикатор загрузки постов в ленте Facebook. Пока идёт загрузка контента, индикатор загрузки (в форме контента) информирует пользователей о том, что контент загружается.
Принцип № 3. Постоянство имеет значение
Когда я говорю о постоянстве, я имею в виду постоянство в расположении элементов интерфейса или языка, который используется в приложении. После того, как ваши пользователи научились пользоваться интерфейсом, не нужно заставлять их переучиваться. Давайте посмотрим на пример плохого постоянства.
Может показаться, что это три разных сайта от трёх разных компаний, но это не так. Почему так произошло? Потому что в меню на этих страницах используется разная цветовая гамма, разные шрифты и разное расположение. Это может дезориентировать пользователя и сбить его с толку, так как совсем неочевидно, что эти страницы принадлежат одному сайту.
Как вы можете поддерживать постоянство, будучи дизайнером? Вы можете создавать дизайн, использую постоянную сетку, например, сетку из 8 пунктов, которая часто используется в дизайне иконок и мобильный приложений. Также вы можете использовать постоянную цветовую гамму и элементы навигации на всех экранах. Все эти элементы можно включить в руководство по стилю.
Вывод: постоянство и хорошая структура позволят вашим пользователям чувствовать себя как дома.
Принцип № 4. Если сомневаетесь, используйте известные дизайн-паттерны
Не поймите меня неправильно — инновации это хорошо и всячески приветствуются, но только не в ущерб опыту взаимодействия пользователей. Не нужно изобретать новый велосипед там, где старый отлично справляется со своей задачей. Например, если вы не уверены, что иконка точно и интуитивно отражает значение слова, то лучше использовать просто слово. Или придерживаться обычной цветовой гаммы, где оттенки красного используются для предупреждения об опасности, а зелёный свидетельствует об успешном завершении.
Почему нужно использовать известные дизайн-паттерны? Дело в том, что многие из них основываются на человеческом восприятии. Возьмём к примеру F-паттерн для сканирования информации.
Это тепловая карта, сгенерированная в ходе эксперимента по слежению за движением глаз. Наиболее просматриваемые секции отмечены красным, наименее — синим. Как вы уже заметили, тепловая карта чем-то напоминает букву F. Но что это значит для дизайнера?
Это значит, что самый важный контент нужно располагать в левом верхнем углу.
Обычно там находится логотип. Это позволяет компаниям усилить их бренд. В правом верхнем углу может располагаться навигация или поиск. Это позволяет пользователям легко перемещаться по страницам, без необходимости искать навигационные элементы где-то в другом месте. Вот два примера, которые придерживаются этого принципа.
Чем ниже вы спускаетесь по странице, тем слабее становится внимание пользователей. Поэтому старайтесь располагать самую важную информацию ближе к верху и выделяйте заголовки, чтобы контент можно было легко сканировать.
Принцип № 5. Используйте визуальную иерархию
Что такое визуальная иерархия? Это такой порядок элементов, который подразумевает их относительную важность. Это попытка дизайнера повлиять на то, в каком порядке воспринимается представленная информация.
То, как мы воспринимаем информацию, зависит от нескольких факторов. Давайте посмотрим на основы визуальной иерархии.
1) Типографика
Из чего состоит хорошая типографика? Два основных фактора — это чёткость и удобство чтения.
Чёткость — это свойства, присущие конкретному шрифту, которые позволяют его символам отличаться друг от друга. Это полностью зависит от шрифта и здесь мало, что можно сделать. Поэтому выбирайте подходящий шрифт.
Удобство чтения — это то, как вы манипулируете отдельным шрифтом, чтобы его было легче воспринимать.
Заметили, как шрифт вверху воспринимается хуже, чем внизу? Если нет, то…
Ещё один фактор, который влияет на удобство чтения, — это длина строки. Если строка слишком короткая, то пользователь будет постоянно перепрыгивать со строки на строку, что сделает восприятие информации сложнее. То же самое верно, если строка слишком длинная — так глаза быстрее устают.
Также никогда не центрируйте большие блоки текста. Гораздо легче воспринимается текст с выравниванием по левому краю, потому что глаз точно знает, где начинается следующая строка.
2) Белое (или негативное) пространство
У вас когда-нибудь было такое, что вы смотрите на меню/ сайт/ интерфейс и думаете: «Мне нравится, как это выглядит, но я не знаю почему»? Теперь вы знаете. Всё дело в белом пространстве. Белое пространство чрезвычайно помогает в восприятии. Исследование 2004 года показало, что подходящее использование белого пространства между абзацами и для полей справа и слева улучшает восприятие почти на 20 %. Пользователям легче сфокусироваться и переработать такой контент.
Многие считают, что белое пространство — это дело вкуса. Я думаю, это гораздо более объективно. Мы можем умело использовать белое пространство для того, чтобы усилить визуальную иерархию. Давайте посмотрим на сайт Helen Tran.
Прекрасное портфолио! Теперь посмотрим ещё раз более внимательно.
Вы заметили, как контент разбит на четыре чётких блока? Давайте пойдём ещё дальше.
Helen использует комбинацию из интерлиньяжа, размера шрифта, цвета и белого пространства для того, чтобы отделить контент внутри каждого блока. Это позволяет пользователям легче его сканировать.
3) Цвет
Теория цвета, правда, очень и очень сложна. Моя цель не в том, чтобы рассказать вам всю теория цвета, а в том, чтобы дать вам несколько принципов, которые вы сможете использовать в своём дизайне уже сейчас.
Если вы посмотрите на картинку выше, то увидите, что синий квадрат слева кажется дальше, чем красный квадрат справа. Теплые цвета кажутся ближе, тогда как холодные, наоборот, сливаются с фоном. Давайте посмотрим на этот пример:
Дизайнер использует тёплый красный цвет, чтобы выделить призыв к действию, и холодный синий, чтобы утопить навигацию. Тот же самый приём используется и на иллюстрации слева. Красная иконка с молнией сразу же выделяется на фоне всего остального.
Также вы можете использовать цвет, чтобы сгруппировать похожие элементы.
И наконец, меньше значит больше. Чем больше цветов вы используете, тем меньше значение каждого из них. Отличный пример — это последний редизайн Instagram.
Уменьшение количества используемых цветов не только позволило выделить фотографии, но и увеличило эффективность уведомлений, так как им больше не нужно соревноваться с другими цветами на верхней и нижней панели.