Экстремальная веб-разработка
6 июля 2008
14 декабря 2007
На картинке ниже – мой блог в браузере Opera с включёнными картинками и без:

<a class="imgoff" style="width:100px; height:50px;" href="#">
LogoImgText
<span class="imgon" style="background-image:url(images/logo.gif);"></span>
</a>
.imgon {
position: absolute;
overflow: hidden;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-repeat: no-repeat;
cursor: pointer;
cursor: hand;
}
.imgoff {
display: block;
position: relative;
overflow: hidden;
}
Соответственно, преимущество такого способа в том, что можно создать неограниченное количество таких картинок. При этом не меняя CSS. Достаточно только указать width/height и url картинки в inline-стилях (смотрите на них, как на обычные аттрибуты тэгов).
P.S: Чтобы текст центрировать по вертикали, укажите (в <a style=) line-height равный height'у.
12 декабря 2007
Также как гениальный человек ничего не стоит, если он ленивый. Так и оригинальная идея не стоит ничего, если она не реализована.
Это как в математике – может быть супер гениальная формула. Но без доказательства (хотя бы проверки для большого количества различных значений аргументов) она бесполезна. И тот, кто её придумал не будет ни знаменит, ни признан.
Новая теория в физике может расширить существующие теории, сделав их лишь частными случаями. Но любая теория должна быть доказана экспериментальным путём.
UPDATE: Ещё: «твоя ценность определяется тем, как эффективно ты доводишь до конца все дела»
На мой взгляд не существует абсолютных критериев оценки перспективности той или иной идеи. Нужно учесть ещё и потенциал автора идеи – готов ли он бороться до конца. Или придумывать новые идеи на ходу.
К тому же, в современном вебе часто решающим фактором для успешности оригинальных идей является маркетинг. Грамотная раскрутка, вирусные идеи продвижения, SEO-специалисты. Одним словом, надо учавствовать в Bubble Con.
6 декабря 2007

(Луик Ле Мер, самый известный блоггер Франции, использовал свои навыки, чтобы помочь Николя Саркози в его онлайн избирательной кампании.)
[backtrace: In da Start-Up! <-- Sangha Solutions <-- Loïc Le Meur (or eng) <--> Financial Times [+2] (or jpeg: 1, 2, 3)]
От себя хочу добавить, что для того, чтобы использовать это нужно иметь команду способную быстро реагировать (чтобы справляться с конкурентами).
Но главное – быть достаточно известным. Например, как Кийосаки. И весь вопрос в том, как стать известным. С другой стороны, создать сообщество может каждый, и, если привлечь достаточно людей, то это может сработать.
Из статьи интересно было узнать, что Луик решил переехать в Сан-Франциско: «В Европе гораздо сложнее иметь глобальную цель и глобальное виденье, потому что прежде всего ты борешься на своём родном рынке.» По его словам, Сан-Франциско является эпицентром сделок: «Если мне нужно заключить партнёрское соглашение с Twitter, я звоню им, мы пьём кофе, и через два часа сделка заключена. Если бы я был во Франции, там разница во времени девять часов, и это как будто ты ничего не значишь.», «I love the spirit here. By default, it is ‘How can I help?’ and you have the trust of a person. In Europe, by default, you have zero trust. That is the big difference.»
29 ноября 2007
По мотивам: LARIN.in – Прощай Smarty или простой шаблонизатор.
Я тоже не люблю Smarty. Не только потому, что это – не мой php-класс. А потому, что разработчики Smarty действовали по принципу "идеальное решение для всех". Эта излишность просто мозолит глаз: здесь и разные форматы имён переменных, и модификаторы (д.б. в css или в php-коде), временные переменные в циклах, слишком много слов (имена аттрибутов функций, начало/конец цикла). При том, что даже кэшированный в php код тормозит. И не говоря о том, что сам класс огромен и вы зависите от выпусков обновлений.
Я же следую (раньше – неосознанно) принципам экстремельного программирования. То есть, реализовывать возможности программы только по текущим потребностям. Не более. (Исключение – "правило пяти минут": если что-то можно сделать меньше, чем за 5 мин. – это надо сделать немедленно, т.к. на возврат к делу (чтобы загрузить программу в голову) уйдёт очень много времени.)
Спорить о том, зачем нужен шаблонизатор можно долго. Я считаю, что в каждом конкретном проекте нужно использовать минимальный шаблонизатор, выполняющий наилучшим образом необходимые задачи. То есть, если, например, требуется сократить размер шаблонных конструкций (по сравнению с php-шаблонами), или сделать так, чтобы шаблон можно было удобно редактировать в Dreamweaver – нужно написать такой шаблонизатор.
У меня уже есть один. Но для текущего проекта я решил придумать новый. Всё гениальное просто:
класс шаблонизатора:
class View {
function parse_page($source_file) //public
{
include($source_file);
}
}
пример шаблона:
<html>
<head><title><?=$this->title?></title></head>
<body>
<table>
<?php foreach($this->companies as $k => $v) { ?>
<tr><td><?=$k?></td><td><?=$v?></td></tr>
<?php } ?>
</table>
</body>
</html>
использование:
require_once("inc/View.php");
$view = new View;
$view->title = "Page title here";
$view->companies = array("Apple" => "iPod", "Microsoft" => "Windows", "Google" => "AdSense");
$view->parse_page("skin/tskin.php");
Использование материалов сайта возможно только при указании ссылки на источник.
Copyright © 2007 mrkto.com