Search
Write a publication
Pull to refresh
462
0
Краковецкий Александр @sashaeve

CEO DevRain

Send message

Создание ASP.NET AJAX контрола с возможностью обмена данными с сервером

Reading time4 min
Views4.7K
Здравствуй, Хабр!

Хочу поделиться своим опытом решения проблемы, ответа на которую я трудно найти в Интернете (русскоязычном — уж точно).

Столкнулся я недавно с тем, что мне было поручено написать ASP.NET AJAX контрол серверной стороны. Это такой контрол, который доступен при редактировании страницы ASP.NET в дизайнере (toolbox), часть логики его находится на сервере, а часть на клиенте, взаимодействие происходит аяксово. Суть работы моего контрола — простой ComboBox, который получал бы данные динамически с сервера (предполагается, что данных так много, что загрузить их все разом нельзя), а также фильтровал бы список на основании введенных в текстовое поле символов. Это почти реализовано в AJAX Control Toolkit, только список там грузится целиком.
В интернете довольно много различных статей и блогов по теме создания своих контролов, однако, как ни странно, все они ограничиваются простенькими примерами, в которых напрочь отсутствует описание механизма взаимодействия клиента и сервера. Большинство источников приводит цитаты из стандартных микрософтовских учебников, где аякс заключается в том, что при наведении мышки на кнопку та меняет свою картинку (дет. сад). Мне же надо было, чтобы в список на клиенте подтягивались данные из списка, который хранился на сервере (это может быть просто список, какой-либо ORM и вообще все, что бывает IEnumerable).

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

TDD для начинающих. Ответы на популярные вопросы

Reading time8 min
Views51K
Исходники проекта написанного с помощью TDD. Visual Studio 2008/C#
Для написания тестов использована библиотека xUnit, для создания mock-объектов – Moq.




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

Мне задают много вопросов про TDD. Из этих вопрсов я выбрал ключевые и написал на них ответы. Сами вопросы вы можете найти в тексте, они выделены курсивом.
Читать дальше →

Что такое стартап? Основы от Стива Бланка

Reading time3 min
Views4.4K
Успех состоит из пути от одной ошибки к другой без потери энтузиазма.
Уинстон Черчиль


Каждый знает, что такое стартап. Разве нет?
Я бы предложим новое объяснение тому, почему появляются стартапы: стартап – это организация, созданная для поиска повторяемой (в англ.оригинале «repeatable» – в значении «не одноразовая модель», а НЕ «бизнес-модель, которую можно повторить») и масштабируемой бизнес-модели.

Бизнес-модель


Хорошо, а что такое бизнес-модель?
Бизнес-модель описывает, каким образом ваша компания создает, достигает и завоевывает ресурсы.
Простым языком, бизнес-модель описывает, как ваша компания зарабатывает деньги (в вашей системе координат это могут быть успех, новые пользователи, прирост трафика и т.п.)
Представьте, что бизнес-модель – это диаграмма, на которой показаны все связи между различными частями вашей организации. Эта диаграмма показывает и то, как ваша продукция попадает к покупателям и как оплата за эти продукты попадает к вам. Также она демонстрирует структуру затрат, как каждый отдел компании взаимодействует с другими, как ваша компания интегрирована в рынок и взаимодействует с партнерами. Слова словами – проще отобразить на схеме.

Схема бизнес-модели


Много людей пытались понять, как лучше отобразить диаграмму или схему бизнес-модели. Мои студенты занимались этим годами, но работа Александра Остерволдера (Alexander Osterwalder) это лучшее, что я увидел за последние десять лет. Его диаграмма – это универсальный образец бизнес-модели. Ваша собственная бизнес-модель будет иметь свойственные только ей нюансы.
Читать дальше →

Эффективная сегментация изображений на графах

Reading time10 min
Views41K

Сегментация изображений и выделение границ объектов (edge detection) играют важную роль в системах Computer Vision и применяются для задач распознавания сцен и выделения (определения) объектов. По большому счету, это такой же инструмент, как, например, сортировка, предназначенный для решения более высокоуровневых задач. И поэтому понимание устройства данного класса алгоритмов не будет лишним при построении подобных систем с учетом предъявляемых требований (в плане качество/производительность) и специфики поставленных задач.

В данной статье кратко описан алгоритм «Efficient Graph-Based Image Segmentation» авторов Pedro F. Felzenszwalb (MIT) и Daniel P. Huttenlocher (Cornell University), опубликованный в 2004 году. Да, алгоритм относительно старенький, но, несмотря на это, он до сих пор остается весьма популярным, демонстрируя неплохие результаты в плане производительности.

Под катом – большая смесь картинок и текста, не требовательная к текущему уровню знаний тематики. Любопытство приветствуется.

Мсье хочет знать толк в сегментации

Склад бесплатных иконок

Reading time1 min
Views164K
Прошелся по закладкам и образовалась такая толстенькая подборочка ресурсов с бесплатными и качественными иконками, с которой спешу поделиться с тобой %username%!

