Search
Write a publication
Pull to refresh
6
0
ivanr @ivanr

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

Send message

Здравый смысл против юмора

Reading time6 min
Views2.7K
При использовании в быту социальных сетей постоянно ловлю себя на мысли, что тот или иной механизм меня не вполне устраивает. Мозг видит неудобства и вопиющую несправедливость и пытается что-то там придумать. Иногда в нём рождаются забавные мысли. Одной из последних хочу поделиться с сообществом.

Почему юмор вреден тематическим соцсетям? Стоит ли с ним бороться? Как направить вектор развития сервиса? Можно ли добавить что-то новое в уже давно придуманные вебдванольные механизмы? Как новую идею воткнуть в старый интерфейс, чтобы обошлось без жертв?

И, самое главное, что за хрень слева нарисована?

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

Безопасная загрузка изображений на сервер. Часть первая

Reading time10 min
Views138K
В данной статье демонстрируются основные уязвимости веб-приложений по загрузке файлов на сервер и способы их избежать. В статье приведены самые азы, в врят-ли она будет интересна профессионалам. Но тем неменее — это должен знать каждый PHP-разработчик.

Различные веб-приложения позволяют пользователям загружать файлы. Форумы позволяют пользователям загружать «аватары». Фотогалереи позволяют загружать фотографии. Социальные сети предоставляют возможности по загрузке изображений, видео, и т.д. Блоги позволяют загружать опять же аватарки и/или изображения.

Часто загрузка файлов без обеспечения надлежащего контроля безопасности приводит к образованию уязвимостей, которые, как показывает практика, стали настоящей проблемой в веб-приложениях на PHP.

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

Firebug 1.3 и 1.4 alpha — что нового и интересного?

Reading time3 min
Views728
Если вы профессиональный веб-разработчик и постоянно имеете дело с разработкой и отладкой сложных AJAX приложений, то наверняка знаете и используете Firebug — плагин для браузера Firefox, предназначенный для отладки и исследования веб-приложений. Текущая его версия, 1.2х достаточно стабильная и функциональна, чтобы помочь в 99% проблем, которые могут возникнуть при разработке. Но и этот инструмент не лишён если не недостатков, то некоторых фич, которые могли бы облегчить работу. И даже идеальный инструмент можно сделать ещё более идеальным, как бы это не звучало.
Читать дальше →

Странное ограничение IE на количество внешних CSS

Reading time1 min
Views2K
Разрабатывая проект наткнулся на странный глюк в IE. Некоторые стили просто не применялись к странице. Т.к. проект большой и стилей много, на этапе разработки CSS был разбит на много файлов для каждого логически отдельного блока. Выясняя причину я, опытным путём, пришёл к тому, что IE подгружает максимально 31 внешний CSS файл через. Остальные файлы просто игнорируются.
Проверял на IE6 и IE7.

Естественно, когда сайт пойдёт в продакшн весь CSS будет в одном файле, но на этапе разработки этот момент подставил подножку.

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

Reading time6 min
Views1.5K
Давным-давно (я уже не помню когда, но давно) я собрался и запустил для себя сайт. Сначала он использовался просто как склад того, что нужно кому-то передать. Потом совершенно случайно образовалось свободное время и получилось заполнить сайт чем-то осмысленным и (надеюсь) полезным. И очень захотелось быть в курсе событий, происходящих на сайте. Самое простое решение — отсылать письма, что и было сделано. Однако через некоторое время появилось желание избавиться от писем с сайта так как поток служебной почты в течении дня превышает разумные пределы.
И тут пришла в голову мысль...

Новая версия LiveStreet 0.2

Reading time2 min
Views1.1K
Прошло около двух месяцев с момента анонса релиза LiveStreet — бесплатного движка хабра-подобной социальной сети.
Что было сделано за это время?
Во-первых, большая работа над ошибками/багами, к слову, которых, как и в любом свежем продукте, было предостаточно. Но благодаря активному содействию комьюнити, сформировавшегося вокруг LiveStreet, большое число багов было выявлено и жестоко подавлено =)
Во-вторых, существенное улучшение функционала. Если раньше сделать на базе LiveStreet функциональный блого-социальный сервис было проблемно, то теперь с выходом новой версии это вполне возможно. Опять же, большинство улучшений было сформировано активными пользователями движка.
Стоит отметить что за это время было более 2000 закачек дистрибутива движка, не считая чекаутов из общедоступного SVN репозитария.

Итак, что нового нас ждет в LiveStreet 0.2:
Читать дальше →

Пишем аккордеон-плагин в 618 байт

Reading time5 min
Views5.4K
Очень часто приходится видеть варианты элемента управления «аккордеон» на различных сайтах. В этой заметке я хотел бы предложить свой вариант, который кроме того, что обладает некоторыми оригинальными свойствами, еще и весит в minified-виде всего 618 байт. Заодно, я покажу как быстро написать простейший плагин для jQuery.

Забегая в перед скажу, что плагин тестировался в Firefox 3.0.3, Internet Explorer 7 и 8b2, Opera 9.52 и Chrome 0.3.154.9. Во всех других браузерах работоспособность гарантируется настолько насколько в них работает jQuery.

Для любопытных приведу пример того, что будет в итоге (ссылки и кнопки в примере не работают).
Читать дальше →

Иерархические (рекурсивные) запросы

Reading time10 min
Views541K
Дерево объектов

Чтобы понять рекурсию, сначала надо понять рекурсию. Возможно, поэтому рекурсивные запросы применяют так редко. Наверняка вы представляете что такое SQL-запрос, я расскажу, чем рекурсивные запросы отличаются от обычных. Тема получилась объемная, приготовьтесь к долгому чтению. В основном речь пойдет об Oracle, но упоминаются и другие СУБД.

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

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

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

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

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

Пример создания анимированного меню

Reading time4 min
Views2K
В своей работе я часто сталкиваюсь с однотипными задачами. Для того чтобы не топтаться на одном месте, развиваться как разработчик, да и просто не скучать от однотипной работы, я придумываю небольшие фишки в проектах.
Так, при создании админки для одного из моих клиентов, я решил сделать анимированное меню при помощи фреймворка Mootools. В этой статье я расскажу, как создавалось меню и немного опишу функции и методы фреймворка, которые мне в этом помогли. Статья написана как для людей, которые только начинают изучение mootools, так и для тех, кто желает начать изучение этого фреймворка, но, возможно, не знают с чего начать.

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

Отладка скриптов в Zend Studio

Reading time2 min
Views7.2K
Не так давно, я обратился к хабро-общественности за помощью в этом топике. Тогда мне не только не помогли, но еще и заминусовали карму. Посему разбираться пришлось самому…
Читать дальше →

Пишем на картинках

Reading time7 min
Views15K
В течение последнего времени что-то часто стали мелькать статьи про обработку изображений на php. Скругленные края уже были, тени были, мокрый пол был, еще куча всего было.

А вот надписей вроде еще не было. Значит будут. :-)

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

Blueprint

Reading time4 min
Views27K
Blueprint — довольно интересный фреймворк для верстки сеткой, который я лично считаю удобным, потому как он позволяет довольно просто создавать весьма сложные страницы, при этом не думая об IE.

Со страницы проекта на Google Code скачиваем архив.

В архиве будет папка blueprint/ там и содержатся основные файлы фреймворка, их и подключаем к странице:

<link rel="stylesheet" href="css/blueprint/screen.css" type="text/css" media="screen, projection">
<link rel="stylesheet" href="css/blueprint/print.css" type="text/css" media="print"> 
<!--[if IE]><link rel="stylesheet" href="css/blueprint/ie.css" type="text/css" media="screen, projection"><![endif]-->

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

Анимация в MooTools. Основы и не только.

Reading time18 min
Views7.5K
В данном топике я собираюсь свести все свои знания об анимации в MooTools воедино и рассмотреть темы, более углубленные, чем просто примеры использования плагинов. Теоретическая информация справедлива не только для MooTools, но и для других фреймворков. Начинающим будет интересно ознакомиться с возможностями фреймворка, а продолжающим — понять, как все это работает :). В статье приведено много примеров, есть довольно оригинальные, вот некоторые из них: 1, 2, 3. Приятного вам чтения.
Заглянуть вовнутрь

Идеальный дизайн

