Русский
Русский
English
Статистика
Реклама

Программирование для детей

Интервью с СЕО FitBase будущее за автоматизацией

28.05.2021 18:18:56 | Автор: admin

Знаем, как сложно родителям выбрать профессию для своего ребенка. Этот выбор определит, будет ли он доволен своей жизнью и будет ли он с удовольствием просыпаться по утрам, чтобы пойти на работу. Для того, чтобы немного облегчить выбор родителей, команда школы программирования для детей Пиксель провела серию интервью с состоявшимися специалистами в мире IT. В предыдущем интервью мы рассказали о менеджере проектов АСУ.

Василий Суворов, CEO FitBaseВасилий Суворов, CEO FitBase

Как сделать классный продукт по автоматизации бизнес-процессов в сфере фитнеса, как набрать крутую команду программистов и где брать вдохновение на новые решения, расскажет CEO FitBase Василий Суворов.

Сколько тебе лет? Какой ВУЗ окончил?

Мне 33 года, окончил МГУС, факультет Информационные технологии.

Расскажи, почему ты решил заняться программированием.

Я плохой разработчик, я могу написать какие-то простые вещи на PHP или SQL-запрос. У меня лучше получается делать прототипы, писать технические задания и выяснять потребности наших клиентов. Вообще разработка тесно связана с автоматизацией любых задач. На мой взгляд, это основная задача инженера придумать как сделать процесс максимально автоматизированным. Это очень крутое чувство, когда что-то создаешь придумал, запрогал и видишь, как работает твое детище. И неважно, что это простой скрипт по парсингу данных или сложный продукт, который позволяет автоматизировать фитнес-клуб или большой завод.

Ты учился программированию самостоятельно или ходил на дополнительные курсы, кружки?

Я уже в школе начал самостоятельно увлекаться веб-дизайном и разработкой, в основном веба. В универе преподавали, на практике в основном по мануалам и на конкретных задачах.

Тогда не были распространены кружки, курсы по программированию. В веб-дизайне все просто открываешь сайт, который нравится и смотришь, как он написан (это то, что касается верстки). В помощь форумы, статьи и все, что возможно нагуглить. Еще у меня была книга PHP и MySQL. Разработка веб-приложений, автор Томсан Лора.

Расскажи о своей работе, какие у тебя обязанности, сколько зарабатываешь?

Я CEO компании, и мои главные задачи связаны с моей командой чтобы моя команда была сытая, была вдохновлена проектом, и чтобы у них не было препятствий для выполнения задач. Все это тесно связано с продуктом и лояльностью наших клиентов. Мне кажется, что моя основная работа связана с коммуникациями: с командой, клиентами, стартап- и фитнес-сообществами. Еще я пишу технические задания, рисую прототипы, считаю различные метрики, провожу интервью клиентов, занимаюсь позиционированием продукта и ищу слабые стороны в наших процессах. В общем, сейчас я не программирую совсем. Про зарплату не скажу, не имею права разглашать эту информацию. Получаю среднюю по рынку.

Команда FitBaseКоманда FitBase

Как ты подбираешь программистов в свою команду? Какими качествами должен обладать крутой специалист по твоему мнению? У меня плохой опыт поиска разработчиков через привычные для этого площадки вроде HeadHunter или Мой круг. Если нам требуются люди, я в первую очередь спрашиваю команду, есть ли кого посоветовать. И таких сотрудников у нас большинство. Из последних кейсов поиска сотрудников могу поделиться одним лайфхаком. Для поиска мобильного разработчика мы проанализировали сообщество фреймворка React Native, выявили там самых активных ребят, рассказали про продукт и предложили присоединиться к нему. В итоге мы нашли крутых мобильных разработчиков.

Рынок разработки перенасыщен предложениями, поэтому приходится не только мотивировать финансовой стороной, но и самим продуктом интересность, его социальные функции, имеет ли он глобальную цель. Мне кажется, что это важно.

Разработчик должен иметь хорошую фантазию он должен представлять, как будет работать его код еще до того, как он написан.

Знаю, у тебя есть сын. Ты бы отдал его в программирование? Знаешь какие-нибудь школы по программированию?

Да, мы пробовали отдавать его в робототехнику, но до нее долго добираться. Сейчас у нас открылась одна школа программирования рядом, летом начнет туда ходить. Ему это интересно. Еще он фанат Майнкрафта. Мне нравится, что есть игры, которые позволяют создавать свою собственную реальность.

Какие профессии в области IT наиболее перспективные по твоему мнению?

Я думаю, будущее за нейроинтерфейсами, робототехникой и автоматизацией.

Нейроинтерфейс это такая штука, которая позволяет связать мозг и компьютер напрямую. Мы не будем печатать или отдавать команды голосом, подумал и действие совершилось. Как рукой двигаем, так и компьютером, телефоном или роботом можно будет управлять. Это суперкрутой рынок. Илон Маск уже выпускает первые прототипы.

Расскажи, чем занимаешься в свободное от работы время? Ты проводишь много времени в кругу программистов. Развей миф о том, что программисты это сутулые бледные парни в огромных вязаных свитерах.

Я люблю активных отдых: бегаю, гоняю на велике, хожу в горы и походы. Этот миф идет с тех времен, когда программированием в основном занимались люди из научной сферы, которые решали стратегические и фундаментальные задачи по запуску ракет, освоению космоса и военные задачи. Сейчас разработчики это очень разные люди с разными интересами. Например, наш тимлид играет на барабанах.

Подробнее..

3 признака, что у ребёнка есть потенциал к программированию

31.03.2021 18:20:59 | Автор: admin
Фото: Bindaas Madhavi, FlickrФото: Bindaas Madhavi, Flickr

Если у ребёнка развиты нижеперечисленные качества, то, вероятно, программирование будет ему в кайф. То есть удовольствия будет больше усилий.

Абстрактно-логическое мышление

Логика основа программирования, которое можно назвать её эмпирическим исполнением. Некоторые даже склонны утрировать, что программирование это логика. В любом случае, умение мыслить логически необходимое условие успеха в разработке.

Абстрактно-логическое мышление умение оперировать не конкретными предметами, а сущностями. Оно включает определение отношений, общих свойств, паттернов, выдвижение гипотез и умозаключений, что в идеале приводит к верному решению проблем. Упрощая, это умение делать правильные выводы из предпосылок.

