embedXcode 找不到 Arduino 系統庫頭文件

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

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

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

點擊跳轉以繼續閱讀

解決 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-679c167e8fb800238[……]

點擊跳轉以繼續閱讀

把 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[……]

點擊跳轉以繼續閱讀

用 python 寫一個功能變數名稱白名單爬蟲

前段時間我寫過一篇文章,說是時候使用白名單來翻牆了,不過那個白名單已經過期好久,用起來不是那麼順暢了,後來我就誇下海口說:我要自己實現一個爬蟲,來爬取中國的網站域名,好更新白名單。

好吧,總之這個爬蟲是寫好了然後上線爬取了一萬多的,不過最後我找到了前人做的更好的方案,於是這個爬蟲項目還是廢棄了。總之,白名單更強大了,只是沒有使用這個爬蟲而已。

爬蟲是用 Python 寫的,並沒有使用經[……]

點擊跳轉以繼續閱讀