LINUX.ORG.RU

Ответ на: комментарий от anonymous

Под винду. На BlackBox.

Можно, объявления есть. Но продолжение этой темы здесь - это сильный офтоп так что заканчиваю.

X512 ★★★★★
()
Ответ на: комментарий от crutch_master

NetHogs is a small ‘net top’ tool. Instead of breaking the traffic down per protocol or per subnet, like most tools do, it groups bandwidth by process.

В GUI утилите это делается элементарно одним кликом по заголовку столбца с скоростью передачи для сортировки. В CUI приходится страдать с over 9000 утилит выполняющих одну и туже задачу но немного по разному.

X512 ★★★★★
()
Ответ на: комментарий от pon4ik

Да я как бы не против терминала, просто напрягает, что по-человечьи сделанные такие мониторы только начинаю появляться.

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

Гуй

Всем насрать на гуй. Админы админят через ssh, а мониторят вообще через всякие забиксы. Кому твой гуй там всрался.

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 2)
Ответ на: комментарий от crutch_master

Всем насрать на гуй. Админы админят через ssh, а мониторят вообще через всякие забиксы. Кому твой гуй там всрался

И в итоге все равно генерят отчеты через какую-нибудь кибану. А большинство смертных имеют единственный сервер, для которого гуй очень даже неплох — у них нет ни желания, ни ресурсов городить целую инфраструктуру сбора данных через Zabbix или EKL только для того, чтобы заадминить файлопомойку.

byko3y ★★★★
()
Ответ на: комментарий от byko3y

А большинство смертных имеют единственный сервер

Так что бы смернтым не собраться, не взять сорцы nethogs и не приделать его выхлоп ко всем гуёвым таск манагерам? Лучше сидеть на жопе, ныть на лоре и ждать, когда сишники-небожители запилят? Когда автору nethogs понадобился монитор он пошел его и, %ля, сделал.

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)

А в какой программе можно увидеть и человеческое имя процесса, и трафик, который он генерирует, и с какими ip-адресами он общается?

  • nethogs – показывает только имя процесса и трафик;
  • iptraf – показывает только ip-адрес и трафик.

Одновременно не узнать, а было бы очень полезно.

Im_not_a_robot ★★★★★
()
Последнее исправление: Im_not_a_robot (всего исправлений: 1)
Ответ на: комментарий от crutch_master

Так что бы смернтым не собраться, не взять сорцы nethogs и не приделать его выхлоп ко всем гуёвым таск манагерам?

  1. Зачем? Я, например, хоть и использую гном, всегда запускаю htop, когда мне надо такая информация;

  2. Скорее всего гноморазработчики пошлют такого самаритянина подальше, потому что у них СВОЕ ВИДЕНИЕ. Вряд ли они не приделали эту информацию, потому что не могут.

Im_not_a_robot ★★★★★
()
Ответ на: комментарий от mertvoprog

Шо, он уже догнал инструменты Руссиновича?

Process Hacker получше будет

Minona ★★☆
()
Ответ на: комментарий от crutch_master

Так что бы смернтым не собраться, не взять сорцы nethogs и не приделать его выхлоп ко всем гуёвым таск манагерам? Лучше сидеть на жопе, ныть на лоре и ждать, когда сишники-небожители запилят? Когда автору nethogs понадобился монитор он пошел его и, %ля, сделал

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

byko3y ★★★★
()
Ответ на: комментарий от WatchCat

Это да, но там тоже был довольно продвинутый менеджер процессов.

pon4ik ★★★★★
()
Ответ на: комментарий от crutch_master

Ты меня прям уничтожил, но расскажи хоть в чём прикол? В возможности сравнить инструменты без фанатизма?

pon4ik ★★★★★
()
Ответ на: комментарий от X512

Больше похоже на отладчик и трейсер:) Тут скорее речь про сквозные и простые метрики нагрузки, в идеале с возможностью провалиться в детали.

pon4ik ★★★★★
()
Ответ на: комментарий от pon4ik

Или линуксовые какеры разучились демонов и дрова писать?

Тут дело такое — не всем нужно, чтобы статистика мониторилась постоянно. Ресурсоёмко ведь.

те же гномоделы давно притащили бы в process monitor

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

покажи не графический

ps/top/htop же ;)

mertvoprog
() автор топика
Ответ на: комментарий от pon4ik

Зато когда система встаёт раком — виндовый админ остаётся с носом, ибо ни в соседнюю tty убежать, ни по SSH подключиться, только по прожорливому RDP ;)

mertvoprog
() автор топика
Ответ на: комментарий от byko3y

Ну эта штука со спермёрки только появилась, да и запускали её пару раз от силы ;) Соединения мониторили COMODO Firewall’ом, плюс в Safari для Windows был удобный монитор загрузки страниц, всё в одном окне с деревом вкладка→ресурсы.

mertvoprog
() автор топика
Ответ на: комментарий от mertvoprog

Прожорливость rdp сильно переоценивают. При прочих равных и одном типе выполняемых работ будет то-на то если софт без кастомного рендеринга какого-то.

По поводу tty, тут да. Но если система прям раком встаёт, то никакой переход на другой tty не спасёт :)

pon4ik ★★★★★
()
Ответ на: комментарий от mertvoprog

Шо, неужто у гномосеков хотя бы диспетчер задач внезапно не убожество с полутора кнопками?

Убожество конечно, но кое чего есть.

ps/top/htop же ;)

да я именно про сеть, остальные ресурсы местами лучше мониторятся, тот же аффинити или дерево потоков найти в настройках htop гораздо проще проще чем в диспетчере задач. Но справедливости ради - они там есть в отличии от того же систем монитора гномячьего.

pon4ik ★★★★★
()
Ответ на: комментарий от byko3y

Вирт делал язык под размер программ 70-80-х годов

C-то тоже говно мамонта почти без развития, но жив ;)

Go настолько же похож на Си, как и на паскаль

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

потому что это безальтернативная среда выполнения

Во-первых, был VBScript, который почему-то не стали тащить в не-IE, как и большинство IE-специфичных технологий (но при этом упёрли favicon и XHR, ага). Во-вторых — браузерные плагины, с закапыванием которых сильно поспешили, не успев довести WA до готовности — посему таки можно сказать, что JS временно безальтернативный, но к истории его становления (и обучения вебмакак, таким образом) это отношения не имеет: на ActionScript/Java/C# вебни настрогали тоже немало, кто хотели ;)

Современные браузеры уже умеют

Вот в этом-то и загвоздка: куча легаси ещё актуальна. Ну и современный React — это далеко не только VDOM ;)

Сравни это с Vue

Vue-то давно достойный конкурент React, в чём проблема? Вот от Angular как-то пованивать начинает, несмотря на потуги развития, Svelte мало распространён, а Vue часто встречается, особенно похапэшники его любят ;)

mertvoprog
() автор топика
Ответ на: комментарий от pon4ik

tty спасает тем, что намного проще отдать команду и подождать минут 10, пока она выполнится, чем в графическом софте что-то щёлкать ;)

mertvoprog
() автор топика
Ответ на: комментарий от mertvoprog

C-то тоже говно мамонта почти без развития, но жив

Скорее мертв, чем жив. На Си новых проектов не пишется. Собственно, именно таким, в виде наследия юникса, он и был всегда.

Go занял пустующую промежуточную нишу между чисто компилируемыми языками и рантаймщиной/скриптухой, поэтому переучивать было особо некого

Видать, ты не в курсе, что когда-то давно эту самую нишу занимал паскаль. Правда, называть ее скриптухой — это черезчур. Go тоже далек от скриптухи, он вполне себе компилируем и статически типизирован, но я понял о чем ты.

Rust же метит только в существующие ниши, ну за исключением блокчейн-технологий разве что, но и там специализированных конкурентов навалом

Это огромнейшая ниша высокопроизводительных приложений без сборки мусора, которая, в общем-то, скорее пуста, чем занята, потому что большая часть индустрии ушла в сторону PHP/Python/JS/Java/C#/Go.

Во-первых, был VBScript, который почему-то не стали тащить в не-IE, как и большинство IE-специфичных технологий (но при этом упёрли favicon и XHR, ага). Во-вторых — браузерные плагины, с закапыванием которых сильно поспешили

Нативный код всегда можно исполнить. А вот переносимая технология только одна — это JS. Жаву и флеш плеер закопали, но жава была дерьмищем с самого начала, а флеш по своей сути мало чем отличается от HTML5.

Вот в этом-то и загвоздка: куча легаси ещё актуальна

Ты про поддержку старых проектов? Ну да, они еще будут жить. Но у меня есть смутные предположения, что кучу новых стартапов клепают на React абсолютно бездумно (что значит предположения? Я видел такие стартапы).

ну за исключением блокчейн-технологий разве что, но и там специализированных конкурентов навалом

Это огромнейшая ниша высокопроизводительных приложений без сборки мусора, которая, в общем-то, скорее пуста, чем занята, потому что большая часть индустрии ушла в сторону PHP/Python/JS/Java/C#/Go.

Во-первых, был VBScript, который почему-то не стали тащить в не-IE, как и большинство IE-специфичных технологий (но при этом упёрли favicon и XHR, ага). Во-вторых — браузерные плагины, с закапыванием которых сильно поспешили

Нативный код всегда можно исполнить. А вот переносимая технология только одна — это JS. Жаву и флеш плеер закопали, но жава была дерьмищем с самого начала, а флеш по своей сути мало чем отличается от HTML5.

Вот в этом-то и загвоздка: куча легаси ещё актуальна

Ты про поддержку старых проектов? Ну да, они еще будут жить. Но у меня есть смутные предположения, что кучу новых стартапов клепают на React абсолютно бездумно (что значит предположения? Я видел такие стартапы).

Vue часто встречается, особенно похапэшники его любят

Ух ты, так я, оказывается, востребованный фронтенд программист на Vue? А я то думал, что целый год изучал какое-то бесполезное говно — большинство вакансий ведь на реакте.

С другой стороны, как кодер на Vue со стажем, я скажу: у Vue есть много проблем и отвратительные архитекторы у руля, и то, как они организовали работу с компонентами, ни в какие ворота не лезет: это и объединение разрозненных сущностей с разделением объединенных, и кривая парадигма передачи реактивных значений между компонентами, которая эту самую реактивность нарушает, и, самое главное, отсутствие механизмов взаимодействия с чистым JS и просто выходом из реактивности, из которой ты вывалишься в любом случае из-за ограничений JS.

Я хз даже, на чем бы я посоветовал писать SPA. Скорее посоветовал бы не писать SPA. Сам Facebook в итоге по этому пути и пошел, перейдя на создание нативной, но кроссплатформенной среды выполнения. К сожалению, архитектор — редкий зверь, так что не каждая контора решится пойти по пути фейсбука. Хотя тот же Qt усиленно сокращает дистанцию с противоположной стороны, создавая среду для JS на крестах.

byko3y ★★★★
()
Ответ на: комментарий от mertvoprog

tty спасает тем, что намного проще отдать команду и подождать минут 10, пока она выполнится, чем в графическом софте что-то щёлкать

У меня было такое — я не мог залогинится, потому что логин отваливался по таймауту. Так что не засчитывается.

byko3y ★★★★
()
Ответ на: комментарий от byko3y

На Си новых проектов не пишется

4.2

когда-то давно эту самую нишу занимал паскаль

В нём нет GC же. Pascal из той же ниши, что и С.

Это огромнейшая ниша высокопроизводительных приложений без сборки мусора

Для которой уже есть C/C++. На скриптуху свалили из-за ускорения разработки; Rust эту проблему не решает, наоборот — компилятор долго и упорно бьёт разработчика по рукам там, где сишечка уже как-нибудь со внезапными сегфолтами и некритичными утечками бы поехала.

А вот переносимая технология только одна — это JS

Она была переносимой до ES6. Сейчас у смельчаков, выкидывающих транспилляцию, уже можно нарваться на Syntax error и полностью нерабочий сайт. Дальше будет только хуже.

Но у меня есть смутные предположения, что кучу новых стартапов клепают на React абсолютно бездумно

Ну у стартапов своя атмосфера, там что угодно в рот тащат, особенно если разработчики «свои», а не хайрятся ;)

большинство вакансий ведь на реакте

Большинство — да. Речь о том, что оно не подавляющее, а есть здоровая конкуренция. В отличие от каких-нибудь Ruby=RoR, или Tcl=Tk ;)

но кроссплатформенной среды выполнения

Угу, только кроссплатформенностью у них нынче называется iOS/Android — всё.

Хотя тот же Qt усиленно сокращает дистанцию с противоположной стороны

Мы тоже читаем их прилетающие на почту агитки про убийцу HTML5, а вот роста вакансий что-то не замечаем ;)

mertvoprog
() автор топика
Ответ на: комментарий от byko3y

Во-первых, таймауты настраиваются, во-вторых — нефиг в ~/.profile/~/.bashrc пихать всякую каку :P

mertvoprog
() автор топика
Ответ на: комментарий от mertvoprog

В нём нет GC же. Pascal из той же ниши, что и С

А теперь придумай мне, как сделать сборку мусора в языке, в котором не существует ссылок? То-то. Ниша у него была портируемого языка виртуальной машины для прикладных программ — именно та, где сейчас находятся Java/C#/Go.

Это огромнейшая ниша высокопроизводительных приложений без сборки мусора

Для которой уже есть C/C++

Вот потому я и пишу, что она пустует — потому что C/C++ не подходят для написания ответственного кода, например, веб-браузера. То, что на крестах браузеры таки пишут и генерируют бесконечные удаленные выполнения кода — это особая тема, давай не будем о грустном.

Она была переносимой до ES6. Сейчас у смельчаков, выкидывающих транспилляцию, уже можно нарваться на Syntax error и полностью нерабочий сайт. Дальше будет только хуже

Ну, так а кто тебе запрещает использовать транспиляцию?

Угу, только кроссплатформенностью у них нынче называется iOS/Android — всё

Там разрабатывается и винда, и мак, и веб, но основное направление — да, игрофоны.

Мы тоже читаем их прилетающие на почту агитки про убийцу HTML5, а вот роста вакансий что-то не замечаем

Потому что JS-макаку нанять проще, чем кодера на крестах, или хотя бы знакомого с QML.

byko3y ★★★★
()
Ответ на: комментарий от mertvoprog

А, ну тут да. В принципе в свежих версиях винды кстати вроде как добавили полноценный tty, и даже openssh(или не open) из коробки есть, нативный а не минигнутый или из всяких wsl. Я не то чтобы хвалю, прост из соображений объективности. Понятно что в онтопике оно 100500 лет. Но это примерно как сравнивать anbox который до сих пор в глубокой бетте хотя стартанул ещё 5 лет назад, и новая перделка от мелкомягких которая в 2021 по идее уже в проде будет.

pon4ik ★★★★★
()
Ответ на: комментарий от mertvoprog

В нём нет GC же. Pascal из той же ниши, что и С.

Конечно есть. В pascal ты можешь создавать

классы на стеке: record

классы обычные, с ручным управлением, или через pool: class

managed классы, которые управляются автоматически: interface

fsb4000 ★★★★★
()
Ответ на: комментарий от mertvoprog

Для которой уже есть C/C++. На скриптуху свалили из-за ускорения разработки; Rust эту проблему не решает,

Если сравнивать с Си то вполне решает, у раста намного больше средств для построения высокоуровневых абстракций. Вот с C++ в этом он уже тяжело конкурирует, там этих средств как бы и не больше.
Плюс на расте вполне можно писать и в стиле скриптухи, везде сплошное копирование и счетчики ссылок, понятно что производительность кода просядет, но скорость разработки будет намного выше.
Ну и надо учитывать что производительность для скриптушного кода очень сильно зависит от легкости подключения и использования сторонних библиотек, а в этом раст даст фору и большинству скриптух, а с си и С++ и сравнивать нельзя.

наоборот — компилятор долго и упорно бьёт разработчика по рукам там, где сишечка уже как-нибудь со внезапными сегфолтами и некритичными утечками бы поехала.

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

anonymous
()
Ответ на: комментарий от fsb4000

Конечно есть. В pascal ты можешь создавать

Тогда и в С++ есть GC.

managed классы, которые управляются автоматически: interface

Это же не паскаль, а уже (довольно поздний кажется) дельфи.

anonymous
()
Ответ на: комментарий от anonymous

Тогда и в С++ есть GC.

Да, в С++ shared_ptr это форма GC. Помоему в CPython тоже используется GC на подсчёте ссылок.

Это же не паскаль, а уже (довольно поздний кажется) дельфи.

Понятие не имею как там в дельфи, я про freepascal.

fsb4000 ★★★★★
()
Ответ на: комментарий от byko3y

как сделать сборку мусора в языке, в котором не существует ссылок?

А зачем?

Ниша у него была портируемого языка виртуальной машины для прикладных программ

И в этой нише он по-прежнему на высоте. Покажите нативный UI на Java/C#/Go под все поддерживаемые платформы из единой кодовой базы. А Delphi/Lazarus это могут.

потому что C/C++ не подходят для написания ответственного кода, например, веб-браузера

Десятилетиями писали (и пишут!), а тут вдруг не подходят, потому что мозилловские агитаторы напели, понятно ;) Есть пруфы на уменьшение количества CVE в жирнолисе после начала переписывания на Rust?

и генерируют бесконечные удаленные выполнения кода

Запускать на своей машине содержимое хрен пойми откуда — это by design ССЗБизм, о чём давно вещают столлманутые, но кто их слушает? ;) Не все сорта уязвимостей упираются в C-шные недочёты, напортачить ещё в куче мест можно. Более того, эти ваши спектромельдонии наглядно продемонстрировали, что предугадать уязвимости и защититься от них нельзя, только в бункере сидеть, потому что эксплоитить можно даже совершенно тривиальные и необходимые вещи.

Ну, так а кто тебе запрещает использовать транспиляцию?

Нам и на ES5 писать никто не мешает ;) Речь-то о других. А также выходит, что эти нововведения в JavaScript уже нельзя обозвать JavaScript, ибо они неполифиллимо ломают совместимость и посему не подлежат применению в дикой природе. Чем они в таком случае отличаются от всяких TypeScript/CoffeeScript/JSX/etc., которые за пределы сборочного пайплайна высовывать и не предполагается?

Там разрабатывается и винда, и мак, и веб

Речь не о них. Речь о том, что мобильных платформ, мягко говоря, больше, но лет 5 уже как чуть менее чем все забили на что-либо кроме iOS/Android. И даже там на старые версии часто забивают. Вебня в теории должна работать везде, но на практике по вышеозначенным причинам не работает.

Потому что JS-макаку нанять проще, чем кодера на крестах, или хотя бы знакомого с QML.

Ну не факт, нас вот в универе культям учили (правда, конкретно Мы лабы по ним не делали, ибо вызвались вместо на этого на альтернативное задание, о чём теперь жалеем ;)). Думаете, редко такое встречается?

mertvoprog
() автор топика
Ответ на: комментарий от pon4ik

вроде как добавили полноценный tty

нужны какие то подробности © @maxcom

Как это с WDDM сочетается? Сделали что-то типа онтопиковой фреймбуферной консоли, вместо родного текстового режима видеокарты, поддержку которого окончательно выкинули ещё в NT6.2 (из-за чего, в том числе, Мы с винды и свалили)?

mertvoprog
() автор топика
Ответ на: комментарий от fsb4000

record

классы

WUT.

которые управляются автоматически

Ну в плюсах тоже есть эти ваши рефпоинтеры и прочее. Да и интерпретаторы всякой скриптухи, с GC, на сишечке обычно пишутся, и что? ;) В языках с GC GC принудительный ко всему.

mertvoprog
() автор топика
Ответ на: комментарий от anonymous

у раста намного больше средств для построения высокоуровневых абстракций

Они и в библиотеках для сишечки есть, разницы особой нет.

Плюс на расте вполне можно писать и в стиле скриптухи

Мы пробовали — нельзя ;) Даже если забить на всё то, чему учили в TRPL, и просто хреначить говнокод — компилятор оттрахает мозги знатно. Да и сам факт того, что надо ждать компиляции, ставит Rust в заведомо проигрышное состояние (впрочем, эти ваши шебпаки и WAR тоже ждать нужно нынче).

легкости подключения и использования сторонних библиотек

Ну с одной стороны, они маленькие и модульные (как и в скриптухе), зато к C/C++ если уж чего подключить, так там инструментарий на все случаи жизни ;)

любого более менее опытного компилятор бьет только в очень редких случаях

Пока опытный надрючится, в язык натащат новых плюх и опять пляска по граблям начинается. Молодой ведь язык, развивающийся ;) Не то что жабка какая-нибудь, где из завезения лямбд сделали событие эпохальной величины ;) Помнится, один жабист Нас в 2014-м пытались удивить конкатенацией строк через + в Java, типа Мы в JS её не видали ;) — и при том, что это непроизводительный бэдпрактис.

mertvoprog
() автор топика
Ответ на: комментарий от byko3y

А теперь придумай мне, как сделать сборку мусора в языке, в котором не существует ссылок? То-то.

Все уже придумано давно. https://github.com/ivmai/bdwgc.

Не считая мелких брызг типа https://github.com/orangeduck/tgc

То-то.

olelookoe ★★★
()
Ответ на: комментарий от mertvoprog

как сделать сборку мусора в языке, в котором не существует ссылок?

А зачем?

Вот именно: отсутствие ссылок привело к отсутствию сборщика мусора. Низкая гибкость такого подхода в конце-концов привела к появлению указателей. Решения для сборки мусора есть и под паскаль, и под C/C++, но они непопулярны по одной причине — отсутствие четко прописанного в языке понятия ссылки на объект. Не указателя в вакууме, а ссылки на конкретный объект четкой структуры. К слову, в том же D проблема исправлена, в результате чего первая реализация была с GC.

И в этой нише он по-прежнему на высоте. Покажите нативный UI на Java/C#/Go под все поддерживаемые платформы из единой кодовой базы. А Delphi/Lazarus это могут

Ты переоцениваешь его способности. Последние версии VCL так себе работают даже под виндой. Сейчас они перешли на FireMonkey, которая по сути представляет собой подражание WPF. Последнему, в общем-то, много чего другого подражает, в том числе UWP и JavaFX, но эти решения относительно непопулярны. Впрочем, я не могу сказать, что писание приложений на FireMonkey сильно популярно.

Десятилетиями писали (и пишут!), а тут вдруг не подходят, потому что мозилловские агитаторы напели, понятно

Десятилетиями и ОС писали на Си, а потом внезапно выяснилось, что теперь их пишут на крестах. По той же причине: потому что Си предоставляет слишком, слишком мало путей для инструментальной гарантии корректности работы кода. Крестовые контейнеры позволили устранить факторы вроде «вышел из функции и забыл вызвать код высвобождения ресурсов» или «высвободил ресурсы, но после этого продолжаю их использовать в коде финализации». Самое страшное в обоих этих языках — это то, что ошибки, когда они все-таки совершаются, очень тяжело отследить, порой сложно даже просто заметить последствия ошибки, не то что найти саму ошибку. В том числе это происходит из-за смешения стэка вызовов с данными — это и есть то самое необходимое условие для удаленного выполнения кода. Нужно либо изолировать стэк вызовов, либо гарантировать безупречно корректную работу с ним — по последнему пути пошли многие языки, в том числе Java/C#/Go, и Rust.

Причем, C/C++ настолько проел всем мозги, что люди, в том числе ты, на полном серьезе думают «ну да, у нас удаленное выполнение кода, бывает». Но неужели ты не понимаешь, что программу с потенциальным удаленным выполнением кода в принципе нельзя допускать к сетевой среде! Да-да, написание сетевых компьютерных систем на C/C++ недопустимо — именно это я имею в виду. Сам юникс стал лучшим доказательством этому, когда в нем спустя годы все-таки появилась сеть и студенты начали из шалости выносить целые институты компов на юниксах через многочисленные дыры в юниксовых сервисах. Как полагается, вместо затыкания дыр в их фундаменте, власти решили решать проблему через введения законов и карание несогласных.

Сидящие тут ньюфаги и не слышали о таком, они на полном серьезе думают, что дырявость — это винда, они не в курсе, первым дярявым и завирусованным друшлагом был именно Unix, а винда уже унаследовала это свойство вместе с языком Си. Как и линукс, впрочем, но к этому времени, как я уже сказал, все привыкли, потому отвечали «ну есть уязвимости, и ладно, выпустят патчи».

Запускать на своей машине содержимое хрен пойми откуда — это by design ССЗБизм, о чём давно вещают столлманутые, но кто их слушает?

И что ты собрался тогда делать на машине? На одни пинги отвечать? Дал пользователю SSH — считай что дал ему права рута.

Не все сорта уязвимостей упираются в C-шные недочёты, напортачить ещё в куче мест можно

Самый главный фундаментальный сишный недочет, которого, как ни странно, не было в паскале, не было в коболе, в фортране, в бейсике — это возможность менять код программы при ошибке работы с данными. Даже когда данные и код, казалось бы, вообще не пересекаются и в программе нет ни одного указателя на функцию. Да, можно сделать ошибку в алгоритме, да, испортятся данные, да, программа будет неправильно работать. Но чтобы программа при ошибке работы с данными начала эти данные выполнять? Это же бред, вы сумашедшие, как вам могло прийти в голову писать такую программу? Да еще и в сеть ею светить!

Более того, эти ваши спектромельдонии наглядно продемонстрировали, что предугадать уязвимости и защититься от них нельзя

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

byko3y ★★★★
()
Ответ на: комментарий от mertvoprog

Нам и на ES5 писать никто не мешает ;) Речь-то о других. А также выходит, что эти нововведения в JavaScript уже нельзя обозвать JavaScript, ибо они неполифиллимо ломают совместимость и посему не подлежат применению в дикой природе. Чем они в таком случае отличаются от всяких TypeScript/CoffeeScript/JSX/etc., которые за пределы сборочного пайплайна высовывать и не предполагается?

А ES5 откуда взялось? У тебя почему-то не возникает вопроса «а что если браузер поддерживает только ES4?». Вот так же будет с ES6.

Речь о том, что мобильных платформ, мягко говоря, больше, но лет 5 уже как чуть менее чем все забили на что-либо кроме iOS/Android. И даже там на старые версии часто забивают. Вебня в теории должна работать везде, но на практике по вышеозначенным причинам не работает

Это проблема в принципе индустрии, и она никак не решена. Нельзя запустить десктопный электрон на мобилке, нельзя запустить приложения под React Native на десктопе и надеяться, что оно будет безупречно работать. Это в принципе два очень разных мира, потому про кроссплатформенность можно говорить только в контексте «кроссплатформенный фреймворк для игрофонов» и «кроссплатформенный фреймворк для пек».

У меня сейчас как раз такой проект, в котором руководство еще не дошло до этой простой мысли, и на полном серьезе считает, что сможет сделать один проект сразу под игрофоны и пеки. А я просто выполняю ТЗ и надеюсь, что свалю до выпуска проекта в релиз, когда станет очевидно, что этот вебсайт в кордове налазит на игрофон, как сова на глобус, и при этом на ПК недостаточно утилизирует доступные ресурсы, заставляя раскошеливаться на повышенную нагрузку сервачков бэкэнда. Примерно по этому сценарию громко и под фанфары умирает проект мессенжера Slack, который тратит сотни миллионов долларов в год на сервера. А теперь сравни это со старым Skype, который почти не создавал нагрузку на сервера, за исключением платных услуг IP телефонии.

Ну не факт, нас вот в универе культям учили (правда, конкретно Мы лабы по ним не делали, ибо вызвались вместо на этого на альтернативное задание, о чём теперь жалеем ;)). Думаете, редко такое встречается?

У меня тут под боком есть такие экземпляры, что я удивляюсь их способности выкатывать что-то рабочее даже на JS. Правда, не всегда получается рабочее. А кресты с их опасным кодом? Забей просто, можно даже не пытаться. Вопрос как бы не в том, чтобы что-то просто написать на языке — вопрос в том, как заставить это работать, и на JS заставить работать проще.

byko3y ★★★★
()
Ответ на: комментарий от anonymous

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

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

byko3y ★★★★
()
Ответ на: комментарий от byko3y

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

https://ru.wikipedia.org/wiki/Страничная_память
Теоретически такого не должно быть

флаг «страница недоступна на исполнение».

Владимир

anonymous
()
Ответ на: комментарий от olelookoe

А теперь придумай мне, как сделать сборку мусора в языке, в котором не существует ссылок? То-то.

Все уже придумано давно. https://github.com/ivmai/bdwgc

Так я не спорю — такое и под паскаль есть... только более поздний паскаль, в котором уже появились указатели и динамическая память.

byko3y ★★★★
()
Ответ на: комментарий от byko3y

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

А что за проблема?

Владимир

anonymous
()
Ответ на: комментарий от anonymous

https://ru.wikipedia.org/wiki/Страничная_память
Теоретически такого не должно быть
флаг «страница недоступна на исполнение»

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

byko3y ★★★★
()
Последнее исправление: byko3y (всего исправлений: 1)
Ответ на: комментарий от anonymous

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

А что за проблема?

Проблема в том, что процессоры становятся чудовищно переусложнены, их создатели срезают углы, порой ломая работу старого кода, а порой создавая уязвимости. Багов в процессорах на самом деле очень много, но простая публика редко интересуется ими. Вот, в последний раз meltdown/spectre взбудоражило публику, но только потому, что все новые процессоры повально оказались уязвимы, а не только какой-то отдельный проц.

byko3y ★★★★
()
Ответ на: комментарий от byko3y

Зловредный код меняет указатель возврата на произвольную функцию, также попутно прописывая в стэке параметры для вызова этой самой функции, и вуаля — мы вызываем произвольную функцию с произвольными аргументами, хотя, казалось бы, в системе есть запрет на выполнение данных.

То бишь устанавливают необходимые привилегии и меняют флаг страницы?

Владимир

anonymous
()
Ответ на: комментарий от anonymous

То бишь устанавливают необходимые привилегии и меняют флаг страницы?

Ссылки на проекты, где обеспечивается динамическая загрузка и выполнение кода не подскажете?
Хотелось бы вместо jit попробовать такой способ загрузки и выполнения кода.

Владимир

anonymous
()
Ответ на: комментарий от byko3y

Ссылки на проекты, где обеспечивается динамическая загрузка и выполнение кода не подскажете? Хотелось бы вместо jit попробовать такой способ загрузки и выполнения кода.

PS: Поучилось, что сам у себя попросил …

Владимир

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.