Iconfinder


image


Читать дальше →

Visual Studio 2010: работа с новым профайлером

Reading time3 min
Views8.2K
Мне уже довелось демонстрировать, как новая итоговая страница профайлера позволяет проще находить и исправлять проблемы производительности, но порой для поиска требуется больше усилий. В этот раз я углублюсь в своем рассказе в другую фичу VS2010, которая называется Function Details View (детали функции).

Снова для демонстрации я буду использовать приложение PeopleTrax, которое вы можете скачать с CodeBox. У меня есть отчет, который я собрал ранее используя функцию CPU Sampling в профайлере, в котором приложение сильно нагружает CPU (по крайне мере на одном ядре).
Читать дальше →

Виды тестирования и подходы к их применению

Reading time5 min
Views273K
Из институтского курса по технологиям программирования я вынес следующую классификацию видов тестирования (критерий — степень изолированности кода). Тестирование бывает:
  • Блочное (Unit testing) — тестирование одного модуля в изоляции.
  • Интеграционное (Integration Testing) — тестирование группы взаимодействующих модулей.
  • Системное (System Testing) — тестирование системы в целом.
Классификация хорошая и понятная. Однако на практике выясняется, что у каждого вида тестирования есть свои особенности. И если их не учитывать, тестирование станивится обременительным и им не занимаются в должной мере. Здесь я собрал подходы к реальному применению различных видов тестирования. А поскольку я пишу на .NET, ссылки будут на соответствующие библиотеки.
Подходы к тестированию

Шпаргалка по расшифровке имен видеофайлов

Reading time8 min
Views310K
Как то стало интересно что значат разные буковки/цифарки через точку в названиях видеофайлов.

Пост — результаты гугления, обобщения, структуризации и некоторой правки орфографии.
Возможно, кому то пригодится. Я, например, перестал связываться с TC.
Читать дальше →

8 правил инноваций от Тайлера

Reading time3 min
Views44K
Тайлер ДёрденВсем нам хотелось бы совершать значительные поступки и прожить выдающуюся жизнь.
Никто не хочет целыми днями производить приевшиеся товары в бесцельной гонке за несуществующего потребителя. Ну и уж само собой, что вы лично этого не хотите, не так ли?
Так почему же нам кажется, что сломать рутину и начать заниматься чем-то принципиально новым, так сложно? Потому что это действительно сложно: от нас требуется сменить приоритеты, поменять свои планы и разрушить комфортную жизнь. Это почти то же самое, что стать другим человеком.

«Бойцовский клуб» — фильм о том, как прожить ту жизнь, которую хочешь, и какой тернистый путь нужно пройти, чтобы это стало возможным. Тайлер помогает безымянному герою фильма встать на путь просветления. Возможно, слова Тайлера смогут помочь и кому-то из нас.
Читать дальше →

Где погрызть гранит науки

Reading time4 min
Views28K
image Здравствуй, хабрасообщество. Я знаю, ты любишь халяву. А еще ты любишь учиться. Ведь так? А что может быть лучше для хабравчанина бесплатного образования? Вот и решил собрать специально для тебя подборку из ссылок, где можно набраться уму-разуму в области IT.
Все нижеперечисленные ресурсы абсолютно и официально бесплатны и свободны, что не может не радовать.

UPD. Переранжировал сайты. В категорию «Компьютерные науки» попали те сайты, которые можно внести более, чем в одну из нижеперечисленных категорий. Ранжировка производилась по большинству содержимого, то есть в некоторых сайтах, отнесенных к определенной категории, могут попадаться статьи не относящиеся к определенной, но они будут составлять абсолютное меньшинство

Большое спасибо в помощи добавлении ресурсов vansickle, RedFox, kagen, theinterman, sM1Le.

Англоязычные ресурсы



Компьютерные науки



OpenCourseWare MIT




Одно из самых больших хранилищ учебных курсов. Здесь собраны практически все курсы, которые преподаются в Massachusets Institute of Technology, который по праву считается одним из лучших в мире. На сайте всего 1900 курсов, а тех, которые преподаются на факультете Electrical Engineering and Computer Science я насчитал более 200. Состав большинства курсов: краткие конспекты лекций, подробное описание курса, календарный план, задания на лабораторные работы, задания на курсовые проекты и экзамены, промежуточные модули. К некоторым курсам прилагаются и видеолекции.

смотреть другие сайты

Обзор трекеров Украины

Reading time2 min
Views100K
Глядя на этот пост, решил сделать по образу и подобию для УкрНета.
Сразу хочу отметить специфику украинского файлообмена в связи с наличием UA-IX многие провайдеры разделяют скорость, так как правило в основном скорость в UA-IX = 100Mb/s. при том что скорость остального интернет доступа от <1 до 10 Mb/s.

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

Я хочу быть фрилансером. Нет, не хочешь!

