Как стать автором
Обновить
0
Nc_Soft @Nc_Softread⁠-⁠only

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

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

Акинатор и математика

Время на прочтение6 мин
Количество просмотров110K
На Хабре уже несколько раз всплывала тема Акинатора, в том числе и с тегом не знаю как оно работает. Я на него наткнулся недавно и, разумеется, был восхищен. Затем, как вероятно и многим другим, мне в голову пришла мысль: «А как же это работает?» Ответа на этот вопрос я нигде не нашел, а потому задался целью написать аналогичную по функциональности программу, разобравшись по ходу дела что к чему.
Читать дальше →
Всего голосов 103: ↑95 и ↓8+87
Комментарии78

mod_rewrite — просто о сложном

Время на прочтение4 мин
Количество просмотров63K

Что это такое?


mod_rewrite — это модуль для веб-сервера Apache, предназначенный для преобразования URL-ов. Модуль использует в своей работе правила, которые могут быть описаны как в конфигурации сервера (httpd.conf), так и в файлах .htaccess непосредственно в файловой структуре Вашего сайта. Правила описываются в виде регулярных выражений PCRE

Hello world


Простейший пример. Допустим, Вы захотели, чтобы никто не знал, что Ваш сайт написан на PHP и решили замаскировать расширения файлов. Можно, конечно, внести соответствующую директиву в конфигурацию Apache и тогда все файлы с расширением ".msl" («My Super Language») будут обрабатываться интерпретатором PHP. Но можно поступить проще:
создаем в корне нашего сайта файл .htaccess со следующим содержимым
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)\.msl$ $1.php [QSA,L]


Первая директива включает механизм mod_rewrite в текущей папке и во всех ее подпапках. Вторая указывает модулю mod_rewrite, что текущая папка в файловой системе соответствует корню сайта. Третья — непосредственно правило преобразования URL.

Прочесть его можно так:
Если сразу после начала строки ("^") идет произвольное количество любых символов ( "(.*)" ), причем мы хотим запомнить, что именно это за символы, окружая их скобками, затем идет точка ("\.") (экранируем точку, потому что одиночная точка — это просто любой символ), затем символы «msl» и на этом строка заканчивается ("$"), то заменим исходный URL на следующий: возьмем первую запомненную подстроку в скобках из правила, прибавим к ней ".php", добавим все дополнительные параметры адреса, которые могли быть "[QSA]" и на этом закончим, не будем применять дальнейшие преобразования, если они есть "[L]"

Все, теперь Вы можете смело менять все ссылки, заканчивающиеся на ".php" на ".msl" и писать в своем блоге, что изобрели новый скриптовый язык. Apache, встретив ссылку на «index.msl» с помощью mod_rewrite на лету преобразует ее в «index.php» и вызовет нужный скрипт.

А что еще умеет mod_rewrite?


Читать дальше →
Всего голосов 45: ↑33 и ↓12+21
Комментарии12

Подключение Paypal

Время на прочтение7 мин
Количество просмотров6K
Вобщем поставили передо мной на работе задачу организовать прием платежей в наш проект через Paypal. От меня требовалось дать все необходимые данные для настройки аккаунта (сам аккаунт настраивался другим человеком), ну и, собственно, написать скрипт, который и будет принимать данные от paypal-а и начислять деньги юзерам.

Ничего толкового по этой теме на хабре я не нашел. Пришлось разбираться со всем самому. Ниже – результаты этих разбирательств:)
Читать дальше →
Всего голосов 49: ↑41 и ↓8+33
Комментарии40

Маленький планировщик на php с технологией ajax

Время на прочтение1 мин
Количество просмотров1.2K
Недавно нашел в сети скрипт простого но очень удобного TODO-шника, скрипт работает на php+ajax как с MySQL так и без него.

image

Актуальная версия на текущий момент — myTinyTodo v1.3.2

Возможности
Поддержка нескольких списков
Заметки к задачам
Тэги, облако тегов.
Срок выполнения задачи
Приритеты задачи (-1, 0, +1, +2)
Сортировка задач перетаскиванием, по приоритету, по дате исполнения
Поиск
Защита паролем
Smart syntax для быстрого добавления задачи (пример: /+1/ Задача /Теги/)
Адаптированные стили для печати и мобильных устройств

