้€Ÿใ„ใ‹้–“้•ใฃใฆใ„ใ‚‹ใ‹

็”ปๅƒ


2018 ๅนดใ€็งใฏAdvent of Codeใ‚’ๅฎŸ่ทตใ—ใพใ—ใŸ (็งใฎใ‚ฝใƒชใƒฅใƒผใ‚ทใƒงใƒณใฎใ‚นใƒˆใƒชใƒผใƒ ใฏใ“ใกใ‚‰ใง่ฆ–่ดใงใ ใพใ™)ใ€‚ 12 ๆœˆใฏๆฏŽๆ—ฅใ€ๅฐใ•ใชๅ•้กŒใŒๆŠ•็จฟใ•ใ‚Œใ€ใใ‚Œใ‚’่งฃๆฑบใ™ใ‚‹ใƒ—ใƒญใ‚ฐใƒฉใƒ ใ‚’ไฝœๆˆใ™ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚Šใพใ™ใ€‚้€šๅธธใ€ๆ•ฐๅˆ†ใ‹ใ‚‰ๆ•ฐๆ™‚้–“ใ‹ใ‹ใ‚Šใ€้žๅธธใซๆฅฝใ—ใ„ใฎใงใ€่ฉฆใ—ใฆใฟใ‚‹ใ“ใจใ‚’ใŠๅ‹งใ‚ใ—ใพใ™ใ€‚ใ‚ฟใ‚นใ‚ฏใŒๅฎŒไบ†ใ™ใ‚‹ใจใ€12 ๆœˆใ ใ‘ใงใชใใ„ใคใงใ‚‚ๅˆฉ็”จใงใใพใ™ใ€‚



่งฃๆฑบ็ญ–ใซใฏ 2 ็จฎ้กžใ‚ใ‚‹ใ“ใจใซๆฐ—ไป˜ใใพใ—ใŸใ€‚ๆ•ฐใƒŸใƒช็ง’ใง็ญ”ใˆใ‚’่จˆ็ฎ—ใงใใ‚‹ใ‚‚ใฎใจใ€็ญ”ใˆใŒๆ•ฐๅนดใ‹ใ‹ใ‚‹ใ‚‚ใฎใงใ™ใ€‚ 2 ็•ช็›ฎใฎใ‚ชใƒ—ใ‚ทใƒงใƒณใ‚’้ธๆŠžใ—ใŸๅ ดๅˆใฏใ€ไฝ•ใ‹้–“้•ใฃใŸใ“ใจใ‚’ใ—ใฆใ„ใพใ™ใ€‚ๆŠ€่ก“็š„ใซใฏใใ‚Œใ‚‚ๆญฃใ—ใ„ใ‹ใ‚‚ใ—ใ‚Œใพใ›ใ‚“ใŒใ€ๅพ…ใฃใฆใ„ใฆใ‚‚ๆ„ๅ‘ณใŒใ‚ใ‚Šใพใ›ใ‚“ใ€‚



ใ‚‚ใ† 1 ใคใฎ่ˆˆๅ‘ณๆทฑใ„่ฆณๅฏŸ็ตๆžœใฏใ€่ตทๅ‹•ใซไฝฟ็”จใ™ใ‚‹ใƒใƒผใƒ‰ใ‚ฆใ‚งใ‚ขใฏๅ•้กŒใงใฏใชใ„ใจใ„ใ†ใ“ใจใงใ™ใ€‚ใ‚ฝใƒชใƒฅใƒผใ‚ทใƒงใƒณใŒ้ซ˜้€Ÿใงใ‚ใ‚Œใฐใ€ใƒฉใƒƒใƒ—ใƒˆใƒƒใƒ—ใจใƒใƒณใƒ—ๅผใฎใƒฏใƒผใ‚ฏใ‚นใƒ†ใƒผใ‚ทใƒงใƒณใฎไธกๆ–นใง้ซ˜้€Ÿใซใชใ‚Šใพใ™ใ€‚ใ‚‚ใกใ‚ใ‚“ใ€2 ๅ€ใ‹ 3 ๅ€้…ใใชใ‚‹ๅฏ่ƒฝๆ€งใŒใ‚ใ‚Šใพใ™ใŒใ€ใใฎๅทฎใฏ 10ms ใจ 30ms ใฎ้–“ใงใ™ใ€‚็ญ”ใˆใฏๅฟ…ใšๅ‡บใพใ™ใฎใงใ€็‰นใซๅ•้กŒใฏใ‚ใ‚Šใพใ›ใ‚“ใ€‚



