РАЗРАБОТКА МЕТОДОВ ПОСТРОЕНИЯ КОНЕЧНЫХ АВТОМАТОВ С ИСПОЛЬЗОВАНИЕМ АЛГОРИТМА И...ITMO UniversityПредставленные в работе алгоритмы имитации отжига применяются для генерации автоматов управления защитником в игре «Война за ресурсы». Рассматривается вопрос о применении исследуемых схем алгоритма имитации отжига к задаче построения конечного автомата, управляющего защитником в данной игре, и последующий анализ полученных результатов.
Компьютерная графика в Processing, часть 4. Преобразования на плоскостиTatiana VolkovaПеревод практикума по компьютерной графике с использованием Processing.
Компьютерная графика в Processing, часть 2. Основные 2D-примитивыTatiana VolkovaПеревод практикума по компьютерной графике с использованием Processing.
Arduino и бионика (Bionic Arduino). Часть 4. ШИМ, сервомашинки, I2C, акселеро...Tatiana Volkova•Про ШИМ
•Управление сервомашинками
•Про шину I2C
•Использование I2C с Arduino
•Про акселерометры
•Нунчак Nintendo Wii как устройство ввода
Все скетчи и файлы одним архивом:
http://robofreak.ru/bionic_arduino_rus.zip
Презентация к конкурсу "Школьный урок технологии - 2035"Tatiana VolkovaМоя презентация к конкурсу, который проводило Агентство стратегических инициатив летом 2016 года.
Arduino и бионика (Bionic Arduino). Часть 1. Введение, цифровые входы, перекл...Tatiana VolkovaПредставляю Вашему вниманию свой перевод презентаций Bionic Arduino. Её автор — Тод Курт, известный по сайту и книге Hacking Roomba. Я считаю Bionic Arduino самой лучшей обучающей презентацией по основам программирования микроконтроллеров. Название «Arduino и бионика» не должно никого вводить в заблуждение — видимо, Тод выбрал его как наиболее интригующее, вся «бионика» там только в первой презентации и сводится к вопросу о киборгах.
Введение в Arduino
• Установка среды разработки
• Ваш первый скетч на Arduino
• Цифровые и аналоговые выходы
• Цифровые входы
• Как помигать светодиодом
• Как воспринять нажатие кнопки и узнать состояние переключателя
Все скетчи и файлы одним архивом:
http://robofreak.ru/bionic_arduino_rus.zip
Гирлянда для программистовGetDev.NETНескучная гирлянда на новогодние праздники и приятная подсветка в течение года. Программируем ардуино со смартфона по блютусу.
Материалы со встречи:
https://getdev.net/Event/arduino
Raspberry pi lnlDon DoerresThis document provides information about Raspberry Pi including where to purchase models, guides for getting started, Linux distributions, games and demos, and estimated costs. Key points include:
- The Raspberry Pi Model B boards are now made in the UK and available for purchase from various retailers including Newark and Adafruit.
- Quick start guides and books are available from the Raspberry Pi website to help new users get up and running.
- Popular Linux distributions for Raspberry Pi include the official Raspbian as well as customized versions from Adafruit and Arch Linux ARM.
- Example programs mentioned include Doom, a penguin puzzle graphics demo, and estimated costs to assemble a basic Raspberry Pi system are under
Iot meetup 07.10.15Сергей НиколаевичКомплект для хакатона Edison Arduino Kit + Grove Starter Kit
Перечисление датчиков в Grove Starter Kit
Датчики в разных сферах
Критерии судейства
Примеры проектов с прошедших хакатонов
Bionic arduino class1_russiansrgkschtranslated by Tania Volkova
01Audiomas SoniEste documento describe conceptos básicos de modelamiento y gestión de bases de datos como tablas, primary keys y foreign keys. Explica las herramientas para la administración de bases de datos como Oracle Universal Installer, Database Configuration Assistant y Oracle Enterprise Manager. También cubre la arquitectura básica de una base de datos Oracle incluyendo la instancia, System Global Area, Program Global Area y la estructura de almacenamiento en tablespaces y datafiles.
Arduino training day 1Binod ThapaThis document provides information about resistors and color coding systems used to identify resistor values and tolerances. It explains that most resistors are too small to print their exact values, so a color coding system was developed using colored bands to represent numbers and tolerances. It also provides examples of calculating resistances from the color bands and discusses LEDs, including how they work, their components, and different types of LEDs.
Лабораторная работа по программирования pic32 ChipKIT Uno32 в среде ArduinoAnton MoiseevМетодические указания проведения лабораторных работ по программированию микроконтроллеров на Arduino-совместимой платформе PIC32 ChipKIT Uno32.
Составители: Автомобильный Институт (АМИ), Нижегородский государственный технический университет им Р.Е. Алексеева.
How to Upgrade a Coffee Machine Using ArduinoGlobalLogic UkraineThis presentation is a about a solution to an irritating office problem: regular coffee machines’ water tank refilling and prevention of their breakdowns. For this purpose a project named Refilla emerged.
In this presentation Andrii Zakharov (Software Engineer, GlobalLogic) explains how much data we can get just by measuring water in the machine, and why a coffeemaker had to be upgraded and turned into an IoT thing.
The presentation was delivered at GlobalLogic Embedded TechTalk Kyiv on July 22, 2015.
Смерть тайм-менеджментаSasha KulamВремя - самый главный и невосполнимый человеческий ресурс. Им невозможно управлять. Его можно только тратить. Кто-то это делает неосознанно и размеренно, кто-то пытается сохранить баланс между безделием и "жопой в огне", а кто-то и вовсе выжимает из 24 часов ядерный концентрат из эмоций и действий их приносящих. Но все неизменно сходятся в одном - бессмысленно и глупо тратить собственный жизненный ресурс на вещи, которые приносят боль и возвращают нас назад в прошлое.
Через призму продюсирования, я рассказываю о том, как такая банальная вещь, как "планирование" поможет вам осознанно начать управлять своей жизнью. Копнув глубже я говорю о цикле Деминга и философии Кайдзен, как о процессе непрерывного анализа и совершенствования своих способностей, рассказываю о процессе расстановки приоритетов с помощью матрицы Эйзенхауэра и прохожу все стадии борьбы с самим собой, определив оптимальную стратегию поведения в зависимости от ситуации.
Подборка лучших мировых диджитал-продакшн студий и агентствSasha KulamНужно обязательно следить за проектами этих компаний, а лучшие кейсы этих продакшн-студий и агентств нужно обязательно разбирать на кусочки и перенимать их опыт.
Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...solitВиктор Русакович, Минск, Web-developer c 6-ти летним опытом разработки, компания GP Software.travel
«Реактивный JavaScript. Победа над асинхронностью и вложенностью». Development секция. Для разработчиков. Высокий уровень подготовки.
«Непрерывная интеграция сложного проекта. Кто всё сломал?». IT секция. Agile отделение. Для всех уровней подготовки.
Компьютерная графика в Processing, часть 2. Основные 2D-примитивыTatiana VolkovaПеревод практикума по компьютерной графике с использованием Processing.
Arduino и бионика (Bionic Arduino). Часть 4. ШИМ, сервомашинки, I2C, акселеро...Tatiana Volkova•Про ШИМ
•Управление сервомашинками
•Про шину I2C
•Использование I2C с Arduino
•Про акселерометры
•Нунчак Nintendo Wii как устройство ввода
Все скетчи и файлы одним архивом:
http://robofreak.ru/bionic_arduino_rus.zip
Презентация к конкурсу "Школьный урок технологии - 2035"Tatiana VolkovaМоя презентация к конкурсу, который проводило Агентство стратегических инициатив летом 2016 года.
Arduino и бионика (Bionic Arduino). Часть 1. Введение, цифровые входы, перекл...Tatiana VolkovaПредставляю Вашему вниманию свой перевод презентаций Bionic Arduino. Её автор — Тод Курт, известный по сайту и книге Hacking Roomba. Я считаю Bionic Arduino самой лучшей обучающей презентацией по основам программирования микроконтроллеров. Название «Arduino и бионика» не должно никого вводить в заблуждение — видимо, Тод выбрал его как наиболее интригующее, вся «бионика» там только в первой презентации и сводится к вопросу о киборгах.
Введение в Arduino
• Установка среды разработки
• Ваш первый скетч на Arduino
• Цифровые и аналоговые выходы
• Цифровые входы
• Как помигать светодиодом
• Как воспринять нажатие кнопки и узнать состояние переключателя
Все скетчи и файлы одним архивом:
http://robofreak.ru/bionic_arduino_rus.zip
Гирлянда для программистовGetDev.NETНескучная гирлянда на новогодние праздники и приятная подсветка в течение года. Программируем ардуино со смартфона по блютусу.
Материалы со встречи:
https://getdev.net/Event/arduino
Raspberry pi lnlDon DoerresThis document provides information about Raspberry Pi including where to purchase models, guides for getting started, Linux distributions, games and demos, and estimated costs. Key points include:
- The Raspberry Pi Model B boards are now made in the UK and available for purchase from various retailers including Newark and Adafruit.
- Quick start guides and books are available from the Raspberry Pi website to help new users get up and running.
- Popular Linux distributions for Raspberry Pi include the official Raspbian as well as customized versions from Adafruit and Arch Linux ARM.
- Example programs mentioned include Doom, a penguin puzzle graphics demo, and estimated costs to assemble a basic Raspberry Pi system are under
Iot meetup 07.10.15Сергей НиколаевичКомплект для хакатона Edison Arduino Kit + Grove Starter Kit
Перечисление датчиков в Grove Starter Kit
Датчики в разных сферах
Критерии судейства
Примеры проектов с прошедших хакатонов
Bionic arduino class1_russiansrgkschtranslated by Tania Volkova
01Audiomas SoniEste documento describe conceptos básicos de modelamiento y gestión de bases de datos como tablas, primary keys y foreign keys. Explica las herramientas para la administración de bases de datos como Oracle Universal Installer, Database Configuration Assistant y Oracle Enterprise Manager. También cubre la arquitectura básica de una base de datos Oracle incluyendo la instancia, System Global Area, Program Global Area y la estructura de almacenamiento en tablespaces y datafiles.
Arduino training day 1Binod ThapaThis document provides information about resistors and color coding systems used to identify resistor values and tolerances. It explains that most resistors are too small to print their exact values, so a color coding system was developed using colored bands to represent numbers and tolerances. It also provides examples of calculating resistances from the color bands and discusses LEDs, including how they work, their components, and different types of LEDs.
Лабораторная работа по программирования pic32 ChipKIT Uno32 в среде ArduinoAnton MoiseevМетодические указания проведения лабораторных работ по программированию микроконтроллеров на Arduino-совместимой платформе PIC32 ChipKIT Uno32.
Составители: Автомобильный Институт (АМИ), Нижегородский государственный технический университет им Р.Е. Алексеева.
How to Upgrade a Coffee Machine Using ArduinoGlobalLogic UkraineThis presentation is a about a solution to an irritating office problem: regular coffee machines’ water tank refilling and prevention of their breakdowns. For this purpose a project named Refilla emerged.
In this presentation Andrii Zakharov (Software Engineer, GlobalLogic) explains how much data we can get just by measuring water in the machine, and why a coffeemaker had to be upgraded and turned into an IoT thing.
The presentation was delivered at GlobalLogic Embedded TechTalk Kyiv on July 22, 2015.
Смерть тайм-менеджментаSasha KulamВремя - самый главный и невосполнимый человеческий ресурс. Им невозможно управлять. Его можно только тратить. Кто-то это делает неосознанно и размеренно, кто-то пытается сохранить баланс между безделием и "жопой в огне", а кто-то и вовсе выжимает из 24 часов ядерный концентрат из эмоций и действий их приносящих. Но все неизменно сходятся в одном - бессмысленно и глупо тратить собственный жизненный ресурс на вещи, которые приносят боль и возвращают нас назад в прошлое.
Через призму продюсирования, я рассказываю о том, как такая банальная вещь, как "планирование" поможет вам осознанно начать управлять своей жизнью. Копнув глубже я говорю о цикле Деминга и философии Кайдзен, как о процессе непрерывного анализа и совершенствования своих способностей, рассказываю о процессе расстановки приоритетов с помощью матрицы Эйзенхауэра и прохожу все стадии борьбы с самим собой, определив оптимальную стратегию поведения в зависимости от ситуации.
Подборка лучших мировых диджитал-продакшн студий и агентствSasha KulamНужно обязательно следить за проектами этих компаний, а лучшие кейсы этих продакшн-студий и агентств нужно обязательно разбирать на кусочки и перенимать их опыт.
Solit 2014, Реактивный Javascript. Победа над асинхронностью и вложенностью, ...solitВиктор Русакович, Минск, Web-developer c 6-ти летним опытом разработки, компания GP Software.travel
«Реактивный JavaScript. Победа над асинхронностью и вложенностью». Development секция. Для разработчиков. Высокий уровень подготовки.
«Непрерывная интеграция сложного проекта. Кто всё сломал?». IT секция. Agile отделение. Для всех уровней подготовки.
C# Deep DiveLuxoftTraining31 мая – 1 июня в Киеве состоялась конференция HOTCODE 2013.
Сергей Тепляков, эксперт Luxoft Training по .Net, С++ и архитектуре приложений, выступил с докладом «C# Deep Dive».
Тезисы доклада:
«Когда-то в далеком 2002-м году язык C# был прост, как 2 копейки. Но у любого «живого» языка есть одна особенность, приятная и неприятная одновременно — в язык начинают добавляться новые возможности, чтобы наши с вами типовые задачи решались проще и эффективнее. Но с каждой новой возможностью появляются и свои тонкости, незнание которых может лишить столь нужных в нашей жизни конечностей, причем иногда самым изощренным образом. А поскольку язык C# развивается очень динамично, то за время жизни на его просторах появилось много маленьких грабелек, которые мы с вами и научимся обходить ;)».
Кир Белевич "Touch it: универсальные тач-события и слайдер"YandexКир Белевич "Touch it: универсальные тач-события и слайдер"
Я.Субботник в Санкт-Петербурге
О докладе:
Речь в докладе пойдет об универсальных для всех платформ тач-событиях и «слайдере» – интересном интерфейсном решении. В дополнение немного свежей статистики и размышлений о тенденциях.
Оптимизация производительности PythonPyNSKСлайды с доклада на Codefest 2016
От Александра Маршалова
В докладе были рассмотрены основные способы микро и не микро оптимизаций для Python
разработка серверов и серверных приложений лекция №3etyumentcevВ третьей главе рассматриваются базовые свойства акторов, описанные в PhD диссертации Gul Agha: каждый актор имеет адрес, большой почтовый ящик, куда доставляются сообщения, адресованные актору и поведение. В ответ на входящее сообщение актор может отправить конечный набор сообщений другим акторам и/или создать конечное число новых акторов и/или поменять свое поведение для обработки следующего сообщения.
В рамках данного курса будет разработана библиотека для разработки параллельных приложений на платформе .NET, построенная по модели акторов.
Исходные коды библиотеки будут выкладываться на GitHub: https://github.com/hwdtech/HWdTech.DS
Код библиотеки будет разработан с использованием следующих принципов, приемов и методик:
S.O.L.I.D. - принципы
Unit-tests
Mock
IoC контейнеры
Для удобства слушателей курса краткий обзор данных практик приведен в Главе 4.
разработка серверов и серверных приложений лекция №3Eugeniy TyumentcevВ третьей главе рассматриваются базовые свойства акторов, описанные в PhD диссертации Gul Agha: каждый актор имеет адрес, большой почтовый ящик, куда доставляются сообщения, адресованные актору и поведение. В ответ на входящее сообщение актор может отправить конечный набор сообщений другим акторам и/или создать конечное число новых акторов и/или поменять свое поведение для обработки следующего сообщения.
В рамках данного курса будет разработана библиотека для разработки параллельных приложений на платформе .NET, построенная по модели акторов.
Исходные коды библиотеки будут выкладываться на GitHub: https://github.com/hwdtech/HWdTech.DS
Код библиотеки будет разработан с использованием следующих принципов, приемов и методик:
S.O.L.I.D. - принципы
Unit-tests
Mock
IoC контейнеры
Для удобства слушателей курса краткий обзор данных практик приведен в Главе 4.
Лекция 12. Быстрее, Python, ещё быстрее.Roman BrovkoИзмерение времени работы кода на Python с помощью модулей timeit, cProfile и line_profiler. Немного о NumPy. JIT и AOT компиляция кода на Python на примере Numba и Cython.
2. Взаимодействие
•
В processing есть два способа реализации взаимодействия
с пользователем:
Использовать набор системных переменных
Определить набор функций-обработчиков, которые
вызываются как ответ на определённое событие.
Какой метод лучше использовать — зависит от конкретной
задачи; их можно даже комбинировать.
Обычно смотрим системные переменные внутри
функции draw(). Хотя она постоянно запускается,
обнаружение всех событий через этот механизм
не гарантировано.
Использование функций-обработчиков гарантирует
обнаружение всех событий благодаря тому, что они
обрабатываются как очередь.
•
•
•
•
•
11. Взаимодействие
keyPressed
•
Будет TRUE, если нажата клавиша
key
•
•
•
•
В ней хранится символ нажатой клавиши
Может также иметь значения: BACKSPACE,
TAB, ENTER, RETURN, ESC и DELETE.
Если значение равно константе CODED, то из системной
переменной keyCode ясно, какая специальная клавиша
нажата: UP,DOWN,LEFT,RIGHT,ALT,CONTROL,SHIFT
Использоваться эта переменная должна совместно с
KeyPressed.
12. Взаимодействие
Определение функций-обработчиков как
ответов на событие
•
•
•
Добавляются новые функции (callback functions),
которые вызываются, когда возникает ассоциированное
с ними событие.
У этих функций специальные имена, они не имеют
параметров и возвращают void
В их теле может быть полезным обратиться к
вышеописанным системные переменные.
13. Взаимодействие
void mousePressed()
•
•
•
Всегда вызывается, когда нажата кнопка мыши
Через mouseButton можно узнать, какая именно кнопка
нажата.
Определяет именно нажатие (первый клик, перед
тем, как отпустить)
void mouseReleased()
•
•
Всегда вызывается после того, как клавиша мыши
отпущена - второй клик, после нажатия.
Через mouseButton можно узнать, какая именно кнопка
отпущена
14. Взаимодействие
void mouseClicked()
•
•
•
Всегда вызывается после полного клика, когда
кнопка нажата и затем отпущена.
Через mouseButton можно узнать соответствующую
кнопку
До этого события произойдут mousePressed() и
mouseReleased()
15. Взаимодействие
void mouseMoved()
•
•
Всегда вызывается после перемещения мыши, когда
клавиши не нажаты.
Обычно внутри обращаются к mouseX и mouseY , чтобы
узнать координаты курсора
void mouseDragged()
•
•
Вызывается после перемещения мыши, когда нажата хоть
одна клавиша (из mouseButton можно узнать, какая)
Обычно внутри обращаются к mouseX и mouseY , чтобы
узнать координаты курсора
16. Взаимодействие
void keyPressed()
•
•
Всегда вызывается, когда нажата клавиша на клавиатуре
Обычно используют key, чтобы узнать, какая клавиша
нажата (keyCode тоже можно использовать)
void keyReleased()
•
•
Всегда вызывается, когда отпущена клавиша на клавиатуре
Обычно используют key, чтобы узнать, какая клавиша
нажата (keyCode тоже можно использовать)
17. Взаимодействие
void keyTyped()
•
•
•
•
Всегда вызывается после того, как символ напечатан
(после того, как клавиша нажата и отпущена)
До этого события произойдут keyPressed()и
keyReleased()
Долгое удерживание кнопки будет создавать
повторяющиеся события keyTyped(), что будет дальше
— зависит от настроек операционной системы
Клавиши Control, Alt и Shift игнорируются этим событием
18. Взаимодействие
// Свободное рисование
color colorStroke = color(255, 0, 0);
void setup()
{
size(500, 500);
background(0);
strokeWeight(2);
smooth(); // Использовать технологию antialiasing
}
void draw()
{
if (mousePressed) {
if (mouseButton == LEFT) { // Рисовать
stroke(colorStroke);
strokeWeight(2);
}
else {
stroke(0);
// Стереть
strokeWeight(4);
}
line(mouseX, mouseY, pmouseX, pmouseY);
}
}
void keyPressed()
{
switch (key) {
case 'r':
case 'R':
colorStroke = color(255,0,0);
break;
case 'g':
case 'G':
colorStroke = color(0,255,0);
break;
case 'b':
case 'B':
colorStroke = color(0,0,255);
break;
}
}
19. Практика 6-1
•
Запрограммируйте игру ‘Посадка на Луну’
Двигатель (r)
F = m· (g + r)
a=r+g
v(t+1) = v(t) + a
e(t+1) = e(t) + v(t+1)
Сила притяжения (g)
20. Практика 6-1
•
•
•
•
•
Корабль изначально должен находиться вверху окна
в случайной по горизонтали точке
Внизу нарисуйте лунную поверхность просто как
прямоугольник, а посередине — посадочную площадку.
На корабль влияет сила притяжения (как это было в
прошлых примерах на прошлом занятии)
Когда игрок нажимает UP, и только в этом случае,
результирующая сила будет: сила притяжения и
противоположная ей сила двигателя (только вкл/выкл
двигателя, без промежуточных уровней)
По нажатию LEFT и RIGHT корабль будет перемещаться
влево или вправо (простой перенос, ничего больше не
нужно)
21. Практика 6-1
•
•
•
•
•
•
•
Посадка считается удачной, если:
Корабль приземлился на посадочную полосу
Его скорость в этот момент ниже некоторого порога.
Если этот порог превышен, то считается, что корабль
Разбился.
После удачной или неудачной посадки игра будет
запущена заново, а корабль помещён в стартовую точку
Нарисуйте корабль, как хотите (совет: используйте
операцию переноса, чтобы поместить его на экран)
Если двигатель включён, можно нарисовать огонь
Эффект катастрофы тоже можно нарисовать
Настройте значения силы притяжения, мощности двигателя,
и движений по горизонтали, чтобы добавить играбельности
Всё взаимодействие с игроком может быть сделано внутри
функции draw() через проверку подходящих системных
переменных
•
•