Демка — http://www.mytinytodo.net/demo/

Подробнее на сайте автора — www.mytinytodo.net/
Всего голосов 23: ↑17 и ↓6+11
Комментарии12

Рисуем интерактивные графики с помощью Flot php и mysql

Время на прочтение5 мин
Количество просмотров4K
image
Работая долгое время с разными системами мониторинга я очень полюбил строить всякого рода графики. Некоторое время меня выручал rrdtool, но всегда хотелось получить большую интерактивность, ради чего даже прикрутил к нему веб мордочку на php. Но однажды наткнувшись на графики от flot не смог пройти мимо. То о чем давно я давно мечтал — зум графиков без задержек на обновление страницы, всплывающие подсказки — все было тут.
Сразу предупрежу, что мой уровень в javascript ~ 0, и где-то 0,5 в php, так что target группа моего дальнейшего рассказа скорее админы, которые так же как и я блуждали в инете за поиском готового решения flot+mysql, потому как сам я такого в просторах сети не нашел.
Читать дальше →
Всего голосов 15: ↑11 и ↓4+7
Комментарии6

Способы разграничения доступов к файлам при помощи php+mysql+apache

Время на прочтение5 мин
Количество просмотров4K
Задача по разграничению доступа к файлам, которые хранятся на диске довольно редка, но она может возникнуть при написании: online-магазина, который торгует файлами или файлового сервера вроде rapidshare.de. В данной статье я рассмотрю 3-и способа разграничения доступа при помощи php, mysql и специальных модулей веб сервера apache.

Читать дальше →
Всего голосов 17: ↑11 и ↓6+5
Комментарии6

Использование нейронной сети Хопфилда для решения простейшей задачи

Время на прочтение9 мин
Количество просмотров12K
image В настоящее время достаточно интересной областью программирования является использование нейронных сетей. Не смотря на всю перспективность этой идеи, большинство реализаций которые я встречал были связаны с различным анализом статистических выборок и предсказанием возможного значения какого-либо параметра.

Разговоры об искусственном интеллекте и громоздких экспертных системах — это конечно все хорошо, но как всю эту теорию приблизить к жизни, к нашим приклодным задачам?
Читать дальше →
Всего голосов 72: ↑59 и ↓13+46
Комментарии29

С чем едят UserAgent

Время на прочтение5 мин
Количество просмотров7.2K

msdn_ua

Для начала, конечно, стоило рассказать зачем едят этот самый «пользовательский агент». Ну или, вообще, начать с того что же это за агент такой. (Кстати, никто не знает какой-нибудь славянско-православный перевод этого термина?)Но рассчитывая, что хабра юзер либо уже знает и использует useragent либо ему это не нужно, я бы не хотел останавливаться на предисловиях. И так, мой совет — употребляйте useragent с регулярными выражениями!

Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии14

Интернет-радио

Время на прочтение3 мин
Количество просмотров4.2K
последние несколько лет постоянно, часов по 10-16 в день, слушаю интернет-радио и вот небольшой список очень хороших, на мой взгляд, станций, которые постоянно развиваются и совершенствуются, выбирал те, которые меньше всего надоедают и их можно слушать очень долго:
Читать дальше →
Всего голосов 44: ↑37 и ↓7+30
Комментарии60

Социальная инженерия и социальные хакеры

Время на прочтение2 мин
Количество просмотров5.7K
image
Издательство: БХВ-Петербург, 2007 г.
Автор: Максим Кузнецов, Игорь Симдянов
Мягкая обложка, 358 стр.
ISBN: 5-94157-929-2
Книга на ozon.ru, books.ru


Все кто когда-то интересовался теорией и практикой взлома (неважно чего) прекрасно знают, самый уязвимый фактор в любой системе — это человек. Если вам интересно как «взломать» человека или просто заставить его действовать в ваших интересах, то эта книга для вас.
Читать дальше →
Всего голосов 45: ↑33 и ↓12+21
Комментарии57