Чтобы успешно решать задачи, важно умело использовать виды логического мышления, не нарушать законы логики, избегать логических ошибок.

Интуитивное, в смысле нецеленаправленно наработанное, владение логическим мышлением в обыденности называют смекалкой или здравым смыслом.

Как проверить

Задачки на смекалку так или иначе затрагивают логическое мышление. Хотя они, конечно, определяют и креативность, метамышление, внимательность и множество прочих качеств, которые также бесспорно полезны в программировании.

Примеры:

  1. Нужно внести улучшение, чтобы с военных миссий возвращалось больше самолётов. Известно, что самолеты возвращаются с пробоинами. Наибольший ущерб зачастую нанесен фюзеляжу, чуть меньший крыльям, а наименее поврежденной остаётся область двигателя. Из-за недостатка бюджета можно усилить только одну деталь. Что нужно укрепить в самолёте? (Это типичная задачка на ошибку выжившего. Конечно, правильный ответ двигатель, потому что ни один самолёт после его повреждения просто не возвращается).

  2. У Маши есть две монеты на общую сумму 15 копеек. Одна из них не пятак. Что это за монеты? (Чистая логика и внимательность, если одна монета не пятак, то нет противоречия в том, что другая пятак. Из внимательности к посылкам очевиден ответ 5 копеек и 10 копеек).

  3. В двух кошельках лежит 4 копейки, причем в одном кошельке копеек вдвое больше, чем в другом. Как такое возможно? (В условиях не сказано, что исключена вложенность. Ответ один кошелёк лежит в другом).

Конечно, задачки выше для детей постарше. Им подойдёт и тест на предрасположенность к программированию, который состоит из 10 вопросов на проверку логического и причинно-следственного мышления, аналитических способностей, гибкости ума. Правда он на английском.

Для детей помладше подойдут задачки попроще. Например, платформа LogicLike предлагает логические задачи с вовлекающим визуальным и аудио оформлением, что немаловажно для малышей.

Алгоритмическое мышление

Алгоритм порядок действий для решения задачи. Программа инструкция для компьютера, алгоритм выраженный на языке программирования. Поэтому без умения мыслить алгоритмически никак. :)

Алгоритмическое мышление навык определения последовательностей шагов для решения задач. Проблема раскладывается на части и становится понятной. Также сила алгоритмического мышления в том, что оно позволяет автоматизировать типичные решения.

Все мы изучали алгоритм умножения в школе. Если мы (или компьютер) точно следуем выученным правилам, то можем получить ответ на любую задачу по умножению. Когда есть алгоритм, не нужно с нуля придумывать, как выполнить умножение.

Пример простейшего алгоритмаПример простейшего алгоритма

В исследовании последовательности, как фактора успешного освоения программирования, половина студентов могла построить в уме модель программы и пошагово её реализовать, а вторая нет. Из первой группы экзамен сдало 84%, из другой 48%. Поэтому обладание одной логикой не ключевой фактор, позволяющий добиться успеха в разработке. Важно уметь оформлять логику в систему.

Как проверить

Ребёнка помладше можно попросить научить вас что-то делать, например, застилать кровать или рисовать домик. Если он без проблем объяснит вам последовательность шагов, то с алгоритмическим мышлением всё в порядке.

Дети постарше могут показать своё умение собирать алгоритмы в удобной визуальной среде программирования Scratch, где последовательности действий создаются из графических блоков. А в целом алгоритмическое мышление заметно по умению успешно решать задачи из точных наук.

Твёрдость характера (англ. grit)

Твёрдость характера упорство в достижении долгосрочных целей. Это качество позволяет выиграть марафон, а не спринт. Если объяснять от обратного, то его противоположности хаотичность, импульсивность и рассеянность.

Свидетельство, что важность grit как минимум соразмерна важности IQ:

Как проверить

Анжела Ли Дакворт, профессор психологии в Пенсильванском университете, автор книги Твердость характера. Как развить в себе главное качество успешных людей, разработала простой тест из 10 вопросов, позволяющий определить уровень grit.

Конечно, для маленьких детей подойдёт нечто попроще например, аналог зефирного теста. Но важно, чтоб моментальное удовольствие было действительно желанным, ведь доказана неточность изначального зефирного теста умение откладывать удовольствие было свойственно детям из богатых семей (зефирка просто не была весомой наградой), а не обладателям развитой силы воли. Для детей из семей с низким достатком моментальная сладость была большой ценностью.

Так что, если ребёнок готов подождать, проявив силу воли, чтобы получить нечто ценнее моментального удовольствия, то у него хорошие шансы на успех в программировании.

P.S.: Я не просто так разместила твёрдость характера в конце, ведь считаю волевой и мотивационный компоненты самыми важными для успеха в любой профессии. Если ребёнок вдохновлён создать что-то, что возможно только благодаря программированию все остальные навыки будут взращены по пути. Слава нейропластичности!

Подробнее..

Перевод Прошло тридцать лет, а QBasic по-прежнему лучший

03.06.2021 14:23:54 | Автор: admin

Моему старшему сыну Ноа три месяца назад исполнилось семь лет. Если бы он мог обменять всю свою семью на два часа игры в Minecraft, то сделал бы это без раздумий. Ещё одна любовь всей его жизни это Super Mario Maker. У меня бегали мурашки, когда я видел, как он играет в уровни, которые я проходил в его возрасте. Примерно пять месяцев назад я покинул свою семью ради ежегодного паломничества на ludum dare: соревнование разработчиков игр, во время которого мы запираемся в квартире с друзьями, возвращаемся в состояние пещерного человека, не спим 48 часов и создаём с нуля готовую игру. Когда я гордо демонстрировал свою революционную игру уровня AAA своей жене, Ноа, разумеется, заинтересовался. Поэтому я познакомил его с миром кода, показал, как из простых слов (он только что научился читать) можно создать настоящую игру. С того самого дня Ноа постоянно просил меня научить делать собственные видеоигры. И в течение следующих пяти месяцев я искал Святой Грааль языка/IDE для детей в надежде превратить эту искру интереса в запоминающийся опыт

Мои поиски приводили меня на бесконечные форумы, благодаря которым я попробовал бесчисленное множество рекомендуемых языков и платформ: SmallBasic, Pico-8, Smalltalk, Scratch и т.д. Я даже задавал вопросы великим оракулам StackOverflow, но тщетно. Спустя пять месяцев я пришёл к разочаровывающему выводу: ничто и близко не сравнимо с тем, что было у меня в мои годы. 30 лет спустя QBasic по-прежнему остаётся лучшим языком для новичков в программировании.

Боже, пожалуйста, не учи его пользоваться GOTO!

10 PRINT "О НЕТ, ЧТО ЖЕ Т ДЕЛАЕШЬ?!20 GOTO 10

Да, QBasic ужасный процедурный язык. Он знакомит с концепцией, которая большинством считается вредной, использует неудобный синтаксис для неявных объявлений, он не регистрозависим, индексы в нём начинаются не с нуля, и так далее, список бесконечен При развитии навыка гораздо лучше нарабатывать правильные рефлексы с самого начала, чем исправлять годы неверной практики. Если последовать этому совету, то мне, вероятно, стоило бы начать с основ языка Ruby, который я люблю. Тем не менее, несмотря на то, что большинство этих концепций QBasic большинство считает красными флагами, в то время они имели свою цель: сохранение простоты и доступности языка; от этого принципа все остальные языки отказались в пользу гибкости, сложности и логики.

Сегодня я установил QBasic на 11-дюймовый HP Stream сына, установку пришлось выполнять вручную через DOSBox. Он дважды нажал на значок рабочего стола и спустя долю секунды мы уже увидели IDE, приветствовавшей нас вводным экраном, который вызвал у меня кучу воспоминаний:


Потом я сказал Ноа, что существует священный ритуал, обязательный для всех, входящих в тайный круг программистов: начинать обучение с программы, приветствующей всех программистов мира. Пока я диктовал формулу, он медленно искал каждую клавишу, аккуратно печатая пальцем правой руки волшебные слова: PRINT "hello world"

Он нажал F5 и поразился, увидев, как его код скопилировался в текст, отображаемый на чёрном экране. Он улыбнулся, дал мне пять, а потом записал код в свой маленький блокнот на будущее.


Мы изучили ещё пару команд: CLS, COLOR, PLAY, INPUT и IF. Ничего не нужно было объяснять: никакой сложности, никаких неуклюжих операторов, никаких абстрактных концепций, никакой документации, которую необходимо изучать, никаких концепций объектов/классов/методов, не требовалась установка никаких фреймворков, нет кучи меню и кнопок в IDE, никаких специальных ключевых слов или скобок. Это был код во всей его чистейшей простоте и форме.

Спустя менее часа он написал собственную программу интерактивное и невероятно изощрённое приложение, сообщающее о том, что думает о вас компьютер:


которое Ноа с искренней гордостью запустил для своего двоюродного брата и лучшего друга Кристиана:


после чего он легко объяснил, как оно работает и что делает код!


То есть всего за один час мой семилетний сын не только смог написать свою первую текстовую игру, но и ощутил удовольствие и трепет, возникающие при создании, компилировании и запуске собственной программы. Дополнительные очки за то, что она умещается на одной странице блокнота:


Я был так рад, что он понял, почему я постоянно говорю, что у меня лучшая работа в мире.

Единственное, о чём я сейчас сожалению, так это о том, что за тридцать с лишним лет мы не смогли придумать для детей чего-то лучшего: Qbasic имеет ограниченное множество простых ключевых слов (вся справка умещается на одном экране, вызываемом по F1, и дополнена простыми примерами!), не отвлекает кодера визуальными артефактами, обладает очень компактной и уютной средой разработки, сразу же указывает на ошибки, компилирует и исполняет код за доли секунды нажатием одной клавиши, и к тому же чрезвычайно прост. Мы создали более надёжные и сложные языки/фреймворки/IDE (которые, разумеется, необходимы для любого практичного приложения), но никогда не придумывали более простого способа получить прямой доступ к удовольствию от программирования, чем QBasic. Даже запуск QBasic сегодня стал пугающей задачей для новичков, работающих на современной машине Mac/PC/Linux, хотя раньше для этого достаточно было просто вставить 3,5-дюймовую дискету в дисковод A:\

Но, впрочем, хватит проповедей, сегодня ведь нужно праздновать знакомство ещё одного человека с радостями и красотой программирования!

Ура!



На правах рекламы


Наша компания предлагает современные серверы в аренду для любых проектов. Создайте собсвенный тарифный план в пару кликов, максимальная конфигурация бьёт рекорды 128 ядер CPU, 512 ГБ RAM, 4000 ГБ NVMe!

Присоединяйтесь к нашему чату в Telegram.

Подробнее..

ThinkFun или как появилась кампания, которая выпускает настолки и головоломки для будущих программистов

12.09.2020 12:12:41 | Автор: admin

4 февраля где то между 16-00 и 16-15 1985 года в подвале дома супругов Билла Ричи и Андреа Бартелло в Вирджинии родилась идея создать компанию, которая должна была воплотить идеи самых безумных математиков, инженеров и изобретателей в простые игрушки, которые оценят мальчики и девочки во всем мире.

80-е были тяжелым временем для индустрии игрушек. Компания Toys R Us занимала доминирующее положение на рынке, независимые магазины игрушек и игр прекращали свою деятельность, а крупные универсальные магазины отказывались от продажи настольных игр и головоломок на Рождество, что было для них традицией. Увлечение кубиком Рубика начала 1980-х годов, которое создатели восприняли как знак того, что их головоломки будут успешными, фактически оставило владельцев магазинов с огромным избытком Кубиков, которые безуспешно распродавались еще долгое время после.

Продуктовая линейка компании Binary Arts (так изначально ее назвали), на старте состояла из четырех игр-головоломок, изобретенных другом семьи Уильямом Кейстером (Spin-out, The Cat, The Horse и Hexadecimal Puzzle). Они использовали эти продукты в качестве стартовой площадки и в течение шести месяцев они смогли переместить штаб-квартиру компании из своего подвала в более удобное место и смогли начать расширять свою продуктовую линейку.

