• NS серверы для VPS в Hetzner?

    MiXei4
    @MiXei4
    Яндекс дает бесплатные NS
    pdd.yandex.ru/help/section9/
    Ответ написан
    Комментировать
  • Рендер модели со связанными данными - вопрос по Django от новичка?

    Хоть и не спец, сам джангу только осваиваю
    <ul>
    {% for album in albums %}
      <li>{{ album.artist }} - {{album.disc}}
        <ol>
        {% for track in album.track_set.all %}
          <li>{{ track.title }}</li>
        {% endfor %}
        </ol>
      </li>
    {% endfor %}


    Как-то так, подробнее docs.djangoproject.com/en/1.3/topics/db/queries/#related-objects

    P.S. для уменьшения обращений к БД («проблема 1+N» кажется называется)можно в контроллере использовать
    albums = Album.objects.select_related().order_by('id_album').all()[ 0:10]


    P.P.S. Модели у вас очень оригинальные, я бы так описал:
    class Album(models.Model):
        artist = models.CharField(max_length=100, null=True)
        disc = models.CharField(max_length=100, null=True)
     
    class Track(models.Model):
        album = models.ForeignKey(Album)
        title = models.CharField(max_length=100)
    Ответ написан
    1 комментарий
  • PHP: непонятное поведение оператора "or"

    barmaley_exe
    @barmaley_exe
    Да, они работают одинаково, за исключением приоритетов. У оператора or он настолько низкий, что даже ниже, чем у оператора присваивания.
    Ответ написан
    1 комментарий
  • Fastcgi в php

    zizop
    @zizop
    До сих пор не утихают споры по этому вопросу. Однозначного мнения нет, всё зависит от задачи, и от того, насколько ваш код оптимизирован к работе в fastCGI режиме. Вот материалы, которые помогут вам разобраться в теме:
    Статья Дмитрия Котерова про php fast-cgi
    Вриант от создателя phpDaemona
    Статья по настройке php5-fpm
    Статья Ильи Кантора по скрещиванию Symfony и Fast-Cgi

    По поводу тестов и сравнения:
    php-fpm VS apache2+mod_php
    Apache + mod_php compared to Nginx + php-fpm
    Comparing Nginx+PHP-FPM to Apache-mod_php
    Битва PHP: Apache vs PHP-FPM

    Некоторые соображения:
    Вся технология PHP-FCGI базируется на чем угодно, только не на том, что из себя представляет fast cgi для таких например языков как Perl & C со своими интерфейсами скриптинга.

    Если уравнять условия apache и php-fpm, php-fpm единственное в чем выигрывает, то это в памяти, ито за счет двух дополнительных процессах апача. Остальные выигрыши довольно сомнительны.

    Если с апача убрать обработку статики и всего лишнего (например с помощью nginx), он довольно шустро обрабатывает скрипты.

    С другой стороны, в PHP-FPM довольно красиво реализована схема chroot’а и запуска из под отдельных юзверей, что повышает безопасность. Но он проигрывает в IPC, т.к. пока не умеет изменять количество воркеров пропорционально нагрузке. Если поставить слишком много воркеров, будет overhead по CPU и памяти (за что грешат на апач), если поставить слишком мало – будут отказы в обслуживании. Ну впрочем, кому резонно вручную следить за процессами FPM, те этим занимаются.
    Ответ написан
    Комментировать
  • Как защитить контент?

    @WikiLeaks
    Защитить невозможно, но можно сделать все правильно, и получить максимальную отдачу от результатов своего труда.

    Лучшая защита вашего контента — это хорошая его индекция. Обычно алгоритмы поисковиков достаточно точно определяют первоисточник информации.
    Так что лучше сосредоточиться на том, чтобы проект был хорошо проиндексирован. Это будет гарантией того, что большая часть пользователей найдут именно ваш проект, а не его копии.

    Если информация подготавливалась долгое время, то не стоит публиковать все и сразу. Нужно постепенно собирать свою аудиторию давая ей интересующую информацию.
    Любой качественный ресурс по большинству тематик — это в первую очередь администрация и аудитория.
    Сам контент, в отрыве от проекта где его создают, почти всегда бесполезен.
    Ответ написан
    2 комментария
  • Как защитить контент?

    @IlVin
    Технически защититься от кражи контента Вы не сможете, так как Вы этот контент публикуете, т.е. предоставляете свободный доступ к контенту.
    А в Интернете все усугубляется — при просмотре сайта каждый пользователь копирует к себе на компьютер ваш контент (это делает браузер автоматически) и просматривает его.
    Поэтому остается один способ защиты — юридический, но это уже другая история…
    Ответ написан
    1 комментарий
  • JQuery vs. Сss+Костыли. На кого ставите вы?

    pratamishus
    @pratamishus
    Сложный вопрос :). Все зависит от Ваших требований к проекту. Данный в ссылке «вопрос» легко решается через JQuery. Если уж Вам так важно чтобы было как в заданном вопросе, то использование JQuery облегчит задачу, но для красоты, желательно сделать что-то типа «Loading», который исчезает после полной загрузки страницы.

    А выжать все что можно из CSS хорошая идея. Почему бы Вам не скомпоновать их.

    И еще одно — почему все так боятся использовать таблицы (как в заданном вопросе)? Они показывают прекрасные результаты и с точки зрения кода и просмотра страницы. Основная аргументация против таблиц идет в основном в том что они сильно грузят страницу и браузер — так не надо использовать их везде. Рациональное использование таблиц только ускорит загрузку и работу. Честно — я не понимаю этой «фобии». Если Вам нужны авторитеты, возьмите Гугл, яндекс да и тот же самый хабр :). Некоторые делают в десятки раз больше кода и грузят браузеры используя JQuery+CSS чтобы не использовать таблицы. По моему надо быть более рациональным и не упираться в ворота из-за каких-то догм.
    Ответ написан
    Комментировать
  • Что спрашивают на собеседовании в Яндекс?

    meteozond
    @meteozond
    Не знаю как насчет c++, я одил сегодня на python-иста.

    Как я понял основное — это досканальное знание языка, вплоть до специфики низкоуровневой работы с памятью и т.д. (в основном собеседование состоит из таких вопросов). Немного интересуются общим представленем о построении алгоритмов. Интересует только глубокое знакомство с предметной областью вакансии (широкий профиль и опыт в смежных областях вас не спасет).

    Была классическая, для яндекса, задачка, неоднократно упомянутая в Радио-Т, про банерокрутилку. Задача элементарна и не стоит выеденного яйца. Однако нужен только один конкретный единственно правильный ответ, до которого я лично, к стыду, не додумался. Вспомнились задачаки на сообразительность (про монетки, рюкзаки и стаканы) на которые можно ответить только заранее зная ответ.

    Предлагают написать кусочек кода для оценки стиля кодирования. Так что лучше потратить больше времени и написать кратко, элегантно, по-джедайски. На этом шаге мое собеседование для меня лично закончилось скривленными лицами и словами «в питоне обычно все компактнее» (думаю это было далеко не единственное замечание).

    Соглашусь с большинством, все напоминает экзамен (не самый правда жесткий из тех, что мне приходилось сдавать и, к слову, принимать) буд-то предмет знаешь, но почему-то, дурак, не подготовился (читай не поработал в яндексе).

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

    Отдельно стоит упомянуть, что дав задание интервьюирующие принимаются за досужую беседу, которая конкретно мешает, когда надо основательно поскрипеть мозгами.

    Иногда и сами путаются в показаниях, в частности возник вопрос на тему лимита на количество файлов в одной директории ext3, которого как оказалось нет в помине.

    И да, выходя из здания, чувствуешь некислый батхерд.
    Ответ написан
    2 комментария
  • Алгоритм для изменения большого кол-ва строк в БД

    @kirsan_vlz
    mysql> select * from test;;
    +----+------+
    | id | num |
    +----+------+
    | 1 | NULL |
    | 2 | NULL |
    | 3 | NULL |
    | 4 | NULL |
    | 5 | NULL |
    +----+------+
    5 rows in set (0.00 sec)

    mysql> update test set num = rand(12)*1000000;
    Query OK, 5 rows affected (0.00 sec)
    Rows matched: 5 Changed: 5 Warnings: 0

    mysql> select * from test;
    +----+--------+
    | id | num |
    +----+--------+
    | 1 | 157418 |
    | 2 | 629671 |
    | 3 | 676102 |
    | 4 | 491496 |
    | 5 | 429176 |
    +----+--------+
    5 rows in set (0.00 sec)

    Комментарии, я думаю, излишни )
    Единственное — функции rand() параметром передаётся лишь стартовое значение рандомайзера, а не диапазон случайной величины. И возвращает функция значение от 0 о 1. Поэтому умножением приводите результат к нужному порядку.
    Ответ написан
    1 комментарий
  • iPad как читалка для программиста

    @kirsan_vlz
    Если нет проблем с чтением с обычных экранов, то удобно будет.
    У меня вот глаза при чтении pdf и djvu с 5-дюймового eink гораздо меньше устают, чем с монитора/планшета/телефона.
    Ответ написан
    Комментировать
  • iPad как читалка для программиста

    conf
    @conf
    Ruby developer
    Мда, а я все мучаюсь с обычным Kindle 3 — приходится читать книги в альбомном положении, иначе совсем мелко :(
    Ответ написан
    Комментировать
  • Как или где купить Ipad 2 в Москве по адекватной цене ?

    reaferon
    @reaferon
    Москва-Питер: купе, верхняя полка ~700 руб.
    Питер-Хельсинки: паром 2000, автобус 1000-1500 (туда-обратно)
    В Хельсинки берём девайс по адекватной цене, бонусом получаем прогулку по городу и вечером валим обратно.
    Ответ написан
    4 комментария
  • Фильтр мата....?

    Insbrook
    @Insbrook
    Список матерных слов можно почерпнуть из списка запрещенных доменов РФ:
    bunnywrote.trp2.ru/stop-list.txt
    Ответ написан
    1 комментарий
  • Что должен знать настоящий программист?

    Shvonder
    @Shvonder
    Я думаю, что настоящий программист обладает хорошим аналитическим мышлением. Он способен расписать алгоритм решения какой-либо задачи на бумаге простыми словами, без использования языков программирования, а потом объяснить его маме на примере овец, собачек и лягушек. Хорошему программисту все равно на чем программировать, потому что основная сложность программирования — не знание конкретного языка, а именно способность правильно мыслить, по шагам, от общего к частному, от простого к сложному.
    Ответ написан
    Комментировать
  • Что должен знать настоящий программист?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Настоящий программист должен знать достаточно, чтобы пройти собеседование ;) Шучу, конечно. С такого вопроса начинаются священные войны. «Что должен знать программист?» Да ещё и настоящий?



    Предлагаю зайти с другой стороны — а чего не должен знать настоящий программист? Эйншейн играл на скрипке (хотя я и не слышал) и хоть это и не относилось к физике, но и не помешало ему стать известным. Думаю, что ответ на вопрос надо искать не в перечислении знаний, относящихся к программированию. Так сказать ответ на вопрос лежит не здесь и не сейчас. В любой работе важно терпение и труд. И не только в профильной области. Готовься к тому, что надо будет работать по 12-14-16 часов в сутки возможно и не один год. Почти на износ, пока «догонишь» острие прогресса и поймёшь смысл поговорки «нужно очень быстро бежать, чтобы оставаться на месте, но чтобы двигаться вперёд надо бежать ещё быстрее». Пройдёт некоторое время и ответ на этот вопрос тебе не понадобиться, т.к. настоящие программисты, а точнее профессионалы, уже ответили себе на этот вопрос ;) Удачи.
    Ответ написан
    Комментировать
  • Запуск только одной копии скрипта на Python?

    @IlVin
    Как я не допускаю второй копии скрипта.

    При старте:
    1) Создаю lock файл
    2) Делаю flock на lock файл (Режим LOCK_NB). Если не получилось, то завершение работы.
    3) Записываю в него pid
    4) Запоминаю inode файла

    При работе скрипта делаю периодическую проверку:
    1) Проверяю существование файла. Если файла нет — завершение работы.
    2) Проверяю inode файла. Если не совпадает — завершение работы
    3) Считываю pid. Если не совпадает с реальным — завершение работы

    При завершении работы скрипта:
    1) Закрываю lock файл.
    Ответ написан
    Комментировать
  • Проверить форму - вносились ли изменения

    @Jazzist
    В любом случае перед записью будете делать еще одну выборку — для того, чтобы проверить существование элемента, проверить права на запись, выполнить некоторые действия для безопасности. Можете сравнивать текущие данные с новыми, для того, чтобы принять решение о целесообразности обновления. Если данных много — можно слить или сериализировать их и сравнивать хеши, к примеру md5(implode()) — если будут изменения, хеши будут отличаться.
    Ответ написан
    Комментировать
  • Как внутри 500 html-файлов найти все числа больше 900?

    @YourChief
    find -iname "*.html" -exec grep -EH "\,9[0-9][0-9]\,|\,[0-9]{4,}\," {} \;
    как-то так
    обе эти консольные утилиты можно скачать и для виндоус.
    Ответ написан
    5 комментариев
  • Инструмент для CSS-спрайтов

    @loat
    для меня легче всего использовать Compass или imageMagick для создания спрайтов

    пример ImageMagick: convert *png -append result-sprite.png

    пример Compass:

    @import «icon/*.png»;
    @include all-icon-sprites;

    .new { @include icon-sprite(new); }
    .edit { @include icon-sprite(edit); }
    .save { @include icon-sprite(save); }
    .delete { @include icon-sprite(delete); }
    Ответ написан
    2 комментария