{"id":8499,"date":"2016-04-08T01:50:00","date_gmt":"2016-04-07T16:50:00","guid":{"rendered":"https:\/\/jirak.net\/wp\/weekly-links-1-2016%eb%85%84-4%ec%9b%94-%ec%b2%ab%ec%a7%b8%ec%a3%bc\/"},"modified":"2016-07-07T12:35:25","modified_gmt":"2016-07-07T03:35:25","slug":"weekly-links-1-2016%eb%85%84-4%ec%9b%94-%ec%b2%ab%ec%a7%b8%ec%a3%bc","status":"publish","type":"post","link":"https:\/\/jirak.net\/wp\/weekly-links-1-2016%eb%85%84-4%ec%9b%94-%ec%b2%ab%ec%a7%b8%ec%a3%bc\/","title":{"rendered":"Weekly Links #1 &#8211; 2016\ub144 4\uc6d4 \uccab\uc9f8\uc8fc"},"content":{"rendered":"<p>Weekly Links #1 &#8211; 2016\ub144 4\uc6d4 \uccab\uc9f8\uc8fc<\/p>\n<p><strong><a href=\"http:\/\/tech.kakao.com\/tags\/weekly\/\">Weekly Links<\/a><\/strong>\uc5d0\uc11c\ub294 \uc9c0\ub09c \ud55c \uc8fc, \uce74\uce74\uc624\uc758 \uae30\uc220 \ube14\ub85c\uadf8 \ub2f4\ub2f9\uc790\uac00 \uad6c\ub3c5\ud558\ub294 \uae30\uc220 \ub274\uc2a4\ub808\ud130\ub4e4\uc5d0\uc11c \u201c\uc778\uac04\uc758 \ub208\u201d\uc73c\ub85c \uc120\ubcc4\ud55c \ub9c1\ud06c\ub4e4\uc744 \uc9e7\uc740 \ucf54\uba58\ud2b8\uc640 \ud568\uaed8 \uacf5\uc720\ud569\ub2c8\ub2e4.<\/p>\n<blockquote>\n<p>\ud3ec\ud568\ub41c \ub274\uc2a4\ub808\ud130 \ubaa9\ub85d\uc740 <a href=\"https:\/\/github.com\/kakao\/awesome-tech-newletters\">awesome-tech-newsletters<\/a>\uc5d0\uc11c \ud655\uc778\ud558\uc2e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/blockquote>\n<h3 id=\"section\">2016\ub144 4\uc6d4 \uccab\uc9f8\uc8fc \ucd94\ucc9c \ub9c1\ud06c<\/h3>\n<ul>\n<li><strong><a href=\"https:\/\/techblog.king.com\/why-we-choose-akka-for-our-cloud-device-solution\/\">Why we chose Akka for our Cloud Device solution<\/a><\/strong> &#8211; \uc0ac\ud0d5\uae68\ub294 \ubaa8\ubc14\uc77c \uac8c\uc784\uc73c\ub85c \uc720\uba85\ud55c <a href=\"https:\/\/king.com\">King<\/a>\uc774 \u201cCloud Device Solution\u201d\uc744 \ub9cc\ub4e4\uae30 \uc704\ud574 <a href=\"http:\/\/akka.io\/\">Akka<\/a>\ub97c \ub3c4\uc785\ud55c \uacfc\uc815.<\/li>\n<li><strong><a href=\"http:\/\/projects.spring.io\/spring-boot\/\">\uc2a4\ud504\ub9c1 \ubd80\ud2b8<\/a>\uc5d0\uc11c <a href=\"http:\/\/netflix.github.io\">\ub137\ud50c\ub9ad\uc2a4 \uc624\ud508\uc18c\uc2a4<\/a> \ud65c\uc6a9\ud558\uae30<\/strong><\/li>\n<li><a href=\"https:\/\/blog.de-swaef.eu\/the-netflix-stack-using-spring-boot\/\">1\ubd80 eureka<\/a><\/li>\n<li><a href=\"https:\/\/blog.de-swaef.eu\/the-netflix-stack-using-spring-boot-part-2-hystrix\/\">2\ubd80 hystrix<\/a><\/li>\n<li><a href=\"https:\/\/blog.de-swaef.eu\/the-netflix-stack-using-spring-boot-part-3-feign\/\">3\ubd80 feign<\/a><\/li>\n<li>\ubd84\uc704\uae30\ub85c \ubd10\uc120 \uba87 \ud3b8 \ub354 \ub098\uc62c \ub4ef~<\/li>\n<li><strong><a href=\"https:\/\/enear.github.io\/2016\/03\/31\/parser-combinators\/\">Building a lexer and parser with Scala\u2019s Parser Combinators<\/a><\/strong> &#8211; \uc2a4\uce7c\ub77c\uc758 \ud45c\uc900 \ub77c\uc774\ube0c\ub7ec\ub9ac <a href=\"https:\/\/github.com\/scala\/scala-parser-combinators\">Parser Combinators<\/a>\ub97c \ud65c\uc6a9\ud574\uc11c <a href=\"https:\/\/en.wikipedia.org\/wiki\/Domain-specific_language\">DSL<\/a> \uc778\ud130\ud504\ub9ac\ud130 \ub9cc\ub4e4\uae30. \ud45c\uc900 \ub77c\uc774\ube0c\ub7ec\ub9ac\uac00 \uc774 \uc815\ub3c4\ub77c\ub2c8\u2026 \uc2a4\uce7c\ub77c \uc880 \uc9f1\uc778 \ub4ef~<\/li>\n<li><strong><a href=\"http:\/\/nickmeldrum.com\/blog\/decorators-in-javascript-using-monkey-patching-closures-prototypes-proxies-and-middleware\">The decorator pattern in JavaScript using closures, monkey patching, prototypes, proxies and middleware<\/a><\/strong> &#8211; \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8\uc758 \ud074\ub85c\uc800\ub97c \uc0ac\uc6a9\ud558\ub294 \ub370\ucf54\ub808\uc774\ud130 \ud328\ud134 5\uac00\uc9c0: \ub798\ud37c, \ubabd\ud0a4 \ud328\uce58, \ud504\ub85c\ud1a0\ud0c0\uc785 \uc0c1\uc18d, \ud504\ub85d\uc2dc, \ubbf8\ub4e4\uc6e8\uc5b4. \ud328\ud134\ub3c4 \uacf5\ubd80\ud558\uace0 \ud074\ub85c\uc800\ub3c4 \uacf5\ubd80\ud558\uace0~ \uae00\uc774 \uaf64 \uae41\ub2c8\ub2e4. :S<\/li>\n<li><strong><a href=\"https:\/\/databaseline.wordpress.com\/2016\/03\/12\/an-overview-of-apache-streaming-technologies\/\">An Overview of Apache Stream Technologies<\/a><\/strong> &#8211; \uc544\ud30c\uce58 \uc7ac\ub2e8\uc758 \ub2e4\uc591\ud55c \ube45\ub370\uc774\ud130 \uc2a4\ud2b8\ub9ac\ubc0d(?) \ud504\ub85c\uc81d\ud2b8\ub4e4\uc744 \uadf8\ub9bc \ud55c\uc7a5\uc73c\ub85c \uc18c\uac1c. Flume, NiFi, Apex, Kafka Streams, Spark Streaming, Storm(and Trident), Flink, Samza, Ignite, Beam\u2026 \uac1c\ubcc4 \ud504\ub85c\uc81d\ud2b8 \ub9c1\ud06c\ub294 \uc2a4\ud0b5~ \uc774\ub984\ub9cc \uc77d\uae30\ub3c4 \ud798\ub4dc\ub124\uc694. \u3160\u3160<\/li>\n<li><strong><a href=\"http:\/\/blog.takipi.com\/10-influential-women-in-java-scala-and-everything-in-between\/\">10 Influential Women in Java, Scala and Everything in Between<\/a><\/strong> &#8211; \uc790\ubc14, \uc2a4\uce7c\ub77c \ubd84\uc57c\uc5d0 \uc8fc\ubaa9\ud560\ub9cc\ud55c \uc5ec\uc131 \uac1c\ubc1c\uc790 10\uc778. \uc694\uc998 <a href=\"http:\/\/blog.takipi.com\/\">Takipi\uc758 \ube14\ub85c\uadf8<\/a>\uc5d0 \uc88b\uc740 \uae00\uc744 \ub9ce\uc774 \uc62c\ub77c\uc624\ub124\uc694.<\/li>\n<li><strong><a href=\"http:\/\/spapas.github.io\/2016\/03\/02\/react-redux-tutorial\/\">A comprehensive react-redux tutorial<\/a><\/strong> &#8211; \uc608\uc81c\ub97c \ud1b5\ud574\uc11c \ubc30\uc6b0\ub294 <a href=\"https:\/\/github.com\/reactjs\/react-redux\">react-redux<\/a> \uc644\uc804 \uc815\ubcf5. \uae00\uc774 \uad49\uc7a5\ud788 \uae41\ub2c8\ub2e4 :S<\/li>\n<li><strong><a href=\"https:\/\/medium.com\/@theflapjack103\/the-way-of-the-gopher-6693db15ae1f#.ghzy09pd6\">The Way of the Gopher<\/a><\/strong> &#8211; <a href=\"https:\/\/nodejs.org\">Node.js<\/a>\uc5d0\uc11c <a href=\"https:\/\/golang.org\">Go<\/a>\ub85c \uc804\ud5a5\ud558\uac8c \ub41c \uc774\uc57c\uae30.<\/li>\n<li><strong><a href=\"https:\/\/medium.freecodecamp.com\/d-oh-my-zsh-af99ca54212c#.6x2rrlhkg\">d\u2019Oh My Zsh<\/a><\/strong> &#8211; \uac1c\ubc1c\uc790\ub4e4\uc774 \uac00\uc7a5 \ub9ce\uc774 \uc4f0\ub294 \uc720\ub2c9\uc2a4 \uc178 \uc911\uc758 \ud558\ub098\uc778 <a href=\"http:\/\/www.zsh.org\">zsh<\/a>, \uadf8 \uc778\uae30\uc758 \uc6d0\ub3d9\ub825\uc778 <a href=\"http:\/\/ohmyz.sh\">oh-my-zsh<\/a>\uc758 \uac1c\ubc1c\uc790\uac00 \uc4f4 oh-my-zsh \uc5f0\ub300\uae30 \u201c\ub098\ub294 \uc5b4\uca4c\ub2e4 \uad34\ubb3c OSS \ud504\ub85c\uc81d\ud2b8\ub97c \ud558\uac8c \ub418\uc5c8\ub098?\u201d. \ub05d\uae4c\uc9c0 \uc77d\uc5b4\ubcf4\uba74, \uc5ec\ub7ec\ubd84\ub4e4\ub3c4 \uc624\ud508\uc18c\uc2a4\ub97c \ud558\uace0 \uc2f6\uc5b4\uc9c0\uc2e4 \uac81\ub2c8\ub2e4. ;)<\/li>\n<li><strong><a href=\"https:\/\/github.com\/toddmotto\/public-apis\">A collective list of public JSON APIs for use in web development<\/a><\/strong> &#8211; \ubd84\ub958\ub3c4 \uc798\ub418\uc5b4\uc788\uace0, \uc778\uc99d \ud544\uc694 \uc5ec\ubd80\ub3c4 \ud45c\uc2dc\ub418\uc5b4\uc788\uc5b4\uc11c \ub9e4\uc2dc\uc5c5\uc744 \ub9cc\ub4e4\uac70\ub098 \ud559\uc2b5\/\ub370\ubaa8\uc6a9\uc73c\ub85c \uc720\uc6a9\ud560 \ub4ef \ud558\ub124\uc694. \ubb3c\ub860, \uc81c\ub300\ub85c\ub41c \uc624\ud508API \ubaa9\ub85d\uc744 \uc6d0\ud558\uc2e0\ub2e4\uba74\u2026 <a href=\"http:\/\/www.programmableweb.com\/apis\/directory\">ProgrammableWeb<\/a>!<\/li>\n<li><strong><a href=\"http:\/\/ithare.com\/once-again-on-tcp-vs-udp\/\">Once Again on TCP vs UDP<\/a><\/strong> &#8211; \ub124\ud2b8\uc6cd \uac1c\ubc1c\uc790\ub4e4\uc758 \uc624\ub79c \ub17c\uc7c1 \uac70\ub9ac\uc778 TCP vs UDP. \uc694\uc57d\ud558\uba74, \u201cUDP\uac00 \ube60\ub974\uae34\ud558\uc9c0\ub9cc TCP\uc5d0\uc11c KEEPALIVE, NODELAY, OOB \ub4f1\uc744 \uc798 \uc4f0\uba74 \ub9ce\uc774 \ub530\ub77c\uc7a1\uc744 \uc218 \uc788\ub2e4\u201d. \uc720\uc775\ud55c \ub0b4\uc6a9\uc774 \ucc38 \ub9ce\uc2b5\ub2c8\ub2e4. \uac15\ucd94!<\/li>\n<li><strong><a href=\"http:\/\/firstclassthoughts.co.uk\/Articles\/Design\/ApplicationArchitecturesWithPersistentStorage.html\">Application architectures with persistent storage<\/a><\/strong> &#8211; DB\ub97c \uc0ac\uc6a9\ud558\ub294 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uc544\ud0a4\ud14d\uccd0 \uc720\ud615. \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uac04\uc5d0 DB \uc778\uc2a4\ud134\uc2a4\ub97c \uacf5\uc720\ud558\ub290\ub0d0, OLTP\/OLAP\uc6a9 DB \uc778\uc2a4\ud134\uc2a4\uc744 \ubd84\ub9ac\ud558\ub290\ub0d0, \u2026 \ub4f1\ub4f1. \uae38\uc9c0 \uc54a\uc740 \uae00\uc5d0 \uc54c\ucc2c \ub0b4\uc6a9 \uac00\ub4dd. \uc798 \uc544\uc2dc\ub294 \ub0b4\uc6a9\uc774\ub77c\ub3c4 \uc815\ub9ac\uc0bc\uc544 \uc77c\uc5b4\ubcfc \ub9cc \ud569\ub2c8\ub2e4.<\/li>\n<li><strong><a href=\"https:\/\/lwan.ws\">Lwan Web Server<\/a><\/strong> &#8211; \ucd08\uacbd\ub7c9, \ube44\ub3d9\uae30, \uba40\ud2f0\uc4f0\ub808\ub4dc, \uc774\ubca4\ud2b8\uae30\ubc18 \uc6f9 \uc11c\ubc84~ \ud760\u2026 \uc88b\uc740 \ub9d0\uc740 \ub2e4 \ubd99\uc600\ub124\uc694. i7 \ub7a9\ud0d1\uc73c\ub85c (I\/O\uc5c6\uc774) 320000 r\/s\uae4c\uc9c0 \ubc1b\ub294\ub2e4\ub294 \uad70\uc694 @..@ \ubc14\ub2e5\ubd80\ud130 \uc2dc\uc791\ud574\uc11c 3\ub144 \uac78\ub824\uc11c \ub9cc\ub4e4\uc5c8\ub2e4\ub294\ub370\u2026<\/li>\n<li><strong><a href=\"https:\/\/developer.atlassian.com\/blog\/2016\/03\/why-clojure\/\">Why you should use Clojure for your next microservice<\/a><\/strong> &#8211; <a href=\"https:\/\/www.atlassian.com\/software\/jira\">JIRA<\/a>, <a href=\"https:\/\/www.atlassian.com\/software\/confluence\">Confluence<\/a>\ub85c \uc720\uba85\ud55c <a href=\"https:\/\/www.atlassian.com\">\uc544\ud2c0\ub77c\uc2dc\uc548<\/a>\uc5d0\uc11c <a href=\"https:\/\/clojure.org\">Clojure<\/a>\ub97c \ub3c4\uc785\ud55c \uc774\uc57c\uae30. \uae00 \ub0b4\uc6a9\ub3c4 \ub0b4\uc6a9\uc774\uc9c0\ub9cc, \uae00\uc5d0 \ub9c1\ud06c \uac78\ub9b0 \ub3d9\uc601\uc0c1\ub4e4\uc774 \uc7ac\ubbf8\uc788\ub124\uc694: <a href=\"https:\/\/www.youtube.com\/watch?v=3QR8meTrh5g\">Realtime Collaboration with Clojure<\/a>, <a href=\"https:\/\/www.youtube.com\/watch?v=KZjFVdU8VLI\">Interactive programming Flappy Bird in ClojureScript<\/a><\/li>\n<li><strong><a href=\"http:\/\/blog.nimbledroid.com\/2016\/03\/21\/ways-to-hang-main-thread.html\">Five Lesser-Known Ways to Hang Your Main Thread<\/a><\/strong> &#8211; \uc548\ub4dc\ub85c\uc774\ub4dc\uc758 \uba54\uc778\uc4f0\ub808\ub4dc\ub97c \uba39\ud1b5\uc73c\ub85c \ub9cc\ub4dc\ub294 \ub35c \uc54c\ub824\uc9c4 5\uac00\uc9c0 \ubc29\ubc95(?). \uae00 \uc790\uccb4\ub9cc\uc73c\ub85c\ub3c4 \uc720\uc6a9\ud558\uc9c0\ub9cc, \uc0ac\uc6a9\ub41c \ud504\ub85c\ud30c\uc77c\ub9c1 \uc11c\ube44\uc2a4 <a href=\"https:\/\/nimbledroid.com\">nimbledroid<\/a>\uac00 \ub208\uc5d0 \ub744\ub124\uc694~ @..@<\/li>\n<li><strong>\ud1b0\ucea3 \uc131\ub2a5 \ubb38\uc81c \uc644\uc804 \ubd84\uc11d<\/strong><\/li>\n<li><a href=\"http:\/\/apmblog.dynatrace.com\/2016\/02\/23\/top-tomcat-performance-problems-database-micro-services-and-frameworks\/\">1\ubd80 Database, Micro-Services and Frameworks<\/a><\/li>\n<li><a href=\"http:\/\/apmblog.dynatrace.com\/2016\/03\/08\/top-tomcat-performance-problems-part-2-bad-coding-inefficient-logging-exceptions\/\">2\ubd80 Bad Coding, Inefficient Logging &amp; Exceptions<\/a><\/li>\n<li><a href=\"http:\/\/apmblog.dynatrace.com\/2016\/03\/23\/top-tomcat-performance-problems-exceptions-pools-queues-threads-memory-leaks\">3\ubd80 Exceptions, Pools, Queues, Threads &amp; Memory Leaks<\/a><\/li>\n<li><a href=\"http:\/\/www.dynatrace.com\/\">dynatrace<\/a>\ub97c \uad11\uace0\ud558\uae30 \uc704\ud55c \uae00\uc774\uc9c0\ub9cc, \ubd84\uc11d \uacb0\uacfc \ub9cc\uc73c\ub85c\ub3c4 \uc720\uc6a9\ud560 \ub4ef.<\/li>\n<li><strong><a href=\"http:\/\/superuser.openstack.org\/articles\/kakaotalk-speaks-volumes-about-the-future-of-cloud-services\">KakaoTalk speaks volumes about the future of cloud services<\/a><\/strong> &#8211; \uc9c0\ub09c 2\uc6d4\uc5d0 \uc788\uc5c8\ub358 \uc624\ud508\uc2a4\ud0dd\ub370\uc774 2016 Korea\uc5d0\uc11c <a href=\"http:\/\/www.slideshare.net\/openstack_kr\/openstack-days-korea-2016-track1-5000vm\">\ubc1c\ud45c<\/a>\ud588\ub358 \ub0b4\uc6a9\uc778\ub370\uc694, \uc870\ub9cc\uac04 \uce74\uce74\uc624 \uae30\uc220 \ube14\ub85c\uadf8\ub97c \ud1b5\ud574\uc11c \uc790\uc138\ud788 \uc18c\uac1c\ud560 \uc608\uc815\uc785\ub2c8\ub2e4. ;) \uc678\uad6d\uc778\ub4e4\uc5d0\uac8c \uce74\uce74\uc624\ub77c\ub294 \ud68c\uc0ac\ub97c \uc18c\uac1c\ud558\uba74\uc11c \ucda4\ucd94\ub294 \uc544\uc90c\ub9c8 \uc774\ubaa8\ud2f0\ucf58\uc744 \uc608\ub85c \ub4dc\ub294\uac8c\u2026 \uc7ac\ubc0c\ub124\uc694 \u314e<\/li>\n<\/ul>\n<h3 id=\"npm----\">\ud2b9\uc9d1: npm \uac8c\uc774\ud2b8, \uadf8\uac83\uc774 \uc54c\uace0 \uc2f6\ub2e4!<\/h3>\n<p><img decoding=\"async\" src=\"http:\/\/item-kr.talk.kakao.co.kr\/do\/2FPpx81E0V62RDSr-GVgQXaq4FJCveCBKCNZV-bZscw_\/9e7a61ac86c673b1e6a5bbe2cde7ff791667fc7b08261b4c493670baa83d5cb9\" class=\"pull-right\" \/> \uac1c\uc778\uc801\uc73c\ub85c \uc774\ubc88 \uc8fc\uc5d0 \uac00\uc7a5 \ub208\uc5d0 \ub744\ub294 \uc18c\uc2dd\uc740 \uc544\ubb34\ub798\ub3c4 npm\uac8c\uc774\ud2b8(a.k.a. leftpad \uac8c\uc774\ud2b8)\uac00 \uc544\ub2cc\uac00 \uc2f6\uc2b5\ub2c8\ub2e4. \uadf8\ub798\uc11c, \ucc3d\uac04 \ud2b9\uc9d1(?)\uc73c\ub85c npm \uac8c\uc774\ud2b8\uc758 \uc804\ub9d0\uc744 \ud30c\ud5e4\uccd0 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ub2e4\uc74c\uc740 \ubb38\uc81c\uc758 <code class=\"highlighter-rouge\">left-pad<\/code> \ucf54\ub4dc(\uc804\uccb4!)\uc785\ub2c8\ub2e4:<br \/>\n<code class=\"highlighter-rouge\">js<br \/>\nmodule.exports = leftpad;<br \/>\nfunction leftpad (str, len, ch) {<br \/>\n  str = String(str);<br \/>\n  var i = -1;<br \/>\n  if (!ch &amp;&amp; ch !== 0) ch = ' ';<br \/>\n  len = len - str.length;<br \/>\n  while (++i &lt; len) {<br \/>\n    str = ch + str;<br \/>\n  }<br \/>\n  return str;<br \/>\n}<br \/>\n<\/code><\/p>\n<p>\uba54\uc2e0\uc800 \ud50c\ub7ab\ud3fc \ud68c\uc0ac\uc778 <a href=\"https:\/\/www.kik.com\">kik<\/a>\uc774 <a href=\"https:\/\/github.com\/azer\">azer<\/a>\uac00 \uac1c\ubc1c\ud55c npm \ubaa8\ub4c8 kik\uc758 \uc774\ub984\uc744 \ubc14\uafb8\ub77c\uace0 \ud558\uba74\uc11c \uc0ac\uac74\uc774 \uc2dc\uc791\ub429\ub2c8\ub2e4.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/item-kr.talk.kakao.co.kr\/do\/2FPpx81E0V62RDSr-GVgQff1+nqjcFZi42Z3wogPJ3I_\/117c2d408cabd9d2f8fdacc33a37de341667fc7b08261b4c493670baa83d5cb9\" \/> <img decoding=\"async\" src=\"http:\/\/item-kr.talk.kakao.co.kr\/do\/2FPpx81E0V62RDSr-GVgQff1+nqjcFZi42Z3wogPJ3I_\/23460135133c815fff292918047c3c871667fc7b08261b4c493670baa83d5cb9\" \/><\/p>\n<ul>\n<li>3\/11 10:20 kik -&gt; azer: kik \ubaa8\ub4c8 \uc774\ub984\uc758 \uc18c\uc720\uad8c\uc744 \uc8fc\uc7a5\ud558\uba70 azer\uc5d0\uac8c \uc774\ub984\uc744 \ubc14\uafb8\ub77c\uace0 \uc694\uccad.<\/li>\n<li>3\/11 10:50 azer -&gt; kik: \uac70\uc808.<\/li>\n<li>3\/11 11:26 kik -&gt; azer: <strong>\ubcc0\ud638\uc0ac<\/strong> \uc5b8\uae09.<\/li>\n<li>3\/11 12:34 azer -&gt; kik: \uac70\uc808.<\/li>\n<li>3\/11 12:42 kik -&gt; npm: \ubb38\uc81c \ud574\uacb0 \uc694\uccad.<\/li>\n<li>3\/11 12:44 kik -&gt; azer: \ubcf4\uc0c1\uc744 \uc81c\uc548.<\/li>\n<li>3\/11 12:52 azer -&gt; kik: <strong>$30000<\/strong> \uc81c\uc2dc.<\/li>\n<li>3\/11 12:57 kik -&gt; npm: kik\uc740 \ub4f1\ub85d\uc0c1\ud45c\uc774\ubbc0\ub85c kik \ubaa8\ub4c8 \uc774\ub984\uc758 \uc18c\uc720\uad8c\uc744 \uc8fc\uc7a5.<\/li>\n<li>3\/11 12:59 kik -&gt; npm: azer\uac00 \uc57d\uad00\uc744 \uc704\ubc18\ud558\uace0 \uc788\ub2e4\uace0 \uc8fc\uc7a5.<\/li>\n<li>\u2026<\/li>\n<li>3\/16 08:42 kik -&gt; npm: <strong>\ubcc0\ud638\uc0ac<\/strong> \uc5b8\uae09.<\/li>\n<li>3\/18 16:39 npm -&gt; kik &amp; azer: kik \ubaa8\ub4c8\uc758 \uc18c\uc720\uad8c\uc744 kik\uc73c\ub85c \ub118\uae40.<\/li>\n<li>3\/18 17:00 kik -&gt; npm: \uac10\uc1a8~<\/li>\n<li>\u2026<\/li>\n<li>3\/20 14:22 azer -&gt; npm &amp; azer: \uc720\uac10~ \ubaa8\ub4e0 \ubaa8\ub4c8 \uc0ad\uc81c \uc758\uc0ac \ud45c\uba85.<\/li>\n<\/ul>\n<p>kik\uc758 \ubb34\ub840\ud55c \uc694\uad6c, npm\uc758 \ubd80\uc801\uc808\ud55c \uc911\uc7ac, \uadf8\ub9ac\uace0 azer\uc758 \uc131\uae09\ud55c \ud589\ub3d9(unpublish)\uc774 \uacb0\ud569\ub418\uc5b4 \uc0ac\uac74\uc774 \ucee4\uc9d1\ub2c8\ub2e4.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/item-kr.talk.kakao.co.kr\/do\/2FPpx81E0V62RDSr-GVgQff1+nqjcFZi42Z3wogPJ3I_\/5b193322ac18ab63a8d44a71d11576731667fc7b08261b4c493670baa83d5cb9\" \/> <img decoding=\"async\" src=\"http:\/\/item-kr.talk.kakao.co.kr\/do\/2FPpx81E0V62RDSr-GVgQff1+nqjcFZi42Z3wogPJ3I_\/8b3db1f5a29e64003a8d8534462bdcf01667fc7b08261b4c493670baa83d5cb9\" \/> <img decoding=\"async\" src=\"http:\/\/item-kr.talk.kakao.co.kr\/do\/2FPpx81E0V62RDSr-GVgQff1+nqjcFZi42Z3wogPJ3I_\/ea9e258469b3741e398b7b6216548e961667fc7b08261b4c493670baa83d5cb9\" \/><\/p>\n<ul>\n<li>\u2026(\uc2dc\ub04c\ubc85\uc801)<\/li>\n<li>3\/23 <a href=\"https:\/\/medium.com\/@azerbike\/i-ve-just-liberated-my-modules-9045c06be67c#.jickcoe6v\">I\u2019ve Just Liberated My Modules<\/a> &#8211; azer\uac00 \u201c\ubcf8\uc778 \uc18c\uc720\uc758 npm \ubaa8\ub4c8 273\uac1c\ub97c \ub0b4\ub838\ub2e4\u201d\uace0 \ud1b5\ubcf4. \uadf8 \uc911\uc5d0 \ubb38\uc81c\uc758 <a href=\"https:\/\/www.npmjs.com\/package\/left-pad\">left-pad<\/a>\uac00 \ud3ec\ud568\ub418\uc5b4 \uc788\uc5c8\uc74c.<\/li>\n<li>3\/23 \uac00\uc7a5 \uc778\uae30\uc788\ub294 npm \ubaa8\ub4c8 \uc911\uc758 \ud558\ub098\uc778 <a href=\"https:\/\/babeljs.io\">babel<\/a>\uacfc <a href=\"https:\/\/atom.io\">atom<\/a>\uc774 \uac04\uc811\uc801\uc73c\ub85c <a href=\"https:\/\/www.npmjs.com\/package\/left-pad\">left-pad<\/a>\uc5d0 \uc758\uc874\uc131\uc774 \uac78\ub824 \uc788\uc5c8\uc74c. \uc218\ub9ce\uc740 ES6 \uae30\ubc18 \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158\ub4e4\uc774 \ube4c\ub4dc \uc548\ub428. <strong>2.5 \uc2dc\uac04\uc758 \uc7ac\uc559!!<\/strong><\/li>\n<li>3\/23 <a href=\"http:\/\/blog.npmjs.org\/post\/141577284765\/kik-left-pad-and-npm\">kik, left-pad, and npm<\/a> &#8211; npm \uce21\uc758 \ud574\uba85: \u201c\uc6b0\ub9ac\ub294 azer\uc758 \ucf54\ub4dc\ub97c \ud6d4\uce58\uc9c0 \uc54a\uc558\ub2e4\u201d, \u201ckik\uc740 \uc88b\uc740 \ud68c\uc0ac\ub2e4\u201d\u2026<\/li>\n<li>3\/23 <a href=\"https:\/\/medium.com\/@mproberts\/a-discussion-about-the-breaking-of-the-internet-3d4d2a83aa4d#.7hvnswqn3\">A discussion about the breaking of the Internet<\/a> &#8211; kik \uce21\uc758 \ud574\uba85: \u201c\uc6b0\ub9ac\ub294 \uc798\ubabb\ud55c\uac70 \uc5c6\ub2e4\u201d. \uc790\uc2e0\ub9cc\ub9cc\ud558\uac8c \uc8fc\uace0\ubc1b\uc740 \uba54\uc77c\uc744 \ub2e4 \uacf5\uac1c\ud588\uc73c\ub098\u2026<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"http:\/\/item-kr.talk.kakao.co.kr\/do\/2FPpx81E0V62RDSr-GVgQXaq4FJCveCBKCNZV-bZscw_\/477c52636630bc15b2890bde099cba0a1667fc7b08261b4c493670baa83d5cb9\" \/> <img decoding=\"async\" src=\"http:\/\/item-kr.talk.kakao.co.kr\/do\/2FPpx81E0V62RDSr-GVgQff1+nqjcFZi42Z3wogPJ3I_\/d9a75303a2c93be4824eb01e7b52b8ef1667fc7b08261b4c493670baa83d5cb9\" \/> <img decoding=\"async\" src=\"http:\/\/item-kr.talk.kakao.co.kr\/do\/2FPpx81E0V62RDSr-GVgQff1+nqjcFZi42Z3wogPJ3I_\/30fb689b65179f92d9264471424237511667fc7b08261b4c493670baa83d5cb9\" \/><\/p>\n<ul>\n<li>3\/25 <a href=\"https:\/\/dzone.com\/articles\/npmgate-lessons-learned-again\">npmGate \u2014 Lessons Learned Again<\/a> &#8211; \ubcc0\ud638\uc0ac\ub97c \ud1b5\ud574\uc11c \uc73c\ub984\uc7a5\uc744 \ub193\uc740 kik\ub3c4 \ube44\ub09c\ud558\uace0, \ud070 \uc800\uc7a5\uc18c\ub97c \uc6b4\uc601\ud558\uba74\uc11c\ub3c4 \uc81c\ub300\ub85c \ub41c \uc815\ucc45\ub3c4 \uc5c6\uace0, \uc81c\ub300\ub85c \ub300\uc751\ub3c4 \ubabb\ud55c npm\ub3c4 \ube44\ub09c\ud558\uace0, \uadf8 \uc640\uc911\uc5d0 \uc740\uadfc\uc2ac\uca4d <a href=\"http:\/\/www.sonatype.com\">Sonatype<\/a>\uc758 <a href=\"http:\/\/www.sonatype.com\/nexus-repository-sonatype\">Nexus<\/a> \uad11\uace0\u2026\u314e<\/li>\n<li>3\/29 <a href=\"http:\/\/blog.npmjs.org\/post\/141905368000\/changes-to-npms-unpublish-policy\">changes to npm\u2019s unpublish policy<\/a>: npm\uc774 \ud6c4\uc18d \uc870\uce58\ub85c unpublish \uc815\ucc45\uc744 \ubcc0\uacbd. \uc694\uc57d\ud558\uba74, 24\uc2dc\uac04\ub0b4\uc5d0\ub294 \ubcf8\uc778\uc774 unpublish \uac00\ub2a5. \uadf8 \uc774\ud6c4\uc5d0\ub294 npm\uc5d0 \uba54\uc77c\ub85c \uc5f0\ub77d. \ud328\ud0a4\uc9c0\uc758 \ubaa8\ub4e0 \ubc84\uc804\uc774 \ub0b4\ub824\uac00\uba74 \ub55c\ube75(placeholder) \ud328\ud0a4\uc9c0\ub85c \ub300\uccb4. \ub55c\ube75 \ud328\ud0a4\uc9c0\uc758 \uc18c\uc720\uad8c\uc744 \ud68d\ub4dd\ud558\ub824\uba74 npm\uc5d0 \uba54\uc77c\ub85c \uc5f0\ub77d.<\/li>\n<li>4\/4 <a href=\"http:\/\/www.bloter.net\/archives\/253447\">11\uc904\uc758 \ucf54\ub4dc, \uc778\ud130\ub137\uc744 \ud328\ub2c9\uc5d0 \ube60\ub728\ub9ac\ub2e4<\/a><\/li>\n<\/ul>\n<blockquote>\n<p>\uc624\ud508\uc18c\uc2a4\ub97c \uc0dd\uc0b0(\uae30\uc5ec)\ud558\ub294 \uce21, \uc0ac\uc6a9\ud558\ub294 \uce21, \uadf8\ub9ac\uace0 \uc774 \uacfc\uc815\uc744 \uc911\uac1c\ud558\ub294 \uce21\uc774 \uc678\ubd80\uc758 \ub3c4\uc804(?)\uc5d0 \ub300\ucc98\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574\uc11c \ub9ce\uc740 \uc0dd\uac01\uc744 \ud558\uac8c \ub9cc\ub4e0 \uc0ac\uac74\uc785\ub2c8\ub2e4\ub9cc\u2026 (\ud760\ud760) \uc790\uc138\ud55c \uc124\uba85\uc740 \ud504\ub80c\uc988\uc758 \ud45c\uc815\uc73c\ub85c \ub300\uc2e0\ud569\ub2c8\ub2e4.<\/p>\n<\/blockquote>\n<p>\uae30\uc220 \ube14\ub85c\uadf8\uc758 \ucee8\ud150\uce20 \uc218\uae09\uc5d0 \uc5b4\ub824\uc6c0 \ub54c\ubb38\uc5d0 \uc2dc\uc791\ud558\uae34 \ud588\ub294\ub370, \uc218\uc2ed\uac1c\uc758 \ub274\uc2a4\ub808\ud130\uc5d0 \uc18c\uac1c\ub41c \uc218\ubc31\uac1c\uc758 \ub9c1\ud06c \uc911\uc5d0\uc11c \uba87 \uac1c\ub9cc \uc120\uc815\ud558\ub294 \uc77c\uc774 \ub9cc\ub9cc\uce58 \uc54a\ub124\uc694. Weekly Links\ub294 \ucb48\uc6b1~~<\/p>\n<blockquote>\n<p>\ud3ec\ud568\ub41c \ub274\uc2a4\ub808\ud130 \ubaa9\ub85d\uc740 <a href=\"https:\/\/github.com\/kakao\/awesome-tech-newletters\">awesome-tech-newsletters<\/a>\uc5d0\uc11c \ud655\uc778\ud558\uc2e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/blockquote>\n<ul>\n<li>\ucee4\ubc84 \uc774\ubbf8\uc9c0 \ucd9c\ucc98: <a href=\"https:\/\/flic.kr\/p\/KjJMP\">link by link\u2026<\/a> \u00a9 <a href=\"https:\/\/www.flickr.com\/photos\/laenulfean\/\">Carsten Tolkmit<\/a><\/li>\n<\/ul>\n<p>Source: <a href=\"http:\/\/tech.kakao.com\/2016\/04\/07\/weekly-links-1\/\" target=\"_blank\">Weekly Links #1 &#8211; 2016\ub144 4\uc6d4 \uccab\uc9f8\uc8fc<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>Weekly Links #1 &#8211; 2016\ub144 4\uc6d4 \uccab\uc9f8\uc8fc Weekly Links\uc5d0\uc11c\ub294 \uc9c0\ub09c \ud55c \uc8fc, \uce74\uce74\uc624\uc758 \uae30\uc220 \ube14\ub85c\uadf8 \ub2f4\ub2f9\uc790\uac00 \uad6c\ub3c5\ud558\ub294 \uae30\uc220 \ub274\uc2a4\ub808\ud130\ub4e4\uc5d0\uc11c \u201c\uc778\uac04\uc758 \ub208\u201d\uc73c\ub85c \uc120\ubcc4\ud55c \ub9c1\ud06c\ub4e4\uc744 \uc9e7\uc740 \ucf54\uba58\ud2b8\uc640 \ud568\uaed8 \uacf5\uc720\ud569\ub2c8\ub2e4. \ud3ec\ud568\ub41c \ub274\uc2a4\ub808\ud130 \ubaa9\ub85d\uc740 awesome-tech-newsletters\uc5d0\uc11c \ud655\uc778\ud558\uc2e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4. 2016\ub144 4\uc6d4 \uccab\uc9f8\uc8fc \ucd94\ucc9c \ub9c1\ud06c Why we chose Akka for our Cloud Device solution &#8211; \uc0ac\ud0d5\uae68\ub294 \ubaa8\ubc14\uc77c \uac8c\uc784\uc73c\ub85c \uc720\uba85\ud55c King\uc774 \u201cCloud Device Solution\u201d\uc744 \ub9cc\ub4e4\uae30 \uc704\ud574 Akka\ub97c \ub3c4\uc785\ud55c \uacfc\uc815. \uc2a4\ud504\ub9c1 \ubd80\ud2b8\uc5d0\uc11c \ub137\ud50c\ub9ad\uc2a4 \uc624\ud508\uc18c\uc2a4 \ud65c\uc6a9\ud558\uae30 1\ubd80 eureka 2\ubd80 hystrix 3\ubd80 feign \ubd84\uc704\uae30\ub85c \ubd10\uc120 \uba87 \ud3b8 \ub354 \ub098\uc62c \ub4ef~ Building a lexer and parser with Scala\u2019s Parser Combinators &#8211; \uc2a4\uce7c\ub77c\uc758 \ud45c\uc900 \ub77c\uc774\ube0c\ub7ec\ub9ac Parser Combinators\ub97c \ud65c\uc6a9\ud574\uc11c DSL \uc778\ud130\ud504\ub9ac\ud130 \ub9cc\ub4e4\uae30. \ud45c\uc900 \ub77c\uc774\ube0c\ub7ec\ub9ac\uac00 \uc774 \uc815\ub3c4\ub77c\ub2c8\u2026 \uc2a4\uce7c\ub77c \uc880 \uc9f1\uc778 \ub4ef~ The decorator pattern in JavaScript using closures, monkey patching, prototypes, proxies and middleware &#8211; \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8\uc758 \ud074\ub85c\uc800\ub97c \uc0ac\uc6a9\ud558\ub294 \ub370\ucf54\ub808\uc774\ud130 \ud328\ud134 5\uac00\uc9c0: \ub798\ud37c, \ubabd\ud0a4 \ud328\uce58, \ud504\ub85c\ud1a0\ud0c0\uc785 \uc0c1\uc18d, \ud504\ub85d\uc2dc, \ubbf8\ub4e4\uc6e8\uc5b4. \ud328\ud134\ub3c4 \uacf5\ubd80\ud558\uace0 \ud074\ub85c\uc800\ub3c4 \uacf5\ubd80\ud558\uace0~ \uae00\uc774 \uaf64 <a class=\"mh-excerpt-more\" href=\"https:\/\/jirak.net\/wp\/weekly-links-1-2016%eb%85%84-4%ec%9b%94-%ec%b2%ab%ec%a7%b8%ec%a3%bc\/\" title=\"Weekly Links #1 &#8211; 2016\ub144 4\uc6d4 \uccab\uc9f8\uc8fc\">[ more&#8230; ]<\/a><\/p>\n<\/div>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[169],"tags":[705],"class_list":["post-8499","post","type-post","status-publish","format-standard","hentry","category-news","tag-kakao"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/posts\/8499","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/comments?post=8499"}],"version-history":[{"count":1,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/posts\/8499\/revisions"}],"predecessor-version":[{"id":8500,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/posts\/8499\/revisions\/8500"}],"wp:attachment":[{"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/media?parent=8499"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/categories?post=8499"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/tags?post=8499"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}