サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「#文学」
blog.webcreativepark.net
Microsoftが「Internet Explorer は Microsoft Edge へ – Windows 10 の Internet Explorer 11 デスクトップアプリは 2022 年 6 月 15 日にサポート終了 - Windows Blog for Japan」というリリースを行いました。 よくよく読み進めていくと、これまでの「セキュリティアップデートを行なわない」といったサポート中止とは異なるすごく強制力のある発表で事実上来年以降にIE11を使った開発がほぼできなくなってしまうのではないかと感じました。 サポート終了後 にどうなるかというと FAQによるとMicrosoft Edge にリダイレクトされてしまうとのことでIE11は起動すらできなくなってしまうようです。 Windows 10における Internet Explorer デスクトップ アプリケーション
昨年12月に引っ越してから自宅のネットワークがすごく貧弱だなと不満を持っていたところに、緊急事態宣言を受けて強制的にテレワークの実施を余儀なくされてしまいました。 研修等のお仕事もフルオンラインに切り替わり、私の自宅回線が貧弱だと色々と迷惑をかけてしまうので自宅ネットワーク高速化を色々とトライしました。 結論はIPv6化したというお話ですがそこに至るまでの足取りを記録しておきます。 当初のネットワーク環境 光回線を引いているのですがマンションがVDSL方式のためベストエフォートで100Mbpsとそれほどの速度が出ません。ここを変えるには大掛かりな工事が必要でもっと小手先の対応でどうにかしたいというのが本エントリーの趣旨です。 プロバイダーは申込みの後の確認電話で勧められたぷららを契約してました。本記事の最後ではぷららを契約したことがプラスに繋がります。 プロバイダーから貸与されたモデムにル
デザイナーがコーディングできるべきかという議論がSNS上で白熱していますが個人的にはあまり興味がなく、コーディング経験の有無に関係なくWebに適したデザインデータを作ってもらえたらあとはフロントエンドの領分であると思っています。 とはいえ、Webに適したデザインデータをつくれないデザイナーが多いのでああいった議論が白熱するのではないかとも思っています。 Webに適していないデザインデータとはどういったものかというと、古くから言われているものではPhotoshopの『乗算』を使うとCSSで表現できないためダメというものがあったりします。 CSSでもmix-blend-modeという機能で対応できるけどブラウザの対応状況を鑑みるに、よほどの理由がないかぎりPhotoshopの『乗算』を使っていはいけないのが今の現実です。 参考:mix-blend-mode - CSS: カスケーディングスタイ
AngularのBehaviorSubjectでコンポーネント間の情報を共有する コンポーネント間で情報共有ですが、ReactならReduxやMobXなどがあり、VueならVuexがあり、Storeを作成することでどのコンポーネントからも共通の情報にアクセスすることが可能です。 Angular にはデフォルトではそういったFlux機能は提供されておらず、コンポーネント間で情報を共有するには RxJS のBehaviorSubjectを利用する方法がよく利用されます。 Subjectとは? そもそもRxJSのSubjectとはなにかから解説します。RxJSのSubjectは Observerとしても Observable としても動くクラスです。 ObserverとObservable 通常、RxJSではObservableクラスを通して、ストリームを購読できるObservableとストリー
新潟グラム2018 Vol.1で「動きのデザインとフロントエンドの連携」というお話をしてきました。 2017年3月9日に新潟で行われたイベント、新潟グラム2018 Vol.1「デザイン & CSS & マイクロインタラクション!」で行なったセッション「動きのデザインとフロントエンドの連携」の講演資料です。 けっこう口頭で補足をしていることが多く、単純にスライド内の動きを採用すればよいということではないのですが、検討の候補にあげていただくにはよいかと思います。 最後になりますが、運営スタッフの皆様、ご来場いただいた皆様すばらしいイベントをありがとうございました。 スポンサードリンク to-Rについて JavaScriptやCSS、React/Angularなどのフロントエンド情報を発信しています。 書いてる人 西畑一馬 (株式会社トゥーアール) 代表取締役/フロントエンドエンジニア 株式会社
[書評] 超速Webページ速度改善ガイド 最近のブラウザやWebサイトの機能はどんどんと進化しており、古い高速化テクニックは逆にページ低速化の原因にもなってしまいます。 本書「超速Webページ速度改善ガイド」は、そんなWebサイトの高速化を行うための最新TIPSが詰まった一冊です。 特徴 この本の特徴は「推測するな、計測せよ」をコンセプトに、単なる改善方法だけではなくGoogle Chromeを利用した測定方法にも紙面が多く分かれているのが特徴。 内容的には難度の高いものから、すぐにでも実務で活用できるもの、ブラウザの実装状態がまだ芳しくないテクニックまで幅広く網羅されています。 そのため1読すれば今時点だけでなく少し先の高速化TIPSまでも知ることができます。 内容は以下の通り 目次 第1章 Webページの速度 第2章 ネットワーク処理の基礎知識 第3章 ネットワーク処理の調査と改善 第
プロジェクトによりnodenvとndenvを切り替える 最近、プロジェクトにより「nodenv」を利用しているプロジェクトと「ndenv」を利用しているプロジェクトがあり使い分けがうまくいかないという問題がよく発生するようになりました。 最初に説明しておくと本記事は「nodenv」と「ndenv」を切り替えるのではなく、.node-versionファイルに記述されているバージョンのnodeを起動する方法です。タイトル詐欺ですね。 何が問題なのか 前提として「nodenv」と「ndenv」では.node-versionに記載されるバージョンの表記が違います。 ndenvを利用して ndenv local v8.5.0 のコマンドで生成される.node-versionには「v8.5.0」とバージョン情報が記載されます。 nodenvを利用した場合 nodenv local 8.5.0 のコマン
「秋のJavaScript祭 in mixi 2017」で「RxJSで始めるリアクティブプログラミング」というお話をしてきました。 「秋のJavaScript祭 in mixi 2017」で「RxJSで始めるリアクティブプログラミング」というお話をしてきました。 最初に会場でRxJSを仕事で利用したことがある方と聞いて、100人ほどの会場で5名ぐらいしか挙手がなかったのが印象的でした。Angularそれほど流行ってないんですね。。 わたしは、ここ1年ずっとAngularの開発をしているため、否応なしにRxJSを触っているのですがRxJSの学習コストはかなり高いと感じております。 すこしでも学習の取っ掛かりとなればと、なるべく伝えることを絞って説明いたしました。参考になれば幸いです。
Angularによるスライドアニメーション Angularでいわゆるスライドアニメーションを実装するための方法です。 Angular 4 +での初期設定 Angular4 よりanimation系は@angular/coreより除外されていますので、@NgModule内で@angular/platform-browser/animationsより取得したBrowserAnimationsModuleをimportsに設定しておき、@angular/animations より trigger, state,style, transition, animate, keyframesをimportしておきます。 import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; . . . @NgModu
AngularでChangeDetectionによるパフォーマンスチューニング AngularでChangeDetectionによるパフォーマンスチューニングを行う方法です。 ChangeDetectionとは? AngularではChangeDetectionと呼ばれる更新機構を持ってコンポーネントの情報が変更されるとページの再描画が行われます。 くわしい仕組みに関しては以下を参考にしてください。 Angular2のChange Detectionについて - Qiita Angularのデフォルト設定では、全てのコンポーネントの変更に対して、このChangeDetectionによる更新が毎回走るようになっている。 例えば以下のようなコンポーネント構成時、つまりAコンポーネントの子コンポーネントとしてBコンポーネントとCコンポーネントが配置されているようなケースで、Bコンポーネントに対し
[書評] Webディレクションの新・標準ルール ディレクションのお仕事というのは立場や規模によって千差万別です。本書「Webディレクションの新・標準ルール」はそんなディレクションの仕事を体系的かつ網羅的に抑えた一冊です。 最近のWebサイト制作では目的が多様化しており、抑えておかなくてはいけないポイントが増加しています。 UX設計やAWSなどのクラウドサービス、InstagramなどのSNS対策、MA(マーケティングオートメーション)など数年前までは考慮しなくてよかったことが当たり前のように求められることも多くなりました。 「Webディレクションの新・標準ルール」では「企画」、「設計」、「制作進行」、「運用改善」のテーマで様々な内容が書かれています。 目次を読むだけでお腹いっぱいになる内容です。 【目次】 ---------------------------------------- ■
SystemJSでAngular 2の環境を構築する SystemJSはwebpackやBrowserifyのようなJavaScriptファイルの依存関係を解決するためのモジュール管理ツールです。 Angular 2ではquickstartではSystemJSを利用したコンパイル環境を、Angular CLIではwebpackを利用したコンパイル環境を提供しています。 今回は用意されている環境を利用せずに0ベースでSystemJSの環境を構築していく方法を解説します。 (quickstartの設定内容を最小限にして順序立てて解説しています) package.jsonの作成 まずはターミナルなどで以下のコマンドを入力してpackage.jsonの作成を行います。 npm init -y ローカルサーバーの構築 SystemJSではAjaxでファイルの取得などを行うためローカルサーバーの設定が
anyenv+ndenvでプロジェクトごとにnode.jsのバージョンを切り替える 複数のプロジェクトが並行で走っており、それぞれで異なるnode.jsのバージョンが必要な場合は利用するnode.jsのバージョン管理が必須になってきます。 node.jsのバージョン管理にはnodebrewやnodist、nvmなど様々なツールがあります。 ndenvはいわゆる**env系のnode.jsバージョンで、**envではnodenv以外にもrubyのバージョンを管理するrbenvや、PHPのバージョンを管理するphpenvなど様々な言語のバージョンが存在します。 **envにはanyenvと呼ばれる管理ツールが存在するため、ローカルで複数の言語のバージョンを管理しなくては行けない人にはお勧めのツールです。 anyenvのインストール anyenvは以下のコマンドでインストールを行います。 git
webpackでJavaScriptライブラリを利用する webpackで様々なJavaScriptライブラリをコマンドラインからインストールして利用する事が可能になります。 webpackのインストールと利用方法 まずプロジェクトフォルダで以下のコマンドでpackage.jsonを作成します。 npm init -y 次にwebpackを以下のコマンドでインストールします。 npm install --save-dev webpack webpackをインストールしたならpackage.jsonと同一階層にwebpack.config.jsという設定ファイルを作成します。 設定内容はひとまず以下のようにしておきます。これは./src/script.jsの内容をコンパイルして./dist/script.jsに出力するという命令です。 module.exports = { entry: __
git-flowとGitHub Flow 複数人で Gitを利用する場合、まず決めなくていけないのはどのようなワークフローでGitを運用するかです。 その際によく利用されるのが git-flow と GitHub Flow です。 多くのプロジェクトではこれらのフローもしくは、これらのフローに独自のルールを加えたものが大半でしょう。 git-flowとは? git-flowとは「A successful Git branching model」という記事で紹介された運用ルールで、 正確にはGit用プラグインの名称らしいですが、多くの現場ではブランチの命名規則と運用ルールとして利用されます。 以下の図がgit-flowを表す代表的なコミットグラフです。 どのような命名規則と運用ルールか簡単に解説します。 初期設定 git-flowでは、まずmasterブランチからdevelopブランチをチェ
EditorConfigでエディタの設定を統一する EditorConfigとは様々なエディタの設定を統一するための設定ファイルです。 EditorConfigとは? たとえば複数人で実装を行うプロジェクトで、実装者がそれぞれの実装箇所でインデントを1タブだったり2スペースだったり4スペースだったりと自分勝手なインデントルールで行なっているとマージの際に様々なインデントルールがミックスされたファイルが出来上がってしまいます。 多くのプロジェクトではそれらを防ぐためコーディングルールなどの共通ルールを設けてコードの品質を均一化しようとしているのではないかと思います。 とはいえ、このコーディングルールというものだけでは守っているつもりだけど抜けてしまう箇所などがでてきてしまったりと実装者に依存してきます。 EditorConfigはプロジェクト共通の設定ファイルを用意しておくと、様々なエディタ
AtomでReact/JSXのESLintを設定する テキストエディタの「Atom」でReactのJSXを書く際にESLintを設定する方法です。ESLintとはJavaScriptコードのフォーマットなどが定義から外れていないかを検証するためのプログラムです。 どちらかというとESLintはデプロイ時やコンパイル時ではなくエディタ側で設定しておきたい派なのでAtomの保存時に検証を行うように設定を行います。 今回はフォーマットの定義に関してはairbnbの設定ファイルをカスタマイズして利用します。 Atom Packagesのインストール まず、必要なAtom Packagesのインストールをします。 TOPメニューのPreferenceより設定画面を開き、サイドメニューのInstallからPackagesのインストール画面を開きます。 インストールするパッケージはひとまず「linter
Flexboxのjustify-contentで最後の行を左寄せにする方法 Flexboxのjustify-contentではflexアイテムの配置方法が指定できます。 justify-contentに「center」と指定すればflexアイテムを中央寄せに、「space-between」と指定すれば両サイドを端に配置し中のflexアイテムを均等に、「space-around」と指定すればすべてのflexアイテムを均等に配置します。 以下は、justify-contentにspace-betweenを指定したサンプルです。flex-wrapにはwrapを指定してflexコンテナより溢れたflexアイテムは改行されるようにしています。 See the Pen Flexboxのjustify-content by Kazuma Nishihata (@to-r) on CodePen. 一見、
Re : Windowsで游ゴシックが汚いのは、どう考えてもWebデザイナーが悪い! ネタ元 : Windowsで游ゴシックが汚いのは、どう考えてもWebデザイナーが悪い! ネタ元の記事にはいくつか疑問に思われる点があるので私で調べた内容をまとめておきます。 前置きとしてデバイスフォントの話となり環境によって異なる結果がでる可能性があることを前提に読んでください。 font-familyで「游ゴシック」を指定した場合に採用されるフォント まずは以下の箇所 そのため、font-familyで「游ゴシック」と指定すると、Macでは「ミディアム」で表示されて綺麗なのに、Windowsでは「細字」で表示されるためにかすれてしまうんです。 WWW WATCHさんで指摘(Windows で游ゴシックが細字になってしまう件は誰が悪いのかについて CSS 仕様から考えてみる)されている通りこれが事実ならW
JavaScript初学者の壁 会社を作ってからいくつかの企業でフロントエンドの社内トレーニングや新卒研修、技術メンターなどをしており意外と「JavaScript初学者の壁」でつまづいている方が多いことに気がつきました。 JavaScript初学者の壁とは? JavaScript初学者の壁でつまづく人との特徴として以下の様な状況にある人が多いように感じます。 JavaScriptを覚えたい 入門書やネット上の情報で基本は学んだ 業務ではJavaScriptをつかっていない このタイミングでは簡単なものでも思い通りに作るのはむずかしく、かといってどうやって学んでいけばよいかの道筋も見えなくなり、学習がストップしてしまいます。 ちなみに、本記事はそれ以前の「入門書を読んでもわからない」という方は対象にしておりません。恐らく入門書の浮気ができていないと思われるので「これからjQueryを始める方
npmにjQueryプラグインを登録する 本エントリーは「to-R JavaScript Advent Calendar 2015」20日目のエントリー、今回はnpmにjQueryプラグインを登録する方法について解説をします。 「npmとBrowserifyでjQueryプラグインを管理する」で解説したとおり、npmに登録しておけばユーザーがコマンドラインからインストールができるようになり使いやすくなります。 (同様のパッケージ管理としてbowerがありますが) jquery.heightLine.jsをnpm登録したのでその内容をご紹介します。 プラグインのCommonJS化 jQueryプラグインの場合は以下の雛形の中でjQueryプラグインを定義します。 function (factory) { if(typeof module === "object" && typeof modu
npmとBrowserifyでjQueryプラグインを管理する 本エントリーは「to-R JavaScript Advent Calendar 2015」19日目のエントリー、前回はnpmでjQueryを管理するところまで実行しましたので今回はjQueryプラグインを管理してみます。 今回はわたしの開発しているjQuery.heightLine.jsを読み込み実行してみます。 まずは以下のコマンドでjQuery.heightLine.jsのインストールを行います。 npm install heightline -save そうするとnode_modulesディレクトリ内に heightlineディレクトリが作成され ├── node_modules │ ├── heightline │ │ ├──.... │ └── jquery │ ├── .... package.
npmとBrowserifyでjQueryを管理する 本エントリーは「to-R JavaScript Advent Calendar 2015」18日目のエントリー、これまではJavaScriptライブラリの管理にはbowerなどが使われていましたが、最近ではnpmを利用することが多いようなのでnpmを利用した管理方法についてjQueryを利用して解説を行います。 まずはnpm init すでに開発環境としてnpmを利用している場合は不要ですが、まずは開発ディレクトリでnpm initと入力してpackage.jsonを作成します。 npm init 色々聞かれますがGitHbuなどで公開しないのであれば基本Enterで問題ありません。 まずは雛形を用意 確認用の雛形を用意しましょう。 package.jsonと並列にindex.htmlとbundleディレクトリ、destディレクトリをそ
jQuery samples - Ajax時にローディングを表示 本エントリーは「to-R JavaScript Advent Calendar 2015」17日目のエントリー、今回のjQuery samplesは、Ajax時にローディングを表示する方法についての解説です。 単純に Ajax時にローディングを表示する方法から僅かに遅延させる方法、共通設定にする方法まで解説していきます。 CSS3でローディングを設定 まずは以下の様なHTML/CSSでローディングを作成しておきましょう。 <button id="ajax">ajax</button> <ul id="list"></ul> <div class="loading"> <div class="loading_icon"></div> </div> .is-hide{ display:none; } .loading{ posi
jQuery samples - overflow:scroll内をスムーズスクロール 本エントリーは「to-R JavaScript Advent Calendar 2015」14日目のエントリー、今回のjQuery samplesは、overflow:scroll内も含めたスムーズスクロール方法についての解説です。 普通のページ内スムーズスクロール 普通のページ内スムーズスクロールはよく利用されてるいかのようなコードで実現可能です。 $(function(){ $("a[href^='#']").click(function(){ $("body,html").stop().animate({ scrollTop:$($(this).attr("href")).offset().top }); return false; }); }); 以下が実行サンプル。 See the Pen j
jQuery samples - スクロールすると表示されるトップへ戻るボタン 本エントリーは「to-R JavaScript Advent Calendar 2015」13日目のエントリー、今回からはjQuery samplesと題しましてjQueryを使った簡単なUIサンプルの解説を行っていきます。 初回はスクロールすると表示されるトップへ戻るボタン、以下のサンプルをちょっとスクロールすると左下にトップへ戻るボタンが表示されます。 See the Pen jQuery samples - スクロールすると表示されるトップへ戻るボタン by Kazuma Nishihata (@to-r) on CodePen. では、HTMLとjQuery、CSSについて解説していきます。 HTML HTMLは次のように大枠のdiv.pageTopとページトップへ戻るリンクで構成されています。 <di
jQueryの$(function(){...});と$(window).on("load",function(){...})の違い 本エントリーは「to-R JavaScript Advent Calendar 2015」8日目のエントリー、今回はjQueryの$(function(){...});と$(window).on("load",function(){...});の違いについて解説を行います。 共にページの読み込みが終わったタイミングでfunction(){...}内に書かれている処理を実行するための記述ですが、$(function(){...});に書かれている処理はHTMの読み込みが終了したタイミング、正確にはDOMツリーの構築が完了したタイミングで実行されます。 $(function(){ //do something }); それに対して$(window).on("lo
WebRTC入門 本エントリーは「to-R JavaScript Advent Calendar 2015」7日目のエントリー、WebRTCを利用する方法を解説します。 そもそもWebRTCって? WebRTCとは2台以上のPCで音声や動画、データなどを共有するための仕様です。すごくざっくりと説明するとSkypeのようなアプリケーションをWebブラウザのみで作成することができます。 これまでもビデオチャットのようなシステムはありましたが、そのほとんどがメディアサーバーと呼ばれるデータ仲介用のサーバーを介して行うのが一般的でした。そのため、この手のシステムではネットワーク帯域やサーバー機器に莫大な投資が必要でありビジネスとしての活用は難しかったです。 WebRTCの最大の特徴は仲介用サーバーを必要とせずにPC同士が直接通信を行う形式(P2P)を取っている点です。そのため、低コストでビデオチャ
node.jsのExpressでローカルサーバーを構築 本エントリーは「to-R JavaScript Advent Calendar 2015」5日目のエントリー、node.jsのExpressでローカルサーバーを構築する方法を解説します。 前回は、getUserMedia APIを利用してウェブカムの情報をvideo要素に表示する方法について解説しましたが、WebRTC開通までの工程として今回はnode.jsのExpressでローカルサーバーを構築する方法を解説します。 WebRTCではWebSocketによる通信を行う必要があり、WebSocketはnode.jsを利用すると非常に簡単に利用できます。 そのため、まずサーバーをnode.jsで用意しておきたいと思います。 Expressはnode.jsでサーバー構築が簡単にできるアプリケーションです。(サーバ構築というよりWebアプリ
次のページ
このページを最初にブックマークしてみませんか?
『[to-R]JavaScriptやSEO対策、CSS、Movable Typeなどの情報を発信』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く