顯示具有 心得 標籤的文章。 顯示所有文章
顯示具有 心得 標籤的文章。 顯示所有文章

2013年2月17日 星期日

Gmail、Facebook帳戶保護

沒有留言:
近來社交網路蓬勃發展,伴隨著也是各種詐騙手法使用,最常見的就是帳號盜用問題,一旦發現自己的帳號被竊取該如何防備,以下幾個簡單的方式可以讓被竊取帳號的使用者馬上登出離線。

先從Facebook開始,其實近來FB已經改善不少關於帳號安全問題,只是選項隱藏在少用的地方,一般人不注意看不容易找到。

若發現有人已經盜用你的帳號時,且正在登入狀態時,可以使用如下方式踢出其他地方登入的帳戶。

1. 首先在右上角切到帳號設定











2. 選擇帳號保安



3.此時可以看到安全性設定有: 登入通知有效的連網,編輯有效的連網


4. 找到其他可疑的連線的裝置,點選退出,若不知道是哪一個建議可以全部退出。經過測試此時若有其他裝置正在連線FB將會被登出並要求重新登入。最好搭配先更換密碼在退出。

另外可以使用登入通知設定若有其他裝置、電腦位置登入時,則寄信通知



若是Google Account 如 Gmail 則可以使用以下方式。

1.首先開啟Gmail,並且跳到最底下上次帳戶活動時間,選詳細資料。


2. 選擇登出所有其他Gmail連線活動。此方法會讓所有Web連線中的活動中斷。但經過測試使用手持裝置的APP並不會自動登出,大概是因為APP有保存密碼,並且是每次開啟APP時自動登入密碼。需將搭配變換密碼,使APP自動登入驗證密碼失效,而可以踢出手機等裝置的使用者。


以上方法是當發現有可疑位置帳戶正在盜用你帳戶,將他踢出的方法,反之對方也可以將你
踢出。故最終還是快修改密碼並且妥善保存才是良策。


2009年7月26日 星期日

ajax file upload monitor struts2 fix

沒有留言:
最近試玩著plurk後,原本應該來寫篇plurk api java版的心得,但想想Plurk api已經氾濫了,也就算了。而大部分就是揣測http request接收何種網址與參數,這些在參考php api都可以做出來,實際上參考jPlurk的寫作,就可把剩下來的methods依樣畫葫蘆改成Java版的,也就差不多了完成了。

說到這邊來點有趣的東西吧,其實想說也就是 Monitored Ajax File Upload - For Struts 2。
其實在Java的Web App中寫些upload的功能是很基本的需求,早已存在各種fileupload套件,不得不提到的,apache的commons project對java真的貢獻良多。他們當也提供fileupload的處理。這對我們的好處是既然使用struts2當作是web framework,使用apache提供的自然不在話下。

其實要講的就是能夠使用ajax的fileupload方式,並且能夠即時更新上載的進度。參考demo網站。可以在該網站試著丟上任意檔案看看效果,該網站會自動把上載的檔案刪掉。本文章可算是該網站的延伸閱讀。使用ajax file upload for struts2 套件,可在google code下載AjaxFileUpload-0.03.zip。上面也有0.04版,但是卻是用jdk6版本包的,一般使用5.0開發環境會出現Java版本號碼錯誤。

一般開發者在看過他的簡單使用說明後,應該是可以正常使用的,但是結果並不怎麼如意。因為其中有幾個隱藏問題沒有解決。到頭來是為了解決小小簡單的問題,反而挖了該套件裡面的程式來看。

設定步驟:
1.當然是下載該套件0.03版,並且擁有struts2的開發環境。

2.在你的jsp頁面,加上該fileupload tag
<%@ taglib uri="http://www.davidjc.com/taglibs" prefix="djc" %>
<head>
...
<djc:head />
...
</head>
<body>
...
<djc:ajaxfileuploadform action="demo" dobefore="" doafter="" />
...
</body>


