12 апреля 2011 г.

А у нас землетресений и цунами нету

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

Очень часто за свою жизнь я слышал одну просто гениальную фразу "А у нас разве плохо? Вот ни цунами, ни землетресений, ни новоднений, ни террактов". Короче у нас просто тишь да благодать бля! А так ли все на самом деле? ИЛи мы просто научились себя успокаивать? Типа все хорошо, смотрим БТ.

И вот, пожалуйста, как раз в тот момент, когда страна уже явно входит, вернее, какое входит? Вошла уже и держит свой курс прямо в жопу, то бишь в кризис. КОгда народ озлобился на власти и не хочет им верить, когда люди в панике не знают, что делать. Тогда, когда каждый более менее умный человек начал реально задумываться о том, что же верно и правильно в этой стране? Именно в этот момент происходит взрыв. Люди по стенам, кровь, трупы, раненые. И вот, наши власти, некогда чуть ли не враги народа, превращаются в спасителей, которые не только разберутся со всем, но и накажут всех, отомстят и тому подобное и конечно же они знают кто это сделал. Это злостные иностранные спец-службы на кой-то ляд решили подорвать немного белорусинки, чтоб жизнь медом не казалось. Так вот! Не кажется ли Вам это бредом? Мне? Кажется! Я не вижу ни одной причине по которой кому-то нужно взрывать людей, кому-то внешнему, поправлю себя чуть-чуть.

Соболезную тем людям, которых затронул так или иначе этот взрыв. Будьте сильными и держитесь. А тем, кто это сделал - ЧТОБ ТЫ СДОХ СУКА!

8 апреля 2011 г.

ФСБ РФ vs Skype, Gmail

Последнее время от всего, что происходит в мире мои волосы непременно хотят встать! И самое интересное, что просто от осознавания того бреда, который творится. Я не хочу говорить про свою республику так как в ней я чего-то разумного вообще не вижу, ну вот простите меня, не вижу и все тут. Да у нас есть куча умных людей, но они настолько умные, что понимают: "Лезть куда-то и что-то менять просто глупо! Не поймут и затопчут к чертовой матери!"

Но как показывает время, мы действительно с Россиянами один народ, как ни крути, что одни, что вторые отжигают по полной! Чего только стоит сегодняшняя новость о том, что ФСБ РФ хочет запретить Skype и Gmail. Причина? Они не могут их взломать :) не правда ли мило? Так получается, что сообщения в Gmail и Skype шифруются "иностранными" алгоритмами. Ну уж явно не по советскому ГОСТу подбирались алгоритмы шифрования. И вот потому, нужно оградить их использование, так как эти сервисы грозят государственной безопасности.

Порадовало, что в итоге в РФ решили собрать некую группу, которая до 1 октября должна выработать предложения по использованию алгоритмов криптографии в сетях общего использования. Вот мне интересно: "Как они будут вырабатывать эти самые предложения?" Будут сидеть и дружноо пытаться расшифровать сообщения? Как говорится: "Сломаем - не запретим. не сломаем - запретить нахер."

Если так подумать, то ФСБ должны тогда обратить внимание еще и на Microsoft-овский MSN, Twitter. Что там еще есть? А вообще мое предложение. это завести всем спец. службам аккаунты в 4SQ, добавить всех террористов в друзья и тогдап все будет оооочень хорошо. Сразу видно кто, где и что делает! Например Джамшут: "Прилетел в Домодедово, скорей бы пройти осмотр, опаздываю на фейерверк на ст.м. Стадион Ильича." Неправда ли здорово?

А вообще не нужно сразу говорить о своей беспомощности. Ничего хорошего в запретах сервисов нету! И пользы обществу точно не принесет.

10 марта 2011 г.

ASP.NET поисковый движок

На днях встала передо мной задача: "Найти и установить на уже готовый сайт поиск". Сайт скажу сразу достаточно большой, не одна таблица в базе, огромное количество данных. Поиск на нем есть, но его даже тормознутым нельзя назвать, он вообще никакой. Результатов поиска можно ожидать не только минут 5, но и пол часа. Есть ли пользователи, которые будут столько ждать? Не думаю, что есть такие! Потому начался долгий и упорный поиск движка. Мысль реализовать поисковый механизма самим отпала сразу, так как для реализации, чего-то нормального потребуется не один день и не факт, что с нашим количеством данных, это сразу будет работать быстро и верно.


Сказать честно бесплатных движков под .NET я почти не нашел. Есть решения платные, которые позволяют искать по БД, файловой системе и еще у черта на куличках. Но все это не подходило по одной причине - слишком дорого! Порывшись примерно день я все же натолкнулся на то, что хотел. Lucene.NET поисковый движок портированный с Java, бесплатный и, насколько можно судить по куче отзывов, достаточно мощный. Единственный недостаток, это малое количество документации и примеров. Хотя книги все же есть, на английском, но есть. Сейчас я занимаюсь тем, что интегрирую данную библиотеку с сайтом и могу сказать, что все проходит достаточно гладко и поиск работает отменно.


