• cwRsync не хочет работать

    un1t
    @un1t Автор вопроса
    Вот тут нашел как сделать отладку при такой ошибке:
    samba.anu.edu.au/rsync/issues.html

    На удаленном сервере сделал файл rsync-debug:
    #!/bin/sh
    ulimit -c unlimited
    strace -f rsync "${@}" 2>~/tmp/rsync-$$.out

    Запустил rsync с опцией --rsync-path=~/rsync-debug

    В результате получился файл с отладочной инфой от strace:

    execve("/usr/bin/rsync", [«rsync», "--server", "-e.Lsf", ".", "/home/un1t/tmp/test"], [/* 12 vars */]) = 0
    brk(0) = 0x1198000
    access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
    mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f5af6383000
    access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
    open("/etc/ld.so.cache", O_RDONLY) = 3
    fstat(3, {st_mode=S_IFREG|0644, st_size=43482, ...}) = 0
    mmap(NULL, 43482, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f5af6378000
    close(3) = 0
    access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
    open("/lib/libacl.so.1", O_RDONLY) = 3
    read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\36\0\0\0\0\0\0"..., 832) = 832
    fstat(3, {st_mode=S_IFREG|0644, st_size=30472, ...}) = 0
    mmap(NULL, 2125648, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f5af5f61000
    mprotect(0x7f5af5f68000, 2093056, PROT_NONE) = 0
    mmap(0x7f5af6167000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7f5af6167000
    close(3) = 0
    access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
    open("/lib/libpopt.so.0", O_RDONLY) = 3
    read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\"\0\0\0\0\0\0"..., 832) = 832
    fstat(3, {st_mode=S_IFREG|0644, st_size=41984, ...}) = 0
    mmap(NULL, 2137264, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f5af5d57000
    mprotect(0x7f5af5d61000, 2093056, PROT_NONE) = 0
    mmap(0x7f5af5f60000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9000) = 0x7f5af5f60000
    close(3) = 0
    access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
    open("/lib/libc.so.6", O_RDONLY) = 3
    read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\355\1\0\0\0\0\0"..., 832) = 832
    fstat(3, {st_mode=S_IFREG|0755, st_size=1432968, ...}) = 0
    mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f5af6377000
    mmap(NULL, 3541032, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f5af59f6000
    mprotect(0x7f5af5b4e000, 2093056, PROT_NONE) = 0
    mmap(0x7f5af5d4d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x157000) = 0x7f5af5d4d000
    mmap(0x7f5af5d52000, 18472, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f5af5d52000
    close(3) = 0
    access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
    open("/lib/libattr.so.1", O_RDONLY) = 3
    read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\24\0\0\0\0\0\0"..., 832) = 832
    fstat(3, {st_mode=S_IFREG|0644, st_size=17808, ...}) = 0
    mmap(NULL, 2112952, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f5af57f2000
    mprotect(0x7f5af57f6000, 2093056, PROT_NONE) = 0
    mmap(0x7f5af59f5000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f5af59f5000
    close(3) = 0
    mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f5af6376000
    mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f5af6375000
    mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f5af6374000
    arch_prctl(ARCH_SET_FS, 0x7f5af6375700) = 0
    mprotect(0x7f5af5d4d000, 16384, PROT_READ) = 0
    mprotect(0x7f5af6385000, 4096, PROT_READ) = 0
    munmap(0x7f5af6378000, 43482) = 0
    rt_sigaction(SIGUSR1, {0x41ab20, [], SA_RESTORER|SA_NOCLDSTOP, 0x7f5af5a281e0}, NULL, 8) = 0
    rt_sigaction(SIGUSR2, {0x41b450, [], SA_RESTORER|SA_NOCLDSTOP, 0x7f5af5a281e0}, NULL, 8) = 0
    rt_sigaction(SIGCHLD, {0x41b4a0, [], SA_RESTORER|SA_NOCLDSTOP, 0x7f5af5a281e0}, NULL, 8) = 0
    geteuid() = 1041
    umask(0) = 022
    brk(0) = 0x1198000
    brk(0x11b9000) = 0x11b9000
    open("/usr/lib/locale/locale-archive", O_RDONLY) = 3
    fstat(3, {st_mode=S_IFREG|0644, st_size=2942400, ...}) = 0
    mmap(NULL, 2942400, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f5af5523000
    close(3) = 0
    open("/usr/etc/popt", O_RDONLY) = -1 ENOENT (No such file or directory)
    open("/etc/popt", O_RDONLY) = -1 ENOENT (No such file or directory)
    stat("/etc/popt.d", 0x7fff5ac491b0) = -1 ENOENT (No such file or directory)
    open("/home/un1t/.popt", O_RDONLY) = -1 ENOENT (No such file or directory)
    rt_sigaction(SIGINT, {0x40b0e0, [], SA_RESTORER|SA_NOCLDSTOP, 0x7f5af5a281e0}, NULL, 8) = 0
    rt_sigaction(SIGHUP, {0x40b0e0, [], SA_RESTORER|SA_NOCLDSTOP, 0x7f5af5a281e0}, NULL, 8) = 0
    rt_sigaction(SIGTERM, {0x40b0e0, [], SA_RESTORER|SA_NOCLDSTOP, 0x7f5af5a281e0}, NULL, 8) = 0
    rt_sigprocmask(SIG_UNBLOCK, [HUP INT USR1 USR2 TERM CHLD], NULL, 8) = 0
    rt_sigaction(SIGPIPE, {SIG_IGN, [], SA_RESTORER|SA_NOCLDSTOP, 0x7f5af5a281e0}, NULL, 8) = 0
    rt_sigaction(SIGXFSZ, {SIG_IGN, [], SA_RESTORER|SA_NOCLDSTOP, 0x7f5af5a281e0}, NULL, 8) = 0
    getcwd("/home/un1t", 4095) = 13
    fcntl(0, F_GETFL) = 0 (flags O_RDONLY)
    fcntl(0, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
    fcntl(1, F_GETFL) = 0x1 (flags O_WRONLY)
    fcntl(1, F_SETFL, O_WRONLY|O_NONBLOCK) = 0
    fcntl(0, F_GETFL) = 0x800 (flags O_RDONLY|O_NONBLOCK)
    fcntl(1, F_GETFL) = 0x801 (flags O_WRONLY|O_NONBLOCK)
    select(2, NULL, [1], [1], {60, 0}) = 1 (out [1], left {59, 999997})
    write(1, "\36\0\0\0", 4) = 4
    select(1, [0], [], NULL, {60, 0}) = 1 (in [0], left {59, 966985})
    read(0, "", 4) = 0
    write(2, «rsync: connection unexpectedly c»..., 74rsync: connection unexpectedly closed (0 bytes received so far) [receiver]) = 74
    write(2, "\n", 1
    ) = 1
    rt_sigaction(SIGUSR1, {SIG_IGN, [], SA_RESTORER, 0x7f5af5a281e0}, NULL, 8) = 0
    rt_sigaction(SIGUSR2, {SIG_IGN, [], SA_RESTORER, 0x7f5af5a281e0}, NULL, 8) = 0
    write(2, «rsync error: error in rsync prot»..., 88rsync error: error in rsync protocol data stream (code 12) at io.c(600) [receiver=3.0.6]) = 88
    write(2, "\n", 1
    ) = 1
    select(0, NULL, NULL, NULL, {0, 100000}) = 0 (Timeout)
    exit_group(12) =?

    Чесно говоря не особо понятно, кроме того что не моет найти какой-то файл /etc/ld.so.nohwcap
    Ответ написан
    Комментировать
  • Как организовать ступенчатую модель комментирования а-ля "Хабр" в связке PHP + MySql?

    un1t
    @un1t
    Погуглите на тему nested sets. На всяких фреймворках и ORMах есть готовые реализации. Наример в cakephp, doctrine есть, а в других типа yii есть сторонние расширения (или может быть уже встроили тоже).

    Вот полезные ссылки по деревьям:
    Ответ написан
    Комментировать
  • Django, отношения, связь трех таблиц, вопрос новичка

    un1t
    @un1t
    в шаблоне должно выглядеть как-то так
    {% for gallery in galleries %}
    gallery.photo_set.all
    {% endfor %}

    не пробовал, но вроде должно работать
    Ответ написан
  • Django, отношения, связь трех таблиц, вопрос новичка

    un1t
    @un1t
    Попробуйте так
    во view
    galleries = Gallery.objects.all().order_by('created')

    в шаблоне:
    for gallery in galleries:
    gallery.photo_set().all().order_by('created')

    дока с примерами тут: docs.djangoproject.com/en/1.2/topics/db/queries/
    Ответ написан
  • Теория по созданию веб-сервера?

    un1t
    @un1t
    Цель подробнее озвучьте, что хотите сделать-то?
    Ответ написан
    Комментировать
  • Полезные книги для веб-разработчика?

    un1t
    @un1t
    PHP
    Мэтт Зандстра «PHP. Объекты, шаблоны и методики программирования»
    Леон Аткинсон, Зеев Сураски «PHP 5. Библиотека профессионала»

    Javascript
    developer.mozilla.org/En/JavaScript

    Дэвид Флэнаган «JavaScript. Подробное руководство»

    MySQL
    Поль Дюбуа «MySQL»
    Ответ написан
    Комментировать
  • Поиск единомышленников для работы над проектом. Где?

    un1t
    @un1t
    Думаю что хабр в частности Q&A отличное место для поиска единомышленников)
    Ответ написан
    Комментировать
  • PHP библия

    un1t
    @un1t
    1) «ZEND PHP 5 Certification STUDY GUIDE» (для начинающих)
    2) Леон Аткинсон, Зеев Сураски «PHP5 библиотека профессионала».
    3) Мэтт Зандстра «PHP объекты, шаблоны и методики программирования»
    Ответ написан
    Комментировать
  • CMS для сайта вакансий

    un1t
    @un1t
    Странно, что еще никто не посоветовал друпал. Собсно друпал)
    Ответ написан
    1 комментарий
  • Посоветуйте движок для уютного бложика :-)

    un1t
    @un1t
    На счет многоязычности для WP есть очень удобный модуль WPML. У WP можно разобраться в API и легко допиливать его под себя.
    Ответ написан
    Комментировать
  • Посоветуйте лучшие практики PHP

    un1t
    @un1t
    З.Ы, Еще есть phpactiverecord минимальные требования как раз php 5.3+
    Ответ написан
    Комментировать
  • Посоветуйте лучшие практики PHP

    un1t
    @un1t
    Рекомендую поглядеть Yii, он написан с использованием best practices, ООП, паттернов и прочих новомодных штук) Можно поглядеть коды других фреймоврков (kohana, cakephp, symfony) на свой вкус. Drupal и WP хоть и популярны, но во многом далеки от бест практик, хотя несомненно и там есть что посмотреть.
    Ответ написан
    Комментировать
  • Материал по Drupal

    un1t
    @un1t
    Небольшая подборка — книги, видеоуроки и прочее. Ссылок нет но по названиям нагуглить не проблема.
    wiki.coderiver.ru/drupal

    Быстрый старт в программинг под Друпал
    shvetsgroup.com/ru/blog/drupal-quick-start-guide
    Ответ написан
    1 комментарий
  • Хабр стоит $1млн или $10млн?

    un1t
    @un1t
    >Если каждый пользователь стоит порядка $20, то

    Интересно, откуда эта цифра?
    Ответ написан
    1 комментарий
  • Хотите ли вы видеть топики о микроконтроллерах?

    un1t
    @un1t
    Хочу!!!
    Ответ написан
    Комментировать
  • PDO или ORM в PHP?

    un1t
    @un1t
    ORM очень удобная штука. Многие реализации позволяют выполнять не только простые запросы но и всякие джойны, юнионы, подзапросы и т.п. Я в cakephp в рамках проекта несколько раз пользовался «сырыми» запросами для реализации более изощренной логики. Однако после более внимательного прочтения документации оказывалось, что все это было сделать проще в рамках функционала ORM.
    В любом случае любой ORM позволяет выполнять «сырые» запросы, так что проблем возникнуть не должно.
    Ответ написан
    Комментировать
  • Сколько стоит создать сайт эл библиотеки?

    un1t
    @un1t
    Если простой вариант перечисленного функционала с относительно несложным дизайном то можно в 30 тыс. руб. уложиться. Если же нужны всякие феньки веб2.0. навороченные javascript, AJAX, профессиональный качественный дизайн, 150 типов внутренних страниц (под каждую страницу свой навороченный шаблон с пятью скриптами) и т.п. то и в пару миллионов можно не уложиться.

    В общем простой вариант от 30 т.р., подробнее можно оценить только понимая все требования. В идеале нужно детальное ТЗ и скетчи.
    Ответ написан
    Комментировать
  • Выбор Моего Первого Фреймворка (PHP)

    un1t
    @un1t
    Я в свое время глядел на cakephp, symfony, CodeIgniter, Kohana, Yii, Akelos и еще некоторые.

    Из вышеперечисленных CakePHP хорошо документирован и достаточно легок в изучении. Из недостатков можно отметить поддержку PHP4 и не очень продвинутое комьюнити, хотя и большое.

    Yii — классная штука, написана с использованием PHP5 и модных паттернов проектирования, к тому-же плотно интегрирован с фишками веб2.0 (AJAX). Хорошая документация по API, но практически нет примеров.

    Akelos — слишком сырой.

    CodeIgniter — php4, слабый ORM.
    Kohana (форк от CodeIgniter) — php5, плохо документирован, слабый ORM.

    Symfony — попытка сделать клон RubyOnRails на php. Однако сложнее в изучении чем оригинал и возможностей значительно меньше. ИМХО лучше уж тогда рельсы выучить или джангу.

    Итог:
    для начинающих — cakephp, для продвинутых yii
    Ответ написан
    5 комментариев
  • ActiveRecord для PHP5.2

    un1t
    @un1t
    Вот еще наталкивался на такую штуку www.phpactiverecord.org/

    «php-activerecord is an open source ORM library based on the ActiveRecord pattern. It aims to massively simplify the interactions with your database and eliminate the chore of hand written SQL for common operations. Unlike other ORMs, you do not need to use any code generators nor maintain mapping files for your tables. This library was inspired by Ruby on Rails' implementation and therefore borrows many of its conventions and ideas. The best place to get started is by checking out the Guides below! The library is licensed under the MIT License and so you are completely free to do whatever you want with it.»

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