Pull to refresh
2
0
Максим @maxz

User

Send message

Нативный шаблонизатор

Reading time9 min
Views8K
Я довольно давно уже использую нативные шаблоны, но, почему-то, у многих людей нативные шаблоны ассоциируются с конструкциями типа:

  1. $title = 'My title';
  2. include('templates/index.html');
* This source code was highlighted with Source Code Highlighter.

  1. <html><head><title><?php echo $title ?></title></head>
  2. <!-- ... -->
* This source code was highlighted with Source Code Highlighter.


То есть, переменную определили и приинклюдили html-файл. Я считаю, что это в корне неверный подход. Почему?

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

Таким образом, я пришел к выводу, что шаблонизатор нужен, но он не должен быть навороченным тормозом типа Smarty.
Идеология блочных шаблонизаторов (XTemplate, например) мне не импонирует потому, что в них нет ветвлений как таковых, есть только циклы.

Потому я написал свой.
Читать дальше →

Сброс стилей с помощью CSS Reset

Reading time6 min
Views349K
Данная статья — первая из цикла на тему укрощения CSS. Сегодня мы рассмотрим технологию CSS Reset.

Зачем это нужно?


Каждый браузер устанавливает свои значения стилей по умолчанию для различных HTML-элементов. С помощью CSS Reset мы можем нивелировать эту разницу для обеспечения кроссбраузерности стилей.

Например, вы используете элемент a в вашем документе. Большинство браузеров, как Internet Explorer и Firefox, добавляют ссылке синий цвет и подчёркивание. Однако представьте, что через пять лет кто-то решил создать новый браузер (назовём его UltraBrowser). Разработчикам браузера не нравился синий цвет и раздражало подчёркивание, поэтому они решили выделять ссылки красным цветом и полужирным шрифтом. Именно исходя из этого, если вы установите базовое значение стилей для элемента a, то он гарантированно будет таким, каким вы хотите его видеть, а не как предпочитают его отображать разработчики UltraBrowser.

Читать дальше →

Как делать качественные печатные платы в домашних условиях.

Reading time2 min
Views400K
Любой электронный девайс требует соединения воедино кучи деталей. Конечно, можно спаять девайс на монтажной плате, но при этом велик риск наделать кучу ошибок, да и сам девайс будет выглядеть весьма стремно. Торчащие во все стороны провода оценят только любители трешдизайна. Поэтому, будем делать печатную плату!

А чтобы тебе было проще, я сделал видео урок на тему изготовления печатных плат методом Лазерного Утюга ака ЛУТ.

Полный цикл, от подготовки платы с куска текстолита, до сверления и лужения.
Читать дальше →

ASP.NET MVC + jQuery = рай для AJAX

Reading time3 min
Views50K
Я никогда раньше не имел дело ни с одним AJAX Toolkit от Microsoft, но недавно у меня появилась необходимость добавить картографический функционал к проекту, который я веду. Нам нужно было, чтобы у пользователей появилась возможность перемещать маркер по карте, а у нас получать его новые координаты на сервере. Очевидно, что нам для этого придется использовать AJAX в каком-либо виде. Сегодня я вам покажу насколько просто использовать связку ASP.NET MVC на сервере и jQuery на клиенте. Так как jQuery теперь включен в поставку ASP.NET MVC, то больше нет оправдания его не использовать.
Читать дальше →

14 бесплатных Web-приложений для совместной работы

Reading time4 min
Views77K
«Люди не являются островами в открытом океане». Это высказывание успешно можно использовать особенно в том случае, если вы — дизайнер или разработчик. Несмотря на существование платных средств, как Basecamp и Zimbra, вы можете использовать ещё и бесплатные, которые, пожалуй, не уступают платным (а порой и обгоняют их).

В этой статье мы рассмотрим 14 бесплатных Web-приложений для совместной работы в сети Интернет. Нужен вам простой редактор с самыми основными возможностями или полнофункциональное приложение для управления проектами, вы сможете обнаружить здесь по крайней мере одно приложение, удовлетворяющее вашим требованиям.

Читать дальше →

Выпущен OpenOffice.org v.3.0.0 Final

Reading time1 min
Views865
image
Готова финальная сборка пакета программ OpenOffice.org 3.0. Удобный и легко настраиваемый OpenOffice.org 3.0 реализует потенциал программного обеспечения с открытым исходным кодом. Помимо нового модуля работы с базами данных и расширенных возможностей XML OpenOffice.org 3.x изначально поддерживает формат OASIS OpenDocument.

Пакет доступен на 36 языках, способен работать под управлением MS Windows, GNU/Linux, Sun Solaris, Mac OS X и ряде других платформ.

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

added: для тех кому не терпится скачать можно тут (Windows All, En-US)
user gra поделился ссылкой на Mac версию

Делаем вращательный регулятор.

Reading time11 min
Views12K
Этим топиком я продолжаю цикл статей о написании всяких вкусностей для MooTools. Сегодня мы на чистом JavaScript сделаем вращательный регулятор — контрол, который часто используют в работающих со звуком программах для регулировки громкости или баланса. Вот примерно такой:

Sample
Итак, поехали

Оптимизация MySQL запросов

Reading time4 min
Views126K
В повседневной работе приходится сталкиваться с довольно однотипными ошибками при написании запросов.

В этой статье хотелось бы привести примеры того, как НЕ надо писать запросы.
Читать дальше →

Некоторые инженерные практики для улучшения качества web application на PHP

Reading time2 min
Views4.6K
Этот топик мой ответ на жалобу одного человека, что «баги достали».

