понедельник, 15 июня 2020 г.

Прекратите спрашивать программистов о теоритических вещах

Проходил тут собеседование по JS.

И как ведомо подгорело. Предложение собеседующим: если сами не в теме, то не спорьте, а если не можете поддержать и раскрыть разговор, то собеседование это не ваше.

1. Вопрос более холиварный Function - это отдельный тип JS?
В учебниках написано что это тип объекта, впрочем как и Array. Но тогда резонный вопрос, если это не отдельный тип (хотя даже typeof выделяет его отдельно), то как я могу создать его вручную из Object каким либо образом не беря ничего из Function? 
Я понимаю что под капотом оно наследуется всё от Object, но как создать его вручную реализовав какой либо интерфейс или объявив какое либо спец свойство я не знаю, может быть мне помогут комментарием коллеги?

2. Typescript вопросы про количество элементов в Enum, я понимаю что вопросы про это бред, но всё таки Есть понятие const enum, которое не попадает в код, а попадают только значения. Собеседующий быстро отбрехался от этого. Рекомендую проверить вывод этого кода:

Фрагмент TS
const enum A {
    A,
B,
C
}
console.log(A.B);

Сколько значений попало в код?
99% программистов можно засыпать вопросом из базового синтаксиса, типа деструктивного
присваивания, специфических символов и прочих вещей, которые пользуются 1% всего времени
и не всегда несут полезную нагрузку, например со строками деструктуризации и присваивания
иногда над одной строкой можно голову сломать, не то что еще и ошибку уловить.
греет сковородки, но это же не мешает ей пользоваться и вкусно готовить.


Ну и общее: прекратите вы сыпать теорией из книжки...

Учитесь раскрывать большее! Ну не знает у меня жена как и за счёт чего индукционная плита


вторник, 19 мая 2020 г.

createrepo под Ubuntu для RPM репозитариев в связи с кончиной Python 2

Я как гик люблю обновления) Поэтому как выходит более менее стабильный релиз то ставлю его сразу, чтобы понимать что может сломаться у клиентов и опередить заявки.
Так было и с Ubuntu 20.04, но так как Python 2 снят с поддержки еще в начале года, то из репозитария пропали многие пакеты зависящие от него.

Последнее что я использовал с его зависимость это был пакет createrepo для обновления метаданных репозитариев RPM.

Был найден проект https://github.com/rpm-software-management/createrepo_c который собран только под RedHat дистрибутивы, поиск собранных под Debian ничего не дал.

Временно были скачаны RPM пакеты и распакованы в /usr/local в принципе работало, хоть и с предупреждениями

Принял решение поковыряться и собрать самому набор для установки.
Требуется дополнительно

На выходе получил пакеты
libdrpm
libdrpm-dev
libmodulemd
libmodulemd-dev
zchunk
libzchunk
libzchunk-dev
createrepo-c
libcreaterepo-c
libcreaterepo-c-dev

Собственно ставлю с внутреннего репозитария и не знаю проблем без Python 2 )