原创 I/O重定向的原理

理解I/O重定向的原理需要從Linux內核爲進程所維護的關鍵數據結構入手。 對Linux進程來講,每個打開的文件都是通過文件描述符(File Descriptor)來標識的,內核爲每個進程維護了一個文件描述符表,這個表以FD爲索引

原创 PHP的phar相關

創建PHAR文件: phar官方文檔 查看phar.readonly的配置。需要修改php.ini文件設置 phar.readonly=0 否則: php -i | grep phar 編輯 index.php <?php

原创 PHP實現 一位數組轉化爲多維數組

PHP實現 一位數組轉化爲多維數組: <?php $arr = [ ['a', 'b', 'c', 'd', 'e',], ['a', 'b', 'b', 'd', 'e',], ['c', 't',

原创 mac上docker安裝nginx,php,mysql

在mac上安裝docker-nginx docker pull nginx docker run -p 80:80 --name mynginx -v $PWD/www:/www -v $PWD/conf/nginx.con

原创 Linux環境下的一個彙編程序

vim hello.asm section .text ; The _start symbol must be declared for the linker (ld) global _start _star

原创 C項目構建入門

多文件編譯 max.c int max(int a, int b) { if(a>b) { return a; } return b; } hello.c #include<stdio.h

原创 linux終端配色方案

原文鏈接:https://blog.csdn.net/amoscykl/article/details/80616873 參考 https://blog.csdn.net/amoscyk

原创 簡述 PHP 的標準輸入與輸出

文檔在此:http://php.net/manual/zh/wrappers.php.php 簡述 PHP 的標準輸入與輸出

原创 php-fpm

正向代理: 代理的對象是客戶端, 如VPN, 用戶可感知 反向代理: 代理的對象是服務端,如訪問PHP時nginx做代理,10086總檯任務分發。 用戶不可感知 cgi的歷史 早期的webserver只處理html等靜態文件,但是

原创 go實現http服務端

package main import ( “fmt” “log” “net/http” “strings” ) func sayhelloName(w http.ResponseWriter, r *http.Request)

原创 go連接mysql

shell終端安裝 go-mysql包: go get -u github.com/go-sql-driver/mysql 以下代碼可以在我的阿里雲正常執行: // go-mysql.go package main impor

原创 依賴注入,控制反轉

深入理解依賴注入容器 依賴:一個類的實現依賴於另一個類。 簡單的來說,依賴注入就是不在A類中進行實例化B,而是在A類的外面就把B類實例化好,然後通過參數的方式傳入A類,再在A類中賦值給A類裏的自定義變量 依賴注入的好處在於不用重複

原创 php設計模式

<?php /*** * 抽象工廠 * 意圖:提供一個創建一系列相關或相互依賴對象的接口,而無需指定它們具體的類。 * 主要解決:主要解決接口選擇的問題。 * 何時使用:系統的產品有多於一個的產品族,而系統只消費其中某

原创 C語言free如何知道要free多大的空間(轉)

在C語言中,當向一個函數傳遞指針的時候,它的長度信息往往會被截斷(如果是數組名),傳入函數的只是一個指針,而無法標示數組的長度,在函數中我們也無法獲取它的長度信息,除非顯示的傳遞一個長度參數。但是使用free函數的過程中,我們只是

原创 棧的概念以及棧溢出

棧的概念以及棧溢出 對每個程序來說,棧能使用的內存是有限的,一般是 1M~8M,這在編譯時就已經決定了,程序運行期間不能再改變。如果程序使用的棧內存超出最大值,就會發生棧溢出(Stack Overflow)錯誤。 一個程序可以包含