タグ

ブックマーク / ascii.jp (75)

  • Kubernetesをゲーム感覚で腕試しできるサイト「Game of PODs」で遊ばないと年を越せない・2021冬

    この記事はFixer Advent Calendar 9日目の記事です。 はじめに 最近CKADの受験して一旗上げようと画策しているなむゆです。 Kubernetesについて学ぶ中で、腕試しに使えそうな面白そうなサイトを見つけたので紹介してみようという回です。 Game of PODsとは Game of PODsとは、無料で遊べるKubernetesの問題集です。 Kubernetesクラスターにアプリケーションを展開したり、クラスターで起きている問題を解決することを通してそれらの方法を学ぶことができます。 この問題集はKodeKloudというサービスに提供されている教材のひとつで、KataKodaという教材用環境サービス内でホストされている仮想環境にアクセスしてハンズオン形式で課題を解くことができることが特徴です。 問題の内容としては、あるアーキテクチャが与えられて、「このアプリケーシ

    Kubernetesをゲーム感覚で腕試しできるサイト「Game of PODs」で遊ばないと年を越せない・2021冬
  • ASCII.jp:MS、Azureの顔認識AIや画像認識AIをDockerコンテナ化、ローカルで利用可能に

    マイクロソフトは2018年11月15日、Microsoft AzureのAI APIサービスCognitive Servicesの一部機能をDockerコンテナ化した「Azure Cognitive Services Containers」のプレビュー提供を開始した。顔認識AI、画像認識AIのOCR機能、テキスト分析AIが、クラウドだけでなくローカルマシンでも利用できるようになる。 Cognitive Servicesは、学習済みの顔認識や音声認識、画像認識などのAIモデルをAPIとして提供するクラウドサービス。今回発表されたAzure Cognitive Services Containersでは、Cognitive Servicesの機能のうち、画像認識AI「Computer Vision」のOCR機能(英語のみ対応)、顔認識AI「Face」、テキストに含まれる評判やキーフレーズを分析

    ASCII.jp:MS、Azureの顔認識AIや画像認識AIをDockerコンテナ化、ローカルで利用可能に
  • Windows Mixed Reality(MR)が動くマシンを構築する

    ゲーミングPC+Thunderbolt 3接続のGPUボックスで Windows MR対応マシンを構築する 前回は、Windows Mixed Reality(以下Windows MRと略す)についてざっと解説したが、今回は具体的にImmersive Headsetを使ってWindows MRを体験してみることにする。記事執筆にあたり、機材をお借りした。具体的には、 ■Razer Blade Stealth

    Windows Mixed Reality(MR)が動くマシンを構築する
  • もっと速く!Webサイト高速化のためのwebpack活用入門

    webpackを使ってアセットをバンドルすることで、HTTPリクエストの回数を削減し、ファイルサイズを縮小できます。Webサイトをもっと快適にするためのチュートリアルです。 webpackが大人気です。GitHubのスター数は30,000を超え、ReactAngularといったJavaScript界の有名プレイヤーもwebpackを歓迎しています。 webpack質はバンドラーであり、webpackを使えばどんなリソースやアセットでもバンドルできます。大規模なプロジェクト以外でも活用できます。 webpackをインストールして設定する方法を説明します。いくつかのアセットを持つシンプルな静的サイトのための圧縮バンドルをwebpackで作成します。 webpackを使う理由 主な理由は、サーバーへのHTTPリクエストの回数を減らすためです。Webページが大きくなると、jQuery、フォン

    もっと速く!Webサイト高速化のためのwebpack活用入門
  • webpackよりもシンプルで高速!最新モジュールバンドラー「FuseBox」超入門

    SPAなどモダンな Web開発に欠かせないモジュールバンドラー。高速でシンプル、webpackに代わる次世代ツールとして注目の「FuseBox」の使い方を解説します。 急速に発展しているフロントエンドの環境は、JavaScriptのモジュールシステムの理解が必要不可欠です。モジュールを利用してコードを組織化することで、メンテナンス性と再利用性が向上します。残念ながら、ES modulesのブラウザーサポートはあまり進んでいないため、モジュールバンドラーでモジュールを1つのファイルにつなぎ合わせてブラウザーが扱えるようにする必要があります。 webpackJavaScriptのデファクト・モジュールバンドラーになったとの意見がある一方で、分かりにくく、学ぶのが難しいとの評価もあります。記事では、webpackの代替ツールで、より高速でシンプルなFuseBoxを紹介します。 FuseBox

    webpackよりもシンプルで高速!最新モジュールバンドラー「FuseBox」超入門
  • アプリ開発の流れを変える「GraphQL」はRESTとどう違うのか比較してみた

    注:単純なデータモデルでさえ、今後の維持や説明が必要になる6つものエンドポイントが含まれています。 あなたがクライアント側の開発者で、movies APIを使い、HTMLとjQueryで単純なWebページを作るとします。そのためには、映画と出演俳優・女優の情報が必要です。APIに必要な機能は揃っているので、データを取得します。 新しくターミナルを開いて以下を実行します。 curl localhost:3000/movies 以下の応答が返ってきます。 [ { "href": "http://localhost:3000/movie/1" }, { "href": "http://localhost:3000/movie/2" }, { "href": "http://localhost:3000/movie/3" }, { "href": "http://localhost:3000/mo

    アプリ開発の流れを変える「GraphQL」はRESTとどう違うのか比較してみた
  • 「フルスタック開発者」を名乗るなら身につけたい技術と知識【2017年版】

    フルスタック開発者に求めるスキルは時代とともに変わっています。2017年のフルスタック開発者を名乗るなら最低限知っておくべき技術と知識をまとめました。 プロトタイプから完全なMVP(Minimum Viable Product:実用最小限のプロダクト)までカバーするフルスタック開発者のことを「多芸は無芸」と評価する人もいます。そんな一面もあるでしょう。まずは、フルスタック開発者を知るために、歴史を振り返ります。 以前のフルスタック開発者 2000年ごろ(インターネットでの17年前は大昔です)のフルスタック開発者の定義はこんな感じでした。 Photoshop、FireworksなどAdobe系ツールでWebページを手早く作る デザインをHTMLCSSに変換し、画像にホットスポットを追加する(もはや忘却のかなたですか?) 簡単なPHP4.0スクリプト(当時のPHPはオブジェクト指向とは無縁)

    「フルスタック開発者」を名乗るなら身につけたい技術と知識【2017年版】
  • もう迷わない!人気JavaScriptフレームワーク、ライブラリー、ツール総まとめ

    新しいJavaScriptフレームワーク、ライブラリー、ツールが次々と登場しています。2017年時点で人気の高い22種類を一挙まとめて紹介。選定の参考にどうぞ。 GitHubのクイックリサーチによれば、JavaScriptプロジェクトは2017年5月時点で110万以上存在しています。npmjs.orgには利用可能なパッケージが50万個あり、ダウンロード数は毎月約100億回にのぼります。開発者の数よりもJavaScriptフレームワーク、ライブラリー、ツールの数のほうが多いかもしれません。 記事では、クライアントサイドで特に人気の高いJavaScriptフレームワーク、ライブラリー、ツールの基礎や主な違いを紹介します。選んで、使ってみて「ベスト」を見つけてください。ただし、いつかは「より良い」フレームワーク、ライブラリー、ツールが登場すると覚えておいてください。 以下の条件に同意の上してか

    もう迷わない!人気JavaScriptフレームワーク、ライブラリー、ツール総まとめ
  • Go言語とコンテナ

    長かった連載も今回が最終回です。 この連載では、プログラムがコンピュータ上で動くときに何が起きているのかを、Go言語のコードを通して覗いてきました。 今回は、その締めくくりとして、コンテナについて紹介します。 現在広く利用されているコンテナ技術であるDockerのコアは、Go言語製のlibcontainerというライブラリです。 このライブラリを使って自作のコンテナを仕立ててみます。 今回の原稿にあたっては、仮想化周りでsyohexさんに細かく指摘をいただきました。ありがとうございました。 仮想化 コンテナの話に入る前に、コンテナと目的がよく似た技術である仮想化について説明します。 仮想化は、コンテナよりも先に広く使われるようになった技術ですが、 歴史的にさまざまなソリューションがあり、どのような仕組みか、どのようなメリットがあるか、どのような制約があるか、どこにフォーカスするかで分類の

    Go言語とコンテナ
  • JavaScriptのテストダブル、定番Sinon.jsと新星testdouble.jsどっちを選ぶ?

    JavaScriptのテストダブル、定番Sinon.jsと新星testdouble.jsどっちを選ぶ? テストダブルは、難しいテストを簡単に実行できる代替コードです。 これまではSinon.jsがJavaScriptのテストダブルを作成するには不可欠なツールでしたが、最近、testdouble.jsという新しいライブラリーが話題になっています。Sinon.jsと同様の機能を備えていますが、いくつか違いがあります。 この記事では、Sinon.jsとtestdouble.jsのできることを紹介し、長所と短所を比較します。Sinon.jsがデファクトスタンダードのままになるか、それとも挑戦者がその座を勝ち取るのでしょうか? 注意:テストダブルをよく知らない人は、まず私が書いたSinon.jsチュートリアルを読むことをおすすめします。この記事で紹介する用語の理解を深めるのに役立ちます。 この記事で

    JavaScriptのテストダブル、定番Sinon.jsと新星testdouble.jsどっちを選ぶ?
  • 大規模でスケールするReactアプリケーション開発のための実践的アドバイス

    Reactの大きな特徴の1つは、ファイルを自由に構造できることです。自由ゆえ、パッと見て理解できる構造にならないこともあります。そのためStackOverflawや類似サイトでは、どんなファイルの構造にするか数多くの質問が寄せられています。ファイルの構造は主観的で、正しい答えがありません。記事ではReactアプリを作成するとき、私が考えるツール選び、ファイル構造、コンポーネントの分解方法を解説します。 ビルドツールとエラー回避 アプリのビルドにWebpackを使ったことがあれば、私がWebpackの大ファンというのもうなずけるでしょう。Webpackは複雑なツールですが、バージョン2の優れた機能と新しい公式ドキュメントのおかげでだいぶ理解しやすくなりました。Webpackに触れてコンセプトを理解したら、とてつもないパワーを手にしたことになります。私はReact独自の仕様をしたJSXを含む

    大規模でスケールするReactアプリケーション開発のための実践的アドバイス
  • 開発者はReactとAngularのどちらを選ぶべきか?

    新しくプロジェクトを始めるときに開発者を悩ませる、フレームワーク選び。ReactAngularをあらゆる点で比較しながら、どう選ぶべきか? の基準を考えます。 AngularReactのどちらを選びますか? JavaScriptのフレームワーク選びで多くの開発者が悩んでいます。始めたばかりの初心者も、次のプロジェクトで使うフレームワークを検討中のフリーランサーも、企業戦略を立てるITアーキテクトも。そこで、フレームワーク選びの知識を授けましょう。 最初にお伝えします。この記事では、どちらが優れているか明確な結論は出しません。しかし、何百とある似たようなタイトルの記事も同じです。自分の環境と使い方によって多くの要素が絡むため、一概に決まらないのです。 この記事は、Angular(バージョン2以上のこと。古いAngularJSのことではない)とReactを体系的に比較し、違いを理解した上で

    開発者はReactとAngularのどちらを選ぶべきか?
  • 10年遅れたJavaScriptの知識をざっくり10分でアップデートしよう

    久しぶりにJavaScriptを勉強しようと思ったら、すっかり浦島太郎状態だった……なんて人も多いのでは?  モダンなJavaScriptの知識をコンパクトにまとめました。 JavaScriptを取り巻く環境がどんどん変化しています。新たなツールやフレームワークが生み出されているだけでなく、言語そのものがES2015(ES6)の登場で大きく変わりました。JavaScript開発の学習がいかに難しいか愚痴をこぼす記事がたくさんありますが、無理もないことです。 記事ではモダンJavaScriptを紹介します。JavaScriptの進展を解説し、フロントエンドWebアプリケーションを作るために使われているツールや手法の全体像を確認します。JavaScriptを学び始めたばかりの人や、以前は使っていて数年間離れたため変化を知りたい人はぜひ読んでください。 Node.jsについて Node.jsは

    10年遅れたJavaScriptの知識をざっくり10分でアップデートしよう
  • Go言語のメモリ管理

    ソフトウェアにとってメモリは不可欠です。 実行する命令も、メモリにロードしなければ実行できません。 ソースコードに書かれた定数値も、いったんメモリにロードしないと使えません。 関数を呼び出すにも、スタックと呼ばれるメモリ領域が必要です。 スタック以外に、ヒープと呼ばれるメモリ領域が必要なこともあります。 今回は、Go言語のプログラマーが作成するプログラムの下で、どのようにメモリが管理され利用されるかを探ります。 Go言語のメモリ管理というとガベージコレクターの話を思い起こすかもしれませんが、ガベージコレクターについては連載では取り上げません。 メモリ確保の旅 コンピューターに接続されている物理的なメモリチップが、どのような過程を経てプログラムで使われるのか、順番に見ていきましょう。 (1): カーネル 最近のオペレーティングシステムでは複数のプロセスを同時に実行できます。 それらのプロセ

    Go言語のメモリ管理
  • 実例で学ぶ、JavaScriptのテスト駆動開発 ファーストステップガイド

    「テスト駆動開発」という言葉は聞いたことがあっても、いきなりプロジェクトに持ち込むのは難しいもの。小さなJavaScriptプロジェクトを例に、テスト駆動開発に取り組む方法を紹介します。 自動テストとそのメリットについてはよく知っていると思います。アプリケーションに対して一連のテストを用意しておけば、万が一なにかを壊してしまってもテストで発見できるので安心してコードを変更できます。さらに一歩進んで、コードを書く前にテストをすることもできます。テスト駆動開発(Test-driven development: TDD)として知られる手法です。 この記事ではTDDについて、またTDDが開発者にもたらす恩恵について紹介します。そのあと、TDDを使ってフォームバリデーター(ユーザーによって入力された値が所定のルールセットに一致しているかどうかを確認する機能)を実装します。 TDDについて テスト駆

    実例で学ぶ、JavaScriptのテスト駆動開発 ファーストステップガイド
  • AngularJSの利用率はReactの倍以上、5万人調査で見えた世界のWeb開発者動向

    75%近くが白人またはヨーロッパ系です。83%が大学卒業相当の資格を有しており、そのうち74%がIT関連に携わっています。 アフリカ、アジア、南アメリカの開発者は比較的少数です。中国は0.5%、ロシアは1.7%のみとなっています。 開発者の意識 アンケートの回答者は、Stack Overflowでアンケートの存在を知り、設問を理解した上で回答する時間がある人です。 満足度の偏り アンケートの回答者は、現状に満足しているか不満を感じている人に偏る傾向があります。 仕事や給料、スキルセットに満足しているときは、自分の経験を伝えたくなる 満足していないときは、会社や報酬、労働条件について不満を述べたくなる 「まあ、人生は良くなるかもしれないけど、それ以上に悪くなるかもしれない」と考えている80%以上の人が回答する可能性は低いと考えられます。 地域による給料の違い 給料は米ドルに換算して集計してま

    AngularJSの利用率はReactの倍以上、5万人調査で見えた世界のWeb開発者動向
  • Go言語と並列処理(3)

    前々回は並行・並列の基Go言語の文法、前回はOSスレッドとの違いと、並列処理をサポートする標準ライブラリの紹介をしてきました。 今回は、並行・並列で処理を記述するためのパターンをいくつか紹介します。 さらに、Goによるプログラミングには直接関係しませんが、これまでの説明では登場しない並列処理のモデルとして、GPUのスレッディンングモデルを紹介します。 今回の記事の執筆にあたっては、GPUまわりの部分でエヌビディアジャパンの森野慎也さんにご協力いただきました。 感謝申し上げます。 Goにおける並行・並列処理のパターン集 Goにかぎらず、並列化を導入するとどれだけ効率が改善するかをあらわす数式として有名な、アムダールの法則というものがあります。 Pは並列化できる仕事の割合、Nは並列数です。 ある仕事のうち50%の部分が並列化可能だとすると、Nを無限大にしても(分母の右側の項がゼロになる)、

    Go言語と並列処理(3)
  • 2017年はNode.jsの達人になる!いま知っておきたいベストプラクティス10

    前回の記事『10 Tips to Become a Better Node Developer in 2017(達人に学ぶ、優れたNode使いにレベルアップするための10のヒント)』では、いますぐ使える10個のNode.jsのヒントやテクニックを紹介しました。この記事もそれに続いて10個のベストプラクティスを紹介し、Nodeのスキルを次のレベルに上げられるようにしたいと思います。 以下が今回紹介する内容です。 npmスクリプトを使う:bashスクリプトを使わず、npmとNodeのスクリプトを使ったほうが管理しやすい(例:npm run build、start、test)。Nodeの開発者が新プロジェクトに取り組むには、npmスクリプトこそが唯一の真実 環境変数(process.env)を使う:process.env.NODE_ENVを、development(開発)あるいはproducti

    2017年はNode.jsの達人になる!いま知っておきたいベストプラクティス10
  • JSのデバッグにはconsole.log()ではなくNodeのデバッガーを使いなさい

    JavaScriptのデバッグに苦労しているなら、Nodeのデバッガーを試してみてはどうでしょうか。Visual Studio Codeならさらに手軽です。 袋小路です! 何時間も費やしていろいろ試してみたけれどもうまくいきません。コードをじっと吟味してもエラーになりそうなところはありません。2、3回ロジックを見直して、何度も実行しています。単体テストも助けにはならず、同じく失敗してしまいます。もはやどうしていいか分からず、虚空を見つめたくなります。ひとり闇の中にいるように感じて、だんだん腹が立ってきます。 こんなときの自然な反応は、コードの品質を落とし、邪魔なものを全部捨て去ることです。コードのあちこちにprintをちりばめて、なにかうまくいくことを祈るわけです。これでは暗闇で的を狙うようなもので、望み薄なことが分かるでしょう。 よくある話だと感じたのではないでしょうか。今までに数行以上

    JSのデバッグにはconsole.log()ではなくNodeのデバッガーを使いなさい
  • あのスタートアップ企業がReactをフロントエンド開発に選んだ理由

    乱立するフレームワーク/ライブラリーをどう選ぶか? あるスタートアップ企業がフロントエンド開発フレームワークを選択するプロセスをケーススタディとして紹介。 シンガポールを拠点とした福利厚生サービスを提供するスタートアップ「CXAグループ」(日版編注:CNETの記事を参照)のコアWebプラットホームを評価するにあたって、時代遅れとなった既存のアーキテクチャをお払い箱にすることにし、イチからフロントエンドを再構築することにしました。課題は、CXAグループが進出しているアジアにある12の対象国のどこでも機能するWebアプリケーションの開発です。 プロジェクトの納期がタイトであることを考慮しつつ、さまざまなフロントエンドJavaScriptフレームワークを評価しました。企業の大型プロジェクトでこれほどの改変をする機会はめったにないため、評価プロセスは可能な限り詳細に詰めました。 フレームワークを

    あのスタートアップ企業がReactをフロントエンド開発に選んだ理由