IceSandwich

IceSandwich

have a nice day.

html这个间距怎么来的
近来,写html网页的时候,发现一个问题:同一个网页Firefox和Chrome显示不一样。这。。。一般人都认为是引擎的问题吧,毕竟一个webkit,一个gecko,渲染肯定不一样。但是,细想后发现,其实不是引擎的问题哦。 这是中间搜索框的源码: 为了让大家看得清楚,我给里面的控件标上了颜色: 绿色的为那个input,蓝色和红色分别是class为photo和search的button。 从源码看到,各控件之间是没有东西的,但是为什么有白色的间隙呢?两浏览器显示不同的根本原因就是这个间隙的存在,并且每个浏览器定义的这个间隙宽度不一样(实测Chrome的比Firefox多1px,因此溢...
Docker安装MicrosoftSQLServer
由于课程需要,个人电脑需要装上Microsoft SQL Server 2012,但是呢,遇到Windows Update的问题无法安装,原因是我把Windows Update给禁用了,但是呢,又不想开启Windows Update,但是呢,MSSQL还是要用的嘛。所以呢,我想到在docker里面装MSSQL会怎么样,没想到还真的可以[1]😂。 拉取镜像 从docker hub官网[2]上找到MSSQL,欢天喜地,按照上面的提示拉取镜像。 值得注意的是,只有从2017版本开始MSSQL才有docker版,也就是说想装MSSQL2012是不可能的哈。这里我下载的是2017企业版,需要的...
Gtk自定义控件(二)GtkButton剖析
使用GTK的开发者都清楚,自定义一个控件有多难,但是理解后又觉得这是常规操作。为了清楚了解GObject的工作方式,我们从GtkButon这个简单的控件进行剖析。 从Inspector剖析 写一段简单的代码: 打开Gtk Inspector(按Control-Shift-I 或Control-Shift-D即可) 可以看到,GtkButton的子控件是GtkLabel和GtkGestureMultiPress,前者是用于文本显示,后者用于捕获鼠标动作。然后我们看一下信号槽: 可以看到GtkButton发出6个信号,连接9个信号(图中没显示) GtkGestureMultiPress...
Gtk自定义控件(一)GObject系统
GObject是Gtk里非常重要的概念,几乎所有的Gtk代码都涉及到GObject,那到底这是何方神圣以致它在Gtk里应用如此广泛? 对GObject的初次了解 总的来说,GObject做的事情是:在c里实现面向对象。 众所周知,c是面向过程语言,可是可以通过一些手段实现面向对象。 从面向对象了解 来看一下这段C++代码 12345678910111213141516171819202122232425262728#include <iostream>class CircleShape { constexpr static double PI = 3.1415...
vscode配置GTK开发环境
Windows系统的从第一步开始,非Windows系统(Linux、MacOS)从第2~4步即可。 在Windows配置Linux环境 MSYS2是在Windows模拟Linux环境的工具,可以用于软件包的管理。GTK官网建议使用MSYS2安装gtk+3.0开发库, 具体安装步骤网上都有,这里不再详细描述,这里假设你已经安装MSYS2并且在里面安装了gtk+3.0开发库。然鹅,多数命令只能在MSYS窗口输入并运行,为了让我们的cmd能够运行这些命令,需要将其添加到环境变量中。 添加的目录有(假设%MSYS2_ROOT%为你安装MSYS2的目录): %MSYS2_ROOT%\usr\b...
Docker使用注意事项
docker是一个开源的容器,通过它可以运行你的程序,而无需考虑环境的问题。 docker作用 关于docker的作用网上的争议还是挺多的,多数人认为没有必要。docker的主要作用是相当于一个虚拟机,运行着Linux系统,然后在里面运行镜像,但是这个镜像可以访问本机内容,也可以进行交互,端口访问等。这样解决了一个问题:Paas。 安装 windows 10家庭普通版因没有hyper-v无法使用docker for windows,可以使用docker toolbox代替,但是docker toolbox需要virtual box的支持。 打开virtual box可以看到docker...
排序(二)
上篇我们探讨了几种O(N2)(冒泡排序、选择排序、插入排序)和O(N1.25)(希尔排序)的排序算法,但是面对巨量的数据面前它们又是低效率的,因此,这节将探讨高等排序算法。 上篇    算法:排序(一)   计数排序/桶排序 ==Update 2020/07/14:此处计数排序/桶排序实现不具有实用性,具体请看最新的排序文章:线性时间排序== 计数排序/桶排序真的很简单,很暴力,很快速,很。。。占内存。~~ 允许我盗用一下别人的图来说明这个排序思想。图来自《啊哈!算法》 如上,将数据放入一个数组里,可以起到统计数字数量的作用(计数排序),也可以起到排序的作用(桶排序),其实这玩意我经常...
排序(一)
排序的算法有很多种,其中冒泡排序、选择排序、插入排序我喜欢把它们叫隔板排序(这名字我瞎想的别出去乱说啊),因为排序的时候会有明显的分界,一边是排序好的另一边是未排序的,就好像有个板将它们隔开一样。隔板排序的方法都很相似,需要两重循环,一个控制隔板,一个进行比较和交换功能。   前言 由于每次排序都需要一个main函数输入一堆数字,不方便重点关注算法本身,于是我写了一个头文件,之后的排序算法就使用这个模板了,并且无特殊说明,统一为从小到大排序。 头文件: SortUtils.hpp 123456789101112131415161718192021222324252627282930313...