Search
Write a publication
Pull to refresh
0
0

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

Send message

jQuery Alert Dialogs — замена стандартным функциям Alert(), Confirm() и Prompt()

Reading time2 min
Views39K
image
Плагин jQuery Alert Dialogs призван заменить основную функциональность стандартных предупреждений JavaScript, alert(), confirm(), и prompt() функций. Они полностью настраиваются с помощью CSS (это позволит выглядеть вашему сайту гораздо более привлекательно). И вы также можете настроить пользовательский заголовок для каждого диалогового окна.

Эти методы моделируют обычные модальные диалоговые окна. Они автоматически изменяют свое положение при изменении окна браузера. Если включить jQuery UI Draggable плагин, то окна можно перемещать, перетаскивая их за заголовки. В отличие от стандартных JavaScript функций, вы можете использовать HTML в сообщении. Например, чтобы задать переход на новую строку, вы можете использовать либо \n, либо < br / >.
Читать дальше →

Безопасное извлечение в Windows 7

Reading time1 min
Views17K
Давайте вспомним, сколько неудобств составляет «Безопасное извлечение» флешки в Windows. Нужно найти в трее соответствующий значок, открыть его меню и, самое сложное, угадать необходимое устройство.
Вот как это было в Windows XP:
Windows_XP.PNG - upload images with Picamatic
Читать дальше →

Терминатор tXt

Reading time1 min
Views1.1K
image

Гипертекстовая игра про «Терминатора 4». Я сделал это just for fun, как говорил Линус Торвальдс. Немного графики из постеров, немного скринов из тизеров и щепотку дерзости.

Тексты писал сам, графику собирал из доступных источников, для разбивки текста в HTML использовал собственноручно написанный скрипт на Python.

Технические характеристики:
— движок: HTML
— объем кода и графики: менее 1 мб
— общий объем чистого текста (не кода) — около 60 кб
— число узлов (страниц) — 132
— концовок: хороших три, остальных более десятка
— локаций: как минимум пять
— присутствуют перестрелки, погони, драки на ножах с терминаторами и битва с харвестером
И все это — в текстовой игре!

Зацени и обругай, предложи идею или напиши о замеченном баге.
Не жди, пока наступит будущее. Стань Джоном Коннором уже сегодня! :)

Как отправлять уведомления с сайта по SMS?

Reading time3 min
Views88K
На днях озаботился доставкой SMS уведомлений с нашего сайта по абонентскому обслуживанию компьютеров в Киеве, пользователи создают тикеты, администраторы должны уведомляться о проблеме у клиента моментально.

Уже сейчас работает уведомление по e-mail, icq.
Но как быть, если администратор в дороге, и не имеет доступа к почте и мессенджеру? Нужно сделать уведомление SMSкой. Это будет полезно как админу, так и пользователю, т.к. последний сможет уведомиться об обработке его проблемы/заявки.

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

Улучшение для дерева коментариев хабра

Reading time2 min
Views772
Некоторые статьи вызывают оживлённые дискусии с сотнями коментариев, ветки которых занимают по два экрана на 1280х1024.

Например, вот на этом снимке экрана легко запутаться в уровнях коментариев.

Мне хотелось чтобы дерево коментариев было оснащено такими вертикальными линиями с минусиками к которым мы привыкли во многих современных редакторах. И я это сделал на выходных.

Сравните со снимком экрана после.







Далее: описание принципа работы, инструкция по установке

Доработанный файловый менеджер для FCKeditor (визуальный редактор для HTML)

Reading time1 min
Views3.6K
В визуальном редакторе FCKeditor (на сайте есть демо) файловый менеджер имеет ряд недостатков, которые мешают полноценно работать с этим замечательным (по моему мнению) редактором.
Переделан только PHP-коннектор для файлового менеджера.

Вид доработанного файлового менеджера


Доработанный файловый менеджер FCKeditor
Читать дальше →

Быстрая перекраска вещей на сайте

Reading time2 min
Views2K
image
Существуют моменты когда необходимо предоставить пользователям выбор цвета какой либо вещи. Есть несколько способов выхода из этой ситуации.

