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

TGINSIGHT SIMILAR POSTS

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

Изходен канал @clockstackwheels · Post #867 · 17.09

Платформа для разработки игр Unity в своё время совершила революцию. Это, кстати, хороший способ запустить успешный проект: нужно с помощью цифровизации упростить какой-то сложный процесс. Например, Uber упростил заказ такси, Arduino упростил вхождение в любительскую электронику, Тинькофф упростил многие банковские операции и так далее. Вот Unity значительно упростил работу с игровыми движками — сделал простой и логичный конструктор поверх движка, который позволил создавать объекты, анимации, задавать физические параметры и так далее. Это было настолько нужным и удачным решением, что половина игровой индустрии, кроме дорогих высокобюджетных проектов, с тех пор подсела на Unity. Инди-игры и мобильные игры практически целиком на нём, и даже некоторые AAA-компании активно его юзают: например, на нём сделан Hearthstone. И вот несколько дней назад компания объявила, что с 2024 года начнёт взимать с разработчиков деньги за каждую установку каждой игры (до этого были разные уровни платной подписки на движок). Ну, то есть, у тебя уже написан огромный и дорогой проект на движке, существующий много лет, и автор движка, как оказалось, имеет право в какой-то момент сказать: плати мне миллионы долларов или отключай свой проект. Для многих это не просто удар, это полный крах всего бизнеса, построенного на играх. Здесь можно было бы понудеть ещё раз о зависимости от корпораций, но любопытно другое. Игровая индустрия поехала массово хоронить и бойкотировать Unity, а само решение действительно кажется предельно абсурдным. Unity и так зарабатывал очень много, причем, для поддержки движка не нужны значительные траты. Выяснилось, что члены совета директоров, и даже сам генеральный, за последние пару лет продали десятки тысяч своих акций Unity, а новых не купили. Это реально по куче признаков выглядит, как убийство компании изнутри и попытка дожать остатки. Говорят, что проект решил не ввязываться в конкуренцию с растущим по популярности Unreal Engine, у которого вроде как появляется вменяемый инструментарий для людей. Если студии, которые сейчас выражают протесты, не сольются и массово откажутся от использования движка, то коллективно они вполне могут обвалить Unity. Хорошее в этом тоже есть: надеюсь, что подобные события стимулируют развитие опенсорсной альтернативы — Godot. #dev#games

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