Обновить
0
Сергей Горностаев@wertyread⁠-⁠only

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

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

Программирование в PHP 5.3

Время на прочтение3 мин
Охват и читатели765
Вы наверно слышали о новых особенностях, которые ожидают нас в PHP 5.3, но кто знает где можно их использовать в реальном программировании? Я потратил немного времени чтобы изучить их и решил привести несколько примеров.
Читать дальше →

Убираем рекламу в ЖЖ по-честному

Время на прочтение2 мин
Охват и читатели5.4K
Если убирать рекламу, вставляя код в стиль самого ЖЖ, это, во-первых, наверняка будет скоро ликвидировано СУПом, а во-вторых, это противоречит пресловутым Условиям использования.

Благо, современные браузеры дают возможность резать рекламу на стороне пользователя.
Читать дальше →

Высокоуровневое программирование на PHP. Часть 1. Введение

Время на прочтение4 мин
Охват и читатели1.5K
Для начала определимся, что понимается под «высоким уровнем»? Традиционно языки программирования разделяются на поколения. Сам термин поколения языка достаточно редко используется в русской технической литературе, да и сам язык не всегда можно четко и категорично отнести к тому или иному поколению. Поэтому давайте разберемся, сначала с ним, а потом перейдем собственно к PHP.
Читать дальше →

Безопасность в PHP (Обработка даных полученных от пользователей)

Время на прочтение2 мин
Охват и читатели8.8K
Хочу рассказать о простых приемах, которые помогут обезопасить ваш скрипт.

Общие положения


Всегда проверяйте полученные данные от пользователя ($_POST, $_GET, $_REQUEST, $_COOKIE, $_FILES), причем не только от разных инъекций, XSS и прочего, но и на корректность вводимых данных, например, если у вас интернет магазин, то проверяйте, чтобы количество товаров было не отрицательным и целым.

Представьте себя на месте хакера, подумайте чтобы вы сделали с сайтом.
Более подробно о методах защиты

PHP: проверка данных

Время на прочтение2 мин
Охват и читатели3.2K
Думаю, все, кто когда-либо программировал, знают, как муторно и скучно зачастую бывает писать алгоритмы для проверки входных данных. Я хочу предложить вам одно решение, которое поможет собрать свою собственную базу, которую можно будет использовать от проекта к проекту, изменяя и дополняя под свои нужды.
Пример приведен на PHP, но, я уверен, вы без труда сможете перенести его на любой другой язык.
Читать дальше →

Комментарии к статье «Кропотливая оптимизация PHP-приложений»

Время на прочтение4 мин
Охват и читатели1.1K
Здравствуйте,

Странно, что Хабрахабр не пускает это сообщение как комментарий к топику mocksoul об оптимизации РНР: www.habrahabr.ru/blog/webdev/19129.html. Наверное, слишком длинное. :)

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

То, что вам никто не говорил о z-index

Время на прочтение3 мин
Охват и читатели364K

Проблема z-index в том, что многие просто не понимают, как он работает.
Всё, описанное ниже, есть в спецификации W3C. К сожалению, не все её читают.

Описание проблемы:


Итак, пусть у нас есть HTML код, состоящий из 3 элементов.
Каждый из них внутри себя содержит по одному . А каждый , в свою очередь, имеет свой фон: красный, зеленый и синий, соответственно. Плюс ко всему, каждый позиционирован абсолютно левого верхнего края документа таким образом, что он немного перекрывает собой следующий за ним . Первый имеет z-index
, равный 1, у остальных двух z-index не задан.
Читать дальше →

Suit Up! Простой и легкий WYSIWYG

Время на прочтение10 мин
Охват и читатели58K


Статья делится на три части:
UPD Критика


Вступление


Не так давно, а, точнее, года два назад, в кругу разработчиков, с которыми я имел честь общаться (почти все — новички), каждый, кому поступила задача поставить WYSIWYG, ставили монстрообразный TinyMCE. Этот редактор считался почему-то стандартом у многих веб разработчиков, хотя, мало кому нужны были то большое количество функций, которые предлагались программистам. Тут тебе и то и это. Наверно, таким образом, новички пытались сказать клиенту «смотри, мы тебе на сайт запилили Ворд».

Однажды (не помню при каких условиях), мне захотелось или понадобилось разобраться в том, как работают браузерные «рич эдиторы». Моему удивлению не было предела, когда я сам, не имея каких-либо глубоких познаний в веб разработке, сделал две кнопочки: Bold и Italic, что оказалось очень простой задачей. Мне захотелось больше узнать о том, что же делать дальше. Так я познакомился с серией статей «WYSIWYG HTML редактор в браузере» (по ссылке первая статья, советую прочесть). Но информация на тот момент мне показалась несколько сложноватой. Поэтому я решил методом тыка, наступая на уже растоптанные кем-то грабли, написать свой простой редактор.