Здесь я покажу очень простой и незамысловатый способ быстрой перекраски, на примере iPod Shuffle.
Читать дальше →

Форматирование длинных SQL-запросов

Reading time1 min
Views16K
Вступил недавно в локальный оффлайн-холивор на тему форматирования длинных SQL-запросов.

Собственно, весь холивор сводится к тому, что удобнее читать — INNER JOIN ДО таблицы, или ПОСЛЕ неё, а так же — AND — до или после обьявления условия.

Два варианта и вопрос к хабровчанам под катом:

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

На «маки» нужно ставить несколько антивирусов

Reading time1 min
Views1.4K
В своих рекламных роликах компания Apple представляет Windows как некий магнит для вирусов. Мол, огромным преимуществом Macintosh является то, что 114 000 известных вирусов под Windows совершенно не опасны для «маков». Но в реальности безопасность «маков» — это миф, о чём свидетельствуют технические рекомендации Apple для своих пользователей. Они выглядят совсем не так, как рекламные ролики.

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

Как говорится, здесь без комментариев. Всем известно, что взломать непропатченную Mac OS X не представляет абсолютно никакого труда и, как утверждают разные эксперты, это только вопрос рыночной Mac OS доли, когда она станет мишенью для массированных вирусных атак. Количество дыр в системе вполне позволяет сделать из «маководов» огромную сеть ботов.

Добавим, что в заметке на сайте Apple также приводится список из трёх рекомендованных антивирусов, из которых два присутствуют в официальном магазине App Store.

via Райан Нарейн, специалист по безопасности Kaspersky Lab

Хранение файлов в MySQL и их быстрая раздача

Reading time3 min
Views98K
Думаю у многих возникала необходимость хранить файлы, связанные с записью в таблице. Это может быть картинка к новости, аватар, загруженный пользователем файл — да все, что угодно. Обычно в этому случае поступают просто — файл ложится в файловую систему, а ссылка на него — в запись БД.
Но у такого классического похода множество недостатков:
  • файлы не удаляются при удалении соответствующей записи БД
  • проблемы при одновременной попытке обновления файла
  • нарушение синхронизации между БД и файловой системой при откате транзакции
  • при резервном копировании и восстановлении информации в БД может возникнуть рассинхронизация с файловой системой
  • файлы не подчиняются ограничениям доступа, наложенным с помощью БД

Больше о проблемах, возникающих при хранении файлов отдельно от БД можно почитать в презентации SQL Antipatterns, раздел Phantom Files, страница 60. Кстати, автор презентации предлагает решение — хранить файлы прямо в БД, в поле типа BLOB. Правда следует замечание, что это должно быть взвешенное решение в каждом конкретном случае. Ведь при таком способе хранения файлов вебсервер должен при каждом запросе вызывать некий скрипт, который будет извлекать файл из БД и отдавать пользователю, что неминуемо отрицательно скажется на производительности.
Для поиска решения данной проблемы был проведен мозговой штурм и придумано несколько вариантов решения проблемы:
Читать дальше →

Нормализация Unicode

Reading time2 min
Views22K
Однажды мне пришлось наблюдать, как спамеры очень интересным образом обходят спам-фильтр. Вместо традиционного URL типа «example.com», ссылка выглядела так:
http://example.com
Ссылка с подобной изощрённой точкой работает в IE7, FF3, Opera 9.5, Safari 3, Google Chrome и не работает в IE6.
Читать дальше →

MACRO — гибкий PHP шаблонизатор, с человеческим «лицом»

Reading time3 min
Views2.7K
Раз уж сегодня на хабре день РНР шаблонизаторов, то не могу не рассказать о MACRO — наиболее гибком шаблонизаторе с читаемыми шаблонами, среди известных мне.
я хочу прочитать третье, за день, описание шаблонизатора

Нативный шаблонизатор

Reading time9 min
Views8K
Я довольно давно уже использую нативные шаблоны, но, почему-то, у многих людей нативные шаблоны ассоциируются с конструкциями типа:

  1. $title = 'My title';
  2. include('templates/index.html');
* This source code was highlighted with Source Code Highlighter.

  1. <html><head><title><?php echo $title ?></title></head>
  2. <!-- ... -->
