Archive 2010

Модальные диалоги (popups) на HTML. Часть 2

Published at December 16, 2010 ·  2 min read

Продолжение предыдущего поста: http://blog.e0ne.info/post/Modal-popup-with-HTML.aspx Часть 2. Практика Если есть проблема, то, обязательно, должно быть решение. Так как готового я не нашел (возможно, плохо искал), пришлось изобретать свое. Решений, на самом деле, нашлось аж целых два, но так как я остановился лишь на одном, то это решение я рассмотрю более подробно и с примером. Для начала рассмотрю тот вариант, который я не стал реализовывать. Решение проблемы #1: манипуляции с свойством tabIndex. Те, кто сталкивался с необходимостью навигацией по сайту с помощью клавиатуры непременно сталкивались с таким свойством элементов, как tabIndex....


Отчет о первой встреча харьковского сообщества DevTime

Published at December 9, 2010 ·  2 min read

Сегодня вчера состоялась первая встреча харьковского сообщества разработчиков под названием DevTime. Насколько я знаю, сейчас в Харькове активна лишь UNETA - харьковская .NET User group. В отличии от UNETA, организаторы DevTime планируют не зацикливаться на какой-то конкретной технологии или языке программирования, а делать встречи, посвященные разным технологиям. Тематика первой встречи - Silverlight. Несмотря на то, что было целых три мини-доклада, докладчик был всего один - Андрей Каща (@anvaka). Мини-доклад #1. Введение в Silverlight....


Мысли вслух про качественный код, рефакторинг, TDD и немного XP

Published at December 3, 2010 ·  3 min read

Споры по поводу качества кода никогда не прекращались. Все знают, что код должен быть качественным, но что такое качественный код никто точно сказать не может. По моему мнению - это достаточно субъективное понятие, которое зависит от многих факторов. Такими факторами могут быть: читабельность, наличие комментариев, количество изменений, необходимых для реализации новых фич и/или фиксов багов. Немаловажную роль играет и проект, который находится в разработке: в одном что-то может считаться отличным кодом, а в другом - этот же код будет просто ужасным....


Обработка ошибок в JavaScript

Published at November 29, 2010 ·  2 min read

На мой взгляд, обработке ошибок на JavaScript уделяется незаслуженно мало внимания. Если при написании серверного кода, конструкцию try-catch можно встретить достаточно часто, то на стороне клиента такой код скорее исключение, чем правило. Для начала немного теории. Исключение (exception) - ошибка или нестандартное поведение программы во время её работы. Например, попытка открыть файл, которого не существует, или вызвать метод элемента DOM-модели, которого нет. В JavaScript существует конструкция try-catch-finaly, которая работает так же, как и в других языках программирования....


Request validation в ASP.NET

Published at November 26, 2010 ·  2 min read

