Category Archives

147 Articles

樹莓派忘記登錄密碼怎麼辦

6   81204 轉為簡體

借給同學之後自己把密碼忘了……雅蠛蝶……可惜沒把顯示屏帶回來,查了一圈之後靈機一動(* ̄▽ ̄)y

如果你有顯示屏+USB鍵盤

  • 將SD卡插入電腦(windows下只掛載boot分區)
  • 打開boot分區,編輯command.txt(注意不要用記事本,可能會換行符坑爹)
  • 在第一行末尾加上init=/bin/sh,完成後大概是這樣
  • 插卡,重啟,連接鍵盤顯示器
  • 出現shell後用passwd更改密碼

沒有的話呢?

  • 想辦法讓電腦和樹莓派連通,可以用路由器,或者電腦裝個dhcpd等
  • 生成一對密鑰對,注意必須是openssh兼容格式而不是putty等密鑰格式
  • 使用一個流行的linux發行版,將SD卡插入電腦;如果是老舊的版本,你可能需要手動掛載SD卡里的ext4分區
  • 進入/分區,在/root下建立一個.ssh文件夾(如果沒有的話),並chmod 700
  • 在/root/.ssh/下建立一個文件authorized_keys,並chmod 600
  • 將公鑰內容寫入新創建的文件中
  • sync,umount
  • 插卡,重啟,ssh使用root賬戶連接,並指定剛才的私鑰
  • passwd修改密碼

Coreseek4.x/5.x編譯和一些注意事項

0   11475 轉為簡體

使用ubuntu/debian系統32位的可以在這裡下載我編譯好的coreseek5/csft包

對於>2.2.10的版本,我在這篇博客里提供了完整的補丁,可以應用在sphinx的源碼上編譯。

編譯mmseg

 編譯coreseek5

自動腳本有一些bug :

  • 手動運行一次autoconf和automake
  • ./configure xxxx之後,修改src/Makefile在LIBS加上-L/usr/local/mmseg3/lib  -lmmseg
  • am__object_1 增加 tokenizer_zhcn.$(OBJEXT)
  • SRC_SPHINX增加tokenizer_zhcn.cpp
  • gcc 5.不知道多少版本以後會腦殘,sphinx.cpp里有個地方要加上this->,忘記具體變量了,沒關係gcc會告訴你在哪的

 

如果用4.1的話不能用最新版的sphinxclient,可以去sphinx_php_api的trunk里找define ( “VER_COMMAND_SEARCH”, 0x117 );的版本(0x117 ->1.23)

 

最後貼一個圖來表達對xunsearch的…………

又慢(搜索比sphinx慢5~10倍,索引體積比原始數據大7倍,比sphinx大21倍),結果又少(mysql模糊搜索≈coreseek搜索≈740+,這貨只有114,$search->count獲得的精確值是286條)

另外ini文件名和裡面填的project_name不一致會神作

告訴我是我打開方式不對

Memcached擴展的一些坑及強迫症專用PV統計的實現

0   43714 轉為簡體

以下針對PHP的Memcached擴展

  • increment/decrement/touch方法必須使用binary protocol($_mc->setOption(Memcached::OPT_BINARY_PROTOCOL,true)),且連續執行兩個請求必須先關閉之前的才可以
  • $expiry參數可以是UNIX 時間戳也可以是當前秒數,秒數大於30天會被認為是時間戳,要設置用不超時可以設為0
  • 啟用binary protocol後increment/decrement的返回值可能類似1 15415 a2d1,←注意是類似這樣的,沒關係加個intval就行了
  • 看php.org文檔的時候下面的用戶留言比上面的有用得多

強迫症專用PV統計

強迫症認為PV統計漏掉一個IP就會渾身難受

在需要統計的頁面的PHP中嵌入一下代碼

每個ip一小時內訪問相同頁面只計一次;注意要先touch再increment,因為increment並不會增加超時時間,如果增加了還沒被讀就超時就杯具了;反之如果key不存在touch一下也不會懷孕;每當一個新用戶訪問,增加生命值10min

cron定時入庫

 

注意這裡不能用delete,因為delete可能會使數據丟失,但是decrement就沒關係了

awk(又是awk)高亮顯示nginx日誌

7   13302 轉為簡體

請叫我awk小(nao)王(can)子(fen)

效果

awk分析日誌統計當日熱門頁面

0   26151 轉為簡體

不想寫python,而且我比較相信awk+uniq+sort的速度

  •  cron的時區很奇怪,不會調,系統時間是+8,tail /var/log/syslog之後發現是西五區,手動+13小時 可以通過修改localtime,修改完之後重啟service cron(還是重啟系統好了)參閱
  • 第一步取出所有日期是今天且響應是200的請求,打印請求ip和請求uri
  • 第二、三步對(ip uri)排序,去重,單個ip訪問單個頁面只會被記為一次
  • 打印uri,去重,排序,顯示前50個

 

time計時

52M日誌,26w條

134M日誌,加上了兩個自定義條件,65w條

小站可以考慮

在某網站中使用的字幕文件名猜測視頻文件名的算法

2   71896 轉為簡體

覺得有點意思,拿出來和大家一起研究下,歡迎提供更好的建議。

因為爬x手的時候,網頁已經沒了,只能自食其力;用unrar(rarlab上下的,apt-get里的太古老)獲得rar內的文件名,用zipfile模塊列zip包的,抓的時候直接把返回的內容插到數據庫了,沒分析,因為沒那麼多時間去想算法,還是先把dirty data擼下來再說。

然後開始正文了www

按照這麼一個基本思想,字幕文件名除了擴展名以外,其餘部分和視頻文件是一樣的。如果壓縮包裡面只有一個文件,那麼直接就是它去掉擴展名就好了;但是如果有多個版本的字幕(比如eng,GB,BIG5等),那就需要一個字符串最大匹配的算法。←為了裝B取的名字
Read More