• Как обучить девушку основам тестирования веб-приложений?

    DmitryPhilimonov
    @DmitryPhilimonov Автор вопроса
    Не соглашусь. Прогресс есть и значительный уже.
  • Как обучить девушку основам тестирования веб-приложений?

    DmitryPhilimonov
    @DmitryPhilimonov Автор вопроса
    mipan: посмотрел программу базового уровня ISTQB - очень понравилось, однозначно по ней пройдем.
  • Сколько принес Ваш open-source проект?

    littleguga: у меня нет ссылки, поэтому и не написал. Если найду - напишу.
  • Как обучить девушку основам тестирования веб-приложений?

    DmitryPhilimonov
    @DmitryPhilimonov Автор вопроса
    littleguga: от ОРМ они зависят и напрямую, т.к. именно в ней происходит ескейпинг данных. Если есть raw запросы, то это, во-первых, редкость, во-вторых, их проверка далеко не всегда тривиальная задача, кроме того, надо хорошо знать схему БД. Тестировщик, конечно, может проверять на инъекции, но это точно не тот тестировщик, который тестирует интерфейсы в вебе, делает функциональные тесты.
  • Как обучить девушку основам тестирования веб-приложений?

    DmitryPhilimonov
    @DmitryPhilimonov Автор вопроса
    littleguga: ну, с инъекциями и оптимизацией - это оверкилл. Никогда бы не доверил это тестировщику, потому как множество нюансов зависит от архитектуры БД, от ее типа, от ОРМ, от применяемых паттернов, в общем, это чисто программерская задача (либо архитектора БД). Тестировщику для кругозора, наверное, стоит этим интересоваться, но не более.

    mipan: тестовые данные - это данные для теста или данные о том, как отработал тест? Если второе, то еще могу представить, а если первое и речь идет про юнит-тесты, то это чисто программерская задача, если речь идет про тестовые данные для разных функциональных/e2e кейсов, то последний раз я видел, что это делали программисты (и сам так делаю). Во-первых, с ORM это делать удобнее в разы, особенно, если таблицы массивны (а иногда без нее не обойтись вообще, когда требуются опредленные функции для парсинга/вставки данных), во-вторых, прямой вставкой в БД можно напортачить с ключами, с путями до чего-нибудь, нарушить нормализацию БД. Если тестировщик что-то делает с SQL, то это выглядит костылем, т.к. во всех случаях оно опасно, кроме того, есть способы его от этого обезопасить.
  • Сколько принес Ваш open-source проект?

    Где-то видел интервью Игоря Сысоева о nginx, где он писал, что им за полгода донатнули около $1000 всего, чего ни на что не хватало, после чего они задумались о привлечении средств другими путями. Но интервью найти никак не могу сейчас :)
  • Как обучить девушку основам тестирования веб-приложений?

    DmitryPhilimonov
    @DmitryPhilimonov Автор вопроса
    Ха-ха, да. Просто не рефакторил совсем сообщение, вот все как было в виде потока мыслей, так и попало сюда, поэтому много лишнего написал, но зато читать, думаю, прикольно, если кто-таки прочел это. С анекдотом на 100% согласен :)
  • Как обучить девушку основам тестирования веб-приложений?

    DmitryPhilimonov
    @DmitryPhilimonov Автор вопроса
    Вероятно, вы правы. Насчет Савина - да, это был он, я написал в статье, что она его читает. Хотя, по моему мнению, это вообще никакая книженция, хотя стиль там хорош для новичка.

    Насчет минимума - понял вас. Не совсем только ясно, зачем нужен SQL тестировщику.
  • Как обучить девушку основам тестирования веб-приложений?

    DmitryPhilimonov
    @DmitryPhilimonov Автор вопроса
    Думаю, слишком сурово для нее будет, моки, тестирование активрекорд-моделей - это оверкилл. Но спасибо за совет :)
  • Как убедиться, что все дочерние процессы завершили работу?

    Валерий Рябошапко: да, насчет файла я ошибся. Просто думал, что надо же как-то флашить изменения, но совсем не подумал о том, что есть сбрасывание по мере заполнения буфера (и, кстати, flush()).

    Сложной обработкой данных я бы это не назвал, но парсинг JSON, два поиска по регулярке, затраты на криптографию - это точно значительно меньше по времени, чем затраты на ввод/вывод. Так что вполне может оказаться, что треды быстрее будут. Потестируйте, т.к. это сделать очень просто в вашем случае, а ответ будет достоверный под задачу сразу. Можно даже очень грубо оценить по /usr/bin/time -v время и оперативку у всего скрипта, чтобы не запариваться, в данном случае я бы так и сделал. Раз 5 хватит на скрипт хватит, чтобы уже понять, стоит ли заморачиваться. Треды дадут значительно меньший оверхед в памяти, времени на переключение контекстов, но зато использоваться будет только одно ядро, т.к. GIL :)

    Общий учебник не знаю. Я только однажды читал в интернете статьи на тему "паралелльный кодинг в Java" + обрывки какой-то книги по ней же, там было описание подходов, примитивов синхронизаций, известные паттерны. Сам с этой темой знаком по задачам, которые вы и решаете. А так эта тема очень сложная и, думаю, общей книги тут не будет, т.к. ооооочень широко все: я, например, многие данные о процессах в юниксе узнал только после того, как начал поглядывать в Таненбаума о том, как это устроено + гуглить параллельно. Так что если есть именно академический интерес, то можете начать с любой языко-зависимой книги, а дальше будет понятно.
  • Как запустить код JavaScript, полученный через AJAX?

    sergey_privacy: это адский костыль, то, что у вас сейчас. Это нужно и правильно делать прямо на фронтенде, как вам уже указали. Браузер все равно будет их интерпретировать, хоть как вставляйте, т.е. ему и сейчас не сильно проще, если вы так думаете ;) Скрипты в идеале должны быть в конце body, кстати.

    p.s. Со вставкой скриптов напрямую есть тонкости, требующие неоправданных костылей в данной ситуации. stackoverflow.com/questions/610995/cant-append-scr... - например.
  • Как запустить код JavaScript, полученный через AJAX?

    sergey_privacy: т.е. в базе в каком-то поле сразу лежит JS-код в перемешку с HTML?
  • Выборка последних комментариев?

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

    vasIvas: а почему на флеше-то не делаете? Не нравится - делайте на флеше. Не хотите делать на флеше, а инструменты не устраивают? Пишите/форкайте. Эмоции стоит выливать в творчество или в блог.

    Флеш умирает, кстати, по иной причине - он не очень красиво вписывается в парадигму "приложение в браузере". Веб стремится создать свой инструмент, свободный, универсальный, постоянно допиливает html/css/js, кучу исторического говна, браузерные API. Это лучше, чем что-то, принадлежащее адобу и закрытое.

    Насчет "почему советуют" вам к психологу. Возможно, они говорят "стоит посмотреть", а вы слышите "флеш говно, стоит использовать"?
  • Как попасть в backend-разработку?

    FoxInSox: Цитата c первых строк вакансии: "(или сетевого инженера с опытом разработки)". Очевидно, вы не правы :)
  • Почему нерезолвится HTTP через соединение OpenVPN на Mac OS?

    Еще одна причина настраивать что бы то ни было по официальным манам :)
  • Как реализовать ранжирование результатов полнотекстового поиска по тексту и тагам в Django + Sphinx (sphinxit библиотека)?

    Станислав Гордиенко: то есть, как я понял, сейчас у вас в sql_query запрос с джойнами, потом производится GROUP_CONCAT? Хороший вариант, да)
  • Как развиваться в программировании, если мотивируют только деньги?

    Uassya: мне тоже показалось, что вопрос в значительной мере психологический. Судя по описанию, с эволюцией все в порядке: выбрана инженерия ПО, есть понимание, чего хочется (говорите, что алгоритмы - не очень, а вот архитектурные фичи - круто). Думаю, проблем не будет, если заниматься самообразованием, не класть болт. Ну то есть не похоже, что вы в чем-то не определились. Но зато явно прослеживается, что "чет штурмовать мозг влом", "чет ток деньги надо". Это же психология. Вы с одной стороны понимаете, что много чего изучать нужно, понимаете, где пробелы, чего хотелось бы, но с другой стороны что-то сопротивляется.

    Я имею в виду, что есть некоторое "идеальное", которое заставляет людей делать так, как было бы красиво, познавать мир и так далее. Именно это "идеальное" заставляет вкладывать в опенсорс, создавать очень крутую музыку забесплатно, помогать людям здесь на Тостере, не спать спокойно, написав плохой код, тратить всю жизнь, чтобы понять, почему электрический ток работает... В общем, все эти крутые штуки, что делают люди, от которых отдает "душой" и при понимании которых встают волосы дыбом, они не делались за деньги. Посмотрите вокруг себя, и вы с огромным трудом найдете исключения. В правильном мире деньги - это результат вложений, результат скиллов. Ведь живем-то мы, чтобы познавать, в конечном счете деньги с собой в гроб не заберешь, а вот спокойно прожитая жизнь и что-то оставленное навсегда из идеального - это чуть ли не смысл жизни.

    И мне кажется, что вам все, что я написал, очевидно, что и породило этот вопрос. Неужели не психология все еще?)))

    Я так скажу. Вполне реально развиваться так, как вы описали. И работать удаленно с описанным стеком знаний/технологий тоже реально (знаю людей на удаленной работе с похожими штуками, тоже инженерия, тоже php, мои друзья). И мотивация в виде денег может очень далеко вас протащить, "заставить" сделать многое. И будете хорошим профессионалом. Но вот только те, кто делает это не совсем ради денег, всегда будут чувствовать себя свободнее, комфортнее, а то и легко перегонять в чем-то. С этим либо мириться, либо что-то менять и разбираться в себе.
  • Даст ли прирост скорости объединение нескольких демонов OpenVPN?

    Хотя сжатие-скорость зависит от типа трафика. Потестируйте. Но все равно это баловство в целом :)

    Если фикс mss отключен, буферы верные, с сжатием поигрались, с MTU поигрались (в сторону увеличения), udp используется вместе с tun, то вряд ли чего еще посоветую.