- 博客(57)
- 资源 (4)
- 收藏
- 关注
原创 一文详解Rust中的字符串
很多人学习rust受到的第一个暴击就来自浓眉大眼、看似毫无难度的字符串。本文为您介绍Rust中的各种字符串以及为什么Rust要引入这么多字符串的类型。
2024-03-23 20:56:04 1279
原创 Rust中derive宏的作用及常用trait
在Rust代码经常可以看到在struct的上面,有一行这样的代码。dervice是Rust的内置宏,可以自动为struct或是enum实现某些的trait。在下面的代码中,Book struct 通过derive宏自动实现了Debug、Clone和PartialEq这三个trait。所谓自动实现,就是不用您自己写实现代码。本文会介绍在Rust中常见的几个trait。
2024-03-14 20:49:55 1439
原创 详解Rust的连贯性和孤儿规则
最近学习Rust时候看到两个术语:连贯性(Coherence)和孤儿规则(Orphan rules),书上解释的不是很清楚,又没有给出具体的代码示例,让人很难理解。我在网上搜了好久,最后又查了Rust语言规范,算是搞明白了这两个概念,在这里尝试解释一下,如果有理解不对的地方,请各位同学留言指正。当然,不明白也没问题,如果你违反了规则,编译器会报错的。如果孤儿规则检查失败或存在重叠的实现实例,则认为trait的实现是不连贯的。这一条是比较难理解的,如果理解了这一条,我们就理解了孤儿规则了。
2024-03-07 18:13:02 1306
原创 MySQL表中存Emoji报错Error 1366: Incorrect string value的解决方法
MySQL表保存Emoji字符,存入数据库时就会报错:Error 1366: Incorrect string value: '\xF0\x9F\x91\xBD\xF0\x9F...' for column ,本文给出了解决方法。
2016-01-19 23:48:40 10944 1
原创 为docker私有registry配置nginx反向代理
公司的docker私有registry已经搭建好了,用官方的registry image很容易就搭建好了。现在就是要用nginx的反向代理把它放出来,以便在外网可以访问。 我的上一篇blog 讲了如何配置nginx反向代理。所以本文主要是讲我在使用中遇到的问题及解决方法。
2016-01-05 12:14:51 6909 1
原创 Docker容器用戶映射
Docker image的製作者可能會指定一個默認用戶,這樣可能會導致無法向運行時掛載的卷內寫數據。本文提供了兩種方法來解決此問題。
2015-12-30 16:39:28 8289
原创 linux uid备忘
最近在運行Jenkins容器時出現了權限問題,其原因是我掛載的volume的owner uid與容器裏的jenkins uid不一致,導致無法向掛載的卷寫數據。我發現dockerfile裏指定jenkins的uid爲1000.爲什麼是1000?爲什麼不是其它值?我的host主機裏有uid爲1000的user嗎?我查看了/etc/passwd,還真有uid爲1000的用戶。看來uid爲1000的用戶是
2015-12-30 14:59:09 1239
原创 Rust语言Ownership,Reference和Lifetime详解
Rust语言Ownership,Reference和Lifetime详解Rust语言OwnershipReference和Lifetime详解OwnershipReferences and BorrowingLifetime1. Ownershiprust的ownership系统是它区别与其它语言的最主要的特征。只有理解了ownership系统,才能真正算是入门。Variable bindi
2015-06-12 14:22:44 5096 1
原创 vi常用命令及快捷键
【光标控制命令 】命令 光标移动h或^h 向左移一个字符j或^j或^n 向下移一行k或^p 向上移一行l或空格 向右移一个字符G 移到
2015-01-13 12:12:58 627
原创 禁用ubuntu overlay样式的滚动条
Ubuntu 12.04$ gsettings set com.canonical.desktop.interface scrollbar-mode normal
2014-07-03 11:09:22 1122
原创 ubuntu下禁用lenovo T420的touchpad
$ xinput list⎡ Virtual core pointer id=2 [master pointer (3)]⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]⎜ ↳ SynPS/2 Synaptics
2014-06-16 22:56:34 1195
转载 Mac系统下创建右键打开Shell的功能
在开发过程中经常会用到Shell(“命令行”、“终端” or “控制台”?),而我们可以用Mac中一个叫终端的App进入Shell。打开这个App后,默认进入用户的home目录,即“/Users/username”,而这往往不是我们想要的工作目录。因此我们需要敲好几次“cd”命令才可以进入我们的工作目录。这显得很麻烦,其实我们可以利用系统的“服务”来这文件夹的右键菜单中直接加入一个在所选目录打开S
2014-03-14 15:04:14 17389
原创 删除mac下右键“打开”菜单里由VMWare产生的菜单项
在安装了VMWare Fusion并创建一windows的虚拟机后, 你就可以用虚拟机的应用来打开mac本地的文件了,好像很酷的样子。 其实基本没什么用,现在mac下应用这么多,没什么非要用Windows下应用打开的了。 但是搞的右键菜单特别的长,尤其是你创建了多个Windows虚拟机的时候。我在VMWare Fusion里创建了一个Windows XP和Windows 2003的虚拟机
2014-01-24 10:53:40 7727 3
原创 KDE4下设置gtk style为oxygen
首先要安装gtk的oxygen主题。# apt-get install gtk2-engines-oxygen gtk3-engines-oxygen gtk-theme-switch网上说要用kde-config-gtk这个包,经测试不能正确设置gtk的style。请安装安装麦芽gtk-theme-switch这个包,安装后在终端里运行:gtk-theme-switch2,在下拉列表里
2014-01-10 11:08:19 2016
转载 Debian 6为cairo打LCD 补丁
默认情况 Debian 的 libcairo2 并没有打上 LCD 补丁,矢量字体(如文泉驿微米黑)会比较难看,当然可以直接用ubuntu 的 libcairo2,但很有可能会有一些软件依赖出错,而且也不建议使用不同发行版的 deb包,出于这方面的考虑,我们完全可以自己手动打补丁编译。1. 下载ubuntu的补丁:wget -c http://archive.ubuntu.com/ubun
2014-01-08 14:33:30 770
原创 Ubuntu 中文字体设置备忘
我在安装Ubuntu时选择了用English安装,装上后默认中文字体是AR PL UMing CN,看着中文怪怪的,我要把它改成文泉驿的宋体。看了网上的配置,大家都说要修改配置文件/etc/fonts/conf.d/69-language-selector-zh-cn.conf,我发现我的/etc/fonts/conf.d/下没有这个文件,/etc/fonts/conf.avail倒是有这个文件,
2014-01-08 13:22:35 1391
原创 My vimrc backup
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" _" __ | \" / | /" \__ | \" by Amix - http://amix.dk/"" Maintainer: Amir Salihefendic " Versi
2014-01-08 11:06:56 674
转载 使用SecureCRT上传和下载文件
SecureCR 下的文件传输协议有ASCII 、Xmodem 、Ymodem 、Zmodem。ASCII:这是最快的传输协议,但只能传送文本文件。Xmodem:这种传输协议速度较慢,但由于使用了CRC错误侦测方法,传输的准确率可高达99.6%。Ymodem:这是Xmodem的改良版,使用了1024位区段传送,速度比Xmodem要快。Zmodem:Zmodem采用了串流式(stre
2013-10-23 09:49:22 895
转载 yum用法
yum的相关操作(包含源的添加、YUM的配置文件、出错的解决及一些常用命令)(1)添加livna源操作步骤:步骤1:下载livna-release-7.rpm[root@localhost home]# wget http://rpm.livna.org/livna-release-7.rpm 步骤2:安装livna-release-7.rpm[root@localhost
2013-07-10 14:56:56 829
转载 读懂C语言中复杂的指针声明
C语言所有复杂的指针声明,都是由各种声明嵌套构成的。如何解读复杂指针声明呢?右左法则是一个既著名又常用的方法。不过,右左法则其实并不是C标准里面的内容,它是从C标准的声明规定中归纳出来的方法。C标准的声明规则,是用来解决如何创建声明的,而右左法则是用来解决如何辩识一个声明的,两者可以说是相反的。右左法则的英文原文是这样说的:The right-left rule: Start readin
2013-05-20 10:27:07 550
转载 linux grub 引导启动过程详解
机器加电启动后,BIOS开始检测系统参数,如内存的大小,日期和时间,磁盘设备以及这些磁盘设备用来引导的顺序,通常情况下,BIOS都是被配置成首先检查软驱或者光驱(或两者都检查),然后再尝试从硬盘引导。如果在这些可移动的设备中,没有找到可引导的介质,那么BIOS通常是转向第一块硬盘最初的几个扇区,寻找用于装载操作系统的指令。装载操作系统的这个程序就是boot loader.
2013-05-17 13:56:07 611
原创 apple 外接键盘的insert key
在vmware fushion里的gedit突然变成over模式了,怎么也找不到insert键,后来在网上搜了一下,在打开numlock(clear),然后里面的0键就是。
2013-05-16 10:10:17 1416
转载 Linux文件查找命令find,xargs详述
总结:zhy2111314来自:LinuxSir.Org整理:北南南北摘要: 本文是find 命令的详细说明,可贵的是针对参数举了很多的实例,大量的例证,让初学者更为容易理解;本文是zhyfly兄贴在论坛中;我对本文进行了再次整理,为方便大家阅读; 目录 版权声明前言:关于find命令一、find 命令格式 1
2013-04-26 11:09:03 455
转载 用GDB调试程序
使用GDB一般来说GDB主要调试的是C/C++的程序。要调试C/C++的程序,首先在编译时,我们必须要把调试信息加到可执行文件中。使用编译器(cc/gcc/g++)的 -g 参数可以做到这一点。如:$gcc -g -Wall hello.c -o hello$g++ -g -Wall hello.cpp -o hello如果没有-g,你将看不见程序的函数名、变量名,所代替的全是运行
2013-04-07 17:54:01 713
原创 IE中setTimeout和setInterval不支持回调函数参数的解决方法
IE中setTimeout和setInterval不支持回调函数参数,你可以在代码是加入下面的代码使它支持这个特性。/*\|*||*| IE-specific polyfill which enables the passage of arbitrary arguments to the|*| callback functions of javascript ti
2013-03-29 15:51:19 4703
转载 10 Specific Ways to Improve Your Productivity With Emacs
Emacs is the world's best text editor. It's not just the best for editing program source; it's the best for any kind of text-editing. Mastering Emacs will make you more effective at writing and edit
2013-01-07 14:19:16 1188
原创 eamcs 快捷键
M-! 执行shell命令直接在终端中运行emacs emacs -nwC-X 表示按住CTRL键, 然后按X, 再把CTRL, X一起放开.M-X 等于先按 ESC键, 接著按 X键.M-X 等于alt键.C-X或 M-X的X没有大小写分别.超过两个以上的按键命令, Emacs会在萤幕最下面一行显示你按过什么.这一行叫作mini buffer结束Emacs按 C-x C-c取消执行 C-gC-p
2013-01-05 11:38:34 570
原创 CentOS 5 安装 php53-mcrypt
今天要在CentOS 5.8上安装magento,发现php扩展php53-mcrypt无法安装,默认库里没有,网上找的rpm又装不了。后来在网上看到一篇文章,要使用testing repo。 cd /etc/yum.repos.d wget http://dev.centos.org/centos/5/CentOS-Testing.repo导入这个库的 gpg key。
2012-10-31 14:12:19 1427
转载 Phusion Passenger apache配置
Please edit your Apache configuration file, and add these lines: LoadModule passenger_module /opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/gems/1.8/gems/passenger-3.0.17/ext/apache2/mod_passenge
2012-09-21 15:56:57 1231
转载 Logitech M515 disable proximity sensor
M515鼠标内置近距离传感器,以防止意外激活鼠标。 在沙发上使用时避免意外点击或光标移动即便鼠标被沙发垫子卡住也不会有任何影响。 这个功能是鼠标内的近距离传感器的作用。 由于一些用户要求关闭M515近距离传感器,我们已经发布ProxiTools工具。 注意: 重要提示!此软件是直接更改鼠标固件,所以我们建议您只在必要时使用此软件。 请尽量减少鼠标固件状态的变化!
2012-09-20 09:15:29 1683
原创 Ubuntu 12.04设置标题栏按钮靠右
gconftool-2 --set /apps/metacity/general/button_layout --type string "menu:minimize,maximize,close"
2012-08-30 15:15:58 1043
转载 张小龙:如何把产品做简单
今天从一个小故事开始讲:为什么苹果的手机只有一个按钮? (台下:我觉得对于用户来说,只有一个按钮不会有太多的干扰,只要从这里开始,其它的菜单都在这里面了,这是我个人的一些想法。) 上次在分享的时候Martin(腾讯总裁刘炽平,编者注)也在,他认为是因为这一个按钮很容易坏掉,所以用户要不停去换新的手机。这也有一定的道理,因为我上个苹果手机的按钮就坏掉了,后来没有办法只好又换了
2012-08-01 11:24:02 9611
原创 Ubuntu下apache与tomcat整合
本文主要讲在ubuntu下如何整合apache2与tomcat,假设你已经安装了apache2和tomcat首先安装mod_jk,这个模块负责转发请求到tomcatsudo apt-get install libapache2-mod-jk安装完后,在/etc/apache2/mods-enabled下会多出一个jk.load文件,重启apache2后,apache自动
2012-07-26 18:12:38 5499
原创 debian包管理命令dpkg apt-get apt-cache aptitude
通常我们通过apt-get或aptitude安装了包以后,可能想知道包内的某些文件的安装路径,比如apache2的配置文件在哪儿啊,等等。今天我安装了 libpam-mysql,我想知道pam_mysql.so这个文件的位置,该怎么办呢?下面的命令可以帮助我们知道这个包安装了什么东西,位置在哪儿。安装前根据.deb看$ dpkg -c xxx.deb安装后根据包名来
2012-06-07 10:33:18 987
原创 ubuntu debian 安装fcitx
用fictx好多年了,以前它是ubuntu的默认输入法,现在变成ibus了,我用着很不习惯,所以升级到10.10后,还是要折腾一下它。很简单,首先要把ibus卸载了:$ sudo aptitude remove ibus安装fcitx和im-switch$ sudo aptitude install fcitx im-switch然后在~/.bashrc中加入下面的三行:exp
2012-06-07 10:23:42 838
原创 Debian 6 字体显示效果调整
在给cairo打了补丁之后,我发现debian的字体显示效果还是跟ubuntu有差别,于是我把ubuntu下/etc/fonts的所有文件都打包放在了debian的/etc/fonts下,这里面ubuntu对字体的渲染做了优化,我直接拿过来用了,:)。可是效果还是不一样,最后发现了问题所在。打开“Appearance”设置对话框,选中“Fonts"标签,点击"Details",Hintin
2012-06-06 22:25:55 1342
转载 Debian 6为cairo打LCD 补丁
默认情况 Debian 的 libcairo2 并没有打上 LCD 补丁,矢量字体(如文泉驿微米黑)会比较难看,当然可以直接用ubuntu 的 libcairo2,但很有可能会有一些软件依赖出错,而且也不建议使用不同发行版的 deb包,出于这方面的考虑,我们完全可以自己手动打补丁编译。1. 下载ubuntu的补丁:wget -c http://archive.ubuntu.com/ub
2012-06-06 18:05:26 648
Systems_Performance.epub
2016-11-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人