Taisbeanadh mar chòd, no Carson nach eil mi a’ cleachdadh Powerpoint tuilleadh

Taisbeanadh mar chòd, no Carson nach eil mi a’ cleachdadh Powerpoint tuilleadh

Tha mi a’ smaoineachadh gu bheil mi air dusanan de thaisbeanaidhean a thoirt do cho-obraichean, teachdaichean, agus bruidhinn poblach nam chùrsa-beatha IT. Airson grunn bhliadhnaichean, tha Powerpoint air a bhith na roghainn nàdarra agus earbsach dhomh mar inneal cinneasachaidh sleamhnag. Ach am-bliadhna tha an suidheachadh air atharrachadh gu càileachdail. Bho Ghearran gu Cèitean, bha cothrom agam bruidhinn aig còig co-labhairtean, agus dh'fheumadh na sleamhnagan airson na h-aithisgean a bhith air an ullachadh ann an ùine ghoirid, ach le càileachd àrd. Dh’èirich a’ cheist mu bhith a’ tiomnadh a’ phàirt sin den obair a thaobh dealbhadh lèirsinneach nan sleamhnagan gu daoine eile. Dh'fheuch mi aon uair ri bhith ag obair le dealbhaiche, a 'cur faidhlichean .pptx tron ​​​​phost, ach thionndaidh an obair gu mì-riaghailt: cha robh fios aig duine dè an dreach de na sleamhnagan a bha "as ùire", agus bha an cruth "gluasadach" air sgàth an eadar-dhealachaidh ann an Powerpoint. dreachan agus clòidean air na h-innealan againn. Agus cho-dhùin mi rudeigin ùr fheuchainn. Dh’ fheuch mi e, agus bhon uairsin cha do smaoinich mi air a dhol air ais gu Powerpoint.

Dè tha sinn ag iarraidh

O chionn timcheall air bliadhna gu leth, sguir a ’chompanaidh againn a bhith a’ cleachdadh Word gus sgrìobhainnean pròiseict a chruthachadh, an dèidh dhaibh na h-aon dhuilgheadasan a choileanadh: ged a tha Word math airson sgrìobhainn bheag a thaidhpeadh, mar a bhios an tomhas-lìonaidh a ’fàs, bidh duilgheadasan ag èirigh le co-obrachadh agus a’ faighinn càileachd agus càileachd àrd. dealbhadh aonaichte. Thuit ar roghainn Dotair Ascii, agus cha sguir sinn de bhith a’ dèanamh gàirdeachas leis an roghainn seo, ach tha seo na chuspair airson artaigil air leth. Timcheall air an aon àm, dh’ ionnsaich sinn èifeachdas aon de phrionnsapalan DevOps de “a h-uile dad mar chòd”, agus mar sin bha an roghainn de riatanasan airson an teicneòlas ùr airson sleamhnagan taisbeanaidh a chruthachadh gu math follaiseach:

  1. Feumaidh an taisbeanadh a bhith na fhaidhle teacsa sìmplidh ann an cànan comharrachaidh.
  2. Tha na sleamhnagan againn mu phròiseactan leasachaidh, agus mar sin bu chòir don chomharradh a dhèanamh furasta a chuir a-steach, gun a bhith a’ dol gu siostaman taobh a-muigh
    • pìosan còd le soilleireachadh co-chòrdadh,
    • diagraman sìmplidh ann an cruth chumaidhean geoimeatrach ceangailte le saighdean,
    • Diagraman UML, clàran-sruth agus barrachd.
  3. Feumaidh an dreach taisbeanaidh a bhith air a stòradh ann an siostam smachd dreach.
  4. Bu chòir dearbhadh agus co-chruinneachadh nan sleamhnagan crìochnaichte a dhèanamh ann an siostam CI.

An-diugh, tha dà roghainn bunaiteach ann airson sleamhnagan a chruthachadh ann an cànanan comharrachaidh: pasgan proiseactair airson LaTeX no aon de na frèaman airson sleamhnagan a chruthachadh a’ cleachdadh HTML/CSS (NochdJS, facal, deic.js agus mòran eile).

Ged a tha m’ anam na laighe ann an LaTeX, bha m’ inntinn a’ cumail a-mach gum bu chòir an roghainn de fhuasgladh nach b’ mise an aon fhear a chleachdas a bhith air taobh fuasglaidh a bha eòlach air cearcall nas fharsainge de dhaoine. Chan eil fios aig a h-uile duine LaTeX, agus mura h-eil an cleachdadh làitheil agad co-cheangailte ri bhith a’ sgrìobhadh artaigilean saidheansail, chan eil e coltach gum bi ùine agad thu fhèin a bhogadh ann an saoghal mòr, toinnte an t-siostam seo.

