SlideShare une entreprise Scribd logo
1  sur  63
Télécharger pour lire hors ligne
Objective
Front-End
JavaScript
自己紹介
me = {
name: "muyuu",
twitter: "@anticyborg",
belongs: "freelance",
job: "Web Front-End Engineer"
};
jQuery plugin
GOOD
• 早い
• 簡単
• 何だったらJS書けなくても何とかなる
BAD
• 変更に弱い
• プラグインにない機能を求められると詰む
• いつまで経ってもJS覚えられない
割と辛い思いをすることも多い
自分で作る
BAD
• 面倒
• 果たして望む機能を作れるのか
• プラグインみたいにすげーの作れるのか
GOOD
• すげーのはいらない。必要な機能だけあれば良い
• 追加機能が欲しくなったらその時足せば良い
• 変更時も理解しやすい(理解しやすいように書けば)
GOOD
• すげーのはいらない。必要な機能だけあれば良い
• 追加機能が欲しくなったらその時足せば良い
• 変更時も理解しやすい(理解しやすいように書けば)
JSの理解も深まるよ!
いいことだらけ
さぁ作ろう
いま作ろう
今回作るもの
Tab
何も考えずにタブを実装
$(function() {
// 最初の要素以外は非表示
$(".body li").not(":first").hide();
$(".tab a").click(function(){
// 表示するコンテンツのIDを取得
var target = $(this).attr("href").replace("#", "");
// コンテンツ部分を全部隠す
$(".body li").hide();
// クリックしたタブのhretと同じIDを持つ箇所だけを表示する
$(".body").find('#' + target).show();
return false;
});
});
problemas
パターンが増える度に
コードが倍増
$(function() {
// アニメーションするパターン
$(".body2 li").not(":first").hide();
$(".tab2 a").click(function(){
var target = $(this).attr("href").replace("#", "");
$(".body2 li").hide('slow');
$(".body2").find('#' + target).show('slow');
return false;
});
// ページ表示時は2つ目が開いてるパターン
$(".body3 li").not(":first").hide();
$(".tab3 a").click(function(){
var target = $(this).attr("href").replace("#", "");
$(".body3 li").hide('slow');
$(".body3").find('#' + target).show('slow');
return false;
});
});
solution
解決法
• タブの原型となるオブジェクトを作る
• 原型を元に実体を生成する
• 実体はパターン毎に生成する
object
オブジェクトとは、名前
と値を持つプロパティを
格納するコンテナにすぎ
ない
— 開眼!JavaScript
object sample
// コンストラクタ関数を使用して僕オブジェクトを生成
var muyuu = new Object();
//僕オブジェクトにプロパティを追加
muyuu.name = "muyuu";
muyuu.age = 33;
muyuu.gender = "male";
console.log(muyuu.age); // 33 と表示される
object sample
//オブジェクトに関数を追加する
muyuu.hello = function(){
console.log("Hello! I'm " + muyuu.name);
};
muyuu.hello();
// "Hello! I'm muyuu" と表示される
• プロパティが関数の場合は「メソッド」とも呼ばれる
コンストラクタ関数?
コンストラクタ関数
コンストラクタ関数とは、あらかじめ決められたオブジェクト
を生成するテンプレート、クッキーの抜き型のようなものだと
思ってください
— 開眼!JavaScript
コンストラクタ関数
var obj = new Object(); // オブジェクトを変数objに生成
var num = new Number(123); // 数値オブジェクトを変数numに生成
var str = new String('aaa'); // 文字列オブジェクトを変数strに生成
コンストラクタ関数
こんな感じのが実装されている
Object = function(){
//新しいオブジェクトを作るための処理
};
コンストラクタ関数で
独自オブジェクトを作る
コンストラクタ関数
僕オブジェクトのテンプレートとして人コンストラクタを作る
var Human = function(name, age, gender){
this.name = name;
this.age = age;
this.gender = gender;
this.hello = function (){
console.log("Hello! I'm " + this.name);
};
};
コンストラクタ関数
人コンストラクタで僕オブジェクトを作成
// Humanコンストラクタを使用して僕オブジェクトを生成
// 生成する際に僕のデータを引数で渡してあげれば
// コンストラクタの設定通りに生成される
var muyuu = new Human("muyuu", 33, "male");
// 挨拶をする
muyuu.hello(); // Hello! I'm muyuu と表示される
ちょっと寄り道して
も1歩深く
通常の関数の挙動
• 関数は通常、何かしらの処理をして何かしらの値を返す
• 何もreturnしない場合はfalse相当の値を返す
//return がある関数
function add(a,b){
return a + b;
}
console.log(add(1, 2)); // 3
// return がない関数
function alertAdd(a, b){
var add = a + b;
}
console.log(alertAdd()); // undefined
コンストラクタ関数の挙動
• オブジェクトを返している
var muyuu = new Human("muyuu", 33, "male");
console.log(muyuu);
// {
// name:"muyuu",
// age:33,
// gender: "male",
// hello: function
// }
Why?
new 演算子
• 関数はnew演算子を使って呼び出された場合、コンストラク
タ関数のthisの値として、生成されたオブジェクトとして設定
する
• new演算子を使って呼び出された場合にreturnを宣言してい
ない場合は通常falseを返すところを新たに生成されるオブジ
ェクト(this)を返すようになる
new 演算子
var Human = function(name, age, gender){
//new演算子で呼び出した場合、実はこの処理が入っている
// var this = new Object();
this.name = name;
this.age = age;
...
//new演算子で呼び出し、returnを行っていない場合
//実はthisを返している
//return this;
};
閑話休題
タブコンストラクタ作って
パターン毎に生成するぜ!
タブの実装に必要な機能
コンストラクタ呼び出し時に以下を指定
• タブのルートのクラス
• タブ部分のクラス
• コンテンツ部分のクラス
タブの実装に必要な機能
必要な機能
*今表示している要素の番号(何番目)
*今表示している要素が何番目かを知る機能
*タブを切り替える機能
*タブ切り替え時にクラスを付与する機能
コンストラクタを作成
// constructor
var Tab = function(param){
};
Tabコンストラクタを作成
コンストラクタ呼び出し時
var tab1 = new Tab({
root: ".tab", // タブのルート要素を指定
item: ".tabHead li", // タブ部分の他所を指定
body: ".tabBody li" // コンテンツ部分の他所を指定
});
コンストラクタ関数呼び出し時に、実際ページあるタブの要素
を新たに作るオブジェクトに設定するため、オプションとして
オブジェクトを渡す。
コンストラクタを作成
var Tab = function(param){
this.$root = $(param.root);
this.$item = this.$root.find(param.item);
this.$body = this.$root.find(param.body);
...
};
コンストラクタ実行時に渡された引数からjQueryオブジェクト
を保存
コンストラクタを作成
var Tab = function(param){
...
//カレントのタブとコンテンツに付与するclassを設定
this.adClass = 'current';
// カレントのコンテンツが何番目かを保存する変数を作成
this.currentIndex;
...
};
コンストラクタを作成
var Tab = function(param){
this.param = param // オプションを追加
...
};
コンストラクタを作成
var Tab = function(param){
...
this.init(); //ページ表示時に実行した処理を実行
//タブをクリックした際の挙動を設定
var self = this; // alias
this.$item.on("click", "a", function(){
self.setCurrent(this); // カレントをセット
self.change(); // タブを切り替え
});
};
コンストラクタを作成
// constructor
var Tab = function(param){
this.param = param;
this.$root = $(param.root);
this.$item = this.$root.find(param.item);
this.$body = this.$root.find(param.body);
this.adClass = 'current'; // class
this.currentIndex = 0; // current tab index
this.init(); // 初期化
var self = this; // alias
this.$item.on("click", "a", function(){ // evnet
self.setCurrent(this);
self.change();
});
};
必要な機能をコンストラクタに追加
ページ表示時に実行する関数
Tab.prototype.init = function(){
this.setCurrent(); // カレントをセット
this.change(); // タブを切り替え
};
必要な機能をコンストラクタに追加
カレントが何番目かを取得する関数
Tab.prototype.setCurrent = function(ele){
this.currentIndex = 0;
if (ele){
// 引数がタブの何番目の要素かを取得
var index = $(ele).parent().index();
// オブジェクト変数にセット
this.currentIndex = index;
}
};
必要な機能をコンストラクタに追加
タブを切り替える関数
Tab.prototype.change = function(){
this.changeTab(); // タブ部分を変更
this.changeBody(); // コンテンツ部分を変更
};
必要な機能をコンストラクタに追加
タブ部分の変更処理をまとめた関数
Tab.prototype.changeTab = function(){
this.$item
.removeClass(this.adClass) // 全部のタブからクラスを外して
.eq(this.currentIndex) // カレントのタブのみ
.addClass(this.adClass); // クラスを付与する
};
必要な機能をコンストラクタに追加
コンテンツ部分の変更処理をまとめた関数
Tab.prototype.changeBody = function(){
this.$body
.removeClass(this.adClass) // 全部のコンテンツからクラスを外して
.hide() // 非表示にして
.eq(this.currentIndex) // カレントのコンテンツのみ
.addClass(this.adClass) // クラスを付与して
.show(); // 表示する
};
完成
後は必要な機能を
必要になったら足すだけ
コンテンツの表示で
アニメーション足したい
該当関数を変更するだけ
Tab.prototype.changeBody = function(){
this.$body
.removeClass(this.adClass) // 全部のコンテンツからクラスを外して
.hide('slow') // 非表示にして
.eq(this.currentIndex) // カレントのコンテンツのみ
.addClass(this.adClass) // クラスを付与して
.show('slow'); // 表示する
};
アニメーションは
オプションにしたい
呼び出し時にオプションを追加
var tab1 = new Tab({
root: ".tab", // タブのルート要素を指定
item: ".tabHead li", // タブ部分の他所を指定
body: ".tabBody li", // コンテンツ部分の他所を指定
duration: true // アニメーションの指定
});
オプションによって挙動を変える
Tab.prototype.changeBody = function(){
this.$body
.removeClass(this.adClass) // 全部のコンテンツからクラスを外して
.hide(param.duration) // 非表示にして
.eq(this.currentIndex) // カレントのコンテンツのみ
.addClass(this.adClass) // クラスを付与して
.show(param.duration); // 表示する
};
呼び出し
var tab1 = new Tab({
root: ".tab", // タブのルート要素を指定
item: ".tabHead li", // タブ部分の他所を指定
body: ".tabBody li", // コンテンツ部分の他所を指定
});
var tab2 = new Tab({
root: ".otherTab", // タブのルート要素を指定
item: ".otherTabHead .tab", // タブ部分の他所を指定
body: ".otherTabBody .content", // コンテンツ部分の他所を指定
duration: 400
});
ステキ

Contenu connexe

En vedette

Svgアニメーションを実装してみよう 20150207
Svgアニメーションを実装してみよう 20150207Svgアニメーションを実装してみよう 20150207
Svgアニメーションを実装してみよう 20150207Kanako Kobayashi
 
BuddyPressで街のポータルサイトを作ろう
BuddyPressで街のポータルサイトを作ろうBuddyPressで街のポータルサイトを作ろう
BuddyPressで街のポータルサイトを作ろう松田 千尋
 
React.jsでHowManyPizza
React.jsでHowManyPizzaReact.jsでHowManyPizza
React.jsでHowManyPizza松田 千尋
 
20141022 リサーチ向け・ブラウザだけでスクレイピング(浅野)
20141022 リサーチ向け・ブラウザだけでスクレイピング(浅野) 20141022 リサーチ向け・ブラウザだけでスクレイピング(浅野)
20141022 リサーチ向け・ブラウザだけでスクレイピング(浅野) Hirosuke Asano
 
第3回Webスクレイピング勉強会@東京 happyou.info
第3回Webスクレイピング勉強会@東京 happyou.info第3回Webスクレイピング勉強会@東京 happyou.info
第3回Webスクレイピング勉強会@東京 happyou.infoShogo Okamoto
 
ソーシャル・スクレイピング(2014年10月Webスクレイピング勉強会資料)
ソーシャル・スクレイピング(2014年10月Webスクレイピング勉強会資料)ソーシャル・スクレイピング(2014年10月Webスクレイピング勉強会資料)
ソーシャル・スクレイピング(2014年10月Webスクレイピング勉強会資料)yuzoakakura
 
Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップス
Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップスScraping withawsAWSを利用してスクレイピングの悩みを解決するチップス
Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップスTakuro Sasaki
 
サイト/ブログから本文抽出する方法
サイト/ブログから本文抽出する方法サイト/ブログから本文抽出する方法
サイト/ブログから本文抽出する方法Takuro Sasaki
 
大規模ログ分析におけるAmazon Web Servicesの活用
大規模ログ分析におけるAmazon Web Servicesの活用大規模ログ分析におけるAmazon Web Servicesの活用
大規模ログ分析におけるAmazon Web Servicesの活用Shintaro Takemura
 
Webクローリング&スクレイピングの最前線 公開用
Webクローリング&スクレイピングの最前線 公開用Webクローリング&スクレイピングの最前線 公開用
Webクローリング&スクレイピングの最前線 公開用Lumin Hacker
 
オープンデータ・パーソナルデータビジネス最前線
オープンデータ・パーソナルデータビジネス最前線オープンデータ・パーソナルデータビジネス最前線
オープンデータ・パーソナルデータビジネス最前線直之 伊藤
 
クローリングしにくいものに挑戦 公開用
クローリングしにくいものに挑戦 公開用クローリングしにくいものに挑戦 公開用
クローリングしにくいものに挑戦 公開用Lumin Hacker
 
WordCamp Tokyo2016itkaasan
WordCamp Tokyo2016itkaasanWordCamp Tokyo2016itkaasan
WordCamp Tokyo2016itkaasan松田 千尋
 
オープニングトーク - 創設の思い・目的・進行方針  -データマイニング+WEB勉強会@東京
オープニングトーク - 創設の思い・目的・進行方針  -データマイニング+WEB勉強会@東京オープニングトーク - 創設の思い・目的・進行方針  -データマイニング+WEB勉強会@東京
オープニングトーク - 創設の思い・目的・進行方針  -データマイニング+WEB勉強会@東京Koichi Hamada
 
クラウドネイティブなアーキテクチャでサクサク解析
クラウドネイティブなアーキテクチャでサクサク解析クラウドネイティブなアーキテクチャでサクサク解析
クラウドネイティブなアーキテクチャでサクサク解析Yuta Imai
 
実践Excelスクレイピング
実践Excelスクレイピング実践Excelスクレイピング
実践Excelスクレイピング宏明 塩原
 

En vedette (17)

Js祭り
Js祭りJs祭り
Js祭り
 
Svgアニメーションを実装してみよう 20150207
Svgアニメーションを実装してみよう 20150207Svgアニメーションを実装してみよう 20150207
Svgアニメーションを実装してみよう 20150207
 
BuddyPressで街のポータルサイトを作ろう
BuddyPressで街のポータルサイトを作ろうBuddyPressで街のポータルサイトを作ろう
BuddyPressで街のポータルサイトを作ろう
 
React.jsでHowManyPizza
React.jsでHowManyPizzaReact.jsでHowManyPizza
React.jsでHowManyPizza
 
20141022 リサーチ向け・ブラウザだけでスクレイピング(浅野)
20141022 リサーチ向け・ブラウザだけでスクレイピング(浅野) 20141022 リサーチ向け・ブラウザだけでスクレイピング(浅野)
20141022 リサーチ向け・ブラウザだけでスクレイピング(浅野)
 
第3回Webスクレイピング勉強会@東京 happyou.info
第3回Webスクレイピング勉強会@東京 happyou.info第3回Webスクレイピング勉強会@東京 happyou.info
第3回Webスクレイピング勉強会@東京 happyou.info
 
ソーシャル・スクレイピング(2014年10月Webスクレイピング勉強会資料)
ソーシャル・スクレイピング(2014年10月Webスクレイピング勉強会資料)ソーシャル・スクレイピング(2014年10月Webスクレイピング勉強会資料)
ソーシャル・スクレイピング(2014年10月Webスクレイピング勉強会資料)
 
Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップス
Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップスScraping withawsAWSを利用してスクレイピングの悩みを解決するチップス
Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップス
 
サイト/ブログから本文抽出する方法
サイト/ブログから本文抽出する方法サイト/ブログから本文抽出する方法
サイト/ブログから本文抽出する方法
 
大規模ログ分析におけるAmazon Web Servicesの活用
大規模ログ分析におけるAmazon Web Servicesの活用大規模ログ分析におけるAmazon Web Servicesの活用
大規模ログ分析におけるAmazon Web Servicesの活用
 
Webクローリング&スクレイピングの最前線 公開用
Webクローリング&スクレイピングの最前線 公開用Webクローリング&スクレイピングの最前線 公開用
Webクローリング&スクレイピングの最前線 公開用
 
オープンデータ・パーソナルデータビジネス最前線
オープンデータ・パーソナルデータビジネス最前線オープンデータ・パーソナルデータビジネス最前線
オープンデータ・パーソナルデータビジネス最前線
 
クローリングしにくいものに挑戦 公開用
クローリングしにくいものに挑戦 公開用クローリングしにくいものに挑戦 公開用
クローリングしにくいものに挑戦 公開用
 
WordCamp Tokyo2016itkaasan
WordCamp Tokyo2016itkaasanWordCamp Tokyo2016itkaasan
WordCamp Tokyo2016itkaasan
 
オープニングトーク - 創設の思い・目的・進行方針  -データマイニング+WEB勉強会@東京
オープニングトーク - 創設の思い・目的・進行方針  -データマイニング+WEB勉強会@東京オープニングトーク - 創設の思い・目的・進行方針  -データマイニング+WEB勉強会@東京
オープニングトーク - 創設の思い・目的・進行方針  -データマイニング+WEB勉強会@東京
 
クラウドネイティブなアーキテクチャでサクサク解析
クラウドネイティブなアーキテクチャでサクサク解析クラウドネイティブなアーキテクチャでサクサク解析
クラウドネイティブなアーキテクチャでサクサク解析
 
実践Excelスクレイピング
実践Excelスクレイピング実践Excelスクレイピング
実践Excelスクレイピング
 

Similaire à Objective Front-End JavaScript

Javascripでオブジェクト指向
Javascripでオブジェクト指向Javascripでオブジェクト指向
Javascripでオブジェクト指向1000 VICKY
 
Knockout.js を利用したインタラクティブ web アプリケーション開発
Knockout.js を利用したインタラクティブ web アプリケーション開発Knockout.js を利用したインタラクティブ web アプリケーション開発
Knockout.js を利用したインタラクティブ web アプリケーション開発Daizen Ikehara
 
View customize pluginを使いこなす
View customize pluginを使いこなすView customize pluginを使いこなす
View customize pluginを使いこなすonozaty
 
第4回REST勉強会 RequireJS編
第4回REST勉強会 RequireJS編第4回REST勉強会 RequireJS編
第4回REST勉強会 RequireJS編ksimoji
 
BluemixでGWTアプリケーションを動かす(2)
BluemixでGWTアプリケーションを動かす(2)BluemixでGWTアプリケーションを動かす(2)
BluemixでGWTアプリケーションを動かす(2)Shisei Hanai
 
Couch Db勉強会0623 by yssk22
Couch Db勉強会0623 by yssk22Couch Db勉強会0623 by yssk22
Couch Db勉強会0623 by yssk22Yohei Sasaki
 
ScaLa+Liftとか
ScaLa+LiftとかScaLa+Liftとか
ScaLa+Liftとかyouku
 
お手軽Ajaxアプリケーションの作り方
お手軽Ajaxアプリケーションの作り方お手軽Ajaxアプリケーションの作り方
お手軽Ajaxアプリケーションの作り方Shunji Konishi
 
Jetpack Library 事始め
Jetpack Library 事始めJetpack Library 事始め
Jetpack Library 事始めTomohiro Kaizu
 
WordBench Kobe jQueryどうでしょう
WordBench Kobe jQueryどうでしょうWordBench Kobe jQueryどうでしょう
WordBench Kobe jQueryどうでしょうHishikawa Takuro
 
"あんざいゆき" x "秋葉ちひろ" はカンファレンスアプリをどう作るのか?
"あんざいゆき" x "秋葉ちひろ" はカンファレンスアプリをどう作るのか?"あんざいゆき" x "秋葉ちひろ" はカンファレンスアプリをどう作るのか?
"あんざいゆき" x "秋葉ちひろ" はカンファレンスアプリをどう作るのか?Yuki Anzai
 
Flash Builder4 と FlashCatalyst を使ってみた
Flash Builder4 と FlashCatalyst を使ってみたFlash Builder4 と FlashCatalyst を使ってみた
Flash Builder4 と FlashCatalyst を使ってみたguest0ba46c3
 
ECMAScript6による関数型プログラミング
ECMAScript6による関数型プログラミングECMAScript6による関数型プログラミング
ECMAScript6による関数型プログラミングTanUkkii
 
脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルに脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルにHiroko Tamagawa
 
Azure Functions 入門
Azure Functions 入門Azure Functions 入門
Azure Functions 入門jz5 MATSUE
 
プロパティディスクリプタとその拡張ライブラリ
プロパティディスクリプタとその拡張ライブラリプロパティディスクリプタとその拡張ライブラリ
プロパティディスクリプタとその拡張ライブラリYusuke Muraoka
 

Similaire à Objective Front-End JavaScript (19)

Javascripでオブジェクト指向
Javascripでオブジェクト指向Javascripでオブジェクト指向
Javascripでオブジェクト指向
 
Knockout.js を利用したインタラクティブ web アプリケーション開発
Knockout.js を利用したインタラクティブ web アプリケーション開発Knockout.js を利用したインタラクティブ web アプリケーション開発
Knockout.js を利用したインタラクティブ web アプリケーション開発
 
Jetpack Workshop
Jetpack WorkshopJetpack Workshop
Jetpack Workshop
 
View customize pluginを使いこなす
View customize pluginを使いこなすView customize pluginを使いこなす
View customize pluginを使いこなす
 
Dotnetconf2017
Dotnetconf2017Dotnetconf2017
Dotnetconf2017
 
第4回REST勉強会 RequireJS編
第4回REST勉強会 RequireJS編第4回REST勉強会 RequireJS編
第4回REST勉強会 RequireJS編
 
BluemixでGWTアプリケーションを動かす(2)
BluemixでGWTアプリケーションを動かす(2)BluemixでGWTアプリケーションを動かす(2)
BluemixでGWTアプリケーションを動かす(2)
 
Couch Db勉強会0623 by yssk22
Couch Db勉強会0623 by yssk22Couch Db勉強会0623 by yssk22
Couch Db勉強会0623 by yssk22
 
ScaLa+Liftとか
ScaLa+LiftとかScaLa+Liftとか
ScaLa+Liftとか
 
お手軽Ajaxアプリケーションの作り方
お手軽Ajaxアプリケーションの作り方お手軽Ajaxアプリケーションの作り方
お手軽Ajaxアプリケーションの作り方
 
Jetpack Library 事始め
Jetpack Library 事始めJetpack Library 事始め
Jetpack Library 事始め
 
WordBench Kobe jQueryどうでしょう
WordBench Kobe jQueryどうでしょうWordBench Kobe jQueryどうでしょう
WordBench Kobe jQueryどうでしょう
 
"あんざいゆき" x "秋葉ちひろ" はカンファレンスアプリをどう作るのか?
"あんざいゆき" x "秋葉ちひろ" はカンファレンスアプリをどう作るのか?"あんざいゆき" x "秋葉ちひろ" はカンファレンスアプリをどう作るのか?
"あんざいゆき" x "秋葉ちひろ" はカンファレンスアプリをどう作るのか?
 
Flash Builder4 と FlashCatalyst を使ってみた
Flash Builder4 と FlashCatalyst を使ってみたFlash Builder4 と FlashCatalyst を使ってみた
Flash Builder4 と FlashCatalyst を使ってみた
 
ECMAScript6による関数型プログラミング
ECMAScript6による関数型プログラミングECMAScript6による関数型プログラミング
ECMAScript6による関数型プログラミング
 
脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルに脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルに
 
JavaScript入門
JavaScript入門JavaScript入門
JavaScript入門
 
Azure Functions 入門
Azure Functions 入門Azure Functions 入門
Azure Functions 入門
 
プロパティディスクリプタとその拡張ライブラリ
プロパティディスクリプタとその拡張ライブラリプロパティディスクリプタとその拡張ライブラリ
プロパティディスクリプタとその拡張ライブラリ
 

Plus de Muyuu Fujita

Start React with Browserify
Start React with BrowserifyStart React with Browserify
Start React with BrowserifyMuyuu Fujita
 
小規模案件で作られた秘伝のタレ
小規模案件で作られた秘伝のタレ小規模案件で作られた秘伝のタレ
小規模案件で作られた秘伝のタレMuyuu Fujita
 
閉じタグを超えた先に僕が見た景色とは
閉じタグを超えた先に僕が見た景色とは閉じタグを超えた先に僕が見た景色とは
閉じタグを超えた先に僕が見た景色とはMuyuu Fujita
 
JavaScriptと共に歩いて行く決意をした君へ
JavaScriptと共に歩いて行く決意をした君へJavaScriptと共に歩いて行く決意をした君へ
JavaScriptと共に歩いて行く決意をした君へMuyuu Fujita
 
非ガチ勢「よし、Coffee script使おう!」
非ガチ勢「よし、Coffee script使おう!」非ガチ勢「よし、Coffee script使おう!」
非ガチ勢「よし、Coffee script使おう!」Muyuu Fujita
 
あの時AngularJSと出会った僕らは
あの時AngularJSと出会った僕らはあの時AngularJSと出会った僕らは
あの時AngularJSと出会った僕らはMuyuu Fujita
 
デザイナー向け 初めてのPhp ~サイト制作に役立つtips~
デザイナー向け 初めてのPhp ~サイト制作に役立つtips~デザイナー向け 初めてのPhp ~サイト制作に役立つtips~
デザイナー向け 初めてのPhp ~サイト制作に役立つtips~Muyuu Fujita
 
Cssアニメーションとその制御
Cssアニメーションとその制御Cssアニメーションとその制御
Cssアニメーションとその制御Muyuu Fujita
 
WordPressで企業サイトのテーマを作る
WordPressで企業サイトのテーマを作るWordPressで企業サイトのテーマを作る
WordPressで企業サイトのテーマを作るMuyuu Fujita
 
WPerのWPerによるWPerのためのPHP入門
WPerのWPerによるWPerのためのPHP入門WPerのWPerによるWPerのためのPHP入門
WPerのWPerによるWPerのためのPHP入門Muyuu Fujita
 
ノンプログラマのGit入門
ノンプログラマのGit入門ノンプログラマのGit入門
ノンプログラマのGit入門Muyuu Fujita
 
Html5でword pressテーマを作るよ!
Html5でword pressテーマを作るよ!Html5でword pressテーマを作るよ!
Html5でword pressテーマを作るよ!Muyuu Fujita
 

Plus de Muyuu Fujita (14)

Hello npm
Hello npmHello npm
Hello npm
 
Learn ES2015
Learn ES2015Learn ES2015
Learn ES2015
 
Start React with Browserify
Start React with BrowserifyStart React with Browserify
Start React with Browserify
 
小規模案件で作られた秘伝のタレ
小規模案件で作られた秘伝のタレ小規模案件で作られた秘伝のタレ
小規模案件で作られた秘伝のタレ
 
閉じタグを超えた先に僕が見た景色とは
閉じタグを超えた先に僕が見た景色とは閉じタグを超えた先に僕が見た景色とは
閉じタグを超えた先に僕が見た景色とは
 
JavaScriptと共に歩いて行く決意をした君へ
JavaScriptと共に歩いて行く決意をした君へJavaScriptと共に歩いて行く決意をした君へ
JavaScriptと共に歩いて行く決意をした君へ
 
非ガチ勢「よし、Coffee script使おう!」
非ガチ勢「よし、Coffee script使おう!」非ガチ勢「よし、Coffee script使おう!」
非ガチ勢「よし、Coffee script使おう!」
 
あの時AngularJSと出会った僕らは
あの時AngularJSと出会った僕らはあの時AngularJSと出会った僕らは
あの時AngularJSと出会った僕らは
 
デザイナー向け 初めてのPhp ~サイト制作に役立つtips~
デザイナー向け 初めてのPhp ~サイト制作に役立つtips~デザイナー向け 初めてのPhp ~サイト制作に役立つtips~
デザイナー向け 初めてのPhp ~サイト制作に役立つtips~
 
Cssアニメーションとその制御
Cssアニメーションとその制御Cssアニメーションとその制御
Cssアニメーションとその制御
 
WordPressで企業サイトのテーマを作る
WordPressで企業サイトのテーマを作るWordPressで企業サイトのテーマを作る
WordPressで企業サイトのテーマを作る
 
WPerのWPerによるWPerのためのPHP入門
WPerのWPerによるWPerのためのPHP入門WPerのWPerによるWPerのためのPHP入門
WPerのWPerによるWPerのためのPHP入門
 
ノンプログラマのGit入門
ノンプログラマのGit入門ノンプログラマのGit入門
ノンプログラマのGit入門
 
Html5でword pressテーマを作るよ!
Html5でword pressテーマを作るよ!Html5でword pressテーマを作るよ!
Html5でword pressテーマを作るよ!
 

Dernier

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 

Dernier (8)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 

Objective Front-End JavaScript