Fa'aaliga e fai ma fa'ailoga, po'o le Aisea ua ou le toe fa'aogaina ai le Powerpoint

Fa'aaliga e fai ma fa'ailoga, po'o le Aisea ua ou le toe fa'aogaina ai le Powerpoint

Ou te manatu ua ou tuuina atu le tele o folasaga i paʻaga, tagata faʻatau, ma tautalaga lautele i laʻu galuega IT. Mo le tele o tausaga, o le Powerpoint o se filifiliga masani ma faʻatuatuaina mo aʻu e avea o se mea faigaluega faʻapipiʻi. Ae o lenei tausaga ua suia tulaga lelei. Mai ia Fepuari ia Me, na ou maua ai le avanoa e lauga ai i konafesi e lima, ma o ata mo lipoti sa tatau ona saunia i se taimi puupuu, ae i se tulaga maualuga. Na tulai mai le fesili e uiga i le faamatuu atu o lena vaega o le galuega e faatatau i le ata vaaia o ata faasee i isi tagata. Na ou taumafai muamua e galulue ma se tagata mamanu, auina atu faila .pptx i meli, ae o le galuega na liua i le vevesi: e leai se tasi na iloa po o le a le faʻasologa o faʻataʻitaʻiga o le "fou", ma o le faatulagaga na "gaioi" ona o le eseesega i le Powerpoint lomiga ma fonuka i luga oa tatou masini . Ma sa ou filifili e faataitai se mea fou. Na ou taumafai, ma talu mai lena taimi ou te leʻi mafaufau e toe foʻi i le Powerpoint.

O le a le mea tatou te mananao ai

E tusa ma le tausaga ma le afa talu ai, na taofia ai e le matou kamupani le faʻaaogaina o le Word e fatu ai faʻamaumauga o galuega, na feagai ma faʻafitauli tutusa: e ui lava o le Word e lelei mo le taina o se tamaʻi pepa, aʻo faʻatupulaia le tele, o faʻafitauli e tulaʻi mai i le galulue faʻatasi ma le mauaina o le tulaga maualuga ma mamanu tuufaatasi. Na pa'u la matou filifiliga Faʻatonu, ma e le mafai ona taofia lo tatou olioli i lenei filifiliga, ae o se autu lenei mo se isi tusiga. I le taimi lava e tasi, na matou aʻoaʻoina ai le aoga o se tasi o taʻiala DevOps o "mea uma e pei o code", o lea o le filifiliga o manaʻoga mo tekinolosi fou mo le fatuina o faʻataʻitaʻiga na matua manino lava:

  1. O le fa'aaliga e tatau ona avea ma faila fa'amatalaga manino i se gagana fa'ailoga.
  2. O a matou faʻataʻitaʻiga e faʻatatau i galuega atinaʻe, o lea e tatau ai ona faʻafaigofie ona faʻapipiʻi le faʻailoga, e aunoa ma le faʻaogaina o faiga i fafo
    • fa'ailoga fa'ailoga fa'atasi ma fa'ailoga fa'asologa,
    • ata faigofie i foliga o foliga geometric e fesoʻotaʻi i aū,
    • UML ata, siata tafe ma isi mea.
  3. O le ata faataitai e tatau ona teuina i totonu o se faiga e pulea ai fa'amatalaga.
  4. O le faʻamaonia ma le faʻapipiʻiina o faʻataʻitaʻiga ua maeʻa e tatau ona faia i se faiga CI.

I aso nei, e lua filifiliga autu mo le fatuina o faʻataʻitaʻiga i gagana faʻailoga: afifi pupula mo LaTeX poʻo se tasi o faʻavae mo le fatuina o faʻataʻitaʻiga e faʻaaoga ai le HTML/CSS (FaʻaaliaJS, manatu, deck.js ma le tele o isi).

E ui lava o loʻo taoto loʻu agaga i LaTeX, na faʻatonuina e loʻu mafaufau o le filifiliga o se fofo e le naʻo aʻu e faʻaaogaina e tatau ona i luga o le itu o se fofo masani i se liʻo lautele o tagata. E le iloa e tagata uma LaTeX, ma afai o au masaniga i aso taitasi e le fesoʻotaʻi ma le tusiaina o tala faʻasaienisi, o lona uiga e te le maua se taimi e faʻatofu ai oe lava i le lalolagi tele ma le lavelave o lenei faiga.

