Več

Časovna omejitev storitve GP (iz orodja za skripte Python): kako končno izvesti: stavek

Časovna omejitev storitve GP (iz orodja za skripte Python): kako končno izvesti: stavek


V nekatere storitve GP, ki jih razvijam, poskušam vgraditi več logike upravljanja napak. Kot del poslovne logike v orodju za skripte, ki ga zgradim, zapišem nekaj podatkov v tabele in tako zaklenem dostop do določenih delov baze podatkovnih baz, da omogočim nemoteno izvajanje trenutno izvajane naloge GP.

Če pa pride do nekaterih težav, zaradi katerih se primerek storitve GP ali storitve Windows ArcGIS Server zruši (nekaj, kar mi ni v rokah), želim biti sposoben opraviti nekaj čistilnih del (sprostitev ključavnic, čiščenje ustvarjanje geodetskih baz podatkov, pisanje v tabele itd.). Tu ponavadi uporabljamkončno:izjavo pri razvoju skriptnih orodij Python za uporabo v ArcGIS Desktop.

Vendar se zdi, da storitev GP ne dosežekončno:če je časovna omejitev ali zrušena. Izvorna koda orodja za skript Python je spodaj:

uvoz arcpy čas uvoza poskusite: arcpy.AddMessage ("Pozdravljeni 1 sekunda") time.sleep (10) arcpy.AddMessage ("Pozdravljeni po 10 sekundah"), razen: pass konačno: arcpy.AddMessage ("GP storitev je potekla!")

To orodje sem zagnal v ArcMap -u:

Poskus izvajanja naloge storitve GP (objavljeno iz rezultatov orodja) naloge storitve GP s časovno omejitvijo 9 sekund:

Tako storitev GP ne more dosečikončnoizjavo in tisk"Pozdravljeni po 10 sekundah". Če tega ni mogoče izvesti vkončno:stavek v izvorni kodi orodja za skripto Python, kako bi drugače pristopili k temu?


Kar zahtevaš, ni mogoče. Strežnik ArcGIS nadzoruje proces Python in ga ubije, če traja predolgo. Na sejo Python ne pošlje prekinitve/premora, zato tolmač Python nikoli ne bi prišel do tegakončnoblok. Vem, da ste dejali, da nimate nadzora, vendar boste morda želeli prositi administratorje vašega strežnika, da vam omogočijo, da časovne omejitve storitve povečate na večjo vrednost.


Domoticz

Ta sistem je zasnovan za delovanje v različnih operacijskih sistemih. Uporabniški vmesnik je prilagodljiva spletna stran HTML5 in se samodejno prilagodi za namizne in mobilne naprave.
Združljiv z vsemi brskalniki. Opomba za uporabnike Internet Explorerja: potrebujete različico 10+.

Nekaj ​​informacij

  • Strojna oprema: RFXCOM oddajnik, Z-Wave, P1 pametni števec, merilnik YouLess, števci impulzov, 1-žica, EnOcean in še veliko več.
  • Podaljšano beleženje
  • Potisna obvestila za iPhone / Android
  • Senzorji/stikala za samodejno učenje
  • Ročno ustvarjanje stikalnih kod
  • Skupna raba / uporaba zunanjih naprav
  • Zasnovano za preprostost

Donacije

Za analizo spletnih mest uporabljamo Matomo Analytics, ki spoštuje vašo zasebnost!


Nekaj ​​osnovnih pravil za podproces.

  • Nikoli uporabite lupino = True. Brez potrebe pokliče dodaten postopek lupine, da pokliče vaš program.
  • Pri klicanju procesov se argumenti prenašajo kot seznami. sys.argv v pythonu je seznam in argv v C. Tako prenesete datoteko a seznam v Popen za klic podprocesov, ne niza.
  • Ne preusmerjajte stderr na PIPE, ko je ne berete.
  • Ne preusmerjajte stdin, ko vanj ne pišete.

Kljub temu je verjetno, da rsync medpomni izhod, ko zazna, da je priključen na cev namesto na terminal. To je privzeto vedenje - ko so programi povezani s cevjo, morajo za rezultate v realnem času izrecno izprazniti stdout, sicer bo standardna knjižnica C medpomnila.

Če želite to preveriti, poskusite zagnati to:

in ustvarite datoteko test_out.py z vsebino:

Z izvajanjem tega podprocesa bi morali dobiti "Hello" in počakati 10 sekund, preden bi dali "World". Če se to zgodi z zgornjo kodo python in ne z rsync, to pomeni, da rsync sam medpomni izhod, zato nimate sreče.

Rešitev bi bila neposredna povezava z omrežjem Pty z uporabo nekaj podobnega kot pexpect.


Razvoj spletnega sistema za nadzorovano razvrščanje slik daljinskega zaznavanja

Spletni sistemi za razvrščanje slik želijo uporabnikom omogočiti enostaven dostop do funkcije razvrščanja slik. Obstoječe delo se osredotoča predvsem na spletne sisteme nenadzorovanih klasifikacij. Ta članek predlaga okvir spletnega sistema nadzorovanega klasifikacijskega sistema, ki vključuje tri module: odjemalca, servlet in storitev. Izčrpno opisuje, kako postopke nadzorovane klasifikacije združiti v razvoj spletnega sistema. Za izvedbo modulov je predstavljenih vrsta metod. Izveden je tudi prototipni sistem ogrodja in na njem se preskušajo številne slike daljinskega zaznavanja (RS). Rezultati poskusov kažejo, da je prototip sposoben doseči nadzorovano razvrščanje slik RS na spletu. Če se uporabljajo ustrezni algoritmi in vrednosti parametrov, so lahko rezultati spletne rešitve enako natančni kot rezultati tradicionalnih namiznih sistemov. Ta članek postavlja temelje tako na teoretičnih kot na praktičnih vidikih prihodnjega razvoja operativnih spletnih sistemov nadzorovanih klasifikacij.

To je predogled naročninske vsebine, dostop prek vaše ustanove.


[Udemy 100% popust]-uporabljeno etično vdiranje in pravila sodelovanja

Pridobite 100% brezplačno kodo kupona za popust Udemy (brezplačna promocijska koda UDEMY), na ta tečaj se boste lahko vpisali “Uporabljeno etično krampanje in pravila sodelovanja” popolnoma BREZPLAČNO za dosmrtni dostop. Pohitite, sicer boste morali plačati $

Zahteve

  • Predznanje Linuxa, programiranja ali vdora ni potrebno
  • Računalnik z internetno povezavo
  • Strastna radovednost za učenje (nujno)
  • Osnovne veščine IT (plus je imeti)

Trajanje tečaja: 40 ur

Inštruktor: Seyed Farshid Miri

Angleške ocene: 4.6

Opis

& lt & lt & lt Dobrodošli na najbolj popolnem tečaju etičnega vdora in lova na grožnje, ki je na voljo na spletu, kjer sta strokovno obravnavani obe temi v zvezi z napadalno varnostjo in obrambno varnostjo. Ta tečaj vključuje dva zrušitvena tečaja o Linuxu in Pythonu. & Gt & gt & gt

Naslednjih sedem stebrov je temelj tega tečaja, ki spreminja življenje:

######################################################################
1- Etično vdiranje
Naučite se razmišljati in delovati kot heker ter delati z različnimi tehnikami in orodji za dosego tega cilja. Kot etični heker na koncu tega tečaja boste svojim strankam lahko pomagali ublažiti različne vektorje napadov in njihove ustrezne podrobnosti, ki praktično temeljijo na različnih varnostnih standardih in najboljših praksah. Naučili se boste tudi, kako izvajati različne faze etičnega vdora, kot so izvidništvo, skeniranje, pridobivanje dostopa, vzdrževanje dostopa, brisanje sledi itd.

######################################################################
2- Testiranje penetracije
Naučite se vdreti v preproste in trde simulirane virtualne stroje v resničnem svetu HackTheBoxVdiranje v živo! z edinstvenimi podvigi, taktikami in tehnikami. Naučite se umetnosti vdora s temi CTF -ji (Ujemite zastave), ki vam bo v prihodnje pomagal pri vsakem resničnem delovnem projektu.
Delajte tudi na metodah pentest v spletnih, omrežnih, delovnih poteh ocenjevanja ranljivosti in »Obramba v globini”Najboljše prakse, ki vam bodo pomagale vdreti kot hekerji s črnimi klobuki, jih braniti ali zavarovati kot varnostni strokovnjaki in okrepiti vaše poslovno okolje pred zlonamernimi akterji.

Naučite se začetnikov naprednih tehnik pentestinga. Naučite se razmišljati in se obnašati akterji grožnje da jih ustavimo v različnih fazah življenjskega cikla napada.
MITER ATT & ampCK Okvir: izvidništvo, začetno oporo, stransko premikanje, povečanje privilegijev, ukaz in nadzor, napadi aktivnih imenikov, Linux in zlonamerna programska oprema ter tehnike napada mac os x.
Naučite se skriptnih jezikov za Cobalt Strike Okvir in drugi okviri sodelovanja rdečih skupin za razvoj in delovanje na njih.
Naučite se, kako razviti svojo infrastrukturo C2, da se izognete zaznavanju s strani modrih ekip in SOC med operacijami rdečih skupin.

######################################################################
4- Upravitelj elastičnega sklada Wazuh (SIEM)
Naučite se, kako s programom Wazuh Manager nastavite celoten SIEM (varnostne informacije in upravljanje dogodkov) z uporabo elastičnega sklada (prej ELK sklada). Prav tako se naučite, kako zaužiti različne formate dnevnikov iz različnih virov dnevnikov, kot so strežniki Linux in Windows, naprave za požarni zid Fortigate itd. Naučili se boste, kako aktivirati različne funkcionalnosti (zmogljivosti) upravitelja Wazuh, kot so spremljanje ranljivosti, spremljanje integritete datotek, spremljanje merjenja trdnosti CIS in še veliko več. Izvedeli boste tudi, kako so osnovni dekoderji in pravila programirani za zaznavanje neomejene količine varnostnih dogodkov v omrežju podjetja.

######################################################################
5- Lov na grožnje (modro združevanje)
Obstaja celoten razdelek za iskanje groženj, kjer v delo vložite naučeno in izvedete napade, kot so Spawn Session and Process Injection, ShellShock, MSHTA, Brute-Force, Mimikatz itd. vaše orodje SIEM, ki ste ga nastavili in popolnoma konfigurirali med tečajem. V tem razdelku se seznanite s tem, kako se bo v vašem orodju SIEM pojavil drugačen IoC (navedba kompromisa).

######################################################################
6- Python Skript za varnost
Naučite se ustvarjati skripte in programe, ki bodo po vaših željah počeli kadar koli, od majhnih skriptov, ki so potrebni med pentestom, do bolj izpopolnjenih med operacijami Red Team. ta tečaj vključuje hitri tečaj o osnovah Pythona, ki vas bo promoviral na tem jezikovnem področju, ki ga morate poznati.

######################################################################
7- Linux (Kali Linux in OS Parrot)
Linux vodi svet, še posebej, ko gre za Spletna varnost svet. V tem tečaju je tečaj o osnovah Linuxa. Vendar boste med tem tečajem in po več urah razburljivih praktičnih praks o različnih napadalnih in obrambnih varnostnih metodah postali strokovnjak za Linux na ravni strokovnjaka za kibernetsko varnost. Naučili se boste Kali Linux in Parrot OS kot glavni distribuciji Linuxa v tem tečaju.


Orodje za obdelavo uličnih podatkov podjetja Esri

V zadnjem času sem precej delal z obdelavo uličnih podatkov, tako da bi lahko dobili zbirko podatkov omrežja v ArcGIS na podlagi surovih podatkov, ki prihajajo kot oblike datotek Navstreets od TUKAJ (znane tudi kot Nokia in prej Navteq).

Šele pred nekaj leti ni bilo drugega načina za sestavljanje teh oblikovnih datotek v nabor podatkov omrežja, razen ročnega izvajanja veliko operacij in uporabe ArcObjects/Python. Na srečo je Esri objavil zbirko orodij za obdelavo podatkov Street, ki bi naredila prav to. Je brezplačen in podpira tako podatke Navteq Navstreets kot tudi TomTom Multinet.

Najprej sem bil nekoliko zaskrbljen, ker nisem bil prepričan, ali je orodje SDP sposobno zbrati res velike nabore podatkov, ki pokrivajo večji del Evrope in Severne Amerike. Vendar je šlo res dobro in v enem tednu so bili zbrani ogromni nabori podatkov. Uporabljal sem nekaj strojev, ki sem jih imel na voljo, vendar mi je kmalu zmanjkalo RAM -a. Moral sem uporabiti Amazon EC2 s precej zmogljivim primerkom. Najboljša praksa je, da poleg delovanja v 64-bitnem operacijskem sistemu in veliko RAM-a poskrbite tudi, da imate na sistemskem pogonu veliko začasnega prostora na disku (mapa temp se pogosto uporablja za shranjevanje začasnih podatkov ). Upoštevajte, da začasni prostor ni enak cilju destinacije za bazo podatkovnih zbirk izhodne datoteke, kjer bo ustvarjen nabor podatkov o omrežju, in se pogosto nahaja na naslovu C: Users \%username% AppData Local Temp . Nabor podatkov o omrežju ZDA+Kanada je bil sestavljen v 70 urah (uporabljen je bil primerek Amazon EC2 m2.2xlarge).

Zavedajte se, da orodij SDP ni mogoče zagnati z omogočeno obdelavo v ozadju, zato morate ustvariti in zagnati orodje prek modela ali orodja za skripte Python, če želite najprej zagnati nekatere operacije obdelave podatkov po meri. Ne pozabite izklopiti obdelave v ozadju v aplikaciji ArcGIS Desktop (Geoprocessing & gt Geoprocessing Options). Orodje Dissolve Network GP lahko zaženete, da dobite bolj sestavljen nabor podatkov o omrežju, ki bo deloval hitreje (ne pozabite zgraditi nabora podatkov o omrežju po razpadu), nato pa stisnite datotečno bazo podatkovnih zbirk z orodjem Compress Geodatabase GP, da bo manjša, hitrejša in branje -samo. Mrežni nabor podatkov v tej obliki (razpuščeno omrežje in stisnjena baza podatkovnih baz podatkov) deluje tako dobro kot SDC.

Ocenite to:


O teh orodjih BI

Ne glede na to, ali šele začenjate ali ste sredi iskanja, ste morda že slišali za Microsoft Power BI, Tableau in QlikView, saj so vse tri zelo priljubljene BI rešitve. Verjetno pa želite vedeti, kako se ujemajo drug z drugim in, kar je še pomembneje, v skladu z vašimi zahtevami BI. Na kratko si bomo ogledali pregled njihovih lastnosti in po čem so edinstveni.

Power BI

Microsoft Power BI je orodje za analizo in vizualizacijo podatkov, ki uporabnikom omogoča povezovanje z najrazličnejšimi viri podatkov ter ustvarjanje poročil in nadzornih plošč. Čeprav se je prvotno pojavil kot dodatek k programu Microsoft Excel, je Power BI od takrat postal samostojen kot ogromen izdelek, ki izpolnjuje potrebe vseh podjetij, od malih do velikih podjetij. Njegovi poudarki vključujejo nemoteno integracijo s tehnologijami Microsoft Office, zmogljivo pripravo podatkov in poizvedovanje po podatkih, ustvarjalnik vizualizacije podatkov povleci in spusti in nenehno brezplačno različico.

Tabela

Tableau je rešitev za vizualizacijo podatkov, ki s pomočjo interaktivnih nadzornih plošč in zgodb pomaga podjetjem, da svoje podatke spremenijo v dejanske vpoglede. Z visoko stopnjo prilagajanja in varnostnimi možnostmi uporabnikom ponuja precejšen nadzor nad pripovedovanjem podatkov. Z uporabniku prijaznim vmesnikom in intuitivnimi funkcijami povleci in spusti spodbuja uporabnike vseh ravni tehničnih spretnosti k ustvarjanju in raziskovanju vizualizacij podatkov. Čeprav je Tableau Desktop glavna ponudba, je del več različnih paketov, ki ga povezujejo z licenco za Tableau Server ali Tableau Online.

Qlikview

QlikView je platforma za odkrivanje in analizo podatkov podjetja Qlik Technologies, ki podjetjem pomaga pri sprejemanju odločitev na podlagi podatkov, tako da so vpogledi dostopni poslovnim uporabnikom. Zasnovan za hitro uvajanje in hitro konfiguracijo, se povezuje neposredno in črpa informacije iz skoraj vseh virov podatkov, nato pa uporabnikom omogoča, da analizirajo vse svoje podatke in ustvarijo vizualizacije, ki učinkovito prenašajo njegovo zgodbo. Njegove razlike vključujejo Qlik Associative Engine, ki indeksira vse možne odnose med podatki za hitrejši vpogled in omogoči asociativno analizo, nadzorno ploščo za upravljanje podatkov in čarovnike za opozorila, poročanje in drugo. Čeprav prodajalec spodbuja uporabnike k prehodu na njegovo platformo QlikSense v oblaku, še vedno zagotavlja posodobitve in podporo za QlikView, saj ostaja močan konkurent na področju poslovne inteligence.

To je le kratek povzetek teh treh voditeljev BI in njihovih značilnosti. Za več podrobnosti si oglejte njihove strani z izdelki in zahtevajte naš brezplačni vodnik po cenah.


Povezano:

  1. Več o bc in printf preberite v mojem odgovoru tukaj: https://stackoverflow.com/questions/12722095/how-do-i-use-floating-point-division-in-bash/58479867#58479867
  2. Ne spomnim se več, kje sem prvič izvedel za časovni ukaz, vendar je to morda prišlo iz odgovora @Trudberta tukaj.

Uporaba samo bash je možno tudi meriti in izračunati čas trajanja določenega dela skripta lupine (ali pretečeni čas celotnega skripta):

zdaj lahko natisnete samo razliko:

če potrebujete le postopno trajanje, naredite naslednje:

Trajanje lahko shranite tudi v spremenljivko:

Časovna funkcija, ki temelji na SECONDS, omejena samo na podrobnost druge stopnje, ne uporablja nobenih zunanjih ukazov:

Sprejeta rešitev z uporabo časa piše na stderr.
Rešitev, ki uporablja times, piše v stdout.
Rešitvam, ki uporabljajo $ SECONDS, manjka natančnost pod sekundo.
Druge rešitve vključujejo klic zunanjih programov, kot sta date ali perf, ki niso učinkoviti.
Če ste s katerim od teh v redu, ga uporabite.

Če pa potrebujete učinkovita rešitev da dobiš čas z milisekundno natančnostjo in jih potrebujejo v spremenljivke tako, da je prvotni izhod ostane nemoten zamenjavo postopkov lahko kombinirate s časovnimi preusmeritvami, kar je veliko hitreje kot pri klicanju zunanjih programov in omogoča preusmeritve okoli skripta ovitka časa, kot pri izvirnem ukazu/skriptu.

Izberite eno od naslednjih variant, ki razčlenjuje izhod časa, ki ustreza vašim potrebam:
Najkrajša varianta, kjer je stdout $ Cmd zapisan v stderr in nič v stdout:

Daljša varianta, pri kateri sta original stdout in stderr ločena drug od drugega:

Najbolj zapletena varianta vključuje zapiranje dodatnih deskriptorjev datotek, tako da se pokliče $ Cmd, kot da brez tega časovnega ovoja okoli njega, in ukazi lvm, kot je vgs, ne pritožujejo zaradi uhajanja deskriptorjev datotek:

V bashu lahko celo ponaredite dodatek s plavajočo vejico, ne da bi poklicali bc, kar bi bilo veliko počasneje:


Predstavitev rezultatov

Po pridobitvi primerjalnih rezultatov jih je običajno treba predstaviti na način, ki je znanstveno veljaven in razumljiv za ljudi. V tem razdelku bralca najprej spomnimo na osnovne, a pomembne formalne vidike, ki jih je treba upoštevati pri predstavitvi rezultatov meritev. Nato razpravljamo o različnih metodah, ki so primerne za primerjavo dveh ali več orodij.

Upoštevajte, da so bile vse vizualizacije referenčnih rezultatov v tem prispevku (ploskve iz oddelka 4 in tiste v tem razdelku) samodejno ustvarjene iz rezultatskih datotek BenchExec z uporabo paketa pgfplots paketa LaTeX. Opomba 33 Dokumentacija o tem, kako to doseči, je na voljo v skladišču BenchExec. Opomba 34

Zahtevane informacije

Za ponovitev poskusov je treba navesti nekaj informacij o nastavitvi primerjalne analize. Čeprav je na splošno nemogoče zagotoviti popolno specifikacijo primerjalnega stroja (npr. Vključno z različicami vsakega paketa v sistemu), je treba v opombi 35 navesti podatke, za katere se pričakuje, da bodo imeli največji možni vpliv na rezultate primerjalne analize. Običajno menimo, da to vključuje

Model procesorja in velikost RAM -a,

določene omejitve virov,

različica pomembnih programskih paketov, kot so jedra ali izvajalna okolja, kot je Java VM,

različico in konfiguracijo primerjalnega (-ih) orodja (-ov) in

različica merila uspešnosti (vhodne datoteke).

Za ponovljivost je poleg tega zahteva, da so primerjalna orodja in vhodne datoteke na voljo, na primer na dodatni spletni strani, kot dodatno gradivo v digitalni knjižnici založnika, opomba 36 ali v določenih spletnih skladiščih. Opomba 37 Priporočamo, da so na voljo tudi surovi rezultati primerjalnega merjenja in uporabljena orodja in skripti za vrednotenje podatkov, da se omogoči ponovitev ne le poskusa, ampak tudi analize podatkov.

Enote

Na splošno je priporočljivo uporabljati enote in predpone SI, kadar koli je to mogoče. Še posebej moramo biti pozorni na vrednosti, izmerjene v bajtih, na primer velikost pomnilnika ali datoteke. Predpone kilogram (k), mega (M), giga (G) itd. So opredeljene kot decimalne predpone, torej vedno predstavljajo faktor 1000 v primerjavi z naslednjo manjšo predpono. Na primer, en megabajt (MB) je točno 1 000 000 bajtov. Te napake je napačno uporabiti kot reprezentacijo za faktor 1024. Čeprav bi ta napaka povzročila napako že 2,4% za kilogram predpone, bi se napaka povečala na 4,9% za vrednosti s predpono mega in na 7,4% za vrednosti s predpono giga, ki bi se običajno obravnavala kot pomembna sistematična napaka.

Zaželena je uporaba skupnih decimalnih predpon kilo, mega itd. V primerih, ko so binarne predpone kibi, mebi, gibiitd., pri katerih so faktorji 1024 pogostejši (na primer za količine pomnilnika), te predpone je mogoče uporabiti tudi, če se uporabljajo pravilni simboli KiB, MiB, GiB itd. Upoštevajte, da se za predpono kilo kot simbol uporablja mala črka, za vse druge predpone, ki predstavljajo integralni faktor (vključno s kibijem), pa velika črka.

Pomembne številke

Ko pišete o rezultatih meritev ali predstavljate njihov pregled v tabelah, je pomembno določiti število pomembnih števk, ki jih je treba uporabiti v celotni predstavitvi. V tem kontekstu je pomembno, ali je predstavljena postavka podatkov nagnjena k napakam pri merjenju ali ne. Na primer, lahko ponudimo natančno številke za število nalog, ki jih reši orodje, ali za število vrstic vhodne datoteke. Zato je mogoče te številke podati s poljubnim, a fiksnim številom števk. Z natančnimi številkami je sprejemljivo tudi zaokroževanje podatkovnih elementov, da se omogoči bolj kompaktna predstavitev. Na primer, lahko dolžino vhodnega programa, izmerjeno v vrsticah kode (LOC), zaokrožimo na 1000 vrstic z enoto kLOC.

Za netočne številke in mere, na primer dobljene z merjenjem časa ali porabe pomnilnika, je to drugače. Določiti je treba, kako natančna je meritev, in vse rezultate prikazati s konstantnim številom pomemben števk glede na natančnost meritve. Največja napaka merjenja je lahko na primer 1 ali 0,1 ali 0,01%, kar bi privedlo do dveh, treh oziroma štirih pomembnih številk. Kot konkreten primer razmislite o merjenju časa s predpostavljeno natančnostjo 0,01%. Če izmerimo vrednost 43.2109 s, je treba to poročati s štirimi pomembnimi števkami kot 43.21 s, medtem ko bi bila vrednost 432.1098 s prikazana kot 432.1 s. Velika in majhna števila (npr. 43210 in 0,04321 s) je treba dopolniti z (nepomembnimi) nič števkami. Ker samo iz števila 43210 s ni jasno, ali ima 4 ali 5 pomembnih številk, je treba število pomembnih števk izrecno navesti za vsako vrsto merjenja. Temu se lahko izognemo z uporabo znanstvenih zapisov (npr. (4.321 krat 10^<4> ) s), vendar je to za človeške bralce morda težje razlagati.

Upoštevajte, da je število pomembnih števk neodvisno od uporabljene enote, poročane vrednosti pa vsebujejo popolnoma enako količino informacij, ne glede na to, v kateri enoti so.

Ne bi smeli uporabiti naivnega pristopa zaokroževanja vseh številk na določeno količino decimalnih mest (npr. 4,321 in 0,043 s). Prvič, pri velikih številkah to doda preveč števk z nepomembnim šumom in bralca lahko privede do napačnih zaključkov o natančnosti meritve. Drugič, pri majhnih številkah to vodi do velike napake pri zaokroževanju, ki je lahko za velikosti večja od napake merjenja.

Primerjava povzetih rezultatov: rezultati in uvrstitve

Pogosto je treba na kvantitativni način povzeti dosežke dveh ali več različnih orodij ali konfiguracij orodij. Način, kako je to mogoče, je odvisen od okoliščin, kot so raziskovalno področje in cilj eksperimentalnega vrednotenja. V nadaljevanju razpravljamo o povzemanju rezultatov za primere, ko je rezultat orodja za vhodno datoteko mogoče kategorizirati kot pravilen, napačen ali nedokončan (kot je običajno pri računalniško podprtem preverjanju), torej zanemarimo primere s kvantitativnim orodjem rezultate (npr. kakovost približka). Nedokončni rezultati so primeri, ko je orodje obupalo, zrušilo ali preseglo omejitve virov.

V nekaterih skupnostih velja, da je napačen rezultat nesprejemljiv, na primer v SAT-COMP [1]. V tem primeru so orodja z napačnimi rezultati izključena in orodja brez napačnih rezultatov lahko primerjamo s številom pravilnih rezultatov. Nekoliko manj stroga alternativa je razvrščanje orodij tako, da najprej primerjamo število napačnih rezultatov, v primeru neodločenosti pa število pravilnih rezultatov. To na primer SMT-COMP uporablja od leta 2012 [13].

Včasih je zaželeno, da se opredeli en sam ukrep, ki povzame število pravilnih in napačnih rezultatov, ne da bi na primer orodja z napačnimi rezultati pretirano kaznovali, ker bi lahko vsa razpoložljiva orodja povzročila napačne rezultate. Za to je mogoče uporabiti točkovalno shemo in za vsako orodje izračunati eno samo točko. Tipična shema točkovanja je naslednja: za vsak pravilen rezultat se dobijo pozitivne točke, za vsak nedokončan rezultat se dobi nič točk, za vsak napačen rezultat pa negativne točke [3]. Količina negativnih točk na napačen rezultat je večja od zneska pozitivnih točk na pravilen rezultat, da se kaznujejo napačni rezultati. Na primer, v SV-COMP'17 za vsak pravilen rezultat dobimo eno ali dve točki, za vsak napačen rezultat pa −16 ali −32 točk. Upoštevajte, da se v tej skupnosti nekatere naloge ali rezultati (varnostni dokazi) štejejo za težje od drugih in vodijo do večjega števila točk, nekatere oblike napačnih rezultatov (neutemeljeni rezultati) pa za slabše od drugih in vodijo do višje kazni .

Ker opredelitev točkovalne sheme močno vpliva na razvrščanje in predstavitev rezultatov ocenjevanja, je treba točkovalno shemo uporabiti le, če jo skupnost na splošno sprejme, na primer s sprejetjem na tekmovanju na tem področju. Pomembno je, da poleg rezultatov vedno navedete tudi surovo število pravilnih in napačnih rezultatov (po možnosti dodatno razvrščenih v neskladne in nepopolne rezultate).

Tabele

Predstavitev in primerjava številskih podatkov z uporabo tabel je preprost pristop. Avtorji bi morali upoštevati zgornje predloge glede izbire enot in se držati določenega števila pomembnih številk. Slednje pogosto povzroči situacije, ko imajo različne celice istega stolpca različno število decimalnih mest, kar je sprva morda bralcu nasprotno. Če pa so podatki v stolpcih poravnani z decimalno vejico, postane predstavitev že na prvi pogled intuitivna, ker večja kot je vrednost, večja je v levo, manjša kot je vrednost, bolj se pomakne v desno. Uporaba znanstvenih zapisov bi bila tudi možnost, vendar je spet primerjava vzdolž vrstice ali stolpca manj intuitivna, saj bi imeli vsi vnosi enako dolžino. Tabela 1 prikazuje primerjavo različnih formatov. Prvi stolpec z oznako »fiksna decimalna mesta« vsebuje vse številke, zaokrožene na enako število decimalnih mest. Kot je opisano zgoraj, je to napačno zaradi napak pri zaokroževanju in merilnega hrupa. Preostali stolpci prikazujejo pravilne načine predstavitve merilnih vrednosti (s štirimi pomembnimi števkami), vendar se razlikujejo glede na njihovo berljivost in zlasti glede na možnost vizualne primerjave velikosti številk. Številke, poravnane desno in znanstveni zapis, lahko otežijo razlikovanje med vrednostmi, kot sta 123,5 in 12,35, ki se pojavljata podobno, vendar se razlikujejo po vrstnem redu velikosti. Za številke, poravnane na decimalnem ločevalniku (kot v zadnjem stolpcu), vrstni red vsake vrednosti ustreza njenemu vodoravnemu položaju v celici, kar bralcu omogoča hiter vizualni pregled rezultatov. Upoštevajte, da spuščamo začetno ničlo za vrednosti, manjše od 1, tako da se ta učinek poveča. Priporočeno zaokroževanje in poravnavo je mogoče samodejno izdelati v tabelah LaTeX s paketi, kot sta siunitx Opomba 38 in pgfplotstable. Opomba 39 Slednja celo podpira ustvarjanje pravilno oblikovanih tabel neposredno iz surovih datotek CSV v enem koraku.

Seveda je zaradi prostorskih težav tabele mogoče uporabiti le za majhno število rezultatov. Za večje število rezultatov, na primer za stotine ali tisoče vhodnih datotek, so lahko prikazani samo povzeti podatki, celoten niz rezultatov pa je treba dati na voljo v drugi obliki, na primer na dodatni spletni strani ali kot dodatno gradivo v digitalno knjižnico. Poleg prikaza povzetih podatkov je dodatna možnost prikazati tudi izbor najbolj zanimivih rezultatov, kot je n najboljši in najslabši rezultat Opomba 40 ter uporabo ploskev za vizualizacijo velikega števila rezultatov. Prednost ploskev je v tem, da ta oblika predstavitve za ljudi običajno omogoča hitro razumevanje podatkov. Slaba stran je, da je majhne razlike med rezultati težje ali nemogoče ugotoviti. Če pa primerjamo niz sto ali tisoč tekov, je treba takšne podrobnosti vseeno žrtvovati in povzeti. Poleg tega je diagram dobesedno boljši od tabele in je zato bolj primeren za primerjavo velikih podatkovnih nizov.

Razpršene ploskve

Za primerjavo dveh stolpcev sorodnih rezultatov, na primer časovnih rezultatov za dve različni orodji za skupni nabor vhodnih datotek, lahko za dober pregled uporabite razpršene ploskve. Razpršeni grafikoni so narisani na dvodimenzionalni koordinatni sistem z dvema osema, ki predstavljata dva stolpca rezultatov (običajno iste enote in območja). Za vsako vhodno datoteko obstaja ena podatkovna točka z rezultatom prvega orodja ali konfiguracije x-vrednost in rezultat drugega orodja ali konfiguracije kot njegove y-vrednost. Primer razpršenega grafikona z rezultati časa CPU za dve različni orodji je prikazan na sliki 8. Podatkovno točko smo poudarili pri (16, 1.1), kar pomeni, da obstaja vhodna datoteka, za katero je orodje 1 potrebovalo 16 s CPU čas in orodje 2 sta potrebna 1,1 s.

Primer razpršenega grafikona, podatki iz dveh orodij kategorije »DeviceDrivers64« SV-COMP'15 [5]

Podatkovne točke na diagonali prikazujejo primere, kjer imata oba orodja enako vrednost, podatkovne točke v spodnji desni polovici ploskve (pod diagonalo) pa primere, ko je vrednost orodja prikazana na y-os je nižja in podatkovne točke v zgornji levi polovici ploskve (nad diagonalo) prikazujejo primere, ko je vrednost orodja prikazana na x-os je nižja, razdalja podatkovne točke od diagonale pa je povezana z razliko med rezultati. To bralcu omogoča preprost hiter pregled rezultatov z ogledom porazdelitve podatkovnih točk po obeh polovicah. Za dodatno pomoč so diagonalne in nadaljnje vzporedne črte (na primer funkcije (y = x+10 ) in (y = x-10 ) ali (y = 10x ) in (y = frac<10> ) na logaritemski ploskvi) je mogoče dodati ploskvi.

Pomanjkljivost razpršenih ploskev v primerjavi s tabelo je, da ni mogoče videti, katero vhodno datoteko predstavlja vsaka podatkovna točka. Prav tako ni mogoče prikazati rezultatov za vhodne datoteke, pri katerih eden od rezultatov manjka. Podatkovne točke, kjer vsaj ena komponenta ustreza napačnemu ali nedokončnemu odgovoru, je treba tudi izpustiti. V nasprotnem primeru bi se lahko zgodilo, da bi se v razpršenem časovnem načrtu orodje z veliko hitrimi, a napačnimi rezultati ali hitrimi zrušitvami vizualno zdelo "boljše" kot drugo orodje s počasnejšimi, a pravilnimi rezultati, česar se je treba izogibati. Izjema od tega pravila so rezultati časovne omejitve v razpršenih grafikonih časovnih rezultatov, ki jih je treba prikazati s časom, ki je enak časovni omejitvi, in voditi (če je prisotnih v velikem številu) do značilnih grozdov na vrhu ali desno od grafikona. Tako so razpršeni grafikoni še posebej primerni za primere, ko število napačnih ali nedokončnih rezultatov (razen časovnih omejitev) ni pomembno. V drugih primerih mora biti jasno, da grafikon prikazuje le podmnožico rezultatov in da lahko to povzroči popačeno sliko (npr. Če je eno orodje še posebej dobro za vhodne datoteke, pri katerih se drugo orodje zruši, te podatkovne točke manjkajo ).

Razpršeni grafikoni podpirajo primerjavo le dveh stolpcev rezultatov. Včasih lahko dodate več informacij, tako da ustrezno obarvate vsako podatkovno točko. Vendar je treba paziti, da so ključni podatki še vedno na voljo v črno-belih izpisih. One use case for a colored scatter plot is to indicate how many results each data point represents, if for example the axes are discrete and there would be cases with many data points at the same coordinates. An example for such a plot can be seen in Fig. 9. For comparing more results, either several scatter plots or different forms of plots should be used.

Quantile plots

Quantile plots (also known as cactus plots) are plots where the data points represent which quantile (x-value) of the runs need less than the given measure (y-value). Technically, each graph is produced by sorting the data points according to their y-vrednost. This leads to a plot where each graph represents the performance of one tool and the graph is monotonically increasing. Only data points for correct results are shown, and quantile plots are typically used to present time results. Figure 10 shows an example quantile plot with the results of eight tools for 46 input files. The highlighted data point at (21, 5.4) means that Tool 5 produced 21 correct results in at most 5.4 s each and took longer than 5.4 s for its remaining results.

Example scatter plot with color of data points indicating the number of runs each data point represents

In a quantile plot, the right-most x-value of each graph corresponds to the number of correct results that the respective tool produced. The area under each graph roughly indicates the sum of the run times for all correct results of the tool. Thus, in general, a tool could be considered “better” the further to the right its graph stretches and the lower it is. Furthermore, the slope of a graph may indicate how the tool scales for more difficult tasks. Sometimes, the shape of a graph also gives some further indications. For example, the fact that a tool employs a sequential combination of different strategies and switches strategies after some internal time limit is often recognizable by a characteristic kink in the graph at that time limit. The y-value of the left-most data point of a graph often shows the startup time of the tool. Tools that use a virtual machine, e.g., tools programmed in Java, typically have a slight offset here.

Compared to a scatter plot, quantile plots have the advantage that they can visualize an arbitrary number of result columns, and that data points for all correct results of each tool can be shown (and not only for the intersection of correct results), which means that it also shows the effectiveness of each tool and not only its (partial) efficiency. The disadvantage, however, is that there is no relation between the different graphs and no information regarding how the tools compare on a specific input file. In fact, with a quantile plot it could well happen that the graphs of two tools are similar or identical, but there is not a single input file for which the two tools produced a similar result.

Example quantile plot, data taken from category “Simple“ of SV-COMP’15 [5]

Variants of quantile plots

While quantile plots show the number of correct results, they still lack the number of incorrect results. A tool with many correct in incorrect results could misleadingly appear “better” than a tool with a lower number of correct results and no incorrect results. This can be avoided by shifting the graph of each tool to the left by the amount of incorrect results. Now the number of incorrect results is visible in the plot as the negative x-offset of the graph, the number of correct results is visible as the x-length of the graph, and their difference is visible as the x-value of the right-most data point. However, this gives the visual indication that an incorrect result and a correct result are somehow of similar importance and cancel each other out, which may not be desired.

Example score-based quantile plot, data taken from category “Simple“ of SV-COMP’15 [5]

This problem can be avoided with a score-based quantile plot as introduced by SV-COMP’13 [4], if a scoring scheme for summarized results is available (cf. Sect. 7.4). In such a plot, a data point (x, y) means that the sum of the scores for all incorrect results and the sum of the scores of all correct results that were faster than y seconds is x. Thus, for example, a correct result with score 2 makes the graph stretch further to the right (and appear “better”) than a correct result with the same time but score 1.

In a score-based quantile plot, the accumulated score for all incorrect results is visible as the graph’s left-most x-value, the accumulated score for all correct results is visible as the x-length of the graph, and the total score for all results is visible as the x-value of the right-most data point. The general intuition that a graph that is lower and further to the right is “better” still holds. An ideal tool with no wrong results would have its graph start with a positive x-offset.

As example, Fig. 11 shows a score-based quantile plot for the same results as Fig. 10. The highlighted data point corresponds to the same result in both figures, but in Fig. 11 it is drawn at (25, 5.4) because, for the 21 correct results produced by Tool 5 in at most 5.4 s, there were 25 points awarded (and the tool did not produce any wrong answers). This shows how the relative weighting of the results affects the graphs. The influence of incorrect results can be seen, for example, at the graphs of Tool 2, Tool 4, and Tool 6, especially when compared with Tool 3 (cf. the right end of their graphs).


30.9. File Transfer Protocol (FTP)

The File Transfer Protocol (FTP) provides users with a simple way to transfer files to and from an FTP server. FreeBSD includes FTP server software, ftpd, in the base system.

FreeBSD provides several configuration files for controlling access to the FTP server. This section summarizes these files. Refer to ftpd(8) for more details about the built-in FTP server.

30.9.1. Konfiguracija

The most important configuration step is deciding which accounts will be allowed access to the FTP server. A FreeBSD system has a number of system accounts which should not be allowed FTP access. The list of users disallowed any FTP access can be found in /etc/ftpusers . By default, it includes system accounts. Additional users that should not be allowed access to FTP can be added.

In some cases it may be desirable to restrict the access of some users without preventing them completely from using FTP. This can be accomplished be creating /etc/ftpchroot as described in ftpchroot(5). This file lists users and groups subject to FTP access restrictions.

To enable anonymous FTP access to the server, create a user named ftp on the FreeBSD system. Users will then be able to log on to the FTP server with a username of ftp or anonymous . When prompted for the password, any input will be accepted, but by convention, an email address should be used as the password. The FTP server will call chroot(2) when an anonymous user logs in, to restrict access to only the home directory of the ftp user.

There are two text files that can be created to specify welcome messages to be displayed to FTP clients. The contents of /etc/ftpwelcome will be displayed to users before they reach the login prompt. After a successful login, the contents of /etc/ftpmotd will be displayed. Note that the path to this file is relative to the login environment, so the contents of


API design changes¶

The following are some of the high level changes you would notice in the version 1.0 of the API. You might have to update your notebooks and scripts and we apologize for this inconvenience.

  • Various layer types in arcgis.lyr module are now in their own separate modules such as arcgis.features , arcgis.raster , arcgis.network etc.
  • arcgis.viz is now arcgis.mapping with additional support for vector tiles, map image layers
  • Tools in arcgis.tools are accessible as functions in the corresponding layer modules. This allows a better grouping and presentation of tools making them available right alongside the layer types they process. For instance, the feature analysis tools available earlier as arcgis.tools.FeatureAnalysisTools is now arcgis.features.analyze_patterns , arcgis.features.enrich_data etc.
  • Big data analysis tools available earlier as arcgis.tools.BigData is now in a separate module arcgis.geoanalytics .

Poglej si posnetek: АСБ 3х3 в Нижнем Новгороде