タグ

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

  • 配列を征する者はJSを制す。JavaScriptのスマートな配列操作テクニック - ICS MEDIA

    JavaScriptでコードを記述する際、配列の各要素について処理をするケースは頻出します。開発の現場で配列操作の処理を見ていると、次のようなケースがよくあります。 配列の非破壊の望まれる場面が増えているが、元の配列を破壊操作している filter()やevery()など配列のメソッドで書けるところを、forEach()メソッドやfor ... of文を使ってコードを記載し、冗長になっている 記述しても効果のないArray.from()を使用している コード的には問題なく、アプリケーションは意図的に動作しているかもしれません。しかし、冗長な記述は可読性が低下し、予期せぬバグを誘発する可能性があるでしょう。 記事では、配列操作でよく見かける冗長な記述を、簡潔な記述で置き換える方法について解説します。 記事で紹介するJavaScriptの配列操作のチートシートを用意したので、まとめて読みた

    配列を征する者はJSを制す。JavaScriptのスマートな配列操作テクニック - ICS MEDIA
  • エラーは出ないけど…何か変??Vue.jsでやりがちな「サイレント・ミス」(ロジック編) - ICS MEDIA

    Vue.jsは初学者にもとても手厚いサポートを提供してくれるフレームワークです。 たとえば、以下のコードで「リセット」ボタンを押すと「propsのcountは子コンポーネントから変更すべきではない」とわかりやすくエラーを表示してくれます。 <template> <div class="CountViewComponent"> カウント={{count}} <button @click="reset">リセット</button> </div> </template> <script> export default { props: { // 表示するカウント値 count: { type: Number, default: 3 } }, methods: { // カウントをリセットします reset() { this.count = 0 } } } </script> それでも時として、

    エラーは出ないけど…何か変??Vue.jsでやりがちな「サイレント・ミス」(ロジック編) - ICS MEDIA
    faibou
    faibou 2022/08/16
  • グーグルが開発した画像圧縮ツールSquoosh。フロント開発向けにNode.jsで扱う方法まとめ - ICS MEDIA

    グーグルが開発した画像圧縮ツールSquoosh。フロント開発向けにNode.jsで扱う方法まとめ 『Squooshスクーシュ』というGoogleが開発した画像圧縮ウェブアプリがあります。ブラウザで変換結果を見ながら圧縮設定ができるので、画像圧縮の難しい知識を持たない方でも使いやすいことが特徴です。圧縮だけでなく、WebPなどの各種フォーマットへの変換・リサイズといったこともできる便利ツールです。 このSquooshをNode.jsで扱える『libSquoosh』が存在します。libSquooshは大量の画像を一括で圧縮、WebPへの変換、リサイズなどの処理をこれ1つで完結できるのがポイントです。昨今のウェブはページの読み込み時間が重視される傾向があります。画像のファイルサイズは読み込み時間に大きく影響するため、画像圧縮は重要なテクニックです。libSquooshをwebpack・Viteと

    グーグルが開発した画像圧縮ツールSquoosh。フロント開発向けにNode.jsで扱う方法まとめ - ICS MEDIA
  • CSSイージングのお手本 - ease-out, ease-in, linearの使い分け - ICS MEDIA

    イージングとは「動きの加減速」を示す用語で、アニメーションにおいては動きの「性格」を表すものです。適切なイージングを設定することで、演出としての印象がかわります。UI体験をデザインするうえでイージングは欠かせない要素です。 しかし、イージングは多くの種類があり、それぞれを把握し的確に使い分けるのは少し難易度が高いかもしれません。記事はイージングの選定に役立つ、お手的な使い分け方を紹介します。 この記事の要約 「イーズイン」は徐々に加速、「イーズアウト」は徐々に減速。 「イーズアウト」は多くの場面で「変化の余韻が残りやすい印象」でオススメ。 CSSのease-outとease-inとease-in-outは緩急が弱いので、easeを使うか、こだわる場合はcubic-bezier()を使うのがよい。 イージングの性格 イージングは「最初はゆっくりで、徐々に早く変化させる」といった動きの「性

    CSSイージングのお手本 - ease-out, ease-in, linearの使い分け - ICS MEDIA
  • お手軽360°パノラマ制作入門! JSでパノラマビューワーを自作しよう - ICS MEDIA

    360°の全方向を自由に見渡せるパノラマコンテンツは、GoogleストリートビューのようなWebサービスによって身近なものになってきています。前回の記事「お手軽360°パノラマ制作入門! THETAで撮影しWeb公開に挑戦しよう」では、360°の静止画・動画が撮影できるカメラ「RICOH THETA S」で撮影したパノラマをYouTubeなどのWebサービスで手軽に公開する方法を紹介しました。 今回は、カスタマイズ性の高いWeb用の360°パノラマビューワーの実装方法を、初心者用と上級者用として2通り紹介します。初心者用のものはHTMLで3Dを作成できるライブラリ「A-Frame」を使い、上級者用としてはJavaScript製の3Dライブラリ「Three.js」を用います。 パノラマ静止画を表示する360°パノラマビューワー 次のデモは、記事で解説するサンプルの完成形です。360°パノラ

    お手軽360°パノラマ制作入門! JSでパノラマビューワーを自作しよう - ICS MEDIA
    faibou
    faibou 2021/02/18
    aframe
  • WebGL開発に役立つベクトルの足し算・引き算 (Three.js編) - ICS MEDIA

    みなさんベクトルをプログラムで活用していますか? 学校で学んで以来、縁が無くなった方も多いかと思いますが、実は3Dコンテンツの制作においてベクトルは役に立つ概念なんです。記事ではThree.jsとベクトルの基礎である足し算・引き算を使った座標の計算方法を紹介します。 ベクトルと聞くだけで拒絶するエンジニアもいると思いますが、心配いりません。Three.jsが煩わしい計算をすべておこなってくれるので、ベクトルの性質だけ覚えれば誰でも扱えるようになります。基からおさらいし、実際にThree.jsでどのようにベクトルを扱っていくか学んでいきましょう。 ベクトルを使った3Dのデモの紹介 題に入る前にベクトルを使ったデモを作成したので紹介します。今回は以下のような物体を追従するカメラをベクトルを使って実装しています。サンプルコードもGitHubにアップしているので参考ください。 デモを別ウイン

    WebGL開発に役立つベクトルの足し算・引き算 (Three.js編) - ICS MEDIA
    faibou
    faibou 2020/08/25
  • Three.js入門サイト - ICS MEDIA

    このサイトは、WebGLのライブラリ「Three.js」の入門サイトです。 初学者から学べるように基から解説しつつ、発展的な内容までまとめています。このサイトを通して、ウェブの3Dのインタラクションデザインについて学んでいきましょう。 Three.js概要 Three.jsは、HTML5で3Dコンテンツを制作するためのJavaScriptライブラリです。Mr.doob氏が中心となって開発されており、オープンソースソフトウェアとして個人・商用でも無償で利用できます。 WebGLだけで3D表現をするためには、立方体1つ表示するだけでも多くのJavaScriptやGLSLコードを書く必要があり専門知識も必要です。Three.jsを使えばJavaScriptの知識だけで簡単に3Dコンテンツが作成できるため、手軽に扱えるようになります。 もともと2000年代後半のFlashの時代から、ウェブの3D

    Three.js入門サイト - ICS MEDIA
  • 最新版で学ぶThree.js入門 - 手軽にWebGLを扱える3Dライブラリ - ICS MEDIA

    Three.jsとは、手軽に3Dコンテンツを制作できる商用利用可能なJavaScriptライブラリ。WebGLだけで3D表現をするためには、立方体1つ表示するだけでも多くのJavaScriptやGLSLコードを書く必要があり専門知識も必要です。Three.jsを使えばJavaScriptの知識だけで簡単に3Dコンテンツが作成できるため、手軽に扱えるようになります。 もともと2000年代後半のFlashの時代から、ウェブの3D表現が人気を集めてきました。今では標準技術としてのWebGLが、ゲームやビジュアライゼーションなどの多くの場面で採用されています。WebGLとThree.jsは実際に多くのサイトで使用されており、ユーザーに印象に残るウェブコンテンツには欠かせない技術となっています。また、JSライブラリの容量も126KB(GZIP)しかなく、とても軽量です。 記事でThree.jsによ

    最新版で学ぶThree.js入門 - 手軽にWebGLを扱える3Dライブラリ - ICS MEDIA
    faibou
    faibou 2019/11/12
  • WordPressをやめ、静的サイトジェネレーターで高速化した話 - ICS MEDIA

    ICS MEDIAは2019年4月にリニューアルしました。シンプルでモダンなデザインへと見栄えは変わり、フロントエンドの最新技術によって爆速なサイトへと生まれ変わっています。 技術的におもしろいポイントは、WordPressワード・プレスを廃止したことです。 この記事では、オウンドメディアとしてWordPressをやめた理由、代用技術の選定で苦労したことを紹介します。 リニューアル前後の違い リニューアルによってどのくらい改善したか、定量的な結果を紹介します。ウェブサイトの性能を示す指標としてLighthouse(Google ChromeのデベロッパーツールのAuditsタブ)というツールがあります。 Lighthouseの採点で、リニューアル前は80点ほどだったのが、ほぼ満点のスコアをたたき出せるようになりました。SEOやアクセシビリティの点数も満点です。 動画でもご覧ください。リニュ

    WordPressをやめ、静的サイトジェネレーターで高速化した話 - ICS MEDIA
    faibou
    faibou 2019/04/16
  • 今の時代、ウェブページは一瞬で表示するべき! 画像の遅延読込に役立つamp-imgの使い方 - ICS MEDIA

    ウェブページの表示速度は、離脱率やコンバージョン率にもっとも影響する重要なポイントです。Googleが公表した調査結果では、「表示に3秒以上かかると、約53%のユーザーは離脱する」「表示速度が1秒から6秒に落ちると、直帰率は106%上昇する」というデータが出ているようです。 表示速度を改善する施策は色々とありますが、記事では「AMPアンプ(Accelerated Mobile Pages)」を作成する際に利用するJavaScriptライブラリーを使って、簡単に表示速度を改善する手法を紹介します。 AMPとはウェブページの読み込みを高速化させる技術 「AMPアンプ(Accelerated Mobile Pages)」とは、名前の通りモバイルでのウェブページの読み込みを高速化させる技術です。 サイト(ICS MEDIA)では以前「AMPの利点と対応HTMLの作り方」で導入方法を紹介していま

    今の時代、ウェブページは一瞬で表示するべき! 画像の遅延読込に役立つamp-imgの使い方 - ICS MEDIA
    faibou
    faibou 2018/06/07
  • Webサイトに華やかな表現を! HTML5用パーティクルライブラリ「ParticleJS」を公開 - ICS MEDIA

    JavaScriptライブラリー「ParticleJS」を公開しました。「ParticleJS」は大量の粒子(パーティクル)の表現を行うためのライブラリーで、ゲームの演出やスペシャルコンテンツなどの表現制作に役立ちます。HTML Canvasとして動作するので、デスクトップ・モバイルを問わずどのブラウザーでも動作します。 また、「Particle Develop」という専用のデザインツールも用意しています。このツールを使うと直感的な操作でデザインでき、出力したパラメーターを「ParticleJS」にコピペで読み込めます。デザイナーが作成したパーティクル演出をエンジニアが利用するといった連携を想定してます。 MITライセンスで公開していますので、商用利用問わずどなたでも自由に利用が可能です。ソースコードやドキュメントはすべてGitHubにて公開していますので参照ください。 ParticleJ

    Webサイトに華やかな表現を! HTML5用パーティクルライブラリ「ParticleJS」を公開 - ICS MEDIA
    faibou
    faibou 2016/03/03
  • WebGLに対応し高速化したCreateJSの描画性能を探る - ICS MEDIA

    インタラクティブコンテンツ制作に役立つHTML5向けのフレームワークCreateJS (使い方は入門サイトを参照ください)。2014年1月に公式ブログでWebGLサポートが発表されました(参照記事「WebGL Support in EaselJS」)。公式ブログによるとパフォーマンスが従来比の6〜50倍にも達するとのことです。 果たしてどのぐらいの性能があるのか気になりましたので、以前の検証記事「HTML5開発者必見、最速のJavaScriptライブラリはどれだ!? パフォーマンスの徹底検証」を元に、WebGL対応版のCreateJS(描画を扱うJSライブラリ「EaselJS」)のパフォーマンスを比較検証してみました。検証に用いたデモは次のリンクをクリックすることで再生できます。 CreateJS (EaselJS 0.7.1) : 従来版。CanvasのContext2Dが利用されている

    WebGLに対応し高速化したCreateJSの描画性能を探る - ICS MEDIA
  • WebエンジニアのためのSwift言語入門 - ICS MEDIA

    MaciPhoneiPad、そしてApple Watch。これらのApple製品上で動くアプリはObjective-CとSwiftという言語で開発できます。Swiftは2014年に発表され、他のプログラミング言語の長所を多く取り入れたプログラミング言語です。何かしらのプログラミングの経験がある開発者にはもちろん、これからプログラミングを始める人にも比較的学習しやすいものとなっています。今回はiOSアプリにおけるパーティクル表現を通して、ActionScript 3.0やJavaScriptのようなウェブ開発技術と比較しながらSwiftを始めてみましょう。 デモについて Swiftで作られたパーティクルアニメーションをiPhone 6 Plus上で動かすデモです。画面上でフリックした場所にパーティクルが発生し、時間の経過とともに色が変わっていきます。 ソースコードはGitHubで公開して

    WebエンジニアのためのSwift言語入門 - ICS MEDIA
  • SourceTreeの使い方 | コミットの再編集・変更方法 - ICS MEDIA

    Gitでの開発で、こんな体験はありませんか? 3つ前のコミットのメッセージにミスがあった。修正したい・・・ このコミットの順番入れ替えたいなぁ このコミット、ホントは要らなかったから削除したいなぁ …… 実はそれGitでできるんです!今回はGitクライアントソフトのSource Treeソース・ツリーでコミットログを修正する便利な機能「rebase interactiveリベース・インタラクティブ」を解説します。 コミットの再編集ができる機能とは? Gitではコミットを再編集する機能を「git rebase interactive」といいます。たとえば、コミットの入れ替えや編集、統合、削除ができます。正確に説明すると、コミットそのものを編集するのではなく、新しくコミットのコピーを作成して1つずつコミットを組み立てる機能になります。 Source Treeでコミットログを編集しよう Sour

    SourceTreeの使い方 | コミットの再編集・変更方法 - ICS MEDIA
    faibou
    faibou 2015/02/13
  • SourceTreeの使い方 | コミットの取り消し方法まとめ(amend, reset, revert, cherry-pick) - ICS MEDIA

    SourceTreeの使い方 | コミットの取り消し方法まとめ(amend, reset, revert, cherry-pick) 高機能Gitクライアントの「SourceTreeソースツリー」(無料)や「Tower」(有償)は導入しやすく機能が豊富なため人気があります。Gitにはコミットやプッシュだけではなくさまざまな機能が存在するので、使いこなすことで効率よく開発を進めていけるでしょう。記事ではGitを使う上で必須となるcommitコミットの取り消し方法をテーマに、次の4つの機能を解説します。 コミットの修正・やり直し(amend) コミットの取り消し(reset) コミットの打ち消し(revert) 別ブランチからのコミットの取り込み(cherry-pick) 記事では次の機能をSourceTreeとTowerの両方のソフトウェアの操作方法として解説します。 コミットの修正・や

    SourceTreeの使い方 | コミットの取り消し方法まとめ(amend, reset, revert, cherry-pick) - ICS MEDIA
  • 1