Pull to refresh
0
0
KING @KING

User

Send message

Индексирование и поиск с помощью Xapian в .NET

Reading time3 min
Views4.2K
Если слово Xapian вам незнакомо, рекомендую ознакомиться с небольшой статьей.
Вкратце же, Xapian — представляет собой написанный на с++ набор инструментов для индексирования текстовой информации, с возможностью поиска по базе индексированной информации. Для работы не требует установленного сервера, достаточно наличия его библиотек. Может обрабатывать огромные массивы информации(проверено до 1.5Тб), измеряемой миллионами документов. Является конкурирующим продуктом Sphinx и Apache Lucene.
Мной он был выбран из этих трех продуктов за возможность использования из .Net.

Пробуем
Total votes 36: ↑30 and ↓6+24
Comments31

Never send a human to do a machine's job

Reading time3 min
Views914
Здравствуйте, господа.
Как новичок в C# и .NET я вчера спросил на stackoverflow (http://stackoverflow.com/questions/2192808/simple-but-interesting-task-for-c-newbie) о предложениях тестовых заданий для новичков. В результате получил ряд ответов, интересных и не очень. Но среди них выгодно выделялся один, с предложением решить программерский quiz.
Читать дальше →
Total votes 40: ↑28 and ↓12+16
Comments19

Обзор C# библиотек для работы с PDF

Reading time5 min
Views170K
topic image
На написание данной статьи меня подтолкнул топик HTML в PDF, правда по причине того, что он посвящен языку php, лично мне он был мало полезен, т.к. весь опыт работы с php у меня сводился в переводе нескольких скриптов на C#, поэтому я решил сделать небольшой обзор того, что доступно для работы с pdf по средствам языка C#.

Ко мне в список попало 7 библиотек, о которых я скажу несколько слов, а для самой популярной (судя по ответам на stackoverflow), я напишу, как с помощью неё сделать простейший документ. Сразу скажу, что это iTextSharp и работа с ней будет описана в конце статьи.
Читать дальше →
Total votes 87: ↑77 and ↓10+67
Comments24

Html Agility Pack — удобный .NET парсер HTML

Reading time5 min
Views164K
Всем привет!
Как-то раз мне пришла в голову идея проанализировать вакансии размещенные на Хабре. Конкретно интересовало, есть ли зависимость между размером зарплаты и наличия высшего образования. А еще сейчас у студентов идет сессия (в том числе и у меня), то возможно кому-то уже надоело трепать нервы на экзаменах и этот анализ будет полезен.
Так как я программист на .Net, то и решать эту задачу — парсить объявления на Хабре я решил на C#. Вручную разбирать строки html мне не хотелось, поэтому было придумано найти html-парсер, который помог бы осуществить задачу.
Забегая вперед скажу, что из анализа ничего интересного не вышло и сессию придется сдавать дальше :(
Но зато немножко расскажу про весьма полезную библиотеку Html Agility Pack
Читать дальше →
Total votes 58: ↑41 and ↓17+24
Comments69

Грабли при верстке HTML писем

Reading time3 min
Views104K
Довольно часто наши клиенты устраивают регулярные рассылки с новостями. Почти всегда их не устраивают текстовые рассылки или простое оформление HTML рассылок. Наши дизайнеры вовсю креативят, а мы потом набиваем шишки при верстке их макетов с корректным отображением во множестве почтовых клиентов.

Ниже список встретившихся нам особенностей и способы их разрешения (как то упорядочить их мне не удалось, поэтому всё идет единым списком)
Читать дальше →
Total votes 282: ↑273 and ↓9+264
Comments77

Создание документации в .NET

Reading time12 min
Views56K
Open notebookКачественная документация – неотъемлемая часть успешного программного продукта. Создание полного и понятного описания всех функций и возможностей программы и программного компонента требует немало сил и терпения. В данной статье я рассмотрю некоторые практические аспекты создания документации для .NET компонентов.

Предположим, что у нас готова или почти готова некоторая .NET библиотека для разработчиков (они же конечные пользователи). API библиотеки безупречен, количество багов впечатляюще мало, да и вообще это не библиотека, а просто кладезь совершенного кода. Дело за малым – объяснить пользователям, как работать с этим замечательным продуктом.

Есть разные подходы к написанию документации. Некоторые команды предпочитают начинать создание документации в момент начала создания продукта. Другие откладывают написание мануалов на окончание работ. В некоторых командах документацию пишут специальные люди, которые ходят от разработчика к разработчику и от менеджера к менеджеру, аккумулируя знания о продукте. Во многих небольших командах таких специальных людей нет, а потому документацию часто пишет разработчик или разработчики. Кто-то использует сторонние средства вроде Help & Manual, в которых, как в заправском текстовом редакторе, можно создавать очень сложную верстку и на выходе получать документацию в многообразии форматов. Многие используют другой подход, широко пропагандируемый в последнее время – написание документации прямо в коде программы/библиотеки.

Читать дальше →
Total votes 95: ↑82 and ↓13+69
Comments29

Пишем свой плагин для jQuery

Reading time3 min
Views7K
Сегодня утром я зашёл на Google Maps и с радостью увидел там слой «Пробки». Сразу же глаз зацепился за интересное интерфейсное решение для выбора времени, на которое будет показана ситуация с пробками.

Сразу же захотелось использовать подобный орган управления в своих проектах.

Самое время вспомнить, как пишутся плагины под jQuery.
image
Читать дальше →
Total votes 68: ↑57 and ↓11+46
Comments35

Необязательные параметры и именованные аргументы в C#4

Reading time3 min
Views21K
imageЭто семнадцатая статья из серии, которая посвящена выходу VS 2010 и .NET 4.

Сегодняшний пост затронет тему новых возможностей языка, добавленных в C# 4.0 – необязательные параметры и именованные аргументы, а еще крутой способ использования необязательных параметров в ASP.NET MVC 2.
Читать дальше →
Total votes 39: ↑26 and ↓13+13
Comments28

Поддержка новой встроенной базы данных в ASP.NET

Reading time4 min
Views5.1K
sql ce 4Буквально на днях я рассказал о новом IIS Express и поведал о нашей работе над улучшениями, которые мы произвели для облегчения жизни ASP.NET разработчикам.

И сегодняшний пост продолжит тему упрощения разработки и раскроет информацию о наших разработках в области баз данных. Фактически я хочу анонсировать завершение нашей работы над бесплатным SQL Server Compact Edition (SQL CE) в ASP.NET приложениях. Это позволяет упростить разработку и со стороны баз данных.
Читать дальше →
Total votes 63: ↑45 and ↓18+27
Comments27

Unit-тестирование средствами .NET

Reading time8 min
Views59K
Основная идея юнит (или модульного, как его еще называют) тестирования – тестирование отдельных компонентов программы, т.е. классов и их методов. Разрабатывать код, покрытый тестами, весьма полезно, потому что при их правильном использовании практически исключается возможность регресии в истории развитии программы – «что-то новое добавили, половина старого слегла». Также сейчас весьма модна методология разработки “TDD” — Test Driven Development. Согласно ей, программист вначале разрабатывает набор тестов для будущей функциональности, просчитывает все варианты выполнения, и лишь потом начинает писать непосредственно рабочий код, подходящий под уже написанные тесты.

Так как существование тестов в программе является не только подтверждением квалификации разработчика, но и зачастую требованием заказчика, я решил заняться этим вопросом и «пощупать» тесты вблизи.
Читать дальше →
Total votes 25: ↑16 and ↓9+7
Comments23

css opacity и select-ы

Reading time2 min
Views14K
Совсем недавно натолкнулся на один занимательный CSS баг/фичу, решил поделиться, возможно кому пригодится.
Нужно было на сайте создать выбор городов из списка, стандартный список не подошел по эстетическим соображениям, результат должен был выглядить как «ссылка» при клике на которой выпадает список доступных городов, задача банальна, но тут случайно наткнулся на занимательное поведение браузеров, причем как оказалось у всех одинаковое.
Читать дальше →
Total votes 70: ↑65 and ↓5+60
Comments48

Кроссбраузерный box-shadow

Reading time2 min
Views66K
Здравствуйте, дорогие читатели. Сегодня хочу с вами поделиться чрезвычайно простым способом кроссбраузерной реализации css-свойства box-shadow. Способ настолько простой и очевидный, что я был чрезвычайно удивлен тем, что не смог найти на просторах интернета аналогичного решения (хотя я более чем уверен, что не являюсь первооткрывателем).

Читать дальше →
Total votes 41: ↑37 and ↓4+33
Comments41

Удобный мониторинг ошибок в приложении ASP.NET

Reading time2 min
Views13K
Здравствуйте, уважаемы читатели Хабра. В данном посте я хочу рассказать вам о модуле для мониторинга ошибок в ASP.NET — ELMAH (Error Logging Modules and Handlers).

Для чего это может быть полезным:


Представьте ситуацию, когда у вас есть работающий в Prod режиме сайт с большим количеством юзеров выполняющих разнообразные бизнес задачи. Время от времени некоторые пользователи сообщают о спонтанно возникающих ошибках, которые на Dev окружении воспроизвести не удается. При этом очень трудно бывает понять по описанию юзера что может быть причиной ошибки и при какой комбинации действий она произошла.
Читать дальше →
Total votes 45: ↑32 and ↓13+19
Comments16

Рекомендации друзей для социальных сетей

Reading time2 min
Views1.8K
Не давно писал как можно рекомендовать товар в Интернет-магазинах или других местах, используя информацию о пользователе. Сейчас хочу показать алгоритм, который позволяет рекомендовать друзей, например в социальных сетях.

Первый шаг, представим информацию о пользователя в интервальной шкале и рекомендуем пользователю друзей используя коэффициент корреляции Пирсона, который будет измеряет степень линейной зависимости между двумя интервальными переменными. Например, у нас есть 4 пользователя: Дима, Анна, Петя и Саша. Мы знаем о них информацию, которую представляем в виде чисел в массиве (интересы, блоги, возраст и т.д.)
Читать дальше →
Total votes 38: ↑29 and ↓9+20
Comments46

Список Javascript библиотек для рисования графиков и диаграмм 2

Reading time2 min
Views37K
Продолжаем тему визуализации данных в интернете.

Предыдущие топики:
Читать дальше →
Total votes 52: ↑47 and ↓5+42
Comments12

«Множества» в C#

Reading time3 min
Views14K
Снова пишу про то, что, в общем-то, известно =) Но если где-то нужно передать в качестве аргумента функции несколько флагов, то данный способ можно использовать. Множеств (UPD: не как классов в библиотеке .Net, а как встроенной в синтаксис языка конструкции) в C# нет. Но зато есть атрибут [FlagsAttribute] для перечислений (т.е. для enum'ов):
[Flags]<br>enum Magic<br>{<br>  None = 0,<br><br>  Fire = 1, //огонь<br>  Air  = 2, //воздух<br>  Water = 4, //вода<br>  Earth = 8, //земля<br><br>  All  = Fire | Air | Water | Earth<br>}<br><br>* This source code was highlighted with Source Code Highlighter.
Читать дальше →
Total votes 21: ↑10 and ↓11-1
Comments17

Верстка повторяющихся блоков

Reading time3 min
Views14K
Довольно часто при верстке сайта возникает необходимость размещать блоки одинаковой ширины, но разной высоты в контейнере с переменной шириной (читай резиновом). Плюс на этот список может применяться фильтр, который JS-ом скрывает или показывает элементы списка, при этом он не должен разрушать «строки», верстку, или образовывать дыры, поэтому решения на таблицах не катят сразу. Простейший пример — каталог товаров:


Читать дальше →
Total votes 109: ↑95 and ↓14+81
Comments63

Дао Вебсервиса. (Или да хватит же изобретать велосипеды!)

Reading time12 min
Views58K
image Недавно на Хабре была опубликована статья под провокационным заголовком и призывом к прекращению изобретений велосипедов в API-строении. Поскольку тема мне интересна, то я просто не мог пройти мимо.
Увы, реальность за хабракатом меня сильно разочаровала — я увидел очередной велосипед, да еще и с квадратными колесами. (Коллеги, ничего личного, только техническое обсуждение.) Правда, авторы честно сказали, что увидели на нескольких сайтах модное слово REST и решили сделать по нему. Только вот поняли они этот «РЭСТ» по-своему, примерно как Дед Щукарь читал и понимал толковый словарь.
В этом топике я призываю по-настоящему покончить с велосипедами в API сайтов. Ведь получается какой анекдот: АПИ разрабатывается для упрощения доступа к сайту и легкости подключения внешних систем, а получается такой, что с ним еще сложнее, чем без него :)

Чуть ниже под катом я подпишу смертный приговор всем велосипедам в универсальных API. Чтобы не быть голословным, я все проиллюстрирую примерами.
Но должен предупредить сразу — после прочтения статьи вы не сможете без рвотного рефлекса смотреть на очередной велосипед Васи Пупкина под гордым названием «универсальное API сайта».

В повествовании будут рассмотрены следующие вопросы:
  1. Базовые технологии: XML-RPC, REST, SOAP и краткое сравнение
  2. Дао вебсервиса
  3. Просветленные API
  4. Как отличить сайтовое API от говна
  5. Выводы

Кто не испугался суровых реалий - вперед
Total votes 315: ↑289 and ↓26+263
Comments206

Information

Rating
Does not participate
Registered
Activity