вторник, 30 марта 2010 г.

Django. Разработка веб-приложений на Python

Читаю сейчас эту книжку. Написано все просто и понятно. Читается на одном дыхании. Поразительно, но нет ни капли воды (вообще это характерно большинство книг от oreilly).  Возникает ощущение, что после прочтения книги можно свободно писать на django сайты.

Вообще сама платформа поразила меня своей простотой, самодостаточностью и логичностью. Все понятно, почему сделано так, а не иначе, все находится там, где и ожидаешь это найти, и т.д. И становится немного грустно, потому что такого нет на PHP. Ни один фреймворк на PHP не оказался хотя бы близко похожим по сочетании мощности и простоты на Django и Rails (ROR я усиленно изучал еще год назад).

Лидер php-фреймворков Zend вот уже несколько лет упорно сопротивляется моим попыткам покорить его. После выполнения Get Started впадаешь в ступор -  а что, если я хочу сделать так, а не иначе? И начинаются поиски по форумам, по документации. В конце находится статья Matthew Weier O'Phinney, в которой он говорит, что да, есть такая проблема и в версии 2 мы сделаем все иначе (я говорю про модульность приложений на Zend). Будем ждать вторую версию, значит. Не говорю уже про Symfony и другой андеграунд.

Единственное, что мне нравится из php-фреймворков это Yii. Однако в нем все равно нет той простоты и легкости, которая характерна для Django.

Zen Coding

Шпаргалка по Zen Coding http://www.aether.ru/blog/2010/03/26/zencoding-sheatsheet
Вообще Zen Coding очень помогает набирать HTML и CSS. Очень порадовало, что это расширение поддерживается в Notepad++ в достаточно полном виде. В NetBeans поддерживаются только набор префиксных сокращений. Вся мощь однако скрыта в преобразовании CSS3 в полноценный кусок кода на HTML. В общем пробуем и наслаждаемся.

среда, 24 марта 2010 г.

jQuery Cycle Plugin

А этот плагин для слайдшоу картинок много раз мною использовался и оставил самые лучшие впечатления. Хорошо настраивается и многое умеет делать сам.

http://malsup.com/jquery/cycle/

jQuery quickSearch

Интересный плагин для фильтрации данных в таблицах и списках

http://lomalogue.com/jquery/quicksearch/

вторник, 23 марта 2010 г.

понедельник, 22 марта 2010 г.

Очевидные замечания при разработке приложений с БД

    При разработке сайта стоит использовать инструментарий, который позволить приводить базу данных в исходное состояние - создавать определенный набор сущностей в таблицах. Это позволит упростить процесс тестирования и способствует более точному воспроизведению рабочих ситуаций.
    Иногда у базы может быть несколько различных состояний (отсутствие сущностей, заполненная база, наличие связей, отсутствие и т.д). В этом случае следует реализовать инструмент простого переключения из одного состояния в другое, чтобы программист мог с легкостью проверить работу приложения на различных наборах данных.
    И напоследок. Когда разрабатывается приложение с ограничением доступа (требуется ввод пароля), то нужно иметь как можно более легкий способ ввести данные пользователя(ей), чтобы не тратить на это время каждый раз. Например использовать специальную ссылку для обхода авторизации.

суббота, 20 марта 2010 г.

Сравнительный анализ JS фреймворков от IBM

Подробное сравнение JS фреймворков от IBM Статьи от IBM всегда отличаются качеством материала и некоторым оттенком корпоративности. Конечно многие интересные библиотеки остались незатронутыми, но посмотреть есть на что.

четверг, 18 марта 2010 г.

C#

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

среда, 17 марта 2010 г.

Менеджер проектов

Нужен менеджер проектов (web-based), который позволял бы вести несколько проектов, разбивать задачи на подзадачи с большим уровнем вложенности, комментировать задачи, менять им статусы, и хранить дополнительную информацию о проектах. Никто не знает, где такой найти?

Меня вполне устраивал XMind до тех пор, пока задач было не очень много - он банально начал подтормаживать. Кроме того он не заточен конкретно под управление проектами. Задачи, например, после закрытия не исчезают, приходится руками сортировать. Нет дашборда для задач, и т.д.

Обычно в таких случаях  хочется написать свой велосипед :-)

Работа с формами в PHP

<?php

/*
При работое с формами удобно применять объектно-ориентированный подход.
То есть вы представляете форму как объект

*/

$loginForm = new LoginForm();

//заполняем форму из запроса
//если в запросе были переданы данные формы,
//то объект заполняется данными

if($loginForm->extractFromRequest($_POST) === true)
{
//данные из формы были переданы, можно обрабатывать

//валидация данных
//форма накапливает сообщения об ошибках валидации
//своих полей, чтобы потом вывести их пользователю

if($loginForm->validate())
{
//извлечение провалидированных данных из формы
$loginForm->getName();
$loginForm->getPassword();

//редирект на страницу, куда должен
//попасть пользователь после обработки формы

}
}

//вывод html формы
echo $loginForm->render();


понедельник, 15 марта 2010 г.

CSS Overlay

Оказывается этого достаточно, чтобы сделать overlay на странице. И никакого onresize!
  1. .overLayer
  2. {
  3.     background:black;
  4.     display:block;
  5.     left:0;
  6.     opacity:0.65;
  7.     filter: alpha(opacity = 65);
  8.     position:fixed;
  9.     top:0;
  10.     width: 100%;
  11.     height: 100%;
  12.     z-index: 1000;
  13. }

Пример


Новый сезон

Новая жизнь старого блога. Попытаюсь теперь писать более часто и на более интересные темы. Пользуясь твиттером, понял, что его 140 символов иногда не хватает. Совсем чуть чуть. Вот сюда и буду писать, что недосказано в Twitter