嗯,自從有了518以後,想找case接還真的不是難事 XDD  比那什麼都要錢的 e04好多了

 

也因為drupal6以後好一陣子沒接觸了,接下這件案件時,本來業主開的是只需要有類似discuz般的會員積分功能。
簡單來說是要用drupal會員功能來統計各會員的資料及積點數。後來又陸續提了一些要求,就把組合出來的功能網站紀錄如下囉。

 

會員積分功能
Userpoint - http://drupal.org/project/userpoints
可以用view產生排行

 

跑馬燈功能
Views Ticker - http://drupal.org/project/views_ticker
使用view去新增,格式選 views ticker,點選設定後,可選擇Horizontal(水平)、Vertical(垂直)、Fade(淡入淡出)、BBC(打字效果)。

 

自訂使用者註冊欄位
不用裝模組,直接去設定,路徑 → admin/config/people/accounts/fields

 

服務條款
Terms of Use - http://drupal.org/project/terms_of_use
簡單來說就像是一般使用者要註冊時跳出的那一大段說明,並且要勾選我同意,才能註冊的那種功能。
這個我最後試不出來,不過還是紀錄一下。

 

首頁輪播圖片
Dynamic display block - http://drupal.org/project/ddblock
效果很好,但是很難調用

 

聯繫表單
webform - http://drupal.org/project/webform
可以用在報名表、線上寄信、意見反應等彈性運用,搭配block可以組合出多功能的網站。

 

文字編輯器
Wysiwyg - http://drupal.org/project/wysiwyg
用這個整合以後會比較方便擴充或換編輯器。

安裝ckeditor方式:
下載ckeditor - http://ckeditor.com/download 
解壓縮至 drupal根目錄/sites/all/[libraries]
接下來使用Wysiwyg調用即可。

 

大概就這些,配合views跟內容類型(原cck),就能組出各式各樣的網站了!
以後有機會接到不同case的網站,再記錄下來分享給各位。

 

以上

 

 

 

 

 

文章標籤

ezcshi 發表在 痞客邦 留言(1) 人氣()

基於很多人瀏覽這頁面,我寫詳細一點給大家參考!
我也在101/01/04中毒了,我家系統是W7 64位元,另寫了一篇有拍照說明的處置方式,請點這觀看

 

軟體提示的錯誤訊息:
PC Performance & Stability analysis report、Windows detected a hard disk error、Windows detected a hard drive problem、System Error、Critical Error、Critical Error、Windows – No Disk、Exception Processing 、Message 0×0000013、Activation Reminder


先看這網站 http://www.spywarehelpcenter.com/how-to-remove-system-fix-virus-removal/?lang=zh
處理方式(英文):http://www.myantispyware.com/2011/11/15/how-to-remove-system-fix-virus/

 

一開始下關鍵字搜尋,找到的都是哪個防毒軟體可以刪除這病毒,結果下載掃了以後,刪除病毒時都需要輸入序號...
讓我懷疑是不是所謂的病毒就是這些防毒公司請人寫的 ..
因為該死的跟系統這麼密合,也不刪資料,就單純把你的所有資料夾隱藏,接著開始假系統修復
最後爬文就都導向推薦安裝什麼防毒軟體可以刪除,然後裝上防毒軟體又要花錢才能夠解毒
所以這是合理的懷疑!!

 

好啦,抱怨完了

 

 ※100/11/25 網友提供金山毒霸可以刪除病毒,僅需將隱藏檔恢復即可,趕快下載試試。(這個不是置入性行銷 =  =)
因為有一位電腦公司的朋友推薦過金山獵豹掃毒蠻強的,又有網友提供可以刪除System fix,所以看倌們真的可以試試,不過新版的沒有繁體中文就是了。
我個人現在使用是覺得還蠻不錯用的(用了一個多月了),NOD32非常不推薦... 辦公室同仁裝的是該套防毒,一點效果都沒有...
使用金山毒霸的話,掃完重新開機只需要進行步驟六就可以囉

 

將網路上找到要刪除的進程、程式、登錄檔紀錄如下:
解毒步驟:

step1. 開機按F8進入安全模式
step2. 刪進程 - 開啟工作管理員 ,在處理程序找可疑的exe程式,把它結束
step3. 刪除病毒寫入的登錄檔資料
step4. 刪除病毒產生的檔案
step5. 確認步驟都完成了以後重新啟動電腦,沒有再出現畫面就是完成了。
step6. 恢復隱藏檔及開始功能表

推薦可以使用kvtool先掃過一次,把其他可能的隨身碟病毒處理掉。
※如果工作管理員不能用,kvtool也可以將其恢復。

 

 

刪除可疑的程序(Process)

簡單來說就是工作管理員,切換到處理程序,CPU或記憶體高的程序,又是亂碼或沒意義的exe檔,就強制關閉吧。


刪除病毒所改的登錄檔(Regedit)

進入登錄編輯程式(開始/執行 regedit)後,找到這些登錄檔資料後,把右方的選項刪除。也就是到了目錄後,把下面底線的項目刪除。
例如:進到 HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main 後,把右方名稱為 Use FormSuggest 資料按右鍵刪除。


HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main "Use FormSuggest" = 'Yes'


HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings "CertificateRevocation" = '0'


HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings "WarnonBadCertRecving" = '0'


HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop "NoChangingWallPaper" = '1'


HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Associations "LowRiskFileTypes" = '.zip;.rar;.nfo;.txt;.exe;.bat;.com;.cmd;.reg;.msi;.htm;.html;.gif;.bmp;.jpg;.avi;.mpg;.mpeg;.mov;.mp3;.m3u;.wav;.scr;'


HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments "SaveZoneInformation" = '1'


HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer "NoDesktop" = '1'


HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System "DisableTaskMgr" = '1'


HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run ".exe" ※可疑的、亂碼的exe啟動資料就刪掉吧
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run ""


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system "DisableTaskMgr" = '1'


HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Download "CheckExeSignatures" = 'no'


HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced "Hidden" = '0'


HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced "ShowSuperHidden" = '0'

 

 

刪除病毒所生成的病毒檔

病毒會在桌面上、快速啟動、以及開始選單程式集內,將下列資料夾下可疑exe檔及system fix的捷徑刪除


首先要能看到隱藏檔,也就是 工具/資料夾選項 檢視
勾選
顯示所有檔案和資料夾
顯示系統資料夾的內容

取消勾選
隱藏保付的作業系統檔案
隱藏已知檔案類型的副檔名

開始刪檔

使用者資料夾
XP、2000預設在C:\Documents and Settings\使用者名稱
windows 7、vista 預設在C:\Users\使用者名稱
請刪除底下的怪異檔名.exe,例如poraehhcngan.exe

 

暫存檔
XP、2000預設在C:\Documents and Settings\使用者名稱\LOCAL SETTINGS\Temp
windows 7、vista 預設在C:\Users\使用者名稱\AppData\Local\Temp
裡面的smtemp資料夾請刪除

 


刪除外掛
XP、2000預設在C:\Documents and Settings\使用者名稱\Local Settings\Application Data
windows 7、vista 預設在C:\Users\使用者名稱\AppData\Local
這邊我忘記刪除什麼資料了,但是記得IE要清除網頁暫存檔。

 

刪除開始功能表程式集下的System Fix
簡單來說這邊就是進入使用者資料夾,記得將隱藏的檔案、資料夾開啟(工具/資料夾選項/檢視)
XP、2000預設在C:\Documents and Settings\使用者名稱\「開始」功能表 \ 程式集
windows 7、vista 預設在C:\Users\使用者名稱\AppData\Local\AppData\Roaming\Microsoft\Windows\Start Menu
C:\Users\使用者名稱\AppData\Roaming\Microsoft\Windows\Start Menu\Programs (因為職員是xp系統,w7不確定會在哪生成,如果有發現在請網友們提供啦,左邊是我猜測的位置)




Remove Folders and Files
%LocalAppData%\[random]
%LocalAppData%\[random].exe
%LocalAppData%\~[random]
%LocalAppData%\~[random]
%StartMenu%\Programs\System Fix
%Temp%\smtmp
%UserProfile%\Desktop\System Fix.lnk
File Location Notes:

簡單來說這邊就是進入使用者資料夾,記得將隱藏的檔案、資料夾開啟(工具/資料夾選項/檢視)
%UserProfile% 預設this is C:\Documents and Settings\[Current User] for Windows 2000/XP, C:\Users\[Current User] for Windows Vista/7, and c:\winnt\profiles\[Current User] for Windows NT.

%Temp% refers to the Windows Temp folder. By default, this is C:\Windows\Temp for Windows 95/98/ME, C:\DOCUMENTS AND SETTINGS\[Current User]\LOCAL SETTINGS\Temp for Windows 2000/XP, and C:\Users\[Current User]\AppData\Local\Temp for Windows Vista and Windows 7.

%LocalAppData% refers to the current users Local settings Application Data folder. By default, this is C:\Documents and Settings\[Current User]\Local Settings\Application Data for Windows 2000/XP. For Windows Vista and Windows 7 it is C:\Users\[Current User]\AppData\Local.

%StartMenu% refers to the Windows Start Menu. For Windows 95/98/ME it refers to C:\windows\start menu\, for Windows XP, Vista, NT, 2000 and 2003 it refers to C:\Documents and Settings\[Current User]\Start Menu\, and for Windows Vista/7 it is C:\Users\[Current User]\AppData\Roaming\Microsoft\Windows\Start Menu.

 

其中掃毒程式掃出來的資訊,我也貼在這,一併刪除,這些就是我這次案例病毒的藏身處(但要先開啟隱藏)
c:\documents and settings\all users\application data\poraehhcngan.exe ---- Startup

c:\documents and settings\all users\application data\dyiajiwxvoeua.exe ---- Startup

C:\Documents and Settings\使用者名稱\「開始」功能表\程式集\system fix\system fix.lnk ---- General

C:\Documents and Settings\All Users\Application Data\vUeZCuomoZnhZp.exe ---- General

C:\Documents and Settings\使用者名稱\「開始」功能表\程式集\system fix\uninstall system fix.lnk ---- General

C:\Documents and Settings\使用者名稱\桌面\system fix.lnk ---- General

C:\Documents and Settings\使用者名稱\Application Data\microsoft\internet explorer\quick launch\system fix.lnk ---- General

C:\Documents and Settings\All Users\Application Data\vUeZCuomoZnhZp.exe ---- General

C:\Documents and Settings\使用者名稱\Local Settings\Temp\smtmp\2\System Fix.lnk ---- General  ※將smtmp使用搜尋.lnk,將所有System Fix.lnk刪除

 

 

 

恢復隱藏檔(取消隱藏) - 使用金山毒霸後直接從這裡開始處理

基本上根目錄都所有檔案都取消隱藏,有一些系統資料夾本來就不能取消隱藏了,所以就放心的全部取消隱藏吧。

程式集(XP)不見的話就進到:
C:\Documents and Settings\All Users\「開始」功能表\程式集\
以及
C:\Documents and Settings\使用者名稱\「開始」功能表\程式集
將所有資料選起來點選右鍵內容 / 取消勾選隱藏

快速啟動消失(開始右邊那些小按鈕)恢復:
進到下列位置,也是取消隱藏
C:\Documents and Settings\使用者名稱\Application Data\Microsoft\Internet Explorer\Quick Launch

我的最愛恢復:
進入C:\Documents and Settings\使用者名稱\Favorites
全選取消隱藏

控制台、執行等恢復:
開始按鈕 點選右鍵 / 內容 / 「開始」功能表
選 自訂 / 進階
將啟動功能表項目的資料勾選起來。



應該到目前為止步驟都對就能處理完畢了。
處理那該死的system fix成功!

 

修復開始功能表

經網友找來資料,temp底下的smtmp就是開始功能表的捷徑被病毒移動的位置。
所以將System Fix.lnk刪除以後即可進行恢復。
底下內容從 http://www.bleepingcomputer.com/forums/topic405109.html 整理

temp/smtmp底下對應原始位置

%Temp%\smtmp\1:

Windows XP: C:\Documents and Settings\All Users\Start Menu
Windows Vista and Windows 7: C:\ProgramData\Microsoft\Windows\Start Menu

%Temp%\smtmp\2\:

Windows XP: C:\Documents and Settings\<your login name here>\Application Data\Microsoft\Internet Explorer\Quick Launch\
Windows Vista and Windows 7: C:\Users\<your login name here>\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\

%Temp%\smtmp\3\:

Windows XP: Does not exist in XP. Therefore do not be concerned if %Temp%\smtmp\3 does not exist on Windows XP.
Windows Vista and Windows 7: C:\Users\<your login name here>\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar

%Temp%\smtmp\4\:

Windows XP: C:\Documents and Settings\All Users\Desktop
Windows Vista and Windows 7: C:\Users\Public\Desktop

 

開始功能表恢復程式

Windows 2000 US English
http://download.bleepingcomputer.com/grinler/fakehdd/win-2000-sm-reset.exe

Windows XP Pro 32-bit US English - This should also work in other 32 bit version of Windows XP but I have nothing to compare against.
http://download.bleepingcomputer.com/grinler/fakehdd/winxp-pro-32bit-sm-reset.exe

Windows Vista 32-bit US English
http://download.bleepingcomputer.com/grinler/fakehdd/vista-32-sm-reset.exe

Windows Vista 64-bit US English
http://download.bleepingcomputer.com/grinler/fakehdd/vista-64-sm-reset.exe

Windows 7 32-bit US English
http://download.bleepingcomputer.com/grinler/fakehdd/win7-32-sm-reset.exe

Windows 7 64-bit US English
http://download.bleepingcomputer.com/grinler/fakehdd/win7-x64-sm-reset.exe

 



登錄檔修復

因為有網友提到無法進入桌面,加上可能看倌不小心誤殺,就把找來的兩個登錄檔修復軟體留在這:

系統工具【Glary Registry Repair】登錄檔清除、修復、最佳化軟體
http://steachs.com/archives/1697#more-1697

Eusing Free Registry Cleaner
http://asiloop.com/eusing_free_registry_cleaner

 

其他處置
檢測可疑的開機程序(程式),這邊推薦使用軟體 Starter
http://codestuff.obninsk.ru/Starter56208.zip (官方載點)
一樣勾選或右鍵刪除即可。

如果使用系統還原,請務必先將啟動的可疑程序先拿掉。
拿掉以後在開始系統還原,還原後逐一檢查system fix病毒的存放位置檢查是否還有存留。

這樣應該就能根除病毒了。
最後還是推薦使用金山毒霸,畢竟動登錄檔很難查,難免誤刪。

也很感謝這些提問的網友,能夠豐富病毒的處置、復原方式。

 

 

 

以上 紀錄

 

 

 

文章標籤

ezcshi 發表在 痞客邦 留言(67) 人氣()

如標題,這篇紀錄用。

將下方資料貼到記事本存為ba檔後,將7-zip資料夾(通常在C:\Program Files\7-Zip) 下的7z檔案與製作的bat放在同一目錄下。
接著使用windows的排程工具讓它跑,就會自動幫我把Mysql data資料夾的檔案壓縮複製到指定位置囉。

當你的sql檔案一輸出動輒5、60MB,有時候連匯出匯入都很困難(還要調整限制上傳,限制秒數),就直接將資料夾備份,也避免因為倒sql檔案引起的編碼問題導致資料全毀無法用的問題。
(前陣子就是使用一般php寫的mysql備份程式,毀了約兩個星期的資料...)

 

bat檔如下

 

@echo off
title MySQL資料夾備份
echo 備份啟始中....

echo 停止MySQL服務...
net stop mysql

REM 取得日期指定變數TODAY
FOR /F "tokens=1-3 delims=/ " %%a IN ("%date%") DO (
SET TODAY=%%a-%%b-%%c
)

echo 7z壓縮中..
REM 使用7z壓縮 D:\xampp\mysql\data\drupal
7z a DpSQL_Files_%TODAY%.7z D:\xampp\mysql\data\drupal

REM 複製到 D:\本地備份 /Y取代

echo 開始備份..
xcopy DpSQL_Files_%TODAY%.7z D:\本地備份 /Y
xcopy DpSQL_Files_%TODAY%.7z Z:\ /Y


echo 啟動MySQL服務...
net start mysql

 

------以上------

大概提一下:
REM類似註解,所以到時候可以自己增減。
FOR那行就是取得系統日期,並將 / 抽掉,取得前面1-3個資料並分別寫入%%a、%%b、%%c,若要連星期都進去,就是1-4,然後就會有多一個變數%%d
最後設定today變數,並將其組合為壓縮後的檔案後綴。  此篇生成的7z檔案名稱為:DpSQL_Files_2011-11-02.7z

至於xconpy,/y就是取代並覆蓋。然後決定要複製到哪裡。
我個人是使用外連的硬碟,備份在兩個位置,一個在D槽,一個在Z槽
外連硬碟就用 工具 / 連線網路磁碟機,最後指定磁碟代號就可以了,這樣彈性很大,只要要換另一個硬碟,就轉換位置即可。

若資料不怕外流,還可以組合技,使用時下流行的雲端備份,同步那個資料夾,就更加安全了。
當然這種思路又可以延伸兩台異地備援,客倌們自個兒想想規劃啦!

另外補充紀錄連線網路硬碟重開機消失的處理方式:

將下面存為bat檔後放到啟動即可

net use z: /delete
net use z: \\webdb_url\backup /user:userid password

 

 

101.9.5加入恢復

 @echo off
title 網站同步
echo 同步中....

REM 取得日期指定變數TODAY
FOR /F "tokens=1-3 delims=/ " %%a IN ("%date%") DO (
SET TODAY=%%a-%%b-%%c
)

REM 複製回本機
xcopy z:\網站\Drupal_%TODAY%.7z D:\本地備份\網站\Drupal_%TODAY%.7z /Y
xcopy z:\資料庫\DpSQL_Files_%TODAY%.7z D:\本地備份\資料庫\DpSQL_Files_%TODAY%.7z /Y

echo 同步網頁檔案
echo 停止Apache服務...
net stop apache2.4
7z x D:\本地備份\網站\Drupal_%TODAY%.7z -od:\www -y


echo 同步資料庫
echo 停止MySQL服務...
net stop mysql
7z x D:\本地備份\資料庫\DpSQL_Files_%TODAY%.7z -od:\db -y

echo 同步於 於 %date% %time% >> logs.txt

echo 恢復服務..
net start apache2.4
net start mysql

 

 

C:\Program Files\7-Zip
文章標籤

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

嗯,整理出使用這項功能可能會用到何種函式的資料,透過這些關鍵字配合google應該足以完成需要的功能了。


手機資料

取SIM卡資料
透過getSystemService(TELEPHONY_SERVICE)取得 TelephonyManager物件,在透過其方法取得SIM卡資料(先生成Adapter,在從陣列撈)
取SIM卡狀態:getSimState() 回傳1-無sim卡,2-需PIN解鎖,3-需PUK解鎖,4-需Network PIN解鎖,5-已就緒,0-狀態未知
取SIM卡卡號:getSimSerialNumber()
取SIM卡供應商代碼:getSimOperator()
取SIM卡供應商名稱:getSimOperatorName()
取SIM卡國別:getSimCountryIso()


取得電信及手機相關資訊
TelephonyManager及android.provider.Settings.System(一樣先丟陣列或物件,再取)
ex:telMgr = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
取得手機號碼:getLine1Number()
取得電信網路國別:getNetworkCountryIso()
取得電信公司名稱:getPhoneType()
取得網路類型:getNetworkType()
取得手機IMEI:getDeviceId()
取得IMEI SV:getDeviceSoftwareVersion()
取得IMSI:getSubscriberId()


來電處理
onCallStateChanged


開啟WiFI、GFS
getSystemService、WiFiManager.isWiFiEnabled()、LocationManager.isProviderEnabled()


錄音
MediaRecorder、getExternalStorageState()、File.CreateTempFile、.setAudioSorece
setAudioSamplingRate()、setAudioEncodingBitRate()、setOutputFormat()、setAudioEncoder()


控制音量
AudioManager、getStreamVolume(AudioiManager.STREAM_RING)、getRingerMode()
AudioManager.ADJUST_LOWER、AudioManager.ADJUST_RAISE、
AudioManager.RINGER_MODE_NORMAL、AudioManager.RINGER_MODE_SILENT、AudioManager.RINGER_MODE_VIBRATE




基本

切換Activity
Intent

滑動的相片
Gallery

樣式主題
Style

取Drawable寬高
Bitmap、BitmapFactory.decodeResource()、getHeight()、getWidth();

取得螢幕寬高
DisplayMetrics、getWindowManager().getDefaultDisplay().getMetrics()、widthPixels、heightPixels

TextView - Linkify
透過Linkify依不同類型的文字(電話、郵件、連結)而呼叫不同的相對應程式開啟。

浮動訊息
Toast
可透過LinearLayout放入圖片丟給Toast,toast.setView(layout)

狀態列
NotificationManager、Notification、PendingIntent
可設定icon、tickerText(文字)、defaults(提醒效果)
提醒效果有:DEFAULT_SOUND(聲音)、DEFAULT_LIGHTS(螢幕發亮)、DEFAULT_VIBRATE(振動)、DEFAULT_ALL(三種都動作)

桌面小工具(Widget)
AppWidgetProvider、BroadcastReceiver去listen、onUpdate()

圖片透明度
Paint、setAlpha




功能性

app載入前播放影片
Uri.parse()、VideoVeiw、setOnCompletionListener


手勢滑動頁面效果
ViewFlipper,簡單來說就是透過觸控壓螢幕的位置X、Y滑動後始末座標去判斷位移,最後在呼叫動畫並切換到下個頁面。
onTouchEvent()、MotionEvent.ACTION_DOWN、MotionEvent.ACTION_UP、event.getX()、event.getX()、setInAnimation()、setOutAnimation()
另一方法:ViewGroup、Scroller、VelocityTracker


多點觸控Multi-touch
onTouchEvent、MotionEvent.getAction()、MotionEvent.ACTION_DOWN(UP)、MotionEvent.ACTION_POINTER_N(1234..)_DOWN(UP)
getPointerCount()、findPointerIndex()、getX()、getY()


換手機背景圖
setWallpaper()
取目前桌布:getWallpaper


變更螢幕方向
setRequestedOrientation()、getRequestedOrientation、LANDSCAPE、PORTRAIT、onSensorChanged、mSensorListener、
透過方向感應onSensorChanged偵測變化在進行變更螢幕方向,另變化後使用onConfigurationChanged進行改變後進行的事件。


定時啟動(鬧鐘、日曆提醒)
getSystemService(ALARM_SERVICE)、TimePickerDialog、AlarmManger、set、setRepeating、BroadcastReceiver


開機執行
onReceive() 繼承BroadcastReceiver


離開跳出訊息確認
AlertDialog.Builder() .setPositiveButton()  . setNegativeButton()
離開按鈕使用setOnClickListener去呼叫AleretDialog.Builder,並設定屬性若點選關閉或返回


隱藏式側選單
SlidingDrawer.setOnDrawerOpenListener() 開啟、SldingDrawer.setOnDrawerCloseListener() 關閉、GridView


解析RSS
SAXParser、SAXParserFactory、SAXParserFactory.newInstance()、newSAXParser()、getXMLReader()、MyHandler()
getParsedData()、getRssTitle()



以後再慢慢補齊吧,目前應該堪用了。
玩過iPad及華碩的變形金剛,深覺得有些軟體沒有寫橫置跟直立的不同activity對於操作上的感受真的會覺得很不方便。
※在res/下建立layout-land(橫)及layout-port(直)的資料夾,當開啟程式就會依照螢幕自動載入適合的Layout,至於模擬器要測試就用ctrl+F12

再來則是沒有抓螢幕大小來自動放大內容這部份在操作感受也是很令人不快。(絕對跟相對)

若有機會您搜尋到這篇文章,請記得將開發app時注意這兩個環節。
也期待您有好的作品能分享囉 !


文章標籤

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

嗯,因為管理的電腦群有一批在人煙稀少處,可恨的使用者竟然大剌剌的打起了遊戲來。
為了不影響其他使用者的權利,去找了如何將那些遊戲擋下來的方式。

本來是想說群組原則無法搞定就寫vb去抓執行序特定名稱直接強制關掉。
後來發現有方式可以搞定,哈!

參考微軟網站:http://support.microsoft.com/kb/323525/zh-tw

節錄如下:

 

方法 1: 如何限制使用者只能使用 「 群組原則 」 來執行特定的 Windows 程式