Online сервисы по перебору паролей

Время на прочтение2 мин
Количество просмотров108K
Существует много причин использования таких сервисов, чаще всего или элементарная забывчивость или хакинг.

В свое время мне понадобилось перебрать пару хешей, поискал в интернете и на форумах, нашел кучу сервисов для этого, которыми хочу поделится.

Читать дальше →
Всего голосов 36: ↑28 и ↓8+20
Комментарии8

Как обойти каптчу в Яндекс.Диск

Время на прочтение2 мин
Количество просмотров2.4K
Итак, все мы знаем, что на яндексе можно хранить файлы до 5 гигабайт, но при загрузке он требует ввести каптчу или установить Яндекс.Бар. Так как Яндекс.Бар я не использую, то решил проверить, а собственно каким таким гениальным способом проверяет Яндекс этот самый пресловутый плагин?

Для этого эксперимента все-таки пришлось его установить на Firefox и используя плагин FireBug начать тестирование…
Читать дальше →
Всего голосов 48: ↑34 и ↓14+20
Комментарии23

cgwallpapers.com

Время на прочтение1 мин
Количество просмотров860
Осталось несколько дней платной подписки на данном ресурсе. Возможно здесь есть те, кто давно хотят заиметь для себя парочку обоин оттуда, но жаба душит отдавать 15 баксов за членство. Так вот, готов скинуть интересующие вас обои. Просто напишите имя автора, разрешение и какие именно его обои вам нужны, например: «Christian Hecker, 1680х1050, 1, 4 и 6.» (начинайте считать обои с правой части нижней строчки)
Вперед за халявой!
upd: выкладываю архив со всеми запрошенными в теме обоями. Качайте(habrapack.zip)
Всего голосов 28: ↑23 и ↓5+18
Комментарии57

Мудрость толпы и социальные сети

Время на прочтение7 мин
Количество просмотров10K
«Мудрость толпы» («МТ») — одно из важнейших понятий веба на сегодня, возможно, самое важное для социальных СМИ, но это и одно из наименее понятных явлений. Когда Джеймс Шуровьески написал книгу «Мудрость толпы» в 2004 году, он исследовал фондовый рынок и другие классические примеры социальной психологии, но среда «веб 2.0» тогда только начинала формироваться. Настало время найти применение его идеям относительно социальных сетей, там где они и смогут полностью раскрыться.

Теория МТ не означает, что люди становятся умнее в группах, совсем нет. Любой, кто видел разъяренную толпу, это подтвердит. Но коллектив, в которым присутствуют правильная постановка задачи и правильные внутренние связи, может стать мудрее. При этих условиях группа людей более мудра, чем любой её единственный участник.

Стандартный пример (на хабре уже проводилось в прошлом году 3 аналогичных испытания 1, 2 и 3): предположим, что у вас есть коробка с монетами. Спросите несколько сотен человек, сколько монет внутри. Когда вы подведете итоги опроса, возможно, что все предположения будут неправильными. Но если найти среднее арифметическое всех ответов, то результат будет достаточно близок к правильному.

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

Нужно знать всего несколько вещей, чтобы коллективный разум начал работать.
Читать дальше →
Всего голосов 12: ↑8 и ↓4+4
Комментарии11

Автоматизация скриншотинга, делаем сами

Время на прочтение2 мин
Количество просмотров1.5K
В этом наборе букв я расскажу про создание сервиса скриншотинга у себя на удаленном Linux-сервере.
Читать дальше →
Всего голосов 16: ↑13 и ↓3+10
Комментарии7

Собственный youtube

Время на прочтение3 мин
Количество просмотров2.9K
В Сети развелось довольно много видеохостингов типа youtube. Вот и одному провинциальному провайдеру захотелось у себя сделать такую вещь. С какой-то стороны — правильно, ибо почти у всех провайдеров в небольших городах толстые внутренние каналы (10-100-1000 мегабит) и тонкие внешние (5-10-20 мегабит), так что надо стремиться к тому, чтобы внутри было как можно больше популярных ресурсов — хотя бы для оптимизации загрузки внешнего канала, если не для привлечения клиентов.

