エンジニアHubは2024年2月26日をもってサービスを終了いたしました これまでサービスをご利用いただきました皆様には厚く御礼申し上げます 引き続き転職をお考えの方は姉妹サービスAMBI、ミドルの転職をご利用ください
WebAuthnでパスワードレスなサイトを作る。安全なオンライン認証を導入するFIDOの基本 FIDO(Fast IDentity Online)とは、公開鍵認証方式を応用し、オンライン経由で認証を行う仕組みです。パスワード認証の安全性は限界が指摘されるなか、Webサイトにおいても生体認証などパスワードレスな仕組みを導入する企業が増えており、このFIDOやWebAuthnに注目が集まっています。Capy株式会社で情報セキュリティに関する研究開発や分析などに携わる、松本悦宜さんの解説です。 こんにちは、松本悦宜(@ym405nm)です。 FIDO(ふぁいど)に関しては、昨年(2018年)から多くのメディアや技術ブログで取り上げられ、導入するWebサイトも増えています。 FIDO2プロジェクトにおいて話題になったWebAuthn(Web Authentication API)についても、主なW
低レイヤの知識の重要性は今後も変わらない - 小崎資広に聞くLinuxカーネル開発の裏側 Linuxは、世界でもっとも広く使われているソフトウェアのひとつであり、多くのエンジニアの仕事に密接に関わっています。では、Linuxそれ自体は、どのように開発されているのでしょうか。Linuxの中枢である、Linuxカーネルの開発者のひとりである小崎資広さんに、知られざる開発の裏側を聞きました。 オペレーティング・システムLinuxは、世界でもっとも広く使われているソフトウェアのひとつであり、オープンソースというカルチャーが生み出した、大きな大きな結実です。サーバー用OSとしてはデファクトと呼べるほどの普及を見せており、それだけにLinuxの動向がもたらす影響は広範にわたります。こうした前提があるなかで、Linuxそれ自体は、どのように開発されているのでしょうか。 今回、お話を聞いた小崎資広(こさき
失敗を学びに変える「障害報告書」の書き方 ─ RettyのCTOがGoogleで学んだ「問題を隠さない文化」 人間は失敗するものです。エンジニアもまたしかり。Retty株式会社の樽石CTOが考える、失敗を学びに変える考え方とノウハウを紹介します。 はじめまして。Retty株式会社でCTOを務める樽石将人( @taru0216)です。Rettyにおける技術の責任者として不確実性の高いシステム開発を成功に導くよう牽引したり、メンバーが働きやすくなるような仕組みづくりを行ったりしています。 子供の頃からパソコンに親しみ、新卒一期生でレッドハットに就職して、Rettyに入社するまでGoogleや楽天を経てきました。エンジニアとして活動して約30年。日々失敗し続けていますし、過去には大規模サービスを止めてしまったこともあります。 人間である以上、バグやエラーは必ず起こるもの。エンジニアは失敗を繰り返
悪いコードを憎んで人を憎まず! プルリク送付前に心がけたいコードレビューのコミュニケーション術 コードレビューを円滑に進め、より学びを促進するために重要な「コードレビュー時のコミュニケーション」について、現役エンジニア・池田 惇さんの経験とともに考えてみます。 アプリエンジニアの池田 惇(いけだ・じゅん/@jun_ikd)です。 コードレビューとは、エンジニアにとって毎日発生する作業であり、「コードを書く」という行為と等しく重要なタスクの1つです。同時に、ただ漠然と「粗探し」をするだけがレビューの目的ではありません。特に若手のエンジニアにとっては、先達のエンジニアのコードにじっくりと触れ、学びを得て、さらにチームに自分の持つ知識・技術を還元する、大事な機会でもあるのです。 今回はコードレビューを円滑に進め、より学びを促進するために重要な「コードレビュー時のコミュニケーション」について、私自
ラムダ式とStream APIで学ぶモダンJava ― 関数型を取り入れて変化するJava言語の現在 20年以上の歴史を持つJava言語ですが、近年は関数型を取り入れるなど大きく変化し、リリースサイクルも格段に短くなってますます進化しています。モダンなJavaプログラミングで必要となるラムダ式とStream APIについて、谷本心(cero_t)さんによる詳細な解説です。 1996年にJava 1.0が登場して、もう20年以上がたちました。この間、Javaにはさまざまな言語機能やAPIが追加され、変化し続けています。 これだけ長い歴史を持つプログラミング言語ですから、利用者が多かったり、フレームワークやライブラリが充実していたりする一方で、書籍やWebに掲載されている情報が少し古かったり、研修で学ぶJavaが最新の動向を踏まえていなかったりするなど、長い歴史を持つが故の問題もあります。 特
こんにちは、小林(@koba04)です。 本記事では、シングルページアプリケーション(以下、SPA)における状態管理について解説します。 GmailやTwitterは、SPAとして構築されている代表的なWebアプリケーションであり、スムーズなページ遷移をSPAによって実現しています。またElectronやPWA(Progressive Web Apps)の登場により、複雑なアプリケーションをWebの技術を使って構築する場面も増えてきました。 これらの複雑なアプリケーションにおいては、既存のページ単位での状態管理の考え方では対応が難しくなります。 そこで今回は、具体的なフレームワークも取り上げながら、Webフロントエンドにおける状態管理のアプローチについて紹介します。 フロントエンドでの状態管理の複雑化 ページの単位を超えた状態の保持 モデルとビューによる処理の分割 イベントの管理が複雑にな
Macでターミナルとシェルを使うための基礎知識 - 環境の構築と基本的なファイル操作を知る Macでターミナルとシェルを活用し、サクサクと作業をするには?シェルに関する多数の執筆を持つ、「シェル芸人」こと上田隆一さんが基本のテクニックを解説します。 こんにちは。千葉工業大学未来ロボティクス学科の上田( @ryuichiueda )です。というよりシェル芸の人と呼ばれることが多い上田です。 この記事は、「Macでターミナルやシェル、コマンドを使う」というテーマでお送りするものです。通常、シェルの話になるとサーバとして利用されるOSを環境に指定することがほとんどです。この企画もそういう暗黙の前提があったはずなのですが、「せっかくエンジニアにはMacユーザーが多いのだから、Macで普段使いできるような解説を書きたい」と筆者がダダをこねてねじ曲げて、これを書いております。 シェル(ターミナル)とい
ある文系プログラマがテックリードを任されるまでに学んだこと ── 最前線で生き延びる4つの戦略 コンピュータサイエンスの専門教育を受けず、20代半ばで本格的なプログラミングを始めた文系エンジニアが、いかに学び、考え、生き延びてきたのかを伝えます。 こんにちは。白山(@fushiroyama)と申します。現在は新聞社のデジタル事業部署で、モバイルアプリ開発のテックリードをしています。 自分のエンジニア人生を振り返ると、これまでの道のりは決して平坦ではありませんでした。コンピュータサイエンスの専門教育を受けず、本格的にプログラミングを始めた年齢も23、4歳と決して早くありません。 そんな自分が、いかにして開発チームのリーダーを任せてもらえるまでになったか? 考えてみると、次の4つの戦略で生き延びてきたようです。 自分だけの居場所を見つける 必要な知識を効率的に取捨選択する 他のエンジニアに差を
【46選】あのサービス・アプリのアーキテクチャ・プログラミング言語・フレームワークを大調査!〔2019年始版〕 今やWebやアプリを構築する技術選択は、フロントエンドからインフラまで各領域で多岐に及びます。気になるあのサービスが利用している技術は何か? アンケート調査によるまとめの2019年新春バージョンです。 エンジニアHubでは2017年4月に、国内注目サービスのアーキテクチャ大調査を掲載しました。それからおよそ2年が経ち、インフラでもフロントエンドでも新しい技術が次々と登場しています。 そこで今回は2019年始版として、46のサービスが利用しているプログラミング言語やフレームワーク、インフラ等の環境をまとめました。選定理由も回答いただいたサービスは合わせて掲載しています。どういった見地から技術選定を行っているのか。ぜひ今後の参考にしてください。 (※本記事は、2018年12月のメール
「Kotlinで書くとJavaには戻れない」Androidアプリ開発にKotlinを導入したヤフーが感じたメリット GoogleがAndroidアプリの開発言語に選定したことで「Kotlin」の注目度が高まっています。展開しているAndroidアプリの半数以上でKotlinを導入しているというヤフー株式会社に、Kotlinの魅力を伺いました。 「Androidアプリを作るならJavaではなくKotlinを使った方がいい」という声をよく聞くようになってきました。Kotlinは2011年に発表された言語。2017年にGoogleがKotlinをAndroidアプリの開発言語に選定したことがきっかけで、近年導入する企業が増加しています。 その中の一つが、ヤフー株式会社です。現在ヤフーでは、展開しているAndroidアプリの半数以上でKotlinを導入。特に「Yahoo!ニュース」のAndroid
認証技術の種類と進化の歴史。ユーザーの情報を守るために必要な基本を知ろう サービス運用に必要不可欠な認証技術には、どれほどの種類があり、そしてなぜこれほどまでに多様化したのでしょうか。認証技術の進化と、それに対する攻撃手段の流れを不正ログイン対策ツールを手がけるCapyのエンジニア2名に解説してもらいます。 私たちが何気なく使っている認証とは一体どういうものなのでしょうか。 認証はコンピュータやインターネットが普及する前から用いられている、利用者を識別し、その正当性を証明する技術です。この定義に当てはめていくと、家の鍵や合言葉など、身の回りでもおなじみのものも「認証」にあたります。 認証を支える技術のうち、よく知られているのが暗号です。原始的な暗号技術のひとつに、古代ローマで用いられたシーザー暗号(Caesar cipher)があります。これは当時の為政者、ユリウス・カエサルが使ったといわ
えふしんに聞く「僕が若手エンジニアならこれを学ぶ!」トップランナーの考える成長戦略 「モバツイ」の生みの親であり、現在はBASE株式会社の取締役CTOを務める、「えふしん」こと藤川真一氏に、「もし、あなたがいま若手エンジニアだったら、どんな成長戦略を採りますか?」と聞いてみました。若手エンジニア必読のえふしん流7つの戦略とは? 「何を学び、どのように技術力を向上させていくべきか」は、若手エンジニアにとって非常に悩ましいテーマのひとつ。 キャリアが浅いころは学習を進める“勘どころ”がないため、なかなか効率の良い技術習得ができません。加えて、過去の時代と比較すると学ぶ対象であるプログラミング言語やIT領域も圧倒的に広範囲になっています。そのため、少し方向性を見誤ってしまえば、無駄な技術の学習に時間を割いてしまう可能性が高いのです。 その課題を解決する有効な方法があります。それは、著名なエンジニ
プロのエンジニアに必要なものとはなんだ?『Clean Coder』に学ぶ信頼獲得のメソッド【今こそ読み解きたい名著】 プロのエンジニアならば、必ず有する周囲からの厚い信頼。しかし、信頼とはどのように獲得すればいいのでしょうか。名著『Clean Coder』から、エンジニアらしい信頼獲得の術を学びます。 数多くの開発者から支持を受け、読み継がれてきた名著。そこには読み継がれる理由があります。 名著には、内容・ボリュームともに充実した書籍が多く、概要に目を通しただけで本を読んだつもりになっていたり、腰を据えて読む時間がなく「積ん読」してしまいがち。「エンジニアが絶対読むべき書籍●選」といった記事をブックマークするだけで読んだつもりになっていないでしょうか。 ポイントを押さえつつ内容を深掘りし、名著の根底に流れるエッセンスを開発に活かしましょう。 アプリエンジニアの池田 惇(@jun_ikd)で
スター数4200超! 人気リポジトリ『peco』 開発者(@lestrrat)が語る「使われるOSS」の作り方 多くの人が知る、人気リポジトリの開発の裏側とは? スター数4200超えを誇る『peco』の作者・牧 大輔(@lestrrat)さんに聞きました。 あるひとつのプログラムやツールが公開され、開発を加速させる。 そのツールから生み出されたものが公開され、多くの人に影響を与え、次なる開発を加速させる。 本稿を読む皆さんの多くは、こうした拡散するエンジニアリング、つまりオープンソースというカルチャーの一側面から恩恵を受け、また影響を与えているでしょう。 2014年7月にリリースされたツール『peco』は、まさに“影響を与えた”オープンソース・ソフトウェア(以下、OSS)でした。インタラクティブなフィルタリングツールであるpecoはシンプルな機能ながら、その使い勝手の良さによって、2017
PWAで表示速度が2倍に! スピード改善を妥協しない日経電子版に学ぶ、PWAのメリット&デメリット ネイティブアプリに近い体験を簡単に提供できるとして注目を集めている「PWA」。実際に導入し、表示速度が2倍になったという日経新聞電子版の開発者に「PWA」のメリットとデメリットを伺いました。 PWA(Progressive Web Apps)は本当に「アリ」なのか――? ネイティブアプリの開発にはWebとは異なる専門知識が必要であり、またAndroidやiOSなどOSごとでも異なるため、リソースが膨大にかかるという課題があります。そこで昨今は、XamarinやReact Nativeなどのクロスプラットフォーム開発ツールを使い、ネイティブアプリやWebの開発を一本化しようという動きが活発になっています。 一方で、ネイティブアプリに近い体験を簡単に提供できるとして注目を集めているのが、Goog
エンジニアHub > 記事一覧 > 「Go言語らしさ」とは何か? Simplicityの哲学を理解し、Go Wayに沿った開発を進めることの良さ 「Go言語らしさ」とは何か? Simplicityの哲学を理解し、Go Wayに沿った開発を進めることの良さ プログラミング言語には作者の設計思想が強く現れますが、Go言語もまた後発であることを生かし、しっかりとした思想に基づいて開発されています。公式のドキュメント等で語られているSimplicityの哲学を理解し、Go言語らしさ、Go Wayに従って開発する良さについて、はてなチーフエンジニアの松木雅幸(Songmu)さんが解説します。 id:Songmuと申します。はてな東京オフィスでチーフエンジニアを務め、Mackerelというサーバー監視のSaaS開発においてプロダクトマネージャーを担当しています。 筆者が勤めている株式会社はてなでは、2
Rubyコミッター・Yuguiに学ぶ、コードに書くべき「適切なコメント」と「適切な場所」 Rubyコミッター・園田裕貴(Yugui)さんが、長年の経験で体得したソースコードに書くべき「コメントの技法」を教えてくれました。 プログラミングにおいて、どんな初心者でも書けるけれど、適切に書くのは上級者でないと難しいもの。それがコメント(=ソースコードに書かれている注釈やメモ)です。 不適切なコメントをつけても、プログラムの動作には影響しません。しかし、書き方の巧拙によって、コードの可読性や理解のしやすさには雲泥の差が出ます。良質なコメントが良質なコードをつくるのです。 今回はRubyコミッターでありgrpc-gatewayの開発者でもあるSupership株式会社の園田裕貴(Yugui)さんに、優れたエンジニアがどんな観点を持ち、どんなコメントを書いているのかを聞きました。 園田 裕貴(そのだ・
エンジニアHub > 記事一覧 > AWSに関するありがちミスとその対策~EC2、S3、RDS、Lambda、CloudFrontの場合 AWSに関するありがちミスとその対策~EC2、S3、RDS、Lambda、CloudFrontの場合 AWS入門者が基本として知っておくべき知識を、AWS導入&運用サポートのプロである、アイレットのエンジニア3名に聞きました。多くのAWSユーザーに支持されるAmazon EC2、Amazon S3、Amazon RDS、AWS Lambda、Amazon CloudFrontそれぞれの勘所やオススメの設定を、余すところなく紹介してもらいます! なぜ、AWSを選ぶのか? Amazon EC2~インスタンス起動後はプライベートIPを設定できないので注意 Amazon S3~S3はディスクではない。マウント非推奨の理由 RDS~自動スナップショットの保持期間を
俺の愛用ワンライナー、Web企業のエンジニア16人に聞きました エンジニアの皆さんが愛用する自作のワンライナーってどんなもの?Web企業で働くエンジニアの方々に、秘蔵のワンライナーを聞きました。 ワンライナーとは、何か特定の処理を「たった1行のプログラム」だけで実現するものです。サービス運用に携わるエンジニアの皆さんも、愛用している独自のワンライナーを持っているのではないでしょうか。「独自のワンライナー」とは、エンジニア各人のナレッジやノウハウが詰まっているとも考えられます。 本企画ではさまざまジャンルで活躍するエンジニア16人に、業務を支えてくれるワンライナーを紹介してもらいました。参考に使ってみるも良し。眺めて楽しむも良し。個性あふれる貴重な「オレオレ・ワンライナー」の数々をご覧ください! ※各カテゴリー内では所属企業名の50音順に掲載。回答者は敬称略とする。 リソース管理 プロセスを
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く