PS. В ближайшее время постараюсь найти время и написать пару статей по использованию данного движка.

15 февраля 2011 г.

Русский twitter

Вроде как где-то до Нового года пробежалась информация, что в twitter хотят забабахать русский язык. Эту новость лично я воспринял просто и не сильно обратил на это внимание.


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


Как-то непонятна обеспокоенность некоторой части twitter-сообщества, которые против русского языка. Одна из причин, которых мне сегодня привели, это то, что сразу будет наплыв мальчиков-девочек 13-16 лет, плакающих о своей жестокой судьбе и жизни. Но господа и дамы я не думаю, что таким мальчикам и девочкам будете интересны Вы, да и это как-то по лучше бездушных ботов, от отжигов, которых иногда плакать от смеха хочется. Да и вообще, не фоловишь их и все. Не видишь даже это огромное скопления "Жизнь говно, солнце гребанный фонарь".


Введение русского языка, как мне кажется, хороший шаг. Так как действительно привлечет к хорошему сервису много людей. Для компании это деньги, а для twitter-сообщества, это расширение. Ведь не только девочки и мальчики лет 13-16 полезут=) Вообще я только за переводы нормальных интернет сервисов на русский язык, это их популяризирует для обычных русских людей.

26 января 2011 г.

Загадочный DataGrid

Представьте ситуацию, когда у Вас страница, на которой ничего толком-то и нету грузится 15 секунд. Что делать? Оптимизировать конечно!


Сначала я проверил как быстро выполняются запросы к БД, оказалось очень быстро, просто мгновенно. Далее тестам подверглись некоторые куски кода, которые тоже показали хорошие результаты. Пришлось включить трассировку для страницы, увидеть и ужаснуться. Render страницы порядка 14-16 секунд. Как Вам?


Идем дальше и выясняем, что рендерится так долго исключительно DataGrid в который мы передаем порядка 25 записей. Но что оказалось самым удивительным, это тот факт, что отрисовка контролов LinkButton и ImageButton, как раз и давала нам наши тормоза. Потратив кучу времени на поиски хоть чего-то по этой проблеме в Интернете, я ничего не нашел. А проблема была решена простым переименованием контролов. Никаких скриптов на данные контролы не накручено, ничто с ними не работает. Вот так вот! Если получится докопаться до истины, то чуть позже напишу, из-за чего так получилось?

1 декабря 2010 г.

Google Chrome: Отображение полос прокрутки

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

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

div.main-window {
width:250px;
height: 200px;
overflow-y: scroll;
overflow:auto;
overflow: -moz-scrollbars-vertical;
position:absolute
}

По идее все должно работать в этом стиле есть элементы которые должны воздействовать как на все браузеры, так и на отдельные, такие как Chrome и Safari. Но не все оказалось так просто, Chrome ни в какую не хочет отображать полосу прокрутки, пока содержимое окна нормально в него влазит. Решение оказалось достаточно простое. После приведенного выше стиля, нужно добавить еще один, как показано ниже.

html div.main-window { overflow-y: scroll; }

10 ноября 2010 г.

Валидация с использованием JQuery и Web-сервисов ASP.NET

Валидация данных одна из самых больших проблем, каждого приложения. Записать данные нужно корректно, от этого зависит как будет работать ваше приложение. И часто с проверкой на корректность данных и происходит много проблем, так как часто нам нужно не только проверить, чтобы данные были, но и так же проверить, чтобы они имели необходимый нам формат.
Для проверки введенных пользователем данных в ASP.NET приложениях нам помогают контролы находящиеся в группе Validation в панели Toolbox в Visual Studio, но часто бывает, что мы их не используем или их возможностей не хватает для необходимой нам проверки, тогда приходится или искать контролы сторонних производителей, которые чаще всего стоят денег или изобретать что-то самому. Чем мы сегодня и займемся.

У нас есть список городов, который хранится в базе данных в таблице Towns.
Напишем web-сервис, который будет проверять, есть ли город в таблице.

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1), ScriptService, WebService(Namespace = "http://microsoft.com/webservices/")]
public class ValidationService : WebService
{
[WebMethod]
public bool VerifyTown(string inputTown)
{
using(dbDataContext db = new dbDataContext)
{
Town town = db.Towns.Where(t=>t.TownName == inputTown).FirstOrDefault();
return town != null ? true : false;
}
}
}

Как видно, это обыкновенный web-сервис. Едиственное, что он помечен атрибутом ScriptService, который говорит, что к данному веб сервису можно обращаться используя JavaScript или другие скриптовые языки.

