原创 二叉搜索樹的前序、中序、層次、後序遍歷

一、二叉樹的前序遍歷 Leetcode-144:二叉樹的前序遍歷 struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) :

原创 KMP算法初始化模式串的next數組

在使用KMP算法處理字符串查找問題的過程當中,可以利用模式串本身的對稱性,在移動模式串的時候,儘量多的往後移動,減少無用的查找過程,而模式串本身的對稱性一般是保存在一個next數組裏面的,下面來討論下怎麼初始化next數組的值。

原创 shell一文入門通

簡單來說“Shell編程就是對一堆Linux命令的邏輯化處理”。 W3Cschool 上的一篇文章是這樣介紹 Shell的 hello world 學習任何一門編程語言第一件事就是輸出HelloWord了!下面我會從新建

原创 TCP學習總結(二):連接的建立與終止

1、建立連接之三次握手 TCP是一個面向連接的協議。無論哪一方向另一方發送數據之前,都必須現在雙方之間建立一條連接建立一條TCP連接分爲三步: 請求端(通常稱爲客戶端)發送一個SYN段指明客戶打算連接的服務器的端口,以及初始序號

原创 Linux Connect系統調用

說明:本文的分析基於linux-2.6.0版本 1、函數原型 man connect可以看到函數原型爲: #include <sys/types.h> /* See NOTES */ #include <sys/

原创 Linux connect函數非阻塞實現

1、阻塞和非阻塞connect 對於面向連接的socket類型(SOCK_STREAM、SOCK_SEQPACKET、SOCK_RDM),在通信雙方讀寫數據之前都需要先建立連接,connect()函數用於完成面向連接的socket

原创 Java實現12306登錄和查票

前言:   之前一直打算寫一個模擬12306的工具,一直拖到現在,實在忍不了了,最近艱難的一步一步開始。由於想重新學習一下Java相關的知識,所以使用Java來進行開發,目前總算是有了一點進展,已經實現了登錄和查票功能,先記錄一下

原创 go語言學習總結之數組和切片

數組 1、數組在初始化的時候,需要指定大小,若不指定則會進行自動推算,而且數組大小是不可變的。 2、數組在作爲函數的入參時,需要明確指定數組大小,並且傳遞方式是值傳遞。 示例: //數組聲明和初始化 a := [...]int{1

原创 go爬蟲爬取boss直聘崗位信息

主要是通過goquery三方包發送請求,然後解析返回的數據,再用excelize三方包寫入excel文件。 說明: 1、代碼中給定的的查詢條件爲C++,展示結果也是過濾C++後相關的崗位,請求第一頁的url格式爲:https://

原创 Web Uploader學習總結

        WebUploader是由Baidu WebFE(FEX)團隊開發的一個簡單的以HTML5爲主,FLASH爲輔的現代文件上傳組件。本文主要介紹如何使用該組件實現對圖片文件的上傳下載和圖片回顯。本文基於webuploader

原创 使用 Socket 通信實現 FTP 客戶端程序

原文地址: http://www.ibm.com/developerworks/cn/linux/l-cn-socketftp/ FTP 客戶端如 FlashFXP,File Zilla 被廣泛應用,原理上都是用底層的 Socket

原创 pthread_attr_init線程屬性

1.線程屬性        線程具有屬性,用pthread_attr_t表示,在對該結構進行處理之前必須進行初始化,在使用後需要對其去除初始化。我們用pthread_attr_init函數對其初始化,用pthread_attr_des

原创 Http協議響應的解析

        在接受到一個請求後,服務器會返回一個HTTP響應。HTTP響應由三部分構成,即狀態行,相應報頭和響應正文。         1、狀態行         狀態行由HTTP版本(HTTP-Version)、狀態碼(Status

原创 Linux命令發送Http的get或post請求(curl和wget兩種方法)

     Http請求指的是客戶端向服務器的請求消息,Http請求主要分爲get或post兩種,在Linux系統下可以用curl和wget命令來模擬Http的請求。下面就來介紹一下Linux系統如何模擬Http的get或post請

原创 一次性刪除Mysql數據庫中所有表的數據,保留表結構

        常見的刪除數據庫表中數據的方法是通過delete或者truncate的方法進行刪除操作,如果刪除的是表中某一條或者部分數據的話適合用delete操作進行刪除,如果要刪除表中所有的數據的話,適合是同truncate進行刪除操