Forum » Programiranje » MSH
MSH
64202 ::
Shows - Event & Video Content | Microsoft Learn
Hehe, kej tacga pa od MS res ni bi clovek pricakoval. Kot da bi poskinal bash s perlom . Stvar ma celo neslavni $_ OMFG
Hehe, kej tacga pa od MS res ni bi clovek pricakoval. Kot da bi poskinal bash s perlom . Stvar ma celo neslavni $_ OMFG
I am NaN, I am a free man!
BigWhale ::
Cakaj, da se povedo, da je MS nekaj novega pogruntal in naredil nekaj revolucionarnega! ;)
64202 ::
Drugace bodo cevi podpirale strukturirane podatke, recimo stolpce ali kake druge objekte, kar je izboljsava glede na unix cevi (newline/tab/null terminated podatki). Ampak to verjetno pomeni, da se bodo morali ljudje kar precej potruditi pri svojih programih, da bodo command line friendly. Glavno zapreka na zacetku bo verjetno GUI mentaliteta win programerjev, sploh ne to, da bi bil shell slab. Zdajle sicer nimam ene bukle pri roki (windows app. development, Microsoft press), samo gre uvodni stavek za 'CreateWindow' poglavje priblizno tkole: "Unlike old fashioned text-only UNIX programs, Windows relies on GUI...".
I am NaN, I am a free man!
noraguta ::
Drugace bodo cevi podpirale strukturirane podatke, recimo stolpce ali kake druge objekte, kar je izboljsava glede na unix cevi (newline/tab/null terminated podatki). Ampak to verjetno pomeni, da se bodo morali ljudje kar precej potruditi pri svojih programih, da bodo command line friendly.
hmm , ugibam sicer, ampak najbrz bo serializacija objektov izvedena preko soapa, or sth like that. spucat izpis pa tudi potem nebi smel biti prehud problem. (ampak ugibam).
Pust' ot pobyedy k pobyedye vyedyot!
64202 ::
Mislim da bo stvar kar direkt .NET objekte okol nosila, SOAP bi bil ultrafejstoverkill. Treba se malo prebrat. Sicer ne mislim na problem serializacije ampak na to, da se rm * sprevrze v System.CurrentDirectory.GetFiles() | System.FileFilter(System.FsTypes.File) | System.Delete. To je seveda samo extremen nerealen primer! Vse je v tem, kako se stvar na koncu uporablja.
I am NaN, I am a free man!
Zgodovina sprememb…
- spremenilo: 64202 ()
noraguta ::
jah objekte bo u vsakem primeru treba serializerat al binarno(ta najbrzda že odpade saj je potem stream v file praktično popolnoma neuporaben) al prek soapa al prek kake indigo pogruntavščine, saj gre za medprocesno komunikacijo. seveda pa stvar podpira tudi plain text argumente(tolk sem v enem demotu ze videl).
Pust' ot pobyedy k pobyedye vyedyot!
64202 ::
Recimo tegale :) ziher noces pisat v cmdline. Tole bi pa ze slo:
return $source =~ m,title>(.*)</title,i ? $1 : '';
I am NaN, I am a free man!
noraguta ::
recimo like this(spet hipotetično)
getdoc \\www\193.9x.32.32\3kure.html | $_.title ?
če gremo objektno.
http://channel9.msdn.com/ShowPost.aspx?...
getdoc \\www\193.9x.32.32\3kure.html | $_.title ?
če gremo objektno.
http://channel9.msdn.com/ShowPost.aspx?...
Pust' ot pobyedy k pobyedye vyedyot!
Zgodovina sprememb…
- spremenilo: noraguta ()
64202 ::
Sem malo razmisljal kak bi bil "unix way", da obdelas XML dokument. Recimo mel bi tool, ki bi imel intergriran sax parser (-> expat) in bi ga lahko tako uporabljal:
Tkole dobis title:
$ curl http://1.2.3.4/enpejdz.html | xmltool --descend-to 'html/head' --filter-tag 'title' --content
--descend-to: opises pot po drevesu navzdol
--filter-tag: vraca samo elemente s podanim tagom
--content: odreze zunanji element in vrne vsebino (v tem primeru skenslas <title>)
Potem bi se dalo tko kombinirat, da dobis vse linke iz pejdza ven
$ curl pedjz | xmltool --filter-tag a | xmltool --get-attribute href
curl pejdz:
xmltool --filter-tag a:
xmltool --get-attribute href:
Potem pa samo nrdis standarden while read line; do komanda ali pa xargs komanda
Zdaj pa, glede na to, da obstajajo standardi za kopanje po XML-ju (XML path/query?), tak tool ziher ze obstaja.
Tkole dobis title:
$ curl http://1.2.3.4/enpejdz.html | xmltool --descend-to 'html/head' --filter-tag 'title' --content
--descend-to: opises pot po drevesu navzdol
--filter-tag: vraca samo elemente s podanim tagom
--content: odreze zunanji element in vrne vsebino (v tem primeru skenslas <title>)
Potem bi se dalo tko kombinirat, da dobis vse linke iz pejdza ven
$ curl pedjz | xmltool --filter-tag a | xmltool --get-attribute href
curl pejdz:
<html>....<a href='asas.html'>df</a><a href='sff.html'>fff</a>...
xmltool --filter-tag a:
<a href='asas.html'>df</a> <a href='sff.html'>fff</a>
xmltool --get-attribute href:
asas.html sff.html
Potem pa samo nrdis standarden while read line; do komanda ali pa xargs komanda
Zdaj pa, glede na to, da obstajajo standardi za kopanje po XML-ju (XML path/query?), tak tool ziher ze obstaja.
I am NaN, I am a free man!
64202 ::
Skoraj prvi zadetek na guglu XMLStarlet Command Line XML Toolkit: News
I am NaN, I am a free man!
64202 ::
> jah objekte bo u vsakem primeru treba serializerat al binarno(ta najbrzda že odpade saj je potem stream v file praktično popolnoma neuporaben) al prek soapa al prek kake indigo pogruntavščine, saj gre za medprocesno komunikacijo. seveda pa stvar podpira tudi plain text argumente(tolk sem v enem demotu ze videl).
Obcutek imam, da bo to vse inprocess znotraj ene instance .NET VM-ja (==> torej msh-ja). Najnizji 'atom' je CmdLet, ki se ga nrdi tko:
The trick is to override the ProcessRecord method of the Cmdlet class. In fact, there are 3 overridable methods in there: StartProcessing, ProcessRecord, EndProcessing. When this file is built using csc.exe (version 2.0.31113 required) and registered with Monad using the "registercommand.exe" tool inside the same folder as msh.exe (the shell executable), the assembly will be registered in the MSH shell. It can be pretty helpful to provide a response file for csc.exe to add references to all of the assemblies of Monad (a .rsp file, see earlier post on this on my blog).
When Monad is started now, you can invoke the "do-something" commandlet by typing "do-something" and pressing <Enter> (big surprise for a shell environment, isn't it?). The result looks even more promising: the shell displays "Hello galaxy!".
Obcutek imam, da bo to vse inprocess znotraj ene instance .NET VM-ja (==> torej msh-ja). Najnizji 'atom' je CmdLet, ki se ga nrdi tko:
namespace Demo { [Cmdlet("do", "something")] public class MyFirstCommandLet : Cmdlet { public override void ProcessRecord() { WriteObject("Hello galaxy!"); } } }
The trick is to override the ProcessRecord method of the Cmdlet class. In fact, there are 3 overridable methods in there: StartProcessing, ProcessRecord, EndProcessing. When this file is built using csc.exe (version 2.0.31113 required) and registered with Monad using the "registercommand.exe" tool inside the same folder as msh.exe (the shell executable), the assembly will be registered in the MSH shell. It can be pretty helpful to provide a response file for csc.exe to add references to all of the assemblies of Monad (a .rsp file, see earlier post on this on my blog).
When Monad is started now, you can invoke the "do-something" commandlet by typing "do-something" and pressing <Enter> (big surprise for a shell environment, isn't it?). The result looks even more promising: the shell displays "Hello galaxy!".
I am NaN, I am a free man!
64202 ::
Baje da MSH ne bo niti v longhornu niti v lh serverju do leta 2007. Heh
I am NaN, I am a free man!
noraguta ::
jah tisto objektno varjanto sem si recimo izmislil , ampak z winfs , beaglom , ifiltrom za indexing service, ali cim podobnim je zadeva potem najbrz trivialna , oziroma dobi vecji simisel samo indexiranje. glede in procesa v .net pa dvomim samostojne aplikacije ne moreš predelat v karkoli drugega kot proces , vsaj jaz nevem , da bi bilo mogoče hendlanje konteksta v takšni nameri.vsaj v "klasičnih" operacijskih sisemih, potem izgubi zašita memorije vsak smisel. mogoče je kaj takega smiselno realizirati v movitzu ali singularty, kje drugje pa najbrzda ze ne.in tudi dvomim da bi ms povozil vse obstoječe toole katere so ustvarili ali pa so jih ustvarili uporabniki.
nekje sem prebral da naj bi izšel z naslednjo verzijo exchangeta , kar bi bilo dobrodošlo.
nekje sem prebral da naj bi izšel z naslednjo verzijo exchangeta , kar bi bilo dobrodošlo.
Pust' ot pobyedy k pobyedye vyedyot!
Zgodovina sprememb…
- spremenilo: noraguta ()
64202 ::
> glede in procesa v .net pa dvomim samostojne aplikacije ne moreš predelat v karkoli drugega kot proces , vsaj jaz nevem , da bi bilo mogoče hendlanje konteksta v takšni nameri.vsaj v "klasičnih" operacijskih sisemih, potem izgubi zašita memorije vsak smisel. mogoče je kaj takega smiselno realizirati v movitzu ali singularty, kje drugje pa najbrzda ze ne.in tudi dvomim da bi ms povozil vse obstoječe toole katere so ustvarili ali pa so jih ustvarili uporabniki.
Verjetno bodo ti cmdleti preferred way in bo edin (pameten) nacin, da hendlas kompleksne (=> .NET) objekte. Recimo precej naraven je pristop z istim procesom, ce imas tool, ki zgenerira seznam procesov (objektov, ki predstavljajo procese) ali pa kaj podobnega sistemskega in potem direkt na njih izvedes nek ukaz. Memory zascito ti dela .NET VM, ni treba, da se OS mesa zraven. Eh, mogoce malo slab primer, se mi zdi, da se da reprezentacije sistemskih resursov dokaj na izi okol nosit, vsaj v teoriji... Trenutni procesno narejeni tooli bodo pac isto kot do zdaj, text-only. Drugace kar se pa tice prehajanje sistemskih resursov iz procesa v procesa, ma nekaj clo unix, posljes lahko socket iz enega v drug proces preko unix domain socketa IIRC. Mogoce pa nisem cisto razumel, kaj si mislil povedat s singularity, ker ne poznam...
Verjetno bodo ti cmdleti preferred way in bo edin (pameten) nacin, da hendlas kompleksne (=> .NET) objekte. Recimo precej naraven je pristop z istim procesom, ce imas tool, ki zgenerira seznam procesov (objektov, ki predstavljajo procese) ali pa kaj podobnega sistemskega in potem direkt na njih izvedes nek ukaz. Memory zascito ti dela .NET VM, ni treba, da se OS mesa zraven. Eh, mogoce malo slab primer, se mi zdi, da se da reprezentacije sistemskih resursov dokaj na izi okol nosit, vsaj v teoriji... Trenutni procesno narejeni tooli bodo pac isto kot do zdaj, text-only. Drugace kar se pa tice prehajanje sistemskih resursov iz procesa v procesa, ma nekaj clo unix, posljes lahko socket iz enega v drug proces preko unix domain socketa IIRC. Mogoce pa nisem cisto razumel, kaj si mislil povedat s singularity, ker ne poznam...
I am NaN, I am a free man!
64202 ::
Zanimiv primer se mi zdijo tudi LISP masine iz 80-tih. Hardver/OS sploh ni podpiral zascite RAMa in virtual mema, kot je to v navadi danes. Tam je bil OS komplet LISP in vse je laufalo v VM-ju in je sam LISP runtime poskrbel za vso zascito. Posledicno so bili sistemski klici, IPC in podobne (danes pocasne) stvari izredno hitre -> cena je bila na ravni funkcijskega klica + malo za menjanje kakih security parametrov IIRC. .NET je pac en tak napol back-to-the-future
Popravek: na LISP masinah je bil VM verjetno dokaj majhen, ker je hardver direkt izvajal subset LISPa
Popravek: na LISP masinah je bil VM verjetno dokaj majhen, ker je hardver direkt izvajal subset LISPa
I am NaN, I am a free man!
Zgodovina sprememb…
- spremenilo: 64202 ()
thor984 ::
pa unixu bodo ukaze kradl, pol pa oni o patetih.
http://www.rtvslo.si/modload.php?&c_mod=rnews&op=sections&func=read&c_menu=9&c_id=46576&tokens=MSH
http://www.rtvslo.si/modload.php?&c_mod=rnews&op=sections&func=read&c_menu=9&c_id=46576&tokens=MSH
64202 ::
Tko kot so patentiral XML sheme za Word? Ti bojo zaracunal za to, da s svojo pet vrsticno skripto importas tabelo iz weba v Word
I am NaN, I am a free man!
Myth ::
A lahko kdo pove po domače kaj pomeni MSH in kaj počne? Malce sem tisti link kliknil pa samo čudno gledam.
¤ Space is Mystery. And Myth is on Earth. ¤
64202 ::
noraguta je dal link na video, kjer (avtor?) pokaze osnovno uporabo shella. Moj link je pa sintaksa skriptnega jezika, ki ga zna shell direktno izvajat (vsaj predvidevam da se ne bo prevajal v .net vmesno kodo...)
I am NaN, I am a free man!
Myth ::
Pogledal video in komentarje. Novi CMD? Wow.. Pa kaj vse bi lahko počel not. Me res zanima, kot iqw.... če se bo dalo res čisto v detajle it.
¤ Space is Mystery. And Myth is on Earth. ¤
CCfly ::
Za "v detajle jit" imaš kakšen močnejši programski jezik, namesto skriptnega.
"My goodness, we forgot generics!" -- Danny Kalev
Nerdor ::
Sicer offtopic, ampak a je kdo opazil tole povezavo do filma "Linux at Microsoft, Part I"
... for lifetime!
BigWhale ::
RTV Slo novica:
bigwhale@capybara ~ $ man rmr
No manual entry for rmr
bigwhale@capybara ~ $
Hihi.
;)
bigwhale@capybara ~ $ man rmr
No manual entry for rmr
bigwhale@capybara ~ $
Hihi.
;)
noraguta ::
64202 na zalost(ali sreco) .net nima nic pri hendlanju procesov, saj .net vm ni nicesar drugega kot abstrakcija za implementacijo. v končnifazi pri izvajanju med c-jevsko aplikacijo ali .net ni neke razlike , oboje je navade binary , ok .net je šeopremljen komunalcem , katerega pa lahko pošljemo celo na dopust.
addrese se virtualizirajo se vedno na osu.
singualrty naj bi počel , kot so to lisp mašine včasih http://channel9.msdn.com/ShowPost.aspx?... .
sem šel gledat tele cmd-lete vredu zadeva če jo gledaš kot plugine za konzolo , malo manj mi je pa všeč generičnost rešitve.
addrese se virtualizirajo se vedno na osu.
singualrty naj bi počel , kot so to lisp mašine včasih http://channel9.msdn.com/ShowPost.aspx?... .
sem šel gledat tele cmd-lete vredu zadeva če jo gledaš kot plugine za konzolo , malo manj mi je pa všeč generičnost rešitve.
Pust' ot pobyedy k pobyedye vyedyot!
64202 ::
noraguta: Kar sem hotel povedat - .net je OS za managed kodo
I am NaN, I am a free man!
Zgodovina sprememb…
- spremenilo: 64202 ()
64202 ::
Ok, mogoce se glede .neta motim, samo jvm recimo ti garantira varnost rama.
I am NaN, I am a free man!
noraguta ::
noraguta: Kar sem hotel povedat - .net je OS za managed kodo
meni se zdi prej malo bolj nabrekel crt, vsekakor pa v obstoječem stanju ne os.
Pust' ot pobyedy k pobyedye vyedyot!
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [C#] MP3 fingerprintOddelek: Programiranje | 746 (579) | black ice |
» | SilverlightOddelek: Programiranje | 1763 (1420) | hodor |
» | Naprednješa knjiga o programiranju (koncepti, ...)Oddelek: Programiranje | 6184 (5355) | noraguta |
» | MIX06 @ Las VegasOddelek: Novice / Ostala programska oprema | 2804 (2202) | Looooooka |
» | rm -r v Windows? (strani: 1 2 )Oddelek: Novice / Operacijski sistemi | 6189 (6189) | MasterMind |