Ach, chan e dìreach sgil fharsaing a th’ ann am maighstireachd HTML/CSS: tha mi, mar eisimpleir, fada bho bhith làn chomasach ann. Gu fortanach, thig an AsciiDoctor a tha eòlach air mar-thà gu teasairginn: inneal-tionndaidh asciidoctor-revealjs a’ leigeil leat sleamhnagan RevealJS a chruthachadh a’ cleachdadh AsciiDoctor markup. Agus tha e furasta ionnsachadh agus ruigsinneach don h-uile duine!

Mar a nì thu còd slides

Gus tuigse fhaighinn air brìgh sleamhnagan còdaidh air AsciiDoctor, is e an dòigh as fhasa eisimpleirean sònraichte a thoirt seachad. Tha iad sin uile bho fhìor shleamhnagan a rinn mi airson na taisbeanaidhean co-labhairt agam am-bliadhna.

Sleamhnachadh le tiotal agus liosta ann an nithean a’ fosgladh aon às deidh a chèile:

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

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

thoradh air

Taisbeanadh mar chòd, no Carson nach eil mi a’ cleachdadh Powerpoint tuilleadh

Ceann-cinn agus criomag còd stòr le soilleireachadh co-chòrdadh:

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

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

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

thoradh air

Taisbeanadh mar chòd, no Carson nach eil mi a’ cleachdadh Powerpoint tuilleadh

Mar ullachadh airson òraid, bidh demos còd a’ dol tro ath-sgrùdaidhean agus leasachaidhean a-rithist, agus mar sin tha an comas an “còd amh” a chopaigeadh agus a phasgadh gu dìreach a-steach do shleamhnag air leth luachmhor, a’ dèanamh cinnteach gu bheil an demo ùraichte gun a bhith draghail mu bhith a’ soilleireachadh co-chòrdadh.

Tiotal, dealbh agus teacsa (tha cruth air an t-sleamhnag air a dhèanamh ann an ceallan Clàran AsciiDoctor):

== Kafka Streams in Action

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

thoradh air

Taisbeanadh mar chòd, no Carson nach eil mi a’ cleachdadh Powerpoint tuilleadh

Aig amannan chan eil feum air tiotal, agus gus do phuing a nochdadh chan fheum thu ach dealbh làn-sgrìn:

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

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

thoradh air

Taisbeanadh mar chòd, no Carson nach eil mi a’ cleachdadh Powerpoint tuilleadh

Gu math tric feumar taic a thoirt do bheachd le diagram sìmplidh, ann an cruth "ceàrnagan ceangailte le saighdean." Gu fortanach, tha AsciiDoctor ceangailte ris an t-siostam Graphviz - cànan a leigeas leat cunntas a thoirt air diagraman grafa stèidhichte air an tuairisgeul air vertices agus ceanglaichean eatorra. Gabhaidh Graphviz lùb ionnsachaidh, ach stèidhichte air na h-eisimpleirean a chaidh a thoirt seachad, tha e gu math furasta a dhèanamh! Seo mar a tha e coltach:

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

thoradh air

Taisbeanadh mar chòd, no Carson nach eil mi a’ cleachdadh Powerpoint tuilleadh

Anns a ’chùis nuair a dh’ fheumar an tiotal air an fhigear a dheasachadh, stiùir an t-saighead atharrachadh, msaa, faodar seo a dhèanamh gu dìreach anns a ’chòd taisbeanaidh, an àite a bhith ag ath-tharraing an dealbh an àiteigin agus ga chuir a-steach don t-sleamhnag. Tha seo a 'meudachadh gu mòr an astar a bhith ag obair air sleamhnagan.

Eisimpleir nas iom-fhillte:

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

thoradh air

Taisbeanadh mar chòd, no Carson nach eil mi a’ cleachdadh Powerpoint tuilleadh

Co-dhiù, tha e goireasach feuchainn air Graphviz agus ìomhaighean deasbaid air an duilleag Graphviz air loidhne an-asgaidh.

Mu dheireadh, ma dh’ fheumas tu clàr-sruthadh, diagram clas no diagram àbhaisteach eile a chuir a-steach do shleamhnag, faodaidh siostam eile a tha ceangailte ri AsciiDoctor a thighinn gu teasairginn, LusanUML. Sgrìobh mo cho-obraiche Nikolai Potashnikov mu na comasan farsaing aig PlantUML post fa leth.

Le bhith a 'tionndadh a' phròiseict taisbeanaidh gu còd air a stòradh air siostam smachd dreach ga dhèanamh comasach co-obrachadh a chuir air dòigh air an taisbeanadh, an toiseach, gus gnìomhan cruthachadh susbaint agus dealbhadh a sgaradh. Thathas a’ toirt cunntas air dealbhadh shleamhnagan (clòidean, cùl-raointean, indents) ann an RevealJS a’ cleachdadh CSS. Is fheàrr mo sgil pearsanta le CSS a thoirt seachad le an gif seo - ach chan eil e eagallach nuair a tha daoine ann a tha ag obair le CSS tòrr nas deasaiche agus nas luaithe na mise. Mar thoradh air an sin, tha e a’ tionndadh a-mach, le ceann-latha luath airson taisbeanadh, gun urrainn dhuinn obrachadh air diofar fhaidhlichean aig an aon àm tro Git agus astar co-obrachaidh a leasachadh a tha do-dhèanta nuair a chuireas sinn faidhlichean .pptx tron ​​​​phost.

A 'togail duilleag HTML le sleamhnagan

Tha stòran teacsa fìor mhath, ach ciamar a chuireas tu ri chèile iad san taisbeanadh fhèin?

Tha AsciiDoctor na phròiseact sgrìobhte ann an Ruby, agus tha grunn dhòighean ann airson a ruith. An toiseach, faodaidh tu an cànan Ruby a stàladh agus ruith asciidoctor gu dìreach, agus is dòcha gur e seo an rud as fhaisge air luchd-leasachaidh Ruby.

Mura h-eil thu airson a bhith ag obair le stàladh Ruby, faodaidh tu an ìomhaigh docker a chleachdadh asciidoctor/docer-asciidoctor, anns an urrainn dhut, nuair a thèid a chuir air bhog, am pasgan a cheangal ri stòran a’ phròiseict tro VOLUME agus an toradh fhaighinn ann an àite sònraichte.

Is dòcha gu bheil an roghainn a thagh mi rudeigin ris nach robh dùil, ach is e an rud as freagarraiche dhomh mar leasaiche Java. Chan fheum e Ruby no docker a chuir a-steach, ach leigidh e leat sleamhnagan a ghineadh a’ cleachdadh sgriobt Maven.

Is e am puing gu bheil am pròiseact JRuby - Tha buileachadh Java air a’ chànan Ruby cho math is gun leig e leat cha mhòr rud sam bith a chaidh a chruthachadh airson Ruby a ruith ann an inneal Java, agus is e ruith AsciiDoctor aon de na cleachdaidhean as cumanta aig JRuby.

ri fhaotainn plug-in asciidoctor-maven a’ leigeil leat sgrìobhainnean AsciiDoctor a chruinneachadh a tha mar phàirt de phròiseact Java (a bhios sinn a’ cleachdadh gu gnìomhach). Aig an aon àm, bidh AsciiDoctor agus JRuby air an luchdachadh sìos gu fèin-ghluasadach le Maven, agus bidh AsciiDoctor a ’ruith ann an àrainneachd JRuby: chan eil feum air dad a chuir a-steach air an inneal! (Ach a-mhàin pacaid graphviz, a tha a dhìth ma tha thu airson grafaigean GraphViz no PlantUML a chleachdadh.) Dìreach cuir na faidhlichean .adoc agad ann am pasgan src/main/asciidoc/. An seo eisimpleir de pomnikA ' cruinneachadh slides le diagrams.

Iompachadh slides gu PDF

Ged a tha an dreach HTML de na sleamhnagan gu math fèin-sheasmhach, tha e fhathast riatanach dreach PDF de na sleamhnagan a bhith agad. An toiseach, tha e a’ tachairt, aig cuid de cho-labhairtean nach eil a’ toirt cothrom don neach-labhairt an laptop aige fhèin a cheangal, gum feum iad sleamhnagan “gu teann ann an cruth pptx no pdf,” gun a bhith an dùil gu bheil iad ann an HTML cuideachd. San dàrna h-àite, tha e math dreach neo-dheasaichte de na sleamhnagan agad a chuir chun luchd-eagrachaidh mar a chaidh a shealltainn san aithisg, ann an cruth PDF airson am faidhle fhoillseachadh ann an stuthan na co-labhairt.

Gu fortanach, bidh goireas Node.js a’ làimhseachadh na h-obrach seo. clàr-deic, air a thogail air bunait Pupaid - siostaman fèin-ghluasaid airson a bhith a’ riaghladh brobhsair Chrome. Faodaidh tu taisbeanadh RevealJS a thionndadh gu PDF leis an àithne

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

Dà chleas nuair a bha sinn a’ cur air bhog decktape, a bha againn ri lorg tro dheuchainn agus mearachd:

  • fuasgladh tro paramadair -s feumar a bhith air a shònrachadh le iomall dà-fhillte, air neo dh’ fhaodadh gum bi duilgheadasan ann le toraidhean an tionndaidh

  • ann an URL dreach HTML an taisbeanaidh feumaidh tu a dhol seachad air paramadair ?fragments=true, a chruthaicheas duilleag PDF fa leth airson gach staid eadar-mheadhanach den t-sleamhnag agad (mar eisimpleir, còig duilleagan airson còig puingean peileir ma thèid an sealltainn aon às deidh a chèile). Leigidh seo leat a leithid de PDF a chleachdadh leis fhèin mar thaisbeanadh rè aithisg.

Co-chruinneachadh agus foillseachadh fèin-ghluasadach air an lìon

Tha e goireasach nuair a thèid sleamhnagan a chuir ri chèile gu fèin-ghluasadach nuair a thèid atharrachaidhean a dhèanamh air an t-siostam smachd dreach, agus eadhon nas goireasaiche nuair a thèid sleamhnagan a chuir ri chèile gu fèin-ghluasadach a phostadh air an eadar-lìn airson cleachdadh poblach. Faodar sleamhnagan bhon eadar-lìn a “cluich” gu furasta air beulaibh luchd-èisteachd bho inneal sam bith ceangailte ris an eadar-lìn agus proiseactair.

Leis gu bheil sinn a 'cleachdadh GitHub nar n-obair, is e an roghainn nàdarra siostam CI TravisCI, agus airson aoigheachd a thoirt do thaisbeanaidhean deiseil - github.io. Is e am beachd air cùl github.io gun tèid susbaint statach sam bith a phostadh gu meur gh-pages den phròiseact agad air GitHub, ri fhaighinn aig <ваше имя>.gihub.io/<ваш проект>.

Cuir crìoch air faidhle rèiteachaidh TravisCI, a’ toirt a-steach a bhith a’ cur ri chèile an dreach HTML den duilleag a’ cleachdadh Maven, ag atharrachadh gu PDF a’ cleachdadh decktape, agus a’ luchdachadh suas na toraidhean gu snàithlean gh-pages airson fhoillseachadh air github.io, coltas mar sin.

Gus a leithid de phròiseact a thogail air taobh TravisCI, feumaidh tu caochladairean àrainneachd a rèiteachadh

  • GH_REF - luach mar github.com/inponomarev/csa-hb
  • GH_TOKEN - Comharra ruigsinneachd GitHub. Gheibh thu e bho GitHub anns na roghainnean pròifil agad, roghainnean leasaiche -> comharran ruigsinneachd pearsanta. Ma luchdaicheas tu suas taisbeanadh gu stòr poblach, an uairsin airson a ’chomharra seo tha e gu leòr an aon ìre ruigsinneachd“ Cothrom fhaighinn air stòran poblach ”.
  • GH_USER_EMAIL / GH_USER_NAME - ainm / paidhir post-d às leth an tèid am putadh chun t-snàthainn a dhèanamh gh-pages.

Mar sin, bidh gach gealltanas den chòd taisbeanaidh air GitHub a’ ciallachadh gu bheil na sleamhnagan air an ath-thogail gu fèin-ghluasadach ann an cruthan HTML agus PDF agus air an ath-luchdachadh suas gu github.io. (Gu dearbh, cha bu chòir dhut ach na taisbeanaidhean sin a tha thu airson a dhèanamh poblach mu dheireadh a luchdachadh suas gu github.io.)

Eisimpleirean de phròiseactan

Mu dheireadh, seo ceanglaichean gu eisimpleir no dhà de phròiseactan taisbeanaidh le sgriobtaichean gnàthaichte Maven agus rèiteachadh CI airson Travis-CI, a ghabhas clonadh agus a chleachdadh nuair a chruthaicheas tu na pròiseactan taisbeanaidh agad fhèin:

Soraidh leibh Powerpoint! Chan eil mi a’ smaoineachadh gum bi feum agam ort a-riamh airson taisbeanaidhean teignigeach :)

Source: www.habr.com

Cuir beachd ann