Pull to refresh
12
0
Роман @ONEGiN

User

Send message

Создание простой MVC-системы на PHP 5

Reading time18 min
Views208K

Предисловие


В этом руководстве Вы узнаете, как построить простую систему по архитектуре MVC (Model-View-Controller, Модель-Отображение-Контроллер) на PHP 5.1 с использованием возможностей библиотеки SPL (Standard PHP Library, Стандартная Библиотека PHP).

Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments116

Атака на отказ в обслуживании методом slow HTTP POST

Reading time5 min
Views41K
Доброго времени суток, уважаемые хабровчане!
Я хочу рассказать вам об относительно новом и интересном, на мой взгляд, механизме атаки на отказ в обслуживании — Slow HTTP POST.
Поиск показал отсутствие на хабре информации по теме, что несколько удивило меня, и я решил восполнить это досадное упущение. Тема не нова, но, как показали мои небольшие исследования, более чем актуальна. Забегая вперед, скажу, что полученные мной результаты позволяют говорить о существовании широко доступной технологии, позволяющей с одного компьютера с небольшим каналом «укладывать» небольшие и средние сайты, а при использовании нескольких машин с повсеместно распространенным сейчас скоростным доступом в Интернет причинить немало проблем и более серьезным проектам. Всех заинтересовавшихся покорнейше прошу пожаловать под хабракат.
Читать дальше →
Total votes 205: ↑194 and ↓11+183
Comments98

Что такое проектирование сайта и почему его нужно делать

Reading time5 min
Views76K
Проектирование — этот, возможно, ключевой этап создания интернет-сайта, отвечает нам на следующие вопросы:
  1. Каковы наши цели — зачем мы делаем сайт? Как мы реализуем поставленные цели?
  2. Как сайт будет выглядеть и работать?
Читать дальше →
Total votes 67: ↑57 and ↓10+47
Comments44

CSS спрайты из командной строки

Reading time3 min
Views4.2K
Да, инструменты для создания CSS спрайтов существуют. Я даже сделал один такой сервис. Но они время от времени ломаются (как сейчас, мой). Но и командная многого стоит, и imagemagick. Давайте посмотрим, как мы можем создавать CSS спрайты только из командной строки.

Создание картинки


Начнем с того, что у нас есть список отдельных файлов:
$ ls

1.png  2.gif  dot.png  phoney.gif  tw.gif

  • — 1.png
  • — 2.gif
  • — dot.png
  • — phoney.gif
  • — tw.gif

Сделаем из них спрайт:
$ convert *png *gif -append result/result-sprite.png

Да, это все. Смотрим результат.

Читать дальше →
Total votes 139: ↑129 and ↓10+119
Comments22

Как оценить задачу до начала разработки сайта

Reading time5 min
Views28K
Постановка задачи — ключ к успеху любой работы. Если задача не поставлена чётко, то невозможно даже понять, решена ли она.

Мы предлагаем алгоритм оценки задачи до начала разработки сайта, неоднократно обкатанный и написанный кровью менеджеров. Мы уверены, что этот алгоритм сэкономит вам массу времени, денег и нервов.

Читать дальше →
Total votes 144: ↑135 and ↓9+126
Comments70

Закрепляем jQuery — 25 отличных советов

Reading time19 min
Views168K
Перевод отличной статейки. Думаю, будет полезна как новичкам, которые только приступили к использованию jQuery, так и тем, кто уже какое-то время с ним работает. А кого-то, возможно, заставит глянуть эту чудесную библиотечку. Многие советы имеют отношение не только к jQuery, но и к JavaScript в целом. Лично для меня была весьма и весьма познавательной, посему и захотелось донести это «до масс». Перевод не дословный, но передающий смысл и максимально адаптированный к русскому языку.

Далее все написано от имени автора оригинальной статьи.

Введение


jQuery прекрасен. Я использую его вот уже почти год и, хотя я и был достаточно впечатлен в самом начале, он нравится мне все больше и больше по мере использования и по мере того, как я узнаю о том, как он устроен внутри.

Я не эксперт в jQuery. И даже не претендую, поэтому, если встретите ошибки, смело поправляйте меня и вносите предложения по улучшению (поправлять и присылать поправки нужно автору статьи, а не перевода — зам. пер.).

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

