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

TGINSIGHT SIMILAR POSTS

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

Изходен канал @clockstackwheels · Post #1219 · 27.02

В одном чате фантазировали на тему галочки «Я умный пользователь» в различных сервисах и приложениях. Я сам был по обе стороны этой баррикады. Как юзера, меня жутко бесят ограничения и упрощения, которые сервисы вводят для тупых. Когда мне не дают что-то сделать, либо скрывают информацию, ограничивают настройки и так далее. Нередко бизнесу это выгодно: скажем, «умные» ленты везде не только из-за того, что у среднестатистического юзера отсутствует информационная дисциплина, но и для продвижения более аддиктивного контента. А отсутствие возможности ставить приложения не из стора на айфон не имеет никакого отношения к защите юзеров, зато отлично позволяет диктовать владельцам приложений любые условия, в том числе политические. Но бывают и чисто foolproof-ограничения. 3D-принтеры Bambu Lab не показывают карту высот стола и не дают менять настройки компенсации резонанса, потому что массового потребителя само наличие этих опций в меню может в лучшем случае отпугнуть, а в худшем он наломает дров и получит негативный пользовательский опыт. Как разработчик же, я попадал в ситуации, когда сделал в каком-то проекте что-то слишком умное, и юзеры отваливались на первом же сценарии, потому что не могли сделать выбор и принять решение. И тут уже ничего не остаётся: ты тупо по метрикам видишь статистику, что 50% людей не прочитали два слова гигантскими буквами в середине экрана, и тебе нужно целиком убирать какую-то возможность. Оптимальным кажется вариант, при котором где-то в глубине настроек есть галочка, включающая все выборы и продвинутые функции. Логика в том, что массовый болван эту галочку не найдёт, а немассовый гик расскажет другим своим друзьям гикам о её существовании. Но так почему-то не делают. Почему? У меня две гипотезы. Первая такая: гиков слишком мало, и ради их положительного опыта бизнес не хочет и пальцем шевелить. Зачем делать удобную форму ввода текста под фото в телеграме, если и так сойдёт, а миллион арабов больше порадуется очередной криптоскам-доилке? Вторая сложнее. Я думаю, что гики в целом слишком замороченные, и создать универсально хорошее решение для всех сложно (не невозможно, но запарно). Встречал в интернете посылы от других людей в духе: «Как вообще возможно пользоваться музыкальным сервисом без эквалайзера?», хотя лично я сам два раза в жизни крутил эквалайзер чтобы поиграться, и было это в винампе. И вот тут уже функции, желанные для одних гиков, могут мешать другим гикам. Но если ещё когда-нибудь сделаю какой-то сервис, подумаю всё-таки над продвинутым режимом. #web@clockstackwheels

Hashtags

Резултати

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

Търсене: #classmethod

当前筛选 #classmethod清除筛选
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 #426 · 28.08.2017 г., 20:10

use #super () in #classmethod: # Compare your code # adjusted to use _ _ name _ _ to illustrate the difference: »> class SimpleGenerator(object): ... @classmethod ... def get_description(cls): ... return cls. _ _ name _ _ ... # without super() »> class AdvancedGenerator(SimpleGenerator): ... @classmethod ... def get_description(cls): ... desc = SimpleGenerator.get_description() ... return desc + ' Advanced(tm)' ... »> AdvancedGenerator.get_description() 'SimpleGenerator Advanced(tm)' # and using super(): »> class AdvancedGenerator(SimpleGenerator): ... @classmethod ... def get_description(cls): ... desc = super(AdvancedGenerator, cls).get_description() ... return desc + ' Advanced(tm)' ... »> AdvancedGenerator.get_description() 'AdvancedGenerator Advanced(tm)'

djangoproject

@djangoproject · Post #513 · 30.11.2017 г., 22:00

#AI#Artificial_Intelligence #AJAX #aiohttp #Anaconda #AngularJS #API #Atom #AWS #asyncio (#Asynchronous) #audio #automated_testing #automation #atexit #BeeWare #Big_Data #bitcoin #blockchain #Bluemix #Brython #button #Celery #client #class #classmethod #concurrency #Coroutine #cron #CSS #curl #data_analysis #data_mining #data_processing #database #Deep_Learning#deep_learning #Debian #decorator #deploy #dict #dispatch #django #django_cms #Django_REST_Framework #dropdownbox #Docker #event #Firefox #Flask #form #functions #Generator #GeoDjango #git #Google #GPU #GUI #Gym #host #HTML #httplib #learn #Image_processing #intelligence #input #Instagram #IOT #iPython #Jupyter #lambda #learn #License #Linux #lists #machine_learning #Magenta #map #Matplotlib #Metaprogramming #Micro_services #Micropython #mind #monitoring #MongoDB #modules #Mozilla #Multipart #multi_touch_apps #multiprocessing #Nodes #NoSQL #numeric_computation #numerical #NumPy #network #neural_network #OAuth #object_serialization #OCR #overloading #package #parallel #pipeline #protocols #PostGIS #pyAudioAnalysis #pycon #Pyflakes #PyInstaller #PyPI #PyQt #PySide #PyTorch #pytest #python #Pyvideo_archives #Qt #Raspberry_Pi #React #Redis #random #request #Regular_Expressions (#re) #REST #RSS #satellite #scikit_learn #SciPy #scrapy #searching #selectbox #Selenium #serialization #server #sessions #single_responsibility_principle #socket #Spark #str #submit #task #telegram #template #TensorFlow #test #text_boxes #text #tuples #unicode #Universe #Unix #unit_test #urllib #upload #uWSGI #Web #WSGI