В 1990 году произошли две вещи, которые позволили компании выстрелить. Во-первых, рецессия 1989 года оставила без работы множество яппи (молодых городских профессионалов). Они стали искать менее дорогие игрушки и гаджеты для себя, в качестве которые идеально подошли сложные головоломки компании за 10 долларов.

В это же время начался рост пригородных торговых центров сети Edge City, которые привнесли новый формат магазинов для взрослых и жаждали свежих продуктов, включая сложные головоломки. Такие магазины, как The Museum Company, Natural Wonders, Brookstone, Chesapeake Knife and Tool, World of Science, Hudson Trail Outfitters и InGear, появились примерно в 1990 году и полностью изменили ландшафт розничной торговли в Америке. Мир розничной торговли изменился за несколько лет, и внезапно головоломки стали популярны и их перестали воспринимать как забаву только для детей. В компании начался творческий рост, и она стала привлекать множество авторов головоломок, нацеливаясь на взрослых.

В компании часто отмечают момент, когда к ним на стенд выставки Toy Fair зашел начальник по закупке игрушек из самого известного лондонского универмага Harrods Иззи Даддабой и сказал: Нам нужно вести совместный бизнес, а затем разместил огромный заказ.

Но не все шло так гладко. Осенью 1990 года, в преддверии войны в Персидском заливе американские военные по факту реквизировали фабрику по изготовлению головоломок под военный заказ. В ThinkFun вспоминают, что им выделили только одну машину, которой пришлось работать 24 часа в сутки, чтобы справляться с большими заказами, поступающими из новых магазинов.

Знаменательный момент для компании наступил в 1995 году, когда Ноб Йошигахара показал ей свою головоломку Tokyo Parking. Летом 1996 года она вышла на рынок как Rush Hour (Час пик) и в итоге стала культовым бестселлером.

Но рынок розничной торговли претерпел изменения, и на смену высококлассным магазинам, предназначенным для взрослых, пришло новое поколение высококлассных магазинов детских игрушек. В атмосфере конца 1990-х годов такие сети, как LearningSmith, Zany Brainy, Store of Knowledge, Noodle Kadoodle, а также интернет-магазин игрушек eToys, росли, как грибы после дождя. Этот период с 1995 по 2000 год был самым творческим и ярким в истории американской розничной торговли.

Компания смогла быстро перестроиться, позиционировав Час пик для детей. В кратчайшие сроки они выпустили на рынок Stormy Seas, Hoppers, Railroad Rush Hour, River Crossing, Lunar Lockout, Safari Rush Hour и многие другие сложные логические головоломки.

ThinkFun начали экспериментировать с научными игрушками, оптическими иллюзиями, простыми головоломками и начали работать со школами на местном уровне, чтобы узнать, какие игры могут быть использованы для обучения. Розничные покупатели жаждали чего-то необычного и главное полезного. Компания попыталась даже выйти на рынок компьютерных развлечений, но

Весной 2000 года пузырь доткомов лопнул, и множество технологических компаний сразу же обанкротились. Вместе с ними туда же отправились все модные ритейлеры, появившиеся на сцене в 1990-е годы. Рынок интеллектуальных игр и головоломок рухнул снова.
Компания решила вернуться к том, с чего начинала. Они продолжали делать отличные головоломки, но появилось новое направление настольные игры для дошкольников и детей младшего школьного возраста. Как и в момент основания компании, владельцы не совсем понимали в новой для себя ниш и их первые продукты Silly Stories, Picture Link и the Same Game не нашли своих покупателей. Но в это же время они выпускают ZINGO!

Простое детское лото Обучай-ка! оказалось настолько успешным, что позволило компании преодолеть кризис и стать вторым после Часа Пик продуктом, который до сих пор приносит прибыль компании.

В 2003 году BinaryArts меняют свое название на современное ThinkFun.

ThinkFun была одной из первых компаний-производителей игрушек, которая вышла на рынок приложений, и версии ее игр Rush Hour, Solitaire Chessи Chocolate Fixбыли запущены на iPhone, iPod touch и Android.

В 2014 году компания приобретает права мегауспешной на Кикстартере обучающей программированию игры Robot Turtles.