Зарегистрируем наш web-сервис на странице и разместим необходимые нам элементы управления.
В txtTown вводится название города. lblErrorTown показывает сообщение об ошибке, если город введен неверно.

< script language="javascript" src="js/jquery.js" type="text/javascript" />










А вот и сам JQuery скрипт проверки.




Вот собственно и все. Единственный недостаток данного примера, что он не учитывает свойство ValidationGroup, но при желании его можно усовершенствовать и и на работу со своим ValidationGroup. Так же не будет лишним добавить спроверки при сабмите формы.

4 ноября 2010 г.

Полосы прокрутки RadScheduler в IE8

По воле случая пришлось на сайте использовать контрол RadScheduler от Telerik. Полностью настроив контрол обнаружил оин нехороший баг. При использовании браузера Internet Explorer в области календаря появляются полосы прокрутки, тогда как в других браузерах все было хорошо. Установка свойства OverflowBehavior в "Expand", так же результатов не дало.
Оказалось, что сама таблица календаря содержиться вот в такм блоке DIV

< div class="rsContentScrollArea" style="overflow:auto;position:relative;">

Ошибка кроется в overflow:auto. Данный CSS-стиль и создавал наши полосы прокрутки.
Исправить это можно обыкновенным JQuery, как показано ниже.



Всю основную работу делает функция updateMonthView.
Она вызывается сразу при загрузке страницы и после каждого AJAX-события.

27 августа 2010 г.

Скорость и дешевая разработка ПО

Часто можно увидеть на фрилансе да и в обычных объявлениях очень низкие цены на разработку ПО, сайтов и такие же короткие сроки этой самой разработки. Так как в наше время каждый хочет сэкономить на чем-то, то конечно заказчик делает ставку на низкую цену и короткий срок разработки. Но оправданно ли это?


Остается понять, как же разработчик может снизить цену?


Например использование неких уже готовых решений. Для сайтов использование уже написанных CMS, при этом дизайн к сайту тоже легко можно купить, благо студий занимающихся разработкой дизайна для сайтов очень много, есть больший сайты на которых дизайн можно купить за 60-100$ с уже готовой версткой даже под Вашу CMS, что несомненно сокращает время разработки. Разработчики клиентских приложений так же могут использовать некие шаблоны или готовые решения для основных необходимых возможностей.


Казалось бы, все просто! Есть шаблон, подстроил его под необходимые требования конкретного проекта и все работает. Все довольны. Заказчик получил продукт заплатив мало, разработчик быстро выполнил работу, получил деньги и давай работать над следующим проектом.


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


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


Скорость и дешевая разработка ПО site:maiseyeu-ihor.blogspot.com


Мы пользуемся внешними поисковыми системами заместо того, чтобы просто использовать то, что есть на сайте. Это связано не только с тем, что большие поисковики лучше. Часто это связано с тем, что контент на сайте просто не индексируется внутренней поисковой системой потому что для данного контента просто не было написано модуля, который бы правильно индексировал её. Тут все просто. Заказчик видит всегда то, что лежит на поверхности, но не видит того, что внутри, он видит сайт, но не знает как он работает и не может знать верно ли работет индексация информации на сайте? Она может и не работать совсем, тогда строка "ПОИСК" просто выполняет роль некого элемента дизайна, не более. И опять же разработчика мы не можем винить в этом. Поиск это дополнительная работа и дополнительное время. Он просто отработал свои деньги, а за просто так работать никто не будет. Все люди и все хоятят кушать.


Это мои выводы по поводу скоростей и дешевой оплаты труда. Я думаю тут можно привести еще не один довод как в одну сторону так и в другую.

1 августа 2010 г.

Спешка в разработке ПО. Оправданный шаг?

Я думаю, почти каждый разработчик ПО работая в огромной компании, маленькой фирме или просто работая сам на себя сталкивался с ситуацией, когда заказчику вот срочно нужен результат. Ничего не готово идет процесс проектирования, есть куча рисунков классов их связи между собой, но больше ничего. И ЭТО нельзя показать! Заказчик не поймет, что ведется работа, ему нужен результат, а не схемки и графики, а не написанные библиотеки в которых ютиться логика всего того, что он хотел. Ему нужно видеть, для него есть только то, что он видит и ничего больше. И вот как с этим бороться?


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


Кто-то сказал "Торопись неспеша" и он был прав. Всегда нужно стремиться все сделать быстро, но при этом не потеряв качество. Потому лучше продумав и правильно спроектировав приложение, написать его код как можно более качественно, протестировав каждый метод, что может уменьшить в последствии количество запросов в службу технической поддержки по поводу ошибок в работе.


Осталось понять, как это все объяснить заказчику?