Reading time2 min
Views9.8K
Из 50 человек начинающих заниматься фрилансом, только 1 остается в нем сроком более чем на 2 года.


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

Безопасность сайтов с лирическими отступлениями

Reading time14 min
Views10K
Недавно я писал для одного заказчика обзорный документ по безопасности web приложений, после чего я подумал, что было бы неплохо выложить его на общее обозрение.
Статья написана для непрофессионалов, поэтому дабы сделать ее более интересной для притязательных пользователей хабра, я разбавил текст некоторыми случаями из жизни.
Читать дальше →

письмо Деду Морозу

Reading time1 min
Views4.4K
image Дорогой Дедушка Мороз, в уходящем году я вел себя плохо и подарков не заслужил. Причинами моего плохо поведения и неудач во многих вопросах были:
  • Лень
  • Предвзятое мнение
  • Неумение слушать
  • Неспособность доводить дела до конца
  • Отсутствие концентрации
  • Малодушие
  • Нежелание, а возможно и неумение работать в команде
  • Привычка откладывать все на последний момент
  • Пренебрежение к мелочам
  • Неумение и нежелание мстить тем людям, что меня предали
  • Завистливость
Читать дальше →

WPF 4

Reading time11 min
Views31K
Нововведения в WPF 4image

WPF (Windows Presentation Foundation) — один из компонентов ядра .NET Framework, который позволяет разработчикам создавать богатые, различные Windows приложения. WPF 4 содержит важные улучшения в продуктивности, производительности, возможностей — в частности в областях: элементов управления, XAML, текста, графики, интеграции в Windows 7 (мультитач, интеграция в панель задач, и т.п.), основных принципов работы, развертывания. Это только первая статья из серии, которая описывает нововведения.

Я напишу отдельную статью, которая опишет важные изменения, которые грядут в WPF и Silverlight конструкторах в VS 2010.
Читать дальше →

Элементы семантической паутины

Reading time10 min
Views16K
Сложность структуры современного информационного общества постоянно растёт. В связи с этим, требования к эффективности алгоритмов обработки информации также увеличиваются. В последнее время наиболее популярными направлениями в этой области являются Data Mining (DM), Knowledge Discovery in Databases (KDD) и Machine Learning (ML). Все они предоставляют теоретическую и методологическую базу для изучения, анализа и понимания огромных объёмов данных.
Однако этих методов не достаточно, если сама структура данных будет настолько плохо пригодной для машинного анализа, как исторически сложилось на сегодняшний момент в Internet.
Для решения данной проблемы предпринята глобальная инициатива реорганизации структуры данных Internet в целях преобразования его в Семантическую Паутину предоставляющую возможности по эффективному поиску и анализу данных как человеком так и программным агентам.
В этой статье рассмотрены основные технологии позволяющие реализовать Semantic WEB.

Читать далее..

Вычисляем динамические выражения на C# 4.0 с помощью dynamic

Reading time12 min
Views2.9K
Здравствуйте.
Вчера я опубликовал на Хабре перевод статьи об одной из новых возможностей четвертой версии C# 4.0 – ключевого слова dynamic. В комментариях развернулась бурная дискуссия, основными мотивами которой было две вещи: производительность динамиков и область их применения. В этой статье я не буду затрагивать первый вопрос, а попытаюсь привести пример того, как новая возможность позволяет решить вполне реальную задачу за пару часов с минимальными усилиями.
Читать дальше →

Асимптотический анализ алгоритмов

Reading time7 min
Views171K
Прежде чем приступать к обзору асимптотического анализа алгоритмов, хочу сказать пару слов о том, в каких случаях написанное здесь будет актуальным. Наверное многие программисты читая эти строки, думают про себя о том, что они всю жизнь прекрасно обходились без всего этого и конечно же в этих словах есть доля правды, но если встанет вопрос о доказательстве эффективности или наоборот неэффективности какого-либо кода, то без формального анализа уже не обойтись, а в серьезных проектах, такая потребность возникает регулярно.
В этой статье я попытаюсь простым и понятным языком объяснить, что же такое сложность алгоритмов и асимптотический анализ, а также возможности применения этого инструмента, для написания собственного эффективного кода. Конечно, в одном коротком посте не возможно охватить полностью такую обширную тему даже на поверхностном уровне, которого я стремился придерживаться, поэтому если то, что здесь написано вам понравится, я с удовольствием продолжу публикации на эту тему.

Читать дальше →

Дополненная реальность с открытым кодом

Reading time1 min
Views4.6K
Основанный на XNA Game Studio 3.1, движок Goblin XNA позволяет создавать миры дополненной реальности для мобильных и других платформ. Что из этого получается можно увидеть в видео.



Движок Goblin XNA распространяется с открытым исходным кодом под лицензией New BSD License. Дополнительную информацию можно почерпнуть со страницы сайта Колумбийского Университета.

Information

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