インターネットの普及とともに、インターネットを支える主要技術の多くを構築する OSS はより一般的なものとなりました。特に Web サービスやモバイルアプリケーションを開発する会社にとっては、コードを書く上で避けては通れないものとなりました。
OSS は小さいライブラリから、プロダクションで使用するようなフレームワーク、大規模なサービスを支えるミドルウェア、OS や言語のようなプログラミングの根幹とも言えるような要素など、ソフトウェアのコードベースの大小こそあるものの、それらは全て OSD に準拠しているものであり、誰でもコードを読むことができ、ソフトウェアによってはコントリビュートすることも可能です。
近年では GitHub の普及により、ライブラリやフレームワークについては身近なものとなりましたが、ミドルウェア、言語、OSについては GitHub を用いない開発スタイルも多く存在し、雲の上のような存在に感じるのではないかと思います。しかし、GitHub というツールの種類に関係なく、OSSというものはプログラマに身近なものです。
本発表では、Ruby というプログラミング言語のメンテナという立場から、プログラミング言語を例としてどのように開発の意思決定を行い、実装し、リリースされるかまでの一連の流れを紹介し、言語開発の見えない部分について露わにしたいと思います。
遠い昔、はるか彼方の銀河系で…はなくて、去年、私は 私が愛するPHPはまだまだイケてる! とホールで叫び、なんと皆様からベストトーク賞をいただけたYAPC::Asia Tokyo 2014から1年が経ちました。
あれからPHPに新しい事は起こったか?勿論起こりましたし、さらに 起こりつつあります! 皆さんに是非お届けしなければ!ということで、今年もPHPの話をさせてください!
次のPHPは5.6から一気に7にバージョンアップされます 。「5.6の次が7って、おくればせながら流行にのってメジャーバージョンを切り捨てて5.7を7にしただけじゃないか?」なんてことはなく、メジャーバージョンアップにふさわしく変わります。
PHPなりに 高速に、安全に、パワフルに 生まれ変わりを果たそうとしています。その 来たるべき近未来であるPHP7 とその仲間達(周辺)について、オイシそうな所、気になる所を知っていただければと思います。
ところでPHP7は今開発中で、stable releaseは年末予定です。stableでない話に意味があるのかと思われるかもしれません。しかし、先日Alpha版がリリースされ、試していく土壌はもうできたと言えます!きっとYAPCまでにはかなりの完成度になることでしょう!(去年のYAPC::Asiaの初日に5.6がリリースされてスライドを書き直した事を思い出します…)
また、去年は「Perl Monger向け、或いはPHPをあまり知らない人向けトーク(半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情(5.6対応))」でご好評をいただきましたが、 私の目標である「PHP仲間をふやすぞ!」 は進捗いまいち…、どうやらPHP仲間を増やすには、入門だけではない話をしなければならないようです!
すでにPHPを使っている方ついても、もっと実践的に、そして興味深くなるように、yumではいるApache+mod_PHPに適当にのっけただけ…、とはひと味違う、新しい感じがするPHPの構成の具体例をお話します!
また、PHPには長らく存在しなかった($_GETとか、グローバル変数だった…)request/responseまわりがPSR-7という形で、多くのWAFがこれに準拠する動きを見せており、今後内部リクエストやテストがやりやすくなるのでは?と話題になっています。 もしこれがうまく普及すれば、PHPの泥臭さは一変する可能性を秘めていると思います。気になりますよね?
PHPは前進をつづけています!!
そう、PHPerの未来は明るいんだ!!
話さない事:PHP7内部実装等の話は しません 、WAFの使い方的な話も しません 。
勿論今回も 幅広い層、特にPerl Mongerの皆様に合わせたお話をさせていただきたい と思いますが、実際に今PHPを使われている方でも興味深いように、モダンを通り越して、まだ来ていない未来の話をします。
PHPをなんとなく使っている人、PHPとか遅いんでしょ?って思ってる人、PHPは他の言語と違いすぎるから…なんて勘違い(?)している人、とにかくPHPを滅ぼすためにもヤジを飛ばしたい人。是非 応援(上のボタンのシェアやいいね!)宜しくお願い致します!
たくさんの技術があるなかで、適切な場面で適切な技術を選択するのは大切です。 自分が働いているフリークアウトはアドテクと呼ばれる業態です。perlで業務を行っています。 弊社の業務ではログファイルなどで何十万行程度のテキストファイルからアドホックにデータを抽出・加工するような業務が頻出します。 自分はそういった場面ではperlを選択するのが最善ではないかと思っています。
pythonで5分かかる作業を30秒で書いたワンライナーがなんとかしてくれる様子は「Practical Extraction and Report Language(実用データ取得レポート作成言語)」の面目躍如といった趣があります。
似た領域の技術にawkがありますが、かなりややこしいことまで出来るperlワンライナーをおぼえておいても損はないはずです(-Mオプションもございます)
この発表ではperlワンライナー初心者を対象にしています。ハンズオンで下記内容でやるつもりです。
はてなブックマークの「トピックページ」の作り方について解説します。 トピックページとは、話題の記事の中から関連性の高い記事をまとめることにより、インターネット上で話題となったトピックを閲覧できるページです。 はてなブックマークに蓄積された過去10年分の記事データを利用することにより、過去10年間の話題から最新の話題までを閲覧できるようになっています。
「トピック」機能は、これまで何人かのエンジニアが挑戦してきましたが、トピック生成の精度が低いという問題やトピックタイトル生成が難しいという問題により実現できていませんでした。 これらの問題をElasticsearch と自然言語処理技術を活用することにより解決したので、そのアプローチを紹介します。
OSSとして公開されるソフトウェアは多くありますが、そのうち広く世に出るものはあまり多くありません。また開発者コミュニティやユーザコミュニティが形成されるところまで成長するものはごく一部といって良いでしょう。
ライブラリ等ではそれでも特に問題はありませんが、高機能なミドルウェアなどになると多くのユーザがつかないとオリジナル開発者が想定した以外のユースケース発見やコーナーケースにおけるバグ発見などが十分に行われず、プロダクトの品質も上がらない、といったようなこともあります。 また日本国内では比較的よく使われても、米国を含めた国外ではあまり知られないまま、というケースも多く存在します。特にミドルウェア等については有名な巨大サービス企業が発表したものとそれ以外で顕著な差があり、開発者個人として何ができるのかを考えることも多くはないでしょうか。
このトークでは、いちソフトウェア技術者としてOSSプロダクトを作り公開しメンテナンスし、また世に広めるための活動をする中で、我々がするべきことは何か、やったほうがいいことは何かなどを、FluentdやNorikraといったソフトウェアにおける経験をもとに他の例も見ながら議論したいと思います。
エンジニアには、なぜか「技術」についてブログに書き残すという文化があるということはここでは言うまでもないと思います。
新たに投稿されるエントリを見かけない日はなく、なんらかの技術について書かれたエントリが毎日のようにエンジニア界隈を賑わせています。
技術ブログの内容は人それぞれです。 自分が注目している流行りの技術の紹介であったり、自分が作ったソフトウェアの紹介であったりします。 ときには「ポエム」と呼ばれるような、技術を通して自分の考え方や生き方を表現したものもあります。
その技術ブログの評価システムの代表的なもののうちの1つとして、はてなブックマークがあります。 テクノロジーカテゴリのホットエントリを日常的に眺めて、技術そのものもしくはエンジニア界隈の情報を仕入れたり、エントリにつけられるブックマーク数をブログを書くモチベーションにされている方も多いのではないでしょうか。
発表者もそのうちの1人です。趣味が高じて、最近では、はてなブックマーク200users以上のブログエントリを月刊投稿する、ということを目標にしています。
技術ブログで毎月200users以上を確実に達成しようとするのは想像以上に困難です。 そもそも自身とブログへの向き合い方から見直す必要がありました。
最初は目標を達成するだけで満足していました。しかし、コンスタントに目標を達成できるようになってくると、単に200usersを達成するだけには飽きてきて、徐々にこだわりがでてきます。 こだわりとは、例えば、技術文章として格式のあるものにする、エントリタイトルで煽らない、エンジニアの採用活動につなげる、自分にできるかぎり硬派な技術について書くといったものです。
このような活動を続けていくと、200usersを目標にしていたはずが、気づけば先日書いたエントリで1000usersを達成しました。
もちろん、1000usersというのは所詮はただの数字です。 しかし、そこに到達する過程には、数字以上の意味を持たせたくなります。 「はてなブックマークはタイトルが9割」といった小手先の人気取り的なテクニックはもちろん、「煽る必要はない」、「ネガティブコメントは正攻法でねじ伏せられる」などといった技術ブログ体験を良くするためのいくつかの知見を得られました。 さらには、文章を書くという行為を通して、自身のエンジニアとしてのキャリアや生き方を考えるきっかけにもなりました。
これらの経験を元に、本発表では、以下のような方々を対象に、正攻法ではてなブックマーク1000usersを獲得するための技術、あるいはその精神について語ります。
blog: http://yuuki.hatenablog.com/
Let the festivities begin!!
Ho, ho, ho!
(編注:Perl6は今年のクリスマスのリリースに向けて準備中らしいですよ!)
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.
昨今 Deep Learning がもてはやされていますが、その前にパーセプトロンだけではなく、私が研究で利用してきた下記のようなニューラルネットワークについて紹介したいと思います。
上記を知った上で Deep Learning を適用することで更に様々な分野への適用などを考えられるのではないでしょうか。
はじめまして、こんにちは!jigyakkumaです!!!!!1
Infrastructure as Codeが叫ばれる昨今、ドメインやDNS管理・運用にもその波が押し寄せておりますが皆様いかがお過ごしでしょうか。
私が所属している組織では取り扱うドメイン・DNSの数が比較的多く、管理・運用でのベストプラクティスを日夜模索しながら改善を行っている状況です。
運用や管理といった分野は各社のエンジニアや担当者がそれぞれ構築した仕組みやルールで運用を行ってはいるが、ノウハウの共有や知見を得る機会があまりないと感じております。
会社で所有しているドメインやDNSについて運用の手間やトラブルなどでお困りの方も、もしかすると多いのではないでしょうか。
本トークではドメイン登録代行サービスを使用した人力による運用を経てAWS Route53にドメイン・DNSを集約するまでの背景やメリット、注意点を中心に会社としてどのように管理・運用するのがよいかを実例を交えてお話しいたします。
実体験や失敗談を時系列で追うことにより、皆様のお困りの点や今度どのようにするのがいいかなどの参考になればと思います。
また、組織×運用×仕組みといった技術以外のところについても触れながら、ドメイン・DNSをどのように管理・運用するのがよいのかを考察したいと思います。
webサービスに携わるエンジニアの方々には広く知っていただきたい内容であるとは思いますが、特に以下に該当するような方に向けた内容とする予定としております。
また、この辺りのノウハウを共有させていただきつつ皆様の運用テクニックなどの情報交換が出来ればと考えております。
今年6月に公開されるJavaScript仕様の超大型アップデート ES6 を紹介し、それによって変わるJSコーディングのベストプラクティスについて話します。
JavaScriptはWeb開発では必須のポピュラーな言語でありながら、その言語仕様は「クセ」が強いことで知られています。
関数スコープ、暗黙の型変換、プロトタイプ継承、ホイスティング、配列の「ような」オブジェクト、new、...etc
そんなJavaScriptとの長年の格闘を経て、Effective JavaScript、JavaScript: The Good Partsといったベストプラクティスが生み出され、普及していきました。
ときは流れて、今年6月に待望の最新仕様ECMAScript 6が公開されます。 ES5から5年、大幅なアップデートとなるES6は、これまであったJavaScriptの多くの落とし穴をふさいでくれます。ES5時代に使われたベストプラクティスの中には、ES6の登場によって置き換えられるものが多数あります。
このトークでは、これまで信じられてきたJavaScriptコーディングのベストプラクティスと対比して、これからのES6時代のベストプラクティスを提示します。また、各ブラウザの実装状況、トランスパイラの存在、ES6以降の仕様策定などを踏まえて、これからのES6との付き合い方についても話します。
Webに関わる全てのエンジニアにとって、JavaScriptの現状&未来確認に役立つトークになればと思います。
週末兼業から始まったプロジェクト
「鍵ロボットをつくりたい」
大手メーカーとIT系ベンチャーに所属する若手エンジニアたちが、一つのハードウェアデバイスをつくるために、 会社を辞め、起業し、プロトタイプをつくり、量産機を工場でつくり、出荷するまでの駆け抜けた半年間。
今回はWebエンジニアとして生きてきた自分が、どうやって組み込みのセカイに足を踏み入れたのか、 待ち構えていたハードルをどうやって乗り越えたのか、Webエンジニアだったからできたことはなんなのか? デジタル(ソフト)なセカイだけでは知らなかった、0から1にするまでの間のアナログ(ハード)なできごとを包み隠さず話します。
トークの内容(予定)
他
Miiverse とは任天堂株式会社が運営しているウェブサービスであり、世界中の Wii U やニンテンドー3DS、そして PC やスマートデバイスから利用することができます。
AWS 上でマルチリージョン構成をとり大量のサーバを抱える Miiverse のデプロイを支える技術と運用上の工夫、そして株式会社はてなと任天堂株式会社が共同で開発する Git リポジトリの同期システムの構築を通して得られた経験をもとに、大規模なウェブサービスを素早くかつ安全に改善する方法を紹介します。
TBD
ここ最近のフロントエンドに対しては、
という意見を聞きます。果たしてそうでしょうか?
そこで本トークでは、サーバーサイドをメインで書いている人に向けてフロントエンドの今をいくつかのトピックに分けて解説します。
例外もありますが、新しいライブラリは突然何の脈絡もなく登場したわけではなくそれまでの流れを踏まえて登場しています。
本トークでは、個々のライブラリの使い方紹介ではなく、その背景や目的などに注目することで、 点 ではなく 線 でフロントエンドの流れを掴めるようにしたいと思います。 それによって今後新しい何かが登場した場合にもその意味が捉えられやすくなるのではと考えています。
変更の可能性はありますがトピックは下記のような内容を想定しています。それぞれが「なぜ生まれたのか」、「何を解決しようとしているのか」を解説します。
フロントエンドは別のエンジニアがいるから関係ないと思うかもしれませんが、フロントエンドでは何が出来るのか・何が問題なのかを把握しておくことはアプリケーションの設計やサーバーサイドの開発においてもきっと役に立つはずです。
空をとぶということは有史以来の人類の夢である。それゆえ実現するには相応の困難が待ち構えている。
その中でクアッドコプター(4枚のプロペラを持った回転翼機)というジャンルは単純な機構でありながら、センサーとフィードバック制御の力で本来航空力学的に不安定であるはずの形状を制御することに成功した形態である。
昨年のトークでは、様々なIoT向けキットを紹介しつつ組み合わせてものを作る方法を提案したが、今回のトークでは既成品を利用して
をテーマにPerlでドローン(=自立飛行する航空機)を作るのを目指す。
ウェブアプリケーションの実行基盤は、NCSA Httpd と CGI の組み合わせに始まり、Apache と専用モジュールを組み合わせる手法を経て、リバースプロキシと HTTP を理解するアプリケーションサーバを使う現在の形へと進化してきました。
そして、そのアーキテクチャもまた、HTTP/2 の登場、マイクロサービシズやクラウドの一般化といった要素により変化が求められるようになってきています。
本セッションでは、Server::Starter や HTTP::Parser::XS, Starlet といった多くのウェブアプリケーションで使われているモジュールの開発者であり、また、HTTP/2 時台のウェブサーバとして注目されている H2O の開発者でもある講演者が、これからの時代にふさわしいウェブアプリケーション実行基盤について説明します。
カヤックが運営しているスマートフォン向けSNS Lobi は、Amazon Web Services(AWS)上でHashicorp社が開発しているオーケストレーションツール Consul を活用し、EC2インスタンス100台規模のサーバと、AWSのマネージドサービスを利用して運用しています。
Consulの機能と、それを活用するために開発したOSSとともに実践的に運用している事例をご紹介します。
consul execの応用Lobiについて
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.
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.
WebAudio はウェブの世界では数少ない、リアル世界との接続方法を提供する技術の一つである。
ウェブから「ディスプレイに何かを表示する」以外の方法で、出力するだけならば何らかのユーザ同意をとることもなく、直接リアル世界と繋がると考えると、貴重な技術である。
本セッションでは WebAudio を用いてモデムの実装をしながら、音声帯域の通信信号処理について簡単な紹介をしたい。
「データ構造やアルゴリズム、計算量について知っておく事は、プログラマにとって、とても大切なことです」といろんなところで言われています。一方で「そんなの知らなくっても降ってくるお仕事は片付けられるもんねー」というのも、まあ、たしかにそうですね、という感じがします。でも、データ構造と計算量のことを知らないでいると、カジュアルに下手なインデックスを貼ってしまったり、単純な集計のはずなのに6時間動き続けて返ってこない……のようなスクリプトを書いてしまったりすることがあるので、やっぱり、プログラマにとってデータ構造やアルゴリズム、計算量の基本を知っているというのは、とても大切なことなんじゃないかな、とわたしは思っています。少なくとも、「計算機の気持ちになってコードを読み書きする」ときの助けになることはたしかです。
でも、やっぱり計算量の話とかって、とっつきづらいですよね。「でもさー。わたし、文系なんだよね。なんか計算量がどうこうとかいうひとたちって数式でしゃべるじゃん。log とか? アクセスログかよって思う。日本語でしゃべれって感じだよね」みたいな。わたしも文系卒なので、そんな気持ちはよくわかります。というか、わたしはそう思っていました。この発表は、そんなひとたち(つまり、昔の自分)がなるべく苦痛を感じないようにデータ構造と計算量に触れ、その後の独学独習の助けになるような基礎的な知識をつけてもらうことがゴールです。
C言語による解説が一部入るかもしれませんが、多くのサンプルコードはPerlで記述する予定なので、C言語に苦手意識のある方でも楽しんで聴いていただけるのではないかと思います。
以上のデータ構造について見ていきながら、時間計算量と空間計算量について、なるべく平易に、しかし嘘をつかないように、実際の事例を交えながら学んでいきます。
日本のWeb業界において古くから利用されているPerl。 そのためか、「Perlといえばベテランエンジニアのもの」といったイメージをもたれがちなのではないでしょうか。 一方、モバイルファクトリーを含め、開発言語にPerlを採用している多くの企業では、若手エンジニアが活躍しています。
本コンテンツでは、各社の若手エンジニアを招いた座談会で「Perl=ベテラン」というイメージを払拭したいと思います。 ※登壇者は各社調整中。決まり次第追記します。
@zoncoenさん
ファシリテーター:@crazygirl_lover
発表者は,この三年間はてなブログというイケてるPerlのサービスの開発に携ってきました…
Perlの最新を追い求め続けた三年間でした…
なにも分からず,SQLをコピペし続けた数ヶ月…
つらいことも,たのしいことも,みんな分かちあったコードベース…
救いを求め,藁にもすがる思いで,朝も夜も読み続けたオブジェクト指向入門……
偶然発見して,これだと思ったドメイン駆動設計……
苦しみの軌跡と,現在最高の設計を紹介します………!!!!!!!
Common::ネームスペースApp::PRT (YAPC 2014参照)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.
The talk is directed at anyone who has written code for the web. It will cover the following ground:
「esa」は esa LLC が開発・運営しているチーム向けMarkdownドキュメント共有サービスです。2015年1月に正式リリースされてから約半年、βテスト期間も含めると1年ほどになります。
本トークではエンジニア1人とデザイナー1人で開発・運営・経営・営業などを行う上で考えたこと、経験したことなどを中心に、オフの時間に趣味で作り始めたWebサービスを事業化することについてお話したいと考えています。
Perl (あるいは他の言語) を用いて料理・調理を自動化するという話をします.
料理は時間と手間がかかる営みですから,21世紀に生活する我々はこれを可能な限り自動化していく必要があります.
2015年はプログラミング料理界にとって本当にエポックメーキングな年となっています.私は大変興奮しています!
皆さんは nomikuというデバイスをご存知でしょうか.nomiku は簡単に言うと,鍋に装着して使う料理器具で鍋の中の温度を一定に保ってくれるというデバイスとなっています.これにより,人間が火加減を逐一確かめて調節するという手間を省き,機械に調理を任せることが可能となります.
そして2015年,nomiku は更なる進化を遂げました.Wi-Fi を介して操作できる nomiku WiFi が登場したのです.
このモデルは nomiku を遠隔地から操作するという機能を提供しているだけではなく,なんと Web API の利用 もサポートしています (しかもオープンソース!).nomiku 自体がサーバとなり,調理の為の Web アプリケーションを提供しているというイメージです.
さらりと書きましたが,これはすさまじい事です! API を利用して料理をすることが可能な時代が到来しているのです! ワクワクするでしょう!
日頃人間がこまめに様子を見ながら「この状態になったら弱火にする」などといった風にしている操作を,「状況に応じて適宜 API を叩く」というコードを書くことで自動化することが可能となるのです.
さらに言えば,これはつまり「ソースコードを共有することで料理のレシピを共有出来る」「レシピの再現性が著しく向上する」という時代がすぐそこまで来ている事を意味しています!
本トークではそうした Web API を用いた料理・調理の自動化 が秘める可能性について,サンプルコードに Perl を使いながら発表したいと考えています.その実例として Perl を用いてローストビーフを自動化する事例を紹介予定です.
また,nomiku は「煮る」という単一の調理方法しかサポートしていませんが,そこから一歩踏み込んで「焼く」「揚げる」「蒸す」といった他の調理方法に関して自動化を応用する事についても議論したいと思います.
更なる応用として,crontab や CI などと組み合わせる事で生じる料理の自動化の広がりについても模索する予定です.
併せて,Arduino あるいはそれに準ずるデバイスを用いて nomiku クローンを実装する話についてもお話できればと考えています.
最近は microservices という言葉がバズっていますが、これから Web サービスの開発を始める人にとってみたら「 microservices ってなに?おいしいの?それって僕らの作りたい物にも役に立つの?」と思っている人が多いとおもいます。
実は、私は昔からこのアーキテクチャに基づいた考え方で数多くのサービスを作り運用してきました。それらの知見を多くの方々の知識とノウハウにになる形に落とし込んで今回は発表しようと思います。
本トークでは、そのような Web サービス開発現場の newbie から中級層の方向けに「 microservices 的なサービス設計方法」「スタートアップサービスでの現実的な microservices の取り入れ方」「それらのメリットデメリットを」「ある程度トラフィックが有るサービスでのキーポイント」などを中心として、「多人数チームでの開発方法」「サービス稼働中の仕様変更」「運用トラブル etc」などなど具体的に踏み込んだポイントまで、明日からの現場の仕事で役立つトピック満載でお送りする予定です。
PietはDavid Morgan-Marが考案したスタック指向プログラミング言語で、ソースコードがドット絵で表現されることが特徴です。Piet話者は文字の代わりにドットを打つことでプログラムを記述し、変数の代わりにスタックに整数を保存することで計算を行います。 このトークではプログラミング言語PietへのチュートリアルとPietでLISP処理系を実装するのは難しいねという話をします。
私がPietと出会ったのは今年の3月でした。 私が所属しているサークル「京大マイコンクラブ(KMC)」では毎年3月に部員が1年の間に得た知見を発表しあう春合宿というイベントが開かれます。そこにはKMC現代表のdamaさんによる「Pietのエディタを作った話」があったのです。当時難解プログラミング言語といえばBrainf*ckおよびその派生言語しか知らなかった私にPietは大きな衝撃を与えました。スタックという高度なデータ構造。豊富な命令セット。秩序だった命令実行システム。これほどパワフルな言語機能を備え、それでもなお難解プログラミング言語でありつづけられるPietは、ただ読みにくい言語以上の奥深い何かを秘めているように感じられます。YAPC::Asia Tokyo 2015でPietによるプログラミングの楽しさ、Pietプログラムの美しさなどについて伝えられれば幸いです。
Perl6 のリリースが近づいてくる中で、いい加減触ってみるか! という方も多いと思います。 一方で、Perl6 ってライブラリが全然ないし、なにもできること無いんじゃないの? という感想をお持ちの方もいらっしゃることでしょう。 そんなことはありません。
Perl6 は JVM 上で動くんです! 実は!
JVM で動くってことはあんなライブラリ、こんなライブラリも利用できるってことなの?? ってきになってきますよね。
本セッションでは JVM で動く Perl6 を利用して、どのようなことができるのか、どの程度 java のライブラリを活用できるのか、といったことについてご紹介したいと思います。
以下の問題を解決するヒントになる話をします:
このような問題はなにを引き起こすでしょうか? たとえば、Webアプリケーションの開発においては、誤ったデータベースの変更や決済処理を正しい状態に戻すことは難しいでしょう。 また、iOSやAndroid向けのアプリケーションの開発においては、リリースしてしまったコードを消すことはできません。 ソフトウェアにはこのようなリスクに対する安全性が求められます。
そういった意味での、安全なアプリケーションとはなんでしょうか? 一般的には、安全なアプリケーションであるために、以下のような要素が必要とされると思います。
このような安全性を担保するために、どのようなプラクティスがあるでしょうか?
そして、なぜこのような問題が起こってしまうのでしょうか? 自分が無能だから?環境が悪いから?違います。 これらの問題は本来、仕組みによって解決可能な問題です。 人間は間違える生き物です。なので、間違えることを前提に仕組みを構築する必要があります。
本セッションでは安全工学の視点を取り入れつつ、具体的なヒヤリハット事例/ヒューマンエラー事例と共に、安全なアプリケーションを構築する技術とその基本的な考え方について、僕の考えを話します。 なお、セキュリティに関連する話も安全性に大きく関わるところではありますが、本セッションでは時間の都合上扱わない予定です。
トピック:
(write it if this talk is accepted)
2013年2月にスタートしたmiyagawaさんによる Podcast 「 Rebuild 」はWebエンジニアを中心に人気メディアとなりました。僕自身もRebuildに影響を受け「 だんごゆっけの平和な話 」「 wada.fm 」という2つのPodcastを開始し現在でも配信中です。こうしたPodcastを成り立たせるには
この3つが必要になってきます。本トークでは まず 、僕が配信している2つのPodcastを事例に、上記最後の配信部分に焦点を当てつつ「Podcastを支える技術」について紹介します。
さて、Rebuildが火付け役となり、WebやITエンジニア界隈では、僕を含めPodcastを聴いたり配信したりする人が増えたわけですが、技術的な側面を考えると 枯れた ものを利用しているにとどまりません。mp3ファイルをURLで参照出来る場所に置いて、アドレスを書いたRSSフィードをWebサーバ上などから配信する だけ なのです。やろうと思えば、Appleの「iTunes Store」上へPodcastの番組を登録し番組をアピールすることが出来ますが、しなくても立派なPodcast。AppleとGoogleが握るモバイルアプリプラットフォームに縛られる必要なんて全く無いのです。
この既成の「プラットフォーム」上メディアとPodcastでは、技術的にもアーキテクチャやインフラの側面としても「自分がどこまで面倒を見るか?」という意味合いで大きな乖離があります。Podcastの事例は、 MovableType を自分のサーバにインストールしていた時代のBlogにも言えることでしょう。例えば、昨今、Web技術の調べ事をしていると「 Qiita 」の記事がGoogleでヒットすることが多くなりました。dankogaiさんにBlogを通じてコードを「 勝手に添削 」された頃と比べると状況は変わってきている気がします。
本トークではこのように、Podcast話を皮切りに、こうしたエンジニアの表現手段の仕組みがどのように変わりつつあるか?歴史的変遷を振り返ります。そして、今、どのように 楽しむか? を考えてみたいと思います。「こんなコード書いたんだけどどう?」「知見たまった!」「俺のポエムを聞け!」我々はコードを書きつつもネットを通じて誰かに伝えたいことがあることでしょう。当の自分も、Blogいや、Web日記から始まり、メルマガ、雑誌や書籍の執筆、Kindle本の発売、そしてPodcastと様々な形態で発信してきました。これらの経験を元にコンテンツの表現方法を探ります。また、絶版?になってしまいましたが「Blog Hacks」という書籍が示す通りメディア配信のシステムを 自らいじる 楽しさも存在しますね。
最後に、 エンジニアならコードそのものも表現しよう! ってことでPerlの巨大ライブラリ置き場である CPAN や GitHub について言及します。これまたmiyagawaさんとのBlog上のやりとりで知って考えた、オーサーとユーザーがいる件、CPANのエコシステム、フリーライド問題などがテーマです。
ちなみに、個別具体的な技術的トピックやコードの出現率が低いトークとなりますが、これらエンジニアのためのWebメディアの 仕組み を事例と共に説明するので、特別「スピリチャルな」もしくは「エモい」トークには ならない と思われます!
トピックリスト(予定)
YAPC::Asia Tokyo 2015の花形、Lightning Talk です!
This will be a talk on Docker for polyglots (users of multiple programming languages) and how it can be useful.
In this day and age we frequently find ourselves programming in two, three, or more programming languages, and the dependencies or environments in which we must run them continue to get more and more fiendishly complex. For users such as us who prefer to be fluent in many languages, how can we manage this desire to use the correct tool for the correct job, and do so quickly?
This talk will talk about how Docker, a Linux container technology and orchestration platform, can help to achieve these goals, and free developers up to focus on coding instead of configuring environments or tedious tasks like managing different versions frameworks.
Node.js は去年の12月にメインのコミッタの数名が抜けて io.js という fork が生まれました。彼らが何故 fork をしなければならなかったのかに関しては色んな憶測や推測があります。
Node.js 日本ユーザーグループ代表として、Node.jsをこれまでずっと追ってきた私(@yosuke_furukawa) と io.jsの技術委員会メンバーである大津さん( @jovi0608 ) からこれまでのNode.jsの歴史的な話と技術的な話、そして今後の予測を対談という形でお伝えしたいと思っています。
また、この Node.js の一連の fork 騒動は OSS というプロジェクトの特性と企業のバックアップを受けている OSS がどうあるべきかを知る一つの教材だと思います。
このトークを通じて「Node.js/io.jsに何が起きていて、これからどうなっていくのか」という事をお伝えしたいと思っています。
For English guests:
Some Node.js core member moved from joyent/node and io.js was born on December 2014. Developers who doesn't know Node in detail assume and imagine the reason why they leave joyent/node. But I guess there is a few developers who knows the reason properly...
So we will talk about Node.js history and technical feature, io.js comparison, the future of Node.js by open discussion with Shigeki Ohtsu(@jovi0608).
We would like to introduce "What happens Node and io.js and The prediction of the future of Node" to YAPC listeners.
※ 運営の方々へ: 可能であれば、 大津さん(@jovi0608) と対談形式で話をしたいと思っています。 ※ もしも不可能であれば、トークを分けるので連絡をください。
2014年9月に正式リリースした、はてなのサーバー管理・監視サービスであるMackerelでは、サーバーサイド言語にScala、そして、ユーザーがホストにインストールする監視agentやそのpluginはGoで書かれています。
このようにプロジェクトにおけるメインの開発言語はScalaとGoですが、部分的にはPerlやRubyも使われてもいます。もちろんクライアントサイドでJavaScriptも使っていますし、TypeScriptを使っている部分もあります。このようにMackerelはひとつのプロジェクトでありながら多様な言語が使われているというユニークな特徴を持っています。
これは面白がってたくさんの言語を使っているわけではなく、それぞれ必然性を持ってそれぞれの言語を選択しています。それらの言語がどのように適材適所に使われているか実例を交えながら紹介したいと思います。
例えば、Mackerelの中でPerlはどこで使われているのでしょうか?それは自動化スクリプトであったり、ツールであったり、テストスクリプトだったりします。別言語のプロジェクトであっても、リポジトリにおいておくちょっとしたツールを書くのにPerlは非常に適しています。特に優れた特徴として、スクリプト自体に対してテストを書きやすいことが挙げられます。
そして、生粋のPerl Mongerである私自身がMackerelに携わってScalaやGoを書く中で、Perlでの知見がどのように生きたのか、また、ScalaやGoで得られた知見をどのようにPerlにフィードバックしているか、いこうと考えているか、そしてエンジニアの私自身にどのような変化があったのかについてお話ししたいと思っています。
実は、ScalaとGoは両方Perl Mongerにとって馴染みやすい言語だと思います。
ちょっと待って下さい。ScalaとGoは共にPerlと異なる静的型付け言語であり、それでいて正反対の性質を持った言語です。それなのになぜ、Perl Mongerにとってそれらの言語が馴染みやすいのでしょうか。それについてはトークの中でお話したいと思います。
また、Mackerelはmackerel-agentというユーザーがホストにインストールする監視エージェントやその他のツールがOSSとして公開されているという面白い特徴を持っています。それらは何故OSSなのでしょうか?
そして、これらをOSSとして運用していく中で、私自身がOSSプログラマーとしてCPANに多くのコードをリリースしてきた経験が役に立つ機会もありました。それらについてもお話できればと思います。
全体として以下の様なトピックを取り上げようと考えていますが、他にも聞きたい話などがあれば盛り込みたいと思いますので是非お知らせください。
Google Cloud Platform (GCP)の最大の特徴は、ハードウェアやLSIのレベルから自社で設計・開発されたGoogleの謎のインフラテクノロジーから得られる圧倒的なパワーを社外のお客さまに提供している点です。例えばMapReduceに代わる新しい世代の大規模分散処理基盤であるCloud Dataflowでは、社内の広告インフラ用に開発された巨大ストリーム処理フレームワークの技術とエンジニアを投入し、Exactly Onceレベルの到達保証とリアルタイムオンメモリ処理を実現しています。さらに今年後半は、Googleの謎技術から生まれた謎サービスが続々とGCPに登場予定。YAPC Asiaの開催時点でお話できるぎりぎりの線を攻めたいと思います。
ISUCONというWebアプリケーションのパフォーマンス改善コンテストをご存知でしょうか?
ISUCONとは、「お題となるWebサービスを決められたレギュレーションの中で限界まで高速化を図るチューニングバトル」です。3人でチームを組んで参加し、レギュレーションの中であれば自由にアプリケーションに手を加え、出題者が用意したベンチマークでもっとも優れたスコアをたたき出したチームが優勝となります。2011年から4回開催されています。 発表者は2011年、2012年の2回は出題側として問題作成と調整、アプリケーションやベンチマーカーの作成に関わり、2013年、2014年は参加者として2年連続優勝をしています。そして、今年2015年も開催することが発表され、多くの注目を集めています。私も参加する予定です。
このトークではISUCONの課題作成や、問題に取り組んだ経験、また、普段からオペレーションエンジニアとして高トラフィックなWebアプリケーションの運用に携わって来ているなかで得たノウハウを紹介します。単にISUCONでよいスコアを出すということにとどまらず、業務で関わるWebアプリケーションを如何にパフォーマンスをあげ、効率よく動作させる方法や、なぜパフォーマンスの向上が重要なのかについて発表をします。
発表内容(予定)
このトークを聞いて、ぜひISUCONにチャレンジしてください!
Perl 5.22 is here, and it's got new stuff. What kind of new stuff? Cool new stuff. You can read the fifty page perl5220delta document, or you can come listen to the Perl 5 project manager summarize the stuff you actually care about. We'll also review some of the major changes from 5.20 and just a little bit about what may be coming next year.
International Space Apps Challenge(SpaceApps)は、NASAなどの宇宙データを使って宇宙のアプリをつくるハッカソンです。今年は133都市にて同時開催され、参加者総数は13699人にのぼります。これは、調べた限りではGlobal Game Jamに続いて世界で2番目に大きな規模のハッカソンです。SpaceAppsは、2012年よりはじまり今年で4回を迎えます。東京を会場としたSpaceApps Tokyoも2012年より毎年開催し、スペースデブリ(宇宙ゴミ)をコレクションしたりAR表示できるアプリ宇宙のカケラ -Dear My Space Debris- や、火星の人面岩を機械学習で探すMarsface Project (マー)など様々なアプリケーションが誕生しました。私は、2013年からSpaceApps Tokyoの運営に携わり、2014年と2015年では事務局長を務めました。
昨今はハッカソンブームと言われるほどいたるところでハッカソンが開催されています。イベントを運営するにあたり、@941さんの エンジニア1000人が参加した YAPC::Asia 2013 で運営事務局長として行った全てのことや、@lestrratさんのYAPC運営とビジネスといったブログ記事が非常に参考になりました。そこで私も、これまでのSpaceApps Tokyo運営で蓄積した、ハッカソン運営に必要な
などのノウハウをお話ししたいと思います。その他、他国の開催都市とミーティングを行ったり、昼夜がほぼ真逆のBostonとのコラボレーションチームを形成するなど、SpaceApps特有の大変さについてもお話しします。
これからハッカソンを開催したい人、イベント運営のノウハウを知りたい人、ボランタリーな組織運営に苦労している人などにとって有用となるセッションにしたいと思います。
Dockerがリリースされてからだいぶ時が経ち、
Dockerコンテナを管理するツールもサードパーティ含め星の数ほどリリースされてきました。
しかしDocker自身もその状況を黙ってはいませんでした。
現在、Dockerエコシステムを提供する機能として
公式に以下のようなサービスがリリースされています。
本セッションではこれらのツールに関する、
以下の様なトピックについてお話する予定です。
スマホ、とは手の平で動くコンピュータです。
常に持ち歩いているこの端末で自分の書いたプログラムを動かせたら面白いと思いませんか?
特にすでにサーバサイドプログラムができる皆さんは、スマホ側さえできるようになったら、 ほぼどんなアプリでも一人で作れてしまうでしょう。
このセッションではそんなことを思っているPerlプログラマーを対象として、 iOSアプリ開発の方法をひと通り説明します。(iOSだけです。ごめんなさい)
私自身も筋金入りのPerlプログラマだと思いますが、iPhoneが日本で発売されてすぐに、iOSアプリ開発に手を出しています。 その経験の中で、PerlとObjective-C(Swiftも)の共通点がいくつもあり、UIに関係ないモデル層などは、ほぼPerlの時とおなじように書ける、ということに気付きました。
というわけでまず、Perlとの比較という感じで始めたいと思ってますので、対象をPerlプログラマとしていますが、全体的には他の言語の方にも参考になると思います。
Webシステムを動かすサーバは、細胞と同じように、生まれて死んでいく。
そのようにシステム全体を活性化させることによって、常に綺麗なサーバを保つことができる。
それは式年遷宮という日本古来のシステムの中にある、穢れと禊という概念にも通じる。
この概念は去年のYAPCで話した通りだ。
その思想を持って構築を試みた2015年、
構築前「完全無人自動化で運用しようや」
...
構築後「冗長構成って本当に必要なんですか?」
この構築の最中に彼が見たものとは?
式年遷宮インフラストラクチャ3部作の第2部にあたる今作は
どのような思想を持ってとりかかり、どのように失敗したのか。
実体験を元にしたお話をできればと思います。
以上、よろしくお願いします。
大体スライドまとまりました。
挑戦したこと
冗長化について
Redis + Redis Sentinel
Consul
MySQL + mysqlfailover
consul-template
hostsの順番
クラウドという名の混乱
対応
冗長化の終わり、そして
という内容になりそうです。色々なソフトウェアを利用し、冗長化にチャレンジしたが
アマチュアのような見積り、構成の甘さや、インフラではなくプロジェクト全体の問題などを含め
改めて実体験として経験したこと、改めて大切だと理解したことなどをお話しできればと考えています。
Webサービスを運用しているけど、インフラ担当なんていない、
サーバ管理はよーわからんが新しいことにチャレンジしてみたい!けれど失敗はしたくない、
など、インターネットにいるようなすごい人達ではなくてもチャレンジすることができるが
こういう失敗はしないようにね、という反面教師のお話を聞きに来て頂ければと思います。
当日はどうぞよろしくお願いいたします。
昨今、ビッグデータとまではいかないまでも、 大規模データを扱うシステムが増えているように思えます。
そうはいってもリソースは限られていて、、
CPUが2コアしかない・・・ メモリが8Gしかない・・・
データは5億件もあるorz
などなど、、
限られたリソースの中で、 求められる性能を出すための工夫や、 リソースが足りないことの正当性を訴えた話とか、
いろいろ意見交換できればと思います。
主にMySQL とちょっとPerlの話です。
Microsoft Azure は Microsoft が長く育ててきたテクノロジーを総動員して提供されるパブリッククラウドです。
猛烈な機能追加が喧伝されがちなパブリッククラウド界隈ですが、その基盤がどのようになっているのかを知る機会は少ないのではないでしょうか。
本セッションでは、普段見聞きすることがあまりない "クラウドの向こう側のテクノロジ" こと Microsoft Azure のテクノロジについてお話します。
また、それだけではなく、クラウドの向こう側のテクノロジが皆様の手元に届く時代、ハイブリッドクラウドの世界についても許される限り語りつくしたいと考えています。
Microsoft Azure とその未来とは言っても、Microsoft の技術を知っていないとダメということは全くありません。
Azureを知っている方も、Azureについてこれから知りたい方も、インフラちょっとは興味あるんだけどそんなに詳しくないよ、という方にも興味を持っていただけるような内容にいたしますので、安心してお越しください。
スケジュール:
株式会社Fusic様 にスポンサードしていただいているランチセッションです。
豪華お弁当を先着80名 まで無料で配布いたしますので、会場のイベントホール内で味わって下さい!その際、Fusic様より以下のプレゼンテーションを発表していただきます。
Fusicは自社サービス開発・受託開発を行っている、福岡の企業です。 開発実績についてはHPなどで社外にも発信しておりますが、一方で、社内向けの システムが相当数稼働しています。これまでも、多くの社内システムが作られ、リニューアルされ、消えていきました。本セッションでは、これを振り返るとともに、いち企業の取り組みであったり、 悪戦苦闘であったりについて、ご紹介できればと思います。
ランチを食べながら聞ける程度の内容でお送りいたします。昼下がりの演芸番組を見るくらいの心構えで大丈夫です。Perl成分は薄いです。あらかじめご容赦ください。
At GitHub, we've refactored a lot of projects in the last couple of years, some big, some small. In this talk, we'll cover some techniques for different kinds of refactorings and some nifty Ruby libraries we've made to help us out. Then we'll spend a bit of time pondering why language designers aren't helping us out with this everyday task.
nginxは近年急速にユーザ数を伸ばしているOSSのHTTPサーバです。2015年3月のNetCraftの調査結果によると現在nginxのシェアは全世界のWebサイトの十数パーセントを占めるまでになっています。
nginxがこれだけ急速な勢いでユーザ数を伸ばしている要因の一つとしてnginxのソースコードに直接手を入れることなくモジュールを開発するための仕組みが整っていることが挙げられます。HTTPサーバに求められる要件は非常に多岐に渡るため、コア開発者だけでなくユーザ開発者が自分のニーズを満たすためにHTTPサーバを拡張できるのは重要なポイントです。そして実際に多くの開発者の手によって様々な用途のモジュールが開発され、nginxの強固なエコシステムが形成されてきました。
本トークでは拙作のngx_small_lightやngx_dynamic_upstreamといったnginxモジュールの開発やngx_lua、ngx_mrubyといったnginxを軽量スクリプト言語で拡張するためのプロジェクトへのコントリビュート、過去に携わったngx_lua(とGo)による大規模な広告配信システムの開発・運用といった筆者のこれまでの数々の経験を元にnginxモジュールの実践的な開発ノウハウについて解説します。
具体的な内容は次のようになる予定です。
LXC (Linux Container) is getting a lot of attention these days. From the fundamental principles of Unix to some modern Linux features, we will examine how containers work and how to build your own using Perl.
Unixの基本理念からLinuxの現代の機能までを踏まえ、最近話題のコンテナ技術がどう実現されているのか、また独自のコンテナをスクラッチからどのようにPerlでビルドできるのか、分析/解説します。Dockerの登場により注目を浴びつつあるLXCの技術的詳細を知りたいという方におすすめです。
データ分析の話はそこかしこで行われてますが,それを俯瞰する話はあまりないようなので,ここらで一つ色々とまとめて喋りたいと思います.また,Treasure Dataで得た経験をもとに,機能だけでなくデータ分析基盤でよく要求される要素についても,いくつかの視点を交えて言及したいと思います. 話したいトピックリスト.
各ソフトウェアは実装とかまで深く掘り下げず,概要や使い所・比較が中心になります.ただ,Hadoopなどは未だ誤解があったりするので,必要なソフトウェアに関しては,いくつかアドヴァンスドなトピックを入れる予定です.
ユーザーに Web サービスを提供し続けるためにはコード、インフラストラクチャー、開発プロセス、セキュリティ、データ分析などあらゆる要素を継続的にメンテナンスし続ける必要があります。
近年では Web アプリケーションが生活のあらゆる所で利用されるようになりました。その結果としてサービスの提供者である私達には先に述べたような問題の中でも OS、Web フレームワーク、言語などのセキュリティの問題の評価、対応のリードタイム短縮がより一層求められています。
私が勤務する GMO ペパボでは、上記の問題を解決するために最速で 3 分でサービスを無停止のまま大規模に運用しているサーバーを入れ替えるという Blue-Green デプロイメントの仕組みを構築しました。この仕組により、OSのディストリビュータによる脆弱性対策がなされ次第、即座にユーザーに安全な環境を提供することが可能となりました。
本発表では構築した仕組みの中から以下のトピックについて紹介します。
本発表では一定規模のサービスをターゲットにしますが、小規模(数台)のサービスが成長し、大規模化が必要となった際の知見についても紹介する予定です。
Parallelism and concurrency are different, though often confused. Asynchrony adds yet another concept into the mix. And there are dozens of different approaches to working with these concepts. How do we identify what kind of problem we're dealing with, and pick an approach to solving it?
In this session, I'll look at a range of different problems - some parallel, some concurrent - and show the approaches that may be taken to solve them. And, since I've been working on the Perl 6 parallelism and concurrency features, I'll show how these solutions look in Perl 6.
私たちはチャリティーサンタというNPOのボランティアITスタッフです。
全国で1500人のボランティアで集まったサンタクロースたちが子どもらにプレゼントを届けに行くのですが、そのサンタたちの活動を支えるIT技術についてお話したいと思います。
メンバーは普段はIT系企業に勤め週末に集まってWeb・ツール等の開発を行ったり、全国の各支部のサンタ部長(!?)らとやりとりしたり、学生や主婦を含む多様で地方分散したサンタ&トナカイたちに使ってもらえて活動を支援する仕組みづくりを行ったりしています。
そんなサンタたちがNPO、ボランティアという枠組みの中どのようにして技術を以って課題に立ち向かったかをお伝えします。
(注: 企業における開発に活かせそうな話はないかも...)
YAPCで高度で先端な技術の話に聞き疲れしたら箸休めとしてご活用下さい!
ITサンタメンバー M_Ishikawa
の紹介をする予定です
VOYAGE GROUPは様々なサービスを運営しており、それを支える技術も多種多様です。 その一つであり、私が所属するadingoが提供する事業でも様々な技術が用いられております。
このトークでは、現場ごとに異なる環境であっても、ある一つの手段(Perl)を使いつつアウトプットしてきた内容をご紹介します。
上記どのパターンの方も対象になりますし、「Perl関係ない」人にもヒントになる内容もあるかと思います。
最新のイケてるものの活用事例や、革新的なプロダクトを作った!みたいな派手な内容ではありません。 どちらかというと、作業的には地味なもので簡単な事例紹介をできればと思います。
また後半にはadingoが提供するプロダクトでのPerlの活用事例も紹介できればと考えています。
※言語間の優位差異については言及しません。
最後のYAPC::Asia、是非ともトークしたいです!
We do! (Or we should!) Those of us who work on computers daily may or may not realize the potential detriment to our health that is caused by sitting in the same position for long periods of time.
Well, that is a good start, but our posture can still be affected negatively if we are standing all day (or if we do not have good standing posture).
Nerd out about posture! We can learn about the muscles that are weakened and those that are over-used during our everyday jobs, and what each of those muscles do for us when they are working properly. No need to learn all the names, but you can if you want. Anatomy is pretty cool. The most important thing is to understand what our bodies are capable of.
At the end of this workshop you will: * Feel more confident about moving your body during the day. * Learn some yoga poses if you did not know them already. * Know at least a few exercises to do regularly that will help improve posture. * Know what each position will do for you. * Have tried something fun ^_^ * Be smiling!
Lattice is an open source project for running containerized workloads on a cluster.
Lattice includes built-in http load-balancing, a cluster scheduler, log aggregation with log streaming and health management.
Lattice includes support for Linux Containers expressed either as Docker Images or by composing applications as binary code on top of a root file system. Lattice's container pluggability will enable other backends such as Windows or Rocket in the future.
YAPC::Asia Tokyo は今年で10年目を迎えます。YAPC::Asia Tokyo運営に関わってきた方達をゲストとして、当時を振り返りながらただただ楽しそうにトークをするコーナーです。YAPCのスタッフ、スポンサーそして参加者の方たちへ感謝を表しつつ、この10年間を振り返ります。Perlコミュニティの良さ、楽しさが少しでも多くの人に伝わると良いなと思います。
2006年〜2015年のYAPC::Asia Tokyo実行委員長
株式会社カヤックでは今年の 1 ~ 3 月にかけて、
運用しているソーシャルゲーム 3 タイトルをオンプレミス環境から AWS に移行しました。
Perl で実装されているそれぞれのタイトルを事例に、
AWS 移行の知見を共有し、アーキテクチャについてお話ししたいと思います。
事例はソーシャルゲームですが、他の分野にも応用ができるお話しになる予定です。
全てのゲームで consul を活用していますので、consul の導入事例もお話しできると思います。
本発表では、以下のトピックについてお話しします。
TBD
50ms or die.
私が所属する FreakOut では国内 RTB 市場が勃興してから現在に至るまでの5年間弱、 Perl をメイン言語として過ごしています。
近年の RTB 市場では平行処理に長けた言語や高速な低レイヤー言語、 FPGA 等の計算力に特化したデバイスを直接扱う手法がトレンドとなっていますが、 それでも弊社のメイン言語はトレンドに流れる事なく Perl であり、市場の厳しい技術要件に立ち向かい続けています。
本セッションではところどころ歴史をひも解きながらも、今なお RTB の最前線をどうやって Perl で闘っているのか、具体的な手法や方法論をお話しできればと考えています。
※ 今春まで弊社に所属していた @myfinder さんの過去の Talk と比較して、包括的でなく、より入札の細部に因った内容となる予定です。
昨年に続き、CONBU(COnference Network BUilder) は YAPC::Asia の会場ネットワークを提供しています。1 [※1] 今年の目標として「安定したネットワークを、いかに早く、そして面白く提供できるか?」を掲げており、これを達成するための取り組みについて紹介いたします。
本トークでは、イベントやカンファレンスでのネットワーク提供に関するノウハウの紹介をします。 また、会場ネットワークの通信流量やWiFi接続数を取得できる独自APIに関する取り組み、及び活用例を紹介します。
-いかにネットワークを早く上手くつくるか
-CONBU Cloud(コンクラ)に関する紹介
-CONBU API への取り組み
-独自API を作成するモチベーション
-CONBU API の仕様
-CONBU API の活用例
東松 裕道@ CONBU / DMM.com Labo
高野 光弘@ CONBU
オープンソースエンジニアには馴染みのあまりない Windows ですが、Build 2015、Microsoft Ignite では、オープンソースのデペロッパーやインフラエンジニアに向けて、多くの発表がありました。
これまでは、Windows OS は企業内で使用されるイメージがありましたが、次期 Windows Server では Docker が統合されたり、クラウドを構築できる Azure Stack も発表されたり等、パブリックなクラウドインフラストラクチャーとしても、採用できるポテンシャルを十分に持っています。
また、クラウド分野においては、AWS がシェアでは一歩先を行っていますが、Azure の成長率は AWS の倍近い 96% と、追いつくのも時間の問題となってきています。
このトークでは、これからの Windows に期待しているオープンソースエンジニア向けに、Windows OS の基本から、Unix系OS との違いの解説をします。また、Azure の解説なども盛り込みたいと思います。
以下、予定している内容です。
※Windows で Perl も動かしてみます!
Web は常に様々な変化/進化が起こっていますが、なかでも非常に大きな変化として HTTP/2 の登場があると考えます。
HTTP/2 のファーストドラフトから RFC7540 が出るまでの 2 年半、 そこでは、これからの Web がどうあるべきかという、数多くの議論がかわされていました。
HTTP/2 はなぜ更新され、それがどんな変化をもたらすのかを知ることは
今 Web で「今何がおこっているのか」 そして Web は「これからどこに向かって行くのか」を
考える一つの視点になり得ると思います。
HTTP/2 を追い続けた 2 年半をふりかえり、HTTP2 とその関連仕様、 そしてそれを取り巻く議論をもとに、これからの Web について考えてみたいと思います。
(English follows Japanese)
「辛いことをやめよう!」
2年前、ITインフラを支えるMSPであるハートビーツが、業務改善を始めるときに決めたキーワードでした。その頃は、ちょうどAWSの活用をはじめとしたITインフラを取り巻く環境が激変している頃でした。私たちも例に漏れず、今までのやり方の延長ではなく、変化を求められる状況にあったのです。
本セッションでは、私が中心となって2年間取り組んだハートビーツの業務改善、特にMSPならではのInfrastructure as Codeの取り組みについて、主に次の3点についてお話しします。
1は、辛いことを通じて解決したい問題を、「辛さ」と「実現性」の2軸を使ってあぶり出す流れをお話しします。お固い業務分析をしなくても、わかることは多いのです。
2は、パイロットプロジェクトの選定の勘所と、そのチームの人とうまく仲良くなりつつ業務改善活動に巻き込むプロセスをお話しします。ハートビーツは管理部以外は全員エンジニアなのですが、そのメンバー全員を巻き込んで行ったやり方を、失敗談も交えながら紹介します。
3は、やる以上は定量的な評価は欠かせません。がんばった、だけでは組織の利益拡大にはつながらないからです。その評価方法と、更なる改善点の探り方についてお話しします。
こんな方に聞いて頂けたら嬉しいです。
やり方は、ITインフラに限らず多くの開発会社にも応用して頂ける内容だと考えています。また、実際に取り組まれている方が「ほかの人はどうやっているのだろう?」と関心を抱いて頂くことも歓迎します。
"Take away the pain !"
This is the keyword we defined to IT infrastructure operations two years ago.
I work for MSP company HEARTBEATS (MSP: IT Infrastructure Management Service Provider Company). At that time, IT infrastructure business was reached a turning point when IaaS(Infrastructure as a Service) was main currents of server system. Then, we need to change our business strategy from the traditional approach.
This session, I'll talk about three themes as the person in charge of IT infrastructure operations, specially "Infrastructure as Code" that is only possible by MSP.
First, I did two dimensional analysis: "Pain" and "Feasibility Solution". There is no need of complex analysis !
Second, At HEARTBEATS, employee are all engineer except for general affairs. I'll talk about conclusive factor of choice of pilot project, and a way of corporate pilot project member each other, that include some failed.
Third, we need to analyze of improvement operation. Because, wrong approach doesn't lead profit increase.
YAPC::Asia Tokyo の花形、Lightning Talkです!
Wrap up! 🎉