API開発の基本 - 銀行APIの開発事例に学ぶ『使いやすい』のデザインプロセス APIは多くのWebシステムにおいて、欠かすことのできない技術です。APIをどのように設計、デザインすれば、ユーザに利便性を提供できるのかを、GMOあおぞらネット銀行 CTOの矢上聡洋さんが解説します。API設計の基本、そして実際の銀行APIの設計から、“使いやすい”を生み出すためのデザインプロセスを学びます。
スクラムマスターがやること、やらないこと - アジャイルトレーニングの専門家に聞いてみた スクラムマスターとして日々仕事に邁進していても、教科書どおりにいかないこともしばしば。イベントに人が来ない……、タスク終わらなさそう……などなど、スクラムマスターが直面しがちな、「あるある」な悩みを、アジャイルコーチの吉羽龍太郎さんに相談してみました。 イベントマネジメントの心得 スプリントレビューでは言いたい放題言わせよう! スプリントの期間延長は絶対NG 大切なのは原因の究明 スコープと期限の両方を守るのは難しい よいチームを作るためにスクラムマスターができること アジャイル開発の定番手法ともいえる「スクラム」。開発チームにスクラムを導入し、効率的に開発を進めるには、スクラムマスターの手腕が欠かせません。しかし、いざスクラムを運用しようにも、現実には教科書どおりいかない場面もあるでしょう。 イベン
依存モジュールが少ないソースコードを読む - スペシャリスト岡野真也に聞くPythonの読み方と使い方 現在、多くの支持を集めるPython。10年以上にわたりPythonを使い続ける岡野真也さんに、同言語の学び方、使い方を聞きました。 機械学習やデータサイエンスの隆盛に伴い、Pythonは多くの人に使われる言語になりました。GitHubの「The State of the Octoverse 2019」のレポートによると、GitHubリポジトリのコントリビューターから人気のあったプログラミング言語として、PythonはJavaScriptに次いで2位となっています。 「さまざまな課題を、楽に解決できるのがPythonの魅力」と語るのは、10年以上も前からPython・Djangoフレームワークのヘビーユーザーであり続けてきた岡野真也(おかの・しんや/ @tokibito )さん。彼はいか
実践クリーンアーキテクチャ - 複雑化した大規模ECサイトをモダナイズしたモノタロウの事例 クリーンアーキテクチャのメリットとは?またいかにして導入するか?難解なイメージのあるクリーンアーキテクチャの概要を採用事例に学びます。今回、取材したのは工業用間接資材オンラインストアの「モノタロウ」。サービスの開発を続けていくにつれ、同社のシステムは複雑化、肥大化していき、様々な課題が生じたそうです。こうした課題に対応すべく、システムのモダナイゼーションに取り組む際、取り入れたのは、クリーンアーキテクチャでした。同アーキテクチャをどのように実装したのか、モノタロウのエンジニア3人に聞きました。 受け入れテストを自動化し、システムの正常動作を保証 ユニットテスト導入の秘訣は「テストを書くハードルを下げる」こと クリーンアーキテクチャ化は、“幹”の処理から手をつける クリーンアーキテクチャを全社的に展開
エンジニアHub > 記事一覧 > IntelliJ IDEAをもっと便利で使いやすく! つまずきがちな設定や、便利な機能を細かに解説します。 IntelliJ IDEAをもっと便利で使いやすく! つまずきがちな設定や、便利な機能を細かに解説します。 Javaの統合開発環境であるIntelliJ IDEAの人気が高まっています。興味はある方や使い始めたばかりの方に向けて、つまずきがちなポイントや、地味だけど便利な機能などを、IntelliJ IDEA関連の著作も多い今井勝信さんが紹介します。 IntelliJ IDEA(インテリジェイ・アイデア)は、JetBrainsが開発・販売しているJavaの統合開発環境(IDE)です。最初に登場したのは2001年と古く、しばらくマイナーIDEとしてひっそり存在していましたが、ここ数年で知名度も上がってきました。 近年の人気も相まって、IntelliJ
JAMstackってなに?実践に学ぶ高速表示を実現するアーキテクチャの構成 JAMstackは、「JavaScript」「APIs」「Markup」の3つの技術を組み合わせた、新しいWebアプリケーションアーキテクチャです。いち早くJAMstackを利用してWebサイトを作成した、寺川直宏さんと風間雅也さんにJAMstackについて聞きました。 JAMstackという言葉をご存知でしょうか。JAMstackは、「JavaScript」「APIs」「Markup」という3つの技術を組み合わせた、新しいWebアプリケーションアーキテクチャです。パフォーマンスの改善、セキュリティの担保、スケーラビリティの確保が見込めるため、フロントエンド界隈で、大きな注目を集めています。 しかしまだ登場したばかりの概念ゆえ、実例も少なく、理解しにくい面もあります。そこで、いち早くJAMstackでWebサイトを
なぜ読みやすいコードが必要なのか - コードの可読性を高める手法をサンプルで学ぶ システム開発会社「アクシア」の代表として、自社・他社含め、さまざまなエンジニアのコードを読んできた米村歩さん。そんな米村さんの持論は、「コードの可読性は生産性に多大な影響を与える」ということ。可読性の低いコードはどんな弊害をもたらし、どうすれば改善できるのか――。チーム開発を効率化するコードの「可読性」について綴っていただきました。 プロフェッショナルのエンジニアには、「可読性」の高いコードを書くスキルは必要不可欠です。単に目的とする処理が実行できればよいわけではありません。しかし実際の開発業務の中では、可読性は意外と軽視されてしまいがちです。 経験の浅い駆け出しのエンジニアにとっては、可読性の重要さを肌感覚で理解するのは難しいかもしれません。また、新人エンジニアに対してプログラミング言語や開発ツールについて
「単体テスト」再入門! 開発の現場でバグを確実に洗い出す最適な手法と、テストケースの作り方 単体テストの定義から手法、未来の展望までを、日本におけるソフトウェアテストの第一人者・高橋寿一さんが解説します。 ソフトウェアのテストにおいて、最初のフェーズである単体テスト。若手Webエンジニアの中には、いきなり単体テストを任されて戸惑った方もいるでしょう。仕方なく現場で踏襲されているやり方に従っているだけ、ということもあるのではないでしょうか? 今回は、単体テストの定義から手法、未来の展望までを、日本におけるソフトウェアテストの第一人者・高橋寿一さんが解説します。 単体テストとは(各社ばらばらな単体テストの定義を再定義) コードベースの単体テスト 命令網羅(C0カバレッジ) 分岐網羅(C1カバレッジ) よくある(コードベースの)単体テストの間違い 機能単位の単体テスト 例:複雑なソート機能のテス
改善し、計測する ― ISUCONとは開発サイクルを回すこと ── 藤原さんがISUCONに参加するきっかけは何でしたか? 藤原 ISUCONの前に「チューニンガソン」というイベントがありました。データベースの割り当てメモリを増やしたり、同時接続数を増やしたりとインフラ側でいろいろチューニングできるコンテストです。ただし、アプリケーションのコードに手を入れることは許されないレギュレーションで、「それだけじゃ面白くないよね」と@tagomorisさんが言い出して始まったのが、ISUCONです。 はっきりとは覚えていないんですが、その案内をたぶんTwitterで見たんでしょうね。先着20チームが参加できるというので、すぐ当時の同僚と組んでエントリーしました。 ── 第1回でいきなり優勝できた勝因は何だったと思いますか? 藤原 参加したのはカヤックに転職して約半年後だったんですが、その当時手がけ
エンジニアHub > 記事一覧 > AWSコスト最適化入門 ─ クラウドで「こんなにかかるはずじゃなかった!」を避けるツールと計測 AWSコスト最適化入門 ─ クラウドで「こんなにかかるはずじゃなかった!」を避けるツールと計測 「あれ? AWSのコスト、高すぎ…?」そう感じたときには、そもそもコストを正しく見積れているのか、適切に計測できているのかから見直しましょう。クラウドならではのメリットを享受しながら、コストを適正な範囲にしていく上で役立つ機能やサービスを紹介します。 こんにちは。吉川功一郎と申します。 私はフリーランスのシステムエンジニアとしてあちこちの会社をお手伝いしていますが、その中で、AWS(Amazon Web Services)移行に関するさまざまな相談をいただきます。切り口はいろいろありますが、意外と多いのが「コスト」に関する相談です。 さすがに「クラウド破産」というケ
エンジニアHub > 記事一覧 > Visual Studio Codeのうれしい機能を使いこなして、初心者を最速で脱出する!《VSCode実践入門》 Visual Studio Codeのうれしい機能を使いこなして、初心者を最速で脱出する!《VSCode実践入門》 VSCodeは初版が2015年リリースの新しいエディタですが、インテリセンス、ユーザースニペット、Emmet、マルチカーソル、拡張機能というコーディングにうれしい機能が充実しています。VSCodeを検討中あるいは使いはじめたばかりの若手エンジニアが、いち早く初心者を脱出するための使いこなし方を解説します。 はじめまして、KC(けーしぃ、@kcpoipoi)と申します。技術書典6にサークル参加してたら「キミ、Web執筆に興味ない??」とお声がけいただきました。Web執筆は初めてなので至らない点があるかもしれませんが、何卒よろしく
Spring BootとPlay Framework、どっちがどう良いの? 専門家が5つの視点で徹底解説 Spring BootとPlay Framework、どちらを使うべきか……?開発者を悩ませる疑問に答えるべく、専門家2人がさまざまな視点で両フレームワークの特徴を解説します。 【比較ポイント(1)】設計思想や登場してきた歴史的背景 【比較ポイント(2)】得意分野や利用されている領域 【比較ポイント(3)】各コンポーネントの実装スタイル 【比較ポイント(4)】データベース接続まわり 【比較ポイント(5)】今後のリリース展開について Webアプリケーション開発において、フレームワークは欠かせない存在となっています。開発者が実装すべき処理に集中でき、堅牢でメンテナンスしやすいアプリケーションをすばやく開発できる。これこそ、フレームワークを使う最大の利点といえるでしょう。 JavaやScal
「AWSとGCPを“選択可能”にしておく」LIFULLに学ぶ長生きするインフラ構築術 多くの開発に導入されるクラウドサービスですが、LIFULL社では、AWSとGCP、両サービスを同時に使用しているそう。同社のインフラの変遷と、併用の背景を聞きました。 AWSとGCP、「どちら」を「どうやって」使うか サーバの肥大化を阻止するべく、オンプレからAWSへ移行 マイクロサービス化し、「影響範囲」を狭めることで得られたメリット 「使い分ける」のではなく、「両方を使える」ことが継続性を生み出す インフラ構築における技術的な選択肢はさまざまですが、なんらかのクラウドサービスを活用するということは多くのエンジニアが検討する手段でしょう。 昨今ではクラウドサービスは多くの企業から提供されており、エンジニアにとって多様な選択肢が提供される一方、どのサービスを選ぶべきかという悩みもあるでしょう。筆者の周りで
Python“らしさ”を支える技術。pandasコアコミッターが大事にするマージの方針 数多いPythonライブラリの中でも、データ解析の用途で大きな存在感を示すのが「pandas」です。そしてこのpandasのコミッターを務めるのが、sinhrksこと堀越真映さん。コミッターが感じるOSSのありよう、そしてPythonらしさを教えてもらいました。 データサイエンスや機械学習の流行に伴い、業務でPythonが使用されるケースが増えてきました。Pythonが選ばれる理由はさまざまですが、「データサイエンスや機械学習に適したライブラリが数多くある」という特性は、この言語が重宝される理由のひとつでしょう。 たとえば、データ分析のための高速で使いやすいデータ構造を提供するpandas。NumPyやpandasのAPIを利用して並列計算・分散処理を行えるDask。こうした海外で開発が主導されたライブ
WebAuthnでパスワードレスなサイトを作る。安全なオンライン認証を導入するFIDOの基本 FIDO(Fast IDentity Online)とは、公開鍵認証方式を応用し、オンライン経由で認証を行う仕組みです。パスワード認証の安全性は限界が指摘されるなか、Webサイトにおいても生体認証などパスワードレスな仕組みを導入する企業が増えており、このFIDOやWebAuthnに注目が集まっています。Capy株式会社で情報セキュリティに関する研究開発や分析などに携わる、松本悦宜さんの解説です。 こんにちは、松本悦宜(@ym405nm)です。 FIDO(ふぁいど)に関しては、昨年(2018年)から多くのメディアや技術ブログで取り上げられ、導入するWebサイトも増えています。 FIDO2プロジェクトにおいて話題になったWebAuthn(Web Authentication API)についても、主なW
上達したいVim初心者のための設定・プラグインの見つけ方、学び方〈エディタ実践入門〉 Vimの深淵はとても深く、学ぶことは簡単ではありません。本記事では、初心者がVimをどのように学べばよいか? を解説しています。Shougoさんの寄稿です。 こんにちは。Shougo(@ShougoMatsu)です。今回は、Vim初心者のための記事を執筆することになりました。よろしくお願いします。 私のことを知らない人のために簡単に自己紹介しておきます。私はこれまで10年以上もの間Vimに関わっており、deoplete、dein、denite、defx、neosnippetといった各種プラグインを作成したり、ときにはVim本体にパッチを書くなどといった活動を行っています。 今回、初心者向けの記事を執筆することに決めたのは、勉強会などで「Vimをどのように学べばよいか?」について質問されることが多く、皆が同
Lambdaで作る音声インターフェイスの基本 Amazon EchoやGoogle Homeといったスマートスピーカーが話題となっています。AIとの対話をインターフェイスとするVUIの基礎知識から、Alexaスキル製作の基本まで、スマートスピーカー向けのアプリケーションを数多く手がける君塚史高さんに教えてもらいました。 こんにちは。君塚史高(@ki_230)と申します。 普段は面白法人カヤックで、IoTデバイス向けのソフトウェアを開発しています。 最近ではAmazon EchoやGoogle Home、Clova WAVEといったスマートスピーカー向けのアプリケーションを制作する機会が増えました。そこで得られた知見をもとに、本稿ではAmazon Echo向けにシンプルな「時計」アプリケーションの作り方を解説します。 スマートスピーカーのユーザーインターフェイスは音声のみ(VUI)のため、一
grpc-gatewayの開発に学ぶ、ソフトウェアの設計手法~Yuguiが定めた、2つの基本設計方針 良いソフトウェアとはどのような方針のもとに設計されているのでしょうか。広く使われているOSSであるgrpc-gatewayの開発過程を作者のYuguiさんが振り返り、その設計手法を解説してもらいました。 こんにちは。 Yuguiと言います。 本記事では読者がより良いソフトウェア設計を行うための参考として、筆者が経験してきた設計上の決定をご紹介します。 筆者はこれまでRuby 1.9のリリースマネジメントを担当したり、Google Mapsの日本向け地理データ処理やgrpc-gatewayの開発などをしてきました。そしてこれらを通じて、広く長く使われて拡張されていくソフトウェアを設計するための方針決定に携わったり、方針に関わる良い議論を目にしたりする機会に恵まれてきました。中でも本記事では、
Coqで学ぶ証明プログラミング! テストだけでなく「証明」で安全性を保証する プログラミング言語「Coq」では、プログラムを「証明」して間違いを防ぐことができます。プログラムの正しさを保証できる一歩進んだエンジニアになりましょう! coqtokyoを主催する今井宜洋さんの解説です。 みなさん、Coqってご存知ですか? プログラムを証明して間違いを防ぐという優れものです。今回はそのCoqについて、coqtokyoという勉強会を主催している今井宜洋がお届けします。 プログラムをただ作るだけではなく、その正しさを保証できる一歩進んだエンジニアになってみましょう! Coqって何? プログラムを「証明する」ってどういうこと? Coqを使ってみよう Coqのインストール方法 CoqIDE:Coqによる証明開発のフロントエンド Coqで関数プログラミング プログラムの仕様を記述しよう 証明開発モード ゴ
IT企業のエンジニアがとりあえず知っておきたいGDPRの基礎知識 2018年、多くのIT企業が対応に追われたGDPRですが、その内容は非常に複雑です。本稿ではGDPRの概要と、「エンジニアが知っておくべき要点」を、ソフトウェアベンチャーなどで法務を担当するkataxさんに解説してもらいます。 GDPRはじめの一歩 なぜEUのルールがこんなに話題になっているのか EUで事業を行っていない企業に対しても広く適用される可能性がある GDPRにおける「ユーザーの行動モニタリング」とは 【要注意!】GDPRは個人情報保護法よりもルールが厳格 GDPRが適用されるのにGDPRに対応しなくて良いのか GDPRに関するよくある疑問 GDPRに違反すると、必ず巨額の制裁金が課される? 技術的保護措置として、どのような対応が必要? GDPRに対応するために“最初に”やるべきことはなに? 「ユーザーからの同意」
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く