タグ

ブックマーク / atmarkit.itmedia.co.jp (111)

  • マイクロサービス時代のSSOを実現する「Keycloak」とは

    連載では、近年注目されている認証プロトコル「OpenID Connect」をサポートするオープンソースのシングルサインオン(SSO)ソフトウェア「Keycloak」の活用方法を解説していきます。第1回目は、APIにおける認証/認可の仕組みとKeycloakの概要を紹介します。 連載目次 APIにおける認証/認可の仕組み 近年、金融や流通分野で注目されている「APIエコノミー」や「マイクロサービスアーキテクチャ」などの登場により、サービスの機能を「REST API」として提供することが当たり前になってきています。そして、REST APIを公開するためには、誰がアクセスしてきたのかを確認するための「認証(Authentication)」と、APIへのアクセスを誰に許可するのかという「認可(Authorization)」の仕組みが不可欠です。 しかし、複数のサービスがそれぞれ個別に認証/許可を

    マイクロサービス時代のSSOを実現する「Keycloak」とは
  • VS CodeでPythonプログラムを快適コーディング!

    連載「Visual Studio Codeで始めるPythonプログラミング」 前回は、Visual Studio Code(以下、VS Code)でPythonするために必要となるPython拡張機能のインストールを中心に話をした。今回は、これを利用して、実際にPythonコードを記述、実行する方法を見ていこう。 なお、稿ではWindows版のVS Code(64ビット版)を使用し、venvモジュールを用いて作成した仮想環境を使用している。 ファイル操作はここで:[エクスプローラー]ビュー 前回も簡単に述べたが、VS Codeでは「フォルダを開いて、そこに含まれるファイルをエディタと呼ばれる領域(タブ)で編集する」のが基だ(単一ファイルを開いて、編集することも可能ではある)。ここではvscpython_02フォルダを開いている。開いたフォルダに含まれるファイル群はサイドバーと呼ばれる

    VS CodeでPythonプログラムを快適コーディング!
  • インフラ基盤がWebサービスを進化させる――クラウド全盛の今、リクルートが新インフラ基盤をオンプレミスに作った理由

    インフラ基盤がWebサービスを進化させる――クラウド全盛の今、リクルートが新インフラ基盤をオンプレミスに作った理由:SREの考え方で“運用”を変えるインフラ基盤 大解剖(1) 連載では、「インフラの、特に基盤寄りの立場からSRE(Site Reliability Engineering)の活動を行い、Webサービスの価値を高めるためにはどうしたらいいか」について、リクルートの新たなインフラ基盤を例に見ていきます。 従来、リクルートはオンプレミスに巨大なインフラを抱えており、そのインフラ上でさまざまなサービスを提供してきました。昨今、世の中にはAWSAmazon Web Services)やGCPGoogle Cloud Platform)、Microsoft AzureをはじめとしたさまざまなIaaS(Infrastructure as a Service)があり、システム開発者はそ

    インフラ基盤がWebサービスを進化させる――クラウド全盛の今、リクルートが新インフラ基盤をオンプレミスに作った理由
  • 【USB】第1回 知っているようで知らないUSB

    PCやスマートフォンに限らず、身近なところにある「USB」。だが、同じUSBでもさまざまな形状のコネクターがあったり、安いケーブルではデータ通信ができなかったり、と不思議なことも多い。この「USB」という規格について解説していく。 適当なケーブルでつないだらスマートフォンが充電できなかったが、ケーブルを替えたらデバイスを認識した。充電はできるのに、データ転送ができなくて困った。といったように、USBに関して、こういったトラブルを見聞きすることがある。 最初にUSBが登場したのは、1996年のことだ。すでに20年以上も前になる。このため、USBはPCやスマートフォンに広く普及し、100円ショップでUSBケーブルが売られ、コンビニにはUSB充電器が並ぶ。しかし、こうした普及の影でUSBの仕様を満たさない製品やケーブルなどが存在しているのも事実である。 現在のUSBに関する「混乱」の一部には、こ

    【USB】第1回 知っているようで知らないUSB
  • BFF(Backends For Frontends)超入門――Netflix、Twitter、リクルートテクノロジーズが採用する理由

    BFF(Backends For Frontends)超入門――NetflixTwitter、リクルートテクノロジーズが採用する理由:マイクロサービス/API時代のフロントエンド開発(1)(1/2 ページ) マイクロサービス/API時代のフロントエンド開発に求められる技術の1つBackends For Frontends(BFF)について解説する連載。初回は「超入門」としてBFFの概要や事例を中心に紹介する。 連載「マイクロサービス/API時代のフロントエンド開発」では、今注目のBackends For Frontends(BFF)について数回にわたって解説します。初回である今回は「超入門」としてBFFの概要や事例を中心に紹介します。第2回はBFFの作り方について、第3回はBFFを使ったフロントエンド開発者主導のマイクロサービス/API化の手順について解説します。 想定読者は、Webア

    BFF(Backends For Frontends)超入門――Netflix、Twitter、リクルートテクノロジーズが採用する理由
  • さまざまなサービスが連携できる「IFTTT(イフト)」の使い方

    Webサービス同士を連携できるサービス「IFTTT」。スマートスピーカーとWebサービスの連携も可能なことから最近注目が集まっている。IFTTTでサービス連携を作りながら、特徴や注意点などを解説しよう。 連載目次 IFTTTとは TwitterやFacebook、Gmail、Instagram、Evernote、Dropboxなど、数え上げたらキリがないほど、現在では実に多彩なWebサービスが提供されている。こうしたWebサービスは単体でも非常に便利な機能を提供しているのだが、複数のWebサービスが連携できれば、新しいWebサービスとしてさらに多くのことを実現できるだろう。ただ、Webサービスの連携には、多くの場合プログラミングが必須であり、実現するにはハードルが高いと思われがちだ。 しかし、こうしたWebサービスを連携させる「IFTTT(イフト:IF This Then That)」とい

    さまざまなサービスが連携できる「IFTTT(イフト)」の使い方
  • 鳥取編:ITエンジニアの皆さん、鳥取を救ってください

    こんにちは、「ミノハラ製作所」の蓑原です。「U&Iターンの理想と現実:鳥取編」、第1回は鳥取県の暮らし、第2回は鳥取県の企業風土や鳥取県人の働き方を紹介しました。 今回は、田舎の経営者が日々感じること、中小企業庁のデータから読み取る鳥取県の問題点を紹介し、ITエンジニアの皆さんへの「田舎での働き方」を提案します。 とても深刻な「鳥取県の事業継承問題」 前回、鳥取県の企業は、団塊世代の創業社長と経理の奥さん、息子世代が専務という企業が多いことを書きました。 「息子世代」がいればまだいいのですが、いない会社も多くあります。息子世代が都会に出て帰って来ない家もたくさんあります。このように、後継者がいないために創業者の代で廃業する企業が、鳥取では後を絶ちません。 鳥取県の後継者問題はかなり深刻で、後継者不在率は、都道府県別で5番目に高い73.2%、社長の年齢が60歳代以上の会社が311社もあるそう

    鳥取編:ITエンジニアの皆さん、鳥取を救ってください
  • 第2回 HTTPSの詳細

    入門連載では、システム管理者やシステムエンジニアの方々を主な対象として、IT業界でよく使われる技術や概念、サービスなどの解説をコンパクトにまとめておく。 HTTPSとは 「HTTPS(HTTP over SSL/TLS)」とは、簡単に言うと「SSL(Secure Sockets Layer)」や「TLS(Transport Layer Security)」で暗号化した通信路上でHTTPプロトコルを利用する技術である。SSLやTLSは、暗号化された通信路を実現するためのプロトコルの1つだ。 通常のHTTPを使った通信では、Webサーバ側のTCPのポート番号は(デフォルトでは)80番となっている。一方HTTPSの場合は443番でSSL/TLSのポートをリッスン(待ち受け)している。Webブラウザがこのポートに接続すると、最初にSSL/TLSで暗号化された通信路(コネクション)を確立し、それが

    第2回 HTTPSの詳細
  • 「GitHubを使うプログラマー」を狙ったマルウェア攻撃が発生 コードを秘密裏に改ざんされる可能性

    GitHubを使うオープンソースプログラマーを対象に、コンピュータをトロイの木馬プログラムに感染させようとする標的型攻撃が発生している。スロバキアのセキュリティ企業 ESETが2017年3月30日(現地時間)、公式ブログで注意を呼び掛けた。以下、内容を抄訳する。 GitHubを活用しているプログラマーは警戒が必要だ。何者かがあなたのコンピュータにマルウェアを感染させようと狙っているからだ。 GitHubユーザーにメールを送り付け、コンピュータにトロイの木馬プログラムをインストールしようとする標的型マルウェア攻撃の発生が報告されている。 この攻撃は2017年1月に発覚した。攻撃に使われる電子メールは、以下のようにプログラミングの仕事を持ち掛ける文面で届く。 Hey. I found your software is online. Can you write the code for my

    「GitHubを使うプログラマー」を狙ったマルウェア攻撃が発生 コードを秘密裏に改ざんされる可能性
  • 「Deep Learningをサービスに導入したい!」人に周囲が泣かされないために

    リクルートテクノロジーズにおける検索改善施策の事例を通じて、Deep Learningをはじめとした機械学習の強みと限界を探る連載「機械学習活用プロジェクト大解剖」。 前回は、検索改善のためのアーキテクチャ(QueryRewriter)とDeep Learningを導入する動機を紹介しました。今回は、「Deep Learningの導入のために何が必要であり、なぜQueryRewriterが開発されたのか」について解説します。 より具体的な改善事例は次回解説します。 機械学習を活用しやすくする開発・運用体制――2つのアンチパターン まず、「とにかくDeep Learningを使いたい!」というようなデータサイエンティストに周囲を泣かされないための仕組みと開発・運用体制について考えます。 新しい技術を導入する際は、何であれ慎重に進めた方がいいです。Deep Learningのような解釈可能性

    「Deep Learningをサービスに導入したい!」人に周囲が泣かされないために
  • WebブラウザでAnsibleの実行を管理するAnsible Towerのインストールと使い方

    「マニュアルやシェルスクリプトを使ったサーバ管理に課題を持つ方」を対象に、Ansibleの基的な使い方を紹介する連載「Ansibleで始めるサーバ作業自動化入門」。前回の「プレイブックを再利用しやすくするRoleの基と共有サービスAnsible Galaxyの使い方」では、Ansibleの推奨ディレクトリ構成である「Role」と、全世界のAnsibleユーザーがRoleを共有する仕組みである「Ansible Galaxy」を紹介しました。 Ansible Towerとは 今回は、Ansibleの実行をWebブラウザから管理できるようにするツール「Ansible Tower」を紹介します。 Ansible Towerを利用することで、プレイブックの実行をスケジューリングしたり、ユーザーに特定のプレイブックの実行のみを許可するような権限制御を行ったりすることができます。これは、例えば「客

    WebブラウザでAnsibleの実行を管理するAnsible Towerのインストールと使い方
  • うつくし過ぎるプログラマー「池澤あやか」は、この先生きのこれるか。ドワンゴのエンジニア兼、人事に聞いてみた

    もしもの世界の話ではあるが、池澤さんが実在の有名IT企業に転職するとしたら、どうなる? エンジニアなら、誰しも興味があるのではないだろうか。 連載は、そんな架空の設定のもと、池澤さんにさまざまなIT企業で「エンジニアとして」面接を受けてもらう。今回はその準備として「エンジニア池澤あやか」の、これまでの職務経歴の棚卸しと、面接に備えた予習をしておきたい。 アドバイスをくださるのは、「ドワンゴ」技術コミュニケーション室 室長の塩谷啓さん。エンジニアであり、エンジニアの採用や生産性向上にも携わるプロフェッショナルだ。

    うつくし過ぎるプログラマー「池澤あやか」は、この先生きのこれるか。ドワンゴのエンジニア兼、人事に聞いてみた
    L3msh0
    L3msh0 2016/11/28
  • Linuxファイルシステム技術解説

    XFSは、巨大ストレージでの利用を視野に入れた64bitファイルシステムである。膨大な領域を効率的に利用するため、XFSにはさまざまな仕組みが組み込まれている。(編集局)

    Linuxファイルシステム技術解説
  • Rubyの面白さを理解するためのメソッド、ブロック、Proc、lambda、クロージャの基本

    分かりにくいが便利なProcとlambda(ラムダ) 手続きをオブジェクト化 ここまでで、メソッドに手続きそのものを渡す方法としてのブロックを紹介しました。実は、「Proc」クラスや「lambda(ラムダ)」という仕組みを使うことで、ブロックとして書いた手続きそのものをオブジェクト化して引き回す方法があります。block03.rbに、その例を示しましょう。 procedure1 = Proc.new { |word| puts word } procedure2 = proc { |word| puts word } procedure3 = lambda { |word| puts word } procedure4 = ->(word) { puts word } procedure5 = -> { puts "cluck" } procedure1.call("meow") proc

    Rubyの面白さを理解するためのメソッド、ブロック、Proc、lambda、クロージャの基本
  • 継続的インテグレーションツール「Jenkins 2.0」が登場

    オープンソースソフトウェアの継続的インテグレーション(CI:Continuous Integration)/継続的デリバリ(CD:Continuous Delivery)ツールとして広く使われている「Jenkins」の最新版「Jenkins 2.0」がリリースされた。 パイプライン機能の強化「Pipeline as Code」と「ステージビュー」 Jenkinsは、ソフトウェアの開発プロセスにおけるビルドやテスト、デプロイなどをジョブとして管理してジョブの実行を自動化するツール。これに加えて、一連の流れをパイプライン処理として定義、視覚化する機能がプラグインとして提供されていた。 Jenkins 2.0では、このパイプラインが標準機能としてサポートされ、ユーザーはGroovyのDSL(ドメイン特化言語)を使って、パイプラインをコードとしてモデリングできるようになった。このコードは、プロジェ

    継続的インテグレーションツール「Jenkins 2.0」が登場
  • エンジニアのモチベーションは、SIビジネスの源泉――クリエーションライン

    エンジニアのモチベーションは、SIビジネスの源泉――クリエーションライン:特集:アジャイル時代のSIビジネス(2)(1/3 ページ) クラウドの浸透などを背景に、「SIビジネスが崩壊する」と言われて久しい。特集では、今起きている“SIビジネスの地殻変動”を直視し、有効なアクションに変えたSIerにインタビュー。SI来の在り方と行く末を占う。 市場環境変化に対応する「スピード」が差別化の一大要件となっている近年、システム開発・運用にも一層のスピードと変化対応力が求められている。こうした中、従来のテクノロジに加えて、必要となればクラウドネイティブなテクノロジも率先して取り入れ、使いこなすことが重視されている。 こうした状況は、ユーザー企業にとっては一つの課題だが、ビジネス支援を行うSIerにとっては一つのチャンスとなる。目的にかなうテクノロジの目利き役となり、最適なものを組み合わせ、柔軟に

    エンジニアのモチベーションは、SIビジネスの源泉――クリエーションライン
  • 「コーディングがはかどる」BGMがあるそうです

    「コーディングがはかどる」かもしれないプログラマーの皆さん向けの音楽サイトがあるそうです。ちょっと試してみました。 今、BGMは流れていますか? 家で、電車で、会社で──。「NO MUSIC, NO LIFE」までではないにしても、“ながら音楽”の習慣がある人は多いでしょう。特に論理的な思考を必要とするプログラマーの皆さんは、良いコードを効率よく書くためにどんな環境が必要か、どんな音楽だとはかどるか、それぞれ自身の方法論を持っていると思います。 例えば、アマゾンの定額制音楽配信サービス「Prime Music」には、「~~のための音楽」といった、あるテーマに沿った楽曲を集めたプレイリストがたくさん登録されています。「ドライブに最適なJ-POP」「お休み前に聴くピアノソロ」「恋がしたくなるJ-POP」などの他に、「仕事がはかどるジャズ」「残業を乗り越えるサントラ」「満員電車でイライラしないポ

    「コーディングがはかどる」BGMがあるそうです
  • いまさら聞けないLinuxの基礎知識

    Linuxを勉強してみたいけど、どこから手を付けてよいか分からない、何だかよく分からないまま使っている……そんな方々のための連載です。まずは、Linuxとはどんなものなのか確認しましょう。 連載目次 Linuxを一から学びたい人のために 今、Linuxは企業のWebサーバやアプリケーションサーバ、ファイルサーバとしての用途だけでなく、クライアントPCやシンクライアント端末のデスクトップなど多くのシステムで利用されています。連載は、そんなLinuxを一から学びたい、Linuxを効率良く操作するための知識やスキルを身に付けたいという人のための連載です。 インターネットを検索すれば大抵のことは分かりますが、基礎部分を理解していないと、思い通りに設定できなかったり、無駄な作業を行ったりしてしまうことになります。連載ではそうならないために、Linuxを扱っていくための基礎を押さえ、実運用時に応用

    いまさら聞けないLinuxの基礎知識
  • 国際化プログラミングの常識

    Javaプログラミングの国際化について それでは、Javaの国際化に関する情報を見ていきましょう。Javaにとっての一次情報源であるサン・マイクロシステムズ提供のドキュメントに、Javaの国際化に関する有益な情報が記載されていますので、こちらを見ていきます。

    国際化プログラミングの常識
  • 第1回 OpenCVとは? 最新3.0の新機能概要とモジュール構成

    ご注意:記事は、@IT/Deep Insider編集部(デジタルアドバンテージ社)が「www.buildinsider.net」というサイトから、内容を改変することなく、そのまま「@IT」へと転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。 1. OpenCV 1.1 OpenCVとは OpenCV(正式名称: Open Source Computer Vision Library)は、オープンソースのコンピューター・ビジョン・ライブラリです。コンピューターで画像や動画を処理するのに必要な、さまざま機能が実装されており、BSDライセンスで配布されていることから学術用途だけでなく商用目的でも利用できます。加えて、マルチプラットフォーム対応されているため、幅広い場面で利用されていることが特徴です。 OpenCVは、Intelで開発さ

    第1回 OpenCVとは? 最新3.0の新機能概要とモジュール構成