您可以使用群組原則物件編輯器 」 來限制使用者執行特定的 Windows 程式,使用 [適合您的狀況一節中的 [所描述的程序]。

編輯在 Windows 2000 架構的電腦上本機原則

若要限制使用者在獨立 Windows 2000 架構的電腦上執行特定的 Windows 程式:

  1. 按一下 [開始],然後按一下 [執行]。
  2. 在 [開啟] 方塊中輸入 gpedit.msc,],然後再按一下 [確定]]。
  3. 展開 [使用者設定]、 展開 [系統管理範本,然後再展開 [系統]。
  4. 在右窗格中連按兩下 [不要執行指定的 Windows 應用程式
  5. 按一下 [已啟用],然後按一下 [顯示]。
  6. 按一下 [新增],然後再輸入您想要限制使用者只能從執行的程式可執行檔名稱。 例如,輸入 iexplore.exe
  7. 按一下 [確定],按一下 [確定],然後按一下 [確定]

    注意: 如果網域等級的原則設定值會定義,它們可能會覆寫此本機原則設定。
  8. 結束 [群組原則物件編輯器]。
  9. 重新啟動電腦。

編輯網域中的 [群組] 原則

若要編輯全網域原則,以限制使用者執行特定的 Windows 程式:

  1. 按一下 [開始],指向 [程式集]、 指向 [系統管理工具],然後再按一下 [Active Directory 使用者和電腦]。
  2. 用滑鼠右鍵按一下您的網域,然後按一下 [內容]。
  3. 按一下 [群組原則] 索引標籤。
  4. 在 [群組原則物件連結] 方塊按一下 [您要套用此設定群組原則]。比方說,請按一下 [預設網域原則]。
  5. 按一下 [編輯]。
  6. 展開 [使用者設定]、 展開 [系統管理範本,然後再展開 [系統]。
  7. 在右窗格中連按兩下 [不要執行指定的 Windows 應用程式
  8. 按一下 [已啟用],然後按一下 [顯示]。
  9. 按一下 [新增],然後再輸入您想要限制使用者只能從執行的程式可執行檔名稱。 例如,輸入 iexplore.exe
  10. 按一下 [確定],按一下 [確定],然後按一下 [確定]
  11. 結束 「 群組原則物件編輯器 」,然後按一下 [確定]

    注意: 群組原則變更不會立即強制。 如需詳細資訊請參閱 Troubleshooting 一節。

方法 2: 如何限制使用者執行特定的 Windows 程式藉由編輯登錄

重要這 個區段、 方法或任務包含告訴您如何修改登錄的步驟。然而,如果您不當修改登錄,可能會發生嚴重的問題。因此,執行這些步驟時請務必小心。為加強保護,修改登錄之 前,請務必將它備份起來。以後您就可以在發生問題時還原登錄。如需有關如何備份和還原登錄的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

322756  如何備份和還原在 Windows 登錄


如果要限制從執行特定的 Windows 程式藉由編輯登錄的使用者請依照下列步驟執行:

  1. 按一下 [開始],然後按一下 [執行]。
  2. 在 [開啟] 方塊中輸入 regedit,再按 [確定]
  3. 建立名為 DisallowRun 的 DWORD 值。若要這麼做:
    1. 找出並按一下下列登錄機碼:
      HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion \Policies\Explorer
    2. 在 [編輯] 功能表上指向 [新增],然後按一下 [DWORD 值]。
    3. 鍵入 disallowrun,並按下 ENTER。
    4. 連按兩下您在前一個步驟中建立 [DisallowRun 值。
    5. 數值資料] 方塊中輸入 1,然後再按一下 [確定]。
  4. 建立新的 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion \Policies\Explorer\DisallowRun 子機碼。 若要這麼做:
    1. 下列的登錄機碼上按一下滑鼠右鍵,指向 [新增],然後再按一下 [機碼
      HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion \Policies\Explorer
    2. 鍵入 disallowrun,並按下 ENTER。
  5. 每一個程式您想要防止使用者執行,建立新的字串值 DisallowRun 子機碼中,您在步驟 4 建立。使用連續的數字來命名字串值 (以 1 開始),並使用該程式可執行檔名作為資料字串值。

    例如,如果您想要限制使用者只能從執行 Microsoft Internet Explorer:
    1. 下列的登錄機碼上按一下滑鼠右鍵,指向 [新增],然後再按一下 [字串值
      HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion \Policies\Explorer\DisallowRun
    2. 鍵入 [1,並按下 ENTER。
    3. 連按兩下您在前一個步驟中建立 1 值。
    4. 輸入 [數值資料] 方塊中的 [iexplore.exe,然後按一下 [確定]
  6. 結束 [登錄編輯程式],然後重新啟動電腦。

 

--------------  以上節錄  ------------------

 

再來管理者部份,只要進到登錄檔將登錄檔匯出,透過記事本開啟編輯以後,在需要設定的電腦直接執行登錄檔就能寫入限制了。
就算換了不同作業系統,只要找到登錄檔的設定處以後全部透過登錄檔去寫入即可,另外就算是隨身碟的程式也照樣擋,哈。
這技巧,就分享給各位啦~

 

以上 紀錄

文章標籤

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

昨天晃到的好服務:PhoneGap - 一個可以跨平台製作各類moblie的開發工具,一個免費的open source。

看倌一定問,唷~豈有如此神之?!
講白了也沒什麼,這開發工具也算半個框架,也就是這個套件內建瀏覽器,而讀的目錄跟著包在一起。
所以簡單來說就是看似app,實為網頁。  但也能夠透過函式呼叫手機上的各類裝置結合使用。
今早測試支援jQuery,但僅是使用模擬器去跑,還沒測丟到手機內是否能夠運作。

但,無論如何,只要會做網頁就能夠寫app(幾乎啦),聽起來有沒有很迷人?
且支援jQuery、HTML5,能夠玩的花樣可多了。尤其jQuery,變成動態取得線上資料,裝上去了以後你能夠直接維護service,而client直接拉。
RSS放著,輸出稍稍修改,連部落客都能夠自己寫個專門的app。  弄個QR code,一拍就能夠追蹤你的文章,酷不酷?

這也代表著公司的web service可以直接挪來給行動裝置使用,且既有的網頁維護者或service不需很大門檻就能將服務移植到行動裝置上。
而且行動裝置通用,不用研究了Android卻又要研究iOS,更甭說未來的微軟芒果,因為是網頁,所以連介面幾乎都能夠通用。

在這個行動世代,又要額外花錢請人寫公司的app或相關服務,有沒有替公司省錢了?  有沒有,有沒有?!

 

因為昨天才接觸,所以還未開始測試其他函式,這篇僅紀錄如何開始運作。以Android環境為例
官方教學
視頻教學
inSide的教學

首先Eclipse + SDK環境請先自己架好,若不會可以參考我的文章

OK,基本開發環境佈署好了以後,請先建立一個新Android專案。

需注意的是Package Name請用 com.phonegap.*  這種命名方式

下載 phonegap 運行所需資料,載點在這 https://github.com/phonegap/phonegap/zipball/1.0.0 ,寫此文章時剛好1.0.0版

解壓縮後請進到Android資料夾,將xml資料夾複製到project下的res資料夾內
js及jar檔都改為phonegap,將版本號去掉js放在www下,而jar放到lib下。

  

   

接下做一個動作,讓jar加入

在libs按右鍵,選擇Build Path / Configure Build Path

 

接下來選擇Libraries,點Add JARs選到libs下的phonegap.jar後ok

出現如下圖即ok

 

 

接下來開啟src下的 *.java  (範例是app.java)
將 紅色的刪除,加入藍色底線的字。

刪除項目

  • import android.app.Activity;
  • setContentView(R.layout.main);

加入

  • 按enter後會出現 import android.os.Bundle;,在後面加入 import com.phonegap.*;
  • 將extends Activity 改為 DroidGap
  • super.onCreate(saveInstanceState);後加入 super.loadUrl(file:///android_asset/www/index.html);

 




完成後程式碼如下圖 (如果有出現錯誤請檢查步驟是否錯誤)

 

 

接下來,修改 AndroidMainfest.xml 檔案,在檔案點右鍵 Open With / Text Edit
需要增加程式碼到三處,如下圖箭頭標示

 

第一段程式碼加在上方箭頭處,也就是版本編號後

第一段程式碼
-------------------
<supports-screens
android:largeScreens=”true”
android:normalScreens=”true”
android:smallScreens=”true”
android:resizeable=”true”
android:anyDensity=”true”
/>
<uses-permission android:name=”android.permission.CAMERA” />
<uses-permission android:name=”android.permission.VIBRATE” />
<uses-permission android:name=”android.permission.ACCESS_COARSE_LOCATION” />
<uses-permission android:name=”android.permission.ACCESS_FINE_LOCATION” />
<uses-permission android:name=”android.permission.ACCESS_LOCATION_EXTRA_COMMANDS” />
<uses-permission android:name=”android.permission.READ_PHONE_STATE” />
<uses-permission android:name=”android.permission.INTERNET” />
<uses-permission android:name=”android.permission.RECEIVE_SMS” />
<uses-permission android:name=”android.permission.RECORD_AUDIO” />
<uses-permission android:name=”android.permission.MODIFY_AUDIO_SETTINGS” />
<uses-permission android:name=”android.permission.READ_CONTACTS” />
<uses-permission android:name=”android.permission.WRITE_CONTACTS” />
<uses-permission android:name=”android.permission.WRITE_EXTERNAL_STORAGE” />
<uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE” />
-------------------


第二段加在"@string/app_name"後,記得要有空白

第二段程式碼:
-------------------
android:configChanges="orientation|keyboardHidden"
-------------------

 

第三段加在原<activity> 標籤下,也就是多加一個activity標籤

第三段程式碼:
-------------------
<activity android:name="com.phonegap.DroidGap" android:label="@string/app_name" android:configChanges="orientation|keyboardHidden"> <intent-filter> </intent-filter> </activity>
-------------------

貼上去會很醜,因為都沒縮排,看倌可以自行整理。
最後程式碼完成如下圖

 

最後在www目錄下建立一個index.html檔案,不曉得要打什麼可以參考下面

index.html範例
-------------------
<!DOCTYPE HTML>
<html>

  <head>
    <title>test1</title>

  <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>     

  <script type="text/javascript" charset="utf-8">

     function onLoad(){

          document.addEventListener("deviceready", onDeviceReady, true);

     }

     function onDeviceReady(){

          navigator.notification.alert("ezcshi phonegap sample!!");

     }

  </script>

  </head>

  <body onload="onLoad();">
       <h1>Welcome to PhoneGap</h1>

       <h2>Try it!</h2>

  </body>

</html>
-------------------

接下來就是測試模擬器啦。
在專案名稱的資料夾右鍵按 Run AS / Android Application
接下來就會跳出模擬器畫面了。
注意可以從下方的Console觀看載入情況,若沒有該欄位,可以從左下角開啟。


 

第一次執行很容易出現卡在 Waiting for HOME ~ 的訊息,因為配備關係需要等久一點,等到出現 Success ! 就是載入完成了。
開啟後會跳出畫面

 

恭喜看倌,程式會跑了~!
接下來就看你怎麼開發啦。

若此篇文章有錯也請告知,感激不盡!

ezcshi 發表在 痞客邦 留言(7) 人氣()

唉,痞客邦的API ScribeFire抓不到,只能登入寫文章了..

 

ok,因為iPhone造就了Android,也因"看起來"似乎寫程式就能賺大錢,想必越來越多人搶食app這塊大餅,殊不知寫程式跟好點子跟賺到錢是好幾回事。
※儘管iPhone是硬體,Android是軟體,但也因此讓世界刮起了智慧手機風潮,也才多了這些相關產業行業的興起,連帶的帶出了整個環境趨勢的變化。
總而言之,未來什麼都跟手機、行動設備都會扯上關係。

身為一個資訊產業的苦力,不小心扯上了,很合理是吧!??

不扯淡了,開始佈署筆記。

 

(翻書筆記→) Android系統其實是一種linux系統,而app是使用java語言,寫出來的java程式透過Dalvik虛擬機器在Android上運作。
google推薦使用Eclipse圖形開發介面,因為能夠透過plugin轉換後直接透過模擬器觀看寫出的程式。都推薦使用了,當然就用這套啦。

 

開發環境需要的環境 + 開發程式下載處整理如下

 

Java Development Kit (JDK)  http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html  ※撰寫本文時JDK7

Eclipse 開發IDE程式 for JEE http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/indigor  

Android SDK  http://developer.android.com/sdk/index.html   ※注意解壓縮後盡量解在硬碟根目錄,待會解釋

 

Android SDK更新
都下載安裝完成後,SDK解壓縮後可以看到裡面有個SDK Manager.exe,執行後會開始上網比對list。
進到左邊選單 Available packages ,將右方 Android Repository 勾選 (至於下方 Third party Add-ons 第三方套件個人也勾了,但目前還沒用到)後安裝。

 

Eclipse 環境安裝 Android Development Tools
開啟Eclipse後,點選 help / Install New Software
在Work with後方輸入網址 https://dl-ssl.google.com/android/eclipse
輸入後稍微等一下後下方會出現Develop Tools,勾選後安裝。

 

Eclipse連結SDK
重新啟動Eclipse後,進入Window / Preferences
左方選擇Android後,在SDK Location輸入剛剛SDK解壓縮的位置。 按Apply後OK,讓它連結。

 

※因為要測試模擬器是否能夠運作,所以先建立一個專案測試。

Eclipse建立專案
進入Eclipse 後, New / Android Project
輸入專案名稱後,Build Target 挑選預設要運作的Android版本。
注意Package name 格式為 " *.* " ,必須要兩個字串用 . 連一起,例如: inc.test

        

完成後用模擬器來執行這專案,點工作列的小圖示或 Run / Run (Ctrl+F11)

 

建立Android Virtual Devices
當按下小圖示或執行後,跳出的視窗選擇New
自行定義名稱,例如DAVID_2.3
自己定義模擬器的空間及螢幕資料,要注意的是Target 必須跟一開始設定的專案同一版本,否則運作會出現如下錯誤。
錯誤訊息: Still no compatible AVDs with target 'Android 2.3.3': Aborting launch.
接下來就能運作囉。

 

若出現如下錯誤訊息
[2011-08-03 13:32:48 - InfoProductApp] ------------------------------
[2011-08-03 13:32:48 - InfoProductApp] Android Launch!
[2011-08-03 13:32:48 - InfoProductApp] adb is running normally.
[2011-08-03 13:32:48 - InfoProductApp] Performing com.ipp.InfoProductApp activity launch
[2011-08-03 13:32:48 - InfoProductApp] Automatic Target Mode: launching new emulator with compatible AVD 'Android_1.5'
[2011-08-03 13:32:48 - InfoProductApp] Launching a new emulator with Virtual Device 'Android_1.5'
[2011-08-03 13:32:48 - Emulator] invalid command-line parameter: Files\Android\android-sdk\tools/emulator-arm.exe.
[2011-08-03 13:32:48 - Emulator] Hint: use '@foo' to launch a virtual device named 'foo'.
[2011-08-03 13:32:48 - Emulator] please use -help for more information

根據此篇文章的說法,就是路徑因為windows的命令字元模式下,路徑過長會變成~1收尾,導致路徑錯誤而無法運作
解決方式就是盡量換到根目錄下,路徑才不會因過長而出錯。  這也是一開始為什麼說最好放在根目錄下的原因。

 

 

恭喜看倌,環境佈署告一段落囉。
接下來的筆記等我消化後在發文啦。

文章標籤

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

老規矩:firefox、firefox portable、firefox 免安裝版、firefox綠色版、附加元件、add-ons、狀態列、進度條

當個兵回來竟然從3.6直升5.01了,真是快。
不過火狐從3.6上4後,個人覺得開啟速度真的提高許多,也不會有以前版本開太久會有延遲的現象。
整體介面改過以後也挺不錯的,唯獨缺點就是狀態列(以前會有個進度條及連結的網址,現在都沒了)不過可以下載此元件恢復 Status-4-Evar

Firefox免安裝載點portableapps

lanc的收藏集:基本篇進階篇部落客

換了好幾代ff,整理列出一些個人常用的套件如下。
這些都是可用於FF5.01的元件。

 

基本功能加強

滑鼠手勢FireGestures [安裝]
滑鼠拖拉QuickDrag [安裝] 一般應該都是拉文字去搜尋,連結或圖片下載或開到新分頁,所以用這個元件即可。
IE分頁IE Tab V2 [安裝]
側邊欄All-in-One Sidebar [安裝] 用習慣的話會覺得很方便
瀏覽加強FastestFox [安裝] 框選文字進行搜尋、自動將下一頁連到此頁最底下(滾輪一滾到底)
隱藏分頁HideTab [安裝] 使用Ctrl+Q隱藏該分頁,Alt+Q隱藏所有分頁,Ctrl+Alt+Q恢復所有分頁。可以設定一個預設頁,當隱藏全部以後就跳到該網頁。
恢復狀態列Status-4-Evar [安裝] FF4以後就將狀態列拿掉了,此套件可以恢復狀態列,並讓狀態列能夠設定微調。※進度條也能夠恢復並設定
網站國別Flagfox [安裝] 在網址列後方出現該網站的國別旗幟(也可以說伺服器的位置)。
google服務按鈕Google Shortcuts [安裝] 將Google服務變成按鈕在工具列上。
標籤(我的最愛)同步Xmarks [安裝] 將書籤(我的最愛)自動同步。現在並加入了瀏覽紀錄、分頁同步。
切換語系Charset Switcher [安裝] 右鍵切換網頁語系

 

上面這些元件是個人在重新安裝ff時幾乎必裝的套件,若需要其他功能的請參考上方的收藏集。
※收藏集上也會有註記功能。

 

額外推薦

若有使用google reader的話,可以使用feedly [安裝] 這個元件,可以讓google reader閱讀起來更舒服。

常用免費空間下載元件的話,可以用SkipScreen [安裝] 這個元件,有些免費空間能夠直接跳過讀秒。

 

文章標籤

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

首先先至官方網站下載,目前版本為1.72。

佈署

將下載後的資料解壓縮到apache下的htdocs資料夾。
壓縮檔內有system及user_guide(用戶操作說明)及index.php檔案,將system及index.php解壓縮即可。

主要核心為system,而開發的程式碼置於system內的application內,具體資料夾待會在介紹。

可以多個系統(資料夾)共用同一個核心,只需在index.php內

$system_folder = "system";
system更新為核心位置的路徑即可。例如 $system_folder = "../ci_sys";(核心資料夾名稱可自訂)
※若看官對於配置不太清楚,可以照個範例命名,待瞭解運作方式後再依照自己的習慣進行命名。


資料夾安排方式如下:
htdocs
 └ ci_system
   └ ci_sys (系統核心,也就是整個system資料夾)
   └ system1 (system內的application資料夾及index.php搬移至這裡,名字可自訂)
     └ index.php
     └ application
   └ system2
   └ system3
   └ ....

接下來網站設置

系統設置
進到system1 / application / config 內的config.php
$config['base_url']    = "http://example.com/"; 改為開發系統的url,本機就用http://localhost。例http://localhost/ci_system/system1/


設定資料庫連線
進到system1 / application / config 內的database.php
將相關帳號密碼、主機位置設置完畢。


設定預設載入
進到system1 / config 內的autoload.php
將要預設自動載入的libraries、helper、plugin或model等在此設定載入。
其中libraries的database可以預設載入,較常需要呼叫到資料庫相關的操作,所以預先載入可以節省一些程式碼。


設定預設載入的控制器
進到system1 / application / config 內的routes.php
$route['default_controller'] = "welcome";  將其改為預設載入控制器的名稱,暫時先知道這樣即可。

設定完畢後就可開啟瀏覽器進行測試,看是否已將ci核心安裝完成。例如:http://localhost/ci_system/system1


MVC簡介

看官從網路上稍微查詢一下mvc架構即可大略得知運作架構及模式。
這邊再白話稍微帶一下:
Model 模組
View 視圖(簡單來說就是顯示面)
Control 控制器

一般來說php程式設計就是透過php將資料庫內的資料透過程式將其轉變為有意義的資料顯示在網頁上。(念這一段好累,哈)
控制器負責將 使用者輸入的資料或是提出的請求,透過模組與資料庫進行溝通並取出資料,取出的資料在組合或轉換成一般的html顯示在網頁上。
模組負責與資料庫溝通,控制器將取出的資料與不同功能的模組處理後丟給視圖轉為一般的靜態網站。

這邊簡單談一下ci的mvc架構。
在ci的application資料夾下的controllers、models、views三個資料夾即是控制器、模組、視圖程式的放置位置。
進到網址後(例如:http://localhost/ci_system/system1/)的第一個頁面就是上面預設載入的控制器,也就是welcome
$route['default_controller'] = "welcome";  ← 這一行設置呼叫的控制器
開啟後可以將控制器載入模組。

class Welcome extends Controller { //控制器名稱抬頭必須大寫

    function Welcome()
    {
        parent::Controller();   
    }
   
    function index()
    {
      
        //若要載入模組,方式如下:
        //載入models資料夾內的model1資料夾內的model1_1.php....
        $this->load->model('model1/model1_1');
        $this->load->model('model1/model1_2');
        $this->load->model('model2/model2_1');

        //將$data資料送入model1_1的model1_1_fun內執行,並將結果回傳到$result陣列內的data1
        $result['data1']['title'] = $this->model1_1->model1_1_fun($data);

        //將$data資料送入model2_1的mode2_1_fun內執行,並將結果回傳到$result陣列內的data2

        $result['data2'] = $this->model2_1->model2_1_fun($data);

        //將$result陣列傳送到welcome視圖
        $this->load->view('welcome', $result);
    }
}

而視圖views部份,則可以先將各版面製作完成,再以include方式嵌入。
<?php $this->load->view('includes/header'); ?>
<?php $this->load->view('layout/base'); ?>
<?php $this->load->view('includes/footer'); ?>

而剛剛傳送到視圖views的陣列呼叫方式為:
<?=$data1['title']?> ← 剛剛的二維陣列 $result['data1']['title']
<?=$data2?> ← $result['data2']

在ci的mvc就是很清楚的要將程式置於該資料夾內。
控制器負責載入模組、並將取出的資料送到視圖內。
理想的狀況是視圖僅需要用簡單的php將該位置的變數帶入即可,資料傳遞、迴圈判斷等都由控制器負責。
與資料庫溝通盡量都透過模組,而不在控制器呼叫資料庫讀寫。
當然,也因為如此區分,所以寫起來的彈性度就大為降低,但因為區分的很清楚,在維護上若瞭解ci的架構者能夠輕易接手。
團隊合作寫程式也較能理解程式的流程,而美工設計師則專注於將html設計完成即可,幾乎不用去考慮到程式設計。


下面整理幾個學習網站及資源,有興趣的看官可自行研讀。
※對岸的資源較豐富,從討論區可見一斑,故幾乎都是簡體資源較多。
另外強力推薦 NettusCI系列示範課程


以上,大夥兒體驗看看。

 

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

這系列文章,把這幾年透過CSS寫網站常用的技巧、概念以及選擇方式整理起來,讓大夥兒能夠較快的進入使用CSS寫網站的世界。

做網站時,不外乎是依照業主或自行規劃的網站選單、內容、呈現來決定一個網站的架構。
當架構出來時,就是網站設計師溝通的時候。透過交流確定顧客群,以及整體希望以什麼樣的風格呈現。

其實若僅是一般公司形象網站、單頁式介紹網頁、或類似電影官方網站這種規模不大的網站,著重在整體給人的感覺,細緻度一定要夠,這攸關該公司在網際網路上的門面。
現在環境的趨勢,也能夠很明顯的感受到青少年對於網路的使用度有多高。無論商家搜尋、購買物品、出門旅遊等... 第一件事情一定是上網搜尋。
當看到一個網站只是簡單的三個框架拉出來,選單是放大粗體標楷體、標題是大粗體配一張圖片,內文充斥著表格及看起來不協條的圖片,當第一眼看到時,對公司的感覺一定是大打折扣的。

有些人會說:內容才是網站最重要的部份。

但,連第一眼都留不住人時,你的內容又怎能夠吸引人繼續看下去呢?  
又,頗具規模的公司竟然吝於經營網路這一領域,怎令對公司於趨勢的走向抱持肯定呢?

扯遠了....


個人網站設計步驟如下:
1.確定網站內容、呈現方式(顧客群)
2.規劃網站架構
3.網站草圖設計
4.將草圖呈現圖與業主討論
5.開始實做網站


其實這個也算扯遠了.... 哈


CSS設計版型時,個人先都將草稿繪製好,接著透過軟體(PS或FW)將整體風格、物件繪製出。
接下來的因應CSS版型切塊就是看經驗了。


整體篇:


通常背景因需要有捲軸下拉的銜接,通常都要有兩三個標籤去將整體網站包起來。

body(標籤)下主要顏色的背景或延展後的背景。
而body下通常都還會多放置一個div將所有內容包起來,而包起來的層數就看背景需要蓋幾次。
CSS的呈現方式有點類似一般影像處理軟體的圖層,越外層的在越下面。
所以有時候因設計考量需要加入僅為了裝飾用的div標籤,若設計上允許的話,div標籤應用盡量只用在結構化資料,而不要為了一些點綴效果的圖示卻增加了無意義的標籤。

採用CSS必須將資料的結構分層好(頁首、內容、導航選單、內容、標題等...)
尤其以往的i、b、u這種標籤就不要用了。
取而代之的應使用class,依同性質使用class,透過CSS統一管理。
維護網頁時若需要將粗體加上顏色,也能夠只用CSS就一次修改完畢,而不用逐頁尋找修改。

字體的顏色及大小,千萬不用類似使用預設DW編輯時的style1、style2這種方式來宣告class。
除了未來維護麻煩外,也不利於共用class。
如果是要當作小標題,小標題的子標題時,就可以用.head1、.head2這種方式來定位階層。

主要需要考量到整體版型哪些位置需要哪些功能,再將該區獨立成一個div包覆起來。
最後才將原始圖切割以後用背景或圖片方式組合成網站。


整體篇大概提到這裡,後續有機會再繼續補充。


文章標籤

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

照例一行關鍵字:Notepad++、字詞自動完成、quicktext

官方網站:http://notepad-plus.sourceforge.net/tw/site.htm
載 點在這:http://sourceforge.net/projects/notepad-plus/files/notepad%2B%2B%20releases%20binary/ (發文時版本:5.6.8)

因為很多人不曉notepad++其方便性, 無論在取代記事本或程式設計的撰寫軟體上,故特別介紹一番:
除了有眾多外掛可擴充外,開啟迅速、能紀錄上次瀏覽的文件、類word的操作性,實在 是頗為方便。

個人覺得很方便的外掛以及功能介紹如下:

預設功能

方便的操作方式

alt 選取
使用alt+左鍵選取可以用框選的方式選取 文字。
除了能夠框選刪除外,也能夠於框選處多行同時輸入,這種方式有時候比取代的功能更為快速。

放大縮小
除 了透過工具列上的放大鏡圖示外,透過ctrl+滾輪即可放大縮小文字,非常方便。

上色功能
將文字框選後點右鍵能夠 使用格式上色,可以藉此來標示關鍵字或關鍵區域。

顯示所有字元
在工具列上有一個 顯示所有字元 的按鈕,可以將斷行、縮排區域顯示出來。

隱藏選取行
顧名思義,框選的文字點右鍵即可將選取的位置隱藏起來,而隱藏 起來後左方行數的位置會有圖示標示,在點選該圖示即可解除隱藏。

搜尋所有開啟文件
可以將所有開啟的分頁內的文字進 行搜尋,而搜尋結果會在下方開啟一工具欄,將搜尋的檔案及行數標示出來。


 編碼轉換
因為使用utf-8編碼的原因,透過此功能可以直接將 ANSI中文轉為UTF-8中文(亦有UTF-8檔首無BOM檔格式)。
使用方式:透過功能表的 編碼 功能即可。


編碼字符集
這功能用在下載對岸軟體時看不懂的說明檔。 有時後下載了簡體軟體後會有軟體使用說明、或是安裝步驟等等,但用筆記本一開全是亂碼。
以前會透過存成html在選編碼改成簡體來看,但是透過 notepad++則輕鬆就能轉編碼囉。
使用方式:編碼 / 編碼字符集 / 中文 / GB2312 ,立刻就變成簡體字而不是亂碼了。
以後變成亂碼的文字檔可以抓到notepad內換一下編碼試試。


我的最愛 favorite
這功能可能 不多人使用,但有其方便性在。
尤其推薦使用在設定檔上,有些系統或程式,如apache的config、php系統的設定檔、組態檔等,將其加入 到最愛後,下次開啟則僅需打開最愛表即可,若分頁不關閉,搭配下面書籤標記功能,則文字檔內的一些關鍵參數修改更是快上許多。
使用方式:透過小 icon的愛心圖示,favorite開啟即可。可以設定一般檔案及資料夾為最愛。



書籤功能
此功能為將該行當作書籤般標記起來。
使用方式:標記方式為在左方行數處 點左鍵,或是指標在該行時點ctrl+F2。找下一筆書籤按F2,上一筆按shift+F2即可。
※注意,若分頁關閉則書籤即消失,但若分頁沒關 閉,notepad++關閉,則下次開啟時書籤標記仍在。


雙視窗瀏覽
此功能可以很方便的將兩個檔案進行比對,且可透過小icon圖示鎖住,進行同 步水平或垂直移動。
使用方式:在分頁上方檔案名稱處點右鍵選擇 移至另一個視窗 即可,欲恢復則從另一邊的分頁上方檔案名稱處點右鍵 移至另一個視窗 即可。
現在寬螢幕普及,設計網頁或寫程式時,左網頁,右 css,左控制器、右模組也是很方便的。


自動完成
以 前舊版需要從套件安裝,新版本啟動方式如下:
自訂 / 使用者自訂 / 備份/字詞自動完成功能 ,選擇 啟動自動完成功能 選擇字 詞,右方的號碼處則是輸入第幾個字的時候啟用此功能。
此功能極為方便,輸入前面幾個字按下enter即可完成,對於整體開發速度會提昇許 多。


主題選取
啟用方式如下:自訂 / 設定程式語言格式 ,從上方的主題選取即可。
簡單來說就是讓程式的一些語法、函式高亮(height light)顯示,對於觀看程式的結構,以及判斷是否輸入錯誤極為方便,此功能也是開發上的一大力器。
順帶一提,個人蠻喜歡Deep Black的主題的。若長時間使用螢幕的人,全白或近白的色澤很容易讓眼睛感覺疲勞,若換上暗色系,相對眼睛較不會那麼吃力,而該主題的高亮也不會讓人覺 得很突兀。



外掛區 plugins
外掛啟用方式為: 外掛模組 / Plugin Manager / Show Plugin Manager ,接著勾選後安裝Install即可。
另外建議也裝上Plugin update,外掛更新時會提醒。
其實會用下方兩個程式,主要是看了 線上教學使用的mac文字編輯程式TextMate,而下方兩個外掛就是TextMate有的功能。

簡單檔案瀏覽 explorer
開啟plugin manager勾選 explorer 安裝即可。
會在notepad++左方顯示一個類似檔案管理員般的樹狀目錄。

上方的幾個小按鈕很實用,介紹如 下:
Find in Files : 可以搜尋在 指定的目錄內 的 所有文件檔 是否包含搜尋的值
User Folder : 直接跳到一般電腦預設使用者的 我的文件(My Documents) 內
Folder of Current File : 開啟目前此分頁的檔案的原始位置

Folder of Current File 這功能非常方便,有時候編輯文件是從外面文件拖曳到notepad++內編輯的(例如apache設定檔),需要連帶編輯到其他相關的檔案時,透過此功能 就可以迅速的找到其他文件進行編輯。


快速文字quicktext
這 外掛有什麼功能呢?例如在輸入函式時,首先必須要宣告 function 接著輸入函式名稱,接著輸入(){  },但是此外掛功能可以為:定義輸入簡單字串以後直接補完定義的完整字串進去。
有點難以解釋,看此網站的介紹吧。 Notepad++配合QuickText打造快速 高效的文本編輯器

此套件預設是輸入字串後按下tab鍵作用,作用修改方式:為 自訂 / 快速鍵管理 / Plugin Commands
接著找到Name為Replace Tag,或是直接認ShortCut的tab,點兩下進行修改。

而這些自定義的詞彙及完整的字串可自己定義,可從外掛模組內的quicktext自行修改,亦可下載他人編輯好的取代。
quicktext.ini檔案就是紀錄這些詞彙跟完整字串的檔案,位置在
C:\Program Files\Notepad++\plugins\Config\QuickText.ini
最後在 繼續閱讀 內貼上之前找到的quicktext檔,看官自行貼上到上述位置的QuickText.ini即可。

快速文字新寵 FingerText
請自行搜尋服用,quicktext已經被拿下來了,大概是無法長期維護,又需要改到很多地方不方便。


網頁設計敏捷生程式碼 Zen Coding
一樣請自行搜尋服用,若無法使用Ctrl+E使用,記得去改快捷鍵的Plugin 處 Expand abbreviation



常用快捷鍵

ctrl+q 單行註解(再一次則取消註解)
ctrl+shift+q 範圍註解



以上
好程式值得推廣。

※google到的Ruby 在 Notepad++ 上飛翔提到的 F6 軍刀NppExec功能也很厲害,但因為個人沒用過,就把連結留在這啦。

 

下方點繼續閱讀後為QuickText.ini內的設定資料

 

文章標籤

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

/*-------歸零-------*/
/* CSS Document */
/* Normalizes margin, padding */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, p, blockquote, th, td
{ margin : 0; padding : 0; }

/* Normalizes font-size for headers */
h1,h2,h3,h4,h5,h6 { font-size : 100%; }

/* Removes list-style from lists */
ol,ul { list-style : none; }

/* Normalizes font-style and font-weight to normal */
address, caption, cite, code, dfn, em, strong, th, var
{ font-style : normal; font-weight : normal; }

/* Removes list-style from lists */
table { border-collapse : collapse; border-spacing : 0; }

/* Removes border from fieldset and img */
fieldset,img { border : 0; }

/* Left-aligns text in caption and th */
caption, { text-align : left; }

/* Removes quotation marks from q */
q:before, q:after { content :''; }



/*-------包覆類-------*/
#wrp{

}

#wrapper{

}

#contentWrapper{

}



/*-------頁首類-------*/
#header{

}

#header h1{

}

#header #logo, #header .logo{

}

#banner{

}



/*-------選單導覽類-------*/
#mainNav{

}

#subNav{

}



/*-------內文類-------*/
#intro{

}


#about{

}


#newsRelease{

}


#summary{

}


#primary{

}


#secondary{

}


#content{

}



/*-------零件類-------*/
#calendar{

}



/*-------商品類-------*/

#productList{

}

#orderForm{

}



/*-------頁尾類-------*/
#footer{

}



/*-------排版類-------*/
#column_one{

}

#column_two{

}

#column_three{

}


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

照例一行關鍵字:xampp、mysql、service、mysql_installservice.bat、Could not start the MySQL service: Error 1067

下面紀錄MySQL無論透過xampp control或是直接進入mysql內執行mysql_installservice.bat都無法將mysql綁定為服務的處理方式。

 

修改方式

step.1

進入到mysql資料夾內的bin:
mysql\bin (xampp為xampp\mysql\bin

 

step.2

開啟檔案my.ini或是my.cnf

 

step.3

 將下列資料改為絕對路徑

socket= "/xampp/mysql/mysql.sock"
basedir="/xampp/mysql"
tmpdir="/xampp/tmp"
datadir="/xampp/mysql/data"

改為下列絕對路徑(xampp的my.ini約在25~35行左右)

socket= "D:/xampp/mysql/mysql.sock"
basedir="D:/xampp/mysql"
tmpdir="D:/xampp/tmp"
datadir="D:/xampp/mysql/data"

端看看倌安裝的mysql的位置。

 

存檔後再次執行mysql_installservice.bat
或我的電腦右鍵 / 服務 / 服務及應用程式 / 服務 / MySQL
服務啟動即可。

 

以上

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

Win32:Sality是很嚴重的病毒,有時候發現時硬碟根目錄已經是好幾千甚至好幾萬個病毒產生的pif、exe、cmd檔案了。
這個批次檔就是為了刪除這些檔案所寫的。

僅刪除隱藏的pif、exe、cmd檔案,刪除完成後則在該資料夾下建立一個list.txt檔案,列出所有隱藏檔案。

 

批次檔

@echo off
title 刪除特定隱藏檔批次檔
echo 即將開始刪除各硬碟根目錄下所有副檔名為pif、exe、cmd之隱藏檔
PAUSE

:DELCMD
set /p driver=輸入要清除的槽,例如C: →

del /F /AH %driver%:\*.pif
del /F /AH %driver%:\*.exe
del /F /AH %driver%:\*.cmd
del /F /A %driver%:\autorun.inf
mkdir %driver%:\autorun.inf
dir %driver%: /AH > %driver%:\list.txt

echo  
echo /*---------------------------------*/
echo 批次檔處理完成,按Ctrl+C中止批次檔
goto :DELCMD


@echo on

使用方式

將上列批次檔的文字複製到記事本以後存為del.bat即可。

執行後輸入硬碟的槽,例如c、d等,而網路硬碟則從後面排回來,也就是z、y、x等,即可開始刪除。

 

Win32:Sality目前沒有專殺,且惡劣的會將所有exe檔案感染,若中毒後建議備份好檔案以後直接重灌。連非系統的硬碟建議也格式化。
中毒後會在任何有權限寫入的網路硬碟、本機硬碟產生一堆pif、exe、cmd檔案,這些檔案若執行也會中毒。
且會掃描所有有權限寫入的網路硬碟將exe檔案進行感染,所以務必小心這類病毒。

 

處理方式

當發現也就是毒發時候,使用此批次檔將網路硬碟的所有殘毒清除乾淨,且將網路硬碟有exe執行檔的檔案刪除。
接著電腦備份好資料以後就重灌吧,若非系統硬碟不確定有多少exe檔則建議也重灌。
若有網路硬碟發現此毒時,務必要檢查哪一台是毒源。只要能夠直接刪除網路硬碟內病毒產生的檔案即為病原體電腦。
否則當病毒檔案蔓延時,可能整個區域網路的電腦都需要重灌。

win32:sality專殺下載,儘管有人寫出來了,但此毒有不少變種,就試試吧。

 

以上

※此篇為工作單位碰到的問題,發文紀錄。

ezcshi 發表在 痞客邦 留言(1) 人氣()

因為需要測試php的mail函式,在windows下的sendmail並沒辦法使用。
而xampp的MercuryMail設定,若僅是測試又嫌麻煩,於是爬了文並實際使用,經過測試可行了,紀錄如下:

照例關鍵字:xampp、php、mail()、gmail、smtp、stunnel、windows環境


xampp不贅述了,看倌請自行下載。
首先先下載 stunnel,此篇運行時版本為4.27,點此下載

運作原理
xampp在windows下apache並不能直接使用mail()函式,必須藉由xampp內帶的sendmail.exe模擬sendmail函式。
當設定好sendmail的相關設置後,一般就可以透過本身ISP業者提供的smtp進行郵件發送。
但gmail必須使用SSL安全連線方式登入後才可連入smtp寄送,於是使用stunnel,讓它來代理SSL連線。
而設置好後,xampp的sendmail.exe透過stunnel以SSL模式連入gmail的smtp伺服器,sendmail就能夠使用gmail的smtp進行郵件的發送了。
而xampp的apche就能夠透過sendmail.exe來運行php的mail()函式,而不用在架設郵件伺服器。


相關設定

apache
php.ini 檔,位置在 \xampp\apache\bin\php.ini

約700多行
SMTP = localhost
smtp_port = 25
sendmail_from = sample@gamil.com ← 改為寄信者的郵件

sendmail_path = "D:\xampp\sendmail\sendmail.exe -t" ← 路徑必須設定對

另外約在636行
extension=php_openssl.dll ← 將openssl啟動

/*---------------------------------------*/

sendmail
sendmail.ini 檔,位置在D:\xampp\sendmail\sendmail
若原本是註解(前面有分號;),就把前面的;拿掉,讓其執行。

smtp_server=localhost
smtp_port=25
default_domain=gmail.com
error_logfile=error.log

約在27行
auth_username=sample@gmail.com ← gmail信箱
auth_password=password ← 輸入你的gmail密碼

約41行
force_sender=sample@gmail.com ← gmail信箱

/*---------------------------------------*/

stunnel
stunnel.conf 檔,位置在 C:\Program Files\stunnel\stunnel.conf
原本是註解的就拿掉分號,取消註解。

cert = stunnel.pem
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
debug = 7
output = stunnel.log
client = yes

[ssmtp]
accept = 127.0.0.1:25
connect = smtp.gmail.com:465



上面都設定好了以後,記得gmail必須打開POP功能
開啟方式為:進入gmail,右上角設定 → 轉寄和POP/IMAP → POP下載 啟用POP功能 即可。
而apache重新啟動以後,就可以透過php的mail()函式進行郵件發送囉。


以上
心得紀錄

參考文件:http://www.projectpier.org/node/817http://zcdxzsz.javaeye.com/blog/254098

ezcshi 發表在 痞客邦 留言(15) 人氣()