2014年7月27日 星期日

該死的chrome!關於php的臨時性cookie在關閉瀏覽器時為何不會消失

如果你在寫php時使用到cookie~
想使用session cookie時
或許你會遇到和我相同的情況:
環境:
php.ini內
session.use_cookies = 1  //優先使用cookie儲存session_id
session.cookie_lifetime = 0 //預設此暫時性cookie的生命週期到瀏覽器關閉為止
問題:
為什麼chrome關閉後cookie沒有被刪除!!!session id還有效?
----------------------
唉!在IE運行時都沒問題~chrome卻還是被記錄著用戶資料,根本超不安全耶!
看Stack Overflow也一堆人在抱怨~但之後看了解決方法~發現只要設定一下還是OK~(超煩
(1)設定chrome的cookie
1.chrome->設定->進階設定
2.隱私權的內容
 3.用例外只是因為我只想我本地的cookie不要被chrome永久保存
(2)chrome關閉後還在背後繼續運作~這樣瀏覽器工作就不算結束(不算關閉)
完成了應該就能比較順利地使用了...
唉!但我想大部分的用戶都會用chrome"危險的建議"選擇設定八。
看來重要的資料真的要存在session

2014年6月2日 星期一

Java swing 如何改變圖片大小 & Java Panel中放背景圖

Java swing 如何改變圖片大小(放圖的方式為在JLabel中放入ImageIcon)
1.      先匯入圖片至ImageIcon
 (ex: ImageIcon img= new ImageIcon(getClass().getResource("deer.jpg"))
2.      拿出Image
(ex: Image imgp = img.getImage();
3.      重新設定大小
(ex: Image newimg = img.getScaledInstance(width,hight,java.awt.Image.SCALE_SMOOTH);
4.      再創新的ImageIcon
(ex:ImageIcon  picture=new ImageIcon(newimg);
5.      再把ImageIcon放到LabeladdJFrame
(Ex:ImageTemp.setIcon(picture);
Java JPanel中放背景圖
1.      繼承JPanel並複寫paintComponent (inner class)
class NewPanel extends JPanel
   {
   
     public void paintComponent(Graphics g)
     {
        int x=0,y=0;
        java.net.URL imgURL=getClass().getResource("picture/back.jpg");

        //test.jpg是测试图片,与Demo.java放在同一目录下
        ImageIcon icon=new ImageIcon(imgURL);
        g.drawImage(icon.getImage(),x,y,getSize().width,getSize().height,this);
        while(true)
        {
          g.drawImage(icon.getImage(),x,y,this);
          if(x>getSize().width && y>getSize().height)break;
          //这段代码是为了保证在窗口大于图片时,图片仍能覆盖整个窗口
          if(x>getSize().width)
          {
             x=0;
             y+=icon.getIconHeight();
          }
          else
           x+=icon.getIconWidth();
        }
     }
   }
2.建立JPanel~一樣的使用方式

JPanel center=new NewPanel()

2013年9月21日 星期六

居家監控-GSMmodel+C# (一)

  說到GSMmodel就不能不提ATcommand,這命令集是由許多短的字串組成長的命令,用於代表撥號、掛號以及改變通訊參數的動作。大部分的model都跟隨ATcommand所制定的規則,連大陸都不例外。我這次買的GSM採用北京天祥電子公司之TC35I-V2版。

  當拿到一個新的GSMmodel幾乎想都不用想就先用ATcommand測試測試完如果無異狀就能開始撰寫程式透過COMport傳送指令控制GSM我這次只運用最簡單的傳送txt簡訊功能此版的GSMmodel優良還有附微處理器下次有時間再好好研究並補充
首先要用電腦輸入ATcommand測試GSMmodel要先有終端機,我的筆電是Window7沒有附終端機,所以必須自行安裝。

  終端機的主要工作是將使用者鍵入鍵盤的資料傳入電腦中,以及將電腦送出的訊息顯示在螢幕上。如此,使用者就可以透過終端機與電腦溝通。而大家所常看到的個人電腦其實是一部電腦再加上一組終端機(螢幕加鍵盤),所以在同一時間只能有一個人使用個人電腦。(摘自國立台灣大學電子計算機中心)

  故我們的做法就是用:終端機-->電腦COMport-->GSMmodel的路徑傳送ATcommand
  我使用的是這款簡易的終端機,小歸小但五臟俱全,安裝說明也在裡面了!

  完成安裝後GSMmodel接上輸入COMport設定後就能打AT指令了COMport可以到控制台\系統及安全性\系統à系統內容à硬體à裝置管理員 中察看不知道哪個就拔出USB再插入看看

英文txt短信

發:AT
收:OK //如果沒回應代表model完全不能用…(不限GSM)
發:AT+CMGF=1 //設定txt發送模式
收:OK
發:AT+CMGS=8869********
 //台灣是886(=0)有的終端機是輸入AT+CMGS=+09********AT+CMGS=”+09********”…如果不行就排列組合一下吧XD
收:>
發:data        //test 為發送内容,→为發送符(ctrl+z,十六进制0x1A
收:+CMGS: 54  OK //+CMGS: 54才算發送成功

  完成測試後就開始寫程式摟以下用C#2010做例子其實最常見的是用微處理器晶片控制(C撰寫),但概念是相同的,就不多說了。

  因為GSM發送簡訊只是此專案的一個小功能所以我把她單獨用class獨立出來讓另外的主程式main去叫用並回傳string得知發送訊息的狀態

程式也會用到委派EventAutoResetEvent~會在下篇一起說明。

2013年9月2日 星期一

SuperMemo UX-免費的單字輔助記憶軟體

超級好用的單字背誦軟體其實這款軟體早在二十年前就有了現在才推真的超馬後砲呵呵
但特地寫這篇就是想告訴大家這款軟體不只當單字複習而已如果配合優秀的課程還能變成免費的MyET

先給一發SuperMemo UX載點
再來是更加重要的課程下載
感謝網友大家精心製作~讓SuperMemo UX變得精采
SuperMemo UX的內建課程又少又簡單
*在這裡推薦BBC系列
能一邊背單字一邊練發音
還能將句子錄音下來讓系統評分
經過長期訓練發音和單字量一定會進步

英文真的很重要,不論是文或理科,我也要加油