javascript 同步互斥

javascript 是单线程的,但是事件,ajax回调,setTimeout等却是可以造成异步的。这让我有点有些担心,在写函数时是否需要注意数据互斥同步的情况?

我们需要认识到javascript的单线程的特性,它是一门可重入语言,每个函数调用都是原子的,它的事件回调也都是线性序列的,因此对于函数内部的每个数据都可以放心认为它是只被当前函数占有的。这句话是说在函数里面的数据访问修改都不用担心另外的线程可能修改它,你只注意不要自己在这个函数里面修改了它而自己还没注意,比如循环数组时又把这个数组中的某个元素给删除了。

下面的代码证实了这一原理:

>(function() { var data = [1, 2, 3, 4, 5, 6, 7, 8, 9];

Continue reading javascript 同步互斥

不用表格垂直居中

先看这篇文章:

http://www.qianduan.net/css-to-achieve-the-vertical-center-of-the-five-kinds-of-methods.html

第一种方法使用display:table,这个ie不兼容

第二中使用绝对定位,不好用

第三个使用固定高度,在居中div之前加个浮动div。文章说这个最常用,但是它要居中div高度可知,那么这个只能用于宏观排版了,我认为主要场合是页面整体布局时,这个时候高度确实应该是固定的。一般不固定高度的也不会需要水平居中。

第四个固定高度,绝对定位,而且不兼容ie,可以忽略。

第五个适合单行文本置中切高度可知。

Continue reading 不用表格垂直居中

javascript闭包

关于闭包,要说清楚那要说半天,见我转载的文章:http://blog.ureshika.com/archives/257.html

我来说说这个经典问题:

<script language="javascript" type="text/javascript"> 
var li=document.getElementsByTagName("li"); 
for(var i=0;i<li.length;i++){ 
  li[i].onclick=function(){alert(i);} 
} 
</script>

执行结果很“古怪”,每个li元素点击时都是显示相同的提示。

实际上理解了闭包的原理就很清楚了。

所谓闭包即函数定义和函数表达式位于另一个函数的函数体内。而且,这些内部函数可以访问它们所在的外部函数中声明的所有局部变量、参数和声明的其他内部函数。

重点是它可以访问上层范围的局部变量,闭包执行时它如果访问上层变量,那么访问到的是上层变量在闭包执行时的值。

这样就好理解所谓的经典问题了:

代码中闭包中访问了i是上层变量,这个循环结束后,i值为li元素的个数,当点击li元素时执行闭包,那么自然就是固定的值了。

正是具有这种特性闭包才如此的灵活。假如访问的上层变量是定义闭包时的值,那么闭包就不是闭包了。

Continue reading javascript闭包

通过邮编获得时区 fetch timezone from zip code

通过邮编获得时区可以通过http://www.geonames.org 提供的服务来做到:

首先你要注册成他的账户,激活免费服务。

然后看其文挡http://www.geonames.org/export/web-services.html

这网站是好人,免费啊。

首先调用Postal Code Search

api.geonames.org/postalCodeSearchJSON?postalcode=邮编参数&maxRows=1&username=你的用户名

此调用返回进度和纬度

{
	"postalCodes" : [{
				"adminName2" : "Gwinnett",//上级地区名
				"adminCode2" : "135",
				"adminCode1" : "GA",
				"postalCode" : "

xxxxxxx",
"countryCode" : "US",
"lng" : -123.123123,
"placeName" : "xxxxxxx",
"lat" : 12.12312312,
"adminName1" : "Georgia"//上上级地区名,省
}]
}

然后调用Timezone Search

http://api.geonames.org/timezoneJSON?lat=纬度参数&lng=经度参数&username=你的用户名

此调用返回目标地区当前时间,时区

{
	"time" : "2011-12-29 03:05",
	"countryName" : "United States",
	"sunset" : "2011-12-29 17:36",
	"rawOffset" : -5,
	"dstOffset" : -4,
	"countryCode" : "US",
	"gmtOffset" : -5,
	"lng" : -123.123123,
	"sunrise" : "2011-12-29 07:41",
	"timezoneId" : "America/New_York",
	"lat" : 12.12312312
}

Continue reading 通过邮编获得时区 fetch timezone from zip code

免费的sip电话,绑定到gvoice

对于voip开发来说,测试是个麻烦事,最好是有个sip电话,且可以打得通的。

这篇文章:

10款国外免费VoIP服务 http://blog.ureshika.com/archives/714.html

里面的我都试过,首先发现iptel  http://www.iptel.org/service 似乎可以用,它提供免费sip账号,可是我使用xlite和它官方推荐的jitsi都连不通。只好作罢。

关于它的配置可以参考这个 http://blog.ureshika.com/archives/715.html   写得很详细

最后还是使用gtalk2voip,它也是提供sip免费账户的。

https://www.gtalk2voip.com/gtalk_service_fromsip.shtml

只要在gtalk中添加service@gtalk2voip.com机器人

添加成功后你就具有一个免费的sip号码了,加入你的gtalk账号是abc@gvoice.com那么你的sip就是abc@gtalk2voip.com 这样对这个账号的呼叫就可以转到gtalk来应答了。

另外你也可以使用sip Broker来直接使用固定电话打到gtalk上来,

http://www.gtalk2voip.com/gtalk_service_sipbroker.shtml

这一切的前提是你必须有个gvoice账号,那就是说你要有个可以绑定的北美地区电话。

so ……, 你懂的!

Continue reading 免费的sip电话,绑定到gvoice

【转】谷歌語音集成到Asterisk

转自:http://www.tux89.com/telephonie/integration-google-voice-a-asterisk/?lang=zh-tw

谷歌語音集成到Asterisk

你想要使用谷歌語音, 但你不居住在美利堅合眾國, 然後知道,這是可能的. 你怎麼說 ? 簡單, 閱讀本節 ! 但是,什麼是谷歌語音 ? 下面是一個簡單的定義 維基百科 :

« 谷歌語音 是一家電信服務 (電話和 短信) 谷歌推出的建議 11 3月 2009 美國. 這項服務通常是保留給美國居民, 但一些職能 (網絡電話, 通話記錄) 是提供給非​​美國人誰 Gmail的 美國英語和 谷歌實驗室 激活. »

有趣的是,谷歌目前提供電話到北美,不需任何費用的年底 2011. 再經過 ! 為什麼不利用這個機會向谷歌整合Asterisk的語音,從而有了一種代替 MagicJack. 不同的方法存在Asterisk的語音接口到谷歌. 該方法需要,我們在這裡看到的設備命名 歐倍德. 該設備的生產商是OBIHAI,對面就是MagicJack, 俄不需要連接到電腦操作, 因為它是一個完全獨立的設備.

OBI Asterisk

歐倍德 110

國際文憑組織提供 幾種可能性, 其中包括可以直接連接到谷歌語音使用Jabber帳戶作為協議. 這使您可以直接接聽電話,手機連接到歐. 通過手機連接的端口歐倍德一個 FXO端口到Asterisk, 我們可以做一個谷歌到Asterisk語音主幹. 通過, 我買了歐倍德 110 在eBay為 60美元.

下面是步驟,為實施此解決方案.

有Gmail帳戶

如果你還沒有一, 按照此 鏈接 與您共創一個帳戶.

Création Google Voice

為了使全谷歌語音激活, 你需要一個電話號碼與美國領土. 要做到, 你需要兩件事情, iptel一個帳戶,另一個 IPkall.

獲取公眾 iptel.org SIP帳戶

您必須先開通免費 iptel通過創建一個帳戶 iptel.org

Enregistrement à IPTEL.ORG

假設我們要為用戶創建一個帳戶 «機管局 BB心跳», 輸入並繼續執行下面的參數 :

  • 名字: 機管局
  • 姓: BB心跳
  • 電子郵件: aa.bb @ gmail.com
  • 電話: Votre_#​​_de_téléphone
  • 您的時區: Peu_importe
  • 選擇你的用戶名: aa.bb
  • 選擇密碼 : MOT_DE_PASSE_SÉCURE
  • 確認密碼: MOT_DE_PASSE_SÉCURE

Accepter IPTEL.ORG

IPTEL.ORG complété

現在反悔 iptel.org 並驗證您的帳戶信息.

Login IPTEL.ORG

Information IPTEL.ORG

得到一個電話號碼在美國 (美國) IPkall

利用信息從您的新帳戶 iptel.org, 訂閱 Ipkall 以免費電話號碼在美國 (美國).

Enregistrement IPKALL.COM

總是假定我們要創建一個帳戶為用戶節“AA BB”的, 輸入並繼續執行下面的參數 :

  • 選擇帳戶類型: SIP協議
  • 選擇您IPKall區號號碼: 選擇
  • SIP電話號碼: aa.bb杜孔特iptel.org
  • SIP代理: sip.iptel.org
  • 電郵地址: aa.bb @ gmail.com
  • 密碼: MOT_DE_PASSE_SÉCURE
  • # 幾秒鐘響前懸掛: 120

IPKALL.ORG complété

您將通過電子郵件發送的電話號碼在美國 (美國). 這是您的第一個數字鍵啟動谷歌語音美國以外的土壤. 注意,如果您的帳戶不活動期間超過 IPkall 30 天 (沒有訪問園區), 您的帳戶將自動被禁用,您將失去的電話號碼被分配.

Courriel IPKALL

設置新的電話號碼與您的SIP帳戶

下載並安裝 的X位 或任何其他軟件電話, 並配置您的手機與您的帳戶資料如下所述iptel.org :

  1. 顯示名稱: aa.bb @ iptel.org
  2. 用戶名: aa.bb
  3. 密碼: Mot_De_Passe_iptel.org
  4. 授權的用戶名: aa.bb @ iptel.org
  5. 域名: iptel.org

Configuration Xlite

你的文章現在準備接聽電話.

xlite aa.bb

帶上電話與你的手,撥打電話號碼取得IPkall. 在我們的例子, 這個數字 (253) 785-0717. 發布您的X - Lite的聲音應, 然後接電話.

您現在準備著手谷歌語音激活.

語音激活的谷歌在美國以外

最繁瑣的步驟是連接到谷歌語音,並找到一個代理服務器,將啟用該帳戶之聲. 您不能激活他們的帳戶谷歌語音如果你是在美國本土, 這意味著在更具體的條款, 有一個 IP地址的地理位置是有跡可尋的美國. 你會明白,代理是第二個密鑰來激活他們的帳戶谷歌語音.

所需的標準是代理 :

  • 透明模式
  • 美國
  • 支持SSL / HTTPS的

您可以執行下面的搜索在谷歌 :

透明美國的SSL

在我的案例, 其中的一個環節提供的搜索引擎谷歌一直 : 網址://www.xroxy.com/proxy1698051.htm

請注意,代理可能無法發揮作用和可供使用. 這裡有兩個代理讓您開始 :

  • 173.226.153.208:8080
  • 216.240.138.76:5555

如果你好奇的物理位置的代理, 使用這個鏈接找到它的地理位置 : http://www.iplocation.net/

為確保代理功能, 使用此鏈接 : http://www.myiptest.com/staticpages/index.php/http-proxy-checker-tool.html

現在調整瀏覽器的代理設置, 在我的情況歌劇院.

Proxy Opera

以前有一個谷歌帳戶, 現在就註冊谷歌語音 : https://www.google.com/voice

PréUpgrade Google Voice

您應該看到的按鈕 “升級我的帳戶”. 如果你沒有看到這個按鈕, 是你的代理不工作,風鏡想你是不是在地上的美利堅合眾國.

新聞 «升級我的帳戶 “開始的過程是使谷歌語音,然後按”使用入門“.

Étape 1 Google Voice

現在指定一個或多個搜索條件,以接收的電話號碼,谷歌.

Sélection numéro Google Voice

例如, 為準則 tuxme, 如下的選擇.

numéro tuxme Google Voice

選擇並繼續. 在我們的例子, 任意選擇 (706) 688-9634 或706 - 6TU - XME4.

鍵入一個密碼為您的郵箱,並表明您接受這些條款的谷歌.

Mot de passe Google Voice

輸入電話號碼,收到並繼續 IPkall. 在我們的例子, 這個數字 (253) 785-0717.

Ajout téléphone Google Voice

在事件的數目 IPkall已分配在過去和另一個用戶將用於啟動語音 Gogle, 你將看到下面的錯誤信息.

Erreur de numéro Google Voice

取消您的帳戶 IPkall, 在另一重建, 然後繼續你的新號碼.

Canceler IPKALL.COM

回到谷歌語音配置, 最後一步是檢查. 你會被要求指定一個有效的電話號碼在美國. 輸入號碼先前收到IPkall. 請確保您有軟電話的X - Lite和現在的功能, 只要按一下 « 現在給我打電話 ».

Validation Google Voice

接聽來電的X - Lite和然後鍵入二位數的撥號鍵盤相應的代碼,您說,谷歌語音.

Validation Xlite Google Voice

就是這樣 ! 大功告成.

Google Voice complété

現在你不需要使用代理連接到谷歌語音. 您可以撥打和接聽電話到新的谷歌語音號碼. 在我們的例子, 這個數字 (706) 688-9634 或706 - 6TU - XME4. 在此期間創造一條主幹在Asterisk IPkall, 確保您有客戶端上運行的X - Lite的,因為它作為一個外部鏈接,谷歌語音. 此外, 如前面提到的, 如果您的帳戶內的閒置超過 IPkall 30 天 (沒有訪問園區), 您的帳戶將自動被禁用,您將失去的電話號碼被分配. 在我們的例子, 這個數字 (253) 785-0717.

配置設置與歐比谷歌帳戶語音

OBi110

這幾乎完成. 連接 Obi110在你的本地網絡,並採取電話聽筒. 現在, 通話 « ***1 ».

歐倍德將決定該 IP地址配置.

用你的瀏覽器,進入到這個地址 : 網址://adresseIP /

該密碼是 «管理 “,默認密碼是 «管理».

更改IP地址的國際文憑組織為一個靜態的IP地址,而不是主動的,做一下重新啟動 «重新啟動?.

一旦你重新啟動歐倍德, 到站點配置歐 :http://www.obihai.com/itspConfiguration/itspConfiguration-googlevoice.html

設置 IP設置的歐, 郵政編碼您的谷歌語音號碼, 在我們的例子 « 706 “ID和谷歌帳戶, 在我們的例子« aa.bb », 並點擊配置. 歐倍德重新啟動您的最後一次,一切都完成.

Paramètres OBI pour Google Voice

撥打電話, 的問題,看它是否確實有效. 大 !!!

連接到Asterisk的歐倍德

OBi et Asterisk

除非你希望使用谷歌帳戶,你的聲音歐倍德與模擬電話, 你必須連接的RJ11端口歐倍德 110 以一個 FXO端口的電話環境. 這可能是Digium公司的接口卡, 一個 ATA或思科路由器的FXO端口. 欲了解更多細節,如何進行, 見一下面列出的三個項目 :

當您的聲音歐倍德, 顯然,你的電話號碼從谷歌語音, 電話將被直接傳遞到你的Asterisk服務器,您可以檢索通過您的來電 RVI.Ce​​pendant, 你必須改變對谷歌語音的設置為以下介紹.

Paramètres Google Voice

撥出電話, 你只需要設置一個退出的途徑獲得的FXO端口,電話將直接轉給你的谷歌語音由國際文憑組織誰去休息的法寶.

善用 !

Continue reading 【转】谷歌語音集成到Asterisk

【转】10款国外免费VoIP服务

转自http://dan.febird.net/2009/11/51075-10-free-voip-services-abroad.html

10款国外免费VoIP服务

什么是VoIP服务,前面归纳了两篇东东,有兴趣的可以看下。国外的VoIP服务的确比国内多,人家毕竟政策开放嘛,没那么多盘根错节的利益关系,加上地广人稀,带宽充足,VoIP服务遍地都是。这里就我玩过的,感觉用得比较顺手且支持SIP协议的一些服务拿出来分享一下。

1. Gizmo5

/wp-content/uploads/gimzmo5.png

Gizmo5为 GizmoProject的 产物,它旨在构建全球开放的基于IP的语音系统,支持标准的SIP协议,它会为用户分配数字式的SIP ID,你可以使用任意台支持SIPde终端或者客户端软件来登陆它提供的免费VoIP服务。Gizmo5可以将你的VoIP电话转到传统的PSTN上,但 是这需要付费,你可以直接在它的网页上面通过VoIP拨打全球电话,价格是相当低廉的。同时Gizmo5提供PC端软件用来拨号、SMS甚至是IM。
PS:  本文之前已经写好,刚准备发布时,Gizmo公司已经被Google收购了。其实之前已经有了蛛丝马迹:Gizmo5是Google Voice目前唯一支持绑定的VoIP账号(其他的都必须是美国本地号码)。

2. IPKall

/wp-content/uploads/ipkall.png

IPKall也是一个不错的服务,它免费提供美国本土真实的电话号码,并且帮你将拨入该号码的电话转接到你指定的VoIP服务上,目前支持 SIP和 IAX。
注意: IPKall本身并不提供VoIP账号,它只提供话音转发。注册需要审核,并且号码如果1各月内没有使用将被回收。

3. Vertual PhoneLine

/wp-content/uploads/virtualphoneline.png

Vertual PhoneLine是一个比较全面的VoIP服务,它可以将你的电话分发到 你设定的电话上以及MSN、Gtalk等IM工具上。它提供一个 美国本土号码(免费25天)。虽然不是完全免费,但是功能、性能还是不错的。

4. IPtel.org

/wp-content/uploads/iptel.png

IPtel是一个完全免费的VoIP服务,它可以给你提供SIP 账号并支持各种条件的转接以及无条件转接,Voicemail等服务。最终要的一点是:如果你有自己的域名,只要在你的域名解析中加一个 SRV记录,那么你就可以拥有完全属于自己的SIP账号,例如你有域名为 abc.com, 做好解析并在iptel.org注册之后,你就可以拥有 admin@abc.com 这样的SIP ID(注意SIP URI虽然形式上和Email地址相同,但他们有着本质的区别)。

5. PBXes

/wp-content/uploads/pbxes.png

PBXes 是一个免费的 IP 分机系统,完全免费的服务,注册之后,他会提供一个 username@pbxes.org 的账号,并且允许你添加N个 SIP或者传统的分机。你可以管理呼入的VoIP Call,将他们转接到需要的地方。同时你也可以管理你的呼出,特别是呼向PSTN的VoIP Call,你可以通过PBXes来选择最省钱的线路。

PBXes非常强大,用了才知道!!!

6. Gtalk2VoIP

/wp-content/uploads/gtalk2voip-logo.png

Gtalk2Voip是非常经典的VoIP服务了,其主要业务是让接受 VoIP 呼叫并且将其转化为 Gtalk 语音。用户只需要将自己的Gmail账号关联一下(加service@gtalk2voip.com这个机器人为好友即可),绑定后你就拥有了一个SIP ID,SIP网络上的电话呼向了这个地址,只要你的Gtalk在线,你就可以接听电话。虽然名义上叫做 Gtalk2Voip,其实他还支持MSN,Yahoo Messenger等其他IM。同时,你也可以通过 该IM机器人来拨打 SIP电话(免费)或者PSTN电话(收费),也就是说,可以讲你的IM变成一个SIP客户端,非常有创意。

Gtalk2VoIP功能远不止这些,它也提供上面提到的虚拟号服务,不过那都是收费服务了。他还提供 自定义域名 SIP托管。众多的功能相见其服务页面。

7. Voxox

/wp-content/uploads/vovox.png

Voxox是一个集众多 IM于一身的综合性IM工具,和我们的 Pidgin差不多,但是他的语音功能更加突出,注册了一个Voxox账号之后就可以与其他用户进行语音通话,同时它也支持 PSTN Callout以及 SIP Call.

8. pfingo

/wp-content/uploads/pfingo.png

这是新加坡的一个VoIP服务,功能很酷炫,不过如果要使用其 SIP ID 或者 虚拟号等服务都是需要付费的。

9. CallCentric

/wp-content/uploads/callcentric.png

这也是一个老牌的VoIP服务,细节做得非常到位,免费提供 SIP ID,和 Gizmo一样,也可以通过该ID拨出电话到 传统的电话网络(收费的)。

10. Google Voice

/wp-content/uploads/google-voice.jpg
最后不得不说一下Google Voice,这是Google之前收购的一个 VoIP公司,和其他的VoIP服务不同的是,Google Voice主要作用是给用户提供一个管理自己众多电话和SMS的界面。相当于PBX。不过目前他暂时只支持绑定美国的电话号码(也可以是Gizmo5)。

Google Voice惊人之处是: 你可以使用它来拨出电话到 传统的电话网络,并且它是免费的(目前只限于拨打美国号码,其他国家和地区需要购买信用额度)。同时你也可以免费发送SMS给全球用户。Google Voice 的语音目前不怎么走VoIP线路,但是今天,Google 受够了 Gimzo5,想必今后支持绑定 Gtalk、SIP是必然的事情。

Continue reading 【转】10款国外免费VoIP服务

网页skype

想开多个skype?很简单,看看这个

https://imo.im/

注意,是网站,不是客户端软件。

这个网站是可以信赖的,放心使用,不信我的话的话就看它的about。

Continue reading 网页skype

Pagination


Total views.

© 2013 - 2024. All rights reserved.

Powered by Hydejack v6.6.1