@PTPPAction · Post #601 · 21.05.2023 г., 11:25
#dev#ted423#merged site: add dajiao
TGINSIGHT SIMILAR POSTS
Изходен канал @clockstackwheels · Post #672 · 28.11
Впервые сделал крупный проект (под NDA, так что не расскажу, какой) на облачных функциях. Впечатления противоречивые. Изначально программисты арендовали компьютер в датацентре: или целиком или кусочек. На нём теоретически можно делать что угодно, но для запуска своих программ нужно было настроить операционную систему, безопасность и авторизацию, установить нужные исполнительные модули, программы для удобства деплоя, мониторинг нагрузки итд. Поэтому появились сервисы, которые это всё делают за тебя, а тебе дают буквально окно, куда можно написать свой код и запускать его удалённо на чужой машине. Конкретно я пользовался решением от Яндекса, чей протокол скопирован напрямую с Amazon Web Services. Причём, в документации не только открыто об этом говорится, но ещё и в некоторых местах перенаправляют на доки от Amazon. И SDK предлагают тоже использовать амазоновский. До санкций я бы сказал, что это не так плохо — можно использовать что-то привычное тем, кто уже работал с Amazon. Но сейчас привязка к американскому сервису выглядит скорее жирным минусом. Не знаю, есть ли у Яндекса ресурсы на какое-то серьёзное разделение. Судя по состоянию документации и платформы в целом — нет. Yandex Cloud кажется системой, которая активно развивалась несколько лет назад, а сейчас подзаброшена. Среда выполнения .NET отстаёт от актуальной на две версии (3.1 вместо 6, четвёртой версии не существует). Изначально мой проект был написан как обычное контейнеризированное приложение на .NET 6, а потом я переводил его на функции. Пришлось пройтись по всему коду и переписать несовместимые куски с C#10 на C#8, это было не слишком приятно. Документации фактически нет, а там, где есть, много путаницы. В примерах написано одно, по факту другое: например в функцию вместо объекта Request приходит просто строка, а разбирать её надо самому. Авторизацию я нашёл только на Stackoverflow. Интересно, что адекватных доков про неё не было ни у Яндекса, ни у Amazon. Функция выполняется и выгружается, поэтому ваша программа не должна рассчитывать на наличие постоянно живущего процесса. Мне пришлось вытащить из неё большой словарь, который грузится при старте, и положить уже подготовленные данные из него в Object Storage — это такое горячее файловое хранилище, там же рядом с функциями. Справедливости ради, работает это всё быстрее, чем я думал. Удалось запихнуть в функции даже сравнительно большой проект с кучей классов, создающий при запуске несколько десятков объектов и производящий загрузку из сети с декомпрессией. Другой важный плюс — бесплатная квота довольно внушительная: миллион вызовов и 10Гб*часов оперативной памяти в месяц. Для пет проекта вы сможете вообще не покупать сервер. Но если сервер у вас всё-таки есть, деплой вы уже настроили, то удобнее будет, конечно, делать как привычно. И гибкости больше. #dev
Hashtags
Общо глобално търсене
@PTPPAction · Post #601 · 21.05.2023 г., 11:25
#dev#ted423#merged site: add dajiao
@PTPPAction · Post #598 · 21.05.2023 г., 10:30
#dev#ted423#merged feat(JPop): 添加Jpop的时魔获取功能 (#1435)
@PTPPAction · Post #574 · 17.05.2023 г., 12:15
#dev#ted423#merged fix:修复用户等级要求间隔周数错误 (#1432)
@PTPPAction · Post #572 · 17.05.2023 г., 12:10
#dev#ted423#merged fix:修复用户等级要求间隔周数错误 (#1432)
@PTPPAction · Post #569 · 16.05.2023 г., 06:15
#dev#ted423#merged fix:修改聆音阅听区页面地址,修复获取聆音做种数、做种体积错误问题 (#1429)
@PTPPAction · Post #554 · 10.05.2023 г., 14:20
#dev#ted423#merged fix(byr):修复byr种子获取数据丢失 (#1422)
@PTPPAction · Post #548 · 09.05.2023 г., 12:40
#dev#ted423#merged fix: 观众魔力更名为票根;修正红叶的保种数、保种和时魔数据 (#1416)
@PTPPAction · Post #527 · 30.04.2023 г., 10:20
#dev#ted423#merged feat(UBits): 支持 Ubits
@PTPPAction · Post #525 · 30.04.2023 г., 10:10
#dev#ted423#merged feat(UBits): 支持 Ubits
@PTPPAction · Post #517 · 28.04.2023 г., 06:10
#dev#ted423#merged feat: add gamegamept.com
@PTPPAction · Post #515 · 28.04.2023 г., 06:00
#dev#ted423#merged feat: add gamegamept.com
@PTPPAction · Post #512 · 25.04.2023 г., 14:00
#dev#ted423#merged fix(fsm): add formerHosts