├── .gitignore ├── Rakefile ├── day0.json ├── day1.json ├── day2.json ├── index.haml ├── index.html ├── render.rb └── schedule.yml /.gitignore: -------------------------------------------------------------------------------- 1 | /.cache 2 | -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | desc "build static files" 2 | task :build do 3 | system "ruby render.rb > index.html" 4 | end 5 | 6 | desc "refresh JSON files" 7 | task :json do 8 | system "curl", "-s", "-o", "day0.json", "http://yapcasia.org/2015/talk/schedule?format=json&date=2015-08-20" 9 | system "curl", "-s", "-o", "day1.json", "http://yapcasia.org/2015/talk/schedule?format=json&date=2015-08-21" 10 | system "curl", "-s", "-o", "day2.json", "http://yapcasia.org/2015/talk/schedule?format=json&date=2015-08-22" 11 | end 12 | -------------------------------------------------------------------------------- /day0.json: -------------------------------------------------------------------------------- 1 | {"events_by_venue":[[],[],[],[],[],[]],"date":"2015-08-20","venue_id2name":{"5":"トラックE (607-608)","1":"トラックA 国際会議場","3":"トラックC (703)","4":"トラックD (605-606)","6":"レセプションホール 1F","2":"トラックB (701-702)"},"talks_by_venue":[[],[],[],[{"modified_on":"2015-06-14 09:45:49","memo":"本発表では、企業活動やソフトウェアの規模に関係なく、プログラマがOSSとどのように関わり、プログラミングという活動について改めて向き合う機会を提供することを第一目的としています。","abstract_html":"
インターネットの普及とともに、インターネットを支える主要技術の多くを構築する OSS はより一般的なものとなりました。特に Web サービスやモバイルアプリケーションを開発する会社にとっては、コードを書く上で避けては通れないものとなりました。<\/p>\n\n
OSS は小さいライブラリから、プロダクションで使用するようなフレームワーク、大規模なサービスを支えるミドルウェア、OS や言語のようなプログラミングの根幹とも言えるような要素など、ソフトウェアのコードベースの大小こそあるものの、それらは全て OSD<\/a> に準拠しているものであり、誰でもコードを読むことができ、ソフトウェアによってはコントリビュートすることも可能です。<\/p>\n\n 近年では GitHub の普及により、ライブラリやフレームワークについては身近なものとなりましたが、ミドルウェア、言語、OSについては GitHub を用いない開発スタイルも多く存在し、雲の上のような存在に感じるのではないかと思います。しかし、GitHub というツールの種類に関係なく、OSSというものはプログラマに身近なものです。<\/p>\n\n 本発表では、Ruby というプログラミング言語のメンテナという立場から、プログラミング言語を例としてどのように開発の意思決定を行い、実装し、リリースされるかまでの一連の流れを紹介し、言語開発の見えない部分について露わにしたいと思います。<\/p>\n","has_interpratation":"0","video_url":"https:\/\/www.youtube.com\/watch?v=vCL2OjEmBrM&index=1&list=PLzT643y4OYZp0K4YhPmmaLtnZzlVrbz0G","photo_permission":"allow","slide_url":"http:\/\/www.slideshare.net\/hsbt\/the-story-of-language-development","status":"accepted","id":"b355fa20-122e-11e5-8ba5-d9f87d574c3a","speaker":{"nickname":"hsbt","id":"8eab30ca-f9e0-11e4-a562-8ab37d574c3a","name":"SHIBATA Hiroshi","profile_image_url":"https:\/\/avatars.githubusercontent.com\/u\/12301?v=3"},"venue_id":"4","calendar_entry_id":null,"is_confirmed":"1","title":"言語開発の現場","language":"ja","tags":null,"video_permission":"allow","title_en":"The story of language development","abstract":"インターネットの普及とともに、インターネットを支える主要技術の多くを構築する OSS はより一般的なものとなりました。特に Web サービスやモバイルアプリケーションを開発する会社にとっては、コードを書く上で避けては通れないものとなりました。\r\n\r\nOSS は小さいライブラリから、プロダクションで使用するようなフレームワーク、大規模なサービスを支えるミドルウェア、OS や言語のようなプログラミングの根幹とも言えるような要素など、ソフトウェアのコードベースの大小こそあるものの、それらは全て [OSD](http:\/\/www.opensource.jp\/osd\/osd-japanese.html) に準拠しているものであり、誰でもコードを読むことができ、ソフトウェアによってはコントリビュートすることも可能です。\r\n\r\n近年では GitHub の普及により、ライブラリやフレームワークについては身近なものとなりましたが、ミドルウェア、言語、OSについては GitHub を用いない開発スタイルも多く存在し、雲の上のような存在に感じるのではないかと思います。しかし、GitHub というツールの種類に関係なく、OSSというものはプログラマに身近なものです。\r\n\r\n本発表では、Ruby というプログラミング言語のメンテナという立場から、プログラミング言語を例としてどのように開発の意思決定を行い、実装し、リリースされるかまでの一連の流れを紹介し、言語開発の見えない部分について露わにしたいと思います。","duration":"30","sort_order":"0","category":"tutorial","created_on":"2015-06-14 09:45:49","start_on":"2015-08-20 19:00:00","member_id":"8eab30ca-f9e0-11e4-a562-8ab37d574c3a","material_level":"regular","subtitles":"en"},{"id":"39a72c04-10e3-11e5-b8ab-d7f07d574c3a","status":"accepted","speaker":{"id":"8072fa70-fdd1-11e4-897e-bdc07d574c3a","profile_image_url":"http:\/\/graph.facebook.com\/929494707114841\/picture","name":"Akira Sakamoto","nickname":"Akira Sakamoto"},"venue_id":"4","slide_url":null,"memo":null,"abstract_html":" たくさんの技術があるなかで、適切な場面で適切な技術を選択するのは大切です。\n自分が働いているフリークアウトはアドテクと呼ばれる業態です。Perlで業務を行っています。\n弊社の業務ではログファイルなどで何十万行程度のテキストファイルからアドホックにデータを抽出・加工するような業務が頻出します。\n自分はそういった場面ではPerlを選択するのが最善ではないかと思っています。<\/p>\n\n pythonで5分かかる作業を30秒で書いたワンライナーがなんとかしてくれる様子は「Practical Extraction and Report Language(実用データ取得レポート作成言語)」の面目躍如といった趣があります。<\/p>\n\n 似た領域の技術にawkがありますが、かなりややこしいことまで出来るPerlワンライナーをおぼえておいても損はないはずです( この発表ではperlワンライナー初心者を対象にしています。ハンズオンで下記内容でやるつもりです。<\/p>\n\n ※ ハンズオンはwindows環境の動作未検証です<\/p>\n\n OSSとして公開されるソフトウェアは多くありますが、そのうち広く世に出るものはあまり多くありません。また開発者コミュニティやユーザコミュニティが形成されるところまで成長するものはごく一部といって良いでしょう。<\/p>\n\n ライブラリ等ではそれでも特に問題はありませんが、高機能なミドルウェアなどになると多くのユーザがつかないとオリジナル開発者が想定した以外のユースケース発見やコーナーケースにおけるバグ発見などが十分に行われず、プロダクトの品質も上がらない、といったようなこともあります。\nまた日本国内では比較的よく使われても、米国を含めた国外ではあまり知られないまま、というケースも多く存在します。特にミドルウェア等については有名な巨大サービス企業が発表したものとそれ以外で顕著な差があり、開発者個人として何ができるのかを考えることも多くはないでしょうか。<\/p>\n\n このトークでは、いちソフトウェア技術者としてOSSプロダクトを作り公開しメンテナンスし、また世に広めるための活動をする中で、我々がするべきことは何か、やったほうがいいことは何かなどを、FluentdやNorikraといったソフトウェアにおける経験をもとに他の例も見ながら議論したいと思います。<\/p>\n\n 遠い昔、はるか彼方の銀河系で…はなくて、去年、私は 私が愛するPHPはまだまだイケてる!<\/strong> とホールで叫び、なんと皆様からベストトーク賞をいただけたYAPC::Asia Tokyo 2014から1年が経ちました。<\/p>\n\n あれからPHPに新しい事は起こったか?勿論起こりましたし、さらに 起こりつつあります!<\/strong> 皆さんに是非お届けしなければ!ということで、今年もPHPの話をさせてください!<\/p>\n\n 次のPHPは5.6から一気に7にバージョンアップされます<\/strong> 。「5.6の次が7って、おくればせながら流行にのってメジャーバージョンを切り捨てて5.7を7にしただけじゃないか?」なんてことはなく、メジャーバージョンアップにふさわしく変わります。<\/p>\n\n PHPなりに 高速に、安全に、パワフルに<\/strong> 生まれ変わりを果たそうとしています。その 来たるべき近未来であるPHP7<\/strong> とその仲間達(周辺)について、オイシそうな所、気になる所を知っていただければと思います。<\/p>\n\n ところでPHP7は今開発中で、stable releaseは年末予定です。stableでない話に意味があるのかと思われるかもしれません。しかし、先日Alpha版がリリースされ、試していく土壌はもうできたと言えます!きっとYAPCまでにはかなりの完成度になることでしょう!(去年のYAPC::Asiaの初日に5.6がリリースされてスライドを書き直した事を思い出します…)<\/p>\n\n また、去年は「Perl Monger向け、或いはPHPをあまり知らない人向けトーク(半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情(5.6対応)<\/a>)」でご好評をいただきましたが、 私の目標である「PHP仲間をふやすぞ!」<\/strong> は進捗いまいち…、どうやらPHP仲間を増やすには、入門だけではない話をしなければならないようです!<\/p>\n\n すでにPHPを使っている方ついても、もっと実践的に、そして興味深くなるように、yumではいるApache+mod_PHPに適当にのっけただけ…、とはひと味違う、新しい感じがするPHPの構成の具体例をお話します!<\/p>\n\n また、PHPには長らく存在しなかった($_GETとか、グローバル変数だった…)request\/responseまわりがPSR-7という形で、多くのWAFがこれに準拠する動きを見せており、今後内部リクエストやテストがやりやすくなるのでは?と話題になっています。\nもしこれがうまく普及すれば、PHPの泥臭さは一変する可能性を秘めていると思います。気になりますよね?<\/p>\n\n PHPは前進をつづけています!!<\/p>\n\n そう、PHPerの未来は明るいんだ!!<\/strong><\/p>\n\n 話さない事:PHP7内部実装等の話は しません<\/strong> 、WAFの使い方的な話も しません<\/strong> 。<\/p>\n\n 勿論今回も 幅広い層、特にPerl Mongerの皆様に合わせたお話をさせていただきたい<\/strong> と思いますが、実際に今PHPを使われている方でも興味深いように、モダンを通り越して、まだ来ていない未来の話をします。<\/p>\n\n PHPをなんとなく使っている人、PHPとか遅いんでしょ?って思ってる人、PHPは他の言語と違いすぎるから…なんて勘違い(?)している人、とにかくPHPを滅ぼすためにもヤジを飛ばしたい人。是非 応援(上のボタンのシェアやいいね!)宜しくお願い致します!<\/strong><\/p>\n","memo":null,"modified_on":"2015-06-08 03:52:45"},{"venue_id":"5","speaker":{"name":"skozawa","profile_image_url":"http:\/\/pbs.twimg.com\/profile_images\/1711030185\/header_title_normal.jpg","id":"1267952a-1282-11e5-befe-d9f87d574c3a","nickname":"5kozawa"},"id":"f5aa5054-12fd-11e5-b4c9-d9f87d574c3a","status":"accepted","slide_url":"http:\/\/www.slideshare.net\/shunsukekozawa5\/ss-51890590","photo_permission":"allow","video_url":null,"has_interpratation":"0","abstract_html":" はてなブックマークの「トピックページ<\/a>」の作り方について解説します。\nトピックページ<\/a>とは、話題の記事の中から関連性の高い記事をまとめることにより、インターネット上で話題となったトピックを閲覧できるページです。\nはてなブックマークに蓄積された過去10年分の記事データを利用することにより、過去10年間の話題から最新の話題までを閲覧できるようになっています。<\/p>\n\n 「トピック」機能は、これまで何人かのエンジニアが挑戦してきましたが、トピック生成の精度が低いという問題やトピックタイトル生成が難しいという問題により実現できていませんでした。\nこれらの問題をElasticsearch と自然言語処理技術を活用することにより解決したので、そのアプローチを紹介します。<\/p>\n\n エンジニアには、なぜか「技術」についてブログに書き残すという文化があるということはここでは言うまでもないと思います。<\/p>\n\n 新たに投稿されるエントリを見かけない日はなく、なんらかの技術について書かれたエントリが毎日のようにエンジニア界隈を賑わせています。<\/p>\n\n 技術ブログの内容は人それぞれです。\n自分が注目している流行りの技術の紹介であったり、自分が作ったソフトウェアの紹介であったりします。\nときには「ポエム」と呼ばれるような、技術を通して自分の考え方や生き方を表現したものもあります。<\/p>\n\n その技術ブログの評価システムの代表的なもののうちの1つとして、はてなブックマークがあります。\nテクノロジーカテゴリのホットエントリを日常的に眺めて、技術そのものもしくはエンジニア界隈の情報を仕入れたり、エントリにつけられるブックマーク数をブログを書くモチベーションにされている方も多いのではないでしょうか。<\/p>\n\n 発表者もそのうちの1人です。趣味が高じて、最近では、はてなブックマーク200users以上のブログエントリを月刊投稿する、ということを目標にしています。<\/p>\n\n 技術ブログで毎月200users以上を確実に達成しようとするのは想像以上に困難です。\nそもそも自身とブログへの向き合い方から見直す必要がありました。<\/p>\n\n 最初は目標を達成するだけで満足していました。しかし、コンスタントに目標を達成できるようになってくると、単に200usersを達成するだけには飽きてきて、徐々にこだわりがでてきます。\nこだわりとは、例えば、技術文章として格式のあるものにする、エントリタイトルで煽らない、エンジニアの採用活動につなげる、自分にできるかぎり硬派な技術について書くといったものです。<\/p>\n\n このような活動を続けていくと、200usersを目標にしていたはずが、気づけば先日書いたエントリで1000usersを達成しました。<\/p>\n\n もちろん、1000usersというのは所詮はただの数字です。\nしかし、そこに到達する過程には、数字以上の意味を持たせたくなります。\n「はてなブックマークはタイトルが9割」といった小手先の人気取り的なテクニックはもちろん、「煽る必要はない」、「ネガティブコメントは正攻法でねじ伏せられる」などといった技術ブログ体験を良くするためのいくつかの知見を得られました。\nさらには、文章を書くという行為を通して、自身のエンジニアとしてのキャリアや生き方を考えるきっかけにもなりました。<\/p>\n\n これらの経験を元に、本発表では、以下のような方々を対象に、正攻法ではてなブックマーク1000usersを獲得するための技術、あるいはその精神について語ります。<\/p>\n\n blog: http:\/\/yuuki.hatenablog.com\/<\/a><\/p>\n","modified_on":"2015-06-15 09:21:38","status":"accepted","id":"7d62caf8-12f4-11e5-881c-d9f87d574c3a","speaker":{"nickname":"y_uuk1","id":"fdd3a57e-11ad-11e5-b3ec-d7f07d574c3a","profile_image_url":"http:\/\/pbs.twimg.com\/profile_images\/3279630066\/5fec6321a3aca8de271ccb3fae606d2a_normal.png","name":"yuuki"},"venue_id":"5","slide_url":null,"video_permission":"disallow","title_en":"The Art of Blogging Technologies","language":"ja","tags":null,"is_confirmed":"1","title":"技術ブログを書くことについて語るときに僕の語ること","calendar_entry_id":null,"member_id":"fdd3a57e-11ad-11e5-b3ec-d7f07d574c3a","material_level":"beginner","subtitles":"ja","created_on":"2015-06-15 09:21:38","start_on":"2015-08-20 20:20:00","duration":"30","sort_order":"0","category":"other","abstract":"エンジニアには、なぜか「技術」についてブログに書き残すという文化があるということはここでは言うまでもないと思います。\r\n\r\n新たに投稿されるエントリを見かけない日はなく、なんらかの技術について書かれたエントリが毎日のようにエンジニア界隈を賑わせています。\r\n\r\n技術ブログの内容は人それぞれです。\r\n自分が注目している流行りの技術の紹介であったり、自分が作ったソフトウェアの紹介であったりします。\r\nときには「ポエム」と呼ばれるような、技術を通して自分の考え方や生き方を表現したものもあります。\r\n\r\nその技術ブログの評価システムの代表的なもののうちの1つとして、はてなブックマークがあります。\r\nテクノロジーカテゴリのホットエントリを日常的に眺めて、技術そのものもしくはエンジニア界隈の情報を仕入れたり、エントリにつけられるブックマーク数をブログを書くモチベーションにされている方も多いのではないでしょうか。\r\n\r\n発表者もそのうちの1人です。趣味が高じて、最近では、はてなブックマーク200users以上のブログエントリを月刊投稿する、ということを目標にしています。\r\n\r\n技術ブログで毎月200users以上を確実に達成しようとするのは想像以上に困難です。\r\nそもそも自身とブログへの向き合い方から見直す必要がありました。\r\n\r\n最初は目標を達成するだけで満足していました。しかし、コンスタントに目標を達成できるようになってくると、単に200usersを達成するだけには飽きてきて、徐々にこだわりがでてきます。\r\nこだわりとは、例えば、技術文章として格式のあるものにする、エントリタイトルで煽らない、エンジニアの採用活動につなげる、自分にできるかぎり硬派な技術について書くといったものです。\r\n\r\nこのような活動を続けていくと、200usersを目標にしていたはずが、気づけば先日書いたエントリで1000usersを達成しました。\r\n\r\nもちろん、1000usersというのは所詮はただの数字です。\r\nしかし、そこに到達する過程には、数字以上の意味を持たせたくなります。\r\n「はてなブックマークはタイトルが9割」といった小手先の人気取り的なテクニックはもちろん、「煽る必要はない」、「ネガティブコメントは正攻法でねじ伏せられる」などといった技術ブログ体験を良くするためのいくつかの知見を得られました。\r\nさらには、文章を書くという行為を通して、自身のエンジニアとしてのキャリアや生き方を考えるきっかけにもなりました。\r\n\r\nこれらの経験を元に、本発表では、以下のような方々を対象に、正攻法ではてなブックマーク1000usersを獲得するための技術、あるいはその精神について語ります。\r\n\r\n- 技術ブログをこれから書いていきたい\r\n- もしくは技術ブログを書くことへの意義に疑問がある\r\n- 書いてはいるが思うようにブクマがつかない\r\n- せっかく書いたエントリに対するネガティブコメントに悩まされている\r\n- とにかく「今すぐ〇〇を使わないと死ぬから△△すべき10の理由」というようなタイトルをつければよいと思っている\r\n\r\nblog: [http:\/\/yuuki.hatenablog.com\/](http:\/\/yuuki.hatenablog.com\/)"}],[]],"venues":[{"id":1,"hashtag":"#yapcasiaA","name":"トラックA 国際会議場"},{"hashtag":"#yapcasiaB","id":2,"name":"トラックB (701-702)"},{"name":"トラックC (703)","hashtag":"#yapcasiaC","id":3},{"hashtag":"#yapcasiaD","id":4,"name":"トラックD (605-606)"},{"name":"トラックE (607-608)","hashtag":"#yapcasiaE","id":5},{"name":"レセプションホール 1F","id":6,"hashtag":"#yapcasiaDinner"}]}
--------------------------------------------------------------------------------
/day1.json:
--------------------------------------------------------------------------------
1 | {"talks_by_venue":[[{"material_level":"beginner","subtitles":"ja","member_id":"1c5af0e4-f4b5-11e4-9741-1eb37d574c3a","start_on":"2015-08-21 09:45:00","created_on":"2015-05-09 10:10:04","category":"other","duration":"15","sort_order":"0","abstract":"Let the festivities begin!!","video_permission":"allow","title_en":"Opening","tags":null,"language":"ja","title":null,"is_confirmed":"1","calendar_entry_id":null,"venue_id":"1","speaker":{"name":"Daisuke Maki","profile_image_url":"http:\/\/pbs.twimg.com\/profile_images\/1223562029\/DSC00001_normal.JPG","id":"1c5af0e4-f4b5-11e4-9741-1eb37d574c3a","nickname":"lestrrat"},"status":"accepted","id":"1ffa6f7a-f5e8-11e4-a4ec-49b37d574c3a","slide_url":null,"photo_permission":"allow","video_url":null,"has_interpratation":"0","abstract_html":" Let the festivities begin!!<\/p>\n","memo":null,"modified_on":"2015-05-09 10:10:04"},{"speaker":{"name":"Larry Wall","profile_image_url":"https:\/\/avatars.githubusercontent.com\/u\/162146?v=3","id":"9e47130c-0fbe-11e5-8a02-43ec7d574c3a","nickname":"TimToady"},"venue_id":"1","id":"a636430c-0fbf-11e5-8a02-43ec7d574c3a","status":"accepted","slide_url":null,"abstract_html":" Ho, ho, ho!<\/p>\n\n (編注:Perl6は今年のクリスマスのリリースに向けて準備中らしいですよ!)<\/p>\n","memo":null,"modified_on":"2015-06-11 07:25:50","photo_permission":"allow","video_url":null,"has_interpratation":"1","category":"other","sort_order":"0","duration":"60","abstract":"Ho, ho, ho!\r\n\r\n(編注:Perl6は今年のクリスマスのリリースに向けて準備中らしいですよ!)","material_level":"regular","subtitles":"ja","member_id":"9e47130c-0fbe-11e5-8a02-43ec7d574c3a","start_on":"2015-08-21 10:00:00","created_on":"2015-06-11 07:25:50","title":"メリークリスマス!","is_confirmed":"0","calendar_entry_id":null,"title_en":"Merry Christmas!","video_permission":"allow","tags":null,"language":"en"},{"calendar_entry_id":null,"is_confirmed":"1","title":null,"language":"en","tags":null,"video_permission":"allow","title_en":"Managing Containers at Scale with CoreOS and Kubernetes","abstract":"Linux containers provide the ability to reliably deploy thousands of application instances in seconds, but how do we manage it all? The answer is CoreOS and Kubernetes. This talk will help attendees wrap their minds around complex topics such as distributed configuration management, service discovery, and application scheduling at scale.","duration":"60","sort_order":"0","category":"infra","created_on":"2015-06-16 10:03:03","start_on":"2015-08-21 11:10:00","member_id":"2940c69c-13c0-11e5-82c7-2e007e574c3a","material_level":"regular","subtitles":"en","modified_on":"2015-06-16 09:51:53","memo":null,"abstract_html":" Linux containers provide the ability to reliably deploy thousands of application instances in seconds, but how do we manage it all? The answer is CoreOS and Kubernetes. This talk will help attendees wrap their minds around complex topics such as distributed configuration management, service discovery, and application scheduling at scale.<\/p>\n","has_interpratation":"1","video_url":null,"photo_permission":"allow","slide_url":null,"status":"accepted","id":"e19fe827-13c1-11e5-aca1-525412004261","venue_id":"1","speaker":{"nickname":"kelseyhightower","id":"2940c69c-13c0-11e5-82c7-2e007e574c3a","profile_image_url":"https:\/\/avatars.githubusercontent.com\/u\/1123322?v=3","name":"Kelsey Hightower"}},{"venue_id":"1","speaker":{"nickname":"matz","id":"f72b3276-13c1-11e5-86a3-2e007e574c3a","name":"Yukihiro \"Matz\" Matsumoto","profile_image_url":"https:\/\/avatars.githubusercontent.com\/u\/30733?v=3"},"status":"accepted","id":"cc0ec485-1879-11e5-aca1-525412004261","slide_url":"https:\/\/drive.google.com\/open?id=0BwazarpZ-dOvNFAtOXZEcmQyblE","abstract_html":" TBD<\/p>\n","memo":null,"modified_on":"2015-06-22 09:58:29","photo_permission":"allow","video_url":null,"has_interpratation":"0","category":"other","sort_order":"0","duration":"60","abstract":"TBD","material_level":"regular","subtitles":"none","member_id":"f72b3276-13c1-11e5-86a3-2e007e574c3a","start_on":"2015-08-21 13:10:00","created_on":"0000-00-00 00:00:00","title":"TBD","is_confirmed":"0","calendar_entry_id":null,"title_en":null,"video_permission":"allow","tags":null,"language":"ja"},{"tags":null,"language":"en","title_en":"Conway's Law of Distributed Work","video_permission":"allow","calendar_entry_id":null,"title":null,"is_confirmed":"0","start_on":"2015-08-21 14:20:00","created_on":"2015-06-08 10:13:53","subtitles":"none","material_level":"regular","member_id":"84a71206-fd50-11e4-ba13-bdc07d574c3a","abstract":"I have been working remotely for more than a decade. Half of that time has been in a technical leadership capacity. I often hear people say it's obviously harder to work remotely, and very hard to be in a leadership position remotely. My experience says otherwise, and I would like to share what I have learned to make remote work an effective strategy.\r\n\r\nThis is about being a remote worker or working on a distributed team. I am convinced this is the path software organizations are rightly headed, and I am determined to help you get there. I will present the tools and vocabulary to give you the confidence to try it.","category":"other","sort_order":"0","duration":"60","video_url":null,"has_interpratation":"1","photo_permission":"allow","modified_on":"2015-06-08 10:13:53","abstract_html":" I have been working remotely for more than a decade. Half of that time has been in a technical leadership capacity. I often hear people say it's obviously harder to work remotely, and very hard to be in a leadership position remotely. My experience says otherwise, and I would like to share what I have learned to make remote work an effective strategy.<\/p>\n\n This is about being a remote worker or working on a distributed team. I am convinced this is the path software organizations are rightly headed, and I am determined to help you get there. I will present the tools and vocabulary to give you the confidence to try it.<\/p>\n","memo":null,"slide_url":"https:\/\/speakerdeck.com\/caseywest\/conways-law-of-distributed-work","speaker":{"nickname":"cwest","id":"84a71206-fd50-11e4-ba13-bdc07d574c3a","profile_image_url":"https:\/\/avatars.githubusercontent.com\/u\/54422?v=3","name":"Casey West"},"venue_id":"1","status":"accepted","id":"a06d9970-0d7b-11e5-aaf9-67dc7d574c3a"},{"is_confirmed":"1","title":null,"calendar_entry_id":null,"video_permission":"allow","title_en":"Electron: Building desktop apps with web technologies","language":"en","tags":null,"duration":"30","sort_order":"0","category":"library","abstract":"This talk will be an overview to building Desktop apps with the Electron project. Electron underpins popular desktop apps like Atom, Slack, Visual Studio Code, and Mapbox Studio.\r\n\r\nThe talk is directed at anyone who has written code for the web. It will cover the following ground: \r\n\r\n* What is electron? Node + chromium = :D\r\n* Why did we build it?\r\n* What’s possible with electron?\r\n* What does an electron app look like?\r\n* Demo using perlito to build a small app\r\n* Demo of a larger app with a little live coding\r\n* Jokes\r\n\r\n#### Links!\r\n\r\n* http:\/\/electron.atom.io\/\r\n* https:\/\/github.com\/fglock\/Perlito\/\r\n* A deeper technical set of slides on Electron (formerly atom-shell) https:\/\/speakerdeck.com\/zcbenz\/practice-on-embedding-node-dot-js-into-atom-editor\r\n","member_id":"852e4a32-0a66-11e5-9c35-67dc7d574c3a","subtitles":"ja","material_level":"beginner","created_on":"2015-06-04 12:40:48","start_on":"2015-08-21 15:30:00","memo":"Full disclosure: I am on the GitHub Electron \/ Atom team. \r\n\r\nThis talk could be expanded to 60 minutes with more examples showcasing all the fun features of Electron.","abstract_html":" This talk will be an overview to building Desktop apps with the Electron project. Electron underpins popular desktop apps like Atom, Slack, Visual Studio Code, and Mapbox Studio.<\/p>\n\n The talk is directed at anyone who has written code for the web. It will cover the following ground: <\/p>\n\n 「esa<\/a>」は esa LLC<\/a> が開発・運営しているチーム向けMarkdownドキュメント共有サービスです。2015年1月に正式リリースされてから約半年、βテスト期間も含めると1年ほどになります。<\/p>\n\n 本トークではエンジニア1人とデザイナー1人で開発・運営・経営・営業などを行う上で考えたこと、経験したことなどを中心に、オフの時間に趣味で作り始めたWebサービスを事業化することについてお話したいと考えています。<\/p>\n\n YAPC::Asia Tokyo 2015の花形、Lightning Talk です!<\/p>\n","has_interpratation":"0","video_url":null,"photo_permission":"allow","slide_url":null,"id":"22957e9c-1872-11e5-aca1-525412004261","status":"accepted","speaker":{"id":"1c5af0e4-f4b5-11e4-9741-1eb37d574c3a","profile_image_url":"http:\/\/pbs.twimg.com\/profile_images\/1223562029\/DSC00001_normal.JPG","name":"Daisuke Maki","nickname":"lestrrat"},"venue_id":"1","calendar_entry_id":null,"is_confirmed":"1","title":null,"language":"ja","tags":null,"title_en":"Lightning Talks Day 1","video_permission":"allow","abstract":"YAPC::Asia Tokyo 2015の花形、Lightning Talk です!","duration":"60","sort_order":"0","category":"other","created_on":"0000-00-00 00:00:00","start_on":"2015-08-21 16:40:00","member_id":"1c5af0e4-f4b5-11e4-9741-1eb37d574c3a","subtitles":"none","material_level":"beginner"}],[{"photo_permission":"allow","video_url":null,"has_interpratation":"0","abstract_html":" 昨今 Deep Learning がもてはやされていますが、その前にパーセプトロンだけではなく、私が研究で利用してきた下記のようなニューラルネットワークについて紹介したいと思います。<\/p>\n\n 上記を知った上で Deep Learning を適用することで更に様々な分野への適用などを考えられるのではないでしょうか。<\/p>\n","memo":"21日(金)の発表が助かります。","modified_on":"2015-05-19 13:10:13","venue_id":"2","speaker":{"id":"9302eb3c-f764-11e4-b0ac-8ab37d574c3a","profile_image_url":"https:\/\/avatars.githubusercontent.com\/u\/10035?v=3","name":"muddydixon","nickname":"muddydixon"},"id":"f283a924-fddc-11e4-90cd-bdc07d574c3a","status":"accepted","slide_url":null,"video_permission":"allow","title_en":"Let's talk about recurrent neural network and self-organizing before deep learning!","tags":null,"language":"ja","title":"DeepLearning の前に知っておくことがある! 再帰型のニューラルネットワークや自己組織化マップについて語ろう","is_confirmed":"1","calendar_entry_id":null,"material_level":"regular","subtitles":"ja","member_id":"9302eb3c-f764-11e4-b0ac-8ab37d574c3a","start_on":"2015-08-21 11:10:00","created_on":"2015-05-19 13:10:13","category":"other","sort_order":"0","duration":"30","abstract":"昨今 Deep Learning がもてはやされていますが、その前にパーセプトロンだけではなく、私が研究で利用してきた下記のようなニューラルネットワークについて紹介したいと思います。\r\n\r\n* 再帰的ニューラルネットワーク:\r\n * 系列学習を可能にするニューラルネットワークの形式の1つです。\r\n * また、学習方式の一つとして予測学習を紹介します\r\n * 特に [Elman Network](http:\/\/en.wikipedia.org\/wiki\/Recurrent_neural_network#Elman_networks_and_Jordan_networks) についてお話します\r\n* [自己組織化マップ](http:\/\/en.wikipedia.org\/wiki\/Self-organizing_map):\r\n * セルの近接性が学習に影響をおよぼすネットワークアーキテクチャのニューラルネットワークです。\r\n\r\n上記を知った上で Deep Learning を適用することで更に様々な分野への適用などを考えられるのではないでしょうか。"},{"modified_on":"2015-05-13 09:28:00","abstract_html":" はじめまして、こんにちは!jigyakkuma<\/a>です!!!!!1 私が所属している組織<\/a>では取り扱うドメイン・DNSの数が比較的多く、管理・運用でのベストプラクティスを日夜模索しながら改善を行っている状況です。 本トークではドメイン登録代行サービスを使用した人力による運用を経てAWS Route53<\/a>にドメイン・DNSを集約するまでの背景やメリット、注意点を中心に会社としてどのように管理・運用するのがよいかを実例を交えてお話しいたします。 webサービスに携わるエンジニアの方々には広く知っていただきたい内容であるとは思いますが、特に以下に該当するような方に向けた内容とする予定としております。<\/p>\n\n また、この辺りのノウハウを共有させていただきつつ皆様の運用テクニックなどの情報交換が出来ればと考えております。<\/p>\n","memo":null,"video_url":null,"has_interpratation":"0","photo_permission":"allow","slide_url":"https:\/\/docs.google.com\/presentation\/d\/1NO0j91NBwoiB-EuwERzEVDktvSciQjBFWe0gCifx-I8\/pub?start=false&loop=false&delayms=3000","venue_id":"2","speaker":{"name":"jigyakkuma","profile_image_url":"http:\/\/pbs.twimg.com\/profile_images\/599475415766302720\/IrXs2kkC_normal.png","id":"eeb01100-f76c-11e4-aee6-8ab37d574c3a","nickname":"jigyakkuma_"},"status":"accepted","id":"e8eebd70-f906-11e4-8f91-8ab37d574c3a","calendar_entry_id":null,"title":"それは僕たちのドメイン・DNS運用","is_confirmed":"1","tags":null,"language":"ja","title_en":null,"video_permission":"allow","abstract":"はじめまして、こんにちはです!!!!!1 \r\nInfrastructure as Codeが叫ばれる昨今、ドメインやDNS管理・運用にもその波が押し寄せておりますが皆様いかがお過ごしでしょうか。 \r\n \r\n私が所属している[組織](http:\/\/www.kayac.com)では取り扱うドメイン・DNSの数が比較的多く、管理・運用でのベストプラクティスを日夜模索しながら改善を行っている状況です。 \r\n運用や管理といった分野は各社のエンジニアや担当者がそれぞれ構築した仕組みやルールで運用を行ってはいるが、ノウハウの共有や知見を得る機会があまりないと感じております。 \r\n会社で所有しているドメインやDNSについて運用の手間やトラブルなどでお困りの方も、もしかすると多いのではないでしょうか。 \r\n\r\n本トークではドメイン登録代行サービスを使用した人力による運用を経て[AWS Route53](http:\/\/aws.amazon.com\/jp\/route53\/)にドメイン・DNSを集約するまでの背景やメリット、注意点を中心に会社としてどのように管理・運用するのがよいかを実例を交えてお話しいたします。 \r\n実体験や失敗談を時系列で追うことにより、皆様のお困りの点や今度どのようにするのがいいかなどの参考になればと思います。 \r\nまた、組織×運用×仕組みといった技術以外のところについても触れながら、ドメイン・DNSをどのように管理・運用するのがよいのかを考察したいと思います。 \r\n\r\n\r\n## トークテーマ(予定)\r\n- ドメイン・DNS管理\/運用の変移\r\n- [AWS Route53](http:\/\/aws.amazon.com\/jp\/route53\/)へドメイン・DNS管理の集約\r\n- [AWS Route53](http:\/\/aws.amazon.com\/jp\/route53\/)へのドメイン移管\r\n- [roadworker](https:\/\/github.com\/winebarrel\/roadworker)によるDNS管理への移行\r\n- CIによる[roadworker](https:\/\/github.com\/winebarrel\/roadworker)の自動化\r\n- 組織×運用×仕組みから見るドメイン・DNS管理\r\n- 事故った事例やトラブル\r\n \r\nwebサービスに携わるエンジニアの方々には広く知っていただきたい内容であるとは思いますが、特に以下に該当するような方に向けた内容とする予定としております。\r\n\r\n## 想定する対象者\r\n- ドメインやDNSについてなんとなく知っている方・興味のある方\r\n- 業務やプライベートでドメインやDNSの管理に関わっている方\r\n- ドメイン・DNSの管理でお困りの方\r\n- 他社のドメイン・DNS管理のノウハウを知りたい方\r\n\r\nまた、この辺りのノウハウを共有させていただきつつ皆様の運用テクニックなどの情報交換が出来ればと考えております。","category":"infra","duration":"30","sort_order":"0","start_on":"2015-08-21 11:40:00","created_on":"2015-05-13 09:28:00","material_level":"beginner","subtitles":"ja","member_id":"eeb01100-f76c-11e4-aee6-8ab37d574c3a"},{"abstract":"ここ最近のフロントエンドに対しては、\r\n\r\n------------\r\n\r\n* 流れが速すぎてついていけない\r\n* あるライブラリを使おうと思ったら今はみんな別のライブラリを使ってると言われてもう何を使えばいいかわからない\r\n* ビルドするのが当たり前になっていて、HTML\/CSS\/JavaScriptを少し修正したいだけなのにどうすればいいのかわからない\r\n* importやclassなど自分の知っているJavaScriptでない\r\n* せっかく覚えても半年後には使えない知識になっている\r\n\r\n------------\r\n\r\nという意見を聞きます。果たしてそうでしょうか?\r\n\r\nそこで本トークでは、サーバーサイドをメインで書いている人に向けてフロントエンドの今をいくつかのトピックに分けて解説します。\r\n\r\n例外もありますが、新しいライブラリは突然何の脈絡もなく登場したわけではなくそれまでの流れを踏まえて登場しています。\r\n\r\n本トークでは、個々のライブラリの使い方紹介ではなく、その背景や目的などに注目することで、 **点** ではなく **線** でフロントエンドの流れを掴めるようにしたいと思います。\r\nそれによって今後新しい何かが登場した場合にもその意味が捉えられやすくなるのではと考えています。\r\n\r\n変更の可能性はありますがトピックは下記のような内容を想定しています。それぞれが「なぜ生まれたのか」、「何を解決しようとしているのか」を解説します。\r\n\r\n------------\r\n\r\n* JavaScript Framework(library)\r\n* Isomorphic\r\n* Functional Reactive programming\r\n* Build tools\r\n* ES6, types, AST\r\n* Service Worker\r\n\r\n------------\r\n \r\nフロントエンドは別のエンジニアがいるから関係ないと思うかもしれませんが、フロントエンドでは何が出来るのか・何が問題なのかを把握しておくことはアプリケーションの設計やサーバーサイドの開発においてもきっと役に立つはずです。","duration":"60","sort_order":"0","category":"library","created_on":"2015-05-15 23:49:24","start_on":"2015-08-21 13:10:00","member_id":"37cd6d7e-f6be-11e4-b174-8ab37d574c3a","subtitles":"en","material_level":"regular","calendar_entry_id":null,"is_confirmed":"1","title":"今フロントエンドで何が起こっているのか","language":"ja","tags":null,"video_permission":"allow","title_en":"What's happening in frontend now?","slide_url":"https:\/\/speakerdeck.com\/koba04\/whats-happening-in-frontend-now\/","id":"94051590-fb11-11e4-a39d-8ab37d574c3a","status":"accepted","venue_id":"2","speaker":{"profile_image_url":"https:\/\/avatars.githubusercontent.com\/u\/250407?v=3","name":"Toru Kobayashi","id":"37cd6d7e-f6be-11e4-b174-8ab37d574c3a","nickname":"koba04"},"modified_on":"2015-05-15 23:49:24","memo":null,"abstract_html":" ここ最近のフロントエンドに対しては、<\/p>\n\n という意見を聞きます。果たしてそうでしょうか?<\/p>\n\n そこで本トークでは、サーバーサイドをメインで書いている人に向けてフロントエンドの今をいくつかのトピックに分けて解説します。<\/p>\n\n 例外もありますが、新しいライブラリは突然何の脈絡もなく登場したわけではなくそれまでの流れを踏まえて登場しています。<\/p>\n\n 本トークでは、個々のライブラリの使い方紹介ではなく、その背景や目的などに注目することで、 点<\/strong> ではなく 線<\/strong> でフロントエンドの流れを掴めるようにしたいと思います。\nそれによって今後新しい何かが登場した場合にもその意味が捉えられやすくなるのではと考えています。<\/p>\n\n 変更の可能性はありますがトピックは下記のような内容を想定しています。それぞれが「なぜ生まれたのか」、「何を解決しようとしているのか」を解説します。<\/p>\n\n フロントエンドは別のエンジニアがいるから関係ないと思うかもしれませんが、フロントエンドでは何が出来るのか・何が問題なのかを把握しておくことはアプリケーションの設計やサーバーサイドの開発においてもきっと役に立つはずです。<\/p>\n","has_interpratation":"0","video_url":null,"photo_permission":"allow"},{"venue_id":"2","speaker":{"nickname":"cho45","id":"6df9754c-f794-11e4-99f0-8ab37d574c3a","name":"cho45","profile_image_url":"https:\/\/avatars.githubusercontent.com\/u\/3092?v=3"},"id":"c61a32a4-f797-11e4-bcef-8ab37d574c3a","status":"accepted","slide_url":"https:\/\/docs.google.com\/presentation\/d\/1mLH9yS8ZChMKRGjBvy8xt3blSh_Ejjl8Ww-XfKzJUf8\/pub?start=false&loop=false&delayms=3000","photo_permission":"allow","video_url":null,"has_interpratation":"0","abstract_html":" WebAudio はウェブの世界では数少ない、リアル世界との接続方法を提供する技術の一つである。<\/p>\n\n ウェブから「ディスプレイに何かを表示する」以外の方法で、出力するだけならば何らかのユーザ同意をとることもなく、直接リアル世界と繋がると考えると、貴重な技術である。<\/p>\n\n 本セッションでは WebAudio を用いてモデムの実装をしながら、音声帯域の通信信号処理について簡単な紹介をしたい。<\/p>\n\n Perl (あるいは他の言語) を用いて料理・調理を自動化するという話をします. 2015年はプログラミング料理界にとって本当にエポックメーキングな年となっています.私は大変興奮しています!<\/p>\n\n 皆さんは nomiku<\/a>というデバイスをご存知でしょうか.nomiku は簡単に言うと,鍋に装着して使う料理器具で鍋の中の温度を一定に保ってくれるというデバイスとなっています.これにより,人間が火加減を逐一確かめて調節するという手間を省き,機械に調理を任せることが可能となります.<\/p>\n\n そして2015年,nomiku は更なる進化を遂げました.Wi-Fi を介して操作できる nomiku WiFi<\/a> が登場したのです. さらりと書きましたが,これはすさまじい事です! API を利用して料理をすることが可能な時代が到来しているのです! ワクワクするでしょう! 本トークではそうした Web API を用いた料理・調理の自動化<\/strong> が秘める可能性について,サンプルコードに Perl を使いながら発表したいと考えています.その実例として Perl を用いてローストビーフを自動化する事例を紹介予定です. 併せて,Arduino あるいはそれに準ずるデバイスを用いて nomiku クローンを実装する話についてもお話できればと考えています.<\/p>\n","memo":null,"video_url":null,"has_interpratation":"0","photo_permission":"allow","abstract":"Perl (あるいは他の言語) を用いて料理・調理を自動化するという話をします. \r\n料理は時間と手間がかかる営みですから,21世紀に生活する我々はこれを可能な限り自動化していく必要があります.\r\n\r\n## 話す内容\r\n\r\n2015年はプログラミング料理界にとって本当にエポックメーキングな年となっています.私は大変興奮しています!\r\n\r\n皆さんは [nomiku](http:\/\/www.nomiku.com\/)というデバイスをご存知でしょうか.nomiku は簡単に言うと,鍋に装着して使う料理器具で鍋の中の温度を一定に保ってくれるというデバイスとなっています.これにより,人間が火加減を逐一確かめて調節するという手間を省き,機械に調理を任せることが可能となります.\r\n\r\nそして2015年,nomiku は更なる進化を遂げました.Wi-Fi を介して操作できる [nomiku WiFi](http:\/\/www.nomiku.com\/collections\/featured\/products\/wifi-nomiku) が登場したのです. \r\nこのモデルは nomiku を遠隔地から操作するという機能を提供しているだけではなく,なんと __Web API の利用__ もサポートしています (しかもオープンソース!).nomiku 自体がサーバとなり,調理の為の Web アプリケーションを提供しているというイメージです.\r\n\r\nさらりと書きましたが,これはすさまじい事です! API を利用して料理をすることが可能な時代が到来しているのです! ワクワクするでしょう! \r\n日頃人間がこまめに様子を見ながら「この状態になったら弱火にする」などといった風にしている操作を,「状況に応じて適宜 API を叩く」というコードを書くことで自動化することが可能となるのです. \r\nさらに言えば,これはつまり「ソースコードを共有することで料理のレシピを共有出来る」「レシピの再現性が著しく向上する」という時代がすぐそこまで来ている事を意味しています!\r\n\r\n本トークではそうした __Web API を用いた料理・調理の自動化__ が秘める可能性について,サンプルコードに Perl を使いながら発表したいと考えています.その実例として Perl を用いてローストビーフを自動化する事例を紹介予定です. \r\nまた,nomiku は「煮る」という単一の調理方法しかサポートしていませんが,そこから一歩踏み込んで「焼く」「揚げる」「蒸す」といった他の調理方法に関して自動化を応用する事についても議論したいと思います. \r\n更なる応用として,crontab や CI などと組み合わせる事で生じる料理の自動化の広がりについても模索する予定です.\r\n\r\n併せて,Arduino あるいはそれに準ずるデバイスを用いて nomiku クローンを実装する話についてもお話できればと考えています.","category":"other","duration":"30","sort_order":"0","start_on":"2015-08-21 15:30:00","created_on":"2015-06-14 23:43:33","material_level":"beginner","subtitles":"en","member_id":"421af20c-0c75-11e5-b65f-67dc7d574c3a","calendar_entry_id":null,"title":"Yet Another Perl Cooking","is_confirmed":"1","tags":null,"language":"ja","video_permission":"allow","title_en":"Yet Another Perl Cooking"},{"abstract":"最近は microservices という言葉がバズっていますが、これから Web サービスの開発を始める人にとってみたら「 microservices ってなに?おいしいの?それって僕らの作りたい物にも役に立つの?」と思っている人が多いとおもいます。\r\n\r\n実は、私は昔からこのアーキテクチャに基づいた考え方で数多くのサービスを作り運用してきました。それらの知見を多くの方々の知識とノウハウにになる形に落とし込んで今回は発表しようと思います。\r\n\r\n\r\n本トークでは、そのような Web サービス開発現場の newbie から中級層の方向けに「 microservices 的なサービス設計方法」「スタートアップサービスでの現実的な microservices の取り入れ方」「それらのメリットデメリットを」「ある程度トラフィックが有るサービスでのキーポイント」などを中心として、「多人数チームでの開発方法」「サービス稼働中の仕様変更」「運用トラブル etc」などなど具体的に踏み込んだポイントまで、明日からの現場の仕事で役立つトピック満載でお送りする予定です。\r\n\r\n\r\n## 触れること\r\n\r\n- microservices とはなんぞや\r\n - メリット\/デメリット\r\n - microservices 化できるサービス\/できないサービスの切り分け\r\n- 具体的な実装時のポイント(実装例は Perl を想定する)\r\n - サービスを細かく切り分ける勘所\r\n - サーバ構成の考え方\r\n - 柔軟性が高い構成の指針\r\n - URI 設計\r\n - API の為の Protocol\r\n - ハマりがちなポイント\r\n - 性能評価手法\r\n - QA\/Deploy\r\n - リポジトリ戦略\r\n- 運用関連\r\n - メンテナンスに強くするためには\/実際のメンテナンス手順\r\n - 仕様変更の対応手法\/仕様変更に伴う問題対処方法\r\n - ドキュメント\r\n","category":"app","duration":"30","sort_order":"0","start_on":"2015-08-21 16:00:00","created_on":"2015-06-02 20:29:59","material_level":"regular","subtitles":"en","member_id":"8a26f6e8-0911-11e5-ae40-67dc7d574c3a","calendar_entry_id":null,"title":"大規模でも小中規模サービスでも捗る microservices な Web サービスのつくりかた","is_confirmed":"1","tags":null,"language":"ja","title_en":"How to develop microservices with Perl","video_permission":"allow","slide_url":null,"venue_id":"2","speaker":{"nickname":"yappo","profile_image_url":"https:\/\/avatars.githubusercontent.com\/u\/9958?v=3","name":"Kazuhiro Osawa","id":"8a26f6e8-0911-11e5-ae40-67dc7d574c3a"},"status":"accepted","id":"b396e912-091a-11e5-8d2d-67dc7d574c3a","modified_on":"2015-06-02 20:29:59","abstract_html":" 最近は microservices という言葉がバズっていますが、これから Web サービスの開発を始める人にとってみたら「 microservices ってなに?おいしいの?それって僕らの作りたい物にも役に立つの?」と思っている人が多いとおもいます。<\/p>\n\n 実は、私は昔からこのアーキテクチャに基づいた考え方で数多くのサービスを作り運用してきました。それらの知見を多くの方々の知識とノウハウにになる形に落とし込んで今回は発表しようと思います。<\/p>\n\n 本トークでは、そのような Web サービス開発現場の newbie から中級層の方向けに「 microservices 的なサービス設計方法」「スタートアップサービスでの現実的な microservices の取り入れ方」「それらのメリットデメリットを」「ある程度トラフィックが有るサービスでのキーポイント」などを中心として、「多人数チームでの開発方法」「サービス稼働中の仕様変更」「運用トラブル etc」などなど具体的に踏み込んだポイントまで、明日からの現場の仕事で役立つトピック満載でお送りする予定です。<\/p>\n\n 今年6月に公開されたJavaScript仕様の超大型アップデート ES6<\/strong> を紹介し、それによって変わるJSコーディングのベストプラクティスについて話します。<\/p>\n\n JavaScriptはWeb開発では必須のポピュラーな言語でありながら、その言語仕様は「クセ」が強いことで知られています。<\/p>\n\n 関数スコープ、暗黙の型変換、プロトタイプ継承、ホイスティング、配列の「ような」オブジェクト、new、...etc<\/p>\n\n そんなJavaScriptとの長年の格闘を経て、Effective JavaScript<\/a>、JavaScript: The Good Parts<\/a>といったベストプラクティスが生み出され、普及していきました。<\/p>\n\n ときは流れて、今年6月に待望の最新仕様ECMAScript 6が公開されました。<\/strong> ES5から5年、大幅なアップデートとなるES6は、これまであったJavaScriptの多くの落とし穴をふさいでくれます。ES5時代に使われたベストプラクティスの中には、ES6の登場によって置き換えられるものが多数あります。<\/p>\n\n このトークでは、ES6で導入された新しい機能を紹介し、それによってこれまでのベストプラクティスがどう変化するかを話します。また、各ブラウザの実装状況、トランスパイラの存在、ES6以降の仕様策定などを踏まえて、これからのES6との付き合い方についても話します。<\/p>\n\n JavaScriptのエキスパート向けではなく、Webに関わる全てのエンジニアにとって、JavaScriptの現状&未来確認に役立つトークになればと思います。<\/p>\n\n 空をとぶということは有史以来の人類の夢である。それゆえ実現するには相応の困難が待ち構えている。<\/p>\n\n その中でクアッドコプター(4枚のプロペラを持った回転翼機)というジャンルは単純な機構でありながら、センサーとフィードバック制御の力で本来航空力学的に不安定であるはずの形状を制御することに成功した形態である。<\/p>\n\n 昨年のトーク<\/a>では、様々なIoT向けキットを紹介しつつ組み合わせてものを作る方法を提案したが、今回のトークでは既成品を利用して<\/p>\n\n をテーマにPerlでドローン(=自立飛行する航空機)を作るのを目指す。<\/p>\n\n 「データ構造やアルゴリズム、計算量について知っておく事は、プログラマにとって、とても大切なことです」といろんなところで言われています。一方で「そんなの知らなくっても降ってくるお仕事は片付けられるもんねー」というのも、まあ、たしかにそうですね、という感じがします。でも、データ構造と計算量のことを知らないでいると、カジュアルに下手なインデックスを貼ってしまったり、単純な集計のはずなのに6時間動き続けて返ってこない……のようなスクリプトを書いてしまったりすることがあるので、やっぱり、プログラマにとってデータ構造やアルゴリズム、計算量の基本を知っているというのは、とても大切なことなんじゃないかな、とわたしは思っています。少なくとも、「計算機の気持ちになってコードを読み書きする」ときの助けになることはたしかです。<\/p>\n\n でも、やっぱり計算量の話とかって、とっつきづらいですよね。「でもさー。わたし、文系なんだよね。なんか計算量がどうこうとかいうひとたちって数式でしゃべるじゃん。log とか? アクセスログかよって思う。日本語でしゃべれって感じだよね」みたいな。わたしも文系卒なので、そんな気持ちはよくわかります。というか、わたしはそう思っていました。この発表は、そんなひとたち(つまり、昔の自分)がなるべく苦痛を感じないようにデータ構造と計算量に触れ、その後の独学独習の助けになるような基礎的な知識をつけてもらうことがゴールです。<\/p>\n\n C言語による解説が一部入るかもしれませんが、多くのサンプルコードはPerlで記述する予定なので、C言語に苦手意識のある方でも楽しんで聴いていただけるのではないかと思います。<\/p>\n\n 以上のデータ構造について見ていきながら、時間計算量について、なるべく平易に、しかし嘘をつかないように、実際の事例を交えながら学んでいきます。<\/p>\n\n PietはDavid Morgan-Marが考案したスタック指向プログラミング言語で、ソースコードがドット絵で表現されることが特徴です。Piet話者は文字の代わりにドットを打つことでプログラムを記述し、変数の代わりにスタックに整数を保存することで計算を行います。\nこのトークではプログラミング言語PietへのチュートリアルとPietでLISP処理系を実装するのは難しいねという話をします。<\/p>\n\n 私がPietと出会ったのは今年の3月でした。\n私が所属しているサークル「京大マイコンクラブ(KMC)」では毎年3月に部員が1年の間に得た知見を発表しあう春合宿というイベントが開かれます。そこにはKMC現代表のdamaさんによる「Pietのエディタを作った話」<\/a>があったのです。当時難解プログラミング言語といえばBrainf*ckおよびその派生言語しか知らなかった私にPietは大きな衝撃を与えました。スタックという高度なデータ構造。豊富な命令セット。秩序だった命令実行システム。これほどパワフルな言語機能を備え、それでもなお難解プログラミング言語でありつづけられるPietは、ただ読みにくい言語以上の奥深い何かを秘めているように感じられます。YAPC::Asia Tokyo 2015でPietによるプログラミングの楽しさ、Pietプログラムの美しさなどについて伝えられれば幸いです。<\/p>\n\n LISP処理系を書いてみようというモチベーションが生まれます。<\/p>\n\n PietでLISP処理系を書くのは難しい<\/a> from Hideaki Nagamine<\/a> <\/p><\/li>\n<\/ul>\n","memo":null,"modified_on":"2015-06-08 23:31:57","photo_permission":"allow","video_url":null,"has_interpratation":"0","speaker":{"profile_image_url":"https:\/\/avatars.githubusercontent.com\/u\/7394250?v=3","name":"Hideaki Nagamine","id":"88bb98ae-083f-11e5-96b5-79c97d574c3a","nickname":"1995hnagamin"},"venue_id":"3","id":"1da55daa-0deb-11e5-944c-67dc7d574c3a","status":"accepted","slide_url":null,"title":"PietでLISP処理系を書くのは難しい","is_confirmed":"1","calendar_entry_id":null,"video_permission":"allow","title_en":null,"tags":null,"language":"ja","category":"tutorial","sort_order":"0","duration":"30","abstract":"# 概要\r\nPietはDavid Morgan-Marが考案したスタック指向プログラミング言語で、ソースコードがドット絵で表現されることが特徴です。Piet話者は文字の代わりにドットを打つことでプログラムを記述し、変数の代わりにスタックに整数を保存することで計算を行います。\r\nこのトークではプログラミング言語PietへのチュートリアルとPietでLISP処理系を実装するのは難しいねという話をします。\r\n\r\n# これは何ですか\r\n私がPietと出会ったのは今年の3月でした。\r\n私が所属しているサークル「京大マイコンクラブ(KMC)」では毎年3月に部員が1年の間に得た知見を発表しあう春合宿というイベントが開かれます。そこにはKMC現代表のdamaさんによる[「Pietのエディタを作った話」](http:\/\/www.slideshare.net\/KMC_JP\/piet-46068527)があったのです。当時難解プログラミング言語といえばBrainf*ckおよびその派生言語しか知らなかった私にPietは大きな衝撃を与えました。スタックという高度なデータ構造。豊富な命令セット。秩序だった命令実行システム。これほどパワフルな言語機能を備え、それでもなお難解プログラミング言語でありつづけられるPietは、ただ読みにくい言語以上の奥深い何かを秘めているように感じられます。YAPC::Asia Tokyo 2015でPietによるプログラミングの楽しさ、Pietプログラムの美しさなどについて伝えられれば幸いです。\r\n\r\n# これは具体的に何ですか\r\n* Pietとは\r\n* Pietの言語仕様の解説\r\n* 簡単なプログラムの実装\r\n * Hello, World!\r\n * 電卓\r\n * PietによるCGIアプリケーション\r\n* LISP処理系の設計概観\r\n* LISP処理系の実装\r\nといった話をします。時間の都合や実装が完成しなかったなどの理由で構成は変更されることがあります。\r\n\r\n# どのようなメリットがありますか\r\n* PietでWebアプリケーションが書けるようになります。\r\n* Factorなど他のスタック指向プログラミング言語を学ぶ際のステップになります。\r\n* LISP処理系を書いてみようというモチベーションが生まれます。\r\n\r\nPerlワンライナー便利です<\/h2>\n\n
-M<\/code>オプションもございます)<\/p>\n\n
内容<\/h2>\n\n
\n
ハンズオン用の資料<\/h3>\n\n
\n
\n
「PHP帝国は滅んでいない。新たなる希望を待ち、逆襲の機会を虎視眈々とねらっている」<\/h1>\n\n
想定している主なトークキーワードは以下の通り<\/h1>\n\n
\n
アジェンダ(予定)<\/h2>\n\n
\n
\n
\n
Links!<\/h4>\n\n
\n
発表内容(予定)<\/h2>\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\nInfrastructure as Codeが叫ばれる昨今、ドメインやDNS管理・運用にもその波が押し寄せておりますが皆様いかがお過ごしでしょうか。 <\/p>\n\n
\n運用や管理といった分野は各社のエンジニアや担当者がそれぞれ構築した仕組みやルールで運用を行ってはいるが、ノウハウの共有や知見を得る機会があまりないと感じております。
\n会社で所有しているドメインやDNSについて運用の手間やトラブルなどでお困りの方も、もしかすると多いのではないでしょうか。 <\/p>\n\n
\n実体験や失敗談を時系列で追うことにより、皆様のお困りの点や今度どのようにするのがいいかなどの参考になればと思います。
\nまた、組織×運用×仕組みといった技術以外のところについても触れながら、ドメイン・DNSをどのように管理・運用するのがよいのかを考察したいと思います。 <\/p>\n\nトークテーマ(予定)<\/h2>\n\n
\n
想定する対象者<\/h2>\n\n
\n
\n\n\n
\n\n
\n\n\n
\n\nWebAudio によるコネクティビティの向上<\/h3>\n\n
概要<\/h3>\n\n
\n
喋ろうとしている\/喋るかもしれないキーワード:<\/h3>\n\n
\n
想定観客層<\/h3>\n\n
\n
\n料理は時間と手間がかかる営みですから,21世紀に生活する我々はこれを可能な限り自動化していく必要があります.<\/p>\n\n話す内容<\/h2>\n\n
\nこのモデルは nomiku を遠隔地から操作するという機能を提供しているだけではなく,なんと Web API の利用<\/strong> もサポートしています (しかもオープンソース!).nomiku 自体がサーバとなり,調理の為の Web アプリケーションを提供しているというイメージです.<\/p>\n\n
\n日頃人間がこまめに様子を見ながら「この状態になったら弱火にする」などといった風にしている操作を,「状況に応じて適宜 API を叩く」というコードを書くことで自動化することが可能となるのです.
\nさらに言えば,これはつまり「ソースコードを共有することで料理のレシピを共有出来る」「レシピの再現性が著しく向上する」という時代がすぐそこまで来ている事を意味しています!<\/p>\n\n
\nまた,nomiku は「煮る」という単一の調理方法しかサポートしていませんが,そこから一歩踏み込んで「焼く」「揚げる」「蒸す」といった他の調理方法に関して自動化を応用する事についても議論したいと思います.
\n更なる応用として,crontab や CI などと組み合わせる事で生じる料理の自動化の広がりについても模索する予定です.<\/p>\n\n触れること<\/h2>\n\n
\n
\n
\n
\n
いまだにES5時代のJS書いてませんか?<\/h1>\n\n
\n\n話す内容<\/h2>\n\n
\n
スピーカー<\/h2>\n\n
\n
\n
このトークで伝えたいこと<\/h4>\n\n
\n
対象者<\/h4>\n\n
\n
このトークで話すこと<\/h4>\n\n
\n
\n
\n
概要<\/h1>\n\n
アジェンダ(仮)<\/h1>\n\n
\n
対象となる方<\/h1>\n\n
\n
対象とならない方<\/h1>\n\n
\n
概要<\/h1>\n\n
これは何ですか<\/h1>\n\n
これは具体的に何ですか<\/h1>\n\n
\n
\n
どのようなメリットがありますか<\/h1>\n\n
\n