エンジニアHubPowered by エン転職

若手Webエンジニアのための情報メディア

これから先もPHPで戦うために、なにを使い、なにを学ぶべきか - 廣川類に聞くPHP学習に大事なこと

Webアプリケーション開発言語として広く使われるPHP。黎明期から浸透していくまでの過程、そして、これから先もPHPを活用していくために必要なこと、をエキスパートの廣川類さんに聞きました。

スクラムの原則を、いかにして実践するか - 現場にありがちな悩みを吉羽龍太郎に相談してみた

スクラムは多くの開発現場で取り入れられており、その原則を学ぶのは簡単です。しかし原則を現実に実行しようとすると、さまざまな課題が……。アジャイルコーチの吉羽龍太郎さんにスクラムの基礎から、ありがちな課題への対処法をたっぷり聞きました。

コードを読み込みScalaの関数型パラダイムを学ぶ - xuwei-kがScalaを学ぶために読んだOSS

数多くのScala関連OSSにコミットを続ける吉田憲治(xuwei-k)さん。その精力的な活動を支える、関数型の知見の源をうかがいました。

依存モジュールが少ないソースコードを読む - スペシャリスト岡野真也に聞くPythonの読み方と使い方

現在、多くの支持を集めるPython。10年以上にわたりPythonを使い続ける岡野真也さんに、同言語の学び方、使い方を聞きました。

エンジニアのためのDevRel入門 ─ 外部の開発者と信頼関係を結んでコミュニティでファンを増やす

エンジニアリングとマーケティングをミックスしたDevRel(Developer Relations)という活動が注目を集めています。日本アイ・ビー・エムでデベロッパーアドボケイトを務める萩野たいじさんに、エンジニアが果たすべき新しい役割として、DevRelの現状を聞きま…

KotlinをKotlinらしく、そして可読性を高く保つ運用知見 - エキスパート長澤太郎に聞く実装のイロハ

近年注目を集めるKotlinはどのように書き、どのように運用するのがいいのか。2012年からKotlinに親しむUbie社の長澤太郎さんに、その経験から得られたKotlinノウハウを聞きました。

進化の先に理想のエンジニア組織がある─成長のジレンマを解消して進化するフューチャーの組織論

エンジニア組織が成長する際に直面するさまざまなジレンマを解消するうち、ホラクラシー型に進化したというフューチャー株式会社のエンジニア組織論を、宮原洋祐さんに聞きました。

Ruby 2.7のここがすごい! パターンマッチ、コンパクションGCなどをリリースマネージャーに聞いた

2019年12月25日にリリースされたばかりのRuby 2.7では、どのような機能がどういった経緯で採用されているのでしょう。リリースマネージャーのnaruseさんと、フルタイムコミッターのmameさんに詳しくうかがいました。

実践クリーンアーキテクチャ - 複雑化した大規模ECサイトをモダナイズしたモノタロウの事例

サービスの開発を続けていくにつれ、システムは複雑化、肥大化していき、様々な課題が生じる。工業用間接資材オンラインストアの「モノタロウ」もこうした課題に直面していました。システムのモダナイゼーションに取り組む同社のエンジニアの方が取り入れた…

AWS導入〜スケールまでの変遷を事例に学ぶ - コンテナ化のために「みてね」が選んだ構築戦略

AWSは多くのサービスやプロダクトにとって欠かせない存在です。多岐にわたるAWSの機能をいかに活用するか。サービス立ち上げから、その後のスケールまで、実際の現場でどのようにAWSを活用しているかを、株式会社ミクシィで「みてね」のインフラをリードする…

JAMstackってなに?実践に学ぶ高速表示を実現するアーキテクチャの構成

JAMstackは、「JavaScript」「APIs」「Markup」の3つの技術を組み合わせた、新しいWebアプリケーションアーキテクチャです。いち早くJAMstackを利用してWebサイトを作成した、寺川直宏さんと風間雅也さんにJAMstackについて聞きました。

低レイヤの知識の重要性は今後も変わらない - 小崎資広に聞くLinuxカーネル開発の裏側

Linuxは、世界でもっとも広く使われているソフトウェアのひとつであり、多くのエンジニアの仕事に密接に関わっています。では、Linuxそれ自体は、どのように開発されているのでしょうか。Linuxの中枢である、Linuxカーネルの開発者のひとりである小崎資広さ…

Javaなら「この書き方がベスト」と信じて書ける - きしだなおきに聞く、Javaのこれまでとこれから

Javaは1995年に誕生し、数多くのコミュニティや企業の影響を色濃く受けてきました。では、黎明期から現代に至るまで、Javaはどのように進化し、生態系を変化させてきたのでしょうか。Javaのスペシャリストとして知られる、きしだなおきさんに聞きました。

ガンジス川で瞑想し、サウナでひらめきVulsができた - 各OSに対応する脆弱性スキャンを実現した手法

サーバー運用者の抱える「脆弱性対応の負担が大きい」という課題を解決するべく、神戸康多さんが開発したOSS「Vuls」。同ソフトウェアはなぜ複数OSの脆弱性を検知できるのか、その基本構造を聞きました。そして、神戸さんが語るVulsの開発の根本にあった、貢…

100万行オーバーのモノリシックRailsアプリをマイクロサービス化したクックパッドの手順

巨大なサービスを持つ有名IT企業は、どうやってマイクロサービス化を推進してきたのでしょうか。クックパッドでは、100万行オーバーの超巨大なRuby on Railsアプリのマイクロサービス化に挑みました。同社が採ったマイクロサービス化の戦術を中の人に聞きま…

バグハンターmageに聞くバグハンティングの方法とセキュアなサービス作りに必要なこと

バグハンターとは、Webサービスやソフトウェアなどに含まれる脆弱性を、システム改善のために探し出す人々です。バグハントの方法は非常に多岐にわたりますが、具体的な手法、使用ツール、ハントのマナーを凄腕のバグハンターに聞きました。mageの名で知られ…

実践的インフラ監視&運用 - 4000万人以上のユーザーに快適なサービスを提供するピクシブの裏側

大規模サービスを安定運用するコツってなに?実運用に基づく知見をピクシブ株式会社のインフラエンジニア、末吉さんと小出さんに聞きました。

「テストコードを書く?書かない?」ソフトウェアテストのいろんな疑問をテストのプロに聞いてみた

ソフトウェアの品質を高めるためには、テスト工程が欠かせませんが、品質保証・テストのプロはどんなことに気をつけて、テストを実施しているのでしょうか。仕様やスケジュール、テストの設計まで、テストにまつわる疑問を、ソフトウェアの品質保証・テスト…

実例に学ぶGoのアーキテクチャ - 「開発スピード優先」でGMOペパボが採用したのはMVC

Goを活用した開発の際、どのようなアーキテクチャを採用するか、議論は尽きません。GMOペパボではオーソドックスなMVCを選んだといいますが、その背景にあったものとは。開発現場のお二人に話を聞きました。

Rubyコミッター・笹田耕一に世代別インクリメンタルGCを発想したプロセスを聞いてみた

Rubyのフルタイムコミッターである笹田耕一さんに、Rubyの処理性能を向上させるいくつかのブレイクスルーをどのように解決し、どのような困難があったのかを聞きました。

grdの作者が考える、いまフロントエンドエンジニアに求められる「速度という機能」

Webパフォーマンスの改善に、並々ならぬ情熱を傾けるエンジニアの泉水翔吾(@1000ch)さん。氏の手がけるOSSはこの情熱を体現するかのように、パフォーマンス改善にフォーカスしたものが多数あります。なぜWebパフォーマンスにこだわるのか、そして現在のフ…

まつもとりーがmod_mrubyを開発した理由 - 解決すべき課題は研究ではなく、実運用の中にあり

多くのエンジニアから、そのアウトプットが注目される「まつもとりー」こと松本亮介さん。自身のOSS開発の裏側にある研究と開発の関係性を聞きました。

1,000台規模のインフラ刷新! Kubernetesを採用したサイボウズが語る「NoOps」な未来

Kubernetesの設計思想に共感して、1,000台規模のインフラ刷新プロジェクトに採用したサイボウズが、独自のインフラ、自社開発のOSSツールで挑戦するNoOpsな未来について聞きました。

ISUCONの第一人者・藤原俊一郎さんが語る攻略と学び ― 大切なのは「不満のしきい値」を下げること

Webサービスの高速化を競うISUCONで何度も優勝し問題作成も手がける藤原俊一郎さんに、その攻略方法と魅力、エンジニアが持ち帰れるものを聞きました。

Spring BootとPlay Framework、どっちがどう良いの? 専門家が5つの視点で徹底解説

Spring BootとPlay Framework、どちらを使うべきか……?開発者を悩ませる疑問に答えるべく、専門家2人がさまざまな視点で両フレームワークの特徴を解説します。

Swiftに足りなかったものを作る - スター数13,000超の「Kingfisher」を生み出したonevcatの着想術

画像を取り扱う軽量なSwiftライブラリ「Kingfisher」が獲得したスター数はなんと13,000以上。圧倒的な支持を集めるOSSを作り続けるonevcatさんに、発想の源を聞きました。

「AWSとGCPを“選択可能”にしておく」LIFULLに学ぶ長生きするインフラ構築術

多くの開発に導入されるクラウドサービスですが、LIFULL社では、AWSとGCP、両サービスを同時に使用しているそう。同社のインフラの変遷と、併用の背景を聞きました。

「あけおめLINE」の負荷に耐えるインフラを作った話。LINEのインフラ設計を中の人に聞いた

国内外で展開する膨大なメッセージを処理する、LINEアプリのインフラってどうなっているの? こんな素朴な質問をサーバー、ネットワークなど、中の人に聞いてみました。

「ライブラリの守備範囲は狭い方がいい」こにふぁーが大切にする、ソフトウェア設計の流儀

ソフトウェアが果たすべき、機能、役割をどのように定めるか。多くのエンジニアを悩ませるこの問いに、Android開発者、こにふぁーさんは「守備範囲を狭く設定する」と答えます。こにふぁーさんがこの答えにたどり着いた道筋とは。

Python“らしさ”を支える技術。pandasコアコミッターが大事にするマージの方針

数多いPythonライブラリの中でも、データ解析の用途で大きな存在感を示すのが「pandas」です。そしてこのpandasのコミッターを務めるのが、sinhrksこと堀越真映さん。コミッターが感じるOSSのありよう、そしてPythonらしさを教えてもらいました。

Vue.jsコミッターkazuponに聞く、良質なDX(開発体験)がもたらす良質な開発サイクル

近年大きな注目を集めるフレームワークとなったVue.js。その発展の裏には、開発コミュニティをストレスなく駆動させる、コミッターたちのさまざまな工夫がありました。黎明期からVue.jsを支える、コミッターの川口和也(kazupon)さんに、フレームワークを躍…

自然言語処理ってなに?課題は? 研究者に聞く、エンジニアが学術論文を読み解くための技術

多くのサービスに実装される自然言語処理ですが、そもそも一体どのような技術なのでしょうか?東京工業大学で研究にあたる、西川 仁助教に自然言語処理の歴史と現在。そしてどのような課題があるかをうかがい、さらにエンジニアが学術論文を読み解き、役立つ…

発信しないのは「仕事をしても請求書を出さない」のと同じ。堤修一が開発〜発信の循環を作る理由

ブログ、書籍、そしてOSS。iOSエンジニアの堤修一さんは、常に「発信」のこだわり続けてきました。数多くのスターを獲得した『iOS-Sampler』シリーズも、発信活動の一環だと説明します。なぜここまで発信にこだわるのか、堤さんに聞きました。

データサイエンティストの定義は?必要スキルは?現役データエンジニア/アナリストと考えた結論

需要が高まるデータサイエンティストというロールですが、業務の定義や、必要スキルは一体どのようなものでしょうか。3名のデータエンジニア/アナリストに実践から得た答えを聞きました。

非エンジニアが技術を学ぶメリット - カスタマーサポートとエンジニアのギャップが解消された話

ユーザーの声が集約されるカスタマーサポート部門には、エンジニアの皆さんにとっても参考になる、サービス改善のヒントがあります。ピクシブではカスタマーサポート担当スタッフがエンジニアリングを学び、スムーズなコミュニケーションを実現しています。

iOSに向き合い続けた10年。岸川克己がSpreadsheetViewで埋めたかった「iOSに不足していたもの」

KeychainAccessやSpreadsheetViewなど、iOSアプリ開発で広く使用されるOSSを送り出した岸川克己さん。iOS、Swiftの世界で先駆けと評される岸川さんに、ソフトウェア開発の裏側をお聞きしました。

Firebaseでバックエンドエンジニア不在のアプリ開発 クックパッドが体感した、メリットと課題

