API開発の基本 - 銀行APIの開発事例に学ぶ『使いやすい』のデザインプロセス APIは多くのWebシステムにおいて、欠かすことのできない技術です。APIをどのように設計、デザインすれば、ユーザに利便性を提供できるのかを、GMOあおぞらネット銀行 CTOの矢上聡洋さんが解説します。API設計の基本、そして実際の銀行APIの設計から、“使いやすい”を生み出すためのデザインプロセスを学びます。
カオスエンジニアリングを導入したクックパッドの挑戦 マイクロサービス化に伴う可用性の低下に対応 料理のレシピ投稿・検索サービスのクックパッドでは2年前からカオスエンジニアリングに取り組み、さまざまな事例やノウハウを蓄積しています。クックパッドの技術部・SR(Site Reliability)グループの小杉山拓弥さんとDX(Developer Productivity)グループの鈴木康平さんに、導入の理由やさまざまな知見を伺いました。 カオスエンジニアリング(Chaos Engineering)とは、稼働中のサービスにあえて擬似的な障害を発生させることで、システムの耐障害性を検証する手法です。動画配信サービスを提供するNetflix社が2011年ごろから実践し、ソフトウェアや情報を積極的に公開したことで世界中から注目されるようになりました。 国内ではまだ導入事例も少ないなか、料理のレシピ投稿
モノリシックな大規模アプリを運用する技術-サービスを“分割しない”メリットをSansanの実例に学ぶ モノリシックにアーキテクチャを構築するメリットとは?近年、マイクロサービスアーキテクチャが注目を集めていますが、Sansanは大規模なアプリケーションに成長したいまも、モノリシックな構造を維持しています。ドメインコンテキストの共有のしやすさ、チームビルドのしやすさなど、モノリシックな構造だからこそ得られるメリットを聞きました。 モノリシックである利点 - ドメインコンテキストが共有しやすい Backlogを一本化し、モノリシックなシステムを運用しやすく 技術的負債の解消 ~事業フェーズに適した技術を選定する~ 技術的負債の解消 ~リプレース可能な部分は積極的にエコシステムを活用~ 技術的な改善をビジネスの改善に結びつける 近年、複数の小さなサービスをAPIによって連携させるマイクロサービス
技術的負債を徹底的に解消した話 - オミカレのシステムフル刷新のためにやったことを全部教える 技術的負債、デザイン面での課題など、サービスを構成するシステムを全面にわたってリニューアルしたプロセスを、オミカレの高橋一騎さんが克明に伝えます。 株式会社オミカレでテックリードをしております、高橋一騎(たかはし・いっき/ @ikkitang )です。私たちが提供する婚活メディアサービス「オミカレ」は、2019年3月にシステムのフルリニューアルに踏み切りました。本稿では、このリニューアルのプロセスをできるだけ詳細にお伝えしたいと思います。 さて、「技術的負債」という言葉を耳にすることがあります。なぜ負債が生まれるのか。「品質を犠牲にしてでも早々にサービスをリリースし、短期的にビジネスの速度を上げる」という判断はその理由の一つに挙げられるでしょう。エンドユーザーへの価値提供スピードを得るための見返り
スクラムマスターがやること、やらないこと - アジャイルトレーニングの専門家に聞いてみた スクラムマスターとして日々仕事に邁進していても、教科書どおりにいかないこともしばしば。イベントに人が来ない……、タスク終わらなさそう……などなど、スクラムマスターが直面しがちな、「あるある」な悩みを、アジャイルコーチの吉羽龍太郎さんに相談してみました。 イベントマネジメントの心得 スプリントレビューでは言いたい放題言わせよう! スプリントの期間延長は絶対NG 大切なのは原因の究明 スコープと期限の両方を守るのは難しい よいチームを作るためにスクラムマスターができること アジャイル開発の定番手法ともいえる「スクラム」。開発チームにスクラムを導入し、効率的に開発を進めるには、スクラムマスターの手腕が欠かせません。しかし、いざスクラムを運用しようにも、現実には教科書どおりいかない場面もあるでしょう。 イベン
100万行オーバーのモノリシックRailsアプリをマイクロサービス化したクックパッドの手順 マイクロサービスの導入事例を、中の人が徹底的に語ります。クックパッドでは、100万行オーバーの超巨大なRuby on Railsアプリのマイクロサービス化に挑みました。アプリをいかに分離し、連携できるようにするか、など、同社が採ったマイクロサービス化の戦略を聞きました。 Ruby on Railsのバージョンアップに1年かかっていた 【マイクロサービス化戦略】まずはコードを減らすことから 【マイクロサービス化戦略】アプリ固有のバッドノウハウを減らす 【マイクロサービス化戦略】まずは分離しやすい部分からお試しで 【マイクロサービス化戦略】データベースが切れていればサービスも切りやすい 【マイクロサービス化戦略】インフラ構成を標準化する 【マイクロサービス化戦略】サービスメッシュを入れて通信の課題をクリ
WebAuthnでパスワードレスなサイトを作る。安全なオンライン認証を導入するFIDOの基本 FIDO(Fast IDentity Online)とは、公開鍵認証方式を応用し、オンライン経由で認証を行う仕組みです。パスワード認証の安全性は限界が指摘されるなか、Webサイトにおいても生体認証などパスワードレスな仕組みを導入する企業が増えており、このFIDOやWebAuthnに注目が集まっています。Capy株式会社で情報セキュリティに関する研究開発や分析などに携わる、松本悦宜さんの解説です。 こんにちは、松本悦宜(@ym405nm)です。 FIDO(ふぁいど)に関しては、昨年(2018年)から多くのメディアや技術ブログで取り上げられ、導入するWebサイトも増えています。 FIDO2プロジェクトにおいて話題になったWebAuthn(Web Authentication API)についても、主なW
AWS導入~スケールまでの変遷を事例に学ぶ - コンテナ化のために「みてね」が選んだ構築戦略 これからAWSを導入する、AWSに入門するといった方に向け、AWSの導入のための基本的な戦略や考え方を事例で紹介します。多岐にわたるAWSの機能をいかに活用するか。サービス立ち上げから、その後のスケールまで、実際の現場でどのようにAWSを活用しているかを、株式会社ミクシィで「みてね」のインフラをリードする清水勲さんが語ります。 今や全世界のWebを支えるクラウドとして欠かせない存在となったAWS(Amazon Web Services)。さまざまな規模、目的のWebで活用されている中、持続的・永続的なサービス設計・開発・運用をするには、日々の情報収集と、時代に合わせたアップデートが求められます。 今回、株式会社ミクシィが提供する「家族アルバム みてね」でのAWS活用事例をもとに、AWS活用のヒント
上達したいVim初心者のための設定・プラグインの見つけ方、学び方〈エディタ実践入門〉 Vimの深淵はとても深く、学ぶことは簡単ではありません。本記事では、初心者がVimをどのように学べばよいか? を解説しています。Shougoさんの寄稿です。 こんにちは。Shougo(@ShougoMatsu)です。今回は、Vim初心者のための記事を執筆することになりました。よろしくお願いします。 私のことを知らない人のために簡単に自己紹介しておきます。私はこれまで10年以上もの間Vimに関わっており、deoplete、dein、denite、defx、neosnippetといった各種プラグインを作成したり、ときにはVim本体にパッチを書くなどといった活動を行っています。 今回、初心者向けの記事を執筆することに決めたのは、勉強会などで「Vimをどのように学べばよいか?」について質問されることが多く、皆が同
エンジニアHub > 記事一覧 > Visual Studio Codeのうれしい機能を使いこなして、初心者を最速で脱出する!《VSCode実践入門》 Visual Studio Codeのうれしい機能を使いこなして、初心者を最速で脱出する!《VSCode実践入門》 VSCodeは初版が2015年リリースの新しいエディタですが、インテリセンス、ユーザースニペット、Emmet、マルチカーソル、拡張機能というコーディングにうれしい機能が充実しています。VSCodeを検討中あるいは使いはじめたばかりの若手エンジニアが、いち早く初心者を脱出するための使いこなし方を解説します。 はじめまして、KC(けーしぃ、@kcpoipoi)と申します。技術書典6にサークル参加してたら「キミ、Web執筆に興味ない??」とお声がけいただきました。Web執筆は初めてなので至らない点があるかもしれませんが、何卒よろしく
エンジニアHub > 記事一覧 > ガンジス川で瞑想し、サウナでひらめきVulsができた - 各OSに対応する脆弱性スキャンを実現した手法 ガンジス川で瞑想し、サウナでひらめきVulsができた - 各OSに対応する脆弱性スキャンを実現した手法 サーバー運用者の抱える「脆弱性対応の負担が大きい」という課題を解決するべく、神戸康多さんが開発したOSS「Vuls」。同ソフトウェアはなぜ複数OSの脆弱性を検知できるのか、その基本構造を聞きました。そして、神戸さんが語るVulsの開発の根本にあった、貢献意識とは。 マカフィー株式会社が戦略国際問題研究所と協力して2018年3月8日に発表したレポート「Economic Impact of Cybercrime - No Slowing Down(衰えを知らないサイバー犯罪の経済的影響)」は、サイバー犯罪が世界経済にもたらした損害額は約6,000億米ドル
「単体テスト」再入門! 開発の現場でバグを確実に洗い出す最適な手法と、テストケースの作り方 単体テストの定義から手法、未来の展望までを、日本におけるソフトウェアテストの第一人者・高橋寿一さんが解説します。 ソフトウェアのテストにおいて、最初のフェーズである単体テスト。若手Webエンジニアの中には、いきなり単体テストを任されて戸惑った方もいるでしょう。仕方なく現場で踏襲されているやり方に従っているだけ、ということもあるのではないでしょうか? 今回は、単体テストの定義から手法、未来の展望までを、日本におけるソフトウェアテストの第一人者・高橋寿一さんが解説します。 単体テストとは(各社ばらばらな単体テストの定義を再定義) コードベースの単体テスト 命令網羅(C0カバレッジ) 分岐網羅(C1カバレッジ) よくある(コードベースの)単体テストの間違い 機能単位の単体テスト 例:複雑なソート機能のテス
失敗を学びに変える「障害報告書」の書き方 ─ RettyのCTOがGoogleで学んだ「問題を隠さない文化」 人間は失敗するものです。エンジニアもまたしかり。Retty株式会社の樽石CTOが考える、失敗を学びに変える考え方とノウハウを紹介します。 はじめまして。Retty株式会社でCTOを務める樽石将人( @taru0216)です。Rettyにおける技術の責任者として不確実性の高いシステム開発を成功に導くよう牽引したり、メンバーが働きやすくなるような仕組みづくりを行ったりしています。 子供の頃からパソコンに親しみ、新卒一期生でレッドハットに就職して、Rettyに入社するまでGoogleや楽天を経てきました。エンジニアとして活動して約30年。日々失敗し続けていますし、過去には大規模サービスを止めてしまったこともあります。 人間である以上、バグやエラーは必ず起こるもの。エンジニアは失敗を繰り返
Macでターミナルとシェルを使うための基礎知識 - 環境の構築と基本的なファイル操作を知る Macでターミナルとシェルを活用し、サクサクと作業をするには?シェルに関する多数の執筆を持つ、「シェル芸人」こと上田隆一さんが基本のテクニックを解説します。 こんにちは。千葉工業大学未来ロボティクス学科の上田( @ryuichiueda )です。というよりシェル芸の人と呼ばれることが多い上田です。 この記事は、「Macでターミナルやシェル、コマンドを使う」というテーマでお送りするものです。通常、シェルの話になるとサーバとして利用されるOSを環境に指定することがほとんどです。この企画もそういう暗黙の前提があったはずなのですが、「せっかくエンジニアにはMacユーザーが多いのだから、Macで普段使いできるような解説を書きたい」と筆者がダダをこねてねじ曲げて、これを書いております。 シェル(ターミナル)とい
いま学ぶべき第二のプログラミング言語はコレだ! 未来のために挑戦したい9つの言語とその理由 業務に必要なだけではなく、コンピュータによって問題解決できていない分野を切り開き、エンジニアとして戦っていくため、刺激的な第二プログラミング言語に挑戦しましょう。Rust、Go、Erlang、Elixir、Clojure、Scheme、OCaml、Haskell、Scalaを紹介します。 みなさんが使えるプログラミング言語はいくつあるでしょうか? ひとくちに「使える」といっても、ひととおりのチュートリアルは終えたという段階もあれば、言語仕様(あれば)やライブラリを知り尽くしていて、思いついた処理を即座にコード化できるという段階もあります。リファレンスとか参考書を見ながらであれば使える、ということも多いでしょう。 ベテランエンジニアなら、いろいろな仕事に携わっているうちに、さまざまな環境でそれぞれ必要
ブロックチェーン入門 ─ JavaScriptで学ぶブロックチェーンとBitcoinウォレットの仕組みと実装 本記事ではブロックチェーンのプログラミングを、実践とともに学びます。ブロックチェーンとは、分散環境の新しいデータ構造であり分散合意のアルゴリズムですが、Node.jsでブロックチェーンおよびBitcoinウォレットを実装し、その仕組みを理解していきましょう。 フリーランスでエンジニアとライティングなどをゆるゆる行っているerukitiと申します。 個人のサークル「東京ラビットハウス」から「Modern JavaScript」「簡単JavaScript AST入門」「JavaScriptで覚える暗号通貨入門#1 Bitcoin完全に理解した」といったJavaScript関連の技術同人誌を単著で発行しています。 この記事では、ブロックチェーンの仕組みを解説し、実際にブロックチェーンやB
認証技術の種類と進化の歴史。ユーザーの情報を守るために必要な基本を知ろう サービス運用に必要不可欠な認証技術には、どれほどの種類があり、そしてなぜこれほどまでに多様化したのでしょうか。認証技術の進化と、それに対する攻撃手段の流れを不正ログイン対策ツールを手がけるCapyのエンジニア2名に解説してもらいます。 私たちが何気なく使っている認証とは一体どういうものなのでしょうか。 認証はコンピュータやインターネットが普及する前から用いられている、利用者を識別し、その正当性を証明する技術です。この定義に当てはめていくと、家の鍵や合言葉など、身の回りでもおなじみのものも「認証」にあたります。 認証を支える技術のうち、よく知られているのが暗号です。原始的な暗号技術のひとつに、古代ローマで用いられたシーザー暗号(Caesar cipher)があります。これは当時の為政者、ユリウス・カエサルが使ったといわ
PWAで表示速度が2倍に! スピード改善を妥協しない日経電子版に学ぶ、PWAのメリット&デメリット ネイティブアプリに近い体験を簡単に提供できるとして注目を集めている「PWA」。実際に導入し、表示速度が2倍になったという日経新聞電子版の開発者に「PWA」のメリットとデメリットを伺いました。 PWA(Progressive Web Apps)は本当に「アリ」なのか――? ネイティブアプリの開発にはWebとは異なる専門知識が必要であり、またAndroidやiOSなどOSごとでも異なるため、リソースが膨大にかかるという課題があります。そこで昨今は、XamarinやReact Nativeなどのクロスプラットフォーム開発ツールを使い、ネイティブアプリやWebの開発を一本化しようという動きが活発になっています。 一方で、ネイティブアプリに近い体験を簡単に提供できるとして注目を集めているのが、Goog
実例に学ぶ動画配信サービスの負荷試験~テストケース作成からツール選定、性能劣化への対応まで ライブ動画ストリーミングプラットフォーム「SHOWROOM」で実施した負荷試験の内容とはどのようなものだったのでしょうか。DeNAのインフラ基盤を支えるエンジニア漢 祐介さんに、貴重なノウハウを徹底解説してもらいました! サービスが業務に耐えうる処理性能を持っているかを検証するため、システムに対して擬似的に大量アクセスを発生させて反応を測定する「負荷試験」。サーバーの限界性能を見極め、安定稼働させるための指標や仕組みを作るために、なくてはならないものです。 では、多くの人が知るサービスは、どのような負荷試験を経てリリースされたのでしょうか。すでに運用段階にあるサービスの背後にある負荷試験のノウハウは、これから何らかのサービスをリリースしようとしているエンジニアにとって有用な情報です。 そこで今回は、
実践マイクロサービス ─ コンポーネント分割やトラブル回避の考え方をLINEの導入事例に学ぶ マイクロサービスとは、小さいサービス同士をつないで連携し、ひとつのサービスを構成する手法のことです。そのメリット・デメリットなどマイクロサービスの本質と、LINEでの導入事例から実運用とトラブル回避について、LINE Shopチームの佐藤春旗さんが解説します。 はじめまして、佐藤春旗です。 前職でソーシャルサービスやOSの開発を経て、2013年にLINEに入社。スタンプショップやLINE Payの開発に参加したのち、現在はスタンプショップなどを担当するLINE Shopのチームに所属し、マネージャーを務めています。 本稿では、マイクロサービスを軸に、2つのテーマを取り上げていきます。 1つ目は、マイクロサービスの概要解説です。あわせて、実際に運用して見えたメリット・デメリットを紹介しながら、マイク
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く