Содержание


  1. Загружайте фреймворк с Google Code
  2. Используйте «шпаргалку» (cheat sheet)
  3. Соединяйте все ваши скрипты и уменьшайте размер файла
  4. Используйте возможности Firebug для ведения логов
  5. Минимизируйте операции выборки в пользу кэширования
  6. Сводите манипуляции с DOM-деревом к минимуму
  7. Оборачивайте все в единый элемент, когда речь идет о любой вставке в DOM
  8. Используйте «id» вместо классов, где это возможно
  9. Задайте контекст своим селекторам
  10. Используйте последовательности вызовов методов с умом
  11. Научитесь правильно использовать анимацию
  12. Научитесь назначать и делегировать события
  13. Используйте классы для сохранения состояния
  14. Еще лучше — используйте встроенный в jQuery метод data() для сохранения состояния
  15. Пишите собственные селекторы
  16. Подготавливайте HTML и модифицируйте его, когда страница загружена
  17. Используйте «отложенную загрузку» (lazy loading) для определенного контента для выигрыша в общей скорости и преимуществ для SEO
  18. Используйте служебные функции jQuery
  19. Используйте «noconflict» для переименования глобального объекта «jquery», когда используете его с другими фреймворками
  20. Как узнать что картинки загружены?
  21. Всегда используйте последнюю версию
  22. Как проверить, что элемент существует?
  23. Добавляйте класс «JS» в элемент «html»
  24. Возвращайте «false» для отмены поведения по-умолчанию
  25. Короткая запись для события готовности документа


Rock'n'Roll!
Total votes 188: ↑182 and ↓6+176
Comments109

Некоторые тонкости ИТ-аутсорсинга

Reading time11 min
Views6.6K
С огромным интересом посмотрел статьи, посвященные ИТ-аутсорсингу, которые размещены на хабре.
Как владелец не большой аутсорсинговой компании, позволю себе выразить свое мнение по поводу плюсов и минусов данного явления. Рассказать с какими трудностями приходится сталкиваться при работе в этой сфере, и как их можно избежать.

Сразу хочется сказать, что я не хочу останавливаться на теоретических аспектах построения ИТ-систем (ITIL, ITSM). В них описываются стандарты и подходы, к которым необходимо стремиться (что я стараюсь делать изо всех сил), но которые на практике не совсем все удается реализовать

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

Аутсорсинг — это ОТВЕТСТВЕННОСТЬ ЗА ПРОЦЕСС, которую берет на себя сторонний подрядчик.

Именно процесс целиком. ИТ-аутсорсинг — соответственно ответственность за ИТ-процессы компании-клиента. Процесс — упорядоченный и регламентированный набор действий для достижения поставленных целей. Если ИТ-процессов нет, или они не четкие — задача аутсорсера создать или нормализовать их. Как мне всегда казалось, и в чем я убеждаюсь сейчас — только такой подход «полной ответственности за процесс» даст возможности аутсорсеру получить максимальную прибыль и верных клиентов.
На практике мы наблюдаем ряд услуг, которые предлагают решить только часть проблем в поддержании работоспособности ИТ-систем. Я осмелюсь их классифицировать и дать свою оценку.
Читать дальше →
Total votes 58: ↑54 and ↓4+50
Comments30

Стандарты синтаксиса шаблонизаторов. Первые шаги

Reading time4 min
Views1.5K
Для затравки и предметного обсуждения нужна точка отсчета. В шаблонизаторе нас интересуют поддерживаемые типы конструкций, способ их обрамления, какие-то возможности (препросмотр без компиляции).
Основные типы конструкций для управления выводом в шаблоне:
  1. Переменные.
  2. Условные операторы.
  3. Операторы циклов.
  4. Инклуды, блоки.
  5. Наследование.

Уже этих конструкций с лихвой достаточно, чтобы реализовать большинство проектов. И само собой мы их видим почти в каждом шаблонизаторе, с теми или иными отличиями и особенностями. Но давайте поразмыслим, какие в теории возможности они должны позволять использовать, и как эти реализации должны выглядеть в идеале.
Читать дальше →
Total votes 25: ↑15 and ↓10+5
Comments39
12 ...
7

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity