ืืื ืืจืึทืืื ืืื ืืึธืื ืืขืืขืื ืืึทืืึทื ื ืคืื ืคึผืจืขืืึทื ืืืืฉืึทื ื ืฆื ืงืึธืืขืืขืก, ืงืืืืึทื ืฅ ืืื ืฆืืืืจ ืจืขืื ืืื ืืืื IT ืงืึทืจืืขืจืข. ืคึฟืึทืจ ืคืืืข ืืึธืจื, Powerpoint ืืื ืืขืืืขื ืึท ื ืึทืืืจืืขื ืืื ืคืึทืจืืึธืืืขื ืืจืืจื ืคึฟืึทืจ ืืืจ ืืื ืึท ืจืืง ืคึผืจืึธืืืงืฆืืข ืืขืฆืืึทื. ืืืขืจ ืืขื ืืึธืจ ืื ืกืืืืึทืฆืืข ืืื ืืขืืืื ืงืืืึทืืึทืืืืืืืืื. ืคื ื ืคืขืืจืื ืจ ืื ื ืืื , ืื ื ืื ื ืืขืื ื ื ื ืืขืืืขืืงืฒ ื ืฆ ื ืจืขืืข ื ืืื ืฃ ืคืื ืฃ ืงืื ืคืขืจืขื ืฆื , ืื ื ื ื ืจืืง ื ืคื ื ื ื ืจืขืคืืจืื , ืื ื ืืข ื ืืขืืื ื ืฆืืืจืฒื ื ืื ื ื ืงืืจืฆืข ืจ ืฆืฒื , ืืืข ืจ ืื ื ืืืืืข ืจ ืงืฐืืืืืขื . ืื ืงืฉืื ืืื ืืืืคืืขืฉืืื ืขื ืืืขืื ืืขืืึทืืืืืื ื ืืขื ืืืื ืคืื ืืขืจ ืึทืจืืขื ืืืขืื ืื ืืืืืฉืึทืืืึทื ืคึผืืึทื ืคืื ืื ืกืืืืื ืฆื ืื ืืขืจืข ืืขื ืืฉื. ืืื ืืื ืืืื ืืขืคืจืืืืื ืฆื ืืจืืขืื ืืื ื ืืืืืื ืขืจ, ืฉืืงื .pptx ืืขืงืขืก ืืืจื ืคึผืึธืกื, ืึธืืขืจ ืื ืึทืจืืขื ืืื ืืขืืืืจื ืืึทืึธืก: ืงืืื ืืืื ืขืจ ืืขืืืืืกื ืืืึธืก ืืืขืจืกืืข ืคืื โโืื ืกืืืืื ืืื ืื "ื ืืึทืึทืกื", ืืื ืืขืจ ืืืืกืืืื ืืื ืืขืืืขื "ืืึธืืืื ื" ืจืขืื ืฆื ืืขืจ ืืืืืง ืืื ืคึผืึธืืืขืจืคึผืึธืื ื ืืืขืจืกืืขืก ืืื ืคืึทื ืฅ ืืืืฃ ืืื ืืืขืจ ืืืฉืื ืขื. ืืื ืืื ืืึทืฉืืึธืกื ืฆื ืคึผืจืืืืจื ืขืคึผืขืก ื ืืึท. ืืื ืืขืคืจืืืืื ืขืก, ืืื ืืื ื ืืขืืึธืื ืืื ืืึธืื ื ืืฉื ืืขืืึทื ืง ืืืขืื ืืืื ืฆืืจืืง ืฆื ืคึผืึธืืืขืจืคึผืึธืื ื.
ืืืึธืก ืืึธื ืืืจ ืืืขืื
ืืื ืึท ืืึธืจ ืืื ืึท ืืึทืื ืฆืืจืืง, ืืื ืืืขืจ ืคืืจืืข ืคืืจืฉืืืคื ื ืืฆื Word ืฆื ืฉืึทืคึฟื ืคึผืจืืืขืงื ืืึทืงืืืืขื ืืืืฉืึทื, ืืื ืืึธืื ืืขืคึผืืึธื ืืขืจื ืื ืืขืืืข ืคึผืจืึธืืืขืืก: ืืึธืืฉ Word ืืื ืืื ืคึฟืึทืจ ืืืืคึผืื ื ืึท ืงืืืื ืืึธืงืืืขื ื, ืืืขื ืืขืจ ืืึทื ื ืืืืงืกื, ืขืก ืืขื ืขื ืฉืืืขืจืืงืืืื ืืื ืืืืึทืจืืขื ืืื ืืึทืงืืืขื ืืืื ืงืืืึทืืืืขื ืืื ืืื ืึทืคืืื ืคึผืืึทื. ืืื ืืืขืจ ืืจืืจื ืืื ืืขืคืืื ืืืืฃ
- ืื ืคึผืจืขืืขื ืืืจืื ื ืืืื ืืืื ืึท ืงืืึธืจ ืืขืงืกื ืืขืงืข ืืื ืึท ืืึทืจืงืึทืคึผ ืฉืคึผืจืึทื.
- ืืื ืืืขืจ ืกืืืืื ืืขื ืขื ืืืขืื ืึทื ืืืืืงืืื ื ืคึผืจืึทืืืฉืขืงืก, ืึทืืื ืื ืืึทืจืงืึทืคึผ ืืึธื ืืึทืื ืขืก ืืจืื ื ืฆื ืึทืจืืึทื ืืืืื, ืึธื ืจืืืึธืจืืื ื ืฆื ืคืื ืืจืืืกื ืืืง ืกืืกืืขืืขื
- ืงืึธื ืคืจืึทืืืึทื ืฅ ืืื ืกืื ืืึทืงืก ืืืืืืืืื ื,
- ืคึผืฉืื ืืืืึทืืจืึทืื ืืื ืื ืคืึธืจืขื ืคืื ืืืฉืืึทืืขืืจืืง ืฉืึทืคึผืขืก ืคืืจืืื ืื ืืืจื ืึทืจืึธืื,
- UML ืืืืึทืืจืึทืื, ืคืืึธืืืฉืึทืจืฅ ืืื ืืขืจ.
- ืื ืคึผืจืขืืขื ืืืจืื ื ืคึผืืึทื ืืืื ืืืื ืกืืึธืจื ืืื ืึท ืืืขืจืกืืข ืงืึธื ืืจืึธื ืกืืกืืขื.
- ืืืึทืืึทืืืืฉืึทื ืืื ืคึฟืึทืจืืึทืืืื ื ืคืื ืคืึทืจืืืง ืกืืืืื ืืึธื ืืืื ืืขืืื ืืื ืึท ืกื ืกืืกืืขื.
ืืืึทื ื, ืขืก ืืขื ืขื ืฆืืืื ืืงืขืจืืืง ืึธืคึผืฆืืขืก ืคึฟืึทืจ ืฉืืคื ืกืืืืื ืืื ืืึทืจืงืึทืคึผ ืฉืคึผืจืึทืื: ืคึผืขืงื
ืืึธืืฉ ืืืื ื ืฉืื ืืืื ืืื ืืืืืขืงืก, ืืืื ืืืื ืื ื ืืืงืืืืืื ืึทื ืื ืืจืืจื ืคืื ืึท ืืืืืื ื ืืืึธืก ืืื ืืืึธืื ื ืืฉื ืืืื ืืขืจ ืืืืื ืืืื ืขืจ ืืึธื ืืืื ืืืืฃ ืื ืืืึทื ืคืื ืึท ืืืืืื ื ืืึทืงืึทื ื ืฆื ืึท ืืจืืื ืงืจืืึทื ืคืื ืืขื ืืฉื. ื ืื ืึทืืขืืขื ืืืืืกื LaTeX, ืืื ืืืื ืืืื ืืขืืืขื ืคืืจ ืืื ื ืืฉื ืฉืืื ืฆื ืฉืจืืืื ืืืืกื ืฉืืคืืืขืืข ืึทืจืืืงืืขื, ืขืก ืืื ืึทื ืืืืงืื ืฆื ืืึธืื ืฆืืื ืฆื ืืึทื ืืื ืงืขื ืืื ืืื ืื ืจืืืืง, ืื ืืจืึทืงืึทื ืืืขืื ืคืื ืืขื ืกืืกืืขื.
ืึธืืขืจ, ืืึทืกืืขืจื ืคืื HTML / CSS ืืื ื ืืฉื ืคึผืื ืงื ืึท ืืืืืืกืคึผืจืขื ืืงืืขืก: ืืื, ืืืฉื, ืืื ืืืืึทื ืคืื ืืึธืจ ืืขื ืื ืืื ืขืก. ืฆืื ืืืืง, ืืขืจ ืฉืืื ืืึทืงืึทื ื AsciiDoctor ืงืืื ืฆื ืจืึทืืขืืืขื: ืึท ืงืึทื ืืืขืจืืขืจ
ืืื ืฆื ืงืึธื ืกืืืืื
ืฆื ืคึฟืึทืจืฉืืืื ืื ืขืกืึทื ืก ืคืื ืงืึธืืืจืื ื ืกืืืืื ืืืืฃ AsciiDoctor, ืื ืืืืึทืกื ืืืขื ืืื ืฆื ืืขืื ืกืคึผืขืฆืืคืืฉ ืืืืฉืคืืื. ืื ืืขื ืขื ืึทืืข ืคืื โโืคืึทืงืืืฉ ืกืืืืื ืืื ืืขืืืื ืคึฟืึทืจ ืืืื ืงืึธื ืคึฟืขืจืขื ืฅ ืคึผืจืขืืึทื ืืืืฉืึทื ื ืืขื ืืึธืจ.
ื ืจืืง ืืื ืึท ืืืื ืืื ืึท ืจืฉืืื ืืื ืืืื ืขืคื ืืืื ืขืจ ื ืึธื ืื ืื ืืขืจืข:
== ะะฐัะตะผ ะฝะฐะผ 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;}
}
-----
ืืึทืืืขืก
ืืื ืืขื ืคืึทื ืืืขื ืขืก ืืื ื ืืืืืง ืฆื ืจืขืืึทืืืจื ืื ืงืขืคึผื ืืืืฃ ืื ืคืืืืจ, ืืืืฉื ืื ืจืืืืื ื ืคืื ืื ืคืืึทื, ืืื"ื ื, ืืึธืก ืงืขื ืขื ืืืื ืืขืืื ืืืืื ืืื ืื ืคึผืจืขืืขื ืืืจืื ื ืงืึธื, ืึทื ืฉืืึธื ืคืื ืจืขืืึทืืืจื ืื ืืืื ืขืจืืขืฅ ืืื ืจืขืื ืกืขืจืืื ื ืขืก ืืื ืื ืจืืง. ืืขื ืืืืืืืืง ืื ืงืจืืกืื ืื ืืืืงืืึทื ืคืื ืืจืืขืื ืืืืฃ ืกืืืืื.
ื ืืขืจ ืงืึธืืคึผืืืฆืืจื ืืืึทืฉืคึผืื:
== ะะตะฒะพัะฟัะพะธะทะฒะพะดะธะผะฐั ัะฑะพัะบะฐ
[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 ืืื ืืืืึทื ืืืืืขืจ ืืืืฃ ืืขื ืืืึทื
ืฆืื ืกืืฃ, ืืืื ืืืจ ืืึทืจืคึฟื ืฆื ืึทืจืืึทื ืืืืื ืึท ืคืืึธืืืืฉืึทืจื, ืงืืึทืก ืืืึทืืจืึทืืข ืึธืืขืจ ืื ืืขืจืข ืกืืึทื ืืขืจืืืืื ืืืึทืืจืึทืืข ืืื ืึท ืจืืง, ืื ืื ืืขืจ ืกืืกืืขื ืื ืึทืืจืืืืื ืืื AsciiDoctor ืงืขื ืขื ืงืืืขื ืฆื ืจืึทืืขืืืขื,
ืืืจื ืื ื ืื ืคึผืจืขืืขื ืืืจืื ื ืคึผืจืืืขืงื ืืื ืงืึธื ืกืืึธืจื ืืืืฃ ืึท ืืืขืจืกืืข ืงืึธื ืืจืึธื ืกืืกืืขื ืืืื ืขืก ืืขืืืขื ืฆื ืึธืจืืึทื ืืืืจื ืฉืืึธืก ืึทืจืืขื ืืืืฃ ืื ืคึผืจืขืืขื ืืืจืื ื, ืขืจืฉืืขืจ ืคืื ืึทืืข, ืฆื ืืึทืืื ืืขืจ ืื ืืึทืกืงืก ืคืื ืงืจืืืืืื ื ืืื ืืึทืื ืืื ืคึผืืึทื. ืื ืคึผืืึทื ืคืื ืกืืืืื (ืคืึทื ืฅ, ืืึทืงืืจืึทืื ืื, ืื ืืขื ืฅ) ืืื RevealJS ืืื ืืืกืงืจืืืื ืืื CSS. ืืืึทื ืคืขืจืืขื ืืขืืข ืืงืืขืก ืืื CSS ืืื ืืขืกืืขืจ ืงืึทื ืืืืื ืืืจื
ืืืืขื ืึท HTML ืืืึทื ืืื ืกืืืืื
ืงืืึธืจ ืืขืงืกื ืงืืืืื ืืขื ืขื ืืจืืืก, ืึธืืขืจ ืืื ืืึธื ืืืจ ืฆืื ืืืคื ืขืืขื ืืื ืืื ืื ืคึผืจืขืืขื ืืืจืื ื ืืื?
AsciiDoctor ืืื ืึท ืคึผืจืืืขืงื ืืขืฉืจืืื ืืื Ruby, ืืื ืขืก ืืขื ืขื ืขืืืขืืข ืืืขืื ืฆื ืืืืคื ืขืก. ืขืจืฉืืขืจ, ืืืจ ืงืขื ืขื ืื ืกืืึทืืืจื ืื Ruby ืฉืคึผืจืึทื ืืื ืืืืคื ืึทืกืกืืืืึธืงืืึธืจ ืืืืื, ืืืึธืก ืืื ืืืกืืึธืืข ืื ืงืืึธืืกืึทืกื ืืึทื ืฆื Ruby ืืขืืืขืืึธืคึผืขืจืก.
ืืืื ืืืจ ืืึธื ื ืืฉื ืืืขืื ืฆื ืืึทืืึทืืึทื ืืื ืื ืกืืึธืืื ื ืจืืื, ืืืจ ืงืขื ืขื ื ืืฆื ืื ืืึธืงืงืขืจ ืืืื
ืื ืึธืคึผืฆืืข ืืื ืืืืกืืขืจืืืืืื ืงืขื ืืืกืงืืืขื ืขืคึผืขืก ืืืืืขืจืืื, ืึธืืขืจ ืืึธืก ืืื ืื ืืขืจืกื ืืึทืงืืืขื ืคึฟืึทืจ ืืืจ ืืื ืึท Java ืืขืืืขืืึธืคึผืขืจ. ืขืก ืืื ื ืืฉื ืืึทืจืคื ืื ืกืืึทืืืจืื ื ืคืื ืจืืื ืึธืืขืจ ืืึธืงืงืขืจ, ืึธืืขืจ ืึทืืึทืื ืืืจ ืฆื ืืืฉืขื ืขืจืืื ืกืืืืื ืืื ืึท ืืึทืืืขื ืฉืจืืคื.
ืื ืคืื ื ืืื ืึทื ืื ืคึผืจืืืขืงื
Availability graphviz
, ืืืึธืก ืืื ืืืจืฃ ืืืื ืืืจ ืืืืื ืฆื ื ืืฆื GraphViz ืึธืืขืจ PlantUML ืืจืึทืคืืงืก.) ืคืฉืื ืฉืืขืื ืืืื .ืึทืืึธืง ืืขืงืขืก ืืื ืึท ืืขืงืข src/main/asciidoc/
. ืืึธ
ืืขืจ ืกืืืืื ืฆื ืคึผืืฃ
ืืึธืืฉ ืื HTML ืืืขืจืกืืข ืคืื โโืื ืกืืืืื ืืื ืืึทื ืฅ ืืื-ืืขื ืื, ืขืก ืืื ื ืึธื ื ืืืืืง ืฆื ืืึธืื ืึท ืคึผืืฃ ืืืขืจืกืืข ืคืื โโืื ืกืืืืื. ืขืจืฉืืขืจ, ืขืก ืืึทืคึผืึทื ื ืึทื ืืื ืขืืืขืืข ืงืึทื ืคืจืึทื ืกืึทื ืืืึธืก ืืึธื ื ืื ืืขืื ืื ืจืขืื ืขืจ ืื ืืขืืขืื ืืืื ืฆื ืคืึทืจืืื ืื ืืืื ืืืืื ืืึทืคึผืืึทืคึผ, ืืื ืืึทืจืคื ืกืืืืื "ืฉืืจืขื ื ืืื ืคึผืคึผืืงืก ืึธืืขืจ ืคึผืืฃ ืคึฟืึธืจืืึทื," ืึธื ืืขืจืืืึทืจืื ืึทื ืืื ืืขื ืขื ืืืื ืืื HTML. ืฆืืืืืื ืก, ืขืก ืืื ืึท ืืื ืคืึธืจืขื ืฆื ืฉืืงื ืื ืึธืจืืึทื ืืืืขืจื ืึทื ืึทื ืขืืืืื ืืืขืจืกืืข ืคืื โโืืืื ืกืืืืื ืืื ืืื ืืขื ืขื ืืขืืืืื ืืื ืืขื ืืึทืจืืื, ืืื PDF ืคึฟืึธืจืืึทื ืคึฟืึทืจ ืืจืืืกืืขืื ืื ืืขืงืข ืืื ืื ืงืึธื ืคึฟืขืจืขื ืฅ ืืึทืืขืจืืึทืืก.
ืฆืื ืืืืง, ืื Node.js ื ืืฆื ืืึทื ืืึทืื ืืขื ืึทืจืืขื.
node decktape.js -s 3200x1800 --slides 1-500
reveal "file:///index.html?fragments=true" slides.pdf
ืฆืืืื ืืจืืงืก ืืืขื ืืึธื ืืฉืื ื ืืขืงืืืืคึผ, ืืืึธืก ืืืจ ืืึธืื ืฆื ืงืืืขื ืึทืจืืืฃ ืืื ืืืจื ืคึผืจืึธืฆืขืก ืืื ืืขืืช:
-
ืืึทืืืึธืืข ืืืจื ืคึผืึทืจืึทืืขืืขืจ
-s
ืืืื ืืืื ืกืคึผืขืกืืคืืขื ืืื ืึท ืฆืืืืืคืึธืืื ืืจืขื ืขืฅ, ืึทื ืืขืจืฉ ืขืก ืงืขื ืืืื ืคึผืจืึธืืืขืืก ืืื ืื ืงืึทื ืืืขืจืืฉืึทื ืจืขืืืืืึทืื -
ืืื ืื URL ืคืื ืื HTML ืืืขืจืกืืข ืคืื โโืื ืคึผืจืขืืขื ืืืจืื ื ืืืจ ืืึทืจืคึฟื ืฆื ืคืึธืจื ืึท ืคึผืึทืจืึทืืขืืขืจ
?fragments=true
, ืืืึธืก ืืืขื ืืึทืื ืึท ืืึทืืื ืืขืจ ืคึผืืฃ ืืืึทื ืคึฟืึทืจ ืืขืืขืจ ืื ืืขืจืืืืืื ืฉืืึทื ืคืื ืืืื ืจืืง (ืืืฉื, ืคืื ืฃ ืืืขืืขืจ ืคึฟืึทืจ ืคืื ืฃ ืงืืื ืืืืืื ืืืื ืืื ืืขื ืขื ืืขืืืืื ืืืื ืขืจ ื ืึธื ืื ืื ืืขืจืข). ืืึธืก ืืืขื ืืึธืื ืืืจ ืฆื ื ืืฆื ืึทืืึท ืึท ืคึผืืฃ ืึทืืืื ืืื ืึท ืคึผืจืขืืขื ืืืจืื ื ืืขืฉืึทืก ืึท ืืึทืจืืื.
ืึธืืึทืืึทืืืง ืคึฟืึทืจืืึทืืืื ื ืืื ืืจืืืกืืขืื ืืืืฃ ืื ืืืขื
ืขืก ืืื ืืึทืงืืืขื ืืืขื ืกืืืืื ืืขื ืขื ืงืึทืืคึผืืืื ืืืืืึธืืึทืืืฉ ืืืขื ืขื ืืขืจืื ืืขื ืืขื ืขื ืืขืืืื ืืื ืื ืืืขืจืกืืข ืงืึธื ืืจืึธื ืกืืกืืขื, ืืื ืืคืืื ืืขืจ ืืึทืงืืืขื ืืืขื ืืืืืึธืืึทืืืฉ ืงืึทืืคึผืืืื ืกืืืืื ืืขื ืขื ืึทืจืืึทื ืืขืฉืืงื ืืืืฃ ืื ืืื ืืขืจื ืขื ืคึฟืึทืจ ืฆืืืืจ ื ืืฆื. ืกืืืืื ืคืื ืืขืจ ืืื ืืขืจื ืขืฅ ืงืขื ืขื ืืืื ืืืืื "ืืขืฉืคืืื" ืืื ืคืจืึธื ื ืคืื ืึท ืืืืขื ืคืื ืงืืื ืืึทืฉืื ืงืึธื ื ืขืงืืขื ืฆื ืื ืืื ืืขืจื ืขื ืืื ืึท ืคึผืจืึทืืืฉืขืงืืขืจ.
ืืื ื ืืืจ ื ืืฆื GitHub ืืื ืืื ืืืขืจ ืึทืจืืขื, ืื ื ืึทืืืจืืขื ืืจืืจื ืคืื ืึท ืกื ืกืืกืืขื ืืื gh-pages
ืคืื ืืืื ืคึผืจืืืขืงื ืืืืฃ GitHub, ืืื ืื ืืืฆื ืืื <ะฒะฐัะต ะธะผั>.gihub.io/<ะฒะฐั ะฟัะพะตะบั>
.
ืืึทื ืฅ TravisCI ืงืึทื ืคืืืืขืจืืืฉืึทื ืืขืงืข, ืึทืจืืึทื ืืขืจืขืื ื ืงืึทืืคึผืืืืื ื ืื HTML ืืืขืจืกืืข ืคืื โโืื ืืืึทื ื ืืฆื Maven, ืงืึทื ืืืขืจืืื ื ืฆื PDF ืืื ืืขืงืืืืคึผ ืืื ืืคึผืืึธืึทืืื ื ืื ืจืขืืืืืึทืื ืฆื ืึท ืคืึธืืขื gh-pages
ืคึฟืึทืจ ืืจืืืกืืขืื ืืืืฃ github.io, ืงืืงื ืืื
ืฆื ืืืืขื ืึทืืึท ืึท ืคึผืจืืืขืงื ืืืืฃ ืื TravisCI ืืืึทื, ืืืจ ืืึทืจืคึฟื ืฆื ืงืึทื ืคืืืืขืจ ืกืืืืืืข ืืืขืจืืึทืืึทืื
GH_REF
- ืืืขืจื ืืื github.com/inponomarev/csa-hbGH_TOKEN
- ืืืืืื ืึทืงืกืขืก ืกืืืขื. ืืืจ ืงืขื ืขื ืืึทืงืืืขื ืขืก ืคึฟืื GitHub ืืื ืืืื ืคึผืจืึธืคืื ืกืขืืืื ืืก, ืืขืืืขืืึธืคึผืขืจ ืกืขืืืื ืืก -> ืคืขืจืืขื ืืขืืข ืึทืงืกืขืก ืืึธืงืขื ืก. ืืืื ืืืจ ืืคึผืืึธืึทื ืึท ืคึผืจืขืืขื ืืืจืื ื ืฆื ืึท ืฆืืืืจ ืจืืคึผืึทืืึทืืึธืจื, ืคึฟืึทืจ ืืขื ืกืืืขื ืขืก ืืื ืืขื ืื ืฆื ืกืคึผืขืฆืืคืืฆืืจื ืื ืืืืื ืึทืงืกืขืก ืืืจืื "ืฆืืืจืื ืขืคื ืืืขื ืจืืคึผืึทืืึทืืึธืจืื".GH_USER_EMAIL
/GH_USER_NAME
- ื ืึธืืขื / E- ืืจืืื ืคึผืึธืจ ืืืืฃ ืืืืึทืฃ ืคืื ืืืึธืก ืื ืฉืืืคึผื ืฆื ืื ืคืึธืืขื ืืืขื ืืืื ืืืจืืืขืงืึธืืgh-pages
.
ืืืื, ืืขืืขืจ ืืืขืจืืขืื ืคืื ืื ืคึผืจืขืืขื ืืืจืื ื ืงืึธื ืืืืฃ GitHub ืจืขืืืืืืื ืึทื ืื ืกืืืืื ืืืขืจื ืืืืืึธืืึทืืืฉ ืจืืืืื ืืื HTML ืืื ืคึผืืฃ ืคึฟืึธืจืืึทืืืจืื ืืขื ืืื ืฉืืึทืขื-ืืคึผืืึธืึทืืขื ืฆื github.io. (ืืึธื, ืืืจ ืืึธื ื ืึธืจ ืืคึผืืึธืึทื ืฆื github.io ืื ืคึผืจืขืืึทื ืืืืฉืึทื ื ืึทื ืืืจ ืืขืกืึธืฃ ืืืืื ืฆื ืืึทืื ืขืคื ืืืขื.)
ืืืืฉืคืืื ืคืื ืคืจืืืขืงืื
ืฆืื ืกืืฃ, ืืึธ ืืขื ืขื ืืื ืงืก ืฆื ืึท ืคึผืึธืจ ืคืื ืืืืฉืคืืื ืคืื ืคึผืจืขืืขื ืืืจืื ื ืคึผืจืึทืืืฉืขืงืก ืืื ืงืึทืกืืึทืืืืื ืืึทืืืขื ืกืงืจืืคึผืก ืืื CI ืงืึทื ืคืืืืขืจืืืฉืึทื ืคึฟืึทืจ Travis-CI, ืืืึธืก ืงืขื ืขื ืืืื ืงืืึธืื ื ืืื ืืขืืืืื ื ืืืขื ืืืจ ืฉืึทืคึฟื ืืืื ืืืืืขื ืข ืคึผืจืขืืขื ืืืจืื ื ืคึผืจืึทืืืฉืขืงืก:
-
https://github.com/inponomarev/kstreams-examples (ืืืื ืจืขืื ืคึฟืึทืจ JPoint 2019) -
https://github.com/inponomarev/csa-hb (ืืืื ืืึทืจืืื ืคึฟืึทืจ Heisenbug 2019)
ืืืึท ืืขืืื ื ืคึผืึธืืืขืจืคึผืึธืื ื! ืืื ืืึธื ื ืื ืืจืึทืืื ืืื ืืืขื ืงืืื ืืึธื ืืึทืจืคึฟื ืืืจ ืคึฟืึทืจ ืืขืื ืืฉ ืคึผืจืขืืึทื ืืืืฉืึทื ื :)
ืืงืืจ: www.habr.com