°³¶ËÀ̳׿¡¼ ÆÇ¸ÅµÈ "Ä¿´ÏÀÇ ÄÚƲ¸°" Á¤°¡ 28,000¿ø Æò±ÕÇÒÀΰ¡
|
|
|
1ºÎ ÄÚƲ¸°°ú Ä£ÇØÁö±â
1Àå ÄÚƲ¸°À̶õ? 1.1 ÄÚƲ¸° ¼Ò°³ 1.2 ÄÚƲ¸°ÀÇ Æ¯Â¡ - °£°áÇÑ ¹®¹ý - ³Î ¾ÈÀü¼º - °¡º¯/ºÒº¯ ±¸ºÐ - ¶÷´Ù Ç¥Çö½Ä Áö¿ø - ½ºÆ®¸² API Áö¿ø - ¿Ïº®ÇÑ Àڹ٠ȣȯ¼º 1.3 ÄÚƲ¸°ÀÇ ÁÖ¿ä ¹®¹ý - °ª ¹× º¯¼ö ¼±¾ð - ÇÔ¼ö ¼±¾ð - Ŭ·¡½º ¹× ÀÎÅÍÆäÀ̽º ¼±¾ð - Á¶°Ç¹® - ¹Ýº¹¹®
2Àå ÀÚ¹Ù¿Í ºñ±³ÇØ º¸´Â ÄÚƲ¸° 2.1 ±âº» ÀÚ·áÇü - ¼ýÀÚ - ¹®ÀÚ - ³í¸® - ¹®ÀÚ¿ - ¹è¿ 2.2 Ä÷º¼Ç 2.3 Ŭ·¡½º ¹× ÀÎÅÍÆäÀ̽º - Ŭ·¡½º¿Í ÀÎÅÍÆäÀ̽ºÀÇ ¼±¾ð ¹× ÀνºÅϽº »ý¼º - ÇÁ·ÎÆÛƼ - Á¢±Ù Á¦ÇÑÀÚ - »ý¼ºÀÚ - ÇÔ¼ö - »ó¼Ó ¹× ÀÎÅÍÆäÀ̽º ±¸Çö - this - Á¤Àû ÇÊµå ¹× ¸Þ¼µå - ½Ì±ÛÅæ - enum Ŭ·¡½º - ¾î³ëÅ×ÀÌ¼Ç Å¬·¡½º - Áßø Ŭ·¡½º 2.4 ÀÚ·á/ÀÚ·áÇüÀÇ È®ÀÎ ¹× º¯È¯ - ÀÚ·áÀÇ µ¿Àϼº È®ÀÎ: ==, === ¿¬»êÀÚ - ÀÚ·áÇü È®ÀÎ: is ¿¬»êÀÚ - ÀÚ·áÇü º¯È¯: as ¿¬»êÀÚ - ½º¸¶Æ® ij½ºÆ® 2.5 È帧 Á¦¾î - if-else ¹® - when ¹® - while ¹® - for ¹® - ¹üÀ§ 2.6 Á¦³×¸¯ - Á¦³×¸¯ Ŭ·¡½ºÀÇ ÀνºÅϽº »ý¼º ¹× »ç¿ë - Á¦³×¸¯ Ŭ·¡½º/ÀÎÅÍÆäÀ̽º Á¤ÀÇ - Á¦³×¸¯À» ÀÎÀÚ·Î ¹Þ´Â ÇÔ¼ö 2.7 ¿¹¿Ü 2.8 ³Î ¾ÈÀü¼º - ³Î Çã¿ë ¿©ºÎ Ç¥±â - ³Î °ªÀ» ´ë½ÅÇÏ´Â ¹æ¹ý: ¿¤ºñ½º(?:) ¿¬»êÀÚ - ³Î °ª È®Àΰú 󸮸¦ Çѹø¿¡: ¾ÈÀüÇÑ È£Ãâ(?.) ¿¬»êÀÚ - ¾ÈÀüÇÑ ÀÚ·áÇü º¯È¯: as? ¿¬»êÀÚ - ³Î °ªÀÌ ¾Æ´ÔÀ» ¸í½ÃÇϱâ: ºñ(Þª) ³Î °ª º¸Áõ(!!) - ³ªÁß¿¡ ÃʱâȵǴ º¯¼ö¸¦ À§ÇØ: lateinit Å°¿öµå - ÀÚ¹Ù·Î ÀÛ¼ºµÈ Ŭ·¡½ºÀÇ ³Î ó¸®
3Àå ÀÚ¹Ù¿Í´Â ´Ù¸¥ ÄÚƲ¸°ÀÇ Æ¯Â¡ 3.1 Ŭ·¡½º - µ¥ÀÌÅÍ Å¬·¡½º - ÇÑÁ¤ Ŭ·¡½º - ÇÁ·ÎÆÛƼÀÇ »ç¿ëÀÚ ÁöÁ¤ Getter/Setter 3.2 ÇÔ¼ö - ¸í¸íµÈ ÀÎÀÚ - ±âº» ¸Å°³º¯¼ö - ´ÜÀÏ Ç¥Çö½Ä Ç¥±â - È®Àå ÇÔ¼ö - ¿¬»êÀÚ ¿À¹ö·Îµù - ÁßÀ§ Ç¥±â¹ý Áö¿ø 3.3 ¶÷´Ù Ç¥Çö½Ä - ÀÚ¹Ù¿Í ÄÚƲ¸°ÀÇ ¶÷´Ù Ç¥Çö½Ä - ÄÚƲ¸° ¶÷´Ù Ç¥Çö½ÄÀÇ À¯¿ëÇÑ ±â´É - ÀζóÀÎ ÇÔ¼ö 3.4 ÄÚƲ¸°ÀÇ ¿©Å¸ Ư¡ - ŸÀÔ º°Äª - ºÐÇØ ¼±¾ð
4Àå ÄÚƲ¸° Ç¥ÁØ ¶óÀ̺귯¸® 4.1 Á¶°Ç È®ÀÎ ÇÔ¼ö - ƯÁ¤ °ªÀÇ ÀÏÄ¡ ¿©ºÎ È®ÀÎ: check, require - ¸í½ÃÀûÀ¸·Î ½ÇÇà Áß´ÜÇϱâ: error, TODO 4.2 Ä÷º¼Ç »ý¼º ÇÔ¼ö - ¹è¿ - ¸®½ºÆ® - ¸Ê - ÁýÇÕ 4.3 ½ºÆ®¸² ÇÔ¼ö - º¯È¯ - ÇÊÅÍ - Á¶ÇÕ ¹× ÇÕ°è - ±âŸ 4.4 ¹üÀ§ ÁöÁ¤ ÇÔ¼ö - let( ) ÇÔ¼ö - apply( ) ÇÔ¼ö - with( ) ÇÔ¼ö - run( ) ÇÔ¼ö
5Àå ÀÚ¹Ù¿Í ÇÔ²² »ç¿ëÇϱâ 5.1 ÄÚƲ¸°¿¡¼ ÀÚ¹Ù ÄÚµå »ç¿ëÇϱâ - Getter/SetterÀÇ ÇÁ·ÎÆÛÆ¼È - °¡º¯ ÀÎÀÚ¸¦ ¹Þ´Â ¸Þ¼µå - Object Ŭ·¡½º ³» ¸Þ¼µå - SAM º¯È¯ 5.2 ÀÚ¹Ù¿¡¼ ÄÚƲ¸° ÄÚµå »ç¿ëÇϱâ - ÇÁ·ÎÆÛƼÀÇ Getter/SetterÈ - ±âº» ¸Å°³º¯¼ö°¡ ÀÖ´Â ÇÔ¼ö - ÆÐÅ°Áö ´ÜÀ§ ÇÔ¼ö/º¯¼ö - µ¿¹Ý °´Ã¼ ¹× ½Ì±ÛÅæ - Checked exception
6Àå ÄÚƲ¸° °³¹ßȯ°æ ¼³Á¤ 6.1 ¾Èµå·ÎÀÌµå ½ºÆ©µð¿À ¹× ÄÚƲ¸° IDE Ç÷¯±×ÀÎ ¼³Á¤ 6.2 ÄÚƲ¸°À» Áö¿øÇÏ´Â ÇÁ·ÎÁ§Æ® ±¸Á¶ ¼³Á¤ - »õ ÇÁ·ÎÁ§Æ® »ý¼ºÇϱâ - ±âÁ¸ ÇÁ·ÎÁ§Æ®¿¡ ÄÚƲ¸° Áö¿ø Ãß°¡Çϱâ - ÀÚ¹Ù ÄÚµå¿Í ÄÚƲ¸° ÄÚµå ºÐ¸®Çϱâ
7Àå ÄÚƲ¸° IDE Ç÷¯±×ÀÎ ¼Ò°³ 7.1 ÀÚ¹Ù-ÄÚƲ¸° ÄÚµå ÄÁ¹öÅÍ - ÀÚ¹Ù ÆÄÀÏÀ» ÄÚƲ¸°À¸·Î º¯È¯Çϱâ - ÀÚ¹Ù·Î ÀÛ¼ºµÈ ÄÚµå ºí·ÏÀ» ÄÚƲ¸°À¸·Î º¯È¯Çϱâ 7.2 ÄÚƲ¸° ÄÚµå µðÄÄÆÄÀÏ·¯ 7.3 ÄÚƲ¸° REPL
8Àå ÄÚƲ¸° ¾Èµå·ÎÀ̵å ÀͽºÅÙ¼Ç 8.1 ÄÚƲ¸° ¾Èµå·ÎÀ̵å ÀͽºÅÙ¼Ç ¼Ò°³ 8.2 ÄÚƲ¸° ¾Èµå·ÎÀ̵å ÀͽºÅÙ¼Ç ¼³Á¤ 8.3 ¾×ƼºñƼ¿¡¼ »ç¿ëÇϱâ 8.4 ÇÁ·¡±×¸ÕÆ®¿¡¼ »ç¿ëÇϱâ 8.5 ¸®»çÀÌŬ·¯ºä¿¡¼ »ç¿ëÇϱâ
9Àå Anko 9.1 Anko ¼Ò°³ 9.1 Anko Commons - Å佺Ʈ Ç¥½ÃÇϱâ - ´ÙÀ̾ó·Î±× »ý¼º ¹× Ç¥½ÃÇϱâ - ÀÎÅÙÆ® »ý¼º ¹× »ç¿ëÇϱâ - ·Î±× ¸Þ½ÃÁö ±â·ÏÇϱâ - ´ÜÀ§ º¯È¯Çϱâ - ±âŸ 9.2 Anko Layouts - DSL·Î È¸é ±¸¼ºÇϱâ - ¾×ƼºñƼ¿¡¼ »ç¿ëÇϱâ - ÇÁ·¡±×¸ÕÆ®¿¡¼ »ç¿ëÇϱâ - Anko Support Plugin
2ºÎ ½Ç¹«¿¡ ¹Ù·Î Àû¿ëÇÒ ¼ö ÀÖ´Â ¾Èµå·ÎÀÌµå ¾Û °³¹ßÇϱâ
10Àå Simple Github ¿¹Á¦ ÇÁ·ÎÁ§Æ® ¼Ò°³ 10.1 ¿¹Á¦ ÇÁ·ÎÁ§Æ®ÀÇ ±â´É ¹× »ç¿ëÇÏ´Â ¶óÀ̺귯¸® 10.2 ¿¹Á¦ ÇÁ·ÎÁ§Æ®¸¦ ½ÇÇàÇϱâ À§ÇÑ Áغñ 10.3 ºôµå½ºÅ©¸³Æ® ¹× ¸Å´ÏÆ佺Ʈ ±¸¼º »ìÆ캸±â 10.4 UI Ç¥½ÃºÎ ±¸¼º 10.5 µ¥ÀÌÅÍ Ã³¸®ºÎ ±¸¼º 10.6 À̾îÁö´Â ÀåÀÇ µ¶ÀÚ ¼öÁغ° ±ÇÀå ÇнÀ ¹æ¹ý ¾È³» - 11Àå, 12Àå - 13Àå - 14Àå - 15Àå
11Àå ÄÚƲ¸° º¯È¯ 1´Ü°è: ÄÁ¹öÅÍ·Î ÀÚ¹Ù Äڵ带 ÄÚƲ¸° ÄÚµå·Î º¯È¯Çϱâ 11.1 ºôµå½ºÅ©¸³Æ® ¼öÁ¤Çϱâ 11.2 ÀÚ¹Ù-ÄÚƲ¸° ÄÚµå ÄÁ¹öÅÍ·Î UI ÄÚµå º¯È¯Çϱâ - SimpleGithubGlideModule º¯È¯ - SignInActivity º¯È¯ - MainActivity º¯È¯ - SearchActivity º¯È¯ - SearchAdapter º¯È¯ - RepositoryActivity º¯È¯ 11.3 ÀÚ¹Ù¿Í ÄÚƲ¸° ÄÚµåÀÇ È¥¿ë È®ÀÎÇϱâ
12Àå ÄÚƲ¸° º¯È¯ 2´Ü°è: ÄÚƲ¸°´Ù¿î ÄÚµå·Î ´Ùµë±â 12.1 µ¥ÀÌÅÍ Ã³¸® Äڵ带 ¸ðµÎ ÄÚƲ¸°À¸·Î º¯È¯Çϱâ - ¸ðµ¨ Ŭ·¡½º º¯È¯ - REST API ÀÎÅÍÆäÀ̽º º¯È¯ - GithubApiProvider º¯È¯ - AuthTokenProvider º¯È¯ 12.2 ÄÚƲ¸° ¾Èµå·ÎÀ̵å ÀͽºÅÙ¼Ç Àû¿ëÇϱâ - ¾×ƼºñƼ¿¡ Àû¿ëÇϱâ - ¸®»çÀÌŬ·¯ºä ºäȦ´õ¿¡ Àû¿ëÇϱâ 12.3 ÀÚ¹Ù-ÄÚƲ¸° ÄÚµå ÄÁ¹öÅÍ·Î º¯È¯µÈ Äڵ带 ÄÚƲ¸°´ä°Ô ¸¸µé±â - GithubApiProvider ´Ùµë±â - SignInActivity ´Ùµë±â - SearchActivity ´Ùµë±â - SearchAdapter ´Ùµë±â - RepositoryActivity ´Ùµë±â 12.4 Anko Commons Àû¿ëÇϱâ - SignInActivity¿¡ Àû¿ëÇϱâ - MainActivity¿¡ Àû¿ëÇϱâ - SearchActivity¿¡ Àû¿ëÇϱâ
13Àå ÇÁ·ÎÁ§Æ® °³¼± 1´Ü°è: RxJava Àû¿ëÇϱâ 13.1 RxJava ¾Ë¾Æº¸±â - RxJava ¼Ò°³ - ¿É¼¹öºí°ú ¿É¼¹ö - ¿¬»êÀÚ - ½ºÄÉÁÙ·¯ - µð½ºÆ÷Àúºí 13.2 Retrofit¿¡¼ RxJava¿¡ ¸Â°Ô ÀÀ´ä Àü´ÞÇϱâ - RxJava¿Í RxAndroid¸¦ ÀÇÁ¸¼º¿¡ Ãß°¡Çϱâ - µ¥ÀÌÅÍ Ã³¸®ºÎ ¼öÁ¤Çϱâ - SignInActivity º¯°æÇϱâ - SearchActivity º¯°æÇϱâ - RepositoryActivity º¯°æÇϱâ - ¿¬»êÀÚ ¿À¹ö·ÎµùÀ¸·Î µð½ºÆ÷ÀúºíÀ» Æí¸®ÇÏ°Ô °ü¸®Çϱâ 13.3 RxBindingÀ¸·Î UI À̺¥Æ®¸¦ °£ÆíÇÏ°Ô Ã³¸®Çϱâ - RxBindingÀ» ÀÇÁ¸¼º¿¡ Ãß°¡Çϱâ - SearchView¿¡ RxBinding Àû¿ëÇϱâ - RxBinding ÄÚƲ¸° È®Àå ¶óÀ̺귯¸® Àû¿ëÇϱâ
14Àå ÇÁ·ÎÁ§Æ® °³¼± 2´Ü°è: ¾Èµå·ÎÀÌµå ¾ÆÅ°ÅØó ÄÄÆ÷³ÍÆ® Àû¿ëÇϱâ 14.1 ¾Èµå·ÎÀÌµå ¾ÆÅ°ÅØó ÄÄÆ÷³ÍÆ®¶õ? 14.2 »ý¸íÁֱ⿡ ¸Â´Â µ¿ÀÛ ±¸ÇöÇϱâ: Lifecycle Ŭ·¡½º - LifecycleÀÇ ±¸¼º ¿ä¼Ò - LifecycleÀ» ÀÇÁ¸¼º¿¡ Ãß°¡Çϱâ - »ý¸íÁֱ⿡ ¸Â°Ô µð½ºÆ÷Àúºí °ü¸®Çϱâ - ¾×ƼºñƼ ÄÚµå º¯°æÇϱâ 14.3 SQLite µ¥ÀÌÅͺ£À̽º ½±°Ô »ç¿ëÇϱâ: ·ë ¶óÀ̺귯¸® - ·ë ¶óÀ̺귯¸® ¼Ò°³ - ·ë µ¥ÀÌÅͺ£À̽º - µ¥ÀÌÅÍ Á¢±Ù °´Ã¼ - ¿£Æ¼Æ¼ - ·ë ¶óÀ̺귯¸®¸¦ ÀÇÁ¸¼º¿¡ Ãß°¡Çϱâ - ·ë µ¥ÀÌÅͺ£À̽º ±¸¼º¿ä¼Ò ¹× DatabaseProvider ÀÛ¼ºÇϱâ - SearchActivity º¯°æÇϱâ - MainActivity º¯°æÇϱâ 14.4 »ý¸íÁֱ⿡ ¸Â¼ UI »óÅ ÁöÄѳ»±â: ViewModel Ŭ·¡½º - ViewModel ¼Ò°³ - ViewModelÀ» ÀÇÁ¸¼º¿¡ Ãß°¡Çϱâ - SupportOptional Ŭ·¡½º ÀÛ¼ºÇϱâ - SignInActivity¿¡ SignInViewModel Àû¿ëÇϱâ - MainActivity¿¡ MainViewModel Àû¿ëÇϱâ - SearchActivity¿¡ SearchViewModel Àû¿ëÇϱâ - RepositoryActivity¿¡ RepositoryViewModel Àû¿ëÇϱâ
15Àå ÇÁ·ÎÁ§Æ® °³¼± 3´Ü°è: ´ë°Å ¶óÀ̺귯¸®·Î ÇÊ¿äÇÑ °´Ã¼ Á¦°øÇϱâ 15.1 ÀÇÁ¸¼º ÁÖÀÔ°ú ´ë°Å ¶óÀ̺귯¸® - ÀÇÁ¸¼º ÁÖÀÔ - ´ë°Å ¶óÀ̺귯¸® - ¸ðµâ - ÄÄÆ÷³ÍÆ® 15.2 µ¥ÀÌÅÍ Ã³¸® °´Ã¼ ÁÖÀÔÇϱâ - ´ë°Å ¶óÀ̺귯¸®¸¦ ÀÇÁ¸¼º¿¡ Ãß°¡Çϱâ - API È£Ãâ¿¡ ÇÊ¿äÇÑ °´Ã¼¸¦ Á¦°øÇÏ´Â ¸ðµâ ÀÛ¼ºÇϱâ - ·ÎÄà ÀúÀå¼Ò µ¥ÀÌÅÍ Á¢±Ù¿¡ ÇÊ¿äÇÑ °´Ã¼¸¦ Á¦°øÇÏ´Â ¸ðµâ ÀÛ¼ºÇϱâ - ¾×ƼºñƼ¸¦ °´Ã¼ ±×·¡ÇÁ¿¡ Ãß°¡ÇÒ ¼ö ÀÖµµ·Ï ¼³Á¤Çϱâ - ¾ÖÇø®ÄÉÀÌ¼Ç ¸ðµâ ÀÛ¼ºÇϱâ - ¾ÖÇø®ÄÉÀÌ¼Ç ÄÄÆ÷³ÍÆ®·Î ¸ðµâ ¹¾îÁÖ±â - ¾×ƼºñƼ¿¡¼ µ¥ÀÌÅÍ Ã³¸® °´Ã¼ ÁÖÀÔ¹Þ±â 15.3 ºä¸ðµ¨ ÆÑÅ丮¿Í ¾î´ðÅÍ °´Ã¼ ÁÖÀÔÇϱâ - SignInModule ÀÛ¼ºÇϱâ - MainModule ÀÛ¼ºÇϱâ - SearchModule ÀÛ¼ºÇϱâ - RepositoryModule ÀÛ¼ºÇϱâ
|
|
|
|
|