FileSeek免費快速檔案與文字內容(連程式碼都能搜)搜尋工具軟體

Windows 內建的搜尋功能十分簡單,往往不能滿足用戶的需要,Windows 的「檔案的進階搜尋」關鍵字搜尋,似乎只能搜尋word、txt之類的文字檔案,無法搜尋程式原始檔案內的文字程式碼。

FileSeek為一款免費且是正體中文介面的、快速全方位的檔案文件與文字內容搜尋工具軟體,可以在不用開啟檔案的情況下搜尋檔案內指定的文字串,且搜尋時不需要事先建立索引資料庫,它支援各種文字檔內文查詢,包含 HTML 網頁、PHP 程式碼、TXT 等資料,主要特色除了搜尋速度快之外,另外還有像是支援頁籤功能、可輸入排除條件、搜尋結果操作

...
閱讀更多

Flash Player將於2020年12月31日結束生命週期,Google Chrome與微軟Edge/IE瀏覽器將同時不再支持Falsh,HTML5時代全面來臨!

Adobe公司的Flash曾是網路多媒體創作的重要工具。過去20年來,許多網路影音、遊戲、互動媒體都依靠Flash開發,Flash也曾是幾乎每台機器必裝的軟體。微軟在2007年曾試圖推出Microsoft

...
閱讀更多

台灣之光 Notepad++ 超好用的免費程式編輯軟體,支援50多種程式設計語言

NotePad++ 是一套自由軟體的純文字編輯器用來取代 Windows 記事本的工具,由台灣人侯今吾獨力研發基於同是開放原始碼小巧且有效率的代碼編輯器。該軟體以GPL 許可證下的自由軟體開發專案採用 win32 api 和 STL 以 C++ 程式語言撰寫成,並且選用功能強大的編輯模組 Scintilla,有完整的中文化介面及支援多國語言撰寫的功能(採用萬國碼 UTF-8 技術)。

它的功能比 Windows 中內建的記事本(Notepad)強大,除了可以用來製作一般的純文字的說明文件,也十分適合用作撰寫電腦程式的編輯器。操作方式與記事本幾乎相同。而它並不僅僅只是一套記事的工具而已,還可以替許多的程式語言的語法上色,且有半透明視窗的效果,是撰寫程式的好幫手。而此軟體支援 Unicode,也可以開啟大型檔案,幾乎不太會

...
閱讀更多

OpenCart 購物車電商系統是最容易上手的線上購物商店網站 - Responsive設計架構同時支援電腦、平板、手機最佳瀏覽模式

OpenCart的購物網站程式,是由英國人Daniel 所開發的開放原始碼購物網站系統,OpenCart在程式架構上採用MVC schema架構開發,在架構上並沒有使用太多的Smarty模板引擎,所以要修改程式或是版型會比較容易,而且運作上也蠻輕巧的運行執行速度快速,網站支援多國語系(英文、簡體、正體中文)都有,讓您可以輕易發展不同語系的系統,後台功能頗完善的,也有支援報表輸出,若您不需要複雜的購物網站功能,或您對於架設購物網站尚無經驗,且喜歡簡潔的介面,則您可以考慮這套還蠻不賴的OpenCart購物網站。

OpenCart購物網站支援目前最夯的Responsive Web

...
閱讀更多

PHP創建MySQL數據資料庫的資料表

一個資料表有一個唯一名稱,並有行和列組成。

使用 MySQLi 和 PDO 創建 MySQL 資料庫的資料表

CREATE TABLE 語句用於創建 MySQL 資料表。創建表前,我們需要使用 use myDB 來選擇要操作的資料庫:

use myDB;

我們將創建一個名為 "MyGuests" 的表,有 5 個列: "id", "firstname", "lastname", "email" 和 "reg_date":

