Top.Mail.Ru
? ?
Кот канарский полосатый толстый

r3code, posts by tag: python - LiveJournal

Задержись в реальности!

Entries by tag: python

Ушел с Python на NodeJS
Серьёзно о главном
Imager3code
Продолжение истории "Почему я перехожу с Python на NodeJS" ("Why I’m switching from Python to Node.js").
Почему после года переключение завершилось возвратом на Python.

Это я тоже думал, на чем лучше проект писать, как раз выбор был между двумя ими.

NodeJS использую иногда - хорош для небольших задач, он мне этим нравится.

Python: распространение вредоносного кода через репозитарий пакетов pip, pypi
Серьёзно о главном
Imager3code
Человек провел простое исследование - напихал в хранилище кучу своих модулей с именами похожими на имена популярных пакетов (например вместо requets, reqeusts) поместил внутрь простой код для отправки себе данных об установке (IP, операционная система, права пользователя, время установки). И о боже! Урожай был потрясающий. Множество пользователей поставило модули с правами администратора, даже на доменах .gov (домены госорганизаций США).

О чем это говорит? Соблюдай осторожность! PyPI кажется безопасным, но это не так. Любой может положить туда свой модуль - его никто не проверит.

Узнал из статьи Тайпосквоттинг в репозиториях Python, Node.JS и Ruby

Python: отложенное исполнение, как в Haskell
Codded
Imager3code
Забавно, но на Python его можно тоже сделать )
Но тут от него пользы мало, т.к. оно становиться магией, которая в программировании ненужна и вредна. Не понимая как это работает невозможно его изменить!

Вот довольно старая статья 2011 года с размышлениями об этом Misunderstanding Laziness in Python

Вкратце мы можем создать функцию которая вернет функцию, потом придется полученный "указатель" на новую функцию разыменовывать через скобки (). В итоге вызов функции не произойдет сразу, а только при разыменовании. Это есть в Haskell и там это делает компилятор.

Выбирай инструмент по задаче. Не надо молоток перетачивать в отвертку, чтобы закручивать винты - возьми отвертку.

Image