À¯ÀÏÇÏ°Ô Immutable.js¸¦ Á¦´ë·Î ´Ù·ç°í Àִ åÀ¸·Î ±¸¼ºÀÌ ÁÁ°í ¼³¸íµµ ¸Å¿ì Ä£ÀýÇÏ´Ù. ¸¹Àº °³¹ß¼°¡ µ¶ÀÚÀÇ ´«³ôÀ̸¦ ¸ÂÃß·Á°í ½ÃµµÇÏÁö¸¸ ½ÇÆÐÇÏ´Â °æ¿ì°¡ ¸¹Àºµ¥ ÀÌ Ã¥Àº ±âÁ¸ ÀÚ¹Ù½ºÅ©¸³Æ® °³¹ßÀÚ°¡ Immutable.js¸¦ È°¿ëÇÏ´Â µ¥ ÇÊ¿äÇÑ ¸ðµç Áö½ÄÀ» ´Ü°èÀûÀ¸·Î ½±°Ô ¼³¸íÇÏ°í ÀÖ´Ù.
1Àå. ¿Ö Immutable.jsÀΰ¡?
__¹ÂÅ×À̼ÇÀº Æı«ÀûÀÌ´Ù
____¿À·¡µÈ µ¥ÀÌÅÍ »èÁ¦
____½É°¢ÇÑ ¹ö±× ¹ß»ý
____Æ۽ýºÅÏÆ® üÀÎÁö
__Immutable.js Á¢±Ù¹ý
____Ä÷º¼Ç API
____»õ µ¥ÀÌÅ͸¦ ¹ÝȯÇÏ´Â Ä÷º¼Ç ¸Þ¼µå
____¸Þ¼µå ÄÝ ¿¬°á
__´Ü¹æÇâ µ¥ÀÌÅÍ È帧
____´Ù¸¥ ¹æÇâÀÇ Á¸Àç
____±¸µ¶ ¸¸·á
____»ý¼º¸¸ µÇ´Â µ¥ÀÌÅÍ
____¼öÇàÀÌ ¾î·Á¿î ¹¬½ÃÀû »çÀ̵åÀÌÆåÆ®
__Immutable.js¿Í À¯»çÇÑ ¶óÀ̺귯¸®
____¹«¾ùÀ» ºñ±³ÇÒ °ÍÀΰ¡?
____Lodash ̵̧
__¿ä¾à
2Àå. ºÒº¯ µ¥ÀÌÅÍ »ý¼º
__Immutable.js »ý¼ºÀÚ
____Immutable.js µ¥ÀÌÅÍ Å¸ÀÔ
____Javascript Ä÷º¼Ç Àü´Þ
____Immutable.js Ä÷º¼Ç Àü´Þ
__of() ¸Þ¼µåÀÇ »ç¿ë
____ListsÀÇ of°ª
____MapsÀÇ of°ª
____SetsÀÇ of°ª
____SequencesÀÇ of°ª
__fromJS() ÇÔ¼ö¸¦ »ç¿ëÇÑ µ¥ÀÌÅÍ ±¸¹®ºÐ¼®
____Javascript ¹è¿ ±¸¹®ºÐ¼®
____Javascript ¿ÀºêÁ§Æ® ±¸¹®ºÐ¼®
____º¹ÀâÇÑ ±¸Á¶ ±¸¹®ºÐ¼®
__¿ä¾à
3Àå. Æ۽ýºÅÏÆ® üÀÎÁö
__Ä÷º¼Ç¿¡ °ª Ãß°¡
____¸®½ºÆ®¿¡ °ª Ãß°¡
____¸Ê¿¡ Å°-°ª ½Ö Ãß°¡
____°ª Ãß°¡ ¸Þ¼µå ¿¬°á
__Ä÷º¼Ç°ª º¯°æ
____¸®½ºÆ®°ª º¯°æ
____¸Ê°ª º¯°æ
____Ä÷º¼Ç ¹ÂÅ×ÀÌ¼Ç ¸Þ¼µå ¿¬°á
__Ä÷º¼Ç¿¡¼ °ª Á¦°Å
____¸®½ºÆ®¿¡¼ °ª Á¦°Å
____¸Ê¿¡¼ °ª Á¦°Å
____Ä÷º¼Ç Á¦°Å ¸Þ¼µå ¿¬°á
__Ä÷º¼Ç ºñ¿ì±â
____»õ ÀνºÅϽº·Î Ä÷º¼Ç ±³Ã¼
____clear() ¸Þ¼µå »ç¿ë
__º¯È ÃßÀû
__¿ä¾à
4Àå. Ä÷º¼Ç ÇÊÅ͸µ°ú ¾ÆÀÌÅÛ Å½»ö
__°£´ÜÇÑ ºñ±³¸¦ »ç¿ëÇÑ ÇÊÅ͸µ
____Á¤È®ÇÑ ÀÏÄ¡
____Å©±â ºñ±³ ¿¬»ê
____ºÎÁ¤ ÇÊÅ͸µ
__Å°¸¦ »ç¿ëÇÑ ¸Ê ÇÊÅ͸µ
____¹®ÀÚ¿ Å° ÇÊÅ͸µ
____Æҽà Ű ÇÊÅ͸µ
__Ä÷º¼Ç°ª ã±â
____°ª Á¸Àç °Ë»ç
____find()¸¦ »ç¿ëÇؼ °ª ¾ò±â
__µö ÀÏÄ¡¸¦ »ç¿ëÇÑ ÇÊÅ͸µ
____is() ÇÔ¼ö¿Í equals() ¸Þ¼µå »ç¿ë
____¸ÊÀÇ ¸®½ºÆ® Ž»ö
__ºÎºÐ ºñ±³
____¸ÊÀÇ ÇüÅÂ
____¼ºê¼Â°ú ½´ÆÛ¼Â
__Ž»ö ¹æÇâ º¯°æ
____Á¤·ÄµÈ Ä÷º¼Ç Ž»ö
____findLast()¿Í reduceRight() »ç¿ë
__¿ä¾à
5Àå. ½ÃÄö½º¿Í »çÀ̵åÀÌÆåÆ®
__´À±ßÇÑ Æò°¡¸¦ ½á¾ß ÇÏ´Â ÀÌÀ¯
____Å« Ä÷º¼ÇÀº ºñ½Î´Ù
____ºÒÇÊ¿äÇÑ ÀÛ¾÷ Á¦°Å
____¿¬°áµÈ ¿¬»êÀº ÀÌÇØÇϱ⠽±´Ù
__½ÃÄö½º »ý¼º°ú ÀÌÅÍ·¹À̼Ç
____±âº» ½ÃÄö½º »ý¼º
____Ä÷º¼ÇÀ» ½ÃÄö½º·Î º¯È¯
____for...of ¹Ýº¹¹®À» »ç¿ëÇÑ ¼øȸ
____forEach()¸¦ »ç¿ëÇÑ ¼øȸ
__Áö¿¬ ÇÊÅ͸µ
____±âº» Áö¿¬ ÇÊÅ͸µ
____´ÙÁß ÇÊÅÍ ·¹º§
__°á°ú Á¦ÇÑ°ú ÀÛ¾÷ Ãà¼Ò
____take()¸¦ »ç¿ëÇÑ °á°ú Á¦ÇÑ
____slice()¸¦ »ç¿ëÇÑ ÆäÀÌÁö ó¸®
__¿ä¾à
6Àå. Ä÷º¼Ç Á¤·Ä
__Á¤·Ä°ú ¼ø¼ µÚÁý±â
____sort() ¸Þ¼µå
____reverse() ¸Þ¼µå
__¸ÊÀÇ ¸®½ºÆ® Á¤·Ä
____sortBy() ¸Þ¼µå
____´ÙÁß Å° »ç¿ë Á¤·Ä
__¿À´õµå ¸Ê
____¼ø¼ º¸Àå
____»ðÀÔ ¼ø¼´Â Á¤·Ä ¼ø¼¿Í ´Ù¸§
____set()¸¦ »ç¿ëÇÑ ¼ø¼ ¼³Á¤
__¸Ê Á¤·Ä
____¿À´õµå ¸Ê »ý¼º
____Å°¸¦ »ç¿ëÇÑ ¸Ê Á¤·Ä
__Á¤·Ä ¼ø¼ À¯Áö
____»ðÀÔ À妽º ã±â
____Á¤¸» ÇÊ¿äÇÑ°¡?
__¿ä¾à
7Àå. ¸ÅÇΰú Ãà¼Ò
__¸ÊÀÇ ¸®½ºÆ® ¸ÅÇÎ
____°ª »Ì¾Æ³»±â
____»õ·Î¿î °ª °è»ê
__¸ÊÀÇ »õ ¸®½ºÆ®¿¡ ¸ÅÇÎ
____»õ·Î¿î Å° »ý¼º
____Å° ÇÊÅ͸µ
__Ä÷º¼Ç Ãà¼Ò
____ÇÊÅ͸µÀ¸·Î ÃæºÐÇÏÁö ¾ÊÀº »óȲ
____ÃÖ¼Ú°ª ¹× ÃÖ´ñ°ª »ý¼º
____°ª ´©Àû
__Áö¿¬ ¸ÅÇÎ
____´ÙÁß map() È£Ãâ
____¸ÅÇÎ Àü ÇÊÅ͸µ
____±Ã±ØÀûÀÎ Áö¿¬ ÆÐÅÏ
__¿ä¾à
8Àå. ÁöÇΰú Ç÷¡Æ®´×
__Ä÷º¼Ç ÁöÇÎ
____°úµµÇÑ ¼øȸ Á¦°Å
____°£´ÜÇÑ °ªÀÇ ¸ñ·Ï ÁöÇÎ
____¸ÊÀÇ ¸®½ºÆ® ÁöÇÎ
____Áö¿¬ ¸ÅÇÎ
__Ä÷º¼Ç Ç÷¡Æ®´×
____Àç±Í ±¸Á¶ ÇÇÇϱâ
____Áßø ¸®½ºÆ® µö Ç÷¡Æ®´×
____¾èÀº Ç÷¡Æ®´× ¸®½ºÆ®
____Áßø ¸Ê ÆòźÈ
__¿ä¾à
9Àå. Æ۽ýºÅÏÆ® üÀÎÁö °¨Áö
__Ä÷º¼Ç µ¿µî¼º
____¾ö°ÝÇÑ ºñ±³¿Í ¹ÂÅÍƼºê ¸Þ¼µå
__¾ö°ÝÇÑ ºñ±³ vs ±íÀº ºñ±³
____Æ®·£½ºÆ÷¸ÞÀ̼ǰú ¹ÂÅ×ÀÌ¼Ç ºñ±³
____Æ®·£½ºÆ÷¸ÞÀ̼ÇÀº Ç×»ó »õ Ä÷º¼ÇÀ» ¹ÝȯÇÔ
____Æ®·£½ºÆ÷¸ÞÀÌ¼Ç Àü º¯È °¨Áö
____»çÀ̵åÀÌÆåÆ® ij½Ì
__¿ä¾à
10Àå. ¼¼Æ® »ç¿ë
__¼¼Æ®´Â ¸®½ºÆ®°¡ ¾Æ´Ô
____get() ¸Þ¼µå »ç¿ë ±ÝÁö
____ÁöÁ¤µÈ ¼øȸ ¼ø¼ ¾øÀ½
____Å°¸¸ °¡Áø ¸Ê
__Áߺ¹ Á¦°Å
____¼¼Æ®·Î º¯È¯
____¼¼Æ® º¯È¯ ÈÄ ´Ù½Ã ¸®½ºÆ®·Î º¹¿ø
____Áö¿¬ Áߺ¹ Á¦°Å
__¿À´õµå ¼¼Æ®
____¼¼Æ® Á¤·Ä
____¼¼Æ® ¼øȸ
__¼¼Æ® À¯Áö
____°íÀµ°ª Ãß°¡
____Áߺ¹°ª Ãß°¡
__¿ä¾à
11Àå. Ä÷º¼Ç ºñ±³
__¼¼Æ® ÀÎÅͼ½¼Ç
____ÀÎÅͼ½¼Ç ã±â
____¿À´õµå ÀÎÅͼ½¼Ç
__¸®½ºÆ® ÀÎÅͼ½¼Ç
____¸®½ºÆ® ÀÎÅͼ½¼Ç ÁÙÀ̱â
____¸®½ºÆ® ÀÎÅͼ½¼Ç ÇÊÅ͸µ
__Ä÷º¼Ç µðÆÛ·±½º
____¼¼Æ® µðÆÛ·±½º
____¸®½ºÆ® µðÆÛ·±½º
__¸Ê ºñ±³
____¸Ê ÀÎÅͼ½¼Ç
____¸Ê µðÆÛ·±½º
__¼ºê¼Â°ú ½´ÆÛ¼Â
____¸®½ºÆ® ¼ºê¼Â
____¸®½ºÆ® ½´ÆÛ¼Â
__¿ä¾à
12Àå. Ä÷º¼Ç °áÇÕ
__¸Ê º´ÇÕ
____Å°¸¦ »ç¿ëÇÑ ¸Ê º´ÇÕ
____º¹ÀâÇÑ Å°¸¦ °¡Áø ¸Ê º´ÇÕ
__¸®½ºÆ® º´ÇÕ
____°£´ÜÇÑ °ª º´ÇÕ
____¸ÊÀÇ ¸®½ºÆ® º´ÇÕ
____¸®½ºÆ®ÀÇ ¸®½ºÆ® º´ÇÕ
__¸®½ºÆ®¿Í ½ÃÄö½º ¿¬°á
____°£´ÜÇÑ °ª ¿¬°á
____Áö¿¬ ½ÃÄö½º ¿¬°á
__µ¡ºÙÀ̱â¿Í ³¢¿ö³Ö±â
____Áö¿¬°ª µ¡ºÙÀ̱â
____Áö¿¬°ª ³¢¿ö³Ö±â
__¿ä¾à
13Àå. ¼±¾ðÀû ÀÇ»ç °áÁ¤
__¸ÅÇÎ µ¿ÀÛ
____Å°´Â ³í¸®Àû °æ·Î, °ªÀº Çൿ
____ÇÔ¼ö¿¡¼ Çൿ ¸Ê ·¡ÇÎ
__ÆĶó¹ÌÅÍ¿Í ±âº» µ¿ÀÛ
____±âº» µ¿ÀÛ Á¦°ø
____¸ÅÇÎ µ¿ÀÛ ÆĶó¹ÌÅÍÈ
__Çൿ ÀÛ¼º
____ÀϹÝÀûÀÎ »óÀ§ Çൿ ÇÔ¼ö
____³í¸®Àû and/or Á¶°Ç
____º¹ÀâÇÑ Çൿ Á¶ÇÕ
__¿ä¾à
14Àå. À¯Àú ÀÎÅÍÆäÀ̽º »çÀ̵åÀÌÆåÆ®
__°£´ÜÇÑ ¾ÖÇø®ÄÉÀ̼Ç
____¾ÖÇø®ÄÉÀÌ¼Ç µ¥ÀÌÅÍ
____ÇÊÅÍ ÄÁÆ®·Ñ
____¿¡ÇÇ¼Òµå °á°ú
__DOM »çÀ̵åÀÌÆåÆ®
____HTML ¸¶Å©¾÷
____¿¡ÇǼҵå ÇÊÅ͸µ
____À̺¥Æ® ó¸®
____·»´õ¸µ ¿ä¼Ò
__React »çÀ̵åÀÌÆåÆ®
____¾ÖÇø®ÄÉÀÌ¼Ç »óÅÂ
____À̺¥Æ® ó¸®¿Í »óÅ º¯°æ
____¿¡ÇǼҵå¿Í ¿¤¸®¸ÕÆ® ¸ÅÇÎ
__¿ä¾à
15Àå. Node.js¿¡¼ÀÇ »çÀ̵åÀÌÆåÆ®
__Ä÷º¼ÇÀ¸·Î µ¥ÀÌÅÍ Àбâ
____CSV µ¥ÀÌÅ͸¦ ÀÐ°í ±¸¹®ºÐ¼®
____¸¹Àº ¾çÀÇ µ¥ÀÌÅÍ Àбâ
__Ä÷º¼Ç µ¥ÀÌÅÍ ¾²±â
____Ä÷º¼Ç ¼øȸÇÏ¸ç ¶óÀÎ ¾²±â
____ºñµ¿±â µ¥ÀÌÅÍ¿Í ½ÃÄö½º
____Áö¿¬ ½ÃÄö½º¿Í ½ºÆ®¸² ¿¬°á
__¿ä¾à
16Àå. ºÒº¯ ¾ÆÅ°ÅØó
__Àç»ç¿ë °¡´ÉÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç »óÅ ¾÷µ¥ÀÌÅÍ
____Ãʱ⠻óÅÂ
____»çÀ̵åÀÌÆåÆ®
____»óÅ °»½Å ¹× »çÀ̵åÀÌÆåÆ® ½ÇÇà
__Ãʱ⠾ÖÇø®ÄÉÀÌ¼Ç »óÅÂ
____°á°ú »óÅÂ
__»õ ¿¡ÇÇ¼Òµå »óÅ »ý¼º
__À̺¥Æ®¿Í »óÅ ¾÷µ¥ÀÌÅÍ
____°Ë»ö Äõ¸® ¾÷µ¥ÀÌÆ®
____üũ¹Ú½º¿Í ½½¶óÀÌ´õ »óÅ ¾÷µ¥ÀÌÆ®
____»õ ¿¡ÇÇ¼Òµå µ¥ÀÌÅÍ ¾÷µ¥ÀÌÆ®
____»õ ¿¡ÇÇ¼Òµå »ý¼º
__»çÀ̵åÀÌÆåÆ® ½ÇÇà
____¿¡ÇÇ¼Òµå °á°ú Ãâ·Â
____°á°ú ¼ö·® Ç¥½Ã
____»õ ¿¡ÇÇ¼Òµå ¾ç½Ä ÃʱâÈ
__¿ä¾à