Поддерживать эту таблицу в актуальном состоянии не так-то просто, а цена ошибки высока.
Я у себя дополнительно проверяю hostname всех кандидатов на забан. Казалось бы, кто будет менять домен у имен хостов ботов? Но этим летом Яндекс, например, стал ходить с yandex.net и yandex.com, а до этого всю жизнь ходил только с yandex.ru. В итоге сайт почти полностью вылетел из индекса и обратно заходил почти месяц.
Ага, а потом вы пропатчите так еще пару-тройку расширений, и когда придет время их обновлять, будете снова руками все эти патчи накладывать. Это плохая практика имхо.
Нормальный способ — использовать во всех проектах общую прослойку для работы с базой и туда такие вещи добавлять.
Проблема с кэшем, как уже выше заметили, надуманная. А если уж использовать мощности Гугла для мониторинга, то есть же App Engine. Даже готовое решение уже кто-то сделал xercestech.com/app-engine-server-monitor.geek
Оно правда не обновляется уже пару лет, но от этого с со своими задачами справляться не перестает. Опрос пяти серверов раз в минуту более чем укладывается в бесплатную квоту. Я себе к этой штуке еще отправку смсок прикрутил и вот уже сколько-то лет не парюсь больше по поводу мониторинга.
Мое второе решение отрабатывает почти также на очень длинных строках (10М) и в несколько раз быстрее на куче мелких, по 10 символов. Но это скорее всего из-за накладных расходов enumerate.
Вот если и строка и алфавит будут огромными, тогда ваше решение будет быстрее, да.
def first_uniq2(line):
i = 0
for c in line:
i += 1
if c not in line[i:] and c not in line[:i-1]:
return c
Очень очевидное решение и при этом быстрее решения топик-стартера. На моей машине в 3 раза быстрее если нужный символ где-то в начале строки и на несколько процентов если в конце.
У меня как-то старый сименс упал в чашку горячего чая с сахаром. После просушки проработал несколько месяцев, а потом вроде динамик сдох или микрофон, не помню уже.
О, хорошо, что Болгария. А то у их посольства пока визу Д получали видели только пенсионеров переезжающих. А ведь имхо у айтишников с собственным бизом не так-то и много вариантов для переезда из России. Таиланд, Гоа и Болгария. Ну не считая совсем уж далеких Эквадоров. Но вот почему-то в Болгарию мало кто едет.
В какой город-то хоть переезжаете? Мы в Варну собираемся если все сложится как надо, в октябре.
Я туда правда добавил еще проверку load average, чтобы некоторые скрипты могли подождать если в момент, когда крон их решил запустить уже и так нагрузка высокая. Но проверку на существование процесса надо будет на flock переделать на досуге.
Можно, но это уже совсем не тривиально. Плюс автор того топика на серче справедливо замечает, что ответы на эти запросы «не являются 100%-й защитой от обвинений в незаконном предпринимательстве».
Там человек получал деньги банковскими чеками напрямую от Гугла. Это можно делать и сейчас, но процесс инкассо этих чеков в России просто ужасен. Я делал это два раза в разных банках, лучше пусть меня налоговая штрафует.
Пункт 3.6 статьи 208? Тут проблема в том, что сейчас единственный вменяемый способ получать деньги от Гугла — это почтовые денежные переводы. А приходят они не от самого Гугла, а от ООО «Рапида», т. е. от российского юр. лица. Насколько я понимаю, налоговая имеет право потребовать от меня в этом случае договор, по которому я получил деньги Рапиды, так? А получить такой договор не представляется возможным.
Вообщем, на мой взгляд, все совсем не так просто. И даже найти бухгалтера, который даст однозначный ответ на эти вопросы у меня лично найти не получилось.
Я у себя дополнительно проверяю hostname всех кандидатов на забан. Казалось бы, кто будет менять домен у имен хостов ботов? Но этим летом Яндекс, например, стал ходить с yandex.net и yandex.com, а до этого всю жизнь ходил только с yandex.ru. В итоге сайт почти полностью вылетел из индекса и обратно заходил почти месяц.
Нормальный способ — использовать во всех проектах общую прослойку для работы с базой и туда такие вещи добавлять.
Оно правда не обновляется уже пару лет, но от этого с со своими задачами справляться не перестает. Опрос пяти серверов раз в минуту более чем укладывается в бесплатную квоту. Я себе к этой штуке еще отправку смсок прикрутил и вот уже сколько-то лет не парюсь больше по поводу мониторинга.
Вот если и строка и алфавит будут огромными, тогда ваше решение будет быстрее, да.
Если словарь символов небольшой (латинские буквы в разных регистрах + цифры), то это быстрее на любых строках. Процентов на 20 в худшем случае.
Очень очевидное решение и при этом быстрее решения топик-стартера. На моей машине в 3 раза быстрее если нужный символ где-то в начале строки и на несколько процентов если в конце.
Не знаю где они этот IndexTank используют, но для основного поиска у них Solr.
В какой город-то хоть переезжаете? Мы в Варну собираемся если все сложится как надо, в октябре.
Я туда правда добавил еще проверку load average, чтобы некоторые скрипты могли подождать если в момент, когда крон их решил запустить уже и так нагрузка высокая. Но проверку на существование процесса надо будет на flock переделать на досуге.
Вообщем, на мой взгляд, все совсем не так просто. И даже найти бухгалтера, который даст однозначный ответ на эти вопросы у меня лично найти не получилось.