áá»áœááºá¯ááºááẠáá»áœááºá¯ááºá IT á¡áááºááœá±ážáááºážááŒá±á¬ááºážááœáẠáá¯ááºáá±á¬áºááá¯ááºáááºáá»á¬ážá áá±á¬ááºáááºáá»á¬ážááŸáá·áº á¡áá»á¬ážáá°ááŸá¬ á áá¬ážááŒá±á¬ááá¯ááŒááºážáá»á¬ážááᯠáá«áááºááŸáá·áºáá»á®áá±á¬ áááºáááºááŸá¯áá»á¬áž áá±ážáá²á·ááŒá®ážááŒá®áᯠáááºáá«áááºá ááŸá áºáá»á¬ážá áœá¬ááŒá¬á¡á±á¬áẠPowerpoint ááẠáá»áœááºá¯ááºá¡ááœáẠááá¬áááŸáá·áº áá¯á¶ááŒááºá áááºáá»ááá±á¬ ááœá±ážáá»ááºááŸá¯áá áºáá¯á¡ááŒá Ạslide production tool áá áºáá¯ááŒá áºáááºá áá«áá±ááá·áº áá®ááŸá áºááŸá¬áá±á¬á· á¡ááŒá±á¡áá±ááœá±á á¡áááºá¡ááœá±ážááœá± ááŒá±á¬ááºážááœá¬ážáááºá áá±áá±á¬áºáá«áá®ááá± áá±áá¡áá áá®áá¬áá¶áá«ážáá¯ááŸá¬ áá±á¬ááŒá±á¬ááœáá·áºááá²á·ááŒá®áž á¡á á®áááºáá¶á á¬ááœá±á¡ááœáẠáááá¯ááºááœá±ááᯠá¡áá»áááºááá¯á¡ááœááºáž ááŒááºáááºááá±ááá·áº á¡áááºá¡ááœá±ážááŒáá·áºáááºá áááá¯ááºáá»á¬ážá á¡ááŒááºá¡á¬áá¯á¶áá®ááá¯ááºážááŸáá·áº á ááºáá»ááºážááá·áº á¡ááá¯áá«á¡áá¯ááºá á¡á áááºá¡ááá¯ááºážááᯠá¡ááŒá¬ážáá°áá»á¬ážáᶠááœáŸá²á¡ááºááŒááºážááŸáá·áºáááºáááºá áá±ážááœááºážáá¯ááºá áá¬ááŒá áºáá¬áááºá áá áºáá«á áá®ááá¯ááºáá¬áá áºáŠážááŸáá·áº .pptx ááá¯ááºáá»á¬ážááᯠá á¬ááŒáá·áºááá¯á·áᬠá¡áá¯ááºááŒáá¯ážá á¬ážáá²á·áá±á¬áºáááºáž á¡áá¯ááºá ááááºážááá¬ááŒá áºááœá¬ážáááº- áááºááá·áºáááá¯ááºáá¬ážááŸááºážááẠ"á¡áá áºáá¯á¶áž" ááŒá áºáááºááᯠáááºáá°áá»áŸááááá²á·áááᯠPowerpoint ááœáẠááœá¬ááŒá¬ážááŸá¯ááŒá±á¬áá·áº á¡ááŒááºá¡áááºááẠ"ááœá±á·áá»á¬ážáá±áááº" áá»áœááºá¯ááºááá¯á·áá ááºáá»á¬ážááœáẠáá¬ážááŸááºážáá»á¬ážááŸáá·áº áá±á¬áá·áºáá»á¬ážá ááŒá®ážáá±á¬á· á¡áá áºáá áºáá¯ááᯠá ááºážááŒáá·áºááá¯á· áá¯á¶ážááŒááºááá¯ááºáááºá áá»áœááºáá±á¬áºá ááºážááŒáá·áºááá¯ááºáá±á¬á· Powerpoint ááᯠááŒááºááœá¬ážááá¯á· áá ááºážá á¬ážáááá±á¬á·áá°ážá
áá«ááá¯á· áá¬ááá¯áá»ááºáá²á
ááœááºáá²á·ááá·áº áá
áºááŸá
áºááœá²ááá·áºá áá»áœááºá¯ááºááá¯á·ááá¯áá¹ááá®ááẠá¡áá¬ážáá°ááŒá¿áá¬áá»á¬ážááᯠááŒá¯á¶ááœá±á·áá²á·ááááŒáá·áº ááá±á¬áá»ááºá
á¬ááœááºá
á¬áááºážáááºáá®ážááẠWord ááᯠááá¯á¶ážáá±á¬á·áá² Word ááẠáá±ážáááºáá±á¬á
á¬ááœááºá
á¬áááºážááᯠá
á¬ááá¯ááºáááºáá±á¬ááºážááœááºáá±á¬áºáááºáž á¡áá¶ááá¬áááá¯ážáá¬áááºááŸáá·áºá¡áá»áŸ áá°ážáá±á«ááºážáá±á¬ááºááœááºááŒááºážááŸáá·áº á¡áááºá¡ááœá±ážááŒáá·áºáááŸáááẠá¡áááºá¡áá²áá»á¬ážááŸááá¬áá«áááºá áá
áºá
á¯áá
áºá
ááºážáááºážáá®ááá¯ááºážá áá»áœááºáá±á¬áºááá¯á·áá²á· ááœá±ážáá»ááºááŸá¯áᬠáá»ááœá¬ážáááºá
- áááºááŒáá»ááºááẠmarkup áá¬áá¬á áá¬ážááŒáá·áº ááá¯ážááá¯ážá á¬áá¬ážááá¯ááºááŒá áºááááºá
- áá»áœááºá¯ááºááá¯á·ááááá¯ááºáá»á¬ážááẠááœá¶á·ááŒáá¯ážááá¯ážáááºáá±ážááá¯ááºáᬠááá±á¬áá»ááºáá»á¬ážá¡ááŒá±á¬ááºážááŒá
áºáá±á¬ááŒá±á¬áá·áº á¡ááŸááºá¡áá¬ážááẠááŒááºáá
áá
áºáá»á¬ážááᯠá¡áá¯á¶ážáááŒá¯áá² ááá·áºááœááºážáááºááœááºáá°á
á±ááá·áºáááºá
- syntax highlighting ááŒáá·áº code á¡ááá¯ááºážá¡á áá»á¬ážá
- ááŒáŸá¬ážáá»á¬ážááŒáá·áº áá»áááºáááºáá¬ážáá±á¬ áá»á®á©áá±ááŒá®áá¯á¶ááá¹áá¬ááºáá¯á¶á ᶠááá¯ážááŸááºážáá±á¬ áá¯á¶áá»á¬ážá
- UML áá¯á¶áá»ááºáá»á¬ážá ááá¬ážááœááºáá»á¬ážááŸáá·áº á¡ááŒá¬ážá¡áá¬áá»á¬ážá
- áááºááŒáá»ááºáá°ááŒááºážááᯠáá¬ážááŸááºážááááºážáá»á¯ááºááŸá¯á áá áºááœáẠááááºážáááºážáá¬ážááá«áááºá
- CI á áá áºááŒáá·áº á¡áááºááŒá¯ááŒááºážááŸáá·áº ááŒá®ážá á®ážáá±á¬áááá¯ááºáá»á¬áž áááºáááºááŒááºážááᯠááŒá¯áá¯ááºááá·áºáááºá
ááá±á·ááœááºá markup áá¬áá¬á
áá¬ážáá»á¬ážááŒáá·áº áááá¯ááºáá»á¬ážáááºáá®ážááẠá¡ááŒá±áá¶ááœá±ážáá»ááºá
áá¬ááŸá
áºáá¯ááŸááááº- package
áá»áœááºá¯ááºááááá¬ááºááẠLaTeX ááœáẠáááºááŸááá±áá±á¬áºáááºážá áá»áœááºá¯ááºáá áºáŠážáááºážááá¯ááºááá·áº ááŒá±ááŸááºážáá»ááºááœá±ážáá»ááºááŸá¯ááẠááá¯ááá¯áá»ááºááŒáá·áºáá±á¬á¡ááá¯ááºážá¡áááºážááŸáá·áº áááºážááŸá®ážáá±á¬ááŒá±ááŸááºážáá»ááºááááºááœááºááŸáááá·áºáááºáᯠáá»áœááºá¯ááºáá áááºá áá¯á¶ážááŒááºáá²á·áááºá LaTeX ááᯠáá°ááá¯ááºážááááá«á áááºááá±á·á ááºá¡áá±á·á¡áá»áá·áºááẠáááá¹áá¶ááá¯ááºáá¬áá±á¬ááºážáá«ážáá»á¬ážáá±ážáá¬ážááŒááºážááŸáá·áº ááááºááá¯ááºáá«áá á€á áá áºáááŒá®ážáá¬ážááŒá®áž ááŸá¯ááºááœá±ážáá±á¬ááá¹áá¬ááŒá®ážááœáẠááá·áºááá¯ááºááẠááŸá áºááŒáŸá¯ááºáááºá¡áá»áááºááŸááááºááá¯ááºáá«á
ááá¯á·áá±á¬áºáááºáž HTML/CSS ááᯠáá»áœááºážáá»ááºááá¯ááºááá¯ááºá
áœá¬ áááºááŒá±á¬ááºááŒááºážááẠáá»ááºááŒáá·áºáá±á¬ áá»áœááºážáá»ááºááŸá¯áá
áºáᯠááá¯ááºáá«- á¥ááá¬á¡á¬ážááŒáá·áº áá»áœááºá¯ááºááẠáááºážááᯠá¡ááŒáá·áºá¡á áááºááŒá±á¬ááºááẠáá±ážááœá¬áá±áá«áááºá áá¶áá±á¬ááºážáá±á¬ááºáá
áœá¬á áááºážááŸá®ážááŒá®ážáá¬áž AsciiDoctor ááẠconverter ááᯠáááºáááºááẠáá±á¬ááºááŸááá¬áááºá
áá¯ááºáááá¯ááºáá»á¬áž ááŒá¯áá¯ááºáááºáž
AsciiDoctor ááŸá coding slides áá»á¬ážá á¡ááŸá áºáá¬áááᯠáá¬ážáááºááẠá¡ááœááºáá¯á¶ážáááºážáááºážááŸá¬ áááá»áá±á¬ á¥ááá¬áá»á¬ážááᯠáá±ážááŒááºážááŒá áºáááºá á€á¡áá¬áá»á¬ážá¡á¬ážáá¯á¶ážááẠááá¯ááŸá Ạááœááºáááá·áºáááºááŒáá»ááºáá»á¬ážá¡ááœáẠáá«ááŒá¯áá¯ááºáá¬ážáá±á¬ áááá·áºáááá¯ááºáá»á¬ážááŸááŒá áºáááºá
áá áºáá¯ááŒá®ážáá áºáá¯ááœáá·áºáá¬ážáá±á¬ áá±á«ááºážá ááºáá áºáá¯ááŸáá·áº á á¬áááºážáá áºáá¯áá«ááŸááá±á¬ áááá¯ááºáá áºáá¯-
== ÐаÑеЌ МаЌ Streams API?
[%step]
* Real-time stream processing
* Stream-like API (map / reduce)
* ÐПЎ капПÑПЌ:
** ÐвÑПЌаÑОÑеÑкОй offset commit
** РебалаМÑОÑПвка
** ÐÐœÑÑÑеММее ÑПÑÑПÑМОе ПбÑабПÑÑОкПв
** ÐегкПе ЌаÑÑÑабОÑПваМОе
ááááº
á¡áá¬ážá¡ááᯠá¡áá¬ážáá±ážáá±á¬áºááŒááá·áº áá±á«ááºážá á®ážááŸáá·áº á¡áááºážá¡ááŒá áºáá¯áẠá¡ááá¯á¡ááœá¬-
== Kafka Streams API: ПбÑÐ°Ñ ÑÑÑÑкÑÑÑа KStreams-пÑОлПжеМОÑ
[source,java]
----
StreamsConfig config = ...;
//ÐЎеÑÑ ÑÑÑаМавлОваеЌ вÑÑкОе ПпÑОО
Topology topology = new StreamsBuilder()
//ÐЎеÑÑ ÑÑÑПОЌ ÑПпПлПгОÑ
....build();
----
ááááº
áá±á¬ááŒá±á¬ááœá²á¡ááœáẠááŒááºáááºááŸá¯ááœááºá áá¯ááºááá¯ááºááŒáá»á¬ážááẠáááºáá«ááá²áá² áááºážááŒááºááŸá¯áá»á¬ážááŸáá·áº ááá¯ážáááºááŸá¯áá»á¬ážááᯠáá¯ááºáá±á¬ááºááá±á¬ááŒá±á¬áá·áº áááá¯ááºáá áºáá¯áá²ááá¯á· "ááŒááºážáá¯ááº" ááᯠá¡ááŒááºáá°ážáá°ááŒá®áž áá°ážááá·áºááá¯ááºááŒááºážááẠáááºááá¯ážáááŒááºááá¯ááºáá±á¬á ááá¯ááºáá±á¬áºáá¯á¶áá±á«áºááœááºááŸá¯ááᯠáá áá¯ážááááºáá² áá±á¬ááºáá¯á¶ážáá±á«áºááŒá áºááŒá±á¬ááºáž áá±áá»á¬á á±áá«áááºá
áá±á«ááºážá
ááºá ááá¯ááºáá±á¬áºáá¯á¶ááŸáá·áº á
á¬áá¬áž (áááá¯ááºáá±á«áºááŸá á¡ááŒááºá¡áááºááᯠáá²ááºáá»á¬ážááœáẠááŒá¯áá¯ááºáááºá
== Kafka Streams in Action
[.custom-style]
[cols="30a,70a"]
|===
|image::KSIA.jpg[]
|
* **William Bejeck**, +
âKafka Streams in Actionâ, November 2018
* ÐÑОЌеÑÑ ÐºÐŸÐŽÐ° ÐŽÐ»Ñ Kafka 1.0
|===
ááááº
áá áºáá«áá áºáá¶ááœáẠáá±á«ááºážá ááºáá áºáᯠáááá¯á¡ááºáá²á áááºáá¡áá»ááºááᯠááá¯ááºáá±á¬áºáááºá¡ááœáẠáááºááẠáá»ááºááŸá¬ááŒááºá¡ááŒáá·áº áá¯ááºáá¯á¶áá áºáá¯áᬠááá¯á¡ááºáááº-
[%notitle]
== ÐОÑÑ Ð² легаÑО МелегкП
image::swampman.jpg[canvas, size=cover]
ááááº
áááŒá¬ááááá¯áááᯠâááŒáŸá¬ážáá»á¬ážááŒáá·áº áá»áááºáááºáá¬ážáá±á¬ á
áá¯áááºážáá¯á¶â áá¯á¶á
á¶ááŒáá·áº ááá¯ážááŸááºážáá±á¬ áá¯á¶ááŒááºážááŒáá·áº á¡ááŒá¶á¥á¬ááºáá
áºáᯠááá¯á¡ááºáááºá áá¶áá±á¬ááºážá
áœá¬ááŒáá·áºá AsciiDoctor ááẠá
áá
áºááŸáá·áº áá±á«ááºážá
ááºáá¬ážáááºá
== ÐОÑеЌ â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;}
}
-----
ááááº
áá¯á¶áá±á«áºááŸáá á¬áááºážááᯠáááºážááŒááºáááºá ááŒáŸá¬ážááŠážáááºáá»ááºá áááºááá¯á·ááᯠááŒá±á¬ááºážáá²ááẠááá¯á¡ááºáá±á¬á¡áá«ááœááºá áááºážááᯠáá áºáá±áá¬áá¬ááœáẠááŒááºáááºáá±ážááœá²ááŒá®áž áááá¯ááºáá²ááá¯á· ááŒááºááá·áºááá·áºá¡á á¬áž áááºáááºááŸá¯áá¯ááºááœáẠááá¯ááºááá¯ááºáá¯ááºáá±á¬ááºááá¯ááºáááºá áááºážááẠslides áá»á¬ážáá±á«áºááœááºá¡áá¯ááºáá¯ááºááŒááºážáá¡ááŸáááºááá¯áááááá¬áá¬ááá¯ážá á±áááºá
ááá¯ááá¯ááŸá¯ááºááœá±ážáá±á¬ á¥ááá¬-
== ÐевПÑпÑÐŸÐžÐ·Ð²ÐŸÐŽÐžÐŒÐ°Ñ ÑбПÑка
[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;}
}
-----
ááááº
á
áá¬ážáá
ááºá Graphviz ááŒáá·áº á
ááºážáááºááŒá®áž á
á¬áá»ááºááŸá¬ááŸá áá¯á¶áá»á¬ážááᯠá¡ááŸá¬ážááŸá¬ááẠá¡áááºááŒá±áááºá
áá±á¬ááºáá¯á¶ážá¡áá±áá²á·á á¡áááºá áááºááẠflowchartá class diagram ááá¯á·ááá¯áẠá¡ááŒá¬ážáá±á¬ standardized diagram ááᯠslide áá
áºáá¯ááœáẠááá·áºááœááºážááẠááá¯á¡ááºáá«á AsciiDoctor ááŸáá·áº áá±á«ááºážá
ááºáá¬ážáá±á¬ á¡ááŒá¬ážáá±á¬ system ááẠáááºáááºááá¯ááºáááºááŒá
áºáááºá
áááºáááºááŸá¯ááá±á¬áá»ááºááᯠáá¬ážááŸááºážááááºážáá»á¯ááºááŸá¯á
áá
áºááœáẠááááºážáááºážáá¬ážáá±á¬ áá¯ááºá¡ááŒá
áºááá¯á· ááŒá±á¬ááºážáá²ááŒááºážááŒáá·áº á¡ááŒá±á¬ááºážá¡áá¬ááŸáá·áº áá®ááá¯ááºážáááºáá®ážááŒááºážááá¯ááºáᬠáá¯ááºáááºážáá¬áááºáá»á¬ážááᯠááá¯ááºážááŒá¬ážááẠááááá¯á¶ážá¡áá±ááŒáá·áº áááºáááºááŸá¯ááœáẠáá°ážááœá²áá¯ááºáá±á¬ááºááŸá¯áá»á¬ážááᯠá
á¯á
ááºážááá¯ááºá
á±áá«áááºá RevealJS ááŸá áááá¯ááºáá»á¬ážá áá®ááá¯ááºáž (áá±á¬áá·áºáá»á¬ážá áá±á¬ááºáá¶áá»á¬ážá á¡ááºáááºážáá»á¬áž) ááᯠCSS ááᯠá¡áá¯á¶ážááŒá¯á áá±á¬áºááŒáá¬ážáá«áááºá CSS ááŸáá·áº áá»áœááºá¯ááºá ááá¯ááºááá¯ááºáá»áœááºážáá»ááºááŸá¯ááẠá¡áá±á¬ááºážáá¯á¶ážááŒá
áºáááºá
HTML á á¬áá»ááºááŸá¬ááᯠáááá¯ááºáá»á¬ážááŒáá·áº áááºáá±á¬ááºááŒááºážá
ááá¯ážááá¯ážá á¬áá¬ážáááºážááŒá áºáá»á¬ážááẠáá±á¬ááºážááœááºáá±á¬áºáááºáž áááºážááá¯á·ááᯠáááºáááºááŸá¯ááœáẠáááºáááºáá²á·ááá¯á· á á¯á ááºážáá¬ážááááºážá
AsciiDoctor ááẠRuby ááœáẠáá±ážáá¬ážáá¬ážáá±á¬ ááá±á¬áá»ááºáá áºáá¯ááŒá áºááŒá®áž áááºážááᯠáá¯ááºáá±á¬ááºááẠáááºážáááºážáá»á¬ážá áœá¬ááŸááááºá ááááŠážá áœá¬ áááºááẠRuby áá¬áá¬á áá¬ážááᯠááá·áºááœááºážááŒá®áž asciidoctor ááᯠááá¯ááºááá¯áẠrun ááá¯ááºáááºá áááºážááẠRuby developer áá»á¬ážááŸáá·áº á¡áá®ážá ááºáá¯á¶áž ááŒá áºááá¯ááºáááºá
Ruby ááá¯ááá·áºááœááºážááŒááºážááŸáá·áºáááŸá¯ááºááá¯áá«áá áááºááẠdocker image ááá¯áá¯á¶ážááá¯ááºáááºá
áá»áœááºáá±á¬áºááœá±ážáá»ááºááá¯ááºáá²á· option áᬠáá»áŸá±á¬áºááá·áºááá¬ážáá²á·áá¯á¶áá±á«ááºáá±ááá·áº Java developer áá áºáá±á¬ááºá¡áá±áá²á· áá»áœááºáá±á¬á·áºá¡ááœáẠá¡áááºááŒá±áá¯á¶ážáá«áá²á áááºážááẠRuby ááá¯á·ááá¯áẠdocker ááá¯ááá·áºááœááºážáááºáááá¯á¡ááºáá±á¬áºáááºáž Maven script ááá¯á¡áá¯á¶ážááŒá¯á slides áá»á¬ážáááºáá®ážáááºááœáá·áºááŒá¯áááºá
á¡áááá¡áá»ááºááá±á¬á· á
á®áá¶ááááºážáá«á
á¡áá¯á¶ážááŒá¯ááá¯ááºááŸá¯ graphviz
GraphViz ááá¯á·ááá¯áẠPlantUML ááááºáá
áºááᯠá¡áá¯á¶ážááŒá¯ááá¯áá«á ááá¯á¡ááºáá«áááºá) áááºá .adoc ááá¯ááºáá»á¬ážááᯠááá¯áá«áá
áºáá¯ááœáẠáá¬ážááá¯ááºáá«á src/main/asciidoc/
á áá®ááŸá¬
áááá¯ááºáá»á¬ážááᯠPDF ááá¯á·ááŒá±á¬ááºážáá«á
áááá¯ááºáá»á¬ážá HTML áá¬ážááŸááºážááẠá¡áá±á¬áºáá±áž áá¯á¶áá±á¬ááºáá±á¬áºáááºážá áááá¯ááºáá»á¬ážá PDF áá¬ážááŸááºážááŸáááẠááá¯á¡ááºáá±ážáááºá ááááŠážá áœá¬á á¡áá»áá¯á·áá±á¬áá®áá¬áá¶áá»á¬ážááœáẠá áá®áá¬á¡á¬áž áááºážáááá¯ááºááá¯ááºáááºááºáá±á¬á·ááŸáá·áºáá»áááºáááºáááºá¡ááœáá·áºá¡áá±ážááá±ážáá±á¬ ááœááºáááá·áºáá»á¬ážááœáẠáááºážááá¯á·ááẠHTML ááœááºáá«áááºáᯠááá»áŸá±á¬áºááá·áºáá² "áááºážááŒááºá áœá¬ pptx ááá¯á·ááá¯áẠpdf áá±á¬áºáááº" áááá¯ááºáá»á¬ážááᯠááá¯á¡ááºáá«áááºá áá¯áááá¡áá±ááŸáá·áºá áá®áá¬áá¶ááá¯ááºáá¬áá á¹á ááºážáá»á¬ážááœáẠááá¯ááºááá¯áá¯ááºáá±áááºá¡ááœáẠPDF áá±á¬áºáááºááŒáá·áº á¡á á®áááºáá¶á á¬ááœááºááŒááá¬ážááá·áºá¡ááá¯ááºáž áááºááááá¯ááºáá»á¬ážá áááºážááŒááºááá¬ážáá±á¬áá¬ážááŸááºážááᯠá á®á ááºáá°áá»á¬ážááᯠáá±ážááá¯á·ááŒááºážááẠáá±á¬ááºážááœááºáá±á¬áá¯á¶á á¶ááŒá áºáááºá
áá¶áá±á¬ááºážáá±á¬ááºáá
áœá¬á Node.js utility ááẠá€áá¯ááºáááºážááᯠááá¯ááºááœááºáááºá
node decktape.js -s 3200x1800 --slides 1-500
reveal "file:///index.html?fragments=true" slides.pdf
á¡á ááºážáá¯á¶ážááŒááºáž ááŸáá·áº á¡ááŸá¬ážá¡ááœááºáž áá»á¬ážááŒáá·áº áá¯á¶áá±á¬áºáá¬ážáá±á¬ decktape ááᯠá áááºáá±á¬á¡áá« ááŸáá·áºááœáẠááŸá áºáᯠá
-
ááá·áºáááºáá»ááºáá»á¬ážááŸáááá·áº resolution ááá¯
-s
ááŸá áºá á¡áá¬ážáááºááŒáá·áº áááºááŸááºááááºá ááá¯ááºáá«á ááŒá±á¬ááºážáá²ááŒááºážááááºáá»á¬ážááŸáá·áº ááŒá¿áá¬áá»á¬áž ááŸáááá¯ááºáááºá -
áááºááŒááŸá¯á HTML áá¬ážááŸááºážá URL ááœáẠáááºááẠááá·áºáááºáá»ááºáá áºáá¯ááᯠáá»á±á¬áºááœá¬ážáááºááá¯á¡ááºáááºá
?fragments=true
ááá·áºáááá¯ááºá á¡áááºá¡áááºá¡ááŒá±á¡áá±áá áºáá¯á á®á¡ááœáẠáá®ážááŒá¬áž PDF á á¬áá»ááºááŸá¬áá áºáᯠáááºáá®ážáá±ážááẠ(á¥ááá¬á á á¬áá»ááºááŸá¬áá«ážáá¯á¡ááœáẠáá»ááºáá¶á¡áá»ááºáá«ážáá»ááºá¡ááœáẠá á¬áá»ááºááŸá¬áá«ážáá¯ááᯠáá áºáá¯ááŒá®ážáá áºáᯠááŒááá«á)á áááºážááẠááá·áºá¡á¬áž á¡á á®áááºáá¶á á¬áá áºáá¯á¡ááœááºáž áááºááŒááŸá¯áá áºáá¯á¡ááŒá Ạáááºážáá²á·ááá¯á·áá±á¬ PDF ááᯠáááºážáááá¯ááºááá¯ááºá¡ááŒá Ạá¡áá¯á¶ážááŒá¯ááœáá·áºáá±ážáááºááŒá áºáááºá
áááºáá±á«áºááœáẠá¡ááá¯á¡áá»á±á¬áẠá á¯áá±ážááŒááºážááŸáá·áº áá¯ááºáá±ááŒááºážá
áá¬ážááŸááºážááááºážáá»á¯ááºááŸá¯á áá áºááœáẠá¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááŒá¯áá¯ááºáá±á¬á¡áá«ááœáẠáááá¯ááºáá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬ááºá á¯á ááºážááá·áºá¡áá«ááœáẠá¡áááºááŒá±ááŒá®áž á¡áá»á¬ážáá°ááŸá¬á¡áá¯á¶ážááŒá¯áááºá¡ááœáẠá¡ááºáá¬áááºáá±á«áºááœáẠá¡ááá¯á¡áá»á±á¬ááºá á¯á ááºážáá¬ážáá±á¬áááá¯ááºáá»á¬ážááᯠáááºááá·áºá¡áá« ááá¯áá¡áááºááŒá±áá«áááºá á¡ááºáá¬áááºá០áááá¯ááºáá»á¬ážááᯠá¡ááºáá¬áááºááŸáá·áº áááá¯áá»ááºáá¬ááŸáá·áºáá»áááºáááºáá¬ážáá±á¬ áááºááá·áºá ááºááŸáááᯠááááááºááŸá±á·ááœáẠá¡ááœááºááá° âááœáá·áºâ ááá¯ááºáááºá
áá»áœááºá¯ááºááá¯á·ááẠáá»áœááºá¯ááºááá¯á·ááá¯ááºáááºážááœáẠGitHub ááá¯á¡áá¯á¶ážááŒá¯áá±á¬ááŒá±á¬áá·áºá CI á
áá
áºáááá¬áááœá±ážáá»ááºááŸá¯ááŒá
áºáááºá gh-pages
GitHub ááœáẠááá·áºááá±á¬áá»ááºááᯠáááŸáááá¯ááºáá«ááŒá®á <ваÑе ОЌÑ>.gihub.io/<Ð²Ð°Ñ Ð¿ÑПекÑ>
.
Maven ááᯠá¡áá¯á¶ážááŒá¯á á
á¬áá»ááºááŸá¬á HTML áá¬ážááŸááºážááᯠá
á¯á
ááºážááŒááºážá decktape ááᯠá¡áá¯á¶ážááŒá¯á PDF ááá¯á· ááŒá±á¬ááºážáá²ááŒááºážááŸáá·áº ááááºáá»á¬ážááᯠá
á¬ááœá²ááá¯á· á¡ááºáá¯ááºáá¯ááºááŒááºážá¡áá«á¡ááẠTravisCI ááœá²á·á
ááºážááŸá¯áá¯á¶á
á¶ááá¯ááºááᯠá¡ááŒá®ážáááºáá« gh-pages
github.io ááœááºáá¯ááºáá±áááºá áá¯á¶ááááºá
TravisCI áááºááŒááºážááœáẠááá¯áá²á·ááá¯á·áá±á¬ ááá±á¬áá»ááºááᯠáááºáá±á¬ááºáááºá áááºááẠáááºáááºážáá»áẠááááºážááŸááºáá»á¬ážááᯠááŒááºáááºáááºááŸááºááẠááá¯á¡ááºáááºá
GH_REF
â github.com/inponomarev/csa-hb áá²á·ááá¯á·áá±á¬ áááºááá¯ážGH_TOKEN
- GitHub áááºáá±á¬ááºááœáá·áº ááá¯áááºá ááá·áºáááá¯ááá¯ááºáááºáááºáá»á¬ážá áá±á¬á·ááºáá²áá±ážáá¬ážáá°áááºáááºáá»á¬áž -> Personal Access Token ááœáẠGitHub á០áááºážááᯠáááºáááá¯ááºáááºá áááºáááºááŒáá»ááºáá áºáá¯ááᯠá¡áá»á¬ážáá°ááŸá¬ ááá¯ááŸá±á¬ááºáá¬ááá¯á· á¡ááºáá¯ááºáá¯ááºáá«áá á€ááá¯áááºá¡ááœáẠáá áºáá¯áááºážáá±á¬áááºáá±á¬ááºááœáá·áºá¡ááá·áº âá¡áá»á¬ážááŒááºáá°ááá¯ááºáᬠááá¯ááŸá±á¬ááºáá¯á¶áá»á¬ážáááºáá±á¬ááºááŒááºážâ ááᯠáááºááŸááºááẠáá¯á¶áá±á¬ááºáá«áááºáGH_USER_EMAIL
/GH_USER_NAME
â thread ááá¯á· ááœááºážááá¯á·ááá·áº ááá¯ááºá á¬áž á¡áááº/á¡á®ážáá±ážáẠá¡ááœá²gh-pages
.
ááá¯á·ááŒá±á¬áá·áºá GitHub ááŸá áááºááŒááŸá¯áá¯ááºáá áºáá¯á á®ááá¯ááºážááẠHTML ááŸáá·áº PDF áá±á¬áºáááºáá»á¬ážááœáẠá¡ááá¯á¡áá»á±á¬ááºááŒááºáááºáááºáá±á¬ááºááŒá®áž github.io ááá¯á· ááŒááºáááºá¡ááºáá¯ááºáá¯ááºááŒááºážááŒáá·áº áááá¯ááºáá»á¬ážááᯠááááºáá»á¬ážááœááºáá±á«áºáá¬á á±áááºá (áá¯ááºáá«áááºá ááẠáá±á¬ááºáá¯á¶ážááŸá¬ á¡áá»á¬ážááá¡á±á¬áẠááŒá¯áá¯ááºááá¯áá²á· áááºááŒááŸá¯ááœá±ááᯠgithub.io ááŸá¬áᬠá¡ááºáá¯ááºáá¯ááºááá·áºáá«áááºá)
á á®áá¶ááááºážáá»á¬ážá¥ááá¬áá»á¬áž
áá±á¬ááºáá¯á¶ážááœááºá á€áááºááŸá¬ ááá·áºááá¯ááºááá¯ááºáááºáááºááŸá¯ááá±á¬áá»ááºáá»á¬ážááá¯áááºáá®ážáá¬ááœáẠá áááºááŒáá¯ááºáááºáá®ážááá¯ááºáá±á¬ Maven scripts ááŸáá·áº Travis-CI á¡ááœáẠCI ááœá²á·á ááºážááŸá¯áá¯á¶á á¶ááŒáá·áº áááºáááºááŸá¯ááá±á¬áá»ááºáá»á¬ážá ááá°áá¬á¡áá»áá¯á·á ááá·áºááºáá»á¬ážááŒá áºáááº-
-
https://github.com/inponomarev/kstreams-examples (JPoint 2019 á¡ááœáẠáá»áœááºá¯ááºá ááœá±ážááœá±ážáá»ááº) -
https://github.com/inponomarev/csa-hb (Heisenbug 2019 á¡ááœáẠáá»áœááºá¯ááºá á¡á á®áááºáá¶á á¬)
ááŸá¯ááºáááºáá«ááẠPowerpoint áááºážááá¬ááá¯ááºáᬠáááºáááºááŸá¯ááœá±á¡ááœáẠáááºážááᯠáááºáá±á¬á·á០áááá¯á¡ááºáá°ážááá¯á· ááááºáá«áá°áž :)
source: www.habr.com