Core
Базовое приложение — это комплексное комплексное решение для удаленного обучения с живыми занятиями, живым чатом и онлайн-тестированием. Получайте записанные лекции, учебные заметки, задания, оплачивайте онлайн-взносы и будьте в курсе новостей своего института коучинга.
Последнее обновление
8 сент. 2021 г.
Образование
Безопасность данных
arrow_forward
Чтобы контролировать безопасность, нужно знать, как разработчики собирают ваши данные и передают их третьим лицам. Методы обеспечения безопасности и конфиденциальности могут зависеть от того, как вы используете приложение, а также от вашего региона и возраста. Информация ниже предоставлена разработчиком и в будущем может измениться.
Источник: play.google.com
Технология CORE
Полгода назад я написал пост о придуманной мною технологии программирования ( habrahabr.ru/post/163881 ), которая сильно мне помогла ускориться (и не только мне) и делать своё дело более качественно.
Как появился .Net Core и что это такое?
Тогда как прошлый раз был посвящён практике и сравнению с привычной моделью разработки, в этот раз я хочу рассказать о теоретических основах технологии.
Для упрощения объяснения из системы Context-Object-Request-Event я выкину контексты, и мы поговорим о постановке задач и как они связаны с объектами, событиями и запросами.
Постановка задач и протекающие абстракции
В программировании нам часто приходится сталкиваться с протекающими абстракциями. Когда, например, наш код не учитывает, что соединение с базой данных может отвалиться, это приводит к проблемам.
Есть и более фундаментальная проблема протекающих абстракций, и она касается моделирования сложного поведения. Часто бывает, что при добавлении к задаче дополнительных требований код, который только что был написан, становится непригодным, и всё приходится переделывать. Это тоже протекающая абстракция: мы смоделировали решение задачи не в терминах задачи, а в терминах языка программирования — переменных, списков, ссылок, объектов, шаблонов проектирования. При небольшом изменении требований весь код оказался негодным.
Это происходит потому, что языки программирования не похожи на язык описания задач, которым мы пользуемся при постановке.
Я утверждаю, что большинство практических задач сводится к двух паттернам: «когда A сделать B» и «нужно, чтобы было сделано C. Давайте мы сделаем это способом D».
Введём обозначения: A — это событие, B — реакция на событие, C — запрос действия, D — способ исполнения.
Примеры для первого случая:
— когда пользователь нажмёт на эту кнопку, давайте покажем ему вот такую анимацию (хм, прямо как на собрании)
— когда дизайнер Аня отрисует прототип интерфейса, я хочу на него посмотреть и высказать свои идеи по поводу улучшений
— давайте собирать статистику по каждому клику
— каждый пятый заход показываем баннер
GOOGLE CORE WEB VITALS: что нужно про это знать и как подготовиться к внедрению
Для второго:
— Нужно отрисовать дизайн для этой идеи. Пусть это сделает Аня. Ну, или, Вова.
— сохраним значение текущего счёта в базу данных
Заметьте вот что: суть задачи в первом случае в том, чтобы было сделано B, когда произошло A. Неважно конкретно, что за A, к каком конкретно контексте оно возникло, и так далее. И эта задача совершенно отдельна от задачи, где происходит событие A, она посвящена другим целям. во втором случае — наоборот. принципиально не важно как будет сделана задача C. Важно чтобы она хоть как-то была сделана, любым подходящим способом.
Почему это важно понять? Рассмотрим следующий код абстрактной игры (или чего угодно другого) на js:
addMoney: function(amount) < this.balance+=amount; if(this.balance >250) < $(‘.you_win!’).animate(>) > >
Этот код очень плох. почему? потому что в нём логика денег смешана с логикой показа. А вот ещё хуже:
$(‘.coin’).click(function() < this.balance+=15; if(this.balance >250) < $(‘.you_win»).animate(>) > >)
В прототипах такой пример очень част. Затронь любой аспект задачи — дизайн, подсчёт денег, анимацию — всему каюк, это быстро превратится в кашу и будет глючить. Как было бы сделать по нормальному? Просто описать то, что было в задаче:
— когда пользователь кликнул на монетку, добавить её на баланс
— когда баланс стал больше 250, показать баннер, что мы выиграли
Делим задачу на три объекта, один из которых будет отвечать за отображение и UI, второй за состояние счёта, третий за определение выигрыша или проигрыша пользователя:
var UI = < handleCoinClick: function() < . >, showWinAnimation: function() < . >, . > var Balance = < addCoins: function() < . >, . > var WinWatcher = < watchForWin: function() < . >. >
UI здесь отвечает только за отображение и клики — взаимодействие с пользователем.
Теперь эти компоненты нужно как-то связать. Нехорошо будет, если мы будем их вызывать из друг друга, поэтому свяжем их событиями и запросами
var UI = < handleCoinClick: function() < // вызвать, когда происходит DOM Init, или другое событие, которое оповещает о генерации карты . $(‘.coin’).click(function()< // здесь бросить событие клик на монетку Event_CoinClick . >); >, showWinAnimation: function() < // вызвать, когда потребуется показать пользователю что он выиграл Request_ShowUserWin $(‘.you_win’).animate(); >, . > var Balance = < addCoins: function() < // вызвать, когда будет событие «клик на монетку» Event_CoinClick this.balance+=15; // здесь бросить событие, что баланс счёта изменён Event_BalanceChanged >, . > var WinHandler = < watchForWin: function(balance) < // вызвать, когда произошло событие, что баланс изменён Event_BalanceChanged if(balance >250) < // запросить показ пользователю, что он выиграл Request_ShowUserWin >> . >
Теперь нужно связать кусочки кода там, где комментарии «вызвать, когда . » и «здесь бросить/запросить». Но тут мы сталкиваемся с теми самыми протекающими абстракциями. Если вызывать из UI методы Balance и WinHandler напрямую, нам потом может понадобиться сбор статистики, или ещё какое-нибудь усложнение, и в метод UI добавятся ещё вызовы, связанные с другими задачами. Метод перестанет быть чистым.
Поэтому постараемся сделать метод простым. Предоставим разруливание зависимости диспетчеру событий
Core.js
В прошлый раз я обещал сделать open-source реализацию. На данный момент есть реализация для javascript github.com/okneigres/corejs
Библиотека работает как в браузере, так и под Node.js
var Game = < >; //определяем неймспейс Game.UI = < CoinClickEvent: new Core.EventPoint, handleCoinClick: function() < Core.CatchEvent(Event.DOM.Init); $(‘.coin’).click(function()< new Game.UI.CoinClickEvent(); >); >, showWinAnimation: function() < Core.CatchRequest(Game.WinHandler.ShowUserWinRequest); $(‘.you_win’).animate(); >, . > Game.Balance = < ChangedEvent: new Core.EventPoint, addCoinsOnClick: function() < Core.CatchEvent(Game.UI.CoinClickEvent) this.balance+=15; new Game.Balance.ChangedEvent; >. > Game.WinHandler = < ShowUserWinEvent: new Core.EventPoint, ShowUserWinRequest: new Core.RequestPoint, watchForWin: function(balance) < Core.CatchEvent(Game.Balance.ChangedEvent) if(balance >250) < new Game.WinHandler.ShowWinRequest; >> . > Core.processNamespace(Game);
Теперь с этим кодом легко делать всё, что угодно: добавлять новый функционал:
// отправляем клики и выигрыши на сервер Game.GatherStat = < sendClick: function() < Core.CatchEvent(Game.UI.CoinClickEvent); $.post(‘/stat/gather/ajax’, ); >, sendWin: function() < Core.CatchEvent(Game.WinHandler.ShowUserWinEvent); $.post(‘/stat/gather/ajax’, ); > >
Рефакторим UI (разделяем на два объекта — UI и UIWin):
Game.UI = < CoinClickEvent: new Core.EventPoint, handleCoinClick: function() < Core.CatchEvent(Event.DOM.Init); $(‘.coin’).click(function()< new Game.UI.CoinClickEvent(); >); > >; Game.UIWin = < showWinAnimation: function() < Core.CatchRequest(Game.WinHandler.ShowUserWinRequest); $(‘.you_win’).animate(); >, . >;
Теперь, когда код написан в чётком соответствии с логикой, работать с кодом легко.
Вместо заключения
В моём опыте, это сильно упрощает проектирование интерфейсов, и даже серверных приложений. Содержать код в том уровне абстракции, которого требует задача — можно и нужно.
- Ненормальное программирование
- Разработка веб-сайтов
- Программирование
Источник: habr.com
CORE — отечественный конструктор интерактивных уроков
Кажется, лёд тронулся, уважаемые читатели Дидактора. Долгое время мы следили с вами за различными отечественными образовательными платформами со своими достоинствами и недостатками. Но каждая из них предлагала готовые решения, задания, контент. Учитель был просто статистом, осуществляющим мониторинг образовательной деятельности. Но наконец в российском образовательном пространстве появился отечественный конструктор сложных интерактивных образовательных единиц.
Core — это онлайн-платформа конструирования образовательных материалов и проверки знаний с обратной связью и электронным журналом.
Данный конструктор был создан в рамках проекта «Национальная Открытая Школа». С его помощью учитель может создавать интерактивные уроки, интерактивные рабочие листы.
То есть мы получаем эффективный инструмент для организации смешанного обучения.
После создания своего аккаунта учитель получает доступ к созданию интерактивного урока.
Вы можете воспользоваться шаблонами или начать конструирование урока с нуля.
Инструменты вашего урока находятся в левой части панели.
Вы можете вставить текст, изображение, видео, прикрепить документ, ввести тест или организовать опрос.
Обратите внимание на то, что организаторы конструктора ввели несколько типов контрольных заданий.
Сам инструмент тестирования довольно прост:
- множественный выбор
- выбор нескольких правильных ответов
Между тем, имеются и другие инструменты для контроля и формирующего оценивания учащихся.
Открытый вопрос. Данный инструмент позволяет ввести задание с открытым ответом. Например, ученик может написать эссе, прикрепить изображение.
Инструмент Классификация позволяет составить задание, благодаря которому ученик должен развести ряд подчинённых понятий по категориям.
Вопрос с автопроверкой. Вы можете предложить задание, где ученик должен выбрать один или несколько версий развёрнутых ответов.
Заполни пробелы. Вы можете создать интерактивный диктант, где ученик должен вставить пропущенные слова или буквы.
Правда, вариант с пропущенными буквами выглядит несколько коряво, так как вы не сможете уменьшить размер окошков.
Упражнение. Данный инструмент позволяет ввести созданные вами в Learningapps интерактивные задания, дидактические игры. Конструктор интегрирован с контентом данного популярного сайта. Вам даже нет необходимости копировать html-код. Достаточно скопировать ссылку и любое задание появится на создаваемой вами странице в полном объёме.
Создав интерактивный рабочий лист, учитель может отправить его ученикам.
Получив ссылку, ученики могут начать работу над заданиями учителя.
Для работы учащимся вовсе не обязательно создавать свой аккаунт. Достаточно выбрать вариант Без регистрации. В таком случае обязательно потребуйте от ребят вписать имя и фамилию.
Учитель получает оперативную статистику о работе учеников.
Имеется возможность посмотреть результаты как по всему классу, так и по каждому ученику в отдельности.
Внимание!
После публикации интерактивного урока дальнейшее его редактирование не желательно, т.к. все данные по классу будут автоматически удалены.
Посмотрите мой небольшой набросок по ссылке. Имя и фамилию можно ввести вымышленные. Буду рад, если вы оставите свои комментарии в интерактивном задании или в ходе обсуждения статьи.
При всей привлекательности Core есть некоторые вопросы к создателям конструктора.
1 .Далеко не всегда платформа работает уверенно. Даже при хорошей скорости интернет-соединения время от времени платформа зависает, интерактивный урок долго сохраняется. А без полного сохранения невозможна его публикация.
2. Несмотря на заявленную возможность использования видео и изображения с компьютера мне ни разу не удалось загрузить их.
И даже при этих недостатках можно только порадоваться первому опыту российских разработчиков. Совместными усилиями мы можем помочь дальнейшему совершенствованию такого удачного проекта.
Комментарии к “ CORE — отечественный конструктор интерактивных уроков ”
- Ирина, Беларусь говорит:
Такая платформа очень кстати, а ненавязчивый дизайн как раз для моих первоклашек. Не нужно создавать отдельный блог для интерактивного урока с ротацией групп. Буду осваивать. Георгию Осиповичу огромное спасибо! Вы просто генератор идей!
Я бы с удовольствием приступила к освоению платформы, например, на площадке Летнего лагеря «Вместе — к успеху» https://docs.google.com/spreadsheets/d/1VEkuGx9tLRQkj3Z_JcpTjLd3hnwIPCWAt3Md1JijbgE/edit#gid=0
Добрый день! Почему-то в Вашем уроке, где нужно ввести названия городов-столиц, пишет, что «неправильно». Может в определённом порядке надо вводить?
- Георгий говорит:
Доброе утро, Надежда! Правильные ответы надо вводить по очереди. По одному. Затем проверять. Для ввода следующего правильного ответа щёлкаете «Попробовать ещё раз».
Вчера просто «запала» на CORE. Поняла, что буду использовать. И активно! Спасибо.
- Виктор говорит:
Источник: didaktor.ru
Core — что это в компьютере?
Приветствую. Используя современный софт, версию Windows, мы сталкиваемся с незнакомыми терминами. Некоторые понятны, другие нет. Сегодня мы разберемся с одним термином/словом — Core.
Разбираемся
В 95% случаев Core в ПК означает одно — процессор. Точнее — ядро (такой перевод имеет слово Core).
Также в ПК очень популярны две аббревиатуры — CPU и GPU. Первая означает центральный процессор, расшифровывается как Central Processing Unit. Вторая — графический, расшифровывается Graphics Processing Unit. Наличие буквы i перед GPU означает integrated — видеоядро интегрировано в процессор.
Процессоры могут быть многоядерными — 2, 4, 8 ядер и более. В домашнем ПК чаще всего используются с 2 или 4.
Некоторые процы Intel используют технологию потоков — Hyper-threading. В таком случае например 2 ядра будут видны в Windows как 4 — на самом деле 2 ядра и 2 потока. Поток слабее ядра, но их наличие — повышает производительность. Процессоры AMD также содержат потоки, названия технологии вроде бы SMT.
Примеры использования слова Core в ПК
Например используя программу для измерения температуры — Core Temp:
Другое приложение — CPU-Z. Позволяет узнать получить детальную информацию о процессоре. Слово упоминается в Core Speed, что означает скорость работы:
Вывод
- Core в ПК часто значит одно — ядро. Иногда, например в характеристиках ПК может быть поле Core, в котором будет указана модель проца.
- Например упоминается в утилитах для измерения температуры/разгона.
Надеюсь информация помогла. Удачи и добра.
Источник: 990x.top