Mharidzo sekodhi, kana Nei ndisingachashandisi Powerpoint

Mharidzo sekodhi, kana Nei ndisingachashandisi Powerpoint

Ini ndinofunga ndakapa akawanda emharidzo kune vandinoshanda navo, vatengi, uye kutaura pachena mubasa rangu reIT. Kwemakore akawanda, Powerpoint yanga iri yakasarudzika uye yakavimbika sarudzo kwandiri sechigadzirwa chekugadzira masiraidhi. Asi gore rino zvinhu zvachinja zvine mutsindo. Kubva munaFebruary kusvika muna Chivabvu, ndakava nemukana wekutaura pamisangano mishanu, uye masiraidhi emishumo aifanira kugadzirirwa munguva pfupi, asi nemhando yepamusoro. Mubvunzo wakamuka pamusoro pekugovera chikamu ichocho chebasa rine chekuita nemagadzirirwo anooneka emasiraidhi kune vamwe vanhu. Ndakamboedza kushanda nemugadziri, kutumira .pptx mafaira netsamba, asi basa rakashanduka rikava mhirizhonga: hapana aiziva kuti ndeipi shanduro yemasiraidhi yaiva "itsva", uye chimiro "chaifamba" nekuda kwekusiyana kwePowerpoint. shanduro uye mafonti pamichina yedu. Uye ndakasarudza kuedza chimwe chinhu chitsva. Ndakazviedza, uye kubva ipapo handina kumbofunga zvekudzokera kuPowerpoint.

Tinoda chii

Anenge gore nehafu rapfuura, kambani yedu yakamira kushandisa Shoko kugadzira zvinyorwa zveprojekiti, yakasangana nematambudziko akafanana: kunyangwe Shoko rakanakira kutaipa gwaro diki, sezvo vhoriyamu ichikura, matambudziko anomuka nekubatana uye kuwana mhando yepamusoro uye dhizaini yakabatana. Sarudzo yedu yakawira pasi AsciiDoctor, uye hatimboregi kufara pachisarudzo ichi, asi iyi ndiyo musoro wenyaya yakasiyana. Panguva imwecheteyo, takadzidza kushanda kweimwe yeDevOps nheyo dze "zvese sekodhi", saka sarudzo yezvinodiwa tekinoroji nyowani yekugadzira masiraidhi ekuratidzira yaive pachena:

  1. Mharidzo yacho inofanira kunge iri faira remavara rakajeka mumutauro wemakapu.
  2. Masiraidhi edu ari ezve mapurojekiti ebudiriro, saka iyo markup inofanirwa kuita kuti zvive nyore kuisa, pasina kushandisa ekunze masisitimu
    • zvidimbu zvekodhi zvine syntax inosimudzira,
    • madhayagiramu akareruka muchimiro chejometri maumbirwo akabatanidzwa nemiseve,
    • UML dhayagiramu, kuyerera uye nezvimwe.
  3. The presentation draft inofanira kuchengetwa mu version control system.
  4. Kusimbisa uye kusangana kwemasiraidhi apera kunofanirwa kuitwa muCI system.

Nhasi, kune maviri akakosha sarudzo dzekugadzira masiraidhi mumitauro yekumaka: package purojekita yeLaTeX kana imwe yemaitiro ekugadzira masiraidhi uchishandisa HTML/CSS (ZivisaJS, remark, deck.js nevamwe vazhinji).

Kunyangwe mweya wangu wakarara muLaTeX, pfungwa dzangu dzakaraira kuti sarudzo yemhinduro yandisiri ini ndoga kushandisa inofanira kunge iri parutivi rwemhinduro inozivikanwa kune yakafara denderedzwa revanhu. Haasi munhu wese anoziva LaTeX, uye kana maitiro ako ezuva nezuva asina hukama nekunyora zvinyorwa zvesainzi, saka haugone kuve nenguva yekunyura mukati menyika hombe, yakaoma kunzwisisa yegadziriro ino.

Nekudaro, kugona kweHTML/CSS hakusi iko hunyanzvi hwakapararira: Ini, semuenzaniso, ndiri kure nekunyatsogona mazviri. Neraki, iyo yakatojaira AsciiDoctor inouya kuzonunura: inoshandura asciidoctor-revealjs inobvumidza iwe kugadzira RevealJS masiraidhi uchishandisa AsciiDoctor markup. Uye zviri nyore kudzidza uye kuwanikwa kune wese munhu!

Maitiro ekukodha masiraidhi

Kuti unzwisise kukosha kwekodha masiraidhi paAsciiDoctor, nzira iri nyore ndeyekupa chaiyo mienzaniso. Aya ese ari kubva kumasiraidhi chaiwo andakaita kune yangu musangano mharidzo gore rino.

Siraidhi ine musoro uye rondedzero muzvinhu zvichivhura chimwe mushure mechimwe:

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

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

mugumisiro

Mharidzo sekodhi, kana Nei ndisingachashandisi Powerpoint

Musoro uye sosi kodhi snippet ine syntax inosimudzira:

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

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

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

mugumisiro

Mharidzo sekodhi, kana Nei ndisingachashandisi Powerpoint

Mukugadzirira hurukuro, kodhi demos inodzokororwa nekuvandudzwa, saka kugona kukurumidza kukopa uye kunamira iyo "raw kodhi" zvakananga musiraidhi kwakakosha, kuve nechokwadi chekuti demo iri kuenderana pasina kunetsekana nezve syntax inoratidzira.

Musoro, mufananidzo uye zvinyorwa (kurongeka pane siraidhi kunoitwa mumaseru AsciiDoctor matafura):

== Kafka Streams in Action

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

mugumisiro

Mharidzo sekodhi, kana Nei ndisingachashandisi Powerpoint

Dzimwe nguva zita haridiwe, uye kuratidza poindi yako unongoda mufananidzo wakazara-skrini:

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

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

mugumisiro

Mharidzo sekodhi, kana Nei ndisingachashandisi Powerpoint

Kazhinji pfungwa inoda kutsigirwa nedhayagiramu iri nyore, muchimiro che "mativi akabatanidzwa nemiseve." Neraki, AsciiDoctor inosanganiswa nehurongwa Graphviz - mutauro unobvumidza iwe kutsanangura magirafu madhayagiramu zvichienderana netsanangudzo ye vertices uye kubatana pakati pawo. Graphviz inotora curve yekudzidza, asi zvichibva pamienzaniso yakapihwa, zviri nyore kuita! Izvi ndizvo zvazvinoita:

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

mugumisiro

Mharidzo sekodhi, kana Nei ndisingachashandisi Powerpoint

Muchiitiko apo pazvinenge zvakakodzera kugadzirisa tsananguro pamufananidzo, shandura nzira yemuseve, nezvimwewo, izvi zvinogona kuitwa zvakananga mukodhi yemharidzo, pane kudhirowa mufananidzo pane imwe nzvimbo uye woidzoreredza mune slide. Izvi zvinowedzera zvakanyanya kumhanya kwekushanda pamasiraidhi.

Muenzaniso wakaoma:

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

mugumisiro

Mharidzo sekodhi, kana Nei ndisingachashandisi Powerpoint

Nenzira, zviri nyore kuyedza Graphviz uye debug mifananidzo pane peji Graphviz online.

Chekupedzisira, kana iwe uchida kuisa flowchart, dhizaini yekirasi kana imwe dhizaini yakamisikidzwa mune siraidhi, ipapo imwe system yakabatanidzwa neAsciiDoctor inogona kuuya kuzonunura, PlantUML. Wandaishanda naye Nikolai Potashnikov akanyora nezve kugona kwakakura kwePlantUML patsanura post.

Kushandura purojekiti yemharidzo kuita kodhi yakachengetwa pane vhezheni control system inoita kuti zvikwanise kuronga basa rakabatana pamharidzo, kutanga pane zvese, kuparadzanisa mabasa ekugadzira zvirimo uye dhizaini. Dhizaini yemasiraidhi (mafonti, kumashure, indents) muRevealJS inotsanangurwa uchishandisa CSS. Hunyanzvi hwangu pachedu neCSS hunofambiswa zvakanyanya na gif iyi - asi hazvityisi kana paine vanhu vanoshanda neCSS zvakanyanya dexterously uye nekukurumidza kupfuura ini. Nekuda kweizvozvo, zvinozoitika kuti nenguva yekusvika inokurumidza kusvika yemharidzo, tinogona kushanda pamafaira akasiyana panguva imwe chete kuburikidza neGit uye kukudziridza kukurumidza kwekubatana kusingabviri kana kutumira .pptx mafaira netsamba.

Kuvaka peji reHTML rine masiraidhi

Plain text sources akanaka, asi unoaunganidza sei mumharidzo yacho pachayo?

AsciiDoctor ipurojekiti yakanyorwa muRuby, uye kune nzira dzinoverengeka dzekuimhanyisa. Kutanga, iwe unogona kuisa mutauro weRuby uye kumhanya asciidoctor zvakananga, iyo ingangove chinhu chiri padyo nevagadziri veRuby.

Kana iwe usingade kukanganisa nekuisa Ruby, unogona kushandisa iyo docker mufananidzo asciidoctor/docker-asciidoctor, iyo, kana yakatangwa, iwe unogona kubatanidza iyo folda neiyo purojekiti masosi kuburikidza neVOLUME uye uwane mhedzisiro munzvimbo yakapihwa.

Sarudzo yandakasarudza ingaite senge isingatarisirwe, asi ndiyo yakanyanya kundiitira semugadziri weJava. Izvo hazvidi kuisirwa kweRuby kana docker, asi inobvumidza iwe kugadzira masiraidhi uchishandisa Maven script.

Pfungwa ndeyokuti purojekiti JRuby -Kuitwa kweJava kwemutauro weRuby kwakanaka kwazvo zvekuti inokutendera kuti umhanye chero chinhu chakagadzirirwa Ruby mumushini weJava, uye kumhanya AsciiDoctor ndeimwe yeanonyanya kushandiswa kweJRuby.

Kuwanika asciidoctor-maven-plugin inokubvumira kuti utore zvinyorwa zveAsciiDoctor izvo chikamu cheJava project (iyo yatinoshandisa nesimba). Panguva imwecheteyo, AsciiDoctor uye JRuby vanotorwa otomatiki neMaven, uye AsciiDoctor inomhanya munharaunda yeJRuby: hapana chikonzero chekuisa chero chinhu pamushini! (Kusasanganisa package graphviz, inodiwa kana uchida kushandisa GraphViz kana PlantUML mifananidzo.) Ingoisa mafaira ako e.adoc mufolder. src/main/asciidoc/. Pano muenzaniso wepomnikkuunganidza masiraidhi nemadhayagiramu.

Shandura masiraidhi kuita PDF

Kunyangwe iyo HTML vhezheni yemasiraidhi ichinyatsozvikwanira, zvichiri kudikanwa kuve nePDF vhezheni yemasiraidhi. Chekutanga, zvinoitika kuti pane dzimwe misangano isingapi mukurukuri mukana wekubatanidza laptop yake, inoda masiraidhi "zvakanyatso mupptx kana pdf fomati," pasina kutarisira kuti ivo vari muHTML. Chechipiri, ifomu rakanaka kutumira vanoronga vhezheni isina kurongeka yemasiraidhi ako sezvaakaratidzwa pamushumo, muPDF format kuti faira ribudiswe muzvinyorwa zvemusangano.

