Pull to refresh
1
0
Даниил Третьяков @bodrov

User

Send message

Создаем рекурсивные ярлыки в Windows

Reading time5 min
Views123K
Все мы знаем, что такое ярлык. А что будет, если сделать ссылку ярлыка самого на себя?
Создание ярлыка на ярлык приводит к его копированию. И что будет, если принудительно создать побайтно такой ярлык?

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

Зайти в такую папку обычными файловыми менеджерами будет невозможно.

Но тут не обошлось без ярлыка, и я расскажу, как это сделать и для чего можно использовать.
Читать дальше →
Total votes 237: ↑223 and ↓14+209
Comments105

Сервис для создания планировок помещений и интерьеров

Reading time4 min
Views59K


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

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

Что из этого вышло
Total votes 165: ↑159 and ↓6+153
Comments176

Black Mesa уже можно загрузить бесплатно!

Reading time2 min
Views204K
Загрузить!
Зеркало 1
Зеркало 2
Зеркало 3
Зеркало 4

Отложите все свои дела на вечер, предупредите семью и близких, сегодня вечером в 18:45 MSK в свободном доступе появится легендарная Black Mesa.
Black Mesa это полный римейк всем известной Half-Life на движке Source. Проект стартовал в 2004 году, когда Valve перевыпустила оригинальный Half-Life на движке Source, но из нового в игре был только движок. Все текстуры и модели были старыми. Это и дало начало созданию мода с полностью новыми моделями от начала и до конца.




Читать дальше →
Total votes 114: ↑109 and ↓5+104
Comments231

Работа с данными в WinRT. Часть 2. Работа с БД на примере SQLite

Reading time6 min
Views17K
В предыдущей части мы рассматривали как получить доступ к файловому хранилищу приложения. Так как есть прямой доступ к файловому хранилищу, мы можем воспользоваться практически любой встраиваемой БД. На сегодняшний день SQLite, пожалуй, является самой популярной кроссплатформенной встраиваемой базой данных. В связи с этим при портировании приложений скорее всего придется работать с SQLite, работу с которым будем рассматривать далее.

В целом статья получилось больше похожей на инструкцию по установке и работе SQL Lite.

В статье будет описано
Установка расширения для сутдии.
Добавление SQLite в проект
Добавление провайдера sqlite-net
Работа с БД через linq провайдер (в стиле LinqToSql, EF)
Работа с БД через SQL запросы (в стиле ADO.NET)
Читать дальше →
Total votes 24: ↑19 and ↓5+14
Comments14

Проверь свой T-SQL код!

Reading time3 min
Views24K
SqlCodeGuard В далёком 2005 году я менял стек технологий с Java на .NET и поначалу в Visual Studio мне очень не хватало возможностей, которыми располагала IntelliJ IDEA. Пробуя различные плагины к студии, я остановился на ReSharper'е и по сей день его использую. Недавно стало интересно, есть ли похожие продукты для работы с SQL Server, а точнее с T-SQL кодом хранимых процедур. Собственно про один такой продукт я и хочу рассказать в этой статье.

Итак, SqlCodeGuard – это бесплатный addin для SQL Server Management Studio для статического анализа T-SQL кода. Ну и плюс пара-тройка других возможностей.

Основные возможности под хабракатом...
Total votes 52: ↑48 and ↓4+44
Comments14

Windows 8 сообщает Microsoft о любых устанавливаемых программах

Reading time3 min
Views43K


Как и обещалось, в начале августа компания Microsoft выпустила для почти что свободного скачивания версию Release Preview своей наиболее спорной за последние годы операционной системы — Windows 8. К ней немедленно получили доступ исследователи и просто интересующиеся, в том числе и Надим Кобейсси, который 24-го августа опубликовал данные о том, что одна из слабо известных утилит Windows 8 отправляет сведения о всех устанавливаемых приложениях компании Microsoft. Подобный сбор данных о пользователе потенциально может вылиться в преследование — не только судебное, но и политическое, к примеру, в тех регионах, где ситуация нестабильна.

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

Windows 8 имеет функцию под названием Windows SmartScreen, которая по умолчанию включена. Данная функция имеет своей целью наблюдение за всеми приложениями, которые пользователь попытается установить, чтобы предупредить о статусе безопасности устанавливаемой программы.
Читать дальше →
Total votes 148: ↑97 and ↓51+46
Comments173

PDFsharp and MigraDoc Foundation (Основы)

Reading time3 min
Views22K
Так как статья, из-за которой я получил инвайт куда-то пропала, хочу опубликовать ее снова.

Ввиду небольшого количества бесплатных библиотек для работы с PDF в .Net а также недостаточного освещения их на русском языке хочу рассказать о работе с такой замечательной библиотекой как PDFsharp and MigradDoc
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments4

Обратная сторона луны

Reading time14 min
Views47K
При написании приложений, одной из важнейших вопросов являются потребление памяти и отзывчивость (скорость работы).

Считается, что сборщик мусора – черный ящик, работу которого нельзя предугадать.

А еще говорят, что GC в .NET практически не настраиваемый. А еще, что нельзя посмотреть исходники как классов .NET Framework, так и CLR, GC и т.п.

А я скажу как бы ни так!

В данной статье мы рассмотрим:
  • структура организации размещения объектов в памяти
  • CLR 4.5 Background Server GC
  • правильная настройка сборщика мусора
  • эффективный апгрейд приложений до .NET 4.0+
  • правильное ручное управление памятью

Читать дальше →
Total votes 138: ↑132 and ↓6+126
Comments28

Семь смертных грехов программиста на T-SQL

Reading time13 min
Views204K
Недостаточно писать код хорошо читаемым: он также должен быстро выполняться.

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

  • Пишите, исходя из структуры хранения данных: если вы храните данные типа datetime, используйте именно datetime, а не varchar или что-нибудь еще.
  • Пишите, исходя из наличия индексов: если на таблице построены индексы, и они должны там быть, пишите код так, чтобы он мог использовать все преимущества, предоставляемые этими индексами. Убедитесь, что кластерный индекс, а для каждой таблицы он может быть только один, используется наиболее эффективным образом.
  • Пишите так, чтобы помочь оптимизатору запросов: оптимизатор запросов – восхитительная часть СУБД. К сожалению, вы можете сильно затруднить ему работу, написав запрос, который ему «тяжело» будет разбирать, например, содержащий вложенные представления – когда одно представление получает данные из другого, а то из третьего – и так далее. Потратьте свое время для того, чтобы понять как работает оптимизатор и писать запросы таким образом, чтобы он мог вам помочь, а не навредить.

Существует несколько типичных ошибок, которые люди допускают в своем коде на T-SQL – не совершайте их.
Читать дальше →
Total votes 67: ↑62 and ↓5+57
Comments14

События .NET в деталях

Reading time9 min
Views151K
Если вы .NET программист, то вы наверняка объявляли и использовали события в своем коде. Несмотря на это, не все знают, как события работают внутри и какие особенности связаны с их применением. В этой статье я попытался описать работу событий как можно более подробно, включая некоторые частные случаи, с которыми редко приходится иметь дело, но про которые важно и\или интересно знать.
Читать дальше →
Total votes 59: ↑57 and ↓2+55
Comments16

Управления конфигурационными файлами в .net проектах

Reading time3 min
Views7K

Setty.org


Предисловие


Я думаю, что каждый .net разработчик хоть раз, да сталкивался с проблемами управления конфигами для различных окружений. Часто есть необходимость при разработке новой функциональной возможности поменять строку подключения к БД, не мешая при этом другим разработчикам. Для этого обычно в конфиге меняется строка подключения на локальную базу данных, а потом эти изменения комитятся… Все остальные разработчики негодуют, потому что система перестала работать на их локальных машинах.
Если команда распределённая часто есть необходимость в спецефических настройках. Иногда вам нужны одинаковые настройки для разных проектов в солюшене и вы просто копируете их. В конце концов хотелось бы иметь возможность добавлять различную логику в конфиг. К примеру, на локальных машинах разработчиков отправленная почта должна сохранятся на диске, в то время как на тестовом сервере почта должна отправлятся с использованием сервиса отправки почты. Я думаю можно привести много примеров, которые сложно реализуемы без дополнительного механизма управления конфигами.
Читать дальше →
Total votes 25: ↑19 and ↓6+13
Comments15

Sublime Text 2

Reading time12 min
Views306K
Пару месяцев назад я случайно наткнулся на массу положительных отзывов о текстовом редакторе Sublime Text 2. Попробовав его в деле, я не разочаровался. Теперь это мой основной рабочий инструмент.

Sublime Text 2 — это платный текстовый редактор, написанный на C++, который:

  • Работает в Linux, OS X и Windows
  • Обладает приличной скоростью работы
  • Приятным интерфейсом (включая всевозможные анимации)
  • Гибко настраиваем (правда, не в GUI, а в json-конфигах)
  • Имеет множество плагинов, число которых растёт как на дрожжах
  • Поддерживает VIM-режим
  • Использует fuzzy-поиск
