Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
近況報告とかLiveScript(オマケ)とか
Search
Ayumu Sato
November 03, 2012
Programming
570
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
近況報告とかLiveScript(オマケ)とか
大なごやJS Vol.4 発表資料(ぶん投げた内容で申し訳ない次第)
Ayumu Sato
November 03, 2012
More Decks by Ayumu Sato
See All by Ayumu Sato
なぜ「無責任な横軸」がうまくいかないのか 〜 組織の生産性にインパクトを与える振る舞いを考える
ahomu
18
21k
Web 開発の長距離走と持続可能性 - TechFeed Experts Night#31 〜 フロントエンドアーキテクチャの現状と未来
ahomu
1
310
控えめな App Router と持続可能な開発 - PWA Night vol.59
ahomu
13
3.3k
GPT 生成物の評価、運用 toC 企画でのハードルと勘所
ahomu
0
350
副業をきっかけに 切り拓くキャリア形成
ahomu
1
210
Webフロントエンドと アーキテクチャ事情の持論を喋る
ahomu
2
1.9k
SPA/MPA 議論の俯瞰と 現代における設計のポイント - #tfcon 2022 フロントエンド設計
ahomu
6
3.9k
#TECHPLAY Talk - 理想的な Web のため MUST 駆動で主語が大きくなったキャリア
ahomu
0
390
最近の Web パフォーマンス改善について知っておきたいコト
ahomu
50
20k
Other Decks in Programming
See All in Programming
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
6.7k
Creating Composable Callables in Contemporary C++
rollbear
0
150
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
410
JavaDoc 再入門
nagise
1
370
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
11
4.3k
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.6k
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
150
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
13k
net-httpのHTTP/2対応について
naruse
0
500
Mujeres en SEO Summit 2026 - Greatest Disaster Hits en Web Performance
guaca
0
180
dRuby over BLE
makicamel
2
380
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
200
Featured
See All Featured
KATA
mclloyd
PRO
35
15k
Facilitating Awesome Meetings
lara
57
7k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
270
Designing Experiences People Love
moore
143
24k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
What's in a price? How to price your products and services
michaelherold
247
13k
Amusing Abliteration
ianozsvald
1
210
A Modern Web Designer's Workflow
chriscoyier
698
190k
HDC tutorial
michielstock
2
720
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
160
Code Review Best Practice
trishagee
74
20k
Transcript
ۙگใࠂͳͲ ؼলͨ͠ͷͰൃද͠·͢ EBJ/BHPZB+4WPM Saturday, November 3, 12
!BIPNV ϚʔΫΞοϓΤϯδχΞ גࣜձࣾαΠόʔΤʔδΣϯτ ॴଐ͗ͯ͢Α͘Θ͔Βͳ͍ ৄ͘͠IUUQBIPNV Saturday, November 3, 12
એͱ͍͏͔͓༠͍ #BDLCPOFKT"EWFOU$BMFOEBS IUUQXXXBEWFOUBSPSH DBMFOEBST ۭ͖·͘ΓͳͷͰμϨ͔ʂʂʂ Saturday, November 3, 12
ࠓ ౦ژʹస৬ˍҾͬӽͯ͠ϲ݄ ࣗͷৼΓฦΓ͔Ͷ͓ͯ࣌ؒΛഈआ ͶΉ͘ͳͬͨΒεϛϚηϯ Saturday, November 3, 12
ਃ͠༁ OFX ܕͳ͍Ͱ͢ Ϟϩʹ8FCܥͰ͢ ੜʑ͘͠+BWB4DSJQUॻ͘Α ͔͠͠۩ମతͳ࣮ͳ͍ʂ Saturday, November 3, 12
Θͨ͘͠͝ͱ Saturday, November 3, 12
+PCT ϓϩδΣΫτͷϑϩϯτ։ൃ ηϛφʔͷ४උ ࣾษڧձͷ։࠵ͱ͔ڭ׆ಈ ࣾπʔϧͷࡐྉूΊ FUD Saturday, November 3, 12
͍·࡞ͬͯΔͷ ίϛϡχςΟαʔϏε γϯάϧϖʔδΞϓϦ #BDLCPOFͱ".%Ͱɺ.71ͳײ͡ αʔόαΠυͷ"1*ઃܭ͝ʹΐΓ 1IPOF(BQӽ͠8FC7JFX Saturday, November 3, 12
*OUFSFTU ϑϩϯτ༻ͷࣗಈԽ +4FSͷੜ࢈ํ๏ ڭҭ Ϟδϡϥʔͳ+BWB4DSJQU ґଘཧ 3FRVJSFKT 4OPDLFUT ςετΒ-JOUΒ࣭ཧ Saturday,
November 3, 12
ϥΠϒϥϦͱ͔ πʔϧ͖͔ͩΒհ Saturday, November 3, 12
FH #BDLCPOFMPEBTI 3FRVJSFKT ;FQUP OFFENBLFCFPXO (SVOU MPDBMEFWFMPQNFOU +BTNJOF 4JOPO XJUI5FTUFN
1IBOUPNKT Saturday, November 3, 12
;FQUP ϑΝΠϧαΠζ͕খ͍͞ͷਖ਼ٛʂ K2VFSZޓͳ%0.CBTFE-JC Ϗϧυඞཁ pMUFSͱ͔GBEF*Oͱ͔ BKBYͷΓ%FGFSSFEͰͳ͍ Ұ෦͍ϝιουGPSLͯ͠վࡁ Saturday, November 3,
12
#BDLCPOFKT 7JFX͕ଠΔ ʅɹɾɹТɹɾɹA 3PVUFS7JFX.PEFMͷओै VOEFSTDPSFґଘMPEBTIͰஔ நԽͨ͠ϥούΛ࡞༧ఆ IUUQTHJUIVCDPNNBSJPOFUUFKTCBDLCPOFNBSJPOFUUF IUUQTHJUIVCDPNDIBQMJOKTDIBQMJO Saturday, November
3, 12
3FRVJSFKT ".% "TZODISPOPVT.PEVMF%FpOJUJPO Ϟδϡʔϧ୯ҐͰॻ͘ͷʹΑΖ͍͠ ίʔϧελοΫ͕ͭΒ͍ 1SPEVDUJPOBMNPOEͰݻΊΔ SFRVJSFKT͔Β"KBYྨΛൈ͍ͨͭ ܰྔ Saturday,
November 3, 12
+BTNJOF ͳΜ͔ͩΜͩͰৗ༻ϙδγϣϯ KBTNJOFBTZOD KBTNJOFKRVFSZ %0..BUDIFS 4JOPO 4UVC .PDL ৭ʑͯ͠UFTUFNͰճͯ͠Δ Saturday,
November 3, 12
(SVOU +4Ͱಈ͘ϙʔλϒϧͳϏϧυπʔϧ ࣗಈϏϧυྨͷҰݩԽ͘Μ -PDBM4FSWFSͱ-JWF3FMPBEͱ͔ OPEFͰλεΫॻ͚Δ͔ΒϥΫ ࣾͰڭதʢΘΓͱॱௐʣ Saturday, November 3, 12
1IBOUPNKT ओʹϔουϨεςετ༻ )"3 )551"SDIJWF औͬͯZTMPX ͰධՁɺͱ͔ଞͷ༻్ߟ͑த εΫϦʔϯΩϟϓνϟͱ͔ KTEPNͱ͔[PNCJFKT͋ΔͶ Saturday, November
3, 12
όϥϯεײ ͭͷ࣠ΛόϥϯεΑ͘ ͋ͨΒ͍ٕ͠ज़ख๏ΛֶͿ طଘͷރΕͨπʔϧΛ׆͔͢ ࣾͰγΣΞ͠ͳ͍ͱҙຯ͕ͳ͍ 3%ͷίετߴͭ͘͘ Saturday, November 3, 12
͜͜ͰऴΘΔͱ ͋Μ·ΓͳͷͰBMU+4 Saturday, November 3, 12
ߦ͖ͷόεͰௐͨ ษڧձυϦϰϯͳௐ Saturday, November 3, 12
-JWF4DSJQU IUUQMJWFTDSJQUOFU Saturday, November 3, 12
0WFSWJFX $PGGFF]$PDP]-JWF4DSJQU "EETNBOZGFBUVSFTUPBTTJTUJO GVODUJPOBMTUZMFQSPHSBNNJOH )BTNBOZJNQSPWFNFOUTGPS PCKFDUPSJFOUFEBOEJNQFSBUJWF QSPHSBNNJOH Saturday, November 3,
12
4UBOEBSE-JCSBSZ QSFMVEFMT IUUQHL[HJUIVCDPNQSFMVEFMT CBTFEJOQBSUPGGPGQSFMVEFIT BVUPNBUJDBMMZJNQPSU VTFEPSQSFMVEFPQUJPO QSFMVEFCSPXTFSNJOKT GPSCSPXTFS Saturday, November
3, 12
5FYU&EJUPS4VQQPSU WJNMT WJN MJWFTDSJQUNPEF FNBDT -JWF4DSJQUUNCVOEMF FUD GPS5FYU.BUF $IPDPMBU BOE4VCMJNF5FYU
8JMMCF4PVSDF.BQ Saturday, November 3, 12
(FUUJOH4UBSUFE Saturday, November 3, 12
Πϯετʔϧ % npm install -g LiveScript Saturday, November 3, 12
ରܕ % lsc --interactive --prelude livescript> [1 2 3] |>
map (* 2) |> sum 10 Saturday, November 3, 12
ίϯύΠϧ % lsc --prelude --output ./ file.ls # create ./file.js
Saturday, November 3, 12
4ZOUBY'FBUVSF Saturday, November 3, 12
ఆ > const SHOULD = 'BE' 'BE' > SHOULD =
'NOT' SyntaxError: redeclaration of constant "SHOULD" on line 1 Saturday, November 3, 12
෦ద༻ͱϝϯόΞΫηε > people = [{name: 'hoge'}, {name: 'fuga'}, {name: 'piyo'}]
> people |> map (.name) |> filter (in ['hoge', 'fuga']) [ 'hoge', 'fuga' ] Saturday, November 3, 12
είʔϓ > a = 123 123 > do -> a
= 456 456 > a 123 Saturday, November 3, 12
ԋࢉࢠ > 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
แදه &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
ύλʔϯϚον # 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
ΧϦʔ > 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
ฏ͍ͨ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
༨ஊ Saturday, November 3, 12
+BWB4DSJQUWJBXJLJQFEJB JavaScriptωοτεέʔϓίϛϡχέʔγϣϯζ ͷϒϨϯμϯɾΞΠΫʹΑͬͯ։ൃ͞ΕɺNetscape Navigator 2.0Ͱ࣮͞Εͨɻ։ൃॳ LiveScriptͱݺΕ͍͕ͯͨʢதུʣωοτεέʔ ϓͱαϯɾϚΠΫϩγεςϜζ͕ۀఏܞ͍ͯͨ͠ࣄ ͋ͬͨͨΊɺJavaScriptͱ͍͏໊લʹมߋ͞Εͨ Saturday, November
3, 12
"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
͓͠·͍ Saturday, November 3, 12