3. 設定strust.xml
<package name="ajaxfileupload" namespace="/" extends="ajaxfileupload-default">
<action name="demo" class="com.davidjc.ajaxfileupload.action.Demo">
<interceptor-ref name="fileUploadStack" />

<result name="success" type="httpheader">
<param name="status">200</param>
</result>
</action>
</package>



4. 撰寫pojo action Extend com.davidjc.ajaxfileupload.action.FileUpload

package com.davidjc.ajaxfileupload.action;

import java.io.File;
import org.apache.log4j.Logger;
import com.opensymphony.xwork2.Action;

public class Demo extends FileUpload{

private final Logger logger = Logger.getLogger(Demo.class);

public String execute() {
File uploadedFile = this.getUpload();
String contentType = this.getUploadContentType();
String fileName = this.getUploadFileName();


return Action.SUCCESS;
}

}


但是簡單的設定完你會發現不work,跳出一個錯誤訊息

沒錯,是個javascript錯誤。逼不得以只好從AjaxFileUpload-0.03.jar package中挖掘這是哪來的script,沒錯。
在裡面中的一隻ajaxFileUploadProgress.js中,找到

/**
* Gets the upload progress from the server and then recursively calls itself until
* the upload is complete
*/

function getProgress() {
jQuery.ajax({
type: "POST",
url: "uploadprogress.action?rnd=" + new Date().getTime(),
dataType: "json",
success: function(jsonData) {
....

},
error: function(request, error, exception) {
alert("Error detected: " + error + " and exception " + exception);
}
});
}


也就是說他在這段呼叫ajax的請求回傳錯誤了。這也是說要來檢查一下呼叫這隻action時,在不使用ajax時結果是如何。這邊的麻煩是該action是包在class中,需要使用log4j來開啟原本程式中的debug log,但結果在需要知道程式跑到的地方沒有寫log訊息。這也是一常常在debug別人套件的苦惱。要是這個套件寫的沒很好,又exception沒有拋出、log也沒寫到這就慘了。還好現在大家都是用google code 去maintain很自然的,也懶得裝svn就上google code去browser了,直接把code抓回來貼上去跑。關鍵的地方是還得解開AjaxFileUpload-0.03.jar 中的struts-plugin.xml去看實際的action是哪程式,原來是位於com.davidjc.ajaxfileupload.action中的UploadProgress我們可以看到。

當部屬好的時候我們直接去run該action,並觀察已經修改程式的log顯示,最後發現程式都跑到取得upload file info後要塞到json並return時某行就沒有往下跑。很納悶一定是哪邊有exception沒有throws或是print出來。這也是跟他使用json-lib有關。在發現直接catch該段程式碼無效後,只好一行一行插棋子找,最終確定是發生在塞資料在json object的地方有問題。只好就來研究json-lib這個套件了,在官方網站看到原來他有相依的package要使用
Json-lib requires (at least) the following dependencies in your classpath:

* jakarta commons-lang 2.4
* jakarta commons-beanutils 1.7.0
* jakarta commons-collections 3.2
* jakarta commons-logging 1.1.1
* ezmorph 1.0.6

最終則發現少了ezmorph的package...

後記:
1. 原作者少提到的一個相依套件
2. json-lib在缺少某個package時,竟然沒有拋出ClassNotFound之類的exception 這點很奇怪,可能是舊版的json-lib問題。
3. 在解決跑progressAction時,也發現struts config xml沒有設定好,故讀不到該package的action
4. 另外還有把json回傳成text string時遭遇到小困難,因為包在AjaxFileUpload-0.03.jar有寫一個return type來回傳json type 成 text string,但是他的程式出現NoSuchMethod Exception,可能是我用struts2 2.1.6版原因,不過從google code重抓上邊新的code貼回去後就好了。
5. 過程中有參考一個討論範例會比較清楚,他們也是用同個套件,遇到類似的問題
http://www.struts2.org/ajax-file-upload-in-struts2-using-ajax-file-upload-plugin/

2008年12月23日 星期二

linux 解決 FTP Client 顯示中文目錄與下載問題

沒有留言:
當我們常在用ftp下載傳檔案的時候,時常發生的就是目錄亂碼的問題,尤其使用linux的時候中文顯示一般可能都會是亂碼,原因是對方ftp server使用的是windows系列的平台,所以在目錄資料夾或是檔案名稱都會是以MS950 or Big5的編碼,所以linux預設使用UTF-8的情況下,自然ftp client軟體顯示不出中文的檔案和資料夾,也就無法下載了。

其實知道原因後,這邊有個很簡單的解決技巧,首先我們下載FileZilla ftp client來使用,一開始連到ftp server時中文是顯示亂碼的話,只要修改站台設定的字碼集就行了,如右圖所示,自然在重新開啟連線後,中文目錄就正確的顯現了。

2008年7月30日 星期三

是安怎?

沒有留言:


開始工作後,發現公司上班和在學校研究真的很不一樣,偏偏下兩屆的學弟擺出一副歡樂100的樣子,對比極大。在公司隨便弄個環境都要申請,又怕影響現有系統,給的資源並不容易,反觀學校實驗室每年設備拚命買,數台server擺著爛也沒有學弟去架來用,舊的系統更別說維護,一台網路磁碟機爛掉了過一個月還是沒動作。

近期與畢業的同學討論起來,也沒什麼好批評的,學校本來就是如此。政府每年花的錢就是這樣搞的。說到這我還是挺語無倫次的,不過工作越久 越習慣環境後,學校生活就越離越遠了,嘴炮的日子一去不復反,這也是現在一點都不期待的原因呀。另外這四年還真比想像中的還久呢,在這好像已經很難學到RD的做的東西,公司有RD這種東西嗎 ? 業務、PM 吃天下嗎
系統架構師?跑掉呢...


2008年5月4日 星期日

資工電機、夢想、鋼鐵人

沒有留言:
在90年代時,大概令人著迷的偉人是微軟巨人比爾蓋茲
而在2005年後,最令人瘋狂的大概是 google公司
在一波新網路紀元下 電腦發展皆是圍繞在虛擬的網路世界中 1.0、2.0、 3...

回想起早期年代舉世聞名的偉人--愛迪生、愛因斯坦等科學家的研究發明,
曾是許多人嚮往的崇拜的對象。如今鮮少人再提起一個人可以創造的科學發明。
曾幾何時日本人最機器人的研究,生感興趣(漫畫造就更多虛幻英雄),但面臨研究難以突破下,也漸漸緩下腳步,不過機械寵物倒是誕生。


而美國最近又帶起更多關於機械發展的遠景和夢想。
事實上從電影駭客任務中找到一絲軌跡,人類因為發明了無法控制的機器人,最終開啟機械人吞食人類的戰爭,而駭客任務的動畫版,描述著故事的前傳,人類與機器間的道德與人性,故事起先描述人類大量製造出機械人奴隸,大量依賴機械人做事,但卻又產生一批不信任機械人的反抗聲浪,後來因人類幾起和機械人衝突事件,爆發了如同宗教戰爭般的反抗事件。之後電影 I Robot更直接點名了這般過程,就好像駭客任務前傳一樣,人類對抗機械人。雖駭客任務有參考了日本原始動畫攻殼機動隊,但是這類故事就是機械有了AI之後的事情了。


直到最近一波熱潮,告訴我們機器人也是有好的,如變形金剛,令人熱血般的場面,使小時後的回憶再度掀起,卡通中機器人是人類忠實的夥伴,對抗惡勢力。若把變形金剛比作大人小孩皆宜收視群的夢想,那鋼鐵人則是帶起我們這般對於鋼彈和機械有著夢想年輕成人的收視群了,一位擁有世界級大廠的軍械生產公司(如同鋼彈動畫中常描述的政治背景),擁有一流的武器製造技術的科技名人Tony(什麼幾歲就會發明..幾歲就讀MIT等等),結合真實與夢想映入每個人的心理。一是科技公司的總裁,想當然爾非常有錢,科技生活設備極盡豪華,就像現在人人羨慕的科技總裁一樣。完全是各個雜誌上的偉人。二擁有的個人工作室,電腦技術的研究不在話下,一個人組成的實驗室就是一種奇蹟,一個人可以從物理化學、電子電路、電機、親手打鐵焊接。極度運用電腦自動化的科技。他大概也是個 Computer Science 高手(影片中微微瞄到像Unix的系統),運用程式自動化的功力到達極致。最令人羨慕的就是他的工作室的電腦吧。學資工的都沒這麼炫。主角不只生活和物質這麼優,連個性都是幽默帶有浪子的性格,這點就徹底打敗認為學電腦科技的都是不懂談吐的宅男印象了。這麼優沃的腳色設定使著看起這部片時身受其境,令人著迷。比變形金剛更讓人意猶未盡。



2008年3月9日 星期日

ubuntu linux 筆記

沒有留言:
Grup開機選單
/boot/grub/menu.lst

#-------------------------
# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
title Microsoft Windows XP Professional
rootnoverify (hd1,0) #視Grub認定的磁碟位置順序
makeactive
map (hd0) (hd1) #由於XP無法直接從第二顆硬碟開機,因此務必要
map (hd1) (hd0)
chainloader +1
#-----------------


字型
1. 把ttf copy到/usr/share/font/truetype裡
2. 執行fc-cache -v -f,重抓字型
3. 使用fc-list |grep 字型名稱,找看看新安裝的字型是否在其中

修改字型
/etc/fonts/language.selector.conf 連結lnk

設定預設java jdk, jre 使用哪個版本
sudo update-alternatives --config java

網路
sudo ifconfig eth0 down #關閉網卡
sudo ifconfig eth0 hw ether 00:AA:BB:CCD:EE #然後改地址
sudo ifconfig eth0 up #然後啟動網卡

服務
臨時重啟一個服務
/etc/init.d/服務名 restart
臨時關閉一個服務
/etc/init.d/服務名 stop
臨時啟動一個服務
/etc/init.d/服務名 start

重啟網路服務
$ sudo /etc/init.d/networking restart

設定 ADSL
sudo pppoeconf
ADSL手工撥號
sudo pon dsl-provider
開機啟動 ADSL
sudo /etc/ppp/pppoe_on_boot
掛斷 ADSL
sudo poff
查看撥號紀錄
sudo plog

2008年2月2日 星期六

灌回IE 6 -讓IE7 IE6 共存

沒有留言:

最近因為要試驗Ajax小程式,發現一些範例要在IE6才能跑,以致於已經更新到IE7的我
無法用回原本的IE6,幸好網路上找到一個好套件軟體 Multiple IE
如果你尚未更新到IE7至少可以使用網路上的綠色軟體IE7單獨運行,來同時並用IE6。
但是如果已經變成IE7了只好使用Multiple IE了。Multiple IE的特點是讓你可以安裝所有舊IE版本共存。

我則是選了IE6和順便裝了IE5.5 不過用IE5.5一開Yahoo就掛住了,好像有衝突到所以就少拿來用。

2007年12月29日 星期六

好久好久

沒有留言:
好久好久沒有上來寫文章

好久好久沒有聞到自由的氣息

自從入伍後一開始頂著一個大光頭

像木頭人一樣腦袋空空的

當兵真的會讓人變笨許多

腦袋放空到不知道怎麼跟人交談

只要想著今天要如何過

每過星期三就開始倒數週末休假日

鑑測終於結束了,辛苦的操課終於結束了

不用在每天打飯心裡還想等等要全副武裝的感覺,

不用再去做單戰和刺槍

人就是這麼的慵懶吧

剩下的是漸漸回復的言談

當兵可以認識很多不同的人

同班的感受最深

12週打飯生活發生了太多的事

也許是因為打飯辛苦,才讓新訓生活充滿一種特殊的惡趣

才會跟一些班長比較熟

剩下的則是重新再出發,通往下一階段

認識我們連的長官和幹部真的很不錯

認識我們連的同學真的很不錯

最後剩下一週的時間好好把握大家相處的日子吧

2007年11月23日 星期五

採用Google Reader的聯播

沒有留言:
之前試用了一下採用Yahoo Pipes來做客製化的RSS訂閱聯播,不過其實也可以採用Google Reader 更方便的自動做成訂閱的聯播。
這樣不必再像使用Pipes那樣手動方式,且時間的排序要考量RSS或ATOM版本的不同,當然就不必再去寫的處理JSON的JavaScripts處理了,只要簡單的複製Google Reader自動產生的剪輯程式碼就搞定了。

2007年11月17日 星期六

網誌更新

沒有留言:
今天花了一天,已經許久未動的blog一次做了許多修改。主要是察覺Blogger可以加上最新回應和文章聯播。其實Blogger有提供文章和回應的RSS連結。但是卻沒有主動提供直接的模組來加入。所以得利用Blogger所提供的"資訊提供"網頁元素,且不是加入別人的RSS,而是加入自己的文章或回應的RSS/Atom來產生最新文章或回應。

另一方面也可以新增javascript區塊,自己完成RSS資源的讀取程式,這就是今天的重點。另一方面利用Yahoo Pipes可以做出大家的資訊聯播彙整功能。Pipes是挺好玩的,後來他提供json的功能後,就可以自己手寫讀取聯播的功能了。這邊需要的就是熟悉JavaScript來完成。裡面有個重點是不同平台所提供的RSS或是Atom可能沒有Author欄位,要是需要讀到Author時,程式就可能跑不出來了。另外網路玩家有提到須先把所要用的RSS利用FeedBurner燒成Atom1.0後,日期的排序才能加以解決,不然日期可能出現英文字的月份,結果會造成按字母排列,須等以後Yahoo有無改善。

弄的同時還得順便把各位的Feed燒入FeedBurner,同時也觀察RSS和Atom各版本的欄位質差異。其結果就是把RSS轉成JavaScript然後貼上來而已。

久久沒看也發現現在使用Blogger Beta的人也越多了,應該是Beta出了之後改善以前不少陽春的功能,其中可以使用Label是一因素。現在相關的技巧出現了更多,補足之前看Blogger的功能說明看不懂又不知道如何始用的情況。

像是最新迴響的使用、隱藏完整文章、其他也越來越多是在Blogger加上留言、統計觀察、推薦方面功能、相簿等。不過這些互動功能加的越多,也象徵網站負載越高,速度會拖慢。

附上:My Friends Test1

2007年11月11日 星期日

服役中<一>

沒有留言:
入伍日子四週過了,兵還是實際進去當過才知道其中的甘苦。國防訓儲役,也許這是今年的最後一梯,也可能是國防訓儲的最後一梯。明年登場的是研發替代役。不管是哪種制度,好處是大家進來學歷差不多,相處上也比較容易。不過倒是會遇到年紀比較大的博士生。大家相處也蠻有趣的,遇到以前是成功高中畢業大我五屆的學長。這邊除了大家都是碩士畢業以上外,也常遇到些台青椒成的學生,而做電子機械類的比我們做資訊的人多一些,大家做的領域都有所不同。這裡怎還每個人都在放閃光。不是看到大夥們都在寫信給閃光,就是遇到已經結婚的。

軍中的規定實在是很多,入伍前應該先做好準備,突然覺得我如果是明年的研發替代役,只要一個月,那有多好,別人在前進,我們在虛度時光,回頭看到實驗室的學弟在前進的感觸。也許就像大家所說進去就是學習團體生活和人際關係吧。不過進來當兵後才會知道以前是過的多麼爽的日子阿。軍中抓的時間是很緊湊。