Kuwonetsa ngati khodi, kapena Chifukwa Chake sindigwiritsanso ntchito PowerPoint

Kuwonetsa ngati khodi, kapena Chifukwa Chake sindigwiritsanso ntchito PowerPoint

Ndikuganiza kuti ndapereka maulaliki ambiri kwa anzanga, makasitomala, komanso kuyankhula pagulu pantchito yanga ya IT. Kwa zaka zambiri, Powerpoint yakhala chisankho chachilengedwe komanso chodalirika kwa ine ngati chida chopangira ma slide. Koma chaka chino zinthu zasintha qualitatively. Kuyambira February mpaka May, ndinali ndi mwayi wolankhula pamisonkhano isanu, ndipo zithunzi za malipoti zinayenera kukonzedwa mu nthawi yochepa, koma ndi khalidwe lapamwamba. Panabuka funso lokhudza kugaΕ΅ira mbali imeneyo ya ntchito yokhudzana ndi kawonekedwe ka zithunzithunzizo kwa anthu ena. Nthawi ina ndinayesa kugwira ntchito ndi wopanga, kutumiza mafayilo a .pptx ndi makalata, koma ntchitoyo inasanduka chisokonezo: palibe amene ankadziwa kuti ndi mtundu wanji wa slide umene unali "watsopano", ndipo mapangidwewo anali "akuyenda" chifukwa cha kusiyana kwa Powerpoint. mitundu ndi mafonti pamakina athu. Ndipo ndinaganiza zoyesa china chatsopano. Ndinayesa, ndipo kuyambira pamenepo sindinaganize zobwerera ku Powerpoint.

Tikufuna chiyani

Pafupifupi chaka ndi theka chapitacho, kampani yathu inasiya kugwiritsa ntchito Mawu kuti ipange zolemba za polojekiti, ikukumana ndi mavuto omwewo: ngakhale kuti Mawu ndi abwino polemba chikalata chaching'ono, pamene voliyumu ikukula, zovuta zimadza ndi mgwirizano ndi kupeza apamwamba komanso apamwamba. mapangidwe ogwirizana. Chisankho chathu chinapitirira AsciiDoctor, ndipo sitisiya kusangalala ndi chisankho ichi, koma iyi ndi mutu wa nkhani ina. Panthawi yomweyi, tidaphunzira momwe imodzi mwa mfundo za DevOps za "chilichonse ngati code", ndiye kuti kusankha zofunikira paukadaulo watsopano wopanga zithunzi zowonetsera kunali kodziwikiratu:

  1. Chiwonetserocho chikuyenera kukhala fayilo yachidule m'chinenero cholembera.
  2. Ma slide athu ndi okhudza ntchito zachitukuko, kotero zolembera ziyenera kukhala zosavuta kuziyika, osagwiritsa ntchito machitidwe akunja
    • zidutswa za ma code okhala ndi kuwunikira kwa syntax,
    • zithunzi zosavuta monga mawonekedwe a geometric olumikizidwa ndi mivi,
    • Zithunzi za UML, ma flowchart ndi zina zambiri.
  3. Zolemba zowonetsera ziyenera kusungidwa mu dongosolo lowongolera.
  4. Kutsimikizira ndi kusonkhanitsa zithunzi zomalizidwa ziyenera kuchitidwa mu dongosolo la CI.

Masiku ano, pali njira ziwiri zopangira ma slide m'zilankhulo zolembera: phukusi bulu ya LaTeX kapena imodzi mwamapangidwe opangira zithunzi pogwiritsa ntchito HTML/CSS (Vumbulutsani, tchulani, pansi.js ndi ena ambiri).

Ngakhale kuti moyo wanga uli mu LaTeX, malingaliro anga adandiuza kuti kusankha yankho lomwe sindingakhale ndekha ndikugwiritsira ntchito liyenera kukhala kumbali ya yankho lodziwika bwino kwa anthu ambiri. Sikuti aliyense amadziwa LaTeX, ndipo ngati zomwe mumachita tsiku ndi tsiku sizikugwirizana ndi kulemba zolemba zasayansi, ndiye kuti simungathe kukhala ndi nthawi yoti mumizidwe mudziko lalikulu, lovuta kwambiri la dongosolo lino.

Komabe, luso la HTML/CSS si luso lofala kwambiri: Ine, mwachitsanzo, sindiri wodziwa bwino. Mwamwayi, AsciiDoctor wodziwika kale amabwera kudzapulumutsa: chosinthira asciidoctor-revealjs imakulolani kuti mupange zithunzi za RevealJS pogwiritsa ntchito chizindikiro cha AsciiDoctor. Ndipo ndizosavuta kuphunzira komanso kupezeka kwa aliyense!

Momwe mungasinthire zithunzi

Kuti mumvetsetse tanthauzo la ma slides pa AsciiDoctor, njira yosavuta ndiyo kupereka zitsanzo zenizeni. Izi zonse zachokera ku masilaidi enieni omwe ndidapanga pamisonkhano yanga chaka chino.

Chithunzi chokhala ndi mutu ndi mndandanda wazinthu zomwe zikutsegula chimodzi pambuyo pa chimzake:

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

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

chifukwa

Kuwonetsa ngati khodi, kapena Chifukwa Chake sindigwiritsanso ntchito PowerPoint

Mauthenga apamutu ndi magwero okhala ndi mawu owunikira:

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

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

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

chifukwa

Kuwonetsa ngati khodi, kapena Chifukwa Chake sindigwiritsanso ntchito PowerPoint

Pokonzekera nkhani, ma code demos amasinthidwa kangapo ndi kusintha, kotero kuti amatha kukopera ndi kuyika "code yaiwisi" mwachindunji mu slide ndi yamtengo wapatali, kuonetsetsa kuti chiwonetserochi ndi chaposachedwa popanda kudandaula za kuwunikira kwa syntax.