* This source code was highlighted with Source Code Highlighter.


То есть, переменную определили и приинклюдили html-файл. Я считаю, что это в корне неверный подход. Почему?

Во-первых, все переменные, переданные в шаблон, должны храниться в одном месте (свойстве класса шаблонизатора).
Во-вторых, в шаблонизаторе не должно быть доступа к переменным, которые в него не переданы, и к функциям, которые в нем не определены.
В-третьих, должен быть определен набор функций, необходимых для работы.

Таким образом, я пришел к выводу, что шаблонизатор нужен, но он не должен быть навороченным тормозом типа Smarty.
Идеология блочных шаблонизаторов (XTemplate, например) мне не импонирует потому, что в них нет ветвлений как таковых, есть только циклы.

Потому я написал свой.
Читать дальше →

Глава 3. Оживляем страницу с jQuery

Reading time8 min
Views15K
Очередная глава из книги «jQuery in Action» (авторы Bear Bibeault и Yehuda Katz). Прежде всего извиняюсь перед читателями за столь большой промежуток между публикациями глав. Но все-таки я это сделал, чему, конечно же, рад. Надеюсь, что и вы тоже не останетесь равнодушными. Итак, продалжаем.

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

Загадки квантовой физики

Reading time1 min
Views10K
Недавно на своем сайте выложил вот этот ролик. Он вызвал достаточно большой ажиотаж на Рутубе…



На самом деле, как вы может быть знаете, существуют два знаменитых американских фильма — “The Secret” (Секрет) и “What the bleep do we know?” (Что мы знаем?), популяризующие некоторые идеи квантовой физики (в частности — некое единство материи, мыслей и информации, и “возможность изменять мир силой мысли”). Они просто взбудоражили мировую общественность, получили огромное число наград и поклонников. Однако, критики со стороны ученого мира они получили не меньше…

Конечно, там много мистики, психологического давления на зрителя, а порой и полной чуши. Однако, я считаю, что их следует посмотреть, потому что рациональное зерно в них все-таки есть, да и сделаны они очень качественно.

Хотел узнать у вас, уважаемые Хабролюбители, видели ли вы эти фильмы, и что вы о них (и об этих теориях вобще) думаете?

Вертикальный скрол c краткой информацией.

Reading time1 min
Views2.3K
Когда то давно, не помню где я читал о том, что обычный скрол можно сделать более функциональным и предлагалось ряд решений.
Мне эти идеи понравились и вот спустя много лет :)…
Предлагаю свою реализацию на javascripte. Идея в том чтобы на фоне скрола показывать эскиз всего текста, а с помощью движка скрола видимую часть текста. При таком подходе сразу видно где находится картинка, заголовок, а где параграф.
Читать дальше →

Постраничная навигация с MySQL при большом количестве записей

Reading time7 min
Views41K
Рано или поздно многие крупные проекты сталкиваются с проблемами производительности при постраничной навигации по записям. Некоторые из них решают эту проблему ограничением количества доступных для просмотра записей (скажем, не больше 1000). Вполне приемлемое решение. Но в этом случаем могут возникнуть проблемы с индексированием сайта сторонними поисковиками, которые и представляют наибольшую угрозу. В этой статье я хотел бы отказаться от привычной для всех панели навигации вида «1..2..3..4..» в пользу простой «вперед… назад» (будет проще объяснить), но это не проблема реализовать подобное и с первым вариантом.
Более точно определить тему, назвав, какое количество записей считать достаточно большим для появления тормозов, не получится, так как эта цифра для всех разная и сильно зависит от того, насколько быстрые у Вас жесткие диски, сколько памяти, и какая часть Ваших данных уже закеширована в ней и тд. Но если Вы и Ваши сервера ощущают, что n-ная страница при выводе даётся тяжелее первой, и при этом не знаете, что с этим делать – статья для Вас. Но для начала, я хотел бы на пальцах объяснить, почему ОНО работает медленно.

Кстати, тест происходит на виртуальной машинке, работаю я с СУБД под рутом, версия MySQL – 5.0.32.
Читать дальше →

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

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

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

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

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

Information

Rating
Does not participate
Registered
Activity