Slide 1

Slide 1 text

ۙگใࠂͳͲ ؼলͨ͠ͷͰൃද͠·͢ EBJ/BHPZB+4WPM Saturday, November 3, 12

Slide 2

Slide 2 text

!BIPNV ϚʔΫΞοϓΤϯδχΞ גࣜձࣾαΠόʔΤʔδΣϯτ ॴଐ͸௕͗ͯ͢Α͘Θ͔Βͳ͍ ৄ͘͠͸IUUQBIPNV Saturday, November 3, 12

Slide 3

Slide 3 text

એ఻ͱ͍͏͔͓༠͍ #BDLCPOFKT"EWFOU$BMFOEBS IUUQXXXBEWFOUBSPSH DBMFOEBST ۭ͖·͘ΓͳͷͰμϨ͔ʂʂʂ Saturday, November 3, 12

Slide 4

Slide 4 text

ࠓ೔͸ ౦ژʹస৬ˍҾͬӽͯ͠ϲ݄ ࣗ෼ͷৼΓฦΓ͔Ͷ͓ͯ࣌ؒΛഈआ ͶΉ͘ͳͬͨΒεϛϚηϯ Saturday, November 3, 12

Slide 5

Slide 5 text

ਃ͠༁ OFX ܕ͸ͳ͍Ͱ͢ Ϟϩʹ8FCܥͰ͢ ੜʑ͘͠+BWB4DSJQUॻ͘Α ͔͠͠۩ମతͳ࣮૷࿩͸ͳ͍ʂ Saturday, November 3, 12

Slide 6

Slide 6 text

Θͨ͘͠͝ͱ Saturday, November 3, 12

Slide 7

Slide 7 text

+PCT ϓϩδΣΫτͷϑϩϯτ։ൃ ηϛφʔͷ४උ ࣾ಺ษڧձͷ։࠵ͱ͔෍ڭ׆ಈ ࣾ಺πʔϧͷࡐྉूΊ FUD Saturday, November 3, 12

Slide 8

Slide 8 text

͍·࡞ͬͯΔ΋ͷ ίϛϡχςΟαʔϏε γϯάϧϖʔδΞϓϦ #BDLCPOFͱ".%Ͱɺ.71ͳײ͡ αʔόαΠυͷ"1*ઃܭ͝ʹΐΓ 1IPOF(BQӽ͠8FC7JFX΋ Saturday, November 3, 12

Slide 9

Slide 9 text

*OUFSFTU ϑϩϯτ༻ͷࣗಈԽ +4FSͷੜ࢈ํ๏ ڭҭ Ϟδϡϥʔͳ+BWB4DSJQU ґଘ؅ཧ 3FRVJSFKT 4OPDLFUT ςετ΍Β-JOU΍Β඼࣭؅ཧ Saturday, November 3, 12

Slide 10

Slide 10 text

ϥΠϒϥϦͱ͔ πʔϧ޷͖͔ͩΒ঺հ Saturday, November 3, 12

Slide 11

Slide 11 text

FH #BDLCPOFMPEBTI 3FRVJSFKT ;FQUP OFFENBLFCFPXO (SVOU MPDBMEFWFMPQNFOU +BTNJOF4JOPO XJUI5FTUFN 1IBOUPNKT Saturday, November 3, 12

Slide 12

Slide 12 text

;FQUP ϑΝΠϧαΠζ͕খ͍͞ͷ͸ਖ਼ٛʂ K2VFSZޓ׵ͳ%0.CBTFE-JC Ϗϧυඞཁ pMUFSͱ͔GBEF*Oͱ͔ BKBYͷ໭Γ͸%FGFSSFEͰͳ͍ Ұ෦஗͍ϝιου͸GPSLͯ͠վ଄ࡁ Saturday, November 3, 12

Slide 13

Slide 13 text

#BDLCPOFKT 7JFX͕௒ଠΔ ʅɹɾɹТɹɾɹA 3PVUFS7JFX.PEFMͷओै VOEFSTDPSFґଘ͸MPEBTIͰஔ׵ ந৅Խͨ͠ϥούΛ࡞੒༧ఆ IUUQTHJUIVCDPNNBSJPOFUUFKTCBDLCPOFNBSJPOFUUF IUUQTHJUIVCDPNDIBQMJOKTDIBQMJO Saturday, November 3, 12

Slide 14

Slide 14 text

3FRVJSFKT ".% "TZODISPOPVT.PEVMF%FpOJUJPO Ϟδϡʔϧ୯ҐͰॻ͘ͷʹΑΖ͍͠ ίʔϧελοΫ͕ͭΒ͍ 1SPEVDUJPO͸BMNPOEͰݻΊΔ SFRVJSFKT͔Β"KBYྨΛൈ͍ͨ΍ͭ ܰྔ Saturday, November 3, 12

Slide 15

Slide 15 text

+BTNJOF ͳΜ͔ͩΜͩͰৗ༻ϙδγϣϯ KBTNJOFBTZOD KBTNJOFKRVFSZ %0..BUDIFS 4JOPO 4UVC .PDL ৭ʑ଍ͯ͠UFTUFNͰճͯ͠Δ Saturday, November 3, 12

Slide 16

Slide 16 text

(SVOU +4Ͱಈ͘ϙʔλϒϧͳϏϧυπʔϧ ࣗಈϏϧυྨͷҰݩԽ͘Μ -PDBM4FSWFSͱ-JWF3FMPBEͱ͔ OPEFͰλεΫॻ͚Δ͔ΒϥΫ ࣾ಺Ͱ෍ڭதʢΘΓͱॱௐʣ Saturday, November 3, 12

Slide 17

Slide 17 text

1IBOUPNKT ओʹϔουϨεςετ༻ )"3 )551"SDIJWF औͬͯZTMPX ͰධՁɺͱ͔ଞͷ༻్΋ߟ͑த εΫϦʔϯΩϟϓνϟͱ͔΋ KTEPNͱ͔[PNCJFKT΋͋ΔͶ Saturday, November 3, 12

Slide 18

Slide 18 text

όϥϯεײ ͭͷ࣠ΛόϥϯεΑ͘ ͋ͨΒ͍ٕ͠ज़΍ख๏ΛֶͿ طଘͷރΕͨπʔϧΛ׆͔͢ ࣾ಺ͰγΣΞ͠ͳ͍ͱҙຯ͕ͳ͍ 3%ͷίετ͸ߴͭ͘͘ Saturday, November 3, 12

Slide 19

Slide 19 text

͜͜ͰऴΘΔͱ ͋Μ·ΓͳͷͰBMU+4 Saturday, November 3, 12

Slide 20

Slide 20 text

ߦ͖ͷόεͰௐ΂ͨ ษڧձυϦϰϯͳௐ΂෺ Saturday, November 3, 12

Slide 21

Slide 21 text

-JWF4DSJQU IUUQMJWFTDSJQUOFU Saturday, November 3, 12

Slide 22

Slide 22 text

0WFSWJFX $PGGFF]$PDP]-JWF4DSJQU "EETNBOZGFBUVSFTUPBTTJTUJO GVODUJPOBMTUZMFQSPHSBNNJOH )BTNBOZJNQSPWFNFOUTGPS PCKFDUPSJFOUFEBOEJNQFSBUJWF QSPHSBNNJOH Saturday, November 3, 12

Slide 23

Slide 23 text

4UBOEBSE-JCSBSZ QSFMVEFMT IUUQHL[HJUIVCDPNQSFMVEFMT CBTFEJOQBSUPGGPGQSFMVEFIT BVUPNBUJDBMMZJNQPSU VTFEPSQSFMVEFPQUJPO QSFMVEFCSPXTFSNJOKT GPSCSPXTFS Saturday, November 3, 12

Slide 24

Slide 24 text

5FYU&EJUPS4VQQPSU WJNMT WJN MJWFTDSJQUNPEF FNBDT -JWF4DSJQUUNCVOEMF FUD GPS5FYU.BUF $IPDPMBU BOE4VCMJNF5FYU 8JMMCF4PVSDF.BQ Saturday, November 3, 12

Slide 25

Slide 25 text

(FUUJOH4UBSUFE Saturday, November 3, 12

Slide 26

Slide 26 text

Πϯετʔϧ % npm install -g LiveScript Saturday, November 3, 12

Slide 27

Slide 27 text

ର࿩ܕ % lsc --interactive --prelude livescript> [1 2 3] |> map (* 2) |> sum 10 Saturday, November 3, 12

Slide 28

Slide 28 text

ίϯύΠϧ % lsc --prelude --output ./ file.ls # create ./file.js Saturday, November 3, 12

Slide 29

Slide 29 text

4ZOUBY'FBUVSF Saturday, November 3, 12

Slide 30

Slide 30 text

ఆ਺ > const SHOULD = 'BE' 'BE' > SHOULD = 'NOT' SyntaxError: redeclaration of constant "SHOULD" on line 1 Saturday, November 3, 12

Slide 31

Slide 31 text

෦෼ద༻ͱϝϯόΞΫηε > people = [{name: 'hoge'}, {name: 'fuga'}, {name: 'piyo'}] > people |> map (.name) |> filter (in ['hoge', 'fuga']) [ 'hoge', 'fuga' ] Saturday, November 3, 12

Slide 32

Slide 32 text

είʔϓ > a = 123 123 > do -> a = 456 456 > a 123 Saturday, November 3, 12

Slide 33

Slide 33 text

ԋࢉࢠ > unique [1, 1, 0] .length 2 > array = [1, 1, 0] > unique array or not empty array # in coffee # (unique array) or not (empty array) Saturday, November 3, 12

Slide 34

Slide 34 text

಺แදه &4 1UZIPO )BTLFMMϥΠΫ livescript> [a * b for a in [1, 2, 3] for b in [10, 20, 40]] [ 10, 20, 40, 20, 40, 80, 30, 60, 120 ] coffee> (a * b for a in [1, 2, 3] for b in [10, 20, 40]) [ [ 10, 20, 30 ], [ 20, 40, 60 ], [ 40, 80, 120 ] ] Saturday, November 3, 12

Slide 35

Slide 35 text

ύλʔϯϚον # func(n, list) Ͱ list ͷઌ಄͔Β n ݸฦ͢ # list͕ۭͩͬͨΓn͕0ҎԼͰ͋Ε͹ [] Λฦ͢ take (n,[x,...xs]:list) -> | n <= 0 => [] | empty list => [] | otherwise => [x] +++ take n - 1,xs Saturday, November 3, 12

Slide 36

Slide 36 text

ΧϦʔ > times = (x,y) --> x*y [Function] function (){ var params = args ? args.concat() : []; return params.push.apply(params, arguments) < f.length && arguments.length ? curry$.call(this, f, params) : f.apply(this, params); } > times 2,3 6 > double = times 2 > double 5 10 Saturday, November 3, 12

Slide 37

Slide 37 text

ฏ͍ͨBTZOD data <-! $.get 'ajaxtest' $ \.result .html data processed <-! $.get 'ajaxprocess', data $ \.result .append processed $.get('ajaxtest', function(data){ $('.result').html(data); $.get('ajaxprocess', data, function(processed){ $('.result').append(processed); }); }); Saturday, November 3, 12

Slide 38

Slide 38 text

༨ஊ Saturday, November 3, 12

Slide 39

Slide 39 text

+BWB4DSJQUWJBXJLJQFEJB JavaScript͸ωοτεέʔϓίϛϡχέʔγϣϯζ ͷϒϨϯμϯɾΞΠΫʹΑͬͯ։ൃ͞ΕɺNetscape Navigator 2.0Ͱ࣮૷͞Εͨɻ։ൃ౰ॳ͸ LiveScriptͱݺ͹Ε͍͕ͯͨʢதུʣωοτεέʔ ϓͱαϯɾϚΠΫϩγεςϜζ͕ۀ຿ఏܞ͍ͯͨ͠ࣄ ΋͋ͬͨͨΊɺJavaScriptͱ͍͏໊લʹมߋ͞Εͨ Saturday, November 3, 12

Slide 40

Slide 40 text

"SUJDMFT 1BVM.JMMFSņŠ'VODUJPOBMQSPHSBNNJOHJO+BWB4DSJQU FDPTZTUFN IUUQQBVMNJMMSDPNQPTUTGVODUJPOBMQSPHSBNNJOHJOKBWBTDSJQUFDPTZTUFN 'VODUJPOBM1SPHSBNNJOHJO+BWB4DSJQUVTJOH-JWF4DSJQUBOE QSFMVEFMT IUUQHL[HJUIVCDPN-JWF4DSJQUCMPHGVODUJPOBMQSPHSBNNJOHJOKBWBTDSJQUVTJOHMJWFTDSJQUBOE QSFMVEFMTIUNM 3FBTPOTUP4XJUDIGSPN$PGGFF4DSJQUUP-JWF4DSJQU IUUQHL[HJUIVCDPN-JWF4DSJQUCMPHUFOSFBTPOTUPTXJUDIGSPNDPGGFFTDSJQUIUNM 1PXFSGVMK2VFSZXJUI-JWF4DSJQU IUUQMJWFTDSJQUOFUCMPHQPXFSGVMKRVFSZXJUIMJWFTDSJQUIUNM Saturday, November 3, 12

Slide 41

Slide 41 text

͓͠·͍ Saturday, November 3, 12