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

์ „์ฒด๋ณด๊ธฐ114

[C++] 11. ํ•จ์ˆ˜(feat. ์ „์—ญํ•จ์ˆ˜, ๋ฉค๋ฒ„ํ•จ์ˆ˜, ์ •์ ํ•จ์ˆ˜, ๋žŒ๋‹คํ•จ์ˆ˜) ํ•จ์ˆ˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํ•ต์‹ฌ์ด๋‹ค. ๋ณ€์ˆ˜๋Š” ๋ฐ์ดํ„ฐ๊ณ  ํ•จ์ˆ˜๋Š” ๋™์ž‘์„ ์˜๋ฏธํ•œ๋‹ค. ์šฐ๋ฆฌ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ†ตํ•ด์„œ ์›ํ•˜๋Š” ๊ฒƒ์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋ฉฐ, ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ํ•จ์ˆ˜์ธ ๊ฒƒ์ด๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ํ•จ์ˆ˜๋กœ ์‹œ์ž‘ํ•ด์„œ ํ•จ์ˆ˜๋กœ ๋๋‚œ๋‹ค. ์˜ค๋Š˜์€ ํ•จ์ˆ˜์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. โœ… ํ•จ์ˆ˜์˜ ์ค‘์š”์„ฑ ํ•จ์ˆ˜๋ฅผ ์ƒ๊ฐํ•  ๋•Œ, ์ปดํ“จํ„ฐ์˜ ๊ด€์ ์—์„œ๋Š” ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ํ๋ฆ„์„ ๋‹ด๊ณ ์žˆ๋Š” ๊ณณ์ด ํ•จ์ˆ˜๋‹ค. ๊ฐœ๋ฐœ์ž์˜ ๊ด€์ ์—์„œ๋Š” ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ๊ณผ ์žฌ์‚ฌ์šฉ์„ฑ์„ ์œ„ํ•ด ์ง์ ‘๋งŒ๋“œ๋Š” ๊ฒƒ์„ ํ•จ์ˆ˜๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๋‘˜ ๋‹ค ์ค‘์š”ํ•˜๋‹ค. ์šด์˜์ฒด์ œ์˜ ์‹œ์Šคํ…œ ํ•จ์ˆ˜, ์–ธ์–ด์—์„œ ์ œ๊ณตํ•˜๋Š” main ํ•จ์ˆ˜์™€ ๊ฐ™์ด ํ•„์ˆ˜์ ์ธ ํ•จ์ˆ˜๋“ค์ด ์žˆ๋‹ค. ์ด ํ•จ์ˆ˜๋“ค์€ ์ •์˜ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์ž˜๋ชป ๊ตฌํ˜„๋˜์–ด ์žˆ๋‹ค๋ฉด ์น˜๋ช…์ ์ธ ๊ฒฐํ•จ์œผ๋กœ ์ด์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฑฑ์ •ํ•˜์ง€ ๋ง์ž. ์šฐ๋ฆฌ๊ฐ€ ์ด๋Ÿฐ ํ•จ์ˆ˜๋“ค์˜ ์ž‘๋™๋ฐฉ์‹๊ณผ ์›๋ฆฌ๊นŒ์ง€ .. 2023. 4. 28.
[C/C++] 10. ํฌ์ธํ„ฐ(feat. ์Šค๋งˆํŠธ ํฌ์ธํ„ฐ) โœ… ํฌ์ธํ„ฐ C++์˜ ์žฅ์ ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ง์ ‘์ ์œผ๋กœ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๋งŽ์€ ๊ฐœ๋ฐœ์ž์—๊ฒŒ๋Š” ๋‹จ์ ์œผ๋กœ ๋Š๊ปด์งˆ ์ˆ˜ ์žˆ๋‹ค. ๋ˆˆ์œผ๋กœ ํ›คํžˆ ํ™•์ธํ•ด ๋ณผ ์ˆ˜ ์—†๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ž˜๋ชป ๊ด€๋ฆฌํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ์ฃฝ์–ด๋ฒ„๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ง์ ‘ ์ œ์–ดํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„ ์ˆ˜๋„ ์žˆ๊ณ  ์•„๋‹ ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ํ™•์‹คํ•œ ๊ฑด C/C++์€ ์ปดํ“จํ„ฐ์˜ ๋ฉ”์ธ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋Œ์•„๊ฐ€๋Š”์ง€ ์•Œ๊ธฐ์—๋Š” ์ ํ•ฉํ•˜๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ํฌ์ธํ„ฐ๋Š” ์ฃผ์†Œ๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ๋ณ€์ˆ˜์ด๋‹ค. 64๋น„ํŠธ ์ฒด์ œ์—์„œ integer ํƒ€์ž…์˜ ํฌ์ธํ„ฐ ๋ณ€์ˆ˜๋Š” ๋ช‡์ธ๊ฐ€๋ฅผ ๋ฌป๋Š” ์งˆ๋ฌธ์— ๋งŽ์€ ๋ถ„๋“ค์ด 4byte๋ผ๊ณ  ๋Œ€๋‹ตํ•œ๋‹ค. ํฌ์ธํ„ฐ๋ณ€์ˆ˜๋Š” ์ฃผ์†Œ๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ํฌ์ธํ„ฐ๋ณ€์ˆ˜๋Š” ์ปดํ“จํ„ฐ์˜ ์›Œ๋“œ(word)์™€ ๊ฐ™๋‹ค. 8๋น„ํŠธ ์ฒด์ œ์—์„œ๋Š” 1 ์›Œ๋“œ๊ฐ€ 8๋น„ํŠธ=1๋ฐ”์ดํŠธ์ด๋‹ค. ๋”ฐ๋ผ์„œ 64๋น„ํŠธ ์ฒด์ œ์—์„œ๋Š” ํƒ€์ž…์ด ๋ฌด์—‡์ด๊ฑด ๊ฐ„์— ํฌ์ธํ„ฐ ๋ณ€์ˆ˜์˜ ํฌ๊ธฐ๋Š” 64.. 2023. 4. 26.
[C/C++] 9. ๋ฐฐ์—ด(feat. vector & array) ๊ณ ์ „์ ์ธ c๊ฐ•์˜์—์„œ๋Š” ๋ฐฐ์—ด๊ณผ ํฌ์ธํ„ฐ๋ฅผ ๊ฐ™์ด ์„ค๋ช…ํ•œ๋‹ค. ๋ฐฐ์—ด์˜ ์ด๋ฆ„์ด ๊ณง ๋ฐฐ์—ด์˜ ์ฒซ ๋ฒˆ์งธ ์ฃผ์†Œ๋ฅผ ์˜๋ฏธํ•˜๋Š” ํฌ์ธํ„ฐ๋กœ๋„ ์“ฐ์ผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋ฐฐ์—ด ์ฑ•ํ„ฐ์—์„œ๋Š” ์–ธ์–ด์—์„œ ๊ธฐ๋ณธ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ๋ฐฐ์—ด์˜ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•๊ณผ Standard library๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•œ๋‹ค. ํฌ์ธํ„ฐ๋Š” ๋‹ค์Œ ์ฑ•ํ„ฐ์—์„œ ์†Œ๊ฐœํ•˜๊ฒ ๋‹ค. โœ… ๋ฐฐ์—ด C/C++์—์„œ ๋ฐฐ์—ด ์„ ์–ธ๊ณผ ์“ฐ์ž„์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. #include void changeVal(double* d) { d[4] = 6.0; } void changeColor(Car* cars) { cars[1].color = "blue"; } int main() { double d[5] = {1.0, 2.0, 3.0, 4.0, 5.0}; Car cars[3]; int arr[] = {7,8,9}; chang.. 2023. 4. 25.
[C/C++] 8. ๋ฐ˜๋ณต๋ฌธ(์‹ฌํ™”)(feat. iterator, predicate, lambda) ์—ฌ๊ธฐ์„œ๋Š” C++์˜ Standard library ์ปจํ…Œ์ด๋„ˆ์˜ ์กฐ๊ฑด ์ˆœํšŒ์— ๋Œ€ํ•œ ๊ฐœ๋…๋“ค์„ ์ด์•ผ๊ธฐํ•œ๋‹ค. ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ๋ณด๊ณ  ์ดํ•ด๊ฐ€ ์•ˆ๊ฐ€๋Š” ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด ์ฐธ๊ณ ํ•ด๋ณด๋„๋ก ํ•˜์ž. bool NewsScheduler::checkSchedule(Schedule& schedule) { const auto &curMilli = chrono::duration_cast(chrono::system_clock::now().time_since_epoch()).count(); const auto itr = find_if(scheduleMap.rbegin(), scheduleMap.rend(), [&curMilli](const pair &p) { return p.second.start c.. 2023. 4. 22.
[Go] Golang ๊ธฐ๋ณธ ์†Œ๊ฐœ(ํƒ€์ž…, ๋ณ€์ˆ˜, ํ•จ์ˆ˜, ๋ฌธ๋ฒ•) โœ… ํƒ€์ž… go์–ธ์–ด๋Š” ์–ธ์–ด์ฐจ์›์˜ ํ‚ค์›Œ๋“œ๊ฐ€ 25๊ฐœ๋ฐ–์— ์—†๋‹ค. ๋‹ค๋ฅธ ์–ธ์–ด์™€ ๋น„๊ตํ•˜๋ฉด ํ™•์‹คํžˆ ์ ์€ ๊ฒƒ์„ ์•Œ ์ˆ˜์žˆ๋‹ค. ์ž๋ฃŒํ˜•์€ ์ •์ˆ˜(int, uint), ์‹ค์ˆ˜(float), ๋ฌธ์ž/๋ฌธ์ž์—ด(string), ๋ถˆ๋ฆฌ์–ธ(bool), ๋ฐ”์ดํŠธ(byte), rune(int32์™€ ๊ฐ™์Œ), complex(64, 32)๊ฐ€ ์žˆ๋‹ค. โœ… ๋ณ€์ˆ˜ ๋ณ€์ˆ˜ ์„ ์–ธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. var x int = 10 var arr [5]int // ๋ฐฐ์—ด var p *int // ํฌ์ธํ„ฐ const C int = 10 // ์ƒ์ˆ˜ ์„ ์–ธ ๋ณ€์ˆ˜ x๋Š” intํ˜•์ด๋‹ค ๋ผ๊ณ  ์ƒ๊ฐํ•˜์ž. ๐Ÿงจ ์ž๋ฃŒํ˜• ์ถ”๋ก  var i = 10 var p = &i i := 10 p := &i ๊ธฐ๋ณธ์ ์œผ๋กœ ์ž๋ฃŒ๋ฅผ ์ถ”๋ก ํ•œ๋‹ค. var๋ผ๋Š” ํ‚ค์›Œ๋“œ ์—ญ์‹œ :=์œผ๋กœ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ๋‹ค. ๐Ÿงจ ๋ณ€์ˆ˜์˜ ํฌ๊ธฐ C ์–ธ์–ด์˜ si.. 2023. 4. 16.
[Linux] deamon๊ณผ fork ์ด์•ผ๊ธฐ โœ… PID์™€ PPID ๋ฆฌ๋ˆ…์Šค์—์„œ ps๋ช…๋ น์–ด๋Š” ํ˜„์žฌ ์‹คํ–‰์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋“ค์˜ ๋ชฉ๋ก์„ ๋ณด์—ฌ์ค€๋‹ค. ps -al๋กœ ์ž์„ธํ•œ ๋ชฉ๋ก์„ ๋ณด๋ฉด pid์™€ ppid๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š”๋ฐ, pid๋Š” process id, ppid๋Š” parent process id๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ps ๋ช…๋ น์–ด ๋˜ํ•œ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰์ด๋ฉฐ, ์‚ฌ์šฉ์ž๊ฐ€ ์–ธ์ œ ์ด ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ ์‹œํ‚ฌ ์ง€ ์•Œ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฌดํ•œ๋ฃจํ”„๋ฅผ ๋Œ๋ฉด์„œ ๋Œ€๊ธฐํ•˜๋„๋ก ๋งŒ๋“ค์–ด์ ธ์žˆ๋‹ค. ๋ฆฌ๋ˆ…์Šค๊ฐ€ ๋ถ€ํŠธ๋˜๋ฉด ๊ฐ€์žฅ ๋จผ์ € ์‹คํ–‰๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด init์ธ๋ฐ, ๋ฆฌ๋ˆ…์Šค์˜ ๋ชจ๋“  ๋ช…๋ น์–ด๋ฅผ ๋ฌดํ•œ๋ฃจํ”„๋ฅผ ํ†ตํ•ด ์‹คํ–‰ํ•˜๋„๋ก ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ์ด๋ ‡๊ฒŒ ์œ ๋‹‰์Šค์˜ ๋ชจ๋“  ๋ช…๋ ์–ด ํ”„๋กœ๊ทธ๋žจ์€ init ํ”„๋กœ๊ทธ๋žจ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ๋‹ค. init์ด PID๊ฐ€ 1์ž„์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค. pid๊ฐ€ ๋น ๋ฅผ ์ˆ˜๋ก ๋จผ์ € ์‹คํ–‰๋œ ํ”„๋กœ์„ธ์Šค์ด๋ฏ€๋กœ ๋ฆฌ๋ˆ…์Šค๊ฐ€ ์‹œ์ž‘๋˜.. 2023. 4. 13.