Sezvineiwo, iyo Node.js utility inobata basa iri. decktape, yakavakirwa pahwaro Muppeteer - otomatiki masisitimu ekugadzirisa iyo Chrome browser. Unogona kushandura RevealJS mharidzo kuPDF nemurairo

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

Manomano maviri pakuvhura decktape, yataifanira kuuya nayo kuburikidza nekuyedza uye kukanganisa:

  • resolution kuburikidza neparameter -s inofanira kutsanangurwa ine mupendero wakapetwa kaviri, zvikasadaro panogona kunge paine matambudziko nemhedzisiro yekutendeuka

  • muURL yeHTML vhezheni yemharidzo unoda kupfuudza parameter ?fragments=true, iyo ichagadzira peji yePDF yakaparadzana yenzvimbo yega yega yepakati yechisiraidhi chako (semuenzaniso, mapeji mashanu ezvibodzwa zvishanu kana akaratidzwa rimwe pashure peimwe). Izvi zvinokutendera kuti ushandise iyo PDF iri yega semharidzo panguva yemushumo.

Kugadzira otomatiki uye kushambadza pawebhu

Zviri nyore kana masiraidhi akaunganidzwa otomatiki kana shanduko dzaitwa kushanduro yekudzora sisitimu, uye zvakatonyanya nyore kana masiraidhi akagadzirwa otomatiki anoiswa paInternet kuti ashandiswe neveruzhinji. Masiraidhi kubva paInternet anogona β€œkuridzwa” zviri nyore pamberi pevateereri kubva kune chero muchina wakabatana neInternet uye purojekita.

Sezvo isu tichishandisa GitHub mubasa redu, sarudzo yechisikigo yeCI system ndeye TravisCI, uye kuitisa mharidzo dzakagadzirirwa- github.io. Pfungwa iri kuseri kwegithub.io ndeyekuti chero static yemukati yakatumirwa kubazi gh-pages yepurojekiti yako paGitHub, inowanikwa pa <вашС имя>.gihub.io/<ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚>.

Zadzisa TravisCI yekumisikidza faira, kusanganisira kugadzira iyo HTML vhezheni yepeji uchishandisa Maven, kushandura kuPDF uchishandisa decktape, uye kurodha mibairo kune shinda. gh-pages yekuburitswa pagithub.io, inoita senge saka.

Kuti uvake purojekiti yakadai padivi reTravisCI, unofanirwa kugadzirisa nharaunda dzakasiyana

  • GH_REF - kukosha senge github.com/inponomarev/csa-hb
  • GH_TOKEN - GitHub yekuwana tokeni. Unogona kuiwana kubva kuGitHub mune yako profiles marongero, Developer Settings -> Personal Access Tokens. Kana iwe ukarodha mharidzo kune yeruzhinji repository, saka kune ichi chiratidzo zvakakwana kutsanangura iyo chete nhanho yekuwana "Svika public repositories".
  • GH_USER_EMAIL / GH_USER_NAME - zita/email pair pachinzvimbo icho chinosundirwa kune shinda chichaitwa gh-pages.

Saka, kuzvipira kwega kwega kwekodhi yeratidziro paGitHub kunoita kuti masiraidhi agadziriswe otomatiki muHTML uye maPDF mafomati uye okwidzwa zvakare kugithub.io. (Ehe, iwe unofanirwa chete kurodha kune github.io iwo mharidzo dzaunozoda kuita pachena.)

Mienzaniso yemapurojekiti

Chekupedzisira, hezvino zvinongedzo kune akati wandei mienzaniso yemapurojekiti ekuratidzira ane akagadziridzwa Maven zvinyorwa uye CI kumisikidzwa yeTravis-CI, iyo inogona kugadzirwa uye kushandiswa paunenge uchigadzira yako wega mapurojekiti ekuratidzira:

Zvakanaka Powerpoint! Handifunge kuti ndichazombokuda iwe kune tekinoroji mharidzo :)

Source: www.habr.com

Voeg