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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
320
控えめな App Router と持続可能な開発 - PWA Night vol.59
ahomu
13
3.3k
GPT 生成物の評価、運用 toC 企画でのハードルと勘所
ahomu
0
360
副業をきっかけに 切り拓くキャリア形成
ahomu
1
220
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
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
180
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
190
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
540
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
2.9k
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
500
5分で問診!Composer セキュリティ健康診断
codmoninc
0
560
霧の中の代数的エフェクト
funnyycat
1
420
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
160
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
180
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
610
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
2
620
Foundation Models frameworkで画像分析
ryodeveloper
1
130
Featured
See All Featured
BBQ
matthewcrist
89
10k
How to Ace a Technical Interview
jacobian
281
24k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
280
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.4k
How GitHub (no longer) Works
holman
316
150k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
740
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
45k
Building the Perfect Custom Keyboard
takai
2
820
Game over? The fight for quality and originality in the time of robots
wayneb77
1
230
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
210
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