タグ

ブックマーク / ics.media (26)

  • 定番のコード規約とライブラリから学ぶJavaScriptの命名テクニック(初級編) - ICS MEDIA

    プログラミングをしているとき、変数名や関数名の命名に迷ったことはないでしょうか? 時間をかけて考えた変数名や関数名を後で見返したときに何の処理なのかわからないと思ったり、他の人が書いたコードを理解するのに時間がかかった経験は誰でもあると思います。 一般に、プログラマーはコードを書いている時間より読んでいる時間の方が長いと言われています。 わかりにくい命名はコードを読んでいる時間を長くしたり、バグを生む原因になってしまいます。 この記事ではGoogleAirbnbといった企業が採用しているスタイルガイドや、世界中で使われているJavaScriptライブラリであるReactVue.jsのコードを調査する中で見つけた、わかりやすい命名をするためのテクニックを初級編と上級編の2回に分けて紹介します。 初級編では、実際に仕事をする中でよく目にしたり自分でも使うことの多いものなど、すぐに使えるテク

    定番のコード規約とライブラリから学ぶJavaScriptの命名テクニック(初級編) - ICS MEDIA
    kihan
    kihan 2022/09/15
  • 君は使い分けられるか?CSS/SVG/Canvasのビジュアル表現でできること・できないこと - ICS MEDIA

    ブラウザーで新たにインタラクションやアニメーションを作る時、皆さんはどのようにして使う技術を選んでいますか? 使い慣れたライブラリに機能がないかドキュメントを調べてみたり、流行りのキーワードであればGoogle等で検索してみることも多いでしょう。一方、独自のビジュアル表現やアニメーションの場合、そもそも検索するキーワードがわからないことも多いのではないでしょうか? この記事では、webのビジュアル表現・アニメーションを実現するベースの技術であるCSSSVG・Canvas(WebGL)の3つについて、それぞれのできること・できないこと(得意・不得意)を作例とともに紹介します。 クイズ:どうやって実現する? webでできるさまざまな表現 下の図はこの記事で紹介する9つのサンプルを並べてみたものです。すべてのサンプルはCSSSVG・Canvas(WebGL)のいずれかを中心に実装されています

    君は使い分けられるか?CSS/SVG/Canvasのビジュアル表現でできること・できないこと - ICS MEDIA
  • JSでのスクロール連動エフェクトにはIntersection Observerが便利 - ICS MEDIA

    ウェブのリッチな表現としてスクロールに応じたエフェクトがあります。これまでJavaScriptのscrollイベントで実装していましたが、Intersection Observer APIを使うとより効率的に実装できます。ブラウザーのサポートも拡充し、今後は標準となる技術でしょう。 ▼スクロールで目次の色が変わるエフェクト 記事ではIntersection Observer APIの使い方と実践例を解説します。 特定の位置で発火する従来の手法 これまで、特定の位置で発火するイベントにはscrollイベントを使う必要がありました。以下のコードは、あらかじめページ上部からの距離を取得し、スクロール量が規定に達したところで発火させる手法です。 window.addEventListener("scroll", () => { const srollVal = window.pageYOffse

    JSでのスクロール連動エフェクトにはIntersection Observerが便利 - ICS MEDIA
  • WebGL開発に役立つベクトルの内積 (Three.js編) - ICS MEDIA

    この記事は前回の「WebGL開発に役立つベクトルの足し算・引き算 (Three.js編)」の続編です。前回まではベクトルの足し算、引き算を勉強しましたが、ベクトルはまだまだ便利な性質を持っています。今回はみなさんが高校で学んでいるはずの内積について紹介します。 内積と聞いて身構えてしまう方もいると思いますが、前回と同様にThree.jsが難しい計算は担ってくれるのでご安心を。一緒に内積についておさらいし、その内積をThree.jsでどう応用していくかを学んでいきましょう。 内積を使った3Dのデモの紹介 題に入る前に内積を使ったデモを作成したので紹介します。今回は以下のようなライトで照らすような処理を内積を使って実装しています。サンプルコードもGitHubにアップしているので参考ください。 デモを別ウインドウで再生する ソースコードを確認する ※このデモはThree.js(r141)で作成

    WebGL開発に役立つベクトルの内積 (Three.js編) - ICS MEDIA
    kihan
    kihan 2017/04/12
  • 2016年に見直したHTML5・CSS3コーディング手法6選 - ICS MEDIA

    HTMLCSSコーディングを取り巻く状況は、数年前と大きく変わっています。最近では、2016年11月にHTML 5.1が勧告されたり、2015年8月頃にChromeのブラウザーシェアがInternet Explorerを抜いたりといったニュースがありました。また、2017年4月にはWindows Vistaのサポートも終了するため、今後対応すべきはWindows 7のIE 11以降となります(※)。当たり前だと思っていたコーディング技術を今一度見直す時期にきているのではないでしょうか。記事では2016年に見直した、今の時代に即したコーディング技術を紹介します。 ※ 参考記事「Internet Explorerサポートポリシー変更の重要なお知らせ - Microsoft」 1. meta keywords設定は検索順位に関係がない ウェブコンテンツのキーワードを指定するmeta keyw

    2016年に見直したHTML5・CSS3コーディング手法6選 - ICS MEDIA
    kihan
    kihan 2016/12/19
  • 文字詰めできるCSSのfont-feature-settingsが凄い! 日本語フォントこそ指定したい自動カーニング - ICS MEDIA

    游ゴシックではプロポーショナルメトリクスは効果的 WindowsmacOSに搭載されている游ゴシック体は、仮名が漢字に対してかなり小さめにデザインされています。游ゴシック体ではヒラギノ書体より字間が開いて見えてしまうため、プロポーショナルメトリクスを活用する効果は大きいです。 Webフォントにもプロポーショナルメトリクスは効果的 デバイスフォントだけでなく、Webフォントでもプロポーショナルメトリクスに対応したOpenTypeフォントがたくさんあります。Webフォントに関しては記事「Webフォントサービスの徹底比較! 和文フォントが使える5つのサービスの利点まとめ」を参考ください。 ▲左側は未指定(和文等幅)の状態でカタカナの開きが大きい。右側はプロポーショナル字形を適用した状態で、カタカナが詰まっている。 対応環境:ほぼすべてのブラウザで利用可能 これだけ便利なCSSですが、どれだけの

    文字詰めできるCSSのfont-feature-settingsが凄い! 日本語フォントこそ指定したい自動カーニング - ICS MEDIA
    kihan
    kihan 2016/12/01
  • GoogleがAngular 2を正式リリース! 未来のウェブ標準を意識した新しいフレームワーク - ICS MEDIA

    GoogleAngular 2を正式リリース! 未来のウェブ標準を意識した新しいフレームワーク グーグルが開発するJavaScriptフレームワークAngularの最新バージョン「Angular 2アンギュラー・ツー」が日、正式リリースされました。 Angular 2はSPAエスピーエー(シングル・ページ・アプリケーション)の開発に利用するフレームワーク。AngularJSの後継にあたります(バージョン1.x系ではJSフレームワークとしてAngularJSアンギュラー・ジェイエスという名称でしたが、バージョン2からはJSに限定しないフレームワークとなったためAngularという名称になっています)。 AngularJSはMVWフレームワークとして2010年にグーグルよりリリースされ、多くのウェブサイトで採用されてきました。新バージョンではアーキテクチャーの一新により、ウェブ標準が意識さ

    GoogleがAngular 2を正式リリース! 未来のウェブ標準を意識した新しいフレームワーク - ICS MEDIA
    kihan
    kihan 2016/09/15
  • 最新版で学ぶwebpack 4入門 – JavaScript開発で人気のバンドルツール - ICS MEDIA

    webpack(ウェブパック)とはJSファイルをまとめる高機能なモジュールバンドラー。まとめることでウェブページのHTTPリクエストの数を減らしたり、高度なウェブアプリケーションの開発に役立ちます。 連載ではTypeScriptやBabelなどのES2015+の環境構築、ReactなどのJSライブラリの設定方法を網羅。サンプルファイルで詳しく解説します。 webpackの入門記事は他のサイトにもありますが、対象バージョンが古くて使えなかったりします。検索結果の上位の野良記事を参照にしたら古いバージョンの内容ばかり。解説記事通りにやったのにうまく動かない・・・なんて困った方も多いのではないでしょうか。記事は常に最新版に対応させているので、安心して読み進めてください。 ※記事では2023年3月現在のwebpack 5(2020年10月リリース)以上で解説しています。 記事で解説しているこ

    最新版で学ぶwebpack 4入門 – JavaScript開発で人気のバンドルツール - ICS MEDIA
    kihan
    kihan 2016/06/06
  • 最新版で学ぶwebpack 5入門 - JavaScriptのモジュールバンドラ - ICS MEDIA

    webpack(ウェブパック)とはJSファイルをまとめる高機能なモジュールバンドラー。まとめることでウェブページのHTTPリクエストの数を減らしたり、高度なウェブアプリケーションの開発に役立ちます。 連載ではTypeScriptやBabelなどのES2015+の環境構築、ReactなどのJSライブラリの設定方法を網羅。サンプルファイルで詳しく解説します。 webpackの入門記事は他のサイトにもありますが、対象バージョンが古くて使えなかったりします。検索結果の上位の野良記事を参照にしたら古いバージョンの内容ばかり。解説記事通りにやったのにうまく動かない・・・なんて困った方も多いのではないでしょうか。記事は常に最新版に対応させているので、安心して読み進めてください。 ※記事では2023年3月現在のwebpack 5(2020年10月リリース)以上で解説しています。 記事で解説しているこ

    最新版で学ぶwebpack 5入門 - JavaScriptのモジュールバンドラ - ICS MEDIA
    kihan
    kihan 2016/06/06
  • Google製ライブラリLiquidFunを使ったHTML5物理演算入門 - ICS MEDIA

    物理演算とは物体の運動を物理法則に基づき数値計算することです。Web業界ではゲームやビジュアル表現の分野で利用されています。アクションゲームを例にすると、キャラクターが地面に立つ、ジャンプする、重力落下する、壁とぶつかる、坂道を滑り落ちる、といったことが物理演算の実装範囲になります。 記事ではGoogleが提供するJavaScriptライブラリ「LiquidFun」を題材にHTML5で利用可能な物理演算シミュレーションの表現を紹介します。 ▲「LiquidFun」の公式サイトではドキュメントやデモが掲載されている 物理演算ライブラリ「LiquidFun.js」とは LiquidFunは2次元の物理演算ライブラリの定番「Box2D」をベースとした拡張ライブラリです。Box2Dが提供する基的な物理演算機能をはじめ、LiquidFunによるプラスアルファの機能が提供されています。 重力 (B

    Google製ライブラリLiquidFunを使ったHTML5物理演算入門 - ICS MEDIA
    kihan
    kihan 2016/06/06
  • 最適なCSSの横並びはどっち!? Flexboxとfloatのパフォーマンス比較 - ICS MEDIA

    ボックス要素の横並びをCSSで行う場合、皆さんはどうしていますか? 従来知られているfloatプロパティを使った方法の他に、CSS3から「Flexbox」を使用する方法も選択肢として加わりました。では、Flexboxとfloatはどちらの方が処理速度が早いのでしょうか? 記事ではこの2つをパフォーマンス面から比較し、最適なボックスレイアウト手法について検証します。 Flexboxとは? Flexbox(CSS Flexible Box Layout Module)は、floatに代わる新しいボックスレイアウト方法。横並びはもちろん、ボックスを均等位置に配置したり、整列や中央揃えなど、柔軟なレイアウトが可能です。今やすべてのモダンブラウザーで使用することができ(※1)、Bootstrap 4の新たなレイアウト方法として採用される(※2)等、次世代の標準となっていくであろう技術です。 ※1

    最適なCSSの横並びはどっち!? Flexboxとfloatのパフォーマンス比較 - ICS MEDIA
    kihan
    kihan 2016/04/04
  • 今どきの入力フォームはこう書く! HTMLコーダーがおさえるべきinputタグの書き方まとめ - ICS MEDIA

    みなさん、入力フォームを制作する際、どのような施策をおこなっていますか? 入力項目を見直したり、入力ステップを明確にしたりなど、入力フォーム最適化をおこなっていると思います。そのことで、コンバージョン率があがったり、ユーザーがストレスを感じないようになるでしょう。入力フォーム最適化はEFO対策 = Entry Form Optimizationとも呼ばれます。 サイトの設計段階で検討すべきことが多いですが、コーディングでも考慮すべき事が多々あります。今回はHTMLコーダーがエントリーフォームを制作する際に考慮すべき点について紹介します。 ※記事では最近のブラウザに適したHTMLコーディング方法の紹介を目的としています。そのため、デザインとアクシビリティーでのベストプラクティスを紹介したものではありませんのでご了承ください。 自動入力機能に対応しよう Google Chromeデスクトッ

    今どきの入力フォームはこう書く! HTMLコーダーがおさえるべきinputタグの書き方まとめ - ICS MEDIA
    kihan
    kihan 2016/03/10
    参考になった
  • サルでもわかるJenkins入門〜自動テスト環境を構築しよう - ICS MEDIA

    Webアプリケーションを開発において、最新ファイルをこまめにテスト環境に反映しなければいけない場面があると思います。しかし、これらの作業を手動で行っていると、ビルド(SassのビルドやFlashコンパイルなど)に時間がかかったり、ファイルアップ時に反映漏れや誤ったファイルをアップしてしまうなどの人的ミスが発生し、ムダな時間を費やしてしまった経験のある方もいらっしゃるかと思います。 Jenkinsの入門チュートリアル そういった開発チームには、作業の効率化および人的ミスの軽減に役立つCI(継続的インテグレーション)ツールの導入がオススメです。この連載記事ではJenkinsとAWSGitHubを使って、コンテンツのビルドからテスト環境へのデプロイまでを行ってくれるCI環境を構築の手順を解説します。 Jenkins環境を構築しよう (Windows編) Jenkins環境を構築しよう (Lin

    サルでもわかるJenkins入門〜自動テスト環境を構築しよう - ICS MEDIA
    kihan
    kihan 2016/01/08
  • 今どきのJavaScriptで使われているインデント規約まとめ - ICS MEDIA

    みなさんは普段JavaScriptを使って開発する場合、インデントはどのようにしていますか? タブ、スペース2個、スペース4個・・・などいくつかの選択肢があります。 個人で開発している方は問題ありませんが、チームで開発している場合は意見が分かれ議論になることもあるでしょう。プロジェクト開始早々インデント論争でチーム内の雰囲気を悪くしたくはありません。 記事はそんなインデント論争の1つの解決策となるべく、ブラウザベンダーやプロダクトで定めているJavaScriptコーディングのインデントルールを調べてみました。 この記事のポイント* 海外のJS界隈ではスペース2個のインデントが多数派 ESLINTなどの設定ファイルからコーディングルールを調べられる なぜインデント論争が起こるのか? そもそもなぜインデント論争が起こってしまうのでしょうか? それはそれぞれ一長一短のため好みが分かれてしまうか

    今どきのJavaScriptで使われているインデント規約まとめ - ICS MEDIA
    kihan
    kihan 2015/12/04
    JS界隈では、スペース2個派が主流。自分も2個派。
  • Electron入門サイト〜開発経験者が解説する導入手順と魅力 - ICS MEDIA

    Electron (エレクトロン)はウェブの技術デスクトップアプリケーションを開発できる人気のフレームワーク。HTML5とCSS3とJavaScriptで開発できるため、ウェブ開発者であれば手軽に導入できます。それもクロスプラットフォームなので、ワンソースでWindowsmacOS向けのソフトウェアが作れることが利点です。 GitHub社の「Atom」やMicrosoft社の「Visual Studio Code」もこのElectronを使って開発されているなど、大手企業が採用していることでも人気の高さがうかがえます。この入門サイトでは、開発環境のセットアップからサンプル・アプリケーションの作り方を解説します。 Electron入門編 最新版で学ぶElectron入門 - ウェブ技術PCアプリを開発しよう Electronの導入手順を解説。ゼロからアプリケーションのビルドまでの手順を

    Electron入門サイト〜開発経験者が解説する導入手順と魅力 - ICS MEDIA
    kihan
    kihan 2015/11/30
  • CSSとHTML Canvasで作るモーショングラフィック - ICS MEDIA

    ICS MEDIAのトップページに掲載しているモーショングラフィック。これはCSSHTML Canvas要素を使って作成したものです。時間経過とともに波の形状と色彩が変化し、多彩な表現を楽しめるようになっています。 記事ではCSSHTML Canvasの理解につながることを目標に、このモーショングラフィックの作成方法をステップ形式で解説します。サンプルのソースコードはすべてGitHubにて公開していますので、あわせて参照ください。 ▲ 完成版サンプル ステップ1. CSSでグラデーション背景の作成 サンプルを別ウインドウで開く ソースコードを確認する はじめに、時間経過で色彩が変化するグラフィックを作成しましょう。CSSで縦に長いグラデーションの背景を用意し、CSSアニメーションを使って縦方向に移動させることでグラデーションが変化する表現ができます(ステップ1のソースコード)。 #b

    CSSとHTML Canvasで作るモーショングラフィック - ICS MEDIA
    kihan
    kihan 2015/11/27
  • HTML5の音声ファイル最適化技術オーディオスプライトとは?―CreateJS勉強会/鹿野発表資料 – ICS LAB

    2015年に開催したCreateJS勉強会(第6回)でのライトニングトーク「オーディオスプライトを使った音声ファイルの最適化」の発表内容を記事としてまとめました。音声を扱ったHTML5コンテンツにおけるCreateJSの最新機能「オーディオスプライト」の必要性と使い方を記事で紹介します。 ウェブページではファイルの読み込み数を減らすことが必要 ウェブページを見る時や作る時、そのページでどのくらいのファイルがダウンロードされているかを気にしていますか? CSSJavaScript・画像・音声ファイル等、ウェブページでは必要なファイルが多くなりがちです。ファイル数が多いとファイルをダウンロードする時間が増え、その分だけページの表示速度が遅くなります。ページの表示速度が遅くなると、その分だけユーザーの離脱率が上がります。 Amazonはページの反応が0.1秒遅くなると、売り上げが1%ダウンす

    HTML5の音声ファイル最適化技術オーディオスプライトとは?―CreateJS勉強会/鹿野発表資料 – ICS LAB
    kihan
    kihan 2015/09/17
  • CSS3のブレンドモードが素敵! 新プロパティmix-blend-modeを使いこなそう – ICS MEDIA

    mix-blend-modeというCSSのプロパティ。これはDOM要素を重ねた時の見え方を指定するCSSプロパティです。デザイナー視点だとブレンドモードはごく当たり前に使う機能のひとつ。mix-blend-modeはウェブの表現手法が広がり、デザインの自由度が広がる注目すべきCSSプロパティです。記事はmix-blend-modeの魅力と使い方をデモを交えて紹介します。 そもそもブレンドモードとは? ブレンドモードはクリエイティブな表現を作る上での基機能のひとつです。Adobe PhotoshopやIllustrator、After Effects、XDや、Figmaで搭載されていて、レイヤーを重ねたときにどのように重ねて表示するかの設定になります。ソフトによっては「ブレンドモード」や「描画モード」「モード」と異なる名称が使われていますが、機能としては同じものになります。記事ではCS

    CSS3のブレンドモードが素敵! 新プロパティmix-blend-modeを使いこなそう – ICS MEDIA
    kihan
    kihan 2015/07/09
  • WatchKitで作るApple Watchアプリのアニメーション制作入門 - ICS MEDIA

    Apple Watchのアプリは、Swift(またはObjective-C)の開発フレームワーク「WatchKit」を用いて作成できます。今回は、Apple Watchで動作するパーティクルアニメーションのデモを紹介しながら、WatchKitにおけるアニメーション作成方法を説明します。 デモについて Apple Watch上で動作するパーティクルアニメーションのデモです。最初は3色のパーティクルが順番に表示されますが、画面下部のスライダーで特定の色に固定できます。 ソースコードはGitHubにて公開してあります。(ソースコード) Apple Watchにおけるアニメーション表示について WatchKitにおいては、プログラム上から表示オブジェクトを追加する、オブジェクトの位置座標を指定する、オブジェクトを別のオブジェクトの上に重ねるといったことができません(※)。ではどうやってアニメーショ

    WatchKitで作るApple Watchアプリのアニメーション制作入門 - ICS MEDIA
    kihan
    kihan 2015/06/02
  • JSDocコメントの有効活用。JavaScriptやTypeScriptのドキュメントを生成する方法 - ICS MEDIA

    JSDocコメントの有効活用。JavaScriptTypeScriptのドキュメントを生成する方法 記事「JavaScriptJSDocコメントを書くメリットとは」でJSDocコメントの有用性について紹介しました。その中で「APIドキュメントの書き出し」をメリットの1つとして取り上げています。 APIドキュメントの利用用途として以下が挙げられます。 JSライブラリの使い方を参照しやすくするため、APIドキュメントとして公開したい 他の開発チームへモジュールの使い方を説明するために、APIドキュメントを用意したい プロジェクトJavaScriptコードを使って、形式的な納品物の成果物を作りたい 記事ではAPIドキュメントの作成方法を解説します。 サンプルの紹介 サンプルをGitHubに用意していますので完成系をご覧ください。サイドバーを使うことで関数や定数などのドキュメントをたどるこ

    JSDocコメントの有効活用。JavaScriptやTypeScriptのドキュメントを生成する方法 - ICS MEDIA
    kihan
    kihan 2015/05/30