Впоследствии образовалась серия настольных игр Coding Games, которая сейчас состоит из следующей линейки:

  1. Упомянутая ранее Robot Turtles.

  2. Code Master - соло-игра для обучения программированию в стиле MineCraft.

  3. Серия игр-головоломок для 1 человека //CODE: On The Brink - программирование команд движений робота, Rover Control - программирование пути, Robot Repair - логические связи.

  4. Hacker - игра об буднях специалистов в области кибербезопасности (тут можно играть уже с соперниками

  5. Potato Pirates - игра также успешный выпускник Кикстартера о войне картофеля, где вам необходимо программировать успешные боевые действия для вашей армии.

Я упоминал часть этих игр в своей статье: http://personeltest.ru/aways/habr.com/ru/post/482140/

Но не только программирование, но и другие "скиллы" ThinkFun охватывает своей продукцией.

Та же головоломка Circuit Maze будет полезна будущим инженерам-электронщикам для развития логических навыков построения электрических цепей.

Линейка логических игр и головоломок компании достаточно обширна и ее можно посмотреть у них на сайте: https://www.thinkfun.com/products/type/logic-games/

Подробнее..

Перевод Как объяснить детям, что такое Apache Kafka за 15 минут с картинками и выдрами

19.06.2021 04:20:24 | Автор: admin


Я учусь иллюстрировать сложные процессы с помощью комиксов. Нашла себе в копилку крутой кейс: как с помощью комиксов про милых выдр можно ребенку объяснить такую сложную штуку как Apache Kafka, и сделать мир немного добрее.

Легко по течению легкое введение в потоковую обработку и Apache Kafka. Группа выдр обнаруживает, что они могут использовать гигантскую реку для общения друг с другом. По мере того, как все больше выдр перемещается в лес, они должны научиться адаптировать свою систему, чтобы справиться с возросшей активностью леса.

Под катом 25 слайдов, объясняющие основы Kafka для детей и гуманитариев. И много милых выдр.



Легко по течению



image

Поначалу, в лесу было тихо, и только две семьи выдр жили среди деревьев и рек.

image

Всякий раз, когда им нужно было поделиться новостями, они просто разговаривали друг с другом напрямую.

Они делились новостями о вечеринка в честь дня рождения, новых гостях и других событиях, происходящих в лесу.

image

Со временем, все больше и больше выдр переселялось в лес.

И точно так же росло количество происходящих в лесу событий.

image

Это было целым вызовом для маленьких выдр. Каждый раз, когда у выдры были новости, чтобы поделиться ими, она должна была найти каждую другую семью и рассказать им лично.

image

Это не только занимало много времени, но было чревато ошибками.

Что если какая-то выдрячья семья была на пикнике, и не могла получить уведомление о предстоящем событии?

image

Ну, тогда выдре, которая хотела оповестить соседей, придется вернуться позже или сдаться.

image

Поскольку остальные выдры общались друг с другом лично, говорили, что они Тесно Связаны.

Быть тесно связанными супер мило, но это делает коммуникацию с другими сложнее. Это называется Проблема Масштабирования.

image
Именно тогда у одной маленькой выдры по имени Никси, появилась идея, которая навсегда изменила лес.

По лесу текла огромная река Кафка, и Никси знала, что выдры могу использовать эту реку для общения.

Вы можете установить Kafka в своем лесу:

# clone the repositorygit clone \https://github.com/round-robin-books/gently-kafka.git# start kafkadocker-compose up


image

Она даже сочинила песню, чтобы объяснить, как это работает:

События свои
В реку ты опусти,
Река их отнести
Сможет выдрам другим.

Что о событиях,
Плывущих в потоке,
Этот путь удивителен,
Мы все тут в шоке.

image

Не отстанешь ли ты? вмешался дельфин
Нельзя оставлять все на милость глубин!

Не будет в доставке такого.
Мы командой реку разделим,
На множество мелких потоков
И вместе достигнем цели.

Давайте посмотрим, как это рабоnает



image

Во первых, выдра наблюдает Событие, что-то, что произошло в определенный момент времени.

К примеру, Сегодня вернулись пчелы это событие.

image

Дальше, выдра создает Запись о событии.
Записи (которые иногда называют сообщения) включают время события (отметка о времени) и дополнительную информацию о событии.

image

Тогда выдры смогут решать в какую часть реки направить это сообщение.

Река делится на потоки, которые называют Топики, которые делают организацию сообщений проще.

image

В итоге, выдры бросали свои сообщения в потоки (топики), чтобы другие выдры могли их найти.

По началу они использовали стеклянные бутылки, но бутылки просто уплывали.

image

Тогда, выдры переключились на стеклянные поплавки. Поскольку поплавки оставались на месте и никуда не уплывали, это было названо Устойчивостью.

Устойчивость важна, потому что это позволяет выдрам читать сообщения когда они захотят, к примеру после их пикника.

2 типа выдр



image

Выдры, которые помещают сообщения в реку, называются Продюсеры.

Продюсеры кидают маленькие партии сообщений в реку, не зная, кто придет читать их.

Незнание помогает Разделять системы, то есть выдр, которые создают события, и которые читают события.

image

Выдры, которые читают события в потоке называются Консьюмеры.

Консьюмеры следят за любым топиком, который их интересует.

Например, выдры Первой помощи следят за топиком с лесными алертами, так что они могут реагировать в чрезвычайных ситуациях (как в ситуации с пчелами).

image

Эта система работает хорошо, но спустя какое-то время река становится слишком загруженной огромным количеством событий. Как же маленьким выдрам все успеть?

Будучи социальными животными, они предпочитают работать вместе. Во первых, они скидывают огромные камни в реку, разделяя каждый топик на небольшое количество потоков, или Разделов.

image

Тогда, один член семьи, так называемый Лидер Группы, назначает подмножество мелких потоков (разделов) каждому члену семьи.

Это подразумевает, что каждая выдра ответственна только за ту часть потока, которую она мониторит.

image

Работая совместно в этом случае, каждая выдрячья семья называется Группой Консьюмеров, которая успевает следить за своей частью потока сообщений, сколько бы их не было всего в реке.

image

Более того, если выдра заболела или у нее есть дела, ее работу можно поручить другой выдре в ее группе.

Поскольку кто-то всегда был рядом, выдры были Высоко доступными.

И поскольку они могли справляться с Незапланированными Ситуациями, они были Отказоустойчивыми.

image

Еще существовала магическая часть леса, Земля Потоковой Обработки, где выдры могли делать реально классные вещи с событиями в реке.

image

Целая книга написана об этом магическом месте: Mastering Kafka Streams and ksqlDB

image

Выдры также построили дороги, которые называются Кафка Коннекторы, чтобы донести сообщения других сообществ в реку Кафка. Все присоединились к веселью.

image

Кафка продолжала помогать многим другим во всем мире. И возвращалась обратно в лес.

Жизнь шла своим чередом многие годы, а выдры жили долго и счастливо.



Я не удержалась, вот вам несколько фактов про выдр:



Выдрята, или щенки выдр, спят у мам-выдр на груди.



Взрослые выдры держат друг друга за лапки во сне, чтобы их не разделило течение.



А одинокие выдры, чтобы не дрейфовать, заворачиваются в водоросли.

Строго говоря, автор использует термин otter, что переводится как выдровые, и включает себя 13 видов животных с распространением по всему миру, кроме Австралии.

И если эти слайды вы действительно использовали этот материал на детях в образовательных целях, то завершить можно речевым упражнением:

В недрах тундры выдры в гетрах тырят в ведра ядра кедров. Выдрав с выдры в тундре гетры, вытру выдрой ядра кедра, вытру гетрой выдре морду ядра в вёдра, выдру в тундру.
Подробнее..

DataArt запустил бесплатную платформу Kiddo онлайн-задачник для школьников, изучающих Питон

15.10.2020 20:21:55 | Автор: admin


Пополнить базу собственными задачами может любой желающий, а на свой сайт встроить Kiddo не сложнее, чем плеер YouTube. Об идее детской образовательной площадки и ее реализации во время карантина рассказал Денис Цыплаков Solution-архитектор DataArt, вдохновитель проекта.

Что такое Kiddo?


Kiddo платформа, где дети учатся писать код на Питоне, решая задачи с быстрым фидбеком. Написанная пользователем несложная программа через API управляет сценами, на которых код мгновенно визуализируется. Сейчас таких сцен две: первая лабиринт, по которому, собирая печеньки и спасаясь от монстров, бегает маленький енот, вторая более хардкорная консоль, классическая среда для решения задач по программированию.


Задача пользователя довести енота до финиша, отмеченного флагом, собрать печенье и не попасться монстру

Kiddo не претендует на роль учебника, и начальные представления о программировании здесь все-таки нужны. Но как раз пособий для начинающих учить Питон с нуля в интернете и так хватает: навскидку можно назвать канал Python Books или сайт pythonworld.ru. Наша платформа может служить скорее дополнением к ним, сборником практических заданий. Впрочем, мне кажется, что любой ученик средней школы за пару дней, а скорее всего, заметно быстрее разберется, как решать задачки. Тем более, у нас достаточно подсказок.

Сейчас для каждой из двух сцен у нас есть по 2030 задач. В основном они довольно простые, особенно в варианте с енотом: вначале его нужно просто передвигать отдавать команды переместиться на две клетки вправо, затем на три клетки вниз и т. д.


Постепенно задачи усложняются, появляются движущиеся монстры, с которыми можно бороться с помощью бомб и пушек, сами дорожки начинают менять конфигурацию при генерации уровня

Консоль не очень веселая, это просто эмулятор компьютерного терминала. Зато там есть нетривиальные задачи, где в общем придется покодить. Хотя и они не потребуют титанических усилий школьник с ними вполне справится. Но главное, на эту сцену можно легко поместить хоть целую методичку с задачами, скажем, для первого курса вуза. Дописать их можно самостоятельно под конкретный собственный проект.


Для варианта с консолью на сайте Kiddo сейчас представлены 24 задачи

Чтобы встроить Kiddo к себе на сайт, нужно просто скопировать код вставки как у плеера YouTube.

Мы в DataArt думаем, что платформу можно использовать и на конференциях или, например, на днях открытых дверей (когда конференции запустятся, а двери наконец откроются). Игра для программистов, с одной стороны, устанавливает минимальный входной барьер, с другой это все-таки не совсем банальный ход, лично меня он не раздражает, в отличие от некоторых форм традиционной рекламы. Я понимаю, что реклама на конференция необходимое зло :-) Но тут есть способ сделать эту рекламу веселой и интересной. Конечно, мы рассчитываем и на сотрудничество с детскими школами программирования сейчас ведем переговоры с одной из них, посмотрим, что у нас получится вместе.

