Size: a a a

Django [ru] #STAY HOME

2019 May 11

A

Alex in Django [ru] #STAY HOME
Alexander Ovchinnikov 🦁
то есть ты предлагаешь мне написать пакетный менеджер?
на этапе сборки слоя, бери что угодно, какой угодно менеджер (или никакой) либы и тд
источник

A

Alex in Django [ru] #STAY HOME
Alexander Ovchinnikov 🦁
я как бы и спрашивал про пакетный менеджер для слоёв
он не накладывает никаких ограничений
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
окей, тогда вопрос: как это подключить?
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
вот есть репозитории CentOS'а
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
а AWS Lambda, это что-то совместимое (Amazon Linux на базе RHEL и CentOS на базе RHEL)
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
как мне получить самую новую либу из наиболее совместимого релиза и запихнуть её в слой?
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
какую либу - я заранее не знаю, но знаю, допустим, название (то, что в yum бы написал)
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
то есть нужны какие-то скрипты, которые бы лезли в репозиторию, скачивали оттуда самый новый .rpm для данного релиза, проверяли подписи, распаковывали, приводили в нужный формат и делали слой
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
где эти скрипты? это мне писать?
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
да мне проще AWS Lambda вообще не брать, чем пакетный менеджер для слоёв программировать
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
AWS Lambda и слои - это просто... только сначала вам надо написать менеджер пакетов...
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
а используя тот же Fission внутри Kubernetes у меня вообще нет такого гемора
источник

A

Alex in Django [ru] #STAY HOME
Alexander Ovchinnikov 🦁
как мне получить самую новую либу из наиболее совместимого релиза и запихнуть её в слой?
также как и обычно, но собираешь деплой/апдейт слоя
источник

A

Alex in Django [ru] #STAY HOME
Alexander Ovchinnikov 🦁
да мне проще AWS Lambda вообще не брать, чем пакетный менеджер для слоёв программировать
ну кто это сказал? бери любой
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
как обычно - это не знать, какие у тебя багфиксные версии либ, а знать только названия либ и доверять мэинтейнерам релиза ОС
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
чтобы то, что ты говоришь, было действительно просто, нужно чтобы Amazon сделал репозитории и разрешал эти слои генерировать на базе либ оттуда) из твоих слов сейчас следует, что этого нет)
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
а пока этого нет, проект с зависимостью от хотя бы 1 либы проще поднимать именно в контейнере в Kubernetes, а не на AWS Lambda
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
мне нравятся аналогии, знаешь, как наш с тобой спор сейчас выглядит: ты такой говоришь "водить машину не нужно, есть автопилоты, нажал на кнопку, она довезла тебя куда нужно, разумеется, нужно перепаивать 10 микросхем каждый месяц где-то там внутри, но разве это сложно? с паяльником-то проще разобраться, чем водить машину"
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
то есть ты предлагаешь способ решения одной проблемы и оказывается, что на пороге появляется новая, куда более сложная проблема, чем та, которую ты пытаешься решить) и вот нафига оно?
источник

CS

Crypto Set in Django [ru] #STAY HOME
dev, [11.05.19 18:47]
Hi friends!  need help. i have large QuerySet with Model field
date = models.DateTimeField(blank=True, null=True)
i am using DRF and serializers.SerializerMethodField(),
i want to make short Statistic with custom field,  where numbers is month representatinon

"statistic" : {
  "2016" : [ {1 : 200}, {2 : 400}, ........ {12 : 700}],
 "2017" : [ {1 : 200}, {2 : 400}, ........ {12 : 700}],
}
can some one help

this is my sollution:
    def last_day_of_month(self, any_day):
       next_month = any_day.replace(day=28) + datetime.timedelta(days=4)  # this will never fail
       return next_month - datetime.timedelta(days=next_month.day)

   def get_messages_years(self, obj):
       qs = obj.envelopemodel_set
       years = qs.dates("date", "year").distinct()
       data = dict()
       for y in years:
           month_ = dict()
           for month in range(1, 13):
               count = qs.filter(
                   date__range=(datetime.datetime(y.year, month, 1, tzinfo=timezone.utc),
                                self.last_day_of_month(
                                    datetime.datetime(y.year, month, 1, tzinfo=timezone.utc)))).count()
               month_[month] = count
           data[y.year] = month_
       return data
источник