Soo bandhigida kood ahaan, ama sababta aanan u isticmaalin Powerpoint

Soo bandhigida kood ahaan, ama sababta aanan u isticmaalin Powerpoint

Waxaan filayaa in aan siiyay daraasiin bandhigyo ah asxaabta, macaamiisha, iyo hadalka guud ee xirfaddayda IT. Sannado badan, Powerpoint waxay ii ahayd doorasho dabiici ah oo la isku halleyn karo oo ah qalab wax-soo-saar slide ah. Laakiin sanadkan xaaladdu si tayo leh ayay isu beddeshay. Laga soo bilaabo Febraayo ilaa Maajo, waxaan fursad u helay inaan ka hadlo shan shir, iyo boggaga warbixinnada waa in lagu diyaariyaa waqti gaaban, laakiin tayo sare leh. Su'aashu waxay kacday u igmaday qaybtaas shaqada ee ku saabsan nakhshad muuqaal ah oo dadka kale ah. Waxaan mar isku dayay inaan la shaqeeyo naqshadeeye, oo u soo diraya faylasha .pptx boostada, laakiin shaqadu waxay isu rogtay fowdo: qofna ma ogayn nooca sawirada ee "cusub", iyo qaabeynta ayaa "dhaqaajisay" sababtoo ah farqiga u dhexeeya Powerpoint noocyada iyo xarfaha mashiinadayada. Oo waxaan go'aansaday inaan isku dayo wax cusub. Waan isku dayay, tan iyo markaas kuma fikirin inaan ku laabto Powerpoint.

Maxaan rabnaa

Qiyaastii hal sano iyo badh ka hor, shirkadeena waxay joojisay isticmaalka Word si ay u abuurto dukumentiyada mashruuca, iyagoo la kulmay dhibaatooyin isku mid ah: inkastoo Word uu ku fiican yahay qorista dukumeenti yar, marka mugga uu kordho, dhibaatooyin ayaa soo baxa wadashaqeyn iyo helitaanka tayo sare leh iyo naqshad midaysan. Doorashadayadii ayaa ku dhacday AsciiDoctor, mana joojinayno inaan ku faraxsanahay doorashadan, laakiin tani waa mawduuc maqaal gaar ah. Isla mar ahaantaana, waxaan baranay waxtarka mid ka mid ah mabaadi'da DevOps ee "wax walba oo kood ah", sidaa darteed xulashada shuruudaha tignoolajiyada cusub ee abuuritaanka boggaga bandhigga ayaa ahaa mid iska cad:

  1. Soo jeedintu waa inay noqotaa fayl qoraal ah oo cad oo luuqad calaamadayn ah.
  2. Sawiradayadu waxay ku saabsan yihiin mashaariicda horumarinta, markaa calaamadaynta waa inay fududaysaa in la geliyo, iyada oo aan la isticmaalin nidaamyada dibadda
    • jajabyo kood leh oo muujinaya syntax,
    • jaantusyo fudud oo ah qaabab joomatari oo ku xidhan fallaadho,
    • Jaantusyada UML, jaantusyada socodka iyo qaar kaloo badan.
  3. Qoraalka qabyada ah waa in lagu kaydiyaa nidaamka xakamaynta nooca.
  4. Xaqiijinta iyo isu-ururinta boggaga la dhammeeyey waa in lagu sameeyaa nidaamka CI.

Maanta, waxaa jira laba ikhtiyaar oo aasaasi ah oo lagu abuurayo bogag ku qoran luqadaha calaamadaynta: xirmo dhaldhalaal loogu talagalay LaTeX ama mid ka mid ah qaab-dhismeedka loogu talagalay abuurista bogag isticmaalaya HTML/CSS (MuujintaJS, xusuusin, sagxad.js iyo kuwo kale oo badan).

In kasta oo naftaydu ay ku jirto LaTeX, haddana maskaxdaydu waxay i tibaaxday in doorashada xalka aan ahayn ka keliya ee isticmaalaya ay tahay dhinaca xalka ay yaqaaniin goob ballaadhan oo dad ah. Qof kastaa ma yaqaan LaTeX, iyo haddii dhaqankaaga maalinlaha ah uusan la xiriirin qorista maqaallada sayniska, markaa uma badna inaad waqti u hesho inaad naftaada dhex geliso adduunka weyn, qallafsan ee nidaamkan.

Si kastaba ha ahaatee, aqoonta HTML/CSS dhab ahaan maaha xirfad baahsan: Aniga, tusaale ahaan, aad ayaan uga fogahay si buuxda. Nasiib wanaag, AsciiDoctor-kii hore loo yaqaan ayaa u yimid samatabbixinta: beddele asciidoctor-Revealjs wuxuu kuu ogolaanayaa inaad abuurto sawirada RevealJS adoo isticmaalaya calaamadaynta AsciiDoctor. Wayna fududahay in la barto oo qof walba heli karo!

Sida loo codeeyo slides-yada

Si aad u fahamto nuxurka bogga codaynta ee AsciiDoctor, habka ugu fudud waa in la bixiyo tusaalooyin gaar ah. Kuwaas oo dhami waxay ka soo jeedaan bogag dhab ah oo aan u sameeyay bandhiggayga shirka sanadkan.

Boorar leh cinwaan iyo liis ku jira shayada midba midka kale u furmaya:

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

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

natiijada

Soo bandhigida kood ahaan, ama sababta aanan u isticmaalin Powerpoint

Madaxa iyo isha koodhka goos goos leh oo muujinaya syntax:

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

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

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

natiijada

Soo bandhigida kood ahaan, ama sababta aanan u isticmaalin Powerpoint

U diyaargarowga hadalka, code demos wuxuu maraa dib u eegis soo noqnoqda iyo hagaajinta, markaa awoodda si dhakhso ah loo koobi karo oo loogu dhejiyo "koodka ceeriin" si toos ah slide waa mid aad u qiimo badan, hubinta in demo uu yahay mid casri ah iyada oo aan ka welwelin muujinta syntax.

Ciwaanka, sawirka iyo qoraalka (qaabaynta bogga waxa lagu sameeyaa unugyo AsciiDoctor miisaska):

== Kafka Streams in Action

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

natiijada

Soo bandhigida kood ahaan, ama sababta aanan u isticmaalin Powerpoint

Mararka qaarkood cinwaan looma baahna, si aad fikradaada u qeexdo waxaad u baahan tahay sawir buuxa:

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

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

natiijada

Soo bandhigida kood ahaan, ama sababta aanan u isticmaalin Powerpoint

Badanaa fikradda waxay u baahan tahay in lagu taageero jaantus fudud, oo ah qaab "geesooyin ku xiran fallaadho." Nasiib wanaag, AsciiDoctor waxaa lagu dhex daray nidaamka Graphviz - luqad kuu oggolaanaysa inaad qeexdo jaantusyada garaafyada iyadoo lagu saleynayo sharraxaadda geesaha iyo isku xirka dhexdooda. Graphviz wuxuu qaataa qalooca waxbarashada, laakiin ku salaysan tusaalooyinka la bixiyay, way fududahay in la sameeyo! Tani waa sida ay u egtahay:

== ПишСм β€œ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;}
}
-----

natiijada

Soo bandhigida kood ahaan, ama sababta aanan u isticmaalin Powerpoint

Xaaladda marka ay lagama maarmaan tahay in la tafatiro qoraalka shaxanka, beddelo jihada fallaadha, iwm., tan waxaa si toos ah loogu samayn karaa koodhka bandhigga, halkii laga beddeli lahaa sawirka meel ka mid ah oo dib loo gelin lahaa bogga. Tani waxay si weyn u kordhineysaa xawaaraha shaqada ee boggaga.

Tusaale aad u adag:

== НСвоспроизводимая сборка
[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;}
}
-----

natiijada

Soo bandhigida kood ahaan, ama sababta aanan u isticmaalin Powerpoint

Jid ahaan, way ku habboon tahay in lagu tijaabiyo Graphviz oo laga saaro sawirada bogga Graphviz online.

Ugu dambeyntii, haddii aad u baahan tahay inaad geliso jaantuska socodka, jaantuska fasalka ama jaantuska kale ee jaantuska, markaa nidaam kale oo lagu dhex daray AsciiDoctor ayaa soo samatabbixin kara, PlantUML. Saaxiibkay Nikolai Potashnikov ayaa wax ka qoray awoodaha ballaaran ee PlantUML boosto gaar ah.

U beddelashada mashruuca soo-bandhigidda koodka lagu kaydiyo nidaamka xakamaynta nooca ayaa suurtogal ka dhigaya in la abaabulo shaqo wadajir ah oo ku saabsan bandhigga, marka hore, si loo kala saaro hawlaha abuurista nuxurka iyo naqshadeynta. Naqshadeynta sawirada (fonts, backgrounds, indents) ee RevealJS waxaa lagu sifeeyay iyadoo la isticmaalayo CSS. Xirfadeyda shakhsi ahaaneed ee CSS waxaa si fiican u gudbinaya gif kan - laakiin ma ahan wax cabsi leh marka ay jiraan dad la shaqeeya CSS si aad uga xeel dheer oo uga dhaqso badan aniga. Natiijo ahaan, waxay soo baxday in iyada oo wakhtiga kama dambaysta ah ee soo-dhowaynta soo jeedinta, aan ku shaqeyn karno faylal kala duwan isku mar iyada oo loo marayo Git oo aan horumarino xawaaraha iskaashiga oo aan macquul ahayn marka loo diro faylasha .pptx boostada.

Dhisida bog HTML ah oo leh sawiro

Ilaha qoraalka cad aad bay u fiican yihiin, laakiin sidee baad ugu ururin kartaa bandhigga laftiisa?

AsciiDoctor waa mashruuc ku qoran Ruby, waxaana jira dhowr siyaabood oo loo socodsiiyo. Marka hore, waxaad rakibi kartaa luqadda Ruby oo aad si toos ah u maamuli kartaa asciidoctor, taas oo laga yaabo inay tahay waxa ugu dhow horumarinta Ruby.

Haddii aadan rabin inaad qasto rakibaadda Ruby, waxaad isticmaali kartaa sawirka docker asciidoctor/docker-asciidoctor, kaas oo, marka la bilaabayo, aad ku xidhi karto galka iyo ilaha mashruuca adoo isticmaalaya VOLUME oo aad natiijada ka heli karto meel cayiman.

Doorashada aan doortay waxay u ekaan kartaa wax aan la filayn, laakiin waa tan iigu habboon horumariyaha Java ahaan. Uma baahna rakibida Ruby ama docker, laakiin waxay kuu ogolaanaysaa inaad abuurto sawiro adiga oo isticmaalaya qoraalka Maven.

Ujeedadu waa in mashruuca JRuby - Hirgelinta Java ee luqadda Ruby waa mid aad u wanaagsan oo kuu ogolaanaysa inaad ku socodsiiso wax kasta oo loo abuuray Ruby mashiinka Java, iyo socodsiinta AsciiDoctor waa mid ka mid ah isticmaalka ugu badan ee JRuby.

helitaanka asciidoctor-maven-plugin wuxuu kuu ogolaanayaa inaad ururiso dukumeenti AsciiDoctor oo ka mid ah mashruuca Java (oo aan si firfircoon u isticmaalno). Isla mar ahaantaana, AsciiDoctor iyo JRuby si toos ah ayaa loo soo dejiyaa Maven, AsciiDoctor waxay ku shaqeysaa jawiga JRuby: looma baahna in lagu rakibo wax mashiinka! (marka laga reebo xirmada graphviz, kaas oo loo baahan yahay haddii aad rabto in aad isticmaasho GraphViz ama PlantUML garaafyada.) Kaliya geli faylashaada .adoc galka src/main/asciidoc/. Halkan tusaale ahaan pomnikururinta boodhadhyo leh jaantusyo.

U beddel sawirada PDF

Inkasta oo nooca HTML-ka ee sawir-qaadaha uu yahay mid isku filan, haddana waa lagama maarmaan in la haysto nuqul PDF ah oo ka mid ah boggaga. Marka hore, waxay dhacdaa in shirarka qaar ee aan siinin afhayeenka fursad uu ku xiro laptopkiisa, waxay u baahan yihiin sawirro "si adag qaabka pptx ama pdf," iyaga oo aan filayn inay sidoo kale ku jiraan HTML. Marka labaad, way fiican tahay inaad u soo dirto qabanqaabiyeyaasha nooc aan la tafatirin oo ka mid ah boggagaaga sida lagu muujiyey warbixinta, oo ah qaab PDF ah oo loogu talagalay daabacaadda faylka ku jira agabka shirka.

Nasiib wanaag, utility Node.js ayaa gacanta ku haya hawshan. cajalad, ku dhisan Ciyaar -yaqaanka - nidaamyada iswada ee lagu maareeyo biraawsarkaaga Chrome. Waxaad u rogi kartaa bandhigga RevealJS PDF adoo wata amarka

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

Laba xeeladood markii la bilaabayay cajalad-deeqaha, oo ay ahayd inaan ku nimaadno tijaabo iyo khalad:

  • xallinta iyada oo loo marayo parameter -s waa in lagu qeexaa margin laba laab ah, haddii kale waxaa dhici karta in ay dhibaato ka timaado natiijada beddelka

  • URL-ka nooca HTML ee bandhigga waxaad u baahan tahay inaad dhaafto halbeeg ?fragments=true, kaas oo u samayn doona bog PDF u gaar ah xaalad kasta oo dhexe ee boggaaga (tusaale, shan bog oo shan dhibcood ah haddii midba midka kale la tuso). Tani waxay kuu ogolaan doontaa inaad isticmaasho PDF-gaas kaligiis ahaan si aad u soo bandhigto inta lagu jiro warbixinta.

Isku-ururinta tooska ah iyo daabacaadda shabakadda

Way ku habboon tahay marka sawir-qaadista si toos ah loo ururiyo marka isbeddel lagu sameeyo nidaamka xakamaynta nooca, iyo xitaa aad u habboon marka si toos ah loo soo dhejiyo boggaga internetka ee isticmaalka dadweynaha. Sawirada internetka ayaa si sahal ah loogu "ciyaari karaa" daawadayaasha hortooda mishiin kasta oo ku xiran internetka iyo mashiinada.

Maadaama aan u isticmaalno GitHub shaqadeena, doorashada dabiiciga ah ee nidaamka CI waa TravisCI, iyo martigelinta bandhigyo diyaarsan - github.io. Fikradda ka dambeysa github.io waa in wax kasta oo ku jira waxyaabo taagan lagu dhajiyay laan gh-pages ee mashruucaaga GitHub, waxa laga heli karaa at <вашС имя>.gihub.io/<ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚>.

Buuxi faylka qaabeynta TravisCI, oo ay ku jiraan ururinta nooca HTML ee bogga iyadoo la adeegsanayo Maven, u beddelashada PDF iyadoo la adeegsanayo decktape, iyo ku dhejinta natiijooyinka dunta gh-pages si loogu daabaco github.io, waxay u egtahay sidaas darteed.

Si loo dhiso mashruucan dhinaca TravisCI, waxaad u baahan tahay inaad habayso doorsoomayaasha deegaanka

  • GH_REF - qiimaha sida github.com/inponomarev/csa-hb
  • GH_TOKEN - Calaamadda gelitaanka GitHub Waxaad ka heli kartaa GitHub goobaha boggaaga, Developer Settings -> Calaamadaha gelitaanka shakhsi ahaaneed. Haddii aad soo bandhigto bandhiga kaydka dadweynaha, markaa calaamaddan waa ku filan tahay inaad qeexdo heerka kaliya ee gelitaanka "Gelitaanka kaydka dadweynaha".
  • GH_USER_EMAIL / GH_USER_NAME - Magaca/lammaanaha iimaylka ah oo ay ka wakiil yihiin riixitaanka dunta la fulin doono gh-pages.

Markaa, mid kasta oo ka mid ah wuxuu ballan qaaday koodka soo jeedinta ee GitHub waxay keenaysaa in boggaga si toos ah dib loogu dhiso qaabab HTML iyo PDF dibna loo soo geliyo github.io. (Dabcan, waa inaad kaliya gelisaa github.io bandhigyada aad ugu dambeyntii rabto inaad si guud u soo bandhigto.)

Tusaalooyinka mashaariicda

Ugu dambeyntii, halkan waxaa ah isku xirka dhowr tusaale oo mashruucyo soo bandhigid ah oo leh qoraallada Maven ee la habeeyey iyo qaabeynta CI ee Travis-CI, kuwaas oo la isku xiri karo oo la isticmaali karo marka la abuurayo mashaariicdaada bandhigga:

Nabadgelyo Powerpoint! Uma maleynayo inaan waligey kaaga baahan doono bandhigyo farsamo :)

Source: www.habr.com

Add a comment