Задача поставлена, сумма оговорена — надо делать. Вариант «писать свое» отметается сразу — долго, нудно, да и программистом я себя не считаю. Хотя, если хочется, то никто не мешает: проигрывание клипов — JW Player, загрузка файлов — на любимом языке реализуется без вопросов, перекодирование видео — зависит от выбранной платформы (mencoder есть где угодно). Но я не люблю изобретать велосипеды, а предпочитаю использовать готовые решения, так что пошел в гугл. Поиск принес несколько вариантов, как бесплатных, так и платных (от 10 евро и выше), но для начала решил попробовать самый популярный из бесплатных вариантов — phpmotion.

Читать дальше →
Всего голосов 22: ↑16 и ↓6+10
Комментарии21

Музыка: сетевые залежи

Время на прочтение6 мин
Количество просмотров1.8K
Процесс над Pirate Bay и его результаты — это повод задуматься о других способах получения контента. Если говорить о музыке, то самый простой способ — покупать ее в iTunes. Этот способ обладает существенным недостатком — он естественным образом ограничивает потребление музыки. Необходимость платить за каждый трек ведет к раздумьям о том, так ли он нужен. Существуют и другие варианты, которые не ведут к таким ограничениям. Это либо сервисы, где музыку можно слушать и качать бесплатно, либо сервисы с подпиской, где вносится единовременная плата, не зависящая от количества прослушанных композиций. Даже если это экономически не совсем выгодно, отсутствует элемент психологического давления: вы знаете, что прослушав еще один трек вы не заплатите лишних денег — и в этом смысле вы свободны, хотя и вынуждены платить за эту свободу деньги. В последнее время количество сервисов что первого, что второго типа стало возрастать. Ниже представлен краткий обзор нескольких таких сервисов, сделанный по материалам заметок автора и его коллег в издании «Руформатор»
Читать дальше →
Всего голосов 56: ↑49 и ↓7+42
Комментарии60

Транзакции InnoDB

Время на прочтение4 мин
Количество просмотров4.1K
InnoDB это транзакционный, реляционный движок работающий на основе MySQL сервера. Начиная с 2001 года он поставляется в стандартной сборке, а с версии 5.1 может устанавливаться в качестве плагина (без необходимости перекомпилировать ядро сервера). Синтаксис очень простой.
START TRANSACTION;
...
COMMIT; -- или же ROLLBACK; если что-то пошло в логике не так

Про определение


Определение транзакционности и реляционности значат во-первых значат полноценную связанность таблиц через FK и как следствие — целостность данных при удалении рядов. С MyIsam как известно приходилось вручную удалять связанные данные в нескольких таблицах, в InnoDB — каскадное удаление одним запросом. Во-вторых поскольку для БД немыслимы параллельные версии данных как в SVN и некому эти версии объединять в одну ветку, но при этом необходима параллельная работа нескольких процессов (пользователей) с одними данными, то в качестве решения становится транзакции.
Очередь из запросов-автомобилей теперь пополняется атомарной транзакцией-автобусом. Естественно это плохо, поскольку чем длиней и дольше выполняется транзакция тем больше параллельных процессов будут ждать его. Для ускорения работы создаются остановки — типы и уровни блокировки данных. Для InnoDB по умолчанию это блокирование на уровне строки (по PK), тогда как в MyIsam атомарная операция блокирует всю таблицу.

Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии2

В попытках придумать себе что-то эксклюзивное на футболку

Время на прочтение1 мин
Количество просмотров2.1K
Сидел, думал-думал, и вот что придумал:
image
Не подскажете, можно ли вот такой блюр напечатать на ткани, как на самом ярком сегменте прелоадера?

UPD: по заявкам трудящихся — narod.ru/disk/7507722000/t-shirt_preloader.PSD.html (не смотрите, что маленькое, там вектор и шрифты, так что тянется).

UPD 2: https://www.yousendit.com/download/UmNMZm1YTWN0NitGa1E9PQ (для тех, у кого не качается с народа).
Всего голосов 183: ↑164 и ↓19+145
Комментарии99

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность