• Как убрать проблему белого экрана у битрикса?

    @MorozoW
    Отредактируйте файл /bitrix/php_interface/init.php - напишите вверху такой код:
    error_reporting(E_ALL);

    Если проблема в несовместимости какого-либо кастомного функционала - выдаст ошибки где (ищие Fatal)
    Если нет - тогда проблема в ядре и принимайте во внимание ответ автора @DiazMoS
    Ответ написан
    1 комментарий
  • Как научиться писать юнит-тесты, в которых будет смысл и не ошалеть от скуки?

    Знакомая проблема. Хорошо писать тесты для простой функциональности. Но что делать, когда нужно тестировать не просто отдельные функции, а ещё и их комбинации? Что делать, когда количество комбинаций входных данных — огромно, или вообще бесконечно, и каждая комбинация может привести к ошибке?

    Для себя нашёл частичный выход: пишу высокоуровневые тесты, а низкоуровневые заменяю множеством assert-ов. Assert проще написать, поскольку не надо воспроизводить контекст ни программно, ни мысленно — assert всегда выполняется в нужном контексте. И при запуске высокоуровнего теста фактически выполняется гораздо больше проверок, чем написано в самом тесте. Assert-ты также очень помогают в отладке — с их помощью быстрее локализуются ошибки.

    Кстати, для библиотечных проектов совершенно необходимо писать и проекты, эти библиотеки использующие. Иначе — библиотека получается гарантированно ненужной. Так вот, само такое приложение и тесты к нему являются одновременно и тестами библиотеки.
    Ответ написан
    1 комментарий
  • Как правильно работать на oDesk?

    Ambrose
    @Ambrose
    Ух, что ж вы так обстоятельно и с такой опаской к этому подошли-то? Это же всего лишь фриланс, здесь всё проще)

    Расскажу свою маленькую историю. Работа у меня неплохая, в принципе устраивает, было интересено просто попробовать себя на одеске развлечения ради. Прочёл пару статей, зарегистрировался, прошёл тест на знание английского (натыкал только на below average :( ) и начал глядеть простенькие задачки «на вечер».
    Никакую почасовую ставку даже не рассматривал, только fixed price. Зачем загонять себя, если опыта пока маловато?

    Далее про выбор задачек. Смотрим цену, если она устраивает, ставим предложение процентов на 10 ниже, чтобы обратили внимание. И самый основной шаг — правильно составить cover letter. Минимум общих фраз о том, какой вы хороший (я вообще об этом писал одно предложение в начале), основное внимание уделяем задаче. Надо показать заказчику, что вы прочли задание и прониклись им. Задаём пару уточняющих вопросов или предложений по вариантам решения. Только не переборщите, письмо размером с этот ваш вопрос никто читать не будет. Помните, вводное письмо — это то, по чему оценит вас заказчик в первую очередь. Это то, что отличает нас от индусов, которые просто штампуют своё письмо, даже не читая текст задания. Наверняка замечали, что во многих вакансиях специально стоит такая «защита от дурака» :)

    В конце, конечно же, следует указать примерные сроки выполнения. Я, как уже говорил, выбирал задачки на один-два вечера плотной работы с учётом моих скиллов. При этом писал заказчику, что, прямо сейчас я сильно загружен, но в уикенд у меня будет достаточно времени, чтобы завершить работу. Вам ведь никто не мешает предложить комфортный срок выполнения с учётом основной работы, шашлычков, семьи и проч.? Любые вакансии со словом urgent закрывал даже не дочитывая, нервотрёпка мне не нужна.

    В таком режиме примерно 25-30% моих писем находили отклик. Дальше — предварительное согласование с заказчиком. Тут важно понять, какой он человек, дабы не напороться на неадеквата. Если общается в стандартном английском деловом стиле, отвечает на поставленные вопросы — всё скорее всего будет хорошо. Однажды мне попался человек, которые дважды не ответил на конкретный вопрос, продолжать общение с таким не было никакого смысла. Либо некомпетентен, либо невнимателен, а зачем нужен человек, из которого потом придётся тянуть клещами? И да, лучше конечно выбирать европейцев/американцев, общаться с малограмотными азиатами не слишком приятно.

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

    В общем, у меня к вам один совет: относитесь проще. Начинайте с простого, не нужно рубить с плеча и уходить во фриланс с основной работы. Уйти вы всегда успеете. А за то время, пока вы читали уйму книжек, зачем-то проходили кучу тестов и писали огромный вопрос на хабр, вы могли просто взять и сделать несколько простых задачек на одеске, получить немного звёздочек и практический опыт вместо голой теории.

    P. S. Всё вышенаписанное воспринимать как поток сознания дилетанта с тремя выполненными задачками и парой сотен баксов на счету)
    Ответ написан
    2 комментария
  • Как правильно работать на oDesk?

    Ubran_Hera
    @Ubran_Hera
    Начинал ~2 года назад (август/сентябрь) на oDesk (это была не первая моя попытка), выставил 14..15 баксов, без портфолио и истории. Первый заказ был получасовой, на 7 баксов, практически случайный (от новичка) — немного напортачил, но всё исправил, потратил времени в разы больше, но добился положительного отзыва.
    Общение сразу пошло через Skype и электронную почту, оплата — через PayPal. Это против правил, но так предложил заказчик.

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

    Самое сложное было в графике и работе из дома — жена (девушка) не подходила ко мне когда я говорил по Skype/SIP, но в остальные моменты очень мешала и сбивала с толку. Ещё обижалась, что я ничего не делаю по дому и ложусь спать/встаю с разницей 3..4 часа по отношению к ней — одна комната, горящий монитор, гудящий вентилятор и т.д. Очень сложно было когда мы оба заболели (простуда).

    В итоге я понял, что никак не могу в таком режиме работать дольше 2 недель (у меня ещё есть постоянная работа в телекоме по сменному и практически ненормированному графику), а потом требуется месяц (!) отдыха. С девушкой пришлось расстаться, меня постигло разочарование во фрилансе на следующий год, когда я за месяц заработал сумму порядка $2000, но ни разу не покатался на велике (это был июль) и не побывал на природе/на пляже.

    Шашлык и вино действительно хоть каждый день и стойкое желание переехать куда-нибудь в англоязычную Канаду (тем более, что часто звали). Ставка на почасовые заказы сейчас 20..35.
    Иногда чувствую себя зомби (3 часа сна два дня подряд, потом 12 часов и всё равно не выспался, 6 часов, опять 2 дня по 3 часа, потом 14..15 на выходных).

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

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

    Единственное, что радует — UK, CA, NZ, US AU — WeekEnd для них — это святое. На душе легко и спокойно с 3 утра субботы до 15:00 понедельника.
    Но бывает, что заказчик шлёт мне в полседьмого утра письмо с вопросом «Как продвигается наш проект» в 6:30 утра по его часовому поясу.

    С точки зрения разработки хорошо, что разделение testing/development/working environment очень чёткое и всегда есть время откатиться — начинаю обычно в час ночи и заканчиваю полпятого утра по их TimeZone, на живом, боевом сервере никогда не экспериментирую.

    Ну и по поводу каналов в Интернет — у меня 2 FTTx и 3 «свистка» — иногда так медленно заливается на хостинг, что приходится вспоминать командную строку и перепробовать их все.

    Зато индусы иногда вымораживают своим менталитетом, даже при хороших ставках.

    Ну и естественно, я стал замечать за собой НЕНАВИСТЬ к нашим местным наебизнесменам-работадателям, которые предлагают оклады 15..22 тыс. руб./мес. работникам с образованием и опытом, особенно после того, как устроившись в одну из местных фирм-конкурентов «тайным покупателем», вернее разработчиком (чтобы посмотреть workflow, т.к. это довольно успешный бизнес-проект с большой клиентской базой) увидел тот же Job Offer с oDesk, но очень плохо, безграмотно переведённый топ-менеджером компании в редких перерывах между поездками на дайвинги.

    В «малый бизнес» я тоже пытался уйти — очень сильная конкуренция, ценовая со школотой. Потом оказалось, что это ещё не главная проблема — рынок заказчиков всё равно растёт быстрее рынка исполнителей. Главная проблема — это чудовищная пропасть между опытом заказчика — НЕ ЗНАЮТ ЗАЧЕМ ИМ ИНТЕРНЕТ И НЕ ЗНАЮТ ЧЕГО ХОТЯТ и… ПОЛНЫМ ОТСУТСТВИЕМ ЖЕЛАНИЯ ПЛАТИТЬ профессионалам.

    Ещё поразило соотношение между уровнем разработчиков и наглостью в сочетаниями с понтами у менеджеров компаний-конкурентов. Не знаю кого винить — Фурсенко, или сразу Вашингтонский кагал, но пока встречался с потенциальными заказчиками (сейчас только телефон, а лучше -электронная почта) по три раза на дню бывал в ситуации, когда выплеснув на меня ушат откровенной технической ахинеи дядя-Вася-на-джипе на вопрос «Где вы нашли эту чушь?» начинал быковать в духе «Это мне сказали девушки в конторе ИП XYZ, А У НИХ ВСЁ ЧЁТКО, ВЕДЬ У НИХ САМ ИВАН МОИСЕИЧ ЗАКАЗЫВАЕТ САЙТЫ!»

    Короче oDesk — единственный шанс для заМКАДья, кроме восстания конечно.
    Ответ написан
    8 комментариев
  • Как правильно работать на oDesk?

    opium
    @opium
    Просто люблю качественно работать
    Большинство ответов можно найти здесь
    pumainthailand.com/category/rabota-2/
    1)хватит, мне хватало для работы 30 килобайт в секунду.
    2)Поговорить с заказчиком и отказаться от таска, если оплаты не было рейтинг за таск не засчитают в статистику.
    3)Наловить положительных на дешевых работах.
    4)На усмотрение заказчика, обычно я заранее оговариваю сроки по работе, если их превышаю сообщаю заказчику об этом и говорю что будет дороже по такой то причине. Но конечно болит голова и времени два раза больше трачу, что это такое, вы вообще вменяемый человек?
    5)4 месяца в году я в путешествиях, европа азия россия
    6)Пиво с шашлыками у меня каждый день да в выходные работаю так как для меня нет разницы какой сегодня день недели. Тока в выходные работы обычно нет, потому что у всех пиво с шашлыками.
    7)Я всегда работаю платно. Но в целом вы должны сказать об этом заказчику перед тем как начать их латать. А не просто так неожиданно нашлись баги и проект стал на 2 тыщи баксов дороже.
    8)Попросить заказчика увеличить лимит. При чем тут лимит времени и отзыв? Откуда у вас вообще понятие работать бесплатно, вы точно адекватный и вменяемый человек?
    9)я бы за 15 тысяч баксов лучше бы работал на предприятии, а если рублей то это бессмысленно в россии на такие деньги нельзя прожить, какие тут могут быть шашлыки то?
    10)Рассказать все заказчику и расстаться с проектом или газпромом.
    11)Читайте мои статьи на хабре там многое про это написано.
    12)Задания на фрилансе ничем не отличаются от заданий не на фрилансе, чем вообще они могут отличаться то?
    13)Работать в паре, у на хабре тоже про ето есть статья.

    habrahabr.ru/post/165201/
    habrahabr.ru/post/159571/
    habrahabr.ru/post/158769/
    habrahabr.ru/post/154699/
    habrahabr.ru/post/154181/
    pumainthailand.com/otvechayu-na-voprosy-o-rabote-na-amerikanskoj-frilanserskoj-birzhe-odesk-com/
    habrahabr.ru/post/149041/
    habrahabr.ru/post/138673/
    Ответ написан
    10 комментариев
  • Как правильно работать на oDesk?

    @Vampiro
    Из 10 ваших сообщений, 4 мимо нужной ветки. Вы уверены, что сможете работать с заказчиком через сайт?)

    На самом деле относитесь к фрилансу как к обычной работе, только на дому. И большая часть вопросов решится сама собой. Чаще ставьте себя на место заказчика, и прикидывайте — какие мысли у него сейчас в голове по поводу ваших действий. Как бы вы поступили на его месте? Такой подход помогает получать положительные фидбеки, которые на Одеске важны.
    Ответ написан
    Комментировать
  • Django не запускается на сервере?

    На будущее совет: полезно обернуть скрипт в try/except:
    try:
     # тут весь скрипт как есть
    except:
     exc_type, exc_obj, exc_tb = sys.exc_info()
     fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1]
     file("/tmp/log", "a").write( "Exception %s at %s:%s"%(exc_type, fname, exc_tb.tb_lineno))
    

    чтобы после смерти скрипта получить какую-то информацию.
    Ответ написан
    3 комментария
  • Как игнорировать изменения файла?

    @avorobiev
    Нужно вообще не хранить сами конфигурационные файлы в репозитории, а хранить там примеры конфигов.
    Например ваш реальный конфиг должен размещаться по пути includes/config.php. Тогда:
    1. в репозиторий добавляете файл includes/config.php-distr, который содержит структуру, настройки по-умолчанию, но не содержит никаких паролей и т.п.;
    2. путем копирования includes/config.php-distr в includes/config.php и последующего редактирования с вводом паролей и т.п. создаете реальный конфиг. Чтобы он не оказался в репозитории, заносите его в .git/info/exclude.
    3. в документацию по разворачиванию репозитория добавляете абзац про создание конфига путем копирования примера с последующей корректировкой.
    Если надо что-то изменить в примере конфига — правите includes/config.php-distr и коммитите. Следом руками правите в includes/config.php, но в коммиты это не попадает.
    Ответ написан
    3 комментария
  • .gitignore и отслеживаемые файлы

    colonel
    @colonel
    Разработчик PHP, Laravel
    Нужно убрать его из индекса:

    git rm --cached path/to/file
    Ответ написан
    Комментировать
  • SEO - имеет ли значение url?

    inferer
    @inferer
    Западные эксперты по SEO поднимают фактор «наличия ключевых слов в URL» в самый верх факторов влияющих на ранжирование: http://www.webconfs.com/15-minute-seo.php (п.2. в общем списке).
    Так что первый вопрос который задаст вам качественный SEO-специалист будет «А есть ли ЧПУ?». В общем настоятельно рекомендуется сделать, важно конечно в комплексе со всем остальным.
    Ответ написан
    2 комментария
  • SEO - имеет ли значение url?

    Zerstoren
    @Zerstoren
    Да, имеет.
    Параметры в ЧПУ следуют друг-за-другом и изменение порядка привлечет к вызову 404 страницы или другого контента.
    Без ЧПУ, параметры могут меняться и добавляться вызывая одну и ту-же страницу, что само собой пораждает дубли страницы.

    Не заморачивайтесь над структурированием URL, главное чтоб был ЧПУ и не было возможности вызвать одну и туже страницу с разных адресов.
    Ответ написан
    1 комментарий
  • Правильный ли алгоритм авторизации на Session и Cookies?

    winbackgo
    @winbackgo
    Обязательно привязывать сессию к IP. Для аутентификации черех куки, нужно как имя пользователя/ID так и какой-либо хэш (может быть и хэш пароля). Можно конечно для куки тоже делать хэш на базе IP, но при смене IP нужна будет аутентификация. Автоматический вход на сайт это всегда брешь в безопасности. Я для себя эту проблему решил так: если пользователь вошел через куку, то на защищенных страницах просим повторно ввести пароль.
    Ответ написан
    Комментировать
  • Работа чисто на Python

    @alexey_uzhva
    Работа есть, и не мало. Но зависит от вашего уровня — в новичка вкладываться часто убыточно, плюс все-таки 10% HTML/JS как сказали выше — будет. Т.к. без этого работа команды крайне неэффективна, если для того, чтобы подправить банальную опечатку/добавить блок/подправить формат переменной на JS-стороне надо дергать верстальщика/JS кодера.
    Ответ написан
    Комментировать
  • Работа чисто на Python

    PEgorov
    @PEgorov
    Я работаю 90% времени с питоном, 10% — с html/js в качестве обвязки для питоновых скриптов. В основном приходится писать разнообразные костыли для биллинга и прочих внутренних инфраструктурных проектов. Чисто питоновых вакансий может и немного, но есть порядочно вакансий, где просто нужно что-то сделать, а на чем уж ты будешь писать — на питоне или брейнфаке, по большому счету, по барабану.
    Ответ написан
    Комментировать
  • Полезные Django-модули?

    inlanger
    @inlanger
    Django программист
    django-userena — сборник модулей для регистрации/авторизации/личного кабинета/личных сообщений/восстановления пароля и т.д.
    Ответ написан
    1 комментарий
  • Как лучше хранить адрес файлов/картинок в базе данных

    @rPman
    Хранить в базе смещение (можно поделить на размер сектора или больше 4096...) и размер файла, при должном красноглазии можно завернуть оба числа в 64bit long и пользоваться им как идентификатор файла, сами файлы хранить в одном большом контейнере (можно не сильно заморачиваться с файловыми системами и складывать прямо в /dev/sda), как результат — максимально быстрый доступ к файлам (быстрее — только при самостоятельной организации кеширования под задачу) и максимально неудобное обслуживание при частых удалениях/изменениях файлов (запись только в конец контейнера, по окончании места — полная реорганизация хранилища, с выдачей новых id… но это может оказаться приемлемой платой и в некоторых задачах ее даже не придется платить).

    p.s. посчитали это шуткой? просто все зависит от задачи и особенностей использования данных.
    Вышеописанный способ использовался достаточно давно для не web-проекта, обеспечивал 'максимальную из возможных' производительность при резервном копировании, чтении и добавлении новых файлов, позволял организовать версионность 'из каропки',…
    Ответ написан
    2 комментария
  • На чем писать проект сегодня? На PHP(Zend, Symfony) или Python(Django)?

    tripiz
    @tripiz
    На Джанге работает много порталов Яндекса — это о чем да говорит. Однако, если вам надо что-то поаскетичнее, пошустрее, то pylons (тоже на питоне). Рельсы считаю слишком тормозными, хорошо для интрасетевых порталов где нет напряга в скорости, и можно использовать чистый ООП руби во всей красе, но на нагруженных проектах за это придется заплатить.
    Ответ написан
    5 комментариев
  • Автоматически сделать скриншоты всех страниц сайта — чем?

    SegaZero
    @SegaZero
    лучшая программа для снятия скринов сайта, имхо, это CutyCapt
    немного не дружит с куриллицей, он это несложно вылечить.
    так что ищите скрипты для граббинга сайтов и скармливайте адреса страниц или самы сохраненные html этих страниц утилите
    Ответ написан
    1 комментарий
  • Как максимизировать быстродействие Win 7?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    Для игр мало советов по оптимизации помогут. Потому, что когда игры запущены — большинство операций уже производится на CPU и GPU.
    Оптимизации по статьям в стиле «ускорим винду на 100%» помогут ускорить работу с самой виндой. Окна, запуск программ, загрузка рабочего стола.
    Если запускается игра — винда сама уделяет ей больше ресурсов. Она не будет в это время на фоне заниматься перерисовкой окошек, если вы, конечно, не поставили какой-то софт, который этого будет требовать. Про выключение мишуры из автозагрузки выше уже писали.
    Чуть поможет (для ускорения загрузки уровней, к примеру) дефрагментация.
    В основном, чтобы игрушки работали хорошо, нужно лишь хорошее железо. Нельзя оптимизировать винду на P4 + GF MX440, чтобы забегал Crysis.
    Ответ написан
    1 комментарий