2014年10月17日 星期五

[AJAX]隱含殺機的GET式AJAX資料更新

網路上看到這篇文章,覺得相當重要,所以做筆記囉 :D

來源:黑暗執行緒

jQuery的出現讓AJAX網頁用jQuery.ajax()傳來的參數,馬上就實現了AJAX式的資料查詢、新增、修改、刪除功能。但是,小心不要寫出如下的程式碼:

[jQuery] 小心使用AJAX防止Bug產生

其實AJAX我還沒學好,在研究的時候看到這篇覺得應該記錄一下 :D

來源:分享你的 Coding 新鮮事I love Coding and I like Sharing !


2014年10月16日 星期四

[JSON] 認識JSON

JSON之前學過了,但其實都在打瞌睡沒學好。這邊記錄網路的資料。

來源:http://j796160836.pixnet.net/blog/post/30530326-瞭解json格式

JSON全名叫做JavaScript Object Notation,就是在JavaScript之中,表示物件的一種格式。

既然是格式,為何這麼多人愛用,可以好好瞭解一下。

[JavaScript] with的用法

with這個東西平常很少見,想說上網查查時卻發現很多不同的說法。有人說少用,有人說很方便,那到底要用還是不要用呢?

來源:http://www.icoding.co/2013/02/javascript-with

如果您從沒用過with可以先看看MDN的說明。

2014年10月1日 星期三

[JavaScript] 使用即刻調用的函式運算式來建立區域範疇

《Effective JavaScript中文版》-David Herman。
這本書講到變數範疇時,這段看不太懂。書不是我的,先記下來。

這個(有錯的!)程式的計算結果為何?
function wrapElements(a) {
  var result = [] , i ,n;
  for (i = 0 , n = a.length ; i < n ; i++) {
    result[i] = function() { return a[i]; };
  }
  return result;
}

2014年9月30日 星期二

[JavaScript] Closures 閉包 -2

另外這本書對於Closures也寫得相當詳細,《Effective JavaScript中文版》-David Herman。

Closures(閉包)的概念對之前使用沒有支援這個功能的語言的程式設計師來說,可能很陌生,而初次見到它們時可能還會令人生畏。但請寬心吧,花費功夫去熟悉closures,絕對能夠回本還能到賺好幾倍。

[JavaScript] Closures 閉包 -1

前陣子在網路找文章時,忘記是哪個function,文章中提到了解Closures,此function就很好了解,那時候看的一知半解,好像很簡單卻好像沒搞懂,最近看書時也講到Closures,打算仔細了解做筆記。

來源:阮一峰的网络日志

2014年9月25日 星期四

[Java] Thread-safe 問題

之前在面試的時候被問過:如何解決Thread-saafe的問題。
那個時候回答不出來,之前學習時有講到執行緒 ( Thread ) ,但是沒有進一步討論Thread-safe的問題。現在這間公司由於是撰寫JSP,JSP經過APServer編譯後,也是使用Thread來執行,前輩提到這個問題時才想起之前有面試的一家公司問過這個問題。

[HTML] meta Tag 的使用相關

前陣子研究各家網頁的時候有發現,每個網頁的head裡面塞了相當多的meta Tag,一直不了解在做甚麼的,之前學到的也只有設定編碼而已,就像下面:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
w3schools.com時提到的也只有大概的功能,例如:

2014年9月23日 星期二

[JQuery] jQuery篩選器 parent , closest , parents , parentsUntil

這些篩選器都是找父親的,但具體用法不同。

.parent(expr) - 查找父親,只查一級,正宗的父親,表達是應該很少用。

.parents(expr) - 加了複數,就變成找多個父親了,從父親開始找,一直往上查,查到根元素,然後透過expr表達式過濾。

[JQuery] on ()

jQuery on()方法是官方推薦的榜訂事件的一個方法。
$(selector).on(event,childSelector,data,function,map)
由於此擴展開來的幾個以前常見的方法有:
bind():

$("p").bind("click",function(){
  alert("The paragraph was clicked.");
});

$("p").on("click",function(){
  alert("The paragraph was clicked.");
});

[JQuery] click() bind() live() delegate()

click() , bind() , live() 都是執行事件時使用的方法,他們之前是有些區別,我們在使用這些方法時應該根據需要進行選擇。

  1. click() 方法是我們經常使用的單擊事件方法:
  2. $("a").click(function() {
       alert("hello");
    });
    //點擊<a>時,輸出hello。
    

2014年9月2日 星期二

[JSP] About 2種include差別

在JSP中,include有分兩種

<%@include file="/footer.jsp" %>

<jsp:include page="/footer.jsp"></jsp:include>

第一種稱為指令元素

第二種稱為動作元素

2014年8月13日 星期三

[JavaScript] prototype & 物件導向

http://pulipuli.blogspot.tw/2010/09/javascriptprototype.html

[JavaScript] this

JavaScript裡面的this到底指的是甚麼?很多人都會告訴你this指的是當前對象。這樣理解對嗎?在大多數情況下確實沒錯。比如我們經常會在網頁上寫這樣的JavaScript:
<input type="submit" value="提交" onlick="this.value='提交數據'"/>
這裡的this顯然指的是當前對象,即這個提交按鈕。通常,我們使用this的情況都與此類似。但是有人麼情況不是這樣的呢?

大家看看這個例子:
var foo = function(){
    console.log(this);
}
foo();
new foo();
比較一下foo()和new foo()的執行結果,你會發現,前者的this指向的並非foo本身,而是當前頁面的window對象,而new foo()才真正的指向foo。這是為甚麼呢?

其實這牽涉到JavaScript的一條重要特性,就是所謂的"閉包(Closure)"。閉包這個概念說複雜也不複雜,但也不是簡單到能用一兩句話說清。現在,我要告訴大家的是,因為閉包的存在,JavaScript中的作用域變得相當重要。

所謂的作用域,簡單的說,就是創意一個函數時在甚麼環境下創建的。而this變數的值,如果沒有指定的話,就是函數當前的作用域。

在前面的例子裡,foo()函數是在全局作用域(這裡)


http://www.cnblogs.com/ruxpinsp1/archive/2008/04/20/1162463.html

[JavaScript] About Math

紀錄JavaScript的Math所有的method。

MethodDescription
abs(x)Returns the absolute value of x
acos(x)Returns the arccosine of x, in radians
asin(x)Returns the arcsine of x, in radians
atan(x)Returns the arctangent of x as a numeric value between -PI/2 and PI/2 radians

2014年8月12日 星期二

[JavaScript] About Node.js (備份)

http://www.nodebeginner.org/index-zh-tw.html
一篇關於Node.js的教學文章,備份先

http://nodejs.tw/
使用Node.js的台灣討論區

[JavaScript] About JavaScript (備份)

http://www.codedata.com.tw/javascript/getting-started/
此網站寫了很多關於JavaScript相關內容,等看完再來整理至Blog。

[JavaScript] About BOM Browser Object Model

書中有提到navigator物件的cookieEnabled特性,卻沒有詳細提到navigator物件的內容,所以上網找資料做功課,有的網站寫navigator是HTML DOM,也有網頁寫是BOM,讓我搞不太清楚到底在講什麼,最後找到一個地方講解的蠻清楚的,navigator及document都是window的子對象。參考來源:http://www.dreamdu.com/javascript/what_is_bom/

什麼是BOM

[Cookie&Session] 基本介紹

由於HTTP協定中stateless的性質,當每一次client在對Server發送request時,前後的要求並不會互相影響,server並不會紀錄之前的狀態,也因此可以使用較少的系統資源來服務較多的client,而要讓server記住client的行為與資料時,就需要cookies與session的協助。

2014年8月11日 星期一

[JavaScript] About Cookie

之前參加職訓局時,老師有提過Cookie及Session,但不知道實際上該如何使用,因工作上也許會使用JavaScript來存取Cookie,所以研究一下Cookie For JavaScript。

JavaScript設定Cookie寫法

JavaScript設定、刪除Cookie最簡易寫法如下:

[JavaScript] About indexOf

對於indexOf(),我自己很少使用到,所以在這邊做個筆記,提醒自己。

範例1:

[SQL] About COUNT

平常使用COUNT()時,都是針對某個欄位進行COUNT,計算出該欄位相同的值的筆數(搭配GROUP BY),這次遇到沒看過的COUNT(*),所以上網查一下。

Select Count(*) / Count(1) / Count(欄位名) 的差異:

在T-SQL裡有個Count()函數,使用相當的廣泛,但Select Count(*)、Select Count(1)、Select Count(欄位名稱),這三種寫法有什麼差別?

[SQL] About SUBSTRING

SQL中有substring,JAVA裡也有substring,我自己很容易把這兩個搞混,這次詳細的上網找找,看其中有什麼不同。

SQL:

SQL 中的 SUBSTRING 函數是用來抓出一個欄位資料中的其中一部分。這個函數的名稱在不同的資料庫中不完全一樣:

[SQL] About Limit & Offset

之前所學的SQL資料庫為MS SQLServer,新公司所使用的為Postgre;新進人員必須通過考試,其中考了一題為Limit及Offset用法;《O'REILLY深入淺出-SQL》有提到Limit,沒談到Offset,當然這題就錯了,考完上網查一下其實蠻簡單的,但是不支援SQLServer。至於Limit相當於SQLServer的TOP,至於Offset的話等我查到在做紀錄。

[JavaScript] About Math.random

網路上找到一篇有關於Math.random的文章,Make JavaScript Math.random() useful這篇是由Andrew Penry所寫,他將Javascript中的亂數函式Math.random()使用方式做了詳細說明。下列將原文的例子重新列表一次。

根據Andrew Penry的測試結果,使用floor的方法,各數出現的機率比較平均,所以floor會較好的選擇。

2014年8月8日 星期五

[JavaScript] About DOM Nodes

The HTML DOM Tree of Objects
DOM節點樹如上圖,這中間如要取值、新增、刪除皆有Method可用,O'Reilly深入簡出JavaScript書內提到的Method有: