Под катом хочу рассказать про вывод на печать PDF фалов под .NET. С уклоном на печать из разных лотков принтера. Это бывает полезно, когда нужно распечатать документы, состоящие из разных типов бумаги разложенных по лоткам принтера.
Читать полностью »
Рубрика «C#» - 120
[PF] Печать PDF средствами .NET
2016-03-16 в 4:13, admin, рубрики: .net, C#, c#.net, ghostscript, PDF, pdf-принтер, Блог компании Тинькофф Банк, ПрограммированиеИстория о разработке Космосима на Unity
2016-03-14 в 12:20, admin, рубрики: C#, game development, Gamedev, unity3dВ своей статье я постараюсь описать свой опыт создания игры за две недели, начиная от выбора жанра и сеттинга, заканчивая финальными титрами, а так же все грабли, на которые я наступил в процессе разработки, и на которые мне больше наступать не хочется. Тем, кто имеет достаточно большой опыт в разработке игр, статья скорее всего будет неинтересна, но начинающие разработчики, думаю смогут найти что-то интересное для себя.
Название — та часть игры, работа над которой была отложена на самый последний момент. В итоге ничего стоящего придумать, к сожалению, не удалось.
Читать полностью »
Об одной интересной ошибке в Lucene.Net
2016-03-14 в 12:14, admin, рубрики: .net, C#, lucene.net, open source, pvs-studio, static code analysis, Блог компании PVS-Studio, Программирование, статический анализ кода
Некоторые программисты, когда слышат про статический анализ, говорят о том, что он им не нужен, так как весь их код покрыт юнит-тестами, и этого достаточно, чтобы выловить все ошибки. Мне попалась ошибка, найти которую с помощью юнит-тестов теоретически возможно, но если о ней не знать, то написать такой тест практически нереально.
Анонс .NET-конференции DotNext 2016 Piter
2016-03-14 в 6:57, admin, рубрики: .net, C#, dotnext, esposito, goldshtein, jetbrains, microsoft, ReSharper, Блог компании JUG.ru Group, конференцииВ пятницу, 3 июня, в Санкт-Петербурге пройдет .NET-конференция DotNext 2016 Piter. Это будет уже пятая по счету конференция DotNext, третья в Петербурге. Второй раз подряд конференцию примет гостиница «Radisson Пулковская».
Что мы припасли для вас на этот раз? Как всегда, крутейшие темы от крутейших докладчиков.
В частности, на конференции выступят:
- Авторы крутейших книг о .NET Dino Esposito и Sasha Goldshtein;
- Разработчики ReShaper и новой IDE для C# под названием Rider;
- Сотрудники Microsoft, как евангелисты, так и инженеры, причем самого крутого уровня
- Лучшие хаброавторы, лидеры .NET-хаба;
- Лучшие докладчики предыдущих конференций DotNext;
- Организаторы и спикеры SPb .NET Community;
- Традиционные спонсоры DotNext — JetBrains и Futurice;
- Кто-то из вас — мы ждем от вас заявок!
Скоростная разработка Unity3D игры на конкурс
2016-03-10 в 9:13, admin, рубрики: C#, game development, Gamedev, unity3dВ данной статье я расскажу про интересные и немного неочевидные моменты разработки видеоигры в сжатые сроки: по регламенту конкурса, работоспособную демку необходимо сдать в течение недели, а релиз — в течение двух недель. Статья предназначена для тех, кто уже игрался с Unity3D, но еще не делал на этом игровом движке никаких проектов сложнее HelloWorld’а.
Картинка для привлечения внимания — скриншот игры.
Ищем ошибки в игровом движке Xenko
2016-03-09 в 13:51, admin, рубрики: .net, C#, dotnet, game development, game engine, open source, paradox, pvs-studio, static code analysis, Xenko, Блог компании PVS-Studio, статический анализ кода
Движков с открытым исходным кодом, написанных на C++, куда больше, чем аналогичных движков, написанных на C#. Но есть исключения. Xenko – один из движков, написанных на C# и имеющих открытый исходный код. О том, что же интересного удалось найти в коде этого движка, будет рассказано в этой статье.
Читать полностью »
Создание приложений для СУБД Firebird с использованием различных компонент и драйверов: ADO.NET Entity Framework 6
2016-03-05 в 15:34, admin, рубрики: .net, C#, entity framework, firebird, Firebird/Interbase, open source, разработкаВ данной статье будет описан процесс создания приложений для СУБД Firebird с использованием компонентов доступа Entity Framework и среды Visual Studio 2015.
ADO.NET Entity Framework (EF) — объектно-ориентированная технология доступа к данным, является object-relational mapping (ORM) решением для .NET Framework от Microsoft. Предоставляет возможность взаимодействия с объектами как посредством LINQ в виде LINQ to Entities, так и с использованием Entity SQL.
Entity Framework предполагает три возможных способа взаимодействия с базой данных:
- Database first: Entity Framework создаёт набор классов, которые отражают модель конкретной базы данных.
- Model first: сначала разработчик создаёт модель базы данных, по которой затем Entity Framework создаёт реальную базу данных на сервере.
- Code first: разработчик создаёт класс модели данных, которые будут храниться в БД, а затем Entity Framework по этой модели генерирует базу данных и её таблицы
В своём приложении мы будем использовать подход Code First, однако вы без труда сможете использовать и другие подходы.
Наше приложение будет работать с базой данных, модель которой представлена на рисунке ниже.
Внимание!
Эта модель является просто примером. Ваша предметная область может быть сложнее, или полностью другой. Модель, используемая в этой статье, максимально упрощена для того, чтобы не загромождать описание работы с компонентами описанием создания и модификации модели данных. |
Теория и практика парсинга исходников с помощью ANTLR и Roslyn
2016-03-03 в 13:39, admin, рубрики: .net, antlr, AST, C#, java, php, PLSQL, roslyn, tsql, Блог компании Positive Technologies, грамматика, Компиляторы, неоднозначность, ошибка синтаксиса, парсинг, ПрограммированиеВ нашем проекте PT Application Inspector реализовано несколько подходов к анализу исходного кода на различных языках программирования:
- поиск по сигнатурам;
- исследование свойств математических моделей, полученных в результате статической абстрактной интерпретации кода;
- динамический анализ развернутого приложения и верификация на нем результатов статического анализа.
Наш цикл статей посвящен структуре и принципам работы модуля сигнатурного поиска (PM, pattern matching). Преимущества такого анализатора — скорость работы, простота описания шаблонов и масштабируемость на другие языки. Среди недостатков можно выделить то, что модуль не в состоянии анализировать сложные уязвимости, требующие построения высокоуровневых моделей выполнения кода.
К разрабатываемому модулю были, в числе прочих, сформулированы следующие требования:
- поддержка нескольких языков программирования и простое добавление новых;
- поддержка анализа кода, содержащего синтаксические и семантические ошибки;
- возможность описания шаблонов на универсальном языке (DSL, domain specific language).
В нашем случае все шаблоны описывают какие-либо уязвимости или недостатки в исходном коде.
Весь процесс анализа кода может быть разбит на следующие этапы:
- парсинг в зависимое от языка представление (abstract syntax tree, AST);
- преобразование AST в независимый от языка унифицированный формат;
- непосредственное сопоставление с шаблонами, описанными на DSL.
Данная статья посвящена первому этапу, а именно: парсингу, сравнению функциональных возможностей и особенностей различных парсеров, применению теории на практике на примере грамматик Java, PHP, PLSQL, TSQL и даже C#. Остальные этапы будут рассмотрены в следующих публикациях.
Читать полностью »
Добрый вечер, читатели!
Сегодня я хочу поделиться с вами таким еще молодым проектом, как ORegex или Object Regular Expressions. Я уже довольно долго работаю в компьютерной лингвистике и хоть я не лингвист, но все же вижу в языках какие-то устоявшиеся конструкции, шаблоны.
Для тех кому интересно, как я решил их выделять — под кат.
Читать полностью »
[ScanDoc] предобработка сканов
2016-02-29 в 6:41, admin, рубрики: .net, C#, c#.net, Блог компании Тинькофф Банк, обработка изображений, Программирование, сканирование, улучшение мираЕсть мнение, что система электронного документооборота полностью избавляет от работы с бумагами, но это не так. Для оцифровки бумажных экземпляров документов их обычно пропускают через сканер. Когда поток документов и требования к качеству сканов превышают некоторый порог возникает ряд вопросов, которые необходимо решать программно.
Какие проблемы приходится решать:
- Корректировать угол наклона изображения, т.к. фидер сканера неизбежно наклоняет документ при протяжке. Неряшливость в важных документах недопустима.
- Выделять полезную часть на скане, остальное — удалять, так как это не информативно и занимает дисковое пространство впустую.
- Находить и удалять пустые страницы, которые обязательно будут при дуплекс-сканировании.