Читать дальше →
Total votes 235: ↑208 and ↓27+181
Comments284

Восстановление расфокусированных и смазанных изображений. Практика

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

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

Ниже показан результат обработки реального размытого изображения (не с синтетическим размытием). Исходное изображение было получено камерой Canon 500D с объективом EF 85mm/1.8. Фокусировка была выставлена вручную, чтобы получить размытие. Как видно, текст совершенно не читается, лишь угадывается диалоговое окно Windows 7.



И вот результат обработки:



Практически весь текст читается достаточно хорошо, хотя и появились некоторые характерные искажения.

Под катом подробное описание проблем деконволюции, способов их решения, а также множество примеров и сравнений. Осторожно, много картинок!
Читать дальше →
Total votes 459: ↑456 and ↓3+453
Comments141

Свежее сено от коровы, или 3000 иконок подано!

Reading time2 min
Views4.6K
После выпуска 2000 иконок FatCow прошло более года. Пошел четвертый год рисования. Страницу посетило 560,096 (288,511+235,221+36,364) посетителей. Чтобы дойти до 3500 иконок, работы хватит до февраля 2013 года. Если добавить размер 64x64, то до середины 2015-го года. Пока вложено $76778 и 2000 часов работы. Тут выложили 3000 иконок, за неделю до выпуска на официальном сайте, ибо владельцы коровы (Bluehost) заняты покупкой крокодила (HostGator).

image

Чтобы понять, какой набор иконок самый уникальный в мире, пришлось рассортировать 7422 иконок. Результат не подвел…

Читать дальше →
Total votes 145: ↑134 and ↓11+123
Comments55

xNet — C# библиотека для работы с Web

Reading time7 min
Views145K
Постепенно, с изучением C# и .NET Framework, я начал писать различные Helper'ы, которые скрывали рутинный код за вызовом всего одного метода. После это переросло в разработку полноценной библиотеки, которую я хочу вам представить. Данная библиотека написана полностью 'с нуля'.

Так что же такое xNet?


xNet — это библиотека классов для .NET Framework, которая включает в себя:
  • Классы для работы с прокси-серверами: HTTP, Socks4(a), Socks5, Chain.
  • Классы для работы с HTTP 1.0/1.1 протоколом: keep-alive, gzip, deflate, chunked, SSL, прокси и другое.

Читать дальше →
Total votes 47: ↑36 and ↓11+25
Comments42

Введение в Claims-based identity

Reading time5 min
Views32K
При разработке приложений на стеке Microsoft для получения информации о текущем пользователе достаточно часто(точнее почти всегда) можно встретить такие участки кода или обертки над ними:

HttpContext.User.Identity.Name
HttpContext.User.IsInRole(...)


или

Thread.CurrentPrincipal.Identity.Name
Thread.CurrentPrincipal.IsInRole(...)


Целью этих вызовов может являться необходимость принятия решения об авторизации вызова какой-то функции или метода, отображение информации о текущем пользователе и тд.
Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments55

Что нового в Visual Studio 2012 RC

Reading time8 min
Views43K
С радостью хотелось бы анонсировать выход в свет Релиз Кандидата Visual Studio 2012, Team Foundation Server 2012 и .NET Framework 4.5. Эти продукты уже доступны для загрузки с сайта Visual Studio
Читать дальше →
Total votes 60: ↑49 and ↓11+38
Comments37

Greensock: анимация на JavaScript

Reading time3 min
Views101K
Недавно я писал, что Greensock, прекрасная библиотека для скриптовой анимации на Flash, теперь поддерживает и JavaScript. В этой статье я продемонстрирую основы работы с GSAP v12 (beta). Результат будет примерно таким:


Сразу оговорюсь, что графику и идею для примера я взял из документации $fx(), ведь кто из нас откажется
проанимировать НЛО
Total votes 90: ↑83 and ↓7+76
Comments38

Локализация ASP.NET MVC приложения с помощью БД

Reading time8 min
Views19K

Данная статья будет узконаправленной и покрывает локализацию через БД, поэтому подробно расписывать как делать локализацию с помощью файлов ресурсов (resx) можно посмотреть, например, тут: MVC 2: Полное руководство по локализации. Для локализации с помощью представлений я тоже там ссылки.

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

Читать дальше →
Total votes 31: ↑21 and ↓10+11
Comments11

Information

Rating
Does not participate
Location
Донецк, Донецкая обл., Украина
Date of birth
Registered
Activity