Ae ui i lea, o le puleaina o HTML / CSS e le o se tomai lautele: O aʻu, mo se faʻataʻitaʻiga, ou te mamao ese mai le atoatoa i ai. O le mea e lelei ai, o le AsciiDoctor masani e sau e laveai: o se tagata liliu mai asciidoctor-revealjs fa'atagaina oe e fai fa'ase'e RevealJS e fa'aoga ai le fa'ailoga AsciiDoctor. Ma e faigofie ona aʻoaʻoina ma maua e tagata uma!

Fa'afefea ona fa'ailoga fa'ase'e

Ina ia malamalama i le aano o faʻasologa faʻasologa i luga ole AsciiDoctor, o le auala pito sili ona faigofie o le tuʻuina atu lea o faʻataʻitaʻiga faʻapitoa. O nei mea uma mai faʻataʻitaʻiga moni na ou faia mo aʻu faʻasalalauga i lenei tausaga.

O se fa'ase'e o lo'o i ai se ulutala ma se lisi o mea o lo'o tatalaina fa'atasi ma le isi:

== Зачем нам Streams API?

[%step]
* Real-time stream processing
* Stream-like API (map / reduce)
* Под капотом:
** Автоматический offset commit
** Ребалансировка
** Внутреннее состояние обработчиков
** Легкое масштабирование

iʻuga

Fa'aaliga e fai ma fa'ailoga, po'o le Aisea ua ou le toe fa'aogaina ai le Powerpoint

Ulutala ma fa'apogai fa'ailoga snippet fa'atasi ai ma fa'ailoga fa'ailoga:

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

[source,java]
----
StreamsConfig config = ...;
//Здесь устанавливаем всякие опции

Topology topology = new StreamsBuilder()
//Здесь строим топологию
....build();
----

iʻuga

Fa'aaliga e fai ma fa'ailoga, po'o le Aisea ua ou le toe fa'aogaina ai le Powerpoint

I le sauniuni mo se tautalaga, code demos e toe faʻaleleia ma faʻaleleia atili, o lea o le mafai ona kopi vave ma faapipii le "code raw" saʻo i totonu o se faʻaseʻe e taua tele, faʻamautinoa o loʻo faʻafou le demo e aunoa ma le popole e uiga i le faʻamalamalamaina o le syntax.

Igoa, ata fa'atusa ma tusitusiga (fa'atulagaina i luga o le fa'ase'e o lo'o faia i sela AsciiDoctor laulau):

== Kafka Streams in Action

[.custom-style]
[cols="30a,70a"]
|===
|image::KSIA.jpg[]
|
* **William Bejeck**, +
“Kafka Streams in Action”, November 2018
* Примеры кода для Kafka 1.0
|===

iʻuga

Fa'aaliga e fai ma fa'ailoga, po'o le Aisea ua ou le toe fa'aogaina ai le Powerpoint

O nisi taimi e le manaʻomia se ulutala, ma e faʻaalia lou manatu e te manaʻomia se ata atoa:

[%notitle]
== Жить в легаси нелегко

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

iʻuga

Fa'aaliga e fai ma fa'ailoga, po'o le Aisea ua ou le toe fa'aogaina ai le Powerpoint

E masani lava o se manatu e manaʻomia ona lagolagoina e se ata faigofie, i le tulaga o "sikuea e fesoʻotaʻi i aū." O le mea e lelei ai, ua tuʻufaʻatasia le AsciiDoctor ma le faiga Graphviz - o se gagana e mafai ai ona e faʻamatalaina ata kalafi e faʻavae i luga o faʻamatalaga o vertices ma fesoʻotaʻiga i le va o latou. E fai e le Graphviz se fa'aa'oa'oga, ae fa'atatau i fa'ata'ita'iga ua tu'uina atu, e fai lava si faigofie! O le mea lenei e foliga mai:

== Пишем “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;}
}
-----

iʻuga

Fa'aaliga e fai ma fa'ailoga, po'o le Aisea ua ou le toe fa'aogaina ai le Powerpoint

I le tulaga pe a manaʻomia le faʻasaʻoina o le faʻamatalaga i luga o le ata, suia le itu o le aū, ma isi mea, e mafai ona faia saʻo i le faʻailoga faʻaaliga, nai lo le toe faʻapipiʻiina o le ata i se mea ma toe faʻapipiʻi i totonu o le ata. O lenei mea e matua faateleina ai le saoasaoa o le galue i luga o slides.

O se faʻataʻitaʻiga sili atu ona lavelave:

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

iʻuga

Fa'aaliga e fai ma fa'ailoga, po'o le Aisea ua ou le toe fa'aogaina ai le Powerpoint

I le ala, e faigofie ona faʻataʻitaʻi i le Graphviz ma faʻapipiʻi ata i luga o le itulau Graphviz luga ole laiga.

