Форум программистов, компьютерный форум, киберфорум
diadiavova
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
Старый
Рейтинг: 5.00. Голосов: 1.
Поддержка дополнительных языков программирования во внедренных скриптах XSLT
Запись от diadiavova размещена 07.06.2021 в 11:00
Показов 4612 Комментарии 0

В предыдущем посте я рассматривал возможность реализации поддержки внедренных скриптов в .Net 5 и .Net Core. В развитие темы я подумал, что не стоит ограничиваться языками C# и VB.Net и решил поэкспериментировать и с другими языками программирования. В первую очередь мой выбор пал на языки WSH, то есть Jscript и VBScript. Эти языки поддерживаются библиотекой msxml (пример можно посмотреть здесь), механизм внедрения такой же как и в случае преобразования...
Аватар для diadiavova
Старый
Рейтинг: 5.00. Голосов: 1.
Возвращение поддержки внедренных скриптов в XSLT в .Net Core и .Net 5
Запись от diadiavova размещена 29.05.2021 в 09:00
Показов 3952 Комментарии 2

  1. Немного теории
  2. Процессор
  3. Добавление статического объекта
  4. Компиляция
  5. ProxyGenerator
  6. Результаты
В .Net Framework для XSLT поддерживалась возможность включать в XSLT скрипты, написанные на нескольких языках программирования (C#, VB.Net, JScript.Net). Функции, описанные в этих скриптах можно использовать в выражениях XPath, благодаря чему...
Аватар для diadiavova
Старый
Рейтинг: 4.00. Голосов: 4.
Управление браузером из внешнего приложения
Запись от diadiavova размещена 22.06.2020 в 09:00
Показов 7695 Комментарии 14

  1. Общие замечания
  2. Сервер
  3. Реализация расширения
  4. Приложение
  5. Запускаем – проверяем
Общие замечания

Если описывать задачу, которую мы здесь будем решать, в двух словах, то состоит она во взаимодействии настольного приложение с браузером. Мне известно о существовании Selenium WebDriver, однако, насколько я знаю, возможности...
Аватар для diadiavova
Старый
Рейтинг: 4.50. Голосов: 2.
Расширение для Inkscape. Дополнение.
Запись от diadiavova размещена 02.06.2020 в 09:00
Показов 2879 Комментарии 2

  1. Расширение XSLT 2.0 с использованием Saxon
  2. Расширение на Node.js
В предыдущем посте я рассмотрел общий подход к созданию расширения для Inkscape на примере приложения C#, которое выполняет преобразование XSLT. Сейчас мне просто хотелось бы добавить пару примеров.
Расширение XSLT 2.0 с использованием Saxon

Приложение, запускающее преобразование XSLT, рассмотренное в предыдущем посте, может быть полезно...
Аватар для diadiavova
Старый
Добавление схемы XSLT 2.0 в Visual Studio
Запись от diadiavova размещена 31.05.2020 в 09:00
Показов 1505 Комментарии 0
Метки visual studio

В Visual Studio поддерживается только XSLT версии 1.0. Я уже раньше писал, как можно использовать Saxon для выполнения преобразований XSLT 2.0 из интерфейса Visual Studio, но для поддержки редактирования документов этой версии в «студии» понадобится схема. Схему можно скачать отсюда, но работать она вот прям так сразу не будет. Во-первых, там есть две инструкции импорта, которые ссылаются на документы...
Аватар для diadiavova
Старый
Рейтинг: 4.50. Голосов: 2.
Структурное равенство и структурное сравнение в F#
Запись от diadiavova размещена 27.05.2020 в 09:00
Показов 2980 Комментарии 0

  1. Структурное равенство
  2. Равенство сложных типов
  3. Зачем это нужно
  4. Пример из мира Судоку (лирическое отступление)
  5. Структурное сравнение
  6. Что нам все это дает
Структурное равенство и структурное сравнение в F#

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

Структурное равенство

Начнем с простого примера. Создадим консольное...
Аватар для diadiavova
Старый
Рейтинг: 5.00. Голосов: 2.
Встраиваемые функции и статически разрешаемые параметры типов в F#
Запись от diadiavova размещена 23.10.2019 в 09:00
Показов 1711 Комментарии 0

  1. Куда и как встраиваются функции
  2. Статически разрешаемые параметры типов
  3. Привязка к членам в теле функции
Читая документацию по данным вопросам, я ловил себя на мысли, что какие-то важные детали от меня ускользают, причем вовсе даже не потому, что что-то непонятно описано, а потому, что в документации отсутствуют какие-то важные детали. Поэтому решил разобраться в этом более детально.

Куда и как встраиваются функции

В документации читаем:
Встроенные функции
...
Аватар для diadiavova
Старый
Рейтинг: 5.00. Голосов: 1.
Библиотека fparsec. Паресер математических выражений.
Запись от diadiavova размещена 29.07.2018 в 09:00
Показов 2293 Комментарии 0

  1. А в чем проблема?
  2. Модель дерева
  3. Класс OperatorPrecedenceParser
  4. Добавление унарных операторов
  5. Бинарные операторы
  6. Тернарный оператор
  7. Числа, скобки и фукнции
  8. Определение TermParser
  9. Тестирование
  10. О дополнительных функциях
А в чем проблема?

При парсинге математических выражений, наибольшую сложность, пожалуй, вызывают инфиксные операторы. Сложность заключается в том,...
Аватар для diadiavova
Старый
ASP.Net MVC + EF Core: пробуем подружить с F#
Запись от diadiavova размещена 05.07.2018 в 09:00
Показов 3139 Комментарии 0
Метки asp.net, aspnet, efcore, f#

  1. Введение
  2. Создание проекта
  3. Подготовка к использованию
  4. Создание модели
  5. Пробуем добавить миграцию
  6. Проект на C# и миграция
  7. Работа с данными
  8. Добавление связанных данных
Введение

В процессе описания мы создадим проект ASP.Net MVC на платформе .Net Core на языке F#, добавим к нему Entity Framawork Core и разберемся как все это можно совместить. Для того чтобы не "изобретать велосипед", я взял за основу руководство, написанное для языка C# и далее буду...
Аватар для diadiavova
Старый
Рейтинг: 5.00. Голосов: 2.
Пишем JSFuck-транслятор
Запись от diadiavova размещена 04.06.2018 в 01:23
Показов 4656 Комментарии 0
Метки javascript, jsfuck

  1. О чем пойдет речь
  2. Базовые понятия
  3. Приступим к написанию кода
  4. Дополним базовый словарь
  5. Работа с функциями
  6. Использование encodeURI вместо escape
  7. Несколько мыслей по поводу оптимизации вывода
  8. Оптимизация работы с fromCharCode
  9. Немного тестов
О чем пойдет речь

Для начала цитата из Википедии
JSFuck is an esoteric programming style of JavaScript, where code is written using only six characters: [,], (, ), !, and +. The name is derived from Brainfuck, an esoteric
...
Аватар для diadiavova
Старый
Рейтинг: 2.50. Голосов: 2.
И снова музыка VK
Запись от diadiavova размещена 07.11.2017 в 13:09
Показов 7846 Комментарии 0

  1. Предварительные замечания
  2. Получение данных о треке
  3. Получение прямой ссылки
  4. Скрипт для Tampermonkey
Предварительные замечания

На тему скачивания музыки из социальной сети "В контакте" я уже писал ранее, но с тех пор кое-что изменилось, так что скрипты, актуальные для того времени - больше не работают. Мало того, "вконтактик"...
Аватар для diadiavova
Старый
Рейтинг: 5.00. Голосов: 1.
Разбиение коллекции на диапазоны средствами LINQ.
Запись от diadiavova размещена 24.10.2017 в 14:51
Показов 2841 Комментарии 0
Метки c#, linq

  1. Задача с форума
  2. Попробуем обобщить
Задача с форума
Недавно на форуме попался достаточно простой вопрос - как получить длину самой длинной последовательности чисел, идущих подряд (то есть где каждое последующее число диапазона больше предыдущего на единицу). Решение задачи достаточно простое...
Аватар для diadiavova
Старый
Рейтинг: 5.00. Голосов: 1.
Несколько мыслей об HTA
Запись от diadiavova размещена 03.03.2017 в 13:49
Показов 12923 Комментарии 0

  1. Об HTML-приложениях.
  2. Краткое сравнение или почему HTA выглядит привлекательно
  3. В поисках утраченного диалога
  4. Не оставлять же все в таком виде
  5. А нельзя ли сделать поудобнее?
  6. Попробуем что-нибудь запустить
  7. Заключение
Об HTML-приложениях.

Клиентские Web-технологии (я сейчас говорю в первую очередь о связке HTM/JavaScript/CSS) уже давно вышли за пределы той ниши, которая была им...
Аватар для diadiavova
Старый
Рейтинг: 5.00. Голосов: 3.
MIDI музыка на C#. Часть 4-я.
Запись от diadiavova размещена 20.10.2016 в 13:18
Показов 2706 Комментарии 0
Метки c#, midi, music, winmm

  1. Пауза и воспроизведение с любого момента
  2. Фильтр по каналам
  3. Транспозиция
Пауза и воспроизведение с любого момента

Остановить воспроизведение несложно, надо только иметь в виду, что на момент остановки, какие-то звуки уже звучат и их неплохо было бы остановить, а стало быть простого уничтожения таймера будет недостаточно....
Аватар для diadiavova
Старый
Рейтинг: 5.00. Голосов: 1.
MIDI музыка на C#. Часть 3-я.
Запись от diadiavova размещена 18.10.2016 в 15:59
Показов 2936 Комментарии 0
Метки c#, midi, music, winmm

  1. Шаблоны аккордов
  2. Другой подход к шаблонизации аккордов
  3. Воспроизведение с использованием таймера
Шаблоны аккордов

При написании GetChord мне пришлось несколько раз исправлять ошибки. Несмотря на то, что рисунок аккомпанемента был чрезвычайно простым, реализация его в виде потока сообщений оказалась задачей не такой...
Аватар для diadiavova
Старый
Рейтинг: 5.00. Голосов: 1.
MIDI музыка на C#. Часть 2-я.
Запись от diadiavova размещена 04.10.2016 в 16:14
Показов 3048 Комментарии 0
Метки c#, midi, music, winmm

  1. Воспроизведение потока сообщений
  2. Аккомпанемент
  3. Объединение коллекций сообщений
Воспроизведение потока сообщений

Описанный выше метод воспроизведения мелодии - на самом деле не очень хорош. Он довольно просто реализуется и хорош тем, что в результате мы получаем методику очень похожую на исполнение мелодий на бипере,...
Аватар для diadiavova
Старый
Рейтинг: 5.00. Голосов: 3.
MIDI музыка на C#. Часть 1-я.
Запись от diadiavova размещена 02.10.2016 в 17:59
Показов 15185 Комментарии 12
Метки c#, midi, music, winmm

  1. Воспроизводим ноту
  2. Сыграем мелодию
  3. Воспользуемся старыми наработками
Разбираясь в вопросах темы "Мелодии на бипере", решил не останавливаться на достигнутом и пошел дальше. Наиболее естественным способом что-то сыграть на компьютере является использование MIDI. Естественно, для разработки профессионального...
Аватар для diadiavova
Старый
Рейтинг: 5.00. Голосов: 1.
Мелодии на бипере
Запись от diadiavova размещена 26.09.2016 в 15:48
Показов 13374 Комментарии 0
Метки beep, c#, music

  1. Выделяем логику воспроизведения в отдельный метод
  2. Создаем понятный формат
  3. Пример мелодии
  4. Код обработки формата
Идею для статьи навеяла одноименная тема на форуме. Практическое применение проигрывания мелодий с помощью Console.Beep, по всей видимости, если и существует, то очень ограниченное, так что все нижеизложенное - не более чем развлечение. Ну, разве что можно давать консольным...
Аватар для diadiavova
Старый
Поговорим об XPathNavigator
Запись от diadiavova размещена 29.08.2016 в 23:48
Показов 3807 Комментарии 0

  1. О языке XPath
  2. Преимущества XPathNavigator
  3. Создаем собственный XPathNavigator
  4. Расширение языка собственной функцией
  5. Тестирование
  6. Использование XSLT
О языке XPath

XPath – прекрасный язык навигации по XML-документу. Его удобно использовать как для отбора узлов в документе XML, так и как составную часть других языков, таких как: XLink, XSLT или XQuery....
Аватар для diadiavova
Старый
Mono под Linux'ом. Жизнь без WebBrowser.
Запись от diadiavova размещена 18.07.2016 в 16:51
Показов 4234 Комментарии 0
Метки c#, linux, mono, mozilla, webbrowser

Недавно понадобилось писать небольшие приложения под Linux. Естественно, первое, что я предпринял в этом направлении - начал изучать, какие возможности предоставляет Mono и особенно WinForms. Причины вполне понятны: хорошо знакомая технология, язык, среда разработки со всеми ее наворотами....
Аватар для diadiavova
Старый
CustomButtons часть 9-я. Код, сохранение параметров и отедльные приложения.
Запись от diadiavova размещена 31.03.2016 в 11:43
Показов 3039 Комментарии 0

  1. Структура кода
  2. Кнопки с настраиваемыми параметрами.
  3. Создание отдельного приложения для тестирования инструментов
  4. Кнопки с самомодифицирующимся кодом
Структура кода

Оверлей является наиболее удобным механизмом создания кнопок, вносящих изменение в структуру интерфейса. Тем не менее, используя оверлеи, надо понимать некоторые нюансы их...
Аватар для diadiavova
Старый
CustomButtons часть 7-я. Еще пара слов о GreaseMonkey и букмарклетах.
Запись от diadiavova размещена 17.03.2016 в 11:18
Показов 3244 Комментарии 0

  1. Фильтрация элементов меню в зависимости от адреса страницы
  2. Выполнение скрипта при загрузке страницы
  3. Работа с закладками
Фильтрация элементов меню в зависимости от адреса страницы

В GreaseMonkey есть такая удобная штука: команды скриптов в соответствующем меню отображаются только на тех страницах для которых одни предназначались. Это позволяет не...
Аватар для diadiavova
Старый
CustomButtons часть 6-я. Генерация текста.
Запись от diadiavova размещена 13.03.2016 в 14:23
Показов 2754 Комментарии 0

  1. Генерация текста из шаблонов
  2. Преобразование страницы с помощью XSLT
То, что будет описано в этой статье не относится исключительно к CustomButtons и платформе Mozilla, тем не менее при работе с этим расширением может оказаться полезным.
Генерация текста из шаблонов

Создание HTML-кода для отображения выходных данных и создания диалоговых окон может оказаться процессом достаточно...
Аватар для diadiavova
Старый
CustomButtons часть 5-я. Добавим интерактивности.
Запись от diadiavova размещена 10.03.2016 в 14:44
Показов 2670 Комментарии 0

  1. Панели
  2. Вывод данных в виде HTML-документа
  3. Модальные диалоги и наблюдатели
Многие задачи автоматизации требуют либо вывода какой-то информации пользователю, либо предоставления ему возможности ввести какие-то данные или выбрать параметры выполнения. Самые простые задачи такого типа могут быть решены...
Аватар для diadiavova
Старый
CustomButtons часть 4-я. Добавим оверлеи в кнопку
Запись от diadiavova размещена 06.03.2016 в 00:35
Показов 4036 Комментарии 0

  1. Оверлеи
  2. Внедрение оверлея в код кнопки
  3. Схема XUL
Дополнять контекстное меню одним-двумя элементами можно и программно, как это было показано в предыдущей статье, но создавать код более-менее сложной структуры вручную - как-то не хочется. Кроме того, пример с контекстным меню был просто иллюстрацией...
Аватар для diadiavova
Старый
CustomButtons часть 3-я. Взаимодействие с интерфейсом Firefox.
Запись от diadiavova размещена 27.02.2016 в 13:45
Показов 3544 Комментарии 0

  1. Откуда брать информацию о структуре интерфейса
  2. Контекстное меню
Ознакомившись с работой с файловой системой, буфером обмена, реестром и тому подобными вещами, можно уже делать много чего. Однако код с chrome-привилегиями может гораздо больше. И одной из таких возможностей является возможность взаимодействия...
Аватар для diadiavova
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru