SlideShare a Scribd company logo
1 of 41
Download to read offline
モテる JavaScript
日本マイクロソフト株式会社
デベロッパー& プ ラットフォーム統括本部
物江修
Twitter : osamum_MS
Blog : http://blogs.msdn.com/b/osamum/
目的
• 他人に見られて恥ずかしくない
コードを書く
• 格好良い JavaScript コードを
書いてモテる
アジェンダ
•知っておきたい JavaScript の
慣例的な記述方法とマナー
•使われているとなんかカッコ良い
JavaScript の機能
•最近、こんなふうに書いてます。
知っておきたい JavaScript の
慣例的な記述方法とマナー
変数/関数の命名規則
• 基本
var fistName; (キャメルケース)
• コンストラクタ
var calendar = new CalenderCtrl();
(先頭が大文字)
• this (現在の名前空間)
var that = this;
• 定数
var GENERAL_API_KEY = "4fh5cv$sp";
• プライベート
var _userName = "user01";
変数/関数を判別する工夫
•関数 : 動詞を先頭
ex) setHandler, getInfo, loadContent
•変数 : 単語間を _ (アンダースコア) で
ex) var first_name = "";
変数を宣言する場所
•関数の先頭
•すべての変数
function myFunc(){
var shopName;
var address;
var phone;
var catchCopy;
・
・
function myFunc(){
var shopName,
address,
phone,
catchCopy;
・
・
スコープ (1/2)
• JavaScript の変数スコープは関数単位
//変数 i と fullName のスコープは for 文内に閉じていな
い
for (var i = 0; i < length; i++) {
var fullName = items[i].firstName + " "
items[i].lastName;
:
//以下は期待どおりの動作とならない
for (var i=0; i<5; i++) {
console.log("Outer loop " + i);
for (var i=0; i<10; i++) {
console.log("Inner loop " + i);
}
}
• 宣言されていない変数は巻き上げられる
• 複数回宣言可能 (上書きれる)
スコープ (2/2)
function myFunc(){
$ = "Hello";
//jQuery を使用していた場合、正常に動作しなく
なる
意図しない名前空間の変数書き換え
⇒ 名前空間の汚染
名前空間を汚染しないための工夫
• “use strict” の使用
• 即時実行関数に閉じる
<script>
(function(){
"use strict";
onload = function(){
var variable1, variable2, variable3;
//ページ読み込み時の処理
};
function otherFunction(){ //関数の処理 };
})();
</script>
オブジェクトを利用した書き方(1)
var myUtil = {
methodA : function () {
//method A の処理
return resultValue;
},
methodB : function(arg){
//method B の処
理
return resultValue;
}
};
//呼び出し方
var variable = myUtil.methodA();
オブジェクトを利用した書き方(2)
var myUtil = {};
myUtil.methodA = function () {
//method A の処理
return resultValue;
};
myUtil.methodB = function (arg) {
//method B の処理
return resultValue;
};
//呼び出し方は同じ
var variable = myUtil.methodA();
中括弧({})の書き方 (1/2)
• 中括弧の開始タグの前で改行しない
• 暗黙的 ; (セミコロン) の挿入による意図
しない動作となる場合がある
function userInfo(){
return {
firstName : "ひろし",
lastName : "山田",
age : 23};
}
×〇
function userInfo()
{
return
{
firstName : "ひろし",
lastName : "山田",
age : 23};
}
エラーが発生
中括弧({})の書き方 (2/2)
• if 文は {} を省略せずに書く
if( itemslength == MAX_LENGTH) countLabel.innerText = "Full";
else countLabel.innerText = itemslength;
if( itemslength == MAX_LENGTH) {
countLabel.innerText = "Full";
}else{
countLabel.innerText = itemslength;
}
△
〇
DOM アクセスについて
• DOM ツリーを探すのでアクセスにはコストがかかる
• 2 回以上アクセスする際はインスタンスを変数に
//一般的に使用される DOM エレメントのインスタンスの取得法
var element = document.getElementById("エレメントの
ID");
.getElementByName("エレメントの名前");
.querySelector("CSS セレクタ");
.activeElement();
.all();
DOM アクセスの例
//非常に効率が悪い例
for(var i=0; i < document.getElementById(“itemList”).childNodes.length; i++){
document.getElementById("itemList").childNodes[i].innerText = "アイテム" +
i;
}
//ロスを減らした例
var nodes = document.getElementById("itemList").childNodes;
var length = nodes.length;
for(var i=0; i< length; i++){
nodes[i].innerText = "アイテム" + i;
}
ここまでのまとめ
•慣例的な記述方法
• 可読性を高めるため
• メンテナンス性を高めるため
• 意図しない動作を避けるため
• 他者に迷惑をかけないためのマナー
使われていると
なんかカッコ良い
JavaScript の機能
あいまいな評価の利用 (1/3)
• JavaScript の 5 つの false
以下はいずれも false と判断される
false
null
undefined
"" (空文字)
0
NaN (not a number)
if(stringData!="")
⇒ if(stringData)
あいまいな評価の利用 (2/3)
いろいろな使いみち
if(myObject) //オブジェクトのインスタンスの有
無
if(document.addEventListener) //メソッドの有無
if(items.length) //要素の有無 (数)
定義済み判定のさらに短い書式
//変数の初期値設定
function(stringArg){
stringArg = stringArg || "defaultValue";
//安全な名前空間の登録
var myApp = myApp||{};
•注意が必要な場合も
あいまいな評価 (3/3)
以下の式は正しく評価されない
console.log(0 == ''); //true
console.log(0 == '0'); //true
console.log(false == '0'); //true
console.log(null == undefined); //true
console.log(0 == 'trn'); //true
あいまいな評価を避けるには
===
!==
•厳密な評価が可能
イコール
Not イコール
console.log(null === undefined); //false
即時実行関数
• (function(){//処理})();
• 一か所からのみ呼び出される
• 名前空間を使用しない
var shopName = item.shopName;
var avgFare = item.avgFare;
var creditCard = (function(sepChar){
var dotList = "",
cardList = item.creditCardList,
length = cardList.length;
for(var i=0; i<= length; i++){
dotList += cardList[i].name + sepChar;
}
return dotList;
})(",");
クロージャー(1/3)
• 渡された引数の値を保持する
function makeAdder(x){
return function(y){
return x + y;
}
}
var add5 = makeAdder(5);
var add10 = makeAdder(10);
console.log(add5(2)); //7
console.log(add10(2)); //12
クロージャー(2/3)
[[scoope]]
makeAddr
add5
add10
function(y)
{return x + y}
[[scoope]]
function(y)
{return x + y}
[[scoope]]
[[scoope]]
x : 10
[[scoope]]
x : 5
function (x)
{
return
function( y )
{ }
}
クロージャー(2/3)
var ctrl_listView = document.getElementById("itemList"),
ctrl_item = null;
for(var i=0; i <=5; i++){
crtl_item = document.createElement("li");
crtl_item.innerText = "リンク" + i;
crtl_item.addEventListener("click",
function (index) {
return function(){
console.log(index
+ "番目がクリックされました。");
}
}(i)
, false);
ctrl_listView.appendChild(crtl_item);
}
• ex) リストに生成時のインデックスを保持
メソッドチェーン (1/2)
• ワンライナー(一行)で複数メソッドの呼び出し
• オブジェクトツリーの検索処理の軽減
01| myPage.setCtrl();
02| myPage.setHendler();
03| myPage.loadData();
01| myPage.setCtrl().setHendler().loadData();
メソッドチェーン (2/2)
var myPage = {
methodOne : function(){
console.log("ONE");
return this;
},
methodTwo : function(){
console.log("TWO");
return this;
},
methodThree : function(){
console.log("THREE");
return this;
}
}
//呼び出し
myPage.methodOne().methodTwo().methodThree();
ここまでのまとめ
• JavaScript の良い意味での「曖昧さ」
を理解してうまく使うことでコンパクト
で効率の良いコードが書ける
• 関数の実行タイミング、メモリの使われ
方をすることで頓智の効いたコードが書
ける
最近、こんなふうに
書いてます。
完結したページ/コントロールを
1 対 1 のオブジェクトで管理
var thisPage ={
ctrls:{
//コントロールの
//インスタンスを保持
},
init:{
//ページの初期化関数群
},
handlers:{
//イベントハンドラ群
},
util:{
//一般関数群
}
}
初期化オブジェクトの中身
var thisPage ={
ctrls:{
listBox:null
},
init:{
setCtrls:function(){
this.ctrl.listBox = id$("listBox");
return this;
},
setHandlers:function(){
this.ctrl.listBox.addEventListener("change",
this.hendlers.changeItem,false);
return this;
},
lenderPage:function(){ //listBox へのデータロード処理等
return this;
}
}
初期化メソッドの呼び方
onload = function(){
thisPage.init.setCtrls()
.setHandlers()
.lenderPage();
}
//正常時、エラー時に実行する関数を引数に
.lenderPage(success,error);
Web ページの場合の応用
・ブラウザ間のイベント設定の記述の違いを吸収する
var util ={
addEvent:null,
init: function () {
if(document.addEventListener) {
this.addEvent = function(element, type, handler){
element.addEventListener(type, handler, false);
}
}else if(document.attachEvent) {
this.addEvent = function(element, type, handler){
element.attachEvent('on' + type, handler);
}}}}
//初期化
util.init();
//イベントハンドラの設定
util.addEvent(document.getElementById("button"));
ここまでのまとめ
• インタラクティブに動作する Web アプ
リケーションは、ページをオブジェクト
を介して抽象化すると扱いやすい
まとめ
•日々是学び
•「オトコならシャツ一枚にもこ
だわれ」⇒「技術者ならコード
一行にこだわれ」
enjoy!
参考
O’RELLY Japan
JavaScript
http://www.oreilly.co.jp/books/9784873113296/
参考
O’RELLY Japan
JavaScript: The Good
Parts――「良いパーツ」による
ベストプラクティス
http://www.oreilly.co.jp/books/9784873113913/
参考
O’RELLY Japan
JavaScriptパターン
――優れたアプリケーションの
ための作法
http://www.oreilly.co.jp/books/9784873114880/
モテる JavaScript

More Related Content

What's hot

むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8civic Sasaki
 
メディア芸術基礎 II jQuery入門
メディア芸術基礎 II jQuery入門メディア芸術基礎 II jQuery入門
メディア芸術基礎 II jQuery入門Atsushi Tadokoro
 
JavaScript超入門 基礎
JavaScript超入門 基礎JavaScript超入門 基礎
JavaScript超入門 基礎tetsu6
 
これからのJavaScriptの話
これからのJavaScriptの話これからのJavaScriptの話
これからのJavaScriptの話Shogo Sensui
 
⑲jQueryをおぼえよう!その5
⑲jQueryをおぼえよう!その5⑲jQueryをおぼえよう!その5
⑲jQueryをおぼえよう!その5Nishida Kansuke
 
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!Yuji Nojima
 
JavaScriptで出来る、あんなことこんなこと
JavaScriptで出来る、あんなことこんなことJavaScriptで出来る、あんなことこんなこと
JavaScriptで出来る、あんなことこんなことMayu Kimura
 
[A 3]SSJSでも使える!Javascriptでオブジェクト指向プログラミング入門
[A 3]SSJSでも使える!Javascriptでオブジェクト指向プログラミング入門[A 3]SSJSでも使える!Javascriptでオブジェクト指向プログラミング入門
[A 3]SSJSでも使える!Javascriptでオブジェクト指向プログラミング入門Kazunori Tatsuki
 
Javascriptのあれやこれやをまとめて説明してみる
Javascriptのあれやこれやをまとめて説明してみるJavascriptのあれやこれやをまとめて説明してみる
Javascriptのあれやこれやをまとめて説明してみるShunji Konishi
 
TypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービューTypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービューAkira Inoue
 
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)parrotstudio
 
ECMAScript6による関数型プログラミング
ECMAScript6による関数型プログラミングECMAScript6による関数型プログラミング
ECMAScript6による関数型プログラミングTanUkkii
 
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
JavaScriptCore.framework の普通な使い方 #cocoa_kansaiJavaScriptCore.framework の普通な使い方 #cocoa_kansai
JavaScriptCore.framework の普通な使い方 #cocoa_kansaiTomohiro Kumagai
 
⑳CSSでアニメーション!その1
⑳CSSでアニメーション!その1⑳CSSでアニメーション!その1
⑳CSSでアニメーション!その1Nishida Kansuke
 
実践Backbone.Marionette 現場の悩みと解決まで
実践Backbone.Marionette 現場の悩みと解決まで実践Backbone.Marionette 現場の悩みと解決まで
実践Backbone.Marionette 現場の悩みと解決までRyuma Tsukano
 
javascript を Xcode でテスト
javascript を Xcode でテストjavascript を Xcode でテスト
javascript を Xcode でテストYoichiro Sakurai
 
⑮jQueryをおぼえよう!その1
⑮jQueryをおぼえよう!その1⑮jQueryをおぼえよう!その1
⑮jQueryをおぼえよう!その1Nishida Kansuke
 
jQuery Performance Tips – jQueryにおける高速化 -
jQuery Performance Tips – jQueryにおける高速化 -jQuery Performance Tips – jQueryにおける高速化 -
jQuery Performance Tips – jQueryにおける高速化 -Hayato Mizuno
 
JavaScriptの落とし穴
JavaScriptの落とし穴JavaScriptの落とし穴
JavaScriptの落とし穴ikdysfm
 
20110714 j queryベーシック
20110714 j queryベーシック20110714 j queryベーシック
20110714 j queryベーシック良太 増子
 

What's hot (20)

むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
 
メディア芸術基礎 II jQuery入門
メディア芸術基礎 II jQuery入門メディア芸術基礎 II jQuery入門
メディア芸術基礎 II jQuery入門
 
JavaScript超入門 基礎
JavaScript超入門 基礎JavaScript超入門 基礎
JavaScript超入門 基礎
 
これからのJavaScriptの話
これからのJavaScriptの話これからのJavaScriptの話
これからのJavaScriptの話
 
⑲jQueryをおぼえよう!その5
⑲jQueryをおぼえよう!その5⑲jQueryをおぼえよう!その5
⑲jQueryをおぼえよう!その5
 
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
 
JavaScriptで出来る、あんなことこんなこと
JavaScriptで出来る、あんなことこんなことJavaScriptで出来る、あんなことこんなこと
JavaScriptで出来る、あんなことこんなこと
 
[A 3]SSJSでも使える!Javascriptでオブジェクト指向プログラミング入門
[A 3]SSJSでも使える!Javascriptでオブジェクト指向プログラミング入門[A 3]SSJSでも使える!Javascriptでオブジェクト指向プログラミング入門
[A 3]SSJSでも使える!Javascriptでオブジェクト指向プログラミング入門
 
Javascriptのあれやこれやをまとめて説明してみる
Javascriptのあれやこれやをまとめて説明してみるJavascriptのあれやこれやをまとめて説明してみる
Javascriptのあれやこれやをまとめて説明してみる
 
TypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービューTypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービュー
 
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
 
ECMAScript6による関数型プログラミング
ECMAScript6による関数型プログラミングECMAScript6による関数型プログラミング
ECMAScript6による関数型プログラミング
 
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
JavaScriptCore.framework の普通な使い方 #cocoa_kansaiJavaScriptCore.framework の普通な使い方 #cocoa_kansai
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
 
⑳CSSでアニメーション!その1
⑳CSSでアニメーション!その1⑳CSSでアニメーション!その1
⑳CSSでアニメーション!その1
 
実践Backbone.Marionette 現場の悩みと解決まで
実践Backbone.Marionette 現場の悩みと解決まで実践Backbone.Marionette 現場の悩みと解決まで
実践Backbone.Marionette 現場の悩みと解決まで
 
javascript を Xcode でテスト
javascript を Xcode でテストjavascript を Xcode でテスト
javascript を Xcode でテスト
 
⑮jQueryをおぼえよう!その1
⑮jQueryをおぼえよう!その1⑮jQueryをおぼえよう!その1
⑮jQueryをおぼえよう!その1
 
jQuery Performance Tips – jQueryにおける高速化 -
jQuery Performance Tips – jQueryにおける高速化 -jQuery Performance Tips – jQueryにおける高速化 -
jQuery Performance Tips – jQueryにおける高速化 -
 
JavaScriptの落とし穴
JavaScriptの落とし穴JavaScriptの落とし穴
JavaScriptの落とし穴
 
20110714 j queryベーシック
20110714 j queryベーシック20110714 j queryベーシック
20110714 j queryベーシック
 

Similar to モテる JavaScript

⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2Nishida Kansuke
 
WordBench Kobe jQueryどうでしょう
WordBench Kobe jQueryどうでしょうWordBench Kobe jQueryどうでしょう
WordBench Kobe jQueryどうでしょうHishikawa Takuro
 
フロント作業の効率化
フロント作業の効率化フロント作業の効率化
フロント作業の効率化Yuto Yoshinari
 
よろしい、ならばMicro-ORMだ
よろしい、ならばMicro-ORMだよろしい、ならばMicro-ORMだ
よろしい、ならばMicro-ORMだNarami Kiyokura
 
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例までBuildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例までMasahiro Wakame
 
PHPフレームワーク入門
PHPフレームワーク入門PHPフレームワーク入門
PHPフレームワーク入門Sho A
 
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~normalian
 
ElasticSearch勉強会 第6回
ElasticSearch勉強会 第6回ElasticSearch勉強会 第6回
ElasticSearch勉強会 第6回Naoyuki Yamada
 
JavaScriptクイックスタート
JavaScriptクイックスタートJavaScriptクイックスタート
JavaScriptクイックスタートShumpei Shiraishi
 
⑱jQueryをおぼえよう!その4
⑱jQueryをおぼえよう!その4⑱jQueryをおぼえよう!その4
⑱jQueryをおぼえよう!その4Nishida Kansuke
 
Web制作勉強会 #2
Web制作勉強会 #2Web制作勉強会 #2
Web制作勉強会 #2Moto Yan
 
CodeIgniter入門
CodeIgniter入門CodeIgniter入門
CodeIgniter入門Sho A
 
T51 jQueryで学ぶJavaScriptでのフロント開発~ASP.NET MVC3もあるよっ!~
T51 jQueryで学ぶJavaScriptでのフロント開発~ASP.NET MVC3もあるよっ!~T51 jQueryで学ぶJavaScriptでのフロント開発~ASP.NET MVC3もあるよっ!~
T51 jQueryで学ぶJavaScriptでのフロント開発~ASP.NET MVC3もあるよっ!~normalian
 
㉗HTML5+jQueryでお絵かき
㉗HTML5+jQueryでお絵かき㉗HTML5+jQueryでお絵かき
㉗HTML5+jQueryでお絵かきNishida Kansuke
 
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所真吾 吉田
 
脱コピペ!デザイナーにもわかるPHPとWP_Query
脱コピペ!デザイナーにもわかるPHPとWP_Query脱コピペ!デザイナーにもわかるPHPとWP_Query
脱コピペ!デザイナーにもわかるPHPとWP_QueryHidekazu Ishikawa
 
Jubatusでマルウェア分類
Jubatusでマルウェア分類Jubatusでマルウェア分類
Jubatusでマルウェア分類Shuzo Kashihara
 

Similar to モテる JavaScript (20)

⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2
 
WordBench Kobe jQueryどうでしょう
WordBench Kobe jQueryどうでしょうWordBench Kobe jQueryどうでしょう
WordBench Kobe jQueryどうでしょう
 
フロント作業の効率化
フロント作業の効率化フロント作業の効率化
フロント作業の効率化
 
よろしい、ならばMicro-ORMだ
よろしい、ならばMicro-ORMだよろしい、ならばMicro-ORMだ
よろしい、ならばMicro-ORMだ
 
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例までBuildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
 
PHPフレームワーク入門
PHPフレームワーク入門PHPフレームワーク入門
PHPフレームワーク入門
 
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
 
ElasticSearch勉強会 第6回
ElasticSearch勉強会 第6回ElasticSearch勉強会 第6回
ElasticSearch勉強会 第6回
 
JavaScriptクイックスタート
JavaScriptクイックスタートJavaScriptクイックスタート
JavaScriptクイックスタート
 
⑱jQueryをおぼえよう!その4
⑱jQueryをおぼえよう!その4⑱jQueryをおぼえよう!その4
⑱jQueryをおぼえよう!その4
 
Web制作勉強会 #2
Web制作勉強会 #2Web制作勉強会 #2
Web制作勉強会 #2
 
CodeIgniter入門
CodeIgniter入門CodeIgniter入門
CodeIgniter入門
 
JavaScript 研修
JavaScript 研修JavaScript 研修
JavaScript 研修
 
Haikara
HaikaraHaikara
Haikara
 
T51 jQueryで学ぶJavaScriptでのフロント開発~ASP.NET MVC3もあるよっ!~
T51 jQueryで学ぶJavaScriptでのフロント開発~ASP.NET MVC3もあるよっ!~T51 jQueryで学ぶJavaScriptでのフロント開発~ASP.NET MVC3もあるよっ!~
T51 jQueryで学ぶJavaScriptでのフロント開発~ASP.NET MVC3もあるよっ!~
 
㉗HTML5+jQueryでお絵かき
㉗HTML5+jQueryでお絵かき㉗HTML5+jQueryでお絵かき
㉗HTML5+jQueryでお絵かき
 
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
 
脱コピペ!デザイナーにもわかるPHPとWP_Query
脱コピペ!デザイナーにもわかるPHPとWP_Query脱コピペ!デザイナーにもわかるPHPとWP_Query
脱コピペ!デザイナーにもわかるPHPとWP_Query
 
Jubatusでマルウェア分類
Jubatusでマルウェア分類Jubatusでマルウェア分類
Jubatusでマルウェア分類
 
つぶLT20121215
つぶLT20121215つぶLT20121215
つぶLT20121215
 

More from Osamu Monoe

高品質な Teams アプリを開発するためのポイント
高品質な Teams アプリを開発するためのポイント高品質な Teams アプリを開発するためのポイント
高品質な Teams アプリを開発するためのポイントOsamu Monoe
 
これでできる! Microsoft Teams アプリ開発のポイント徹底解説
これでできる! Microsoft Teams アプリ開発のポイント徹底解説これでできる! Microsoft Teams アプリ開発のポイント徹底解説
これでできる! Microsoft Teams アプリ開発のポイント徹底解説Osamu Monoe
 
Web プラットフォーム再考 ~PWA のもたらす未来の光と影~
Web プラットフォーム再考 ~PWA のもたらす未来の光と影~Web プラットフォーム再考 ~PWA のもたらす未来の光と影~
Web プラットフォーム再考 ~PWA のもたらす未来の光と影~Osamu Monoe
 
Microsoft Edge のFIDO サポート状況
Microsoft Edge のFIDO サポート状況Microsoft Edge のFIDO サポート状況
Microsoft Edge のFIDO サポート状況Osamu Monoe
 
JavaScript と Bot Service を使った Bot 開発
JavaScript と Bot Service を使った Bot 開発JavaScript と Bot Service を使った Bot 開発
JavaScript と Bot Service を使った Bot 開発Osamu Monoe
 
Web サーバー管理者のための Azure App Service 再入門
Web サーバー管理者のための Azure App Service 再入門Web サーバー管理者のための Azure App Service 再入門
Web サーバー管理者のための Azure App Service 再入門Osamu Monoe
 
NativeScript 環境のインストールとはじめてのプロジェクト実行
NativeScript 環境のインストールとはじめてのプロジェクト実行NativeScript 環境のインストールとはじめてのプロジェクト実行
NativeScript 環境のインストールとはじめてのプロジェクト実行Osamu Monoe
 
Microsoft Bot Framework と Cognitive Services を活用した 業務サポートBOT 構築
Microsoft Bot Framework とCognitive Services を活用した業務サポートBOT 構築Microsoft Bot Framework とCognitive Services を活用した業務サポートBOT 構築
Microsoft Bot Framework と Cognitive Services を活用した 業務サポートBOT 構築Osamu Monoe
 
JS で Bot つくろうぜ! ~刮目せよ!、これがMSのBot Framewok だ!!~
JS で Bot つくろうぜ! ~刮目せよ!、これがMSのBot Framewok だ!!~JS で Bot つくろうぜ! ~刮目せよ!、これがMSのBot Framewok だ!!~
JS で Bot つくろうぜ! ~刮目せよ!、これがMSのBot Framewok だ!!~Osamu Monoe
 
For every people achieve more : マイクロソフトの Inclusive Design について
For every people achieve more : マイクロソフトの Inclusive Design についてFor every people achieve more : マイクロソフトの Inclusive Design について
For every people achieve more : マイクロソフトの Inclusive Design についてOsamu Monoe
 
Movable Type から BOT を作ろう! ~ Data API と Microsoft BOT Framework ~
Movable Type から BOT を作ろう! ~ Data API と Microsoft BOT Framework ~Movable Type から BOT を作ろう! ~ Data API と Microsoft BOT Framework ~
Movable Type から BOT を作ろう! ~ Data API と Microsoft BOT Framework ~Osamu Monoe
 
Microsoft Edge 最新アップデートとこれから
Microsoft Edge 最新アップデートとこれからMicrosoft Edge 最新アップデートとこれから
Microsoft Edge 最新アップデートとこれからOsamu Monoe
 
Visual Studio 2015 を使用した Cordova アプリの開発
Visual Studio 2015 を使用した Cordova アプリの開発Visual Studio 2015 を使用した Cordova アプリの開発
Visual Studio 2015 を使用した Cordova アプリの開発Osamu Monoe
 
html5j Webプラットフォームの紹介
html5j Webプラットフォームの紹介html5j Webプラットフォームの紹介
html5j Webプラットフォームの紹介Osamu Monoe
 
Microsoft edge deep dive
Microsoft edge deep diveMicrosoft edge deep dive
Microsoft edge deep diveOsamu Monoe
 
Edge と IE、来年からの Web 制作
Edge と IE、来年からの Web 制作Edge と IE、来年からの Web 制作
Edge と IE、来年からの Web 制作Osamu Monoe
 
マイクロソフトにおけるエバンジェリズム活動
マイクロソフトにおけるエバンジェリズム活動マイクロソフトにおけるエバンジェリズム活動
マイクロソフトにおけるエバンジェリズム活動Osamu Monoe
 
Windows 10 のあたらしい Web ブラウザーの F12 開発者ツール
Windows 10 のあたらしい Web ブラウザーの F12 開発者ツールWindows 10 のあたらしい Web ブラウザーの F12 開発者ツール
Windows 10 のあたらしい Web ブラウザーの F12 開発者ツールOsamu Monoe
 
Microsoft Edgeで サポートされる 新しい API について
Microsoft Edgeでサポートされる新しい API についてMicrosoft Edgeでサポートされる新しい API について
Microsoft Edgeで サポートされる 新しい API についてOsamu Monoe
 

More from Osamu Monoe (20)

高品質な Teams アプリを開発するためのポイント
高品質な Teams アプリを開発するためのポイント高品質な Teams アプリを開発するためのポイント
高品質な Teams アプリを開発するためのポイント
 
PWA on Windows
PWA on Windows PWA on Windows
PWA on Windows
 
これでできる! Microsoft Teams アプリ開発のポイント徹底解説
これでできる! Microsoft Teams アプリ開発のポイント徹底解説これでできる! Microsoft Teams アプリ開発のポイント徹底解説
これでできる! Microsoft Teams アプリ開発のポイント徹底解説
 
Web プラットフォーム再考 ~PWA のもたらす未来の光と影~
Web プラットフォーム再考 ~PWA のもたらす未来の光と影~Web プラットフォーム再考 ~PWA のもたらす未来の光と影~
Web プラットフォーム再考 ~PWA のもたらす未来の光と影~
 
Microsoft Edge のFIDO サポート状況
Microsoft Edge のFIDO サポート状況Microsoft Edge のFIDO サポート状況
Microsoft Edge のFIDO サポート状況
 
JavaScript と Bot Service を使った Bot 開発
JavaScript と Bot Service を使った Bot 開発JavaScript と Bot Service を使った Bot 開発
JavaScript と Bot Service を使った Bot 開発
 
Web サーバー管理者のための Azure App Service 再入門
Web サーバー管理者のための Azure App Service 再入門Web サーバー管理者のための Azure App Service 再入門
Web サーバー管理者のための Azure App Service 再入門
 
NativeScript 環境のインストールとはじめてのプロジェクト実行
NativeScript 環境のインストールとはじめてのプロジェクト実行NativeScript 環境のインストールとはじめてのプロジェクト実行
NativeScript 環境のインストールとはじめてのプロジェクト実行
 
Microsoft Bot Framework と Cognitive Services を活用した 業務サポートBOT 構築
Microsoft Bot Framework とCognitive Services を活用した業務サポートBOT 構築Microsoft Bot Framework とCognitive Services を活用した業務サポートBOT 構築
Microsoft Bot Framework と Cognitive Services を活用した 業務サポートBOT 構築
 
JS で Bot つくろうぜ! ~刮目せよ!、これがMSのBot Framewok だ!!~
JS で Bot つくろうぜ! ~刮目せよ!、これがMSのBot Framewok だ!!~JS で Bot つくろうぜ! ~刮目せよ!、これがMSのBot Framewok だ!!~
JS で Bot つくろうぜ! ~刮目せよ!、これがMSのBot Framewok だ!!~
 
For every people achieve more : マイクロソフトの Inclusive Design について
For every people achieve more : マイクロソフトの Inclusive Design についてFor every people achieve more : マイクロソフトの Inclusive Design について
For every people achieve more : マイクロソフトの Inclusive Design について
 
Movable Type から BOT を作ろう! ~ Data API と Microsoft BOT Framework ~
Movable Type から BOT を作ろう! ~ Data API と Microsoft BOT Framework ~Movable Type から BOT を作ろう! ~ Data API と Microsoft BOT Framework ~
Movable Type から BOT を作ろう! ~ Data API と Microsoft BOT Framework ~
 
Microsoft Edge 最新アップデートとこれから
Microsoft Edge 最新アップデートとこれからMicrosoft Edge 最新アップデートとこれから
Microsoft Edge 最新アップデートとこれから
 
Visual Studio 2015 を使用した Cordova アプリの開発
Visual Studio 2015 を使用した Cordova アプリの開発Visual Studio 2015 を使用した Cordova アプリの開発
Visual Studio 2015 を使用した Cordova アプリの開発
 
html5j Webプラットフォームの紹介
html5j Webプラットフォームの紹介html5j Webプラットフォームの紹介
html5j Webプラットフォームの紹介
 
Microsoft edge deep dive
Microsoft edge deep diveMicrosoft edge deep dive
Microsoft edge deep dive
 
Edge と IE、来年からの Web 制作
Edge と IE、来年からの Web 制作Edge と IE、来年からの Web 制作
Edge と IE、来年からの Web 制作
 
マイクロソフトにおけるエバンジェリズム活動
マイクロソフトにおけるエバンジェリズム活動マイクロソフトにおけるエバンジェリズム活動
マイクロソフトにおけるエバンジェリズム活動
 
Windows 10 のあたらしい Web ブラウザーの F12 開発者ツール
Windows 10 のあたらしい Web ブラウザーの F12 開発者ツールWindows 10 のあたらしい Web ブラウザーの F12 開発者ツール
Windows 10 のあたらしい Web ブラウザーの F12 開発者ツール
 
Microsoft Edgeで サポートされる 新しい API について
Microsoft Edgeでサポートされる新しい API についてMicrosoft Edgeでサポートされる新しい API について
Microsoft Edgeで サポートされる 新しい API について
 

モテる JavaScript