Что такое песочница в программировании
Перейти к содержимому

Что такое песочница в программировании

  • автор:

Песочница в Windows

Песочница — это новый легковесный инструмент в ОС Windows, позволяющий запускать приложения в безопасном изолированном окружении.

Случалось ли Вам оказаться в ситуации, когда необходимо запустить какую-то программу, но Вы не совсем уверены в источнике её происхождения? Или другой пример — необходимость проверить что-то на «чистой» версии Windows. Во всех подобных случаях раньше был только один выход — установить ОС на отдельную физическую или виртуальную машину и провести нужный эксперимент. Но это больше не так.

Microsoft разработал новый механизм под названием Песочница (eng. Windows Sandbox). Это изолированное временное окружение, в котором Вы можете запускать подозрительное программное обеспечение без риска навредить своему ПК. Любое ПО, установленное в Песочнице, остаётся только в Песочнице и не может взаимодействовать с основной ОС. Как только Вы закрываете Песочницу — всё её содержимое безвозвратно уничтожается.

Вот основные особенности Песочницы:

  • Это часть ОС Windows. Если у Вас Windows 10 Pro или Enterprise, то Вы уже можете начать ею пользоваться.
  • С чистого листа. При каждом запуске Песочницы Вы получаете одно и то же, чистое, неизменное окружение. В точности такое, какой была Ваша ОС сразу после её установки.
  • Никаких следов. При закрытии Песочницы уничтожаются все установленные в ней приложения, все созданные там файлы. Закрыли Песочницу — не осталось никаких следов её существования.
  • Безопасность. Используется аппаратная виртуализация, которая использует гипервизор для запуска отдельного ядра ОС и изолирует его от Вашей основной ОС
  • Эффективность. Используется интегрированный планировщик задач, умное управление памятью, виртуальный GPU.

Системные требования

  • Windows 10 Pro или Enterprise, билд 18305 или выше
  • Архитектура AMD64
  • Включенная в BIOS виртуализация
  • Минимум 4 ГБ (рекомендовано 8 ГБ) оперативной памяти
  • Минимум 1 ГБ свободного места на диске (рекомендуется SSD)
  • Процессор с двумя ядрами (рекомендуется 4 с поддержкой hyper-threading)

Быстрый старт

1. Установите Windows 10 Pro или Enterprise, билд 18305 или выше

2. Включите виртуализацию:

  • Если Вы работаете на физической машине — сделайте это в BIOS
  • Если Вы работаете на виртуальной машине — используйте следующую PowerShell команду:

Set-VMProcessor -VMName -ExposeVirtualizationExtensions $true

4. Запустите Песочницу из меню Пуск. Разрешите повышение прав для её процесса.

5. Скопируйте (через буфер обмена) в Песочницу бинарник, который хотите запустить.

6. Запустите бинарник в Песочнице. Если это инсталлятор — пройдите процедуру установки и запустите установленное приложение.

7. Используйте приложение по назначению.

8. Когда закончите — просто закройте Песочницу. Всё её содержимой будет удалено.

9. Опционально — можете убедиться, что в Вашей основной ОС ничего не изменилось.

Что под капотом у Песочницы

Песочница Windows построена на технологии, которая называется Windows Containers. Контейнеры разрабатывались (и давно используются) для работы в облаке. Microsoft взял уже достаточно зрелую и протестированную технологию и доработал её для пользователей десктопной Windows.

Среди ключевых адаптаций можно отметить:

Динамически генерируемый образ

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

Мы хотим всегда получить одно и то же «чистое» окружение для Песочницы. Но есть проблема: некоторые системные файлы могут меняться. Решением было создание «динамически генерируемого образа»: для изменённых файлов в него будут включаться их оригинальные версии, но вот неизменные файлы физически в этот образ входить не будут. Вместо них будут использоваться ссылки на реальные файлы на диске. Как показала практика — такими ссылками будут большинство файлов в образе. Лишь малая их часть (около 100 МБ) войдут в образ полностью — это и будет его размер. Более того, когда Вы не используете Песочницу, эти файлы хранятся в сжатом виде и занимают около 25 МБ. При запуске Песочницы они разворачиваются в тот самый «динамический образ» размером около 100 МБ.

Умное управление памятью

Управление памятью для Песочницы — ещё одно важное усовершенствование. Гипервизор позволяет запускать на одной физической машине несколько виртуальных и это, в общем, неплохо работает на серверах. Но, в отличии от серверов, ресурсы обычных пользовательских машин значительно более ограничены. Для достижения приемлемого уровня производительности Microsoft разработал специальный режим работы памяти, при котором основная ОС и Песочница могут с некоторых случаях использовать одни и те же страницы памяти.

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

Интегрированный планировщик

В случае использования обычных виртуальных машин гипервизор контролирует работу виртуальных процессоров, работающих в них. Для Песочницы была разработана новая технология, которая называется «интегрированный планировщик», которая позволяет основной ОС решать когда и сколько ресурсов выделить Песочнице. Работает это так: виртуальный процессоры Песочницы работают как потоки внутри процесса Песочницы. В итоге они имеют те же «права», что и остальные потоки в вашей основной ОС. Если, к примеру, у вас работают какие-то высокоприоритетные потоки, то Песочница не будет отнимать у них много времени для выполнения своих задач, которые имеют нормальный приоритет. Это позволит пользоваться Песочницей, не замедляя работу критически важных приложений и сохраняя достаточную отзывчивость UI основной ОС, аналогично тому, как работает Linux KVM.

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

Использование «снимков»

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

Виртуализация графики

Аппаратная виртуализация графики — это ключ к плавному и быстрому пользовательскому интерфейсу, особенно для «тяжелых» в плане графики приложений. Однако, классические виртуальные машины изначально ограничены в возможностях напрямую использовать все ресурсы GPU. И здесь важную роль выполняют средства виртуализации графики, которые позволяют преодолеть данную проблему и в какой-то форме использовать аппаратную акселерацию в виртуальном окружении. Примером такой технологии может быть, например, Microsoft RemoteFX.

Кроме того, Microsoft активно работала с производителями графических систем и драйверов для того, чтобы интегрировать возможности виртуализации графики непосредственно в DirectX и WDDM (модель драйверов в ОС Windows).

В результате графика в Песочнице работает следующим образом:

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

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

Использование батареи

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

Отзывы и сообщения о проблемах

В любой новой технологии могут быть баги. Microsoft просит присылать сообщения о них и предложения новых фич через Feedback Hub.

Песочница: программирование в песочнице и для чего это нужно?

Lorem ipsum dolor

Песочница в программировании позволяет быстро стартовать в разработке молодым специалистам, так как не нужно напрягаться с поиском и установкой IDE, с настройкой локального сервиса, с установкой поддержки выбранного языка программирования на компьютер и т. д. Все , что нужно для старта работы , — это компьютер, интернет, регистрация в онлайн-песочнице и необходимые знания. То есть вы легко можете начать изучать, к примеру, веб-разработку и тут же применять свои знания и учиться писать синтаксис языка.

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

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Песочница для программистов

Но если быть точным, то я хочу презентовать вам результат моей работы за последние пару месяцев. Кодовое название — песочница.

Что это?

Суть данной системы проста: это песочница для программистов. Здесь можно и нужно писать исскуственный интеллект для своих ботов и играть с ботами других участников. Во что играть? Все просто — в дурака. Да-да, в карточную игру.

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

Кому интересно, давайте взглянем поближе на саму систему.

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

Как работает система?

Жизненный цикл игрока весьма прост. После регистрации и активации аккаунта* у Вас появляется доступ ко всем функциям системы. И теперь Вы, как игрок, можете писать, компилировать и загружать вашего бота.

После загрузки происходит раунд против самой системы. Это называется — квалификация. Цель лишь одна — проверить на вшивость код бота. Если бот играет не честно или играть не умеет, а может даже пытается мухлевать, он автоматом получает штраф и дальше играть не может. Для продолженния его нужно исправить и залить повторно.

Следом за квалификацией бот уже может участвовать в турнире. Игроки для турнира подбираются по Швейцарской системе. Игры проводятся каждый час. Турнир же длится неделю. Итоги подводятся каждое воскресенье. Очки распределяются по формуле рейтинга Эло. И первая тройка попадает в Историю Турниров. По всем победителям есть сводка — Зал Славы.

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

Как пользоваться?

Интерфейс

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

Как мы в Skillfactory помогаем новичкам получить опыт работы с реальными задачами

Как мы в Skillfactory помогаем новичкам получить опыт работы с реальными задачами

Чего не хватает новичкам в IT? Этот вопрос мы задали HR-специалистам и руководителям компаний в ходе большого исследования рынка. Компании ответили, что начинающие айтишники не умеют работать в команде, не понимают свою зону ответственности и пасуют перед сложными задачами. То есть, по сути, им не хватает опыта работы над реальными задачами. Чтобы дать студентам Skillfactory этот опыт, мы создали IT-Песочницу.

«IT-специалист с нуля» наш лучший курс для старта в IT

Что такое IT-Песочница?

Это пространство для студентов Skillfactory, где они могут собрать команду и создать pet-проект. В IT-Песочнице симулируют условия реального процесса разработки проекта: от мозгового штурма до презентации MVP (minimal viable product — «минимально жизнеспособный продукт»). Во время разработки студентов поддерживают наставники-эксперты Skillfactory, а школа предоставляет техническую базу.

Профессия / 8 месяцев
IT-специалист с нуля
Попробуйте 9 профессий за 2 месяца и выберите подходящую вам
4 116 ₽/мес 7 483 ₽/мес

vsrat_7 1 (1)

Ольга Шабалина, руководитель IT-Песочницы Skillfactory: Мы общались с экспертами из разных компаний, в основном с нанимающими специалистами. Они выделили основные проблемы новичков. Молодые специалисты часто не умеют работать в команде, не осознают свою роль, не понимают, как в целом работают бизнес-процессы. Джуниоры боятся совершать ошибки, стесняются задавать вопросы, замыкаются в себе, часто сдаются в решении сложных задач, даже не попытавшись погуглить. Все это тормозит и работу, и их профессиональный рост. Чтобы дать новичкам опыт работы над задачами в условиях, приближенных к реальности, мы создали IT-Песочницу. Выпускники, которые успели поработать в Песочнице, понимают структуру команды разработки, учатся общаться в команде с разработчиками, проджект-менеджером и тимлидом, работать с серверами и технической документацией. На выходе они получают опыт, которого от них ждут работодатели, pet-проект в портфолио, но главное — уверенность, что они готовы работать в IT-компании.

Читайте также Pet-проекты: что это, зачем нужны и как их сделать. Идеи для пет-проектов в IT

Чем занимаются в Песочнице сейчас?

Идеи для проектов школа принимает от студентов. Любой студент Skillfactory может предложить свой проект, получить поддержку и ресурсы, чтобы довести его до уровня первого прототипа или MVP-1. Автор идеи может быть заказчиком. Тогда он будет наблюдать, как его идею реализует команда, или участвовать в разработке. Первый цикл Песочницы прошел с октября 2022 по март 2023. Всего в проекте приняли участие 100 человек. За первый цикл свои прототипы разработали восемь команд. Среди продуктов — сервис аренды парковочных мест, помощник по поиску товаров ушедших из России брендов, Telegram-бот для быстрого поиска информации о визах, приложение-гид по банкам и условиям оформления карт в разных странах и даже компьютерная игра. По итогам первого цикла жюри определили два проекта-победителя. Это агрегатор научных конференций The Conf и онлайн-платформа для заботы о ментальном здоровье «Друг».

Курс для новичков «IT-специалист
с нуля» – разберемся, какая профессия вам подходит, и поможем вам ее освоить

The Conf

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

Один из самых сложных моментов в проекте — наем сотрудников. У меня был такой опыт, но я всегда проводил интервью вместе с HR или тимлидом разработки. Здесь же пришлось работать одному, придумывать тестовые было сложно. В то время я сам много ходил на интервью. Одна компания прислала мне огромное задание с разными блоками по аналитике, дизайну, тестированию, разработке. Я поделил его на части и на нем начал собеседовать кандидатов.

В первый месяц мы сформировали основную часть команды: DevOps-инженер, фронтенд-, бэкенд-разработчик, UX/UI-дизайнер. До формирования команды я уже внедрил инструменты, с которыми работал ранее: таск-менеджер, тайм-трекер, таблицы и документацию. От части функций пришлось отказаться. Например, изначально как базу знаний мы использовали Notion, но в дальнейшем перешли на GitHub. Просто создали там репозиторий для документов.

Главная страница The Cobf

Перед питчем случился фейл. За день до мероприятия мы поняли, что у нас на продакшене сервиса в базу данных не добавляются новые конференции (на продакшене было 10 конференций, а в базе тестового сервера лежало около 400). Наш бэкенд-разработчик Кирилл и DevOps-инженер Сергей всеми силами пытались решить проблему. Тестовый сервер «умер» из-за недостатка памяти, и показать его на питче стало невозможно. Это усугубило ситуацию. К концу дня мы решили, что нужно удалять базу данных (БД) и все загружать по новой. Мы сделали это и ушли спать.

Все конференции, которые пользователи видят на продакшене, наш контент-менеджер Настя редактирует руками и одобряет как администратор. Утром она начала это делать и поняла, что хоть в базе данных они приведены в должный вид и одобрены, на сайте пусто. Вместо 10 конференций пользователи видели ноль. В течение дня мы пытались запустить сервис: фронтенд-разработчик научился заливать обновления на сервер, DevOps-инженер с телефона делал все, что от него требовалось. В последнюю минуту сайт удалось починить. Как сказала после питча наша QA-инженер Юлия: «От провала до победы — один день».

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

До Песочницы я работал в IT, но не в веб-разработке. Здесь было много нетворкинга, неординарные ситуации, яркие люди, разнообразные задачи, а самое главное — продукты, которые в будущем действительно могут приносить колоссальную пользу нашим пользователям. В некотором роде благодаря этому проекту я устроился на работу в студию веб-разработки.

«Друг»

«Друг» — онлайн-платформа для заботы о ментальном здоровье и развития личности. На платформе можно найти психолога, внести встречу в календарь и вести заметки.

Анна Михайловская, проджект-менеджер сервиса «Друг»

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

Команда собралась очень вовлеченная: мы вместе обсуждали и принимали решения, учитывали интересы всех участников. На каждом этапе проводили мозговые штурмы. В них участвовали все, вне зависимости от специализации. Были моменты когда штурмили стихийно, эффективно и с юмором. Задачи со сроками выполнения ставили в Trello, для формирования документации использовали Google Docs, Telegram помогал оперативно решать возникающие вопросы, в Notion планировали недельные спринты, а в Zoom проводили регулярные встречи.

  • личные кабинеты пользователей (клиента/психолога и координатора);
  • карточки специалистов;
  • чат с психологом (для общения между сессиями);
  • заметки;
  • подбор психолога по индивидуальному запросу через заполнение и анализ анкеты;
  • видеосессии.

Наша киллер-фича (особенность, которой нет у конкурентов) — что все это мы реализуем на платформе: не нужно переходить в мессенджеры или сторонние сервисы.

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

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

У нашего сервиса есть персонаж без пола, имени и постоянной формы. Это метафора того, что здесь каждый может найти друга, который нужен именно ему. Мы хотим добавить чат с искусственным интеллектом, который будет имитировать человеческое общение 24/7. Виртуальный друг будет оперативно помогать человеку в критических ситуациях, спасать от одиночества и грусти. Наша большая мечта — создать голосового помощника, как Саманта для Теодора в фильме «Она» или Джарвис для Железного человека.

Участие в Песочнице помогает получить первый опыт и погружает в атмосферу IT-проекта, позволяет соотнести свои представления с реальностью, даже людям с опытом в управлении. А еще — скорректировать навыки под новые процессы, развить дисциплину.

Что ждет проекты дальше?

По правилам все участники IT-Песочницы получают:

  • отзывы и рекомендации по профессиональному развитию;
  • личные характеристики;
  • сертификаты об участии;
  • pet-проекты в портфолио.

Во время работы над pet-проектами шесть человек нашли работу в IT. Несколько команд, которые не стали победителями, планируют развивать свои pet-проекты дальше.

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

WayPay на экранах мобильных телефонов

Проект «Система управления ресурсами» — сервис, который поможет вести учет вещей, которые у вас есть. Для каждого предмета можно создать карточку. Это упростит учет вещей, поможет отсортировать нужные и ненужные, а также продать их прямо в приложении.

Разработать готовое приложение команда планирует к декабрю 2023, дальнейшие планы — интеграция с маркетплейсами и голосовыми помощниками. Заказчик продукта живет в Лондоне и может выйти на контакт с западными венчурными фондами.

Игра «Forest Mystery» — шесть красивых локаций, разнообразные персонажи и злодеи и загадочный сюжет, который раскрывается по мере прохождения. Уже к июлю 2023 года команда планирует зарелизить игру в Google Play, App Store и Steam.

Интерфейс игры

Проекты победителей, которые перешли во второй цикл, продолжат получать поддержку от Skillfactory: останется наставник и техподдержка от школы. Начнется работа над MVP-2 — второй версией продукта, которая будет ближе к изначальной задумке команды или заказчика, шире по функционалу и готова к выходу на рынок.

IT-специалист с нуля

Наш лучший курс для старта в IT. За 2 месяца вы пробуете себя в девяти разных профессиях: мобильной и веб-разработке, тестировании, аналитике и даже Data Science — выберите подходящую и сразу освойте ее.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *