<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JavaScript/jQuery &#8211; ウェブ担当者通信</title>
	<atom:link href="https://webtan-tsushin.com/technical/tec_js/feed" rel="self" type="application/rss+xml" />
	<link>https://webtan-tsushin.com</link>
	<description>ウェブ担当者通信は「知るべきことを知る」「わかる」「できる」をコンセプトにした、日本初のSEO、PPC、マーケティングなどを扱うWebディレクター向け実践専門サイトです。</description>
	<lastBuildDate>Sun, 11 Feb 2024 11:11:35 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.7.29</generator>
	<item>
		<title>【プレミアム】いまさら聞けないJavaScriptフレームワーク（後編）</title>
		<link>https://webtan-tsushin.com/stock_201802_framework02</link>
		<pubDate>Tue, 13 Feb 2018 08:00:03 +0000</pubDate>
		<dc:creator><![CDATA[西畑一馬]]></dc:creator>
				<category><![CDATA[ストック]]></category>
		<category><![CDATA[stock_201802_framework]]></category>
		<category><![CDATA[プレミアム]]></category>

		<guid isPermaLink="false">http://webtan-tsushin.com/?p=16719</guid>
		<description><![CDATA[JavaScriptフレームワークを導入するメリット・デメリット （フロントエンド開発） 次はフロントエンド開発の側面からJavaScriptフレームワークを導入するメリット・デメリットを解説していきます。 開発手法がフ [&#8230;]]]></description>
				<content:encoded><![CDATA[<div id="premium"><img class="aligncenter size-full wp-image-16722" src="https://webtan-tsushin.com/wp-content/uploads/js-framework02.jpg" alt="" width="1200" height="628" srcset="https://webtan-tsushin.com/wp-content/uploads/js-framework02.jpg 1200w, https://webtan-tsushin.com/wp-content/uploads/js-framework02-100x53.jpg 100w, https://webtan-tsushin.com/wp-content/uploads/js-framework02-260x136.jpg 260w, https://webtan-tsushin.com/wp-content/uploads/js-framework02-768x402.jpg 768w, https://webtan-tsushin.com/wp-content/uploads/js-framework02-640x335.jpg 640w" sizes="(max-width: 1200px) 100vw, 1200px" /> </p>
<h2>JavaScriptフレームワークを導入するメリット・デメリット<br />
 （フロントエンド開発）</h2>
<p>次はフロントエンド開発の側面からJavaScriptフレームワークを導入するメリット・デメリットを解説していきます。</p>
<h3>開発手法がフレームワークに沿った形に限定される</h3>
<p>ReactならReactの、AngularならAngularのルールに沿った形で開発する必要があります。<br />
 そのため自分のルールを押しつけ、独自のルールで開発するエンジニアがいなくなります。<br />
 また、知識、経験が少ないエンジニアもフレームワークに沿った形で開発しなくてはいけませんので、学習コストこそかかってしまうものの最低限の品質を担保することができます。</p>
<p>裏を返せば、フレームワークを利用するにはある程度の知識が必要になってきます。</p>
<h3>開発TIPS や テクニック、ライブラリなどが豊富</h3>
<p>現状のフロントエンド界隈では、「jQueryを使った効率の良いフロントエンド開発」といった情報はそれほど見受けられず、「Angularを利用した◯◯」、「Reactを利用した◯◯」といった情報がよく見られます。</p>
<p>jQueryは過去の膨大な情報やライブラリがありますが、情報の発信日からその情報の鮮度を測ることは難しくなっています。<br />
 JavaScriptフレームワークは昨今のトレンドということもあり、さまざまな情報が発信されています。そのため、発信日からその情報の鮮度が測りやすくなっています。</p>
<h3>仮想DOMにより高いパフォーマンスが出せる</h3>
<p>Reactを始めとした昨今のフレームワークでは、仮想DOMと呼ばれるレンダリング機構が用意されていることが多く、jQueryなどで作成したページと比較すると高いパフォーマンスを出せる場合が多いです。</p>
<p>これまでは、ページのHTMLを書き換えようとすると実際のHTMLを変更する必要がありました。目的の変更を行うのに10箇所のHTML変更が必要な場合は、10回HTMLを書き換える処理が必要で、これはブラウザのメモリを消費してパフォーマンスが損なわれる原因になりました。</p>
<p>仮想DOMでは10回の変更を一度メモリ上の構造体で行い、最終的な状態をHTMLとして出力するため、1回のHTML書き換えで10箇所の変更が可能になります。これにより高いパフォーマンスを発揮できます。</p>
<h3>周辺のバージョンアップに左右される</h3>
<p>デメリットとしては、周辺のさまざまなツールのバージョンアップに左右される点が挙げられるでしょう。</p>
<p>各フレームワークはすごいスピードで進化しており定期的にバージョンアップを行わなければレガシーな環境に陥りがちです。</p>
<p>ただ、バージョンアップに困難を伴うケースも多いです。バージョンが変わったことにより記述が変わった箇所などは修正しテストを行う必要があります。<br />
 そのうえ、周辺のライブラリが対応していないという理由で必ずしもスムーズにバージョンアップできるわけではありません。</p>
<p>とはいえ、古いバージョンを利用し続けると深刻なセキュリティアップデート等が発生した場合に、いきなり複数のバージョンアップを行わなくてはいけないことになるので、細かく定期的にバージョンアップは行なったほうがよく、この辺りの葛藤はあるでしょう。</p>
<h2>各フレームワークの特徴</h2>
<p>それでは現在、代表的なフレームワークであるReact(リアクト）、Angular(アンギュラー）、Vue.js(ビュージェーエス）の特徴について解説をいたします。</p>
<h3>React</h3>
<p>Facebookが開発を行っている仮想DOMを比較的早くに導入したJavaScriptライブラリです。<br />
 JSXと呼ばれる特殊なHTMLでWebページを作成することにより、Reactでさまざまな状態を表現することができます。</p>
<p>AngularやVue.jsと比較するとView(HTMLの描画)のみの機能を提供しており、他の多様なライブラリと組み合わせて利用するのが一般的です。</p>
<p>よく一緒に利用されるのは、状態管理を行う<a href="https://redux.js.org/">Redux</a>やルーティング機能を行う<a href="https://reacttraining.com/react-router/">React Router</a>などがあります。</p>
<p>オフィシャルでは静的型付を行う<a href="https://flow.org/">Flow</a>や、テスト環境である<a href="https://facebook.github.io/jest/docs/ja/tutorial-react.html">JEST</a>などがあります。</p>
<p>自身の機能がそれほどないため学習コストは比較的軽いのですが、他のライブラリと組み合わせて利用するためさまざまなバリエーションが発生してしまう可能性があり、プロジェクトにより使われ方が変わってくるのが特徴です。</p>
<h3>Angular</h3>
<p>Googleが開発を行っているフレームワークで2016年のバージョン2がリリースされました。</p>
<p>もともとはAngularJSという名前で長年開発が進められていましたが、過去の互換性等を断ち切って最新のアーキテクチャーでリリースされました。<br />
 その後内包しているAngular Routerというライブラリのバージョンを整えるため、1バージョン飛ばしで2017年3月にAngular 4がリリースされ2017年11月にAngular 5がリリースされています。<br />
 1→2は大規模な非互換なアップデートでしたが、それ以降は半年単位で細かいアップデートを行う方針がなされています。</p>
<p>Reactと比較するとAll in Oneの機能を提供しており、単体でSPAの製造からテストなどが可能になっています。</p>
<p>また、Angularは他のサードパーティ製の製品を内包していることも特徴の一つで、マイクロソフトが開発をしている<a href="https://www.typescriptlang.org/">TypeScript</a> や <a href="http://reactivex.io/rxjs/">RxJS</a>、<a href="https://github.com/angular/zone.js/">zone.js</a>など多様なライブラリの機能を内包しています。</p>
<p>そのため、Angular単体だけではなくこれらのライブラリの機能を覚えなくてはならず、学習コストはかなり高めとなっています。<br />
 All in Oneの機能のため、プロジェクト感でアーキテクチャに差異が出にくいのも特徴で、TypeScriptの静的型付けを標準でサポートし、型に慣れているサーバーサイドのエンジニアには好まれる傾向があります。</p>
<h3>Vue.js</h3>
<p>Vue.jsはGoogleにおいてAngularJSを使用した開発に携わったエヴァン・ヨーによって開発されたフレームワークです。<br />
 2016年にVue.js 2.0がリリースされ独自の仮想DOM機構を採用したことで一気に人気が出てきました。</p>
<p>ネクストjQueryとも呼ばれ、デフォルトではReactと同じくできることは少ないが、Vuexやvue-routerといったオフィシャルの拡張機能を導入することにより機能追加が可能になっており、比較的小規模から大規模の案件まで耐えられるフレームワークです。</p>
<p>2017年もっともシェアを広げたフレームワークです。</p>
<h2>フレームワーク選定の決め手</h2>
<p>さて、最後にこれらのフレームワーク選定について解説を行います。</p>
<p>それぞれ特徴がありますが、フレームワークに周辺のライブラリ等を含めますと、特定のフレームワークしか作れないものや特定のフレームワークが他より抜きん出て秀でているということはなく、どれを選んでも問題ありません。</p>
<h3>開発要員</h3>
<p>フレームワーク選定の基準として、各フレームワークを得意とする人材が存在するかどうかが一つの基準となります。<br />
 Angularが得意な人材がいるのにReactを採用したり、Vue.jsに精通している人がいるのにAngularを採用したりすると後述する学習コストがかかってしまいます。</p>
<p>パートナー会社も含めてフレームワークを利用できる人員をアサインできるかどうかも考慮する必要があるでしょう。Angularが得意な人材がいるのでAngularを採用したが、得意な人材が退職してしまってサービス開発が止まってしまう事態などは避ける必要があります。</p>
<h3>学習コスト</h3>
<p>学習コストとしてはあくまで個人の見解ですが、</p>
<p>Vue.js &lt; React &lt; Angular</p>
<p>です。</p>
<p>学習コストが低い方が、追加した開発要員に知識がなくても、フレームワークを利用できるまでの期間を短くできます。</p>
<h3>開発規模</h3>
<p>一般的にAngularは大規模開発などに適しており、Reactは大・中規模、Vue.jsはReactは小・中規模に適していると言われています。<br />
 設計次第で、かならずしも大規模だからVue.jsではできない、小規模だからAngularは利用できない、といったことはないのですが、フレームワークを利用できる開発者の得意とする開発規模なども考慮すると上記の規模感は一つの参考値になるでしょう。</p>
<h3>そもそもフレームワークの導入は必要か？</h3>
<p>APIなどと連携を行うSPA以外では必ずしもフレームワークを導入する必要はありません。<br />
 jQueryなどでミニマムに開発を行うことも可能です。<br />
 フレームワークの導入を目的とせずにプロジェクトに適したツールは何か、の視点で選択するのがよいでしょう。</p>
</div>
]]></content:encoded>
			</item>
		<item>
		<title>【プレミアム】いまさら聞けないJavaScriptフレームワーク（前編）</title>
		<link>https://webtan-tsushin.com/stock_201802_framework01</link>
		<pubDate>Tue, 06 Feb 2018 11:00:03 +0000</pubDate>
		<dc:creator><![CDATA[西畑一馬]]></dc:creator>
				<category><![CDATA[ストック]]></category>
		<category><![CDATA[stock_201802_framework]]></category>
		<category><![CDATA[プレミアム]]></category>

		<guid isPermaLink="false">http://webtan-tsushin.com/?p=16710</guid>
		<description><![CDATA[JavaScriptフレームワークとは？ フレームワークの概念はJavaScriptに限定されることなくさまざまなプログラミング言語で存在します。 Wikipedia(ソフトウェアフレームワーク)には、フレームワークの解 [&#8230;]]]></description>
				<content:encoded><![CDATA[<div id="premium"><img class="aligncenter size-full wp-image-16721" src="https://webtan-tsushin.com/wp-content/uploads/js-framework01.jpg" alt="" width="1200" height="628" srcset="https://webtan-tsushin.com/wp-content/uploads/js-framework01.jpg 1200w, https://webtan-tsushin.com/wp-content/uploads/js-framework01-100x53.jpg 100w, https://webtan-tsushin.com/wp-content/uploads/js-framework01-260x136.jpg 260w, https://webtan-tsushin.com/wp-content/uploads/js-framework01-768x402.jpg 768w, https://webtan-tsushin.com/wp-content/uploads/js-framework01-640x335.jpg 640w" sizes="(max-width: 1200px) 100vw, 1200px" /> </p>
<h2>JavaScriptフレームワークとは？</h2>
<p>フレームワークの概念はJavaScriptに限定されることなくさまざまなプログラミング言語で存在します。<br />
 <a href="https://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF">Wikipedia(ソフトウェアフレームワーク)</a>には、フレームワークの解説として「一般的な機能をもつ共通コードをユーザーが選択的に上書きしたり特化させたりすることで、ある特定の機能をもたせようとする抽象概念のことである。単にフレームワークとも呼ばれる。」と記載されています。</p>
<p>本記事は非エンジニア向けですので、誤解を恐れずにざっくりと解説すると、フレームワークとはプログラミングにさまざまな機能や処置を追加してくれるアプリケーションのことです。<br />
 これまで手間のかかっていたことも、フレームワークを導入し、ルールに準じれば簡単に実装可能になります。</p>
<p>同様のキーワードではライブラリがありますが、ライブラリとフレームワークの違いは、提供する機能が限定的か全体的かどうか。<br />
 jQueryやReactはライブラリ、AngularやVue.jsはフレームワークに分類されます。</p>
<p>ことJavaScriptフレームワークに関して言えば、SPA(シングルページアプリケーション)を作成するのに十分な機能を提供するものをJavaScriptフレームワークとして定義することが多いです。</p>
<h2>JavaScriptフレームワークはいつ頃から利用されている？</h2>
<p>個人的な観測範囲の話になってしまいますが、2010年に登場した<a href="http://backbonejs.org/">Backbone.js</a>がJavaScriptフレームワークが多くの現場で利用されるようになったキッカケと感じています。<br />
 Googleが開発しているJavaScriptフレームワーク「<a href="https://angularjs.org/">AngularJS</a>」は2009年に公開されており、Backbone.jsより歴史が古いのですが、多くの現場で利用されるようになったのはBackbone.jsの後に感じています。</p>
<p>これらのJavaScriptフレームワークが利用されるようになった背景としては、2007年にiPhoneがAppleから発売され(国内では2008年に発売されたiPhone 3Gが最初)、2008年にはGoogleからAndroid端末が発売されました。<br />
 そして、これらの端末がある程度普及した2010年頃から多くの現場でスマートフォン対応が求められるようになりました。<br />
 当初のスマートフォンサイトではアプリのような挙動をすることが良いとされた傾向があり、スワイプによるページ遷移やインフィニティスクロールを利用した無限読み込みなど、ユーザー体験をアプリに近づける機能を実装するためにJavaScirptが多用されるようになりました。</p>
<p>Backbone.js が普及した背景としては、Backbone.jsは当時主流だったjQueryをベースに拡張されたフレームワークだったため、導入の敷居が低かったことが要因の一つに挙げられます。</p>
<p>その後現場のニーズにあわせて<a href="http://knockoutjs.com/">Knockout.js</a>や<a href="https://www.emberjs.com/">Ember.js</a>が登場して、昨今では <a href="https://reactjs.org/">React</a> や <a href="https://jp.vuejs.org/index.html">Vue.js</a> 、 <a href="https://angular.io/">Angular</a>といったフレームワークが人気を博しております。</p>
<h2>JavaScriptフレームワークを導入するメリット・デメリット（開発以外の視点）</h2>
<p>まずは、JavaScriptフレームワークを導入するメリット・デメリットを開発以外の視点から解説します。</p>
<h3>APIの共通利用</h3>
<p>これらのフレームワークを導入する大きな動機としてはサイトをSPAとして作成するときでしょう。</p>
<p>昨今のWebサービスではPCサイト、スマホサイトもしくはレスポンシブサイト以外にもiPhone/iPadアプリ、Androidアプリが提供されることが多いです。<br />
 また最近では、デスクトップアプリケーションを提供するWebサービスが増えてきました。</p>
<p>そうすると、これまでのWebサイトのようにサーバーサイドでHTMLを書き出すプログラミングをすれば良いだけでなく、各種アプリケーションでも利用できるように「表示する」「登録する」「編集する」「削除する」といった処理をAPIとし提供する必要がでてきました。<br />
 APIがすでに存在しているのに、Webサイトでもサーバーサイドで同様の機能を実装するのは非効率であり、また同様の処理がさまざまな箇所に記述されるのはトラブルの元となります。</p>
<p><img class="aligncenter size-full wp-image-16713" src="https://webtan-tsushin.com/wp-content/uploads/a3d20534aa3cf8fdac24451e39deef8b.png" alt="SPA+API図" width="768" height="1290" srcset="https://webtan-tsushin.com/wp-content/uploads/a3d20534aa3cf8fdac24451e39deef8b.png 768w, https://webtan-tsushin.com/wp-content/uploads/a3d20534aa3cf8fdac24451e39deef8b-32x53.png 32w, https://webtan-tsushin.com/wp-content/uploads/a3d20534aa3cf8fdac24451e39deef8b-81x136.png 81w, https://webtan-tsushin.com/wp-content/uploads/a3d20534aa3cf8fdac24451e39deef8b-286x480.png 286w" sizes="(max-width: 768px) 100vw, 768px" /></p>
<p>フレームワークを利用してSPAとして開発すれば、それらの不安を取り除くことができます。</p>
<h3>パフォーマンスやユーザー体験の向上</h3>
<p>これらはフレームワークを導入することで確実に得られるメリットではありませんが、上手に開発すれば、これまでのWebサイトよりも良いユーザー体験を提供できる可能性があります。</p>
<p>これまでのWebサイトでは、ページ遷移毎に必要な情報を全部サーバーサイドから取得して表示しておりました。そのため、ページ遷移毎に何度も同じ画像やファイルを取得する可能性がありました※1。<br />
 SPAでは、必要最小限の情報をAPIより取得してその情報を元にWebページを再描画するので、同一情報の再取得を防ぐことが可能です※2。</p>
<p>※1 これまでのWebサイトでもキャッシュを上手に活用すれば同じファイルの再取得を防ぐことは可能です。<br />
 ※2 最初に注意書きしたとおり、上手に開発した場合のみです。何も考えずにSPA化してしまうと、通常のWebサイトより重く使い勝手の悪いサイトになってしまう可能性もあります。</p>
<h3>開発コストの増大</h3>
<p>当然メリットだけではなくデメリットも発生します。もっとも大きな箇所では開発コストの増大でしょう。</p>
<p>これまで、多くの現場では、デザイン、HTML作成、サーバーサイド実装の3プロセスで開発を行っていましたが、デザイン、HTML作成、SPA実装、API実装の4プロセスが必要になってきます。API実装がHTML作成を待たずに開発できるようになったので並列開発が可能にはなりますが、多くのケースではこれまでより多くの開発期間が必要になるでしょう。</p>
<h3>開発要員の確保の難しさ</h3>
<p>SPA開発が比較的新しい技術のため、開発要員の確保の難しさもデメリットと言えるでしょう。</p>
<p>開発要員の確保の方法としては自社での採用があるかと思いますが、人材市場にSPA開発が必要な人材はそれほど出回っていません。また、そういった人材はすでに技術的に秀でた企業を選ぶ傾向があり、自社で成熟した開発チームを持たない場合は獲得が容易ではありません。</p>
<p>また、外注などのパートナー企業を探す際にも困難がつきまとうでしょう。</p>
<hr />
<p>後編では、フロントエンド開発からみたメリット・デメリットと、各フレームワークの特徴を紹介します。</p>
</div>
]]></content:encoded>
			</item>
		<item>
		<title>マネジメントにも技術力は必要。モブプログラミングのメリットとは？</title>
		<link>https://webtan-tsushin.com/next_20170622_mobprogramming</link>
		<pubDate>Thu, 22 Jun 2017 10:31:09 +0000</pubDate>
		<dc:creator><![CDATA[こだま]]></dc:creator>
				<category><![CDATA[バズワード]]></category>

		<guid isPermaLink="false">http://webtan-tsushin.com/?p=14509</guid>
		<description><![CDATA[画像：Pixabay 技術の進展はめまぐるしい。だから、少なくとも米国では、マネージメントであっても、最新の技術をハックしていないと話にならない時代が来ているということだ。もちろん米国にも、プレゼンや、デモが強く、そんな [&#8230;]]]></description>
				<content:encoded><![CDATA[<p class="center"><img src="https://webtan-tsushin.com/wp-content/uploads/2017/02/meeting_0223.jpg" alt="マネジメントにも技術力は必要。モブプログラミングのメリットとは？" width="640"></p>
<p class="p-syuttenmoto">画像：<a href="https://pixabay.com/" target="_blank">Pixabay</a></p>
<blockquote><p>
技術の進展はめまぐるしい。だから、少なくとも米国では、マネージメントであっても、最新の技術をハックしていないと話にならない時代が来ているということだ。もちろん米国にも、プレゼンや、デモが強く、そんな技術力が高くない人もまだいるだろう。去年変わったばかりだから。しかし、急激に、マネージャであっても「技術力」のある人が求められているのは間違いない。
</p></blockquote>
<p>マイクロソフトのエバンジェリストの方のブログからの引用です。<br />自分自身も技術力はこれからもっと必要になってくる、と感じていたのでとてもおもしろい内容でした。</p>
<p>そしてこのブログの中で、はじめて「モブプログラミング（Mob Programming）」を知りました。</p>
<p>モブプログラミング（Mob Programming）とは、チームでひとつの画面を見ながら、ワイワイ意見を言い合いながらそれぞれが得意な部分のプログラミングを担って開発を進めていく手法だそうです。</p>
<p>モブプログラミング（Mob Programming）は、自分自身にとっては新しいテクノロジーでも他のメンバーが分かっていれば進められる、技術の優れた人の暗黙知が共有できる、タスク管理が必要なくなる、そして何より楽しい、などさまざまなメリットがあるそうです。</p>
<p>社内プロジェクトや新人研修などでまず試してみてもいいかも、と思いました。</p>
<p><b><a href="http://simplearchitect.hatenablog.com/entry/2017/06/19/080036" target="_blank">技術なきマネジメントの衰退とその対策 &#8211; メソッド屋のブログ</a></b></p>
]]></content:encoded>
			</item>
		<item>
		<title>リクルートテクノロジーズが公開した新人技術研修資料が勉強になります</title>
		<link>https://webtan-tsushin.com/stock_20170609_recruit_tech</link>
		<pubDate>Thu, 08 Jun 2017 23:00:55 +0000</pubDate>
		<dc:creator><![CDATA[こだま]]></dc:creator>
				<category><![CDATA[ストック]]></category>

		<guid isPermaLink="false">http://webtan-tsushin.com/?p=14414</guid>
		<description><![CDATA[画像：pixabay リクルートテクノロジーズでは、新卒社員向けの技術研修「ブートキャンプ」を3か月間実施しているそうです。この研修資料が一般に公開されています。 技術者向けなのでワタクシには内容が難しいセッションもあり [&#8230;]]]></description>
				<content:encoded><![CDATA[<p class="center"><img src="https://webtan-tsushin.com/wp-content/uploads/code.jpg" alt="新人研修資料" width="640"></p>
<p class="p-syuttenmoto">画像：<a href="https://pixabay.com/ja/" target="_blank">pixabay</a></p>
<p>リクルートテクノロジーズでは、新卒社員向けの技術研修「ブートキャンプ」を3か月間実施しているそうです。<br />この研修資料が一般に公開されています。</p>
<p>技術者向けなのでワタクシには内容が難しいセッションもありましたが、基礎を学ぶのにとても勉強になります。</p>
<ul>
<li>エンジニアとしての心構え</li>
<li>HTML/CSS入門</li>
<li>TDD Boot Camp</li>
<li>Javascript入門</li>
<li>Git入門</li>
<li>Java入門</li>
<li>AWS体験ハンズオン ～セキュア＆スケーラブルウェブサービス構築編～</li>
<li>DevOps導入指南改め Infrastructure as Code</li>
<li>データベース入門</li>
<li>検索結果の品質向上 ～Elasticsearch入門～</li>
<li>セキュリティ　～Web Application Hardening～</li>
</ul>
<p><b><a href="https://recruit-tech.co.jp/blog/2017/06/07/bootcamp2017/" target="_blank">リクルートテクノロジーズ　新人研修特別編を公開します | リクルートテクノロジーズ　メンバーズブログ</a></b></p>
]]></content:encoded>
			</item>
		<item>
		<title>JavaScriptやjQueryが動かない時に原因を解明する方法（Chrome検証）</title>
		<link>https://webtan-tsushin.com/javascript_check</link>
		<pubDate>Tue, 24 May 2016 06:55:46 +0000</pubDate>
		<dc:creator><![CDATA[事務局]]></dc:creator>
				<category><![CDATA[ウェブ担当者の課題＆お悩み]]></category>

		<guid isPermaLink="false">http://webtan-tsushin.com/?p=10260</guid>
		<description><![CDATA[JavaScriptが動かない。もしくは動かなくなってしまった。。その場合の一般的な手順は下記になります。 Chromeで問題のページを表示する ChromeでJavaScriptのエラーがでていないか確認する エラーメ [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>JavaScriptが動かない。もしくは動かなくなってしまった。。<br />その場合の一般的な手順は下記になります。</p>
<ol>
<li>Chromeで問題のページを表示する</li>
<li>ChromeでJavaScriptのエラーがでていないか確認する</li>
<li>エラーメッセージでググる</li>
<li>検索で見つかったページの対策を施して、また１からやってみる</li>
<li>【捕捉】根本解決を目指すには</li>
</ol>
<p>最初の１、２がエラーの原因を知る作業です。これは<span class="bold">早いと３分くらい</span>ですね。その後の３〜５が解決する作業で、これはエラー内容によって前後します。</p>
<p>では、早速手順を見ていきましょう。</p>
<h2>1.Chromeで問題のページを表示する</h2>
<p>これは単純ですね。Chromeを起ち上げて、エラーページを表示しましょう。</p>
<h2>2.ChromeでJavaScriptのエラーがでていないか確認する</h2>
<p>以下の手順でエラー内容を表示させます。</p>
<p>※こちらにエラーが出ているページのサンプルがあります。一見正常に動いているように見えますが、裏ではエラーが出ています。</p>
<p><a href="https://webtan-tsushin.com/sample/jserror.html">webtan-tsushin.com/sample/jserror.html</a></p>
<h3>a.Chromeで右クリックして検証メニューを表示させます。</h3>
<p><img title="1jserror-chrome-kensyo.jpg" src="https://webtan-tsushin.com/wp-content/uploads/2016/05/1jserror-chrome-kensyo.jpg" alt="1jserror chrome kensyo" width="598" height="379" border="0" /></p>
<h3>b.エラー箇所を表示させます。</h3>
<p><img title="2jserror-console.jpg" src="https://webtan-tsushin.com/wp-content/uploads/2016/05/2jserror-console.jpg" alt="2jserror console" width="598" height="396" border="0" /></p>
<p> </p>
<h3>c.エラーメッセージをコピーします。</h3>
<p><img title="3jserror-error-copy.jpg" src="https://webtan-tsushin.com/wp-content/uploads/2016/05/3jserror-error-copy.jpg" alt="3jserror error copy" width="599" height="244" border="0" /></p>
<p> </p>
<h2>3.エラーメッセージでググる</h2>
<p>エラーメッセージでググりましょう。できれば日本語の結果が出て欲しいので、日本語を入れて検索します。</p>
<p>今回は「Uncaught TypeError is not a function」というエラーなので「<span class="bold">Uncaught TypeError is not a functionとは</span>」などで検索します。</p>
<p>もし検索結果のページをいくつか見てみても、書いてある内容がよくわからない場合は<a href="#hosoku">捕捉</a>をご覧ください。</p>
<p> </p>
<h2>4.検索で見つかったページの対策を施して、また１からやってみる</h2>
<p>検索で表示された対策を施してみて、再度「検証」でエラーが消えたかどうかみてみます。</p>
<p>例えば、今回の「Uncaught TypeError」というのはググってみると「そんな型は知らん！」というエラーでした。つまりコンピューターが理解できないということですね。</p>
<p>ということで綴りが間違っているかも知れないので調べたところ、やっぱり間違っていました。</p>
<p>date.Daily()ではなく、date.Day()だったのですね。ということで綴りを戻して再検証すると、エラーが消えました。</p>
<p><a href="https://webtan-tsushin.com/sample/jserrorok.html">webtan-tsushin.com/sample/jserrorok.html</a></p>
<h3>※変数などがわかるちょっと詳しい方へ</h3>
<p>エラーの箇所が多い場合などはデバッグという作業をちゃんと行った方が簡単に原因がわかることもあります。デバッグとは、ステップ実行などを用いながら、エラー箇所を突き詰め、治していく作業のことです。このページではスコープ外になるのでデバッグ手法については説明しませんが、もし知りたい方は「Chrome ブレークポイント」などと検索するといろいろ出てきます。私達ウェブ担当者通信の西畑講師のサイトでも記事がありました。<br />
<a href="http://blog.webcreativepark.net/2014/04/04-144306.html">Google Chromeのブレークポイント -toR（西畑講師のサイト）より</a><br />
<a name="hosoku" id="hosoku"></a></p>
<h2>5.【捕捉】根本解決を目指すには</h2>
<p>４でググった時に、まったく意味のわからない内容ばかりかも知れません。</p>
<p>実はJavaScriptやjQueryのエラーを治すのは、病気を治すのに似ています。</p>
<p>体調が悪い時に病気を治すには、通常３ステップあります。</p>
<p>Step1は自分の診断です。何か思い当たる原因をググってみたりして、悪い箇所のあたりをつけます。<br />Step2では自分で治すか、病院にいくか判断します。<br />Step3 では具体的な行動を起こして様子を見ます。</p>
<p>病気をしっかり治したいならば、Step1で原因のあたりをつけるというのはとても大切な作業です。ところが、病気というのは調べてみると専門用語も多く、何を書いてあるのか理解できないこともあると思います。 つまり自分の体調不良の原因がわからない。そういう場合は病院にいった方が安心です。また調べた結果外科手術が必要で、自分では如何ともし難い場合もあるでしょう。</p>
<p>JavaScriptのエラーなども同じで、ググってみて症状をみた場合に、書いてある内容がよくわからなかったり不安になった場合は、医者が使う専門用語で書いてあるのだと思って下さい。その場合、医者に行く方が早いことが多いです。この場合の医者というのはプログラマーのことを指します。</p>
<p>もしあなたがノンプログラマーの方の場合、まず大切なのはStep1の原因のあたりをつけることとStep2のジャッジをすることだと考えてみましょう。そうすると少し気が楽になると思います。</p>
<p>最後にJavaScriptやjQueryのエラーは、病気と違いひょっとしたら治さなくてもよい場合も多いと覚えておきましょう。JavaScriptというのはユーザービリティ向上を目指しているものが多く、最悪稼働しなくても通常のHTMLで代替できることも多いものです。つまり無理やり動かさなくても大丈夫かも知れません。</p>
<p>その場合は問題がある箇所を自分で取り除いて、とりあえず様子見をするというのも根本解決の一つです。たとえJavaScriptが動かなくても、ユーザーへの成果は変わらないことも多いのです。 </p>
]]></content:encoded>
			</item>
		<item>
		<title>JavaScriptを知らないWebデザイナーが使いやすいjQuery入門</title>
		<link>https://webtan-tsushin.com/jquery_for_webdirector</link>
		<pubDate>Thu, 03 Dec 2015 08:41:55 +0000</pubDate>
		<dc:creator><![CDATA[事務局]]></dc:creator>
				<category><![CDATA[ウェブ担当者の課題＆お悩み]]></category>

		<guid isPermaLink="false">http://webtan-tsushin.com/?p=8510</guid>
		<description><![CDATA[jQueryはもっとJavaScriptプログラミングを楽しくするために作られたもの。だからJavaScriptを知らないWebデザイナーやWebディレクターには使いやすいんです。JavaScriptプログラミング初心者のWebデザイナーやWebディレクターのためのjQueryの仕組みについてまとめています。]]></description>
				<content:encoded><![CDATA[<h2>ウェブディレクターやデザイナーのためのjQuery</h2>
<p>jQueryのよくある悩みに</p>
<ul>
<li>どのサイトのjQueryソースコードなら、コピーしても安全？</li>
<li>ネット上でコピーしたソースをカスタマイズするには？</li>
<li>エラーが起こったらどうすればいいの？</li>
</ul>
<p>といった質問があると思います。しかし、これら質問に答えるには、jQueryの概要や基本構文についてさっと勉強した方が早いっていったら驚きますか？しかし、実際にそうなのです。</p>
<p>そこで、このページでは、ディレクターやデザイナーの方に知っておいてほしい、jQueryの簡単な概要と基本構文について、ご説明していきます。 以下の順番でご説明します。</p>
<ol>
<li>jQueryの仕組みと概要</li>
<li>jQueryの基本構文</li>
</ol>
<h2>１．jQueryの仕組みと概要</h2>
<p>ウェブサイトを作る人であれば、よく聞くjQuery。実際にウェブで検索したjQueryのコードをコピーアンドペーストして使っている人も多いと思います。 しかし、いざjQueryとは何か？と聞かれると答えられない人も多いのではないでしょうか？ jQueryとは、一言でいえばJavaScriptのライブラリです。ここでライブラリとは、便利なツール集のようなものなのですが、それよりも前に、なぜjQueryがここまで多くの人に使用されているのか、知っていますか？</p>
<h3>jQueryが使われている理由と、そのシェア（使用率）</h3>
<p>jQueryは、MozillaのJavaScriptエバンジェリストであるジョン・レッシグ氏が2006年に開発したライブラリです。比較的新しいのに、普及しています。 そのジョン・レッシグ氏はこのように述べています。</p>
<blockquote><p>「jQueryは、もっとJavaScriptプログラミングを楽しくするために作りました。」</p></blockquote>
<p>多くの方は、JavaScriptでプログラミングしたことはないかも知れませんね。JavaScriptは英語や記号や数式みたいなものが多いし、見るからに難しいと感じる人も多いと思います。これでは楽しくありません。 そこで、ジョン・レッシグ氏は、JavaScriptのライブラリ（便利ツール集）であるjQueryに以下のようなメリットをもたせました。</p>
<ul>
<li>CSSに似たわかりやすいルールでプログラミングできるようにする</li>
<li>オープンソースにする</li>
<li>一つのコードで、全てのブラウザで同様に動作する（クロスブラウザ対応）</li>
<li>軽快に動作する（ファイルサイズが小さい）</li>
<li>プラグインを用いた機能拡張もしやすくする</li>
</ul>
<p>結果、レッシグ氏の思い通りJavaScriptで楽しくプログラミングできる人が増え、jQueryは後発ながら、人気のライブラリとして普及していきました。 つまり、jQueryが普及した主な理由は「JavaScriptを知らなくても、使えるから」です。</p>
<h3>jQueryの世界シェア（使用率）</h3>
<p><img src="https://webtan-tsushin.com/wp-content/uploads/2015/12/jqueryshare-300x288.png" alt="jqueryshare" width="300" height="288" class="size-medium wp-image-8548" srcset="https://webtan-tsushin.com/wp-content/uploads/2015/12/jqueryshare-300x288.png 300w, https://webtan-tsushin.com/wp-content/uploads/2015/12/jqueryshare.png 517w" sizes="(max-width: 300px) 100vw, 300px" /><a href="http://w3techs.com/">W3Techs</a>の報告では、2015年1月時点で、JavaScriptライブラリの中の67.2%のシェアを誇っています。2位のBootstrapが9.8%ですから、いかにそのシェアが大きいかがわかりますね。他にもマイクロソフトのASP.NETの標準として採用されるなど、文字通りJavaScriptのデファクトスタンダードと呼ぶ人も多いです。従って、jQueryを覚えることはとてもメリットが大きいのです。</p>
<h3>jQueryの仕組み</h3>
<p>jQueryは、先ほどからお伝えしているようにJavaScriptのライブラリです。ライブラリとは、便利ツール集のようなものです。とはいえ、イメージが難しいかも知れませんね。 以下のイメージ図をご覧ください。 <img title="jquery-browser.png" alt="Jquery browser" src="https://webtan-tsushin.com/wp-content/uploads/2015/12/jquery-browser.png" width="597" height="194" border="0" /> <br />このイメージと似ているのは、パワーポイントを使ったプレゼンです。 <img title="jquery-present.png" alt="Jquery present" src="https://webtan-tsushin.com/wp-content/uploads/2015/12/jquery-present.png" width="597" height="204" border="0" /> <br />
イメージで言うと、<span class="bold">jQueryはJavaScriptのスラングのようなもの</span>です。<br />
パワーポイントのプレゼン（下図）でも、スラング（方言）を使わることがあると思いますが、理解は難しいですよね。但し、もしスラング（方言）の辞書があれば、理解はできるようになります。<br />
jQueryも、JavaScriptのスラング（方言）のようなもので、通常、ブラウザは標準語(JavaScript）しか理解できないのですが、jQueryライブラリを読みこむと、jQueryを理解できるようになります。つまり、jQueryは、JavaScriptを飾る独特の言葉群で、jQueryライブラリと一緒に使います。そして、独特のルールがあります。</p>
<h2>jQueryを学習する前に</h2>
<p>ここまで、jQueryの概要について説明してきましたが、ここからはjQueryのメリット、仕組み、使い方までを簡単に学習してみましょう。</p>
<h3>jQueryのメリット</h3>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script><br />
<script>
	$(function() {
		$( "#dialog" ).hide();
		$( "#demo" ).click(function() {
			$( "#dialog" ).dialog();
			return false;
		});	
	});
</script></p>
<div id="dialog" title="Basic dialog">
<p>jQueryのダイアログボックスのデモ</p>
</div>
<p>例えば、今までJavaScriptを覚えなければ、ページ内リンクを押した時にふわっとスクロールするようなことはできませんでした。 <a href="hogehoge" id="demo">こんなダイアログ</a>が出てくるようなサイトは良く見ますよね。これがjQueryを使えば、誰でも簡単にできるようになっています。先程も記載しましたが、jQueryのメリットを並べると以下になります。</p>
<ul>
<li>CSSに似たわかりやすいルール（セレクタが似ている）でプログラミングができる</li>
<li>一つのコードで、全てのブラウザで同様に動作する（クロスブラウザ対応）</li>
<li>多くの人がメンテナンスしているので、安定しているし、サンプルコードも見つかりやすい</li>
<li>軽快に動作する（ファイルサイズが小さい）</li>
<li>プラグインを用いた機能拡張もしやすい</li>
</ul>
<p>次回は、このjQueryをどのように書くのか？ということについて追記したいと思います。</p>
]]></content:encoded>
			</item>
	</channel>
</rss>
