關於網路那些事...

網路行銷,SEO,網路趨勢,教學文章,網頁設計,生活時事

無法連結到內網 windows http server 時,該如何處理

最近有朋友在學習架設網站,想透過內網分享時,卻無法連線

在協助他處理完畢後,就順便將解決方法記下來

希望能幫助到遇到類似問題的朋友,順利解決無法連線的問題


如果你喜歡我們的文章內容,請在這裡按個讚



Read on →

PHP Socket - simple case tutorial

Open PHP Socket Extension

First, make sure php.ini php_socket extension is opened
remove ; and restart http server
php.ini

...
extension=php_sockets.dll
...

Socket Server Side

Writing your servier side code as fellowing:
php_socket_server.php


如果你喜歡我們的文章內容,請在這裡按個讚



Read on →

工程師多數靠自學,還需要大學學位嗎?[轉載]

根據Stack Overflow網站2016年開發者調查發現,有56%的開發人員沒有計算機科學或相關領域的大學學位。開發人員最喜歡學習的方式是“自學”(至少69%的受訪者表示他們是部分自學;而13%的受訪者則是完全自學)。

但是,是否大多數公司都要求學位?

在 Stack Overflow Jobs(所有地區)列出的4,499個職位中,約61%(2,739個)沒有要求“學位”或“學士學位”,其他39%的工作崗位則在招聘要求中註明學位,可能是硬性要求也可以是其愛好。

有趣的是,按區域篩選時,在美國發布的需要學位的工作的百分比更高。美國列出的2,287個工作中,搜索出1,198個註明學位的職位,這意味著48%(1,089個)企業沒有把“學位”或“學士學位”作為要求之一,其餘52%的美國工作把學位作為應聘者的要求或愛好。

所以,有些公司需要學位,但這並不意味著如果你有大學學位就有超過50%的機會獲得作為開發人員的工作,證明你能做什麼和你做了什麼的能力將總是比你是否有學位更重要,即使在公司已經列出學位作為要求的情況下。

培訓可以替代學位嗎?


如果你喜歡我們的文章內容,請在這裡按個讚



Read on →

全球900萬用戶恐受PHP Mailer漏洞影響,讓攻擊者能在遠程執行任意代碼!

PHP Mailer是其中一個最受歡迎的郵件程式庫,普遍被應用在各種流行框架 WordPress,Drupal,1CRM,SugarCRM,Yii,Joomla!...等。
卻在日前,由 Dawid Golunski 發現在 v 5.2.18 版本存在一個高度危險漏洞,能允許攻擊者在遠端執行程式代碼。漏洞編號為 CVE-2016-10033


如果你喜歡我們的文章內容,請在這裡按個讚



Read on →

如何用CSS自定義checkbox以及radio按鈕樣式

目前有很多客製化form element的套件,
但是這次專案只需要客製checkbox及radio,
由於這樣的類子很常用到,就直接在這裡就做個紀錄,方便之後查詢
如何透過CSS來客製化HTML checlbox 及radio buttons


如果你喜歡我們的文章內容,請在這裡按個讚



Read on →

C# 系統集合泛型(System.Collections.Generic) Queue, Stack - 教學筆記 (使用visual studio)

C# 在系統集合泛型(System.Collections.Generic) 還包含 佇列(Queue)及堆疊(Stack)

這裡先簡單總結一下兩者的差異

佇列(Queue) 屬於先進先出(FIFO)的集合,例如: 一群人在排隊等公車,先來的就可以先上車。

堆疊(Stack) 屬於後進先出 (LIFO)的集合,例如: 將大箱子放入貨車櫃,最後放進去的,到時會最先取出來; 將子彈裝進彈匣,最後裝進去的會先擊發。

接下來,兩者說明如下:


如果你喜歡我們的文章內容,請在這裡按個讚



Read on →

C# 系統集合泛型(System.Collections.Generic) List, Dictionary - 教學筆記 (使用visual studio)

前面,我們介紹過C#的泛型
可以讓我們自行設計泛型方法、類別來進行操作資料

在這裡,會說明C#預設提供的泛型集合類別(generic collection classes)
讓我們可以直接拿來使用於操作資料
這些類別主要都被包含在一個Class裡面,稱為系統集合泛型(System.Collections.Generic)
在這裡會介紹 List, Dictionary, Queue, Stack 集合類別


如果你喜歡我們的文章內容,請在這裡按個讚



Read on →

C# 泛型(Generics) - 教學筆記 (使用visual studio)

C# 提供了泛型,讓我們可以用更有彈性的方式來設計Class、Method,操作資料

透過泛型類型 <型別參數T>來代表型別(int, string, double...)

可以在宣告時再指定型別,

以下透過範例來說明幾種情況的用法:

方法泛型 (Generic Method)

在Method使用泛型,只要在Method後面接上泛型類型 <型別參數T>
就可以在宣告時,再指定型別,
並且,可以搭配.GetType()來檢查型別
範例:

static void MyDemo<T>(T x)
{
    Console.WriteLine("您傳入的型別為"+x.GetType()+ ",值=" + x);
}

static void Main(string[] args)
{
    MyDemo<string>("Hello");//您傳入的型別為System.String,值=Hello
    MyDemo<int>(3);//您傳入的型別為System.Int32,值=3
    MyDemo<double>(3.14);//您傳入的型別為System.Double,值=3.14
}

類別泛型(Generics Class)

在class使用泛型,一樣直接加上 <型別參數T> 即可
在這裡示範如何透過Class泛型來手動做一個簡易的list功能

範例:

// Declare the generic class.
public class MyListClass<T>
{
    //初始化array,並參考泛型別
    T[] innerArray = new T[0];
    
    //Add Method - 新增一個array項目
    public void Add(T item)
    {
        Array.Resize(ref innerArray, innerArray.Length + 1);
        innerArray[innerArray.Length - 1] = item;
    }
    
    //Get Method - 取得array特定key的value
    public T Get(int k) {
        return innerArray[k];
    }
    //All Method - return array
    public T[] All()
    {
        return innerArray;
    }
}

static void Main(string[] args)
{
    // Declare a list of type int.
    MyListClass<int> listA = new MyListClass<int>();
    listA.Add(3);
    listA.Add(4);
    listA.Add(5);
    listA.Add(2);
    foreach (int row in listA.All()) {
        Console.WriteLine(row);
    }
}

如果你喜歡我們的文章內容,請在這裡按個讚



C# 用 system.IO 操作檔案 - 教學筆記 (使用visual studio)

使用C# System.IO namespace,可以用在檔案建立、寫入、讀取...

在這裡,主要介紹 System.IO 的 File Class

WriteAllText 寫入/建立檔案

透過WriteAllText可以將文字寫入檔案(如果檔案不存在,會自動建立),格式為:

File.WriteAllText(檔案位置及名稱, 字串);

範例:

string x = "Hello text";
File.WriteAllText("myfilename.txt", x);

ReadAllText 讀取文件

使用ReadAllText可以直接讀取文件中的內容,格式為:

File.ReadAllText(檔案位置及名稱);

建立檔案 & 讀取檔案 範例:

//建立檔案
string x = "Hello text";
File.WriteAllText("myfilename.txt", x);
//讀取檔案
string y = File.ReadAllText("myfilename.txt");
Console.WriteLine(y); 

AppendAllText 插入文字

C# 將字串插入文件內容尾端
範例:

File.AppendAllText("myfilename.txt", " append text to the end.");
string y = File.ReadAllText("myfilename.txt");
Console.WriteLine(y);

Exists 判斷檔案是否存在

透過 Exists 可以判斷檔案是否已經存在
返回布林值

File.Exists(檔案位置及名稱);

範例

if (File.Exists("myfilename.txt")) {
    Console.WriteLine("Yes");
}else{
    Console.WriteLine("No");
}

Delete 刪除檔案

刪除指定的檔案

File.Delete(檔案位置及名稱);

範例

File.Delete("myfilename.txt");
if (File.Exists("myfilename.txt")) {
    Console.WriteLine("Yes");
}else
{
    Console.WriteLine("No");
}

Copy 複製檔案

將檔案複製到指定路徑

File.Copy(檔案位置及名稱, 要複製的位置及新檔案名稱);

範例

File.Copy("myname.txt", "myname2.txt");
string x = File.ReadAllText("myname2.txt");
Console.WriteLine(x);

Move 移動檔案

透過Move可以移動資料到指定的位置,並且可以重新命名
(當然,一般移動都會維持原始名稱)

File.Move(檔案位置及名稱, 要移動的位置及新檔案名稱);

範例

File.Move("myname.txt", "file/myname2.txt");
string x = File.ReadAllText("file/myname2.txt");

如果你喜歡我們的文章內容,請在這裡按個讚



C# try-catch 例外處理(Execption Handling) - 教學筆記 (使用visual studio)

例外處理,可以處理一些未知且發生錯誤的情況,例如: 輸入不合法(型別不符)的值、找不到要開啟的資料、處理資料時突然失去連線...。

在C# 例外處理使用 try-catch 陳述式

只要將一般陳述式放在try區塊,

當try區塊發生發生時,就會移向catch區塊,用Exception擷取錯誤


如果你喜歡我們的文章內容,請在這裡按個讚



Read on →