Понадобилось сделать несколько параллельных http запросов на php. Интуиция подсказывала что делается это через неблокируемые сокеты. В интернете в общем то есть несколько готовых классов для работы с ними, но как всегда захотелось легкости и простоты, поэтому был срочно изобретен новый велосипед. Под катом чуть больше 100 строк кода с комментариями и пример использования.
fStrange @fStrange
User
Тудулист для менеджеров
3 min
2.6KСуществует большое количество систем самоорганизации и управления задачами. Я перепробовала многие из них, но всегда сталкивалась с одними и теми же проблемами:
Я воевала с тудулистами до тех пор, пока не решила сменить работу, и мне не пришлось написать большой документ «Передача дел» для всех моих проектов.
- Неактуальные задачи в моём тудулисте
Делаешь декомпозицию объёмной задачи на много-много подзадач, а потом оказывается, что эта задача решается гораздо проще другим путём.
Обновлять тудулист после этого неприятно.
- Неучтённые задачи
Что-то делаешь мимоходом: например, разговорившись с коллегой за кофе, случайно решаешь много вопросов по своему проекту.
Понятно, что в тудулист эта задачка никогда не попадёт.
- За деревьями не видно леса
За кучей мелких задач по проекту теряешь из виду его глобальную цель, его дипломатический контекст. Через какое-то время трудно приоритезировать стратегические задачи (и поэтому занимаешься сплошной текучкой), теряются взаимосвязи между задачами.
Я воевала с тудулистами до тех пор, пока не решила сменить работу, и мне не пришлось написать большой документ «Передача дел» для всех моих проектов.
+6
Установить время выполнения консольной команды
3 min
4.4KДовелось однажды писать скрипт, который в процессе своей работы пробегал по списку видео файлов и для каждого запускал ffmpeg с ключом, позволяющим получить информацию о файле. Мне собственно требовалось время воспроизведения.
Все бы хорошо, да вот на одном файле ffmpeg подвисал и не думал завершаться, а в момент завершения отваливался и php скрипт без видимых на то причин.
После долгих поисков решения данной проблемы, был найден код, который после небольшой переделки я готов представить на ваш суд :)
Все бы хорошо, да вот на одном файле ffmpeg подвисал и не думал завершаться, а в момент завершения отваливался и php скрипт без видимых на то причин.
После долгих поисков решения данной проблемы, был найден код, который после небольшой переделки я готов представить на ваш суд :)
+23
TAG_ADD Plugin
3 min
1.1K![](http://s3.amazonaws.com/floomby/8_3_2009/YCE6ZcsXk6nZodWxPqQyA.png)
Как-то раз мне пришлось писать форму для добавления постов в блог. Помимо стандартных полей (название, дата, текст и.т.д.) необходимо было привинтить юзабельную форму добавления тегов.
Т.к. я кодю в jQuery, то и выбор был однозначным.
Вот необходимые задачи, которые я поставил перед собой:
- Легко в настройке
- Все теги храняться в одном файле (в кэше)
- Минимальная нагрузка на сервер и клиента
- Список тегов — подсказок открывается только для выбранного запроса на определенный тег.
+45
Анимированные меню на jQuery
6 min
5.4KTranslation
![](http://www.shopdev.co.uk/blog/images/dragonI.png")
Смотрим демо
+126
Поиск нечетких дубликатов. Алгоритм шинглов для веб-документов
4 min
45KРанее я показал элементарную реализацию алгоритма шинглов, позволяющую определять, являются ли два документа почти дубликатами или нет. В этот раз я поясню реализацию алгоритма, описанную Зеленковым Ю. Г. и Сегаловичем И.В. в публикации «Сравнительный анализ методов определения нечетких дубликатов для Web-документов».
Этим я начинаю серию из трех теоретических статей, в которых постараюсь доступным языком описать принцип алгоритмов шинглов, супершинглов и мегашинглов для сравнение веб-документов.
Этим я начинаю серию из трех теоретических статей, в которых постараюсь доступным языком описать принцип алгоритмов шинглов, супершинглов и мегашинглов для сравнение веб-документов.
+51
Кешируем блоки HTML при помощи nginx
3 min
7.1KНе секрет, что пользователи любят, когда контент на сайте обновляется чаще, чем раз в год. Эту любовь пользователей к динамическим страничкам разделяют и поисковики. Google, например, умеет определять наличие обновляющихся блоков на страничке и добавляет ей немного кармы (читай, PR).
Однако динамический контент довольно плохо сочетается с большими нагрузками. Для веб-сервера, отдача статической странички — намного более простая задача, чем запуск кода, который сгенерит эту страничку динамически. В некоторых случаях может выручить прегенерация всех возможных вариантов странички, но это не спасёт, если их слишком много, или страница обновляется слишком часто.
Однако динамический контент довольно плохо сочетается с большими нагрузками. Для веб-сервера, отдача статической странички — намного более простая задача, чем запуск кода, который сгенерит эту страничку динамически. В некоторых случаях может выручить прегенерация всех возможных вариантов странички, но это не спасёт, если их слишком много, или страница обновляется слишком часто.
+79
Простое сравнение изображений с помощью php
3 min
27KАлгоритм возможно не новый, и не является идеалом, но, на удивление, работает. Никаких графов и корелляции.
Для начала, стоит отметить, что сравнение очень приблизительно (по крайней мере, на данном этапе), временами две совершенно разные фотографии оказываются похожими процентов на 60%, так же не учитываются жесткие модификации (повороты, инверсия, обрезка) – для этого нужно доводить и доводить. Лично для меня самым главным оказались два параметра: скорость, независимость от разрешения изображения и возможность сравнивать «изображения» прямо в базе данных.
Для начала, стоит отметить, что сравнение очень приблизительно (по крайней мере, на данном этапе), временами две совершенно разные фотографии оказываются похожими процентов на 60%, так же не учитываются жесткие модификации (повороты, инверсия, обрезка) – для этого нужно доводить и доводить. Лично для меня самым главным оказались два параметра: скорость, независимость от разрешения изображения и возможность сравнивать «изображения» прямо в базе данных.
+145
Information
- Rating
- Does not participate
- Registered
- Activity