利用阿里雲域名管理 API 實現 動態域名解析 ddns

動態域名解析,縮寫ddns,它不同於我們常用的DNS解析,而是專門用於對付那種沒有固定公網 IP 的服務器地址解析的。

典型的使用情況就是:自家寬帶構建小服務器,沒有固定IP,想要上線,除了寫腳本發郵件外,就只有ddns這一條路可以走了。

目前來說,國內最知名的可能就是出了名的難用不穩定的花生殼了。國外的話有一個dynu也很不錯。

現在阿里雲開放了 API,那麼我們能否使用阿里雲的 AP[……]

點擊跳轉以繼續閱讀

embedXcode 找不到 Arduino 系統庫頭文件

在 Mac 上玩 Arduino,除了可以使用官方的那個簡單的 IDE 之外,還可以選擇使用 Xcode 來進行開發。

使用 embedXcode 外掛程式即可讓 Xcode 搖身一變成為嵌入式開發 IDE,包括了本地編譯、上傳等全套功能。

不過,在使用標準庫的時候就出了問題,比如上圖中,我在測試 nRF24L01 這個 SPI 模塊,需要用到 [crayon-67bbb2de52[……]

點擊跳轉以繼續閱讀

解決 MySQL 突然佔用全部內存的問題

前段時間落格從虛擬主機遷移到了獨立的vps上,這下所有的維護內容都得我自己動手了。為了性能,另外既然能自己配環境了,自然不會用舊的配置。

我用了 Ubuntu Server 16.04 + PHP 7.0 + Nginx的 + MySQL 5.7 總之,踩了不少的坑。

現在,來記錄一下

關於 MySQL 為什麼會突然占滿記憶體

一開始我以為是vps遭到了攻擊,可是只查看網卡流量就不是這[……]

點擊跳轉以繼續閱讀

Ubuntu的 16.04 為 PHP7 添加 memcached 以及 redis 擴展

切換到 PHP 7 之後,網站的速度大幅提升,不過通常的擴展可能某一個就還沒有支持 PHP7.

Memcached的

比如說我現在使用了最新的 Ubuntu 16.04,雖然內置了 PHP 7 源,但 memcached 就還沒有,不過好在,它已經支持了 PHP 7 ,只是沒有源而已,我們手動編譯它。

要安裝 memcached,需要先安裝依賴庫 libmemcached

這裡找到[……]

點擊跳轉以繼續閱讀

Swift 裡的 單件模式

在寫代碼的過程當中,我們總會遇到需要保證全局只有一個實例的時候,這個時候就要使用單件模式。

單件模式——它確保了一個類只有一個實例,並提供一個全局訪問點。

那麼怎麼實現單件模式呢?我們來看看最經典的 Java 代碼,該怎麼實現這個 單件模式。

我們在網上隨便搜索“java 單件模式”就能找到不少現成的代碼段,這裡是其中隨機摘抄的一份:
[crayon-67bbb2de560396409[……]

點擊跳轉以繼續閱讀

把 Ubuntu Server 滾動更新 到 16.04

我們用vps,一般來講還是 Ubuntu 的好用,一方面是對新手來說更加友好,另一方面是一些常用的服務配置都可以一鍵安裝。再加上牛逼的 ufw,真是完美。

不過,現在並不是所有的vps服務商都能夠提供最新的 Ubuntu Server 16.04,真是遺憾。它有太多好處了,比如原生庫就是php7,不再需要額外編譯……

那麼既然是linux,就一定可以直接把它升級到新版本——我記得Ubu[……]

點擊跳轉以繼續閱讀

請謹慎使用 C# 裡的 var

我們都知道,比如 Swift 、 Python 裡,都不需要特別的去聲明一個變量的類型——它們雖然是類型安全的語言,卻可以動態地在上下文中幫你推斷變量的類型。

Python 不用你做什麼,寫一個名字就是默認聲明了一個變量;而 Swift,則更接近我們的題目,它也使用了

如果你有過 Swift 的使用經驗,再來使用 C#[……]

點擊跳轉以繼續閱讀

使用 Let’s Encrypt 在 VPS 上為 Nginx 配置 SSL

之前我們有講過如何給網站開啟全站 SSL 現在我們就一起來看看如何在 vps 上給 Nginx 開啟 Let’s Encrypt 證書並且自動更新。

這篇文章中的內容較舊,關於 letsencrypt 的配置文章,我寫了一篇新的,或許你可以參考看看:letsencrypt 工具改名 certbot

設置環境

首先,我們要準備一下安裝環境,這次我使用的是 CentOS 6.7[……]

點擊跳轉以繼續閱讀