ไธ€ๆ–นใ€ใ‚ฝใƒชใƒฅใƒผใ‚ทใƒงใƒณใŒ้…ใ„ๅ ดๅˆใ€ๅ‡ฆ็†่ƒฝๅŠ›ใฏใ„ใใ‚‰ใงใ‚‚ไฝฟ็”จใงใใพใ™ใŒใ€ใใ‚Œใงใ‚‚ๅๅˆ†ใงใฏใ‚ใ‚Šใพใ›ใ‚“ใ€‚ใ“ใ‚Œใซใ‚ˆใ‚Šใ€ใƒฉใƒณใ‚ฟใ‚คใƒ ใ‚’ (ใƒฉใƒƒใƒ—ใƒˆใƒƒใƒ—ใง) 3 ๅนดใ‹ใ‚‰ (็งใŒๆง‹็ฏ‰ใงใใ‚‹ๆœ€ใ‚‚ๅผทๅŠ›ใชใ‚ณใƒณใƒ”ใƒฅใƒผใ‚ฟใƒผใง) 1 ๅนดใซ็Ÿญ็ธฎใงใใพใ™ใ€‚้•ใ„ใฏไฝ•ใงใ™ใ‹๏ผŸใจใซใ‹ใ้•ทใ™ใŽใ‚‹ใ€‚



ใใ‚Œใงใฏใ‚ฝใƒ•ใƒˆใ‚ฆใ‚งใ‚ขใซ็งปใ‚Šใพใ—ใ‚‡ใ†ใ€‚้ซ˜้€Ÿใชใ‚ฝใƒชใƒฅใƒผใ‚ทใƒงใƒณใŒๅฟ…่ฆใงใ‚ใ‚‹ใ“ใจใŒใ‚ใ‹ใฃใฆใ„ใ‚‹ใŸใ‚ใ€ใ‚ณใƒผใƒ‰ใฎใ‚ขใƒ‰ใƒ™ใƒณใƒˆ ใ‚ฝใƒชใƒฅใƒผใ‚ทใƒงใƒณใŒ้…ใ„ใจใ€ใ‚ณใƒผใƒ‰ใฎใ‚ขใƒ‰ใƒ™ใƒณใƒˆ ใ‚ฝใƒชใƒฅใƒผใ‚ทใƒงใƒณใ‚’่ชคใฃใฆๅ‘ผใณๅ‡บใ™ใฎใฏ็ฐกๅ˜ใงใ™ใ€‚ๅฎŸ้š›ใฎๅ•้กŒใซใคใ„ใฆใฏใ€่ชฐใ‚‚ไฟ่จผใ—ใพใ›ใ‚“ใ€‚



ไธ€้ƒจใฎๅ ดๅˆใ‚’้™คใใพใ™ใ€‚



ๅฎŸ้š›ใ€ใ‹ใชใ‚Š้ ป็นใซใ€‚



ๅฎŸ้š›ใ€็งใฏใปใจใ‚“ใฉใ„ใคใ‚‚่จ€ใฃใฆใ„ใพใ™ใ€‚



ใฉใ‚Œใฉใ‚Œใ€‚Datascriptใจใ„ใ†ใƒฉใ‚คใƒ–ใƒฉใƒชใŒใ‚ใ‚Šใพใ™ ใ€‚ใ“ใ‚Œใฏๆฐธ็ถš็š„ใชใƒ‡ใƒผใ‚ฟๆง‹้€ /ใƒ‡ใƒผใ‚ฟใƒ™ใƒผใ‚นใงใ‚ใ‚Šใ€ใŸใพใŸใพใ€JS ใจ JVM ใฎ 2 ใคใฎใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ ใซๅฎŸ่ฃ…ใ•ใ‚Œใฆใ„ใพใ™ใ€‚ใ•ใ‚‰ใซใ€ๅฎŸ้š›ใซใฏ Clojure ใง่จ˜่ฟฐใ•ใ‚ŒใฆใŠใ‚Šใ€ใใฎใ‚ณใƒผใƒ‰ใƒ™ใƒผใ‚นใฎใปใจใ‚“ใฉใฏไธกๆ–นใฎใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ ใงไฝฟ็”จใ•ใ‚Œใฆใ„ใพใ™ใ€‚ใ“ใ‚Œใฏใ€ไธกๆ–นใฎใƒใƒผใ‚ธใƒงใƒณใŒๅธธใซๅŒใ˜ใ“ใจใ‚’่กŒใ†ใ“ใจใŒใ‚ใ‹ใฃใฆใ„ใ‚‹ใ“ใจใ‚’ๆ„ๅ‘ณใ—ใพใ™ใ€‚ใƒ‡ใƒผใ‚ฟๅž‹ใ‚„ๆจ™ๆบ–ใƒฉใ‚คใƒ–ใƒฉใƒชใชใฉใฎใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ ๅ›บๆœ‰ใฎ่ฉณ็ดฐใ‚’ใ‚ซใƒใƒผใ™ใ‚‹ๅฐใ•ใชใƒฌใ‚คใƒคใƒผใŒใ‚ใ‚Šใพใ™ใŒใ€ๆฎ‹ใ‚Šใฏไธ€่ˆฌ็š„ใชใ‚‚ใฎใงใ™ใ€‚ไธ€ๆ–นใฎใƒใƒผใ‚ธใƒงใƒณใŒใ‚ชใƒชใ‚ธใƒŠใƒซใงใ€ใ‚‚ใ†ไธ€ๆ–นใฎใƒใƒผใ‚ธใƒงใƒณใŒ้žๅŠน็އใช็งปๆค็‰ˆใงใ‚ใ‚‹ใจใ„ใ†ใ‚ใ‘ใงใฏใ‚ใ‚Šใพใ›ใ‚“ใ€‚ไบŒไบบใฏๅŒใ˜ใ‚ฒใƒผใƒ ใ‚’ใ™ใ‚‹ใ€‚



ใ‚ใชใŸใฏใ€ๅฝผใ‚‰ใŒๅŒใ˜ใ‚ˆใ†ใซๆŒฏใ‚‹่ˆžใ†ใชใ‚‰ใ€ๅฝผใ‚‰ใฎใƒ‘ใƒ•ใ‚ฉใƒผใƒžใƒณใ‚นใฏๅŒใ˜ใงใ‚ใ‚‹ในใใ ใจ่€ƒใˆใฆใ„ใ‚‹ใ‹ใ‚‚ใ—ใ‚Œใพใ›ใ‚“ใญ? ใใ†่€ƒใˆใ‚‹ใฎใฏๅˆ็†็š„ใ ใ‚ใ†ใ€‚



ใ‚ณใƒผใƒ‰ใƒ™ใƒผใ‚นใ‚’ใ‚ณใƒณใƒ‘ใ‚คใƒซใ—ใ€็ตฑๅˆใƒ†ใ‚นใƒˆใฎๅฎŒๅ…จใชใ‚นใ‚คใƒผใƒˆใ‚’ๅฎŸ่กŒใ™ใ‚‹ใฎใซใ‹ใ‹ใ‚‹ๅฎŸ้š›ใฎๆ™‚้–“ใ‚’่ฆ‹ใฆใฟใพใ—ใ‚‡ใ†ใ€‚9000 LOC ใ‚’ใ‚ใšใ‹ใซ่ถ…ใˆใ‚‹ใ‚ณใƒผใƒ‰ใƒ™ใƒผใ‚นใซใคใ„ใฆ่ฉฑใ—ใฆใ„ใ‚‹ใฎใงใ™ใŒใ€ใใฎใ†ใก 4000 ใฏใƒ†ใ‚นใƒˆใงใ™:



JVM ไธŠใฎ Clojure 1.10:



  • REPL ่ตทๅ‹•ๆ™‚้–“: 1.5 ็ง’
  • ใ‚ณใƒณใƒ‘ใ‚คใƒซๆ™‚้–“๏ผš6.5็ง’
  • ใƒ†ใ‚นใƒˆๆ™‚้–“: 0.45 ็ง’


้ซ˜ๅบฆใชใ‚ณใƒณใƒ‘ใ‚คใƒซใ‚’ๅ‚™ใˆใŸ ClojureScript 1.10.439:



  • ใ‚ณใƒณใƒ‘ใ‚คใƒซๆ™‚้–“: 78 ็ง’
  • ใƒ†ใ‚นใƒˆๆ™‚้–“: 1 ็ง’


Google Closure ใ‚ณใƒณใƒ‘ใ‚คใƒซใชใ—ใฎ ClojureScript 1.10.439:



  • ใ‚ณใƒณใƒ‘ใ‚คใƒซๆ™‚้–“: 24 ็ง’
  • ใƒ†ใ‚นใƒˆๆ™‚้–“: 1.3 ็ง’


ใงใฏใ€ใ“ใ‚Œใ‚‰ใฎๆ•ฐๅญ—ใฏ็งใŸใกใซไฝ•ใ‚’ๆ•™ใˆใฆใใ‚Œใ‚‹ใฎใงใ—ใ‚‡ใ†ใ‹?ๅŸบๆœฌ็š„ใซใ€ๅŒใ˜ใ‚ณใƒผใƒ‰ใ‚’ๅ‡ฆ็†ใ™ใ‚‹ใฎใซ 8 ็ง’ใ€24 ็ง’ใ€ใพใŸใฏ 78 ็ง’ใ‹ใ‹ใ‚Šใพใ™ใ€‚้ธๆŠžใฏใ‚ใชใŸๆฌก็ฌฌใงใ™ใ€‚ใพใŸใ€ๅŒใ˜ใƒ—ใƒญใ‚ฐใƒฉใƒ ใ‚’ๅฎŸ่กŒใ™ใ‚‹ใจใ€0.5 ็ง’ใ€1 ็ง’ใ€ใพใŸใฏใปใผ 1 ็ง’ๅŠใง็ตๆžœใŒๅพ—ใ‚‰ใ‚Œใพใ™ใ€‚



ใ€Œใงใ‚‚ๅพ…ใฃใฆใใ ใ•ใ„ใ€ใƒˆใƒณใ‚นใ‚ญใƒผใ€ใใ‚Œใ‚‰ใฏๆฏ”่ผƒใงใใพใ›ใ‚“๏ผใ“ใฎ2ใคใฏๅคงใใช้•ใ„ใงใ™๏ผใใ‚Œใ‚‰ใฏๅฎŒๅ…จใซ็•ฐใชใ‚‹ใ“ใจใ‚’ใ™ใ‚‹ใ‚ˆใ†ใซ่จญ่จˆใ•ใ‚Œใฆใ„ใพใ™!ใใฎใ†ใกใฎ1ใคใฏใƒ–ใƒฉใ‚ฆใ‚ถใงๅ‹•ไฝœใ—ใพใ™!ใ€



ใ‚‚ใกใ‚ใ‚“็ตๆžœใ‚‚ๅ‡บใ›ใพใ™ใ€‚็งใŸใกใฏๅŒใ˜ใ‚ณใƒผใƒ‰ใ‚’ใ‚ณใƒณใƒ‘ใ‚คใƒซใ—ใ€ๅŒใ˜ใ“ใจใ‚’ใ™ใ‚‹ใ‚ˆใ†ใซๆง‹็ฏ‰ใ•ใ‚Œใ€ๅŒใ˜ใ‚ขใƒซใ‚ดใƒชใ‚บใƒ ใ‚’ไฝฟ็”จใ—ใฆๅŒใ˜ใƒใƒผใƒ‰ใ‚ฆใ‚งใ‚ขใงๅฎŸ่กŒใ—ใฆใ„ใ‚‹ใ“ใจใ‚’ๆ€ใ„ๅ‡บใ—ใฆใใ ใ•ใ„ใ€‚ๆœ€็ต‚็ตๆžœใฏใฉใกใ‚‰ใฎๅ ดๅˆใ‚‚ๅŒใ˜ใงใ™ใ€‚ใ‚ฏใ‚จใƒชใซๅฏพใ™ใ‚‹ๅฟœ็ญ”ใฏใ€ใƒ‡ใƒผใ‚ฟ ใƒญใ‚ฐใซ็Ÿญๆ™‚้–“ใพใŸใฏ้•ทๆœŸ้–“ใซใ‚ใŸใฃใฆ่ฟ”ใ•ใ‚Œใพใ™ใ€‚ใ‚ณใƒณใƒ‘ใ‚คใƒฉใ‚’ๅพ…ใคใฎใซๅŠๆ—ฅใ‚’่ฒปใ‚„ใ™ใ‹ใ€REPL ใ‚’ใƒ—ใƒฌใ‚คใ—ใฆไฝ•ใ‹ใ‚’ๆง‹็ฏ‰ใ™ใ‚‹ใฎใซ่ฒปใ‚„ใ—ใพใ™ใ€‚



ClojureScript / Google Closure ใ‚ณใƒณใƒ‘ใ‚คใƒฉใฏ้•ทใ„้–“ไฝ•ใ‚’ใ—ใฆใใพใ—ใŸใ‹?ๅฝผใ‚‰ใฏใ‚ใชใŸใฎๆ™‚้–“ใ‚’็„ก้ง„ใซใ—ใฆใ„ใพใ™ใ€‚ใ‚‚ใกใ‚ใ‚“ใ€่ชฐใ‚‚่ฒฌไปปใฏใ‚ใ‚Šใพใ›ใ‚“ใŒใ€ๆœ€็ต‚็š„ใซใฏๆฑบๅฎšๅ…จไฝ“ใŒ้–“้•ใฃใฆใ„ใพใ™ใ€‚ๅŒใ˜ใ“ใจใ‚’ใ‚‚ใฃใจๆ—ฉใใงใใ‚‹ใ—ใ€่จผๆ‹ ใ‚‚ใ‚ใ‚‹ใ—ใ€ใใ†ใ™ใ‚‹ๆ‰‹ๆฎตใ‚‚ใ‚ใ‚‹ใ‘ใฉใ€ใŸใพใŸใพใใ†ใ˜ใ‚ƒใชใ„ใ‚“ใ ใ‚ˆใ€‚ใ—ใ‹ใ—ใ€็งใŸใกใฏใงใใพใ—ใŸใ€‚ใ‚ใชใŸใŒใ—ใŸใ„ๅ ดๅˆใ€‚ใ‚ใชใŸใŒๆ”ฏๆ‰•ใ†ใ“ใฎ่Žซๅคงใชใ‚ชใƒผใƒใƒผใƒ˜ใƒƒใƒ‰ใฏใ€็„ก้ง„ใซๆ‰•ใฃใฆใ„ใพใ™ใ€‚ JS ใ‹ใ‚‰ๅพ—ใ‚‰ใ‚Œใ‚‹ใ‚‚ใฎใฏใ€ใƒฉใƒณใ‚ฟใ‚คใƒ ใจๅคฉๆ–‡ๅญฆ็š„ใชใƒ“ใƒซใƒ‰ๆ™‚้–“ใ‚’ 2 ๅ€ใซใ™ใ‚‹ใ“ใจไปฅๅค–ใซใ‚ใ‚Šใพใ›ใ‚“ใ€‚



ใƒ“ใƒซใƒ‰ๆ™‚้–“ใŒ้žๅธธใซ้•ทใ„ใ™ในใฆใฎ่จ€่ชžใซๅŒใ˜ใ“ใจใŒๅฝ“ใฆใฏใพใ‚Šใพใ™ใ€‚ๅฝผใ‚‰ใŒใ‚ˆใ‚Š้€Ÿใใงใใชใ‹ใฃใŸใจใ„ใ†ใ‚ใ‘ใงใฏใ‚ใ‚Šใพใ›ใ‚“ใ€‚ๅฝผใ‚‰ใฏใ—ใชใ„ใ“ใจใ‚’้ธๆŠžใ™ใ‚‹ใ ใ‘ใงใ™ใ€‚ C ++ ใพใŸใฏ Rust ใƒ—ใƒญใ‚ฐใƒฉใƒ ใฏใ‚ณใƒณใƒ‘ใ‚คใƒซใซๆ™‚้–“ใŒใ‹ใ‹ใ‚Šใ™ใŽใพใ™ใ‹?ใใ†ใงใ™ใญใ€OCaml ใฏใŠใใ‚‰ใๅŒ็ญ‰ใฎใƒ—ใƒญใ‚ฐใƒฉใƒ ใ‚’ 1 ็ง’ใ‚‚ใ‹ใ‹ใ‚‰ใšใซใ‚ณใƒณใƒ‘ใ‚คใƒซใงใใพใ™ใ€‚ใใ—ใฆใ€ใใ‚Œใฏใพใ ่ปŠใฎใƒฌใƒ™ใƒซใง้€Ÿใ„ใงใ—ใ‚‡ใ†ใ€‚



ใ€Œใ†ใ‚ใ€ใ†ใ‚ใ€ใ‚†ใฃใใ‚Š๏ผใ“ใ‚Œใฏใ•ใ‚‰ใซไธๅ…ฌๅนณใงใ™๏ผใ“ใ‚Œใฏ 2 ใคใฎๅคงใใช้•ใ„ใงใฏใชใใ€ๆญฏใƒ–ใƒฉใ‚ทใจๅฎ‡ๅฎ™่ˆนใฎใ‚ˆใ†ใชใ‚‚ใฎใงใ™ใ€‚ๅ„่จ€่ชžใŒๆไพ›ใ™ใ‚‹ใ‚‚ใฎใ‚’ๅฎŒๅ…จใซ็„ก่ฆ–ใ—ใพใ™ใ€‚ๅฝผใ‚‰ใŒใ‚ณใƒณใƒ‘ใ‚คใƒซใซๅคšใใฎๆ™‚้–“ใ‚’่ฒปใ‚„ใ™ใฎใซใฏ็†็”ฑใŒใ‚ใ‚Šใพใ™ใญ?ใ€



็Ÿฅใฃใฆใ„ใ‚‹ใ€‚ใงใ‚‚ใ€ใใ‚Œใงใ‚‚ๆฏ”่ผƒใงใใ‚‹ใจๆ€ใ„ใพใ™ใ€‚็ตๅฑ€ใฎใจใ“ใ‚ใ€ใใ‚Œใ‚‰ใฏใ™ในใฆๆฑŽ็”จ่จ€่ชžใงใ‚ใ‚Šใ€ๆœ€็ต‚็š„ใซ้‡่ฆใชใฎใฏใ€ๆ‰‹ๅ…ƒใซๅฎŸ็”จ็š„ใชใƒ—ใƒญใ‚ฐใƒฉใƒ ใŒใ‚ใ‚Šใ€ๅฆฅๅฝ“ใชๆ™‚้–“ๆž ๅ†…ใซ็ญ”ใˆใ‚’ๆไพ›ใงใใ‚‹ใ‹ใฉใ†ใ‹ใงใ™ใ€‚้–‹็™บ่€…ใŒใฉใฎใ‚ˆใ†ใซใใ“ใซๅˆฐ้”ใ—ใŸใ‹ใฏ้‡่ฆใงใฏใ‚ใ‚Šใพใ›ใ‚“ใ€‚ใจๆ€ใ†ใจ่ฝใก็€ใใ‘ใฉใ€่ชฐใ‚‚ใใ‚“ใชใ“ใจๆฐ—ใซใ—ใชใ„ใ€‚



ๆƒณๅƒใ—ใฆใฟใฆใใ ใ•ใ„: ้ฃ›่กŒๆฉŸใŒใƒขใ‚นใ‚ฏใƒฏใ‹ใ‚‰ใ‚ทใƒ™ใƒชใ‚ขใฎไธญๅฟƒใ€ใƒŽใƒœใ‚ทใƒ“ใƒซใ‚นใ‚ฏใพใง้ฃ›่กŒใ—ใ€4 ๆ™‚้–“ใง 2,800 ใ‚ญใƒญใ‚’ใ‚ซใƒใƒผใ—ใพใ™ใ€‚ 3ๆ—ฅ้–“ใงๅŒใ˜่ท้›ขใ‚’่ตฐใ‚‹้›ป่ปŠใ‚‚ใ‚ใ‚Šใพใ™ใ€‚้›ป่ปŠใซใฏใ‚ทใƒฃใƒฏใƒผใŒใชใใ€้ฃŸใน็‰ฉใŒๆ‚ชใใ€ๅฏใ‚Œใชใ„ใƒ™ใƒƒใƒ‰ใŒใ‚ใ‚Šใพใ™ใ€‚ใใ—ใฆ้ฃ›่กŒๆฉŸใฏๅฟซ้ฉใช็พไปฃใฎ้ฃ›่กŒๆฉŸใงใ™ใ€‚ใ‚ใชใŸใชใ‚‰ใฉใกใ‚‰ใ‚’้ธใณใพใ™ใ‹๏ผŸๅŒใ˜ไพกๆ ผใ€‚ๅ”ฏไธ€ใฎ้•ใ„ใฏใ€ๅฟซ้ฉใ•ใจๆ™‚้–“ใงใ™ใ€‚



็”ปๅƒ



ใ“ใ‚Œใ‚’ใ‚ฝใƒ•ใƒˆใ‚ฆใ‚งใ‚ข้–‹็™บใฎๆฏ”ๅ–ฉใจใ—ใฆๆ‰ใˆใ‚‹ใจใ€ใƒ—ใƒญใ‚ฐใƒฉใƒžใƒผใŒๅ–œใ‚“ใง้›ป่ปŠใซไน—ใฃใฆใ„ใ‚‹ใ“ใจใซ้ฉšใใงใ—ใ‚‡ใ†ใ€‚ๅฝผใ‚‰ใฏใ€ๅˆ—่ปŠใ‚’้ธๆŠžใ™ใ‚‹ใฎใซใฏๅ่ซ–ใฎไฝ™ๅœฐใฎใชใ„็†็”ฑใŒใ‚ใ‚‹ใจใ€ๅฃฐใŒใ‹ใ™ใ‚Œใ‚‹ใปใฉใพใงไธปๅผตใ—ใพใ™ใ€‚ใ„ใ„ใˆใ€ใ‚ณใƒณใƒ‘ใ‚คใƒฉใŒใ€Œไฝœๆฅญใ€ใ™ใ‚‹ใฎใซๆ™‚้–“ใŒใ‹ใ‹ใฃใฆใ‚‚ๆฐ—ใซใ—ใพใ›ใ‚“ใ€‚ใŸใ ใ—ใ€ๅŒใ˜็›ฎ็š„ๅœฐใซๅˆฐ้”ใ™ใ‚‹ใŸใ‚ใฎใ‚ˆใ‚Š้€Ÿใ„ๆ–นๆณ•ใŒใ‚ใ‚Šใพใ™ใ€‚่ฉณ็ดฐใซใคใ„ใฆ่ญฐ่ซ–ใ™ใ‚‹ใจใใฏๆททไนฑใ—ใŒใกใงใ™ใŒใ€่ฆšใˆใฆใŠใ„ใฆใใ ใ•ใ„ ใ€‚่ฉฑใ™่จ€่ชžใซ้–ขไฟ‚ใชใใ€็งใŸใกใฏใฟใชๅŒใ˜ๅ ดๆ‰€ใซ่กŒใ็€ใใฎใงใ™ใ€‚



ใƒ–ใƒฉใ‚ฆใ‚ถ?ๅŒใ˜่ฉฑใ€‚ HTML ใฏใ€็”ป้ขไธŠใซใƒ”ใ‚ฏใ‚ปใƒซใ‚’้…็ฝฎใ™ใ‚‹ๆ–นๆณ•ใจใ—ใฆใฏใ‹ใชใ‚Š้žๅŠน็އ็š„ใงใ™ใ€‚ 1 ใคใฎใƒ•ใƒฌใƒผใƒ ใซไฝ•็™พไธ‡ใ‚‚ใฎใƒใƒชใ‚ดใƒณใ‚’่กจ็คบใงใใ‚‹ใ‚ณใƒณใƒ”ใƒฅใƒผใ‚ฟใƒผใงใฏใ€Web ใƒšใƒผใ‚ธใฎ่ชญใฟ่พผใฟใซๆ™‚้–“ใŒใ‹ใ‹ใ‚‹ใ“ใจใŒใ‚ใ‚Šใพใ™ใ€‚ Advent of Code ใ‚ฝใƒชใƒฅใƒผใ‚ทใƒงใƒณใจๅŒๆง˜ใ€ใ“ใ‚Œใฏใ‚ณใƒณใƒ”ใƒฅใƒผใ‚ฟใฎ่ƒฝๅŠ›ใซไพๅญ˜ใ—ใพใ›ใ‚“ใ€‚ใพใŸใ€Canvas ใจ WebAssembly ( Figma ) ใซๅŸบใฅใ„ใฆ้ซ˜ๅบฆใซๆœ€้ฉๅŒ–ใ•ใ‚ŒใŸ Web ใ‚ณใƒผใƒ‰ใงใ•ใˆ ใ€่‡ชๅˆ†ใฎ Sketch ใ‚’่ตทๅ‹•ใ™ใ‚‹ใจใใซ Macbook ใƒ•ใ‚กใƒณใ‚’ๅฎŒๅ…จใซ้™ใ‹ใซๅ›ž่ปขใ•ใ›ใพใ™ใ€‚



็”ปๅƒ



- * ่กจ็ด™ใ‚’ใƒ‘ใƒƒใƒˆ * ใ“ใฎ PC ใฏใ€Crysis 3 ใ‚’ 4K ใง 144fps ใงๅฎŸ่กŒใงใใพใ™ใ€‚

-ใ—ใ‹ใ—ใ€ใใ‚ŒใฏAtomใ‚’ๅฎŸ่กŒใงใใพใ™ใ‹?




