2015年1月24日 星期六

2015年1月19日 星期一

mysql相關資訊

#select特殊符號 escape

ex:$str = str_replace(['%', '_'], ['\%', '\_'], $str);



#intersection(交集)

可得到有“engine”屬性的值有Cloud & Compution的資料

ex:select * from book where tag=‘Cloud’ intersection tag=‘Computiong'



#調笑SQL查詢效能

資料庫引擎

javascript指令

#把物件或陣列轉成json格式資料
json.stringify()

#把json格式的資料轉成可利用的物件或陣列
json.parser()


#console.time() & console.timeEnd() 可評估特定區域程式碼效能

#js常用功能(proccess、util、)

aws(雲端伺服器) - 服務說明

AWS免費
#EC2:750[機器:小時]
#ELB:750[機器:小時]
#EBS:10GB容量、100萬次的讀寫、1GB快照、1萬次讀取快照、1千次儲存快照
#S3:5GB容量、2萬次讀取、2千次儲存
#網路傳輸:上傳和下載各15GB,總共30GB(搭配cloudWatch網路傳輸量要收費)
#SimpleDB:25個機器小時(200萬次讀取)、1GB儲存量、但是Domain如果6個月為存取,將自動被移除
#SQS:10萬次請求
#SNS:10萬次請求、10萬次http通知、1千次email通知
#CloudWatch:10次警報
#SES:從EC2或是Beanstalk使用SES寄電子郵件,每天2千封
#EC2與S3傳輸不收費

功能
運算(EC2、Elastic MapReduce、AutoScaling、Elastic Beanstalk)
儲存(S3、EBS)
資料庫(SimpleDB、RDS)
網路(CloudFront、ELB、EIP、VPC)
資訊(SQS、SNS、SES)
監控(Amazon CloudWatch)
付費(EPS、DevPay)

-----
RDS收費(低至高)

  1. Small
  2. Large
  3. Extra Large
  4. High-Memory Extra Large
  5. High-Memory Double EXtra Large
  6. High-Memory Quadruple Extra Large


存取控制清單ACL(Access Control List)
LBS(Location-based service)
簡單儲存服務S3(Simple Storage Service)
關聯式資料庫服務RDS(Relational Database Service)
CloudFront屬於(CDN)服務
低備份儲存RRS(Reduced Redundancy Storage)
彈性運算雲EC2(Elastic Computing Cloud)
資料庫安全群組與EC2安全群組一樣
叢集運算虛擬機(cluster compute instance)
社群服務(SNS)
彈性負載平衡ELB(Elastic Load Balancing)
訊息導向中介體MOM(Message oriented middleware)
企業服務匯流排(ESB)
服務導向架構(SOA)
簡單序列服務SQS(Simple Queue Service)
簡單通知服務SNS(Simple Notification Service)
EIP(Elastic IP Addresses)
內容傳遞網路CDN(Content Delivery Network)
EMR(Elastic MapReduce)


AWS解決延展性問題的相關服務
延展性的樣式 相關AWS服務
叢集 EC2、auto scaling
負載平衡 ELB(Elastic Load Balancing)、EIP(Elastic IP Address)
資料分割 S3、CloudFront、SimpleDB
分散式運算 EMR(Elastic MapReduce)
放鬆一致性的限制 SimpleDB、RDS(Relational Database Service)
非同步及批次作業 SQS、SNS

EBS-backed & S3-backed比較表
特性 EBS-backed S3-backed
開機時間 少於1分鐘 少於5分鐘
root device最大限制 1TB 10GB
AMI存放處 EBS S3
資料存續性 EC3虛擬機器失效時,資料仍在EBS volume上。EC2虛擬機器關機時,EBS volume可以選擇繼續留存 EC2虛擬機器失效或關機時,資料不存在。但除了root device以外,可以mount EBS volumes
升級性 虛擬機器處於stop狀態時,可更改虛擬機器類型,kernel,RAM disk 所有屬性不可改
收費 EC2時數,EBS volume儲存費用、EBS snapshot儲存AMI費用 EC2時數、S3儲存AMI的費用
stop狀態 可處於stop狀態、不算EC2時數。存在EBS volume上的資料會保存,但是要注意instance storage上的資料會消失 不能處於stop狀態,不是開就是關

其他服務
延展性的樣式 相關AWS服務
Amazon Beanstalk
Amazon Simple Email Service 簡單郵件服務
AWS CloudFormation
Amazon Flexible Payments Service 彈性付費服務(FPS)
Amazon DevPay 開發者付費服務
Amazon Fulfillment Web Service 墊子商務實現服務(FWS)
Amazon Mechanical Turk 人力外包
AWS import/Export 可直接寄硬碟給AWS將資料抓取下來
AWS Premium Support商業支援
Amazon Route 53 Amazon推出DNS服務可參考http://aws.amazon.com/route53

服務說明
#EBS

  1. EBS建立快照(snapahot),增加備份副本
  2. EBS就像SAN(storage area network)


#S3 & CloudFront
S3 永久儲存
CloudFront 暫時性

#建立RDS副本
點選DB Instance

#ELB
可搭配Apache、CloudWatch可以讓我們更方便往高延展性、高可用性方向前進

#自動延展(auto scaling)
auto scaling不收費,搭配CloudWatch收費

#簡單序列服務SQS
屬於分散式序列

#簡單通知服務SNS
補足SQS不足

#EIP
實現重新導向

#CloudFront
可讀S3「公開」、「私有」URL

#CloudWatch
監視系統狀態


注意
#Key
Access Key ID(不需保密)、Secret Access Key(需保密)

#linux ssh連線
key : test.pem
ex: ssh -i test.pem root@127.0.0.1

#http負載平衡資訊



相關網址
http://aws.amazon.com/free(價格)
http://blog.changyy.org/2009/12/amazon-ec2-windows-server-2003-rdp.html

http://blog.developer.tw/post/740-aws-ec2-free-instance

python



windows安裝
====================================
環境變數path
C:\Python27;C:\Python27\Scripts





#教學

  1. http://swaywang.blogspot.tw/2012/05/pythoncsv.html
  2. http://swaywang.blogspot.tw/2012/05/pythonpythonpython-sorting.html

go安裝

#安裝
====================================
https://golang.org/doc/install

https://golang.org/dl/


#linux安裝
====================================
$ wget https://storage.googleapis.com/golang/go1.5.1.linux-amd64.tar.gz
$ tar -C /usr/local -xzf go1.5.1.linux-amd64.tar.gz
$ export PATH=$PATH:/usr/local/go/bin



環境變數設定
http://kalug.linux.org.tw/~lloyd/LLoyd_Hand_Book/book/bash-edit-profile.html

mac指令

Apache
#mac romove apache
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist


2015年1月18日 星期日

mongodb指令

顯示
#列出資料表
> show collections

#列出資料庫清單
> show dbs

#列出當前的資料庫名稱
> db

新增
#insert
> db.[collection].save({index:1, count: 2});

#循環insert data
> for (var i = 1; i <= 5; i++) db.[collection].save({index : i, count : i -1});

修改
#update
> var updatefood = db.others.findOne({index:1});
> updatefood.food = 'fish';
> db.[collection].save(updatefood);

刪除
#remove
> db.[collection].remove({index:2});

查詢
#while
> var cursor = db.[collection].find();
> while ( cursor.hasNext() ) printjson(cursor.next());

#forEach
> db.[collection].find().forEach(printjson);

#array
> var cursor = db.[collection].find();
> printjson(cursor[3]);
-----
> var arr = db.[collection].find().toArray();
> arr[3];

使用
#切換資料庫
> use [db name]

#登入身份
> db.auth('account', 'password') 。

help 顯示協助訊息。
mongo <dbname> --eval "db.dropDatabase()" 移除 database。 或者下面這種方式:


引用網址:

  1. http://andyyou.logdown.com/posts/177570-mongodb-notes

//教學
https://www.youtube.com/watch?v=iT0datgVcfs

2015年1月17日 星期六

mongodb安裝

安裝網址http://www.mongodb.org/downloads

#指定別的路徑儲存資料庫檔案
mongod --dbpath [儲存目錄路徑]

Windows
Step-1:下檔mongodb
Step-2:C:\> mkdir \data
Step-3:C:\> mkdir \data\db
Step-4:執行mongod.exe
Step-5:執行mongo.exe

============================================================

Linux
http://www.cnblogs.com/zhoujinyi/archive/2013/06/02/3113868.html(安裝教學)
http://www.linuxveda.com/2015/01/07/install-mongodb-linux/

/usr/bin/ -> mongodb


# rpm -ql mongodb-org-server
/etc/mongod.conf
/etc/rc.d/init.d/mongod
/etc/sysconfig/mongod
/usr/bin/mongod
/usr/share/man/man1/mongod.1
/var/lib/mongo
/var/log/mongodb
/var/log/mongodb/mongod.log
/var/run/mongodb


npm install jade
npm install express@3.4.8

============================================================

nodejs安裝

下載網址:http://nodejs.org/

windows
安裝npm
方法一:
Step-1:NPM下載
Step-2:將壓縮檔放置Nodejs目錄下node/
   C:\ > Program Files\nodejs

方法二:
C:\> npm install express@3.4.8 -g

============================================================

Linux
安裝npm
$ npm install express@3.4.8

將套件安裝在專案裡
$ npm install <package name>

移除全域套件
$ npm uninstall <package name> -g

移除專案裡的套件
$ npm uninstall <package name>

搜尋套件
$ npm search <package name>

列出全域套件
$ npm ls -g

列出全域套件詳細資訊
$ npm ls -gl

列出專案裡的套件
cd /path/to/the/project
npm ls

列出專案裡的套件詳細資訊
$ cd /path/to/the/project
$ npm ls -l

更新全域套件
$ npm update -g

更新案裡的套件
$ cd /path/to/the/project
$ npm update

------------------------------------------------------------------------------------------
用 `package.json` 來管理專案裡的套件

原本
$ cd /path/to/the/project
$ npm install mongoose
$ npm install express
$ npm install jade

package.json 在專案的根目錄就只要
$ cd /path/to/the/project
$ touch package.json (or npm init)

$ vi package.json
{
 "name": "your app name",
 "version": "0.0.1",
 "private": true,
 "dependencies": {
  "express": ">=2.5.0",
  "jade": ">= 0.16.4",
  "mongoose": ">=2.3.10"
 }
}

$ npm install -l (npm install)

============================================================

引用相關網址:

  1. npm 基本指令(http://dreamerslab.com/blog/tw/npm-basic-commands/)

初學者教學網

http://blog.allenchou.cc/nodejs-tuts-2-using-express-framework/

http://blog.allenchou.cc/nodejs-tuts-1-create-a-http-server/

http://www.nodebeginner.org/index-zh-tw.html