• Зачем нужен @classmethod?

    longclaps
    @longclaps
    Но почему я не могу написать метод from_string так:
    cls вместо явного Date позволит наследнику Date (напр. AztecaDate - дата по календарю ацтеков) порождать именно AztecaDate.
    Кстати, есть одна тонкость, связанная с реализацией ООП на разных языках. C++ позволяет реализовать несколько разных, но одноимённых конструкторов класса с разной сигнатурой (набором аргументов), например, можно сделать так:
    Date(1, 1, 2019) # конструктор с сигнатурой (int, int, int)
    Date("1.1.2019") # другой конструктор с сигнатурой (str)
    В питоне можно добиться подобного, но ручками, анализируя состав аргументов Date.__init__, что неудобно, громоздко и нунафиг. Уж лучше забабахать Date.from_string. Но это неизбежно в динамическом языке - ведь C++ должен знать всё про аргументы конкретных вызовов конструкторов на этапе компиляции, а мы можем в рантайм творить что угодно )))

    для чего нужен staticmethod, если это уже не метод, а просто функция, и я могу вынести ее из класса.
    Да, можете. Я думаю, тут действует логика лучшей читаемости и логика экономии пространства имён:
    • Date._статикметод1 хоть и неочевидно что делает, но точно имеет отношение к Date
    • При импорте from date import * вы не получите охапку непонятных имён.

    Кстати, это не бесплатно - обращение к квалифицированному имени каждый раз создаёт дополнительный опкод LOAD_ATTR. Поэтому любители выжать максимум производительности (ну бывает полезно в глубоком цикле) используют такой трюк:
    # медленно
    l = []
    for i in range(100500):
        l.append(i)
    # чуть быстрее )))
    push = l.append
    for i in range(100500):
        push(i)
    Ответ написан
    2 комментария
  • Реально ли найти работу при таком подходе к обучению?

    Сейчас действительно очень и очень непросто устроиться на удаленку с нулевым коммерческим опытом.
    Но 29 - это хороший возраcт, т.к. большинство "входящих в айти" 35+
    Поэтому если в офис будешь устраиваться, то думаю, в течение 2х-4х недель это получится :)
    А стек у тебя очень обширный, все ок.
    Ответ написан
    1 комментарий
  • Миддл без юнит тестирования?

    opium
    @opium
    Просто люблю качественно работать
    Вообще насрать, не за юнит тексты мидламплатят
    Ответ написан
    Комментировать
  • Миддл без юнит тестирования?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Если умеешь писать тестируемый код, хотя бы понимаешь как писать юнит-тесты (юнит-тесты для пет-проектов - это ок) и понимаешь как тестировать - это уже неплохо.

    P.S. то что на работе используют или нет юнит тестирование можно не указывать, никто этого не требует
    Ответ написан
    Комментировать
  • Миддл без юнит тестирования?

    Апплайся на мидла, а там разберутся.
    Ответ написан
    Комментировать
  • Можно ли положить сложный TodoApp в портфолио?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    Всем плевать на твоё портфолио. И на любое другое. Оценивать будут твои скиллы, а не github.
    Ответ написан
    Комментировать
  • Компания предлагает большу зп и торопит с выбором - это плохо или нет?

    Получил оффер от одной компании (банка) с неожиданно большой суммой, чуть ли не x2 от запрошенной

    Вероятно ты просто запросил сильно ниже рынка / стандартной ставки.
    Что за банк?
    Что за должность?

    Например, все этапы собеседований HR пыталась ставить близко друг к другу.

    А зачем растягивать?

    Просто дело в том, что помимо этой компании я ещё параллельно собеседуюсь в пару других, и там до оффера пока не дошло дело. Не хочется упустить шанс попасть в них из-за этой сомнительной вакансии) Если есть опытные работоискатели, подскажите, пожалуйта)

    Спроси у рекрутера, к чему такая срочность ответа и проинформируй, что ждёшь ответы и от других работодателей.
    Вполне возможно, что они просто боятся, что ты уйдёшь в другую компанию, когда на твой найм уже много часов было потрачено.
    Ответ написан
    Комментировать
  • Имеет ли смысл изучать электронику и железо ПК?

    Расскажу свой опыт. В 22 года устроился на работу в сфере IT. До этого активно увлекался электроникой, но до компьютеров не доходило, максимум - микроконтроллеры ну и логика всякая (регистры, триггеры, всё такое), плюс аудиотехника и радиотехника (радиолюбитель-пират). И до примерно 2007 года просто вникал в устройство компьютеров, на практике занимаясь больше модульным ремонтом, но понемногу находил информацию и чинил блоки питания, мониторы, и т.п. В 2009 меня сильно подтолкнул один знакомый, предложив брать у него на ремонт материнские платы и другое железо на ремонт (у него был свой магазин, и не всегда получалось вовремя вернуть по гарантии, вот и копилось железо). С того времени и по настоящим момент я занимаюсь ремонтом всего этого компьютерного добра, ну и всякую автоматику тоже (промышленные блоки, автомобильные, всякие вендинг машины и тд). Что скажу - для хобби это не реально. Нужно на этом зарабатывать. Но в последнее время доходы неизменно падают, у людей просто нет денег. А возиться с ноутбуком, например, несколько часов (или дней), без оплаты - ну так себе занятие. Ибо клиент может просто отказаться и всё.

    В общем, для себя я решил сменить направление, и сменил основную работу - перешёл на администрирование серверов, с целью набрать опыта в этой области, и дальше двигаться в сторону DevOps, при этом удалёнка сейчас есть почти везде, и зарплаты уже в разы выше, чем в ремонте электроники.

    Если есть желание именно в электронику - начинать можно с сайта rom.by, remont-aud.net и ещё нескольких. Для начала можно просто читать (там на пару лет изучения точно хватит материала). Ну и без практики это бесполезно - нужно либо самому брать что-то в ремонт и пытаться сделать, либо идти в СЦ хотя бы помощником и вникать (да, и сидеть без денег практически). Если самому брать в ремонт - нужны вложения. Оборудование, материалы, запчасти, и т.д. Для начала около 50к, и ещё если браться за BGA то на ИК станцию около 150-300к. Я так и не купил, город маленький, платить мало кто хочет, а сейчас и смысла нет - в ноутбуках поголовно комбайны - один чип (проц, хаб, и всё-в-одном), и его замена почти всегда дороже чем купить такую же плату с этим чипом готовую. Да и когда озвучиваешь цену 15к за ремонт, люди говорят "не, я лучше новый куплю".
    В большом городе можно, но это не потянуть в одиночку - нужно либо в СЦ идти, либо свой организовать, собравшись с единомышленниками, кто тоже умеет и хочет.

    Тема обширная, её в одном ответе не уместить. Почитайте мою тему "рентабельность ремонтов..." на rom.by, она уже за много лет стала как личный блог практически именно по этой теме.
    Ответ написан
    Комментировать
  • Как склеить два коммита, расположенных не подряд?

    Это может быть не просто. Оцените необходимость этой операции прежде чем действовать, можно сильно навредить репозиторию / коду.

    Задачу можно выполнить через интерактивный rebase. В процессе с высокой вероятностью возникнут конфликты. Я бы делал в 2 этапа. Первым делом расположил бы коммиты в нужном порядке

    git rebase -i хеш_коммита_3^
    В открывшемся редакторе можно выставить коммиты в нужном порядке.
    После сохранения файла, вероятнее всего появится сообщение о неразрешенных конфликтах - их все необходмио разрешить, добавить в индекс и продолжить rebase через git rebase --continue

    После успеха, можно повторить интерактивный rebase с целью сделать squash.
    Ответ написан
    Комментировать
  • Почему "ручной" foreach в три раза быстрее LINQ?

    FoggyFinder
    @FoggyFinder
    Сейчас вы сравниваете версию с селектором (преобразующей функцией) с обычным циклом, вместо этого лучше сравнивать "чистую" версию:

    public static double Average(Dictionary<string, int> stuff) => stuff.Values.Average();


    тогда и разница будет не такой значительной.
    Ответ написан
    1 комментарий
  • Тестовые задания по C#?

    @MaximIs
    ulearn.me
    Ответ написан
    Комментировать
  • Тестовые задания по C#?

    Xapu3ma-NN
    @Xapu3ma-NN
    Я делал так. Сказал себе "Хочу написать клиент-сервер, который передает изображение рабочего стола одного компьютера на другой" и побежал в гугл, а оттуда на киберфорум, стэковерфлоу и.т.п. И написал, попутно разбираюсь как реализовать ту функцию или ту. А что будет если я сделаю не как в примере, а вот так ну и тому подобное. Потом сказал "Хочу написать автоапдейтер резюме на hh.ru" ну и алгоритм описан выше :)

    Мне просто было это интересно, и это мотивировало разбираться с языком для решения моей задачи. Тестовые задания я не осилил делать в силу лени и не интересности. Хотя подход в целом можно назвать корявым.)
    Ответ написан
    1 комментарий