做個纪录
1. 命令行安装Apache
打開"終端窗口" (Ctrl+Alt+T)
輸入"sudo apt-get install apache2"
2. 預設的網站根目錄的路徑
Apache安裝完成後,預設的網站根目錄是"/var/www/html",在終端窗口中輸入"l
在瀏覽器中輸入"http://127.0.0.1",就可以打開該頁面,
或是在瀏覽器中輸入"http://localhost"一樣可以打開該頁面 。
3. Apache的第一個配置文件apache2.conf的路徑
在終端窗口中輸入"ls /etc/apache2"
有一個"apache2.conf"的配置文件。
4. Apache的第二個配置文件000-default.conf的路徑
在終端窗口中輸入"ls /etc/apache2/sites-available"
有一個"000-default.conf"的配置文件。
5. 修改網站根目錄 sudo chmod 777 -R /etc/www
(1)、在終端窗口中輸入"sudo vi /etc/apache2/apache2.conf"
找到"<Directory /var/www/>"
更改"/var/www/"為新的根目錄就可以了。
(2)、在終端窗口中輸入"sudo vi /etc/apache2/sites-available/000-default.conf"
找到"DocumentRoot /var/www/html"的位置-->更改
"/var/www/html"為新的根目錄就可以了,這裡更改為"/var/www/"。
設定權限 : sudo chmod 777 -R /etc/www
6. 重新啟動Apache
在終端窗口中輸入"sudo /etc/init.d/apache2 restart"
12/31/2014
9/08/2014
103年度 國中教育會考 排名計算 程式
看了這一篇 "國中教育會考成績資料統計分析"才知道,原來現在國中升學考試成績的計算方式怎麼那麼的麻煩....於是就臨時寫了一支程式來幫忙計算,臨時做的請各位別太苛求。
排名方式:
總分 >
科目(國>數>英>社>自)級分,其中(A=A+=A++>B=B+=B++>C) >
科目級分數量,其中(A++>A+>A>B++>B+>B>C) >
科目級分(國>數>英>社>自)(A++>A+>A>B++>B+>B>C)
檢單說呢! 讓程式幫你算就對了
執行前
執行後
影片觀賞
下載點: 點此連結如果有需要在程式上直接編輯操作或者輸入對題數就可以算出級分...等功能在連繫我。
版本:1.0.0.5
版本功能:
- 排名計算
- 多模擬考分頁統計(不知道可以到幾個分頁)
- 全選案下ctrl+C可以複製內容
- 自定義排名
- 點選標題欄位可以做排列
排名方式:
總分 >
科目(國>數>英>社>自)級分,其中(A=A+=A++>B=B+=B++>C) >
科目級分數量,其中(A++>A+>A>B++>B+>B>C) >
科目級分(國>數>英>社>自)(A++>A+>A>B++>B+>B>C)
檢單說呢! 讓程式幫你算就對了
執行前
![]() |
| 點圖可放大 |
執行後
![]() |
| 點圖可放大 |
11/15/2013
[verilog][c] CRC 循環冗餘校驗 實踐
最近幾位學弟妹在問verilog的作業(QAM 16、QAM256以及CRC),順便也學習寫了一下
CRC的概述我這邊就不說明了,請參考WiKi 或者是這篇文章,在這邊只介紹程式碼。
(不過稍微注意一下維基百科裡面原理是對的,但下面舉的例子有點問題)
CRC 16 的 Verilog 程式碼(P(x) = x16+ x12+ x5+ x0)
CRC的概述我這邊就不說明了,請參考WiKi 或者是這篇文章,在這邊只介紹程式碼。
(不過稍微注意一下維基百科裡面原理是對的,但下面舉的例子有點問題)
CRC 16 的 Verilog 程式碼(P(x) = x16+ x12+ x5+ x0)
module CRC_Unit(BITVAL, BITSTRB, CLEAR, CRC);
input BITVAL; // Next input bit
input BITSTRB; // Current bit valid (Clock)
input CLEAR; // Init CRC value
output [15:0] CRC; // Current output CRC value
reg [15:0] CRC; // We need output registers
wire inv;
assign inv = BITVAL ^ CRC[15]; // XOR required?
always @(posedge BITSTRB or posedge CLEAR) begin
if (CLEAR) begin
CRC = 0; // Init before calculation
end
else begin
CRC[15] = CRC[14];
CRC[14] = CRC[13];
CRC[13] = CRC[12];
CRC[12] = CRC[11] ^ inv;
CRC[11] = CRC[10];
CRC[10] = CRC[9];
CRC[9] = CRC[8];
CRC[8] = CRC[7];
CRC[7] = CRC[6];
CRC[6] = CRC[5];
CRC[5] = CRC[4] ^ inv;
CRC[4] = CRC[3];
CRC[3] = CRC[2];
CRC[2] = CRC[1];
CRC[1] = CRC[0];
CRC[0] = inv;
end
end
endmodule
11/14/2013
特殊質數數列
最近很喜歡數列,剛剛在看質數時發現幾個有趣的質數數列,在這邊分享給大家
數列1
33333331這個質數,是可以由左至右依序拿掉一位數,仍然是質數
數列2
73939133這個質數是可以由右至左依序拿掉一位數,仍然是質數
數列1
33333331這個質數,是可以由左至右依序拿掉一位數,仍然是質數
33333331可惜的333333331(17×19607843) 並不是質數。
3333331
333331
33331
3331
331
31
數列2
73939133這個質數是可以由右至左依序拿掉一位數,仍然是質數
73939133
7393913
739391
73939
7393
739
73
7
11/10/2013
Galaxy android 開發人員選項開啟
最近我妹拿了一隻Samsung Galaxy系列的手機,想說要裝點東西在上面,結果找不到開發人員選項 的問題..在這邊提供解決方法。
貌似android 4.X 板之後,不管是哪間廠商的手機開發人員選項都被隱藏了
1.首先 先至"設定" > "更多" >> "關於設備"
貌似android 4.X 板之後,不管是哪間廠商的手機開發人員選項都被隱藏了
1.首先 先至"設定" > "更多" >> "關於設備"
10/15/2013
6/11/2013
eclipse使用SWT/Swing Designer 作JAVA視窗程式開發
eclipse 在開發JAVA swing 或者是AWT程式時,應該很多人都會遇到元件擺放的問題,這時候我們可以安裝SWTDesigner/Swing Designer 來設計更漂亮的介面
安裝方式:
Help→Install New Software,work with:依照你的版本輸入下面的連結
Eclipse 3.7 (Indigo)連結來源:https://developers.google.com/java-dev-tools/download-wbpro?hl=zh-CN
http://dl.google.com/eclipse/inst/d2wbpro/latest/3.7
Eclipse 3.6 (Helios)
http://dl.google.com/eclipse/inst/d2wbpro/latest/3.6
Eclipse 3.5 (Galileo)
http://dl.google.com/eclipse/inst/d2wbpro/latest/3.5
6/09/2013
Matlab 驗證碼辨識系統
網路上經常下載東西或者要登入帳號密碼時都會出現一組文字的驗證碼要求使用者輸入完畢後才可以登入下載,這時候我們可以嘗試著使用電腦幫我們做影像辨識,然後自動輸入這組文字,以下是程式碼暫時就不解是原理了。
當然以下這個程式只能辨識簡易的辨識系統或者辨識整篇文章...太複雜的圖片可能就沒辦法了
6/03/2013
解決匯入圖片至android模擬器中找不到的問題
以前匯入圖片製Android模擬器中都可以正常顯示,最近在寫android的程式卻遇到把圖片上傳至模擬器中卻不能顯示(如影片前半段)
模擬器上傳圖片的方式可以如同影片中的操作,但建議可以練習一下打指令~下面稍為介紹一下怎麼使用指令上傳,然後再說明要怎麼解決無法查看圖片的這個問題。
上傳圖片
$ adb shell mount -o remount rw /sdcard
$ adb push images/ /sdcard/
push: images/1.png -> /mnt/sdcard/1.png
6/02/2013
[OpenCV] 人臉偵測 (Face Detection)
[OpenCV]在DEVC++中安裝openCV
5/30/2013
5/28/2013
5/27/2013
5/21/2013
ISOLinux 如何製作開機光碟
前面已經講過如何製作USBlinux
相關連結
[USB linux] 1.打造2MB 的 linux USB 隨身碟
[USB linux] 2.核心編譯
[USB linux] 3.建立ramdisk的root filesystem (initrd)
[USB linux] 4.建置busybox
[USB linux] 5.最後步驟建置boot loader
至於要如何把自己做的kernel做成開機光碟或者iso檔給別人下載呢?
在ISOLinux中告訴我們要這麼做
相關連結
[USB linux] 1.打造2MB 的 linux USB 隨身碟
[USB linux] 2.核心編譯
[USB linux] 3.建立ramdisk的root filesystem (initrd)
[USB linux] 4.建置busybox
[USB linux] 5.最後步驟建置boot loader
至於要如何把自己做的kernel做成開機光碟或者iso檔給別人下載呢?
在ISOLinux中告訴我們要這麼做
- Make sure you have a recent enough version of mkisofs. I recommend mkisofs 1.13 (distributed with cdrecord 1.9), but 1.12 might work as well (not tested). Binary versions for Windows can be found on the web.
- Download Syslinux
- Create a directory called "CD_root". This is the ISO image master file tree
- Copy all files you want to have on the CD into this directory
- Create a directory called "isolinux" underneath the directory "CD_root"
- Copy "core/isolinux.bin" from the Syslinux archive
- Create "isolinux.cfg" (see example)
- Create directories "images" and "kernel" underneath the directory "CD_root"
- Copy any floppy images you want to boot into "images"
- Copy "memdisk/memdisk" from the Syslinux archive into "kernel"
- Use the following command to create your ISO image:
mkisofs -o output.iso \ -b isolinux/isolinux.bin -c isolinux/boot.cat \ -no-emul-boot -boot-load-size 4 -boot-info-table \ CD_root
The file boot.cat will be automatically created.
[USB linux] 5.最後步驟建置boot loader
boot loader的責任是接手BIOS的開機任務,負責找出kernel image的所在位置,
載入kernel到記憶體中,傳給kernel image適當的參數,接著將執行權交給kernel,完成開機
我們要先為隨身碟寫入boot loader,我們使用syslinux
syslinux是一個Linux的boot loader,專為fat檔案系統設計的,
一般的隨身碟通常為fat32,軟碟也適用
syslinux /dev/sdc1
sdc1請更改為你的裝置名稱
如果你不確定你的隨身碟在哪一個裝置,可以用df指令看掛載點
再來要編輯boot loader的設定檔
vi syslinux.cfg
內容如下:
default linux
prompt 1
timeout 10
label linux
kernel bzImage
append initrd=initrd.img vga=792
內容主要指定kernel映像檔、ramdisk、螢幕的參數等
載入kernel到記憶體中,傳給kernel image適當的參數,接著將執行權交給kernel,完成開機
我們要先為隨身碟寫入boot loader,我們使用syslinux
syslinux是一個Linux的boot loader,專為fat檔案系統設計的,
一般的隨身碟通常為fat32,軟碟也適用
syslinux /dev/sdc1
sdc1請更改為你的裝置名稱
再來要編輯boot loader的設定檔
vi syslinux.cfg
內容如下:
default linux
prompt 1
timeout 10
label linux
kernel bzImage
append initrd=initrd.img vga=792
內容主要指定kernel映像檔、ramdisk、螢幕的參數等
[USB linux] 4.建置busybox
Linux下常見的指令,都是由「程式」所組成,但是這些程式如果全部放進來,也會佔掉不少空間,因此有了busybox busybox包含了數十種Linux下常見的標準工具,例如ls, cp, cat, more.... 甚至包含了http server,但是全部加起來都只有幾百k的大小,是作為嵌入式系統工具庫更好的選擇。 下面就來介紹該怎麼組態、編譯、安裝busybox 回到我們的工作目錄,並解開busybox cd ~/build-usb-linux tar -jxf busybox-1.13.2.tar.bz2 cd busybox-1.13.2 先進行組態設定 make menuconfig 先設定安裝目錄,將installation prefix設為剛剛所建立的ramdisk掛載點 這邊不能使用"~"來作為家目錄,所以你必須填上完整的路徑。 Busybox Settings ---> Installation Options ---> (/home/koukai/build-usb-linux/initrd) BusyBox installation prefix 設定交叉編譯器的選項如下的cross compiler prefix,但因為我們要跑在自己電腦上,所以可以忽略交叉編譯器的設定無所謂, Busybox Settings ---> Build Options ---> [*] Build BusyBox as a static binary (no shared libs) () Cross Compiler prefix 例如你所用的是arm-linux-gcc,就要將prefix設為arm-linux- 然後要選取將busybox編為靜態連結!!!! |
[USB linux] 3.建立ramdisk的root filesystem (initrd)
接下來,要建立Linux的root filesystem,也就是打造整個Linux下面的檔案系統環境
為什麼要放在ramdisk呢?一來速度快,二來ramdisk映像檔經過壓縮可以變得更小。
缺點是檔案系統要更新的話很麻煩,要重新掛載映像檔、修改、卸載、壓縮。
不過嵌入式系統的變更頻率不高,這樣做還是ok的。
這個ramdisk叫做是initrd,initial ramdisk。
首先,建立一個zero-filled的檔案,全設為0可以讓壓縮未用的空間更有效率。
我們從/dev/zero處複製一共8192個block到ramdisk這個檔案中,每個block大小為1k,因此這個檔案為8MB
cd ~/build-usb-linux
dd if=/dev/zero of=ramdisk bs=1k count=8192
接著,將他格式化成ext2的格式。
mkfs.ext2 -v -F -m0 ramdisk
我們將他掛載起來,就像掛載虛擬光碟一樣。
mkdir initrd
sudo mount -o loop ramdisk initrd/
為什麼要放在ramdisk呢?一來速度快,二來ramdisk映像檔經過壓縮可以變得更小。
缺點是檔案系統要更新的話很麻煩,要重新掛載映像檔、修改、卸載、壓縮。
不過嵌入式系統的變更頻率不高,這樣做還是ok的。
這個ramdisk叫做是initrd,initial ramdisk。
首先,建立一個zero-filled的檔案,全設為0可以讓壓縮未用的空間更有效率。
我們從/dev/zero處複製一共8192個block到ramdisk這個檔案中,每個block大小為1k,因此這個檔案為8MB
cd ~/build-usb-linux
dd if=/dev/zero of=ramdisk bs=1k count=8192
接著,將他格式化成ext2的格式。
mkfs.ext2 -v -F -m0 ramdisk
我們將他掛載起來,就像掛載虛擬光碟一樣。
mkdir initrd
sudo mount -o loop ramdisk initrd/
訂閱:
文章 (Atom)






















