那种喝了会发出满足的「啊——」声的清爽饮料

最拿手的港式冻柠茶,茶餐厅的那种,比起别的品种,港式的更清甜,茶味更重。简单易做,基本能做得和外面一样。

首先需要的工具材料有:

  1. 新鲜柠檬
  2. 红茶(我一般是用车仔,袋装的那种,因为便宜也不差,如果有更好的红茶可以自行试试)
  3. 单晶冰糖
  4. 耐热容器、细长铁勺
  5. 电子秤。(这是量化了的做法。以免每次做出来甜度都不太一样……)

做法:

用最简单的方式,在家做麻辣香锅

怎样在家里用最简单的方式做麻辣香锅?

我开过一段时间的麻辣香锅小馆(自己的配料,而非加盟,口碑很不错),还算有一些经验,下面拿出来分享一下。

先说调料:料油(楼上有说五香油的,一个东西)、猪油、葱油、藤椒油、红油(自己炼的)、郫县豆瓣、火锅底料、葱段、姜片、蒜瓣、麻椒、干红椒、灯笼椒、香芹、香菜、芝麻、香葱。

使用boost.filesystem检查文件是否存在的正确方式

在实际项目中,使用了boost.filesystem进行文件操作。boost.filesystem在发生错误的时候会抛出异常,但是在大部分情况下这些异常是可以忽略的,例如,在检查文件是否存在的时候,发生错误可以等同于文件不存在。虽然boost.filesystem也提供了重载函数,通过输出参数返回错误来代替异常,但是在每个调用点都得定义一个输出参数,稍显麻烦。所以,为了简化客户代码,我们实现了一些包装函数,如下所示:

位图文件大小的精准计算方法

8位(bit)位图

彩色版中有2^8=256种颜色,具体哪256种颜色可由调色板灵活规定,因此每个像素点最多有256种情况(颜色),故刚好可用两位十六进制码(16^2=256)表示,占1字节。

NextCloud升级下载地址被墙

nextcloud下载地址被墙后,国内服务器更新nextcloud时,网页更新时会卡在第5步,下载失败。

这时的解决方案是,手动下载nextcloud最新的的zip压缩包nextcloud_13.0.x.zip,将它上传到data/updater/downloads文件夹

为什么越是修新路反而更堵了

引言

布雷斯悖论来自于一个真实的现象:城市的某个繁华路段特别的堵塞,人们在其边上新修一条道路,期望舒缓整个交通网路的堵塞状况。

道路刚修好时特别令人兴奋,但很快,新修的道路也被严重堵塞了,而更令人困惑的是:原先堵塞的路网似乎并未从新修道路的分流中得到好处,也比之前更堵了。

IIS下HTTP跳转HTTPS方法

下载URL重写组件,IIS是带有URL重写功能组件的,但是并没有集成到IIS中去,要自行下载安装,安装成功后在网站配置页面就会出现URL重写组件。

Win2012下部署多个HTTPS网站

当一个https的请求到达IIS服务器时,https请求为加密状态,需要拿到相应的服务器证书解密请求。由于每个站点对应的证书不同,服务器需要通过请求中不同的主机头来判断需要用哪个证书解密,然而主机头作为请求的一部分也被加密。最终IIS只好使用第一个绑定到该IP:PORT的站点证书解密请求,从而有可能造成对于其他站点的请求失败而报错。

解决CEFSharp关闭时主程序退出的问题

昨天在写代码时,碰到了一个问题。

Form里面有一个TabControl,里面有多个TabPage,每个TabPage里面都放了一个CefSharp.WinForms.ChromiumWebBrowser用来展示网页。但是无论关闭任何一个Tabpage,主程序都会退出,并且在输出页面报 “程序[2508] XXX.vshost.exe 已退出,返回值为 -1073741819 (0xc0000005) ‘Access violation’。”

CefSharp屏蔽右键菜单

实现接口:

internal class MenuHandler : CefSharp.IContextMenuHandler
{
    public bool OnContextMenuCommand(CefSharp.IWebBrowser browserControl, CefSharp.IBrowser browser, CefSharp.IFrame frame, CefSharp.IContextMenuParams parameters, CefSharp.CefMenuCommand commandId, CefSharp.CefEventFlags eventFlags)
    {
        System.Console.WriteLine(@"OnContextMenuCommand");
        return false;
    }

    public void OnContextMenuDismissed(CefSharp.IWebBrowser browserControl, CefSharp.IBrowser browser, CefSharp.IFrame frame)
    {
        System.Console.WriteLine(@"OnContextMenuDismissed");
    }

    public bool RunContextMenu(CefSharp.IWebBrowser browserControl, CefSharp.IBrowser browser, CefSharp.IFrame frame, CefSharp.IContextMenuParams parameters, CefSharp.IMenuModel model, CefSharp.IRunContextMenuCallback callback)
    {
        System.Console.WriteLine(@"RunContextMenu");
        return false;
    }

    public void OnBeforeContextMenu(CefSharp.IWebBrowser browserControl, CefSharp.IBrowser browser, CefSharp.IFrame frame, CefSharp.IContextMenuParams parameters, CefSharp.IMenuModel model)
    {
        System.Console.WriteLine(@"OnBeforeContextMenu");
        model.Clear();
    }
}

调用: