Search
Write a publication
Pull to refresh
1
0
Send message

Мне важно приносить результат, а не просто закрывать задачи.

А задачи, типа, не ради достижения результата ставятся?

На прошлой работе я сам инициировал [X] и мы смогли достичь [результат].

А если человек на прошлой работе не по новомодным скрам-канбанам работал, а в жесткой вертикали власти, где решения принимает начальник или совет директоров? Единственное, что он мог там сам инициировать – это поход в туалет, да и то не слишком часто.

Я не просто делаю задачи, а всегда думаю, зачем это нужно бизнесу.

Конееечно, что бы ни делал – всегда думаю, зачем же это нужно чужому бизнесу. Ночью во снах вижу, как бы сделать вашу компанию лучше, ага... :D Сложно придумать более раболепскую фразу. И ещё отличная демонстрация, что ты готов на всё ради чужого бизнеса и что тебя можно юзать во все щели, без выходных и праздников :D "Вась, сделаешь рефакторинг чужой простыни кода в субботу вечером? Пойми, это очень нужно нашей компании!" xD

В этой задаче я взял на себя роль координатора и связующего звена между командами.

То же самое, если человек работал не по скрам-канбан ультра-модерн методологиям, медленно попивая смузи в кресле-груше, то единственная задача, где он мог примерить роль координатора – очередь возле кофемашины упорядочить. Но это не значит, что он плохой специалист своего профиля.

Я проанализировал рынок и понял, что именно у вас могу вырасти в [X].

Есть такая древнющая примета: если продавец на базаре видит сильную заинтересованность покупателя в товаре, он начинает борзеть и драть цену в небеса. А рынок вакансий – тот же базар. Кто словесно больше лапши работодателю навешает, тот себя быстрее и продаст.

А теперь замерим, сколько памяти реально экономится

А корректно ли так замерять потребление памяти, учитывая, что ранее в этой же статье было сказано:

когда вы создаёте новый объект, Python делает две вещи:

  1. Создаёт сам объект в памяти.

  2. Создаёт отдельный dict, который тоже занимает место.

Ключевое слово – отдельный. Может быть, нужно тогда приплюсовывать размер dict к объектам, которые его используют?

Проверим такой код:

import sys


class WithoutSlots:
    def __init__(self, a, b):
        self.a = a
        self.b = b


class WithSlots:
    __slots__ = ('a', 'b')

    def __init__(self, a, b):
        self.a = a
        self.b = b


class WithSlotsAndDict:
    __slots__ = ('a', 'b', '__dict__')

    def __init__(self, a, b):
        self.a = a
        self.b = b


obj1 = WithoutSlots(1, 2)
obj2 = WithSlots(1, 2)
obj3 = WithSlotsAndDict(1, 2)

print("Размер объекта без __slots__:", sys.getsizeof(obj1) + sys.getsizeof(obj1.__dict__))
print("Размер объекта с __slots__:", sys.getsizeof(obj2))
print("Размер объекта с __slots__ и __dict__:", sys.getsizeof(obj3) + sys.getsizeof(obj3.__dict__))

Выводит (версия Python 3.12):

Размер объекта без __slots__: 344
Размер объекта с __slots__: 48
Размер объекта с __slots__ и __dict__: 360

И получается немного другая картинка. Как минимум, становится ясно, что использование slots и dict одновременно (в статье сказано, что это, типа, компромисс между динамичностью и потреблением памяти) – худшая затея из всех. Если нужна динамичность – тогда просто стандартный dict, и не страдать фигнёй.

Information

Rating
9,146-th
Registered
Activity