Pull to refresh

Comments 13

Кстати про unstable, есть еще одна неприятная особенность. Если импортировать функции из deno.land/std/fs/mod.ts как это сделал я, то тоже придется использовать --unstable, так как в mod.ts есть функция ensureSymlink которая использует нестабильный Deno.symlink. Лучше сразу импортировать из нужного файла deno.land/std/fs/read_json.ts.
прикольно…

сразу понятно было, что явный пиар любимой платформы…

но вот так вот — смешать в кучу сразу три модных слова — v8, rust, typescript — и это всё вместе работает? спасибо, очень интересно!

сразу вопрос — «линковаться» к сишным библиотекам можно?
На сколько я понял, сейчас для того что бы «прилинковаться» к сишным библиотекам нужно написать биндинги на расте и подключить как плагин через Deno.openPlugin.
Что-то похожее в webview_deno.
спасибо:)
выглядит как ядерная вещь
а также возможность импортировать и запускать скрипты по URL, выгодно отличают Deno от Node и Bash.


Простите, но
curl http://remoteserver.com/myshellscript.sh | bash
Это, конечно, верно, но мой поинт был скорее в том что имея все перечисленные возможности код писать удобнее.
А запуск скрипта из интернета с явным указанием что ему можно делать прям киллер-фича. Могу ошибаться, но для того что бы в bash ограничить, например, доступ к интернету нужно запускать скрипт от пользователя с этими ограничениями. Как тут serverfault.com/questions/550276/how-to-block-internet-access-to-certain-programs-on-linux.
код писать удобнее.

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

А запуск скрипта из интернета с явным указанием что ему можно делать прям киллер-фича.

Запуск чужих скриптов из инета как бы не есть гуд в любом случае. И доступ к инету ограничивать не самое главное, тут сперва доступ к rm -rf / ограничить.

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

можно просто прописать несуществующий прокси в виде http_proxy, https_proxy, да и баш сам по себе в инет не лезет, туда лезут различные утилиты, каждой можно индивидуально доступ дать.

Я просто думаю, что вашу утилиту некорректно сравнивать с bash. Ее корректно сравнивать с похожими инструментами — какиминить google tasks, todoist for chrome, веб-интерфейсом к кронтабу и тому подобным.
Я просто думаю, что вашу утилиту некорректно сравнивать с bash. Ее корректно сравнивать с похожими инструментами — какиминить google tasks, todoist for chrome, веб-интерфейсом к кронтабу и тому подобным.

Не, со специализированными программами в целом еще один todo лист сравнивать не нужно. В самом todo смысла мало, а как «hello world» на новой технологии вполне.

А разве в линуксе нет проблемы в том, что в шебанге нельзя передавать несколько аргументов?


Т.е. если файл test.ts


#!/usr/bin/env deno run

console.log('GGGGG')

с пермишенном на исполнение попытаться запустить, то получится следующая картина:


./test.ts 
/usr/bin/env: 'deno run': No such file or directory
/usr/bin/env: use -[v]S to pass options in shebang lines

Это в принципе на корню уничтожает смысл половины статьи.

Верное замечание, зависит от env. Где-то решается добавлением -S, где-то как, например, в windows не работает вовсе, а на MacOs работает как есть.

Можно попробовать запускать с помощью exec:

#!/bin/sh
':' //; exec "$(command -v deno)" "run" "--allow-env" "$0" "$@"

console.log('GGGGG', Deno.args)


Конкретно в статье использование шебанга это способ поскорее взглянуть на конечный результат. Можно было без этого обойтись. В итоге все приходит к deno install, а после установки, не зависимо от платформы, все работает как надо.
так вся суть env заключается в том, что ты не знаешь что есть на компе — sh, bash, ksh или deno

И именно поэтому env универсальный и для линукс и для виндовс — он разрулит что запускать на конкретной платформе.
Sign up to leave a comment.

Information

Website
funcorp.dev
Registered
Founded
Employees
101–200 employees
Location
Кипр
Representative
ulanana