Pull to refresh
0
0
Ринат Янбухтин@R1nat

User

Send message

Один из лучших классов для загрузки файлов на сервер. (PHP)

Reading time1 min
Reach and readers14K
Хочу познакомить вас с одним из лучших классов, на мой взгляд, для загрузки файлов на сервер.
позволяет делать с изображением все что угодно
Ничего лучше чем пример быть не может, так что сразу к делу…
Читать дальше →

Jevix: опубликована php-версия 0.9 (beta)

Reading time1 min
Reach and readers1.3K


Jevix — средство применения правил набора текстов (типографики), фильтрации тегов и аттрибутов, предотвращения XSS-атак. Jevix предназначен для использования в составе интернет-проектов, публикующих пользовательские материалы, будь то крупная социальная сеть или авторский блог.

Jevix способен полностью взять на себя все возможные проблемы с обработкой пользовательского материала в формате простого текста или HTML.

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

Анимированный фон средствами jQuery или «Эй, а ведь круто! Как Flash!»

Reading time3 min
Reach and readers13K
jQuery + CSS Sprite
Занимательные поделки от Джонатана Снука. Данная статья будет интересна скорее новичкам, нежели более умудренным разработчикам, хотя мистер Снук достаточно авторитетен и его методики могут быть полезны всем.
Любопытно... Что там у вас?!

Rss grabber для DLE жжот

Reading time1 min
Reach and readers3.7K
Вот такой интересный код можно встретить в HttpClient'e Rss Grabber'а для DLE

while (true)
{
$this->errormsg = 'Connection failed (' . $errno . ')';
$this->errormsg .= ' ' . $errstr;
$this->debug ($this->errormsg);
if (true)
{
return false;
}
}


мне так и не удалось разгадать тайный смысл этого инопланетного послания .))

Классы в Javascript: вызов методов родительского класса

Reading time6 min
Reach and readers17K
JavaScript — очень динамический язык, в нём заложена возможность менять язык под себя и создавать удобные инструменты для дальнейшей работы. «Реализация классического наследования» — как раз один из таких инструментов. В данный момент я не представляю себе, как я программировал бы на JS без «классов».

Для меня «Классы» — это, скорее, подход к проектированию и реализации поставленной задачи. В нашем новом проекте такой подход используется по полной программе (и, я думаю, что он оправдывает себя на все 100%).
Читать дальше →

Засаливание паролей

Reading time2 min
Reach and readers34K
Итак, каким же образом обеспечивается безопасность на нынешних веб-ресурсах? Хешированием паролей алгоритмом md5. Вроде бы всё здорово и замечательно — md5 есть функция необратимая и пароли, хранимые в виде таких хэшей, взломать нельзя, даже если злоумышленник получил доступ к базе. Ан нет! Вспоминаем про Rainbow-таблицы и прощаемся с мыслью о полной безопасности хранения паролей в таком виде. Та как же их тогда шифровать? Алгоритмы востановимого шифрования с ключами тоже не панацея, да и системных ресурсов сии функции кушают немало...
Вопрос: Так как же, не в ущерб производительности, обезопасить md5 хэши от Rainbow-таблиц?
Ответ: соль.
Читать дальше →

Пишем RSS-читалку на Flex

Reading time5 min
Reach and readers1.7K
Попробуем сделать при помощи Flex простое приложение. Впрочем, это не будет обычный Hello World, это будет нечто более полезное.
Но перед тем, как попробовать сделать что-нибудь с помощью Flex, разберемся, какие возможности появились в новой версии.
Читать дальше →

Скриптлеты для Web-разработчика + подарок

Reading time41 min
Reach and readers6.7K
Для начала. Что же такое скриптлет?

Скриптлет — яваскрипт, помещеный в закладку и выполняемый на открытой странице при нажатии на ту самую закладку.

С помощбю скриптлетов можно видоизменять страницу, редактировать или отлаживать дизайн, искать ошибки в своих скриптах и еще очень много чего…

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

О проблеме в почти каждой реализации восстановления забытого пароля

