赤いきつねの技術メモブログ

主に技術メモを残す予定です。

JS勉強法

基礎を学ぶという点でいえば
この順番で読めばOK!JavaScriptを理解するための14冊

のサイトが書籍の紹介をしている様子。
私はパーフェクトJavaScriptを推奨しますね。
初めに読むにはほんの少しつらい本かもしれませんが分かり始めてから読むと非常に良い本だと思います。

そして学習に役立つのではないかという点で言えば
JavaScript初級者から中級者になろう

のサイトは比較的簡単に要点を説明してくれていると思います。
(情報の取捨選択は重要ですが)

また、ある意味万能なサイトが
MDN/開発者向けのWeb技術
MDN/JavaScript リファレンス

Lv1
まずビルドインのオブジェクトに何があるか理解する。
JavaScriptの奇妙なスコープを理解する。
JavaScriptの暗黙の型変換を理解する。

Lv2
JavaScriptにおけるオブジェクトとは何かを理解する(関数含めてすべてオブジェクト)
JavaScriptのコンストラクタを知る(コンストラクタをfunctionで作る)。
thisの特殊なふるまいを理解する。
JavaScriptのprototypeを理解する(自分はここで苦労しました)
JavaScriptのメソッドチェーンの作り方とは?と疑問を持つ。
JavaScript特有のシンタックスシュガーや特殊な機能(?)を知る。
callメソッド、applyメソッド、bindメソッドを使える。
DOM、StyleSheetなどをJavaScriptで操作できる。
ブラウザ間の実装に差異があることを理解する。(特にIE。凄くIEを気にする)

Lv3
prototype、コンストラクタ(JavaScriptでは関数)を用いた継承を完全に理解する。
DOMやCSSの操作を行うコードに関して適切なリファクトができる。
(もしくはそれに特化したライブラリなどを使用できる)
ブラウザ間の互換性を持たせることができる。
(もしくはそれを補完するライブラリのコードを理解できる)
OOP的設計(プロトタイプベース)を完全に理解し作成できる。

          • -

MAX
デファクトスタンダードと呼ばれるレベルのライブラリを自作する

……のような感じでステップアップするのがいいですよね。上手く言えないのでLvとか残念な表現になりましたが。
(Lv2の範囲がかなり大きい気がしますがLv2後半からLv3まで行けば十分JavaScriptを使えると言っていい気がします)

プロトタイプ定義はオブジェクトリテラルで

こう書くことで可読性が上がるし、オブジェクト名の変更にも強くなるんだ!

下記のプロトタイプ定義の記述方法をオブジェクトのリテラル表記といいます。

var a = function(){document.writeln("aaa");}

a.prototype = { outputAA : function(){return document.writeln('AA');},
		    outputBB : function(){return document.writeln('BB');}};

var c = new a();
document.writeln(c.outputAA());
document.writeln(c.outputBB());

プロトタイプオブジェクトを利用したメソッド定義

javascriptでガチガチのクラスを作ってはいけない。
なぜならインスタンス全てにそれらの定義がコピーされ、余計なメモリを食うからだ。

ということで、必要なメソッドはprototypeプロパティを使って定義しようという話です。
この場合、各インスタンスはメソッドの実体を持たず暗黙参照のみを持っているためスリムなのです。

var Member = function(firstname,lastname){
	this.firstname = firstname;
	this.lastname = lastname;
};

var member = new Member('tanaka','taro');
Member.prototype.getName = function(){
	return this.firstname + this.lastname;
};
document.writeln(member.getName());

大事なこと:JSはプロトタイプベースのオブジェクト指向
      クラスベースのオブジェクト指向とは異なる考え方が求められる。

インタラクティブという言葉についてのメモ

単語の意味メモです。

なぜだか頭に定着せず、忘れてしまうので。

 

インタラクティブ:双方向、対話式。

例えばgooglemapとかそうですよね。

ユーザの操作に応じてアプリケーションが拡大・縮小したり、

経路を示したり。

 

正直、バッチ処理以外はほとんどインタラクティブアプリケーションだよね?

業務系アプリとかも。

マーケットに対する向き合い方(志向)

ニーズを掴んで利益を上げることにも、様々な方向からのアプローチがあります。

 

・マーケットイン:顧客ニーズをもとにサービスを開発して売る

 近年の手法はこれが多い気がします。ユニクロやGU、無印良品など

 特別に新しい何かを提供しているわけではありませんが、

 特定ニーズを捉えた経営ビジョンのもとプロダクトを作っていますよね。

 顧客志向とも言えます。

 

・プロダクトアウト:作り手がいいと思ったものを開発して売る

 これは道のマーケットを開拓する可能性がある一方、ハードルも高いと思います。

 「売れるかどうかわからないけどやってみる」ってことですからね。

 しかし当たればマーケットリーダーとなれるわけですから夢も大きいです。

マーケティングについて

マーケティングとは

「ニーズに応えることで、利益を上げる」
そのための全てのアクションを言います。


アパレル業界などでよくある
「買ってもらうためのプッシュ」など(セリングという)
をせずとも、サービス自体が


「売れてしまう」


状態に持っていくのです。

※出典:マーケティング用語図鑑

 

経営よりの仕事に従事している人は4Pという単語を聞いたことがあるかもしれません。これもマーケティング用語です。正確には「マッカーシーの4P」というらしいです。

 PRODUCT:ニーズに合った製品(幅広い意味でサービス)
PRICE:ニーズに合った価格
PLACE:ニーズに合った商流
PLOMOTION:ニーズに合った販促行為

これらの中心にはターゲットとなる顧客が存在します。

顧客をセグメント化し、それぞれに適したマーケティングを行っていくことが

重要なようです。