タグ

2015年6月16日のブックマーク (27件)

  • Perlの上にも三年 〜 ずっとイケてるサービスを作り続ける技術 〜 - YAPC::Asia Tokyo 2015

    Three years on Perl ~ The technology to developing cool web service ~ Accepted #yapcasiaE Vote! Tweet 発表者は,この三年間はてなブログというイケてるPerlのサービスの開発に携ってきました… Perlの最新を追い求め続けた三年間でした… なにも分からず,SQLをコピペし続けた数ヶ月… つらいことも,たのしいことも,みんな分かちあったコードベース… 救いを求め,藁にもすがる思いで,朝も夜も読み続けたオブジェクト指向入門…… 偶然発見して,これだと思ったドメイン駆動設計…… 苦しみの軌跡と,現在最高の設計を紹介します………!!!!!!! 当時最強のフレームワーク それまでの,社内フレームワーク 鳴り物入りで登場した,当時最強のフレームワーク 社内でも歓迎されたが…… 最強のフレームワーク vs

  • DBIx::Schema::DSL ~ PerlによるDSLモジュール開発とその活用と実践 - YAPC::Asia Tokyo 2014

    use DBIx::Schema::DSL; create_table book => columns { integer 'id', primary_key, auto_increment; varchar 'name', null; integer 'author_id', not_null; decimal 'price', 'size' => [4,2]; add_index 'author_id_idx' => ['author_id']; belongs_to 'author'; }; これはなんとPerlのコードです。記号だらけで読みづらいと言われることもあるPerlですが、このコードは余計な記号も少なく、何をやろうとしているか明確です。これは、DBIx::Schema::DSLモジュールを用いてSQLCREATE文を定義しているコードです。 Rails

    DBIx::Schema::DSL ~ PerlによるDSLモジュール開発とその活用と実践 - YAPC::Asia Tokyo 2014
  • アスカさんがツイッタークライアントを作る方法について教えてくれるそうです - YAPC::Asia Tokyo 2014

    江戸一番のジャスタウェイ職人であるアスカさんがAndroid/iOSでツイッタークライアントを作る方法についてお話します。 ツイッタークライアント開発の準備(開発環境・ライブラリについてサラッと) ツイッタークライアント開発で使えるデザインリソース(非デザイナー向け) ツイッタークライアント開発でしか使えないテクニック(タイムラインの制御など) サードパーティ製ツイッタークライアントの歴史文化

    アスカさんがツイッタークライアントを作る方法について教えてくれるそうです - YAPC::Asia Tokyo 2014
  • ケーススタディで考えるウェブフロントエンドパフォーマンスチューニング - YAPC::Asia Tokyo 2014

    昨年講演を行ったFinal Fantasy Record Keeperのウェブフロントエンドパフォーマンスチューニングの内容を土台に ウェブゲームアプリケーションに限ることなく 現場でよく問題になるケースと"RAIL"パフォーマンスモデルを元にしたパフォーマンスチューニングの方法 jQueryは悪か?DOMアクセスのパフォーマンスを考える ウェブブラウザの描画とパフォーマンス 今できるServiceWorkerを用いたUX最適化 などをご紹介します。 ※FFRKの話はありません

    ケーススタディで考えるウェブフロントエンドパフォーマンスチューニング - YAPC::Asia Tokyo 2014
  • npmコマンドを改善し続けた話 - YAPC::Asia Tokyo 2014

    The other day npm became the largest largest module registry of any language. In other side npm command actually was released every week and has continued improving for now. Share some interesting things happened and nice features landded for the past 6 months I've contributed. つい先日、npmは他の言語と比べても最も登録されているmodule数の多いレジストリとなりました。npmのコマンドは、この成長の裏方として、実は毎週のようにリリースされ、改善され続けています。6ヶ月ほど開発に参加し続けた中であった面白い出来事

    npmコマンドを改善し続けた話 - YAPC::Asia Tokyo 2014
  • 一体何がエンジニア職社員「交換留学」の取り組みによってチームとメンバーに変革をもたらしたのか - YAPC::Asia Tokyo 2014

    エンジニア職社員を短期で「交換留学」 ピクシブとドリコム、エンジニア職社員を短期で「交換留学」というニュースはご覧になりましたか? この春、“ソーシャル”を軸に主にスマートフォン向けのコンテンツを提供する株式会社ドリコムと、わたしの在籍するピクシブ株式会社で、互いにエンジニア職社員を短期で「交換留学」させる取り組みを実施しました。 この取り組みについて公開したところ、予想を超える反響をいただき、界隈で大きな注目を感じました。 参画メンバー及び両社のエントリーをお読みになった方もたくさんいらっしゃるのではないでしょうか。 トーク内容 この取り組みでは、わたしはピクシブ側マネージャとして交換留学のバックステージを担っていました。 まだこのロール視点からの経緯と知見については世に出ていないので、このYAPC::Asia Tokyo 2015の場でディープに「交換留学」の真価について事例紹介すると

    一体何がエンジニア職社員「交換留学」の取り組みによってチームとメンバーに変革をもたらしたのか - YAPC::Asia Tokyo 2014
  • MySQLを使って開発をはじめるときに気をつけておきたいこと - YAPC::Asia Tokyo 2014

    Perlで開発をはじめるときに「use strict」するように、MySQLでも様々な問題を未然に防ぐために、使いはじめるときに気をつけておきたいことがあります。 トークでは、話者のこれまでの経験からMySQLを使って開発をはじめるときに、開発者/運用者が気をつけておきたいことについて話します。 取り扱うトピック Strict SQL Mode Character Set / Collation 大文字小文字を区別するかどうか ハハ=パパ問題(アクセントを区別するかどうか) ?=?問題(SMP文字を区別するかどうか) Time Zone Avoid NULL NULLの奇妙な性質 UNIQUE Constraints 区別できない文字はUNIQUE制約の影響を受ける NULLはUNIQUE制約の影響を受けない 論理削除

    MySQLを使って開発をはじめるときに気をつけておきたいこと - YAPC::Asia Tokyo 2014
  • なぜ、ピクシブの新卒は総合職でもプログラムが書けるのか。 - YAPC::Asia Tokyo 2014

    ピクシブ株式会社では新卒研修の一環として、新卒エンジニアが新卒非エンジニアにプログラミングを教える『非エンジニア向けプログラミング研修』を行っています。 非エンジニア向けプログラミング研修とは 参加する非エンジニアはデザイナ・マネージャ・営業と職種も経験もバラバラ 非エンジニアは7日間で『画像掲示板』を作り上げる Ruby+Sinatraによるサーバサイド作成に加え、JSとCSSも触れるように GitGithubを利用し、業務で気軽にPullRequestが送れるように SQLインジェクションやXSSなどの脆弱性の怖さを知ってもらう エンジニアは講義とサポートを行い、非エンジニアを徹底サポート トーク内容 エンジニアと他職種の人たちが『きもちよく』仕事をしていく為にどうしたら良いか、そして実際に研修を行って得られた次の知見についてお話したいと思います。 なぜ、研修を外部委託せずに新卒同士

    なぜ、ピクシブの新卒は総合職でもプログラムが書けるのか。 - YAPC::Asia Tokyo 2014
  • はてなインターンの作り方 - YAPC::Asia Tokyo 2014

    2008年から実施しているエンジニア向けのインターンシップ「はてなサマーインターン」の裏側を紹介します。 はてなサマーインターンとは 毎年夏に実施するエンジニアを目指す学生向け長期インターンです 2008年から今年で8年目。これまでに80人もの「はてなインターン卒業生」を生んできました 前半はPerl, JavaScript を中心に「Webサービスを独力で作る」技術を習得するトレーニングを行います 後半ははてなの開発チームに参加し、実際にユーザーさんに使われる機能を開発します インターンの副産物として、研修カリキュラムを「はてな教科書」として無料公開、毎年更新しています 実際の開発フローに参加することで、ペアプログラミングやコードレビューといった文化に触れられます トーク内容 はてながインターンや教科書を通じてエンジニアを目指す若者に伝えたいこと、実際にインターンをする上での準備、体制、

    はてなインターンの作り方 - YAPC::Asia Tokyo 2014
  • Yet Another Perl Cooking - YAPC::Asia Tokyo 2015

    Perl (あるいは他の言語) を用いて料理・調理を自動化するという話をします. 料理は時間と手間がかかる営みですから,21世紀に生活する我々はこれを可能な限り自動化していく必要があります. 話す内容 2015年はプログラミング料理界にとって当にエポックメーキングな年となっています.私は大変興奮しています! 皆さんは nomikuというデバイスをご存知でしょうか.nomiku は簡単に言うと,鍋に装着して使う料理器具で鍋の中の温度を一定に保ってくれるというデバイスとなっています.これにより,人間が火加減を逐一確かめて調節するという手間を省き,機械に調理を任せることが可能となります. そして2015年,nomiku は更なる進化を遂げました.Wi-Fi を介して操作できる nomiku WiFi が登場したのです. このモデルは nomiku を遠隔地から操作するという機能を提供しているだ

  • Effective ES6 - YAPC::Asia Tokyo 2015

    いまだにES5時代のJS書いてませんか? 今年6月に公開されたJavaScript仕様の超大型アップデート ES6 を紹介し、それによって変わるJSコーディングのベストプラクティスについて話します。 JavaScriptはWeb開発では必須のポピュラーな言語でありながら、その言語仕様は「クセ」が強いことで知られています。 関数スコープ、暗黙の型変換、プロトタイプ継承、ホイスティング、配列の「ような」オブジェクト、new、...etc そんなJavaScriptとの長年の格闘を経て、Effective JavaScriptJavaScript: The Good Partsといったベストプラクティスが生み出され、普及していきました。 ときは流れて、今年6月に待望の最新仕様ECMAScript 6が公開されました。 ES5から5年、大幅なアップデートとなるES6は、これまであったJavaSc

  • 今から備えるMySQL最新バージョン5.7 - YAPC::Asia Tokyo 2014

    TL;DR 現在開発版の MySQL 5.7 には、MySQL 5.5, 5.6時代にはなかった罠がたくさんあります。 日語情報、現段階では少ないです。5.5時代の情報を当たって悲しい思いをする人が一人でも減ってくれるように、動作が大幅に変わるところをメインに紹介します。 4.1以前の16桁ハッシュパスワードは完全に廃止されました。 4.0なんて何年前だよって? 残念、5.6の時にもちらほら出てきました。 どうしてそうした、default_password_lifetimeの暗黙のデフォルト360。 何も知らずにこのままいくと、移行から(あるいは、新規投入から) 360日でアプリケーションが止まる罠。 厳密なsql_modeがデフォルトに。 カジュアルにワーニングを握りつぶしてdisられていたMySQLが厳密にエラーを運用しだしてまたdisられるのもまた一興。 あふれると取り返しがつかな

    今から備えるMySQL最新バージョン5.7 - YAPC::Asia Tokyo 2014
  • PerlとGoを共存させたい - Lobiの場合 - - YAPC::Asia Tokyo 2014

    Perlをメイン言語として使ってきたプロジェクトGoを取り入れる話をします。 なぜPerlGoを共存させたいのか まず何から始めるべきか コードレビューしてくれる人がいない問題 プロジェクトチーム以外も巻き込んだ啓蒙活動 PerlのCIとGoのCI 結果として良かったこと悪かったこと 「こうすればうまくいく!」という答えについてではなく、 「こうやったらあれはうまくいったけどこれはダメだった」という失敗談的なものも含めた内容になる予定です。 ʕ◔ϖ◔ʔ go~ 背景 スピーカーは面白法人カヤックのサーバーサイドエンジニアです Goの採用は、カヤックが昨年夏に出した「2014年夏、カヤックは、Go言語を積極的に推進していきます。」という宣言の延長にあるものです LobiというSNSのサーバーサイドで実際に使われている・行われていることについて話します

    PerlとGoを共存させたい - Lobiの場合 - - YAPC::Asia Tokyo 2014
  • うっかりをなくす技術 - YAPC::Asia Tokyo 2015

    人間は間違える生き物である 以下の問題を解決するヒントになる話をします: 既存のコードを誤って壊してしまうことがよくある 作業手順が多くよくミスをしてしまう 設定が正しいのかどうかよくわからないので祈りながらdeployをしている このような問題はなにを引き起こすでしょうか? たとえば、Webアプリケーションの開発においては、誤ったデータベースの変更や決済処理を正しい状態に戻すことは難しいでしょう。 また、iOSやAndroid向けのアプリケーションの開発においては、リリースしてしまったコードを消すことはできません。 ソフトウェアにはこのようなリスクに対する安全性が求められます。 そういった意味での、安全なアプリケーションとはなんでしょうか? 一般的には、安全なアプリケーションであるために、以下のような要素が必要とされると思います。 クラッシュしにくい オペレーションを間違えにくい データ

  • PHP帝国の逆襲!(を願うPHPerが話す最近のPHPについてのクイックツアー PHP7対応版) - YAPC::Asia Tokyo 2015

    PHP帝国は滅んでいない。新たなる希望を待ち、逆襲の機会を虎視眈々とねらっている」 遠い昔、はるか彼方の銀河系で…はなくて、去年、私は 私が愛するPHPはまだまだイケてる! とホールで叫び、なんと皆様からベストトーク賞をいただけたYAPC::Asia Tokyo 2014から1年が経ちました。 あれからPHPに新しい事は起こったか?勿論起こりましたし、さらに 起こりつつあります! 皆さんに是非お届けしなければ!ということで、今年もPHPの話をさせてください! 次のPHPは5.6から一気に7にバージョンアップされます 。「5.6の次が7って、おくればせながら流行にのってメジャーバージョンを切り捨てて5.7を7にしただけじゃないか?」なんてことはなく、メジャーバージョンアップにふさわしく変わります。 PHPなりに 高速に、安全に、パワフルに 生まれ変わりを果たそうとしています。その 来たるべ

  • esa.io - 趣味から育てたWebサービスで生きていく - YAPC::Asia Tokyo 2015

    「esa」は esa LLC が開発・運営しているチーム向けMarkdownドキュメント共有サービスです。2015年1月に正式リリースされてから約半年、βテスト期間も含めると1年ほどになります。 トークではエンジニア1人とデザイナー1人で開発・運営・経営・営業などを行う上で考えたこと、経験したことなどを中心に、オフの時間に趣味で作り始めたWebサービスを事業化することについてお話したいと考えています。 発表内容(予定) 私は誰? esa LLC とは esa.io について この発表はこんな人におすすめ 趣味のようにプロダクトを作って生活していきたい人 esa.io の中のひとの考え方に興味があるひと トリが好きな人 (\( ⁰⊖⁰)/) Before esa お仕事でいろいろ 趣味でいろいろ いろいろやってたらいろんな人々に出会った ポエム界隈 #とは いろいろ試すの、大事 Begin

  • Perl6 on JVM: It works?? - YAPC::Asia Tokyo 2015

    Perl6 のリリースが近づいてくる中で、いい加減触ってみるか! という方も多いと思います。 一方で、Perl6 ってライブラリが全然ないし、なにもできること無いんじゃないの? という感想をお持ちの方もいらっしゃることでしょう。 そんなことはありません。 Perl6 は JVM 上で動くんです! 実は! JVM で動くってことはあんなライブラリ、こんなライブラリも利用できるってことなの?? ってきになってきますよね。 セッションでは JVM で動く Perl6 を利用して、どのようなことができるのか、どの程度 java のライブラリを活用できるのか、といったことについてご紹介したいと思います。

  • HTTP/2時代のウェブサイト設計 - YAPC::Asia Tokyo 2015

    2015年5月の RFC 化完了以降、主要なウェブブラウザの HTTP/2 対応が急速に進んでいます。今年末までには、HTTPS トラフィックの過半は HTTP/2 を利用するようになるでしょう。 セッションでは、先進的な HTTP/2 サーバとして注目されている H2O の主開発者である奥一穂が、HTTP/2 策定の背景と HTTP/1.1 に対する優位性、HTTP/2 時代にむけたウェブサイト設計のポイントについて説明します。 Since the completion of the standardization process in May 2015, Web browser vendors are rushing to support HTTP/2. It is likely that the majority of HTTPS traffic will be using HTT

  • 大規模でも小中規模サービスでも捗る microservices な Web サービスのつくりかた - YAPC::Asia Tokyo 2015

    最近は microservices という言葉がバズっていますが、これから Web サービスの開発を始める人にとってみたら「 microservices ってなに?おいしいの?それって僕らの作りたい物にも役に立つの?」と思っている人が多いとおもいます。 実は、私は昔からこのアーキテクチャに基づいた考え方で数多くのサービスを作り運用してきました。それらの知見を多くの方々の知識とノウハウにになる形に落とし込んで今回は発表しようと思います。 トークでは、そのような Web サービス開発現場の newbie から中級層の方向けに「 microservices 的なサービス設計方法」「スタートアップサービスでの現実的な microservices の取り入れ方」「それらのメリットデメリットを」「ある程度トラフィックが有るサービスでのキーポイント」などを中心として、「多人数チームでの開発方法」「サー

  • Web由来の組み込みエンジニアの半年間のすべて 〜WebとiOSとBLEとハードウェアデバイスのこと〜 - YAPC::Asia Tokyo 2015

    All of embed engineer from Web - Web, iOS, BLE and Hardware device - Accepted #yapcasiaD Vote! Tweet 週末兼業から始まったプロジェクト 「鍵ロボットをつくりたい」 大手メーカーとIT系ベンチャーに所属する若手エンジニアたちが、一つのハードウェアデバイスをつくるために、 会社を辞め、起業し、プロトタイプをつくり、量産機を工場でつくり、出荷するまでの駆け抜けた半年間。 今回はWebエンジニアとして生きてきた自分が、どうやって組み込みのセカイに足を踏み入れたのか、 待ち構えていたハードルをどうやって乗り越えたのか、Webエンジニアだったからできたことはなんなのか? デジタル(ソフト)なセカイだけでは知らなかった、0から1にするまでの間のアナログ(ハード)なできごとを包み隠さず話します。 トークの内

  • 我々にできるOSSとそのコミュニティの育てかた - YAPC::Asia Tokyo 2015

    How to create/improve OSS products and its community Accepted #yapcasiaD Vote! Tweet OSSとして公開されるソフトウェアは多くありますが、そのうち広く世に出るものはあまり多くありません。また開発者コミュニティやユーザコミュニティが形成されるところまで成長するものはごく一部といって良いでしょう。 ライブラリ等ではそれでも特に問題はありませんが、高機能なミドルウェアなどになると多くのユーザがつかないとオリジナル開発者が想定した以外のユースケース発見やコーナーケースにおけるバグ発見などが十分に行われず、プロダクトの品質も上がらない、といったようなこともあります。 また日国内では比較的よく使われても、米国を含めた国外ではあまり知られないまま、というケースも多く存在します。特にミドルウェア等については有名な巨大サー

  • Perlで学ぼう!文系プログラマのための、知識ゼロからのデータ構造と計算量 - YAPC::Asia Tokyo 2015

    概要 「データ構造やアルゴリズム、計算量について知っておく事は、プログラマにとって、とても大切なことです」といろんなところで言われています。一方で「そんなの知らなくっても降ってくるお仕事は片付けられるもんねー」というのも、まあ、たしかにそうですね、という感じがします。でも、データ構造と計算量のことを知らないでいると、カジュアルに下手なインデックスを貼ってしまったり、単純な集計のはずなのに6時間動き続けて返ってこない……のようなスクリプトを書いてしまったりすることがあるので、やっぱり、プログラマにとってデータ構造やアルゴリズム、計算量の基を知っているというのは、とても大切なことなんじゃないかな、とわたしは思っています。少なくとも、「計算機の気持ちになってコードを読み書きする」ときの助けになることはたしかです。 でも、やっぱり計算量の話とかって、とっつきづらいですよね。「でもさー。わたし、文

  • 自社サービスで生き残るスタートアップのためのモダンな言語選定とインフラ・アーキテクチャの最適化 - YAPC::Asia Tokyo 2014

    スタートアップにおける技術選定とは? 初めて会社を始める場合、プロダクトを構成する技術の選定は大切です。 大企業で新規事業を始めるのと違い、しくじると会社が死ぬ可能性があるスタートアップにおいて、最初のプロダクトにどんな技術を使うのか、どんな形に沿っていけば良いのかは悩むところだとおもいます。 また、運用フェーズにはいったあとも重要です。構築にだけ目がいってしまい、運用フェーズになってエンジニアを苦しむ技術的負債など、最初の選定が原因で起きる不幸もたくさんあります。 発表者は過去に何社ものスタートアップ・ベンチャーに関わってきて、そのうち三社ではリードエンジニアの立場にありました。それらの経験を元にセッションではスタートアップがプロダクトを構築する際の技術選定のポイントについてお話したいとおもいます。 スタートアップ・ベンチャーに所属するエンジニア、これからWebサービス・アプリで起業

    自社サービスで生き残るスタートアップのためのモダンな言語選定とインフラ・アーキテクチャの最適化 - YAPC::Asia Tokyo 2014
  • ISUCONの勝ち方 - YAPC::Asia Tokyo 2015

    ISUCONというWebアプリケーションのパフォーマンス改善コンテストをご存知でしょうか? ISUCONとは、「お題となるWebサービスを決められたレギュレーションの中で限界まで高速化を図るチューニングバトル」です。3人でチームを組んで参加し、レギュレーションの中であれば自由にアプリケーションに手を加え、出題者が用意したベンチマークでもっとも優れたスコアをたたき出したチームが優勝となります。2011年から4回開催されています。 発表者は2011年、2012年の2回は出題側として問題作成と調整、アプリケーションやベンチマーカーの作成に関わり、2013年、2014年は参加者として2年連続優勝をしています。そして、今年2015年も開催することが発表され、多くの注目を集めています。私も参加する予定です。 このトークではISUCONの課題作成や、問題に取り組んだ経験、また、普段からオペレーションエン

  • サーバーサイドエンジニア(特にPerl)のためのiOSアプリ開発入門 - YAPC::Asia Tokyo 2015

    iOS application development introduction for Perl server-side engineer Accepted #yapcasiaC Vote! Tweet スマホ、とは手の平で動くコンピュータです。 常に持ち歩いているこの端末で自分の書いたプログラムを動かせたら面白いと思いませんか? 特にすでにサーバサイドプログラムができる皆さんは、スマホ側さえできるようになったら、 ほぼどんなアプリでも一人で作れてしまうでしょう。 このセッションではそんなことを思っているPerlプログラマーを対象として、 iOSアプリ開発の方法をひと通り説明します。(iOSだけです。ごめんなさい) 私自身も筋金入りのPerlプログラマだと思いますが、iPhoneが日で発売されてすぐに、iOSアプリ開発に手を出しています。 その経験の中で、PerlとObjective-

  • 3分でサービスのOSを入れ替える技術 - YAPC::Asia Tokyo 2015

    ユーザーに Web サービスを提供し続けるためにはコード、インフラストラクチャー、開発プロセス、セキュリティデータ分析などあらゆる要素を継続的にメンテナンスし続ける必要があります。 近年では Web アプリケーションが生活のあらゆる所で利用されるようになりました。その結果としてサービスの提供者である私達には先に述べたような問題の中でも OS、Web フレームワーク、言語などのセキュリティの問題の評価、対応のリードタイム短縮がより一層求められています。 私が勤務する GMO ペパボでは、上記の問題を解決するために最速で 3 分でサービスを無停止のまま大規模に運用しているサーバーを入れ替えるという Blue-Green デプロイメントの仕組みを構築しました。この仕組により、OSのディストリビュータによる脆弱性対策がなされ次第、即座にユーザーに安全な環境を提供することが可能となりました。

  • WebAudio で入門する信号処理 - YAPC::Asia Tokyo 2015

    WebAudio によるコネクティビティの向上 WebAudio はウェブの世界では数少ない、リアル世界との接続方法を提供する技術の一つである。 ウェブから「ディスプレイに何かを表示する」以外の方法で、出力するだけならば何らかのユーザ同意をとることもなく、直接リアル世界と繋がると考えると、貴重な技術である。 セッションでは WebAudio を用いてモデムの実装をしながら、音声帯域の通信信号処理について簡単な紹介をしたい。 概要 WebAudio とは? -- WebAudio の概念(AudioNode / connect などの簡単な説明) 特殊なノード AnalyserNode, ScriptProcessorNode getMedia によるマイク音声入力 音声帯域での通信 -- 電話回線モデムのプロトコルは? 変調/復調とは? -- 原始的な変調方式 エラー訂正 昨今のトピック