Pull to refresh
0
Сергей Горностаев@wertyread⁠-⁠only

User

Send message

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

Reading time3 min
Reach and readers765
Вы наверно слышали о новых особенностях, которые ожидают нас в PHP 5.3, но кто знает где можно их использовать в реальном программировании? Я потратил немного времени чтобы изучить их и решил привести несколько примеров.
Читать дальше →

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

Reading time2 min
Reach and readers5.4K
Если убирать рекламу, вставляя код в стиль самого ЖЖ, это, во-первых, наверняка будет скоро ликвидировано СУПом, а во-вторых, это противоречит пресловутым Условиям использования.

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

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

Reading time4 min
Reach and readers1.5K
Для начала определимся, что понимается под «высоким уровнем»? Традиционно языки программирования разделяются на поколения. Сам термин поколения языка достаточно редко используется в русской технической литературе, да и сам язык не всегда можно четко и категорично отнести к тому или иному поколению. Поэтому давайте разберемся, сначала с ним, а потом перейдем собственно к PHP.
Читать дальше →

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

Reading time2 min
Reach and readers8.8K
Хочу рассказать о простых приемах, которые помогут обезопасить ваш скрипт.

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


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

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

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

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

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

Reading time4 min
Reach and readers1.1K
Здравствуйте,

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

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

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

Reading time3 min
Reach and readers364K

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

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


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

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

Reading time10 min
Reach and readers58K


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


Вступление


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

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

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


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


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

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

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

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

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


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

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

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

Reading time12 min
Reach and readers369K

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


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

Введение


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

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

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

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

Reading time6 min
Reach and readers50K
Буквально вчера на Smashing Magazine был опубликован мой текст про CSScomb. Так как узначально я писал его на русском языке, а затем переводил на английский, то я решил опубликовать оригинальный вариант на Хабре.

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

CSScomb.ru

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

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

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

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

Reading time7 min
Reach and readers82K
Вы отвечаете за стабильность работы веб-проекта на PHP. Нагрузка постоянно растет, добавляются фичи, клиенты довольны. В один прекрасный день начинают появляться загадочные ошибки…

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


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

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


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

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

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

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

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

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

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

Reading time2 min
Reach and readers44K

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


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

Условия:


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

Дизайн:


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

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


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

Решение

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

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

Reading time7 min
Reach and readers216K
После недавнего выпуска Retina MacBook Pro и The new IPad, экраны с увеличенной плотностью пикселей начали активно входить в нашу жизнь. Что это значит для веб-разработчиков?

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

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


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

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

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

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

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

Reading time17 min
Reach and readers26K
Вступление

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

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

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


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

SASS PHP extension

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

SASS против LESS

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

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

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

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

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

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


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

Information

Rating
Does not participate
Date of birth
Registered
Activity