Reading time2 min
Reach and readers3.4K
Недавно я прочёл о том, что учётная запись Сары Пэйлин на сервисе Yahoo! Mail была взломана (прим.: подробнее об это можно прочитать здесь). Интерес этот взлом представляет собой хотя бы потому что взломщик не угадывал ее пароль и не искал уязвимость в почтовом сервисе Yahoo! Вместо этого он воспользовался возможность восстановления забытого пароля и поисковиком. Блог The Threat Level в посте Palin E-Mail Hacker Says It Was Easy опубликовал письмо от хакера, которое мы приведем ниже
Читать дальше →

Ограничения на названия логинов

Reading time1 min
Reach and readers8.1K
Добрый день. В этой заметке я хотел бы поговорить об ограничениях, которые выставляются в сервисах на логины.

Создавая очередной сервис, я исхожу из следующих соображений:
1. Логин не должен быть слишком короткий (у меня сейчас от 3 символов включительно, для более крупных систем, типа GMail, используется от 6).
2. Логин не должен быть слишком длинный, иначе в каком-нибудь интерфейсе он начнёт что-нибудь неправильно распирать. Я использую логины до 20 символов, но интересно выслушать ваши мнения по этому поводу.
3. Логин может использоваться в адресной строке, при интеграции с SMS и проч. Поэтому оставляем только латинские символы, цифры, подчёркивание, дефис и точку.
3а. Если логин может быть использован как имя поддомена, то эти условия сокращаются до символов латинского алфавита, цифр и дефиса (дефис не может быть первым и последним, он не может повторяться).
4. Иногда очень удобно использовать двойную навигацию: по логину и ID. Например, у нас на одном сервисе используется адрес domain.com/users/<login> для пользователей с логином и domain.com/users/<id> для тех, у кого нет логина (т. н. виртуальные профили, которые зарегистрированы администрацией или другими пользователями). Это приводит к тому, что логин не может состоять только из цифр, чтобы не путать его с идентификатором.
5. Слова-исключения: www, mail, ns1, ns2, ns3, ns4, admin, god, moderator, editor. Первые 6 являются исключениями для совместимости с поддоменами. А какие слова-исключения используете вы?

И основной вопрос к читателям: какие ограничения стоят у вас, и что я забыл?

Решение проблемы с русскими символами в URL

Reading time2 min
Reach and readers7.1K
Известно, что по умолчанию в Code Igniter русские буквы в адресах запрещены.
Однако даже при изменении в файле system/application/config/config.php строки
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
на
$config['permitted_uri_chars'] = 'a-zа-яё 0-9~%.:_\-';
проблема не решилась.
Читать дальше →

Многопроцессовые демоны на PHP

Reading time3 min
Reach and readers45K
Зачем может понадобиться писать демоны на PHP?
  • Выполнение трудоемких фоновых задач;
  • выполнение задач, которые длятся больше, чем время ожидания при HTTP-запросе (30 секунд);
  • выполнение задач на более высоком уровне доступа, чем серверный процесс (читай — под рутом).

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

Саттвическая работа

Reading time5 min
Reach and readers4.3K
Периодически встречаю на хабре статьи, рассказывающие как добиться успеха. Все они рабочие, все они приводят к успеху (хотя бы самих авторов). Хочу поделиться и я рассуждениями на тему успеха вообще и в бизнесе в частности.
Читать дальше →

Микроапплеты

Reading time1 min
Reach and readers596
В своей прошлой статье — Микрохостинг микросайтов увжаемый ainu сказал:

Мне было бы приятно увидеть использование микросайтов где-нибудь ещё. Технология не моя лично. Она должна быть достоянием общественности.

Чтож, сказано — сделано. :-)

Представляю вашему вниманию следующий виток микросайтинга — микроапплеты.

Микроапплеты сделаны на основе микросайтинга, но в отличие от последнего больше похожи на выполнение программ. Т.е. это и есть программы, которые могут быть выполнены в … комментариях. Действительно, предложенных ainu механизмов вполне хватает — не только для создания микросайтов, а для реализации своего рода виртуальной машины, у которой есть оперативная память в виде сессии, и программа в виде php-скрипта.

