Тут можно посмотреть прошлые поделья на JS и Python. Основные проблемы: (1) сложный контракт, (2) преусложнения типа возможностей пробросить или зафорсить переменные окружения. Так же кучка технических проблем. Главные: (1) нет гарантий, что одновременно бежит только один скрипт, это создаёт и риск гонок и риск ДДОСа и (2) текущая версия запускает процесс в группе и по таймауту убивает не только его, но и всех его потомков, старые версии могли оставлять грязь, что тоже приводило к возможностям ДДОСа.
Про переменные окружения могу сказать отдельно. Сейчас скрипту передаются только те переменные, которые выставил сам движок. Кажется, что это слишком жёстко. Но на самом деле, это позволяет избежать кучи плохоотлавливаемых проблем, связанных с тем что в "тесте" и в "проде" разные переменные окружения. Нужен тебе определённый LANG или PATH или LD_PRELOAD — напиши явно.
Спрашивали — отвечаем https://yadi.sk/i/G0pO9FhoK4zO1g Но там нормальному человеку ничего не понять. Это вес за 1000 дней с поездки на самокате за 1000 дней. Да, спором я занимаюсь не очень регулярно )
Я смотрел в сторону фреймоворков и что-то не стал с ними связываться по нескольким причинам
Последний раз я смотрел где-то в 2017 году, и тогда всё, что я видел, показалось мне каким-то не зрелым (возможно, сейчас это уже не так)
В данной случае, я использую, наверно процентов 3-5 от всех возможностей API. Тащить для этого какой-то фреймворк?.. см. следующий пункт
Так как реально я использую только часть функциональности только двух методов (getUpdate и sendMessage (ну ладно, и чуть-чуть sendPhoto :-))), заимплементить самому API — тривиальная задача.
Так и получилось, что я не использую фреймворки. Как видите, это связано со спецификой задачи. В других условиях фреймворки были бы вполне уместны.
Хотя… одна из ценностей Go: не прятать вещи за слишком развесистыми абстракциями (not hiding things behind too much abstraction). API телеграма на столько простое, что я не очень понимаю, надо ли вообще строить для него какой-то фреймворк. Но тут уж как кто любит :-)
Nodejs — тоже не плохо, но Go понравился больше :-)
— Главный «объективный» довод: код на Go показался мне на много более читабельным.
— Главный субъективный довод: я захостил всё это не VDS-ке за $10 в год. Там не очень много места. Гошный бинарь можно собрать где угодно, а туда просто положить. И всё — никакие зависимости больше не нужны.
Но нода тоже очень и очень не плоха! Если интересует, вот вариант примерно того же самого, но на ноде github.com/michurin/instant-bot Развивать его я пока не планирую, но любой желающий может форкнуть это добро и делать с ним что угодно.
А я, напротив, более спокойно покупаю билет, если у меня спрашивают что-то типа телефона. Это позволяет мне надеяться что, если будет какая-то заминка (случаются неполадки, недоступность разных информационных систем...), то я смогу подтвердить свою личность ещё одним способом. Не вижу ничего плохого в том, что авиаперевозчик знает мой мобильный. Он и так уже мои паспортные данные знает.
На этот счёт у меня есть чёткий критерий.
— Если телефон просят при покупке чего-то, — это только мне на пользу. (Дополнительное подтверждение факта покупки и дополнительные возможности, например, СМС уведомление о статусе авиарейса)
— Если телефон просят для розыгрыша, скидки, карточки… Будьте уверены — реклама повалится.
Такой же политики я придерживаюсь и при покупке более виртуальных вещей, типа хостинга. Если процедура выглядит: «давай деньги, вот тебе пароль», то я как-то не очень доверяю такому хостингу. Я знаю, что если что, не смогу доказать, что я это я. Поэтому я без сожалений сообщаю свой телефон всяким хостерам, регистраторам, гуглам и вконтактикам. Более того, поддерживаю этот номер актуальным.
Это (a) не всегда возможно, ибо https, и (b) очень дорого: этот прокси должен собирать чанканые документы, зиповать туда-сюда, анализировать контент, чтобы не ломать картинки и прочие видосы, править заголовки, хотя бы content-length… Я вам скажу по секрету, что даже у роскомнадзора пока кишка тонка такой прокси поднять.
Говорить много и отвлекаться на детали — это проблема первого-второго прогона. А потом в голове возникает чувство «это я уже говорил» и начинаешь что-то упускать и недоговаривать.
Многократно убеждался в эффективности описанной системы прогонов. Но по себе замечаю, что прогонять больше трёх раз опасно. Речь начинает «забалтываться». Какие-то аспекты начинают казаться очевидными и ты начинаешь уделять им меньше времени, говорить про них вскользь. От этого потом очень трудно избавиться. Прогонять два раза подряд… я бы поостерёгся.
Очень вас понимаю. Сталкивался с такой же хренью. Банят и не говорят, толком, почему. Писал им много раз в поддержку — безрезультатно. Ходишь по одному и тому же кругу, а толку никакого. И когда я уже сдался, я, от нечего делать, запостил грустное сообщение в гуглогруппы. И это сработало! Тут же на меня вышла какая-то девушка и всё порешала.
Хотя, из-за чего всё это началось мне так толком никто и не объяснил.
Успехов! Попробуйте не только суппорт. Мне кажется, он бестолковый.
А мне пост понравился. Автору спасибо! Хотя, местами, повествование действительно напоминает автобиографию из «курьера»
цитата
Я родился в провинции Лангедок в 1668 году. Мой род, хоть ныне и обедневший, принадлежит к одним из самых славных и древних семейств королевства. Мой отец, граф де Бриссак, сражался в Голландии в полку господина Лаваля, был ранен копьем при осаде Монферрата, на стенах которого он первым водрузил королевское знамя. До 17 лет я жил в родовом замке, где благодаря заботам моей матушки баронессы де Монжу был прилично воспитан и получил изрядное образование. Ныне, расставшись со своими дорогими родителями, дабы послужить отечеству на поле брани, прошу зачислить меня в роту чёрных гвардейцев его Величества.
Хотя, от этого пост не становится хуже :-) Мне всегда очень интересно, как люди приходят в необычные места. Такие, как Google, например.
Цены есть и подешевле (мне нравится bookmyname.com).
В плане управления записями не наблюдаю никакого API. В этом смысле NSы от Yandex великолепны! (pdd.yandex.ru) И кстати, что за странное ограничение: привязка почты к gmail? Яндекс таких ограничений не накладывает, к чему хочешь, к тому и привязывай. У меня там три домена и почта на одном Яндексовая, на другом гугловая, а на третьем нет никакой.
А что за алгоритм? Я на досуге делал «жизнь» на JS, так она работает на порядок быстрей: осторожно, рекламная ссылка :-). Мне казалось, что между муравьём и жизнью принципиальной разницы нет. Или я ошибаюсь?
Спасибо за внимательность! Поправил
Тут можно посмотреть прошлые поделья на JS и Python. Основные проблемы: (1) сложный контракт, (2) преусложнения типа возможностей пробросить или зафорсить переменные окружения. Так же кучка технических проблем. Главные: (1) нет гарантий, что одновременно бежит только один скрипт, это создаёт и риск гонок и риск ДДОСа и (2) текущая версия запускает процесс в группе и по таймауту убивает не только его, но и всех его потомков, старые версии могли оставлять грязь, что тоже приводило к возможностям ДДОСа.
Про переменные окружения могу сказать отдельно. Сейчас скрипту передаются только те переменные, которые выставил сам движок. Кажется, что это слишком жёстко. Но на самом деле, это позволяет избежать кучи плохоотлавливаемых проблем, связанных с тем что в "тесте" и в "проде" разные переменные окружения. Нужен тебе определённый LANG или PATH или LD_PRELOAD — напиши явно.
Спрашивали — отвечаем https://yadi.sk/i/G0pO9FhoK4zO1g Но там нормальному человеку ничего не понять. Это вес за 1000 дней с поездки на самокате за 1000 дней. Да, спором я занимаюсь не очень регулярно )
Я смотрел в сторону фреймоворков и что-то не стал с ними связываться по нескольким причинам
Так и получилось, что я не использую фреймворки. Как видите, это связано со спецификой задачи. В других условиях фреймворки были бы вполне уместны.
Хотя… одна из ценностей Go: не прятать вещи за слишком развесистыми абстракциями (not hiding things behind too much abstraction). API телеграма на столько простое, что я не очень понимаю, надо ли вообще строить для него какой-то фреймворк. Но тут уж как кто любит :-)
— Главный «объективный» довод: код на Go показался мне на много более читабельным.
— Главный субъективный довод: я захостил всё это не VDS-ке за $10 в год. Там не очень много места. Гошный бинарь можно собрать где угодно, а туда просто положить. И всё — никакие зависимости больше не нужны.
Но нода тоже очень и очень не плоха! Если интересует, вот вариант примерно того же самого, но на ноде github.com/michurin/instant-bot Развивать его я пока не планирую, но любой желающий может форкнуть это добро и делать с ним что угодно.
На этот счёт у меня есть чёткий критерий.
— Если телефон просят при покупке чего-то, — это только мне на пользу. (Дополнительное подтверждение факта покупки и дополнительные возможности, например, СМС уведомление о статусе авиарейса)
— Если телефон просят для розыгрыша, скидки, карточки… Будьте уверены — реклама повалится.
Такой же политики я придерживаюсь и при покупке более виртуальных вещей, типа хостинга. Если процедура выглядит: «давай деньги, вот тебе пароль», то я как-то не очень доверяю такому хостингу. Я знаю, что если что, не смогу доказать, что я это я. Поэтому я без сожалений сообщаю свой телефон всяким хостерам, регистраторам, гуглам и вконтактикам. Более того, поддерживаю этот номер актуальным.
Ну это у меня так :-) Конечно, всё индивидуально.
Хотя, из-за чего всё это началось мне так толком никто и не объяснил.
Успехов! Попробуйте не только суппорт. Мне кажется, он бестолковый.
Хотя, от этого пост не становится хуже :-) Мне всегда очень интересно, как люди приходят в необычные места. Такие, как Google, например.
Цены есть и подешевле (мне нравится bookmyname.com).
В плане управления записями не наблюдаю никакого API. В этом смысле NSы от Yandex великолепны! (pdd.yandex.ru) И кстати, что за странное ограничение: привязка почты к gmail? Яндекс таких ограничений не накладывает, к чему хочешь, к тому и привязывай. У меня там три домена и почта на одном Яндексовая, на другом гугловая, а на третьем нет никакой.
Или я чего-то не заметил?