Protokolas „7 vaizdai. Turbo-Suslik protokolas „12 idėjų, kurios trukdo gyventi“

20.04.2023

Testavimas

Rorschacho testas

PARAŠO ANALIZĖS ALGORITMAS

Jei analizė atliekama dalyvaujant tiriamajam, turėtumėte paprašyti jo parašyti horizontalios linijos atžvilgiu - ______, tai būtina, pavyzdžiui, analizuojant naudojant faktorių Nr.

Be to, jei subjektas turi ne vieną parašą, o dvi ar daugiau veislių, tuomet patartina turėti visas. Toliau:

A) Ant atskiro popieriaus lapo turite turėti visą šioje brošiūroje pateiktų veiksnių sąrašą.

2. Parašo ilgis.

3. Parašo pradžia ir pabaiga.

4. Raidžių ilgis (didžiosios ir mažosios).

5. Raidžių apvalumas ir aštrumas.

6. Raidžių sujungimas ir atjungimas.

7. Pasitikėjimas rašant laiškus.

8. Įvairios dekoracijos paraše.

9. Šlavimas rašant laiškus.

10. Tarpas tarp raidžių.

11. Spaudimas rašant raides.

12. Pabraukimai, „uodegos“ parašuose, perbraukimai.

13. Vertikalios linijos paraše.

14. Lygus ir nelygus parašas.

15. Įvairios kilpos paraše.

16. Taškas paraše.

17. „Įkelti“ paraše.

18. Identiški parašo elementai.

19. Aiškumas.

20. Užsienio raidės paraše.

21. Grafologiškumas paraše.

22. Parašo paprastumas.

21. Rašymo greitis.

22. Raidžių pasvirimas paraše.

25. Parašo harmonijos laipsnis.

26. Skirtingi parašų tipai tam pačiam asmeniui.

27. Parašas keičiasi laikui bėgant.

28. „Grąžina“ paraše.

29. Nenormalūs ženklai paraše.

30. Parašo banguotumas.

31. Geometrinis parašo nuoseklumas.

32. Išplėstinė pradžia paraše.

33. Parašo amplitudė.

34. Kombinatorika paraše.

35. Simetrijos ženklai paraše.

36. Skaitmeniniai papildymai parašo pabaigoje.

B) Paimkite tuščią popieriaus lapą ir paeiliui surašykite analizės išvadas, padarytas pagal minėtus veiksnius. Jei paraše trūksta kokių nors veiksnių, tada jie tiesiog praleidžiami, tada daroma apibendrinta galutinė išvada, atsižvelgiant į bet kokių veiksnių abipusį sustiprinimą arba, atvirkščiai, jų tarpusavio susilpnėjimą.

Šis galutinis rezultatas pateikiamas subjektui.

Aukščiau yra viena spalvingiausių, labai detalių Rorschach testų diagramų. Jokių interpretacijų neteikiame, todėl norintiems suteikiama galimybė išbandyti save. Žemiau yra Rorschacho testo III lentelė. Žemiau pateikiamos trys neįprastos interpretacijos. 1. Tiriamasis (šizofrenija sergantis pacientas su ūminiais jutimo kliedesiais) viename atsakyme sujungia centrinę raudoną dėmę, apatinę juodąją sritį ir tarp jų esantį baltą tarpą. Visame tame jis matė „lokį puode“. Akivaizdūs trys keistenybės: neįprastos konfigūracijos dėmių identifikavimas; figūros ir žemės poslinkis; pačios situacijos nelogiškumas. 2. Kitas tiriamasis (ekscentrikas) toje pačioje lentelėje nustatė tik tris raudonas dėmes: „plaukų sruogos“ ir „peteliškė“. Jis nubrėžė juos į „žmogų“. Vaizdas pastatytas baltoje erdvėje virš stalo ir tęsiasi už jos ribų. 3. „Laidotuvių bučinys“ – būtent taip šizofrenija sergantis pacientas, sergantis ūmiu jutiminiu kliedėjimu, interpretavo stalą, pasuktą 180°. Dėmėse ji pamatė tris žmones: centre „mirusią senutę“ (raudona kaspinu papuoštoje drobulėje) ir du „giminaičius“, bučiuojančius ją. „Senos ponios kūno“ kontūrai neatitinka dėmių kontūrų. Ekspertai tokius aiškinimus apibrėžia kaip neaiškios formos atsakymus. Interpretacija atspindi paciento nerimą.


Prieš pradedant testavimą, tiriamajam paaiškinama būsimo tyrimo esmė – jam paeiliui bus pateikiami vaizdai stimulo kortelėse ir jis turi pasakyti, ką mato kiekvienoje kortelėje.

Tada tiriamasis klauso tyrimo instrukcijų, kurias sudaro vienas sakinys: „Kas tai galėtų būti? Kartu su nurodymais jis gauna I kortelę. Tiriamasis pateikęs visus atsakymus į pirmąją kortelę, jis savarankiškai paima kitą kortelę ir taip iki paskutinės. Visi testo dalyvio atsakymai, komentarai ir klausimai testavimo metu įrašomi pažodžiui. Kai tiriamasis pateikia paskutinį atsakymą X kortelėje, atliekama pokalbio procedūra. Apklausos metu išsiaiškinama: kiekvieno atsakymo lokalizacija, turinys ir tie dėmės ypatumai, kurie buvo atsakymo formavimo pagrindas.

Tyrimo protokolą sudaro tiriamojo atsakymų įrašai testavimo proceso metu. Pagrindinis tyrimo dėmesys skiriamas galiojančio protokolo gavimui. Galiojantis protokolas yra protokolas, kuriame yra ne mažiau kaip 14 atsakymų ir kuriame yra išsami ir teisingai surinkta apklausos medžiaga, kuri bus naudojama apdorojimo etape.

Testavimo protokolo apdorojimas apima atsakymų kodavimo ir rodiklių skaičiavimo procedūrą. Kodavimo procedūra apima kiekvieno atsakymo žymėjimą formule, kurią sudaro kelios simbolių kategorijos. Šios kategorijos atspindi tiriamojo atsako ypatybes, susijusias su stimulo taško, į kurį buvo pateiktas atsakymas, struktūrinėmis ypatybėmis. Kiekviena kategorija turi savo kodavimo simbolių rinkinį. Nemažai kategorijų įforminamos naudojant specialias lenteles, kuriose yra lentelės, skirtos įprastoms ir neįprastoms detalėms, atsakymo formos lygiui ir organizacinei veiklai nustatyti. Pagrindinių kategorijų sąrašas ir trumpos jų charakteristikos pateiktos 1 lentelėje.

Naudojant kiekvieną simbolį reikia griežtai laikytis specialių taisyklių ir kodavimo algoritmų. Visus atsakymus užkodavus atitinkamais simboliais, atsakymų formulės perkeliamos į specialią formalizuotą protokolo formą. Suformavus formalizuotą protokolą, atliekami skaičiavimai. Ši procedūra pirmiausia apibendrina visus kiekvienos kategorijos simbolius. Tada šie bendri duomenys perskaičiuojami naudojant specialias formules į skalės reikšmes, kurios yra tiesiogiai interpretuojamos. Šios skalės yra koeficientai, procentai, išvestinės išvestinės priemonės ir sudėtingi indeksai, kurių kiekviena taip pat turi savo simbolį. Skaičiavimo rezultatai įvedami į Struktūrinę psichologiją, kurią sudaro trys skyriai. Pirmajame skyriuje, pavadintame „Įvesties duomenys“, įrašomos bendros simbolių reikšmės iš protokolo.

Apatinėje dalyje „Koeficientai, procentai ir išvestinės“ įvedamos specialiomis formulėmis apskaičiuotos aiškinimo skalių reikšmės. Ši psichogramos dalis turi klasterinę struktūrą, nes visos Integracinės sistemos interpretacinės skalės yra sugrupuotos į grupes, apibūdinančias pagrindines psichinės veiklos sritis. Trečioje skiltyje „Sudėtiniai indeksai“ nurodomi sudėtingų indeksų įverčiai, kurie nustatomi remiantis kelių skalių reikšmėmis vienu metu.

Dokumentacijos palaikymas valdymui

Kontrolė

4 variantas

1. Protokolas, protokolų rūšys, dizaino ypatumai 4

2. Išsiųstos korespondencijos apdorojimas 9

3. Surašyti turto nurašymo aktą 11

4. Parašykite atmintinę 12

Bibliografija 14

1. Protokolas, protokolų rūšys, projektavimo ypatumai

Protokolas yra dokumentas, kuriame užfiksuota kolegialių organų posėdžių, konferencijų ir posėdžių diskusijų ir sprendimų priėmimo eiga.

Protokolo ypatybė yra ta, kad juo dokumentuojama kolegialių organų veikla: laikinieji (posėdžiai, konferencijos, posėdžiai, komisijos) ir nuolatiniai (ministerijų kolegijos ir komitetai, mokslo įstaigų akademinės tarybos, prezidiumai).

Už protokolų rengimą ir vykdymą atsako atitinkamų kolegialių organų (eilinių arba renkamų darbo metu) sekretoriai. Sekretorius kartu su kolegialaus organo pirmininku atsako už protokole pateiktos informacijos teisingumą. Protokolas surašomas ranka, įskaitant posėdžio stenografinius ar juostinius įrašus, taip pat susirinkimui parengtus dokumentus: darbotvarkę, pranešimų ir kalbų tekstus ar tezes, sprendimų projektus.

Pagrindiniai protokolų tipai:

    Trumpas protokolas – fiksuojami posėdyje svarstyti klausimai, pranešėjų pavardės ir priimti sprendimai. Jį rekomenduojama vesti tais atvejais, kai susirinkimas yra operatyvinio pobūdžio.

    Pilname protokole surašomi ne tik svarstyti klausimai, priimti sprendimai ir pranešėjų pavardės, bet ir pakankamai detaliai surašytas susirinkimo dalyvių pranešimų ir pasisakymų turinys.

    Stenografinis protokolas sudaromas remiantis stenografine posėdžio ataskaita (stenograma) ir pažodžiui perteikia kiekvieno klausimo aptarimo ir sprendimo dėl jo rengimo eigą.

