タグ

ブックマーク / qiita.com (415)

  • モブプログラミングを実際にやってみた - Qiita

    「巷で噂のモブプログラミングってどうなんだろう?」と興味を集まったメンバーで集まって、実際にモブプロをしてみました。参考までに簡単にまとめておきます。 モブプログラミングとは モブプログラミングは、2012年頃にHunter Industies社で取り組みが始まりました。そこで得た知見をWoody Zuillさん達がカンファレンス等で紹介することで広まっていきました。 Mob Programming – A Whole Team Approach by Woody Zuill 以下の動画を見ると、実際にモブプログラミングをしている様子を見ることができます。 さらに2016年の様子のビデオが下記です。複数のモブが動いている様子を見ることができます。 モブプロは簡単に言うと、みんなで画面をみながらわいわいプログラミング(またはそれに準じた作業)をすることです。基的な進め方・コツ・現場で出てき

    モブプログラミングを実際にやってみた - Qiita
    masudaK
    masudaK 2018/01/18
    初めて聞いた
  • Webアプリケーションフレームワーク導入時に考慮すべき22の観点 - Qiita

    記事では、 チームによる持続的に変更可能なWebアプリケーションの開発を目標に、フレームワーク導入時に考慮すべき22の観点を紹介する。 フレームワークによって特徴は異なるが、番導入にあたって、考慮すべきポイントはあまり変わらないので、極力フレームワーク1に依存しすぎないよう配慮する。また、話をシンプルにするため、REST APIを提供するアプリケーションを題材とする。 前提 ソフトウェアのエントロピー ソフトウェアがエントロピー増大の法則を避けられないことを、体感している開発者は多いだろう2。普通にアプリケーション開発を続けると、開発スピードは鈍化し、品質は低下してバグが増え、開発者からは技術的負債への怨嗟の声が聞かれるようになる。エントロピー増大というフォースは極めて強力で、意思を持って立ち向かわなければ、容易にダークサイドに堕ちてしまう。 関心事の分離 大規模Webアプリケーション

    Webアプリケーションフレームワーク導入時に考慮すべき22の観点 - Qiita
  • net.ipv4.tcp_tw_recycle は廃止されました ― その危険性を理解する - Qiita

    Disclaimer 私はネットワークの勉強もちゃんとしたことないし、Linux のソース読むのもはじめてな素人です。 何かおかしなところなどあれば、遠慮なくコメント欄でまさかりをお願いいたします。 ソースコードの引用に関して 文中で Linux のコード/ドキュメントを引用している箇所がありますが、すべてタグ v4.11 のものです。また、日語のコメント・翻訳文は筆者が入れたものです。 TL; DR Linux のカーネルパラメータ net.ipv4.tcp_tw_recycle は、バージョン4.12から廃止されました。 今後はこの設定は行わないようにしましょう(というかできません)。 一方、net.ipv4.tcp_tw_reuse は安全であり、引き続き利用できます。 …というだけの話なのですが、自分用にメモがてら経緯・背景などを記録しておきます。 なんで気がついたか このパラ

    net.ipv4.tcp_tw_recycle は廃止されました ― その危険性を理解する - Qiita
    masudaK
    masudaK 2018/01/04
    なくなったのか。すごい丁寧に書かれてて助かる。
  • kubeflow 触ってみた - Qiita

    この記事は TensorFlow Advent Calendar 2017の最終日の記事です。 何を書こうか迷っていたのですが、最近 kubeflow というものを知ったので、それについて書こうと思います。 機械学習システムの実運用 TensorFlowが公開されて2年ほど経ち、いろいろな事例が出てくるようになりました。昨年度は、いわゆるPOC(Proof of Concept)の事例が多かったように思いますが、徐々にビジネスで格的に深層学習を使っているような事例も出てくるようになってきており、今後は深層学習のアルゴリズムそのものではなく、如何に実システムに組み込み運用するか、という観点も重要になってくるだろうと思います。 言い古された話ですが、機械学習番に導入して運用していくには、いろいろんはハードルがあります。このあたりは2014年にGoogleから出された論文「Machine

    kubeflow 触ってみた - Qiita
  • "Building Fault Tolerant Microservices" というプレゼンがとても良かった話 - Qiita

    Microservices Advent Calendar 2017 7日目の記事です。 昨今、microservicesという言葉を聞かない日がないくらい、Netflixを始め、多くの企業がmicroservicesを導入したシステムを運用し、そのノウハウが蓄積されています。 (このAdvent Calendarが盛り上がってないのはちょっと寂しいですね) ですが、正しくmicroservicesを導入することはとても難しいですし、正しく導入できたとしても、運用している内に複雑性はどんどん増していき、様々な困難に直面することになります。 microservicesって、必要となる知識が多岐に渡っていて、どこから手をつけたらいいの?って感じで、体系立てて知識を蓄えるのが難しいなーと思い、あれこれとを読んだり、発表を見たりしていますが、"正しくmicroservicesを導入する" という

    "Building Fault Tolerant Microservices" というプレゼンがとても良かった話 - Qiita
  • Envoy (Envoy proxy)、Istio とは? - Qiita

    Microservices Advent Calendar 2017 14日目の記事です。 今回は、EnvoyIstioという、microservicesの文脈でよく出てくるツールの紹介です。 https://www.envoyproxy.io/ https://istio.io/ どちらも立派な公式ページ/ドキュメントがあり、紹介も何もあったもんじゃないと思われるかもしれませんが、公式ドキュメント上では、とてもたくさんの概念と機能が紹介されていて、私にはこの2つが一体何物なのか中々掴めなかったので、私なりの理解での言葉に置き換えて説明したいと思います。 tl;dr Envoyはmicroservicesなシステムを作るときに必要な機能を提供してくれるside-car proxy。 Istioenvoykubernetes上で使うのを助けてくれるツール。(将来的にはkubernete

    Envoy (Envoy proxy)、Istio とは? - Qiita
    masudaK
    masudaK 2017/12/21
    ちゃんとやる。助かる。
  • MySQL InnoDBの領域管理 - Qiita

    武蔵野Advent Calendar 2017の20日目の記事です。品川から参加しています。 今日はMySQL InnoDBの領域管理について勉強し、いくつか動作例を見ながらInnoDBに対する理解を深めていきたいと思います。アプリケーション開発者やデータベース管理者の方にとって明日からすぐに使えるノウハウとまではいきませんが、いつか何かの役に立てば幸いです。 まとめ InnoDBにはテーブルスペース、セグメント、エクステント、ページというデータの管理単位があるよ エクステント単位で空き領域が管理されているよ。だけどそれを知ったところであまり役には立たないよ 昇順INSERTが得意でランダムINSERTが苦手なのはよく知られているけれど、実は降順INSERTが得意だよ テーブルスペース、セグメント、エクステント、ページ InnoDBのデータが格納されるファイルのことをテーブルスペースと呼び

    MySQL InnoDBの領域管理 - Qiita
    masudaK
    masudaK 2017/12/21
    詳しく書かれてる
  • MySQLが統計情報を計算するタイミングで再起動してしまう - Qiita

    対象バージョン MySQL 5.6.35, 5.7.17 現象 AWS より RDS 上の MySQL のうち 5.6.19a, 5.6.19b, 5.6.21, 5.6.21b, 5.6.22, and 5.6.23 の各バージョンが廃止となるという連絡があり、その時点での最新バージョンである 5.6.35 にアップデートを実施した。 するとバージョンアップ後しばらくして以下のエラーが発生し、断続的に再起動を繰り返すようになってしまった。 (ログは一部改変しています) terminate called after throwing an instance of 'std::out_of_range' what(): vector::_M_range_check 06:01:31 UTC - mysqld got signal 6 ; This could be because you h

    MySQLが統計情報を計算するタイミングで再起動してしまう - Qiita
  • Goでテストを書く(テストの実装パターン集) - Qiita

    Goでテストを書くお話です。 基的なところから、応用的なテストの書き方(パターン?)をまとめておくことにしました。 ポイントを先に列挙します: テストのエラーメッセージは丁寧に書こう テーブルテストを活用してパターンを整理しながら網羅しよう t.Runをつかって大きなテストを分割しよう t.Helperをつかってテストエラーの箇所をわかりやすくしよう テスト用のデータは testdata ディレクトリに置こう Setup/Teardownをうまく書いてテストの見通しをよくしよう 等 では、見ていきましょう。

    Goでテストを書く(テストの実装パターン集) - Qiita
    masudaK
    masudaK 2017/12/20
  • 大規模memcached障害と私 - Qiita

    この記事は ex-mixi Advent Calendar 2017 19 日目のエントリーです。 こんにちは。@bonnu と申します。 株式会社ミクシィには2006年1月から2012年3月末までの間、6年と3ヶ月ほど在籍していました。その後株式会社FreakOut(現在はホールディングスとなっています)に転職。そこからさらに転職を重ね、現在は株式会社GameWithでサーバーサイドを主としたエンジニアをやっています。 ミクシィに入社した当時はまだ社名が株式会社イー・マーキュリーで、入った翌月に社名変更したタイミングでした。なので希少な「イー・マーキュリー」の名刺を持っていました。私より後に入社した他のエンジニアのみんなからよく珍しがられたのを覚えています。 今回はOB・OGによるアドベントカレンダーということで、在籍していた頃に体験した障害について少しお話したいと思います。 (※ 当時

    大規模memcached障害と私 - Qiita
    masudaK
    masudaK 2017/12/19
    “障害対応は基本的に「いかに一人の負担を軽減するか」がキモです(間違いありません”
  • ええっ!? 文字列で書くの!? ログレベル付きロガーhashicorp/logutilsのご紹介 - Qiita

    全世界100万人のコンパイルエラーラバーの皆さんこんばんは、この記事はGo Advent Calendar 2017の18日目の記事です。 標準パッケージのlog Goで作るものはミドルウェアだったり、Webアプリケーションだったり、CLIツールだったり様々だと思いますが、ちょっと凝ったことをするとついてくるものといえばロギングですよね。Goにはlogという標準のログライブラリがありますが、 標準パッケージなのでimport "log"だけで使える インターフェイスがシンプル。だいたいfmt 複数goroutineから扱っても混ざらない そのまま使っても時間が出る などなど、最低限の実用性があります。ただ、他の言語のロガーと比べると、 ログレベル 構造付きログ などの機能が不足していると言えます。 よく使われているロガー そもそもこの記事を書くきっかけとなったのが、Go Conferenc

    ええっ!? 文字列で書くの!? ログレベル付きロガーhashicorp/logutilsのご紹介 - Qiita
    masudaK
    masudaK 2017/12/19
    こういうのもあるのか。でも、自前で頑張らなくてもいいんじゃないかと思う派。
  • 11ヶ月間でTOEICスコアを300点から835点に上げた英語学習法 - Qiita

    ということで11月で835点を取ることができました。 2017/09でいったんスコアが下がったのは結構へこみました。(まあTOEICの点数は運もあるのでプラスマイナス50点くらいの揺れはでると思います。) 学習戦略 英語上達完全マップ 実は英語上達完全マップどおりには勉強しませんでした。英語上達完全マップではボキャビルの勉強は後のほうでいいと書かれていましたが、TOEICのスコアを順調にあげるためにはボキャビルは最初の方にやったほうがいい気がして、4ヶ月後くらいにはTOEICの教材を中心に勉強しました(英語上達完全マップ的にはTOEIC用の勉強するのは邪道なのですが、まあ私はTOEICさんに身を委ねることに決めたので…)。 ただ、英語上達完全マップで掲げられている、瞬間英作文、音読、精読、文法、多読、ボキャビル、リスニングといった体系別トレーニング方法はとても理にかなっていると思いますし、

    11ヶ月間でTOEICスコアを300点から835点に上げた英語学習法 - Qiita
    masudaK
    masudaK 2017/12/18
    圧倒的努力。やっぱDUOは最強だと思う。リスニングここまで短時間で伸ばせるのすごいなー。
  • 会社勤めのエンジニアが開発したサービスを買い取って独立した話 - Qiita

    なぜかミクシィ社でエンジニアだった人々がアドベントカレンダーを書くことになってしまったex-mixi Advent Calendar 2017、12月11日担当の @tnj です。 一般的に、会社を退職することになったら退職届というものを会社に提出することになります。その退職理由には「一身上の都合」と書くのが通例だと思いますが、私はちょっと変わった退職の経緯を持っているので、今回はそれについて共有してみたいと思います。思いのほか長くなってしまいましたが、社会人歴10年目のソフトウェアエンジニアのキャリアの変遷の一例としてお楽しみください。 TL;DR Android開発者としての自分の経験を基に新規事業を立ち上げることになり、エンジニアとして参画したつもりが気がつくと事業責任者になり、果ては事業を買い取って経営者になった 好きでやってる話だしまあなんだかんだ乗り越えていけるよねと思ってたら

    会社勤めのエンジニアが開発したサービスを買い取って独立した話 - Qiita
  • PHP7で宇宙船演算子を使いこなすぞ - Qiita

    まずはPHP7リリースおめでとうございます!!! PHP 7.0.0 Released なんだか記念すべき日にAdvent Calendarを入れてしまって恐縮です。その割にすごい小ネタで書いてしまった…。 ここからPHP7では宇宙船演算子<=>が導入されます。だいたいこういう意味の演算子ですね。 // <=>と同じ意味の関数 function compare($a, $b) { if ($a < $b) { return -1; } elseif ($a > $b) { return 1; } else { return 0; } } compare(1, 2); // -1; 1 <=> 2; // -1; ユースケース的にはusort(), uasort(), uksort()との組み合わせで用いられるので、この機会にPHPにおける配列の並び替えについてまとめてみることにします

    PHP7で宇宙船演算子を使いこなすぞ - Qiita
    masudaK
    masudaK 2017/12/07
    おぉぉ
  • Istio入門 その1 -Istioとは?-

    はじめに Istioの全体像がわかるよう、数回に分けて入門してみます。今回はコンセプトやざっくりとしたアーキテクチャの話、次回からはサンプルのbookinfoアプリケーションを元に各機能を深掘りしていく予定です。 Istio入門シリーズ * その1 -Istioとは?- * その2 -Istio構築とサンプルアプリのデプロイ- * その3 -Blue/Greenデプロイメントによるカナリアリリース- * その4 -基礎から振り返る- Istio1とはマイクロサービスをセキュアにマネージメントするためのOSSで、Kubernetes同様CNCFの一員です。 マイクロサービス化が進むにつれてA/Bテストやカナリーリリースに20%のアクセスのだけ割り当てたいなどの要望により、サービスメッシュ2はより大きく、より複雑になりました。Istioは、このような「複雑なサービスメッシュの管理が追いつかない

    Istio入門 その1 -Istioとは?-
  • Google Homeで受付システム作ってみた - Qiita

    Google Homeで受付システムを作ってみました。 東京の社にはiPadを使った受付システムがあるのですが、大阪支店は諸事情により導入が遅れています。。。 今回は、スプレッドシートに来訪者情報を記録し、その情報を検知するとSlackに通知が行くようにしました。 現状 大阪支店は紙とペンと呼び鈴の超アナログ仕様ですw これに会社名と名前を記入して呼び鈴を鳴らすと奥から社員がやってきて対応しています。 完成動画 Google Homeで受付システムを作ってみた。 #GoogleHome #Slack #Googleアシスタント pic.twitter.com/O0bFoIuBCx — がおまる@HoloLens研究者 (@gaomar) 2017年12月6日 構成図 構成はIFTTTでスプレッドシートに来訪者を記録し、値が変更されたことをトリガーにして Slackに通知を投げています。

    Google Homeで受付システム作ってみた - Qiita
  • 最近のAndroidネイティブ開発まとめ(2017/4版) - Qiita

    2017/04/23更新 buildConfigFieldについて追記 ライブラリ情報更新 通信処理(RxJava2+RxAndroid+Retrofit2)について追記 はじめに 最近Androidネイティブ開発で消耗しています。 モダンなAndroidネイティブ開発に関してまとめてみました。 基 AndroidManifest.xml 主に次の項目を設定する アプリの権限の設定 ApplicationおよびActivityの初期設定 BroadcastReceiverの設定 アプリのパーミッション(権限)を追加したい場合はapplicationタグの前にuser-permissonタグを追記 上記は一番よく使う通信を許可するためのパーミッション name属性値に許可したいパーミッションを指定します。 build.gradle アプリケーションの次のビルド設定を記載する アプリバージョ

    最近のAndroidネイティブ開発まとめ(2017/4版) - Qiita
  • GOのORM sqlboiler 使ってみた  - Qiita

    この記事はGo2 Advent Calendar 2017の3日目の記事です。 良い機会だったので初投稿してみました。 普段ORMgormを使用しているのだがsqlboilerはパフォーマンスがgormに比べてパフォーマンスがよいという話を聞いて実際に使ってみたのでまとめを記事にしました。 sqlboilerとは データベーススキーマに合わせたGOORMを生成ツールです。 gormとかとは違い、コードファーストではなくデータベースファーストのORMとなってます。 つまりどういうことかというと、データベーススキーマを先に作成しそこからgoのコードを生成してくれます。 準備編 今回Migrationツールのgooseを使用してデータベーススキーマを管理していきます。 依存解決ツールはdepを使います。(説明はしませんが) sqlboilerとgooseをインストール # sqlboiler

    GOのORM sqlboiler 使ってみた  - Qiita
    masudaK
    masudaK 2017/12/03
    ぱっと見良さそう。次なんか作るときこれでもよいかも。
  • CORSまとめ - Qiita

    今更ですが、CORS (Cross-Origin Resource Sharing)を色々試していたら、思っていた以上に色々パターンがあることに気づいたので、改めてその扱い方についてまとめてみました。 そもそも 現在のWebブラウザでは、あるWebサイトが持つ情報が別の悪意あるWebサイトに悪用されるのを防ぐために、Same-Origin Policy(日語では同一生成元ポリシー)が適用されます。 例えば、あるWebサイト https://guiltysite.com をブラウザで表示している時に、このWebページからXMLHttpRequest(以下、XHR)やFetch APIで別のWebサイト https://innocentsite.net からHTTP(S)でデータを読み込もうとすると、エラーになる、というわけです。 しかし、アクセス元が悪意あるWebサイトならともかく、データ

    CORSまとめ - Qiita
    masudaK
    masudaK 2017/12/02
  • テストがなかった無法地帯にテストを導入して開発速度を1.7倍にした話 - Qiita

    テストがなかった無法地帯のプロジェクトに自動テストを導入して、開発速度を1.7倍にした話をします。 自動テストがなぜないのか 自動テストのないプロジェクトには、そうなる理由が必ず存在します。よくみる理由は、「時間がないから1」「テストの書き方がわからないから」「無理やりテストを書いたつらい経験があったから2」といったものです。今回のプロジェクトの場合は、以下の2点でした: 自動テストの書き方がわからないから レビューがテスト代わりだったから まず、チーム編成が変わって私ともう一人がチームに加わるまで、実装者の中に自動テストの経験者はいませんでした。このような状況では、自動テストは困難になります。なぜなら、何をどうやってどこまでテストするかを決めるには、多少の慣れが必要だからです。この慣れがないと、何をしたらいいかわからないという状態に陥りがちで、結果として自動テストが後回しにされてしまいま

    テストがなかった無法地帯にテストを導入して開発速度を1.7倍にした話 - Qiita
    masudaK
    masudaK 2017/12/01
    単に試験的に導入ってわけではなく、シングルトン除いたり、仕組み化したり、ちゃんと継続的にできるところまで持っていくのすごいし、めちゃ大事だと思う。そして、評価して給料あげる会社もちゃんとしてて偉い。