littleguga: от ОРМ они зависят и напрямую, т.к. именно в ней происходит ескейпинг данных. Если есть raw запросы, то это, во-первых, редкость, во-вторых, их проверка далеко не всегда тривиальная задача, кроме того, надо хорошо знать схему БД. Тестировщик, конечно, может проверять на инъекции, но это точно не тот тестировщик, который тестирует интерфейсы в вебе, делает функциональные тесты.
littleguga: ну, с инъекциями и оптимизацией - это оверкилл. Никогда бы не доверил это тестировщику, потому как множество нюансов зависит от архитектуры БД, от ее типа, от ОРМ, от применяемых паттернов, в общем, это чисто программерская задача (либо архитектора БД). Тестировщику для кругозора, наверное, стоит этим интересоваться, но не более.
mipan: тестовые данные - это данные для теста или данные о том, как отработал тест? Если второе, то еще могу представить, а если первое и речь идет про юнит-тесты, то это чисто программерская задача, если речь идет про тестовые данные для разных функциональных/e2e кейсов, то последний раз я видел, что это делали программисты (и сам так делаю). Во-первых, с ORM это делать удобнее в разы, особенно, если таблицы массивны (а иногда без нее не обойтись вообще, когда требуются опредленные функции для парсинга/вставки данных), во-вторых, прямой вставкой в БД можно напортачить с ключами, с путями до чего-нибудь, нарушить нормализацию БД. Если тестировщик что-то делает с SQL, то это выглядит костылем, т.к. во всех случаях оно опасно, кроме того, есть способы его от этого обезопасить.
Где-то видел интервью Игоря Сысоева о nginx, где он писал, что им за полгода донатнули около $1000 всего, чего ни на что не хватало, после чего они задумались о привлечении средств другими путями. Но интервью найти никак не могу сейчас :)
Ха-ха, да. Просто не рефакторил совсем сообщение, вот все как было в виде потока мыслей, так и попало сюда, поэтому много лишнего написал, но зато читать, думаю, прикольно, если кто-таки прочел это. С анекдотом на 100% согласен :)
Вероятно, вы правы. Насчет Савина - да, это был он, я написал в статье, что она его читает. Хотя, по моему мнению, это вообще никакая книженция, хотя стиль там хорош для новичка.
Насчет минимума - понял вас. Не совсем только ясно, зачем нужен SQL тестировщику.
Валерий Рябошапко: да, насчет файла я ошибся. Просто думал, что надо же как-то флашить изменения, но совсем не подумал о том, что есть сбрасывание по мере заполнения буфера (и, кстати, flush()).
Сложной обработкой данных я бы это не назвал, но парсинг JSON, два поиска по регулярке, затраты на криптографию - это точно значительно меньше по времени, чем затраты на ввод/вывод. Так что вполне может оказаться, что треды быстрее будут. Потестируйте, т.к. это сделать очень просто в вашем случае, а ответ будет достоверный под задачу сразу. Можно даже очень грубо оценить по /usr/bin/time -v время и оперативку у всего скрипта, чтобы не запариваться, в данном случае я бы так и сделал. Раз 5 хватит на скрипт хватит, чтобы уже понять, стоит ли заморачиваться. Треды дадут значительно меньший оверхед в памяти, времени на переключение контекстов, но зато использоваться будет только одно ядро, т.к. GIL :)
Общий учебник не знаю. Я только однажды читал в интернете статьи на тему "паралелльный кодинг в Java" + обрывки какой-то книги по ней же, там было описание подходов, примитивов синхронизаций, известные паттерны. Сам с этой темой знаком по задачам, которые вы и решаете. А так эта тема очень сложная и, думаю, общей книги тут не будет, т.к. ооооочень широко все: я, например, многие данные о процессах в юниксе узнал только после того, как начал поглядывать в Таненбаума о том, как это устроено + гуглить параллельно. Так что если есть именно академический интерес, то можете начать с любой языко-зависимой книги, а дальше будет понятно.
sergey_privacy: это адский костыль, то, что у вас сейчас. Это нужно и правильно делать прямо на фронтенде, как вам уже указали. Браузер все равно будет их интерпретировать, хоть как вставляйте, т.е. ему и сейчас не сильно проще, если вы так думаете ;) Скрипты в идеале должны быть в конце body, кстати.
Евгений: может я просто сегодня слишком суров, ничего личного, просто перед вашим вопросом пролистал тостер и впал в ужас над вопросами)) Если не ясно, откуда подходить, то лучше читать фундаментальную литературу или хотя бы статью по SQL. Даже над единичной задачей это стоит делать.
vasIvas: а почему на флеше-то не делаете? Не нравится - делайте на флеше. Не хотите делать на флеше, а инструменты не устраивают? Пишите/форкайте. Эмоции стоит выливать в творчество или в блог.
Флеш умирает, кстати, по иной причине - он не очень красиво вписывается в парадигму "приложение в браузере". Веб стремится создать свой инструмент, свободный, универсальный, постоянно допиливает html/css/js, кучу исторического говна, браузерные API. Это лучше, чем что-то, принадлежащее адобу и закрытое.
Насчет "почему советуют" вам к психологу. Возможно, они говорят "стоит посмотреть", а вы слышите "флеш говно, стоит использовать"?
Uassya: мне тоже показалось, что вопрос в значительной мере психологический. Судя по описанию, с эволюцией все в порядке: выбрана инженерия ПО, есть понимание, чего хочется (говорите, что алгоритмы - не очень, а вот архитектурные фичи - круто). Думаю, проблем не будет, если заниматься самообразованием, не класть болт. Ну то есть не похоже, что вы в чем-то не определились. Но зато явно прослеживается, что "чет штурмовать мозг влом", "чет ток деньги надо". Это же психология. Вы с одной стороны понимаете, что много чего изучать нужно, понимаете, где пробелы, чего хотелось бы, но с другой стороны что-то сопротивляется.
Я имею в виду, что есть некоторое "идеальное", которое заставляет людей делать так, как было бы красиво, познавать мир и так далее. Именно это "идеальное" заставляет вкладывать в опенсорс, создавать очень крутую музыку забесплатно, помогать людям здесь на Тостере, не спать спокойно, написав плохой код, тратить всю жизнь, чтобы понять, почему электрический ток работает... В общем, все эти крутые штуки, что делают люди, от которых отдает "душой" и при понимании которых встают волосы дыбом, они не делались за деньги. Посмотрите вокруг себя, и вы с огромным трудом найдете исключения. В правильном мире деньги - это результат вложений, результат скиллов. Ведь живем-то мы, чтобы познавать, в конечном счете деньги с собой в гроб не заберешь, а вот спокойно прожитая жизнь и что-то оставленное навсегда из идеального - это чуть ли не смысл жизни.
И мне кажется, что вам все, что я написал, очевидно, что и породило этот вопрос. Неужели не психология все еще?)))
Я так скажу. Вполне реально развиваться так, как вы описали. И работать удаленно с описанным стеком знаний/технологий тоже реально (знаю людей на удаленной работе с похожими штуками, тоже инженерия, тоже php, мои друзья). И мотивация в виде денег может очень далеко вас протащить, "заставить" сделать многое. И будете хорошим профессионалом. Но вот только те, кто делает это не совсем ради денег, всегда будут чувствовать себя свободнее, комфортнее, а то и легко перегонять в чем-то. С этим либо мириться, либо что-то менять и разбираться в себе.
Хотя сжатие-скорость зависит от типа трафика. Потестируйте. Но все равно это баловство в целом :)
Если фикс mss отключен, буферы верные, с сжатием поигрались, с MTU поигрались (в сторону увеличения), udp используется вместе с tun, то вряд ли чего еще посоветую.