製作帶有會員登入的網站時,免不了要在資料庫紀錄密碼欄位
早期的開發人員對資安不講究,常看到以明文儲存密碼的荒唐事
只要資料庫被駭,所有人的帳號密碼都直接曝光
即使沒有被駭,也可能發生管理者監守自盜的情形
總之,密碼用明文儲存是個極度不正確的事情

蕭雲 發表在 痞客邦 留言(0) 人氣()

YahooNewsParser_1

這是半個月前幫學弟寫的程式(順便學習一下HttpParser跟Config的用法)
主要功能就是把Yahoo新聞的新聞網頁的內容給抓下來存成txt檔
如此一來要做資訊檢索或斷詞之類的研究都很方便
或許有人會說:用RSS不就好了?
我會額外寫個小程式的原因有二,一是RSS不一定能顯示很久以前的資訊,二是自訂性
自製程式的話對於格式或檔名之類的設定都可以按造自己需求
還可以過濾掉已存在的新聞...等

蕭雲 發表在 痞客邦 留言(4) 人氣()

taggingSong_1.jpg
 
網站連結
因為老師要求必須將現有的歌曲做分類,因此花了兩個禮拜研究ASP.NET做出來的產物
算是個問卷型態的網站吧,你所需要做的只要聽歌曲後,投下這首歌想表達的感覺跟風格即可
目前資料筆數還很少,所以需要各位網友跟朋友的幫忙
只要輸入暱稱並連續填完十題的網友,就可以選擇領取50P幣或50BO幣
而且不限只能填一次,填越多就送越多喔!
網站也可以選擇資料庫任意一首歌曲來填寫,不論你填幾首,我都衷心感謝
不過請勿隨便亂填,網站是有防護機制的喔= =+

蕭雲 發表在 痞客邦 留言(5) 人氣()

paper_1.png
這並不是一個能夠翻譯論文的程式,而是可以調整從pdf複製出來的文字的小程式
論文一般都使用pdf格式來散布,有些英文論文因為用字艱深,不容易看懂
有時我會直接丟到Google翻譯來看(但數學類的就沒辦法了)
不過複製pdf文字會有一些問題
由於論文幾乎都是分成二欄的形式
當選取一段句子時,會複製成這樣

蕭雲 發表在 痞客邦 留言(16) 人氣()


這篇是阿業建議我寫的,因為我不想再重複解釋換行符號的差異啦
套用草莓發言人許仁碩的話,以後「請大家上網去看」

在Java要寫入字串到檔案時
如果單純用\n來換行,用記事本打開檔案時
會看到原本應該換行的地方變成很多黑色小方塊
而且每行會接在一起,看起來很奇怪
不過用Java讀取這個文字檔時卻又是正常的

解決法很簡單,只要在\n前面加上\r
變成"\r\n",在記事本上看就不會亂掉了

 

你知道發生這種情況的原因嗎?
其實是作業系統間換行符號的差異導致的

換行符號有兩種,一個叫Cr(carriage return),一個是Lf(line feed)
Ascii code分別是13(0d)跟10(0a)
Cr是將指標移到最前頭(回車)
Lf是跳到下一行的位置,但沒有跳到開頭的效果
合在一起就是把指標移到下一行的最前面
類似我們按Enter的效果

不巧的是,三大作業系統的換行符號定義都不一樣
Mac只有Cr
Linux/Unix只有Lf
Windows則是CrLf,兩者皆有
意思是Linux只需要Lf一個字元就可以有換行加移到前面的效果
但是Windows就需要兩個

這在記事本會變成什麼樣子呢?
由於記事本只看到Lf,沒有看到CrLf
使得他無法"跳下一行"
而Lf符號又沒辦法顯示出來,所以就用黑色小方塊代替了

也許會有人問為什麼用PsPad之類的文字編輯軟體
就可以正常換行不會有問題
這是因為那些程式有判斷此問題
所以不管是Cr、Lf、還是CrLf,通通都當作換行

如果你想正常顯示這種只有Cr或Lf的檔案
但沒有安裝其他文字編輯器的話
沒~關係,Windows內建的WordPad就可以顯示了
要不,用IE開啟也是可以的(不過IE只能看不能改)

 

只是用WordPad的話要小心一個地方
如果你開啟了這種文件,修改後儲存的話
WordPad會很貼心(?)的幫你把換行符號全部轉成CrLf
缺點是:如果你的檔案故意要用Cr或Lf換行
儲存就被WordPad強制改掉了
用PsPad之類的文字編輯軟體,儲存時才能保持正常

