Как стать автором
Обновить
11
0
SpiRi7 @SpiRi7

Пользователь

Отправить сообщение

Последняя проверка перед запуском сайта

Время на прочтение3 мин
Количество просмотров4.1K
Запуск сайта ответственное мероприятие, надеюсь что этот список контрольных вопросов позволит ничего не упустить из виду.

Читать дальше →
Всего голосов 103: ↑86 и ↓17+69
Комментарии33

Ускоряем выборку произвольных записей MySQL

Время на прочтение3 мин
Количество просмотров33K
Последнее время оживилась публика с вопросом случайной выборки из таблицы. Решений по оптимизации полно, и нового сейчас я вам наверное ничего не покажу, просто напомню про основные методы оптимизации — упрощение запроса и индексацию. Без предисловий про фриленсеров, сразу к делу ;)

Читать дальше →
Всего голосов 59: ↑50 и ↓9+41
Комментарии22

Простое сравнение изображений с помощью php

Время на прочтение3 мин
Количество просмотров27K
Алгоритм возможно не новый, и не является идеалом, но, на удивление, работает. Никаких графов и корелляции.

Для начала, стоит отметить, что сравнение очень приблизительно (по крайней мере, на данном этапе), временами две совершенно разные фотографии оказываются похожими процентов на 60%, так же не учитываются жесткие модификации (повороты, инверсия, обрезка) – для этого нужно доводить и доводить. Лично для меня самым главным оказались два параметра: скорость, независимость от разрешения изображения и возможность сравнивать «изображения» прямо в базе данных.
Читать дальше →
Всего голосов 161: ↑153 и ↓8+145
Комментарии64

Используем любой шрифт с Javascript.

Время на прочтение3 мин
Количество просмотров24K
Все мы знаем прекрасные библиотеки sIFR3 и FLIR, которые на лету помогают использовать любой шрифт на веб-страницах.
Правда, с моей точки зрения, их использование (а именно установку и настройку) нельзя считать легким трудом.

Сегодня я расскажу о библиотеке Typeface.js, которая, как видно из названия, работает на чистом JavaScript.

Читать дальше →
Всего голосов 125: ↑119 и ↓6+113
Комментарии44

Автодополнение функций CodeIgniter в NetBeans

Время на прочтение2 мин
Количество просмотров3K
На волне интереса к NetBeans расскажу небольшой хинт. Я работаю в основном с CodeIgniter, и вот чего мне сильно не хватает в IDE это быстрого автодополнения для встроенных функций (библиотек, хелперов) — вроде $this→form_validation→…

Сейчас я расскажу, как это реализовать:

Читать дальше
Всего голосов 28: ↑28 и ↓0+28
Комментарии39

Тонкости роутинга в Zend Framework

Время на прочтение2 мин
Количество просмотров3.4K
Задача — сделать профиль пользователя доступным через example.com/user/username и через пользовательский поддомен username.example.com. Задача простая и с помощью Zend Framework решается парой строк кода. Трудности начались тогда, когда я решил действия регистрации, подтверждения регистрации, востановления пароля и собственно входа/выхода поместить в тот же контроллер, который выводит профиль пользователя. Теперь возникла задача научить контроллер не воспринимать example.com/user/register как пользователя.
Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии10

Создание сайта из готовых компонентов на примере сайта заказа еды в офис

Время на прочтение14 мин
Количество просмотров8.6K
В окрестностях нашего офиса нет приличного общепита, поэтому обеды нам привозят на заказ из одного кафэ. Заказ осуществляется за день (на понедельник заказ делается с пятницы), по телефону, с перечислением всех блюд и их количества (в случае если заказ не изменился относительно вчерашнего достаточно просто сказать это). Как компания, занимающаяся разработкой ПО, преимущественно веб, мы до недавнего времени жили по принципу «Сапожник без сапог», и весь учет заказов велся ответсвенным за заказ еды человеком на листочке, в случае изменения заказа нужно было писать письмо этому ответственному человеку, а он уже пересчитывал общий заказ.

Выкроив немного свободного времени в перерыве между проектами реализовал (именно реализовал, а не написал — почему именно так, расскажу немного ниже) систему для заказа еды. За основу, как нетрудно догадаться исходя из тематики блога, была взята CMS Drupal, которая является моим основным инструментом уже около полутора лет.

Цели данного топика:
  • Показать новичкам на довольно простом примере, как создается сайт невысокой сложности на CMS Drupal
  • Кратко расказать про несколько основных модулей — как правило они применяются в 90% проектов на друпале
  • Показать как можно собрать сайт на друпале из готовых компонентов, не написав при этом ни одной строчки кода (на самом деле будет пара строк кода, но немного не в том виде, как он обычно пишется =))


Итак, что должно быть реализовано в проекте:
  • Меню — список блюд, разделенных на категории, с возможностью описания блюд
  • Индивидуальные заказы — пользователь может сделать и заказ, просмотреть его содержимое и изменить
  • Сводный заказ — список всех заказаных пользователями блюд с указанием их количества
  • Возможность делиться впечатлениями о блюдах — тут просто возможность комментирования и рейтингования

Поехали
Всего голосов 100: ↑94 и ↓6+88
Комментарии117

Расчет периодов стажа в MySQL

Время на прочтение3 мин
Количество просмотров7.4K
На одном форуме задали вопрос о том, как правильно посчитать разность дат в MySQL для учета стажа сотрудника. На первый взгляд вопрос оказался простым, но при детальном рассмотрении все оказалось куда интереснее.
Читать дальше →
Всего голосов 41: ↑33 и ↓8+25
Комментарии10

8 отличных хитростей jQuery

Время на прочтение4 мин
Количество просмотров28K
imageКому не нравится jQuery? Это быстрая и простая javascript-библиотека стала очень популярной в 2008 году. В этой статье я собрал список восьми очень полезных jQuery-техник, советов и хитростей.
Читать дальше →
Всего голосов 122: ↑95 и ↓27+68
Комментарии85

Автогенерация CSS Sprites

Время на прочтение2 мин
Количество просмотров730
Свершилось. Долгие бессонные ночи не прошли даром и мысль, заявленная Вадимом aka pepelsbey, обрела более-менее физические очертания.

sprites.webo.in (сырая-сырая альфа-версия) — название, собственно, говорит само за себя. Вводим URL CSS-файла — на выходе получаем архив с минимизированным (никакой сортировки селекторов, просто базовая минимизация) CSS-файлом и набором свеженьких спрайтов. Здорово?
Читать дальше →
Всего голосов 76: ↑72 и ↓4+68
Комментарии43

Zend framework — туториал: авторизация

Время на прочтение6 мин
Количество просмотров9.2K
Знаю что в сети много уже таких туториалов, но я сам так же знаю что ZF очень труден на старте, но потом… все ясно и легко.
Хотелось бы облегчить эту первую стадию тем кто еще только в начале пути.

Для авторизации нам потребуется конечно же готовая таблица пользователей — минимум два поля, userName и passwordMD5.
passwordMD5 — сразу понятно что хранит пароль в неявном виде, что бы его кто то не украл в один момент.

1. Делаем форму логина.

Читать дальше →
Всего голосов 13: ↑10 и ↓3+7
Комментарии16

Полный AJAX. Теория и Примеры. Фишки и Фичи

Время на прочтение8 мин
Количество просмотров34K
По многочисленным просьбам начинающих (и не только) AJAX разработчиков, решил выделить часть своего времени для описания некоторых хитростей и приемов, которыми пользуюсь при построении сложных, динамических веб-приложений. Статья представляет из себя смесь теоретических выкладок и практических примеров.

Наибольшие трудности при построении сайтов c применением AJAX возникают при реализации механизма AHAH (Asynchronous HTML and HTTP). Особенно выполнение на лету подгружаемых Javascript-ов. Также есть куча дополнительного «гемороя» при разработке AJAX сайтов и веб-приложений. Вы можете ознакомится с детальным описанием некоторых существующих проблем. Из-за указанных сложностей, многие разработчики отказываются от более насыщенного внедрения AJAX.

Однако, мало кто знает, что перечисленные проблемы можно решить.
Читать дальше →
Всего голосов 112: ↑95 и ↓17+78
Комментарии141

Как удачно расчитать цену и время проектов во фрилансе

Время на прочтение2 мин
Количество просмотров8.3K
Одна из самых больших проблем начинающих фрилансеров — оценка стоимости задания.

На самом деле — оценка стоимости проектов — очень не простой момент и очень важно научится правильно оценивать стоимость проекта, что предлагается.

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

Так как же правильно оценить проект?

Читать дальше →
Всего голосов 36: ↑32 и ↓4+28
Комментарии32

Как определить стоимость своей работы

Время на прочтение3 мин
Количество просмотров38K
Одно из самых трудных решений фрилансера — назначение цены за свои услуги. Если ошибетесь в цене, расплачиваться придется очень долго. Неправильная цена, в конечном счете может привести ваш бизнес к провалу.

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

В общем стоимость услуг фрилансера должна быть основана на трех факторах:
  1. Собственные потребности
  2. Стоимость услуг конкурентов
  3. Потребности рынка
Читать дальше
Всего голосов 45: ↑23 и ↓22+1
Комментарии92

Пишем статью

Время на прочтение3 мин
Количество просмотров2.1K
В продолжение темы habrahabr.ru/blogs/study/41589
Курсивом — то, что надо изменить в вашей статье.
// комментарии

Научная статья
Читать дальше →
Всего голосов 60: ↑48 и ↓12+36
Комментарии21

30 высококачественных комплектов иконок

Время на прочтение1 мин
Количество просмотров2.6K
Доброго времени суток, хабралюди! Сегодня я хочу представить вашему вниманию 30 комплектов иконок. Несмотря на то, что все иконки выполнены на очень высоком уровне, распространяются они абсолютно бесплатно. Превью для каждого пака внутри.
Читать дальше →
Всего голосов 146: ↑131 и ↓15+116
Комментарии38

MySQL: Хранимые процедуры и динамический SQL

Время на прочтение1 мин
Количество просмотров51K
Если кто-либо из вас пытался сделать вроде бы очевидную вещь, а именно, создать sql запрос внутри процедуры передав ей имя таблицы, пользователя и т.п., то скорее всего натыкались на ошибку, о том, что нельзя использовать динамический sql.

SET @mytable='users';
SELECT * FROM @mytable;

Такая конструкция работать не будет. А что же делать, чтобы она заработала?
Читать дальше →
Всего голосов 69: ↑65 и ↓4+61
Комментарии26

Умные цели

Время на прочтение4 мин
Количество просмотров35K
Мы все хотим ставить перед собой и своей командой четкие и понятные цели (задачи), для этого существует несколько критериев, которые собираются в английскую аббревиатуру SMART (умный):
Буква Английский термин Русский термин
S Specific Точные и конкретные
M Measurable Измеримые
A Achievable Достижимые
R Relevant Релевантные
T Time bound/framed Цели со сроком
Читать дальше →
Всего голосов 88: ↑78 и ↓10+68
Комментарии29

Букмарклеты

Время на прочтение4 мин
Количество просмотров15K
Всем привет, сегодня речь пойдет про использование букмарклета, или закладки для браузера.

Кто не знает, это такая штука, которую можно добавить в закладки (да, я сегодня дебютирую в роли Капитана Очевидность :) и, при нажатии на нее, произвести какой-нибудь эффект.

Примером может служить герой сегодняшней заметки, который расположен по адресу http://ulizko. com/demo/allthat/. Инструкция по применению:
  1. Перетащите ссылку «link» на панель закладок или щелкните по ней правой кнопкой мыши и выберите пункт меню «добавить в избранное».
  2. Зайдите на какой-нибудь сайт, вроде http://twitter. com, и нажмите на эту закладку (ну или на избранное).


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

Но. Мы сегодня не об этом, а о том, как делать такие штуки в принципе.

Интересно?
Всего голосов 41: ↑38 и ↓3+35
Комментарии35

Плагин jquery.keyfilter.js

Время на прочтение1 мин
Количество просмотров3.3K
Очень нравится мне возможность ограничивать набор вводимых символов в полях ввода с помощью регулярного выражения.

Эта функциональность существует в Ext.JS, но этот каркас несколько тяжеловесен для большинства сайтов. Поэтому я нарисовал плагин для jQuery, выполняющий тот же функционал.

Примеры, страница проекта
Всего голосов 36: ↑34 и ↓2+32
Комментарии92

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность