TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #759 · 6.02

Попробовали с друзьями детективный квест «Безмолвный свидетель» от Лавки Игр. Это такая мини настольная игра, работающая вместе с навыком для Алисы. В Алисе записанные профессиональными актёрами реплики и атмосферный звук погружают вас в сюжет некоего таинственного убийства, которое вы должны раскрыть, разговаривая с персонажами. Физически при этом есть карточки с людьми, предметами и локациями, которые вы открываете в нужном порядке, чтобы видеть ваш инструментарий. Например, какой-то человек упоминает другого, и Алиса вам командует открыть карточки с такими-то номерами. У вас появляется новый персонаж и реплики с вашей стороны, которые вы можете теперь говорить в том числе всем предыдущим персонажам, получая доступ к новым веткам диалогов. (Не рассматривайте детали на фото, если не хотите словить спойлеры). С этим квестом связана прикольная история: когда Лавка только презентовала его, я им написал: «Так и так, я аккредитованный Яндексом и Сбером разработчик под голосовые платформы, большой опыт, давайте вам сделаю что-нибудь». Меня проигнорировали, а в итоге игра вышла с техническими и UX проблемами. Про часть этих проблем написано несколько раз прямо на карточках для игры. В конечном счёте со мной всё-таки связались, и я описал алгоритм решения, посмотрим, внедрят ли его в следующих частях. Если говорить о самой игре, то приключение вышло очень интересное и захватывающее. Мы с друзьями убийцу не нашли, потому что слишком много думали: отбросили первую же гипотезу из-за простоты, а она в итоге и оказалась верной. Да, в диалогах есть пара нелогичных и запутывающих кусочков, но, если бы вы были настоящим детективом, беседующим с настоящими людьми, путаницы было бы ещё больше, так что посчитаем это изюминкой. В остальном оригинальная механика, действительно хорошее погружение в атмосферу и вполне решаемая задачка (хотя мои друзья после игры сказали, что им ответ не нравится и кажется притянутым за уши, но лично я с этим мнением не согласен). В качестве недостатка отмечу очень плохое техническое состояние навыка. Допустим, UX вылизать не смогли, потому что не было опыта в Алисе. Но просто обеспечить бесперебойную работу — не великого ума дело. У нас (и, судя по чатам, не только у нас) постоянно навык сваливался в «Не отвечает», и приходилось ждать неопределённое время, пока он заработает. Навскидку возможных причин четыре: 1. Плохая обработка ошибок времени выполнения, программа сваливается в пятисотую, пока что-то её не перезагрузит по таймеру. 2. Плохая обработка возможного состояния сессии, программа сваливается в пятисотую, пока Яндекс не сбросит кэш состояния игрока. 3. Слабый сервак, устаревший медленный язык программирования. 4. Плохое проектирование программы на многопоточную нагрузку: какие-нибудь синхронные операции оправки данных в статистику, отсутствие горячего кэша, неэффективные структуры данных — всё, что может периодически увеличивать лаг выше разрешённого Яндексом. В какой-то момент уже в самом конце мы были очень злы из-за багов и почти полезли в сеть тупо смотреть прохождение. Если бы навык не ожил, впечатления от игры были бы критически негативные. А так они скорее позитивные. Если Лавка исправит проблемы, то очень рекомендую. Да, игра по сути одноразовая, но и стоит она как билет в кино: вы покупаете классное развлечение на целый вечер для компании почти любого размера. Вторую часть обязательно возьму, когда выйдет. #games

Hashtags

Резултати

Намерени 5 подобни публикации

Търсене: #staticmethod

当前筛选 #staticmethod清除筛选
djangoproject

@djangoproject · Post #593 · 13.04.2018 г., 19:48

@#classmethod vs @#staticmethod vs "plain" methods What's the difference? class MyClass: def method(self): """ Instance methods need a class instance and can access the instance through self. """ return 'instance method called', self @classmethod def classmethod(cls): """ Class methods don't need a class instance. They can't access the instance (self) but they have access to the class itself via cls. """ return 'class method called', cls @staticmethod def staticmethod(): """ Static methods don't have access to cls or self. They work like regular functions but belong to the class's namespace. """ return 'static method called' # All methods types can be # called on a class instance: »> obj = MyClass() »> obj.method() ('instance method called', <MyClass instance at 0x1019381b8>) »> obj.classmethod() ('class method called', <class MyClass at 0x101a2f4c8>) »> obj.staticmethod() 'static method called' # Calling instance methods fails # if we only have the class object: »> MyClass.classmethod() ('class method called', <class MyClass at 0x101a2f4c8>) »> MyClass.staticmethod() 'static method called' »> MyClass.method() TypeError: "unbound method method() must be called with MyClass " "instance as first argument (got nothing instead)"

djangoproject

@djangoproject · Post #385 · 15.07.2017 г., 16:17

# @classmethod vs @staticmethod vs "plain" methods # What's the difference? class MyClass: def method(self): """ Instance methods need a class instance and can access the instance through self. """ return 'instance method called', self @classmethod def classmethod(cls): """ Class methods don't need a class instance. They can't access the instance (self) but they have access to the class itself via cls. """ return 'class method called', cls @staticmethod def staticmethod(): """ Static methods don't have access to cls or self. They work like regular functions but belong to the class's namespace. """ return 'static method called' # All methods types can be # called on a class instance: »> obj = MyClass() »> obj.method() ('instance method called', <MyClass instance at 0x1019381b8>) »> obj.classmethod() ('class method called', <class MyClass at 0x101a2f4c8>) »> obj.staticmethod() 'static method called' # Calling instance methods fails # if we only have the class object: »> MyClass.classmethod() ('class method called', <class MyClass at 0x101a2f4c8>) »> MyClass.staticmethod() 'static method called' »> MyClass.method() TypeError: "unbound method method() must be called with MyClass " "instance as first argument (got nothing instead)" #classmethod#staticmethod

djangoproject

@djangoproject · Post #87 · 11.07.2016 г., 11:53

https://docs.python.org/3/library/functions.html#staticmethod #staticmethod(function) Return a #static method for function. A static method does not receive an implicit first argument. To declare a static method, use this idiom: class C: @staticmethod def f(arg1, arg2, ...): ... The @staticmethod form is a function decorator – see the description of function definitions in Function definitions for details. It can be called either on the class (such as C.f()) or on an instance (such as C().f()). The instance is ignored except for its class. Static methods in Python are similar to those found in Java or C++. Also see classmethod() for a variant that is useful for creating alternate class constructors. For more information on static methods, consult the documentation on the standard type hierarchy in The standard type hierarchy. class str(object='') class str(object=b'', encoding='utf-8', errors='strict') Return a str version of object. See str() for details. str is the built-in string class. For general information about strings, see Text Sequence Type — str.