Расширение «Перо»
В Scratch кроме стандартных категорий блоков таких как «Движение», «Внешний вид» и так далее, которые сразу доступны во всех проектах, имеются другие. Их называют расширениями или дополнениями. Чтобы увидеть все доступные расширения, надо нажать на кнопку «Добавить расширение», которая находится на вкладке «Код» в самом низу. После этого откроется окно, где можно выбрать дополнение.
Большинство дополнений предполагают использование внешних устройств, таких как камера, робот и другие. Однако не все.
После выбора расширения «Перо» во вкладке «Код» среды программирования Scratch появляется новый раздел с блоками-командами, которые позволяют рисовать на сцене. Это значит, что спрайты при перемещении смогут оставлять после себя видимую линию.
Вот пример сценария для кота:
Проиграв его, получим такую картину:
Когда у спрайта поднято перо, то он не оставляет линии при перемещении. Когда перо опущено, как бы вы не перемещали спрайт из точки А в точку Б, от А до Б будет рисоваться линия установленного цвета и толщины.
Команда «печать» отпечатывает изображение спрайта в том месте, где он находится.
В Scratch можно создать сценарий, когда при его запуске пользователь сам будет рисовать, перемещая героя. Добавим на сцену спрайт-карандаш и запрограммируем его следующим образом:
Игру следует запускать в полноэкранном режиме. В режиме программирования скрипт не сможет правильно работать.
После запуска карандаш можно перемещать мышью, и он будет оставлять след. Можно намалевать на сцене что-угодно. Однако линия будет выходить не из кончика карандаша, а его середины, что неправильно. Исправляется это редактированием костюма.
В центре холста есть чуть видимая точка, которая обозначает центр спрайта. Именно из этого центра рисуется линия. Надо переместить к центру холста кончик карандаша.
Рисовать мышью не совсем удобно. Поменяем управление на клавиатуру:
Теперь карандаш управляется стрелками клавиатуры. Когда мы нажимаем пробел, то попеременно меняем состояние пера. Поднимая перо, мы можем перемещать карандаш по сцене без рисования линии.
Сценарий спрайта можно усложнить, добавив к нему скрипты смены толщины пера и цвета. Пусть цвет, например, задается случайным образом:
А что если мы хотим, чтобы карандаш печатал не самого себя, а какой-то другой спрайт? Этот другой спрайт должен появляться из кончика карандаша при нажатии, скажем, клавиши 0.
Тогда этому спрайту надо как-то передать координаты карандаша. Однако проще воспользоваться командой «перейти на …», в которой вместо «случайное положение» следует выбрать имя спрайта-карандаша.
Составьте программу, которая при запуске выводит на сцене окружность, состоящую из печатей спрайта.
X Скрыть Наверх
Программирование в Scratch. Курс
Повсеместное программирование: достаточно ручки и бумаги
Новые идеи могут прийти на ум программисту в любое время — например, на прогулке или в очереди. Для обмена идеями отлично подходят рабочие планерки. Какой-то комментарий сам по себе может быть странным или предсказуемым, но в нем попадется несколько фраз, которые привлекут мое внимание. Они смешаются с какими-то незаконченными мыслями и впечатлениями вчерашнего дня.
Так рождаются новые идеи
Оставшаяся на настольном компьютере среда разработки никогда не кажется такой далекой и такой тяжелой на подъем, как в те моменты, когда у тебя в голове задыхается и чахнет новая идея, которой нужен «глоток воздуха», чтобы заявить миру о своем существовании.
Если мы спешим, то можем хотя бы законсервировать идею — набросать ее на бумаге, пока ее помним, а потом вернуться к ней, когда будет время. Но иногда этот момент бывает упущен, искра гаснет, а вернуть ее не удается. Требуется снова искать пищу для ума. Правда, сегодня уже есть Twitter. Этот сервис не назовешь отличным инструментом для записи идей программиста, но Twitter отлично подходит для записи тех кратких мыслей и остроумных замечаний, которые в другой среде остаются неуслышанными и неоцененными.
Я думаю, что Twitter не менее удобен для записи коротких программ и кратких программинг-сессий, длящихся от тридцати секунд до нескольких минут. Подобную роль Twitter может играть и в социальных взаимодействиях: отслеживание программ, которые находятся в процессе разработки, обмен предложениями, опровержение, расширение, интеграция идей.
Под «повсеместным программированием» (Ubiquitous programming) я понимаю возможность программировать где угодно и когда угодно, даже в такие короткие свободные минутки. Термин указывает на связь такого подхода с более масштабным явлением «повсеместных вычислений». Конечно, термин «повсеместное программирование» впервые употребил не я, но мне нечасто приходится встречать людей, которые буквально понимают это выражение (а не как «программирование для систем, обеспечивающих повсеместные вычисления»).
В последнее время я не раз задумывался о повсеместном программировании, так как меня одолевали новые идеи. Некоторые из них я изложил в статье «Abadoning Commitment in HCI» и в дискуссии с группой программистов, занимающихся технологией дополнения пользовательского ввода.
Как бы то ни было, после приобретения смартфона я не раз задумывался, как можно использовать его для программирования. Идей почти не было, пока один приятель не объяснил мне интерпретацию интерпретации замечательной статьи Брета Виктора «Доступное программирование», в которой Виктор критикует излюбленный способ записи моего друга. Не подумайте, что он стал жаловаться: «Ой-ой, не трогайте мою нотацию!», он просто натолкнул меня на интересные мысли. Я стал размышлять: какой способ записи идеально подошел бы для повсеместного программирования?
Ручка, бумага и камера
Уже сама идея писать код на сенсорном экране смартфона мне неприятна. Даже когда я ввожу через тачскрин информацию на естественном языке, я чувствую себя скованным — визуально, физически, духовно, эмоционально. Ладони у меня большие, они закрывают экран, правильно поставить курсор удается не с первого раза. Еще часть экрана закрывает виртуальная клавиатура. Если бы мне пришлось впихнуть на такой экранчик окно IDE — предложения, аннотации, ссылки и т.д., — то совершенно не было бы места не то что для кода и комментариев, а даже для моих собственных мыслей. Планшет и ноутбук неудобны по другим причинам. Они довольно тяжелые, их нужно слишком долго готовить к работе, и, конечно, они не находятся рядом в тот самый момент, когда тебя озарила идея. У меня нет карманов, в которые влезал бы планшет, а если бы и были, не представляю, как можно удобно усесться с такими карманищами.
Но когда я подумал об очках, они показались мне интересным вариантом
В очках для дополненной реальности есть встроенная камера, которая «видит» то же, что и я. Если я смотрю на код, то могу тут же загрузить этот код в программу. То же самое можно сделать и при помощи камеры смартфона: сфотографировать сделанные наброски. Тогда первое грубое редактирование можно выполнять уже не на экране. Достаточно иметь с собой небольшую стопку простой бумаги и ручку, эти вещи легко носить в кармане или кошельке. А более запасливый человек может носить с собой даже общую тетрадь или блокнот в переплете.
Ручка, бумага и камера становятся основными устройствами ввода. «Носитель» программы — бумага — может быть и большим, и маленьким, смотря как его сложить. Тонкая ручка — гораздо более удобное устройство ввода, чем палец. Кстати, возможно, кому-то будет удобнее работать карандашом.
Если выполнять редактирование на бумаге, то экран смартфона остается свободен для более сложных аспектов разработки: аннотаций, предложений, запросов на разъяснение, предупреждений, ошибок, выстраивания взаимосвязей с другими программами. При работе с очками подобные элементы могут отображаться в наложенном слое или на периферии.
Модульность, связывание, совместное использование
В таком случае мы не сможем напрямую подключать подпрограммы, которые пишутся на других «холстах». Допустим, мы записали их на других листах блокнота, которые не хотим вырывать. Соответственно, межпрограммные взаимосвязи также выстраиваются в виртуальном пространстве. Автор нарисует нужную связь на бумаге — например, начертив прямоугольник или добавив немного контекста (скажем, заголовок или другая надпись, может быть, дата, номер версии и имя автора). Имея такое представление в качестве подсказки, а также менее явные подсказки (это может быть история просмотренных автором программ), мы сможем отобразить на телефоне или в очках существенное количество вариантов.
Выбирая варианты, выстраивая взаимосвязи, мы превращаем программу в нечто большее, чем просто наброски на бумаге. Получается более значимая, точная, логичная, правильная, интегрированная сущность. Разработка и редактирование превращаются в смешанную картину, состоящую из виртуальных операций и реальных дополнений (а иногда и сокращений — допустим, нам потребовалось стереть или зачеркнуть элемент). Фактически программа — это виртуальный объект, поддерживаемый в среде программирования. Программу желательно располагать в облаке (общедоступном или закрытом) и синхронизировать с локальным хранилищем данных (на случай неожиданного вылета в оффлайн). Программа останется таким объектом, если не будет повреждена и до тех пор, пока она будет доступна для понимания. Виртуальные программы индексируются по многим показателям: автор, дата, местоположение, содержание, комментарии, взаимосвязи, история и прочая визуальная информация, находящаяся «на кончиках пальцев».
Если у вас есть доступ «только для чтения» к моему облаку, я могу дать вам блокнот, и вы сможете читать программы. Не только рассматривать мою полуразборчивую писанину, но и улавливать связи, читать разъяснения. Моя библиотека станет для вас досягаема. Повсеместное программирование предполагает совместное использование именно таким чудесным осязаемым образом, напоминающим обмен книгами. Разумеется, вы сможете воспользоваться и методом «электронной книги», просматривая облако непосредственно с экрана. Но это, пожалуй, будет намного менее удобно.
Схемы и заметки в произвольной форме
Современное программирование — это в первую очередь написание текста, так как именно текст набирается на клавиатуре. Для ввода в произвольном формате можно использовать мышь, но мне это показалось довольно неудобным. А вот работая с ручкой и бумагой, мы можем рисовать какие угодно графики, схемы, стрелки, функциональные кривые, наброски (символы, карты, взаимодействия), специальные математические символы и т.д.
Это особая свобода, которая и привлекает меня возможностью делать наброски параллельно с обдумыванием идей. Я охотно покупаю общие тетради, наборы ручек, с которыми хожу и в парк, и в ресторан. Мне уже зачастую нелегко вернуться к написанию программ обычным негибким текстом.
Мне нравится делать наброски, заметки на полях. Я объединяю идеи. Я не в восторге от структурных редакторов, а вот совершенно «неструктурированное» редактируемое пространство, в котором можно представить хорошо структурированный объект виртуальной программы (при помощи объяснений и ограничивающих условий), очень меня привлекает.
Не только текст
Обычно мои наброски из рабочих тетрадей превращаются в путаные обрывки информации, к которым я никогда не возвращаюсь (они мне просто не нужны после того, как я полностью усвою записанные в них концепции). Но если бы все эти эскизы, наброски, схемы и прочая информация индексировалась, становилась доступной для поиска, изучения, воспроизводилась на носителе, который не горит, то это значительно обогатило бы текстовую информацию (не обязательно связанную с программированием). Часто на рабочих собраниях люди фотографируют схемы, сделанные на маркерных досках. Почему всю эту информацию никто еще не сохраняет и не индексирует? Есть ли в наличии подходящий для этого инструмент? Дарю идею для революционного приложения, которое озолотит своего создателя, — развивайте!
REPL, виджеты, живой кодинг
Независимо от того, работаем ли мы с умными очками или камерой, наши программы, написанные на бумаги, будут отличаться высокой интерактивностью. В частности, это касается вычисления выражений. Как записать серию выражений и сразу же узнать их значения? Запросто, если программа создается ручкой на бумаге.
Интересная возможность связана с развитием концепции REPL-среды полнофункциональных виджетов. Выражение должно результировать не в обычную величину, а в осязаемое значение, или оголенный объект, или в подобную сущность, которую можно представить в виде виджета, наблюдать ее и манипулировать ею. В частности, такие виджеты могли бы управляться голосом или жестами.
Виджеты, разработанные таким образом, могут управлять состоянием в реальных системах и оказаться удобной основой для повсеместных человеко-компьютерных взаимодействий (HCI). Открываем блокнот на нужной странице. Настраиваем несколько необходимых виртуальных ползунков и флажков. Берем чистый лист бумаги и записываем на нем несколько программ или ссылок на них. Загоняем это в нашу среду разработки — всё, виджет готов.
Понятие «живого кодинга» противоречит повсеместному программированию, но я считаю, что две эти методики могут хорошо взаимодействовать на стыке программирования и человеко-компьютерных взаимодействий: при разработке таких виджетов и REPL-сред.
Как максимально эффективно использовать цвет?
Программируя ручкой на бумаге, мы теряем подсветку синтаксиса. Разработчики, которые не желают от нее отказываться, могут воспользоваться разноцветными ручками или цветными карандашами. Но при повсеместном программировании, как и в повсеместных вычислениях, я не склонен использовать семантический цвет как минимум по шести причинам:
- если у цветов разная семантика, то перед наброском идеи требуется тратить драгоценное время на сортировку карандашей;
- при использовании нескольких цветов потребуется носить с собой гораздо больше карандашей или ручек, такое количество может не уместиться в кармане;
- чем проще контрастность, тем лучше ее будут обрабатывать алгоритмы машинного зрения;
- с цветами неудобно работать при изменяющемся освещении (особенно при необычном, например, неоновом свете);
- в повсеместном программировании/HCI могут прижиться невидимые ссылки (инфракрасные, ультрафиолетовые, использующие дифракцию на кристаллах), но обычно таким ссылкам не хватает гибкости при представлении цветовой информации;
- чем проще контрастность, тем более повсеместным получается программирование
Тем не менее цветовые возможности могут найти применение в чуть более сложном подручном программировании или компиляции.
Что дальше
Думаю, повсеместное программирование при помощи ручки и бумаги — многообещающая и интересная возможность, которую можно реализовать уже сегодня. При такой работе предпочтительно было бы использовать умные очки (особенно при работе стоя или в движении), но смартфоны более распространены, доступны и лучше подойдут для начала. Существующие сегодня алгоритмы машинного зрения в принципе достаточно совершенны для достижения этой цели. Нужное для работы облако также несложно реализовать (предпочтительно на базе свободного ПО).
Здесь я не затронул еще одного аспекта, необходимого для реализации этой модели, — речь об интеграции такого гибкого синтаксиса с моделью программирования. При этом можно обойтись и без протокола RDP (хотя я бы только приветствовал это). Несколько лет назад я много размышлял о синтаксисе и пришел к выводу, что его стоило бы упростить по максимуму, ради сохранения статического восприятия кода.
Интересно, может ли какой-либо подход, связанный с пользовательским синтаксисом, помочь развить специализированный визуальный и схематический синтаксис. Объединив такой подход с применением виртуального объекта программы, мы сможем значительно отложить выстраивание синтаксиса. Достаточно начать писать, а синтаксис разъяснить уже потом (ведь синтаксис — это просто еще один вид связей внутри программы!).
Что такое «ручки» на сленге программистов?
Ну в том числе у нас есть такие ручки, в том числе продуктовые ручки, когда нужно чтобы в определенный момент в браузере что-то замигало. Ну вот это не сильно нагруженные ручки. Очень нагруженные ручки мы стали писать на плюсах.
Отслеживать
задан 20 июн 2015 в 21:38
113 1 1 золотой знак 1 1 серебряный знак 5 5 бронзовых знаков
Это что-то яндексоспецифическое, видимо. Ни разу не слышал слово «ручки» в таком контексте.
20 июн 2015 в 21:39
предположу: «инструменты», в контексте цитаты, логично вытекает, «собственные наработки программного обеспечения». СЕО контекст — обработка некоторого объёма информации путём визуального просмотра, это объясняется спецификой некоторых тематик
20 июн 2015 в 22:00
4 ответа 4
Сортировка: Сброс на вариант по умолчанию
Это термин специфичный для Яндекса, пошел от «ручек управления» — т.е. что-то, за что можно подергать, чтобы произошло какое-то действие. Часто используется в словосочетании «дернуть ручку».
К handle никакого отношения не имеет. К UML возможно тоже, т.к. он в документации не используется.
Отслеживать
ответ дан 21 июн 2015 в 11:04
31k 13 13 золотых знаков 96 96 серебряных знаков 157 157 бронзовых знаков
Кажется, это должно быть принятым ответом.
13 окт 2021 в 14:43
Ручки — это, например, URL’ы в API какого-нибудь сервиса.
Вот, например, API Яндекс.Диска.
Я могу сказать: «Чтобы загрузить файл на сервис, мне надо дёрнуть ручку https://cloud-api.yandex.net/v1/disk/resources/upload и получить URL для закачки».
Отслеживать
19.1k 6 6 золотых знаков 30 30 серебряных знаков 44 44 бронзовых знака
ответ дан 20 июн 2015 в 22:05
421 2 2 серебряных знака 5 5 бронзовых знаков
слово «ручка» в данной документации не упоминается
30 дек 2020 в 4:58
Подозреваю, это может быть как-то связано с внешним видом реализуемых компонентом интерфейсов в UML, которые выглядят как рукоятки в механике/гидравлике:
Соответственно, «дернуть ручку» — воспользоваться интерфейсом.
Отслеживать
ответ дан 21 июн 2015 в 10:43
34.5k 15 15 золотых знаков 65 65 серебряных знаков 94 94 бронзовых знака
Ручка — это просто метод публичного интерфейса приложения, будь то веб-приложение или еще какое-то. Пошло от английского handle, насколько понимаю, используется со времен handle = fopen(path, mode); . Очевидно, в тексте речь идет про какие-то ресурсы публичного API, которые вследствие высокой нагрузки переписали на плюсах для увеличения быстродействия.
Отслеживать
ответ дан 20 июн 2015 в 22:32
36.1k 2 2 золотых знака 56 56 серебряных знаков 83 83 бронзовых знака
видать орусифицирование английского handle
21 июн 2015 в 2:31
@des1roer «Пошло от английского handle»
21 июн 2015 в 7:22
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.26.3951
Словарь IT-сленга
Термины разработки, Scrum, неформального общения, организационных процессов.
Валерия Леонова
Автор статьи
29 марта 2022 в 12:17
Разработчики разговаривают на незнакомом языке, а новички их не понимают. Привычные слова означают совсем другое, смешиваются с английскими и коверкаются до неузнавания.
После курсов Skypro, например «Веб-разработчик», студенты владеют не только фронтендом и основами backend-разработки, но и профессиональным сленгом. Потому что преподаватели — опытные разработчики, которые общаются со студентами на равных, делятся не только знаниями, но и лайфхаками.
Чтобы помочь вам влиться в новую среду, мы собрали слова и выражения, которыми пользуются айтишники.
1. Должности, роли, специфичные названия
Слова и фразы | Что это означает | От какого слова произошло |
Адепт | Продвинутый диджитал-специалист | Adeptus — достигший |
Айтишник | IT-специалист | IT (Information Technology) — информационные технологии |
Гуру | Уважаемый, знающий человек | Guru — учитель, наставник |
Девопс, DevOps | Инженер, который собирает воедино все части проекта | Developer Operations — интеграция разработки и эксплуатации |
Джуниор, джун | Младший специалист. Новичок с минимальными знаниями и опытом работы | Junior — новичок |
Ламер | Начинающий специалист, который считает себя продвинутым экспертом, хотя это не так | Lame — cлабак |
Лид, тимлид, Team Lead | Руководит командой и процессами, решает спорные вопросы | Team — команда, lead — руководить |
Мидл | Специалист. Следующий уровень после джуниора — более самостоятельный и опытный | Middle — средний |
Пио, PO | Владелец продукта. Организует процессы в команде разработки, не отвлекается на маркетинг и продажи. Стыкует пожелания заказчика с возможностями разработки | Product Owner — владелец продукта |
Пиэм, PM | Взаимодействует с заказчиком, выясняет его потребности и желания, доносит их до команды | Product Manager — менеджер продукта |
Проджект | Руководит командой, следит за бюджетом, отвечает за реализацию проекта в срок и его соответствие требованиям заказчика | Project Manager — менеджер проекта |
Секопс, SecOps | Cистемный администратор по информационной безопасности. Отвечает за безопасность и защиту сетевых систем, приложений и данных | Security Operations — операции по обеспечению безопасности |
Сеньор | Опытный специалист, который обладает глубокими знаниями в своей области и может решать сложные задачи. Сеньоры часто являются наставниками для джунов и мидлов и участвуют в принятии ключевых решений по проекту |
Senior — старший |
Фасилитатор | Помогает команде общаться. Руководит групповыми дискуссиями, руководит на мероприятиях | Facilitator — координатор |
Хацкер, кулхацкер | Ироничное название неопытного, но амбициозного программиста | Hacker, cool hacker — крутой хакер |
Хейтер, хейтерство | Злобный комментатор, необоснованное агрессивное общение | Hate — ненависть |
Юзер, юзать, юзаный | Пользователь, использовать, использованный | Use — использовать |
Инженер-тестировщик: новая работа через 9 месяцев
Получится, даже если у вас нет опыта в IT
2. Разработка
Слова и фразы | Что это означает | От какого слова произошло |
Ветка, тред, бранч | Полная копия проекта, в которой ведется разработка параллельно основному коду. Веток может быть много для работы с разными частями кода | Branch — ветка, thread — нить |
Мок, мокап | 1. Объект в тестировании, который имитирует поведение реального объекта. |
2. Публиковать что-то.
2. Уникальный IP-адрес.
3. Термины из Scrum
Слова и фразы | Что это означает | От какого слова произошло |
Аджайл | Ценности, принципы и правила взаимодействия команды для быстрой разработки программного обеспечения | Agile — быстрый, расторопный |
Бэклог | Список задач, которые нужно реализовать в будущем, в следующих версиях продукта | Backlog — очередь работ |
Гол, голевой | Цель, которую выполняет команда, ожидаемый результат спринта (см. ниже). Состоит из нескольких задач | Goal — цель |
Дейли, стендап | Ежедневная планерка команды | Daily — ежедневно |
Дод, DoD | Список условий. Если их выполнить, вы достигнете цели | Definition of Done — критерии готовности |
Майлстоун | Временная отметка, срок, когда нужно выполнить этап проекта | Milestone — веха, этап |
Спринт | Отрезок времени, за который нужно выполнить этап работ | Sprint — бег на короткую дистанцию |
Сторя | Пожелания пользователя, пользовательская история | Story — история |
Таск, таска | Задача | Task — задача |
Скрам, scrum | Методология гибкой командной работы, в которой быстрая реакция на изменения важнее формальной документации, инструкций. Слово «гибкая» означает способность быстро меняться без потери качества продукта | Scrum — схватка, толпа |
4. Организационные термины
Слова и фразы | Что это означает | От какого слова произошло |
Апрув, Апрувить | Одобрить, подтвердить, согласовать | Approve — согласовать |
Валидный, валидация | Правильный, корректный, работающий. Подтверждение, что данные законные, правильные | Valid — правильный |
Дей-офф | Выходной день | Day off — выходной |
Драйвер | 1. Человек, который мотивирует и вдохновляет команду, руководит процессом. |
2. Утилита Ping для проверки работоспособности сети.
5. Соцсети, форумы
Слова и фразы | Что это означает | От какого слова произошло |
Аватар, ава, авка, юзерпик | Графическое изображение владельца аккаунта | Avatar, user picture — аватар, изображение пользователя |
АКА | Используется при упоминании псевдонима человека: [Имя] АКА [сетевое имя]. | AKA (Also Known As) — также известный как |
Аноним | Анонимный пользователь | Anonymous — анонимный |
Анрег | Незарегистрированный | Unregistered |
Ап | Поднять тему на верхние строчки обсуждения, чтобы она не теряла актуальности | Up — вверх |
Бан | Жесткая мера борьбы с неугодными пользователями. Аккаунт, владелец которого вредит работе ресурса, блокируют навсегда или на срок | Ban — запрещать, объявлять вне закона |
Блог | Сайт, онлайн-ресурс, где публикуют заметки, выкладывают статьи или фотографии | Blog — сетевой дневник |
6. Неформальное общение
Слова и фразы | Что это означает | От какого слова произошло |
Вайп, вайпить (не путать со словом «вайб») | 1. Безвозвратное удаление данных. |
На курсах Skypro, например «Инженер по тестированию», студенты общаются не только с преподавателями, наставниками и кураторами, но и между собой — в чатах поддержки, на групповых вебинарах. Поддержка единомышленников важна: можно попросить разобрать вместе сложную тему, спросить совета или просто поныть, когда тяжело.