์ ๋ IT ๊ฒฝ๋ ฅ์ ์์ผ๋ฉด์ ๋๋ฃ, ๊ณ ๊ฐ์๊ฒ ํ๋ ์ ํ ์ด์ ์ ํ๊ณ ๊ณต๊ฐ ์ฐ์ค์ ์์ญ ๋ฒ ํ ๊ฒ ๊ฐ์ต๋๋ค. ์๋ ๋์ Powerpoint๋ ์ฌ๋ผ์ด๋ ์ ์ ๋๊ตฌ๋ก์ ์ ์๊ฒ ์์ฐ์ค๋ฝ๊ณ ์์ ์ ์ธ ์ ํ์ด์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฌํด ์ํฉ์ ์ง์ ์ผ๋ก ๋ฐ๋์๋ค. XNUMX์๋ถํฐ XNUMX์๊น์ง XNUMX๋ฒ์ ์ปจํผ๋ฐ์ค์์ ์ฐ์คํ ๊ธฐํ๊ฐ ์์๊ณ , ๋ณด๊ณ ์์ฉ ์ฌ๋ผ์ด๋๋ ์งง์ ์๊ฐ ๋ด์ ์ค๋นํด์ผ ํ์ง๋ง ๋์ ํ์ง์ ๊ฐ์ถฐ์ผ ํ์ต๋๋ค. ์ฌ๋ผ์ด๋์ ์๊ฐ์ ๋์์ธ์ ๊ดํ ์์ ์ค ํด๋น ๋ถ๋ถ์ ๋ค๋ฅธ ์ฌ๋์๊ฒ ์์ํ๋ ๊ฒ์ ๋ํ ์๋ฌธ์ด ์๊ฒผ์ต๋๋ค. ํ๋ฒ์ ๋์์ด๋์ ํจ๊ป ์์ ํ์ฌ .pptx ํ์ผ์ ๋ฉ์ผ๋ก ๋ณด๋ด๋ ค๊ณ ํ์ง๋ง ์์ ์ด ํผ๋์ ๋น ์ก์ต๋๋ค. ์ด๋ ๋ฒ์ ์ ์ฌ๋ผ์ด๋๊ฐ "์ต์ "์ธ์ง ์๋ฌด๋ ๋ชจ๋ฅด๊ณ Powerpoint์ ์ฐจ์ด๋ก ์ธํด ๋ ์ด์์์ด "์์ง์ด๋" ๊ฒ์ด์์ต๋๋ค. ์ฐ๋ฆฌ ์ปดํจํฐ์ ๋ฒ์ ๊ณผ ๊ธ๊ผด. ๊ทธ๋ฆฌ๊ณ ๋๋ ์๋ก์ด ๊ฒ์ ์๋ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ๋๋ ๊ทธ๊ฒ์ ์๋ํ๊ณ ๊ทธ ์ดํ๋ก Powerpoint๋ก ๋์๊ฐ ์๊ฐ์ ์์์ต๋๋ค.
์ฐ๋ฆฌ๋ ๋ฌด์์ ์ํ๋๊ฐ
์ฝ XNUMX๋
๋ฐ ์ ์ ์ฐ๋ฆฌ ํ์ฌ๋ ๋์ผํ ๋ฌธ์ ์ ์ง๋ฉดํ๋ฉด์ Word๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก์ ํธ ๋ฌธ์๋ฅผ ์์ฑํ๋ ๊ฒ์ ์ค๋จํ์ต๋๋ค. Word๋ ์์ ๋ฌธ์๋ฅผ ์
๋ ฅํ๋ ๋ฐ๋ ์ข์ง๋ง ์์ด ๋์ด๋จ์ ๋ฐ๋ผ ๊ณต๋ ์์
๊ณผ ๊ณ ํ์ง ๋ฌธ์ ํ๋ณด์ ์ด๋ ค์์ด ๋ฐ์ํฉ๋๋ค. ํต์ผ๋ ๋์์ธ. ์ฐ๋ฆฌ์ ์ ํ์ ๋จ์ด์ก๋ค
- ํ๋ ์ ํ ์ด์ ์ ๋งํฌ์ ์ธ์ด๋ก ๋ ์ผ๋ฐ ํ ์คํธ ํ์ผ์ด์ด์ผ ํฉ๋๋ค.
- ์ฐ๋ฆฌ ์ฌ๋ผ์ด๋๋ ๊ฐ๋ฐ ํ๋ก์ ํธ์ ๊ดํ ๊ฒ์ด๋ฏ๋ก ๋งํฌ์
์ ์ฌ์ฉํ๋ฉด ์ธ๋ถ ์์คํ
์ ์์กดํ์ง ์๊ณ ๋ ์ฝ๊ฒ ์ฝ์
ํ ์ ์์ด์ผ ํฉ๋๋ค.
- ๊ตฌ๋ฌธ ๊ฐ์กฐ๊ฐ ํฌํจ๋ ์ฝ๋ ์กฐ๊ฐ,
- ํ์ดํ๋ก ์ฐ๊ฒฐ๋ ๊ธฐํํ์ ๋ชจ์์ ๊ฐ๋จํ ๋ค์ด์ด๊ทธ๋จ,
- UML ๋ค์ด์ด๊ทธ๋จ, ์์๋ ๋ฑ.
- ํ๋ ์ ํ ์ด์ ์ด์์ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ ์ ์ฅ๋์ด์ผ ํฉ๋๋ค.
- ์์ฑ๋ ์ฌ๋ผ์ด๋์ ๊ฒ์ฆ ๋ฐ ์กฐ๋ฆฝ์ CI ์์คํ ์์ ์ํ๋์ด์ผ ํฉ๋๋ค.
ํ์ฌ ๋งํฌ์
์ธ์ด๋ก ์ฌ๋ผ์ด๋๋ฅผ ๋ง๋๋ ๋ฐ๋ ๋ ๊ฐ์ง ๊ธฐ๋ณธ ์ต์
์ด ์์ต๋๋ค.
๋ด ์ํผ์ LaTeX์ ์์ง๋ง, ๋๋ง ์ฌ์ฉํ๋ ๊ฒ์ด ์๋ ์๋ฃจ์ ์ ์ ํํ ๋๋ ๋ ๋ง์ ์ฌ๋๋ค์๊ฒ ์น์ํ ์๋ฃจ์ ์ ์ ํํด์ผ ํ๋ค๊ณ ์๊ฐํ์ต๋๋ค. ๋ชจ๋ ์ฌ๋์ด LaTeX๋ฅผ ์๋ ๊ฒ์ ์๋๋ฉฐ ์ผ์ ์ ๋ฌด๊ฐ ๊ณผํ ๊ธฐ์ฌ ์์ฑ๊ณผ ๊ด๋ จ์ด ์๋ค๋ฉด ์ด ์์คํ ์ ๊ฑฐ๋ํ๊ณ ๋ณต์กํ ์ธ๊ณ์ ๋ชฐ์ ํ ์๊ฐ์ด ์์ ๊ฒ์ ๋๋ค.
๊ทธ๋ฌ๋ HTML/CSS๋ฅผ ์๋ฌํ๋ ๊ฒ์ ๋๋ฆฌ ๋ณด๊ธ๋ ๊ธฐ์ ์ ์๋๋๋ค. ์๋ฅผ ๋ค์ด ์ ๋ 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 ์ธ์ด๋ฅผ ์ค์นํ๊ณ asciidoctor๋ฅผ ์ง์ ์คํํ ์ ์๋๋ฐ, ์ด๋ ์๋ง๋ Ruby ๊ฐ๋ฐ์์๊ฒ ๊ฐ์ฅ ๊ฐ๊น์ด ์ผ์ผ ๊ฒ์ ๋๋ค.
Ruby ์ค์น๋ฅผ ๋ฐฉํดํ๊ณ ์ถ์ง ์๋ค๋ฉด docker ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ด๊ฐ ์ ํํ ์ต์ ์ ๋ค์ ์์ธ์ธ ๊ฒ์ฒ๋ผ ๋ณด์ผ ์๋ ์์ง๋ง Java ๊ฐ๋ฐ์์ธ ๋์๊ฒ๋ ๊ฐ์ฅ ํธ๋ฆฌํ ์ต์ ์ด๋ค. Ruby๋ docker๋ฅผ ์ค์นํ ํ์๋ ์์ง๋ง Maven ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ผ์ด๋๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
์์ ์ ํ๋ก์ ํธ๊ฐ
๊ฐ์ฉ์ฑ graphviz
, GraphViz ๋๋ PlantUML ๊ทธ๋ํฝ์ ์ฌ์ฉํ๋ ค๋ ๊ฒฝ์ฐ ํ์ํฉ๋๋ค.) .adoc ํ์ผ์ ํด๋์ ๋ฃ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. src/main/asciidoc/
. ์ฌ๊ธฐ์
์ฌ๋ผ์ด๋๋ฅผ PDF๋ก ๋ณํ
์ฌ๋ผ์ด๋์ HTML ๋ฒ์ ์ ๋งค์ฐ ์๊ธ์์กฑ ๊ฐ๋ฅํ์ง๋ง ์ฌ์ ํ ์ฌ๋ผ์ด๋์ PDF ๋ฒ์ ์ด ํ์ํฉ๋๋ค. ์ฒซ์งธ, ๋ฐํ์์๊ฒ ์์ ์ ๋ ธํธ๋ถ์ ์ฐ๊ฒฐํ ์ ์๋ ๊ธฐํ๋ฅผ ์ ๊ณตํ์ง ์๋ ์ผ๋ถ ํ์์์๋ ์ฌ๋ผ์ด๋๊ฐ HTML๋ก๋ ๋ ๊ฒ์ด๋ผ๊ณ ๊ธฐ๋ํ์ง ์๊ณ "์๊ฒฉํ pptx ๋๋ pdf ํ์"์ ์ฌ๋ผ์ด๋๋ฅผ ์๊ตฌํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ๋์งธ, ํ์ ์๋ฃ์ ํ์ผ์ ๊ฒ์ํ๊ธฐ ์ํด ๋ณด๊ณ ์์ ํ์๋ ์ฌ๋ผ์ด๋์ ํธ์ง๋์ง ์์ ๋ฒ์ ์ PDF ํ์์ผ๋ก ์ฃผ์ต์์๊ฒ ๋ณด๋ด๋ ๊ฒ์ด ์ข์ ๋ฐฉ๋ฒ์ ๋๋ค.
๋คํํ Node.js ์ ํธ๋ฆฌํฐ๊ฐ ์ด ์์
์ ์ฒ๋ฆฌํฉ๋๋ค.
node decktape.js -s 3200x1800 --slides 1-500
reveal "file:///index.html?fragments=true" slides.pdf
๋ฐํฌํ ์ดํ๋ฅผ ์ถ์ํ ๋ ์ํ์ฐฉ์ค๋ฅผ ๊ฑฐ์ณ ๊ณ ์ํด์ผ ํ๋ ๋ ๊ฐ์ง ํธ๋ฆญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
-
๋งค๊ฐ๋ณ์๋ฅผ ํตํ ๋ถํด๋ฅ
-s
๋ ๋ฐฐ์ ์ฌ๋ฐฑ์ ์ง์ ํด์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ณํ ๊ฒฐ๊ณผ์ ๋ฌธ์ ๊ฐ ์์ ์ ์์ต๋๋ค. -
ํ๋ ์ ํ ์ด์ ์ HTML ๋ฒ์ URL์์ ๋งค๊ฐ๋ณ์๋ฅผ ์ ๋ฌํด์ผ ํฉ๋๋ค.
?fragments=true
๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ๋ผ์ด๋์ ๊ฐ ์ค๊ฐ ์ํ์ ๋ํด ๋ณ๋์ PDF ํ์ด์ง๊ฐ ์์ฑ๋ฉ๋๋ค(์๋ฅผ ๋ค์ด ์ฐจ๋ก๋๋ก ํ์๋๋ ๊ฒฝ์ฐ ๊ธ๋จธ๋ฆฌ ๊ธฐํธ XNUMX๊ฐ์ ๋ํด XNUMXํ์ด์ง). ์ด๋ ๊ฒ ํ๋ฉด ๋ณด๊ณ ์ ์ค์ ํด๋น 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 ์ก์ธ์ค ํ ํฐ. ํ๋กํ ์ค์ , ๊ฐ๋ฐ์ ์ค์ -> ๊ฐ์ธ ์ก์ธ์ค ํ ํฐ์ GitHub์์ ์ป์ ์ ์์ต๋๋ค. ํ๋ ์ ํ ์ด์ ์ ๊ณต๊ฐ ์ ์ฅ์์ ์ ๋ก๋ํ๋ ๊ฒฝ์ฐ ์ด ํ ํฐ์ ๋ํด "๊ณต์ฉ ์ ์ฅ์ ์ก์ธ์ค" ์ก์ธ์ค ์์ค๋ง ์ง์ ํ๋ฉด ์ถฉ๋ถํฉ๋๋ค.GH_USER_EMAIL
/GH_USER_NAME
โ ์ค๋ ๋์ ๋ํ ํธ์๊ฐ ์ํ๋ ์ด๋ฆ/์ด๋ฉ์ผ ์gh-pages
.
๋ฐ๋ผ์ GitHub์์ ํ๋ ์ ํ ์ด์ ์ฝ๋๋ฅผ ์ปค๋ฐํ ๋๋ง๋ค ์ฌ๋ผ์ด๋๊ฐ HTML ๋ฐ PDF ํ์์ผ๋ก ์๋์ผ๋ก ๋ค์ ์์ฑ๋๊ณ github.io์ ๋ค์ ์ ๋ก๋๋ฉ๋๋ค. (๋ฌผ๋ก , ๊ถ๊ทน์ ์ผ๋ก ๊ณต๊ฐํ๊ณ ์ถ์ ํ๋ ์ ํ ์ด์ ๋ง github.io์ ์ ๋ก๋ํด์ผ ํฉ๋๋ค.)
ํ๋ก์ ํธ์ ์
๋ง์ง๋ง์ผ๋ก ๋ค์์ ์ฌ์ฉ์ ์ ์ Maven ์คํฌ๋ฆฝํธ์ Travis-CI์ฉ CI ๊ตฌ์ฑ์ด ํฌํจ๋ ํ๋ ์ ํ ์ด์ ํ๋ก์ ํธ์ ๋ช ๊ฐ์ง ์์ ๋ํ ๋งํฌ์ ๋๋ค. ์ด ๋งํฌ๋ ์์ ๋ง์ ํ๋ ์ ํ ์ด์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค ๋ ๋ณต์ ํ์ฌ ์ฌ์ฉํ ์ ์์ต๋๋ค.
-
https://github.com/inponomarev/kstreams-examples (JPoint 2019์ ๋ํ ๋ด ๊ฐ์ฐ) -
https://github.com/inponomarev/csa-hb (Heisenbug 2019์ ๋ํ ๋ด ๋ณด๊ณ ์)
ํ์ํฌ์ธํธ ์๋ ! ๊ธฐ์ ํ๋ ์ ํ ์ด์ ์ ๋น์ ์ด ํ์ํ์ง ์์ ๊ฒ ๊ฐ์์ :)
์ถ์ฒ : habr.com