2014年10月28日

2014年10月14日

如何訂閱facebook專頁

http://azo-edu.blogspot.tw/2012/04/facebookrss.html


1.去專頁 點開相簿

2.進入相簿後會看到網址列有「?set=a.10150716075848487.457573.164793763486&type=3」,將其最後一段的粉絲頁面ID「164793763486」複製下來。

3.直接將ID套用到下面的網址,就是該粉絲頁面的RSS網址了:
http://www.facebook.com/feeds/page.php?format=rss20&id=164793763486


另一種方法,直接在〔讚〕按鈕上按右鍵→【複製連結網址】,再開一個純文字檔將剪貼簿內容貼上,一樣可以輕鬆取得其中的粉絲頁面ID:「http://www.facebook.com/ajax/signup_dialog.php?page_id=164793763486&next=http%3A%2F%2Fwww.facebook.com%2Ffreewarefans」。

2014年10月13日

oracle10升11

To import and export data between 10.2 XE and 11.2 XE, perform the following steps:

   Copy the gen_inst.sql file from the upgrade directory of 11.2 XE shiphome to your local directory.

   Connect to 10.2 XE database as SYS user and run gen_inst.sql. This will generate install.sql, gen_apps.sql and other .sql files. The files will be generated in the folder containing gen_inst.sql.

   SQL> @gen_inst.sql

   To export the data from 10.2 XE database, perform the following steps:

       Connect to 10.2 XE database as SYS user.

       Create a dump folder dump_folder on the local file system.

       Create directory object DUMP_DIR with READ and WRITE privilege to SYSTEM user.

       SQL> CREATE DIRECTORY DUMP_DIR AS '/<dump_folder>';
       SQL>GRANT read, write ON DIRECTORY DUMP_DIR TO system;

       Export data from 10.2 XE database to the dump folder.

       expdp system/system_password full=Y
        EXCLUDE=SCHEMA:\"LIKE \'APEX_%\'\",SCHEMA:\"LIKE \'FLOWS_%\'\"
        directory=DUMP_DIR dumpfile=DB10G.dmp logfile=expdpDB10G.log
       expdp system/system_password
        TABLES=FLOWS_FILES.WWV_FLOW_FILE_OBJECTS$ directory=DUMP_DIR
        dumpfile=DB10G2.dmp logfile=expdpDB10G2.log

   Deinstall 10.2 XE if installation of 11.2 XE is planned on the same system.

   Install 11.2 XE database. For more information see Section 4, "Installing Oracle Database XE".

   To import data to the 11.2 XE database, perform the following steps:

       Connect to 11.2 XE database as SYS user.

       Create directory object DUMP_DIR with READ and WRITE privilege to SYSTEM user.

       SQL> CREATE DIRECTORY DUMP_DIR AS '/<dump_folder>';
       SQL>GRANT read, write ON DIRECTORY DUMP_DIR TO system;

       Import data to 11.2 XE database from the dump folder.

       impdp  system/system_password full=Y directory=DUMP_DIR
        dumpfile=DB10G.dmp logfile=expdpDB10G1.log
       impdp  system/system_password directory=DUMP_DIR
        TABLE_EXISTS_ACTION=APPEND TABLES=FLOWS_FILES.WWV_FLOW_FILE_OBJECTS$
        dumpfile=DB10G2.dmp logfile=expdpDB10G1b.log

   Connect to 11.2 XE database as SYS user and run the script install.sql, which was generated in Step 2. This will trigger the execution of ws.sql, gen._apps.sql, and other .sql files.


---實際步驟—
↑下載oracle11
↑↑
SQL> conn sys/密碼 as sysdba

SQL> @C:\路徑ooxxx\gen_inst.sql

產生的檔案會在【C:\oraclexe\app\oracle\product\oracle版本\server\bin\】(複製到【路徑aabb】)


↑↑↑
SQL> drop directory DUMP_DIR;
SQL> CREATE DIRECTORY DUMP_DIR AS 'C:\路徑xyz\實際資料夾名稱';
SQL>GRANT read, write ON DIRECTORY DUMP_DIR TO system;

換開cmd

expdp system/密碼 full=Y  EXCLUDE=SCHEMA:\"LIKE \'APEX_%\'\",SCHEMA:\"LIKE \'FLOWS_%\'\"  directory=DUMP_DIR dumpfile=DB10G.dmp logfile=expdpDB10G.log

expdp system/密碼 TABLES=FLOWS_FILES.WWV_FLOW_FILE_OBJECTS$ directory=DUMP_DIR dumpfile=DB10G2.dmp logfile=expdpDB10G2.log


↑↑移除10 安裝11

建議安裝完後先到管理者頁面(workspace:internal username:admin password:安裝時輸入的密碼)設定不要APEX表和DEMO表

否則之後新建的schema和下一步匯入的原schema 會多了一些table
像是


↑↑
SQL> conn sys/密碼 as sysdba

SQL> CREATE DIRECTORY DUMP_DIR AS ' C:\路徑xyz\實際資料夾名稱';
SQL>GRANT read, write ON DIRECTORY DUMP_DIR TO system;

換開cmd

impdp  system/密碼 full=Y directory=DUMP_DIR  dumpfile=DB10G.dmp logfile=expdpDB10G1.log
impdp  system/密碼directory=DUMP_DIR  TABLE_EXISTS_ACTION=APPEND TABLES=FLOWS_FILES.WWV_FLOW_FILE_OBJECTS$  dumpfile=DB10G2.dmp logfile=expdpDB10G1b.log


SQL> @C:\路徑aabb \install.sql



完成!

匯出11G 至10G (import from 11g export to 10 g)


用原本的EXP IMP 指令匯入匯出的話會有錯

SO..  要改用EXPDP  IMPDP  指定版本


STEP1 打開SQL命令  在資料庫中建立一個別名為datapump的 directory
SQL> CREATE DIRECTORY datapump AS 'C:/DB';


STEP2 測試是否有建成功
SQL> SELECT * DBA_DIRECTORIES;


STEP3 把權限給 OOXX 這個USER
SQL> GRANT READ, WRITE ON DIRECTORY datapump to OOXX;


STEP4 打開命令提示字元
expdp OOXX/密碼@xe directory=datapump dumpfile=newdump.dmp VERSION=10.2 content=metadata_only


content=metadata_only 是只匯出schema  也可content=all|data_only

接著到 要匯入的電腦  先重做STEP1~3

STEP5 打開命令提示字元
impdp OOXX/密碼@xe directory=datapump dumpfile=newdump.dmp VERSION=10.2
content=metadata_only

2014年10月7日

Dropbox + Subversion

0.安裝TortoisesSVN、Dropbox
1.打開Dropbox的同步資料夾
2.建一個svn的資料夾 右鍵【TortoriseSVN】→【Create repository here】

之後就像平常用法

建立 RESTful WS Server

Web.xml

<servlet>
    <servlet-name>ServletAdaptor</servlet-name><!--指定 Servlet 幫你處理 RESTful WS-->
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>com.sun.jersey.config.property.packages</param-name>
        <param-value>imemo.ws</param-value><!--指定 RESTful WS Package-->
     </init-param>
     <load-on-startup>1</load-on-startup>
</servlet> <servlet-mapping>
     <servlet-name>ServletAdaptor</servlet-name>
     <url-pattern>/ws/*</url-pattern><!--指定 Servlet Mapping URL-->
</servlet-mapping>



 WS的Class

@Path("/members") //指定 RESTful 服務的 Path (URL)
public class AccountsServices {
    @POST //指定 HTTP Method
    @Consumes(MediaType.MULTIPART_FORM_DATA) //指定 Consumes (消化)資料型態
    @Produces(MediaType.TEXT_PLAIN) //指定 Produces (產出)資料型態
    @Path("vip") //指定 Subpath
    public String vip(@FormParam("account") String account) {
 
        return Response.ok("OK").build();
     }
}



WADL
URL: https://localhost:8888/ws/application.wadl

<application xmlns="http://research.sun.com/wadl/2006/10">
        <resources base="https://localhost:8888/ws/">
          <resource path="/members"><!--指定 Path-->
             <resource path="vip"><!--指定 Subpath-->
               <method id="vip" name="POST"><!--指定 HTTP Method -->
                  <request><representation mediaType="multipart/form-data"/></request><!--指定 Consumes (消化)資料型態 -->
                  <response><representation mediaType="text/plain"/></response><!--指定 Produces (產出)資料型態 -->
              </method>
        …



chrome套件:Postman

2014年10月6日

魯布 · 戈德堡機械

魯布·戈德堡機械Rube Goldberg machine)是一種被設計得過度複雜的機械組合,以迂迴曲折的方 法去完成一些其實是非常簡單的工作,例如倒一杯茶,或打一隻蛋等等。設計者必須計算精確,令機械的每個部件都能夠準確發揮功用,因為任何一個環節出錯,都 極有可能令原定的任務不能達成。由於魯布·戈德堡機械運作繁複而費時,而且以簡陋的零件組合而成,所以整個過程往往會給人荒謬、滑稽的感覺。
美國漫畫家魯布·戈德堡在他的作品中創作出這種機械,人們就以「魯布·戈德堡機械」命名這種裝置。

2014年9月30日

手機版網頁 畫面滿版

http://cfyeric.blogspot.tw/2010/10/blog-post.html

<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0, user-scalable=yes"/>


Viewport的屬性
width / height
設定該頁適合顯示的畫面大小

device-width設定依行動裝置的螢幕寬度而定

initial-scale
設定預設的畫面是以多少倍的 viewport 來顯示

minimum-scale / maximun-scale
設定畫面提供縮放的最小與最大比例,值都為正數。最小值default:0.25;最大值default:10.0

通常可設定maximun-scale=1.0 防止螢幕翻轉成landscape模式後重新讓內容去對應轉動後viewport的寬度

user-scalable
設定是否能夠讓使用者縮放的功能

2014年9月26日

開發GAE(Google App Engine)專安在Netbeans上

1.下載Google App Engine SDK

https://cloud.google.com/appengine/downloads?hl=zh-Tw

2.參考Google App Engine on Netbeans 8這篇文章
  1. Download the zipped file for Netbeans 7.4 from the Gaelyk download page.
  2. Extract the zip file into some directory.
  3. In Netbeans 8.0, follow to menu “Tools”, “Plugins”. And within the dialog, to “Downloaded” tab. Click “Add Plugin” and browse to the folder.
  4. Select all .nbm files and confirm.
  5. Watch out, don’t close the dialog! Instead, click on the small “Install” button at the left bottom corner.
  6. Go through the Wizard, confirm license, confirm “plugins not signed” warning and go on.
  7. Now you may close the dialog.
  8. Restart Netbeans.
Now, its time to configure the Google App Engine server.

  1. Open the “Services” window.
  2. Right click the “Servers” entry, select “Add server”.
  3. Go through the Wizard, select “Google App Engine”, browser to the directory where you previously unzipped it,  confirm ports and DataNucleus.


DONE!


可能遇到的問題:
1.找不到javac.exe,無法run 本機Google App Engine伺服器
2.找不到class
3.無法上傳到Google App Engine
4.email密碼驗證不過

1, 2. 的解決方式,是將環境變數中的PATH與CLASSPATH明確指定到jdk的 bin與lib下

3.的原因有幾種,若是path的問題可用上面的方式解決,但另外可能是JRE的衝突(  JRE會鎖定JAVA_HOME的路徑,導致專案無法編譯上傳,所以若設定Path後仍無法解決, 可以採取移除JRE的方式就可以解決)
若不想移除JRE,是打開Google App Engine Jave SDK套件裡的appcfg.cmd檔 (位在 appengine-java-sdk-1.3.0\bin )
原始appcfg.cmd開頭內容為
@java -cp "%~dp0\..\lib\appengine-tools-api.jar" com.google.appengine.tools.admin.AppCfg %*

請修改為直接指定你的java.exe檔,若安裝位址在C:\Program Files\Java\jdk1.6.0_12\bin,
則可改寫如下:
@"C:\Program Files\Java\jdk1.6.0_12\bin\java" -cp "%~dp0\..\lib\appengine-tools-api.jar" com.google.appengine.tools.admin.AppCfg %*

4.啟用安全性較低的應用程式存取權限 https://www.google.com/settings/security/lesssecureapps