Search
Write a publication
Pull to refresh
26
0
Джагаев Давид @1eon

User

Send message

Тест простоты числа регулярным выражением

Reading time3 min
Views12K
Я видел множество проблем, связанных с регулярными выражениями, но в прошлую пятницу, спасибо Крису и Шону я нашел одну регулярку, которая позволяет проверить, является ли данное целое число простым. Оригинальные статьи предлагали следующее регулярное выражение для определения простоты числа:

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

Параллельный импорт данных

Reading time8 min
Views3.6K
Представим, что у нас есть некоторый набор задач, допускающих возможность параллельного выполнения. К примеру, нам нужно организовать RSS-агрегатор, обновляющий через заданный промежуток времени все свои ленты. Понятно, что основное и при этом вполне ощутимое время будет уходить на загрузку данных с удалённого источника. Учитывая это, организация такого импорта путём последовательной загрузки лент лишена смысла, так в случае сколь-либо большого количества лент, импорт не будет укладываться в отведённые ему сроки.
Читать дальше →

Evercookie — самые устойчивые куки

Reading time1 min
Views75K
Samy Mamkar разработал систему, которая позволяет хранить куки в 8 местах, автоматически восстанавливая друг друга, и даже добиться того, чтобы куки, поставленное в одном браузере, действовало и в другом.

Удалить это куки практически невозможно! (Все возможно, конечно, но слишком много мороки)

Куки хранятся в:
  • HTTP Cookies;
  • Local Shared Objects (Flash);
  • Сохранение куки в значениях RGB автосгенерированных и форсированно кэшированных PNG с использованием HTML5 canvas;
  • Сохранение куки в Web History;
  • HTML5 Session Storage;
  • HTML5 Local Storage;
  • HTML5 Global Storage;
  • HTML5 Database Storage через SQLite.

При удалении из одного из этих мест кука автоматически восстанавливается из оставшихся. Работает даже если пользователь сменит браузер (через Local Shared Objects из Flash).

Описание (на английском) и демо: http://samy.pl/evercookie/.
Попробуйте удалить куки, почистить систему и зайти назад.



Как пользоваться?
Читать дальше →

Изобретайте велосипед часто

Reading time2 min
Views2.1K
Переводчик не несет ответственности за несовпадение мнения автора с точкой зрения читателя

«Просто используйте то, что существует — это глупо, изобретать колесо...»

Вы когда-нибудь это слышали в том или ином виде? Конечно, слышали! Каждый разработчик и студент часто слышит нечто подобное. Почему? Почему изобретать велосипед так постыдно? Потому что, чаще всего, существующий код — рабочий код. Он уже прошел через какой-то контроль качества, тщательное тестирование, и в настоящее время успешно используется. Кроме того, время и усилия, вложенные в изобретение обычно не окупаются так же, как при использовании существующего продукта или кодовой базы. Нужно ли заморачиваться изобретением велосипеда? Зачем? Когда?
Читать дальше →

Всё по $100. Кто будет первым покупателем?

Reading time1 min
Views707





Встречаются два «новых русских». Один другому:
— Гляди, галстук купил! Двести баксов отдал!
— Дурак ты — вон за углом такие же по пятьсот!



Был захвачен безумной идеей по реализации указанного в анекдоте принципа.
Решил провести социально-психологический эксперимент и создать Интернет-магазин на базе пиарившегося недавно ПростоПринта.
Когда этот Интернет-магазин совершит свою первую продажу? Кто будет первым покупателем?

Под катом описаны проведённые мероприятия. В комментариях жду ваших прогнозов.
Читать дальше →

Гадание на информационном шуме

Reading time4 min
Views7.2K
Есть довольно обоснованное мнение, что в будущем человечество рискует захлебнуться в лавине информации, которую само же и производит ударными темпами. И что для дальнейшего нашего развития все большую и большую роль будет играть алкоголь умение управлять этой лавиной. И речь здесь идет не только о разделении потока информации на нужное и ненужное, но и о способах заставить даже «белый шум» приносить пользу.

Шаги в эту сторону делают и ученые из HP Social Computing Laboratory в Пало-Альто, Калифорния. Например, на днях ее сотрудники Ситарам Азур (Sitaram Asur) и Бернардо Хуберман (Bernardo A. Huberman) опубликовали интересную работу. В ее рамках они взялись использовать всем известный Twitter для… предсказания будущего. Правда, недалекого.

А если все же отказаться от туманных цепляющих фраз в стиле желтой прессы, то в работе говорится о прогнозировании кассовых сборов кинофильмов до их выхода в прокат. Точность прогноза, основанного на анализе обсуждения фильма в твиттере, оказывается выше, чем у принятого в качестве «золотого стандарта» в киноиндустрии рейтинга Hollywood Stock Exchange. Который, в свою очередь, представляет собой побочный продукт онлайн-игры, участники которой могут за игровые деньги покупать и продавать виртуальные «акции» актеров, режиссеров, фильмов и т.д. В свое время этот рейтинг также стал настоящим прорывом.
Читать дальше →

Замыкания в php

Reading time10 min
Views48K
Не секрет, что в PHP 5.3 был введен ряд интересных новшеств. Разной степени полезности и скандальности. Возможно даже, что выпуск PHP 5.3 — хорошо спланированный PR-ход: самый большой список изменений за последние пять лет, оператор goto (sic!), пространства имен (namespaces) с синтаксисом «не как у всех», позднее статическое связывание (late static binding), более-менее честные анонимные (лямбда) функции (lambda functions), замыкания (closures).
Читать дальше →

Репликация в PostgreSQL 8.x: упрощаем работу со Slony

Reading time4 min
Views6.6K

Предисловие


Доброго времени суток. Так уж исторически сложилось, что из коробки Postgresql 8й ветки(а светлое будущее с 9й в стейбле еще не наступило) не имеет системы репликации. Поэтому для этих целей написан внешний инструмент — Slony1.
Читать дальше →

HDR видео с помощью двух 5D Mark II

Reading time1 min
Views7.1K
От переводчика: Поясню, почему мне этот топик интересен. Во-первых, я сам когда-то занимался HDR фотографией. А во-вторых, когда зеркалки стали снимать видео, я был поражен, как одна профессиональная фуллфреймовая зеркалка с набором хороших линз может порвать профессиональные видеокамеры. Теперь это объединили: двумя зеркалками сняли видео, и сделали из этого HDR. Мне кажется, это достойно того, чтобы перевести и показать вам...

image
Давайте посмотрим, что из этого получилось...

Бюджетная маркерная доска

Reading time2 min
Views130K
Что такое маркерная доска и с чем ее есть, наверное, в курсе уже все. И этот пост — о варианте самодельной доски. Сделать такую штуку в нашем офисе меня сподвиг офис Яндекса, с их стенами, обклеенными пленкой, по которой можно писать маркером. Не прошло и месяца, как я решил
исполнить желание...

Работа с http через неблокируемые сокеты

Reading time7 min
Views9K
Понадобилось сделать несколько параллельных http запросов на php. Интуиция подсказывала что делается это через неблокируемые сокеты. В интернете в общем то есть несколько готовых классов для работы с ними, но как всегда захотелось легкости и простоты, поэтому был срочно изобретен новый велосипед. Под катом чуть больше 100 строк кода с комментариями и пример использования.

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

Функция echo в PHP может выполняться более 1 секунды

Reading time6 min
Views14K

Или об особенностях управления отдаваемым контентом в PHP.


Поводом для данной статьи послужило двухдневное исследование, результаты которого показали, что безобидные по своей производительности функции echo и print на самом деле могут работать очень долго и их производительность зависит от качества интернета конечного пользователя.

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

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

Эмуляция многопоточности в PHP

Reading time10 min
Views30K
Суть многопоточности (для приложения) состоит в том, что процесс может состоять из нескольких (однотипных) потоков, выполняющихся «параллельно», то есть без упорядочивания по времени — выполнился один, пошел следующий. Использование многопоточности позволяет ускорить выполнение задачи и/или снизить нагрузку, таким образом, улучшая быстродействие самого приложения.

PHP относится к языкам, в которых поддержка многопоточности отсутствует. Но, есть немало задач, в которых она была бы очень полезна. Как правило, это задачи, в которых одно действие нужно выполнить много раз, но с различными параметрами, причем само действие настолько ресурсоемко, а количество итераций настолько велико, что обычный цикл использовать невозможно.

Я рассмотрю простой пример, как можно достичь эмуляции многопоточности в PHP.
Читать дальше →

Внутри MP3. А как оно всё устроено?

Reading time5 min
Views111K


Однажды мне понадобилось решить простенькую (как мне тогда казалось) задачу – в PHP-скрипте узнать длительность mp3-файла. Я слышал о ID3 тегах и сразу подумал, что информация о длительности хранится либо в тегах, либо в заголовках mp3-файла. Поверхностные поиски в интернете показали что за пару-тройку минут решить эту задачу не получится. Поскольку от природы я довольно любопытен а время не поджимало — решил не использовать сторонние инструменты а разобраться в одном из самых популярных форматов самостоятельно.

Если Вам интересно, что там внутри – добро пожаловать под кат (трафик).
Читать дальше →

Как поймать «поток», и как сделать так, чтобы он не сорвался

Reading time6 min
Views49K

Вступление


Я, как руководитель проектов, всё больше и больше замечаю, что эффективность работы команды (и каждого программиста в частности) – это ключевой фактор, определяющий успех проекта. При эффективной работе даже самые тяжёлые проекты со сжатыми сроками удаётся завершить успешно, а неэффективная способна «завалить» простейшие проекты с минимумом рисков. Поэтому, я хотел бы поделиться своими мыслями об одном из ключевых понятий – понятии «работы потоком».

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

Самый главный алгоритм

Reading time1 min
Views4.7K
От всей души рекомендую видео лекцию А. Степанова (человека создавшего STL): «о истории алгоритма нахождения наибольшего общего делителя», это популярная лекция оказалась бесконечно интересной, в ней рассказывается, на примере этого алгоритма о развитие алгоритмического знания всего человечества с эпистемологической точки зрения в разрезе истории с античных времен с Пифагора до наших дней до Кнута.

image
Посмотреть можно здесь:
часть1
video.yandex.ru/users/ya-events/view/129
часть2
video.yandex.ru/users/ya-events/view/128
Читать дальше →

Что такое эффект якоря и как вы можете его использовать

Reading time4 min
Views70K
На написание данной заметки натолкнула одна интересная статья “Anchoring effect”. Однако это совсем не перевод, так как в тексте встречается много лишней информации и исследований в духе «Британские ученые доказали…» Это скорее творческая интерпретация.

В статье описывается один очень важный психологический эффект – эффект якоря или эффект привязки.

В чём секрет?


Когда вам говорят «Только не думай о розовой обезьяне» — вы начинаете о ней думать. Но это пустяки, по сравнению с подсознательным смещением в восприятии числовых показателей.

Чтобы что-то оценить, нам необходима отправная точка, некий якорь – что-то вроде «розовой обезьяны».

Например, если спросить – сколько человек составляет население Венесуэлы, что вы скажете? Растеряетесь и задумаетесь. А если задать вопрос: «Население Венесуэлы больше или меньше 65 млн?». Вопрос приобретает иной окрас, и ваш мозг подсознательно начинает опираться на упомянутую цифру, даже если она взята «с потолка». Какой ответ вы дали в первом и втором случае? Во втором случае названное число будет намного больше, чем в ответ на первый вариант вопроса.
А между тем – в Венесуэле живет всего 28 млн человек.

Неоднократные исследования показали, что наш мозг всегда цепляется за подобные якоря, намек на которые нам дают обстоятельства, причем абсолютно любые.
Читать дальше →

Обзор нескольких новых плагинов jQuery

Reading time4 min
Views6.4K
Довольно часто я наступаю на одни и те же грабли. Стараясь выполнить какой-нибудь проект побыстрее, я с головой ухожу в реализацию необходимой функциональности. А через неделю, мне на глаза обязательно попадается описание библиотеки, фреймворка или плагина, воспользовавшись которыми, я мог бы выполнить свою часть работы в разы быстрее. В общем, сейчас я стараюсь быть в курсе готовых решений в интересующих меня областях. В последнее время мне часто приходится работать с javascript и поэтому, сейчас я уделяю особое внимание библиотеке jQuery и ее плагинам. Должен сказать, что упускать из виду такое разнообразие готовых решений просто нельзя. Данная статья сделана на основе обзора «50 Awesome New jQuery Plugins», который я прочитал пару дней назад.
Читать дальше →

Сенсорный выключатель — в каждый светильник

Reading time3 min
Views87K

Случилось так, что мы с женой купили светильники, чтоб поставить на тумбочках возле кровати. И всем были хороши светильники, кроме одного — выключатель у них был только на шнуре, и чтоб выключить или включить его — приходилось бы лезть за тумбочку в поисках этого выключателя. Поэтому решил я светильники модернизировать, но не тут то было — жена запретила мне их сверлить, мол испортишь внешний вид, они денег стоят! Ну я ее конечно понимаю, после моих экспериментов по переделке люстры… но тут история не об этом.
Тогда решил я, что надо ставить в светильники сенсорные выключатели — для них дырок сверлить не надо, да и просто — идея включать свет прикосновением очень понравилась.
Читать дальше →

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Registered
Activity