์ „์ฒด ๊ธ€

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ค€๋น„ ๋ธ”๋กœ๊ทธ: https://velog.io/@chaerlo127
โœจ List vs Array ์ €์žฅ ๋‘˜ ๋‹ค, ์ˆœ์„œ๋Œ€๋กœ ์ €์žฅ๋˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ค‘๋ณตํ•˜์—ฌ ์ €์žฅ ๊ฐ€๋Šฅ Array๋Š” ์–ด๋–ค ๋ฐ์ดํ„ฐ ์ €์žฅ ์œ„์น˜๊ฐ€ ์ค‘์š”ํ•จ. (index) ์ฃผ์†Œ๋ฅผ ๊ฐ–๊ณ  ๋ฐ”๋กœ ์ฐพ์•„๊ฐˆ ์ˆ˜ ์žˆ์Œ array[0] = 10; array[1] = 20; array[2] = 30; array[3] = 40; array์—์„œ index 3์— 50์˜ ๊ฐ’์„ ๋„ฃ๊ฒŒ ๋˜๋ฉด 40 ์œ„์— ๋ฎ์–ด์”Œ๊ฒŒ ๋œ๋‹ค. array[0] = 10; array[1] = 20; array[2] = 30; array[3] = 50; List๋„ index๊ฐ€ ์ค‘์š”ํ•˜์ง€๋งŒ, element์˜ ๋‹ค์Œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฌด์—‡์ธ์ง€๊ฐ€ ๋” ์ค‘์š”ํ•จ. ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์ˆœ์„œ๊ฐ€ ์ค‘์š”ํ•จ. list[0] = 10; list[1] = 20; list[2] = 30; list[3] = 40; ar..
ํ˜„์žฌ ํ•™๊ต์—์„œ ๋ฐ์ดํ„ฐ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ์žˆ๋Š”๋ฐ, ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๋ถ€๋ถ„์—์„œ ์ดํ•ด๊ฐ€ ๊ฐ€์ง€ ์•Š๋Š” ๋ถ€๋ถ„์ด ๋งŽ๋‹ค. MyArrayList๊นŒ์ง€๋Š” ๊ดœ์ฐฎ์•˜์ง€๋งŒ, LinkedListd(์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ)๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ์ดํ•ด๊ฐ€ ๊ฐ€์ง€ ์•Š๋Š” ๋ถ€๋ถ„์ด ๋งŽ์•˜๋‹ค. ๋”ฐ๋ผ์„œ ์œ ํŠœ๋ธŒ ๊ฐ•์˜๋ฅผ ๋ณ‘ํ–‰ํ•˜๋ฉด์„œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๊ฐœ๋…๊ณผ ์ฝ”๋“œ๋ฅผ ๋ธ”๋กœ๊ทธ์— ๋ณต๊ธฐํ•˜๋Š” ์‹์œผ๋กœ ๊ณต๋ถ€๋ฅผ ์ง„ํ–‰ํ•˜๊ณ ์ž ํ•œ๋‹ค. โœจ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ, ์›์†Œ๋“ค์ด ๋…ผ๋ฆฌ์ ์œผ๋กœ ์ •์˜๋œ ๊ทœ์น™์— ์˜ํ•ด ๋‚˜์—ด๋˜๋ฉฐ ์ž๋ฃŒ์— ์˜ํ•œ ์ฒ˜๋ฆฌ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž๋ฃŒ๋ฅผ ๊ตฌ๋ถ„ํ•˜์—ฌ ํ‘œํ˜„ํ•œ ๊ฒƒ - ํŠน์ง• 1. ํšจ์œจ์„ฑ ํšจ์œจ์ ์ธ ๋ฐ์ดํ„ฐ์˜ ๊ด€๋ฆฌ ๋ฐ ์‚ฌ์šฉ, ์ ์ ˆํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์„ ํƒํ•˜์—ฌ ์‚ฌ์šฉ ๊ฑฐ๋Œ€ํ•œ ๋ฐ์ดํ„ธ๋ฅด ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ ex) ์ฑ… ํ•œ ๊ถŒ์€ ๊ด€๋ฆฌํ•  ํ•„์š”๊ฐ€ ์—†์ง€๋งŒ, ์ฑ…์ด ๋ช‡ ๋ฐฑ๊ถŒ์ด ๋˜๋ฉด ๊ทธ๋ƒฅ ๋‘์–ด๋„ ๋˜์ง€๋งŒ ๊ณต๊ฐ„๋„ ..
โœจ ggplot์˜ qplot graph R์—์„œ ggplot๋ฅผ ์ด์šฉํ•˜๋ฉด graph๋ฅผ ๊ทธ๋ฆด ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ ๊ทธ๋ž˜ํ”„๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ทธ๋ฆฌ๊ธฐ ์œ„ํ•ด์„œ๋Š” ggplot์—์„œ ์ œ๊ณตํ•˜๋Š” qplot์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ์ง€๋‚œ ๊ธ€์—์„œ ์ง„ํ–‰ํ•œ mpg data์˜ ๊ทธ๋ž˜ํ”„๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. library(ggplot2) mpg
โœจ excel excel์„ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” package๋ฅผ ๋‹ค์šด ๋ฐ›์•„ excel ๋‚ด๋ถ€์˜ ๊ฐ’์„ r project๋กœ ๋ถˆ๋Ÿฌ๋ณผ ๊ฒƒ์ด๋‹ค. install.package("readxl") # readxl package download library(readxl) # readxl package ๋ถˆ๋Ÿฌ์˜ค๊ธฐ # xlsx ์ธ ๊ฒฝ์šฐ----------------------------------------------------------- excel_file
ํ•™๊ต์—์„œ ๋ฐ์ดํ„ฐ ๋งˆ์ด๋‹์„ ๋ฐฐ์šฐ๋ฉด์„œ, R ์–ธ์–ด์—๋„ ๋ฐฐ์šฐ๊ณ  ์žˆ๋‹ค. ์ƒˆ๋กญ๊ฒŒ ์–ธ์–ด๋ฅผ ๋ฐฐ์šฐ๋‹ค ๋ณด๋‹ˆ ์–ด๋ ค์›€์„ ๋Š๋ผ๊ณ  ์žˆ์–ด์„œ ๋ธ”๋กœ๊ทธ์— ์ž‘์„ฑํ•˜๋ฉด์„œ ๋ณต์Šตํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ๋ณด๊ณ ์ž ํ•œ๋‹ค. โœจ R ์ด๋ž€ R์€ ํ†ต๊ณ„ ๊ณ„์‚ฐ๊ณผ ๊ทธ๋ž˜ํ”ฝ์„ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด์ž ์†Œํ”„ํŠธ์›จ์–ด ํ™˜๊ฒฝ ์˜คํ”ˆ์†Œ์Šค๋กœ ๋ฌด๋ฃŒ ๋ฐ์ดํ„ฐ ๋ถ„์„œ๊ธฐ์šฉ์œผ๋กœ, ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ, ํ†ต๊ณ„ ๋ถ„์„์—์„œ ์‚ฌ์šฉ ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ R์€ ๊ทธํŒจํ”ฝ ๊ธฐ๋Šฅ์œผ๋กœ ์ˆ˜ํ•™ ๊ธฐํ˜ธ๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋Š” ์ถœํŒ๋ฌผ ์ˆ˜์ค€์˜ ๊ทธ๋ž˜ํ”„๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋„ํ‘œ๋ฅผ ๊ทธ๋ฆฌ๋Š”๋ฐ ์œ ์šฉํ•˜๋‹ค. โœจ ๋ณ€์ˆ˜ - ์—ฐ์† ๋ณ€์ˆ˜ (Continuous variable) ์—ฐ์†์ ์ด๋ฉฐ, ํฌ๊ธฐ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. = Numberic variable, quantitative variable (์–‘์  ๋ณ€์ˆ˜) - ๋ฒ”์ฃผ ๋ณ€์ˆ˜ (Categorical variable) ๋Œ€์ƒ ๋ถ„๋ฅ˜ (์—ฌ์„ฑ/๋‚จ์„ฑ) ์ˆซ์ž ..
์ง€๋‚œ UMC 1๊ธฐ ์•ฑ ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์‚ฌ์šฉํ•œ ๊ตฌ์กฐ์— ๋Œ€ํ•ด์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. ์ปจํŠธ๋กค๋Ÿฌ: ์›น MVC(Model, View, Controller)์˜ ์ปจํŠธ๋กค๋Ÿฌ ์—ญํ•  ์„œ๋น„์Šค: ํ•ต์‹ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๊ตฌํ˜„ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ: ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์— ์ ‘๊ทผ, ๋„๋ฉ”์ธ ๊ฐ์ฒด๋ฅผ DB์— ์ €์žฅํ•˜๊ณ  ๊ฐ„๋ฆฌ ๋„๋ฉ”์ธ: ๋น„์ฆˆ๋‹ˆ์Šค ๋„๋ฉ”์ธ ๊ฐ์ฒด ์˜ˆ) ํšŒ์›, ์ฃผ๋ฌธ, ์ฟ ํฐ, ๋“ฑ๋“ฑ ์ฃผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌ๋จ
# ํ”„๋กœ์ ํŠธ ํŒŒ์ผ๋กœ ์ด๋™ cd //project file path # ๋นŒ๋“œ ์ œ๊ฑฐ ํ›„ ๋นŒ๋“œ gradlew clean build # ๋นŒ๋“œ # gradlew.bat ํŒŒ์ผ ์‹คํ–‰ ๋ช…๋ น์–ด $gradlew build # ์‹คํ–‰ํ•˜๊ธฐ java -jar (ํ”„๋กœ์ ํŠธ ๋ช…)-0.0.1-SNAPSHOT.jar ํ”„๋กœ์ ํŠธ ์‹คํ–‰ํ•˜๊ธฐ์œ„ํ•œ ํŒŒ์ผ์€ ํ”„๋กœ์ ํŠธํŒŒ์ผ/build/libs์— ๋“ค์–ด์žˆ๋‹ค. path๋กœ ์ด๋™ํ•˜์—ฌ java -jar + ์ด๋ฅผ ๋ณต์‚ฌ, ๋ถ™์—ฌ๋„ฃ๊ธฐ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.
์œ„ ์‚ฌ์ดํŠธ์—์„œ ์›ํ•˜๋Š” Project, dependencies๋ฅผ ์„ ํƒํ•œ ํ›„, Generate๋ฅผ ํ•˜๊ฒŒ ๋˜๋ฉด zipํŒŒ์ผ์„ ๋‹ค์šด ๋ฐ›๊ฒŒ ๋œ๋‹ค. ์••์ถ•์„ ํ’€๊ณ  ์›ํ•˜๋Š” IDE์—์„œ ํ”„๋กœ๊ทธ๋žจ(build gradle ํŒŒ์ผ)์„ ์—ด๋ฉด ๋œ๋‹ค. ๋‚˜๋Š” Intellj๋ฅผ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•œ๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•œ ํ›„, build gradle ํŒŒ์ผ์„ ๋ณด๋ฉด ์„ ํƒํ•œ dependencies๊ฐ€ ๋“ค์–ด์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ run ํ•˜๊ฒŒ ๋˜๋ฉด localhost:8080์„ ํ†ตํ•ด ์œ„ ํ™”๋ฉด์ด ๋‚˜ํƒ€๋‚˜๊ฒŒ ๋œ๋‹ค. ์ด๋Ÿผ ์„ฑ๊ณต์ด๋‹ค.
CI์—๋Š” ๋ฌด์—‡์ด ํ•„์š”ํ• ๊นŒ? 1. ๋ฒ„์ „ ๊ด€๋ฆฌ ๋„๊ตฌ CI์—๋Š” git๊ณผ ๊ฐ™์€ ๋ฒ„์ „ ๊ด€๋ฆฌ ๋„๊ตฌ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ๋ฒ„์ „ ๊ด€๋ฆฌ ๋„๊ตฌ๊ฐ€ ์†Œ์Šค์ฝ”๋“œ์˜ ์ˆ˜์ •๊ณผ ๋ฐฑ์—…์„ ์ž๋™ํ™” ํ•  ์ˆ˜ ์žˆ๊ณ , ์—ฌ๋Ÿฌ๋ช…์ด ๊ณต๋™์œผ๋กœ ๊ฐœ๋ฐœํ•œ ๋‚ด์šฉ์„ ๋™๊ธฐํ™”ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ด ๊ด€๋ฆฌํ•˜์ง€ ์•Š๋Š” ์†Œ์Šค์ฝ”๋“œ๋Š”, ๊ฐœ๋ฐœ ๋‹จ๊ณ„์—์„œ ์ž๋™ํ™”๊ฐ€ ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— CI๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋ฌด์˜๋ฏธํ•˜๊ฒŒ ๋œ๋‹ค. ๐Ÿ“ ์˜ˆ) git, Subversion, Mercurial ๋“ฑ 2. CI ๋„๊ตฌ(CI tool) CI ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด, ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์„ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์—์„œ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ํด๋ง(polling)ํ•˜๊ณ , ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜, ๋นŒ๋“œ๋ฅผ ํ•˜๋Š” ๋“ฑ phthon, groovy, shell๊ณผ ๊ฐ™์€ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ CI..
๐Ÿ“ ์ปดํŒŒ์ผ complier๋ฅผ ํ†ตํ•ด java์™€ ๊ฐ™์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๊ธฐ๊ณ„๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด๋กœ ๋ฒˆ์—ญํ•ด์ค€๋‹ค. ๐Ÿ“ ๋นŒ๋“œ(Build) ์†Œ์Šค์ฝ”๋“œ ํŒŒ์ผ์„ ์‹คํ–‰๊ฐ€๋Šฅํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์‚ฐ์ถœ๋ฌผ๋กœ ๋งŒ๋“œ๋Š” ์ผ๋ จ์˜ ๊ณผ์ • # Build Tool preprocessing → complie → packaging → testing → distribution java์—์„œ๋Š” maven, gradle๊ณผ ๊ฐ™์€ build ๋„๊ตฌ๋ฅผ ํ†ตํ•ด ์ปดํŒŒ์ผ๊ณผ ํ•จ๊ป˜ ์†Œ์Šค์ฝ”๋“œ ํŒŒ์ผ์„ .jar, .war๊ณผ ๊ฐ™์€ ๊ฒƒ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋นŒ๋“œ๋„ ํ•จ๊ป˜ ์ˆ˜ํ–‰ ๐Ÿ“ ๋ฐฐํฌ ๋ฐฐํฌ๋ฅผ ํ•œ ์ƒํ™ฉ์—์„œ ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š๊ฒŒ ๋™์ž‘ํ•˜์—ฌ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์„ ๋•Œ, ๊ฐœ๋ฐœ์ž๋“ค์€ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ•œ๋‹ค. ์ด ๋•Œ, ๋‹ค์‹œ complie, build, ๋ฐฐํฌํ•˜๋Š” ๊ณผ์ •์„ ํ†ตํ•ด ์ˆ˜์ •๋œ ์ฝ”๋“œ๊ฐ€ ์ œ๋Œ€๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•ด..
chaerlo127
๐Ÿ€ chaeng_ni.develog