ブックマーク / dev.classmethod.jp (36)

  • 管理職のためのエンジニア組織構築マニュアル | DevelopersIO

    はじめに クラスメソッド株式会社 AWS事業部長の佐々木です。 私は前職で創業メンバーの1人としてビジネスを立ち上げた後、エンジニアとして実業務に携わりながら、統括マネージャーとして50人規模のエンジニア組織を構築しました。 また2014年にAWSエンジニアとしてクラスメソッドに入社し、2015年7月よりAWS事業部の部長に就任。事業は順調に拡大しており、2015年と比較して組織も2倍以上に大きくなりました。これは優秀な仲間に恵まれたのはもちろんのこと、組織設計と構築プランが功を奏したことも一因だと感じています。 そこで、私がこれまでに培ってきた経験から得たエンジニア組織の構築の仕方をお伝えしたいと思います。 エンジニア組織構築マニュアル 骨子を定義する これはエンジニア組織に限りませんが、組織には3つの骨子が必要です。 ポリシー ビジョン ターゲット ポリシーは、その組織が最もこだわる一

    管理職のためのエンジニア組織構築マニュアル | DevelopersIO
  • 開発者が運用を経験すべき一つの理由 | DevelopersIO

    はじめに 小室です。2017年も最後の日になりました。 ここ最近は読書によるインプットが少なくなったことによって、文章の質が自ら目を背けたくなる程度に低下していたため、仕事納めから数日はひたすらを読む生活をしていました。まだまだインプットが足りていないので充電が完了していないのですが、年末恒例になったエントリーを書かないことが自分の中でモヤモヤとして残っていたので、重い腰を上げて文章を書いてみようと思います。 ここ数年は珍しく1つのプロジェクトにつきっきりで設計/実装から運用までを通して担当しています。 *1特に運用を担当するようになって多くを学んだ一年でした。もはや設計・実装者が一人も残っていないアプリケーションのメンテナンス、改修に関わったり、インフラ側とアプリケーション側の狭間を埋めるように動くためにAWSのサービスについて格的に勉強をしたりするなど、1アプリケーションエンジニア

    開発者が運用を経験すべき一つの理由 | DevelopersIO
  • MySQL のサブクエリって、ほんとに遅いの? | DevelopersIO

    こんにちは、みかみです。 今日のクラスメソッドのAWSおみくじ、RDS(t1.micro)でしたー!(昨日は Aurora!@@v はじめに 前職@アプリ開発時、MySQL のクエリチューニングをさせていただく機会がありました。 ユーザー入力のキーワードで全文検索 → 見つかったレコードを返すのですが、所要時間、約3分。。 Apache タイムアウトして画面真っ白。。。(泣きそうでした><。 EXPLAINで実行計画を調べた際に、select_typeにはクエリの種類が表示されるのだが、代表的なサブクエリには次の3つのパターンがある。 SUBQUERY DEPENDENT SUBQUERY DERIVED 結論から言おう。遅いのは2番目、DEPENDENT SUBQUERYである。DEPENDENT SUBQUERYとはいわゆる相関サブクエリに相当するもので、サブクエリにおいて外部クエリの

    MySQL のサブクエリって、ほんとに遅いの? | DevelopersIO
  • 普通のRailsアプリケーションにReactを導入する | DevelopersIO

    次にreactをインストールします。 $ npm install -S react react-dom package.jsonは以下のようになりました。 { (中略) "devDependencies": { "babel-core": "^6.21.0", "babel-loader": "^6.2.10", "babel-preset-es2015": "^6.18.0", "babel-preset-react": "^6.16.0", "webpack": "^1.14.0" }, "dependencies": { "react": "^15.4.2", "react-dom": "^15.4.2", }, (中略) } ビルド設定 webpackでビルドできるように設定ファイルを作ります。 clientディレクトリにwebpack.config.jsファイルを作成し以下の内容

    普通のRailsアプリケーションにReactを導入する | DevelopersIO
  • OSSのジョブ管理システム Kuroko2を使ってみた | DevelopersIO

    私の所属するプロジェクトで、OSSのジョブ管理ツールKuroko2を導入しました。 簡単にKuroko2の特徴、設定手順をご紹介します。 導入の経緯 プロジェクトが始まった時、一定間隔で起動する小さなジョブが一つか二つあるだけなのでcronで動かしていました。 ですが、リリースから時間が経ちサービスが成長するにつれ次第にジョブも増えていきました。 「こっちのDBから1日1回データを同期して画面に反映して欲しいです!」 「FTP接続してこっちのファイル取得してほしいんだけど...」 「対象のデータがあったらS3にJSON書き出してくれない?」 その場しのぎで次々にcron起動のジョブを増やしていったところ、ある日 崩壊した... (青:使用可能メモリ、緑:使用済みメモリ) ジョブ管理システム Kuroko2の導入 自前でジョブ管理システムを構築することも検討しましたが、時間がないことやすでに

    OSSのジョブ管理システム Kuroko2を使ってみた | DevelopersIO
  • サーバーサイドエンジニアこそAngular2をやるべきかもしれない – Heroデータを AWS Lambda+DynamoDB で取得する | DevelopersIO

    サーバーサイドエンジニアこそAngular2をやるべきかもしれない – Heroデータを AWS Lambda+DynamoDB で取得する はじめに 私自身は普段サーバサイド(主にWeb API)の開発を行っているのですが、業務外でAngular2を触ってみたところかなり好感触だったのでブログにしました。この記事では、Angular2のTutorialを終えた状況から、データ取得部分をモックではなく外部サーバに置き換える例を示し、Angular2の考え方、サーバサイドとの連携方法について記録したいと思います。 Angular2をはじめたときの筆者の状況 フロントエンドスキルセット jQuery、CSSを利用したウェブページの開発経験あり とはいえ、アニメーションや色彩に明るいわけではなく、ほとんどWebアプリケーションフレームワーク任せ JavaScriptはDOM操作用の言語という考え

    サーバーサイドエンジニアこそAngular2をやるべきかもしれない – Heroデータを AWS Lambda+DynamoDB で取得する | DevelopersIO
  • [iOS] TestFlight の特徴 と DeployGate との違い | DevelopersIO

    はじめに iTunes Connect 標準機能として提供されているTestFlightと、充実した機能や分かりやすい管理画面UIを提供してくれているDeployGate。今回は、この2つを、iOS開発者の立場から比較してみました。 もし間違い等ありましたら、ぜひご指摘いただけると幸いです。 また、別の比較できる観点が見つかりましたら、更新するかもしれません。よろしくお願いいたします。 ※初回投稿時、DeployGateがDeploygateとなっていました。へんてこさん、ありがとうございます!(2016/03/31) 簡単に各サービスの紹介 TestFlight iTunes Connect の一機能として提供されているサービスの名称。特定のユーザーに、リリース前のアプリを配信し、利用状況の取得やフィードバックを受けることができる。 TestFlight Beta Testing - A

    [iOS] TestFlight の特徴 と DeployGate との違い | DevelopersIO
  • RedPen でわかりやすい技術文書を書こう | DevelopersIO

    最近はブログを始めマニュアルや仕様書など技術文書を書く機会が多くなってきました。 技術文書はわかりやすさが重要だと思うのですが実際は書けていません。 どうしたらわかりやすい文書が書けるのだろうか?と調べていたら RedPen というツールを見つけたので早速試してみました。 RedPen とは? RedPen とはプログラマや記者が規約に従って文書を記述するのをサポートしてくれるオープンソースのソフトウェアツールです。 プログラミングが規約に従ってコーディングされているかチェックするように、RedPen は自然言語で記述された入力文書の検査を自動化してくれます。 RedPen の特徴 設定が柔軟に行えます。(カスタマイズも柔軟) どのような言語で書かれた文書でも処理できます。(もちろん日語も OK です) MarkdownTextile フォーマットで記述された文書をそのまま検査でき

    RedPen でわかりやすい技術文書を書こう | DevelopersIO
  • アジャイル・クラウド・DevOpsとエンジニアの採用と評価についてRyuzeeさんに聞いてみた(14,000文字インタビュー!) | DevelopersIO

    アジャイル・クラウド・DevOpsとエンジニアの採用と評価についてRyuzeeさんに聞いてみた(14,000文字インタビュー!) はじめに 2月某日、Ryuzee.com の Ryuzee さんこと吉羽龍太郎さんに、アジャイル・クラウド・DevOps についてのお話を伺う機会がありました。エントリーは、その時の様子を文章化したものです。 アジャイル・クラウド・DevOps は実際のところどんなものなのか? 上手くいく/上手くいかない取り組みの違いはどこなのか? そもそもそれは当にやるべきか? 組織とエンジニアの関係、評価はどのようにすれば良いのか? といった幅広いテーマについて語っていただきました。 このインタビュー記事は、 アジャイル・クラウド・DevOps などをやりたいけど、どこから手を付けていいのかわからない方 手を付けたけど、なんだか上手くいっていないことにお悩みの方 もしく

    アジャイル・クラウド・DevOpsとエンジニアの採用と評価についてRyuzeeさんに聞いてみた(14,000文字インタビュー!) | DevelopersIO
  • [働き方] リモートワークにおけるコミュニケーションについて | DevelopersIO

    こんにちは。小室です。2014年の10月から北海道札幌市に移住し、1年ちょっとが経過しました。 基的にリモートワークで日々の様々な業務をこなしているのですが、そこで気づいたリモートワークにおけるコミュニケーションについて振り返ってみたいと思います。 リモートワークにおけるコミュニケーション リモートワークにおけるコミュニケーションは各社色々と工夫しているかと思います。ただやはり大半はチャットツールを基にしているのではないでしょうか。代表的なところだと以下の様なサービスでしょうか。 Chatwork Slack Swiggle idobata IRC いずれも文字チャットをベースとしたコミュニケーションツールです。 チャットは日常会話の延長ではない 文字によるコミュニケーションはどんなツールに頼っても、実際にF2Fで会っている人たちとの日常会話に比べると情報量はかなり削られます。これはチ

    [働き方] リモートワークにおけるコミュニケーションについて | DevelopersIO
  • [Rails] STI(Single Table Inheritance)でコントローラも一つに纏める | DevelopersIO

    Rails で STI(Single Table Inheritance)を使った時の、コントローラの実装をどうするか?という事について書いてみたいと思います。 STI(単一テーブル継承)とは オブジェクト指向の基概念として、あるクラスを元にサブクラスを定義する継承があります。 この継承は、プログラミング言語ですとと予め機能が提供されていることが多いですが、 RDB ですとテーブル構成によって表現する場合があります。 *1 今回使う STI は、一つのテーブル内に継承関係にあるクラスのカラムを全て持ってしまう方法です。 例として Player クラスを継承した Footballer クラスと Cricketer クラスがあるとします。 親クラスに共通のプロパティ、子クラスがそれぞれのプロパティを持っていますが、これを STI で表現すると以下になります。 テーブルのレコードがどちらの型に

    [Rails] STI(Single Table Inheritance)でコントローラも一つに纏める | DevelopersIO
  • 突撃!隣の開発環境 パート12【Treasure Data編】 in シリコンバレー | DevelopersIO

    こんにちは!しんやです。今回はおおはしりきたけが書き連ねている人気シリーズ『突撃!隣の開発環境』に乗っかる形で私もこのシリーズエントリを書かせて頂きたいと思います。 突撃!隣の開発環境とは 技術事例やノウハウなどは、ブログや勉強会などで共有されることが多いと思います。しかし、各社の開発環境や開発体制などは意外と共有されていないこと多いと思います。ノウハウの流出になるかもしれませんが、それ以上に、より良い開発を目指している会社さん同士で情報交換を行い、良いチーム、良いプロダクトを作っていくという志の会社さんの為の情報共有のための企画になります。開発環境や開発体制なども技術領域によっても変わってくると思いますが、この突撃!隣のシリーズでは様々な会社さんのイケてるツールの使い方や、仕事が捗る開発体制についてインタビューを行っていく予定です。 Treasure Data社紹介 今回第12回目として

    突撃!隣の開発環境 パート12【Treasure Data編】 in シリコンバレー | DevelopersIO
  • 冷静に、開発者目線で見た「WWDC 2015」まとめ | DevelopersIO

    WWDC 2015 2015年6月9日 午前2時(現地時間では6月8日 午前10時)からAppleが主催する 「WWDC 2015」 が開催されました。例年、WWDCではAppleの新製品や新機能の発表が行われます。各種メディアをはじめ、開発者やApple製品のユーザーからも注目される、年に一度のお祭りのようなイベントです。 前回のWWDC 2014では、新言語「Swift」が発表され、開発者からの注目を大いに集めました。 WWDC 2015でAppleが掲げたテーマは、 「The Epicenter of Change」(変化の震央) です。 一体我々にどんな変化をもたらすのか、また震央とは何かに注目し、開発者目線でレポートをお届けします。 それぞれの OS の変化 OS X El Capitan OS X Yosemiteの後継 Mac OSです。ヨセミテ国立公園の名所で命名されていく

    冷静に、開発者目線で見た「WWDC 2015」まとめ | DevelopersIO
  • 突撃!隣の開発環境 | シリーズ | Developers.IO

    突撃!隣の開発環境 シリーズ 突撃!隣の開発環境 パート14【SAP Palo Alto Labs編】 in シリコンバレー 記事 2015年12月03日 しんや 101 こんにちは。しんやです。ちょっと期間が空いてしまいましたが、2015年10月中旬に米国シリコンバレーに滞在していた際に企画していた『突撃!隣の開発環境』シリーズ特別編の続編エントリが出来上がりましたのでお届けしたいと思い […]

    突撃!隣の開発環境 | シリーズ | Developers.IO
  • 最強のノマド環境メイド喫茶で気をつけるべき4つの項目 | DevelopersIO

    どうも。大村です。 最近急激に暑くなってきて、クールビズが会社で採用されているところは、ノーネクタイでラフな格好が増えていますね。 弊社クラスメソッドは基的に一部のお客様への打ち合わせや営業時以外は、社内的に服装が割と自由(流石に公共的に出してはまずい格好はNG)なので、30度になりそうなここ数日はTシャツで通勤できて非常に楽ちんです。 さて、今日も今日とて仕事をしていたのですが、社内でブログが廻ってきまして、「メイドカフェがプログラマーのノマド作業に最高な理由(susumuis infoさん)」を見てくださいと。 何を隠そう私自身が時々気分転換にメイド喫茶で仕事や作業をしているのですが、このブログを読んで大変に共感いたしました。 弊社でも、社長の横田もよくファミレスでノマド作業しているのがFacebookやTwitterで共有されてきます。 また、在宅勤務やリモートワークも打ち合わせな

    最強のノマド環境メイド喫茶で気をつけるべき4つの項目 | DevelopersIO
  • Amazon Machine Learningによる機械学習を理解する | DevelopersIO

    用語の意味が分からない! Amazon Machine Learningを始めてみようとナビゲーションに沿ってサンプルを触ってみると、なんとなくできてしまう簡単さではありますが、実際のところ用語の意味がよく分かりません。そこで、この記事では、Amazon Machine Learningを学ぶ上で必要になるであろう単語の意味や、機械学習の勘所になりそうな部分についてご紹介したいと思います。 どんなタイプの機械学習なのか? Amazon Machine Learningは、「教師あり学習」をすることができます。その中でも、「二項分類」、「多項分類」、「回帰分析」を行うことができます。 学習方法 教師あり学習(Supervised Learning) 事前に与えられた教師データ(訓練データ)を使って学習します。教師データに基づいて一般化(モデル化)し、未知のデータに対する出力を予測します。 教

    Amazon Machine Learningによる機械学習を理解する | DevelopersIO
  • 急いで学ぶGo lang#4 関数・ポインタ・制御構文 | DevelopersIO

    Goの制御構文 今回は関数やポインタ、条件分岐、ループなどを使ってみます。 動作環境 今回使用した動作環境は以下のとおりです。 OS : MacOS X 10.9.4 Go : 1.4.1 IDE : IntelliJ IDEA 14 CE ここを参考に、GOPATHとGOROOTは設定しておいてください。 Goの関数 関数定義 Goで関数はfuncを使って定義します。funcに続いて関数名、引数があれば引数を記述します。戻り値があればそれも記述します。 // func functionName ( arg1 arg1Type, ・・・) (result1 resultType・・・) func add(x int, y int) int { return x + y } z:= add(2,3) //z = 5 可変長引数 引数に...を指定すれば可変長引数をとることも可能です。 fun

    急いで学ぶGo lang#4 関数・ポインタ・制御構文 | DevelopersIO
  • Dockerコンテナのクレデンシャル設計パターン | DevelopersIO

    ども、大瀧です。 データベースやクラウドストレージにアクセスするために、DockerコンテナでパスワードやAPIトークンキーなどのいわゆるクレデンシャル(資格)情報を扱うことがあります。これらの情報の扱い方についていくつかパターンを挙げ、考察してみたいと思います。 TL;DR(要点) DockerイメージやDockerfileに埋め込むのはアンチパターン コンテナ実行時に環境変数で渡すのがメジャー。しかしクレデンシャル管理が不要になるわけではない コンテナ実行時に外部から動的取得するのがおすすめ。クラウドのメタデータサーバーの利用がお手軽 クレデンシャル情報とは クレデンシャルは、コンテナから外部のデータソースにアクセスするための資格情報を指します。典型的なクレデンシャルとして以下があります。 DBユーザー名とDBパスワード : dbuser/dbpass WebサービスにアクセスするAP

    Dockerコンテナのクレデンシャル設計パターン | DevelopersIO
  • [iOS][Mac] Swift を学べる記事のまとめ | DevelopersIO

    Swift を学ぼう 弊社でも iOS エンジニアはもちろん、サーバーサイドのエンジニアAWS エンジニアSwift に興味津々です。Objective-C より読みやすく、モダンな書き方になっている反面、仕様を読み込んでみるとちょっと分かりづらいところもあったりします。 そこで、これまで Web で公開されている Swift について学べる記事を日語の記事を中心にまとめてみました。今後も有益な情報が公開されたらガンガン追記していきます! 公式情報 一番有益な情報は間違いなく公式の情報です。 Xcode 6 から導入されたツール「Playground」で試しながら読んでいくことを想定して書かれているようです。Playground を使って挙動を確認しながら学ぶのが一番良いと思います。 Swift Programming Language | Apple Developer The

    [iOS][Mac] Swift を学べる記事のまとめ | DevelopersIO
  • iOS 8リリースされたらiOSアプリ開発会社にどんな影響があるか予想してみた | DevelopersIO

    こんにちは!おおはしりきたけです。さて、日時間の6月3日にWWDCが開催されましたね。昨日の話題はすっかりSwiftで持ちきりでしたね。WWDCで発表されたiOS 8 が秋にリリースされる予定ですが、SwiftよりもiOSアプリ開発会社として私としては、iOS 8新機能の方が気になっています。既にAppleのサイトにはiOS 8のPreviewが公開されています。リリース後どのような影響があるのかを独断と偏見で予想してみます。 iOS 8について 今回、WWDCでは以下の発表がありました。 Photos. Messages. Details make the experience. Our smartest keyboard ever. Family Sharing. iCloud Drive. Health. iPhone, iPad, and Mac. Connected like

    iOS 8リリースされたらiOSアプリ開発会社にどんな影響があるか予想してみた | DevelopersIO