gitlab 禁止用户删除自己

gitlab里面有个功能,可以让用户自己删除掉自己的账户

网上没有找到禁用这个功能的方法,于是开始苦苦研究源码,最后发现在

/opt/gitlab/embedded/service/gitlab-rails/app/policies/user_policy.rb

有这样的代码

rule { ~subject_ghost & (user_is_self | admin) }.policy do
  enable :destroy_user
  enable :update_user
end

只需要修改为

rule { ~subject_ghost & admin }.policy do
  enable :destroy_user
  enable :update_user
end

rule { ~subject_ghost & user_is_self }.policy do
  enable :update_user
end

就可以实现只有管理员能删除账号了。

然后重启服务

 sudo gitlab-ctl restart

效果图:

SourceTree macOS 跳过登录

在终端执行

defaults write com.torusknot.SourceTreeNotMAS EmailHash ""

然后运行可以发现登录的位置已经打了勾

到达登录界面直接将窗口关闭,然后点击跳过设置 或者 直接点击“转到我的Atlassian”

wxWidgets 动态编译 无法解析的外部符号

1>Example.obj : error LNK2001: 无法解析的外部符号 "public: static unsigned __int64 const wxString::npos" (?npos@wxString@@2_KB)
1>Example.obj : error LNK2001: 无法解析的外部符号 "void (__cdecl* wxTheAssertHandler)(class wxString const &,int,class wxString const &,class wxString const &,class wxString const &)" (?wxTheAssertHandler@@3P6AXAEBVwxString@@H000@ZEA)
1>Example.obj : error LNK2001: 无法解析的外部符号 "protected: static class wxAppConsole * wxAppConsoleBase::ms_appInstance" (?ms_appInstance@wxAppConsoleBase@@1PEAVwxAppConsole@@EA)
1>Example.obj : error LNK2001: 无法解析的外部符号 "class wxEventTypeTag<class wxCommandEvent> const wxEVT_MENU" (?wxEVT_MENU@@3V?$wxEventTypeTag@VwxCommandEvent@@@@B)
1>Example.obj : error LNK2001: 无法解析的外部符号 "char const * const wxFrameNameStr" (?wxFrameNameStr@@3QBDB)
1>Example.obj : error LNK2001: 无法解析的外部符号 "class wxMBConv * wxConvLibcPtr" (?wxConvLibcPtr@@3PEAVwxMBConv@@EA)
1>Example.obj : error LNK2001: 无法解析的外部符号 "char const * const wxLOG_COMPONENT" (?wxLOG_COMPONENT@@3PEBDEB)
1>Example.obj : error LNK2001: 无法解析的外部符号 "protected: static struct wxEventTable const wxFrame::sm_eventTable" (?sm_eventTable@wxFrame@@1UwxEventTable@@B)
1>Example.obj : error LNK2001: 无法解析的外部符号 "int const wxEVT_NULL" (?wxEVT_NULL@@3HB)
1>Example.obj : error LNK2001: 无法解析的外部符号 "protected: static class wxAppConsole * (__cdecl* wxAppConsoleBase::ms_appInitFn)(void)" (?ms_appInitFn@wxAppConsoleBase@@1P6APEAVwxAppConsole@@XZEA)
1>Example.obj : error LNK2001: 无法解析的外部符号 "class wxSize const wxDefaultSize" (?wxDefaultSize@@3VwxSize@@B)
1>Example.obj : error LNK2001: 无法解析的外部符号 "bool wxTrapInAssert" (?wxTrapInAssert@@3_NA)
1>Example.obj : error LNK2001: 无法解析的外部符号 "wchar_t const * const wxEmptyString" (?wxEmptyString@@3PEB_WEB)
1>Example.obj : error LNK2001: 无法解析的外部符号 "private: static bool wxLog::ms_doLog" (?ms_doLog@wxLog@@0_NA)
1>Example.obj : error LNK2001: 无法解析的外部符号 "char const * const wxStatusLineNameStr" (?wxStatusLineNameStr@@3QBDB)
1>Example.obj : error LNK2001: 无法解析的外部符号 "private: static unsigned long wxThread::ms_idMainThread" (?ms_idMainThread@wxThread@@0KA)
1>Example.obj : error LNK2001: 无法解析的外部符号 "private: static unsigned long wxLog::ms_logLevel" (?ms_logLevel@wxLog@@0KA)
1>Example.obj : error LNK2001: 无法解析的外部符号 "class wxPoint const wxDefaultPosition" (?wxDefaultPosition@@3VwxPoint@@B)
1>....\x64\Release\wxWidgets-Win32.exe : fatal error LNK1120: 18 个无法解析的外部命令

解决方案,在

#include <wx/wx.h>

之前加入:

#define __WXMSW__
#define WXUSINGDLL

via:https://stackoverflow.com/questions/5973571/vc-linking-error-with-wxwidgets-x64

iOS 固件解密/ipsw 文件提取

从iOS 11开始 ipsw 内的绝大多数文件已不再被加密。 可以直接使用压缩软件打开后解密。

(好久没弄iOS了,变化真的很大)

系统镜像里面的文件系统也已从HFS+更换到APFS