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

TGINSIGHT SIMILAR POSTS

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

Изходен канал @clockstackwheels · Post #784 · 21.03

У Лавки Игр хороший SMM, но я на их примере хочу проиллюстрировать важность умения разбираться в деталях той системы, которой ты пользуешься. СММщик писал пост с упоминанием статьи и вместо прямой ссылки на запись просто скопировал свой текущий URL из адресной строки браузера после того, как зашёл в поиск и нашёл нужный текст. То есть, в тексте вместо простого /wall-8375786_166962 получилось что-то такое: /search?c%5Bper_page%5D=40&c%5Bq%5D=истбрук&c%5Bsection%5D=statuses&w=wall-8375786_166962 Можно говорить, что это скорее ошибка ВК, но в разработке на самом деле есть некоторые подходы вроде CQRS, идемпотентности и семантического использования HTTP-методов, говорящие, в числе прочего, о том, что URL должен полностью отражать текущее состояние страницы. Думаю, это наследие Дурова, который любил консервативные решения. В любом случае, ВК здесь совершенно не уникален, и немало систем, которые ведут себя точно так же. При этом СММщик вызывает своей ссылкой у пользователей непредвиденное поведение: заход на страницу поиска и ввод поисковой фразы. А нижняя ссылка на скриншоте ещё хуже — обратите внимание, там нужный пост был открыт изнутри некоторой личной переписки, поэтому нажатие на ссылку формирует, внезапно, запрос на переписку с незнакомым большинству пользователей человеком, с которым общался СММщик в этот момент. Помимо просто путаницы для людей, которые в этом не разбираются (а таких большинство), возникает ещё и вполне прямая опасность: мало ли, что за страницы и с какой целью открыты у СММщика в момент вставки ссылки. Вполне возможна ситуация, при которой таким способом будут выданы закрытые сведения или даже даны несанкционированные доступы. #web

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.