s19930811
-
6個變態的C語言Hello World程序
下面的六個程序片段主要完成這些事情: 輸出Hello, World 混亂C語言的源代碼 下面的所有程序都可以在GCC下編譯通過,只有最后一個需要動用C++的編譯器g++才能編程通過。 hello1.c #define _________ } #define ______…
-
語言的歧義
語言是人與人相互溝通的途徑,而計算機語言則是人和計算機溝通的途徑。就算是任何再完美的自然語言都會有歧義,但是又是什么讓人和計算計算機間產生了歧義呢?下面這篇文章來自Gowri Kumar的Puzzle C一文。我做了一些整理,挑選了其中的一些問題,并在之后配上相應的答案(這些答案是我加的,如果需要原版的答案可以直接和本文作者Gowri Kumar聯系,作者的…
-
如何加密/混亂C源代碼
之前發表了《6個變態的C語言Hello World程序》[酷殼鏈接] [CSDN鏈接],主要是是像大家展示了一些C語言的變態玩法。也向大家展示了一下程序是可以寫得讓人看不懂的,在那篇文章中,可以看到很多人的留言,很多人都覺得很好玩,是的,那本來是用來供朋友們“消遣作樂”,供娛樂娛東而已,不必太過認真。 不過,通過這種極端的寫法,大家可以看到源代碼都可以寫得那…
-
C語言的謎題
這幾天,本站推出了幾篇關于C語言的很多文章如下所示: 語言的歧義 [酷殼鏈接] [CSDN鏈接] 誰說C語言很簡單? [酷殼鏈接] [CSDN鏈接] 6個變態的C語言Hello World程序 [酷殼鏈接] [CSDN鏈接] 如何加密/弄亂C源代碼 [酷殼鏈接] [CSDN鏈接] C語言的謎題 [酷殼鏈接] …
-
centos6安裝docker
使用的操作系統是是centos6.3,按照官方的推薦的配置,把linux內核升級到3.8以上。安裝步驟如下: 1、升級內核版本(包含aufs) cd /etc/yum.repos.d wget http://www.hop5.in/yum/el6/hop5.repo …
-
ldd 的一個安全問題
我們知道“ldd”這個命令主要是被程序員或是管理員用來查看可執行文件所依賴的動態鏈接庫的。是的,這就是這個命令的用處??墒牵@個命令比你想像的要危險得多,也許很多黑客通過ldd的安全問題來攻擊你的服務器。其實,ldd的安全問題存在很長的時間了,但居然沒有被官方文檔所記錄來下,這聽上去更加難以理解了。怎么?是不是聽起來有點不可思議?下面,讓我為你細細道來。 首…
-
tcpdump診斷nginx問題
自從上級公司離職后,快一年的時間沒有寫php程序和搭建LNMP環境,一直在做db運維和運維工具開發方面的事情。 最近決定開發開發一些自動話方面工具,重新拾起php,于是在測試機上搭建一個LNMP環境。 1、 nginx 404錯誤 一般的出現404錯誤,找不到頁面資源。首先用strace排除了存在文件訪問權限的問題,其次nginx的root參數設置也沒有任何…
-
tcp socket文件句柄泄漏
今天發現有臺redis機器上出現socket個數告警,這是很奇怪的現象。因為一臺redis服務器上就部署了幾個redis實例,打開的端口應該是有限。 1、netstat顯示的tcp連接數正常 netstat -n | awk '/^tcp/ {++state[$NF]} END …
-
Redis高可用架構(1)—Keepalive+VIP
最近整理一下Redis高可用架構的文檔,也準備分享出來,雖然這些架構也不是很復雜。Redis的高可用方案目前主要嘗試過5種方式,其中2種方式已經在線上使用。 1)Redis Master-Slave + Keepalive + VIP。這是很經典的db架構,也可以用與mysql的主從切換。基本原理是:Keepalive通過腳本檢測master的存活,然后通過…
-
redis-cli的一些有趣也很有用的功能
redis-cli我們最常用的三個參數就是-h、-p、-a選項,分配用來指定連接的redis-server的host、port和登錄密碼。通過redis-cli –help發現,redis-cli還提供了其他很多的參數和功能。 1)-x-x選項從標準輸入(stdin)讀取最后一個參數。 比如從管道中讀取輸入: echo -en "…
-
redis主從復制(1)— 慢查詢導致復制中斷
redis的異常行為是一件令人頭疼的問題。redis提供的錯誤日志只提供了一些server的運行狀態信息,而沒有server在故障現場的操作日志,比如執行了什么命令,命令操作對象的數據結構信息。如果redis也有mysql的slow-log,那么很多性能和故障問題也很容易處理。1、redis rdb在redis2.8版本以前,redis主從數據復制在生產上存…
-
redis主從復制(3)— 復制超時
1、repl-timeout前兩篇[1]關于redis主從復制的文章解釋了一些因為slave replication buffer或者replication backlog參數的錯誤配置(或者默認參數值)導致主從復制中斷的現象。redis里面的repl-timeout參數值也太小也將會導致復制不成功。top redis headaches for devop…
-
redis主從復制(2)— replication buffer與replication backlog
1、redis主從復制過程先不解釋replication buffer和replication backlog,而先看看redis主從復制的過程。 redis的主從復制分為兩個階段: 1)同步(sync rdb snapshot):slave復制master的某時間點(t)的全量數據,t為master接收到slave的sync命令后執行rdb bgsave的…
-
redis主從復制(4)— client buffer
1、 client buffer的設計 redis server以單進程的方式處理接收到的請求,而redis完成請求有些工作比較慢,比如網絡IO和磁盤IO等比較慢的操作。redis為了提高處理客戶端請求的響應時間,做了很多優化。比如網絡io和磁盤io是異步完成、使用后臺進程完成bgsave和bgrewriteaof工作,在server端為客戶提供讀buffe…
-
專屬個人的聊天機器人的實現——圖靈機器人
先體驗一下:圖靈機器人智能聊天體驗:http://www.tuling123.com/openapi/cloud/proexp.jsp 1、簡介 本篇為大家介紹使用圖靈機器人api實現聊天機器人的方法,該api本身已經擁有了智能聊天的功能,但我們可以自定義知識庫的方式簡單實現專屬個人的聊天機器人。 2、開…