Сделал я его в виде jQuery плагина, и, думаю, не стоит отвечать «почему». Получилось кое-как заставить работать его в разных браузерах. Тут мне пришла в голову идея написать статью на хабр, после некоторых доработок. Время шло, допиливание я откладывал, откладывал… Два года, черт, целых два года. Но я постараюсь исправиться.


Простейший редактор


Для того, чтоб дать возможность пользователю менять содержимое блока (в данном случае, обычного дива) просто задаём ему (блоку) атрибут contenteditable:
<div contenteditable></div>

Редактор готов!
Читать дальше →

Инструменты для оптимизации сайта под Retina

Время на прочтение1 мин
Охват и читатели23K
В последнее время появляется все больше устройств с экранами, плотность пикселей которых очень высока: компания Apple выпустила MacBook с Retina, Google анонсировал Nexus 10 с разрешением 2560x1600 пикселей. Вместе с современными технологиями приходят новые проблемы для разработчиков сайтов. Например, на новых экранах растровые изображения смотрятся не очень хорошо, их необходимо оптимизировать под Retina. В этой подборке представлены некоторые инструменты, помогающие в этом.

Picturefill (демо), автор Scott Jehl


Делает изображения адаптивными и независимыми от разрешения экрана.

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

Руководство по оформлению HTML/CSS кода от Google

Время на прочтение12 мин
Охват и читатели369K

От переводчика


С удовольствием ознакомился с этими рекомендациями и теперь предлагаю вам перевод.

Введение


Это руководство описывает правила для оформления и форматирования HTML и CSS кода. Его цель — повысить качество кода и облегчить совместную работу и поддержку инфраструктуры.

Это относится к рабочим версиям файлов использующих HTML, CSS и GSS

Разрешается использовать любые инструменты для минификации компиляции или обфускации кода, при условии, что общее качество кода будет сохранено.
Читать дальше →

CSScomb: сортировка CSS-свойств с базовой поддержкой препроцессоров и пряниками

Время на прочтение6 мин
Охват и читатели50K
Буквально вчера на Smashing Magazine был опубликован мой текст про CSScomb. Так как узначально я писал его на русском языке, а затем переводил на английский, то я решил опубликовать оригинальный вариант на Хабре.

На момент написания этой статьи браузеры поддерживают около 200 CSS-свойств. Почти все из них вы используете в своих проектах. Самое время задуматься о консистентности не только форматирования кода, но и порядка свойств в рамках каждого селектора. Если вы следите за вашим code style, то эта статья для вас. Представляю вашему вниманию простой способ автоматической сортировки свойств в CSS-коде ваших проектов.

CSScomb.ru

CSScomb — утилита для сортировки CSS-свойств в рамках каждого селектора по заданному порядку. Алгоритм CSScomb максимально повторяет действия веб-технолога при работе с CSS-кодом. Для пересортировки обычно нужно перемещать строки относительно друг друга, учитывая комментарии в коде, многострочные записи значений свойств, хаки и всё, что может встретиться в файле любого серьезного проекта. Это довольно скучное занятие. Но CSScomb без проблем сделает это вместо вас.

Алгоритм CSScomb по своей природе «думает» как человек редактирующий текст, а не как слепой робот, разбирающий CSS по косточкам. Это позволяет утилите оставаться простой.

А теперь немного подробностей для тех зануд и перфекционистов, кому это по душе.
Покажите подробности!

Стабилизируем PHP на бою — что и почему «роняет» веб-сервер

Время на прочтение7 мин
Охват и читатели82K
Вы отвечаете за стабильность работы веб-проекта на PHP. Нагрузка постоянно растет, добавляются фичи, клиенты довольны. В один прекрасный день начинают появляться загадочные ошибки…

Ошибки серверного софта


… которые программисты не знают как исправить, т.к. «ломается» серверный софт, например связка apache-PHP — а клиент получает в ответ на запрос страницу о регламентных работах. Веб-разработчик часто не обладает глубокими знаниями в программировании на C в unix/linux, а сисадмин нередко, к сожалению, глубже bash в систему не погружается. Настоящий хардкор :-)

Нестабильная работа серверных скриптов


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

На практике я часто встречаю проекты, которые сталкиваются с подобным классом ошибок «серверного софта», и в команде не всегда знают, что делать. В логе apache часто появляются сообщения о нарушении сегментации (segmentation fault), клиенты получают страницу об ошибке, а веб-разработчик с сисадмином ломают себе голову, играются с разными версиями PHP/apache/прекомпилятора, собирают PHP из исходников с разными опциями снова и снова, пишут о багах, а им доказывают, что это баги не PHP, а их кода и так до бесконечности…

В статье я хочу рассказать как можно просто и быстро найти причину, почему PHP рассыпался на боевом сервере и устранить ее — не погружаясь в прекрасный мир системного программирования на C для unix :-) От вас потребуется желание и одна чашечка кофе.

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