Ma le mea mulimuli, afai e te manaʻomia le faʻaofiina o se siata faʻasolosolo, ata vasega poʻo isi faʻataʻitaʻiga faʻataʻitaʻi i totonu o se faʻataʻitaʻiga, ona mafai lea e se isi faiga faʻapipiʻi faʻatasi ma AsciiDoctor ona sau e laveai, PlantUML. Na tusia e laʻu uo Nikolai Potashnikov e uiga i le tele o gafatia o PlantUML pou ese.

O le fa'aliliuina o le poloketi fa'aaliga i le fa'ailoga o lo'o teuina i luga o se fa'atonuga fa'atonuga e mafai ai ona fa'atulaga galuega fa'atasi i luga o le fa'aaliga, muamua lava, e tu'u'ese'ese ai galuega o le fatuina o mea ma mamanu. O le mamanu o slides (fonts, backgrounds, indents) i RevealJS o loʻo faʻamatalaina e faʻaaoga ai le CSS. O lo'u tomai patino i le CSS e sili ona momoli mai e lenei gif - ae e le fa'afefe pe a iai tagata e galulue fa'atasi ma le CSS e sili atu le poto ma le vave nai lo a'u. O le iʻuga, e faʻaalia mai i le vave oʻo mai o le taimi e tuʻuina atu ai se faʻaaliga, e mafai ona matou galulue i faila eseese i le taimi e tasi e ala i Git ma atiina ae se saoasaoa o le galulue faʻatasi e le mafai pe a lafoina faila .pptx i meli.

Fausia se itulau HTML ma faʻataʻitaʻiga

O fa'amatalaga manino e lelei tele, ae fa'apefea ona e tu'ufa'atasia i totonu o le fa'aaliga lava ia?

AsciiDoctor o se poloketi na tusia i Ruby, ma e tele auala e faʻatino ai. Muamua, e mafai ona e faʻapipiʻi le gagana Ruby ma faʻatautaia saʻo le asciidoctor, atonu o le mea sili lea ona vavalalata i Ruby developers.

Afai e te le manaʻo e faʻafefe i le faʻapipiʻiina o Ruby, e mafai ona e faʻaogaina le ata o le docker asciidoctor/docker-asciidoctor, lea, pe a faʻalauiloa, e mafai ona e faʻafesoʻotaʻi le faila ma punaoa o le poloketi e ala i le VOLUME ma maua le taunuuga i se nofoaga tuʻuina atu.

O le filifiliga na ou filifilia atonu e foliga mai e leʻi mafaufauina, ae e sili ona faigofie mo aʻu o se Java developer. E le manaʻomia le faʻapipiʻiina o Ruby poʻo le docker, ae faʻatagaina oe e faʻapipiʻi ata e faʻaaoga ai le Maven script.

O le manatu e faapea o le poloketi JRuby - O le faʻatinoina o Java o le gagana Ruby e matua lelei lava e mafai ai ona e faʻataʻitaʻiina toetoe lava o soʻo se mea na faia mo Ruby i se masini Java, ma o le faʻaogaina o le AsciiDoctor o se tasi lea o faʻaoga masani a JRuby.

avanoa asciidoctor-maven-plugin faʻatagaina oe e aoina faʻamaumauga a le AsciiDoctor o se vaega o se poloketi Java (lea matou te faʻaaogaina). I le taimi lava e tasi, AsciiDoctor ma JRuby e otometi lava ona sii mai e Maven, ma AsciiDoctor e tamoe i le siosiomaga JRuby: e leai se manaʻoga e faʻapipiʻi se mea i luga o le masini! (E le aofia ai le afifi graphviz, lea e manaʻomia pe afai e te manaʻo e faʻaoga GraphViz poʻo PlantUML ata.) Naʻo le tuʻu o au faila .adoc i totonu o se pusa. src/main/asciidoc/. Iinei fa'ata'ita'iga o se pomnikaoina fa'ata'ita'i ma ata.

Su'e fa'ase'e ile PDF

E ui lava o le HTML version o slides e lava lava le tagata lava ia, e manaʻomia pea le i ai o se PDF version of slides. Muamua, e tupu i nisi o konafesi e le maua ai e le failauga le avanoa e faʻafesoʻotaʻi ai lana lava komepiuta, latou te manaʻomia faʻataʻitaʻiga "faʻapitoa i le pptx poʻo le pdf format," e aunoa ma le faʻamoemoe o loʻo i ai foi i le HTML. Lona lua, e lelei le tuʻuina atu i le au faʻatulagaina se faʻamatalaga e leʻi faʻasalalauina o au faʻataʻitaʻiga e pei ona faʻaalia i le lipoti, i le PDF format mo le lolomiina o le faila i mea o le konafesi.

O le mea e lelei ai, o le aoga Node.js e faʻaaogaina lenei galuega. lipine fa'amau, fausia i luga o le faavae Taifau - faiga otometi mo le puleaina o le Chrome browser. E mafai ona e faaliliuina le faʻaaliga RevealJS i le PDF ma le faʻatonuga

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

E lua togafiti pe a faʻalauiloa le tapeke, lea e tatau ona matou faia e ala i tofotofoga ma mea sese:

  • fofo e ala i parakalafa -s e tatau ona faʻamaoti faʻatasi ma se faʻailoga faʻalua, a le o lea e ono iai ni faʻafitauli i taunuuga o le liua

  • i le URL o le HTML version o le faʻaaliga e te manaʻomia e pasia se parakalafa ?fragments=true, lea o le a fatuina ai se itulau PDF ese mo tulaga taʻitasi taʻitasi o lau faʻataʻitaʻiga (mo se faʻataʻitaʻiga, itulau e lima mo mataʻitusi e lima pe a faʻaalia le tasi ma le isi). Ole mea lea ole a fa'atagaina oe e fa'aogaina se PDF na'o oe e fai ma fa'amatalaga ile taimi ole lipoti.

Otometi fa'apotopoto ma fa'asalalau i luga ole laiga

E faigofie pe a faʻapipiʻi faʻapipiʻi faʻataʻitaʻi pe a fai suiga i le faiga o le faʻatonutonuina, ma sili atu ona faigofie pe a faʻapipiʻi faʻapipiʻi faʻapipiʻi i luga ole Initaneti mo le faʻaoga lautele. Fa'asolo mai le Initaneti e mafai ona faigofie ona "ta'alo" i luma o le aofia mai so'o se masini e feso'ota'i i luga ole Initaneti ma se masini ata.

Talu ai matou te faʻaaogaina GitHub i la matou galuega, o le filifiliga masani o se faiga CI TravisCI, ma mo le talimaloina o fa'aaliga ua uma ona fai - github.io. O le manatu i tua github.io o soʻo se mea faʻapipiʻi tuʻuina atu i se lala gh-pages o lau poloketi ile GitHub, e avanoa ile <ваше имя>.gihub.io/<ваш проект>.

Faʻauma le faila faʻatulagaina o TravisCI, e aofia ai le tuʻufaʻatasia o le HTML version o le itulau e faʻaaoga ai Maven, liliu i le PDF e faʻaaoga ai le tapepe, ma le faʻapipiʻiina o taunuuga i se filo gh-pages mo faʻasalalauga ile github.io, e foliga mai ina.

Ina ia fausia sea poloketi i luga o le itu TravisCI, e tatau ona e faʻatulagaina suiga o le siosiomaga

  • GH_REF - taua pei o github.com/inponomarev/csa-hb
  • GH_TOKEN - GitHub faʻailoga avanoa. E mafai ona e mauaina mai GitHub i au faʻamatalaga faʻamatalaga, Faʻatonu Faʻatonu -> Faʻailoga Faʻapitoa Faʻapitoa. Afai e te tuʻuina atu se faʻamatalaga i se faleoloa lautele, ona lava lea mo lenei faʻailoga e faʻamaonia ai naʻo le tulaga avanoa "Access public repository".
  • GH_USER_EMAIL / GH_USER_NAME — igoa/imeli paiga e fai ma sui o le tuleiga i le filo o le a faia gh-pages.

O le mea lea, o tuʻufaʻatasiga taʻitasi o le faʻailoga faʻaalia i luga o le GitHub e maua ai faʻataʻitaʻiga otometi ona toe fausia i HTML ma PDF ma toe faʻapipiʻi i le github.io. (Ioe, e tatau ona e tuʻuina atu i le github.io na faʻaaliga e te manaʻo e faʻasalalau lautele.)

Faataitaiga o galuega faatino

Ma le mea mulimuli, o fesoʻotaʻiga nei i ni faʻataʻitaʻiga o faʻataʻitaʻiga poloketi faʻatasi ai ma faʻamaumauga Maven faʻapitoa ma le faʻatulagaina o le CI mo Travis-CI, lea e mafai ona faʻapipiʻiina ma faʻaoga pe a fatuina au lava galuega faʻalauiloa:

Tofa Powerpoint! Ou te le manatu o le a ou manaʻomia oe mo faʻamatalaga faʻapitoa :)

puna: www.habr.com

Faaopoopo i ai se faamatalaga