ใ“ใฎ้–“้•ใฃใŸๆฑบๅฎšใŒใฉใ“ใพใง้€ฒใ‚€ใ‹ใซใฏใ€ๅ˜ใซ้™็•ŒใŒใ‚ใ‚Šใพใ™ใ€‚ Electron ใฎใƒ†ใ‚ญใ‚นใƒˆ ใ‚จใƒ‡ใ‚ฃใ‚ฟใƒผใฏใ€ใ‚ซใƒผใ‚ฝใƒซใ‚’็งปๅ‹•ใ™ใ‚‹ใ ใ‘ใงใ‚ฆใ‚ฃใƒณใƒ‰ใ‚ฆใฎใ‚ตใ‚คใ‚บใ‚’ใƒชใ‚ขใƒซใ‚ฟใ‚คใƒ ใซๅค‰ๆ›ดใ—ใŸใ‚Šใ€ใƒ•ใƒฌใƒผใƒ ใ‚’็ธฎๅฐใ—ใŸใ‚Šใ™ใ‚‹ใ“ใจใฏใงใใพใ›ใ‚“ใ€‚ iMac Pro ใฎ Slack ใฏใ€12 ใ‚คใƒณใƒใฎ Macbook ใจๅŒใ˜ใใ‚‰ใ„้…ใใ€ใƒกใƒขใƒชใ‚’ๅคง้‡ใซๆถˆ่ฒปใ—ใพใ™ใ€‚



ใ€ŒWeb ใ‚นใ‚ฟใƒƒใ‚ฏใ€ใจใ„ใ†ๆฑบๅฎšๅ…จไฝ“ใฏใ€ไธ€่ˆฌ็š„ใซ ้–“้•ใฃใฆใ„ใพใ™ใ€‚ๅŒใ˜ใ“ใจใ‚’ใ‚ˆใ‚Š้€Ÿใใ€ใ‚ˆใ‚ŠๅŠน็އ็š„ใซ่กŒใ†ใ“ใจใŒใงใใพใ™ - ้žๅธธใซๅคšใใฎ็„ก้ง„ใชๅฏ่ƒฝๆ€งใŒใ‚ใ‚Šใพใ™ใ€‚ใใ‚Œใ‚’่ชใ‚ใฆใ‚„ใ‚Š็›ดใ™ๆ™‚ใŒใใพใ—ใŸใ€‚ๆœ€ใ‚‚ๅผฑใ„ใƒใƒƒใƒˆใƒ–ใƒƒใ‚ฏใงใ‚‚็ฐกๅ˜ใซๅˆฉ็”จใงใใ‚‹้ซ˜้€Ÿใฎใƒ†ใ‚ญใ‚นใƒˆ ใ‚จใƒ‡ใ‚ฃใ‚ฟใƒผใจ้€šไฟกใƒ—ใƒญใ‚ฐใƒฉใƒ ใŒใ‚ใ‚Šใพใ™ใ€‚



ใฉใ‚“ใฉใ‚“่กŒใ‘ใพใ™ใ€‚ใ“ใ‚Œใ‚’ๅฟต้ ญใซ็ฝฎใ„ใฆใใ ใ•ใ„ใ€‚ใใ“ใ‹ใ‚‰ไฝ•ใ‚’ๅพ—ใ‚‹ใ‹ใ‚’่€ƒใˆใฆใใ ใ•ใ„ใ€‚ๅ•้กŒใจใใ‚Œใซ่ฒปใ‚„ใ•ใ‚ŒใŸใƒชใ‚ฝใƒผใ‚นใฏๅŒ็ญ‰ใงใ™ใ‹? ็‰ฉไบ‹ใŒใใฎใ‚ˆใ†ใซใชใฃใฆใ„ใ‚‹็†็”ฑใ‚’่จ€ใ„่จณใ™ใ‚‹ใฎใฏ็ฐกๅ˜ใงใ™ใ€‚ใใ‚Œใ‚‰ใฏใ™ในใฆใŠใใ‚‰ใๆœ‰ๅŠนใงใ™ใŒใ€ใ“ใ‚Œใ‚‰ใฏ่จ€ใ„่จณใงใ™ใ€‚ใ‚ˆใ‚Š้ซ˜้€Ÿใชใƒ—ใƒญใ‚ฐใƒฉใƒ ใŒๅฏ่ƒฝใงใ‚ใ‚Šใ€ใใ‚Œใซใ‚ˆใฃใฆไป–ใฎใ™ในใฆใŒใ†ใพใใ„ใ‹ใชใใชใ‚‹ใ“ใจใฏใ‚ใ‹ใฃใฆใ„ใพใ™ใ€‚



All Articles