Со времен ASP.NET 1.1, по умолчанию, у всех страниц свойство ValidateRequest было равно true. Это означает, что при вводе в поле ввода определенные спецсимволы (пример: <,>,&,#) и отправки формы на сервер мы успешно получим HttpRequestValidationException. Непонятное, на первый взгляд, поведение объясняется достаточно просто - защита от XSS атак. XSS (cross site scripting) - один из типов атак на веб-сайт, целью которой является вставка (инъекция) чужого javascript-кода на атакуемый сайт. Результатами такой атаки могут быть от показа пользователю ненужных ему сообщений, до кражи cookie и перенаправления на другой сайт, который может содержать вредоносный код....


4 способа запустить JavaScript при загрузки страницы

Published at November 22, 2010 ·  2 min read

Рано или поздно при написании JavaScript’а возникает необходимость в том, чтобы он был автоматически запущен при загрузке страницы. Нужно это, как правило, для следующих действий: инициализация интерфейса (UI) и отложенная загрузка данных (lazy load).Как часто бывает, для такой простой на первый взгляд задачи, есть несколько способов решения. Задача. После загрузки страницы, нам нужно каким-то образом проинициализировать меню функцией initiPageMenu(), которыя находится в файле menu.js. Способы решения: Самый простой способ: в конце js-файла делаем вызов нужной функции....


Миграция сайта на .NET 4.0

Published at November 19, 2010 ·  3 min read

Люди всегда делились на две категории: одни всегда “впереди планеты всей”, вторые их догоняют. В мире программирования всё происходит аналогично: одни используют новое ПО начиная с ранних CTP (Community Technology Preview) версий, вторые переходят на них, в лучшем случае, уже после релиза. Так сложилось и в ноём текущем проекте: .net framework 4.0 вышел достаточно давно, но перейти на него получилось только сейчас, и то не полностью. Несмотря на то, что, как правило, переход на новую версию ....


Сумашедший UI или нестандартное поведение стандартных элементов

Published at November 18, 2010 ·  2 min read

На фоне быстрорастущей популярности всевозможных блогов, конференций, услуг и др. на тему usability вставлю и я свои “пять копеек”. Америку не открою, но выскажу своё мнение, поговорю о наболевшем. Возможно, начнется небольшое обсуждение написанного ниже. Нестандартное поведение стандартных элементов - большой кошмар как для разработчика, так и для пользователя. Разработчику приходится писать много “лишнего” кода, саппортить это во всех браузерах и фиксить баги, которые лезут со всех сторон. Пользователю приходится угадывать, привыкать и приспосабливаться к работе, казалось бы, одинаковых элементов управления на разных сайтах....


UaPycon: как это было

Published at October 28, 2010 ·  2 min read

В январе в Киеве была конференция Pycamp, о которой я уже писал. В эти выходные, опять-таки, в Киеве прошла уже двухдневная конференция под названием UaPycon. Если не ошибаюсь, организовывали ее те же самые люди, но в этот раз, были учтены многие ошибки предыдущей конференции. Доклады были более интересные и более высокого уровня, особенно это касается западных докладчиков. О докладах немного позже, сейчас - коротко об организационных моментах: регистрация: квест под названием “найди свой бейджик” - не понравилось, хотя и прошел его быстро....


Модальные диалоги (pop-up) на HTML

Published at October 28, 2010 ·  3 min read

Часть 1. Теория Сейчас использование модальных и не только диалогов на веб-сайтах является вполне нормальным явлением, в следствии чего нам доступна масса уже готовых контролов как для asp.net/…. (подставьте сюда ту технологию, которую вы используете в своих проектах), так и множество плагинов для популярных javascript-фреймворком, таких как jquery, moo tools, prototype и других. Для упрощения договоримся, что здесь под контролом я буду иметь в виду все что, что в итоге превращается в html-код и выглядит как привычное нам модальное диалоговое окно....


[Offtopic] Анонс сайта notacash.com

Published at October 6, 2010 ·  1 min read

Те, кто фолловит меня в твиттере, уже знают о существовании сайта notacash.com. Сейчас я хочу немного рассказать о нем. Более чем 3.5 года моя работа связана с технологиями Microsoft, в частности - .NET framework и платформа ASP.NET. Но так, как кроме языка программирования C# существует ещё большое количество других - я решил попробовать что-то другой. Выбор пал на скриптовые языки,а именно - python. По мере приобретения теоретических знаний о python, появлялась необходимость в их практическом применении....


ASP.NET Ajax. Часть 2: Client-side

Published at September 15, 2010 ·  2 min read

1. Введение2. Обзор framework’а3. Жизненный цикл страницы4. Полезные объекты и функции 1. Введение В предыдущем посте из этой серии (ASP.NET Ajax. Часть 1: что внутри?) я рассказал что такое AJAX и как Microsoft помогает нам его использовать. Сегодня я более подробно расскажу о его клиентской части. Частично из-за того, что эту информацию не так просто найти в MSDN, как хотелось бы, частично из-за того, что в последнее время Microsoft уделяет этой части всё меньше внимания, агитируя использовать jQuery, многие разработчики даже на догадываются какой мощных инструмент находится у них в руках....


HTML Decode/Encode и URL Decode/Encode - что, когда и зачем использовать?

Published at September 3, 2010 ·  3 min read

HTML Decode/Encode. Если кто-то слышал об такой атаке на веб-сайты, как XSS Injection, то он(она) знает что для предотвращение такой атаки необходимо использовать функции HtmlEncode/HtmlDecode. XSS Injection (Cross-site injection) - один из способов атак веб-приложений, главной идеей которого является вставка(инъекция) чужого javascript-кода на атакуемый веб-сайт. Как минимум, это может привести к краже печенек cookies и получении прав администратора сайта. … 1.1. ASP.NET Это происходит, примерно, так:Допустим, у нас есть форма для отправки комментарием, где пользователь вводит свой еmail и текст коммеентария....


ASP.NET - что почитать начинающему разработчику?

Published at August 17, 2010 ·  3 min read

В декабре прошлого года я написал пост по названием “Программирование на .NET: С чего начать?” на тему того, чтобы почитать начинающим разработчикам на платформе .NET. С того момента прошло достаточное количество времени и могло появиться желание или необходимость, начать писать веб-приложения на основе технологиеи ASP.NET. Не важно, будет это ASP.NET Webforms или ASP.NET MVC - в любом случаем, знание одной технологии не мешает познакомиться с другой. Далее я приведу список книг/блогов, которые рекомендую для знакомства с веб-разработкой на основе ....


JQuery Tips: маленькие, но полезные скрипты

Published at August 10, 2010 ·  2 min read

Те, кто с помощью jQuery написал уже не одну сотню, а может и тысячу строк javascript-кода, в этом посте врядли найдут много нового и/или интересного. Пост рассчитан на разработчиков, которые только начинают знакомиться со всей мощью бтблиотеки jQuery. В нем я дам несколько примеров скриптов, которые я время от времени использую с небольшим количеством изменений или вообще без таковых. [Добавлено перед публикацией поста]Все примеры достаточно просты, большинство (5 штук!) взяты из документации, но они активно используются мной и я решил сделать пост-заметку для себя....


Visual Studio Debugger: одна интересная особенность

Published at July 21, 2010 ·  2 min read

Когда приложение работает в дебаггере, но не работает в релизной сборке и/или не тестовом сервере - достаточно частое явление, а вот чтоб наоборот - значительно реже. Вернее я на днях с этим столкнулся чуть ли не в первые. Ситуация была довольно таки простая: есть некий wizard, шаги которого хранятся в поле типа Stack для удобного перемещения вперёд-назад. Естественно, в зависимости от текущего номера шага, нужно было выполнять определённые действия. И вот, после очередного багфикса, пришлось с помощь дебаггера разбираться что же там происходит… Но, при дебагге время от времени (в начале мне было абсолютно непонятно из-за чего это происходит) я получал: System....


Делаем Hover control с ипользованием ASP.NET и jQuery

Published at June 14, 2010 ·  2 min read

В связи с тем, что я повсеместно пытаюсь избавиться от ASP.NET AJAX Control Toolkit (ACT) и перейти на использование jQuery, то от использования Hover Extender от ACT пришлось отказаться. Сразу же было найдено большое количество разнообразных плагинов для jQuery, но большинство из них имели недостаточную реализацию, из-за чегоостановился на jQuery plugin EZPZ Tooltip. Из основных достоинств данного плагина хочется выделить: “Чистый” HTML - не нужно добавлять специальные атрибуты для элементов, плагин завязывается на отдельный HTML элемент....


DevConf 2010

Published at May 16, 2010 ·  1 min read

DevConf 2010 уже завтра. До поезда в Москву осталось чуть более 3-х часов. Посмотрел финальную програму и немного расстроился: даже не смотря на то, что едем мы вдвоём, из-за плотного расспеисания и немкольких паралельных потоков врядли получится попасть на все интересующие доклады :(. Надеюсь что организаторы запишут и выложут видео....


Cеминар Бизнес в интернете

Published at April 28, 2010 ·  2 min read

В прошлую субботу в запорожье прошел семинар “Бизнес в интернете: практика создания и продвижения интернет-магазина”, который я посетил с моими друзьями из Compik‘a. Сразу же хочется отметить неудобный график поездов из Харькова: мы приехали в Запорожье, примерно, в 3:30 утра(ночи) и почти до 8 утра сидели на вокзале. Соответственно на протяжении большей части семинара усталость и плохой сон давали о себе знать. Дня за 4-5 организаторы у себя на сайте написали новость, что осталось всего 5 мест....


UNETA. Материалы доклада Introducing to DLR

Published at April 19, 2010 ·  1 min read

В прошлую пятницу прошла очередная встреча юзер-группы UNETA, На которой я делал доклад на тему “Введение в DLR” и затронул тему IronPython. Надеюсь, что вскоре найду время и напишу несколько более детельных постов на эту тему. P.S. Для запуска проекта необходима Visual Studio 2010 и IronPython 2.6.1. Также использовалась библиотека json.codeplex.com/. Introducing_to_DLR.ppt (352.00 kb) IntroducingToDLR.rar (2.25 mb)...


QUnit - тестируем JavaScript

Published at February 12, 2010 ·  1 min read

Разработчики JavaScript-фреймворка JQuery не перестают нас удивлять. После недавнего релиза JQuery 1.4.1 нам представили инструмент для unit-тестирования кода, написанного на JavaScript - QUnit. В данный момент поддерживаются такие функции как expect(), equals(), ok(), same(), log() и асинхронные тесты. Вместе с фреймворком распространяется css-файл, с помощью которого можно быстро и красиво выводить результаты тестов. Также разработчики активно используют его для тестирования самого JQuery, поэтому можно посмотреть уже готовые приверы от авторов фреймворка....


IScriptControl - реализация Ajax Client Control

Published at February 5, 2010 ·  2 min read

Почему-то, не смотря на свойственную для всех программистов лень (и не надо спорить, иначе бы мы не писаи кучу софта, который упрощает на жизнь и позволяет более легким способом добиться желаемого результата), все многие пытаются изобрести свой велосипед. Я и сам придумал не один способ, как обмениваться данными между серверной и клиентской частью контрола. Но всегда догадывался, что есть более простой и “правильный” путь, особенно, когда смотрел на реализацию контролов из набора AjaxControlToolkit,...


[Offtopic] Заметка о кроссплатформенности

Published at February 5, 2010 ·  1 min read

Устанавливая новое SDK для Google App Engine подумал о кроссплатформенности. Для себя решил что кроссплатформенность это:   для пользователя: везде и на всех компьютерах вeсь необходимый ему софт выглядит и работает одинаково; для разработчика: код в любой среде компилируется с одними и теми же ключами для компилятора.  ...


Запоздалый отчёт о Pycamp

Published at February 1, 2010 ·  3 min read

Регистрация началась немного раньше 9:00, т.к. уже в 8:30 у входа уже набралось такое количество людей, что уже все не помещались в вестибюле. При регистрации дали расписание докладов и немного спонсорской рекламы. Получил в гардеробе жетончик с номером “1” :). 10:00. Все ждут начала ивента, которое будет на 15 минут позже рннее заявленного времени. Есть весплатный wi-fi. В зале людй достаточно много, но всё-равно осталось много бейджиков для зарегистрированных участников....


30 января - PyCamp Kyiv

Published at January 6, 2010 ·  1 min read

30 января в Киеве пройдёт PyCamp. Вчера стал доступен список докладов, хотя и не полный. Не то, чтобы меня заинтересовали все темы, но всё-равно поеду. Надеюсь на то, что оранизация кампа пройдёт на достойном уровне и я не пожалею о зря потраченном времени....


Tags

.net .net-framework .net-framework-3.5 agile ajax ajax-control-toolkit ampq ansible apache asp.net asp.net-mvc automation axum babel bash benchmark blog blog-engine bootstrap buildout c# cache centos chrome ci cinder ckan cli cloud code-review codeplex community config debugger deface dependencies development-environment devices devstack devtime disks django dlr dns docker dockerimage dos easy_install elmah encoding environment-variables error event events everything-as-a-code exception exceptions fabrik firefox flask foreach forms fstab gae gcc gerrit git github go google google-app-engine grep hack hacked hardware headless horizon hound html hugo iaas ienumerable iis internet iptables iron-python ironic iscsi java-script javascript jenkins jquery js jsx k8s kharkivpy kiss kombu kubernetes kvm kyiv lettuce libvirt linux lio loci logging loopback losetup lvm mac-os macos mercurial microsoft microsoft-sync-framework mobile mono ms-office msbuild networking news nginx npm npx offtopic oop open-source open-xml opensource openstack openvswitch os packages paraller-development patterns-practices performance php pika pip plugins pnp podcast popup postgresql profiler project protocols proxy pycamp pycharm pycon pykyiv pylint pypi python python-3 qcow quantum qumy rabbitmq rar react reactjs refactoring rfc rhel search-engine security selenium server shell silverlight socket software-engineering source-control sourcegear-vault sources sql sql-server sql-server-express sqlalchemy ssh static-site sublimetext svg tests tgt tipfy todo tornado typescript uapycon ui uneta unit-tests upgrades usability vim virtualenv visual-studio vitrage vm vue.js vuejs web-development web-server web-service web_root webpack webroot windows windows-live word-press x32 x64 xcode xml xss xvfb интернет-магазин книги

Recent posts

Go 1.18: new features

Всё будет Kubernetes

2022 Relaunch

Everyday Blogging

I don't want this CI


Archives

2022 (3)
2019 (73)
2018 (2)
2017 (3)
2016 (2)
2015 (3)
2014 (5)
2013 (17)
2012 (22)
2011 (36)
2010 (25)
2009 (35)
2008 (32)
2007 (2)