Чем отличается Kiddo?


Если мы посмотрим на любой обучающий сайт, то увидим три компонента:

  1. Собственно, учебник изложение теоретического материала, соответствующее выбранной методологии обучения. Грубо говоря, что, как и в какой последовательности мы рассказываем.
  2. Практические задания некий механизм, который позволяет тебе что-то сделать руками, допустим, пощупать определенную технологию. В крайнем случае эту часть может заменять видеоплеер, но на современных онлайн-платформах обычно она представлена в виде интерактивного элемента.
  3. LMS Learning Management System система управления курсом, которая отслеживает ваш прогресс, приписывает к группе, проводит тесты и экзамены, раздает ачивки, а заодно уточняет, кто вы и откуда пришли.


На обучающих сайтах эти три компонента, как правило, слиты в единое целое. Это понятно, поскольку каждый из них продукт с конкретной бизнес-целью, достижение которой требует максимальной вовлеченности пользователя. По той же причине, элементы геймефикации в LMS таких проектов часто выглядят очень сложно: квесты с межпланетными перелетами, инвентарь, прокачка навыков персонажа. Понятно, что многие обучающие проекты стараются приблизить к онлайн-играм, просто чтобы они выглядели максимально привлекательно. Но мне кажется неудобным, что такие продукты трудно или невозможно кастомизировать, а использовать по частям точно нельзя либо бери целиком, либо ищи другой. В этом отношении выбор у пользователя небогат.

Есть и другая проблема пробел между совсем детскими программами, где, допустим, нужно просто перемещать кубики по экрану, и IDE, где ты, работаешь вполне по-взрослому. Хотя отчасти промежуточную нишу заполняют игры про программирование, доступные в том же Steam, например TIS-100. Они обычно напоминают те, на каких я сам учился лет 30 назад на бытовых компьютерах. Главное в них быстрый фидбек-цикл: ты пишешь нормальную программу на более-менее взрослом языке программирования и получаешь мгновенную визуализацию: что-то или кто-то крутится, бегает, прыгает и т. д. Однако и такие игры можно использовать только как цельный, самостоятельный продукт вычленить задачи, чтобы встроить в собственный образовательный цикл, невозможно.

Как-то я наблюдал за младшей дочкой, решавшей задачки по программированию на российском образовательном портале. Она их тогда нащелкала около 90 штук: справедливости ради, надо сказать, что сами задачи довольно простенькие, зато с визуализацией и скоростью фидбека там все неплохо. В процессе у меня возникла идея: создать универсальный компонент, который можно переиспользовать или встраивать в сторонние проекты делать с ним, что захочется, создавать более сложные задачи. Его можно совершенствовать как опенсорс и на этой базе выстраивать разные циклы обучения. Главное, чтобы пользователь допустим, школьник писал несложный код, который тут же исполнялся, причем на экране происходило бы нечто, выглядящее достаточно весело.

Как мы делали Kiddo?


Идея платформы, а точнее, компонента, который можно встроить к себе прямо в браузере, возникла у меня больше года назад. Хотелось, чтобы любой, кому это будет интересно, смог бы его расширять. Чтобы в итоге можно было строить глубокие и сложные задачи, начав с простых. Сначала все развивалось медленно, потом с помощью внутренней инициативы Talent Lab, где мы проверяем гипотезы и создаем небольшие проекты для себя, дело пошло быстрее.

Но, конечно, довершила дело самоизоляция. Времени стало больше, к тому же, интерес к проектам для детей у коллег-инженеров заметно вырос. Наверное, многие на собственном опыте или опыте близких убедились, насколько сложно бывает занять ребенка дома.