И в качестве примера такого приложения я сделал реализацию всем вам хорошо известной игры — Сапер.

В комментарии!

RIA JsClasses Integrator: Оптимизируем разработку на JavaScript

Reading time4 min
Reach and readers1.3K
RIA JavaScript Classes IntegratorЧем ближе Ваш сайт приближается к концепции Web2.0 тем больше JavaScript-кода появляется на Ваших страницах. Очевидно, что разработчику все больше времени приходится тратить на интеграцию своего серверного кода на php/java/python… с клиентской частью на JavaScript.

Большое количество кода требует какой-то систематизации, например, разнести логически связанные части кода по разным файлам, имена файлов привязать к контроллеру/событию/блоку… Наверняка у многих разработчиков есть свое решение этой проблемы.
На Хабре, например, JS-код разбит на небольшие блоки, которые запрашиваются в зависимости от страницы. Код написан красиво, откоментирован, стоят отступы. Небольшой минус такого подхода большое количество блоков (около 25) на каждой странице. В начале я использовал похожую схему, но сейчас, все же, хочу представить хабрасообществу немного другой подход.

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

10 jQuery скриптов для улучшения интерфейса

Reading time3 min
Reach and readers11K
С рассветом WEB 2.0 получили развитие и javascript фрэймворки, позволяющие вебмастеру делать динамические элементы сайта гораздо быстрее и проще. Одним из таких фреймворков является jQuery, получивший огромную популярность за свою простоту и невероятно малый вес. Итак, представляю вашему вниманию 10 наиболее полезных скриптов jQuery для улучшения интерфейса вашего сайта.
Читать дальше →

Создание PDF в CodeIgniter c помощью R&OS pdf class

Reading time4 min
Reach and readers3.3K
Существует довольно большое количество PHP библиотек для создания PDF файлов, например такие как FPDF, Panda и dompdf, но наиболее лучшая, на мой взгляд, это R&OS pdf class. Я впервые узнал о ней из книги PHP Anthology. Я пробовал другие библиотеки для создания PDF, некоторые работают только на PHP5, некоторые на более ранних версиях, но ни одна из них не предоставила мне такого же контроля и легкости в использовании, как R&OS. И поэтому я использую этот класс в своем примере.
Читать дальше →

Защита PHP скриптов от копирования — это возможно?

Reading time4 min
Reach and readers42K
Бывает так, что вам неохота предоставлять исходные коды проектов, которые вы разрабатывали. Для этого можно использовать программы-обфускаторы, о которых недавно шла речь.

А бывает, что вам не так хочется закрыть исходный код, как защитить скрипт от копирования. На мой взгляд, сокрытие исходного кода, в большинстве случаев, не имеет смысла без защиты от копирования.
Читать дальше →

Использование OpenType в Веб-Типографике

Reading time4 min
Reach and readers1.4K

Идея


Недавно пришла в голову такая идея: почему OpenType не поддерживается напрямую в современных браузерах и как получить текст, восприимчивый к OpenType фичам но не являющийся в то же время картинкой?
Читать дальше →

Баланс

Reading time7 min
Reach and readers1.1K
До недавних пор база данных нашего ресурса обслуживалась на пару двумя серверами: Bonnie и Clyde. Clyde — основной сервер проекта, отвечающий на все запросы, Bonnie — сервер, поддерживающий базы других проектов и слейв-клиент базы суперхабра.

Clyde хорошо справляется со своим делом, была проведена большая работа по оптимизации базы, так что он вполне перемалывал все обращения при генерации миллиона с лишним документов в сутки. Однако, в моменты непредсказуемых пиковых скачков нагрузка время от времени переваливала за допустимые пределы.

Учитывая постоянно растущий объём данных и нагрузку, настала пора предпринять шаг в сторону масштабирования аппаратных ресурсов базы данных.

что из этого вышло

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity