Umboniso njengekhowudi, okanye Kutheni ndingasayisebenzisi iPowerPoint

Umboniso njengekhowudi, okanye Kutheni ndingasayisebenzisi iPowerPoint

Ndicinga ukuba ndinike imiboniso emininzi koogxa, abathengi, kunye nokuthetha esidlangalaleni kumsebenzi wam we-IT. Kwiminyaka emininzi, i-Powerpoint ibe lukhetho lwendalo noluthembekileyo kum njengesixhobo sokuvelisa isilayidi. Kodwa kulo nyaka imeko itshintshile ngokomgangatho. Ukususela ngoFebruwari ukuya kuMeyi, ndafumana ithuba lokuthetha kwiinkomfa ezintlanu, kwaye izilayidi zeengxelo kwakufuneka zilungiswe ngexesha elifutshane, kodwa ngomgangatho ophezulu. Kwaphakama umbuzo malunga nokwabela abanye abantu loo nxalenye yomsebenzi ngokuphathelele uyilo olubonakalayo lwezilayidi. Ndakhe ndazama ukusebenza nomyili, ukuthumela iifayile zepptx ngeposi, kodwa umsebenzi wajika waba yisiphithiphithi: akukho mntu wayesazi ukuba yeyiphi inguqulelo yeslayidi "entsha", kwaye i-layout "yayihamba" ngenxa yomahluko kwi-Powerpoint. iinguqulelo kunye neefonti koomatshini bethu. Kwaye ndagqiba ekubeni ndizame into entsha. Ndizamile, kwaye ukusukela ngoko khange ndicinge ngokubuyela ePowerpoint.

Sifuna ntoni

Malunga nonyaka onesiqingatha edlulileyo, inkampani yethu yayeka ukusebenzisa i-Word ukwenza amaxwebhu eprojekthi, idibene neengxaki ezifanayo: nangona i-Word ilungile ukuchwetheza uxwebhu oluncinci, njengoko umthamo ukhula, kuvela ubunzima ngentsebenziswano kunye nokufumana umgangatho ophezulu kunye nomgangatho ophezulu. uyilo olumanyeneyo. Ukhetho lwethu lwaqhubeka AsciiDokotela, kwaye asizange siyeke ukuvuya ngolu khetho, kodwa esi sisihloko senqaku elahlukileyo. Kwangelo xesha linye, sifunde ukusebenza komnye wemigaqo ye-DevOps β€œyonke into njengekhowudi”, ngoko ke ukhetho lweemfuno zetekhnoloji entsha yokudala izilayidi zeprezenteyishini zazicace gca:

  1. Inkcazo-ntetho mayibe yifayile yombhalo ocacileyo kulwimi lophawulo.
  2. Izilayidi zethu zimalunga neeprojekthi zophuhliso, ngoko ke uphawu kufuneka lwenza kube lula ukuyifaka, ngaphandle kokubhenela kwiinkqubo zangaphandle
    • iziqwenga zekhowudi ezinophawu lwesintaksi,
    • imizobo elula ngendlela yeemilo zejometri ezidityaniswe ngeentolo,
    • Imizobo ye-UML, iiflowutshati kunye nokunye.
  3. Idrafti yokubonisa kufuneka igcinwe kwinkqubo yolawulo lwenguqulelo.
  4. Ukuqinisekiswa kunye nokuhlanganiswa kwezilayidi ezigqityiweyo kufuneka zenziwe kwinkqubo yeCI.

Namhlanje, zimbini iinketho ezisisiseko zokwenza izilayidi kwiilwimi zokuphawula: ipakethe umqadi yeLaTeX okanye esinye sesakhelo sokwenza izilayidi usebenzisa iHTML/CSS (UkutyhilaJS, ukuthetha, umgangatho.js kunye nabanye abaninzi).

Nangona umphefumlo wam ulele kwi-LaTeX, ingqondo yam yachaza ukuba ukhetho lwesisombululo endingayi kuba yedwa osisebenzisayo kufuneka sibe kwicala lesisombululo esiqhelekileyo kwisangqa esibanzi sabantu. Ayinguye wonke umntu oyaziyo iLaTeX, kwaye ukuba umsebenzi wakho wemihla ngemihla awuhambelani nokubhala amanqaku esayensi, akunakufane kwenzeke ukuba ube nexesha lokuntywila kwihlabathi elikhulu, elintsonkothileyo lale nkqubo.

Nangona kunjalo, ubuchule be-HTML/CSS ayisosakhono esixhaphakileyo: mna, umzekelo, andikude nokuba nobuchule obupheleleyo kuyo. Ngethamsanqa, i-AsciiDoctor esele iqhelekile iza kuhlangula: isiguquli i-asciidoctor-revealjs ikuvumela ukuba wenze i-RevealJS izilayidi usebenzisa uphawu lwe-AsciiDoctor. Kwaye kulula ukuyifunda kwaye ifikeleleke kuye wonke umntu!

Uzikhowudi njani izilayidi

Ukuqonda undoqo weekhowudi zeelayidi kwi-AsciiDoctor, eyona ndlela ilula kukunika imizekelo ethile. Zonke ezi zivela kwizilayidi zokwenyani endizenzileyo kwintetho yam yenkomfa kulo nyaka.

Isilayidi esinesihloko kunye noluhlu lwezinto ezivula enye emva kwenye:

== Π—Π°Ρ‡Π΅ΠΌ Π½Π°ΠΌ Streams API?

[%step]
* Real-time stream processing
* Stream-like API (map / reduce)
* Под ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ:
** АвтоматичСский offset commit
** РСбалансировка
** Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ состояниС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²
** Π›Π΅Π³ΠΊΠΎΠ΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Isiphumo

Umboniso njengekhowudi, okanye Kutheni ndingasayisebenzisi iPowerPoint

Iheda kunye nekhowudi yesiqwengana sekhowudi enokuqaqambisa isintaksi:

== Kafka Streams API: общая структура KStreams-прилоТСния

[source,java]
----
StreamsConfig config = ...;
//Π—Π΄Π΅ΡΡŒ устанавливаСм всякиС ΠΎΠΏΡ†ΠΈΠΈ

Topology topology = new StreamsBuilder()
//Π—Π΄Π΅ΡΡŒ строим Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡŽ
....build();
----

Isiphumo

Umboniso njengekhowudi, okanye Kutheni ndingasayisebenzisi iPowerPoint

Ukulungiselela intetho, iidemos zekhowudi zihlaziywa ezininzi kunye nokuphuculwa, ngoko ke ukukwazi ukukopisha ngokukhawuleza nokunamathisela "ikhowudi eluhlaza" ngokuthe ngqo kwisilayidi kubaluleke kakhulu, ukuqinisekisa ukuba i-demo isexesheni ngaphandle kokukhathazeka malunga nokugqamisa kwe-syntax.

Isihloko, umzekeliso kunye nombhalo (uyilo kwisilayidi lwenziwa kwiiseli iitafile ze-AsciiDoctor):

== Kafka Streams in Action

[.custom-style]
[cols="30a,70a"]
|===
|image::KSIA.jpg[]
|
* **William Bejeck**, +
β€œKafka Streams in Action”, November 2018
* ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° для Kafka 1.0
|===

Isiphumo

Umboniso njengekhowudi, okanye Kutheni ndingasayisebenzisi iPowerPoint

Ngamanye amaxesha isihloko asifuneki, kwaye ukubonisa inqaku lakho udinga nje umfanekiso ogcwele isikrini:

[%notitle]
== Π–ΠΈΡ‚ΡŒ Π² лСгаси Π½Π΅Π»Π΅Π³ΠΊΠΎ

image::swampman.jpg[canvas, size=cover]

Isiphumo

Umboniso njengekhowudi, okanye Kutheni ndingasayisebenzisi iPowerPoint

Ngokufuthi ingcamango ifuna ukuxhaswa ngumzobo olula, ngendlela β€œyezikwere eziqhagamshelwe ngeentolo.” Ngethamsanqa, i-AsciiDoctor ihlanganiswe nenkqubo Graphviz β€” ulwimi olukuvumela ukuba uchaze imizobo yegrafu ngokusekwe kwinkcazo yeentiyo noqhagamshelo phakathi kwazo. IGraphviz ithatha igophe lokufunda, kodwa ngokusekwe kwimizekelo enikiweyo, kulula kakhulu ukuyenza! Nantsi indlela ekhangeleka ngayo:

== ПишСм β€œBet Totalling App”

Какова сумма Π²Ρ‹ΠΏΠ»Π°Ρ‚ ΠΏΠΎ сдСланным ставкам, Ссли сыграСт исход?

[graphviz, "counting-topology.png"]
-----
digraph G {
graph [ dpi = 150 ];
rankdir="LR";
node [fontsize=18; shape="circle"; fixedsize="true"; width="1.1"];
Store [shape="cylinder"; label="Local Store"; fixedsize="true"; width="1.5"]
Source -> MapVal -> Sum -> Sink
Sum -> Store [dir=both; label=" n "]
{rank = same; Store; Sum;}
}
-----

Isiphumo

Umboniso njengekhowudi, okanye Kutheni ndingasayisebenzisi iPowerPoint

Kwimeko xa kuyimfuneko ukuhlela i-caption kumfanekiso, ukutshintsha isalathiso sotolo, njl. njl., oku kunokwenziwa ngokuthe ngqo kwikhowudi yokubonisa, endaweni yokuphinda udwebe umfanekiso kwindawo ethile kwaye uphinde uwubuyisele kwisilayidi. Oku kwandisa kakhulu isantya sokusebenza kwizilayidi.

Umzekelo onzima ngakumbi:

== НСвоспроизводимая сборка
[graphviz, "unstable-update.png"]
-----
digraph G {
  rankdir="LR";
  graph [ dpi = 150 ];
  u -> r0;
  u[shape=plaintext; label="linter updaten+ 13 warnings"]
  r0[shape=point, width = 0]
  r1 -> r0[ arrowhead = none, label="master branch" ];
  r0-> r2 [];   b1 -> b4;  r1->b1
  r1[label="150nwarnings"]
  b1[label="Β± 0nwarnings"]
  b4[label="Β± 0nwarnings"]
  b4->r2
  r2[label="163nwarnings", color="red", xlabel=<<font color="red">merge blocked</font>>]
  {rank = same; u; r0; b4;}
}
-----

Isiphumo

Umboniso njengekhowudi, okanye Kutheni ndingasayisebenzisi iPowerPoint

Ngendlela, kukulungele ukuzama i-Graphviz kunye nemifanekiso yokuguqula kwiphepha Graphviz kwi-intanethi.

Ekugqibeleni, ukuba ufuna ukufaka i-flowchart, umzobo weklasi okanye omnye umzobo osemgangathweni kwisilayidi, ngoko enye inkqubo ehlanganiswe ne-AsciiDoctor inokuhlangula, PlantUML. Umlingane wam u-Nikolai Potashnikov wabhala malunga nobuchule obukhulu be-PlantUML iposti eyahlukileyo.

Ukuguqula iprojekthi yokubonisa kwikhowudi egcinwe kwinkqubo yokulawula inguqulo yenza kube lula ukuququzelela umsebenzi odibeneyo kwinkcazo, okokuqala, ukwahlula imisebenzi yokudala umxholo kunye noyilo. Uyilo lwezilayidi (iifonti, imvelaphi, i-indints) kwi-RevealJS ichazwa kusetyenziswa i-CSS. Isakhono sam sobuqu kunye neCSS sidluliswa ngcono le gif - kodwa akoyiki xa kukho abantu abasebenza kunye neCSS kakhulu ngakumbi kwaye ngokukhawuleza kunam. Ngenxa yoko, kuvela ukuba ngexesha elisikiweyo elisondela ngokukhawuleza lokubonisa, sinokusebenza kwiifayile ezahlukeneyo ngaxeshanye nge-Git kwaye siphuhlise isantya sentsebenziswano esingenakwenzeka xa uthumela iifayile ze-pptx ngeposi.

Ukwakha iphepha le-HTML elinezilayidi

Imithombo yombhalo ocacileyo mihle, kodwa uyihlanganisa njani kwinkcazo-ntetho ngokwayo?

I-AsciiDoctor yiprojekthi ebhalwe kwiRuby, kwaye kukho iindlela ezininzi zokuyiqhuba. Okokuqala, ungafaka ulwimi lweRuby kwaye usebenzise i-asciidoctor ngokuthe ngqo, mhlawumbi eyona nto isondeleyo kubaphuhlisi beRuby.

Ukuba awufuni ukuphazamisa ngokufaka iRuby, ungasebenzisa umfanekiso wedocker i-asciidoctor/docker-asciidoctor, apho, xa iqalisiwe, ungaqhagamshela incwadi eneenkcukacha ngemithombo yeprojekthi nge VOLUME kwaye ufumane isiphumo kwindawo enikiweyo.

Ukhetho endilukhethileyo lunokubonakala lungalindelekanga, kodwa lolona lulungele mna njengomphuhlisi weJava. Ayifuni kufakelo lweRuby okanye idocker, kodwa ikuvumela ukuba uvelise izilayidi usebenzisa iMaven script.

Ingongoma kukuba iprojekthi JRuby - Ukuphunyezwa kweJava yolwimi lweRuby kuhle kangangokuba kukuvumela ukuba uqhube phantse nantoni na eyenzelwe iRuby kumatshini weJava, kwaye ukuqhuba i-AsciiDoctor yenye yezona zinto ziqhelekileyo zokusetyenziswa kweJRuby.

Ukufumaneka i-asciidoctor-maven-plugin ikuvumela ukuba uqokelele amaxwebhu e-AsciiDoctor ayinxalenye yeprojekthi yeJava (esiyisebenzisa ngokukhutheleyo). Ngexesha elifanayo, i-AsciiDoctor kunye ne-JRuby zikhutshelwa ngokuzenzekelayo yi-Maven, kwaye i-AsciiDoctor iqhuba kwindawo ye-JRuby: akukho mfuneko yokufaka nantoni na kumatshini! (Ngaphandle kwephakheji graphviz, efunekayo ukuba ufuna ukusebenzisa iGraphViz okanye iPlantUML yemizobo.) Beka ngokulula iifayile zakho ze.adoc kwincwadi eneenkcukacha. src/main/asciidoc/. Apha umzekelo wepomnikukuqokelela izilayidi ezinemizobo.

Guqula izilayidi zibe yiPDF

Nangona uguqulelo lwe-HTML lwezilayidi lukwazi ukwanela, kuseyimfuneko ukuba ube noguqulelo lwePDF lwezilayidi. Okokuqala, kwenzeka ukuba kwezinye iinkomfa ezingaboneleli isithethi ithuba lokudibanisa i-laptop yakhe, zifuna i-slides "ngokungqongqo kwi-pptx okanye kwifomathi ye-pdf," ngaphandle kokulindela ukuba zikwakho kwi-HTML. Okwesibini, ifom efanelekileyo yokuthumela abaququzeleli inguqu engalungiswanga yeeslayidi zakho njengoko ziboniswe kwingxelo, kwifomathi ye-PDF yokupapashwa kwefayile kwizinto zenkomfa.

Ngethamsanqa, into eluncedo yeNode.js iphethe lo msebenzi. idekhithi, eyakhiwe ngesiseko Umntu ohlekisayo Iinkqubo ezizenzekelayo zokulawula isikhangeli seChrome. Ungaguqula umboniso weRevealJS ube yiPDF ngomyalelo

node decktape.js -s 3200x1800 --slides 1-500 
  reveal "file:///index.html?fragments=true" slides.pdf  

Amaqhinga amabini xa kusungulwa idekhitape, ekwakufuneka size nayo ngolingo nangempazamo:

  • isisombululo ngeparameter -s kufuneka icaciswe ngomda ophindwe kabini, kungenjalo kunokubakho iingxaki ngeziphumo zoguqulelo

  • kwi URL yoguqulelo lwe HTML yonikezelo kufuneka ugqithise iparameter ?fragments=true, eliza kwenza iphepha elahlukileyo lePDF kwimo nganye ephakathi yesilayidi sakho (umzekelo, amaphepha amahlanu amanqaku eebhulethi amahlanu ukuba abonisiwe enye emva kwenye). Oku kuya kukuvumela ukuba usebenzise iPDF enjalo ngokwakho njengenkcazo ngexesha lengxelo.

Ukudibanisa ngokuzenzekelayo kunye nopapasho kwiwebhu

Kufanelekile xa izilayidi ziqulunqwa ngokuzenzekelayo xa utshintsho lusenziwa kwinkqubo yolawulo loguqulelo, kwaye lulungele ngakumbi xa izilayidi eziqulunqwe ngokuzenzekelayo zixhonywe kwi-Intanethi ukuze zisetyenziswe luluntu. Izilayidi ezivela kwi-Intanethi "zidlalwa" ngokulula phambi kwabaphulaphuli kuwo nawuphi na umatshini oqhagamshelwe kwi-Intanethi kunye neprojektha.

Ekubeni sisebenzisa i-GitHub kumsebenzi wethu, ukhetho lwendalo lwenkqubo yeCI TravisCI, kunye nokusingatha iinkcazo-ntetho esele zenziwe - github.io. Umbono emva kwe-github.io kukuba nawuphi na umxholo omileyo othunyelwe kwisebe gh-pages yeprojekthi yakho kwiGitHub, ifumaneka kwi <вашС имя>.gihub.io/<ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚>.

Gqibezela ifayile yoqwalaselo yeTravisCI, kuquka ukuqulunqa inguqulelo yeHTML yephepha usebenzisa iMaven, ukuguqula kwiPDF usebenzisa idecktape, kwaye ulayishe iziphumo kumsonto. gh-pages ukupapashwa kwi-github.io, kubonakala ngathi kunjalo.

Ukwakha iprojekthi enjalo kwicala leTravisCI, kufuneka uqwalasele izinto eziguquguqukayo zokusingqongileyo

  • GH_REF - ixabiso elifana ne-github.com/inponomarev/csa-hb
  • GH_TOKEN -Ithokheni yofikelelo yeGitHub. Ungayifumana kwi-GitHub kwiisetingi zeprofayile yakho, Useto loPhuhlisi-> Iimpawu zoFikelelo zoBuqu. Ukuba ulayisha umboniso kwindawo yokugcina uluntu, ngoko ke kulo mqondiso kwanele ukucacisa inqanaba lokufikelela kuphela "Fikelela kwiindawo zokugcina zoluntu".
  • GH_USER_EMAIL / GH_USER_NAME - igama / isibini se-imeyile egameni apho ukutyhala kumsonto kuya kuqhutywa gh-pages.

Ke, ukuzibophelela ngakunye kwekhowudi yokubonisa kwiGitHub kubangela ukuba izilayidi zakhiwe ngokuzenzekelayo kwi-HTML kunye neefomathi zePDF kwaye ziphinde zilayishwe kwi-github.io. (Ewe, kufuneka ulayishe kuphela kwi-github.io ezo ntetho ofuna ukuzenza esidlangalaleni.)

Imizekelo yeeprojekthi

Okokugqibela, nazi amakhonkco kwimizekelo embalwa yeeprojekthi zenkcazo-ntetho enezikripthi zeMaven ezilungelelanisiweyo kunye noqwalaselo lweCI lweTravis-CI, enokudityaniswa kwaye isetyenziswe xa usenza iiprojekthi zakho zokubonisa:

Sala kakuhle Powerpoint! Andiqondi ukuba ndiya kuze ndikufunele iinkcazo-ntetho :)

umthombo: www.habr.com

Yongeza izimvo