В целом мы уложились всего в 350 продакшен-часов. Правда, где-то нам помогали коллеги, которые временно оказались вне клиентских проектов. Мы двигались итерациями, и внутренних альфа-релизов у нас был чуть ли не десяток. Ну и поскольку мы действовали дискретно и силами тех, кто оказался свободен в конкретный момент, у нас накопился титанический технический долг. Поэтому мы почти месяц занимались рефакторингом.

Какие-то фичи пока остались только в драфте, но проект можно масштабировать. Задачи в основном придумывали сами разработчики, но наполнять базу дальше можно практически бесконечно. С визуализацией проблем не возникло: мы остановились а близкой многим концепции обобщенно-аркадной игрушки, скажем, из конца 1980-х. Я сам когда-то на Ассемблере штуки три таких сделал.

Что дальше?


Сейчас мы занимаемся локализацией платформы для разных стран, а ее исходный код виложили на GitHub. Но пополнять базу заданий и забирать Kiddo к себе на сайты можно в любой момент. Задачки пишутся на JavaScript, их сложность не ограничена ничем, кроме фантазии автора. У нас есть набор готовых картинок для задач с графическим полем, но если хотите, можно нарисовать свои.



Наконец, если кто-то захочет добавить к Kiddo что-то свое, допустим, чтобы в качестве элемента он более органично выглядел на конкретном сайте, можно просто написать нам на kiddo@dataart.com. Думаю, мы что-нибудь придумаем. Ну или можно форкнуть код на GitHub и сделать все самостоятельно.
Подробнее..

Роботы-игрушки. Топ-10 проектов c Kikstarter для развития ребенка и обучения программированию

06.05.2021 16:19:55 | Автор: admin

Одним из направлений робототехники стали интеллектуальные игрушки для обучения детей творчеству, основам наук и программированию. Порой такие детские роботы уже обладают элементами искусственного интеллекта (ИИ) и способны самообучаться в процессе общения. Воплотить в жизнь самые оригинальные идеи из детской игровой робототехники помогают небольшим стартапам платформы Кикстартер и Индигого. Из представленных на этих краудфандинговых платформах проектов мы сформировали подборку наиболее востребованных идей, получивших финансирование для дальнейшего развития проекта.

Clicbot обучающий робот-игрушка

Clicbot универсальный программируемый робот-игрушкаhttps://youtu.be/sJaa1-Vnz4EClicbot универсальный программируемый робот-игрушкаhttps://youtu.be/sJaa1-Vnz4E

Clicbot универсальный программируемый робот-игрушка. Благодаря модульной конструкции робот можно собрать в виде гуманоида, двух и четырех колесной тележки, манипулятора, напоминающего формой и движениями промышленные роботы-автоматы. Имеется 50 предварительно запрограммированных забавных конструкций и множество других вариантов для самостоятельного творчества.

Интерактивный Clicbot способен слушать собеседника и реагировать на его действия. Хотя, он и не предназначен для использования в качестве полностью автономного робота-компаньона, но его поведение может легко программироваться. У Clicbot более 1000 настроек и каждая имеет свои под варианты. Он может ходить, ползать, танцевать, ездить, участвовать в гонках или даже подавать утренний кофе, увлекая детей занятиями по робототехнике и программированию.

Головной блок управления включает акселерометр, гироскоп, датчик расстояния, микрофон, динамик, модуль Wi-Fi. Видеокамера позволяет распознавать лица и образы, команды управления, поддерживает технологию FPV (First-Person View) для телеприсутствия и удаленного наблюдения. Для программирования Clicbot можно использовать графический редактор Google Blockly или язык Python

На платформе Кикстартер ClicBot собрал $903 248 от 1678 спонсоров.
keyirobot.com

Bittle программируемый роботизированный кот

Bittle это игрушечный аналог роботов от Boston Dynamic. Он чем-то напоминает и другого робота-собаку Sony Aibo. Но при этом Bittle продается по цене роботизированной игрушки в виде конструктора для самостоятельной сборки.

Bittle умеет ловко преодолевать препятствия, двигаясь на четырех лапах как настоящие животные. Он может запоминать десятки шаблонных движений, выполнять причудливые трюки по командам с пульта управления. А в случае потери равновесия и опрокидывания робот способен вернуться в исходное положение и продолжить движение к цели.

Bittle создан на основе доработанной платы Arduino, для сложных движений использует различные датчики и внешние устройства. Плата управления включает процессор Atmega328P/16 МГц, 2 КБ памяти SRAM и 32 КБ флэш-памяти. Кроме того есть инерциальный измерительный модуль, блок ШИМ для 12 сервоприводов, инфракрасный приемник и зуммер. Есть 4 разъема для модулей расширения.

Bittle это открытая платформа, позволяющая объединить гаджеты разных производителей в единую систему. Добавить роботу возможности ИИ можно подключением микрокомпьютера Raspberry Pi. Написанная на Python программа может запускаться на Raspberry Pi и других поддерживаемых процессорах, управляя Bittle через проводное или беспроводное соединение.

Для упрощенного программирования есть фреймворк OpenCat. Он определяет минимальную структуру данных и алгоритмы движений для четвероногих роботов. Вы сможете научить Bittle новым навыкам и трюкам, чтобы выигрывать призы в соревнованиях международного сообщества OpenCat.

На развитие проекта Bittle на Индигого было собрано $709 391 от 2505 спонсоров.
petoi.com

MOSS универсальный инструмент для обучения программированию

Комплекты MOSS от компании Modular Robotics это оригинальный конструктор для создания роботов. Разнообразные по назначению, программируемые кубики (Cubelets) легко комбинируются и позволяют собирать сотни разнообразных роботов.

Подбор кубиков в процессе сборки робота имитирует процесс простейшего программирования. Программирование с помощью графического редактора Blockly и MOSS Scratch задает алгоритмы контроля датчиков и управления исполнительными механизмами для движения, поворотов, подачи световых и звуковых сигналов.

Программировать и управлять роботом можно через Bluetooth с помощью смартфона или планшета с клавиатуры или пульта дистанционного управления.

При первоначальной цели на Кикстартер в $100 000 для финансирования проекта удалось собрать $361 293.

modrobotics.com

Makeblock Neuron платформа электронных строительных блоков

Makeblock Neuron это удобная для сборки программируемая платформа с использованием электронных строительных блоков. Более 30 типов блоков в виде кнопок, джойстиков, сенсоров и датчиков звука, освещенности, температуры, влажности и других параметров позволяют создавать множество оригинальных гаджетов.

Для соединения блоков между собой предусмотрены подпружиненные разъемы с магнитами. Помогает при этом интуитивно понятная система программирования. Каждый блок уже имеет предварительно запрограммированную функцию. Программировать новые функции можно в приложении Neuron или в редакторе mBlock 5. Для беспроводной передачи сигналов управления используются технологии Bluetooth и Wi-Fi.

Проект Neuron от китайской компании Makeblock получил на Кикстартер одобрение 1464 спонсоров, вложивших в развитие этой идеи $367 129.

makeblock.com

Thimble: новая электронная игрушка каждый месяц

Электронные наборы компании Thimble предназначены для любознательных детей и взрослых. Они помогают в увлекательной форме изучать основы электроники, робототехники, мехатроники и программного обеспечения. Новые наборы деталей для создания высылаются по подписке ежемесячно.

Среди наборов Thimble представлены комплекты для сборки игровых контроллеров, музыкальных синтезаторов, устройств для Умного дома. Можно заняться сборкой более сложных программируемых роботов на микроконтроллере Arduino с управлением через Wi-Fi.

Для начинающих предназначены более простые наборы: различные световые и музыкальные игрушки, термометры, таймеры, дверные звонки. Приложение Thimble включает пошаговые руководства по сборке и позволяет обмениваться опытом и знаниями с другими сборщиками каждой игрушки.

Для развития проекта Thimble через Кикстартер собрано $295 760 от 1776 заинтересованных заказчиков.

thimble.io

MarsCat домашний робот-кот

Полностью автономный, интерактивный MarsCat идеальный робот-игрушка с программируемыми возможностями. Он может выражать эмоции мяуканьем, движениями тела и глаз. Сделать поведение MarsCat натуральным и выразительным помогают 16 серводвигателей.

Программируемый микроконтроллер ATMega2560 позволяет реализовать 6 программируемых шаблонов поведения, MarsCat может быть восторженным или задумчивым, энергичным или ленивым, общительным или застенчивым.

Моделировать поведение настоящего животного помогают алгоритмы ИИ, реализуемые миникомпьютером Raspberry PI. Приобретенные одним роботом навыки и шаблоны поведения хранятся в отдельном модуле памяти и могут быть легко воспроизведены в другом роботе простой заменой памяти. Программировать поведение робота MarsCat помогает специальный комплект разработчика.

Реализовать проект MarsCat в жизнь помогли 227 спонсоров, вложивших в эту идею через Кикстартер $213 198.

elephantrobotics.com

Робот-автомобиль Zumi

Роботизированный автомобиль Zumi помогает детям изучать основы сложных наук, писать программы с использованием блочного кодирования и языка Python. Более опытные программисты смогут создавать программы для уникальных экспериментов с беспилотными автомобилями, научатся проектировать собственные нейронные сети, чтобы обучить Zumi классифицировать объекты и распознавать лица и жесты людей.

В процессе передвижения по трассе Zumi использует Tensor Flow и Open CV это те же самые программные инструменты, что есть и у настоящих беспилотных автомобилей.

Прототип Zumi был удостоен награды Лучшая инновация в категории Роботы и дроны на выставке CES 2019

Реализовать проект Zumi в жизнь помогли 888 спонсоров, вложивших в эту идею через $150 091

shop.robolink.com

ROYBI портативный робот-компаньон с ИИ

Портативный компаньон на базе ИИ создан для обучения детей иностранным языкам и базовым навыкам точных наук. Интерактивный робот идентифицирует ребенка по лицу, распознает эмоции и демонстрирует дружелюбное поведение для вовлечения детей в процесс обучения. Система распознавания голоса позволяет оценивать точность ответов и произношения.

ROYBI взаимодействует с повсеместно доступной онлайн-платформой для обучения детей и взрослых. Контролировать и оценивать занятия помогают формируемые роботом отчеты с рекомендациями по улучшению процесса обучения.

ROYBI был включен в США по версии CNBC в список 100 наиболее перспективных стартапов в 2019 году.

Запущенный на платформе Индигого проект ROYBI привлек $120 538

roybirobot.com

Заботливый Kiki

Kiki это робот-компаньон для детей и взрослых. Он распознает эмоции и действия собеседника, способен реагировать на них. Робот развивает свои уникальные способности в зависимости от особенностей взаимодействия с окружающим миром, при этом меняется и его поведение.

Высокопроизводительный встроенный процессор позволяет Kiki запускать модели глубокого обучения, чтобы распознавать лицо и адекватно воспринимать реакции собеседника. Несколько сенсорных датчиков в разных частях корпуса помогают воспринимать поглаживания, а всенаправленные микрофоны позволяют искать человека даже вне поля обзора камеры.

Реалистичное поведение этого робота базируется на исследованиях ведущих психологов о личностных особенностях человека. Действия в соответствии с заложенными моделями поведения и обучения обеспечивают некую осмысленность и логичность поступков Kiki.

Самообучающийся робот Kiki собрал на платформе Кикстартер $105 611.

kiki.ai

Smartipresence простой робот телеприсутствия

Конструктор Smartipresence поможет создавать собственных недорогих роботов телеприсутствия на основе любого смартфона.

Запущенное на смартфоне приложение поддерживает режим ИИ и позволяет распознавать образы с помощью облачного сервиса. По команде пользователя Smartipresence в сеансе видеосвязи будет сопровождать человека или даже домашнее животное, чтобы его лучше видел удаленный собеседник. Режим действий Smartipresence задается через приложение на смартфоне. Smartipresence можно визуально программировать в среде Scratch, либо с помощью Espruino на основе языка JavaScript.

Этот проект английского инженера Росса Аткина уже поддержали на Кикстартер 186 спонсоров, собравших для запуска проекта $17329.

В этой подборке мы собрали наиболее интересные и перспективные модели детских роботов-игрушек, включающие технологии телеприсутствия, распознавания речи и голоса, автономность действий и поведения на основе ИИ и машинного обучения, которые еще недавно были доступны лишь взрослым роботам.

Напишите в комментарии, а какие на ваш взгляд наиболее перспективные роботы-игрушки есть на рынке или уже у вас дома?

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru