Search
Write a publication
Pull to refresh
4
0
Send message

Кроссплатформенная разработка с помощью .NET, реактивного программирования, шаблона MVVM и кодогенерации

Reading time13 min
Views28K
Reactive MVVM and .NET Standard

Сегодня платформа .NET является по-настоящему универсальным инструментом – с её помощью можно решать широчайший круг задач, включая разработку прикладных приложений для популярных операционных систем, таких, как Windows, Linux, MacOS, Android и iOS. В настоящей статье рассмотрим архитектуру кроссплатформенных .NET приложений с использованием шаблона проектирования MVVM и реактивного программирования. Познакомимся с библиотеками ReactiveUI и Fody, научимся реализовывать интерфейс INotifyPropertyChanged с помощью атрибутов, затронем основы AvaloniaUI, Xamarin Forms, Universal Windows Platform, Windows Presentation Foundation и .NET Standard, изучим эффективные инструменты для модульного тестирования слоёв модели и модели представления приложения.

Материал является адаптацией статей "Reactive MVVM For The .NET Platform" и "Cross-Platform .NET Apps Via Reactive MVVM Approach", опубликованных автором ранее на ресурсе Medium. Примеры кода доступны на GitHub.
Читать дальше →

Bash-скрипты, часть 2: циклы

Reading time8 min
Views816K
Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит

В прошлый раз мы рассказали об основах программирования для bash. Даже то немногое, что уже разобрано, позволяет всем желающим приступить к автоматизации работы в Linux. В этом материале продолжим рассказ о bash-скриптах, поговорим об управляющих конструкциях, которые позволяют выполнять повторяющиеся действия. Речь идёт о циклах for и while, о методах работы с ними и о практических примерах их применения.

image

Внимание: в посте спрятана выгода!
Читать дальше →

Книга «Программирование для детей. Учимся создавать сайты, приложения и игры. HTML, CSS и JavaScript»

Reading time1 min
Views39K
image

Всем привет! Мы издали книгу для детей, обучающую программированию. Профессор Бейрстоун и доктор Дэй (и, конечно пес Эрнест) играючи научат этому всего за шесть увлекательных приключений! Создавать собственные сайты, игры или приложения с помощью HTML, CSS и JavaScript — это весело и увлекательно.

Чтобы вы поняли, что это не только развлечение, но и серьезное веб-программирование мы покажем вам фрагмент книги про «Построение маршрута». Речь пойдет про добавление материала с другой страницы, встраивание карты с границу с помощью веб-api, применение api key, изучение принципа работы тега <iframe> и планирование маршрута с помощью карт Google.
Читать дальше →

Перекрестное опыление: управляем Linux из-под Windows, и наоборот

Reading time6 min
Views29K


В прошлой статье я обещал рассмотреть механизм удаленного подключения с Windows на серверы под управлением *nix, и наоборот при помощи PowerShell. Обещанного обычно ждут три года, но я успел чуть раньше. Что ж, если хочется с верного макбука управлять гетерогенной инфраструктурой, или наоборот ― с Surface Pro рулить Linux-серверами без всяких putty, ― прошу под кат.

Читать дальше →

Погружение в шаблоны и приручение GPO Windows

Reading time12 min
Views136K


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

Читать дальше →

PowerShell Empire: продвинутая пост-эксплуатация Windows систем

Reading time2 min
Views23K
image

PowerShell Empire — это уникальный пост-эксплуатационный PowerShell агент, построенный на базе крипто-надежных соединений и гибкой архитектуры. Empire предоставляет возможность запускать PowerShell агенты без необходимости использования powershell.exe, с быстрым запуском пост-эксплутационных модулей, которые варьируются от кейлоггеров до Mimikatz, и позволяет успешно избегать сетевое обнаружение, при этом весь этот функционал собран в одном удобном и гибком фреймворке.
Читать дальше →

Полезные советы IT-администратору: развертывание различных ОС с помощью Windows Deployment Services

Reading time5 min
Views19K
Мой коллега Гэри Уильямс – системный администратор с большим опытом работы – поделился советами о том, как можно использовать Windows Deployment Services для развертывания не только ОС Windows. И сегодня я предлагаю его рекомендации вашему вниманию.

Windows Deployment Services (WDS) – полезное дополнение к платформе Windows. Для развертывания виртуальных машин с гостевой ОС Windows этот инструмент можно использовать прямо «из коробки». А после нескольких ловких движений руками он вполне в состоянии справиться с задачей развертывания серверов Linux и VMware при помощи загрузочного меню Preboot eXecution Environment (PXE).

В числе этих манипуляций – парочка команд, запускаемых из командной строки. Нужно всего-навсего переключить загрузчик PXE, используемый Windows, на загрузчик для Linux. В результате создастся пункт меню, позволяющий переключать загрузку с Linux PXE на таковую для Windows в случае необходимости, а IIS будет использоваться для работы веб-интерфейса для скачивания конфигурации Linux.

Я использую настроенный WDS для развертывания Windows, CentOS и ESXi, про что и расскажу в этом посте. Думаю, что пользователи других платформ найдут здесь идеи и для их развертывания.

Читать дальше →

Zabbix как сканер безопасности

Reading time11 min
Views31K

Привет! Все мы знаем и любим такие продукты для vulnerability assessment процессов как Nessus, Qualys, Max Patrol и всякие прочие OpenVAS. Одной из основных задач, которые они решают, является обеспечение контроля версионных уязвимостей.


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


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


Что развернуто в большинстве продуктовых систем? Конечно же мониторинг. И довольно часто это Zabbix. Так давайте к нему и прикрутимся!

Читать дальше →

Контейнеры для взрослых (Часть 01): Практический гид по терминологии

Reading time16 min
Views27K
Вы можете спросить, зачем разбираться с терминологией, если концепция контейнеров выглядит вполне простой и понятной? Однако, довольно часто неверное использование терминов создает препятствия на пути к освоению контейнеров. Например, люди часто считают, что термины «контейнеры» и «образы» взаимозаменяемы, хотя на самом деле между ними есть важные концептуальные различия. Другой пример: в мире контейнеров «репозиторий» означает вовсе не то, что вы думаете. Кроме того, контейнерные технологии – это гораздо больше, чем только docker.



Так что, не владея терминологией, будет сложно понять, чем docker отличается от CRI-O, rkt или lxc/lxd; либо оценить роль Open Container Initiative в деле стандартизации контейнерных технологий.
Читать дальше: Практический гид по контейнерной терминологии

Как обрабатывать ПД в РФ и не нарушать закон

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

В сегодняшнем материале мы решили отметить тонкости обработки ПД пользователей в России.

Читать дальше →

Астигматизм — способы коррекции

Reading time9 min
Views128K
Живете вы не печалитесь, смотрите на мир слегка прищуриваясь, и вдруг вам сообщают, что у вас астигматизм. Астигматизм – оптика глаза с неправильной фокусировкой, когда на сетчатке нет четкости из-за искажений в роговице или хрусталике глаза. Самостоятельно нельзя поставить такой диагноз – его обнаруживает офтальмолог. И возникает вопрос – что с ним делать? Надеть очки или контактные линзы, тренироваться с утра до ночи как рекомендует интернет или отдать себя в руки хирургов, чтобы «подправили» прицел?

А еще вариант – ничего не делать, продолжать жить как раньше, не болит же ничего.

Методы коррекции астигматизма

Важное правило – понять с каким отделом глаза связана эта оптическая проблема. От этого будет зависеть метод коррекции или лечения астигматизма.
Читать дальше →

CredSSP encryption oracle remediation – ошибка при подключении по RDP к виртуальному серверу (VPS / VDS)

Reading time3 min
Views113K
Начиная с 8 мая 2018 года, после установки обновлений на свой персональный компьютер, многие пользователи виртуальных серверов под управлением ОС Windows Server столкнулись с ошибкой «CredSSP encryption oracle remediation» при попытке подключения к удалённому рабочему столу:



На самом деле это не ошибка, а уведомление о проблеме безопасности давно необновлённого сервера.
Читать дальше →

Антивирус на батниках в прошлом ㅡ пришло время сниффера на PowerShell

Reading time6 min
Views23K


Все мы в качестве сниффера обычно используем готовые программы. Однако, можно обойтись и встроенными средствами Windows с помощью PowerShell. Помимо изобретения велосипеда «потому что можем», скрипты пригодятся в сценариях автоматизированного анализа трафика.

Читать дальше →

SSLH: Прячем SSH/HTTPS/OpenVPN/Telegram за единым портом 443

Reading time3 min
Views126K
image

SSH/HTTPS/OpenVPN/Telegram и всё на одном порту?! Что?!
— Да!
  • Хотите скрыть наличее у вас некоторых сервисов?
  • В публичной wi-fi сети блокируется всё кроме 443 (https) порта?
  • Настроили Telegram Proxy/OpenVPN и не хотите его «светить» ?
  • SSH подключение к своему серверу из стран с цензурой?

На все эти вопросы ответ один — Мультиплексирование SSL/TLS соединений, или SSLH.

В посте мы рассмотрим как в 1 команду спрятать кучу сервисов за 1 портом.
Читать дальше →

Telegram выпустил официальный MTProto Proxy Server

Reading time3 min
Views141K
image

Наконец-то дождались, после пристального рассматривания и реверс инжениринга протокола MTProto Proxy, Telegram решил выпустить официальный вариант, с поддержкой монетизации promoted каналов, да еще и сразу в Docker образе.
Читать дальше →

Довольно автоматизации ― пора нарисовать сову на PowerShell и научить консоль говорить

Reading time6 min
Views16K


Сегодня звездный час PowerShell: время странных скриптов и созданных при помощи «Мощной Оболочки» игр. Если серьезная рутина вам надоела и хочется посмотреть на иные таланты PowerShell ― приглашаю под кат.

и да начнется веселье!

CI/CD-пайплайн на примере одного небольшого проекта Уральской Дирекции ИТ

Reading time11 min
Views55K
Действующие лица (Команда): разработчиков – 2 человека, админ – 1 человек.

Статья повествует об использовании таких технологий, как Ansible, Docker Swarm, Jenkins и Portainer для реализации CI/CD-пайплайна с возможностью контроля за ним с помощью красивого веб-интерфейса.



Вступление


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

С другой стороны, есть бизнес, который хочет денег, да побольше, и поэтому постоянно думает о снижении времени вывода продукта на рынок. Другими словами, бизнес мечтает об ускорении получения MVP (a.k.a. Minimum Viable Product) в новых продуктах или при обновлении существующих.

Ну а чего же хочет админ? А админ – человек простой, он хочет, чтобы сервис не падал и не мешал играть в Кваку Танки и чтобы его пореже дергали разработчики и бизнес.
Поскольку для реализации желаний админа, как показывает правда жизни, его силами должны реализоваться и мечты других героев, представители ИТ-тусовки много работали над этим. Часто получалось достичь желаемого, придерживаясь методологии DevOps и реализуя принципы CI/CD (Continuous Integration and Delivery).

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

Как я делал свой учет финансов под андроид с блэкджеком, СМС и ФНС

Reading time9 min
Views47K

Введение


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


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

Если вторая проблема решилась экспортом в CSV и всемогущим экселем, то с остальными нужно было что-то делать. Очевидный вариант — сменить программу. Поизучав предложение, пришел к выводу, что все приложения делятся на скудные по функционалу и на дорогие:) Тем временем шел 2015-й год и мне все сильнее хотелось изучить разработку под мобильные девайсы. Что ж, звезды сходятся, принято решение пилить свое приложение!


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



Читать дальше →

Настройка BGP для обхода блокировок, версия 2, «не думать»

Reading time3 min
Views73K

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


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


  • линукс-машина (ubuntu) вне поля блокировок;
  • роутер Mikrotik, на который вы уже подняли VPN-туннель до этой линукс-машины;
  • настроенный NAT на этом туннеле, позволяющий вам работать через него;
  • желание.

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


Те, кто уже всё сделал по мотивам предыдущего поста, в этом полезной информации не почерпнут.

Читать дальше →
12 ...
27

Information

Rating
Does not participate
Registered
Activity