Pull to refresh
37
0
Sergey Khabibullin @x2bool

catch (Exception o_0)

Send message

Пишем на Rust расширение для SQLite, чтобы научить его работать с файлами Excel

Reading time 11 min
Views 6.8K

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

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

Исходный код на GitHub

Читать далее
Total votes 23: ↑23 and ↓0 +23
Comments 0

Типобезопасный SQL на Kotlin

Reading time 4 min
Views 20K

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


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


vs


Ссылка на GitHub для нетерпеливых


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


Данная статья расскажет про библиотеку на Kotlin, которая позволяет писать SQL запросы в синтаксисе Kotlin. Также, мы немного посмотрим на внутренности библиотеки, чтобы понять как это работает.

Читать дальше →
Total votes 19: ↑17 and ↓2 +15
Comments 56

На злобу дня: кроссплатформенный клиент для Telegram на .NET Core и Avalonia

Reading time 9 min
Views 21K

В этой статье я расскажу, как реализовать кроссплатформенное приложение на .NET Core и Avalonia. Тема Телеграма очень популярна в последнее время — тем интереснее будет сделать клиентское приложение для него.


Egram


Статья затрагивает достаточно базовые концепции разработки на Avalonia. Тем не менее, мы не будем писать "Hello, World". Вместо этого предлагается рассмотреть реальное приложение. Изучим как общую архитектуру приложения, так и отдельные компоненты.


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


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

Читать дальше →
Total votes 29: ↑28 and ↓1 +27
Comments 22

.NET Core: релиза не будет, но вы держитесь, здоровья вам, хорошего настроения

Reading time 5 min
Views 28K

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



История версий .NET Core (шутка с просторов Интернета):


* Alpha
* Beta
* RC1
* 2RC 2Furious
* RC: Tokyo Drift
* RC4: The Big RC
* 7
* RC8
Читать дальше →
Total votes 52: ↑40 and ↓12 +28
Comments 31

Кроссплатформенный IDE для .NET/C# от JetBrains

Reading time 1 min
Views 62K
Сегодня анонсирован новый продукт от JetBrains на платформе IntelliJ. Кодовое имя прокта — Project Rider. Сообщается, что IDE содержит большое количество фич, соответствующих возможностям ReSharper.



Для своей работы IDE использует Resharper, который запускается в отдельном процессе, и служит в качестве бэкенда для редактора кода. IDE поддерживает .NET Framework, Mono и DNX/CoreCLR, и работает на платформах Windows, Mac OS X и Linux. Сообщается, что выход данного продукта связан в том числе и с движением Microsoft в сторону Open Source, а также, с растущей популярностью альтернативных платформ в мире .NET.

Предполагаемая дата релиза — осень 2016 года, но пользователи получат возможность протестировать продукт раньше, воспользовавшись Early Access Program.
Total votes 56: ↑50 and ↓6 +44
Comments 139

Microsoft анонсировала кроссплатформенный редактор для Windows, OS X и Linux

Reading time 1 min
Views 58K
Сегодня Microsoft анонсировала запуск Visual Studio Code. Это кроссплатформенный редактор для работы с современным стеком .NET. Visual Studio Code будет работать в OS X, Linux и Windows. Приложение уже доступно для скачивания.

Visual Studio Code может похвастаться всеми возможностями, что присутствуют в современных редакторах, включая автодополнение, сниппеты и поддержку систем контроля версий. Редактор поддерживает несколько языков и технологий, среди них: JavaScript, TypeScript, Node.js, C# и ASP.NET 5.



Microsoft, впервые в своей истории, представила кроссплатформенный редактор. Полная версия Visual Studio по-прежнему доступна только для Windows, но этот анонс, как и предшествующие действия компании, показывают, что Microsoft нацелена на поддержку других платформ.
Total votes 98: ↑87 and ↓11 +76
Comments 96

Разбираем KCaptcha, собираем заново… под .NET

Reading time 4 min
Views 3K
KCaptcha – довольно распространенная PHP библиотека для генерации CAPTCHA. Я довольно давно знаком с этим проектом, и так же давно меня не покидает одна мысль: «как там внутри все работает, как оно все устроено»? Да, бывает такое: мозг выделяет что-то, на первый взгляд крайне неприметное и непритязательное, но затем долгое время не упускает это что-то из головы. Так было с программированием, когда я впервые увидел кусочек кода на JavaScript, так стало и с библиотекой от Сергея Круглова, которую я и решил изучить.

Но обо всем по порядку. Не буду скрывать, разобрать и понять KCaptcha я пытался много раз. Мои попытки заканчивались неудачей. Этому способствовали, и минимум свободного времени, и очень малое количество комментариев в коде, и проблемы с мотивацией (она держалась только на интересе), но главным образом, конечно, отсутствие хоть какого-то опыта за плечами.

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

А зачем вообще ковыряться в коде? Подключил, и используй себе на здоровье! Благо, библиотека позволяет легко абстрагироваться от ненужных деталей. Этот вопрос я задавал и себе, пока мне не пришлось работать над одним ASP.NET проектом. Тогда возникла необходимость в защите некоторых страниц от спаммеров. Думаю, не нужно объяснять, что самый простой и распространенный способ защититься от ботов это каптча.

Раньше я не использовал в работе ничего кроме PHP и, рузумеется, никогда не видел CAPTCHA-решений под .NET. Быстрый поиск в гугле ничего кроме оберток ReCaptcha на C# не дал. Более глубокий анализ хостингов для opensource проктов привел к некоторым результатам, но то были давно заброшенные, незаконченные поделки. Они даже отдаленно не напоминали знакомую и уже частично изученную KCaptcha.

За все предыдущее врямя я немножко поднабрался опыта, да и с мотивацией теперь был полный порядок. Решено! Мне предстоит перенос KCaptcha с PHP на .NET.
Читать дальше →
Total votes 29: ↑26 and ↓3 +23
Comments 24

Information

Rating
Does not participate
Registered
Activity