LINUX.ORG.RU
ФорумTalks

ruby, так ли он хорош?


0

2

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

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

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

Нет, не хочу. В любом случае такую информацию разумно получать из netstat, больше интересовала цепочка пайпов и последующие сut и grep: дергать непосредственно их, или реализовывать их функционал в python. Во втором случае попахивает идиотизмом, а в первом:

import os

os.system('netstat -ptcp -Ivlan1 | cut -d\' \' -f4- | grep -v «\d»')

что опять же дико, если не требуется последующая обработка. Повторюсь:

или же сфера применения не подобные вылосипеды, а что-то более объемное?

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

Пайпы есть, но несколько неудобные по сравнению с БАШЕМ. Но зато в разы надежные.

Попробуй сделай на баше рекурсивный обход директорий с условием, что в каталогах буду файлы с пробелом, символами `rm -rf ~/` и т.п. Я на лабе в университете преподавателю хомяк снес так.... Он спорил, что его баш работает всегда.

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

Вот не поверишь, сам для работы с файлами предпочитаю набросать пару строк на ruby.

символами `rm -rf ~/`

хомяк снес так

ну так баш-то работает, чо

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

на ипитоне такое можно запилить, только возникнет небольшой разрыв шаблона.

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

In [22]: tmp = !netstat -tlnp

In [23]: tmp[2:]
Out[23]: 
['tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      866/cupsd       ',
 'tcp        0      0 127.0.0.1:36759         0.0.0.0:*               LISTEN      5505/GoogleTalkPlug',
 'tcp        0      0 0.0.0.0:1720            0.0.0.0:*               LISTEN      12553/ekiga     ',
 'tcp        0      0 0.0.0.0:3000            0.0.0.0:*               LISTEN      9886/ruby       ',
 'tcp6       0      0 ::1:631                 :::*                    LISTEN      866/cupsd']

In [24]:

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