- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
function main() {
const o = {
v: "Hi",
toString() {
return this.v;
},
};
print(o);
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
function main() {
const o = {
v: "Hi",
toString() {
return this.v;
},
};
print(o);
}
Хочу напомнить о себе, а то люди начали забывать :)...
Ну да, виндовая VPS'ка скорее всего будет дороже линуксовой из-за лицензии... А под линух ты ещё не портанул его?
З.Ы. Можно под вайном попробовать, один фиг тебе там только файлы читать да писать.
Вместе с LLVM?!
Но ты рядом можешь поднять nginx или apache и в добрый путь
P.S. Как макака ответил, тебе всё равно понядобится сервант, чтобы эту статику раздавать, в конфе у него же можешь и CGI записать.
Ну для максимальной паранойи можно в начале экзешника отречься от всех сисколлов кроме read и write. И дальше юзерский код хрен что сделает.
можно, но это сильно ограничит возможности.
гига памяти хватит всем
write ведь принимает дескриптор открытого файла? Можно брутом дескриптора насрать во все открытые файлы, запоров файловую систему сервера. Так что ему ещё нужно права лоховские дать.
дали тебе дескриптор 1 (stdout) и 2 (stderr)
туда и серь
Никак? Sandbox? виртуалка?
А нахуя ты наоткрывал всяких файлов перед запуском юзерского кода?
и сипец твоему серверу
у бзды есть login classes, там вообще это красиво сделано, но у прыщей их нет, зато setrlimit есть
Ты там вон исполняемый стек ради траплинов включил. Так что с ОС поразвлекаться никаких проблем не будет, имхо. Даже если в самом языке никаких функций для этого нет.
З.Ы. Хотя там вроде нельзя взять и напрямую выделить буфер с нужным контентом на стеке? Ну сотню-другую интов положим, не проблема.
это ты ловко тип вывел, или у тебя ``toString()`` any вернул?
Я к тому, что не нужно явно
?
Какой тип foo? А у bar?
foo, возможно, получится оптимизнуть и уточнить тип.
``string | number``
Мы же не про жабу говорим
В жабе юнионов нет. И не путайте в JS `string` и `String` !
а такой юнион "number | string" - нет
Неэффективно, да. Но программист сам так написал.
buz() === qux() ? String : Integer
З.Ы. Хотя из-за мутабельности и нечистоты так не получится, скорее всего. Зависимые типы сложно будет подружить с привычными языками...
Ну ты же в курсе как это решает TS, правда?
Вернулся объект, и всё упало.
Обычный же объект вернет `[object Object]`, и будет NaN.
Удобно, правда?