Aragaer
а вот плюсы чуть сложнее, а именно эксепшны
Aragaer
все остальное еще можно на си реализовать
Aragaer
сами эксепшны тоже
Aragaer
затык там в разворачивании стека при срабатывании эксепшна. В сях это придется сделать руками, а в плюсах в компайл тайме вся нужная информация вычисляется
Илья
вот чем мне не нравится С, так это его printf, scanf
Илья
а плюсах всё проще cout » ; cin «
Amaro
Ну, формально, первое творение Страустрапа было транслятором с плюсов в си.
Aragaer
я даже когда на плюсах пишу, то все равно printf и scanf, потому что cin и cout не осилил
Илья
А чего там осваивать?
Aragaer
первое - да
Aragaer
using std - вот чот такое надо. Или std::cin
Aragaer
и много лет назад я этого не сделал, потыкался и забил
Aragaer
много - 18 или 19 лет назад
Aragaer
а потом уже привык к printf и scanf и переучиваться не хочется
Илья
пишешь перед int main()
using namespace std;
и всё
дальше просто cout, cin
Tishka17
Aragaer
я не в курсе этих using, предпочитаю писать полное имя (когда мне приходится писать на плюсах)
Aragaer
а еще там гемор начинается со всякими std::hex и std::endl.
Daniil
Amaro
ЦПП в чате питона - ересь! =))
Daniil
а где чат по спп?)
Aragaer
он где-то есть 8) pro.cxx или типа того
Amaro
Скажите, это канал об аниме? ©
Илья
Daniil
Daniil
спасибо!
Дмитрий
пространства имен это точно сложно?)
Alex
нет
Alex
какие? в цпп?
Дмитрий
ну господа выше испытывают трудности вроде бы
Проксимов
Илья
Обычно потом указывают namespace
Yan
Всем привет
Egor
Илья
Андрей
Egor
Ну а мобильная разработка PWA приложений архитектурно будет сильно отличаться от нативки?
Egor
К тому же мобилко гуи это ахиллесова пята питона, как по мне
Tishka17
Egor
Либо юзать нативные инструменты, либо PWA - и питонобэк сойдёт,если нужен бэк
Egor
Не?
Egor
Я этим хотел подчеркнуть что и там и там будет и веб скорее всего, и использование нативного апи
Tishka17
Ну pwa - это хтмл и жс. А значит прощайте готовые системные виджеты
Egor
Только под очень разным соусом
Tishka17
В pwa ты не юзаешь нативное апи
Tishka17
Ты юзаешь апи браузера
Tishka17
Оно совсем другое
Egor
В pwa ты не юзаешь нативное апи
Я полагаю что да, апи браузера, но есть и способы работать с нативным. Банально уведомления всякие в скрытом режиме - разве невозможны?
Amaro
Зато ты делаешь мобильное приложение, не вылезая из стека веб-разработки
Tishka17
Tishka17
И сервер должен по другому их посылать
Tishka17
Может не очень сильная на пушах разница, но есть
Egor
Ну разница то да, есть, но кажется этот подход предлагает во многом схожие (с нативкой) возможности, при том что интерфейс весело проектировать при помощи веб-фронт-стека
Egor
И я вот не уверен что конкретно питон может предложить что-то даже издалека похожее
Tishka17
Точно
Tishka17
Схожие с нативом возможности (но не все) при том что интерфейс как нативный ещё надо постараться сделать
Tishka17
И все это не про питон
Egor
На счёт постараться это да)
Egor
Как минимум у фреймвлрков которые этот вопрос решают, темпы разработки и количество багов куда хуже по показателям чем у нативки непосредственно)
Egor
Однако питоногуй по идее будет страдать тем же
λ
Подскажите, а можно mock-ать внутренний клас(ы) в setUp методе, и уже в тест методах настраивать return_value?
λ
"запатчить"
λ
А то у меня получается with mock.patch или @mock.patch а вот в методах сделать - не получается
Alex
λ
Мок не патч. Можно из setUp запатчить все тесты?
Alex
Alex
из сетапа запатчить объект \ метод \ класс whatever перед тестом - да
λ
Ух, ну попробую еще раз
Alex
λ
class ServiceBaseTestCase(TestCase):
def setUp(self):
self.blob_mock = mock.patch.object(common.mongo.MongoService, 'get_status')
app.testing = True
self.c = app.test_client()
def test_service_fail(self):
self.blob_mock.return_value = {'status': False}
rv = select.c.get('/api/v1/status')
assert 'fail' == rv.get_json()['status']
Alex
λ
Ааа сек это я вырезал
Alex
два - mock.patch.object() как и другие патчи возвращают не Mock ЕМНИП
λ
mongo_patcher = mock.patch.object(common.mongo.MongoService, 'get_status')
self.mongo_mock = mongo_patcher.start()
self.addCleanup(mongo_patcher.stop)
Alex
λ
И потом у меня:
`AttributeError: <function singleton.<locals>.get_instance at 0x10e5a47b8> does not have the
attribute 'get_status'`
Egor
Чем больше я знаю о питоне, тем меньше я знаю о питоне)
λ
def singleton(target_class):
"""Decorator for classes to create simple singleton"""
instances = {}
def get_instance(*args, **kwargs):
if target_class not in instances:
instances[target_class] = target_class(*args, **kwargs)
return instances[target_class]
return get_instance
λ
Точно. Все изза синглтона. Без него работает, но как теперь сделать правильно?