{"id":639,"date":"2021-12-29T15:44:41","date_gmt":"2021-12-29T06:44:41","guid":{"rendered":"https:\/\/mintech.kr\/?p=639"},"modified":"2021-12-29T15:44:41","modified_gmt":"2021-12-29T06:44:41","slug":"%eb%af%bc%ed%8a%b8-%ec%9d%b8%ed%84%b4-%ed%9b%84%ea%b8%b0-%ec%84%9c%eb%af%bc%ea%b7%9c%eb%8b%98","status":"publish","type":"post","link":"https:\/\/mintech.kr\/2021\/12\/29\/%eb%af%bc%ed%8a%b8-%ec%9d%b8%ed%84%b4-%ed%9b%84%ea%b8%b0-%ec%84%9c%eb%af%bc%ea%b7%9c%eb%8b%98\/","title":{"rendered":"\ubbfc\ud2b8 \uc778\ud134 \ud6c4\uae30 – \uc11c\ubbfc\uaddc\ub2d8"},"content":{"rendered":"\n
\"\"<\/figure>\n\n\n\n

2021\ub144 7\uc6d4 1\uc77c, \uc778\ud134\uc73c\ub85c \ucd9c\uadfc\ud558\uba70 \uc124\ub808\ub294 \ub9c8\uc74c\uc73c\ub85c \ubbfc\ud2b8\uae30\uc220\uc5d0 \uc785\uc0ac\ud558\uac8c \ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ucc98\uc74c \uc77c\uc744 \uc2dc\uc791\ud560 \ub54c 6\uac1c\uc6d4 \ub4a4\uc5d0 \uc5bc\ub9c8\ub098 \ubc1c\uc804\ud558\uac8c \ub420\uc9c0 \ub9e4\uc6b0 \uad81\uae08\ud588\ub294\ub370, \ud604\uc7ac 6\uac1c\uc6d4\uc774 \uc9c0\ub09c \uc2dc\uc810\uc5d0\uc11c \ub9e4\uc6b0 \ub9cc\uc871\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n

\uc81c\uac00 \ub9e1\uc740 \uc5c5\ubb34\ub294 3\uac00\uc9c0\ub85c, \ub775\ub3d9, plsnote, snu \uc131\ubb38\ubd84\uc11d \ud504\ub85c\uadf8\ub7a8\uc774\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n

\ub775\ub3d9 \uc5c5\ubb34\ub97c \uc9c4\ud589\ud558\uba74\uc11c, \ud559\ubd80\uc0dd \ub54c \uacbd\ud5d8\ud558\uc9c0 \ubabb\ud588\ub358 \ud504\ub860\ud2b8\uc5d4\ub4dc\uc640 \ubc31\uc5d4\ub4dc\uc758 \uac1c\ub150\uc744 \ud655\uc2e4\ud788 \uc774\ud574\ud560 \uc218 \uc788\uc5c8\uc2b5\ub2c8\ub2e4. \ub610\ud55c \uc2e4\uc81c\ub85c \ubc30\ud3ec\ub418\uc5b4 \uc0ac\uc6a9\ub418\uace0 \uc788\ub294 \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158\uc774\uae30 \ub54c\ubb38\uc5d0, \ub775\ub3d9\uc744 \uc774\ub8e8\uace0 \uc788\ub294 \ucf54\ub4dc\ub4e4\uc774 \ub2e4\uc591\ud558\uc5ec \ucc98\uc74c\uc5d0\ub294 \ub9c9\ub9c9\ud558\uc600\uc2b5\uc9c0\ub9cc, \uac1c\ubc1c\uc790 \ubd84\ub4e4\uaed8\uc11c \uce5c\uc808\ud558\uac8c \uc124\uba85\ud574\uc8fc\uc168\uc2b5\ub2c8\ub2e4. \uac00\uc7a5 \uc0dd\uac01\ub098\ub294 \ubd80\ubd84\uc740 \ud478\ub4dc\ud14c\ud06c \ub9ac\ud329\ud1a0\ub9c1\uc744 \uc704\ud574 \uae30\uc874 \uad6c\uc870\uc5d0 \ub300\ud55c \ub2e4\uc774\uc5b4\uadf8\ub7a8\uc744 \uadf8\ub838\ub358 \uc5c5\ubb34\uac00 \uc0dd\uac01\ub0a9\ub2c8\ub2e4. \uc774 \uc5c5\ubb34\ub97c \ud1b5\ud574\uc11c \ub775\ub3d9\uc774 \uc678\ubd80 API\uc640 \uc5b4\ub5a0\ud55c \ubc29\uc2dd\uc73c\ub85c \uc5f0\uacb0\ub418\uc5b4 \uc788\ub294\uc9c0 \ud655\uc778\ud568\uc73c\ub85c\uc368, \ub354 \uc798 \uc774\ud574\ud560 \uc218 \uc788\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n

plsnote\ub97c \uc9c4\ud589\ud558\uba74\uc11c Ruby on Rails\uc5d0 \ub300\ud574 \ub9ce\uc740 \uad50\uc721\uc744 \ubc1b\uc558\uc2b5\ub2c8\ub2e4. Ruby\ub294 \uae30\uc874\uc5d0 \uc81c\uac00 \uc54c\uace0 \uc788\uc5c8\ub358 \uc5b8\uc5b4\ub4e4\uacfc\ub294 \ub9e4\uc6b0 \ub2e4\ub978 \uc5b8\uc5b4\uc600\ub294\ub370. \ub9e4\uc6b0 \uce5c\uc808\ud558\uace0 \uc9c1\uad00\uc801\uc774\uae30 \ub54c\ubb38\uc5d0 \ucc98\uc74c\uc5d0\ub294 \uc801\uc751\uc774 \uc798 \ub418\uc9c0 \uc54a\uc558\uc9c0\ub9cc \uac1c\ubc1c\uc790\ubd84\ub4e4\uaed8\uc11c \uad50\uc721\ud574\uc8fc\uc2dc\uace0, \uc774\uc288\ub97c \uc9c1\uc811 \ud574\uacb0\ud558\ub294 \uc2e4\uc2b5\uc744 \ud1b5\ud574\uc11c \uc774\ud574\ud560 \uc218 \uc788\uc5c8\uc2b5\ub2c8\ub2e4. \ub610\ud55c MVC\ud328\ud134\uc5d0 \ub300\ud574\uc11c \uc644\ubcbd\ud558\uac8c \uc774\ud574\ud560 \uc218 \uc788\uc5c8\uc2b5\ub2c8\ub2e4. Ruby on Rails\uc758 \ud30c\uc77c\uc5d0 \uac01\uac01 Model, Controller, View \ud3f4\ub354\ub85c \uc774\ub8e8\uc5b4\uc838 \uc788\ub294\ub370, \uc774 \ubd80\ubd84\uc5d0 \ud544\uc694\ud55c Ruby \ud30c\uc77c\uc744 \ucd94\uac00\ud558\uc5ec \uc6f9\uc744 \uad6c\uc131\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uac00\uc7a5 \ub180\ub77c\uc6e0\ub358 \ubd80\ubd84\uc740 routes\uc5d0 \uc120\uc5b8\ub41c resource \ubd80\ubd84\uc774 Controller \ud3f4\ub354 \ubc0f \ud30c\uc77c\uc758 \uad6c\uc870\uc640 \uc77c\uce58\ud558\uae30 \ub54c\ubb38\uc5d0 resource \uc544\ub798 \uc120\uc5b8\ub418\uc5b4 \uc788\ub294 Controller action\uc744 \uc870\ud68c\ud558\uae30\uac00 \ub9e4\uc6b0 \uc26c\uc6e0\uc2b5\ub2c8\ub2e4. \ud2b9\ud788 \uad8c\ud55c \uad00\ub828 table\uc744 \uc218\uc815\ud574\uc57c \ud558\ub294 \ubd80\ubd84\uc758 migration \ud30c\uc77c\uc744 \ub2e4\ub8e8\ub294 \uc774\uc288\uac00 \uc788\uc5c8\ub294\ub370, \uc774 \uc774\uc288\ub97c \ud1b5\ud574\uc11c table\uc5d0 \ub300\ud55c \ub0b4\uc6a9, \uad00\uacc4 \ub4f1 plsnote\ub97c \uc774\ub8e8\uace0 \uc788\ub294 Database\ub97c \uc774\ud574\ud558\uae30 \uc218\uc6d4\ud558\uc600\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n

snu \uc131\ubb38\ubd84\uc11d \ud504\ub85c\uadf8\ub7a8\uc744 \uc9c4\ud589\ud558\uba74\uc11c, \ud504\ub860\ud2b8\uc5d4\ub4dc \uc5b8\uc5b4\uc778 React\uc5d0 \ub300\ud55c \uc2e4\uc2b5\uc744 \ub9ce\uc774 \uc9c4\ud589\ud558\uc600\uc2b5\ub2c8\ub2e4. \uc74c\uc131 \uc5ec\ub7ec\uac1c \uc5c5\ub85c\ub4dc, \uc74c\uc131 \ub179\uc74c \ud30c\uc77c \uc5c5\ub85c\ub4dc \uc774\uc288\ub97c \uc9c4\ud589\ud558\uba74\uc11c React \uc758 \ucef4\ud3ec\ub10c\ud2b8\ub4e4\uc774 \uc5b4\ub5a0\ud55c \ubc29\uc2dd\uc73c\ub85c \uc120\uc5b8\uc774 \ub418\uace0 props\uc640 state\ub97c \ud1b5\ud574 \ucef4\ud3ec\ub10c\ud2b8\uc758 \ub370\uc774\ud130\ub97c \uc8fc\uace0 \ubc1b\ub294 \uacfc\uc815\uc744 \uc774\ud574\ud560 \uc218 \uc788\uc5c8\uc2b5\ub2c8\ub2e4. \ub610\ud55c \ubc31\uc5d4\ub4dc \ud504\ub808\uc784\uc6cc\ud06c\ub85c Django\ub97c \uc0ac\uc6a9\ud558\uc600\ub294\ub370, \uc11c\ubc84\uc5d0\uc11c N\ub300N \uc74c\uc131 \ubd84\uc11d \uacb0\uacfc \uadf8\ub798\ud504\ub97c png\ud30c\uc77c\ub85c \uc800\uc7a5\ud558\uc600\uace0, xmlhttprequest\ub97c \uc0ac\uc6a9\ud558\uc5ec png\ud30c\uc77c\uc774 \ud3ec\ud568\ub41c response \ub370\uc774\ud130\ub97c \ud1b5\ud574 \ud504\ub860\ud2b8\uc5d4\ub4dc \ub2e8\uc5d0\uc11c \uadf8\ub798\ud504\ub97c \ud655\uc778\ud560 \uc218 \uc788\ub3c4\ub85d \ud558\uc600\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n

\uc774\uc288\ub97c \uc9c1\uc811 \uc9c4\ud589\ud558\ub294 \uc2e4\uc2b5\uc744 \ud1b5\ud574\uc11c, \uc5ec\ub7ec\uac00\uc9c0\uc758 \uc131\uacfc\ub97c \uac00\uc9c0\uac8c \ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc6b0\uc120 git\uc744 \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \ub9e4\uc6b0 \ub2a5\uc219\ud574\uc9c0\ub294 \uc131\uacfc\uac00 \uc788\uc5c8\uc2b5\ub2c8\ub2e4. gitlab\uc744 \ud1b5\ud574\uc11c \ud504\ub85c\uc81d\ud2b8\uc5d0 \ub300\ud55c \uc774\uc288\ub4e4\uc744 \uc5f4\ub78c\ud558\uc5ec \uc774\ud574\ud558\uace0, \uc774\uc288\ub97c \ud574\uacb0\ud558\uae30 \uc704\ud574 \uc0c8\ub85c\uc6b4 branch\ub97c \ub9cc\ub4e4\uc5b4\uc11c, \ucf54\ub4dc\ub97c \uc218\uc815\ud558\uc600\uc2b5\ub2c8\ub2e4. \uc218\uc815\ud55c \ucf54\ub4dc\ub97c commit \ud6c4 push\ud558\uba74 \uac1c\ubc1c\uc790\ubd84\ub4e4\uaed8\uc11c merge\ub97c \ud558\uae30 \uc704\ud574\uc11c \ucf54\ub4dc\ub97c \uc5f4\ub78c\ud558\uace0 \ud53c\ub4dc\ubc31\uc744 \uc8fc\uc2dc\ub294 \ubd80\ubd84\uc5d0\uc11c \uac1c\ubc1c\uc2e4\ub825 \ud5a5\uc0c1\uacfc \ub098\uc911\uc5d0 \ucde8\uc5c5\ud560 \ub54c \ucee4\ubba4\ub2c8\ucf00\uc774\uc158 \ub2a5\ub825\uc744 \uae30\ub974\ub294\ub370 \ub9e4\uc6b0 \ud070 \ub3c4\uc6c0\uc774 \ub41c\ub2e4\uace0 \uc0dd\uac01\ud558\uc600\uc2b5\ub2c8\ub2e4. \uadf8\ub9ac\uace0 Django, React, Ruby on rails \uac19\uc774 \ub2e4\uc591\ud55c \uac1c\ubc1c \uc5b8\uc5b4\ub97c \uacbd\ud5d8\ud568\uc73c\ub85c\uc368 \uc5b4\ub5a0\ud55c \uc5b8\uc5b4\ub4e0\uc9c0 \uacf5\ubd80\ud558\uc5ec \uc798\ud560 \uc218 \uc788\uaca0\ub2e4\ub294 \uc790\uc2e0\uac10\uc744 \uac00\uc9c0\uac8c \ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n

\ubbfc\ud2b8\uae30\uc220\uc744 \ud1b5\ud574 4\ud559\ub144 2\ud559\uae30\ub97c \ub9c8\ubb34\ub9ac \ud588\ub2e4\ub294 \uac83\uc5d0 \ub9e4\uc6b0 \ub2e4\ud589\uc774\ub77c\uace0 \uc0dd\uac01\ud569\ub2c8\ub2e4. \uac1c\ubc1c\uc790 \ubd84\ub4e4\uc774 \uc791\uc131\ud558\uc2e0 \ub9ce\uc740 \ucf54\ub4dc\ub4e4\uc744 \uc9c1\uc811 \ud655\uc778\ud558\uba74\uc11c, \ucf54\ub4dc\uac00 \uc5b4\ub5bb\uac8c \uc791\uc131\ub418\uace0 \uc678\ubd80 API\uc640 \uc5f0\uacb0\ub418\ub294 \ubc29\ubc95\ub4e4, \ucf54\ub4dc \uad6c\uc870\uc5d0 \ub300\ud55c \ubd80\ubd84 \ub4f1 \uc815\ub9d0 \ub9ce\uc774 \ubc30\uc6b8 \uc218 \uc788\uc5c8\uc2b5\ub2c8\ub2e4. \uadf8\ub9ac\uace0 gitlab\uc744 \ud1b5\ud574 \ub85c\uceec\uc5d0\uc11c \ube0c\ub79c\uce58\ub97c \ub9cc\ub4e4\uc5b4\uc11c \uac01\uc790 \uc218\uc815\ud558\ub294 \ucf54\ub4dc\ub4e4\uc744 remote \ucf54\ub4dc\uc5d0 push\ud558\uace0, merge request\ub97c \ud558\uae30 \uc804 \uc0ac\uc218\ubd84\ub4e4\uc774 \ub0b4\uac00 \uc791\uc131\ud55c \ucf54\ub4dc\ub97c \ud53c\ub4dc\ubc31\ud574\uc8fc\uc2dc\ub294 \ubd80\ubd84\uc5d0 \uc788\uc5b4\uc11c \uac1c\ubc1c\ud68c\uc0ac\uac00 \uc5b4\ub5a0\ud55c \ubc29\uc2dd\uc73c\ub85c \uc5c5\ubb34\ub97c \ubcf4\uace0 \uc788\ub294\uc9c0\uc5d0 \ub300\ud574 \uc9c1\uc811 \uacbd\ud5d8\ud568\uc73c\ub85c\uc368 \uc2e4\ubb34\uc801\uc778 \uc5ed\ub7c9\uc744 \uc313\uac8c \ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc18c\ud504\ud2b8\uc6e8\uc5b4\uc735\ud569\ub300\ud559 SW\uc0ac\uc5c5\ub2e8\uc5d0\uc11c \uc9c0\uc6d0\ud558\ub294 \uc7a5, \ub2e8\uae30 \ud604\uc7a5\uc2e4\uc2b5\uc744 \ud558\ub294 \ud559\uc0dd\ub4e4\uc5d0\uac8c \ubbfc\ud2b8\uae30\uc220\uc744 \uac15\ub825\ud788 \ucd94\ucc9c\ud558\uace0 \uc2f6\uc2b5\ub2c8\ub2e4. \uc0ac\uc218 \ubd84\ub4e4\ub3c4 \ub108\ubb34 \uce5c\uc808\ud558\uc2dc\uace0, \ud68c\uc0ac \ubcf5\uc9c0\ub3c4 \uc88b\uace0, \ud559\ubd80\uc0dd\uc774 \uacbd\ud5d8\ud560 \uc218 \uc788\ub294 \uc778\ud134 \uc911 \uac00\uc7a5 \uc88b\uc740 \uc778\ud134\uacbd\ud5d8\uc774\ub77c\uace0 \uc0dd\uac01\ud569\ub2c8\ub2e4. \uc6f9 \uac1c\ubc1c \uad00\ub828 \ubd84\uc57c\uc5d0 \ub300\ud574\uc11c \uc790\uc138\ud558\uac8c \uc54c \uc218 \uc788\uac8c \ud574\uc900 \ubbfc\ud2b8\uae30\uc220\uc5d0\uac8c \uac10\uc0ac\ud569\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"

2021\ub144 7\uc6d4 1\uc77c, \uc778\ud134\uc73c\ub85c \ucd9c\uadfc\ud558\uba70 \uc124\ub808\ub294 \ub9c8\uc74c\uc73c\ub85c \ubbfc\ud2b8\uae30\uc220\uc5d0 \uc785\uc0ac\ud558\uac8c \ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ucc98\uc74c \uc77c\uc744 \uc2dc\uc791\ud560 \ub54c 6\uac1c\uc6d4 \ub4a4\uc5d0 \uc5bc\ub9c8\ub098 \ubc1c\uc804\ud558\uac8c \ub420\uc9c0 \ub9e4\uc6b0 \uad81\uae08\ud588\ub294\ub370, \ud604\uc7ac 6\uac1c\uc6d4\uc774 \uc9c0\ub09c \uc2dc\uc810\uc5d0\uc11c \ub9e4\uc6b0 \ub9cc\uc871\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc81c\uac00 \ub9e1\uc740 \uc5c5\ubb34\ub294 3\uac00\uc9c0\ub85c, \ub775\ub3d9, plsnote, snu \uc131\ubb38\ubd84\uc11d \ud504\ub85c\uadf8\ub7a8\uc774\uc5c8\uc2b5\ub2c8\ub2e4. \ub775\ub3d9 \uc5c5\ubb34\ub97c \uc9c4\ud589\ud558\uba74\uc11c, \ud559\ubd80\uc0dd \ub54c \uacbd\ud5d8\ud558\uc9c0 \ubabb\ud588\ub358 \ud504\ub860\ud2b8\uc5d4\ub4dc\uc640 \ubc31\uc5d4\ub4dc\uc758 \uac1c\ub150\uc744 \ud655\uc2e4\ud788 \uc774\ud574\ud560 \uc218 \uc788\uc5c8\uc2b5\ub2c8\ub2e4. \ub610\ud55c \uc2e4\uc81c\ub85c \ubc30\ud3ec\ub418\uc5b4 \uc0ac\uc6a9\ub418\uace0 … <\/p>\n