讓 SSH 走代理連接服務器

很多網絡運維、或者站長需要通過 ssh 來管理服務器、vps,如果不湊巧,你和服務器之間相隔了一堵 GFW,那麼由於 GFW 會分析 ssh 數據包,結果就是導致稍微慢一點的網絡就會讓命令卡一分鐘。

GFW 現在完全有能力分析 ssh 流量特徵,以判斷你是在真的使用 ssh 配置服務器,還是使用它作為代理來瀏覽網頁。

如果有什麼好的辦法讓ssh像瀏覽器那樣指定翻牆就好了。

事實上,還真有[……]

點擊跳轉以繼續閱讀

Swift 使用 InputMethodKit 寫輸入法

如何在 iOS 上寫一款輸入法?這個問題已經被很多人解答過了。你可以輕易通過 Google 找到一篇詳細的教程。但是,在 macOS 上寫一款輸入法就沒那麼簡單了。

好吧,嚴格來講,是指用 Swift 在 macOS 上寫一款輸入法很難。主要的原因是 從來沒有人做過這件事情 。

目前能夠獲取的資料,除了蘋果官方的 API 說明(一點用也沒有),以及官方的 demo(很詳細但過時了,而且[……]

點擊跳轉以繼續閱讀

Swift 3 裡的 GCD

Xcode中 8 正式版已經發佈,我要在第一時間遷移我的專案到 Swift 3 —— 畢竟這是趨勢。

在遷移的過程當中我遇到了很多問題——比如 Xcode 提供的自動遷移工具根本沒有用,在我等待了兩個多小時之後,我放棄了,選擇手動遷移——畢竟,Xcode 的自動校正也是很好用的。

然而——在遷移過程當中,Xcode 一直處在 「indexing」 中,功能也不怎麼全……可能是由於 Swi[……]

點擊跳轉以繼續閱讀

Swift UIButton 圓角 + 陰影

很多時候,我們都希望按鈕更符合 iOS 的設計風格,這樣會讓應用的界面看起來不那麼跳,就算設計的不好看,也不會顯的與系統格格不入。

“我不是設計師,我不知道怎麼設計好看——但盡可能貼近系統風格不是錯誤的選擇。 “ - 通過路由器

那麼對於 UI​​Button 來說,圓角+陰影應該是常態。

放一張圖片

顯然,這是最便宜的辦法——實際上也最昂貴。它需要你為每一個按鈕做一系列的圓角圖片,[……]

點擊跳轉以繼續閱讀

用 ownCloud 搭建個人私有云

背景交代

根據國家的規定,所有網盤必須接受審查! (可能是因為女神太多了,你懂的 =_=),然後大部分網盤紛紛停止服務,大廠商裡現在只有某度雲還在運營。但是,你存到某度雲裡的所有資料都要接受審查(女神的電影會變成15秒教育片,這還是輕的;要是你敢說dang不好,或者把類似的文件存到某度雲裡,明天就會有人來給你送快遞…)所以,根據這個背景環境,我需要一個屬於自己的網盤(不管你需要不需要,至少我需[……]

點擊跳轉以繼續閱讀

iOS 自定義鍵盤 左右劃動移動光標 實現

我們都直到,第三方輸入法比如搜狗輸入法有個經典的手勢操作——在鍵盤上左右劃動即可移動光標。而這個功能我自己也十分的常用,所以,我想要自己來實現它。

首先我想到的就是 UISwipeGestureRecognizer ,不過結果可想而知,劃動一次只能移動一格光標,這可不是我想要的。

看來唯一的辦法就是用 UIPanGestureRecognizer[……]

點擊跳轉以繼續閱讀

我是如何使用雙拼的

說起來,使用雙拼也一年多了。現在每天都在使用,手機在用,電腦也在用——很奇怪早些年的時候為什麼沒有遇到這麼優秀的輸入方法。總之,經過這麼久的持續使用——再加上我甚至為了能在 iOS 上體驗與 Mac 一致的雙拼,我還自己動手寫了一個輸入法(見首頁)。

現在雙拼已經是小眾了,我曾按照自己的理解,寫了一個雙拼是怎麼來的這個文章,是為了放在輸入法的 FAQ 裡。不過,虽然总体上双拼渐渐的被全拼所淹[……]

點擊跳轉以繼續閱讀

用 Santa 阻止 Mac QQ 的 Jietu.app 啟動

更新,新版的qq截圖的名稱改了,改為 QQ jietu plugin.應用程式 ,目錄不變。

下文中的命令已經做了對應的修改。

我們都知道 QQ 這個東西和 360 一個樣,盡不干好事。出了 Mac 版也沒想著把功能做好,倒是流氓先耍起來了。這次更新後,你就會發現 QQ 的截圖功能獨立出來了(其實很早就獨立了,我指的是其他方面),網絡連接不和 QQ 本[……]

點擊跳轉以繼續閱讀

Swift 中的正則表達式

在一開始,Swift 裡並沒有提供正則表達式的支持,所以我們只能自己來封裝,比如說寫一個結構體,像這樣:

其實現在 Swift 已經有了對正則表達式的支持,我們只需要這樣:

直接就能獲取正則捕獲的內容了。

 

獲取到的是一個[蠟筆[……]

點擊跳轉以繼續閱讀

Swift 中切分數組

大多數情況下,如果我們想要獲取數組中某一段的內容(比如說從前到中間,或者數組最後的某些值),這時候就需要遍歷數組來給新的數組賦值:

這樣數組短了還好說無所謂,但如果數組比較大而我們需要的值又比較多,那遍歷起來顯然就很浪費時間。

Swift 中本身就提供了對數組進行拆分的功能,這個機制是一個叫做 [crayon-6905ff[……]

點擊跳轉以繼續閱讀

讓 pip 走代理

使用 python 的時候,經常需要下載一些第三方的框架,好在 python 也有類似 apt 的包管理工具,果仁。

不過,pip 雖然能夠管理包,卻沒有切換鏡像源的功能,而我們下載的包,大多數都在國外大型的代碼託管服務器上,這就導致了往往幾百KB的包要下載一個小時。

 

這裡我們假定,作為程序員的你,已經給電腦部署了 HTTPS 以及 HTTP 代理,我們之前也講過[……]

點擊跳轉以繼續閱讀

什麼是 雙拼 ?

落格輸入法是一款專業的雙拼輸入法,它致力於讓用戶體驗雙拼輸入快感的同時也可以兼俱全拼的優勢——比如海量詞庫等。

對於雙拼的認知,你不應再停留於單字重碼率介於全拼和五筆之間這個概念,雙拼是時尚的、符合漢語發音本能的一種輸入方法。

全拼

既然要介紹雙拼,我們還是從你最熟悉的全拼開始。要知道,abcd這樣的符號並不起源於中國,自然,中國一開始也沒有這樣類似英語音標的拼音。後來,為了普通話的發展[……]

點擊跳轉以繼續閱讀

“plugin invalidated” ios 自定義鍵盤

國內似乎沒有人願意來為 iOS 系統寫一個輸入法,除了幾個寡頭大公司在做以外就沒有別的了。走近了中國特有的蘋果生態平台看看,發現其實裡邊都是空殼子,有意義的應用真的是少的可憐。

落格博客最近正在致力於給 iOS 平台寫第一款能真正支持碼表的雙拼輸入法,第一個兼容的雙拼方案自然是開放的“小鶴雙拼”,這中間踩了不少坑,陸續會發一些經驗出來。現在,先來緊急記錄一個坑:

在鍵盤使用過程當中,會偶爾[……]

點擊跳轉以繼續閱讀

在 Swift 裡使用 SQLite 數據庫

SQLite的

說起 SQLite,它和你熟知的 MySQL 一樣,都是關係型數據庫管理系統,但與後者不同的地方在於,它完全不需要對應的獨立服務器!

一般說起來,SQLite 都是以文件的形式存在,大多用在應用的內嵌儲存裡。通過在應用代碼裡加載 SQLite 庫,就可以很方便地直接存取 SQLite 文件裡的數據了。

SQLite 由 C 編寫,所以你懂的,要調用它的庫,一定也是 C 語言[……]

點擊跳轉以繼續閱讀

Xcode 裡各種 Sent Event 的含義

在 Xcode 中,我們給 iOS 平台開發 App,免不了要添加一個按鈕綁定一個事件,這時候就有說法了,你會發現一個按鈕的觸摸事件早已經不是以前的一個“Touch Up Inside”那麼簡單了。

參照題圖,目前至少有這麼多中有的沒的事件可以供你選擇,在功能更多的同時,新手可能就更加懵逼了?

這次我們就一起來看看這些事件,究竟都是什麼樣的手勢:

真的結束退出時

nRF24L01 無線收發模塊 Arduino

nRF24L01 是一款工作在 2.4~2.5GHz 世界通用 ISM 頻段的單片無線收發機晶片。無線收發機包括:頻率發生器、增強型 SchockBurstTM 模式控制器、功率放大器、晶體振盪器、調製器、解調器。輸出功率頻道選擇和協定的設置可以通過 SPI 介面進行設置。

方便的設置以及極低的功耗使得它被廣泛地應用於無線滑鼠、鍵盤;無線門禁、各種智慧物聯網設備通訊等方面。

參數

在 macOS 10.11 上用 BootCamp 安裝 Windows 10 解決分區錯誤

一切為了再吸兩口!

屁股先鋒出了,為了能夠吸上它,我也是廢了九牛二虎之力。——誰叫爸爸這麼坑不支持 macOS 呢!

據說虛擬機來安裝守望先鋒雖然能夠進入遊戲但會有奇怪的黑塊出現,遊戲不能。

總之,用了 macOS 五年了,第一次終於有了裝雙系統的理由。

但曾今的 Bootcamp 攻略已經不適用了,在 El Captian 裡,不再需要 U 盤來製作 Windows 的安裝盤,而是自[……]

點擊跳轉以繼續閱讀

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

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

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

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

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

點擊跳轉以繼續閱讀

embedXcode 找不到 Arduino 系統庫頭文件

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

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

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

點擊跳轉以繼續閱讀