クックパッドの新アプリ開発で導入された「Firebase」。アプリやWebサイトのインフラ部分を任せられるほか、リアルタイムでデータを同期できるCloud Firestore、ログイン認証システムを手軽に実装できるFirebase Authenticationなど、さまざまな機能が用意さ…

deoplete.nvim開発者、Shougoが考える「Vimの限界ギリギリ」を攻めるプラグイン開発の裏側

多くのエンジニアに愛されるテキストエディタ『Vim』のプラグインを作り続けるShougoさん。Vimmerならば一度は使ったことがある、というほどに広く知られたプラグインを作り続ける理由を聞きました。

React NativeでiOS/Androidアプリを丸っと開発! Nature Remo開発で分かった長所と短所

React Nativeを使って「Nature Remo」iOS/Androidアプリの開発を進める村瀨大輔(typester)さんと、北原壮さんに、導入して分かったメリットとデメリットを伺いました。

『メルカリ』 アプリの画面描画を高速化する技術、バックエンド・iOS・Androidの基本設計

多くのユーザーに愛されるフリマアプリ『メルカリ』ですが、そのスムーズな画面描画はどのような技術で生み出されているのでしょうか。同アプリの高速表示の秘密を、バックエンド、iOS、Androidの3方向からメルカリ社のエンジニア4人に聞きました。

ソフトウェアが持つべき機能と仕事の粒度を見極める〜The Platinum Searcherの作者に聞いてみた

GitHubでスター数2,000以上を獲得したOSSである「The Platinum Searcher」。作者の三宅悠介さんに、シンプルでありつつも、高い性能を持つソフトウェアを作り出すための思考を聞きました。

AWSに関するありがちミスとその対策〜EC2、S3、RDS、Lambda、CloudFrontの場合

さまざまなサービスで活用されるAWSですが、基本として知っておくべきは、どのような知識でしょうか。AWS導入&運用サポートのプロである、アイレットのエンジニア3名に、主要サービスの勘どころを聞きました。

20年の機械学習・ニューラルネットワーク研究から見えた、人工知能の歴史と未来

人工知能はどのような技術によって進歩し、どのような未来に向かってかじをきっているのでしょうか。今回は20年近く人工知能の研究をしてきた人工知能分野のフロントランナーの方々にインタビューしました。

GitHubリポジトリで8000スター獲得、人気OSS「Boostnote」オープンソース化の軌跡

GitHubリポジトリで8000スターを獲得しているプログラマ向けノートアプリのBoostnote。グローバルな開発コミュニティを築き上げた経緯についてインタビューしました。

データベーステーブル設計の基礎の基礎〜エンティティの抽出・定義から正規化まで

適切な形でデータベースのテーブルを設計し、運用するには?テーブル設計に必要な初歩を日本MySQLユーザ会副代表の坂井恵さんが丁寧に解説します。

動画アプリをなめらかに動かす技術〜『AbemaTV』のユーザー体験を支えるエンジニアリング

大人気インターネットテレビ局『AbemaTV』。そのUI / UXとはどのように設計されているのでしょうか。そして、UI / UXを実現する技術とは。スムーズな動画体験を支える技術を中の人に聞いてみました。

PWAで表示速度が2倍に! スピード改善を妥協しない日経電子版に学ぶ、PWAのメリット&デメリット

ネイティブアプリに近い体験を簡単に提供できるとして注目を集めている「PWA」。実際に導入し、表示速度が2倍になったという日経新聞電子版の開発者に「PWA」のメリットとデメリットを伺いました。

Javaにもう一度REPLを〜平成生まれのOpenJDKコミッターを刺激するOSS開発の緊張感

平成生まれのOpenJDKコミッター、吉田真也さんにOSSに触れ始めた理由やモチベーションについてインタビューしました。もっと積極的にOSSに関わりたいと考えている方は、吉田さんの考えや言葉が一つの道標になるかもしれません。

Rubyコミッター・Yuguiに学ぶ、コードに書くべき「適切なコメント」と「適切な場所」

Rubyコミッター・園田裕貴(Yugui)さんが、長年の経験で体得したソースコードに書くべき「コメントの技法」を教えてくれました。

直面する問題を解決したらkaminariができた。Ruby / Railsコミッター松田明のOSS開発の実像

世界中のRubyプログラマに使用されるOSSであるkaminari。これを手がけたRuby / Railsコミッター松田明さんに、開発背景を聞きました。