Подскажите, а что нужно для того, чтобы постоянно писать в stdin программы и затем считывать ответ из stdout? К примеру, мне нужно работать с программой mystem https://tech.yandex.ru/mystem/doc/ и сейчас мне приходится на каждый запрос перезапускать cmd, а хотелось бы не тратить на это ресурсы, такое возможно?
Благодарю за ответ. Возможно я не совсем корректно подобрал пример, но меня как раз интересует вариант с:
type B struct {
*A
}
Где в A уже реализованна большая часть функциональности, и нужно переопределить только один метод. Для того чтобы не писать много дублирующегося кода. Из первого, что пришло в голову, это использовать что-то типа:
Отечественные - из-за того, что разговорный английский пока у меня не очень. А от фриланса я немного устал, хочется живого общения с командой разработчиков во время работы.
Если английский язык не является критичным требованием (так как, на данный момент, мой уровень разговорного английского ниже среднего), то да - является.
Дмитрий Лабутин: Я думаю, в вашем случае, можно попробовать установить какой-нибудь Web Application Firewall (WAF), тот же mod_security, если сервер у вас Apache.
Насчет нужности такой информации можно глянуть хотябы пример кейса из статьи на хабре habrahabr.ru/company/cloverr/blog/217117 (Компания KISSmetrics, и у них главный конкурент – компания Mixpanel. Ребята из KISSmetrics каждый день отслеживали, кто начинал использовать Mixpanel и просто звонил всем тем и предлогали рассмотреть их продукт.) Это всего лишь один из кейсов на самом деле их гораздо больше. Но не об этом речь.
Конечно можно написать простенький код обхода миллиона сайтов, к примеру, в 200-350 потоков и сохранять все в бд изпользуюя пул. Но, как мне кажется, подобные стартапы явно разрабатывают не так. Да и одной таблицей там тоже не обойтись. Ведь приложение должно проектироваться с расчетом на изменение требований: что если сайтов станет не миллион а 100 миллионов, признаков для фингерпринта более 10,000 и т.д. Под аварийным завершением я подразумевал скорее проблемы на аппаратном уровне (сбой сети, и т.п.). Потоковая модель так же со временем может упереться в ограничения железа, поэтому возможно нужно смотреть в сторону iocp для widows или epoll для *nix систем, но тогда между парсером и базой должна, я думаю, появиться прослойкак в виде очереди. Так как с таким потоком дисковая подсистема может не справится. DNS резолвинг тоже может стать одной из проблем при работе с огромным кол-вом доменов. Ну, и т.д. и т.п.