Автоматическое скачивание киноновинок

Время на прочтение2 мин
Охват и читатели17K
Какое-то время назад я уже предпринимал попытку автоматизировать скачивание киноновинок — в то время это был сервис, основанный на API kinobaza.tv. Однако, API тогда был не совсем доделан (не всегда в список попадали киноновинки, не всегда скачивались фильмы на русском языке), а сейчас, похоже, и вовсе умирает. Потому пришлось сделать вторую попытку — сайт kino2rss (хотя, premiers2rss было бы правильнее).
Читать дальше →

«Див» блоки одинаковой высоты

Время на прочтение2 мин
Охват и читатели44K

На днях столкнулся с задачей:


Сделать две одинаковые по высоте -колонки, не зависимо от количества текста в какой либо из них.

Условия:


  1. Никаких таблиц;
  2. Поддержка IE6+ и т.д;
  3. Резиновая верстка;
  4. Никакого JavaScript, чистый HTML и CSS.

Дизайн:


В дизайне изображены две колонки с отступом друг от друга. Каждый из них имеет свой фон и border с округленными уголками. На вид все просто.

Поиск решений:


Искал и естественно нашел очень полезный пост, где описаны все самые действенные способы решения данной задачи: http://habrahabr.ru/post/64173/.
Собственно 4-е решение из этого поста было наиболее приемлемым, но с помощью него мне так и не удалось вывести два разных фона для своих колонок.

Решение

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

Оптимизация графики для Retina-экранов

Время на прочтение7 мин
Охват и читатели216K
После недавнего выпуска Retina MacBook Pro и The new IPad, экраны с увеличенной плотностью пикселей начали активно входить в нашу жизнь. Что это значит для веб-разработчиков?

Для начала разберемся в терминологии.

Физические пиксели


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

Хочешь быть iOS разработчиком? Будь им!

Время на прочтение2 мин
Охват и читатели390K
На хабре в прошлом месяце была опубликована статья Конкурс ВК: Мессенджер для Android. Как это было!, в которой автор поделился своими мыслями о конкурсе и опубликовал список ресурсов и статей, которые помогли ему в создании приложения. Так как в последнее время я начал изучать разработку под iOS, то у меня скопилось некоторое количество ссылок, которые могут быть полезны для начинающих. Поэтому я последую его примеру и сделаю то же самое, только для своей платформы. Надеюсь, кому-нибудь они окажутся полезны и сэкономят немного времени.

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

Добыча и переработка игрового трафика

Время на прочтение17 мин
Охват и читатели26K
Вступление

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

Материал посвящен следующим темам:

  • переработка и анализ трафика;
  • методы добычи трафика;
  • инструменты оптимизации добычи трафика.


Сначала стоит пройтись по анализу и переработке трафика, потому что прежде чем добывать трафик, надо понимать, какой именно трафик нам нужен. И сколько он должен стоить.
Читать дальше →

SASS PHP extension

Время на прочтение1 мин
Охват и читатели6.4K
Недавно я наткнулся на интересную статью о Python-биндинге для libsass, в которой я узнал о существовании такой замечательной библиотеки, как libsass (реализация рубивского sass на C++). Имея опыт в написании PHP расширений, я решил сделать SASS/SCSS обработчик, используя libsass. Исходный код полученного расширения Вы можете найти тут — sass-php.
Читать дальше →

SASS против LESS

Время на прочтение6 мин
Охват и читатели188K
«Какой препроцессорный язык стоит использовать для CSS?» является очень актуальным вопросом в последнее время. Несколько раз меня спрашивали об этом лично, и казалось бы, каждые пару дней этот вопрос поднимался в сети. Очень приятно что беседа перешла из темы о плюсах и минусах препроцессинга к обсуждению какой же язык является лучшим. За дело!

Если быть кратким: SASS.

Немного развернутый ответ: SASS лучше по всем пунктам, но если вы уже счастливы с LESS — это круто, по крайней мере вы уже упростили себе жизнь используя препроцессинг.

Развернутый ответ: ниже
Читать дальше →

Полезные ссылки для изучения CSS анимации

Время на прочтение3 мин
Охват и читатели24K
Мы начали наблюдать много экспериментов над CSS3 анимацией и статьи о ней в 2011-м, но тогда поддержка этой анимации была ограничена браузерами на вебките. В середине 2011-го Firefox 5 тоже получил эту поддержку, а также мы можем ожидать ее в следующей реинкарнации Internet Explorer (10), поэтому сейчас идеальное время, чтобы разобраться с синтаксисом @keyframes (покадровой анимации). Этот пост предлагает краткий обзор 10-ти статей, в которых объясняется, как использовать это клевое CSS3 свойство, с примерами и демками.


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

Информация

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