Архив рубрики: Windows

Как просто защитить флешку от записи / Программное обеспечение. Безопасность

Всем известно, что подключая флешку к сторонним компьютерам очень даже просто можно подцепить какую-то заразу и, естественно, перенести ее на свой компьютер. Увы, но очень часто мы просто вынужденны это делать. Мне, например, приходится выполнять такое действие на преподавательских компьютерах во время лекций и практических. В таких случаях просто необходимо каким-то образом защитить на флешку от несанкционированной записи. Последние годы я использовал с этой целью небольшую бесплатной portable программульку Autostop, однако, в последнее время она начала безжалостно уничтожаться антивирусами, упорно принимающими ее за зловред. 
После безуспешных поисков замены, я задумался… А, какую функцию Autostop, собственно говоря, я использовал? А использовал я программную защиту флешки от записи, когда флешка «до упора» забивается файлами, в результате чего зловред просто физически не может попасть на диск. Так, может быть, не заморачиваться с поисками программы защиты, а найти программу, которая будет полностью забивать мой файл некими файлами?!
И такая программа имеет место быть. Называется она FillDisk, работа ее как раз и заключается в том, что она создает на диске файлы заполненные нулями, сначала размером по 1 ГБ, затем по 512 МБ, 256 МБ и так далее пока не закончится место на диске. Программа бесплатна, найти ее можно на многих сайтах, например здесь http://www.goldsoftware.ru/node/486

Ну а дальше все максимально просто. Записываем ее на флешку (она не требует установку) и запускаем ее щелчком на кнопке «Go».


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


Теперь попытка записи на флешку, например, в Total Commander, приведет к такой картинке:


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

Просто и эффективно или дешево и сердито (это как кому нравится).

Смотри также:

Автор: Валерий Фетисов
Дата публикации: 2018-02-03T05:31:00.002+02:00

Книга «Микросервисы на платформе .NET» / Компьютерная литература

imageПривет, Хаброжители! Предлагаем вашему вниманию главу «Шаблоны для построения приложений на основе микросервисов» из нашей новой книги К. Хорсдала, посвященной программированию микросервисов на платформе .NET

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

На рис. 12.3 мы возвращаемся к примеру со страховкой — у нас есть универсальное приложение, которое включает в себя всю функциональность системы. Система для работы со страховками построена с использованием микросервисов, поэтому для того, чтобы предоставить всю функциональность системы, приложение должно получать бизнес-возможности от нескольких микросервисов. Микросервисов в системе больше, чем показано на рисунке, и приложение не будет непосредственно наследовать функциональность от всех них. Такое приложение сосредоточивает всю функциональность в одном месте, отсюда и возник термин «составное приложение».


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

Реализация объединения GUI выполняется в зависимости от технологии, использованной при построении клиента. Работая с настольным приложением Windows Presentation Foundation (WPF) (http:mng.bz/0YfW), вы можете, к примеру, использовать фреймворк Managed Extensibility Framework (MEF, mng.bz/6NKA) для того, чтобы динамически загрузить в приложение компоненты, каждый из которых будет иметь собственный интерфейс. При использовании веб-приложения интерфейс может быть создан загрузкой фрагментов HTML и пакетов JavaScript из микросервиса в главное приложение и добавлением их в модель DOM с помощью JavaScript. В обоих случаях микросервисы предоставляют функциональность и интерфейс.

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


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


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

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

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

Шлюз API


Вторым шаблоном для построения приложений на основе микросервисов является «Шлюз API». Шлюз API — это микросервис с открытым HTTP API, который охватывает всю функциональность системы, но не реализует никакой функциональности сам по себе. Вместо этого шлюз API делегирует всю работу другим микросервисам. По сути, шлюз API действует как адаптер между приложениями и системой микросервисов.

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

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

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


Преимущества. Основное преимущество шаблона «Шлюз API» заключается в том, что приложения отвязываются от структуры микросервисов. Шлюз API полностью скрывает эту структуру от приложений.

Когда функциональность нескольких приложений пересекается или некоторые приложения созданы третьей стороной, использование шаблона «Шлюз API» поддерживает:

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

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

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

В заключение хотелось бы сказать, что шаблон «Шлюз API» очень полезен и зачастую является верным вариантом развития приложения. Но вам следует тщательно следить за размером шлюза API и быть готовыми отреагировать, если он станет настолько тяжел, что с ним будет трудно работать.

Бэкенд для фронтенда


Третий и последний шаблон для построения приложений на основе микросервисов, который мы рассмотрим в этой книге, — это «Бэкенд для фронтенда» (backend for frontend, BFF). Шаблон BFF полезен, когда вам нужно построить больше одного приложения для системы микросервисов. Например, система страхования может иметь веб-приложение, содержащее наиболее часто используемую функциональность, приложение для iOS, которое эксперты-оценщики могут использовать вне офиса, а также специализированное приложение для ПК, предназначенное для выполнения задач актуариев. BFF — это микросервис, похожий на шлюз API, но он специализирован для одного приложения. Если вы используете этот шаблон для приложений системы страхования, у вас будут BFF для веб-приложения, BFF для приложения iOS и BFF для настольного приложения для актуариев (рис. 12.6).

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

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

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


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


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

Когда использовать каждый из шаблонов


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

• Сколько функций вы хотите вложить в приложение? Для бизнес-приложений, которые используются только внутри брандмауэра компании и только на машинах компании, вы можете создать настольное приложение, выполняющее большое количество функций. В этом случае очевидным выбором станет шаблон «Составное приложение».

Для приложения-магазина, которое должно запускаться в любом, в том числе старом, браузере, когда существует риск, что кто-то попытается взломать приложение, вы можете решить не помещать много функций в приложение, что делает шаблон «Составное приложение» менее привлекательным.

• Сколько планируется приложений? Если их будет много, насколько они отличаются друг от друга? Если вы поручили приложению немного функций и у вас будет только одно приложение или же все приложения предоставляют похожую функциональность, возможно, даже схожими способами, вам, вероятно, подойдет шлюз API. Если у вас будет несколько приложений и они предоставляют разные наборы функций, вам подойдет шаблон BFF. В случае, если вы используете шлюз API или BFF, функциональность находится на бэкенде. Шлюз API работает хорошо до тех пор, пока он остается связанным, то есть до тех пор, пока весь предоставленный им набор конечных точек соблюдает определенную систему того, как приложения должны использовать их и как они структурированы.

Если некоторые конечные точки придерживаются стиля «дистанционный вызов процедуры» (remote procedure call, RPC), а другие — стиля «передача состояния представления» (representation state transfer, REST), они не соблюдают систему и связность в базе кода шлюза API, скорее всего, будет низкой. В таких случаях вам следует задуматься о том, чтобы использовать шаблон BFF. С помощьюBFF вы можете объединить приложения, которые работают с API в стиле RPC, в одном BFF, а приложения, которые используют REST API, — в другом BFF, не нарушая связанности. Каждый BFF может быть связанным и устойчивым сам по себе, но вам не нужна связанность среди BFF с точки зрения стиля API.

• Насколько велика система? В большой системе — с точки зрения количества доступной функциональности — шлюз API может стать неуправляемой базой кода, которая имеет множество недостатков монолитных систем. Для подобных систем лучше использовать несколько BFF, нежели один большой шлюз API. В то же время, если система не так велика, шлюз API может оказаться проще, чем BFF.

Наконец, следует отметить, что вам не нужно принимать одинаковые решения для всех приложений. Вы можете начать со шлюза API и построить с его помощью несколько приложений, а затем решить, что новое приложение с инновационным подходом к решению задач не может работать со шлюзом API, и предоставить ему BFF. Аналогично у вас могут быть внутренние приложения, которые используют шаблон «Составное приложение», и внешние приложения, которые проходят через шлюз API, состоящий из нескольких BFF
.


Отрисовка на стороне клиента или на стороне сервера?


Мы рассмотрели три шаблона для построения приложений на основе микросервисов — «Составные приложения», «Шлюз API» и BFF. Если вы строите веб-приложения с помощью этих шаблонов, возникает еще один вопрос: где выполнять отрисовку, на стороне сервера или на стороне клиента? То есть нужно ли вам генерировать готовый HTML на сервере с помощью, например, Razor или же следует отрисовывать HTML в приложении JavaScript, используя один из множества фреймворков приложений JavaScript вроде AngularEmberAurelia или React?

Этот вопрос не имеет точного ответа, все зависит от того, какое приложение вы хотите построить. Насколько динамическим будет это приложение? Оно работает с данными или только отображает и принимает их? Чем более динамическим является приложение и чем больше его поток выполнения связан с манипуляциями с данными, тем больше я склоняюсь к отрисовке на стороне клиента. Если же приложение более статическое и связано скорее с просмотром и вводом данных, то я склоняюсь к отрисовке на стороне сервера. Основная идея, однако, заключается в том, что выбор способа отрисовки зависит от того, какое приложение вы хотите создать, а не от того, что вы выбрали архитектуру микросервисов на стороне сервера.

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

• Если вы создаете составное приложение, оно может получать отрисованный на сервере каталог полисов, а также приложение JavaScript для калькулятора оценки. Микросервис, ответственный за каталог полисов, предоставит сгенерированный на сервере интерфейс, а микросервис, ответственный за оценку, — приложение JavaScript.

• Если вы используете шлюз API, он может содержать конечные точки, которые возвращают HTML, и конечные точки, которые возвращают данные — например, в формате JSON. Он даже может содержать конечные точки, которые возвращают данные в форматах HTML или JSON в зависимости от заголовка Accept запроса. Поэтому приложение может содержать отрисованный на сервере каталог полисов, а также отрисованный на стороне клиента калькулятор оценки.

• Если вы используете BFF, вы также можете создавать конечные точки, которые возвращают HTML, данные или и то и другое. В дополнение к этому BFF позволяют вам принимать разные решения для разных приложений: в одном BFF каталог полисов будет отрисовываться на стороне сервера, но в другом вы можете сделать это на стороне клиента.

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

» Более подробно с книгой можно
ознакомиться на 
сайте издательства
» Оглавление
» Отрывок

Для Хаброжителей скидка 20% по купону — Микросервисы



Смотри также:


Автор: Валерий Фетисов
Дата публикации: 2018-02-02T07:24:00.000+02:00

Управляем компьютером через смартфон | KV.by / Android. Пользователям

Сегодня сложно представить себе современного человека, у которого отсутствует смартфон. Но далеко не все пользователи задумывались о возможном трансформировании своего мобильного аппарата в полноценный и многофункциональный пульт дистанционного управления.
Для чего это нужно? Например, можно комфортно управлять собственным компьютером, лежа на диване. Данное решение сделает ваш дом по-настоящему «умным», ведь у вас появляется возможность с особым удобством и наслаждением слушать музыку, включать понравившиеся ролики, регулировать громкость и многое другое. Больше не надо бегать к ПК или ноутбуку, чтобы переключить любимый трек. Достаточно лежать на кровати или заниматься домашними делами, а при себе иметь мобильный гаджет. Еще вам понадобится Bluetooth-модуль или Wi-Fi на самом компьютере для корректного сопряжения с телефоном.
И тут возникает логичный вопрос, а как «соединить» смартфон с ПК без проводов? Ведь недостаточно иметь встроенный Wi-Fi или отдельный модуль Bluetooth. В этой ситуации поможет специальное программное обеспечение. Речь идет о мобильных приложениях, которые необходимо скачать и установить на свои устройства. С их непосредственной помощью любой смартфон превратится в качественный пульт дистанционного управления для ПК.

Unified Remote

Специализированная программа для компьютеров и Android-аппаратов Unified Remote состоит из серверного агента и мобильного приложения. Поэтому отдельный агент нужно установить на ПК, а приложение – на смартфон. Благодаря возможностям Unified Remote пользователь в состоянии останавливать проигрывание музыки и видео в момент входящего вызова, причем делается это в автоматическом режиме. С помощью такого софта можно дистанционно включать компьютер, а также управлять его громкостью.
Чтобы Unified Remote корректно работала на компьютере, необходимо иметь .NET Framework 4. Также стоит отметить, что старые версии ПК-клиента могли устанавливаться исключительно на операционных системах Windows, но сейчас поддерживаются все основные платформы. При этом бесплатная версия получила определенные ограничения в виде урезанного функционала. Если же вам крайне важно удаленно управлять, например, браузером или другими мобильными девайсами, то стоит позаботиться о покупке приложения.

Ultimate Control (Mouse Lite)

Аналогичным образом обстоят дела и с программой Ultimate Control. Для ее использования придется установить соответствующее приложение на смартфон, а также скачать агент на компьютер. Теперь активируем агент, затем запускаем софт на телефоне. Остается выбрать тип связи и нужный ПК.
Когда сопряжение установлено, остается получать удовольствие от новых возможностей. Так, пользователь сможет практически полностью контролировать работу компьютера, управляя презентациями, медиа проигрывателями и так далее. Программа имеет незамысловатый интерфейс, и разобраться в функциях приложения достаточно просто. Существует лишь одно важное условие – на ноутбуке или ПК нужно иметь Java Runtime Environment версии 1,6 или новее.

WIN – Remote

К сожалению, программу WIN – Remote быстро забыли не тольк

Как в Windows 10 создать ярлык для захвата скриншотов выделенных областей экрана / Windows 10. Практика

Одним из нововведений Windows 10 Crеаtors Updаtе стало появление функции, позволяющей создавать скриншоты выделенных областей экрана. Для ее вызова в Windows используется «горячая» комбинация Win + Shift + S. При этом экран заливается полупрозрачным матовым цветов, а курсор мышки превращается в перекрестие, которым собственно и выделяется прямоугольная область.

Поскольку комбинация вызова функции состоит из трех клавиш, многим пользователям она может показаться неудобной. Если вы тоже так считаете, можете попробовать альтернативный вариант создания снимков участков экрана, воспользовавшись уже известной утилитой «Ножницы», запущенной с недокументированным ключом clip. Дело в том, что принцип работы ножниц и новой функции создания снимков выделенных областей в сборках Windows 10 14997 и 15002 примерно одинаков, экран точно так же заливается белым цветом и точно так же курсор мыши принимает вид перекрестия.

Ножницы
Для более удобного использования ножниц с параметром clip лучше всего создать отдельный ярлык.
Кликните по рабочему столу правой кнопкой мыши, выберите «Создать» -> «Ярлык».
Ярлык
И пропишите в поле расположения объекта команду snippingtool.exe /clip.
Расположение объекта
Дайте ярлыку подходящее имя и сохраните.
Имя
Для удобства ярлык можно закрепить на панели задач.
Скриншоты выделенных областей экрана при использовании этого инструмента будут сохраняться не в файл, а в буфер обмена, откуда их можно будет вставлять в различные приложения.

Смотри также:

Автор: Валерий Фетисов
Дата публикации: 2018-01-30T06:16:00.003+02:00

Очистка сканированных изображений. ScanKromsator 5.92 full

Назначение программы

 Бесплатная программа для предварительной обработки сканированных изображений, в первую очередь для отсечения всего лишнего со сканированной страницы, а также поворота страницы на 90, –90, 180 градусов, исправления наклона страниц, разрезания разворотов страниц на две отдельные страницы, автоматического определения ширины книги и приведения размеров всех ее страниц к единому значению, автоматического исправления полей страниц, очистке черных полос на развороте пары страниц и на тексте, конвертирует формат и разрешение изображений. Скачать программу можно по адресу http://soft.sibnet.ru/soft/?id=17946 или http://www.djvu-soft.narod.ru. Читать

Как перезагрузить Arduino (программный рестарт)

Как перезагрузить Arduino (программный рестарт)

После нажатия на кнопку RESET, а также по сигналу DTR микросхемы FT232R на плате Arduino Duemilanove или по сигналу на выводе D7 микросхемы ATmega8U2 платы Arduino Uno, управление передаётся загрузчику (bootloader) Arduino, расположенному в верхних 2 КБ памяти программ (Flash) (адрес 0x7800 для микроконтроллера ATmega328p). Загрузчик проверяет, есть ли связь с Arduino IDE, а затем передаёт управление по адресу 0x0000 памяти программ, где расположен код скетча.
Таким образом, чтобы перезагрузить Arduino программным способом (теплый рестарт или soft reset), достаточно добавить в скетч функцию программного сброса:
void softReset()
{
    asm volatile ("jmp 0");
}
Вызов этой функции приведёт к программному рестарту скетча Arduino.

Автор: dim.medvedev
Дата публикации: 2018-01-24T03:16:00.000-08:00