• Асинхронная загрузка произвольного html
    +2
    4-5 рекламных блоков, визуально грузится быстрее.
    можно на nnm-club.ru посмотреть, сорри если реклама
  • Самая полная статистика по торрент-клиентам
    0
    и вообще говоря эту статью правильнее было размещать как перевод статьи с торрент-фрика полунедельной давности…
  • Самая полная статистика по торрент-клиентам
    +2
    вот только Xunlei не годится для приватных трекеров (коих в рунете, кстати говоря, большинство). он некорренктно посылает статистику на трекер, он всегда посылается в качестве «сколько байт отдано» то же самое что и «сколько байт скачано», и как бы всегда автоматически поддерживает ratio = 1. поэтому нормальные админы трекеров должны его банить.

    про GetRight уже точно не помню, но он тоже статистику не корректно посылает…
  • Идея расширения модификаторов доступа
    +2
    в Scala возможностей разделения видимости больше, там можно явно указать на каких именно уровнях будет он виден. в данном случае можно было бы написать private[system] для видимости в пакете com.system и ниже но не выше.
  • Завтра или послезавтра ожидается выпуск Firefox 3.6 Beta 1
    0
    вспомнил, ещё с тех пор ставил NDP35SP1-KB963707-x86.exe для убиения .Net framework assistant, без этого он только деактивировался, а удаляться не удалялся почему-то… насколько помню больше за последние пару недель никаких обновлений не ставил
  • Завтра или послезавтра ожидается выпуск Firefox 3.6 Beta 1
    0
    у меня rv:1.9.2b1) Gecko/20091014 Firefox/3.6b1
  • Завтра или послезавтра ожидается выпуск Firefox 3.6 Beta 1
    +1
    в данный момент сижу на Gecko/20091026 Minefield/3.7a1pre в нём абсолютно такая же картина, с неделю назад за полдня мог 400-600 метров выжрать, сейчас — выше 200 не поднимается в принципе
  • Завтра или послезавтра ожидается выпуск Firefox 3.6 Beta 1
    0
    а у меня буквально неделю назад в фф, как раз после установки предварительной 3.6 бета1, вдруг вообще перестала утекать память. после суток работы больше 200 метров не выжирается. чёрт знает почему так, вроде там какой-то мелкомягкий плагин заблокировался, может из-за этого? больше вроде бы ничего за это время не менял.
  • «OOC для C, — это как Scala для Java»
    0
    как настраивать десктопные приложения чтобы они в несколько раз быстрее запускались писали много, гугл в помощь. серверные приложения как раз и должны работать месяцами без перезагрузок. аппаратные сборщики мусора вроде тоже есть
  • «OOC для C, — это как Scala для Java»
    0
    1) речь идёт о приложениях, работающих месяцами. там принцип «лучше день потерять а потом за час долететь» работает.
    2) многие структуры данных типа связных списков используют крошечные объекты всего с несколькими указателями на другие объекты
    3) почитайте принципы работы G1, там для каждой достаточно большой области памяти хранится список её внешних ссылок, поэтому обходятся только они а вовсе не «вся память в поиске ссылок»
    4) сановская ява уже достаточно давно как опенсурсна, берите код сборщика из OpenJDK
  • «OOC для C, — это как Scala для Java»
    +1
    ява в любом случае дольше запускается и жрёт больше памяти, с этим никто никогда и не спорил.

    сборщики мусора, не останавливающие мир, есть, сейчас это стабильный CMS и в будущей версии будет G1.

    сборщик мусора может ускорить выполнение программы например из-за дефрагментации памяти. при сборке мусора (и только для Server VM) области памяти, ссылающиеся друг на друга, размещаются сборщиком мусора рядом, так что в будущем при обращении к одной области другая с большой вероятностью будет выбрана (prefetch) в кэш.
  • «OOC для C, — это как Scala для Java»
    0
    о, в 003-answer-args.ooc как раз передача функции, здорово (исходники — лушая документация, гы), только не совсем понятно зачем там ещё extern signal объявляется, осталось от прошлых версий?
  • «OOC для C, — это как Scala для Java»
    0
    м… что-то пролистав сайт я не нашёл никакой функциональщины. хотя бы передать функцию как аргумент можно, или только на уровне сишных указателей на функции? что там с хвостовой рекурсией (tail recursion), замыканиями (closure)?
  • «OOC для C, — это как Scala для Java»
    0
    а для веба у него есть что-нибудь? мини-http-server на нём написанный, FastCGI или веб-фреймворк какой? мне кажется сейчас это очень важно для развития языка, хотя и си считается языком «совсем не для веба», может быть оос сможет опровергнуть данное убеждение?

    у скалы, например, есть LiftWeb
  • «OOC для C, — это как Scala для Java»
    +1
    хм… если в языке будет меняться даже синтаксис — это вообще страшно. уж на что Scala — ей уже не один год, из них последние года 2 про неё очень много шуму, вышло 5 (если не больше) книг, есть поддержка всеми IDE, и то при использовании в реальных проектах ошибок в базовых библиотеках вылазит слишком много. а в следующей версии 2.8, похоже, изменения будут настолько велики, что старый код перестаёт компилироваться.

    так что раньше версии 1.0, бумажной книжки и поддержки в IDE трогать его боязно.
  • «OOC для C, — это как Scala для Java»
    +1
    со Scala сравнивать имхо не совсем корректно, ибо кто хочет компиляции в байткод JVM и всех ява-библиотек — выберет скалу. а для embedded вещей она не подойдет, когда критично время старта, размер, или просто хочется native кода. в остальном же они очень похожи, да. а окамль тоже native-компилируется, я его поэтому вспомнил.

    синтаксически мне не очень нравится паскалевское ":=" присваивание, но наверное можно привыкнуть
  • «OOC для C, — это как Scala для Java»
    +1
    с одной стороны интересно если из этого что путное выйдет, ибо выглядит очень вкусной.
    с другой — есть же OCaml например…
  • Swarm: язык распределённых вычислений в облаке
    0
    скорость выполнения у JVM (а Scala компилируется в Java-байткод) сравнима с C++, кто из них быстрее — тема бесчисленных холиваров.
  • Swarm: язык распределённых вычислений в облаке
    0
    ну не знаю, в последней стабильной 2.7 немеряно утечек памяти в actors, даже банальный List.equals может вылететь со Stack Overflow Exception, в HashMap вообще ужас что творится.

    окей, в 2.8 всё это будет исправлено, но сама 2.8 настолько сырая, настолько значительно меняется, что использовать её невозможно. по масштабам изменений тянет больше на 3.0 чем на 2.8. боюсь с 2.7 она будет не совместима, вплоть до того что код, который компилировался на 2.7 не будет компилироваться на 2.8.
  • Java-головоломка: Капитализация слов в строке за одно java-выражение
    +2
    В одно выражение:

    String strRes = (new java.util.StringTokenizer(strOrig, " ", true) {
        public String toString() {
            StringBuilder sb = new StringBuilder();
            while (hasMoreTokens()) {
                String token = nextToken();
                sb.append (Character.toUpperCase(token.charAt(0)));
                sb.append (token.substring(1));
            }
            return sb.toString();
        }
    }).toString();
  • Java-головоломка: Капитализация слов в строке за одно java-выражение
    +1
    точнее даже strOrig split "\\b" map {_.capitalize} mkString
  • Java-головоломка: Капитализация слов в строке за одно java-выражение
    +2
    пока думаю, мысль вслух: за Scala — будущее:
    val strRes = strOrig split "\\b" filter {_.length > 0} map {x => x.charAt(0).toUpperCase + x.substring(1)} mkString
  • Три интересные задачи на знание SQL
    0
    select c.id as c_id, g.id as g_id, ifnull(i2.id,
    (select id from photo_image i3 where i3.g_id=g.id and is_published=1 limit 1)
    ) as photo_id
    from (
    select c.id, c.ordi, (select ordi from photo_gallery g
    where g.c_id = c.id and g.is_published=1
    and exists (select 1 from photo_image i where i.g_id=g.id and i.is_published=1)
    order by ordi desc limit ..., 1) min_ordi
    from photo_category c where c.is_published=1
    ) c
    join photo_gallery g on g.c_id = c.id and g.is_published=1
    and (g.ordi > min_ordi or min_ordi is null)
    and exists (select 1 from photo_image i where i.g_id=g.id and i.is_published=1)
    left join photo_image i2 on i2.g_id=g.id and i2.is_main_foto=1
    order by c.ordi desc, g.ordi desc


    вроде работает, в многоточие надо поставить нужное ограничение на число групп
    P.S. внутренний конечно, self-fix
    P.P.S. всю ночь без интернета просидел
  • Три интересные задачи на знание SQL
    0
    да, виноват, писал из головы, запускать даже не пробовал.
    внутринний подзапрос, выбирающий ограничение на ordi должен быть таким:

    select id, (select ordi from photo_gallery g
    where g.c_id = c.id and g.is_published=1
    and exists (select 1 from photo_image i where i.g_id=g.id and i.is_published=1)
    order by ordi desc limit 5, 1) x
    from photo_category c where c.is_published=1


    сейчас попробую проверить что не только ошибок нет, но и что на данных результат правильный
  • Три интересные задачи на знание SQL
    0
    тоже одним запросом? :)
  • Три интересные задачи на знание SQL
    0
    эксплейны только представляю в голове, на реальной базе не пробовал. для 3й задачи возможно лучше:

    select c.id as c_id, g.id as g_id, ifnull(i.id,
    (select id from photo_image i where i.i.g_id=g.id and is_published=1 limit 1)
    ) as photo_id
    from (select id, (select min(ordi) as min_ordi
    from (select ordi from photo_gallery g
    where g.c_id = c.id and g.is_published=1
    and exists (select 1 from photo_image i where i.g_id=g.id and i.is_published=1)
    order by ordi desc limit ...))
    from photo_category c where c.is_published=1) c
    join join photo_gallery g on g.c_id = c.id and g.is_published=1 and g.ordi >= min_ordi
    and exists (select 1 from photo_image i where i.g_id=g.id and i.is_published=1)
    left join photo_image i on i.g_id=g.id and is_main_foto=1
    order by c.ordi desc, g.ordi desc
  • Три интересные задачи на знание SQL
    0
    как минимум не выполняется условие (4) — не выберется фотка с is_main_foto=1, is_published = 0
  • Три интересные задачи на знание SQL
    +1
    первая:

    select g.id, ifnull(
    (select id from photo_image i where i.i.g_id=g.id and is_main_foto=1),
    (select id from photo_image i where i.i.g_id=g.id and is_published=1 limit 1)
    ) as photo_id
    from photo_gallery g
    where g.c_id = ...
    and g.is_published = 1
    and exists(select 1 from photo_image i where i.g_id=g.id and i.is_published=1)
    order by g.ordi


    комментарий: в photo_image проиндексировать g_id
    или хотя бы одну из пар (g_id, is_published) (g_id, is_main_foto)

    вторая:

    select (select i2.id from photo_image i2
    where i1.g_id = i2.g_id and i2.ordi > i1.ordi
    and (i2.is_published = 1 or i2.is_main_foto = 1)
    order by i2.ordi asc limit 1) as next_id,
    (select i2.id from photo_image i2
    where i1.g_id = i2.g_id and i2.ordi < i1.ordi
    and (i2.is_published = 1 or i2.is_main_foto = 1)
    order by i2.ordi desc limit 1) as prev_id
    from photo_image i1 where i1.id = ...


    комментарий: проиндексировать (g_id, ordi)

    третья:

    select c.id as c_id, g.id as g_id, ifnull(
    (select id from photo_image i where i.i.g_id=g.id and is_main_foto=1),
    (select id from photo_image i where i.i.g_id=g.id and is_published=1 limit 1)
    ) as photo_id
    from photo_category c
    join photo_gallery g on g.c_id = c.id
    where c.is_published=1 and g.is_published=1
    and exists(select 1 from photo_image i where i.g_id=g.id and i.is_published=1)
    and g.id in (select g2.id from photo_gallery g2 where g2.c_id = c.id order by ordi desc limit ...)
    order by c.ordi desc, g.ordi desc


    комментарий: поможет составной индекс (c_id asc, ordi desc) у photo_gallery
  • Еще один повод начать пользоваться Chrome
    +3
    Tetris появился вовсе не на NES
  • Про µTP в новых версиях µTorrent: что это, как, зачем?
    0
    даже не вдаваясь в детали: голая винда этого не умеет. cFosSpeed стоит денег. так что смысл есть
  • Первая бета µTorrent 2.0
    0
    у меня всё работает, адрес вида www.nnm-club.ru/forum/rss2.php? ключики &uk= пасскей

    вот тут подробнее об этом: www.nnm-club.ru/forum/viewtopic.php?t=68634
  • Про µTP в новых версиях µTorrent: что это, как, зачем?
    0
    чёрт знает. каналы у всех настолько разные, начиная от LAN/модемов, заканчивая всякими твиками например с помощью TCPOptimizer. влияет также максимальное число соединений в торренте (там есть общее, на торрент, и чисто на отдачу), их может быть стоит поднять
  • Про µTP в новых версиях µTorrent: что это, как, зачем?
    0
    падает очень быстро, где-то за пару секунд, восстанавливается дольше, там счёт скорее на десятки секунд идёт.

    даже не знаю что посоветовать, можно попробовать поднять net.utp_target_delay или почитать официальный форум, если там решения не найдётся — описать там свою проблему
  • Про µTP в новых версиях µTorrent: что это, как, зачем?
    0
    Вот тут описаны какие проблемы TCP congestion решает uTP и как именно: www.bittorrent.org/beps/bep_0029.html
  • Про µTP в новых версиях µTorrent: что это, как, зачем?
    0
    можно попробовать net.utp_target_delay приподнять, с другими настройками поиграться, или на официальном форуме пожаловаться
  • Про µTP в новых версиях µTorrent: что это, как, зачем?
    +1
    если смотреть со стороны пользователя — гарантия даётся. если смотреть что при этом происходит — то все эти «разные маршруты», «перепосылки», «подтверждения получения» — всё это есть, но лежит на совести операцинной системы и от пользователя скрыто
  • Про µTP в новых версиях µTorrent: что это, как, зачем?
    +1
    рказывается доки уже есть: www.bittorrent.org/beps/bep_0029.html
  • Про µTP в новых версиях µTorrent: что это, как, зачем?
    +1
    оказывается уже документирован: www.bittorrent.org/beps/bep_0029.html
  • Про µTP в новых версиях µTorrent: что это, как, зачем?
    +2
    ой, уже документирован: www.bittorrent.org/beps/bep_0029.html
  • Про µTP в новых версиях µTorrent: что это, как, зачем?
    +1
    эх, сколько в своё время было шуму когда уТ продался БитТорренту, все начали думать о переходе на альтернативные клиенты, и что? ничего страшного не случилось, всё утихло, все довольны. зачем снова разжигать огонь из ничего? речи о том чтобы перестать работать по TCP нигде даже не шло, как только протокол «устаканится» — разработчики обещали открыть документацию чтобы альтернативные клиенты тоже смогли его реализовать.