๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Programming

(29)
์ปดํŒŒ์ผ๋Ÿฌ(Compiler)์™€ ์ธํ„ฐํ”„๋ฆฌํ„ฐ(Interpreter) ์ปดํŒŒ์ผ๋Ÿฌ(Compiler) โ–ท ๊ณ ๊ธ‰์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ์ด ์ปดํ“จํ„ฐ์—์„œ ์ˆ˜ํ–‰๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๊ณ„์–ด๋กœ ๋ฐ”๊พธ์–ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์ผ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ปดํŒŒ์ผ๋Ÿฌ๋ผ๊ณ  ํ•œ๋‹ค. โ–ท ๋ฒˆ์—ญ๊ณผ ์‹คํ–‰์„ ๊ฑฐ์ณ์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ์ง€๋งŒ, ๋ฒˆ์—ญํ•œ ์ดํ›„์—๋Š” ์ถ”๊ฐ€์ ์ธ ๋ฒˆ์—ญ ๊ณผ์ •์ด ํ•„์š” ์—†์œผ๋ฏ€๋กœ ์‹คํ–‰์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค. โ–ท ๋ฌธ๋ฒ•์ด ํ‹€๋ฆฌ๋ฉด ์ปดํŒŒ์ผ ํ•˜๋Š” ๊ณผ์ •์—์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋ ๊ณ , ์ด๋ฅผ ์ปดํŒŒ์ผ ์—๋Ÿฌ๋ผ๊ณ  ํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ ๋‹จ์œ„๋กœ ๋ณ€ํ™˜๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ปดํŒŒ์ผ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์‹คํ–‰์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ์ธํ„ฐํ”„๋ฆฌํ„ฐ(Interpreter) โ–ท ๊ณ ๊ธ‰์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ์„ ๋ฌธ์žฅ ๋‹จ์œ„๋กœ ๊ธฐ๊ณ„์–ด๋กœ ํ•ด์„ํ•˜์—ฌ ์‹คํ–‰ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ผ๊ณ  ํ•œ๋‹ค. โ–ท ๋ฌธ์žฅ ๋‹จ์œ„๋กœ ์‹คํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ๊ทธ๋žจ์˜ ๋ณ€ํ™”์— ๋น ๋ฅด๊ฒŒ ๋ฐ˜์‘ํ•  ์ˆ˜ ์žˆ๊ณ , ์—๋Ÿฌ๊ฐ€..
์ฃผํ”ผํ„ฐ ๋žฉ(Jupyter lab)๊ณผ ์ŠคํŒŒํฌ(Spark) ์—ฐ๋™ ์œˆ๋„์šฐ 10 ํ™˜๊ฒฝ์—์„œ ์ฃผํ”ผํ„ฐ ๋žฉ(Jupyter lab)๊ณผ ์ŠคํŒŒํฌ(Spark)๋ฅผ ์—ฐ๋™ํ•ด๋ณด์ž. ์•„๋‚˜์ฝ˜๋‹ค(Anaconda)์™€ ์ŠคํŒŒํฌ๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์Œ์„ ์ „์ œํ•˜๊ณ  ์„ค๋ช…์„ ์‹œ์ž‘ํ•˜๋„๋ก ํ•˜๊ฒ ๋‹ค. ์•„๋ž˜์˜ ๋งํฌ๋Š” ์ŠคํŒŒํฌ์˜ ์„ค์น˜ ๋ฐฉ๋ฒ•์ด๋‹ˆ, ํ•„์š”ํ•˜๋ฉด ์ฐธ๊ณ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์ž. [Scala & Spark] 02. ์ŠคํŒŒํฌ(Spark) ์„ค์น˜ ์œˆ๋„์šฐ 10 ํ™˜๊ฒฝ์—์„œ ์ŠคํŒŒํฌ(Spark) ์„ค์น˜ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณผ ๊ฒƒ์ด๋‹ค. ์ŠคํŒŒํฌ๋ฅผ ์„ค์น˜ํ•˜๊ธฐ ์œ„ํ•ด ์ž๋ฐ”(Java)์™€ ์Šค์นผ๋ผ(Scala)๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ๋ฐ˜๋“œ์‹œ ์ž๋ฐ”์™€ ์Šค์นผ๋ผ๋ฅผ ์„ค์น˜ํ•œ ํ›„, ์ŠคํŒŒํฌ๋ฅผ ์„ค์น˜ํ•˜๋„๋ก ํ•˜๏ฟฝ๏ฟฝ rooney-song.tistory.com 1. ์ฃผํ”ผํ„ฐ ๋žฉ ์„ค์น˜ ๋ฐ ๋ฐ”๋กœ๊ฐ€๊ธฐ ๋งŒ๋“ค๊ธฐ (1) ์•„๋‚˜์ฝ˜๋‹ค ํ”„๋กฌํ”„ํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ณ , "pip install jupyterlab"์„ ์ž…๋ ฅํ•˜์—ฌ ์ฃผํ”ผํ„ฐ ..
์ŠคํŒŒํฌ(Spark) ์„ค์น˜ ์œˆ๋„์šฐ 10 ํ™˜๊ฒฝ์—์„œ ์ŠคํŒŒํฌ(Spark) ์„ค์น˜ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณผ ๊ฒƒ์ด๋‹ค. ์ŠคํŒŒํฌ๋ฅผ ์„ค์น˜ํ•˜๊ธฐ ์œ„ํ•ด ์ž๋ฐ”(Java)์™€ ์Šค์นผ๋ผ(Scala)๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ๋ฐ˜๋“œ์‹œ ์ž๋ฐ”์™€ ์Šค์นผ๋ผ๋ฅผ ์„ค์น˜ํ•œ ํ›„, ์ŠคํŒŒํฌ๋ฅผ ์„ค์น˜ํ•˜๋„๋ก ํ•˜์ž. ์Šค์นผ๋ผ์˜ ์„ค์น˜ ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์˜ ๋งํฌ๋ฅผ ํ†ตํ•ด ํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ, ํ•„์š”ํ•˜๋ฉด ์ฐธ๊ณ ํ•˜๋„๋ก ํ•˜์ž. [Scala & Spark] 01. ์Šค์นผ๋ผ(Scala) ์„ค์น˜ ์œˆ๋„์šฐ 10 ํ™˜๊ฒฝ์—์„œ ์Šค์นผ๋ผ(Scalar) ์„ค์น˜ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณผ ๊ฒƒ์ด๋‹ค. ์Šค์นผ๋ผ๋Š” ์ž๋ฐ”(Java)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ž๋ฐ”(1.8 ๋ฒ„์ „ ์ด์ƒ)๋ฅผ ๋ฐ˜๋“œ์‹œ ์„ค์น˜ํ•ด์•ผ ํ•œ๋‹ค. ๋ฐ˜๋“œ์‹œ ์ž๋ฐ”๋ฅผ ์„ค์น˜ํ•œ ํ›„, ์Šค์นผ๋ผ๏ฟฝ rooney-song.tistory.com 1. ์ŠคํŒŒํฌ ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ค์น˜ (1) ์—ฌ๊ธฐ(http://spark.apache.org/downloa..
์Šค์นผ๋ผ(Scala) ์„ค์น˜ ์œˆ๋„์šฐ 10 ํ™˜๊ฒฝ์—์„œ ์Šค์นผ๋ผ(Scalar) ์„ค์น˜ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณผ ๊ฒƒ์ด๋‹ค. ์Šค์นผ๋ผ๋Š” ์ž๋ฐ”(Java)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ž๋ฐ”(Java)๋ฅผ ๋ฐ˜๋“œ์‹œ ์„ค์น˜ํ•ด์•ผ ํ•œ๋‹ค. ์ž๋ฐ”๋Š” Java SE 8, JDK 8, JRE8 ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ค์น˜ํ•˜๋„๋ก ํ•˜์ž. ์ž๋ฐ”๋ฅผ ์„ค์น˜ํ•œ ํ›„, ์Šค์นผ๋ผ๋ฅผ ์„ค์น˜ํ•˜๋„๋ก ํ•˜์ž. 1. ์Šค์นผ๋ผ ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ค์น˜ (1) ์—ฌ๊ธฐ(https://www.scala-lang.org/download/)๋กœ ๋“ค์–ด๊ฐ€ [Download the Scala binaries for windows]๋ฅผ ์„ ํƒํ•œ๋‹ค. (2) ๋‹ค์šด๋ฐ›์€ "scala-2.13.3.msi"๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์„ค์น˜ํ•œ๋‹ค. (2-1) ๋งŒ์•ฝ ์ŠคํŒŒํฌ(Spark)๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์Šค์นผ๋ผ๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒฝ์šฐ, ๊ฒฝ๋กœ ์„ค์ •์„ ๋‹ค๋ฅด๊ฒŒ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. ๊ฒฝ๋กœ๋ฅผ ์ง์ ‘ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ..
ํด๋ž˜์Šค(Class)์˜ ์ธ์ž ๋ฐ ๋ฉ”์†Œ๋“œ(Method) ํŒŒ์ด์ฌ์˜ ์ž๋ฃŒ ๊ตฌ์กฐ์ธ ํด๋ž˜์Šค(Class)์˜ ์ธ์ž ๋ฐ ๋ฉ”์†Œ๋“œ(Method) ๋Œ€ํ•ด ์•Œ์•„๋ณผ ๊ฒƒ์ด๋‹ค. ๋‹ค๋ฃฐ ๋‚ด์šฉ์œผ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 1. self ์ธ์ž 2. __init__() ๋ฉ”์†Œ๋“œ 3. super() ๋ฉ”์†Œ๋“œ 1. self ์ธ์ž In: class test_class: def test_fun_1(): print('Function 1') def test_fun_2(self): print('Function 2') t_c = test_class() t_c.test_fun_1() Out: --------------------------------------------------------------------------- TypeError Traceback (most recent call last) in 1 t_c =..