e0ne's comments

Мысли вслух про качественный код, рефакторинг, 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, многие разработчики даже на догадываются какой мощных инструмент находится у них в руках....

Tags

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

Recent posts

Docker Image Collection

Not a DNS Server for Libvirt

Diskimage-builder in Docker

Everything as a Code

Vue.js, global variables and TypeScript


Archives

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