Pull to refresh
30
Karma
0
Rating
Кудряшов Александр @BlackTheMad

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

WebRTC #1 — Знакомимся

Только учитывайте, что для полноценной работы нужен еще TURN сервер (релей), потому что по статистике до 10% пользователей живут за NATом, который не позволит UDP hole punching.
А про p2p компонент лучше читать на сайте libjingle, webrtc использует именно его.

Сколько памяти потребляют объекты в PHP и стоит ли использовать 64-битную версию?

Перед тем как переписывать весь проект на С++, проще попробовать hiphop. Он позволяет ощутимо выиграть в производительности, не переписывая систему с нуля. У него навалом подводных камней (нет поддержки для разных новый фич php, нет многих модулей), но для больших проектов, на мой взгляд, это более адекватный выход.

Реальное применение WebRTC в сервисах IP-телефонии

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

Какая команда в консоли отнимает у вас больше всего времени?

А у меня самая часто используемая команда — это ack
Есть прекрасная утилита huffshell, которая анализирует историю команд и советует какие алиасы создать, исходя из частоты использования.
Причем она учитывает всякие ключи при вызове, т.е. она предлагает 'ack' -> 'a', 'ack -i' -> 'ai' и т.д.

Корпус для домашнего сервера/NAS

Вот более или менее нормальные обзоры:
StorageReview
AnandTech

«Hola, яблочные гаджеты!»

О чем этот пост?..

Создание «API-Centric» Web Application на PHP

Мне кажется, что надо побольше кода запихать в try...catch, вдруг там html будет глючить или там у пользователей куки выключены…

Vim+Python. Для начинающих

Ну а тем, кто полюбил TextMate за CommandT понравится соответствующий плагин для вима. На мой субъективный взгляд, он более удобен, чем FuzzyFinder.

Скачиваем видео с YouTube

Видимо, мы с разных ютубов качаем =) У меня это прокатывало с абсолютно всеми сайтами, где выкладывается видео.

Скачиваем видео с YouTube

Как-то сложно, достаточно открыть страницу с видео, переключить на нужное разрешение и посмотреть во вкладке Developer Tools -> Network (Safari, Chrome) адрес, который упрямо продолжает загружаться, хотя вся страница уже готова. Скопировать его и скормить, например curl. Ну это если не надо скачивать видео в промышленных масштабах.

Работа с памятью (и всё же она есть)

Ёлочки в Mac OS:
« — Alt + ъ
» — Alt + Shift + ъ

Всесторонняя оптимизация сайта на WordPress

У Расмуса Лердорфа есть презентация PHP Performance, где он препарирует WordPress и показывает, что можно с ним сделать. В том числе с помощью HipHop for PHP.

Госдума представила доходы депутатов в новом виде

Картинки Филла всегда приятно плюсовать =)

Как я уехал в Италию заниматься исследованиями по Computer Science

По европейским меркам 290 € за жилье — это копейки. У меня знакомые учились в Париже, Мадриде и Делфте (Нидерланды), какую-то общагу предоставляли только Нидерландах и стоила она 400, а в Мадриде и Париже людям приходилось снимать комнаты (~400 и ~550 соответственно). При стипендии в 1100 или около того.
И да, те у кого нет связей могут попробовать через Erasmus Mundus, те самые знакомые уезжали именно по этой программе. Но там хорошо бы иметь высокий средний балл, TOEFL и грамотное мотивационное письмо.

Приглашения на закрытые зарубежные трекеры обучающей тематики (Часть II)

Буду благодарен за BitSpyder и MyAnonaMouse.
На демоноиде ratio 7.39, up 1.11TB proof

Продуктивная работа в vim с использованием snipMate

Единственная проблема с этим плагином в том, что сниппеты идут в том же репозитории, что и плагин. Если использовать менеджеры пакетов (например, VUB, который писался под Pathogen), то надо форкать репозиторий, чтобы дописывать свои сниппеты.

Реализация нечеткого поиска

Да, конечно, соглашусь «i << 1» это перебор, это скорее привычка так писать.
И про две строки матрицы — тоже хороша идея, мы не делали токого рада оптимизаций, потому что пока производительность нас устраивает.

> Плюс код не потокобезопасен.
Зачем использовать этот объект в нескольких потоках? Вы сэкономите совсем немного памяти и получите расходы на синхронизацию.

> Да и если вы используете soundex, то…
Мы совсем его не используем.

> 8 миллисекунд на запрос к базе из 2.5к слов — это пугающий результат. Масштабируемость у вас линейная и всего 312к слов дадут секунду на запрос.
Да, вы правы, но в нашем случае словарь не будет линейно расти с ростом числа заведений в базе и врядли достигнет такого размера.
Если уж словарь большой сперва можно воспользоваться n-граммным индексом.
Ну и конечно в коде много мест которые можно пооптимизировать, наподобии двух строк матрицы про которые вы написали )

А каким индексом вы пользовались при поиске по базе ДНК? У вас все влезало в память или кешировали часть данных?

Реализация нечеткого поиска

Приведете пример с транслитерацией? мы посмотрим

Реализация нечеткого поиска

Базовый словарь places и places-index формируется на основании описаний заведений которые забиваются руками.
places хранит данные которые мы возвращаем в качестве результатов, по сути мы по нему не ищем.
places-index формируется на основании кириллическоего и/или английского названия заведения + набора синонимов.

Каждую фразу (вариант названия) перед загрузкой в индекс мы пытаемся расширить так:
1. Если фраза содержит '-' (например му-му), то создадим два варианта — без '-' и с заменой на пробел.
2. Если фраза содержала русские символы то дополнительно создадим тринслитерированный вариант

например для му-му получим:
му-му => { муму, му му, mumu, mu mu }

Для кириллицы мы объединили только (а, о, у) и (е, и)

Information

Rating
Does not participate
Location
Barcelona, Barcelona, Испания
Date of birth
Registered
Activity