Szerintem egy Scala alapu shell is eleg jo lehetne, kb. hasonloan magasszintu mukodest ki lehetne hozni a Scala interpreterre alapozva.
Egyebkent meg a Powershell maga 'nem nagy szam' -- eleg vekonyka reteg a .Net VM folott, ami viszont igazan utos anyag. :) Ezt az Add-Type cmdletnek megfelelo funkcionalitast mar 5-6 eve meg lehetett valositani az .Emit meg a .Compiler nevterekben uldogelo osztalyokkal.
Ez a Scala scriptelés már nekem is szöget ütött a fejemben, csak azt sajnálom nagyon, hogy még nem megy készségszinten. Van amúgy annak valami hátulütője, amit még nem látok, ha az ilyesmi tipikusan Bashban íródott dolgokat inkább scalaban írom? Tekintsünk el attól, hogy telepítve kell lennie a scalanak, az adott nálam mindenhol.
Aztán hogy hogyan gondolták, hogy a 2-es verzió még nem képes úgy írni a stdoutra (csak dotnetes trükkökkel), hogy nem emel hozzá sort, azt én nem érem fel ésszel.
Szintén nem értem, hogy ha már elég jó minőségben lekoppintják a regexpes lehetőségeket, miért kell a replace-t úgy megvalósítani, hogy alapból cserél mindent. Hogy lookodavisszákkal kelljen megoldani a triviális csakazelsőt cserét, az nem evilági gondolkodásmódot tükröz.
A foreach és foreach-object kétarcúsága (miközben előbbi az utóbbi aliasa volna) szintén arculcsapás.
De az igazi kedvencem ez:
PS C:\> ls temp\x
Directory: C:\temp
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 1/26/2010 12:05 PM 950 x
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 1/26/2010 12:05 PM 950 x
out-lineoutput : The object of type "Microsoft.PowerShell.Commands.Internal.For
mat.FormatStartData" is not valid or not in the correct sequence. This is likel
y caused by a user-specified "format-list" command which is conflicting with th
e default formatting.
+ CategoryInfo : InvalidData: (:) [out-lineoutput], InvalidOperat
ionException
+ FullyQualifiedErrorId : ConsoleLineOutputOutOfSequencePacket,Microsoft.P
owerShell.Commands.OutLineOutputCommand
Persze van, ahol megmagyarázzák, hogy ez fícsör... de remélem, az *sh soha nem fog ilyen fícsörrel meglepni.
(A fenti hibákra alig párhetes tapasztalattal bukkantam - de nem bukkantam normális megoldásra/magyarázara a mi barátunk hosszas faggatása után sem.)
Linuxon azért nincs szükség powershellre, mert van annál ezerszer jobb. Amit shellből nem tudok megoldani azt megoldom gcc-vel.
Akinek nem teccik a C/C++ annak ott van a python, lua, meg a százezernyi más interpreteres nyelv. Még LOL nyelv interpreter is van ahogy múltkor nézegettem.
A powershell egy hype. A winfos abbéli hiányosságát pótolja, hogy nincs benn egy fordító (pölö: gcc). Egyébként meg ha windozos scriptelésre vagyok kényszerítve akkor meg .vbs, az legalább nem csak win7 meg .NET only, és nem kell hozzá semmit telepíteni. (<- ez egy nagyon fontos érv!)
Hát a batch fájlokat személy szerint senkinek nem ajánlom. A DOS-szal való kompatibilitás, már csak egy elhanyagolható szűk réteget érint. Ha windoz akkor vbs.
Tevedsz, mar nagyon regen nincs DOS-sal valo kompatibilitas. Kevesse van ugyan dokumentalva, de nagyon sok olyan szintaktikai dolog van mar a BAT/CMD fajlokban, ami egesz jo nyelvve lepteti elo, elvesztve ezzel a DOS-sal valo kompatibilitast.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
Natívan mennyit tud a windows-os dolgokról ez a "szintaktikai kényszerrel a trehány kódgányolók ellen" nyelv? Próbáltam mindkettőt - akkor inkább a PS...
Én pedig megkérnélek, menj a fenébe, ha azzal az ötlettel állnál elő, hogy akkor most tegyük fel a DC-kre is a pythont, mert Neked XP-n már sikerült lekódolnod a feladatra a megoldást.
Nem azért, mert nem szeressem a pythont, hanem csak mert nem dev környezetben (ma megtanulhattad, hogy olyan is van) a tököm se fog szükségesen felül egyebet feltenni, hogy a kötelező MS-es fixeken kívül másra is figyelhessek.
Az b+, hogy a Windows-on nem tűröd a frissítéseket a vackod mellett, ebből gondoltuk itt többen, hogy Linux-ból is valami régi verziót használsz. Merthogy ott se legyen semmi sz@r felpakolva...
Hat, regebben ugye volt a 2k3, amihez az R2 gyakorlatilag minden masodik szerviznel kovetelete a .NET 2.0 feltelepiteset (ami amugy is rajta volt az R2 lemezen), igy eleg nehez volt meguszni az ilyesmit.
Ha pedig tisztan MS alapu a ceg, akkor meg ugye ott vannak a System Center megoldasok, gyakorlatilag tisztan .NET-ben.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
SP nem, .NET nem? Mondd légyszíves, hogy nem informatikusként dolgozol, hanem mondjuk kazánhegesztőként. Kérlek.
Ellenkező esetben őszinte sajnálatom a cégnek ami alkalmaz.
Nem értettem mire céloztál az eredeti posztodban, vagy mit akartál kérdezni a posztommal kapcsolatban és gondoltam valami hasonló stílusban próbálok meg neked válaszolni lol.
Production binugz (csak hogy a te szinteten mozgó nevezéktant használjak) környezetben mióta része egy normális rendszernek a c-fordító? És mióta scriptnyelv a gcc?
> Production binugz (csak hogy a te szinteten mozgó nevezéktant használjak) környezetben mióta része egy normális rendszernek a c-fordító? És mióta scriptnyelv a gcc?
1. Nem tudom nálad mit jelent a "Production binugz", nálam tizenöt éve linux csak gcc-vel együtt megy fel. Programozok sajnos így járnak, nekünk alapfelszerelés a gcc.
2. Senki nem mondta, hogy a gcc egy scriptnyelv. Pláne én, mert ez a kérdés már önmagában is egy faszság lol.
Ahol fejlesztés történik az a devel környezet, ahol a tesztelés az a testing, ami éles kiszolgálást végez, az a production. Az utóbbi kettőben fejlesztőeszköznek (meg fejlesztőnek) nincs semmi keresnivalója.
Itt, most a parancsértelmezők két teljesen eltérő megközelítéséről folyik a beszélgetés, bővebben értelmezve a scriptnyelvekről - te meg jöttél azzal, hogy akkor inkább a gécécé.
Na látod, ez a te olvasatod, mert te valószínűleg csak egy végfelhasználó lehecc.
Nekem a "devel környezet" Linus gépe, "production környezet" meg az én gépem, ahol nagyon is van keresnivalója fejlesztőeszközöknek.
Alapvetően a thread célja hogy a powershell-t ajnározza egy unixos oldalon. Erre jött a sok válasz, hogy a bash jobb. Ha a bash kevés akkor vannak az egyéb scriptnyelvek ala python, perl etc. Ha mindez kevésnek bizonyulna akkor ott a gcc, amivel mindent meg lehet oldani.
"Na látod, ez a te olvasatod, mert te valószínűleg csak egy végfelhasználó lehecc. "
Akkor tájékozott végfelhasználó, aki tudja, hogy (miért) létezik szeparáció.
Te meg eszerint alultájékozott, vagy fegyelmezetlen fejlesztő vagy, aki azt hiszed, hogy mindenhol eltűrik, hogy a devkörnyezeten kívül fixelj bármit -- hacsak nem redhoturgentorloseallrevenue kvikkfixről van szó.
Semmit nem akarok fixelni. (Ezt hol olvastad, hogy írtam?) Mindössze azt mondtam, hogy powershell helyett én inkább mást használnék. (python, perl, etc.)
(Egyébként tovább menve. Ha valahol ahol a programomat használnák és hirtelen feltennének egy powershellt (+ szükséges szarokat hozzá XP-re) akkor azonnal lezárnám a support ticketet kérdés nélkül VAGY ha nagyon jó napom lenne azt mondanám szedje le és írjon majd vissza akkor ha ezt megtette.)
Akkor ugorj vissza zeller kartácshoz: ha nem kivételesen fixelni akarsz egy élesebb rendszeren, akkor ott semmi keresnivalója gcc-nek, sem egyéb vendégkódnak.
Hogy Te olyan szerencsés vagy, hogy a legkomolyabb támogatott rendszered az XP, amit a komolyságát növelendő pythonnal egészítesz ki, azért csak irigykedni tudok.
Az általam támogatott OS-ek jelentős hányadát teszi ki az XP (bárcsak ne így lenne). DE sehol nem mondtam, hogy az lenne a legkomolyabb.
Nem ajánlom a powershell (plusz a kötelező szarok amiket kér) felinstallálásat, ezt már egy előző posztombam leírtam miért. Ha már szüksége van a felhasználónak egy plusz shellre akkor python, perl, etc. végszükség esetében gcc-t (ami mindenre jó) ajánlanék. (Ezt is leírtam már párszor ebben a threadben.)
Windows gepekre nem powershellt es nem visual c/c++-t? Wow. De mivel irtad hogy ez a _te_ ajanlasod, nyilvan a usereknek megvan a valasztasz szabadsaga (ertsd: nem beszolok, csak meredten neztem a monitort egy ideig).
Így van, nem. (Már ha a visual studiót egyáltalán shellnek tekintjük. Sztem ezzel a világon csak te vagy így ezzel.)
(Sok a szopás a szupporttal, az ember mindig keresi hol tud azon rövidíteni. A powershell, service pack, .NET etc. egyéb faszságok kiváló indokként szolgálnak ehhez.)
Ki lát előre 4 évet az ámítástechnikában? XP-t kell támogatnom 2011-ben lol. A 2.6 és a (pölö) 3.2 között elég nagy különbség van. Nem akarok folyamatosan python szkripteket barkácsolni. Nem ezzel keresem a kenyerem.
"A 2.6 és a (pölö) 3.2 között elég nagy különbség van."
Pont erre gondoltam. Ha vmi kell a 3.2-ből, nyilván szemrebbenés nélkül felteszed - kb. akkora erőfeszítéssel, mint egy .net frissítést. Kétségtelen, az sp tovább tart - viszont ez nem az sp ellen érv, csak a lustaság és trehányság mellett.
Alapvetően mindig egy problémára keresek megoldást. Pölö shell hiányossága. Lehetőleg crossplatform, lehetőleg a legkevesebb belenyúlással a rendszerbe (ne fájjon a usernek: no bloat). Így tudok visszacsatolni a thread témájára. Ebben a relációban: python > vbs > powershell. Így érthető?
Amúgy melyiket érdemes manapság tanulni? Tervezek belevágni, de elég kevés könyvet találtam még a 3.x-hez, illetve ahogy elnézem, a külső library-k sem nagyon mennek még vele.
----- "Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben." rand() a lelke mindennek! :)
Igen, ezt én is megtaláltam. Mivel a dolog nem sürgős, ezért valószínűleg a 3.x-et fogom választani, egyelőre úgyis konzolos alkalmazásokhoz lenne rá szükségem. Esetleg ha tudtok ajánlani jó irodalmat, akár angolt, akár magyart, azt köszönöm.
És bocs, hogy teljesen offtopic módon beleböfögtem a témába. :)
----- "Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben." rand() a lelke mindennek! :)
Külön szimpatikus, hogy az általam - e topicban is idézett - felvetett probléma kapcsán nyitott topic szerepel a lámalistában, miközben értékelhető megoldás egy sem született (a listázó részéről sem), ill. ami született, arról kurta dablcsekk után elismerték a beírók, hogy nem megoldás.
Mindegy, az a fontos, hogy valahol megörökítsenek, mindegy, hogy hol és mivel. :)
Remélem amire "supportot" vállalsz, azok nincsenek a netre kötve.
Egyébként nevetséges ez a hozzáállás, így 2011-ben, még ha csak egy nem szupportált XP-ről is van szó.
Ehun-e: http://support.microsoft.com/lifecycle/?LN=en-gb&C2=1173
Namost, én nem szeretném, hogy egyetlen egy általam üzemeltetett rendszerbe személy szerint te szállíts valamilyen "megoldást". Mmmmkay?
ps: Mond neket valamit kedves "GPLv3-as hozzászolás", hogy mit jelent az a szóösszetétel, hogy "vérpistike"? :)
ps2: és aki a szekuriti peccseket "Minden eltérés plusz költség (és idő)." oldaláról nézi, az nemtudom hogy hol él, de hogy ezzel a valósággal diszjunkt halmazokat képez erősen, az is biztos.
Az éles rendszer frissítése előtt a tesztkörnyezetben elvégzett frissítés után ott kell tesztelni a funkcionalitást, és ha működik, akkor mehet a frissítés a production környezetre is.
Ühü,tehát tesztelni kell.
Zsenikém, megfelelő tesztelési tervvel és megfelelő eszközökkel is lehet ám tesztelni, fillérekből összerámolt tesztrendszeren. Automatikusan.
Ha ezért a peccsek ignorálására kötelezed a megrendelőidet, akkor sajnálni tudom őket.
Láthatóan azért üzemeltetési tapasztalatod sincs, de legalább magabiztos vagy. Ami hülyeséggel kombinálva már azért komolyan veszélyes. :)
... és továbbra is fenntartom, hogy a gyártói peccsek - tesztelés utáni - alkalmazása több mint kívánatos - sőt, kötelező -, amennyiben a teszten nem okozott váratlan side-effectet, és nem szűrhető ki másként a rendszerben máshol. Pl. tűzfalon. Tudom, neked az is ismeretlen fogalom. :)
Tehát nálad az üf. választhat: vagy a te supportodat, vagy a Microsoftét szeretné... (az aktuális SP nélküli oprendszerrel kapcsolatban a Microsoft, meg az OEM partnerek is elhajtanak support kérdéssel a búsba)
Ha én üf. lennék, szerinted mennyi idő kéne, hogy az ajtó előtt találd magad? (Ha szükséges adatokat migrálni, akkor annak a költségét természetesen rajtad leverve)
Ha a megrendelőknek jó, én le nem beszélnélek erről, csak meglep, hogy - az általam is leírt kellemetlen meglepetések mellett, de - végre van valami natív, amivel adminitrálni lehet a wint, és akad, aki olyan nyelvhez ragaszkodik, amely doksijának *for Windows user* fejezete hosszabb, mint a nyelv ismertetője.
De vásárló van egypúpú, van kétpúpú, és van, aki venne még.
> "Linuxon azért nincs szükség powershellre, mert van annál ezerszer jobb. Amit shellből nem tudok megoldani azt megoldom gcc-vel.
Akinek nem teccik a C/C++ annak ott van a python, lua, meg a százezernyi más interpreteres nyelv. Még LOL nyelv interpreter is van ahogy múltkor nézegettem.
A powershell egy hype. A winfos abbéli hiányosságát pótolja, hogy nincs benn egy fordító (pölö: gcc). Egyébként meg ha windozos scriptelésre vagyok kényszerítve akkor meg .vbs, az legalább nem csak win7 meg .NET only, és nem kell hozzá semmit telepíteni. (<- ez egy nagyon fontos érv!)"
Nem minden probléma csak egy szög, még ha a picipuha úgy is akarja bemutatnia a dolgokat. Érjen még egy picit a powershell, hátha úgy jár mint az MS Java vagy az ironruby vagy mi a szösz.
Nincs szükségem a sajnálatodra - tippelem, hogy a WIndows-os vackaidnál pöttyet komolyabb dolgokhoz volt eddig szerencsém, és nem kell hozzád hasonló ... beszállítókkal a jövőben sem összefutni. Bár volt korábban hasonló hozzáállású társulathoz szerencsém - nulla idő alatt ki lettek hajítva a lomjaikkal együtt.
Szerintem a valamilyen Linux disztribúciót használók mérhető százalékának volt már dolga mondjuk a bash-sel, és még mindig mérhető százaléknyi valamilyen szinten szkriptelni is tud benne. Vajon mennyi lehet ez az arány a Windows akármi.x/Powershell viszonylatban? (De kérdezhetnénk akár csak azt, hogy mennyien hallottak már a PS-ről a Windowst használók körében és mennyien a bash-ről a Linuxot használók között, azt már nem is említve, hogy a Windows használók között mennyien tudnak a bash-ről és a Linux felhasználók között mennyien hallottak a Powershell-ről.)
"a valamilyen Linux disztribúciót használók mérhető százalékának volt már dolga mondjuk a bash-sel, és még mindig mérhető százaléknyi valamilyen szinten szkriptelni is tud benne. Vajon mennyi lehet ez az arány a Windows akármi.x/Powershell viszonylatban?"
Valószínűleg ez a tendencia eltolódik a PS-t ismerő winhasználók irányába a júzerfrendli linuxoknak és a növekvő PS repónak köszönhetően. Átbillenni persze nem fog.
Ez lehet azert van mert Powershellben erteni kell a rendszerhez es a programozashoz, szemben a bash-sel ami leginkabb torekeny dolgok osszecelluxozasara keszult. Az meg sajnos a Linuxot minositi hogy a usernek tudnia KELL a bashrol.
Öcsém azt se tudja, hogy mi az, pedig ubuntun böngészget és írja a lemezeit - totál autszajderként.
Amúgy jó erős az a cellux, kibírt már pár évtizedet.
A programozáshoz kb. pont annyira kell tudni, és - a feladattól függően - a rendszerhez is annyira érteni, csak egyikben azt kell tudni, hogy milyen ojjektumok, milyen tulajdonságokkal szállnak, és mitől, a másikban meg sztringekkel ugyanez.
Hogy aztán ha ezt nem tudod, akkor melyikhez találsz előbb korrekt és használható dokumentációt, az is minősít valamit.
Vargya': En bash-t hasznalok, es van, hogy js-ben irok hozza "CmdLet"-et, van hogy pythonban, teli vagyok sed es awk inline scriptekkel, es meg csak :: -okkal se kell foglalkoznom.
Azt, hogy az übermagasszintű szkriptnyelvben időnként (pl. a nem éppen advanced feladatnak számító soremeléstelen stdoutra íráshoz) közvetlenül kell dotnetet cseszegetni, az elegancia sajátos definíciójának foghatjuk fel.
Nem mondom, az tényleg szép, hogy lehet ilyet csinálni - böcsületére válna a *sh-nak is, ha rendszert lehetne hívni belőle, de az kevésbé, ha banális művelethez egyenesen kellene.
Sot, kepzeld, a .NET kezdeten (es talan ma is) windows API hivasokat kellett eszkozolnod string formaban. Ez levon barmit is az elmeleti megkozelites helyessegebol? Nem. A gyakorlati oldal rohejessegeben egyetertek. Ciki. Tenyleg az.
De az is, hogy a kozosseg altal annyira szakmainak szeretett portalon (holott nem az) olyannal buszken eloallni, hogy a korrekt objektum kezeles, a tipushelyesseg es ugy altalaban minden ami egy olyan magas szintu munkat lehetove tesz - nos hogy mindez gagyi es szar legyen, mert a unix shell az etalon (eletmudij! omfg); hat, latod erre celoztam hogy itt ugysem lesz ertelme kifejteni.
A mai friss emberkek kozul mar annyian agymosottak, hogy azt se tudjak mirol van szo. Tenyleg kar.
Nem értem, hogy min csodálkozol. Javaslom, tegyél egy próbát: A Fradi-Újpest meccsen ülj be az Újpest szurkolótábor közepére, és kezd kiabálni a "Hajrá Fradi" biztatást, jó hangosan. A következményekért ne az Újpest szurkolókat hibáztasd!
A Unix shell az etalon, welcome. Szerinted powershellnek hivtak volna ha nem az lenne?
De tudodmit, nem megyek le a te szintedre. Ha te komolyan azt hiszed, hogy tipushelyesseg meg OOP nelkul nem lehet rendszert epiteni, es ezek utan engem nevezel agymosottnak, akkor szerintem sincs nagyon mirol beszelnunk, nem egy kategoria.
Manapsag mindent lehet. Futhat OS javascriptben, lehet 10 wrapper reteg egymason egy sima serialization megvalositashoz, lehet 4 meta nyelv egymas tetejen amik mind az alatta levok hianyossagait foltozgatjak, futtathatsz kulon virtual gepet programonkent es lehet scriptben is rendszert epiteni (akarmit is jelentsen az). Igazad van.
Kedves hrgy, igen, most mar te is ignored vagy; masreszt pedig ha megnezed a reakciokat amik elojottek, plusz ha megnezem hogy senkinek meg csak tippje se volt mirol beszelek (akik hozzaszoltak), igy a temakort a tovabbiakban hanyagolom. Nincs kedvem ovisokkal hajbatepest jatszani.
De tudodmit, mondok neked valamit, bar nem hiszem hogy a te szinteden lenne az erveles, csak epp mashonnan nezzuk.
Ket fuggveny kozott a kommunikacio mindig egy adott memoriablokk atadasaval zajlik. Egy pillanatra hanyagoljuk a streameket, tegyuk fel, hogy azok mindig vegigolvasottak.
A tipushelyesseg ennek a memoriablokknak az ertelmezeserol szol.
Statikusan tipusos nyelveknel az ertelmezes egy reszet implementalasi (forditasi) idoben, automatikusan lehet ellenorizni. Ez a vedelem nem teljes (pl. egy integer lehet, hogy meter, lehet, hogy lab mertekegysegben van megadva), tovabba nem ez az egyetlen dolog, ami ellen vedekezni kene, es nem is feltetlenul a legfontosabb.
Viszont ennek az ara az explicit jeloles es konverzio.
Amikor te scriptet akarsz osszedobalni, ezt nagyon nem szeretned kerulgetni, az, hogy neked ezen gondolkoznod kell, lassitja a programozasi folyamatot.
Abban teljesseggel igazad lenne, hogy ez egy bizonyos meret utan viszont atlathatatlanna teszi a rendszert. Nade nagy meretben nem is hasznalunk bash-t! Ahhoz kialakultak a specialis esetre a make fajlok ill. az autoconfigure, ahhoz kialakultak a scriptnyelvek mint pl. a szinten atlathatatlan perl, vagy a ruby es a python.
Jellemzoen viszont ezek is kerulik a tipusossagot!
Ez itt feature.
Vannak grafikus pipe rendszerek - pl. Yahoo Pipes - ahol neha nincs automatikus konverzio, de ezek nem tul sikeresek, foleg ha amugy lehetne (pl. Apple Automator)
Igy aztan ugy nez ki, hogy a scripteknel, amik rendszerint csak 1-1 feladatra, egyszer, eldobhato jelleggel kellenek, a legegyszerubb abszolut kerulni a tipusossag kerdeset, es az atadott memoriablokk - stdin - ertelmezeset teljes egeszeben a programozora bizzuk, implicit.
Scripteknel rendszerint az kell, hogy legyen egy vagy tobb adatforrasom, majd ezek kulonbozo szuresevel egy vegeredmenyt tudjak eloallitani, akar egyetlen sorban, interaktivan begepelve. Erre lett a bash, ezzel a feature-rel adtak el anno a UNIX-ot "szovegszerkesztonek" (troff) es programozoi kornyezetnek, es ezzel bizonyit idestova 46 eve.
A shell egyebkent nem lassu: majdnem minden muvelet C-ben zajlik, kizarolag vezerlesert lep ki az "interpretalt terbe", jellemzoen C programokat kotogetsz ossze, akik egy nagyon rovid utasitast - pl. regex - kapnak es jellemzoen agyonoptimalizalt parser facade elemzi oket.
Az OOP-rol pedig annyit, hogy sokan a strukturalis programozas utodjanak, levaltojanak tekintik, holott ez egyaltalan nem igaz: egyfelol a Strukturalt Programozas c. konyv egyik szerzoje Dahl, az OOP atyjainak egyike; foglalkozik is az osztalyokkal rendesen. Ellenben az Alan Kay-tipusu elmeleti OOP tarthatatlannak bizonyult, ma mar sehol nem latjuk nyomat, a class tulajdonkeppen modulszervezest jelent. De errol ne kezdjunk el vitatkozni, mert konnyen kiderul, hogy tenyleg nem vagyunk egy szinten.
Nyilvan letezik egy elegancia az onreflektiv rendszerekben, es nyilvan szep megoldasnak tunik, hogy egy teljesen .NET rendszered legyen shellel. Na de ez UNIX-on nem igeny, itt masrol beszelunk.
"Na de ez UNIX-on nem igeny, itt masrol beszelunk."
Valóban nem igény még csak teljesen véletlenül sem az, hogy amit a saját gépemen összeharácsolok scriptet, az működjön akkor is, ha a kedves r00t user másnaposan felkelt és úgy döntött, hogy neki mostantól más formátumban írja ki az stdout-ra a kontentet.
"Igy aztan ugy nez ki, hogy a scripteknel, amik rendszerint csak 1-1 feladatra, egyszer, eldobhato jelleggel kellenek"
Szerintem te is tudod, hogy mit jelent az IT-ben az "eldobható jelleggel kellenek" kifejezés...
A bash-nek azert az is funkcionalitasa - es itt azt ertettem bele eldobhatonak - ami egysoros. Nem hiszem, hogy a cat file |grep regex| sort kombot nagyon ujrafelhasznalnad, bar en is gyakran nyomok ctrl-r -t.
Tipusellenorzest (formatumellenorzest) meg nem olyan nehez berakni, csak jo helyen ellenorizd.
Ott a pont... Ha egy objektum valamely tulajdonságát szeretnéd megtudni, és az létezik, akkor azt használod fel a cső következő elemében. Ha hasonlót szeretnél alkotni shell scriptben, akkor először megnézed a megfelelő cumó outputját, kitalálod, hogy sed/grep/awk hogy tudja azt neked megfelelő formára hozni, és bízol abban, hogy az a cumó, aminek a kimenetét szépen feldolgoztad, az a következő verzióban, más környezetben ugyanilyen formátumú kimenetet fog produkálni. (Murphy megmondta, hogy nem...)
Hogy nekem hogy beleállt ebbe jópár éve egy magyar nyelvűre konfigurált AIX-on egy Oracle installáció! Csóri, angol nyelvterületen írt install script nem tudott mit kezdeni az "1996. szeptember 13." szerű kimenettel. :-D
Ilyen szempontból tényleg jobb az objektum átadás.
GPLv3-as hozzaszolast idezel, ugyhogy a tied is az lett, tuntesd fel! Tovabba ezennel lemondtal az osszes jelenlegi es jovobeli shell/gcc-vel kapcsolatos szabadalmaidrol.
Végül is amióta a Sun-t lenyelték, talán akad már egy-két olyan emberük is, aki tud normálisan shell-scripteket írni... Bár a 4.3-as AIX régen volt, és tippelem, hogy 8.valami Oracle lehetett, mert az után már minden telepítőjük Java-s, grafikus felületű szutyok, ha jól tévedek...
Akkor eloveszel egy python-t, erted. Hol a francba mondtam en azt, hogy mindenre ugyanazt kell hasznalnod? Az ilyen .NET-es gondolkodas, hogy van egy kalapacsom, nosza, farigcsaljunk mindent szognek.
A masik oldal meg az, hogy attol meg, hogy compile time fog lehalni neked egy interfeszcsere ekkor, az rajtad sokat nem segit (abba mar nem is megyek bele, hogy javanal rendszerint egy ilyen interfeszcsere runtime fog lehalni, hiaba van Date osztaly 3 is)
Merthogy ha a tudtod nelkul tudjak igy cserelgetni az interfeszt, az azt jelenti, toled fuggetlen komponens. Ha te csak .NET komponensekkel akarsz jatszani, te dolgod, csak nem a nyelvbol kovetkezo kovetkezmeny, hanem a helyzetbol.
De nincsenek se szerializalasi, se adatformatum-cserek jellemzoen kulso interfeszeken, ez egy mondvacsinalt problema, amit a statikus nyelvesek azert nem erzekelnek, mert ott nem lehet, a dinamikus nyelvesek meg azert, mert egyszeruen ilyen nem szokott elofordulni, ill. az esetek annyira jelentektelen szazalekaban, hogy effektiv tokmindegy... Nah mind1. Ha a kulso interfeszed mar tipusos, akkor platform-dependens, ami azt jelenti, hogy API. Ha HTML-t scrapelsz akkor .NET-ben is ki fog halni redesignkor, nem kell hozza bash.
Mondod ezt egy olyan termek mellett ervelve, ami alapbol egy virtualis szamitogepre van irva (.NET CLR), azon vitatkozva, hogy egy par tizezer soros, eredetileg PDP-n futo szoftvernel az jobb?
Hogy ez hogy kapcsolodik az elozo ervrendszeredhez, azt meg plane nem ertem.
A bash eredetileg pdp-n futó szoftver? Hümmm... A bash és az orginál pdp-re írt sh nagyjából Makó (a lovag, Split kikötőjében) és Jeruzsálem (a város) távolságot jelenti...
Azt is az elegancia egy sajátos formájaként foghatjuk fel, hogy adatfeldolgozásra az egyetlen strukturális elem gyakorlatilag a soremelés és a karakter.
Persze, karakteres adatoknál. Számokat meg tessék számként kezelni.
"Mit szerettél volna mondani?"
Ha ennyiből nem vagy képes megérteni, akkor igazából olyat mondanék, ami csúnya, sértő, személyeskedő, de mivel te esetedben felesleges, így inkább nem folytatnám.
Egyébként normálisnak tartod azt, hogy a kimenetben nem tudod az a piszokegyszerű dolgot a szkript natív eszközeivel megoldani, hogy kiírsz valamit, aztán amit legközelebb kiírsz, az ugyanabba a sorba kerüljön?
Piszok nagyott változott a világ, ha ez a rendkívüli eset kategóriája lett.
A vilag legszebb pipes-and-filters implementacioja a unix shell, ami alapjaul szolgalt az architekturalis mintakon valo gondolkodasnak; csak a mult heten ezert eletmudijat vett at ket ember: http://www.infoq.com/news/2011/07/garlanshaw
Bevallom, én rendkívül vonzódom a maximálisan koherens, az elveiket nem beáldozó rendszerekhez/nyelvekhez, főként ha ezt végig viszik a lehetséges maximumig. (Haskell, Smalltalk stb... )
Ezért pl. szimpatikus a powershell is, és emiatt tudtam néha kicsit idegenkedni a Unix hozzáállásától:
DE aztán rájöttem, hogy mindazoknak a rendszereknek és nyelveknek amikkel olyan remekül elszórakozom, töredékével ismerkedtem volna meg, és használtam volna fel bármire is bármikor, ha nem lett volna alattam egy ilyen sárlabda szerű (bármit bármihez egyszerű elvek mentén hozzáragaszthatsz) kombinálható és befogadó a változatosságot nem diszkrimináló alaprendszer
A shell "gyengeségei" és fent említett befogadóképessége együtt ráadásul szerintem egy külön motiváció minden unixot használónál, hogy egyre több, az éppen adott céljaihoz minél jobban passzoló eszközt megismerjen.
Hát szóval ennyit minimum fel tudok hozni ennek a "dizájnnak" a védelmében...
Ööö... izé... én értem, hogy ez annyira-de-annyira jó dolog, hogy nagyon, de nálam a shell programozás két szinten szokott történni:
- bash + awk, grep, egrep, sed, tr, ...
- perl
Amit nem tudok perl-ben megírni és shell-ben kell fusson, ahhoz a C# is kevés lesz, ráadásul többet kell írni ugyanahhoz az eredményhez, mintha perl-ben írnám. Egyébként eddig még nem futottam bele olyasmibe, amihez a perl kevés lenne, de ha bele is futnék, akkor Java-ban írnám meg... :)
-- http://wiki.javaforum.hu/display/~auth.gabor/Home
És tegyük hozzá, hogy az awk/sed/grep a legtöbbször arra kell, hogy a programonként egyedi formátumú, sima szöveges kimenetből saját szájízednek, vagy a következő alkalmazásnak megfelelően kinyerd a lényeget - ráadásul ezek a részek azok, amik (a csőben előttük/mögöttük lévő program verziójától, platformtól, etc. függően) platfrom és verziófüggőek tudnak lenni...
Linux alá (is) egy rakat objektumorientált interpreteres nyelv létezik. Az hogy a bash pont nem az az szerintem a világ egyik legnagyobb vihar a biliben problémája.
------
3 fajta matematikus létezik. Aki tud számolni, és aki nem.
Olyannyira, hogy nem is mindenki tud ojjektum orientáltan programozni. A bash lényege, hogy mindent ész nélkül helyettesít. Így aztán az ember eleresztheti a fantáziáját, remek olvashatatlan kódot lehet írni, ami még lassú is lesz, mégis elégedettek vagyunk az eredménnyel. :)
Akkor kérlek - valszeg a hupos tagságom alatt (de talán előtte sem) kértem ilyet - dobj össze nekem egy kódocskát, amely
- win2008 vagy win2003 alatt futva,
- adott domain,
- adott nevű/című hosztját
- adott másik címmel ruházza fel.
Elárulom, hogy órákat töltöttem azzal, hogy olyan megoldást dobjon ki nekünk a mi barátunk, ami nem törlésen és újra létrahozáson alapszik, de amit egyáltalán találtam, abból a legjobbat látod itt - más kérdés, hogy az se csinálja meg.
Végül elfogadtam volna egy VBS megoldást is, is itt kezdtem el dobálni a hajtűimet: a http://msdn.microsoft.com/en-us/library/ms682130.aspx címen fellelhető szkriptet első körben szintaxhibamentessé kellett tennem (ok, ajándék ló) - aztán a tisztított szkript aszondja, hogy ő ugyan nem ír át semmit, mert az általam megadott feltételnek nem felel meg egy rekord sem. A frászt nem.
Szóval hálás lennék bármilyen ötletért, beleértve olyan url-t, amit lemondó apátiámban már meg se néztem a soktucat után.
Kis híján azt válaszoltam, hogy picit elkeserít, ha az eddigi hozzászólásaimból az jött le, hogy lusta és/vagy hülye vagyok - még a mi barátunk kezeléséhez is... aztán előjött bennem a jóhiszem, hogy az egy dolog, hogy nekem ezzel nem (sem) ment ezért:
... de, ha ennyire állítod, csak kell legyen benne valami, és megcéloztam egy másik DC-t a gwmi-jal... és voilá, az elhitte, hogy rendben van, amit kérek tőle.
Meg is kapták a labdát a winadminok, derítenék már ki, melyik patch maradt le az elsőként kiszúrt gépről.
Szóval köszönet, amiért a Holmes-féle pályára állítottál!
Egyébként terheltebb szervereken ez akkor szokott előjönni, ha az RPC portokból kifut a gép - közel sem biztos, hogy ez a baj, de először erre nézelődnék.
Nekem néha nagyon kellene, van egy rakat olyan feladat, ahol oda-vissza kéne mozogni tizensok szint mélységű könyvtárstruktúrában, ahol mondjuk a harmadik-negyedik szint különbözik csak. Bash-ban picit horror, más shell-t feltelepíteni a rendszer felépítéséből adódóan dettó, úgyhogy maradt egy statikusra fordított zsh felmásolása a gépre...
A PowerShellel őszintén szólva kettő problémám van. Pedig jóval előremutatóbb, mint egy karakteres maszlagban való turkálás:
- Mivel nincs meg az adott mélységű tapasztalatom PS-ben, ezért még mindig hamarabb összeütök egy PHP scriptet vagy egy C# programot (VS indítással és mindennel együtt), mint mialatt megírom a PS scriptet. Utóbbi esetben még jó eséllyel hatékonyabb is lesz.
Persze, ezen lehet változtatni, tanulással, viszonylag gyorsan.
- Másik probléma, hogy a legtöbb admin nem, hogy nem tud programozni, de eredendően rühelli is. Egyetemen is egy csomó emberrel beszéltem, aki rendszergazda/rendszermérnök beállítottságú ember kérdezi, hogy mégis minek szívatják őket ennyire a programozással. Nah, pont ezért.
Amit a legtöbb rendszergazda produkál "script" címszó alatt (és nem feltétlen PS-re kell gondolni, bash-ban is vannak ám olyan szinten rettenetek), hogy a hajam leteszem, mikor néha látom, hogy mit csinálnak.
És mivel hiányzik az elméleti háttér (mert az fúj, undorító programozás, különben is sokan örülnek maguknak, hogy megértették, hogy működnek a pipek UNIX-on) inkább csuklóból elleneznek mindent, ami picit is újító irány.
Mert minek, mert a régin is össze lehetett taknyolni...
Szerintem igazuk is van. A shellnek nem objektum-orientáltnak kell lennie, nem kell felvonultatnia mindenféle, egyre magasabb szintű absztrakciót. Aki erre vágyik, az talál erre nyelvet, mindenféle C++, C#, illetve bármit. Shell scriptben nem alkalmazásokat, s nem is függvénykönyvtárakat ír az ember, arra alkalmatlan, ahhoz lassú, interpretált nyelv. Nem ez a célja.
A shell arra jó, hogy ha hirtelen össze kell szögelni valamit kevés gondolkodással, akkor ehhez ő egy hatékony eszköz legyen. Tehát működjön a "józan paraszti ésszel" történő algoritmizálás. Ne elvont fogalmakban kelljen gondolkodni. Sőt, kifejezetten előnyös itt, hogy a bash egy gyengén típusos nyelv, vagy hogy is mondják ezt a nagyok. :) Szóval nincs szükség deklarációra, mert minden string, adott kontextusban legfeljebb egész számként értelmeződik.
Ha típusos lenne, mire az ember megálmodná az adatstruktúráit, leírná a deklarációit, el is menne a kedve az egésztől.
Bashből a lebegőpontos aritmetikát fájóan hiányolom. Ami szintén kellemetlen, az az, hogy egyes esetekben elég körülményes kimenő paramétereket átadni. Ugye, pipe esetében a cső két oldalán független process-ek futnak, így független a változóterületük. Én úgy szoktam ezt áthidalni, hogy a pipe-ból stdout-ra írok, s az egész csövet, vagy függvényt, amely pipe-ot használ, egy változó értékadásában hívom $() helyettesítéssel. Így akármilyen sok változó átadható, hiszen csak ki kell találni egy delimitert. Ami meg terminálra menne, esetleg el lehet küldeni stderror-ra.
Egyébként erre van szebb megoldás? Tudom, lehetne még ideiglenes file esetleg, bár valamiért nem tetszik.
A PS pont ott egyszerűsít sokat, hogy nem kell annyit az adatstruktúrákkal foglalkozni, hiszen az már jön a nyelvből. Ha meghívok egy függvényt, akkor annak a visszatérési értékét tudom. Ráadásul többnyire egy gyűjtemény valamilyen típusokból.
Az, hogy OOP vagy csak structok/rekordok halma, az most jelen esetben majdhogynem lényegtelen. Kitalálhatták volna az egészet egy SQL-s felület mögé rejtve is.
A paradigmális váltás csak annyi lenne, hogy ezeket a kész szerkezetet használjuk az egyes toolok között és nem a karaktereket lapátoljuk. És ez egyáltalán nem nagy dolog, nem kell ehhez kitalálni adatszerkezeteket csak egy alapszintű programozói tudás kell hozzá. Messze nem elvont és megtanulható mindenki számára, aki egy receptet képes értelmezni.
A probléma inkább ott gyökerezik, hogy sok rendszergazdának vagy a legminimálisabb programozói tudása sincs meg (és mint írtam, ez a bash szkripteken is nagyon-nagyon-nagyon meglátszik) vagy szimplán mereven elzárkózik attól, hogy tanuljon valami újat.
"Ha típusos lenne, mire az ember megálmodná az adatstruktúráit, leírná a deklarációit, el is menne a kedve az egésztől."
Aki meg már írt .NET-ben ilyesmi jellegű "ragasztókódot", az tudja jól, hogy sok esetben semmi ilyennel nem kell foglalkozni, a deklarált változók is sok esetben var-l vannak megadva, a típus úgy is jön a függvény visszatérési értékéből.
Másrészt viszont egy kis programozói szemlélet nagyon nem ártana egy normális, nem egy soros bash szkripthez.
Az eldobhatóságot meg hagyjuk már... Mindenki tudja, hogy tonnaszámra készülnek olyan szkriptek, amik nagyon nem egyszer használatosak és több évig lesznek üzemben azért, hogy valamit összecelluxozzanak. Értem én, hogy lehet ez MacGyver stílusban is tolni, de attól még egy szigszallaggal összetákolt izé nem az igényesség és a megbízhatóság csúcsa.
Az az egy apro teny ugye nem kerulte el a figyelmed, hogy PowerShell a topic, ahol pont ilyen aprosagokkal probalkoznak, mint a toolok kozott valami adatstrukturat atadogatni?
Attol fugg. Ha nagyon durvan veszem, akkor a jelenlegi shellek olyan adatstrukturat mozgatnak a csovon, ami gyakorlatilag egyetlen szoveges mezoje van, ami alapertelmezett. Ebbol a szemszogbol mar csak egy lepes a komplex adatstrukturak mozgatasa.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
Úgyérted a bash nem tudja, ezért nem shell feladat. Gondolom a nagy architektségedben eszedbe sem jut, hogy a kategóriák határai nem élesek, és ha egy módszer elősegíti a munkát, akkor érdemes átvenni egy nem megszokott területre is.
----
Hülye pelikán
A shell feladata elsosorban az, hogy a platformra epitett alkalmazasokat el tudd inditani. Ezert hivjak a windows-ban a shell-t explorer-nek; ez biztositja az alkalmazasok inditasahoz szukseges kornyezetet. Az, hogy az alkalmazasok inditasat makrozhasd, ez egy nice extra. A pipe-and-filter rendszer is az.
A szakma szabalyai eleg elesek, es nem te hatarozod meg oket. Nem is en, ellenben nekem van annyi eszem, hogy nem szolok be ertuk.
Háát. Az srp működéséhez nyilván elengedhetetlen a kombinálhatóság, hiszen anélkül értelmetlen az egész.
Az alap (fájlfeldolgozó) Unix világban pedig a különféle filterek adják az alapvető komponenseket, a shell meg biztosítja a kombinálhatóságot, azt a ragasztóanyagot ami nélkül az egész kb. használhatatlan lenne.
Ilyen szempontból nézve, sem a "makrózás" sem a pipe-ok nem elhanyagolhatóak: azaz ha az srp felől nézed, akkor épp pont ezek a legfontosabb funkciói a shellnek (persze nyilván lehetne ezt máshogy is, még jobban elszeparálva megvalósítani, de valahová akkor is be kell kerülni a kombinálhatóságnak...)
Az SRP nem feltetlenul vonja magaval a kombinalhatosagot, nem zarja ki monolisztikus rendszerek letezeset, de mindegy, fogadjuk el.
(Amirol te beszelsz, az a Coupling & Cohesion, ami az SRP inverze, de nem teljes inverze)
En itt nem a Unix vilagrol beszeltem, arrol beszeltem, mit jelent az, hogy user shell.
A PowerShell-nek - eszerint az elkepzeles szerint - viszont nem celja az interaktivitas - interaktiv kornyezetben tipushelyes kodot irni, hajra - hanem egyszeruen valamifele .NET szabvany orchestration-re. Ez biztos egy nagyon szep es fontos dolog ott, azonban a UNIX shellnel mas az elsodleges cel.
Annak a kódnak is típushelyesnek kell lennie, ahol nem az eszköz hanem csak te felelsz az adatok típusáért. Persze gyenge típusok esetén nem kapsz runtime errort a "2"+3-ra hanem 5-öt vagy "23"-at de ettől még neked kell rá figyelni, hogy mi lesz... (ráadásul - azonnali hiba hiányában - jobban is mint erős típusok esetén)
Tehát szerinted élesen elkülöníthetőek a kategóriák, úgymint shell, scriptnyelvek, XY programozási nyelvek (XY értsd: "hagyományos" vagy valami hasonló). Szerintem akkor te egy nagyon szar szakember vagy. Személyeskedés nélkül, pusztán szakmailag. Pont ebben az iparban minden annyira átfolyik össze-vissza egymásba, hogy hihetetlen, hogy 2011-ben ilyeneket tudsz írni.
----
Hülye pelikán
Nezd, ebben az iparban nem folynak a dolgok ossze, de ezt a kritikat soha senki nem merte megfogalmazni meg, aki velem dolgozott akar egy napot is. Ennek az ellenkezojet viszont azok a mernokok is megfogalmaztak, akik adott esetben az allasukat veszitettek el egy hosszu folyamat eredmenyekent, amiben a vegen en dontottem. Nem gondolom azt, hogy ezt toled, egy nicknev moge bujva el kene fogadnom.
Természetesen semmit nem kell senkitől elfogadnod. Ettől még végiggondolhatod, hogy mekkora hülyeséget írtál le, és milyen látókörre vall. No meg hogy kívülről sokszor könnyebb helyes ítéletet mondani (és persze kevés információ alapján téveset is).
----
Hülye pelikán
Nezd, architect vagyok. Az a dolgom, hogy a szeleburdi ifjak teveszmeit irtsam. Az egyik ilyen, hogy minden atfolyik egymasba. Nem osztok maflast, ha valaki ezt kodba meg meri tenni, de hogy ha rajtam mulik, productionig nem jut el egy ilyen kod, az biztos. Volt mar hogy a gyerek addig eroskodott amig az ajton kivul talalta magat az alternativ felfogasaval a vilagrol, de akkor se szolt ilyet mint te.
Use case-ek vannak, ezekre a use case-ekre megoldasokat nyujtunk, ill. a use case-ek kozott prioritasok vannak. Egy shell prioritasa elsosorban az operacios rendszer cseszegetese, mint azt a wikipedia is szepen leirta (az elso mondatban, ami fontosabb mint a tobbi altalaban.) Hogy emellett meg mit kell tudnia a shellnek, nyilvan interaktivitast: a viccessen python-shellnek meg mittomminek hivott REPL-ok ( http://en.wikipedia.org/wiki/REPL ) celja az, hogy interaktivan, gyorsan ki lehessen probalni valamit.
Ezek azonban nem shellek, nem nyujtanak futtatasi kornyezetet az alkalmazasok szamara; a webbongeszo sokkal inkabb shell.
A PowerShell se nyujt futtatasi kornyezetet a .NET alkalmazasok szamara, nem teszi lehetove egy .NET komponensnek, hogy masikat nyisson; a PowerShell egy REPL funkcionalitassal rendelkezo nyelvi kornyezet.
Amit en alllitottam, hogy ez nem az a versenyzo, akinek a bash-sel versenyeznie kene, hiszen se operacios rendszer feladatokat, se alkalmazasinditast nem celja tamogatni, elsodleges celja mindenfele tipushelyes CmdLet-ek irasa, es amit meg allitottam, hogy az interaktiv es a tipushelyes a sokevtizedes tapasztalatok szerint nem jon ossze jol; evek ota vannak ilyen probalkozasok. Lehet, hogy azonos funkcionalitast nyujt, de teljesen masok a prioritasok, es ez itt a szempont.
Amit meg ezen kivul allitottam, hogy a tipushelyesseg a 70-es evek vegen, 80-as evek elejen tul lett ertekelve, a hibak nem ebbol szarmaznak. Ugy gondolom, ha nem lett volna tulertekelve, akkor nemes egyszeruseggel megszuntek volna a nem statikusan tipusos nyelvek, ehhez kepest ezek eloretoreserol szolt az elmult 10-15 ev, a PHP-tol a pythonon, ruby-n at a javascriptig.
Ez utobbi kijelentes sajatos helyzetembol is adodik, miszerint dynamic language architect vagyok, tehat amolyan sivatagi madar: kevesen hiszik el hogy dinamikus nyelvekhez kellenek architectek, ill. hogy ha valakinek elsodleges terulete a dinamikus nyelvek, rendelkezhet architect tudassal. Ezert rendszeresen durva java felveteliken kell atesnem, hogy aztan ismet elfelejtsem azt a borzalmat amig annal a cegnel vagyok. Na de ennyi.
De sok mindent belelátsz te itt. Gondolom megszoktad, hogy menedzserekkel kell beszélgetni.
Azt állítottad, hogy nem shell feladat az objektumok átadogatása processek között. Ennyit, és nem ezt a sok szöveget itt fent. Erre mondtam, hogy ez igen hülye hozáállás, mivel ez nem a shell FELADATA, mintahogy a bashes pipeolás sem FELADAT, pusztán ESZKÖZ, amivel végre tudja hajtani a feladatát. Ez egy másfajta eszköz, jobban hajaz más nyelvek megoldásaira, de ettől még a feladat elvégzését nem akadályozza meg.
Az igaz, hogy a PS nem olyan igazi shell, például nem az a default parancsértelmező, ami igencsak megcsapja ebben a törekvésben. De ugyanúgy alkalmas shell célokra.
----
Hülye pelikán
Szerintem az akadémiai definiálgatás helyett maradhatunk az Einstein-féle idődefiníció talaján és mondhatjuk, hogy shell az, amit shellként használunk -- aztán hogy mi az számológépnek, vagy éppen tömörítőprogramnak is használjuk, mert tudjuk használni, mert pont úgy írták meg azt a shellt (vagy tkp. nem shellt)... ezen lehet lufit hámozni.
Erre akartam én is utalni fentebb, hogy az éles határok nem léteznek, csak elméletben néznek ki jól. Csak az architekt nem mérnök, és nem is gondolkodik akként úgy tűnik.
----
Hülye pelikán
Az architect az a vezeto mernok, ez ne zavarjon. Nem a menedzserekkel beszelgetest szoktam meg, hanem hogy le kell menni neha ha valaki nem erti.
A word is alkalmas tablazatkezelesre, ettol meg az emberek nem hasznaljak erre, mert masok a hangsulyai.
Azt mondtam, ha objektumokat akarsz dobalni, akkor lepj ki a shell-kornyezetbol egy magasabb szintre. Nem emlekszem, hogy az stdout barmely rendszerben objektum-orientalt lenne. Ha valakinek collectionoket dobalo rendszer kell, erre egy teljesen masik platformo vezettek be, ez a MapReduce. Teli vagyunk ilyen alkalmazasokkal, a google szinte kizarolag erre a platformra - GFS - epit. De ez nem OS shell, egyebkent ez sem teljesen tipushelyes (scheme-free adatbazisok).
1. Nem úgy általában az architektekről beszéltem, hanem rólad.
2. Még mindig nem látom, hol a baj azzal, ha egy shell máshogy oldja meg a dolgait, mint a szerinted etalon, ha a végeredmény ugyanúgy szöveg és programindítások (jelenleg ez a két sarokköve a shellfogalmadnak ahogy nézem).
----
Hülye pelikán
Te mondd, tetra, mitol nem vagyok jo mernok neked? Attol, hogy nem ertek egyet azzal a felveteseddel miszerint a vilag osszemosott? Melyik tanarod mondta ezt hogy az, hol szerepelt a tananyagban?
A PowerShellnel pedig a koztes eredmeny egy marshalling, es erre mondtam azt, hogy ez nem shell funkcio, ha te marshallingot akarsz, kergesd be egy erre alkalmas kornyezetbe. Hol itt a gond?
Asszem sehol nem állítottam magamról, hogy jó mérnök lennék :P
>Te mondd, tetra, mitol nem vagyok jo mernok neked? Attol, hogy nem ertek egyet azzal a felveteseddel miszerint a vilag osszemosott?
Nagyjából igen. Olyan kategóriákban gondolkozol, amik nem léteznek ilyen kategórikusan. A mérnök meg a valósággal foglalkozik.
>Melyik tanarod mondta ezt hogy az, hol szerepelt a tananyagban?
Sehol, ilyesmikről nem tanultunk ha jól emlékszem.
>A PowerShellnel pedig a koztes eredmeny egy marshalling, es erre mondtam azt, hogy ez nem shell funkcio, ha te marshallingot akarsz, kergesd be egy erre alkalmas kornyezetbe. Hol itt a gond?
Ott, hogy a marshalling csak egy eszköz, és nem befolyásolja a shell funkcionalitását. Ez nem funkció, ez az ő logikája, amivel ellátja a funkcióját, és nagyon sok embernek kifejezetten tetszik (én nem vagyok köztük, de csak mert nem foglalkoztam vele túl sokat, így nem tudok róla véleményt mondani), nyílván nem azért, mert nehezebbé teszi a munkát.
----
Hülye pelikán
Nagyon nagy baj lenne, ha a vilagot nem tudnank kategorizalni... Mi a fenet kezdenenk az osztalyrendszereinkkel? Hogy oldanank meg a modularizalast? Mit tudnank kezdeni a mintanyelvekkel?
A mintanyelvek (Pattern Languages) pont ez a "csunya" kategorizalas, amit te kerulsz. Pont mostanaban van egyebkent az eves mintanyelv konferencia, de ugy ereztem, nem eri meg az ezrest (euroban), nem mentem.
Na de viszont a mintanyelvek pont errol szolnak, hogy dolgoknak adunk nevet, es nem pusztan a reszek, de a hangsulyok is szamitanak benne. Nagyon sokan nem ertik, mi kulonbseg a decorator meg a proxy kozott, meg a delegacio egyeb formai kozott, hisz ugyanolyan kodot adnak; na de hisz mashol van a hangsuly!
De nezzuk teny szerint: a bash, ill. A bourne es korn shell leszarmazottjai minden hianyossaguk ellenere rendkivul nepszeruek. A PowerShell viszont legfeljebb kuriozum; ugy alakult, hogy egyre ismertebb lesz, de nem latjuk hogy terjedne; persze lehet, ez a windowsos vilagban nem ilyen, .NET-es barataim speciel nekem nem hasznaljak, nem latjak sok ertelmet.
Az eles kategorizalas az informatikaban "szukseges rossz": egy osztalynak, egy modulnak nem lehet ket neve. Persze figyelnunk kell arra, helyesek-e ezek a kategoriak, en azt allitottam, hogy a PowerShell mint shell bekategorizalasa nem az. Persze az ido eldonti, na de kedves tetra, azert, mert ezen mas velemenyen vagyok mint te, azert lennek en rossz mernok?
A PS programozóknak nem is kell - ellenben üzemeltetőknek hasznos. Exchange-et, Lync-et túrni bizonyos esetekben sokkal jobb ezzel, mint a GUI-n.
Az meg, hogy van-e 5 éves távlatban jövője szerintem most megtippelhetetlen. Azon múlik a dolog, hogy az MS hogy dönt, marad a .NET világnál, vagy vált HTML+JS (vagy valami hasonló) világra. Ezt meg (tudtommal) most még ők maguk sem tudják, előbb várják a piaci reakciókat.
Mondjuk azon azert erdemes lenne elgondolkoznod, hogy miert kell majdnem minden topicban elmondanod, hogy te architect vagy.
Az ex-csapatomban volt olyan szabaly, hogy aki eroskodik a felvetelin, hogy o architekt, az nem vesszuk fel, ugyanis jo esellyel hatalmas lesz az arca. (Ehhez hozzatartozik, hogy Oxbridge-es A+ diplomakkal rendelkezo emberek sem emlegettek allandoan, hogy ok architektek, meg csucskoderek, meg nagyonertenekhozza, siman megcsinaltak a feladatot, es ha ervelni kellett, szakmai ervekkel tettek, nem pedig azzal hozakodtak elo, hogy ok tudjak, mert ok az architektek, vagy mert ok az MIT-n szereztek diplomat, vagy mittudomen.)
Na varjal. Azt, hogy ti ilyeneket nem vesztek fel, az nagyon helyes, nem egymast keressuk, ez egy jo szuro.
A foiskolai topicban akkor hoztam ezt elo, amikor jott, hogy ez nem PM feladat; itt mar nem en hoztam elo, hanem valoszinuleg a masik topicbol olvasva tetra, es erre reagaltam, hogy de szerintem en igenis jo architect vagyok, senkitol soha nem kaptam negativ feedbacket a szaktudasomra vonatkozoan, a stilusomat nem csiptek sose (pl. azt, hogy igen, hajlamos vagyok lezarni az akadekoskodast, hogy dontsuk el, ki a fonok, es ervek nelkuli vitakat se szeretek vegigcsinalni.)
Az, hogy miert hangsulyozom ezt, ez szemelyes problema, illetve hat korszakos: utalok beosztott programozo lenni, de kevesen ismerik manapsag ezt a fogalmat. Szerintem a tobbi programozonak is ego, ha nem egy forumtopikban hangoztatom hogy en architect vagyok, hanem miutan a karukra bizonyosodott be, hogy nagyon nem vagyunk egy szinten. Soha tobbe nem akarok elmenni "sima" fejlesztonek, senkinek nem jo ez.
Megis mire? Arra, hogy te itt kijelentetted, hogy nagy arcod lehet? Hagyjal mar.
Oszinten szolva megkerdeznem a veled dolgozok es a volt kollegaidat is errol. Persze, lehet, en talalkoztam tobbsegeben rossz emberekkel, de a kemeny tapasztalat bizony azt mutatja, hogy aki ennyire a magas lorol lenezoen, szemellenzosen beszel.. nos, annak a legritkabb esetben kellene, hogy akkora arca legyen, mint amit te mutatsz itt.
Ebből nekem az jön le, hogy nem architect (vezető) vagy, hanem főnök.
Architect és/vagy vezető olyan személyből lesz, akit a többiek vezetőnek tartanak és akinek a tudását, munkáját elismerik. Főnök abból lesz, aki kiköveteli magának az elismerést, illetve hangerővel és arrogáns viselkedéssel pótolja a tudása hiányát. A főnök soha nem kap negatív visszajelzést, egy vezető kap kritkát és figyelembe veszi azt.
A bajom az, hogy mostanaban ilyen flat informatikai strukturakat akarnak (ohne teamlead, ohne barmi), na ez nem jo, mert igy nem tudom korrigalni a teammate-ek hulyesegeit, anelkul, hogy ne legyen belole botrany. Mert osszeterelnek 10 programozot, aki persze elozo eleteben mind senior meg teamlead volt, csak aztan valahogy megis lesz egy szintkulonbseg.
Pontosan. Illetve en leulok programozni, frameworkot, meg atbeszelem barkivel hogy hogy kell leimplementalni valamit, meg atnezem a kodot, es - bar amikor felb.szom az agyam es flame-elek, epp nem, de egyebkent - a devianciat korlatos mertekig hagyom (pl. az SQL injection nem tartozik ezen korlaton belulinek)
Az atlag nagyvallalat viszont ugy mukodik, hogy _mindenki_ egyenrangu, aztan kiosztjak a modulokat kb. Na ebbol hogy mekkora f.s keletkezik, arra nincs kifejezes. Ismert, hogy minoseg-buzi vagyok, es szivemen viselem a szoftver mukodeset. Azok a szoftverek, amik kikerulnek egy ilyen kornyezetbol, nem kivul szepek belul nehol foltokban rohadnak, hanem konkretan szarkupacok, legaljatol a UI-ig.
Nyilvan ebbol veszekedes van. Nyilvan veszekedes van belole, ha azt mondom, hogy ezt meg lehetett volna feleennyi ido alatt normalisan irni, akkor ha letromfol hogy "akkor ird meg b.zdmeg" es delutanra egy olyan kod van az SVN-ben amin maszturbalhatsz, ez feszultseget okoz. Vagy ha lerajzolom neki abran, hogy miert nem jo az elgondolasa, akkor a "hagyja' beken az UML-es fassagaiddal" megy, es QA-n dol be a f.szba az egesz, ket hettel kesobb,hatarido elott fel nappal. De ez nem szemelyfuggo, altalaban a code monkey szerep fost eredmenyez, az egysegesites meg csak azt, hogy mindenki code monkey lesz, mert nem vallalja fel a konfliktust. En meg de.
Igazabol engem nem erdekel, hogy mi szeretsz lenni es mi nem. Arrol volt csak szo, hogy mindig fontosnak tartod megjegyezni, hogy marpedig te
- architekt vagy
- architekt blogot irsz (vicc)
Raadasul annak hangoztatasa, hogy mindig igazad van, nem a pozitiv feedback hatasa (hiszen mindig is igy volt).
Azt, hogy en vagyok-e a szuklatokoru, majd az ido eldonti. Ha 5 ev mulva is letezik powershell es nem csak valami minoritas hasznalja, akkor az voltam, ha nem, akkor "jos".
Újabb logikai baki. Az, hogy valami jó-e avagy sem, illetve hogy shell-e avagy sem, nem jellemzi igazán jól az elterjedtsége, hiszen az számtalan egyéb, hangsúlyosabb tényezőtől függ. De gondolom a te tiszta kategóriáidba nem fér bele az, hogy egy dolog több dologtól is függhet, hiszen az már tervezésileg is bonyolítja a helyzetet.
----
Hülye pelikán
Na most ez alapvetően ez egy manageri (tehát nem beosztotti) hozzáállás. Ez konzisztens a "nem szeretek beosztott lenni" kijelentéseddel. A mérnöki az lenne, hogy próbáljuk ki hátha jó és utána használja. A troll meg csinál egy topikot "amirol a bash csak almodhat :)" címmel. A gyengék (+ oskolaszünetes diákok, trollok, agitátorok) meg bekapják a flame-baitet. :D
Úgyis mindenki azt használ amit akar. Vagy amit mondanak neki hogy használjon, vagy amiből meg tud élni (ez volnék én).
Na mindegy is, jó kis flame thread lett ebből. De legalább mindenki elmondott mindent, ami a lelkét nyomja.
Mas technologiak csuklobol torteno elitelese "csak mert en azt mondtam, hogy ez a tokeletes" valamint "eddig jo volt, minek megvizsgalni egyaltana, hogy van-e mas?" hozzaallas megis mi a halal, ha nem egy ordas nagy szuklatokoruseg es fafejuseg?
Nem azt mondtam, hogy az a tokeletes, azt mondtam, hogy a trendek szerint a PowerShell, vagy ahhoz hasonlo technologia nem fogja levaltani a bash-t, es ennek az oka az, hogy a ket igeny ugy latszik, kulon szalon fut. Mint ahogy az egysegesitett office suite is egy idoben meno volt, de azota az openoffice is kulon-kulon szoftvernek alcazza magat.
Nem csuklobol iteltem el, azt allitottam, hogy nem felel meg azoknak az igenyeknek, amik miatt a bash-t hasznaljak emberek. Mindezt azutan, hogy nehany eve mar itt van a piacon, es evente egy-egy ember feltunik villogni vele, hogy marpedig ez "jobb". Ez egy velemeny.
5 ev mulva az derul ki, hogy lesz-e pl. default powershell parancseretelmezo windowson (elkepzelheto), ill. lesznek-e powershell-probalkozasok mint unix parancsertelmezok, es ezek mennyire lesznek sikeresek.
Oke, majd ha a pash levaltja a bash-t, vagy Shuttleworth gondolkozik rajta legalabbis, akkor beszelhetunk arrol, hogy a pash tud olyanokat, amikrol a bash csak almodhat. Addig fenntarthatom a velemenyemet, miszerint ezek a ficsorok kellenek a f.sznak UNIX-on?:)
A shell soha nem akadalyozta meg, hogy elso mozdulattal bekergesd az inputodat valami rendszerbe, ami onnantol kezdve OOP elmukodgethet. De engem mar az is zavar, hogy nem tudok cat parancsot kiadni konyvtarra linuxon, nem kell nekem hogy megjobban tipusos legyen.
Szerintem higgyük el, hogy aki igényes kódot ír(na) PS-ben, az igényeshet ír sh-ban is, és így az sh-nak se lesz szigszalagabb tulajdonsága, mint a libc-nek.
Ráadásul mindez független attól, hogy admin, fejlesztő, vagy ébben tesztelő-e az illető.
Amióta a programozás egynyelves betanított munka lett, bízhatunk abban is, hogy a java-only fejlesztő semmivel sem áll(na) kevésbé fejre a PS shelles paradigmáitól, mint a bashonly admin az OOP-sektől.
"Amióta a programozás egynyelves betanított munka lett"
Itt most nem arrol van szo, hogy mi lett a programozas. Hanem arrol van szo, hogy mi a hozzaallasa az _adminoknak_ a programozashoz. Nem tudom jobban elmagyarazni.
Nekem mondod? Finoman éppen arra utaltam, hogy mi a fenét keres a HUP-on a Power Shell, s miért trollkodnak egyre többet itt windows-os arcok, akiknek sok vonatkozásban még csak igazuk sincs, csak a hangulatot szítják?
Tény, hogy ígyjárás, lehet, treynek kellene szétcsapni köztük.
"Finoman éppen arra utaltam, hogy mi a fenét keres a HUP-on a Power Shell"
Megoldásától függetlenül a PS puszta léte ékes bizonyítéka annak, hogy a wines táboron belül sem tud vagy akar mindenki minden apró hülyeséget vagy minden iteratív terjengősséget az egérhez kötve megoldani - és hogy ez a résztábor korábban a jellemzően nix-ből kölcsönzött és jellemzően GPL-es cuccok nélkül vastagon magán érezhette a M$ áldását.
A szöveges adatfolyamok ide-oda pipe-olgatása és feldolgozása olyan szinten ineffektív hogy az ilyen megoldásokat illik elvi alapon elutasítani.
Egyébként szerintem a Unix "filozófia" is egy nagy baromság: "Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface."
Sajnos hiaba kapalozik az emberfia, nemhogy programok kozott, de manapsag mar nincs olyan halozati protokoll ami ne szoveg alapu lenne. Es latod, a hozzaszolok tobbsege mar a magas szintu API otlete ellen is idegrohamot kap. A unix filozofia ide vezet.
Attól függ milyen szempontból. A streamelgetés pl. memóriaszempontból nagyon is előnyös: több száz gigabájtos adatokat kezelhetsz tökéletesen ugyanazzal a kóddal és mentalitással mint a pár soros szövegeket
Bevallom nem értek igazából a PS-hez, de pl. látatlanba lefogadom, hogy még olyan alapvető memória takarékos algoritmusokhoz mint mondjuk egy egyszerű disk-en rendezés is meg kell izzadni...
szerk: kihagytam az automatikus párhuzamosíthatóságot: szóval mivel ez a pipeolás egy elég egyszerű dataflow programozásra hajazó megoldás, ezért elég jól párhuzamosítható mindenféle külső programozói ráhatás nélkül (nemtom persze a PS mennyire párhuzamosít automatikusan, tényleg mennyire?)
Ööö... izé... ezért van ugye, hogy az Office-összes újabban szövegalapon tárolja a cuccait? Pluszban le merném fogadni, hogy a Windows is tele van már szöveges adatfolyamokkal... XML mond valamit? :)
-- http://wiki.javaforum.hu/display/~auth.gabor/Home
Azokat a problemakat amiket az XML megcelzott, mar megoldottak 10+ evvel korabban, sokkal kiforrottabb formaban. Kepzeld, korabban is leteztek protokollok.
Nahát... mit látok a link közepén: közönséges XML-t... :)
Azt tudtuk már, hogy az XML encoding az ASN.1 szabvány része, ahogy azt is tudtuk, hogy mi előnye és hátránya van az egyéb szerializációs megoldásokkal szemben. Persze megértem, ha személyes ellenérzésed van az XML-el szemben, de attól az XML még létezik, széles és egyre szélesebb körben használják, és mint magadnak bizonyítottad: része az adatkommunikációs szabványoknak. Szóval?
-- http://wiki.javaforum.hu/display/~auth.gabor/Home
Hat persze hogy tudtad, azert volt a leghalvanyabb fogalmad sem mirol beszelek es kerdeztel ra 2x. Annyira tudtad, hogy mar fel sem merul benned hogy mast is lehet protokoll leirasra hasznalni mint XML. Az XML encoding btw utolag kerult az ASN.1-be (de nyilvan ezt is tudod) pont az elterjedtsege miatt. Semmi gond. En sem ismerek minden technologiat es ezt nem beszolasnak mondom.
Attol hogy elterjedt, lehet foshalom. Az hogy valamit konnyu hackelni es emiatt gyorsan terjed valamint hogy az mennyire fos, nos, ezek fuggetlen tulajdonsagok. Ez gondolom vilagos. Csak azert kerdezem, mert a postodbol nem ez jon le: elterjedt -> sikeres -> jo -> nem lehet szar.
En ertem, hogy mast jelent szamunkra a "jo" fogalma. Nem is akarlak meggyozni a velemenyemrol (ennel sommasabbak is vannak), ez az en velemenyem. Nem kell szeretni, sot egyeterteni sem. De azert ne feledkezzunk meg a korabbi, bevalt es jol megtervezett rendszerekrol sem a nagy hype kozepen.
Attól, hogy egy kérdést felteszek, még ismerhetem a választ. :)
Bármennyire is fura dolog lehet számodra, de ismerek és használok egy csomó protokollt, mindegyiket tudom használni, akkor és arra, amikor és amire kell. Neked valamiért nem tetszik ebből a halomból az XML, de ettől még rettentő sok feladatra a lehető legjobb választás, bármennyire is szeretnéd ezt elkendőzni azzal a felkiáltással, hogy amit sok helyen használnak az csak rossz lehet. :)
-- http://wiki.javaforum.hu/display/~auth.gabor/Home
Na és azt tudod, hogy miért terjedt el mostanában annyira az XML, amikor már évtizedekkel ezelőtt is volt megoldás ugyanerre a problémára (lásd még: http://en.wikipedia.org/wiki/Standard_Generalized_Markup_Language )? Mert ugye nem gondolod, hogy mindenki hülye volt, és inkább újra feltalálták a spanyolviaszt, amikor ott volt a mindenre jó megoldás?
Abban a szerencsés (?) helyzetben vagyok, hogy az elmúlt két évben rengeteg lehetőségem volt különböző Microsoft termékeket adminisztrálni Powershell segítségével. Amit mindenképpen érdemes kiemelni, hogy a Powershell NEM linuxos shell és nem is ugyanarra való.
Példa 1:
Levelezőrendszer, a DMZ-ben van egy postfix, a belső hálózaton van egy Exchange hub transport és egy mailbox szerver. A feladat a levelek életútját végigkövetni a rendszeren, kigyűjteni a logokból, hogy melyik node-ra mikor érkezett meg a levél és mikor hagyta el.
A postfix esetében a következőkkel fogsz küzdeni:
A postfix több sor logot is ír ugyanarról a levélről, és nincs összefoglaló sor. Emiatt csinálnod kell "valamit", amivel az első és az utolsó sort ID alapján összekötöd. Ez az ID nemhogy nem uniq, mégcsak nem is túl hosszú, simán lehet akár egy logfile-on belül két levélnek ugyanaz az ID-ja. Távoli logolás esetén sajnos előfordulhat, hogy előbb van a logban a "kiment a levél", mint a "bejött a levél" üzenet. Emellett a syslog formátum esetében több awk és cut kell ahhoz, hogy mindezeket ténylegesen megvalósítsd, úgyhogy túl optimálishoz közeli sem lesz a kódod.
Ezt shellben összereszelni nem túl egyszerű, én inkább neki sem állnék, írnék egy kis programot python-ban (vagy bármi másban).
Az Exchange esetében a következőkkel fogsz küzdeni:
Ööö... Hát, sokmindennel nem. get-messagetrackinglog, 2 paraméter, kész.
Példa 2:
Ugyanitt statisztikát kell készítened arról, hogy melyik rendszeren hány e-mail érkezett nem létező címzettnek.
A postfix esetében egy grep és egy wc megoldja a problémát.
Az Exchange esetében készítened kell egypár Powershell scriptet, ami:
- lekérdezi az Exchange organizációd struktúráját (hogy tudd, hogy mégis hányszor e-mailt hányszor próbálj megszámolni)
- ehhez rossz esetben kell írnod AD lekérdezéseket is
- miután megvan a struktúra, a message tracking logot kb. úgy ahogy van be kell rántanod a memóriába
- ott szűrsz így és úgy, nem is olyan egyszerű algoritmusokkal
- majd a végén kipottyan egy szám, amit még kézzel ellenőrizni sem nagyon fogsz tudni.
Ööö... Hát, sokmindennel nem. get-messagetrackinglog, 2 paraméter, kész.
Bocsánatot kívánok, de ez nem a PowerShell erőssége, hanem ez Exchange-ből egyszerűen kinyerhető információ. Ha ilyen dolog kell és erősen kell, akkor a postfix megtanítható ilyen logolásra és akkor ugyanott vagy.
A PowerShell erősségét az támasztaná alá, ha az említett Postfix Windows-on futna, és PS-el egyszerűbben kinyerhetnéd az információt, mint Unix alap parancsok segítségével - de ugye ez nem igaz, lásd a második példád.
-- http://wiki.javaforum.hu/display/~auth.gabor/Home
A powershell esetében meg lehet csinálni a hozzáidomítást a postfix logjához - a bash esetében nagyon nehezen tudom elképzelni az exchange logjához idomítást.
Mert? Szerintem van mar olyan tool a piacon, ami kivant formaban dumpolja neked az eventlog es/vagy az IIS log megfelelo reszet. Onnantol azt csinalsz, amit szeretnel az Exchange logjaval.
De ha nem, akkor se tart tul sokbol osszeutni egy ilyen toolt.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
"Once we were talking to a Unix programmer about how nice it would be to have a utility that could examine a program and then answer questions such as: “What functions call function foo?” or “Which functions modify the global variable bar?” He agreed that it would be useful and then observed that, “You could write a program like that.”
Meg szeretnéd tudni valamely alkalmazás egy adott konfigurációs paraméterét, és/vagy meg szeretnéd változtatni. Hogy néz ez ki általában PS-ben, és általában Linux-os környezetben?
Úgy működik, hogy a Get-MailboxServer visszaad egy listát, amelyben mailbox szervereket reprezentáló objektumok vannak. Ezeket az objektumokat egyesével átadjuk a Set-MailboxServer parancsnak, aholis a kapcsolóval beállítjuk, hogy a megfelelő hub transport szervereket értesítsék ezek a mailbox szerverek levélküldés esetén arról, hogy helló, itt a levél. Mint a relayhost, csak pepitában.
Mondjuk postfix esetében:
sed -i 's/^\ *relayhost.*/relayhost=relay/' /etc/postfix/main.cf
Ez meg úgy működik, hogy a postfix konfigjában szereplő, relayhost-tal kezdődő sorokat kicseréli másra.
Szerintem nagyjából azonos kaliberű a két parancs. Ami viszont eltérő:
- powershell esetén lényegében az összes átkonfigurálás tök hasonló szintaktikájú lesz - bash esetében pedig pl. egy eximet jelentősen máshogy kellene konfigurálni
- a bash-es megoldás sokkal inkább error-prone, a regexp, amit írtam nem is biztos, hogy minden esetre jó - a powershell esetében ilyen nyűg nem fordul elő
- hogy szidjam egy kicsit a powershell-t is: néha (sokszor) túl okos próbál lenni, és pl. quotaállításkor nem igazán egyértelmű, hogy a 28 az most 28 kilobyte-ot, vagy 28 megabyte-ot is jelent (ráadásul olyan is van, hogy más mértékegységben gondolkodik a GUI és másban a PS...) - ezzel jópárszor megszívatott, és linuxon nem jellemző ez a hülyeség
powershell esetén lényegében az összes átkonfigurálás tök hasonló szintaktikájú lesz - bash esetében pedig pl. egy eximet jelentősen máshogy kellene konfigurálni
Pontosabban: Powershell és Exchange esetében az átkonfigurálás hasonló, ahogy Bash és Postfix esetében is. Az már érdekesebb kérdés, hogy miként konfigurálsz Exchange-et Bashból vagy Postfixet vagy Eximet Powershellből! :-)
Igen, az interpreter jellegű MSIL emittálás és futtatás jól hangzik :-)
Mindazonáltal azért örülnék, ha powershellből nem lehetne pl webszervert indítani pusztán azzal, hogy bepipeolom a forráskódot... érted :-)
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
Amennyiben Gabucino úgy véli, hogy ezen hozzászólásommal is ki kell egészítse a mémtárát, külön megkérem tisztelettel, hogy magyarázatot is fűzzön hozzá (nem a listázáshoz, az az ő dolga: a problémához).
Köszönöm!
"'The provider does not support the use of credentials. Please perform the operation again without specifying credentials.'
The documentation states that you can provide a PSCredential object but if you look closer the cmdlet does not support this yet. Maybe in the next version I guess.
...
There's an open bug for this: connect.microsoft.com/feedback/… – halr9000 Nov 20 '08 at 21:21
Actually, I think the cmdlet supports it just fine - it's the underlying PSDrive provider that isn't doing anything with it. All the *-Item cmdlets have a generic set of behaviors; they just pass them through to the PSDrive provider, though. -filter is another example. – Don Jones Nov 29 '08 at 17:22
Looking at the docs, you'll notice that it says the parameter is not implemented for the cmdlet. technet.microsoft.com/en-us/library/bb978543.aspx – Scott Saad Nov 30 '08 at 16:01"
B+, azóta eltelt 2.5 év, de az elkúrástól számítva kétszer annyi.
Hát mi a franc volna természetesebb egy wines környezetben, mint a map, felhasználóval, jelszóval?
Szóval picit kevesebb ojjektumorientáltság több működőképességgel jobban meghálálná magát.
... és én nem a juszt is ellenzők közé tartozom...
Aszondja, ez bugos, hanszáljam a mapnetworkdrive-ot. Legyen...
$net.MapNetworkDrive( "Z:", $SHARE, $false, $id, $pw)
Exception calling "MapNetworkDrive" with "2" argument(s): "The local device name is already in use.
Igaza van, a Z:-t már foglalja ugyanaz a share.
Vallassuk tovább!
get-psdrive z
Get-PSDrive : Cannot find drive. A drive with the name 'z' does not exist.
Szóval még sincs, illetve...
PS C:\Documents and Settings\sgombai\dbmaint\backup> get-psdrive
Name Used (GB) Free (GB) Provider Root CurrentLocation
---- --------- --------- -------- ---- ---------------
Alias Alias
...
Z .14 .61 FileSystem Z:\
... mégis, azaz...
dir z:
Get-ChildItem : Cannot find drive. A drive with the name 'z' does not exist.
... mégsem.
Vitathatatlan, bash-sel a kézben ilyet se csinálok... be biztosan bennem van a hiba.
Ma egy Win7/Linux dual boot-osítás során szükség lett volna a parancssorba clipboard-ból beilleszteni valamit, persze sem ctrlV sem shiftIns nem működött. Nosza, gondoltam annyi szépet hallottam a powershell-ről, abban talán már megoldották ezt a kemény feladatot. Hát nem! Ott sem működik.
Közben a bcdedit-et kellett volna használni, de azt a powershellből nem lehet elindítani!
Gondolom, biztos van olyan registry beállítás ami ezeket esetleg tudatja vele, de alapból ezt tapasztaltam. A címre reagálva, még szerencse, hogy a bash csak álmodhat erről, de szerintem azt sem...
Copy/Paste az ablakfejléc jobbklikkes menüjében, ahogy eddig is minden NT-ben.
A te hiányzó tudásodért nem a Powershell (vagy az NT Shell) a hibás.......
> És mi is nem működött rajta?
cmd parancssorban ctrlV ill. shiftIns hatasara nem kerul be a clipboard tartalma a parancssorba. Bal felso sarokba menu-belillesztes hatasara bekerul.
> A te hiányzó tudásodért nem a Powershell (vagy az NT Shell) a hibás.......
Biztos hiányos tudású egységsugarú user vagyok, de azt hittem, hogy a clipboard mindenhol használható billentyűkombinációval, de nem.
Tehát _nem_ az volt a bajom, hogy bal felső menüből nem működik, hanem, hogy billentyűkombinációval nem. Ha annyira csilivili és felhasználóbarát, akkor úgy gondolnám, hogy ez minimum igény lenne.
Nem akarnám emlegetni az "egyáltalán nem felhasználóbarát" Linux-os KDE-t, ahol nemhogy működik, de még queue is a clipboard.
A powershell ugyanolyan "konzolablakban" fut mint a sima NT Shell, tehát ne csodálkozz, hogy ugyanazt tudja.
Ez körülbelül a fapados xtermnek felel meg, funkcionalitása is kb annyi. Ha felteszel mást (pl. Console), ahogy Linuxon is feltetted a KDE konsole-t, akkor megkapod a hőn áhított funkciókat.
Jo sokminden eloferdult itt, de erdekes hogy senki nem emlegeti a jo oreg wsh-t :). Na abban aztan lehetett mindnefelet ganytelepelni:) Es altalaban a szukseges holmik is fel voltak teve egy alap win installra, es mondjuk pottynet sem kellett hozza, ha vkit az aggaszt.
Hozzászólások
Szerintem egy Scala alapu shell is eleg jo lehetne, kb. hasonloan magasszintu mukodest ki lehetne hozni a Scala interpreterre alapozva.
Egyebkent meg a Powershell maga 'nem nagy szam' -- eleg vekonyka reteg a .Net VM folott, ami viszont igazan utos anyag. :) Ezt az Add-Type cmdletnek megfelelo funkcionalitast mar 5-6 eve meg lehetett valositani az .Emit meg a .Compiler nevterekben uldogelo osztalyokkal.
Ketsegtelenul jopofa. :)
----------------------
while (!sleep) sheep++;
Ez a Scala scriptelés már nekem is szöget ütött a fejemben, csak azt sajnálom nagyon, hogy még nem megy készségszinten. Van amúgy annak valami hátulütője, amit még nem látok, ha az ilyesmi tipikusan Bashban íródott dolgokat inkább scalaban írom? Tekintsünk el attól, hogy telepítve kell lennie a scalanak, az adott nálam mindenhol.
hát, esetleg az lehet hátránya, hogy egy scala interpreterhez el kell indítani a JVM-et (vagy nem?)
Scala és JVM... :)
(off)
http://www.javaforum.hu/javaforum/0/action/news/news/47/action/news.Det…
(/off)
:)
A PS meglehetősen okos es izgalmas.
Aztán hogy hogyan gondolták, hogy a 2-es verzió még nem képes úgy írni a stdoutra (csak dotnetes trükkökkel), hogy nem emel hozzá sort, azt én nem érem fel ésszel.
Szintén nem értem, hogy ha már elég jó minőségben lekoppintják a regexpes lehetőségeket, miért kell a replace-t úgy megvalósítani, hogy alapból cserél mindent. Hogy lookodavisszákkal kelljen megoldani a triviális csakazelsőt cserét, az nem evilági gondolkodásmódot tükröz.
A foreach és foreach-object kétarcúsága (miközben előbbi az utóbbi aliasa volna) szintén arculcsapás.
De az igazi kedvencem ez:
PS C:\> ls temp\x
Directory: C:\temp
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 1/26/2010 12:05 PM 950 x
PS C:\> ls temp\x | fl
Directory: C:\temp
Name : x
Length : 950
CreationTime : 1/26/2010 12:05:27 PM
LastWriteTime : 1/26/2010 12:05:27 PM
LastAccessTime : 7/9/2011 7:44:49 AM
VersionInfo : File: C:\temp\x
InternalName:
OriginalFilename:
FileVersion:
FileDescription:
Product:
ProductVersion:
Debug: False
Patched: False
PreRelease: False
PrivateBuild: False
SpecialBuild: False
Language:
PS C:\> ls temp\x ; ls temp\x | fl
Directory: C:\temp
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 1/26/2010 12:05 PM 950 x
out-lineoutput : The object of type "Microsoft.PowerShell.Commands.Internal.For
mat.FormatStartData" is not valid or not in the correct sequence. This is likel
y caused by a user-specified "format-list" command which is conflicting with th
e default formatting.
+ CategoryInfo : InvalidData: (:) [out-lineoutput], InvalidOperat
ionException
+ FullyQualifiedErrorId : ConsoleLineOutputOutOfSequencePacket,Microsoft.P
owerShell.Commands.OutLineOutputCommand
Persze van, ahol megmagyarázzák, hogy ez fícsör... de remélem, az *sh soha nem fog ilyen fícsörrel meglepni.
(A fenti hibákra alig párhetes tapasztalattal bukkantam - de nem bukkantam normális megoldásra/magyarázara a mi barátunk hosszas faggatása után sem.)
PS-t nem használok, de .NET-ben regexet elég gyakran, és van Replace(string input, string replacement, int count) metódus, igaz, statikus nincs.
Ezzel adtál egy ötletet, amit köszönök! - egyszermind meg is erősíti a fentit, hogy ez az elegancia azért még foltos itt-ott.
Mutatom:
$str = "igen nem igen nem igen"
# natív PS - totális marhaság
PS C:\> $str -replace "igen","!"
! nem ! nem !
# amit a háttérben hív, nyilván szintén
PS C:\> [regex]::replace( $str, "igen", "!")
! nem ! nem !
# de próbáljuk meg még egy paraméterrel - ez se az
PS C:\> [regex]::replace( $str, "igen", "!", 1)
! nem ! nem !
# és ami bejött végre - elegánsnak nem nevezném
PS C:\> ([regex] 'igen').replace( $str, "!", 1)
! nem igen nem igen
Nem kérdezem, hogy mosteztígyhogy, - örülök, hogy nem kell még ígyebben - inkább elfogadom, akkor még biztosan jó ötletnek tűnt.
Linuxon azért nincs szükség powershellre, mert van annál ezerszer jobb. Amit shellből nem tudok megoldani azt megoldom gcc-vel.
Akinek nem teccik a C/C++ annak ott van a python, lua, meg a százezernyi más interpreteres nyelv. Még LOL nyelv interpreter is van ahogy múltkor nézegettem.
A powershell egy hype. A winfos abbéli hiányosságát pótolja, hogy nincs benn egy fordító (pölö: gcc). Egyébként meg ha windozos scriptelésre vagyok kényszerítve akkor meg .vbs, az legalább nem csak win7 meg .NET only, és nem kell hozzá semmit telepíteni. (<- ez egy nagyon fontos érv!)
--
GPLv3-as hozzászólás.
Na igen, meg a BAT ami meg egesz jo. Es alapbol ahhoz sem kell semmi.
--
Hát a batch fájlokat személy szerint senkinek nem ajánlom. A DOS-szal való kompatibilitás, már csak egy elhanyagolható szűk réteget érint. Ha windoz akkor vbs.
--
GPLv3-as hozzászólás.
Tevedsz, mar nagyon regen nincs DOS-sal valo kompatibilitas. Kevesse van ugyan dokumentalva, de nagyon sok olyan szintaktikai dolog van mar a BAT/CMD fajlokban, ami egesz jo nyelvve lepteti elo, elvesztve ezzel a DOS-sal valo kompatibilitast.
--
Ne keverjük a .bat és a .cmd fájlokat plz!
--
GPLv3-as hozzászólás.
Cserébe alapból nem is ad szinte semmit - ez lett túlkompenzálva.
"Egyébként meg ha windozos scriptelésre vagyok kényszerítve akkor meg .vbs"
Lehet, de kódméterre vonatkoztatva VBS/PS =~ Tcl/Perl
"az legalább nem csak win7"
???
Speciel pont w7-en nem futtatom, pedig futtatom.
"meg .NET only, és nem kell hozzá semmit telepíteni."
Azért libc és python nélkül a bizbaz.py sem fog futni.
Amúgy az vitathatatlan, hogy a PS túlkompenzálása annak, hogy az admin effektíve semmit nem kapott a Billéktől a melója ésszerűsítéséhez.
Alapból nincs minden XP-n (és talán Vista-n sem), ez a baj.
Alapból egy használható editor sincs winen, ahogy alapból pl. mc vagy tcl sincs pl. ubuntun.
Aztán feltenni kb. ugyanagyi erőfeszítés ezeket, mint XP-re a PS-t.
- o -
Mókás, hogy én védem a wint. Vagy nagyon megöregedtem, vagy nagyon igaztalanul kapja most a fülest.
Lehet hogy erzekeny pontra tapintott a topik iro es azert ilyen heves az ellenallas :)
Biztos nem powershellt raknék XP-re. Akkor már python ha feltétlen kell valamilyen scriptnyelv.
--
GPLv3-as hozzászólás.
Natívan mennyit tud a windows-os dolgokról ez a "szintaktikai kényszerrel a trehány kódgányolók ellen" nyelv? Próbáltam mindkettőt - akkor inkább a PS...
Én pedig megkérnélek, menj a fenébe, ha azzal az ötlettel állnál elő, hogy akkor most tegyük fel a DC-kre is a pythont, mert Neked XP-n már sikerült lekódolnod a feladatra a megoldást.
Nem azért, mert nem szeressem a pythont, hanem csak mert nem dev környezetben (ma megtanulhattad, hogy olyan is van) a tököm se fog szükségesen felül egyebet feltenni, hogy a kötelező MS-es fixeken kívül másra is figyelhessek.
XP-re hogy felmehessen powershell kell:
1. valamilyen service pack (nem, nem, nem)
2. .NET (nagyon nem, nem, nem)
XP-re soha nem raknék powershellt.
"Én pedig megkérnélek, menj a fenébe, ha azzal az ötlettel állnál elő, hogy akkor most tegyük fel a DC-kre is a powershellt."
--
GPLv3-as hozzászólás.
ta hasznalsz meg valahol linux-2.2-t?
___
info
XP-nek mi köze a linux-2.2-höz, csak úgy érdeklődöm...
--
GPLv3-as hozzászólás.
Hint: frissítések (azaz SPx)
;)
___
info
Mi köze az "SPx"-nek a linux 2.2-höz?
--
GPLv3-as hozzászólás.
Az b+, hogy a Windows-on nem tűröd a frissítéseket a vackod mellett, ebből gondoltuk itt többen, hogy Linux-ból is valami régi verziót használsz. Merthogy ott se legyen semmi sz@r felpakolva...
Hmm, hogyan tudok a cegeddel kapcsolatba lepni? Meg kellene kapalni egy krumplifoldet.
Várj. A krumpliásás még odébb van, ezt csak azt követően bízd rájuk :-)
"2. .NET (nagyon nem, nem, nem)"
Pedig nagyjabol minden masodik cuccnak kell mar .NET.
--
Ez nem igaz. Pont.
Nekem csak 1 utilom van aminek kell egy v3.5-ös. Azt is lefogom emiatt cserélni a picsába, lehetőleg egy crossplatform megoldásra.
--
GPLv3-as hozzászólás.
Ezek szerint nem ATI/AMD kártyád van. Annak már 2002-ben is kellett a .NET.
Ha a control panelt is felrakod, mert magának a drivernek nem. Igaz, ebben az esetben egy csomó csicsafícsörtől elbúcsúzhatsz...
"egy crossplatform megoldásra."
Amihez fel kell majd rakni mondjuk egy pythont? Attol nem felsz, csak a .NET-tol?
--
Ja, a "csak egy maradhat" hozzáállás elég röhelyes a részéről...
""Én pedig megkérnélek, menj a fenébe, ha azzal az ötlettel állnál elő, hogy akkor most tegyük fel a DC-kre is a powershellt.""
Failed. Win 2008 R2 pl. alapból tartalmazza.
XP-t (azt is .NET meg mindenféle SP nélkül) támogattya csak b kartács, úgyhogy a 2008R2 nem játszik nála :-)
Ja, csak DC-t emlegetett, az meg nem XP, hanem ha mostanában csinálod akkor leginkább 2k8R2...
Mindegy, fogjuk fel az előző postomat egy subscribe-nak....
Nekem vágott vissza ezzel a bumeránggal.
Hat, regebben ugye volt a 2k3, amihez az R2 gyakorlatilag minden masodik szerviznel kovetelete a .NET 2.0 feltelepiteset (ami amugy is rajta volt az R2 lemezen), igy eleg nehez volt meguszni az ilyesmit.
Ha pedig tisztan MS alapu a ceg, akkor meg ugye ott vannak a System Center megoldasok, gyakorlatilag tisztan .NET-ben.
--
SP nem, .NET nem? Mondd légyszíves, hogy nem informatikusként dolgozol, hanem mondjuk kazánhegesztőként. Kérlek.
Ellenkező esetben őszinte sajnálatom a cégnek ami alkalmaz.
/o\
..|..
--
GPLv3-as hozzászólás.
Ez igen, mar kozepso ujjazas a divat a HUP-on? Vagy en ertem felre a nemes gesztust.
Nem értettem mire céloztál az eredeti posztodban, vagy mit akartál kérdezni a posztommal kapcsolatban és gondoltam valami hasonló stílusban próbálok meg neked válaszolni lol.
--
GPLv3-as hozzászólás.
Szerintem nem egészen vagy tisztában a /o\ jelentésével, ha szerinted arra a nemzetközi egyujjas jelzés a stílusos válasz.
----------------
Lvl86 Troll
Nem baj, szerintem pont jó válasz volt.
Production binugz (csak hogy a te szinteten mozgó nevezéktant használjak) környezetben mióta része egy normális rendszernek a c-fordító? És mióta scriptnyelv a gcc?
1. Nem tudom nálad mit jelent a "Production binugz", nálam tizenöt éve linux csak gcc-vel együtt megy fel. Programozok sajnos így járnak, nekünk alapfelszerelés a gcc.
2. Senki nem mondta, hogy a gcc egy scriptnyelv. Pláne én, mert ez a kérdés már önmagában is egy faszság lol.
--
GPLv3-as hozzászólás.
Ahol fejlesztés történik az a devel környezet, ahol a tesztelés az a testing, ami éles kiszolgálást végez, az a production. Az utóbbi kettőben fejlesztőeszköznek (meg fejlesztőnek) nincs semmi keresnivalója.
Itt, most a parancsértelmezők két teljesen eltérő megközelítéséről folyik a beszélgetés, bővebben értelmezve a scriptnyelvekről - te meg jöttél azzal, hogy akkor inkább a gécécé.
Na látod, ez a te olvasatod, mert te valószínűleg csak egy végfelhasználó lehecc.
Nekem a "devel környezet" Linus gépe, "production környezet" meg az én gépem, ahol nagyon is van keresnivalója fejlesztőeszközöknek.
Alapvetően a thread célja hogy a powershell-t ajnározza egy unixos oldalon. Erre jött a sok válasz, hogy a bash jobb. Ha a bash kevés akkor vannak az egyéb scriptnyelvek ala python, perl etc. Ha mindez kevésnek bizonyulna akkor ott a gcc, amivel mindent meg lehet oldani.
--
GPLv3-as hozzászólás.
Egyik kedvenc esetem, mikor Linux userek a saját szűk világképéből akarják levezetni azt, hogy mi a jó a világ 100%-ának.
----------------
Lvl86 Troll
+1 :-D
winmasterek detto. imadom, mikor megprobaljak megetetni velem, hogy az a jo amit ok csinalnak.
"Na látod, ez a te olvasatod, mert te valószínűleg csak egy végfelhasználó lehecc. "
Akkor tájékozott végfelhasználó, aki tudja, hogy (miért) létezik szeparáció.
Te meg eszerint alultájékozott, vagy fegyelmezetlen fejlesztő vagy, aki azt hiszed, hogy mindenhol eltűrik, hogy a devkörnyezeten kívül fixelj bármit -- hacsak nem redhoturgentorloseallrevenue kvikkfixről van szó.
Semmit nem akarok fixelni. (Ezt hol olvastad, hogy írtam?) Mindössze azt mondtam, hogy powershell helyett én inkább mást használnék. (python, perl, etc.)
(Egyébként tovább menve. Ha valahol ahol a programomat használnák és hirtelen feltennének egy powershellt (+ szükséges szarokat hozzá XP-re) akkor azonnal lezárnám a support ticketet kérdés nélkül VAGY ha nagyon jó napom lenne azt mondanám szedje le és írjon majd vissza akkor ha ezt megtette.)
--
GPLv3-as hozzászólás.
Akkor ugorj vissza zeller kartácshoz: ha nem kivételesen fixelni akarsz egy élesebb rendszeren, akkor ott semmi keresnivalója gcc-nek, sem egyéb vendégkódnak.
Hogy Te olyan szerencsés vagy, hogy a legkomolyabb támogatott rendszered az XP, amit a komolyságát növelendő pythonnal egészítesz ki, azért csak irigykedni tudok.
Az általam támogatott OS-ek jelentős hányadát teszi ki az XP (bárcsak ne így lenne). DE sehol nem mondtam, hogy az lenne a legkomolyabb.
Nem ajánlom a powershell (plusz a kötelező szarok amiket kér) felinstallálásat, ezt már egy előző posztombam leírtam miért. Ha már szüksége van a felhasználónak egy plusz shellre akkor python, perl, etc. végszükség esetében gcc-t (ami mindenre jó) ajánlanék. (Ezt is leírtam már párszor ebben a threadben.)
--
GPLv3-as hozzászólás.
Windows gepekre nem powershellt es nem visual c/c++-t? Wow. De mivel irtad hogy ez a _te_ ajanlasod, nyilvan a usereknek megvan a valasztasz szabadsaga (ertsd: nem beszolok, csak meredten neztem a monitort egy ideig).
Így van, nem. (Már ha a visual studiót egyáltalán shellnek tekintjük. Sztem ezzel a világon csak te vagy így ezzel.)
(Sok a szopás a szupporttal, az ember mindig keresi hol tud azon rövidíteni. A powershell, service pack, .NET etc. egyéb faszságok kiváló indokként szolgálnak ehhez.)
--
GPLv3-as hozzászólás.
Magyarul nem szakmai hanem csak "gazdasagi" erved van ellenuk.
---
pontscho / fresh!mindworkz
A thread témáját érintően még ha valláspolitikai érvem volna ellenük még az is jó lenne.
--
GPLv3-as hozzászólás.
Persze, minden jó, csak ne utólag derüljön ki egy szakmai vitában, hogy az érvelés alapja a sóherség, a trehányság, vagy a bokononizmus.
Amit leírtál az egyik sem alapja. Mindig szakmai alapon vitázok szakmai kérdésekben. Ha vallásháború van akkor néha más alapján is lol.
Akárhogyis, majd ha kikerülsz az életbe és esetleg fejlesztő lesz belőled meglátod, hogy userek iszonyat kreatívak. Minden téren.
De a thread témáját ez nem érinti.
--
GPLv3-as hozzászólás.
Te emlegetted, hogy ha nem scriptnyelv, akkor gcc. Azaz 3rd party fordító. A Visual Studio meg egy fejlesztőeszköz.
Az utolsó mondatodat követően szakmailag nagyon nem vagy komolyan vehető, bár eddig sem volt ez a mérőszámod túl magas...
Rátaláltál a threadre gratulálok. De már mindent átbeszéltünk, amit lehetett. A posztoddal kapcsolatban:
De a thread témáját ez nem érinti.
--
GPLv3-as hozzászólás.
Ebbe a minimumba csak nem hal bele senki 2011-ben:
--
http://www.naszta.hu
Igen és akkor már legyen sp3 meg .net4. Kösz nem.
--
GPLv3-as hozzászólás.
Sőt, nyilván magát a pythont is 2.2-n tartod, ahová hajdan feltetted.
Én személy szerint 2.6-ra fejlesztek ha agyon muszáj pythont használnom.
De a thread témáját ez nem érinti.
--
GPLv3-as hozzászólás.
"Én személy szerint 2.6-ra "
Ma. És 4 év múlva? Tudsz követni?
Ki lát előre 4 évet az ámítástechnikában? XP-t kell támogatnom 2011-ben lol. A 2.6 és a (pölö) 3.2 között elég nagy különbség van. Nem akarok folyamatosan python szkripteket barkácsolni. Nem ezzel keresem a kenyerem.
De a thread témáját ez nem érinti.
--
GPLv3-as hozzászólás.
"A 2.6 és a (pölö) 3.2 között elég nagy különbség van."
Pont erre gondoltam. Ha vmi kell a 3.2-ből, nyilván szemrebbenés nélkül felteszed - kb. akkora erőfeszítéssel, mint egy .net frissítést. Kétségtelen, az sp tovább tart - viszont ez nem az sp ellen érv, csak a lustaság és trehányság mellett.
Alapvetően mindig egy problémára keresek megoldást. Pölö shell hiányossága. Lehetőleg crossplatform, lehetőleg a legkevesebb belenyúlással a rendszerbe (ne fájjon a usernek: no bloat). Így tudok visszacsatolni a thread témájára. Ebben a relációban: python > vbs > powershell. Így érthető?
--
GPLv3-as hozzászólás.
A Python 3rd party cumó. Van, ahol ilyet nem szeretnek :)
Amúgy melyiket érdemes manapság tanulni? Tervezek belevágni, de elég kevés könyvet találtam még a 3.x-hez, illetve ahogy elnézem, a külső library-k sem nagyon mennek még vele.
-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
rand() a lelke mindennek! :)
Amikor eljön a szükség és az értelmes indok, majd váltasz a 3-as szériára -- nem lesz az akkora ugrás, mint most 0-ról 2.6-ra.
http://wiki.python.org/moin/Python2orPython3
Igen, ezt én is megtaláltam. Mivel a dolog nem sürgős, ezért valószínűleg a 3.x-et fogom választani, egyelőre úgyis konzolos alkalmazásokhoz lenne rá szükségem. Esetleg ha tudtok ajánlani jó irodalmat, akár angolt, akár magyart, azt köszönöm.
És bocs, hogy teljesen offtopic módon beleböfögtem a témába. :)
-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
rand() a lelke mindennek! :)
http://kiskapukiado.hu/main.php?SHOW_BODY=books&OP=detailed&PROD_ID=168
http://diveintopython3.org/
Tehat - support kereteben - sec es egyeb fix nelkuli xp-ket ajanlasz ki az ugyfeleknek mert az sp3 budos ?
---
pontscho / fresh!mindworkz
Általában van egy környezet amire supportot vállalok. Minden eltérés plusz költség (és idő).
De a thread témáját ez nem érinti.
--
GPLv3-as hozzászólás.
A thread temajat valoban nem, viszont a komolyan vehetoseged - plane a fentebbi parsorossal egyetemben - sajnos eleg erosen. :)
---
pontscho / fresh!mindworkz
Mert mi a gond?
--
GPLv3-as hozzászólás.
Dehát a komolyságát illetően régóta minden kommentje aláírásában benne van az azt jelző disclaimer...
legalább nekem van...
--
GPLv3-as hozzászólás.
Hozzáírhatod ezt is.
Szép kis gyűjtemény... :P
Ahogy elnézem, benne vagyok én is. Hmm. Pedig annyira nem is lámaság, amit írtam.
--
http://www.naszta.hu
Külön szimpatikus, hogy az általam - e topicban is idézett - felvetett probléma kapcsán nyitott topic szerepel a lámalistában, miközben értékelhető megoldás egy sem született (a listázó részéről sem), ill. ami született, arról kurta dablcsekk után elismerték a beírók, hogy nem megoldás.
Mindegy, az a fontos, hogy valahol megörökítsenek, mindegy, hogy hol és mivel. :)
Ja, fasza kis lista. Kár, hogy a "G" betűnél kicsit hiányos... :))
--
trey @ gépház
Nyilván, az önkritika nem mindig kifizetődő... :)
--
http://wiki.javaforum.hu/display/~auth.gabor/Home
Szóval mégis te vagy Gabucino... Miért tagadtad le?
De a thread témáját ez nem érinti.
--
GPLv3-as hozzászólás.
Benezted, mert nem. (Tobbnyire?)
----------------
Lvl86 Troll
Nos, akkor bátor ember lehetsz. :)
Remélem amire "supportot" vállalsz, azok nincsenek a netre kötve.
Egyébként nevetséges ez a hozzáállás, így 2011-ben, még ha csak egy nem szupportált XP-ről is van szó.
Ehun-e: http://support.microsoft.com/lifecycle/?LN=en-gb&C2=1173
Namost, én nem szeretném, hogy egyetlen egy általam üzemeltetett rendszerbe személy szerint te szállíts valamilyen "megoldást". Mmmmkay?
ps: Mond neket valamit kedves "GPLv3-as hozzászolás", hogy mit jelent az a szóösszetétel, hogy "vérpistike"? :)
ps2: és aki a szekuriti peccseket "Minden eltérés plusz költség (és idő)." oldaláról nézi, az nemtudom hogy hol él, de hogy ezzel a valósággal diszjunkt halmazokat képez erősen, az is biztos.
Minden egyes update után érdemes a programot újra kitesztelni, etc.
De a thread témáját ez nem érinti.
--
GPLv3-as hozzászólás.
Az éles rendszer frissítése előtt a tesztkörnyezetben elvégzett frissítés után ott kell tesztelni a funkcionalitást, és ha működik, akkor mehet a frissítés a production környezetre is.
Tesztkörnyezet... miket beszélsz... az a Linusnak van.
LOL :-)
Ühü,tehát tesztelni kell.
Zsenikém, megfelelő tesztelési tervvel és megfelelő eszközökkel is lehet ám tesztelni, fillérekből összerámolt tesztrendszeren. Automatikusan.
Ha ezért a peccsek ignorálására kötelezed a megrendelőidet, akkor sajnálni tudom őket.
Láthatóan azért üzemeltetési tapasztalatod sincs, de legalább magabiztos vagy. Ami hülyeséggel kombinálva már azért komolyan veszélyes. :)
... és továbbra is fenntartom, hogy a gyártói peccsek - tesztelés utáni - alkalmazása több mint kívánatos - sőt, kötelező -, amennyiben a teszten nem okozott váratlan side-effectet, és nem szűrhető ki másként a rendszerben máshol. Pl. tűzfalon. Tudom, neked az is ismeretlen fogalom. :)
Tehát nálad az üf. választhat: vagy a te supportodat, vagy a Microsoftét szeretné... (az aktuális SP nélküli oprendszerrel kapcsolatban a Microsoft, meg az OEM partnerek is elhajtanak support kérdéssel a búsba)
Ha én üf. lennék, szerinted mennyi idő kéne, hogy az ajtó előtt találd magad? (Ha szükséges adatokat migrálni, akkor annak a költségét természetesen rajtad leverve)
Nem talalom a szavakat, amivel leirhatnam a csodalkozasom...
----------------
Lvl86 Troll
Ha a megrendelőknek jó, én le nem beszélnélek erről, csak meglep, hogy - az általam is leírt kellemetlen meglepetések mellett, de - végre van valami natív, amivel adminitrálni lehet a wint, és akad, aki olyan nyelvhez ragaszkodik, amely doksijának *for Windows user* fejezete hosszabb, mint a nyelv ismertetője.
De vásárló van egypúpú, van kétpúpú, és van, aki venne még.
> De vásárló van egypúpú, van kétpúpú, és van, aki venne még.
Erről van szó. Ebben a mocskos, rohadt világban sajnos minden kifejezhető pénzben.
De a thread témáját ez nem érinti.
--
GPLv3-as hozzászólás.
Ez nem.
Az igen, hogy látszólag kvalitatív érveid vannak, aztán kiderül, hogy kvantitatívak.
Mondhatnám akár azt is, hogy aki olvas, azt átvered.
Hadd idézzem be az első hsz-emet:
> "Linuxon azért nincs szükség powershellre, mert van annál ezerszer jobb. Amit shellből nem tudok megoldani azt megoldom gcc-vel.
Akinek nem teccik a C/C++ annak ott van a python, lua, meg a százezernyi más interpreteres nyelv. Még LOL nyelv interpreter is van ahogy múltkor nézegettem.
A powershell egy hype. A winfos abbéli hiányosságát pótolja, hogy nincs benn egy fordító (pölö: gcc). Egyébként meg ha windozos scriptelésre vagyok kényszerítve akkor meg .vbs, az legalább nem csak win7 meg .NET only, és nem kell hozzá semmit telepíteni. (<- ez egy nagyon fontos érv!)"
Minden hsz-em ezzel a állításommal konzisztens.
--
GPLv3-as hozzászólás.
Talán Bödöcs Gergelyé a poén a városban felvonuló gazdákkal:
- Miért vonulnak ide?
- Taaargyalni?
- Jön a miniszter, fognak vele tárgyalni?
- NEM!
... vagy ilyesmi. Amiről ez eszembe jutott az az, hogy kb. így tudnálak interpretálni.
M$: Mi a bajod?
b: Nem adsz fejlesztőezközt.
M$: Igazad van. De csináltunk, itt van: PowerShell a neve.
b: Hype!
Nem minden probléma csak egy szög, még ha a picipuha úgy is akarja bemutatnia a dolgokat. Érjen még egy picit a powershell, hátha úgy jár mint az MS Java vagy az ironruby vagy mi a szösz.
--
GPLv3-as hozzászólás.
" (plusz a kötelező szarok amiket kér)"
Tehát, SP nélküli windowsokat tartasz karban?
Sajnálom azokat, akik a programodat használják.
Én meg téged.
De a thread témáját ez nem érinti.
--
GPLv3-as hozzászólás.
Nincs szükségem a sajnálatodra - tippelem, hogy a WIndows-os vackaidnál pöttyet komolyabb dolgokhoz volt eddig szerencsém, és nem kell hozzád hasonló ... beszállítókkal a jövőben sem összefutni. Bár volt korábban hasonló hozzáállású társulathoz szerencsém - nulla idő alatt ki lettek hajítva a lomjaikkal együtt.
LOL!
btw:
C:\Users\ahoka>gcc --version
gcc (GCC) 4.5.1
jujjmiez!
--
NetBSD - Simplicity is prerequisite for reliability
Huh, tényleg mjaz? Kipróbálom várj:
C:\>gcc --version
'gcc' is not recognized as an internal or external command,
operable program or batch file.
C:\>
Hát passz nem tudom, mi lehet az nálad, talán egy büdös csíter lehecc.
--
GPLv3-as hozzászólás.
akkor most keressek egy linuxot (nem tartana sokaig), ahol meg nincs gcc?
--
NetBSD - Simplicity is prerequisite for reliability
hmm, ubuntu? debian? nem kellett rajtuk sokaig gondolkodni....
ha meg azzal jossz, hogy windowsa nem lehet ket kattintassal felrakni, az hulyeseg, hint SUA, SFU
___
info
Keine panik. Csak betöltök egy másik imaget: :P
C:\>gcc -v
Using built-in specs.
COLLECT_GCC=D:\PROGRA~1\MinGW\bin\gcc.exe
COLLECT_LTO_WRAPPER=d:/progra~1/mingw/bin/../libexec/gcc/mingw32/4.5.2/lto-wrapp
er.exe
Target: mingw32
Configured with: ../../src/gcc-4.5.2/configure --build=mingw32 --enable-language
s=c,c++,ada,fortran,objc,obj-c++ --enable-threads=win32 --enable-libgomp --enabl
e-lto --enable-fully-dynamic-string --enable-libstdcxx-debug --enable-version-sp
ecific-runtime-libs --with-gnu-ld --disable-nls --disable-win32-registry --disab
le-symvers --disable-werror --prefix=/mingw32tdm --with-local-prefix=/mingw32tdm
--enable-cxx-flags='-fno-function-sections -fno-data-sections' --with-pkgversio
n=tdm-1 --enable-sjlj-exceptions --with-bugurl=http://tdm-gcc.tdragon.net/bugs
Thread model: win32
gcc version 4.5.2 (tdm-1)
C:\>
--
GPLv3-as hozzászólás.
Szerintem a valamilyen Linux disztribúciót használók mérhető százalékának volt már dolga mondjuk a bash-sel, és még mindig mérhető százaléknyi valamilyen szinten szkriptelni is tud benne. Vajon mennyi lehet ez az arány a Windows akármi.x/Powershell viszonylatban? (De kérdezhetnénk akár csak azt, hogy mennyien hallottak már a PS-ről a Windowst használók körében és mennyien a bash-ről a Linuxot használók között, azt már nem is említve, hogy a Windows használók között mennyien tudnak a bash-ről és a Linux felhasználók között mennyien hallottak a Powershell-ről.)
"a valamilyen Linux disztribúciót használók mérhető százalékának volt már dolga mondjuk a bash-sel, és még mindig mérhető százaléknyi valamilyen szinten szkriptelni is tud benne. Vajon mennyi lehet ez az arány a Windows akármi.x/Powershell viszonylatban?"
Valószínűleg ez a tendencia eltolódik a PS-t ismerő winhasználók irányába a júzerfrendli linuxoknak és a növekvő PS repónak köszönhetően. Átbillenni persze nem fog.
Ez lehet azert van mert Powershellben erteni kell a rendszerhez es a programozashoz, szemben a bash-sel ami leginkabb torekeny dolgok osszecelluxozasara keszult. Az meg sajnos a Linuxot minositi hogy a usernek tudnia KELL a bashrol.
Öcsém azt se tudja, hogy mi az, pedig ubuntun böngészget és írja a lemezeit - totál autszajderként.
Amúgy jó erős az a cellux, kibírt már pár évtizedet.
A programozáshoz kb. pont annyira kell tudni, és - a feladattól függően - a rendszerhez is annyira érteni, csak egyikben azt kell tudni, hogy milyen ojjektumok, milyen tulajdonságokkal szállnak, és mitől, a másikban meg sztringekkel ugyanez.
Hogy aztán ha ezt nem tudod, akkor melyikhez találsz előbb korrekt és használható dokumentációt, az is minősít valamit.
Akkor siess és szólj anyámnak is, mert még nem tud róla, pedig már néhány éve gond nélkül használja :)
> Az meg sajnos a Linuxot minositi hogy a usernek tudnia KELL a bashrol.
Nem feltétlenül. Próbálj ki egy modern userfriendly disztrót, Ubuntu bármi (akár Android), csak ha nagyon akarsz akkor fogsz shell promptot látni.
--
GPLv3-as hozzászólás.
> ajanlott ertelmezni is a kodot
Mesélj: te mit értelmeztél ki belőle?
Vargya': En bash-t hasznalok, es van, hogy js-ben irok hozza "CmdLet"-et, van hogy pythonban, teli vagyok sed es awk inline scriptekkel, es meg csak :: -okkal se kell foglalkoznom.
Akkor most en vagyok a hulye?
A hangsuly nem azon van miben takolod. Az elegancian. Ja meg olyanok hogy right thing, de ezt hiaba is mondom. :P
> meg olyanok hogy right thing, de ezt hiaba is mondom.
Próbáld meg, és kiderül.
Veled aztan plane.
> Veled aztan plane.
Fórum, nem csak én olvasom. De ha nem megy neked, csak a szád járt, akkor nem erőltetem.
Koszi!
Azt, hogy az übermagasszintű szkriptnyelvben időnként (pl. a nem éppen advanced feladatnak számító soremeléstelen stdoutra íráshoz) közvetlenül kell dotnetet cseszegetni, az elegancia sajátos definíciójának foghatjuk fel.
Nem mondom, az tényleg szép, hogy lehet ilyet csinálni - böcsületére válna a *sh-nak is, ha rendszert lehetne hívni belőle, de az kevésbé, ha banális művelethez egyenesen kellene.
> böcsületére válna a *sh-nak is, ha rendszert lehetne hívni belőle
Rétegesen öltözködünk. Neked melyik rendszerhívás hiányzik a shell szintjéről?
Konkrétan semmilyen - ahogy nekem sose hiányzott a xor sem az awk-ból, aztán mégis beletették, és ettől nem lett kevesebb.
Sot, kepzeld, a .NET kezdeten (es talan ma is) windows API hivasokat kellett eszkozolnod string formaban. Ez levon barmit is az elmeleti megkozelites helyessegebol? Nem. A gyakorlati oldal rohejessegeben egyetertek. Ciki. Tenyleg az.
De az is, hogy a kozosseg altal annyira szakmainak szeretett portalon (holott nem az) olyannal buszken eloallni, hogy a korrekt objektum kezeles, a tipushelyesseg es ugy altalaban minden ami egy olyan magas szintu munkat lehetove tesz - nos hogy mindez gagyi es szar legyen, mert a unix shell az etalon (eletmudij! omfg); hat, latod erre celoztam hogy itt ugysem lesz ertelme kifejteni.
A mai friss emberkek kozul mar annyian agymosottak, hogy azt se tudjak mirol van szo. Tenyleg kar.
> Ez levon barmit is az elmeleti megkozelites helyessegebol?
Mesélj már egy kicsit erről az "elmeleti megkozelites"-ről. Köszi.
U r ignored man.
> U r ignored man
Fogd rám nyugodtan, hogy nem tudod leírni a fórum olvasóinak.
U r ignored man.
Pedig masokat is erdekelne, hogy mire gondolsz. Vagy mire nem gondolsz.
Ofc, I'm ignored man.
--
Nem értem, hogy min csodálkozol. Javaslom, tegyél egy próbát: A Fradi-Újpest meccsen ülj be az Újpest szurkolótábor közepére, és kezd kiabálni a "Hajrá Fradi" biztatást, jó hangosan. A következményekért ne az Újpest szurkolókat hibáztasd!
Bocsanat, nem tudtam hogy a HUP-ot a futballhuliganizmus szintjen kene kezelnem.
A Unix shell az etalon, welcome. Szerinted powershellnek hivtak volna ha nem az lenne?
De tudodmit, nem megyek le a te szintedre. Ha te komolyan azt hiszed, hogy tipushelyesseg meg OOP nelkul nem lehet rendszert epiteni, es ezek utan engem nevezel agymosottnak, akkor szerintem sincs nagyon mirol beszelnunk, nem egy kategoria.
Manapsag mindent lehet. Futhat OS javascriptben, lehet 10 wrapper reteg egymason egy sima serialization megvalositashoz, lehet 4 meta nyelv egymas tetejen amik mind az alatta levok hianyossagait foltozgatjak, futtathatsz kulon virtual gepet programonkent es lehet scriptben is rendszert epiteni (akarmit is jelentsen az). Igazad van.
> lehet 4 meta nyelv egymas tetejen amik mind az alatta levok hianyossagait foltozgatjak
Ez érdekesen hangzik, tudsz valami konkrétumot is erről, vagy megint csak bedobtál szavakat fogalom nélkül?
U r ignored man.
Ohh, ertem mar! Ez jelenti nala azt, hogy "nem tudom".
--
Kedves hrgy, igen, most mar te is ignored vagy; masreszt pedig ha megnezed a reakciokat amik elojottek, plusz ha megnezem hogy senkinek meg csak tippje se volt mirol beszelek (akik hozzaszoltak), igy a temakort a tovabbiakban hanyagolom. Nincs kedvem ovisokkal hajbatepest jatszani.
Szvsz te vagy ovis.
De tudodmit, mondok neked valamit, bar nem hiszem hogy a te szinteden lenne az erveles, csak epp mashonnan nezzuk.
Ket fuggveny kozott a kommunikacio mindig egy adott memoriablokk atadasaval zajlik. Egy pillanatra hanyagoljuk a streameket, tegyuk fel, hogy azok mindig vegigolvasottak.
A tipushelyesseg ennek a memoriablokknak az ertelmezeserol szol.
Statikusan tipusos nyelveknel az ertelmezes egy reszet implementalasi (forditasi) idoben, automatikusan lehet ellenorizni. Ez a vedelem nem teljes (pl. egy integer lehet, hogy meter, lehet, hogy lab mertekegysegben van megadva), tovabba nem ez az egyetlen dolog, ami ellen vedekezni kene, es nem is feltetlenul a legfontosabb.
Viszont ennek az ara az explicit jeloles es konverzio.
Amikor te scriptet akarsz osszedobalni, ezt nagyon nem szeretned kerulgetni, az, hogy neked ezen gondolkoznod kell, lassitja a programozasi folyamatot.
Abban teljesseggel igazad lenne, hogy ez egy bizonyos meret utan viszont atlathatatlanna teszi a rendszert. Nade nagy meretben nem is hasznalunk bash-t! Ahhoz kialakultak a specialis esetre a make fajlok ill. az autoconfigure, ahhoz kialakultak a scriptnyelvek mint pl. a szinten atlathatatlan perl, vagy a ruby es a python.
Jellemzoen viszont ezek is kerulik a tipusossagot!
Ez itt feature.
Vannak grafikus pipe rendszerek - pl. Yahoo Pipes - ahol neha nincs automatikus konverzio, de ezek nem tul sikeresek, foleg ha amugy lehetne (pl. Apple Automator)
Igy aztan ugy nez ki, hogy a scripteknel, amik rendszerint csak 1-1 feladatra, egyszer, eldobhato jelleggel kellenek, a legegyszerubb abszolut kerulni a tipusossag kerdeset, es az atadott memoriablokk - stdin - ertelmezeset teljes egeszeben a programozora bizzuk, implicit.
Scripteknel rendszerint az kell, hogy legyen egy vagy tobb adatforrasom, majd ezek kulonbozo szuresevel egy vegeredmenyt tudjak eloallitani, akar egyetlen sorban, interaktivan begepelve. Erre lett a bash, ezzel a feature-rel adtak el anno a UNIX-ot "szovegszerkesztonek" (troff) es programozoi kornyezetnek, es ezzel bizonyit idestova 46 eve.
A shell egyebkent nem lassu: majdnem minden muvelet C-ben zajlik, kizarolag vezerlesert lep ki az "interpretalt terbe", jellemzoen C programokat kotogetsz ossze, akik egy nagyon rovid utasitast - pl. regex - kapnak es jellemzoen agyonoptimalizalt parser facade elemzi oket.
Az OOP-rol pedig annyit, hogy sokan a strukturalis programozas utodjanak, levaltojanak tekintik, holott ez egyaltalan nem igaz: egyfelol a Strukturalt Programozas c. konyv egyik szerzoje Dahl, az OOP atyjainak egyike; foglalkozik is az osztalyokkal rendesen. Ellenben az Alan Kay-tipusu elmeleti OOP tarthatatlannak bizonyult, ma mar sehol nem latjuk nyomat, a class tulajdonkeppen modulszervezest jelent. De errol ne kezdjunk el vitatkozni, mert konnyen kiderul, hogy tenyleg nem vagyunk egy szinten.
Nyilvan letezik egy elegancia az onreflektiv rendszerekben, es nyilvan szep megoldasnak tunik, hogy egy teljesen .NET rendszered legyen shellel. Na de ez UNIX-on nem igeny, itt masrol beszelunk.
Sok lesz az a 46 év...
Elirtam, srry
Semmi gond, bővebben a témáról: http://www.levenez.com/unix/unix_a4.pdf http://www.unix.org/what_is_unix/history_timeline.html
"Na de ez UNIX-on nem igeny, itt masrol beszelunk."
Valóban nem igény még csak teljesen véletlenül sem az, hogy amit a saját gépemen összeharácsolok scriptet, az működjön akkor is, ha a kedves r00t user másnaposan felkelt és úgy döntött, hogy neki mostantól más formátumban írja ki az stdout-ra a kontentet.
"Igy aztan ugy nez ki, hogy a scripteknel, amik rendszerint csak 1-1 feladatra, egyszer, eldobhato jelleggel kellenek"
Szerintem te is tudod, hogy mit jelent az IT-ben az "eldobható jelleggel kellenek" kifejezés...
----------------
Lvl86 Troll
Mit akarsz, 35%-at tenyleg eldobjak :)
A bash-nek azert az is funkcionalitasa - es itt azt ertettem bele eldobhatonak - ami egysoros. Nem hiszem, hogy a cat file |grep regex| sort kombot nagyon ujrafelhasznalnad, bar en is gyakran nyomok ctrl-r -t.
Tipusellenorzest (formatumellenorzest) meg nem olyan nehez berakni, csak jo helyen ellenorizd.
Kérlek, írj formátum-ellenőrzést a dátumokra. Vagy SI prefixumoknak megfelelő méret-ellenőrzést.
Az, hogy az adott tool megoldja az rendben van, de ha azzal az adattal más tool is akar dolgozni, akkor jön a sed/awk/cut/stb. gányolás.
----------------
Lvl86 Troll
Ott a pont... Ha egy objektum valamely tulajdonságát szeretnéd megtudni, és az létezik, akkor azt használod fel a cső következő elemében. Ha hasonlót szeretnél alkotni shell scriptben, akkor először megnézed a megfelelő cumó outputját, kitalálod, hogy sed/grep/awk hogy tudja azt neked megfelelő formára hozni, és bízol abban, hogy az a cumó, aminek a kimenetét szépen feldolgoztad, az a következő verzióban, más környezetben ugyanilyen formátumú kimenetet fog produkálni. (Murphy megmondta, hogy nem...)
Hogy nekem hogy beleállt ebbe jópár éve egy magyar nyelvűre konfigurált AIX-on egy Oracle installáció! Csóri, angol nyelvterületen írt install script nem tudott mit kezdeni az "1996. szeptember 13." szerű kimenettel. :-D
Ilyen szempontból tényleg jobb az objektum átadás.
Ave, Saabi.
Majd a sed/awk/cut trio megoldja! Ha nem, akkor gcc!
----------------
Lvl86 Troll
GPLv3-as hozzaszolast idezel, ugyhogy a tied is az lett, tuntesd fel! Tovabba ezennel lemondtal az osszes jelenlegi es jovobeli shell/gcc-vel kapcsolatos szabadalmaidrol.
Magyar nyelvre konfigurált AIX... Barbárok... :)
Nagyon állat volt! 4.3-as, ha jól emlékszem. :-D
Mégbarbárabbak :-) (Régebbi nem nagyon lehetett IMHO...)
Vay az, hogy megtanul shellben programozni az illető, és kb így kezdi a scriptjét ilyen hibák ellen:
LANG=C
LC_ALL=C
export LANG LC_ALL
Illetve az se normális, aki ténylegesen valamire használná a dátumot, és nem ad meg explicit, számalakos formázást, amikor lekéri.
Végül is amióta a Sun-t lenyelték, talán akad már egy-két olyan emberük is, aki tud normálisan shell-scripteket írni... Bár a 4.3-as AIX régen volt, és tippelem, hogy 8.valami Oracle lehetett, mert az után már minden telepítőjük Java-s, grafikus felületű szutyok, ha jól tévedek...
Akkor eloveszel egy python-t, erted. Hol a francba mondtam en azt, hogy mindenre ugyanazt kell hasznalnod? Az ilyen .NET-es gondolkodas, hogy van egy kalapacsom, nosza, farigcsaljunk mindent szognek.
A masik oldal meg az, hogy attol meg, hogy compile time fog lehalni neked egy interfeszcsere ekkor, az rajtad sokat nem segit (abba mar nem is megyek bele, hogy javanal rendszerint egy ilyen interfeszcsere runtime fog lehalni, hiaba van Date osztaly 3 is)
Merthogy ha a tudtod nelkul tudjak igy cserelgetni az interfeszt, az azt jelenti, toled fuggetlen komponens. Ha te csak .NET komponensekkel akarsz jatszani, te dolgod, csak nem a nyelvbol kovetkezo kovetkezmeny, hanem a helyzetbol.
De nincsenek se szerializalasi, se adatformatum-cserek jellemzoen kulso interfeszeken, ez egy mondvacsinalt problema, amit a statikus nyelvesek azert nem erzekelnek, mert ott nem lehet, a dinamikus nyelvesek meg azert, mert egyszeruen ilyen nem szokott elofordulni, ill. az esetek annyira jelentektelen szazalekaban, hogy effektiv tokmindegy... Nah mind1. Ha a kulso interfeszed mar tipusos, akkor platform-dependens, ami azt jelenti, hogy API. Ha HTML-t scrapelsz akkor .NET-ben is ki fog halni redesignkor, nem kell hozza bash.
Mondod ezt egy olyan termek mellett ervelve, ami alapbol egy virtualis szamitogepre van irva (.NET CLR), azon vitatkozva, hogy egy par tizezer soros, eredetileg PDP-n futo szoftvernel az jobb?
Hogy ez hogy kapcsolodik az elozo ervrendszeredhez, azt meg plane nem ertem.
A bash eredetileg pdp-n futó szoftver? Hümmm... A bash és az orginál pdp-re írt sh nagyjából Makó (a lovag, Split kikötőjében) és Jeruzsálem (a város) távolságot jelenti...
Az architekturalis alapokat -a'la POSIX - a bourne shell hatarozza meg, ami tizenvalahanyezer sor.
Annyira nincsenek messze egymastol, a readline tamogatas az ujdonsag a bashben hozza kepest.
> mar annyian agymosottak, hogy azt se tudjak mirol van szo.
Mint te, az "elmeleti megkozelites helyessege"-ről? Hahaha, mekkkkkora öngól.
U r ignored man.
> U r ignored man.
Repetitio est mater studiorum. :-)))))))
Van akinek csak tizedjere jut el az agyaig :-))
> Van akinek csak tizedjere jut el az agyaig :-))
Akkor írd be még párszor hogy "U r ignored man", hátha eljut az agyadig :-)))
There u go: U r ignored man.
> There u go: U r ignored man.
Nem számoltam, megvan már a 10? Eljutott az agyadig? :-)))
A tortenelem ismetli onmagat
OK, akkor legyen inkább 20; majd növeljük, ha addig se jut el a saját üzeneted a saját agyadig :-)))
Sanyiqának meg fizess egy sört a nevemben ;-)
Kimelj, kedves zipfs.
> Kimelj, kedves zipfs.
Kíméljen meg téged Trey, a válaszolgatás lehetőségétől ... :-)))
Tudod mit? Ha mindkettonket kidob, allok elebe. :)
Gabu, te vagy az? :)
-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
rand() a lelke mindennek! :)
Nem tudok rola :)
ps: o amugy jobban csinalna ;)
Azt is az elegancia egy sajátos formájaként foghatjuk fel, hogy adatfeldolgozásra az egyetlen strukturális elem gyakorlatilag a soremelés és a karakter.
----------------
Lvl86 Troll
> adatfeldolgozásra az egyetlen strukturális elem gyakorlatilag a soremelés és a karakter.
A karakter az fontos.
Mit szerettél volna mondani?
Gondolom szóköz karakter...
Akkor karaktert írt volna ...
Nem feltetlen. A forum kivagja a ket szokozt, hacsak meg nem veded valahogy. De igy lehet: ' '
--
"A karakter az fontos."
Persze, karakteres adatoknál. Számokat meg tessék számként kezelni.
"Mit szerettél volna mondani?"
Ha ennyiből nem vagy képes megérteni, akkor igazából olyat mondanék, ami csúnya, sértő, személyeskedő, de mivel te esetedben felesleges, így inkább nem folytatnám.
----------------
Lvl86 Troll
Érdekes. Ha kérdezek valamit, rögtön mindenki úgy kezd viselkedni, mintha csak kettesben társalognánk; a többi olvasó el van felejtve.
Gondolkoztál már azon, hogy a probléma nem feltétlen a "mindenki"-ben van?
----------------
Lvl86 Troll
Úgy látom probléma akkor van, amikor válaszképtelenek, akiket kérdezek. És egyesek felidegesednek amikor a saját korlátaikba ütköznek.
40 éve működik... még a CMD-ben is.
Egyébként normálisnak tartod azt, hogy a kimenetben nem tudod az a piszokegyszerű dolgot a szkript natív eszközeivel megoldani, hogy kiírsz valamit, aztán amit legközelebb kiírsz, az ugyanabba a sorba kerüljön?
Piszok nagyott változott a világ, ha ez a rendkívüli eset kategóriája lett.
Csak probald meg ket eltero nyelvi beallitassal rendelkezo rendszeren hasznalni ugyanazt a scriptet.
----------------
Lvl86 Troll
Ez már a válasz, vagy csak annak helyettesítésére született?
Tényleg ennyire kínos leírni, hogy "ez nevetséges"? Volt, akinek már sikerült, és még mindig köztünk él.
Oke, akkor a bash eleganciajarol olvassunk az Architecture of Open Source Applications-ben: http://www.aosabook.org/en/bash.html
A vilag legszebb pipes-and-filters implementacioja a unix shell, ami alapjaul szolgalt az architekturalis mintakon valo gondolkodasnak; csak a mult heten ezert eletmudijat vett at ket ember: http://www.infoq.com/news/2011/07/garlanshaw
Van meg kerdes az eleganciarol?
Bevallom, én rendkívül vonzódom a maximálisan koherens, az elveiket nem beáldozó rendszerekhez/nyelvekhez, főként ha ezt végig viszik a lehetséges maximumig. (Haskell, Smalltalk stb... )
Ezért pl. szimpatikus a powershell is, és emiatt tudtam néha kicsit idegenkedni a Unix hozzáállásától:
DE aztán rájöttem, hogy mindazoknak a rendszereknek és nyelveknek amikkel olyan remekül elszórakozom, töredékével ismerkedtem volna meg, és használtam volna fel bármire is bármikor, ha nem lett volna alattam egy ilyen sárlabda szerű (bármit bármihez egyszerű elvek mentén hozzáragaszthatsz) kombinálható és befogadó a változatosságot nem diszkrimináló alaprendszer
A shell "gyengeségei" és fent említett befogadóképessége együtt ráadásul szerintem egy külön motiváció minden unixot használónál, hogy egyre több, az éppen adott céljaihoz minél jobban passzoló eszközt megismerjen.
Hát szóval ennyit minimum fel tudok hozni ennek a "dizájnnak" a védelmében...
Ööö... izé... én értem, hogy ez annyira-de-annyira jó dolog, hogy nagyon, de nálam a shell programozás két szinten szokott történni:
- bash + awk, grep, egrep, sed, tr, ...
- perl
Amit nem tudok perl-ben megírni és shell-ben kell fusson, ahhoz a C# is kevés lesz, ráadásul többet kell írni ugyanahhoz az eredményhez, mintha perl-ben írnám. Egyébként eddig még nem futottam bele olyasmibe, amihez a perl kevés lenne, de ha bele is futnék, akkor Java-ban írnám meg... :)
--
http://wiki.javaforum.hu/display/~auth.gabor/Home
És tegyük hozzá, hogy az awk/sed/grep a legtöbbször arra kell, hogy a programonként egyedi formátumú, sima szöveges kimenetből saját szájízednek, vagy a következő alkalmazásnak megfelelően kinyerd a lényeget - ráadásul ezek a részek azok, amik (a csőben előttük/mögöttük lévő program verziójától, platformtól, etc. függően) platfrom és verziófüggőek tudnak lenni...
Linux alá (is) egy rakat objektumorientált interpreteres nyelv létezik. Az hogy a bash pont nem az az szerintem a világ egyik legnagyobb vihar a biliben problémája.
------
3 fajta matematikus létezik. Aki tud számolni, és aki nem.
Olyannyira, hogy nem is mindenki tud ojjektum orientáltan programozni. A bash lényege, hogy mindent ész nélkül helyettesít. Így aztán az ember eleresztheti a fantáziáját, remek olvashatatlan kódot lehet írni, ami még lassú is lesz, mégis elégedettek vagyunk az eredménnyel. :)
tr [:lower:] [:upper:] <<<locsemege
LOCSEMEGE
Nekem is gyakorta basic érzésem van, Bár én nagyon ritkán írok bash scriptet, de igazad van szerintem is.
------
3 fajta matematikus létezik. Aki tud számolni, és aki nem.
1-2 hónappal ezelőttig azt hittem, hogy a while read egy lassú dolog... aztán megismertem a Get-Contentet...
A New Object-Oriented Programming Languaguage: sh
És még van pár hasonló a témában :-)
Szóval mondom, lehet kedvelni, de ha ilyeneket kell csinálni (pl. egy DNS HOST rekord frissítésekor), akkor a leborulással még várok pár verziót:
$ErrorActionPreference = "SilentlyContinue"
$cnt = 0 # Do it again if it fails as there is a bug with Powershell/WMI
DO
{
$cnt = $cnt + 1
$newPool.Put()
} WHILE (!$? -AND ($cnt -lt 10))
A script írója nem ért hozzá - speciel pont DNS-t túrtam már WMI-on keresztül Powershellből a legkisebb hiba és a fenti megkerülő megoldás nélkül.
Akkor kérlek - valszeg a hupos tagságom alatt (de talán előtte sem) kértem ilyet - dobj össze nekem egy kódocskát, amely
- win2008 vagy win2003 alatt futva,
- adott domain,
- adott nevű/című hosztját
- adott másik címmel ruházza fel.
Elárulom, hogy órákat töltöttem azzal, hogy olyan megoldást dobjon ki nekünk a mi barátunk, ami nem törlésen és újra létrahozáson alapszik, de amit egyáltalán találtam, abból a legjobbat látod itt - más kérdés, hogy az se csinálja meg.
Végül elfogadtam volna egy VBS megoldást is, is itt kezdtem el dobálni a hajtűimet: a http://msdn.microsoft.com/en-us/library/ms682130.aspx címen fellelhető szkriptet első körben szintaxhibamentessé kellett tennem (ok, ajándék ló) - aztán a tisztított szkript aszondja, hogy ő ugyan nem ír át semmit, mert az általam megadott feltételnek nem felel meg egy rekord sem. A frászt nem.
Szóval hálás lennék bármilyen ötletért, beleértve olyan url-t, amit lemondó apátiámban már meg se néztem a soktucat után.
Nincs előttem a kód (előző cég), de linkek:
http://msdn.microsoft.com/en-us/library/ms682715(v=VS.85).aspx
http://msdn.microsoft.com/en-us/library/ms682181(v=VS.85).aspx
Kis híján azt válaszoltam, hogy picit elkeserít, ha az eddigi hozzászólásaimból az jött le, hogy lusta és/vagy hülye vagyok - még a mi barátunk kezeléséhez is... aztán előjött bennem a jóhiszem, hogy az egy dolog, hogy nekem ezzel nem (sem) ment ezért:
Exception calling "Modify" : "Generic failure "
At Z:\home\sgombai\scripts\updateip.ps1:14 char:18
+ $oldRecord.Modify <<<< ( 3600, $newip)
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : WMIMethodException
... de, ha ennyire állítod, csak kell legyen benne valami, és megcéloztam egy másik DC-t a gwmi-jal... és voilá, az elhitte, hogy rendben van, amit kérek tőle.
Meg is kapták a labdát a winadminok, derítenék már ki, melyik patch maradt le az elsőként kiszúrt gépről.
Szóval köszönet, amiért a Holmes-féle pályára állítottál!
Szivesen.
Egyébként terheltebb szervereken ez akkor szokott előjönni, ha az RPC portokból kifut a gép - közel sem biztos, hogy ez a baj, de először erre nézelődnék.
Lehet Miguel már csinálja a monoshell-t :)
A bash a "cd foo bar" okosságról is csak álmodhat, az pedig nem is egy nagy kunszt...
Ez egy olyan érv volt anno, ami miatt majdnem lecseréltem a shellemet ksh-ra.
Nekem néha nagyon kellene, van egy rakat olyan feladat, ahol oda-vissza kéne mozogni tizensok szint mélységű könyvtárstruktúrában, ahol mondjuk a harmadik-negyedik szint különbözik csak. Bash-ban picit horror, más shell-t feltelepíteni a rendszer felépítéséből adódóan dettó, úgyhogy maradt egy statikusra fordított zsh felmásolása a gépre...
Ha tényleg annyira hiányzik a fícsör, nem tűnik olyan kapitális feladatnak emulálni egy profilba szórszolt függvénnyel.
Szerinted mi a búbánatos fittyfenét csinálok...?
alias vagy function?
A PowerShellel őszintén szólva kettő problémám van. Pedig jóval előremutatóbb, mint egy karakteres maszlagban való turkálás:
- Mivel nincs meg az adott mélységű tapasztalatom PS-ben, ezért még mindig hamarabb összeütök egy PHP scriptet vagy egy C# programot (VS indítással és mindennel együtt), mint mialatt megírom a PS scriptet. Utóbbi esetben még jó eséllyel hatékonyabb is lesz.
Persze, ezen lehet változtatni, tanulással, viszonylag gyorsan.
- Másik probléma, hogy a legtöbb admin nem, hogy nem tud programozni, de eredendően rühelli is. Egyetemen is egy csomó emberrel beszéltem, aki rendszergazda/rendszermérnök beállítottságú ember kérdezi, hogy mégis minek szívatják őket ennyire a programozással. Nah, pont ezért.
Amit a legtöbb rendszergazda produkál "script" címszó alatt (és nem feltétlen PS-re kell gondolni, bash-ban is vannak ám olyan szinten rettenetek), hogy a hajam leteszem, mikor néha látom, hogy mit csinálnak.
És mivel hiányzik az elméleti háttér (mert az fúj, undorító programozás, különben is sokan örülnek maguknak, hogy megértették, hogy működnek a pipek UNIX-on) inkább csuklóból elleneznek mindent, ami picit is újító irány.
Mert minek, mert a régin is össze lehetett taknyolni...
----------------
Lvl86 Troll
Szerintem igazuk is van. A shellnek nem objektum-orientáltnak kell lennie, nem kell felvonultatnia mindenféle, egyre magasabb szintű absztrakciót. Aki erre vágyik, az talál erre nyelvet, mindenféle C++, C#, illetve bármit. Shell scriptben nem alkalmazásokat, s nem is függvénykönyvtárakat ír az ember, arra alkalmatlan, ahhoz lassú, interpretált nyelv. Nem ez a célja.
A shell arra jó, hogy ha hirtelen össze kell szögelni valamit kevés gondolkodással, akkor ehhez ő egy hatékony eszköz legyen. Tehát működjön a "józan paraszti ésszel" történő algoritmizálás. Ne elvont fogalmakban kelljen gondolkodni. Sőt, kifejezetten előnyös itt, hogy a bash egy gyengén típusos nyelv, vagy hogy is mondják ezt a nagyok. :) Szóval nincs szükség deklarációra, mert minden string, adott kontextusban legfeljebb egész számként értelmeződik.
Ha típusos lenne, mire az ember megálmodná az adatstruktúráit, leírná a deklarációit, el is menne a kedve az egésztől.
Bashből a lebegőpontos aritmetikát fájóan hiányolom. Ami szintén kellemetlen, az az, hogy egyes esetekben elég körülményes kimenő paramétereket átadni. Ugye, pipe esetében a cső két oldalán független process-ek futnak, így független a változóterületük. Én úgy szoktam ezt áthidalni, hogy a pipe-ból stdout-ra írok, s az egész csövet, vagy függvényt, amely pipe-ot használ, egy változó értékadásában hívom $() helyettesítéssel. Így akármilyen sok változó átadható, hiszen csak ki kell találni egy delimitert. Ami meg terminálra menne, esetleg el lehet küldeni stderror-ra.
Egyébként erre van szebb megoldás? Tudom, lehetne még ideiglenes file esetleg, bár valamiért nem tetszik.
tr [:lower:] [:upper:] <<<locsemege
LOCSEMEGE
Látom, a lényeg nem jött át.
A PS pont ott egyszerűsít sokat, hogy nem kell annyit az adatstruktúrákkal foglalkozni, hiszen az már jön a nyelvből. Ha meghívok egy függvényt, akkor annak a visszatérési értékét tudom. Ráadásul többnyire egy gyűjtemény valamilyen típusokból.
Az, hogy OOP vagy csak structok/rekordok halma, az most jelen esetben majdhogynem lényegtelen. Kitalálhatták volna az egészet egy SQL-s felület mögé rejtve is.
A paradigmális váltás csak annyi lenne, hogy ezeket a kész szerkezetet használjuk az egyes toolok között és nem a karaktereket lapátoljuk. És ez egyáltalán nem nagy dolog, nem kell ehhez kitalálni adatszerkezeteket csak egy alapszintű programozói tudás kell hozzá. Messze nem elvont és megtanulható mindenki számára, aki egy receptet képes értelmezni.
A probléma inkább ott gyökerezik, hogy sok rendszergazdának vagy a legminimálisabb programozói tudása sincs meg (és mint írtam, ez a bash szkripteken is nagyon-nagyon-nagyon meglátszik) vagy szimplán mereven elzárkózik attól, hogy tanuljon valami újat.
"Ha típusos lenne, mire az ember megálmodná az adatstruktúráit, leírná a deklarációit, el is menne a kedve az egésztől."
Aki meg már írt .NET-ben ilyesmi jellegű "ragasztókódot", az tudja jól, hogy sok esetben semmi ilyennel nem kell foglalkozni, a deklarált változók is sok esetben var-l vannak megadva, a típus úgy is jön a függvény visszatérési értékéből.
Másrészt viszont egy kis programozói szemlélet nagyon nem ártana egy normális, nem egy soros bash szkripthez.
Az eldobhatóságot meg hagyjuk már... Mindenki tudja, hogy tonnaszámra készülnek olyan szkriptek, amik nagyon nem egyszer használatosak és több évig lesznek üzemben azért, hogy valamit összecelluxozzanak. Értem én, hogy lehet ez MacGyver stílusban is tolni, de attól még egy szigszallaggal összetákolt izé nem az igényesség és a megbízhatóság csúcsa.
----------------
Lvl86 Troll
Ja, hogy te adatstrukturakat szeretnel a toolok kozott. Akkor neked nem shell kell, hanem egy rekurziv MapReduce adatbazis.
Az az egy apro teny ugye nem kerulte el a figyelmed, hogy PowerShell a topic, ahol pont ilyen aprosagokkal probalkoznak, mint a toolok kozott valami adatstrukturat atadogatni?
----------------
Lvl86 Troll
Nem kerulte el. Leforditom: "Ez nem shell-feladat."
Attol fugg. Ha nagyon durvan veszem, akkor a jelenlegi shellek olyan adatstrukturat mozgatnak a csovon, ami gyakorlatilag egyetlen szoveges mezoje van, ami alapertelmezett. Ebbol a szemszogbol mar csak egy lepes a komplex adatstrukturak mozgatasa.
--
Úgyérted a bash nem tudja, ezért nem shell feladat. Gondolom a nagy architektségedben eszedbe sem jut, hogy a kategóriák határai nem élesek, és ha egy módszer elősegíti a munkát, akkor érdemes átvenni egy nem megszokott területre is.
----
Hülye pelikán
Nem. A kategoriak hatarai eleg elesek, ha nem elesek a kategoriaid, akkor te epp valamit elcseszel, az remelem megvan ( http://www.objectmentor.com/resources/articles/srp.pdf )
A shell feladata elsosorban az, hogy a platformra epitett alkalmazasokat el tudd inditani. Ezert hivjak a windows-ban a shell-t explorer-nek; ez biztositja az alkalmazasok inditasahoz szukseges kornyezetet. Az, hogy az alkalmazasok inditasat makrozhasd, ez egy nice extra. A pipe-and-filter rendszer is az.
A szakma szabalyai eleg elesek, es nem te hatarozod meg oket. Nem is en, ellenben nekem van annyi eszem, hogy nem szolok be ertuk.
Háát. Az srp működéséhez nyilván elengedhetetlen a kombinálhatóság, hiszen anélkül értelmetlen az egész.
Az alap (fájlfeldolgozó) Unix világban pedig a különféle filterek adják az alapvető komponenseket, a shell meg biztosítja a kombinálhatóságot, azt a ragasztóanyagot ami nélkül az egész kb. használhatatlan lenne.
Ilyen szempontból nézve, sem a "makrózás" sem a pipe-ok nem elhanyagolhatóak: azaz ha az srp felől nézed, akkor épp pont ezek a legfontosabb funkciói a shellnek (persze nyilván lehetne ezt máshogy is, még jobban elszeparálva megvalósítani, de valahová akkor is be kell kerülni a kombinálhatóságnak...)
Az SRP nem feltetlenul vonja magaval a kombinalhatosagot, nem zarja ki monolisztikus rendszerek letezeset, de mindegy, fogadjuk el.
(Amirol te beszelsz, az a Coupling & Cohesion, ami az SRP inverze, de nem teljes inverze)
En itt nem a Unix vilagrol beszeltem, arrol beszeltem, mit jelent az, hogy user shell.
A PowerShell-nek - eszerint az elkepzeles szerint - viszont nem celja az interaktivitas - interaktiv kornyezetben tipushelyes kodot irni, hajra - hanem egyszeruen valamifele .NET szabvany orchestration-re. Ez biztos egy nagyon szep es fontos dolog ott, azonban a UNIX shellnel mas az elsodleges cel.
"interaktiv kornyezetben tipushelyes kodot irni"
Annak a kódnak is típushelyesnek kell lennie, ahol nem az eszköz hanem csak te felelsz az adatok típusáért. Persze gyenge típusok esetén nem kapsz runtime errort a "2"+3-ra hanem 5-öt vagy "23"-at de ettől még neked kell rá figyelni, hogy mi lesz... (ráadásul - azonnali hiba hiányában - jobban is mint erős típusok esetén)
Milyen az a 'monolisztikus'? :)
----------------
Lvl86 Troll
Tehát szerinted élesen elkülöníthetőek a kategóriák, úgymint shell, scriptnyelvek, XY programozási nyelvek (XY értsd: "hagyományos" vagy valami hasonló). Szerintem akkor te egy nagyon szar szakember vagy. Személyeskedés nélkül, pusztán szakmailag. Pont ebben az iparban minden annyira átfolyik össze-vissza egymásba, hogy hihetetlen, hogy 2011-ben ilyeneket tudsz írni.
----
Hülye pelikán
> Tehát szerinted élesen elkülöníthetőek a kategóriák, úgymint shell,
ŐŐőőő, shell mint funkció, vagy shell mint implementáció, vagy shell mint feladatkör, vagy ...
(Forras: http://en.wikipedia.org/wiki/Shell_(computing) )
Nezd, ebben az iparban nem folynak a dolgok ossze, de ezt a kritikat soha senki nem merte megfogalmazni meg, aki velem dolgozott akar egy napot is. Ennek az ellenkezojet viszont azok a mernokok is megfogalmaztak, akik adott esetben az allasukat veszitettek el egy hosszu folyamat eredmenyekent, amiben a vegen en dontottem. Nem gondolom azt, hogy ezt toled, egy nicknev moge bujva el kene fogadnom.
Természetesen semmit nem kell senkitől elfogadnod. Ettől még végiggondolhatod, hogy mekkora hülyeséget írtál le, és milyen látókörre vall. No meg hogy kívülről sokszor könnyebb helyes ítéletet mondani (és persze kevés információ alapján téveset is).
----
Hülye pelikán
"Pont ebben az iparban minden annyira átfolyik össze-vissza egymásba"
Ennyi? Valami szakmaibb érv esetleg.
Nezd, architect vagyok. Az a dolgom, hogy a szeleburdi ifjak teveszmeit irtsam. Az egyik ilyen, hogy minden atfolyik egymasba. Nem osztok maflast, ha valaki ezt kodba meg meri tenni, de hogy ha rajtam mulik, productionig nem jut el egy ilyen kod, az biztos. Volt mar hogy a gyerek addig eroskodott amig az ajton kivul talalta magat az alternativ felfogasaval a vilagrol, de akkor se szolt ilyet mint te.
Use case-ek vannak, ezekre a use case-ekre megoldasokat nyujtunk, ill. a use case-ek kozott prioritasok vannak. Egy shell prioritasa elsosorban az operacios rendszer cseszegetese, mint azt a wikipedia is szepen leirta (az elso mondatban, ami fontosabb mint a tobbi altalaban.) Hogy emellett meg mit kell tudnia a shellnek, nyilvan interaktivitast: a viccessen python-shellnek meg mittomminek hivott REPL-ok ( http://en.wikipedia.org/wiki/REPL ) celja az, hogy interaktivan, gyorsan ki lehessen probalni valamit.
Ezek azonban nem shellek, nem nyujtanak futtatasi kornyezetet az alkalmazasok szamara; a webbongeszo sokkal inkabb shell.
A PowerShell se nyujt futtatasi kornyezetet a .NET alkalmazasok szamara, nem teszi lehetove egy .NET komponensnek, hogy masikat nyisson; a PowerShell egy REPL funkcionalitassal rendelkezo nyelvi kornyezet.
Amit en alllitottam, hogy ez nem az a versenyzo, akinek a bash-sel versenyeznie kene, hiszen se operacios rendszer feladatokat, se alkalmazasinditast nem celja tamogatni, elsodleges celja mindenfele tipushelyes CmdLet-ek irasa, es amit meg allitottam, hogy az interaktiv es a tipushelyes a sokevtizedes tapasztalatok szerint nem jon ossze jol; evek ota vannak ilyen probalkozasok. Lehet, hogy azonos funkcionalitast nyujt, de teljesen masok a prioritasok, es ez itt a szempont.
Amit meg ezen kivul allitottam, hogy a tipushelyesseg a 70-es evek vegen, 80-as evek elejen tul lett ertekelve, a hibak nem ebbol szarmaznak. Ugy gondolom, ha nem lett volna tulertekelve, akkor nemes egyszeruseggel megszuntek volna a nem statikusan tipusos nyelvek, ehhez kepest ezek eloretoreserol szolt az elmult 10-15 ev, a PHP-tol a pythonon, ruby-n at a javascriptig.
Ez utobbi kijelentes sajatos helyzetembol is adodik, miszerint dynamic language architect vagyok, tehat amolyan sivatagi madar: kevesen hiszik el hogy dinamikus nyelvekhez kellenek architectek, ill. hogy ha valakinek elsodleges terulete a dinamikus nyelvek, rendelkezhet architect tudassal. Ezert rendszeresen durva java felveteliken kell atesnem, hogy aztan ismet elfelejtsem azt a borzalmat amig annal a cegnel vagyok. Na de ennyi.
De sok mindent belelátsz te itt. Gondolom megszoktad, hogy menedzserekkel kell beszélgetni.
Azt állítottad, hogy nem shell feladat az objektumok átadogatása processek között. Ennyit, és nem ezt a sok szöveget itt fent. Erre mondtam, hogy ez igen hülye hozáállás, mivel ez nem a shell FELADATA, mintahogy a bashes pipeolás sem FELADAT, pusztán ESZKÖZ, amivel végre tudja hajtani a feladatát. Ez egy másfajta eszköz, jobban hajaz más nyelvek megoldásaira, de ettől még a feladat elvégzését nem akadályozza meg.
Az igaz, hogy a PS nem olyan igazi shell, például nem az a default parancsértelmező, ami igencsak megcsapja ebben a törekvésben. De ugyanúgy alkalmas shell célokra.
----
Hülye pelikán
Szerintem az akadémiai definiálgatás helyett maradhatunk az Einstein-féle idődefiníció talaján és mondhatjuk, hogy shell az, amit shellként használunk -- aztán hogy mi az számológépnek, vagy éppen tömörítőprogramnak is használjuk, mert tudjuk használni, mert pont úgy írták meg azt a shellt (vagy tkp. nem shellt)... ezen lehet lufit hámozni.
Erre akartam én is utalni fentebb, hogy az éles határok nem léteznek, csak elméletben néznek ki jól. Csak az architekt nem mérnök, és nem is gondolkodik akként úgy tűnik.
----
Hülye pelikán
> hogy az éles határok nem léteznek, csak elméletben néznek ki jól.
Attól még nem kerül határon belülre a repszim, hogy bekerült az excel-be ...
Az architect az a vezeto mernok, ez ne zavarjon. Nem a menedzserekkel beszelgetest szoktam meg, hanem hogy le kell menni neha ha valaki nem erti.
A word is alkalmas tablazatkezelesre, ettol meg az emberek nem hasznaljak erre, mert masok a hangsulyai.
Azt mondtam, ha objektumokat akarsz dobalni, akkor lepj ki a shell-kornyezetbol egy magasabb szintre. Nem emlekszem, hogy az stdout barmely rendszerben objektum-orientalt lenne. Ha valakinek collectionoket dobalo rendszer kell, erre egy teljesen masik platformo vezettek be, ez a MapReduce. Teli vagyunk ilyen alkalmazasokkal, a google szinte kizarolag erre a platformra - GFS - epit. De ez nem OS shell, egyebkent ez sem teljesen tipushelyes (scheme-free adatbazisok).
1. Nem úgy általában az architektekről beszéltem, hanem rólad.
2. Még mindig nem látom, hol a baj azzal, ha egy shell máshogy oldja meg a dolgait, mint a szerinted etalon, ha a végeredmény ugyanúgy szöveg és programindítások (jelenleg ez a két sarokköve a shellfogalmadnak ahogy nézem).
----
Hülye pelikán
Te mondd, tetra, mitol nem vagyok jo mernok neked? Attol, hogy nem ertek egyet azzal a felveteseddel miszerint a vilag osszemosott? Melyik tanarod mondta ezt hogy az, hol szerepelt a tananyagban?
A PowerShellnel pedig a koztes eredmeny egy marshalling, es erre mondtam azt, hogy ez nem shell funkcio, ha te marshallingot akarsz, kergesd be egy erre alkalmas kornyezetbe. Hol itt a gond?
tetranak semmi se jo :(
A jó mérnökök szerintem sosem fogják tudni elmagyarázni másoknak, hogy ők mitől is jó mérnökök :-p
Asszem sehol nem állítottam magamról, hogy jó mérnök lennék :P
>Te mondd, tetra, mitol nem vagyok jo mernok neked? Attol, hogy nem ertek egyet azzal a felveteseddel miszerint a vilag osszemosott?
Nagyjából igen. Olyan kategóriákban gondolkozol, amik nem léteznek ilyen kategórikusan. A mérnök meg a valósággal foglalkozik.
>Melyik tanarod mondta ezt hogy az, hol szerepelt a tananyagban?
Sehol, ilyesmikről nem tanultunk ha jól emlékszem.
>A PowerShellnel pedig a koztes eredmeny egy marshalling, es erre mondtam azt, hogy ez nem shell funkcio, ha te marshallingot akarsz, kergesd be egy erre alkalmas kornyezetbe. Hol itt a gond?
Ott, hogy a marshalling csak egy eszköz, és nem befolyásolja a shell funkcionalitását. Ez nem funkció, ez az ő logikája, amivel ellátja a funkcióját, és nagyon sok embernek kifejezetten tetszik (én nem vagyok köztük, de csak mert nem foglalkoztam vele túl sokat, így nem tudok róla véleményt mondani), nyílván nem azért, mert nehezebbé teszi a munkát.
----
Hülye pelikán
Nagyon nagy baj lenne, ha a vilagot nem tudnank kategorizalni... Mi a fenet kezdenenk az osztalyrendszereinkkel? Hogy oldanank meg a modularizalast? Mit tudnank kezdeni a mintanyelvekkel?
A mintanyelvek (Pattern Languages) pont ez a "csunya" kategorizalas, amit te kerulsz. Pont mostanaban van egyebkent az eves mintanyelv konferencia, de ugy ereztem, nem eri meg az ezrest (euroban), nem mentem.
Na de viszont a mintanyelvek pont errol szolnak, hogy dolgoknak adunk nevet, es nem pusztan a reszek, de a hangsulyok is szamitanak benne. Nagyon sokan nem ertik, mi kulonbseg a decorator meg a proxy kozott, meg a delegacio egyeb formai kozott, hisz ugyanolyan kodot adnak; na de hisz mashol van a hangsuly!
De nezzuk teny szerint: a bash, ill. A bourne es korn shell leszarmazottjai minden hianyossaguk ellenere rendkivul nepszeruek. A PowerShell viszont legfeljebb kuriozum; ugy alakult, hogy egyre ismertebb lesz, de nem latjuk hogy terjedne; persze lehet, ez a windowsos vilagban nem ilyen, .NET-es barataim speciel nekem nem hasznaljak, nem latjak sok ertelmet.
Az eles kategorizalas az informatikaban "szukseges rossz": egy osztalynak, egy modulnak nem lehet ket neve. Persze figyelnunk kell arra, helyesek-e ezek a kategoriak, en azt allitottam, hogy a PowerShell mint shell bekategorizalasa nem az. Persze az ido eldonti, na de kedves tetra, azert, mert ezen mas velemenyen vagyok mint te, azert lennek en rossz mernok?
"Nagyon nagy baj lenne, ha a vilagot nem tudnank kategorizalni..."
Gondoljunk bele, milyen kataklizma következne, ha a TCP/IP nem felelne meg az OSI kategóriáinak, ha nem tartaná be az ott meghúzott határokat!?
Ja... nem felel, nem tart...
A PS programozóknak nem is kell - ellenben üzemeltetőknek hasznos. Exchange-et, Lync-et túrni bizonyos esetekben sokkal jobb ezzel, mint a GUI-n.
Az meg, hogy van-e 5 éves távlatban jövője szerintem most megtippelhetetlen. Azon múlik a dolog, hogy az MS hogy dönt, marad a .NET világnál, vagy vált HTML+JS (vagy valami hasonló) világra. Ezt meg (tudtommal) most még ők maguk sem tudják, előbb várják a piaci reakciókat.
Egy biztos: aki 5 év után még 5 évet vár valaminek befutó vagy nem befutó voltára ebben a bizniszben, az inkább előbb áll földbe, mint később.
+1, lásd: linux és a floss ökoszféra
Mondjuk azon azert erdemes lenne elgondolkoznod, hogy miert kell majdnem minden topicban elmondanod, hogy te architect vagy.
Az ex-csapatomban volt olyan szabaly, hogy aki eroskodik a felvetelin, hogy o architekt, az nem vesszuk fel, ugyanis jo esellyel hatalmas lesz az arca. (Ehhez hozzatartozik, hogy Oxbridge-es A+ diplomakkal rendelkezo emberek sem emlegettek allandoan, hogy ok architektek, meg csucskoderek, meg nagyonertenekhozza, siman megcsinaltak a feladatot, es ha ervelni kellett, szakmai ervekkel tettek, nem pedig azzal hozakodtak elo, hogy ok tudjak, mert ok az architektek, vagy mert ok az MIT-n szereztek diplomat, vagy mittudomen.)
----------------------
while (!sleep) sheep++;
Na varjal. Azt, hogy ti ilyeneket nem vesztek fel, az nagyon helyes, nem egymast keressuk, ez egy jo szuro.
A foiskolai topicban akkor hoztam ezt elo, amikor jott, hogy ez nem PM feladat; itt mar nem en hoztam elo, hanem valoszinuleg a masik topicbol olvasva tetra, es erre reagaltam, hogy de szerintem en igenis jo architect vagyok, senkitol soha nem kaptam negativ feedbacket a szaktudasomra vonatkozoan, a stilusomat nem csiptek sose (pl. azt, hogy igen, hajlamos vagyok lezarni az akadekoskodast, hogy dontsuk el, ki a fonok, es ervek nelkuli vitakat se szeretek vegigcsinalni.)
Az, hogy miert hangsulyozom ezt, ez szemelyes problema, illetve hat korszakos: utalok beosztott programozo lenni, de kevesen ismerik manapsag ezt a fogalmat. Szerintem a tobbi programozonak is ego, ha nem egy forumtopikban hangoztatom hogy en architect vagyok, hanem miutan a karukra bizonyosodott be, hogy nagyon nem vagyunk egy szinten. Soha tobbe nem akarok elmenni "sima" fejlesztonek, senkinek nem jo ez.
Bocs, visszavonom, hihetetlen nagy arcod van.
----------------
Lvl86 Troll
Igen, es?
Van mire.
Azokkal akik ezt nem viselik, nem szeretek egyutt dolgozni en se. Igen, a programozok 90%a nem viseli.
Mármint az emberek 90%-a. De legyen inkább 95.
----
Hülye pelikán
Megis mire? Arra, hogy te itt kijelentetted, hogy nagy arcod lehet? Hagyjal mar.
Oszinten szolva megkerdeznem a veled dolgozok es a volt kollegaidat is errol. Persze, lehet, en talalkoztam tobbsegeben rossz emberekkel, de a kemeny tapasztalat bizony azt mutatja, hogy aki ennyire a magas lorol lenezoen, szemellenzosen beszel.. nos, annak a legritkabb esetben kellene, hogy akkora arca legyen, mint amit te mutatsz itt.
----------------
Lvl86 Troll
Semmi gond, linkedinen az ajanlo rovatba ott vannak, a linkedinemet meg - evek ota - megtalalod a HUP adatlapomon.
De nyilvan csak el volt borulva az agyam, a "szar mernok vagy" ugy hat ram mint Marty McFly-ra a nyuszivagy, bocsi.
Ebből nekem az jön le, hogy nem architect (vezető) vagy, hanem főnök.
Architect és/vagy vezető olyan személyből lesz, akit a többiek vezetőnek tartanak és akinek a tudását, munkáját elismerik. Főnök abból lesz, aki kiköveteli magának az elismerést, illetve hangerővel és arrogáns viselkedéssel pótolja a tudása hiányát. A főnök soha nem kap negatív visszajelzést, egy vezető kap kritkát és figyelembe veszi azt.
Attól, hogy utálsz beosztott programozó lenni, attól még nem leszel architect... csak főnök.
--
http://wiki.javaforum.hu/display/~auth.gabor/Home
Mert szerinted en hogy lettem az?
A bajom az, hogy mostanaban ilyen flat informatikai strukturakat akarnak (ohne teamlead, ohne barmi), na ez nem jo, mert igy nem tudom korrigalni a teammate-ek hulyesegeit, anelkul, hogy ne legyen belole botrany. Mert osszeterelnek 10 programozot, aki persze elozo eleteben mind senior meg teamlead volt, csak aztan valahogy megis lesz egy szintkulonbseg.
Ebből kb az jön le, hogy csak te tudsz programozni, neked viszont büdös. Akkor ki állítja elő mégis a terméket?
----
Hülye pelikán
http://www.youtube.com/watch?v=v4Wy7gRGgeA
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
Pontosan. Illetve en leulok programozni, frameworkot, meg atbeszelem barkivel hogy hogy kell leimplementalni valamit, meg atnezem a kodot, es - bar amikor felb.szom az agyam es flame-elek, epp nem, de egyebkent - a devianciat korlatos mertekig hagyom (pl. az SQL injection nem tartozik ezen korlaton belulinek)
Az atlag nagyvallalat viszont ugy mukodik, hogy _mindenki_ egyenrangu, aztan kiosztjak a modulokat kb. Na ebbol hogy mekkora f.s keletkezik, arra nincs kifejezes. Ismert, hogy minoseg-buzi vagyok, es szivemen viselem a szoftver mukodeset. Azok a szoftverek, amik kikerulnek egy ilyen kornyezetbol, nem kivul szepek belul nehol foltokban rohadnak, hanem konkretan szarkupacok, legaljatol a UI-ig.
Nyilvan ebbol veszekedes van. Nyilvan veszekedes van belole, ha azt mondom, hogy ezt meg lehetett volna feleennyi ido alatt normalisan irni, akkor ha letromfol hogy "akkor ird meg b.zdmeg" es delutanra egy olyan kod van az SVN-ben amin maszturbalhatsz, ez feszultseget okoz. Vagy ha lerajzolom neki abran, hogy miert nem jo az elgondolasa, akkor a "hagyja' beken az UML-es fassagaiddal" megy, es QA-n dol be a f.szba az egesz, ket hettel kesobb,hatarido elott fel nappal. De ez nem szemelyfuggo, altalaban a code monkey szerep fost eredmenyez, az egysegesites meg csak azt, hogy mindenki code monkey lesz, mert nem vallalja fel a konfliktust. En meg de.
Igazabol engem nem erdekel, hogy mi szeretsz lenni es mi nem. Arrol volt csak szo, hogy mindig fontosnak tartod megjegyezni, hogy marpedig te
- architekt vagy
- architekt blogot irsz (vicc)
Raadasul annak hangoztatasa, hogy mindig igazad van, nem a pozitiv feedback hatasa (hiszen mindig is igy volt).
De nem osszeveszni jottem ide, csak folyamatosan es konzisztensen a beleesel a http://en.wikipedia.org/wiki/Argument_from_authority#Appeal_to_authorit… kategoriaba, amit szamomra zavaro olvasni idonkent.
----------------------
while (!sleep) sheep++;
Ne haragudj, miert is?
Architekt letedre nem kellene ennyire szuklatokorunek lenned.
----------------
Lvl86 Troll
Azt, hogy en vagyok-e a szuklatokoru, majd az ido eldonti. Ha 5 ev mulva is letezik powershell es nem csak valami minoritas hasznalja, akkor az voltam, ha nem, akkor "jos".
Újabb logikai baki. Az, hogy valami jó-e avagy sem, illetve hogy shell-e avagy sem, nem jellemzi igazán jól az elterjedtsége, hiszen az számtalan egyéb, hangsúlyosabb tényezőtől függ. De gondolom a te tiszta kategóriáidba nem fér bele az, hogy egy dolog több dologtól is függhet, hiszen az már tervezésileg is bonyolítja a helyzetet.
----
Hülye pelikán
Na most ez alapvetően ez egy manageri (tehát nem beosztotti) hozzáállás. Ez konzisztens a "nem szeretek beosztott lenni" kijelentéseddel. A mérnöki az lenne, hogy próbáljuk ki hátha jó és utána használja. A troll meg csinál egy topikot "amirol a bash csak almodhat :)" címmel. A gyengék (+ oskolaszünetes diákok, trollok, agitátorok) meg bekapják a flame-baitet. :D
Úgyis mindenki azt használ amit akar. Vagy amit mondanak neki hogy használjon, vagy amiből meg tud élni (ez volnék én).
Na mindegy is, jó kis flame thread lett ebből. De legalább mindenki elmondott mindent, ami a lelkét nyomja.
/exiting thread.
--
GPLv3-as hozzászólás.
OFF: Szóval te művész vagy... :P :)
--
http://www.naszta.hu
Mas technologiak csuklobol torteno elitelese "csak mert en azt mondtam, hogy ez a tokeletes" valamint "eddig jo volt, minek megvizsgalni egyaltana, hogy van-e mas?" hozzaallas megis mi a halal, ha nem egy ordas nagy szuklatokoruseg es fafejuseg?
----------------
Lvl86 Troll
Nem azt mondtam, hogy az a tokeletes, azt mondtam, hogy a trendek szerint a PowerShell, vagy ahhoz hasonlo technologia nem fogja levaltani a bash-t, es ennek az oka az, hogy a ket igeny ugy latszik, kulon szalon fut. Mint ahogy az egysegesitett office suite is egy idoben meno volt, de azota az openoffice is kulon-kulon szoftvernek alcazza magat.
Nem csuklobol iteltem el, azt allitottam, hogy nem felel meg azoknak az igenyeknek, amik miatt a bash-t hasznaljak emberek. Mindezt azutan, hogy nehany eve mar itt van a piacon, es evente egy-egy ember feltunik villogni vele, hogy marpedig ez "jobb". Ez egy velemeny.
5 ev mulva az derul ki, hogy lesz-e pl. default powershell parancseretelmezo windowson (elkepzelheto), ill. lesznek-e powershell-probalkozasok mint unix parancsertelmezok, es ezek mennyire lesznek sikeresek.
http://pash.sourceforge.net/
Nem működik, de van ilyen (mint egy csomó más linuxos tool esetében).
Oke, majd ha a pash levaltja a bash-t, vagy Shuttleworth gondolkozik rajta legalabbis, akkor beszelhetunk arrol, hogy a pash tud olyanokat, amikrol a bash csak almodhat. Addig fenntarthatom a velemenyemet, miszerint ezek a ficsorok kellenek a f.sznak UNIX-on?:)
Nekem sem kell pash, sőt, ahogy írtam, nem is igazán működik, de van ilyen :-)
Akkor miert ir a rendszergazdak 90%-a ilyen shell scripteket?
----------------
Lvl86 Troll
Mert hulye; honnan van ez a statod egyebkent?
A shell soha nem akadalyozta meg, hogy elso mozdulattal bekergesd az inputodat valami rendszerbe, ami onnantol kezdve OOP elmukodgethet. De engem mar az is zavar, hogy nem tudok cat parancsot kiadni konyvtarra linuxon, nem kell nekem hogy megjobban tipusos legyen.
(Rendes UNIX-on cat konyvtarnev parancsra fajllistat kene visszakapnom null-delimiterekkel)
Ha nekem ilyen problemam volt, hogy strukturalt adattal akartam dolgozni, bekergettem mindig pythonba (ujabban node.js-be) aztan kesz.
Szerintem higgyük el, hogy aki igényes kódot ír(na) PS-ben, az igényeshet ír sh-ban is, és így az sh-nak se lesz szigszalagabb tulajdonsága, mint a libc-nek.
Ráadásul mindez független attól, hogy admin, fejlesztő, vagy ébben tesztelő-e az illető.
Amióta a programozás egynyelves betanított munka lett, bízhatunk abban is, hogy a java-only fejlesztő semmivel sem áll(na) kevésbé fejre a PS shelles paradigmáitól, mint a bashonly admin az OOP-sektől.
Ati ipatoi, madáta ipatoi.
"Amióta a programozás egynyelves betanított munka lett"
Itt most nem arrol van szo, hogy mi lett a programozas. Hanem arrol van szo, hogy mi a hozzaallasa az _adminoknak_ a programozashoz. Nem tudom jobban elmagyarazni.
----------------
Lvl86 Troll
Én sem.
Az a kódolás része, ami az egésznek csak egy töredéke.
Azt azért vegyük észre, hogy pinyo_villany bedobta a májkrémmel bekent macskát az éhes kutyák közé, azok meg rávetették magukat.
Ehhez a topikhoz 3-4 alkalommal akartam hozzászólni, de mindig meggondoltam magamat, mert úgy éreztem, hogy inkább flame (lenne) az egész.
Mondjuk egy olyan javaslatom már nekem is lenne lassan, hogy átnevezhetnénk a HUP-ot WTP-re. Windows Troll Portal. :)
tr [:lower:] [:upper:] <<<locsemege
LOCSEMEGE
> Windows Troll Portal. :)
Igaz, sok itt a pcforum szökevény :-(
Így jártál.
Én sem mennék bash kérdéssel a microsoft.com-ra.
--
GPLv3-as hozzászólás.
Nekem mondod? Finoman éppen arra utaltam, hogy mi a fenét keres a HUP-on a Power Shell, s miért trollkodnak egyre többet itt windows-os arcok, akiknek sok vonatkozásban még csak igazuk sincs, csak a hangulatot szítják?
Tény, hogy ígyjárás, lehet, treynek kellene szétcsapni köztük.
tr [:lower:] [:upper:] <<<locsemege
LOCSEMEGE
"Finoman éppen arra utaltam, hogy mi a fenét keres a HUP-on a Power Shell"
Megoldásától függetlenül a PS puszta léte ékes bizonyítéka annak, hogy a wines táboron belül sem tud vagy akar mindenki minden apró hülyeséget vagy minden iteratív terjengősséget az egérhez kötve megoldani - és hogy ez a résztábor korábban a jellemzően nix-ből kölcsönzött és jellemzően GPL-es cuccok nélkül vastagon magán érezhette a M$ áldását.
What The Phallos? :)
Úgy látom, jó lesz ez a rövidítés. Már csak egy feature request kell róla treynek. :)
tr [:lower:] [:upper:] <<<locsemege
LOCSEMEGE
A szöveges adatfolyamok ide-oda pipe-olgatása és feldolgozása olyan szinten ineffektív hogy az ilyen megoldásokat illik elvi alapon elutasítani.
Egyébként szerintem a Unix "filozófia" is egy nagy baromság: "Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface."
Sajnos hiaba kapalozik az emberfia, nemhogy programok kozott, de manapsag mar nincs olyan halozati protokoll ami ne szoveg alapu lenne. Es latod, a hozzaszolok tobbsege mar a magas szintu API otlete ellen is idegrohamot kap. A unix filozofia ide vezet.
[töröltem a kérdésemet, mert úgyse tud rá válaszolni]
Halas koszonet erte, valoban nem fogok ra valszolni. Egyikre sem a jovoben :)
Helyes, akkor erre se válaszolj: http://xml-coreutils.sourceforge.net/xml_coreutils_tutorial.html
Ezt a Powershellre hoztad mint alternativa? Ahahahahha. Plz dont stop.
Tudod: "U r ignored man."
"olyan szinten ineffektív"
Attól függ milyen szempontból. A streamelgetés pl. memóriaszempontból nagyon is előnyös: több száz gigabájtos adatokat kezelhetsz tökéletesen ugyanazzal a kóddal és mentalitással mint a pár soros szövegeket
Bevallom nem értek igazából a PS-hez, de pl. látatlanba lefogadom, hogy még olyan alapvető memória takarékos algoritmusokhoz mint mondjuk egy egyszerű disk-en rendezés is meg kell izzadni...
szerk: kihagytam az automatikus párhuzamosíthatóságot: szóval mivel ez a pipeolás egy elég egyszerű dataflow programozásra hajazó megoldás, ezért elég jól párhuzamosítható mindenféle külső programozói ráhatás nélkül (nemtom persze a PS mennyire párhuzamosít automatikusan, tényleg mennyire?)
Ööö... izé... ezért van ugye, hogy az Office-összes újabban szövegalapon tárolja a cuccait? Pluszban le merném fogadni, hogy a Windows is tele van már szöveges adatfolyamokkal... XML mond valamit? :)
--
http://wiki.javaforum.hu/display/~auth.gabor/Home
XML suxx. (Nem Zambi, nem fogok valaszolni.)
Ok, de akkor mi az ultimate adatátviteli megoldás?
--
http://wiki.javaforum.hu/display/~auth.gabor/Home
Azokat a problemakat amiket az XML megcelzott, mar megoldottak 10+ evvel korabban, sokkal kiforrottabb formaban. Kepzeld, korabban is leteztek protokollok.
Hm... és mi is az a megoldás?
--
http://wiki.javaforum.hu/display/~auth.gabor/Home
Egyik a sok kozul.
Nahát... mit látok a link közepén: közönséges XML-t... :)
Azt tudtuk már, hogy az XML encoding az ASN.1 szabvány része, ahogy azt is tudtuk, hogy mi előnye és hátránya van az egyéb szerializációs megoldásokkal szemben. Persze megértem, ha személyes ellenérzésed van az XML-el szemben, de attól az XML még létezik, széles és egyre szélesebb körben használják, és mint magadnak bizonyítottad: része az adatkommunikációs szabványoknak. Szóval?
--
http://wiki.javaforum.hu/display/~auth.gabor/Home
Hat persze hogy tudtad, azert volt a leghalvanyabb fogalmad sem mirol beszelek es kerdeztel ra 2x. Annyira tudtad, hogy mar fel sem merul benned hogy mast is lehet protokoll leirasra hasznalni mint XML. Az XML encoding btw utolag kerult az ASN.1-be (de nyilvan ezt is tudod) pont az elterjedtsege miatt. Semmi gond. En sem ismerek minden technologiat es ezt nem beszolasnak mondom.
Attol hogy elterjedt, lehet foshalom. Az hogy valamit konnyu hackelni es emiatt gyorsan terjed valamint hogy az mennyire fos, nos, ezek fuggetlen tulajdonsagok. Ez gondolom vilagos. Csak azert kerdezem, mert a postodbol nem ez jon le: elterjedt -> sikeres -> jo -> nem lehet szar.
En ertem, hogy mast jelent szamunkra a "jo" fogalma. Nem is akarlak meggyozni a velemenyemrol (ennel sommasabbak is vannak), ez az en velemenyem. Nem kell szeretni, sot egyeterteni sem. De azert ne feledkezzunk meg a korabbi, bevalt es jol megtervezett rendszerekrol sem a nagy hype kozepen.
Attól, hogy egy kérdést felteszek, még ismerhetem a választ. :)
Bármennyire is fura dolog lehet számodra, de ismerek és használok egy csomó protokollt, mindegyiket tudom használni, akkor és arra, amikor és amire kell. Neked valamiért nem tetszik ebből a halomból az XML, de ettől még rettentő sok feladatra a lehető legjobb választás, bármennyire is szeretnéd ezt elkendőzni azzal a felkiáltással, hogy amit sok helyen használnak az csak rossz lehet. :)
--
http://wiki.javaforum.hu/display/~auth.gabor/Home
Na és azt tudod, hogy miért terjedt el mostanában annyira az XML, amikor már évtizedekkel ezelőtt is volt megoldás ugyanerre a problémára (lásd még: http://en.wikipedia.org/wiki/Standard_Generalized_Markup_Language )? Mert ugye nem gondolod, hogy mindenki hülye volt, és inkább újra feltalálták a spanyolviaszt, amikor ott volt a mindenre jó megoldás?
Nagy foku tajekozatlansag lenne kijelenteni hogy mindenki hulye volt. Most is azok.
Na, sikerult azt az egy peldat megtalalnod, aminel _jobb_ az XML. :)
(Edit, hogy ez miert pont ide kerult az nagyon jo kerdes, egyaltalan nem erre nyomtam a reply-t.)
---
Internet Memetikai Tanszék
Például az EXI, remélem gyorsan elterjed.
Na látod ezzel egyetértek. Ugyan más megközelítés miatt, de egyet értek.
--
GPLv3-as hozzászólás.
Mikor is írták le ezen sorokat...?
Ha-ha!! Bash mellett létezik Ruby is.
Azt is megnézném mikor fog a PS beleférni egy routerbe. Kábé soha. :P
Mikor kell egy routeren az a funkcióhalmaz, amit a PS Windows-on tud?
Abban a szerencsés (?) helyzetben vagyok, hogy az elmúlt két évben rengeteg lehetőségem volt különböző Microsoft termékeket adminisztrálni Powershell segítségével. Amit mindenképpen érdemes kiemelni, hogy a Powershell NEM linuxos shell és nem is ugyanarra való.
Példa 1:
Levelezőrendszer, a DMZ-ben van egy postfix, a belső hálózaton van egy Exchange hub transport és egy mailbox szerver. A feladat a levelek életútját végigkövetni a rendszeren, kigyűjteni a logokból, hogy melyik node-ra mikor érkezett meg a levél és mikor hagyta el.
A postfix esetében a következőkkel fogsz küzdeni:
A postfix több sor logot is ír ugyanarról a levélről, és nincs összefoglaló sor. Emiatt csinálnod kell "valamit", amivel az első és az utolsó sort ID alapján összekötöd. Ez az ID nemhogy nem uniq, mégcsak nem is túl hosszú, simán lehet akár egy logfile-on belül két levélnek ugyanaz az ID-ja. Távoli logolás esetén sajnos előfordulhat, hogy előbb van a logban a "kiment a levél", mint a "bejött a levél" üzenet. Emellett a syslog formátum esetében több awk és cut kell ahhoz, hogy mindezeket ténylegesen megvalósítsd, úgyhogy túl optimálishoz közeli sem lesz a kódod.
Ezt shellben összereszelni nem túl egyszerű, én inkább neki sem állnék, írnék egy kis programot python-ban (vagy bármi másban).
Az Exchange esetében a következőkkel fogsz küzdeni:
Ööö... Hát, sokmindennel nem. get-messagetrackinglog, 2 paraméter, kész.
Példa 2:
Ugyanitt statisztikát kell készítened arról, hogy melyik rendszeren hány e-mail érkezett nem létező címzettnek.
A postfix esetében egy grep és egy wc megoldja a problémát.
Az Exchange esetében készítened kell egypár Powershell scriptet, ami:
- lekérdezi az Exchange organizációd struktúráját (hogy tudd, hogy mégis hányszor e-mailt hányszor próbálj megszámolni)
- ehhez rossz esetben kell írnod AD lekérdezéseket is
- miután megvan a struktúra, a message tracking logot kb. úgy ahogy van be kell rántanod a memóriába
- ott szűrsz így és úgy, nem is olyan egyszerű algoritmusokkal
- majd a végén kipottyan egy szám, amit még kézzel ellenőrizni sem nagyon fogsz tudni.
Nem szar ez, nem szar ez csak másra jó! :-)
Bocsánatot kívánok, de ez nem a PowerShell erőssége, hanem ez Exchange-ből egyszerűen kinyerhető információ. Ha ilyen dolog kell és erősen kell, akkor a postfix megtanítható ilyen logolásra és akkor ugyanott vagy.
A PowerShell erősségét az támasztaná alá, ha az említett Postfix Windows-on futna, és PS-el egyszerűbben kinyerhetnéd az információt, mint Unix alap parancsok segítségével - de ugye ez nem igaz, lásd a második példád.
--
http://wiki.javaforum.hu/display/~auth.gabor/Home
A powershell esetében meg lehet csinálni a hozzáidomítást a postfix logjához - a bash esetében nagyon nehezen tudom elképzelni az exchange logjához idomítást.
Nyilván, mert nem szöveges az Exchange logja. Ez néha előny, néha hátrány. :)
--
http://wiki.javaforum.hu/display/~auth.gabor/Home
Mert? Szerintem van mar olyan tool a piacon, ami kivant formaban dumpolja neked az eventlog es/vagy az IIS log megfelelo reszet. Onnantol azt csinalsz, amit szeretnel az Exchange logjaval.
De ha nem, akkor se tart tul sokbol osszeutni egy ilyen toolt.
--
"Once we were talking to a Unix programmer about how nice it would be to have a utility that could examine a program and then answer questions such as: “What functions call function foo?” or “Which functions modify the global variable bar?” He agreed that it would be useful and then observed that, “You could write a program like that.”
:)
Meg szeretnéd tudni valamely alkalmazás egy adott konfigurációs paraméterét, és/vagy meg szeretnéd változtatni. Hogy néz ez ki általában PS-ben, és általában Linux-os környezetben?
Mondjuk Exchange esetében:
Get-MailboxServer |Set-MailboxServer -SubmissionServerOverrideList hub1,hub2
Úgy működik, hogy a Get-MailboxServer visszaad egy listát, amelyben mailbox szervereket reprezentáló objektumok vannak. Ezeket az objektumokat egyesével átadjuk a Set-MailboxServer parancsnak, aholis a kapcsolóval beállítjuk, hogy a megfelelő hub transport szervereket értesítsék ezek a mailbox szerverek levélküldés esetén arról, hogy helló, itt a levél. Mint a relayhost, csak pepitában.
Mondjuk postfix esetében:
sed -i 's/^\ *relayhost.*/relayhost=relay/' /etc/postfix/main.cf
Ez meg úgy működik, hogy a postfix konfigjában szereplő, relayhost-tal kezdődő sorokat kicseréli másra.
Szerintem nagyjából azonos kaliberű a két parancs. Ami viszont eltérő:
- powershell esetén lényegében az összes átkonfigurálás tök hasonló szintaktikájú lesz - bash esetében pedig pl. egy eximet jelentősen máshogy kellene konfigurálni
- a bash-es megoldás sokkal inkább error-prone, a regexp, amit írtam nem is biztos, hogy minden esetre jó - a powershell esetében ilyen nyűg nem fordul elő
- hogy szidjam egy kicsit a powershell-t is: néha (sokszor) túl okos próbál lenni, és pl. quotaállításkor nem igazán egyértelmű, hogy a 28 az most 28 kilobyte-ot, vagy 28 megabyte-ot is jelent (ráadásul olyan is van, hogy más mértékegységben gondolkodik a GUI és másban a PS...) - ezzel jópárszor megszívatott, és linuxon nem jellemző ez a hülyeség
Nem jobb egyik sem, mint a másik - csak más...
Pontosabban: Powershell és Exchange esetében az átkonfigurálás hasonló, ahogy Bash és Postfix esetében is. Az már érdekesebb kérdés, hogy miként konfigurálsz Exchange-et Bashból vagy Postfixet vagy Eximet Powershellből! :-)
Ave, Saabi.
Igen, az interpreter jellegű MSIL emittálás és futtatás jól hangzik :-)
Mindazonáltal azért örülnék, ha powershellből nem lehetne pl webszervert indítani pusztán azzal, hogy bepipeolom a forráskódot... érted :-)
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
Perlt bírod?
azt se :D
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
Ez legalább következetes utálkozás. :)
:D
Perlben nehezebb backdoort irni mint C#-ban :D
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
perl -e 'print "backdoor";'
--
A főnököm mindig megtartja amit ígér, ha pénzt ígér azt is!
pythonba:
import backdoor
backdoor.start()
:D
Erről is csak álmodhat a bash:
1
switch ($null) { "valami" { "ide nem" } default {"de ide igen"} }
2
switch ( (ls | gm semmi) ) { "valami" { "ide nem" } default {"es akkor ide miert nem?"} }
(ls | gm semmi) -eq $null
Eredmény:
1
de ide igen
2
True
Amennyiben Gabucino úgy véli, hogy ezen hozzászólásommal is ki kell egészítse a mémtárát, külön megkérem tisztelettel, hogy magyarázatot is fűzzön hozzá (nem a listázáshoz, az az ő dolga: a problémához).
Köszönöm!
És még egy
"'The provider does not support the use of credentials. Please perform the operation again without specifying credentials.'
The documentation states that you can provide a PSCredential object but if you look closer the cmdlet does not support this yet. Maybe in the next version I guess.
...
There's an open bug for this: connect.microsoft.com/feedback/… – halr9000 Nov 20 '08 at 21:21
Actually, I think the cmdlet supports it just fine - it's the underlying PSDrive provider that isn't doing anything with it. All the *-Item cmdlets have a generic set of behaviors; they just pass them through to the PSDrive provider, though. -filter is another example. – Don Jones Nov 29 '08 at 17:22
Looking at the docs, you'll notice that it says the parameter is not implemented for the cmdlet. technet.microsoft.com/en-us/library/bb978543.aspx – Scott Saad Nov 30 '08 at 16:01"
B+, azóta eltelt 2.5 év, de az elkúrástól számítva kétszer annyi.
Hát mi a franc volna természetesebb egy wines környezetben, mint a map, felhasználóval, jelszóval?
Szóval picit kevesebb ojjektumorientáltság több működőképességgel jobban meghálálná magát.
... és én nem a juszt is ellenzők közé tartozom...
... és még nincs vége.
Aszondja, ez bugos, hanszáljam a mapnetworkdrive-ot. Legyen...
$net.MapNetworkDrive( "Z:", $SHARE, $false, $id, $pw)
Exception calling "MapNetworkDrive" with "2" argument(s): "The local device name is already in use.
Igaza van, a Z:-t már foglalja ugyanaz a share.
Vallassuk tovább!
get-psdrive z
Get-PSDrive : Cannot find drive. A drive with the name 'z' does not exist.
Szóval még sincs, illetve...
PS C:\Documents and Settings\sgombai\dbmaint\backup> get-psdrive
Name Used (GB) Free (GB) Provider Root CurrentLocation
---- --------- --------- -------- ---- ---------------
Alias Alias
...
Z .14 .61 FileSystem Z:\
... mégis, azaz...
dir z:
Get-ChildItem : Cannot find drive. A drive with the name 'z' does not exist.
... mégsem.
Vitathatatlan, bash-sel a kézben ilyet se csinálok... be biztosan bennem van a hiba.
hello,
Ma egy Win7/Linux dual boot-osítás során szükség lett volna a parancssorba clipboard-ból beilleszteni valamit, persze sem ctrlV sem shiftIns nem működött. Nosza, gondoltam annyi szépet hallottam a powershell-ről, abban talán már megoldották ezt a kemény feladatot. Hát nem! Ott sem működik.
Közben a bcdedit-et kellett volna használni, de azt a powershellből nem lehet elindítani!
Gondolom, biztos van olyan registry beállítás ami ezeket esetleg tudatja vele, de alapból ezt tapasztaltam. A címre reagálva, még szerencse, hogy a bash csak álmodhat erről, de szerintem azt sem...
http://dl.dropbox.com/u/1645952/uploads/Clipboard01.png
szerk.: vagy én értem nagyon félre a problémát. :)
Erről szóltam. Alap win7 install amit én próbáltam.
És mi is nem működött rajta?
Copy/Paste az ablakfejléc jobbklikkes menüjében, ahogy eddig is minden NT-ben.
A te hiányzó tudásodért nem a Powershell (vagy az NT Shell) a hibás.......
> És mi is nem működött rajta?
cmd parancssorban ctrlV ill. shiftIns hatasara nem kerul be a clipboard tartalma a parancssorba. Bal felso sarokba menu-belillesztes hatasara bekerul.
> A te hiányzó tudásodért nem a Powershell (vagy az NT Shell) a hibás.......
Biztos hiányos tudású egységsugarú user vagyok, de azt hittem, hogy a clipboard mindenhol használható billentyűkombinációval, de nem.
Tehát _nem_ az volt a bajom, hogy bal felső menüből nem működik, hanem, hogy billentyűkombinációval nem. Ha annyira csilivili és felhasználóbarát, akkor úgy gondolnám, hogy ez minimum igény lenne.
Nem akarnám emlegetni az "egyáltalán nem felhasználóbarát" Linux-os KDE-t, ahol nemhogy működik, de még queue is a clipboard.
A powershell ugyanolyan "konzolablakban" fut mint a sima NT Shell, tehát ne csodálkozz, hogy ugyanazt tudja.
Ez körülbelül a fapados xtermnek felel meg, funkcionalitása is kb annyi. Ha felteszel mást (pl. Console), ahogy Linuxon is feltetted a KDE konsole-t, akkor megkapod a hőn áhított funkciókat.
Jo sokminden eloferdult itt, de erdekes hogy senki nem emlegeti a jo oreg wsh-t :). Na abban aztan lehetett mindnefelet ganytelepelni:) Es altalaban a szukseges holmik is fel voltak teve egy alap win installra, es mondjuk pottynet sem kellett hozza, ha vkit az aggaszt.