Protokolas surašomas ant organizacijos firminio blanko, jame nurodomi šie rekvizitai: organizacijos pavadinimas, dokumento rūšies pavadinimas, susirinkimo data, protokolo numeris, protokolo surašymo vieta (susirinkimo vieta), pavadinimas. tekstas, tekstas, parašai, susipažinimo vizos. Protokolo teksto pavadinimas – fiksuojamo įvykio (posėdis, posėdis, posėdis) pavadinimas ir kolegialaus organo, kurio darbas fiksuojamas, pavadinimas.

Protokolo tekstas susideda iš dviejų dalių: įvadinės ir pagrindinės. Įžanginėje protokolo teksto dalyje turi būti nurodyta: kas vedė fiksuojamą įvykį; kas vedė protokolus; kas dalyvavo posėdyje (posėdyje, posėdyje ir kt.) iš pareigūnų, įtrauktų į kolegialų posėdį vedantį organą; kas buvo pakviestas (jei reikia) į susirinkimą iš organizacijos darbuotojų ar kitų organizacijų; kokie klausimai buvo aptarti posėdyje.

Informacijoje apie posėdžio vadovą, sekretorių ir susirinkusiuosius nurodomos pareigūnų pavardės ir inicialai, atitinkamai nurodomi po žodžių: „Pirmininkas“, „Sekretorius“, „Dalyvaujantis“ (be kabučių). Asmenims, papildomai kviečiamiems į susirinkimą iš organizacijos darbuotojų, be pavardės ir inicialų nurodomos einamos pareigos, o specialistams iš kitų organizacijų - pareigos ir organizacijos pavadinimas. Informacija apie žmones, pakviestus į susitikimą, gali būti pateikta skiltyje „Dalyvauta“ arba specialioje „Pakviestieji“.

Tokiuose kolektyviniuose renginiuose, kaip susirinkimai, dažnai būna daug dalyvių, kurių išvardijimas protokolo teksto įžanginėje dalyje yra netinkamas. Tokiu atveju sudaromas atskiras posėdyje dalyvaujančių asmenų sąrašas ir vėliau pridedamas prie protokolo.

Pačiame protokole, skiltyje „Dalyvaujantys“, nurodomas tik bendras dalyvaujančiųjų skaičius su nuoroda į pridedamą sąrašą. Pabrėžtina, kad skyriai „Dabar“ ir „Kviečiami“ yra ypač svarbūs kitų protokolo skilčių atžvilgiu, nes jie tiesiogiai įtakoja šio dokumento teisinę galią, parodantį kolektyvinio renginio rengimo teisėtumą. Šios sekcijos atspindi susirinkimo kvorumo buvimą, t.y. minimalų reikalingą kolegialaus organo narių skaičių, pakankamą susirinkimo (susirinkimo, susirinkimo) darbui pradėti. Nesant tam tikram kolegialiam organui normatyviškai nustatyto kvorumo (paprasta balsų dauguma arba 2/3), susirinkimo surengimas yra nepriimtinas, nes jo sprendimai bus neteisėti. Iš spausdinimo įrenginio nulinės padėties spausdinami žodžiai „Pirmininkas“, „Sekretorius“, „Dabartinis“, „Pakviestas“, iš 2 pozicijos dedamas brūkšnys, pavardės rašomos vardininku, tada dedami inicialai. Susirinkusiųjų ir pakviestųjų vardai išdėliojami abėcėlės tvarka ir spausdinami 1 eilučių tarpu.

Posėdyje svarstyti klausimai surašyti DARBOTVARKĖS skyriuje. Žodžiai AGENDA spausdinami iš spausdinimo įrenginio nulinės padėties, po kurių rašomas dvitaškis. Darbotvarkės klausimai sunumeruoti. Kiekvienas naujas klausimas spausdinamas iš 1-os lentelės pozicijos. Klausimų išdėstymo tvarka nustatoma pagal jų svarbą. Darbotvarkės punktų formulavimas turėtų prasidėti prielinksniais apie (apie), pareigų pavadinimas ir kalbėtojo pavardė nurodomi kilmininko linksniu. Pagrindinė protokolo teksto dalis sudaryta pagal darbotvarkės klausimus. Kiekvieno darbotvarkės klausimo svarstymo įrašo struktūra vykdoma pagal tokią schemą: KLAUSĖS KALBĖJO NUSPRENDĖ (NUSPRENDĖ). Šie žodžiai spausdinami didžiosiomis raidėmis. Prieš žodį KLAUSYTA rašomas darbotvarkės punkto numeris, po kurio – dvitaškis. Kalbėjo pavardė spausdinama vardininku nuo 1-os spausdinimo įrenginio padėties; Po pavardės jie deda inicialus, tada brūkšnį ir pranešimo turinį rašo didžiąja raide tiesiogine kalba. Jei pranešimo (kalbos) tekstas perrašomas arba pateikiamas kalbėtojo raštu, tai po brūkšnio didžiosiomis raidėmis (protokole be kabučių) rašoma ir „Pranešimas pridedamas“.

Prieš pranešimo aptarimą gali būti pateikiami klausimai pranešėjui, kurie kartu su atsakymais pateikiami skyriuje KLAUSYTI. Prieš įrašant kiekvieną klausimą, nurodomi jo autoriaus inicialai, pavardė, pareigos ir dedamas brūkšnys. Klausimo turinys rašomas didžiosiomis raidėmis tiesioginės kalbos forma. Prieš formuluodami atsakymą, parašykite žodį „Atsakymas“ (protokole be kabučių), įdėkite brūkšnelį ir atsakymą parašykite tiesiogine kalba. Pranešimo svarstymo eiga atsispindi skiltyje KALBĖJAI. Po žodžio SPOKE dedamas dvitaškis. Kalbėjo pavardė rašoma vardininku nuo 1-os spausdinimo įrenginio padėties, tada nurodomi kalbėtojo inicialai ir padėtis, dedamas brūkšnys ir didžiosiomis raidėmis netiesioginės kalbos forma spausdinamas kalbos turinys. .

Priimti sprendimai pateikiami skyriuje NUSPRĘSTA (NUSPRĘSTA). Jei yra keli sprendiniai, jie numeruojami arabiškais skaitmenimis su tašku. Paprastai prie kiekvieno sprendimo nurodoma už jo įgyvendinimą atsakingo asmens pareigos, pavardė ir inicialai bei nurodomas įvykdymo terminas. Dėl kolektyviai priimamų sprendimų dažnai reikia balsuoti. Tokiu atveju po skyriaus NUTARTA nurodoma: „Balsavo“ arba „Balsavo“ (protokole be kabučių) ir pateikiami balsavimo rezultatai: vienbalsiai arba už..., prieš..., susilaikė. ..

Praktikoje dažnai naudojamos sutrumpintos ir trumposios protokolų formos, kai nereikia detaliai fiksuoti klausimų aptarimo eigos. Sutrumpintuose protokoluose po dalyvaujančiųjų ar kviečiamųjų sąrašo nurodomas darbotvarkės klausimo eilės numeris ir atspausdinamas pranešimo pavadinimas. Paskutinė pranešimo pavadinimo eilutė (darbotvarkės klausimas) pabraukta, o po eilute (skliausteliuose) spausdinami pranešėjų vardai ir pavardės jų pristatymo tvarka. Kiekvienos ataskaitos pavadinimas baigiamas protokoliniu sprendimu arba nutarimu. Trumpos formos protokole nurodomi tik svarstyti klausimai ir priimti sprendimai. Rezoliucinėje protokolo teksto dalyje gali būti išlyga dėl bet kurio dokumento patvirtinimo. Tokiu atveju patvirtintas dokumentas pridedamas prie protokolo ir turi nuorodą į jo numerį ir datą. Praktikoje labai dažnai tenka daryti išrašus iš protokolų. Protokolo ištraukoje yra ši informacija:

    visi protokolo antraštės dalies duomenys: organizacijos pavadinimas, dokumento rūšies pavadinimas (PROTOKOLO IŠRAŠAS), data (susirinkimo data), protokolo numeris (susirinkimo eilės numeris), rengimo vieta ( susirinkimo vieta);

    teksto pavadinimas;

    visi protokolo teksto įvadinės dalies rekvizitai: „Pirmininkas“, „Sekretorius“, „Dabartinis“, „Kviestiniai“, „DARBOTVARKĖ“;

    atskiri protokolo teksto pagrindinės dalies rekvizitai: „KLAUSĖ“, „NUSPRENDĖ“, „Balsavo“;

    formaliosios protokolo dalies rekvizitai: rekvizitai „Parašas“, įskaitant žodžius „pirmininkas“, „sekretorius“, pirmininko ir sekretoriaus inicialus ir pavardes (be jų asmeninių parašų, nes išrašai paprastai nepasirašomi originalu). parašai, bet yra patvirtinti sekretoriaus); pastaba dėl kopijos patvirtinimo.

Taigi iš protokolo turinio paimti tik tie elementai, į kuriuos reikia atkreipti suinteresuotų pareigūnų dėmesį. Nustatytiems faktams ir įvykiams patvirtinti keli asmenys surašo aktą. Aktai surašomi pagal įmonės ar jos struktūrinio padalinio ir atskirų pareigūnų veiklos audito, bylų priėmimo ir perdavimo, dokumentų rengimo naikinti, objektų priėmimo eksploatuoti metu rezultatus.

„Chrome“ galima sukonfigūruoti atidaryti specialias nuorodas naudojant atitinkamas žiniatinklio paslaugas. Nors dauguma nuorodų nukreipia į kitus tinklalapius, yra ir tokių, kurios leidžia paleisti programas ir atlikti kitas operacijas. Pavyzdžiui, nuoroda mailto: atidaro programą, skirtą darbui su el. paštu, o webcal: leidžia įtraukti įvykius į kalendorių. Tokios nuorodos vadinamos protokolais, o jų naudojamos programos – tvarkytuvais. Daugelis šiuolaikinių žiniatinklio paslaugų, įskaitant „Gmail“ ir „Google“ kalendorių, gali veikti kaip tvarkyklės.

Pavyzdžiui, jei „Chrome“ naršyklėje naudojate „Gmail“, galite būti paraginti atidaryti visas nuorodas į el. pašto adresus naudojant tą paslaugą. Užklausa rodoma „Gmail“ puslapio viršuje. Jei spustelėsite mygtuką Naudoti Gmail, kitą kartą spustelėjus nuorodą į el. pašto adresą, atsidarys Gmail langas. Jei pasirinksite Ne, nuorodos į el. pašto adresus bus atidarytos taip pat, kaip ir anksčiau.

Prašymai įjungti arba išjungti tvarkykles
Kai lankotės interneto paslaugų svetainėse, galite būti paraginti nustatyti numatytąsias protokolų tvarkykles. Norėdami sukonfigūruoti „Chrome“, kad būtų rodomi šie raginimai, atlikite šiuos veiksmus:

  1. Spustelėkite veržliarakčio piktogramą naršyklės įrankių juostoje.
  2. Pasirinkite Galimybės (Nustatymai „Mac“, „Linux“ ir „Chrome“ OS) > Išplėstinė .
  3. Spustelėkite Turinio nustatymai .

  4. Pasirodžiusiame dialogo lange eikite į skiltį „Apdorotojai“.

    • Norėdami leisti žiniatinklio paslaugoms rodyti užklausas, pasirinkite Leisti svetainėms prašyti, kad būtų nustatytos numatytosios protokolų tvarkyklės.
    • Kad raginimai nebūtų rodomi, pasirinkite parinktį „Neleisti svetainėms apdoroti protokolų“.

    Nustatymų puslapyje galite pasirinkti, kurias žiniatinklio paslaugas naudoti kaip tvarkykles.

Protokolas (užbaigimų sąrašas, delsos ir reitingai) apdorojamas penkiais etapais.

1. Vidutinio latentinio periodo apskaičiavimas. Prieš skaičiuodami vidurkį, iš skaičiavimo turėtumėte neįtraukti delsos, viršijančios 50 sekundžių (jų bus nedaug).

Po to apskaičiuojamas likusių sakinių vidutinis latentinis laikotarpis.

2. Probleminių nutraukimų nustatymas naudojant laiko indikatorių. Sakiniai peržiūrimi nuo pirmo iki paskutinio, o kai konkretaus sakinio latentinis laikotarpis daugiau nei viena sekunde viršija vidutinį latentinį laikotarpį, dedama raidė „T“.

3. Probleminių užbaigimų nustatymas naudojant turinio indikatorių. Būtina nustatyti probleminius ir neutralius sakinius. Jei yra konflikto požymis, šalia sakinio rašoma „K“.

Formalūs „konfliktuojančių“ nutraukimų požymiai:

q agresijos buvimas pabaigoje. Pavyzdys: „Mokykloje mano mokytojai buvo... kvailiai ir keiksmažodžiai“;

q neigiamų emocijų buvimas pabaigoje. Pavyzdys: „Aš galėjau būti labai laimingas, jei... nebūčiau gimęs“;

q tiesioginis konflikto požymis. Pavyzdys: „Jei visi prieš mane, tai... aš prieš visus“;

q neapibrėžtumo ir neapibrėžtumo dėl užbaigimo buvimas, tiek tiesiogiai išreikštas, tiek numanomas. Pavyzdys: „Mano ateitis man atrodo... miglota, neaiški“;

q atsisakymas atsakyti;

q „uždaryti“ arba užmaskuoti galūnės. Tai atvejai, kai yra pagrindo įtarti, kad vietoje nurodyto užbaigimo turėtų būti kažkas kitas, nors formaliai ir gramatiškai viskas yra teisinga. Pavyzdys: „Manau, kad mano tėvas retai... šoka su parašiutu“.

4. Darbas su raktais. Raktas nurodo, kurie sakiniai susiję su kiekviena sritimi (kiekvieną sritį sudaro keturi sakiniai).

Pirmiausia užpildykite apdorojimo formoje esančią laiko diagramą. Naudojant raktą, apskaičiuojamas kiekvienos sferos vidutinis latentinis laikotarpis. Čia jie nebeišmeta per ilgų latentinių periodų. Laiko diagramoje patogioje skalėje, virš ir žemiau sąlyginės vidutinio latentinio periodo linijos, kiekvienai iš 15 sferų brėžiami vidutinių latentinių periodų taškai.

Apatinėje diagramos srityje fiksuojamas konfliktų skaičius sferose, t.y. raidžių „T“ ir „K“ skaičius kiekvienai sferai (atskirai T ir K). T-konfliktai sutartinai žymimi „/“, K-konfliktai – „\“; T- ir K-konfliktų sankirta yra kaip "X". Kiekvienoje sferoje negali būti daugiau nei keturi konfliktai (didžiausias stulpelių aukštis apatinėje diagramoje = 4), tačiau T ir K suma atskiroje sferoje gali būti daugiau nei keturi (maksimalus - 8). Dažnai atsitinka taip, kad pasiūlymas turi konflikto požymių tiek laiko, tiek turinio atžvilgiu. Ši konfliktų sankirta diagramoje pažymėta simbolių T ir K sankirta. T ir K susikertantys viename sakinyje laikomi vienu konfliktu. Šioje diagramos srityje pateikiama informacija: 1) kiek konfliktų yra kiekvienoje srityje, 2) kokie jie konfliktai ir 3) kiek jie persidengia. Svarbu: tai yra kiekių diagrama, todėl juostos joje yra vientisos, t.y., net jei kurioje nors srityje konfliktai yra tik pirmame (eilėje) ir paskutiniame sakinyje, tai atrodo kaip dviejų langelių stulpelis be tarpai viduryje.

Šis straipsnis skirtas temai, kurios, tiesą pasakius, niekada nemačiau aprašytos, o tuo labiau gerai – atrodo, kad niekas jos apskritai nelietė. Nors galbūt aš tiesiog seniai neskaičiau pradinio lygio literatūros. Bet kokiu atveju aš asmeniškai noriu paliesti šią temą.

Štai apie ką mes kalbėsime:

Fonas

Tai buvo seniai. Tada kūriau didelių grafikų vizualizavimo sistemą. Ši sistema buvo parašyta remiantis ILOG JViews biblioteka. Beje, galingiausia biblioteka, bet ir O tai atitinkamai. Visa grafika ten buvo organizuota SVG vektorinio formato pagrindu, o tai labai palengvino vizualizaciją, nes esant dideliems grafikų dydžiams, norint sutalpinti visą turinį ekrane, reikėjo labai pakeisti mastelį, kuriam buvo skirta rastrinė grafika. visai netinka.

Čia ir iškilo problema. Jei 250 grafiko mazgų yra išskaidomi pagal tam tikrą algoritmą, o po to suspaudžiami į langą, net jei dydis yra 500x500, šių mazgų dydžiai bus... kaip aš galiu švelniai pasakyti?.. na, mažas . Kai kur 5x5 maksimalus. O dažniau pasirodydavo, kad į juos sunku net su pele patekti, o ką jau kalbėti apie tai, kas ant jų nupiešta ir parašyta. Ir būtent tai buvo svarbiausia, nes sistema buvo skirta žinių analizei ir pristatymui. Ir kiekvienas objektas turėjo pavadinimą ir piktogramą, nulemtą objekto tipo.

Sprendimas pasiūlė save. Sukurkite patarimą. Be to, „Java“ gali interpretuoti patarimo tekstą HTML formatu. Bet... Gerai, su tekstu jokių problemų. O kaip su piktograma? Juk tai turi būti nurodyta šio patarimo HTML teksto fragmente. Ir jis bus įkeltas automatiškai, kažkur sūpynėse. Tai yra, HTML tekste turite nurodyti grafinį failą, kurį „Java“ gali įkelti ir rodyti. Tačiau standartinė biblioteka nesupranta SVG formato. Taip, galiu pats sugeneruoti failą naudodamas atsisiųstus SVG vaizdus, ​​bet... Kur jį įdėti, kad įtraukčiau į URL patarimo tekstą? Būtų gerai, jei tai būtų įprasta programa, bet visa sistema buvo parašyta programėlės forma...

Apskritai tuo momentu tai buvo aklavietė. Mes, žinoma, tai padarėme, padarėme rastrines visų vektorinių piktogramų kopijas ir jas panaudojome. Bet tai nebuvo gražu. Ir aš nemėgstu negražių sprendimų. Taip ir toliau ieškojau išeities.

Po kurio laiko man šovė įdomi mintis. Ką daryti, jei šio vaizdo URL nurodysite nestandartinį protokolą ir parašykite jam tvarkyklę? Tada viskas vyks natūraliai, o aš pats būsiu atsakingas, kokius duomenis gaminti.

Idėja skamba. Tačiau jį įgyvendinant susidūrė su banalu patirties stoka. Buvau kiek sutrikęs dokumentacijoje, man atrodė, kad užduotis yra kažkokia pabaisa. Gamyklų, tvarkytojų diegimas, savybių patikslinimas... Žodžiu, šią užduotį atidėjau geresniems laikams. Tai buvo prieš trejus metus.

O maždaug prieš metus turėjau laisvą pusdienį. Ir aš nusprendžiau grįžti prie šios užduoties. Apskritai man užteko pusės dienos. :) Tačiau prisimindama visus sunkumus, kuriuos turėjau anksčiau, nusprendžiau parašyti apie tai straipsnį.

Taigi, fonas baigėsi, kimbame prie reikalo.

URL, protokolai ir tvarkyklės

„Java“ ištekliai pasiekiami per java.net.URL klasę. Ši klasė yra koncepcijos įgyvendinimas Uniform Resource Locator. Jo sintaksė yra apibrėžta. Ir viena iš URL dalių yra protokolas.

Yra labai daug protokolų. Esu daugiau nei tikras, kad susidorojote su http ir ftp. Taip pat yra nntp, gopher, mailto ir daugelis kitų. Visi jie skiriasi vienas nuo kito – pirmiausia duomenų mainų formatu. Kyla pagrįstas klausimas: kaip java.net.URL klasė tvarko visus šiuos protokolus?

Atsakymas paprastas. Bet nieko! java.net.URL to visai nedaro. Protokolo apdorojimas yra specifinis. Ir tai daro atitinkama klasė. Arba klases. java.net.URL tik užtikrina, kad būtų įkelta atitinkama tvarkytuvė ir, kai reikia, perduoda valdymą.

Taigi, java.net.URL naudoja dvi abstrakčias klases – java.net.URLStreamHandler ir java.net.URLConnection. Pirmasis iš jų yra atsakingas už prisijungimą prie atitinkamo šaltinio (Java 5.0 versijoje jis gali naudoti tarpinį serverį). Antrasis skirtas tiesioginiam keitimuisi su šaltiniu ir duomenų gavimui. Tiesą sakant, šios dvi klasės turi būti įdiegtos, kad būtų galima įgyvendinti protokolo palaikymą.

Tačiau ne tik įdiegti tvarkyklę, bet ir java.net.URL klasei aiškiai nurodyti, kur ieškoti šios tvarkyklės. Daugiau apie tai kitoje dalyje.

Užregistruokite tvarkytoją

Kaip java.net.URL net ieško protokolo tvarkyklės?

Pirmiausia patikrinama, ar įdiegta java.net.URLStreamHandlerFactory sąsaja. Šioje sąsajoje yra tik vienas metodas, kuris grąžina java.net.URLStreamHandler įgyvendinimą, atitinkantį jai perduotą protokolą.

Šio metodo trūkumas yra tas, kad java.net.URLStreamHandlerFactory diegimą galima įdiegti tik vieną kartą. Atitinkamai, tai visiškai ne faktas, kad galėsime įdiegti savo.

Antra, jei java.net.URLStreamHandlerFactory diegimas nerastas arba jei jis grąžina jam perduoto protokolo nulį, bandoma nuskaityti java.protocol.handler.pkgs sistemos ypatybę. Šioje ypatybėje yra paketų, kuriuose yra protokolų tvarkyklių, sąrašas. Šiame sąraše esantis skyriklis yra „|“ . Kiekvienam paketo pavadinimui šiame sąraše bandoma įkelti klasę pavadinimu<имя пакета>.<имя протокола>.Prižiūrėtojas.

Jei ne tvarkytojo klasė nurodytuose paketuose nerasta arba ypatybė nenustatyta, tvarkyklės ieškoma sistemos pakete. Jo vardas yra sun.net.www.protocol. Atitinkamai, http protokolo tvarkyklės klasė pavadinta sun.net.www.protocol.http.Handler, ftp – sun.net.www.protocol.ftp.Handler ir kt. Garantuojamas http, https, ftp, failų ir jar protokolų tvarkyklių buvimas.

Nurodyta paieškos tvarka atveria galimybę esant reikalui pakeisti esamą protokolų tvarkyklę. Man sunku įsivaizduoti, kam to gali prireikti, bet vis dėlto naudinga žinoti apie šią galimybę.

Tai yra metodas, kurį naudosime tvarkytojui užregistruoti. Paketo pavadinimas yra ru.skipy.net.protocol, jis turi būti nurodytas java.protocol.handler.pkgs sistemos ypatybėje. Protokolo pavadinimas yra jarres. Atitinkamai, tvarkyklių klasės pavadinimas bus ru.skipy.net.protocol.jarres.Handler.

Dabar atėjo laikas...

Valdiklio įgyvendinimas

Pirmiausia noriu pasakyti keletą žodžių. Visų pirma, tai yra protokolo įgyvendinimo iliustracija. Ir būtent į tai yra sutelkiamas dėmesys. Nenorėjau perkrauti pavyzdžio ir nedariau įvaizdžio generavimo iš karto (tiesą sakant, iš to ir kilo užduotis). Tai galima padaryti, pavyzdžiui, naudojant Java Image IO (javax.imageio.*), ir ypatingų problemų neturėtų kilti.

Todėl kaip šaltinį įkeliu vaizdą iš jar failo. Iš principo galiu ir kitaip, esmė nesikeičia. Tiesą sakant, iš čia ir kilo protokolo pavadinimas – jarres (JAR RESource).

Taigi pradėkime įdiegdami URLStreamHandler. Šios klasės vaidmuo yra tas, kad ji „žino“, kaip sukurti ryšį su šaltiniu, kurį nurodo java.net.URL klasės egzempliorius, perduotas jos openConnection metodui. Mūsų atveju šis metodas sukuria tik mūsų pačių URLConnection įpėdinio – JarResourceURLConnection – egzempliorių. Kaip jau minėjau, šios klasės pavadinimas turi baigtis jarres.Handler , o pradžia gali būti savavališka (tik reikia nurodyti sistemos ypatybėje), mūsų atveju - ru.skipy.net.protocol:

paketą importuoti java.io.IOException; importuoti java.net.URL; importuoti java.net.URLConnection; importuoti java.net.URLStreamHandler; /** * URLStreamHandler skirta stiklainiai protokolas * * @autorius Eugenijus Matyushkin * @version 1.0 */ viešoji klasė Prižiūrėtojas tęsiasi URLStreamHandler( apsaugotas URLConnection openConnection(URL url) metimai IOException( grąžinti naujas JarResourceURLConnection(url); ) )

Kaip matote, viskas yra labai paprasta. Taigi pereikime prie paties JarResourceURLConnection. Pirma, mes privalome įgyvendinti jo prisijungimo metodą dėl tos paprastos priežasties, kad jis yra abstraktus. Šis metodas turėtų pradėti bendrauti su šaltiniu (jei reikia, išsiųsti užklausą) ir pasiruošti skaityti duomenis. Toliau, jei norime nuskaityti duomenis, turime įdiegti getInputStream , nes esamas diegimas tiesiog išmeta UnknownServiceException .

Taigi JarResourceURLConnection atrodo taip (neesminiai metodai ir komentarai praleisti):

