๐ณ์ด์ ๊ธ
https://codecollector.tistory.com/1098?category=1039078
2021 ์คํ์์ค ์ปจํธ๋ฆฌ๋ทฐ์ ์์นด๋ฐ๋ฏธ ํ๋ก์ ํธ ์ง์ ํ๊ธฐ
๋๊ธฐ ์ฌ๋ฌ it๊ธฐ์ ์ ์ง์ํ๋ค ์คํจ๋ฅผ ๋ง๋ณด๊ณ ํ๋ฐ๊ธฐ ์ค๋น๋ฅผ ํ๊ณ ์์ ๋ ์ข์ ๊ธฐํ๊ฐ ์๋ค. ํ๋ก์ ํธ ๊ฒฝํ ๋ฐ ๊ฐ๋ฐ๊ฒฝํ์ ๋ถ์ฌ๋ก ์ธํด ๋ฐฐ์์ ๋ชฉ๋ง๋ฅด๋ค ์คํ์์ค ์ํํธ์จ์ด ํตํฉ์ง์์ผํฐ๋ผ
codecollector.tistory.com
๐ณ๋จธ๋ฆฌ๋ง
๊ธธ๋ฉด ๊ธด ์งง์ผ๋ฉด ์งง์๋ ์ปจํธ๋ฆฌ๋ทฐ์ ์์นด๋ฐ๋ฏธ ํ๋ก์ ํธ๋ ๋๋ฌ๋ค. ํ์ง๋ง ์ด์ ์์์ด๋ค
๐ ํ๋
๐ Challenges (21. 8. 7. - 21. 8. 31)
์์ ์๋ฌด๊ฒ๋ ๋ชจ๋ฅด๋ rust๋ผ๋ ์ธ์ด์ ์ด๋ก ์์ผ๋ก๋ง ๋ฐฐ์ ๋ dbms์ ๋์๋ฐฉ์์ code๋ก ๋ณด๊ณ ๊ตฌํํด๋ณด๋ ๊ฒ์ด๋ผ ๋๋์ฒด ์ด๋ป๊ฒ ํ ์ง๋ฅผ ๋ชฐ๋๋ค. ์ผ๋จ ์๊ฒฉํ rust์ธ์ด์ ์ฅ๋ฒฝ์ ๊ฐํ 1๋ฌ์ ํค๋งธ์๋ ๊ฒ ๊ฐ๋ค. ๊ธ์ ์ ์ผ๋ก ์ฐจ๊ทผํ ์จ๋ผ์ธ ์์์ ๋์์๋ ์ฑ ์ ์ฝ๊ณ ๊ณต๋ถํ๋ค. ์ฑ ๋ ์ด๋ก ์๋ง ๊ทธ์น์ง ์๋ ์์ ์ ํจ๊ป ์น์ ํ ์ดํด๋ฅผ ๋๊ธฐ ๋๋ฌธ์ ์ฆ๊ฒ๊ฒ ๋ฐฐ์ด ๊ฒ ๊ฐ๋ค.
https://rinthel.github.io/rust-lang-book-ko/foreword.html
๋ค์ด๊ฐ๊ธฐ ์์ - The Rust Programming Language
ํญ์ ๊ทธ๋ ๊ฒ ๋ช ํ์ง๋ ์์์ง๋ง, ๋ฌ์คํธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ๊ทผ๋ณธ์ ์ผ๋ก ๊ถํ ๋ถ์ฐ์ ๊ดํ ๊ฒ์ ๋๋ค: ์ฌ๋ฌ๋ถ์ด ์ด๋ ํ ์ข ๋ฅ์ ์ฝ๋๋ฅผ ์์ฑํ๋ ์ค์ด๋ ๊ฐ์, ๋ฌ์คํธ๋ ์ฌ๋ฌ๋ถ์๊ฒ ๋ ๋ฉ๋ฆฌ ๋ป์ด
rinthel.github.io
ํ์ง๋ง ํญ์ ํ ์คํธ๋ก๋ง ์ดํดํ๋ค๊ณ ์ฌ๊ธฐ๊ณ ์ง์ ์ฝ๋๋ฅผ ์ง๋ ์๊ฐ ๋ด๊ฐ ์ํ๋ ๊ฒฐ๊ณผ๋ฌผ์ด ์ฝ๊ฒ ๋์ค์ง ์๋๋ค๋ ์ข์ ๊ฐ์ ์๊ธฐ ๋๋ฌธ์ ๋ด๊ฐ ์์ ํ ์ดํดํ์์ ํ์ ํ ์ ์๋ ์ฅ์น๊ฐ ํ์ํ๋ค. ๊ทธ๋ ๊ฒ ํด์ฆ ํ์์ผ๋ก rust์ ๋ฌธ๋ฒ์ ์ตํ๊ณ ์ ๋ต์ ์ถ๋ ฅํด๋ณผ ์ ์๋ repo๋ฅผ ๋ฉํ ๋ถ ์ค ํ ๋ถ์ด ์๋ ค์ค์ ๋ง์ ๋์์ ๋ฐ์๋ค.
https://github.com/rust-lang/rustlings
GitHub - rust-lang/rustlings: Small exercises to get you used to reading and writing Rust code!
:crab: Small exercises to get you used to reading and writing Rust code! - GitHub - rust-lang/rustlings: Small exercises to get you used to reading and writing Rust code!
github.com
ํ 2์ฃผ๊ฐ ์ง๋์ ์กฐ๊ธ์ฉ ๋ณด์ด๊ธฐ ์์ํ๋ค. project์ code๋ค์ด 1์ค 2๋ ์ฉ ๋ณด์ด๊ธฐ ์์ํ๋ค. ํ์ง๋ง ์ฌ์ ํ ์ด๋ ค์์ ์์๋ค. ๋ฌด์์ ๋ณด์ํด์ผํ ์ง, ๊ฐ๋ฐํ ์ ์ ๋ฌด์์ธ์ง ์๊ฐํด์ pr์ ๋ ๋ ค์ผ ํ๋ ์ค ์๊ณ ๋ฉ๋ถ์ด ์ด์ง ์ฌ๋ป ํ๋ค. ์ด๋ ๋ฉํ ๋์ด ํด๊ฒฐํด ์ฃผ์ จ๋ค. ๋จ๋ค์ด ์ง๋์ code๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋จํ ํํ๋ง ํ๋ด๋ด๋ฉด ์ถ๊ฐํ ์ ์๋ ๊ฐ๋จํ ํจ์๋ฅผ test code์ ํจ๊ป ์ถ๊ฐํ๋๋ก ํจ์ผ๋ก์จ git์ด ์ด๋ป๊ฒ ๋์๊ฐ๋์ง ๋ณต์ตํ๊ณ (fork, clone, push, commit, push, pr, merge) ์ฑ๊ณต์ ์ผ๋ก ์ฒซ pr์ ๋ ๋ฆฌ๊ณ mergeํ ์ ์์๋ค.
Sql function REVERSE ๊ธฐ๋ฅ ์ถ๊ฐ (2021.08.07 ~ 2021.08.26) #265
Project์ ๊ฒฝ์ฐ ์ฒด๊ณ์ ์ผ๋ก ์ ๋ฆฌ๋์ด ์๊ณ ๊ตฌํ๋์ด ์์๋ folder, file์ ํตํด REVERSE ํจ์๋ฅผ ๊ฐ๋จํ๊ฒ ์ถ๊ฐ. ํ์ง๋ง ์ ์ฒด์ ์ธ sql๋ฌธ๋ค์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ด ํ์ฌ๋ก์จ๋ table๊ณผ column์ด ๋ง๋ค์ด์ง ์ํ์ ๋ํด์๋ง ๋์ํ๊ธฐ ๋๋ฌธ์ column๋ช ์ ํจ์์ parameter๋ก ๋๊ฒจ ๋ฌธ์์ด์ ๋ค์ง์ด ๋ฐํํ๋ ์ ํ์ ์ธ ๊ธฐ๋ฅ๋ง์ ๋ง๋ฆ. ๊ธฐ๋ฅ ๊ตฌํ ํ ๊ฒ์ฆ์ ์ํด integration test๋ฅผ ์์ฑํด ์ถ๊ฐ.
Rust function PartialEq, PartialOrd test ์์ฑ ๋ฐ bug ์์ (2021.08.26 ~ 2021.08.30) #329 #353
rust๋ฅผ ๊ณต๋ถํ๋ ํํธ rust์์ ์ง์ํ๋ ๋ด์ฅํจ์์ธ PartialEq, PartialOrd ๋ฅผ customizingํด๋์ ๋ถ๋ถ์ ๊ฒ์ฆํ๊ธฐ ์ํ unit test๋ฅผ ์ถ๊ฐ. ์ถ๊ฐํ๋ ๊ณผ์ ์์ bug๋ฅผ ๋ฐ๊ฒฌํ๊ฒ ๋์์ต๋๋ค. PartialEqํจ์๊ฐ sql๋ฌธ์ parsingํ ํ ๋์จ ๋ฌธ์์ด์ ์ฌ๋ฌ data๋ค(Boolean, Number, Text, Interval, Null)๋ก ๋ถ๋ฅํ ํ ๋ data๊ฐ ๊ฐ์์ง๋ฅผ ๋น๊ตํ๋ ๊ธฐ๋ฅ์ธ๋ฐ ์ ์ 12์ 12.0์ ๋ค๋ฅด๊ฒ ํ๋จํ๋ ์ค๋ฅ๋ฅผ ๋ฐ๊ฒฌํด ์์ ํ ํ unit test code๋ฅผ ์ถ๊ฐ. ๋ํ PartialOrd ํจ์๋ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ถ๋ฅ๋ ๋ data๊ฐ์ ๋ํด ๊ฐ์์ง, ํฐ์ง, ์์์ง๋ฅผ ๋น๊ตํด Option<ordering> ํํ๋ก ๋ฐํํด์ฃผ๋ ํจ์์ด๋ฉฐ ์ด์ ๋ํด unit test code๋ฅผ ์ถ๊ฐ.
๐ Masters (21. 9. 6. - 21. 11. 19)
์ฒ์ฒํ ๋จ๊ณ๋ฅผ ๋์ฌ๊ฐ๋ฉฐ unit test -> refactoring์ผ๋ก ํ์ฅํด ๋์๊ฐ๋ฉฐ project์ coreํ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๋๋ก ํด์ฃผ์
์ ์ข๊ฒ ๋ฐ๋ผ๊ฐ ์ ์์๋ค. refactoring์ ๊ฒฐ๊ตญ ๊ตฌ์กฐ๋ ์ง์ draft pr๊น์ง๋ ๋ ๋ ธ์ผ๋ ๋ํ
์ผํ rust์ ๋ฌธ๋ฒ์ ๊ตฌํํ๋๋ฐ ์์ด ๊ฐ๋ก๋งํ ์คํ๋ผ์ธ์ผ๋ก ๋ฉํ ๋์ด ์ง์ฃผ์
จ๋ค๋๊ฑด ์๋น๋ฐ. ์๊ด์ pair programming์ด์์ต๋๋ค.
Logical XOR๋ฅผ parser์ ์ถ๊ฐ (2021.08.30 ~ 2021.09.17) #357
bitwise operator์ธ ^๋ ๊ตฌํ๋์ด ์์ผ๋ ๋ ผ๋ฆฌ์ ์ผ๋ก XORํ๋ ๋ถ๋ถ์ parser๋ก ๊ตฌํ๋์ด ์์ง ์์ ์ถ๊ฐํ ๋ค ์ ๋๋ก parsing์ด ๋๋์ง test code๋ฅผ ์์ฑ.
Boolean type์ ๋ํ Logical XOR์ ๋์์ ๊ตฌํ (2021.08.30 ~ 2021.09.17) #354
mariadb๋ฌธ์๋ฅผ ์ฐธ์กฐํด Boolean type๋ผ๋ฆฌ์ ๋ ผ๋ฆฌ์ XOR๊ฐ ๋์ํ๋๋ก ๊ธฐ๋ฅ์ ์ถ๊ฐ. sqlparser ์์ ์๋ฃํ INT์ ๋ํด parsingํ๋ ๋ฐฉ์์ด ๋ฐ๋์ด ๊ธฐ์กด project์ธ GlueSql๋ update. GlueSql์ sqlparser๋ฅผ ์ฌ์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ.
Aggregation function๋ถ๋ถ private enum์ด์ฉ, refactoring (2021.10.03 ~ 2021.11.14) #368
expr์์ aggregation์์ ์์์ ๋ count, sum, min, max๋ฅผ ์ํํ ๊ฒฐ๊ณผ ๊ฐ์ ๊ณตํต์ ์ผ๋ก 1๊ฐ๋ง exportํ๋ ํจ์๋ก ๋์ํ๊ณ ์๋ ๊ตฌ์กฐ์์ผ๋ฉฐ ๋๋ฌธ์ avg๋ ์ค๊ฐ๊ฐ์ ๋ ๊ฐ(sum/count)์ ์ฅํด์ผ ํ๋ ์ํฉ์ด๋ผ ๊ตฌํ๋์ด ์์ง ์์์. ๋ํ tuple๊ตฌ์กฐ๋ก ์ค๊ฐ๊ฐ์ ์ ์ฅํ์ ๋ ๊ฐ์ ์๋ฏธ๊ฐ ๋ถ๋ถ๋ช ํด์ ธ enum์ผ๋ก ๋ง๋ค์ด์ค์ผ ๋์๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก enum์ผ๋ก ๊ตฌ๋ถ๋ ํจ์๋ฅผ ํธ์ถํด ์ด๋ค ๊ฐ์ด ์ฌ์ฉ๋๊ณ ์๊ณ ์ด๋ป๊ฒ ๊ฐ์ ๋ฐํํ๋์ง ๋ช ํํ ๊ตฌ์กฐ์ ์ฝ๋๊ฐ ๋ง๋ค์ด์ก๋ค.
Unary operator plus, minusํจ์์ ๋ํ unit test code ์ถ๊ฐ (2021.11.14 ~ 2021.11.15) #406
์์ pr์ ๋ํ code coverage๋ฅผ ํ์ธํด๋ณด๋ ๋จํญ์ฐ์ฐ์์ ํจ์์ ๋ํ unit test๊ฐ ์ถ๊ฐ๋์ด์์ง ์์์ ํ์ธ. ๊ฐ๋จํ ์ถ๊ฐํด ์ฌ๋ ธ๋ค.
๊ทธ ์ธ ๋ฆฌ๋ ๋ฉํฐ๋์ด project๋ฅผ ํ๋๋ฐ ์์ด์ ๊ฐ์ฅ ํฐ ์ฅ๋ฒฝ์ ์ค๋ฌธ์กฐ์ฌํด rust์ธ์ด ์์ฒด์ ๋ฌธ์ ์ ์ ์๊ฒ ๋์๋ค. ์ด ํ 5๋ถ rust๋ผ๋ rust์์ ์ด๋ ต๊ฑฐ๋ ์์ํ ๊ฐ๋ ์ ์ง์ ๋ฐํ์๋ฃ๋ฅผ ์ค๋นํ๊ณ ๋ฐํํ๋๋ก ๋งค์ฃผ 1ํ ์งํํ๋ค. ๋ฐํ์ดํ์๋ ํ ๋ก ์๊ฐ์ ๊ฐ์ง์ผ๋ก์จ rust๋ผ๋ ์ธ์ด์ ๋์ฑ ์น์ํด ์ง ์ ์์๋ค.
๐ ์ฑ๊ณผ ๋ฐ ๊ณํ
๐ ์ฑ๊ณผ
rust๋ผ๋ ์๋ก์ด ์ธ์ด๋ฅผ ์ ํ๊ฒ ๋ ๋ถ๋ถ, ๊ธฐ์กด์ ๊ด์ฌ์ด ์์๋ sql์ ๋์๋ฐฉ์์ ๋จ๊ณ์ ์ธ contribution์ ํตํด ์ ์ฒด์ ์ธ flow๋ ๋ฌธ๋ฒ์ ์ธ ๋ถ๋ถ์ ์ด๋์ ๋ ์ดํดํ๊ฒ ๋์๋ค. ๋ํ ํ์ต์์ ๊ฐ์ฅ ์ข์ํ๋ ์ง์ ์ฒดํ์ ํ๊ฒ ๋ ์ ์ด ๋ป๊น์๋ค.
๋๊ผ๋ ์ด๋ ค์ : rust๋ผ๋ ์ธ์ด๋ ์ ๋ง ์๊ฒฉํ๋ค. null์ ํ์ฉํ์ง ์์ผ๋ฉฐ ๊ฐ parameter์ ๋ช ํํ type์ ์ ์ธํด์ค์ผ ํ์ผ๋ฉฐ ์์ ๊ถ, Option, trait ๋ฑ๋ฑ ์๊ฐ๋ณด๋ค ๋ฌธ๋ฒ์ด ๋ค๋ฅธ ์ธ์ด์ ๋นํด ์์ํ๊ณ ์์ฐ์ค๋ฝ๊ฒ ๋ค๋ฃจ๊ธฐ์๋ ์์ง ๋ถ์กฑํ ์ ์ด ๋ง์๋ค.
์ฑ์ฅ : code์์ฒด๋ฅผ ์ง๋ ๊ฒ ๋ฟ๋ง์๋๋ผ ๊ฐ๋ฐ ์ธ์ ์ธ ๋ถ๋ถ์์ ๋ง์ ์ฑ์ฅ์ ํ๊ฒ ๋์๋ค. ํ์ ๋ฐฉ์, ์์ฌ์ํต ๋ถ๋ถ์์ ๋ง์ด ๋ฐฐ์ ๋ค. ์๋ก์ ์๊ฒฌ์ ์กฐ์จํ๊ณ ๋ด๊ฐ ์ดํดํ ๋ด์ฉ๊ณผ ๋ชจ๋ฅด๋ ๋ถ๋ถ์ ๋ช ํํ ์ค๋ช ํด ์ํธ๊ฐ ์ดํดํ๋ ๋ถ๋ถ์ ์ค์ฐจ๊ฐ ์๋๋ก ํ๋ค. ์จ๋ผ์ธ ํ์๋ ๋๊นํ์์ผ๋ก ์ฝ๊ฐ ๋ถํธํ์ง๋ง ์๊ฒฌ์ ์ ๊ทน์ ์ผ๋ก ๊ณต์ ํ๊ณ ์๋ก ๋งํ๋ ๋ฐฉ์์ ์ ๊ฒฝ์ฐ๋ฉด์ ์์ผ๋ฉฐ ์ ์งํํ ๊ฒ ๊ฐ์ ๋ฟ๋ฏํจ์ ๋๊ผ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ฅ ๊ฒํฅ๊ธฐ๋ก ์ฌ์ฉํ๋ github๊ฐ ์ ํ์ ํด์ด๊ณ ์ด๋ค ๋ถ๋ถ์ ์์ด ์ ์ฉํ์ง ์ง์ fetch, push, merge๋ฅผ ํ๋ฉด์ ์ฒด๋ํ๊ฒ ๋์๋ค.
๊ณ์ํ๋ค๋ณด๋..
๋ฒ์ค? ๋ฅผ ํ์ง๋ง ํจ๊ป ํด์ฃผ์ ๋ถ๋ค. ๋ฐํ๋ฅผ ์ง์ ํด์ฃผ์ ๋ถ๋ค ๋ฆฌ๋๋ฉํฐ ๋ถ๋ค, ๋ฉํ ๋์๊ฒ ๋๋ฌด๋ ๋ง์ ๋์์ ๋ฐ์๋ค. ํญ์ ๊ฐ์ฌํ๋ค.
๐ ๊ณํ
gluesql์ ์ด์ ์์์ด๋ค ๋งค์ฃผ 1ํ ์ ๊ธฐ ์คํ๋ผ์ธ ๋ชจ์์ ํ๊ธฐ๋ก ํ์ผ๋ฉฐ project์ ์ ์ ์ด ์๊ฒผ๊ณ ๋๊น์ง ํด๋ณด๋ ค๊ณ ํ๋ค. ๊ธฐ์ฌ์์ฒด์์ ์ค๋ ์ฑ์ทจ๊ฐ๊ณผ ๋ฟ๋ฏํจ์ด ์ข์ ์๋๋ ฅ์ผ๋ก ์์ฉํด ๋ง์ ์ฑ์ฅ์ ํ๋ค. ๋์ฑ ์ฑ์ฅํ๊ธฐ ์ํด ๊ณต๋ถํ๊ณ ๋ ธ๋ ฅํ ๊ฒ์ด๋ค. ๋ํ ์ด project๊ฐ ๋๋๊ฒ ๋๋ฉด ๋ค๋ฅธ open source์๋ ์ฐธ์ฌํด ์ ๊ทน์ ์ผ๋ก ๊ธฐ์ฌํ๊ณ ์ถ๋ค.
'Diary' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
2020 ๋ถ์คํธ์บ ํ(์น) 5๊ธฐ(์ฑ๋ฆฐ์ง) ์ง์ ํ๊ธฐ (0) | 2021.11.21 |
---|---|
2021 ํ๊ณ SDS ์๊ณ ๋ฆฌ์ฆ ์บ ํ ํ๊ธฐ (0) | 2021.07.30 |
2021 ์คํ์์ค ์ปจํธ๋ฆฌ๋ทฐ์ ์์นด๋ฐ๋ฏธ ํ๋ก์ ํธ ์ง์ ํ๊ธฐ (2) | 2021.07.30 |
๋ธ๋ก๊ทธ์ ์์ค์ฝ๋ ์ฝ์ ํ๊ธฐ (0) | 2020.08.23 |