Для начала, никакая методология положения не спасет. Начинать нужно с инженерных практик – внедрив их и почувствовав уверенность в своем коде можно внедрять любую методологию.

Первые задачи могут быть такие:
  • Обеспечить интеграционное тестирование, чтобы каждое обновление на production не было головной болью.
  • Обеспечить регрессионное тестирование – чтобы выявленные ошибки не возникали опять (отслеживались автоматически).

Читать дальше →

JavaScript Cross Site (XSS) POST

Reading time4 min
Views13K
Недавно, в Dojo появилась возможность производить cross site POST запросы, т.е. отправка POST запросов на другие сайты, с другими доменными именами. Это событие осталось незамеченным в нашем сообществе JavaScript разработчиков. По крайней мере, никто и слова про это не сказал. А зря…

В один прекрасный момент
Читать дальше →

Задачка "Hello World"

Reading time1 min
Views6.9K
Итак, вопрос знатокам: Сколько раз на экране появится заветная фраза при выполнении этой программы?

#include <iostream>
int main(int argc, char* argv[])
{
   int i = 10;
   std::cout<<"Hello World!"<<std::endl;
   // Сколько раз???
   while(i--)
   {
      // Сколько раз будет вызвана эта строка???/
      for(int j=0; j<10; j++)
         std::cout<<"Hello World!"<<std::endl;
   }
   return 0;
}
Читать дальше →

jTruncate — прячем все лишнее.

Reading time1 min
Views3.7K
jTruncate — это плагин для jQuery, который позволяет легко прятать лишний текст на вашей веб-странице.
Этот плагин будет полезен для страниц перегруженных различной информацией.
image
jTruncate вызывается точно также как и большинство плагинов для jQuery.

$().ready(function() {
$('#example1').jTruncate();
});

Читать дальше →

Тайм-меджмент++

Reading time7 min
Views6.8K

ВРЕМЯ ПРИНАДЛЕЖИТ ВАМ, А НЕ ВЫ ВРЕМЕНИ


Этот текст служит цели оптимизации вашей деятельности.
Но не увлекайтесь оптимизацией — делайте дело.

Следствие: Традиционная учёба (стационар, 5 лет) — это опасная вещь. Нужно иметь очень веские основания (конкретную цель), чтобы потратить столь огромный кусок времени на неизвестный результат. К тому же принцип 50-50 (теория-практика) неприменим при учёбе, там все с точностью наоборот, что (на мой взгляд) свидетельствует об ущербности текущих методов обучения.

1. Необходимость времени (причины)


Читать дальше →

Пять шагов для построения устойчивого к кризису бизнеса

Reading time3 min
Views620
В предыдущем переводе мы говорили о затягивании пояса в наше непростое время. Индустрия инвестиционного банкинга схлопывается, рынки IPO, слияний и поглощений обезлюдели. Основателям стартапов следует переосмыслить стратегические приоритеты. Бизнес ангелы и венчурные капиталисты пересматривают свои инвестиционные портфели – денег становится всё меньше.

Что теперь? Что нужно написать в презентации для инвесторов? Как показать венчурным капиталистам, что ваша стратегия соответствует актуальным потребностям инвестиционного сообщества? Популярный блог GigaOm спросил совета у Faysal Sohail, управляющего партнера CMEA Ventures.

Читать дальше →

jQuery для начинающих

Reading time9 min
Views515K
jQuery Logo

jQuery — это замечательный JavaScript Framework, который подкупает своей простотой в понимании и удобством в использовании. Но изучение надо с чего-то начинать, и лично моё мнение — лучше всего начинать с наглядных примеров, и они далее…

Читать дальше →

15 примеров отличной типографики

Reading time2 min
Views12K
Британский сайт I Love Typography, посвящённый типографике, опубликовал список с примерами отличной типографики. Этот список составлен по итогам II кв. 2008 года. Предыдущие «хит-парады» можно найти здесь и здесь.

Каждый пример сопровождается кратким комментарием, а нажатие на скриншот ведёт на оригинальный сайт.

Seed Conference


Нет флэша, нет картинок, нет лишнего шума; просто хорошо стилизированный шрифт и хорошо написанный текст: реальное доказательство того, что с помощью только шрифта можно получить отличный результат. Хотелось бы увидеть ещё несколько примеров такого рода.


Читать дальше →

Скриптлеты для Web-разработчика + подарок

Reading time41 min
Views6.4K
Для начала. Что же такое скриптлет?

Скриптлет — яваскрипт, помещеный в закладку и выполняемый на открытой странице при нажатии на ту самую закладку.

С помощбю скриптлетов можно видоизменять страницу, редактировать или отлаживать дизайн, искать ошибки в своих скриптах и еще очень много чего…

Читать дальше →

Замена стандартного select с использованием Mootools

Reading time2 min
Views4.2K
Иногда бывает нужно заменить стандартный HTML элемент select своим.
Обычно это необходимо, если фантазия дизайнера разыгралась и он нарисовал «кастомизированный» select и настаивает, чтобы было реализовано как он того захотел. Ну что ж, надо — сделаем.

Небольшая предыстория.

Однажды мне было необходимо кастомизировать select. Я использую mootools, поэтому, сразу пошел искать плагинчик для замены select'a — вдруг кто-то уже написал? Действительно, нашел несколько. Стал разбираться. Все просмотренные мною плагины оказались полной ерундой — они вели себя не как стандартный select. Выкинул их в помойку и решил написать свой плагин, который бы полностью повторял поведение стандартного select'a.
Читать дальше →

Information

Rating
Does not participate
Location
Краснодарский край, Россия
Registered
Activity