Reading time2 min
Views1.8K
— Знаете, Афанасий Степанович, в чем ваша ошибка? — устало сказал он, закрывая глаза. — Вы верите, что мир существует по неким правилам, что в нем имеется смысл и п-порядок. А я давно понял: жизнь есть не что иное как хаос. Нет в ней вовсе никакого порядка, и правил тоже нет.
Борис Акунин, «Коронация или Последний из романов»
Продолжаем

Совмещенные «типографские» раскладки для нескольких языков

Reading time2 min
Views3.4K
image
Долгое время у меня в системе было установлено 3 раскладки — английская, русская и украинская. Так как, преимущественно, я использую английскую и русскую, лишнее переключение раскладки меня стало раздражать, и украинская раскладка была снесена. Для редких случаев, когда она была нужна, я устанавливал ее заново. Но проблема решилась лишь частично. Когда украинский был нужен — его не было под рукой.

Совсем недавно я подумал, почему бы не дополнить типографскую раскладку Бирмана недостающими буквами из украинского алфавита (коих всего 4). Вооружившись Microsoft Keyboard Layout Creator, я создал такую раскладку. Теперь, для набора украинских букв мне стоит лишь зажать правый альт и набирать их как обычно (ї = Alt + ъ, Ї = Alt + Shift + ъ, ...)

Порадовавшись немножко, я создал еще и обратную раскладку на основе украинской — для тех, кто пользуется преимущественно украинским языком (ы = Alt + і, ...). Кроме того, получившуюся украинскую раскладку я дополнил всеми типографическими цацками раскладки Бирмана, так что все сочетания значков остались на старых местах.

После этого, я вспомнил еще и о белорусских братьях, у которых наверняка были те же проблемы, что и у меня. Для них я подготовил еще два варианта раскладок — русскую с белорусскими буквами и обратную ей — белорусскую «типографскую» с отсутствующими русскими буквами. И напоследок, я совместил и украинские, и белорусские буквы в одной русской раскладке, дабы помочь тем, кто пишет на всех трех языках.
Читать дальше →

Создаем простой tooltips с помощью CSS и jQuery

Reading time4 min
Views71K
CSS tooltips очень популярны в современном веб дизайне, и вопреки широко распространенному мнению их довольно легко создать, особенно с помощью различных популярных javascript-framework-ов.

Вы, конечно, можете использовать стандартный плагин, но чтобы сделать простой tooltips, Вам достаточно написать всего 10 строк кода jQuery и CSS.
image
Итак, приступим. Прежде всего обратите внимание на структуру этого tooltips: это обыкновенная ссылка, которая будет выглядеть примерно так:
Читать дальше →

120 dpi и шрифты в em

Reading time8 min
Views12K
шрифт в em

Шрифты в Em/% хороши всем — возможностью пользователей IE увеличивать кегль, заботой о пользователях, что предпочитают увеличивать размер шрифта браузера по-умолчанию, чтоб лучше видеть текст, да и просто являются нормой для профессиональных верстальщиков.

Минусы: … их вроде как нет, но!
А что если у пользователя разрешение экрана выставлено не в стандартное 96 dpi, а в 120?
Сайт с увеличенными шрифтами смотрится уже не так красиво, как нарисовал дизайнер — ведь масштабируются только шрифты, а не весь сайт! А разрешение 120dpi становится всё популярней, особенно на ноутбуках! Что же делать? Возвращаться к px?

Нет!
как сделать сайт одинаковым на 96 dpi и 120

Юзабилити Бюллетень. Выпуск № 23

Reading time1 min
Views402
Раскрыть аннотации статей

jQuery Timers

Reading time3 min
Views64K
При проектировании интерфейсов пользователя когда-нибудь обязательно встанет задача использования таймеров, и в этой статье я хочу рассказать о замечательном плагине jQuery Timers, который значительно облегчит работу по созданию и применению таймеров в Ваших приложениях.
jQuery Timers — это высокоуровневая абстракция методов setTimeout и setInterval. Используя jQuery Timers, Вы сможете «прикреплять» таймеры к элементам непосредственно в Вашем коде и использовать еще некоторые возможности.
Как обычно, сначала посмотрим пример, а потом разберем исходный код.

Пример и исходный код скачать можно здесь

image
Привет Isis, давно тебя не было, почитаем дальше

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity