sentry用了2年了,感觉还不错,但是对系统要求比较高,4c8g才勉强能跑,所以实在受不了,换成gilitchtip了,毕竟他兼容了sentry的协议
既然要换,那怎么卸载呢?找了一堆 资料,各种 说法都有。什么docker ps看一下container,如果有sentry开头的,全部停止再删除就行了。
其实在官方的install目录下,就有一个clean.sh,运行后会提示删除后啥也没了,确认就可以了。于是我直接执行:
▶ Initializing Docker Compose ...
☠️ Warning! ? This is highly destructive! ? Are you sure you wish to proceed? [y/n] y
Okay ... good luck! ?
Volume sentry-self-hosted_sentry-nginx-cache Removed
Volume sentry-self-hosted_sentry-clickhouse-log Removed
Image symbolicator-cleanup-self-hosted-local:latest Removed
Image sentry-cleanup-self-hosted-local:latest Removed
Image clickhouse-self-hosted-local:latest Removed
Image sentry-self-hosted-local:latest Removed
Image snuba-cleanup-self-hosted-local:latest Removed
Volume sentry-self-hosted_sentry-smtp Removed
Volume sentry-self-hosted_sentry-kafka-log Removed
Volume sentry-self-hosted_sentry-zookeeper-log Removed
Volume sentry-self-hosted_sentry-smtp-log Removed
Volume sentry-self-hosted_sentry-secrets Removed
Network sentry-self-hosted_default Removed
Removed volume: sentry-clickhouse
Removed volume: sentry-data
Removed volume: sentry-kafka
Removed volume: sentry-postgres
Removed volume: sentry-redis
Removed volume: sentry-symbolicator
Removed volume: sentry-zookeeper
世界立刻清静了
以下内容纯COPY
原文来自:http://hiraku.tw/2015/09/3969/
- 前兩天 OS X El Capitan 出了 GM Candidate,所以就升級上去了,雖然外觀上 El Capitan 跟 Yosemite 看起來差不多,但是我裝的不少東西馬上就不能用了,這邊列一下目前遇到的問題跟解決方法,如果後面陸續遇到更多會持續補充。
-
- 首先最重要的是,El Capitan 增加了一個叫做 System Integrity Protection (簡稱 SIP ,或稱 rootless, 在 iOS 9 裡面也有) 的保護機制,SIP 最主要功能就是防止對系統程式的 code injection,還有使用未被 Apple 認可的 kext。
-
- 但是要關閉 SIP 也不難,只要進去 Recovery Mode (開機按著 Command + R 直接進入,千萬不要用按著 option 的方式選擇,否則會找不到 csrutil 的指令),用終端機輸入
-
- csrutil disable
- 之後重新開機,就可以關閉 SIP 了。若有使用到以下說明要關閉 SIP 的軟體,就必須按照上述方法操作,才能正常使用該軟體之功能。而開啟 SIP 也很簡單,輸入
-
- csrutil enable
- 特別要注意的是,csrutil 的設定實際上是在 NVRAM 中設定參數,所以當你重置 NVRAM (開機按住 command + option + P + R) 之後,SIP 會變回開啟狀態,所以要再重新關閉一次,切記切記!
-
-
-
- 而以下就是我目前遇到在 El Capitan 必須特別留意的軟體:
-
- TotalFinder:必須在 1.7.1 以上,並且關閉 SIP。 (1.7.1 beta 載點)
- XtraFinder:官網下載最新版,並且關閉 SIP。
- Bartender:必須在 1.3.2 版以上(如果你無法升級,試著開啟 beta 版檢查),暫時關閉 SIP (成功安裝後可以再次開啟)
- Homebrew:如果出現無法編譯的問題,就去下載 Xcode 7,開啟並安裝 command line tools 之後就能解決
- iStat Menus:必須在 5.11 版以上 (5.11 beta 載點),但因為在 5.11 之後,iStat Menus 的每個元件並不是分開的,而是整個合併為一大塊元件,所以目前不能把其他項目放置在 iStat Menus 元件的中間(例如:以前可以 RAM → Spotlight → CPU 這樣穿插放,但現在不行,iStat Menus 的項目必須連續。)如果要改各個項目的順序,要在 iStat Menus 裡面的設定改,不能直接在 menubar 拖曳。
- Sequel Pro:如果用 SSH 連接的話會出錯,去抓 Nightly Builds 就可以了
- theos:iOS 9 SDK 跟 theos 裡面的 header 似乎有些問題,如果有問題的話去用 iOS 8.4 的 SDK 或者抓 Xcode 6.4 回來編譯。(目前測試如果用到 Springboard 跟 UIKit2.h 的 header 好像會出錯)
- Parallels Desktop:必須在 PD 10 (含) 以上
- Fantastical 2:如果不能用下載 beta 看看(載點)(感謝 @katerjacob 補充)
- CleanMyMac 3:必須在 3.1 beta 以上
- 以上就是目前遇到的問題,但我覺得除了 iStat Menus 不能照以前的方法用之外(其實原因是因為 menucracker 失效了),其他不是太大問題。而 GM 版本雖然不是最終版本(這次是 GM Candidate,跟去年一樣,有可能會有 GM2、GM3),但是穩定性還算 OK(大家都知道,OS X 要真正穩定必須等到 10.x.2 之後…),所以如果有開發者帳號的,也可以考慮趕緊備份資料,準備上來 El Capitan 了!
所幸,上述程序我几乎都不用。除了homebrew/parallels desktop。。。这两个的问题我已经解决了。黑黑
如果你们有遇到或者要用上述程序的,先做好心里准备
只上图不说话。。。

话说,最近又拍云在搞开发者活动,有兴趣的朋友可以尝试一下了:https://www.upyun.com/op/dev/,有没有感觉mbp在向你招手?
这段代码不是挺复杂,其实如果你细看是可以看得到discuz中的authcode的影子的。如果你有兴趣,你可以看看:
源代码来自:http://blog.csdn.net/long892230/article/details/7562613
- /*加密函数内部调用函数*/
- function keyED($txt,$encrypt_key) {
- $encrypt_key = md5($encrypt_key);
- $ctr=0;
- $tmp = "";
- for ($i=0;$i<strlen($txt);$i++) {
- if ($ctr==strlen($encrypt_key)) $ctr=0;
- $tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1);
- $ctr++;
- }
- return $tmp;
- }
-
- /*发送邮件中连接地址的加密函数*/
- function inner_DYEncrypt( $encryptstr ){
- return urlencode(inner_DYEncrypt_subfun($encryptstr));
- }
-
- function inner_DYEncrypt_subfun($encryptstr){
- srand((double)microtime()*1000000);
- $encrypt_key = md5(rand(0,32000));
- $ctr=0; $tmpstr = "";
- for ($i=0;$i<strlen($encryptstr);$i++){
- if ($ctr==strlen($encrypt_key)) $ctr=0;
- $tmpstr.= substr($encrypt_key,$ctr,1) .
- (substr($encryptstr,$i,1) ^ substr($encrypt_key,$ctr,1));
- $ctr++;
- }
- $returninfo = base64_encode(keyED($tmpstr,ENCRYPTKEY));
- if (strrpos($returninfo,"/") or strrpos($returninfo,'') or strrpos($returninfo,'+'))
- return inner_DYEncrypt_subfun( $encryptstr );
- return $returninfo;
-
- }
-
- /*发送邮件中连接地址的解密函数*/
- function inner_DYDecrypt( $decryptstr ){
- $decryptstr = urldecode($decryptstr);
- $decryptstr = keyED(base64_decode($decryptstr),ENCRYPTKEY);
- $tmpstr = "";
- for ($i=0;$i<strlen($decryptstr);$i++){
- $md5 = substr($decryptstr,$i,1);
- $i++;
- $tmpstr.= (substr($decryptstr,$i,1) ^ $md5);
- }
- return $tmpstr;
- }
-
- /*演示*/
- $key = "rdid=5135"; //待加密的字符串
- echo "待加密的字符串:".$key."";
- $key = inner_DYEncrypt($key);
- echo "加密后的字符串:".$key."";
- echo "解密后的字符串:".inner_DYDecrypt($key);
-
- ?>
发完这个贴子的时候突然发现。我好久没有写博客了。倒不是不坚持,而是发现我实在没有什么东西好写了。一直吃老本,还能写什么?
先继续昨天的话题,昨天说到type xx struct的时候,如果使用map,需要注意的事项,就是最后的逗号不少能少,例如:
var m = map[string]Vertex{
"aa":Vertex{1,2,},
"bb":Vertex{3,4,},
}
其实还是有简化写法。当然这是基于m["aa"]的类型也是Vertex的情况:
var m = map[string]Vertex{
"Bell Labs": {40.68433, -74.39967},
"Google": {37.42202, -122.08408},
}
这个时候。看到没,-74后面的逗号可以省掉了。但最后的逗号还是省不掉。。。切记
-------
读取、修改、删除map很简单,就象PHP的数组一样。不过删除不太一样。。
读取:s = m["test"];
修改:m["test"] = 123;
删除:delete(m,"test");
判断key是否在map中。PHP是isset($m[$key]),而go是:
value,ret = m["test"],看上去是不是和读取很象?嗯,不过要看ret返回什么,如果是false,则value返回0,否则才是真正的m["test"]的值。。
需要注意一下
-------
对于go的数组,可以用len()函数来获取它的长度。
顺便说一下,go的内置函数很容易分别,内置函数首字符都是小写,否则,import包的话。首字符都是大写,如:fmt.Println之类的
如果熟悉python,则会发现go的数组读取和python很象。当然。。。有一点不象的是go的数组的key不允许是负数。否则会报错。。而python的负数则是从相反的方向读数据,因此python的数组反转很容易。。