paketą ru.skipy.net.protocol.jarres; importuoti java.io.*; importuoti java.net.URL; importuoti java.net.URLConnection; /** * URLConnection diegimas, skirtas stiklainiai protokolas. * * @autorius Eugenijus Matyushkin * @version 1.0 */ viešoji klasė JarResourceURLConnection tęsiasi URLConnection( privatus Eilutės resourcePath; privatus loginis prijungtas = klaidinga; privatus InputStream yra = nulinis; JarResourceURLConnection(URL url) ( super(url); resourcePath = url.getPath(); ) vieša sinchronizuota tuštuma Prisijungti() metimai IOException( jeigu(prijungtas) grąžinti; baitas duomenys = readData(); yra = (duomenys == nulinis) ? nulinis : naujas ByteArrayInputStream(duomenys); prijungtas = tiesa; } privatus baitas readData () metimai IOException (ByteArrayOutputStream baos = naujas ByteArrayOutputStream(); InputStream resourceStream = getClass().getResourceAsStream(resourcePath); jeigu(ResourceStream == nulinis) grąžinti nul; DataInputStream dis = naujas DataInputStream(resourceStream); baitas buferis = naujas baitas; kol (tiesa) { tarpt skaityti = dis.read(buferis); jeigu(perskaityta == -1) pertrauka; jeigu(skaityta > 0) baos.write(buferis, 0, skaityti); ) grąžinti baos.toByteArray(); ) vieša sinchronizuota InputStream getInputStream() metimai IOException(connect(); jeigu(yra == nulinis) mesti naujas FileNotFoundException(resourcePath); grąžinti yra; ) )

Maži komentarai. Taikant prisijungimo metodą, duomenys nuskaitomi (jei yra ką skaityti, kitaip url gali būti neteisingas). Jei duomenys nuskaitomi, sukuriamas BytaArrayInputStream.

Metodas getInputStream grąžina srautą, iš kurio kliento kodas skaitys duomenis. Jei duomenų nuskaityti nepavyksta, atsiranda FileNotFoundException išimtis.

Norėčiau atkreipti jūsų dėmesį į ryšio skambutį naudojant getInputStream metodą. Teoriškai kliento kodas turėtų aiškiai iškviesti ryšį ir tik tada iškviesti getInputStream. Bent jau aš taip suprantu dokumentus. Praktikoje tai neįvyksta. Jei komentuosite šį skambutį, vaizdas nebus rodomas patarime.

Tiesą sakant, tai viskas. Diegimas baigtas. Belieka visa tai paleisti. Tam yra nedidelis bandymo pavyzdys. Nerodysiu viso jo kodo. Vienintelis įdomus dalykas yra prieiga prie šaltinio patarimo html turinyje:

viešas statinis finalas Eilutė TOOLTIP_TEXT = "
VAIZDO apačioje!
" + "
"
;

Kaip matote, prieglobos serverio pavadinimas yra praleistas URL. Turi būti po „jarres://“ . Šiuo atveju jis nenaudojamas, bet gali būti naudojamas, jei, pavyzdžiui, ištekliai būtų saugomi keliuose ZIP failuose. Tada pagrindinio kompiuterio pavadinimas gali būti laikomas failo, iš kurio turi būti įkeliamas šaltinis, pavadinimu. Likusi URL dalis – „/resources/images/vzhik2.gif“ – yra būtent kelias į šaltinį, kuris naudojamas jį atsisiųsti.

Vykdant pavyzdį

Visą kodą su visais komentarais galite rasti čia: protocolHandler.zip. Kaip įprasta, kartu su kodu yra ir skruzdžių kūrimo failas. Pagal numatytuosius nustatymus jis sukonfigūruotas paleisti pavyzdį (ty pavyzdį galite paleisti naudodami ant komandos pavyzdžio šaknyje). Jei kas nors nori sukurti dokumentaciją, tai galima padaryti naudojant ant javadoc komandą.

Kalbant apie paleidimą, norėčiau atkreipti jūsų dėmesį į tai. Build.xml, programos paleidimo užduotyje, parašomas virtualios mašinos argumentas:

Būtent tai yra nuosavybės nustatymas, kuris lemia, kur ieškoti protokolo tvarkyklės. Vykdant ne per ant, ši savybė turi būti parašyta tiesiogiai kaip argumentas komandinėje eilutėje.

Teoriškai šią savybę paprastai galima nustatyti programoje per System.setProperty(String,String) . Tačiau to daryti nerekomenduočiau. Visų pirma, tai nėra visiškai akivaizdu. Ir jei tai neatsispindi dokumentacijoje, tada šio kodo vartotojas ramia sąžine gali nustatyti šią savybę taip, kaip jam reikia. Tada ši reikšmė bus perrašoma – ir kūrėjas tyliai išprotės bandydamas suprasti, kodėl jo kodas neveikia. Ir net jei tai aprašyta dokumentacijoje... Visiems žinoma, kad dokumentai yra paskutinis dalykas, kurį reikia skaityti. Ir kartais tai iš esmės neįskaitoma.

Antra, tam tikromis aplinkybėmis apsaugos vadovas gali neleisti jums nustatyti savo nuosavybės. Dėl ko jūsų kodas neveiks.

Tai viskas. Kaip matote, šiame procese nėra nieko sudėtingo. Tikiuosi, kad tai padės kam nors atlikti savo užduotis.

Ačiū už dėmesį! Jei kur nors klystu, parašykite!