Mutu, fanizo ndi mawu (mawonekedwe a slide amapangidwa m'maselo AsciiDoctor matebulo):

== Kafka Streams in Action

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

chifukwa

Kuwonetsa ngati khodi, kapena Chifukwa Chake sindigwiritsanso ntchito PowerPoint

Nthawi zina mutu sufunikira, ndipo kuti mufotokozere mfundo yanu mumangofunika chithunzi chonse:

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

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

chifukwa

Kuwonetsa ngati khodi, kapena Chifukwa Chake sindigwiritsanso ntchito PowerPoint

KaΕ΅irikaΕ΅iri lingaliro limafunikira kuchirikizidwa ndi chithunzi chosavuta, mwa β€œmabwalo olumikizidwa ndi mivi.” Mwamwayi, AsciiDoctor ikuphatikizidwa ndi dongosolo Graphviz - chilankhulo chomwe chimakulolani kufotokoza zojambula za ma graph potengera kufotokozera kwa vertices ndi kulumikizana pakati pawo. Graphviz imatenga njira yophunzirira, koma kutengera zitsanzo zomwe zaperekedwa, ndizosavuta kuchita! Izi ndi momwe zimawonekera:

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

chifukwa

Kuwonetsa ngati khodi, kapena Chifukwa Chake sindigwiritsanso ntchito PowerPoint

Pakakhala kofunikira kusintha mawu ofotokozera pachithunzichi, sinthani njira ya muvi, ndi zina zotero, izi zikhoza kuchitika mwachindunji mu code yowonetsera, m'malo mojambulanso chithunzicho kwinakwake ndikuchiyikanso mu slide. Izi zimakulitsa kwambiri liwiro la ntchito pazithunzi.

Chitsanzo chovuta kwambiri:

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

chifukwa

Kuwonetsa ngati khodi, kapena Chifukwa Chake sindigwiritsanso ntchito PowerPoint

Mwa njira, ndizosavuta kuyesa zithunzi za Graphviz ndi zolakwika patsamba Graphviz pa intaneti.

Pomaliza, ngati mukufuna kuyika tchati, chojambula cha kalasi kapena chojambula china chokhazikika mu slide, ndiye kuti dongosolo lina lophatikizidwa ndi AsciiDoctor litha kukuthandizani, PlantUML. Mnzanga Nikolai Potashnikov analemba za kuthekera kwakukulu kwa PlantUML positi yosiyana.

Kutembenuza pulojekiti yowonetsera kukhala ma code osungidwa pamakina owongolera kumapangitsa kuti pakhale zotheka kukonza ntchito yolumikizana pazowonetsera, choyamba, kulekanitsa ntchito zopanga zomwe zili ndi mapangidwe. Mapangidwe a zithunzi (mafonti, maziko, ma indents) mu RevealJS akufotokozedwa pogwiritsa ntchito CSS. Luso langa ndi CSS limafotokozedwa bwino ndi izi gif - koma sizowopsa ngati pali anthu omwe amagwira ntchito ndi CSS mochenjera komanso mwachangu kuposa ine. Chotsatira chake, zikuwoneka kuti ndi nthawi yomwe ikuyandikira mofulumira yowonetsera, tikhoza kugwira ntchito pamafayilo osiyanasiyana panthawi imodzi kudzera pa Git ndikupanga liwiro la mgwirizano lomwe silingatheke potumiza mafayilo a .pptx ndi makalata.

Kupanga tsamba la HTML ndi zithunzi

Magwero osavuta ndi abwino, koma mumawaphatikiza bwanji muzowonetsera zokha?

AsciiDoctor ndi ntchito yolembedwa ku Ruby, ndipo pali njira zingapo zoyendetsera. Choyamba, mutha kukhazikitsa chilankhulo cha Ruby ndikuyendetsa asciidoctor mwachindunji, chomwe mwina ndichoyandikira kwambiri kwa opanga Ruby.

Ngati simukufuna kusokoneza ndikuyika Ruby, mutha kugwiritsa ntchito chithunzi cha docker asciidoctor/docker-asciidoctor, momwe, mukakhazikitsidwa, mutha kulumikiza chikwatu ndi magwero a polojekiti kudzera pa VOLUME ndikupeza zotsatira pamalo omwe mwapatsidwa.

Njira yomwe ndasankha ingawoneke yosayembekezereka, koma ndiyo yabwino kwambiri kwa ine monga wopanga Java. Sichifuna kuyika kwa Ruby kapena docker, koma kukulolani kuti mupange zithunzi pogwiritsa ntchito Maven script.

Mfundo ndi yakuti polojekitiyi JRuby - Kukhazikitsa kwa Java kwa chilankhulo cha Ruby ndikwabwino kwambiri kotero kuti kumakupatsani mwayi wothamangitsa chilichonse chomwe chapangidwa kwa Ruby mumakina a Java, ndikuyendetsa AsciiDoctor ndi imodzi mwazomwe zimagwiritsidwa ntchito kwambiri ndi JRuby.

kupezeka asciidoctor-maven-plugin amakulolani kusonkhanitsa zolemba za AsciiDoctor zomwe zili gawo la polojekiti ya Java (yomwe timagwiritsa ntchito mwakhama). Panthawi imodzimodziyo, AsciiDoctor ndi JRuby zimatsitsidwa zokha ndi Maven, ndipo AsciiDoctor imayendetsa malo a JRuby: palibe chifukwa choyika chirichonse pamakina! (Kupatula phukusi graphviz, zomwe zimafunika ngati mukufuna kugwiritsa ntchito zithunzi za GraphViz kapena PlantUML.) Ingoyikani mafayilo anu a .adoc mufoda. src/main/asciidoc/. Apa chitsanzo cha pomnikkusonkhanitsa zithunzi ndi zithunzi.

Sinthani zithunzi kukhala PDF

Ngakhale mtundu wa HTML wama slides ndi wokwanira wokwanira, ndikofunikirabe kukhala ndi mtundu wa PDF wama slides. Choyamba, zimachitika kuti pamisonkhano ina yomwe sipatsa wokamba nkhani mwayi wolumikiza laputopu yake, amafunikira zithunzi "molimba mu pptx kapena mtundu wa pdf," osayembekezera kuti nawonso ali mu HTML. Kachiwiri, ndi bwino kutumiza okonza ma slide anu osasinthidwa monga momwe adasonyezera pa lipotilo, mumtundu wa PDF kuti fayiloyo ifalitsidwe muzolemba za msonkhano.

Mwamwayi, ntchito ya Node.js imagwira ntchitoyi. tepi, yomangidwa pa maziko Wopupuluma - makina odzipangira okha pakuwongolera msakatuli wa Chrome. Mutha kusintha mawonekedwe a RevealJS kukhala PDF ndi lamulo

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

Njira ziwiri poyambitsa decktape, zomwe tidayenera kubwera nazo pakuyesa ndi zolakwika:

  • kuthetsa kudzera parameter -s ziyenera kutchulidwa ndi malire awiri, apo ayi pangakhale mavuto ndi zotsatira zotembenuka

  • mu ulalo wa mtundu wa HTML wa chiwonetserocho muyenera kudutsa parameter ?fragments=true, zomwe zimapanga tsamba lapadera la PDF pachigawo chilichonse chapakatikati cha slide yanu (mwachitsanzo, masamba asanu pazipolopolo zisanu ngati awonetsedwa chimodzi pambuyo pa chimzake). Izi zikuthandizani kuti mugwiritse ntchito PDF yotere payokha ngati chilankhulo pakupereka lipoti.

Kusonkhanitsa ndi kusindikiza pa intaneti

Ndikwabwino ngati masilaidi apangidwa zokha pomwe zosintha zasinthidwa pamakina owongolera, ndipo zimakhala zosavuta ngati zithunzi zojambulidwa zokha zimayikidwa pa intaneti kuti zigwiritsidwe ntchito ndi anthu. Ma Slide ochokera pa intaneti amatha "kuseweredwa" mosavuta pamaso pa omvera kuchokera pamakina aliwonse olumikizidwa ndi intaneti komanso projekiti.

Popeza timagwiritsa ntchito GitHub pantchito yathu, kusankha kwachilengedwe kwa dongosolo la CI ndi Travis CI, ndi kuchititsa mawonetsero okonzeka - github.io. Lingaliro kumbuyo kwa github.io ndikuti chilichonse chokhazikika chimatumizidwa kunthambi gh-pages za projekiti yanu pa GitHub, imapezeka pa <вашС имя>.gihub.io/<ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚>.

Malizitsani fayilo yosinthira ya TravisCI, kuphatikiza kupanga tsamba la HTML pogwiritsa ntchito Maven, kusinthira kukhala PDF pogwiritsa ntchito decktape, ndikuyika zotsatira pa ulusi. gh-pages zofalitsidwa pa github.io, zikuwoneka ngati kotero.

Kuti mumange pulojekiti yotereyi kumbali ya TravisCI, muyenera kukonza zosintha zachilengedwe

  • GH_REF - mtengo ngati github.com/inponomarev/csa-hb
  • GH_TOKEN - Chizindikiro chofikira cha GitHub. Mutha kuzipeza kuchokera ku GitHub muzokonda zanu, Zokonda Madivelopa -> Zizindikiro Zofikira. Ngati muyika chiwonetsero kumalo osungira anthu, ndiye kuti chizindikirochi ndi chokwanira kutchula gawo lokhalo lofikira "Pezani malo osungira anthu onse".
  • GH_USER_EMAIL / GH_USER_NAME - dzina / imelo awiri m'malo mwa zomwe kukankhira ku ulusi kudzachitika gh-pages.

Chifukwa chake, kudzipereka kulikonse pamakina owonetsera pa GitHub kumapangitsa kuti zithunzizo zimangomangidwanso mu HTML ndi ma PDF ndikukwezedwanso ku github.io. (Zachidziwikire, muyenera kungoyika ku github.io zomwe mumafuna kuziwonetsa poyera.)

Zitsanzo zamapulojekiti

Pomaliza, nazi maulalo azitsanzo zingapo zamapulojekiti owonetsera omwe ali ndi zolemba za Maven makonda ndi kasinthidwe ka CI kwa Travis-CI, yomwe imatha kupangidwa ndikugwiritsidwa ntchito popanga mapulojekiti anu owonetsera:

Chabwino Powerpoint! Sindikuganiza kuti ndidzakufunani pazowonetsa zaukadaulo :)

Source: www.habr.com

Kuwonjezera ndemanga