或許你會想問,為什麼用C語言存取文件只要打\n不用\r\n
那是因為他在存取檔案的時候會自動轉換
當你輸入\n,他就自動當作\r\n
讀取的話,\r\n會自動變成\n輸出

最後順便一提,在VB.NET的世界中,回車是vbCr,換行是vbLf
檔案要換行就得寫vbCrLf或是vbNewLine

----
本日分享歌曲 倖田來未 - Come Over

蕭雲 發表在 痞客邦 留言(8) 人氣()

雖然比賽早就結束了,不過還是花了一點時間重打了當初比賽寫的兩題
至於其他題目呢?等這一陣子忙完再說吧
◎注意,這是在Windows用wxDev-C++寫的
若要將程式碼放到Linux上執行請把system("pause");這行刪掉
◎Linux底下的gcc編譯方法在,以前的網誌寫過很多次了
不過當時比賽還是有人是第一次用,這裡就再提一下
用"gcc -o 執行檔檔名 原始檔檔名"產生執行檔
再用"./執行檔檔名"來執行
如果你把檔案放在桌面的話,請記得先打"cd Desktop"進入桌面目錄
Problem I
---------------------

輸入一個迷宮(0≦迷宮行列≦100),裡面有若干的人(0≦人數≦10)
每個人取走到出口最快的步數(假設走5步、10步、20步都能到出口,就算5步)
計算出走最慢的人減走最快的人步數的值
(設有三人最快步數為3步、5步、10步,就輸出7)
範例輸入會告訴你有幾個迷宮,長寬為何,共有幾人
最後輸入迷宮的圖
W代表牆,B是道路,S是人(也算道路),E是出口
Time Limit:5 sec.
Sample Input
2
9 10 3
WWWWWWWWWW
EBBBWWBBBE
WWSWBWSWWW
WWBWBWWBBE
WWBWSWWBWW
WWBWBWWBWW
WWBWBBBBBB
WWBBBBWWWB
WBWWWWWBBB
7 6 2
WWWEWW
WWWBWW
WWWBWW
WWBBBB
WWSWWB
WWBBBS
WWWWWW
Output for the Sample Input
7 <<10-3
2 <<7-5
檔案下載(內含輸入檔pi.in)
這題跟當時寫的不同點在於,我終於砍樹了
如果再交一次的話應該可以成功才是
Problem J
---------------------

從A到Z加上空白、句點、逗點共29個字母
用二進位給予00000到11100的編號
當某位置二進位為1時,將12345678最後面的字元移到該位置
比方說g為00110,就把12345678變成12873456
題目會給予你很多這8位數字,必須將他轉回英文字
此外,每個字元可以有+-1的誤差
比方說o為18762345,當輸入為27753244一樣要輸出o
範例輸入中出現*要換行,出現0則結束
最後還要印出共有幾個字元(*算一個字元,0不算)
Time Limit:1 sec.
Sample Input
128763451283456718276345182763451876234587612345871623458
17623451876234581237456182763451238745687165234*228853462
284356828285346282853462875134677621346771513467175134628
751346712484552828534622378455771562330
Output for the Sample Input
hello, world.
hello, world.
Total: 27 characters.
檔案下載(內含輸入檔pj.in)
這題在大甲是成功跑過時間限制的,我只有稍微去除一點贅碼而已
------
順便一提,半年前寫的世界程式語言排名
該公司每個月(?)都會更新一次
目前的排名分別是Java、C、C++
Visual Basic稍微掉了一點
加油吧,VB!

蕭雲 發表在 痞客邦 留言(3) 人氣()


 
以前的視窗老師跟我要兩年前在課堂上的這個臨時作業...
不過當時我覺得我做的太爛了所以沒有存檔
所以現在就加上當時沒做的功能重寫一次,當作練習
遊戲就是簡單的記憶翻牌遊戲(俗稱對對碰)
因為這只是練習用,所以跟尋常的對對碰無異
只有增加當時沒寫的一點點小功能
像是按鈕數可以動態決定(不過最大11*7,因為螢幕不夠用了=__=)
還有增加音效或小限制
按鈕可以設奇數個,多出來的那一個是擾亂用的XD
圖片使用神奇寶貝珍鑽版的圖片
理由一是變化多,理由二是好找,理由三是格式相同且不會太大
每次開始遊戲的圖片是從151隻裡面隨機挑出來的
為什麼不用493隻?因為版面最大也只能挑出38個
全部圖片都包進去實在太佔空間了
順便提醒一下,如果按鈕數超過50個,並在100秒內過關
會有驚喜喔( ̄ー ̄)
遊戲下載(184 kb,需要.NET Framework 2.0)
會比平常大的原因是因為大部分是圖啦
原始碼(請不要進行二次散布,遊戲中需要的圖片、音效存在bin\debug中)
-----
由於程式實在是太過簡單,所以我嘗試簡短了變數的宣告
比方說一般的設計應該會宣告按鈕陣列
還有記憶按鈕實際編號的數字陣列
但其實數字陣列可以不用另外宣告
因為VB的每個物件都有Tag屬性
可以讓你放置數字或文字等任何東西,就像備註一樣
這麼好用的東西怎麼可以不用呢?
還有,有些人會把選項的設定再宣告一個全域變數使用
(例如選項的Form設定X,Y大小,在遊戲畫面的Form又宣告一個X,Y紀錄)
這其實也是多此一舉
只要確定選項在遊戲進行時不會被改掉
直接去抓別的Form的物件的變數不就好了?
另外就是翻牌失敗牌面會暫留後翻回去
這段我以前竟然看到有人用Timer來寫
不用這麼麻煩啦,直接用Thread.Sleep暫停畫面就好了
(缺點是快速連按時會有lag的感覺)
還有一些很基本的方法
像是用AndAlso跟OrElse來取代And跟Or
這種我就不說了(我還是說了嘛)
以寫視窗程式來說,VB絕對比知名的C,C++,Java還好用
只要靠著拉物件跟口語化的程式語法
絕對可以讓寫程式變成一種樂趣
大家也來寫視窗程設吧~
----
本日分享歌曲 AiM - 誰より

蕭雲 發表在 痞客邦 留言(32) 人氣()


 
不知道有多少人發現,幾天前我的部落格右下角的外掛工具欄
多了一張宣傳部落軌道的動態小貼紙
其實...那是我用PhotoImpact一步步純手工弄的
可是這樣作法曠日費時,而且想改顏色或文字就得重弄一遍
因此我就自己寫了這個動態貼紙產生器
程式說明:
根據輸入文字產生一張張動態GIF的素材
請自行使用如Ulead Gif Animation之類的軟體製作動態GIF
使用方法:
其實這個程式應該簡單到不用講解才是
先在左上角打入想要顯示的文字
然後按下儲存製作結果即可
可以先按下測試觀看結果(預設0.15秒跑一張)
顏色方面可以自行更改
至於旁邊的詳細設定如果你不清楚作用,建議最好不要更動
預設值已經調成我自認的最佳化了
其他說明:
因為VB儲存BMP成GIF會跟小畫家一樣產生色偏
所以儲存結果為BMP圖檔
不過別擔心,因為Ulead Gif Animation的最佳化程式
會將所有圖片做優化
所以不管原圖是GIF或是BMP
製作出來的檔案大小是不會變的,請安心使用
由於我的程式能力不足
文字並不是自動置中的,而是從文字邊界調整的
如果你把圖片寬度增加,請自行調整邊界值
至於高度目前限定15,則是因為程式架構關係
固定高度程式寫起來比較簡單^^"
程式下載(14 kb)
使用Visual Basic 2005製作,請自備.NET Framework 2.0
這個小軟體到底有什麼用處呢?
除了可以當作宣傳用的貼紙
也可以弄成說明文字
最重要的是...有創意夠噱頭^_^"
如果有時間的話
將來的修正目標是可以更改圖片大小甚至字型
或是來研究直接產生動態GIF的方法(不過效果應該很差吧...)
順便附上我目前製作的GIF延遲給大家參考
主要畫格1,7,13設定為1秒,其他畫格則為15/100秒
你可以自行多加調整以達到最好的效果

蕭雲 發表在 痞客邦 留言(16) 人氣()


自從在PTT的數字版看到了有人把文章代碼 #17rDAuhq
"補教「星光幫」選秀起跑!"這篇新聞做排版
我就想試著做做看這種功能
終於在計網小考結束後,花了不到一小時把它完成了
這個程式的功能其實很簡單
首先把一篇文章(如Yahoo!奇摩新聞)貼到"文章來源"的文字方塊中
然後按下"開始排版"
他就會將所有文字讀進來,並且排成上面這種格式
這時文章應該就已經放到剪貼簿了
直接到PTT之類的BBS按下貼上即可
不過老實說有時候會發生剪貼簿錯誤的問題
所以要是沒有跳出"已複製至剪貼簿"請按下面再次複製
按此下載 (9kb,需要.NET Framework 2.0不用我說了吧)
----
本日分享歌曲 ACID - 花吹雪
這是以前因為無恥小站的關係而沒有直接播放的音樂
現在拿來PIXNET再放一次

蕭雲 發表在 痞客邦 留言(0) 人氣()


其實標題原本叫做"差點胎死腹中的遊戲"
因為下午差點因為Unicode補完計畫的關係而全毀

裝了Unicode補完計畫後,雖然打出來的日文自己都看的到
不過因為還是BIG5碼,所以當沒裝Unicode補完計畫後
原本的程式碼的日文部份會變成亂碼
因為那個地區的編碼是原本就不存在的
幸好最後我還是把這個超難的問題給解決了
因為Unicode補完計畫中有一行
"而且轉成Unicode後,給別人都看的到喔"
所以我突發奇想,若是直接把程式碼轉成UTF-8會怎樣
沒想到竟然這樣就解決了,也因此這個遊戲才能與大家見面

說到這個遊戲,原本只是我為了挑戰自己
才會在期末作業中選這麼難的題目來做
而且當時因為其他作業壓縮的關係,沒有時間把這作完
所以當時程式只是個半吊子,畫面也不好看
不過倒是得到了不少同學的迴響,希望我繼續做下去
再加上小銘(你是使作庸者)建議我重做
所以我又把遊戲架構給整個改掉,才終於完成了這個作品
唯有放下手邊的東西,才能去抓取更大的目標

這個遊戲已經在巴哈姆特的神寶版發布了
其實裡面並沒有全部作完,還是有不少招式沒有完成
而且因為沒有人願意幫我測試,所以自己測試的蠻慢的
還是在快要發布的時候才發現亂碼錯誤
所以裡面會有多少其他的BUG我也不覺得奇怪了
還是希望有下載的話,請多多回報BUG與建議等等
讓這個遊戲更臻完美^_^

2008/12/27 補充
最新版本已經可以在Windows Vista上執行了
為什麼之前無法修正咧?因為我最近開始用Windows Vista了~_~
至於其他的修正,真的是力不從心了...

.NET Framework 2.0微軟下載頁面

遊戲下載 0.7.7.0(1.66MB,需要.NET Framework 2.0)

zShare載點(如果Google Page超過流量時可用)

巴哈姆特的討論連結(有問題的話在討論串或此處留言皆可)

關於遊戲的更新,可以執行目錄下的Update.exe
就可以只更新主程式了

以下放一些遊戲的截圖
















----
本日分享歌曲 SENTIV - 最期に君がいた

蕭雲 發表在 痞客邦 留言(29) 人氣()


之前為了要怎麼樣保護文字檔被直接修改而傷透腦筋
後來努力查了書跟網路後,終於讓我做出來這個加解密程式
其實程式本身很簡單
不過這次我嘗試使用了呼叫dll檔,感覺還蠻好用的
程式說明:
可以將文字做成加密的資料,也可以讓加密的資料回復原形
加密方式:
將要加密的資料貼在上方,然後打入加密密碼
密碼限定只能用英數而且一定要有八碼,大小寫區分
然後按下加密,就會產生了
每個加密密碼所產生出來的編碼結果皆不相同
解密方式:
將產生出來的編碼貼在下方
打入密碼,密碼一定要相同!否則無法編碼!
然後按下解密,上方就會出現資料
這次程式只是做好玩的,方便我把資料加密傳入
其實也可以將編碼貼給別人,然後雙方約定只有自己才知道的密碼
就可以做秘密通訊了
程式下載(13 kb,需要.NET Framework 2.0)
其實.NET Framework 3.5 Beta已經出來了
Visual Studio 2008 Beta也出來了
有人會想裝嗎?

蕭雲 發表在 痞客邦 留言(8) 人氣()

話說又過了好幾天沒有寫網誌了
這次分享一個我之前遇過的問題
想想看,要怎麼把左圖變成右圖?







蕭雲 發表在 痞客邦 留言(2) 人氣()

1 2
Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。