CREATE TABLE MyGuests (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    firstname VARCHAR(30) NOT NULL,
    lastname VARCHAR(30) NOT NULL,
    email VARCHAR(50),
    reg_date
...
閱讀更多

PHP MySQL創建數據資料庫

資料庫存有一個或多個表。您需要 CREATE 許可權來創建或刪除 MySQL 資料庫。

使用 MySQLi 和 PDO 創建 MySQL 資料庫

CREATE DATABASE 語句用於在 MySQL 中創建資料庫。在下面的實例中,創建了一個名為 "myDB" 的資料庫:

實例(MySQLi - 面向對象)

<?php
$servername = "localhost";
$username = "username";
$password = "password";
 
// 創建連接
$conn = new mysqli($servername, $username, $password);
// 檢測連接
if ($conn->connect_error) {
    die("連接失敗: " . $conn->connect_error);
} 
 
// 創建資料庫
$sql = "CREATE DATABASE
...
閱讀更多

UTF-8 C0控制與基本的Latin(拉丁字母)

範圍:十進制0-127,十六進制0020-007F。

字符集與原來的ASCII 字符集相同。
如果您想要在HTML 中顯示一個特殊的字符,您可以使用下表中的HTML 實體。
如果字符沒有HTML 實體,您可以使用十進製或十六進制引用。

實例

<p>我的名字是 Johnny &quot;Bang&quot; Johnson<p>
<p>我的名字是 Johnny &#34;Bang&#34; Johnson<p>

結果如下:

我的名字是 Johnny "Bang" Johnson
我的名字是 Johnny "Bang" Johnson
字元 十進位 十六進位 實體 名稱
32 0020   空格(SPACE)
! 33 0021   感嘆號(EXCLAMATION MARK)
" 34 0022 &quot; 引號(QUOTATION MARK)
# 35 0023   數位記號(NUMBER
...
閱讀更多

HTML ISO-8859-1 字元集参考手册

ISO-8859-1

在 HTML 4.01 中,ISO-8859-1 是預設的字元。
ISO(全稱 International Standards Organization)為不同的字母/語言定義了標準的字元集。
在本頁面底部列出了 ISO-8859 的不同變體。


ISO 8859-1 ASCII

ISO-8859-1 的第一部分(實體編號 0-127)是原來的 ASCII 字元集。它包含數位、大小寫英文字母和一些特殊字元。
在 ISO-8859-1 中,未使用從 128 到 159 的編碼,但是很多瀏覽器會顯示 ANSI(Windows-1252)字元集的字元,而不是什麼都不顯示。


ISO 8859-1 符號

ISO-8859-1 的第二部分(編碼 160-191)包含了常用的特殊字元。

字元 實體編號 實體名稱 描述
&#160; &nbsp; 非間斷空格(non-breaking space)
¡ &#161; &iexcl; 倒置感嘆號(inverted exclamation
...
閱讀更多

Bootstrap CSS概覽說明

在這一章中,我們將講解Bootstrap 底層結構的關鍵部分,包括我們讓web 開髮變得更好、更快、更強壯的最佳實踐。

HTML 5 文檔類型(Doctype)

Bootstrap 使用了一些HTML5 元素和CSS 屬性。為了讓這些正常工作,您需要使用HTML5 文檔類型(Doctype)。因此,請在使用Bootstrap 項目的開頭包含下面的代碼段。

<!DOCTYPE html>
<html>
....
</html>

如果在Bootstrap 創建的網頁開頭不使用HTML5 的文檔類型(Doctype),您可能會面臨一些瀏覽器顯示不一致的問題,甚至可能面臨一些特定情境下的不一致,以致於您的代碼不能通過W3C 標準的驗證。

移動設備優先

移動設備優先是 Bootstrap 3 的最顯著的變化。在之前的Bootstrap

...
閱讀更多

PHP連接MySQL資料庫

PHP 5 及以上版本建議使用以下方式連接MySQL :

  • MySQLi extension ("i"意為improved)
  • PDO(PHP數據對象)

在PHP 早期版本中我們使用MySQL 擴展。但該擴展在2012 年開始不建議使用。

我是該用MySQLi ,還是PDO?

如果你需要一個簡短的回答,即"你習慣哪個就用哪個"。MySQLi 和PDO 有它們自己的優勢: PDO 應用在12 種不同數據庫中, MySQLi 只針對MySQL 數據庫。

所以,如果你的項目需要在多種數據庫中切換,建議使用PDO ,這樣你只需要修改連接字符串和部分查詢語句即可。使用MySQLi, 如果不同數據庫,你需要重新編寫所有代碼,包括查詢。兩者都是面向對象, 但MySQLi 還提供了API 接口。兩者都支持預處理語句。預處理語句可以防止SQL 注入,對於web 項目的安全性是非常重要的。

...
閱讀更多

PHP表單和用戶輸入

PHP 中的$_GET$_POST 變量用於檢索表單中的信息,比如用戶輸入。

PHP 表單處理

有一點很重要的事情值得注意,當處理HTML 表單時,PHP 能把來自HTML 頁面中的表單元素自動變成可供PHP 腳本使用。

實例

下面的實例包含了一個HTML 表單,帶有兩個輸入框和一個提交按鈕。

form.html 文件代碼:

<html>
<head>
<meta charset="utf-8">
<title>PHP表單和用戶輸入教程</title>
</head>
<body>
 
<form action="welcome.php" method="post">
名字: <input type="text"
...
閱讀更多

Bootstrap 簡介

什麼是Bootstrap?

Bootstrap是一組用於網站和網路應用程式開發的開源前端(所謂「前端」,指的是展現給終端使用者的介面。與之對應的「後端」是在伺服器上面執行的程式碼)框架,包括HTML、CSS及JavaScript的框架,提供字體排印、表單、按鈕、導航及其他各種元件及Javascript擴充套件,旨在使動態網頁和Web應用的開發更加容易。

Bootstrap 歷史

Bootstrap原名Twitter Blueprint,由Twitter的Mark Otto和Jacob Thornton編寫,本意是製作一套可以保持一致性的工具和框架。在Bootstrap之前,開發介面需要使用不同的程式碼庫,這樣很容易導致不一致的問題,從而增加了維護的負擔。Twitter開發者Mark

...
閱讀更多

JavaScript運算式與運算子

在JS中,我們可以藉由運算式得到所需要的值。 所謂的運算式,不是只有像數學的四則運算,它也有其他的形式表現,讓我們求值。

算數運算式

算數運算式就是數學的 + - * / 運算,在執行過程中,如果需要,JS會自動把運算元轉成數值或字串。 如果有任一運算元無法轉成數值,運算結果會以NaN表示。

console.log(1 + 1); //2
console.log('1' + 1); //11
console.log(undefined + 1); //NaN

+運算子

+運算子可執行數值相加與字串串接

console.log(1 + 1); //2
console.log('A' + 'B'); //AB
console.log('1' + 1); //11
console.log(true + 1);
...
閱讀更多

JavaScript建構式製作手機物件規格的樣板

小明到手機行決定挑選一支手機,手機款式很多但基本上都有相同的功能,僅有少部分的規格上有差異,過去那種資料連連看的方式一定會把資料搞得一團亂 (參考先前的 Javascript 物件 "傳參考" 特性),於是他想到一個新方法,先寫好一個樣板,有需要的格式直接從該樣板取用即可。

手機的規格樣板:
品牌
型號
是否能照相
照相

一般物件寫法的問題

如果使用一般的物件製作手機規格的樣板,就會出現以下的問題,當物件賦予到另一個物件上時,兩者其實是使用相同的資料,當修改後者時前者也會跟著修改 (JavaScript 傳參考的特性)。

var phoneTemplate = {
  brand: 'xxx',
  model: 'z1',
  withCamera:
...
閱讀更多

HTML網頁設計表單中的GET與POST語法差別

GET 與 POST 有寫過網頁表單的人一定不陌生,但你了解什麼是 GET 與 POST 嗎!? 現今的網頁設計工具相當的發達,甚至不需要接觸 HTML 語法就能完成一個規模不小的網站,漸漸地很多人都忘記了 HTTP 底層的實作原理,造成在發生錯誤的情況下無法正確進行偵錯。

早期在撰寫 HTML 表單語法時,都會寫到以下的寫法,然而大部分的程式設計師都會採用 POST 進行表單傳送。

<form action="" method="POST/GET">
</form>

然而在我們的網頁程式中要獲取表單的變數只需要呼叫系統已經封裝好的方法即可,像是 PHP 使用 $_REQUEST、JAVA 使用 getParameter()、ASP 使用 Request.Form() 這些方法等等。

由上述的方法看來,似乎用 POST 或 GET 好像不是很重要。許多網頁程式設計師對於表單 method 用法的記憶為"POST可以傳送比較多的資料"、"表單傳送檔案的時候要使用

...
閱讀更多

PHP的語言特性:多載 (overloading)

印象中PHP是從PHP4開始有OOP的特性,但是這些要到PHP5才夠完整。基本上在PHP5,類別(class)、介面(interface)、繼承(inheritance: extends/implements)、可視性(visibility)、覆載(overriding)、建構式(constructor)、解構式(destructor)等概念跟一般的Classical OOP大同小異,比較有不同的是多載(overloading)。

多載是實作多型的一種方式,以Java為例,某個class可能會有數種同名的方法,但是會有不同型別或數量的參數作為識別。當傳遞的參數型別符合時,就可以成功呼叫這個方法。不過在PHP中,多載長得不太一樣XD,參考:PHP:Overloading - Manual

PHP把多載定義為「動態」定義的方法或屬性...這跟Java的method

...
閱讀更多

JQM開發要注意事項

JQuery Mobile在使用上有哪些需要注意的地方

Javascript使用須知:

  1. jQuery Mobile是採用ajax方式運作,除了第一次loading的page以外,皆只有取出該page content畫面,因此如果每個page都有各自的js,只有第一個page的js會執行,且後續change page都會執行第一個page的js。
  2. 因此所有page需共用一個js檔較為恰當,可於pageinit/pagechange event來客制各page自訂功能之js

url非預期路徑:

因jQuery Mobile是採用ajax方式load page,因此除了第一個page以外,其他page的url都會被變更為{原URL}/#/{新URL},因此引用css/js(可於放入content來引用)路徑也會因此而不正確。

page cache:

jQuery

...
閱讀更多

MySQL Client提示符號與紀錄檔的設定與使用

MySQL有許多工具程式具有圖形介面方便使用,但MySQL Client 這個官方工具有其使用上的一些特色, 對管理MySQL Server 有幫助, 以下將介紹兩項功能:提示符號與紀錄檔。

一、提示符號的設定

先來看一下筆者的一種設定結果:

asami@[akina]>

asami 是 user 名稱, 用@ 代表 at;
[akina] 是 database 名稱。這樣就很容易知道現在的user與database。

設定的方法是在 my.cnf 這個 MySQL的設定檔裡面,[mysql] 段,加上這行

prompt="\\u@[\\d]>"

就可以達到上面的效果,還可以有其他參數,如日期、時間、Server的名稱等等。或是登入時用 --prompt 設定,也可以登入後再用prompt 設定。...

閱讀更多

程式設計人員如何開發出ASP搭配Access資料庫的安全網頁?

很多企業現有網站內容的架構,目前還是以ASP搭配Access資料庫的方式,身為一個公司的網站管理者或程式設計人員,該如何重新檢視、改寫,強化網頁程式碼本身的安全設計,避免遭到惡意人士鑽漏洞濫用?

對許多中小企業而言,ASP網頁加上微軟Access資料庫的組合,仍舊是容易上手、快速開發的網頁技術,對使用者不多,效能需求不高的小型專案或者資料庫網頁應用的開發,綽綽有餘。但也正因為是滿足簡單小型的應用需求,往往也容易忽略在安全上的考量,而成為資料洩漏的死角。

我們在此想提供一些網頁開發的安全建議。已使用ASP或將採用的企業可以根據這些原則,重新檢視本身的ASP網頁是否需要修改,並且了解調整的方向。

一、不要相信使用者輸入的任何資料

使用者不一定會輸入適當的內容,所以永遠都需要檢查使用者輸入的資料。你可以使用Server HTMLEncode方法、Server

...
閱讀更多

要如何挑選網站主機的平台?Linux主機跟Windows主機有什麼不一樣?

每個網站都需要一個空間去存放資料、提供網站運作,一般稱這樣的服務為「主機代管」、「虛擬主機」。目前主流的平台系統有Windows及Linux兩種。網站如果只有靜態網頁,沒有後台管理程式的話,放在Windows或Linux都沒有差。但現在多數網站都有後台管理及資料庫功能,必須依語法及資料庫決定要租用哪一種主機。

Linux和Microsoft Windows的一個主要區別就是Linux是自由軟體,而Windows是封閉軟體。除此以外,還有下列諸多區別。

系統架構

Linux的原始碼級別的可定製性:可滿足用戶對高效能、高效率或介面等涉及用戶體驗的方面高度的需求。 Windows的封閉特性導致了架構的不透明,普遍被認為是一種混合核心型的作業系統,部分圖形介面的程式碼處在核心狀態運行,因此Windows圖形介面的反應速度上要高於GNU/Linux,但也因此使圖形介面的錯誤有可能導致整個系統故障。

...
閱讀更多

PHP 5.6將正式步入歷史停止更新支援,各版本PHP網站如何因應對策

在2018 年的倒數幾週,企業除了全力衝刺年底銷售業績外,還有一件重要IT大事不容忽略,就是「PHP 5.6即將在2018年12月31日終止更新支援」,這意味著PHP 5將正式步入歷史,並影響著台灣半數以上的網站安全及功能運作,企業勢必需做出更版或風險轉嫁之因應對策,並藉此機會重新檢視網站架構與安全狀態。

各版本PHP網站的因應對策

PHP

...
閱讀更多

網頁設計常見的佈局「雙欄式佈局」設計

目前雙欄式佈局仍然是網頁常見的佈局之一,其他還有像是單欄式、三欄式。這個概念在很早之前就有了,屬於設計領域,不過隨著技術的演變,實做也有些不同,比如之前提到的article、header、footer、aside等等就是在語義上有意義的標籤。header、body、footer也就是從縱面來看,分成頭部、身體和腳部,不只是在網頁主體上(Document),表格(table)有th、tr之分,Bootstrap的CSS框架中也有不少小物件可拆分成這三個部分。

從橫軸面來看,最簡單的是單欄是佈局,也就只有一個主體,手幾等螢幕較小的裝置也可以顯示。多含有邊框訊息(aside)的訊息的雙欄式佈局,是我目前個人最常見到的,於電腦等較大型顯示裝置下的佈局方式。此外,還有三欄、多欄式佈局,在這以外的佈局方式也有不少。舉幾個例子:知名內容管理軟體(CMS)WordPress的預設初始佈局(主題),當前應該是雙欄是佈局;另一個值名項目管理工具Trello,就有點多欄式的感覺;Google

...
閱讀更多

Unix與Windows在檔案許可權控制上的差異分析

Unix作業系統在檔案許可權控制上,跟Windows作業系統上還是有比較大的差異。簡單的來說,Unix的檔案許可權控制要比Windows作業系統複雜的多。雖然其維護起來具有一定的難度,但是這也保證了Unix作業系統的檔控制要比Windows作業系統的檔控制安全的多。下面筆者就對兩個作業系統在檔案許可權控制上的差異做一些分析。如果有說得不對的地方,還請大家多多批評改正。

無論是微軟作業系統還是Unix作業系統,其許可權控制的基本模型就如下圖所示。不過他們在具體的實現上有很大的差異。

差異一:檔案執行許可權上的差異分析

假設現在有使用者A,其在Unix作業系統上建立了一個檔案text。通常情況下,這個使用者A就是檔案text的所有者。所有權這對檔具有完全控制的許可權,即具有讀、寫、執行的許可權。而在Windos作業系統下,則沒有控制的這麼嚴格。在Windows下其許可權只有讀、寫的控制,而沒有細化到執行的許可權。這就是兩個作業系統在檔案許可權控制上的一個重要差異。Unix在對檔專門進行了執行許可權的控制,這對於Unix作業系統的安全性具有很大的幫助。如現在有一個程式開發小組,其成員包括用戶A與用戶B。他們在開發一個磁片清理的程式。為了安全起見,這個指令檔案當然不能夠隨意執行。不然的話很可能會造成磁片檔意外刪除的。為此用戶A就可以控制,用戶B可以查看或者編輯這個指令檔,但是不能夠執行。要測試的話,必須有用戶A來進行。這就可以保障這個指令檔案不會被未經授權的用戶執行。但是在Windows系統下就沒有這方面的控制。

閱讀更多

如何有效提升網站傳輸速度效能?

網站的視覺設計及內容,是能否吸引訪客的重要因素之一,但也不能因而顧此失彼,造成網站效能的瓶頸。從過去的訪客行為研究分析指出, 等待一個網頁的呈現時間不能超過十秒鐘,但面對目前網頁內容多媒體化的現實挑戰,要達到這樣的目標,在前端頁面的設計上,也就需要多花 些心思。

針對網站效能最佳化歸納出以下方針,並舉例加以說明:

1. 減少需要發出HTTP Request的數量
當您設計的網頁中包含的元件數量越多,Client需要對網站伺服器發出的HTTP Request也會增加,同時也會延長網頁處理的時間。

2. 採用Content Delivery Network服務
由Mirror Image、Akamai、SAVVIS等業者所提供的Content Delivery Network(CDN,內容遞送網路服務),可以供應強大的全球網路基礎架構

...
閱讀更多

保護DNS伺服器十大最有效方法

DNS軟體是駭客熱衷攻擊的目標,它可能帶來安全問題。本文提供了10個保護DNS伺服器最有效的方法。

一. 使用DNS轉發器
DNS轉發器是為其他DNS伺服器
完成DNS查詢的DNS伺服器。使用DNS轉發器的主要目的是減輕DNS處理的壓力,把查詢請求從DNS伺服器轉給轉發器, 從DNS轉發器潛在地更大DNS快取記憶體中受益。
使用DNS轉發器的另一個好處是它阻止了DNS伺服器轉發來自互聯網DNS伺服器的查詢請求。如果您的DNS伺服器保存了您內部的域DNS資源記錄的話,這一點就非常重要。不讓內部DNS伺服器進行遞迴查詢並直接聯繫DNS伺服器,而是讓它使用轉發器來處理未授權的請求。

二. 使用只緩衝DNS伺服器
只緩衝DNS伺服器是針對為授權功能變數名稱的。它被用做遞迴查詢或者使用轉發器。當只緩衝DNS伺服器收到一個回饋,它把結果保存在快取記憶體中,然後把

...
閱讀更多

網頁設計開發程式設計師主要十大熱門程式語言

在現今IT產業人力市場競爭日益激烈的時代,許多人認為學會多種程式語言也是在某職時可無往不利的一個方法。就像語文能力一樣,電腦程式能力也有助於自我推銷。本篇介紹美國從事網頁設計的開發人員可選擇的十項主要的程式語言。

據美國每週電腦報《eWeek》報導,雖然有些應用程式的研發者在因緣際會下,熟練了某種特定語言可導致他們一夕致富。但是很多長期從事程式設計的工程師均認為,每一段時間就須學習一種新的程式語言是成為一位成功的網路開發設計師的必要條件。

聖地牙哥軟體開發公司Interknowlogy.com總裁哈克比(Tim Huckaby)提及一位師字輩程式老手的經驗談到:程式語言僅僅是程式語言,你是不是好的程式設計師並不要緊,所用的語法才是關鍵。

儘管其公司工作忙得令人暈頭轉向,哈克比在應徵人才時,即使要招募對特定程式語言有基本認識的新手,依然是困難重重。他說:「我們求才若渴。我們要找剛從學校畢業,有學過『.Net』或是Java程式且態度及能力不錯的人才。因為具有這些條件,我們可以針對『.Net』再加以訓練。」

Grandview軟體開發主管杜奎恩(Wanyne

...
閱讀更多

認識網頁程式設計

網頁程式是指使用網頁程式語法互動式的網頁,一般又稱動態網頁,動態網頁是指網頁的內容是否可根據某種條件的改變而自動改變。 如計數器就是動態的,當有人點擊我們的網頁時,計數器的數值會自動累計增加;論壇也是動態的,當用戶在論壇上發佈訊息時,網頁內容會自動更新,顯示出新發佈的信息及相關回覆等等..。 需要注意的是GIF動畫和Flash動畫是靜態的。因為,這些動畫一旦製作完成後,就不會再改變了,儘管Flash動畫可以響應用戶的事件。

在WebServer端,有:

  1. PHP(Hypertext Preprocessor)
  2. ASP(Active Server Pages)
  3. ASP.NET
  4. CGI(Common Gateway Interface,公用網關介面)
  5. Perl(Practical Extraction and Report
...
閱讀更多

非常多人都想學程式設計,為什麼堅持下來的沒幾個?

不管是半途而廢,還是抽不出時間,最終都要把學到的東西落實到應用中去。近年來,許多人對學習程式設計產生了興趣。他們要麼透過線上課程開啟了學習,要麼透過面對面授課,當然還有一些人淺嚐輒止。

像 code.org 、 codecademy 和 freeCodeCamp 之類的網站越來越受歡迎--畢竟網路上有大量的程設資源。但是學習程式設計並不容易。以下就是一些我們在學習中會面臨的挑戰:

一. 每天都找不到合適和足夠的時間

如果您正在自學程式語言,很可能您還有其他的事情要做。您可能有一份兼職或者一份全職工作,或者要居家照顧小孩。關鍵是很難抽出空來。那麼,您如何每天撥出時間來學習程式設計呢?有些人可能會說:「如果您肯下功夫,總能找到時間。」說實話,我同意。所以問題就變成了:「您每天應該花多少時間學習程式設計?」如果每天只能抽出半個小時,那還能學到東西嗎?

這個問題只有您自己才能回答。每天應該學多久的程式設計,這個很難有確切的答案。有些人建議時間不要太長-- 15 分鐘就夠了。另一方面,我也聽說過有些人在一年左右的時間每天學習 9 到 10

...
閱讀更多

讓我們看一些基本的編寫網頁設計程式技巧

有很多理由都能說明為什麼我們應該寫出清晰、可讀性好的網頁設計程式。最重要的一點,程式您只寫一次,但以後會無數次的閱讀。當您第二天回頭來看您的網頁設計程式碼時,您就要開始閱讀它了。當您把程式碼拿給其他人看時,他必須閱讀您的程式碼。因此,在編寫時多花一點時間,您會在閱讀它時節省大量的時間。現在,讓我們把每個小點展開來詳細講一下。

  1. 儘量保持方法簡短
    儘管很多人都遵循這個規則,但它仍然非常的重要。您寫的方法要始終能在一個螢幕裏放得下。如果您需要去滾動螢幕,這會分散您的注意力,而且您看不到整個的上下文。最佳長度是5-20行,這根據您的情況而定。當然,getters/setters 通常是一行程式碼的方法,但與其說它們是真正的方法,不如說它們只是存取工具。
  2. 永遠永遠不要把同一個變數用於多個不同的目的
    一個變數應該始終只為一個目的服務。通過使變數常量化(C++裏的const,
...
閱讀更多

App設計師一定要知道的App設計五大注意事項

從事 App 使用者經驗設計,偶爾參考別人的使用者介面設計和風格,其實是一種很好的啟發,雖然有人會說這會扼殺創意,甚至擔憂以後所有的 App 可能都會長得一樣。但前人走過的路,的確有許多值得借鏡學習之處。Medium 一篇 《Misused mobile UX patterns》為此整理出五個面向,提供設計師們參考。

不要讓導航功能被隱藏

有關漢堡 圖標的討論,已經至少有超過 50 萬篇的文章出現在網路,且多數設計師對這件事的看法都是持反對的意見。而主要的反對原因,並非圖標本身,而是因為它隱藏了圖標本身具有的導航功能。儘管如 此,漢堡圖標當初的設計,最主要想解決的問題就是有時資訊太過豐富,設計師無法一次將其全放進手機有限螢幕的空間裡的問題。

但實驗證明,完整標示的目錄選單,所增加的用戶參與度和滿意度,甚至為 App 所帶來的收入卻是增加的。這也是為什麼現在許多設計師都開始將自家的 App,從漢堡圖標改為可標示完整功能的目錄選單。

不要設計意義不明的圖標

...
閱讀更多

軟體開發設計人員應防範的「25個最危險的程式設計錯誤」

...
閱讀更多

初學C++程式語言經典入門指導必備招式要點

下面的是學C++時要注意的。

  1. 把C++當成一門新的語言學習(和C沒啥關係!真的。);
  2. 看《Thinking In C++》,不要看《C++變成死相》;
  3. 看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因為他們很難而我們自己是初學者所以就不看;
  4. 不要被VC、BCB、BC、MC、TC等詞彙所迷惑——他們都是整合式開發環境,而我們要學的是一門語言;
  5. 不要放過任何一個看上去很簡單的小程式設計問題——他們往往並不那麼簡單,或者可以引伸出很多知識點;
  6. 會用Visual C++,並不說明您會C++;
  7. 學class並不難,template、STL、generic
...
閱讀更多

JSP與ASP有哪些區別?

JSP (Java Server Page)與ASP (Active Server Page)兩者都是常用的動態網頁技術,也都是可以嵌入HTML中的程序,但兩者是有著本質的不同,主要從以下幾個方面對其進行比較:

  1. Web服務器的支持:大多數通用的Web服務器如:Apache、Netscape和Microsoft IIS都支持JSP頁面,只有微軟本身的Microsoft IIS和Personal Web Server可以支持ASP。
  2. 平台的支持:JSP具有平台獨立性,只要是一般的Java程序可以運行的平台,都支持JSP程序。Windows平台可以很好的支持ASP,但ASP對於基於Win32逐漸模型的依賴,使得它難於一直到其它平台上。
  3. 組件模型:JSP是建立在可重用的、跨平台的組件(如:JavaBeans、Enterprises JavaBeans
...
閱讀更多

解決PHP沒有整數除法的問題

有時候在寫PHP時,若是遇到了除法就是一個問題,為什麼呢?因為PHP沒有整數除法,所以除出來的東西會有小數點,但是需要使用的地方並不需要小數點,這時候該怎麼解決這樣的問題呢?上網爬了一下文章,好像有個「floor」的函式可以使用,經過使用後,問題確實解決了,所以就發這篇來筆記一下,以後忘記可以來參考。

如同其他語言一樣,PHP也有幾種除法,像是取餘數與浮點運算之類的,不過卻沒有整數除法。爬了一下網路資料,發現有個函式「floor」可以使用,所以到PHP官方網站看了一下,這個函式就是取整數的函式。

至於使用方法呢?那就是把你的數字丟到函式中就會輸出整數部分了,以官方的例子來看,就是:

<?php
echo floor(4.3); // 計算後為:4
閱讀更多

解決中文寫入MySQL資料庫產生亂碼

連接Mysql 4.1、Mysql 5.0等版本的資料庫系統,php程式必須在連接資料庫的寫法中,加上這三行

mysql_query("SET NAMES 'UTF8'");
mysql_query("SET CHARACTER SET UTF8");
mysql_query("SET CHARACTER_SET_RESULTS=UTF8'");

因此後來Collablog程式也做了修改,這樣才能確保中日韓等雙字元語系文字存進資料庫是utf-8編碼,網頁顯示也是utf-8編碼,達成前後端一致性。

但由於優格網之前就已經有很多文章了,並沒有在一開始使用utf-8指定的方式寫文章到資料庫裡面,不過網頁顯示都會是正常的utf-8字元,這是php程式轉換的功勞。

所以優格網資料庫裡面文章的存法會是這樣

工作之餘連續不斷地嘗試(正確的字元是「工作之餘連續不斷地嘗試」)
...

閱讀更多

md5演算法及附帶C語言內聯函數實現

演算法描述

MD5以512位元分組來處理輸入的資訊,且每一分組又被劃分為16個32位子分組,經過了一系列的處理後,演算法的輸出由四個32位分組組成,將這四個32位分組級聯後將生成一個128位散列值。

在MD5演算法中,首先需要對資訊進行填充,使其位長對512求餘的結果等於448。因此,資訊的位元長(Bits Length)將被擴展至N*512+448,即N*64+56個位元組(Bytes),N為一個正整數。填充的方法如下,在資訊的後面填充一個1和無數個0,直到滿足上面的條件時才停止用0對資訊的填充。然後,在這個結果後面附加一個以64位元二進位表示的填充前資訊長度。經過這兩步的處理,現在的資訊的位元長=N*512+448+64=(N+1)*512,即長度恰好是512的整數倍。這樣做的原因是為滿足後面處理中對資訊長度的要求。

MD5中有四個32位元被稱作連結變數(Chaining

...
閱讀更多

Linux常見技術支持問題十一則

解答linux技術支持中常見的十一個問題,例如多重啟動、性能調整、檔同步、改變檔清單預設顯示方式、多台機器的時鐘同步、郵件備份,等等。

一. 我想要讓Apache為大量的連接提供服務。為了減小創建進程所需要的時間,我把Apache子進程數量配置為固定的1000。系統的性能很差,有時甚至拒絕連接。你有什麼建議嗎?

A:看來你很可能遇到了一個通常稱為“thundering herd”(異乎尋常地聚集)的問題。Apache和Linux的文檔都詳細地說明了這個問題,你可以用幾種方法來解決它。

在Linux中,這種情形通常從進程“wake”(喚醒)發展而來。當一個新到達的連接要求Apache/Linux提供服務時,系統向所有正在休眠的進程發出通知。這時,所有這些進程會試圖獲得對新連接的控制權。但是,它們之中只有一個能夠獲得成功,所有其他進程都將失敗並轉入休眠狀態。這被稱為“wake all”(全部喚醒)。Linux

...
閱讀更多

Linux基本命令學習

date:顯示日期
who:顯示以登錄的使用者,who am i,我是誰,呵呵……,顯示輸入命令的使用者資訊
exit:退出 C Shell用 logout
cal [[month] year]:顯示日曆,感覺挺爽,像下面的格式
November 2008   
Su Mo Tu We Th Fr Sa
1
2  3  4  5  6  7  8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
pwd:當前工作目錄
cd:不用帶 ..就是返回上級目錄,以前用Widnows打這個命令總是不空格,現在還老是犯毛病,這下好了
ls:列出目錄中的檔和資料夾,在這我學到了用“.”這個目錄,還有就是又熟悉了一下萬用字元
cat:顯示檔內容
wc:檔內容的一些統計值
mesg,write,wall:這些本機登錄用戶之間通信的命令
passwd:修改密碼
file:查看檔案類型的...

閱讀更多

嵌入式即時操作系統研究與分析

嵌入式即時操作系統(RTOS)是嵌入式系統的基礎運行平台,是嵌入式系統穩定、可靠工作的基礎,其功能和性能的好壞將直接影響嵌入式系統的功能和性能。嵌入式時實作業系統目前應用的範圍越來越廣,逐漸成為今後作業系統開發和發展的主要方向。其應用領域大到工業控制,小到個人消費用品如數碼相機,手機,PDA等無處不在,通信系統也大量的使用嵌入式即時操作系統作為作業系統平台。

閱讀更多

從系統框架發展看微軟嵌入式的優勢

未來的家庭和辦公室都離不開連接體驗(connected experience),這些連接將從現有的PC擴展到包括電視、GPS和VoIP在內的更多設備,催生新一代不僅可享受服務,而且能與服務互動的設備。

時至今日,資訊不再只是儲存於PC和伺服器中並等待設備來存取。包括PC、電話、視訊轉換器、遊戲機、音樂播放設備在內的所有設備,已經能通過某種方式連接起來。使用者希望這些設備能夠有效連接,以便能隨時隨地在各類設備上獲得想要的工具、資料、資訊甚至娛樂體驗。

未來5年內,可能將有更多適合消費者和企業使用的互聯產品上市。在這個互聯環境下,供應商提供的服務也趨向多元化,所有服務都具備雙向傳輸能力,而系統中的所有設備也都必須具備智慧化能力,才能為消費者提供特別的體驗。

以三星最近開發的一款數位相框為例,該產品採用Windows Embedded CE平臺,並運用Visual Studio 2005提供的工具和.NET緊密框架。這種數碼相框既能利用Windows Media Connect通過家用網路從本地SD存儲卡提取照片,也能連接到Flickr、Windows Live

...
閱讀更多

常見Linux 守護進程簡介

守護進程是定期被喚醒、檢查你的系統,然後執行某些特定功能的駐留程序。它們一般不接受任何輸入,通常也不產生任何輸出。你的 linux 系統可能以設置了運行相當多的守護進程。其中大多數可以選擇(或不選)通過以 root 身份運行程式 ntsysv(RehHat),然後選擇相應項目。

每個守護進程的簡短描述可以在 ntsysv 中按  得到。如果你需要的守護進程沒有在 Ntsysv 中列出來,你得放入 RedHat/Mandrake 的安裝 CD,安裝相應的軟體。Ntsysv 的另一個選擇可以是 tksysv(以 root 身份從 X 終端輸入),它可能更靈活,但也可能更複雜(它能讓你在每一個運行級別上設置守護進程)。另外,單一但更強大、靈活、難以使用的工具是 /sbin/chkconfig。

這裡有一個包含簡短描述的常見守護進程清單:

anacron –

...
閱讀更多

Java程式設計的78條黃金法則

創建和銷毀對象
1.考慮用靜態工廠方法(返回類的實例的靜態方法)代替構造器
2.遇到多個構造器參數時要考慮用構造器
3.用私有構造器或者枚舉類型強化Singleton屬性
4.通過私有構造器強化不可產生實體的能力
5.避免創建不必要的物件
6.消除過期的物件引用
7.避免使用終結方法

對於所有物件都通用的方法
8.覆蓋equals時請遵守通用約定
9.覆蓋equals時總要覆蓋hashCode
10.始終要覆蓋toString
11.謹慎地覆蓋clone
12.考慮實現Comparable介面

類和介面
13.使類和成員的可訪問性最小化...

閱讀更多

java記憶體優化

1. 別用new Boolean

在很多場景中Boolean類型是必須的,比如JDBC中boolean類型的set與get都是通過Boolean封裝傳遞的,大部分ORM也是用Boolean來封裝boolean類型的,比如:
ps.setBoolean("isClosed",new Boolean(true));
ps.setBoolean("isClosed",new Boolean(isClosed));
ps.setBoolean("isClosed",new Boolean(i==3));

通常這些系統中構造的Boolean實例的個數是相當多的,所以系統中充滿了大量Boolean實例小物件,這是相當消耗記憶體的。Boolean類實際上只要兩個實例就夠了,一個true的實例,一個false的實例。

Boolean類提供兩了個靜態變數:
public static final Boolean TRUE = new Boolean(true); ...

閱讀更多

檢視SQL資料庫讀取慢的原因分析及優化資料庫讀取方式

SQL讀取速度變慢的原因很多,常見如下幾種:

  1. 沒有索引或者沒有用到索引(這是讀取慢最常見的問題,是程式設計的缺陷)。
  2. I/O輸送量小,形成了瓶頸效應。
  3. 沒有創建計算列導致讀取不優化。
  4. 記憶體不足。
  5. 網路速度慢。
  6. 讀取出的資料量過大(可以採用多次讀取,其他的方法降低資料量)。
  7. 鎖或者鎖死(這也是讀取慢最常見的問題,是程式設計的缺陷)。
  8. sp_lock,sp_who,活動的用戶查看,原因是讀寫競爭資源。
  9. 返回了不必要的行和列。
  10. 讀取語句不好,沒有優化。

可以通過如下方法來優化讀取

...
閱讀更多

常見HTTP錯誤網頁狀態碼說明

在平時我們的網站管理工作中,經常在訪問一個網站時經常遇到如:301重定義錯誤,404錯誤,500錯誤這類形的HTTP 狀態碼的返回資訊,那麼這些代表什麼意思呢?

什麼是HTTP 狀態碼

如果向您的伺服器發出了某項請求要求顯示您網站上的某個網頁(例如,當用戶通過流覽器訪問您的網頁或在 搜尋引擎抓取該網頁時),那麼,您的伺服器會返回 HTTP 狀態碼以回應該請求。 常見HTTP 狀態碼說明:

200
請求已成功,請求所希望的回應頭或資料體將隨此回應返回。

301

...
閱讀更多

資料庫應用在網站設計中的概要說明

作為網路的一個重要應用,資料庫在網站建設與網路行銷中發揮著重要的作用,與普通網站相對而言,具有資料庫功能的網站網頁我們通常稱為動態頁面,也就是說頁面不是一層不變的,頁面上內容(或部分內容)是動態生成的,它可以根據資料庫中相應部分內容的調整而變化,使網站內容更靈活,維護更方便,更新更便捷。那麼,針對於企業網站,資料庫究竟有什麼作用,又有什麼限制?

一、資料庫的作用

1、收集資訊...

閱讀更多

什麼是「雲端運算」?(Cloud Computing)

一台電腦與與雲相連,即代表此電腦連接至網路 Internet,透過 Internet 存取服務(Services)或內容(Content),比如電子郵件服務(Web Mail)、即時通訊服務(IM)、網頁內容(Web Pages)等。由於電腦書籍習慣用雲朵的圖案來表示網路配置圖,久而久之大家就將網際網路(Internet)用雲朵(Cloud)來比喻。

雲端運算不是技術,它是概念。本身並不代表任何一項資訊科技的技術,它是一種電腦運算的概念,而一種概念就會有許多不同的方式去實踐,這個時候才會有不同的技術衍伸出來。本質上就是代表分散式運算 (distributed computing) 的概念。而分散式運算說穿了,就是讓一些不同的電腦同時去幫你做事情、進行運算,所以你有兩台電腦也好、十萬台電腦也好,只要你有超過一台電腦,而且讓他們可以互相溝通,一起同時幫你做事情,恭喜你,這就是分散式運算。

因此雲端運算代表的就是運用網際網路來做資料的運算與處理的一種概念。維基百科對雲端運算(cloud

...
閱讀更多

如何選擇合用的套裝CMS網站內容管理系統?

愈來愈多的朋友捨棄逐一製作HTML頁面,而採用各種套裝的內容管理系統(Content Management System)架設屬於自己的個人站台,或是使用如PhpNuke、Xoops之類的入口(portal)網站系統,如Movable Type、WordPress之類的網誌(weblog)工具,或如PhpBB之類的論壇程式。

雖然說我個人相信內容會比平台來得重要,但是總要有個平台作為內容的載具,擁有方便的平台也可以幫助內容獲得更自由、更亮眼的揮灑,甚至我自己都在改寫BBS以及WordPress這類的發表平台,所以在網路上,也經常可以看到許多朋友討論不同系統之間的良窳優劣,或是常看到許多朋友試用各種不同平台的心得(像Schee與tm便有不少的相關報告)而最近將我加入MSN好友名單者,幾乎都是在問我WordPress到底好不好用…怎樣挑選一套合用的內容管理系統該是許多朋友相當關心的話題。

而我這兩天剛好讀到OpensourceCMS.com站台負責人Calvin C. Sov(我猜想他可能是新加坡人?)寫了一篇How to Choose a CMS,寫得還不錯,共有PDF、Microsoft

...
閱讀更多

軟體程式設計過程與概念

...
閱讀更多

Web2.0主要技術介紹

在現在Web 2.0主要涉及到的技術名詞中,Mashup、Ajax、RSS、WiKi、Tag是幾個被提及最多的名詞。儘管成熟於Web 2.0時代,但它們都不能算是最新的電腦技術或網頁設計技術。

Mashup的直接譯義是網路聚合應用,即將一個或多個資訊源整合起來的網路應用。Mashup最常見於線上地圖的應用,如某個在Google Maps提供的API基礎上延展出新的服務。對應用開發者來說,Mashup帶來的最大優點是簡單、快捷。

Ajax是非同步JavaScript和XML的簡稱,通過這一技術實現了無需刷新整個頁面,而只更新網頁中的一部份資料的功能。對用戶來說,使用了Ajax的網頁較以往的靜態頁面有了更多的美觀性和互動性。此外由於實現了局部更新,伺服器與瀏覽器之間交換的資料也大大減少,使互動相應更為迅速。

RSS是Really Simple

...
閱讀更多