Grafana 二次开发指南(前端)
前端项目 启动流程 页面载入之后,引入的脚本是 boot.js,由 es2015 的 shim,systemjs,systemjs 的配置文件和 boot.js 组成
【译】通过 Webpack 实现 AngularJS 的延迟加载
原文链接:http://michalzalecki.com/lazy-load-angularjs-with-webpack/ 随着你的单页应用扩大,其下载时间也越来越长
The way to Angular 2 | Part.1
Angular 2 已经进入 beta 通道有一段时间了,也有不少人开始在各种情景中使用 Angular 2
The long way to Angular and TypeScript | Part.2
引言 在一年多之前,我写了一篇文章《The way to Angular 2 | Part.1》介绍 Angular,最初打算持续完成一个系列,然后在我写完文章之后,Angular 和 TypeScript 都发生了相当大的变化,整个系列也搁浅了
浏览器环境下 JavaScript 生成随机字符串的科学方法(字母数字)
随机数与随机字符串 早前我都使用Math.random()来生成随机数,然后转成16进制字符串来生成随机字符串,后来看到了这个回答(stackoverflow)
在 neovim 退出时,重设终端(iTerm2)光标
问题 出于个人习惯,我在终端模拟器(iTerm2 等)中,都是将光标(cursor)设置为 vertical bar,而在 neovim 中则是将 normal 模式的光标设置为 block
迁移评论系统到 hashover
鉴于 disqus 在国内访问越来越慢,资源和数据请求量越来越大,严重拖慢了页面加载,而且博客也只需要一个简单的评论对话系统,所以开始考虑进行评论系统的迁移
当我试图 extends 一个被 connect 装饰过的 React Component 时
问题 起因是这样的,一开始在项目中写了一个原始的 Popup 组件(通过 react-redux 的 connect 方法接入 redux),后来有了一个更高级的需求,我就想要直接 extends 这个原始的 Popup 组件,然后覆写一些方法
从零开始的 Web 前端性能优化 – 规则
build delightful, modern, responsive web experiences. — Google Web Fundamentals 引言 前端的性能指标在通常情况下是一个很难量化的指标,面向的用户群体和环境复杂,在现有条件下,网页的绝对性能仍然取决于用户的网络连接
Unicode 200B (zero width space) 在 Web 环境的问题
最近处理一些用户录入数据时,发现有一些明明是纯数字的数据,却通过不了类型校验(无法解析成 Int/BigInt)类型,由于一直都是通过日志查看错误,觉得很疑惑,后来找到原始数据,发现因为这个『字符串』带了一个 zero width space,导致程序异常
饮料评测:伊藤园浓味绿茶(无糖)
最后评测于:2025年3月14日
饮料评测:麒麟直火一日黑咖啡 600ml
最后评测于:2025年3月5日
饮料评测:伊右卫门绿茶 500ml
最后评测于:2025年3月3日
饮料评测:Laimon 莱檬柠檬汽水 500ml
最后评测于:2025年6月6日
5月(新疆)北疆行
“趁着年轻,和最爱的人一起去最美的新疆
动物园半日游
公司提前开始春节假期,难得工作日有时间外出,因此全家一起去了动物园
年初整理浏览器书签
趁着新年到来,对浏览器(Google Chrome)中的书签做了一次整理
饮料评测:统一春拂绿茶
最后评测于:2025年4月2日
分享自制的Miniflux V2自定义CSS主题
Miniflux 默认的样式文字和按钮较小,不易阅读使用,因此根据我自己的需求,结合别人的代码,写了一个自定义的 CSS 主题,分享给大家
饮料评测:Suntory 三得利乌龙茶(无糖)
最后评测于 2025年2月18日
cgit 中 repo 的 idle 时间问题
idle 是 cgit 中用来展示 repo 上一次更新的距今时间的
饮料评测:UCC 职人咖啡无糖黑标 900ml
最后评测于 2025年2月13日
饮料评测:GEORGIA 乔尼亚 THE BLACK 咖啡 500ml
最后评测于 2025年2月12日
饮料评测:SANGARIA 三佳利皇冠黑咖啡
最后评测于 2025年2月12日
RSS-it:用Bun开发一个RSS生成工具(一)
我使用的一些特殊性质的网站不提供任何更新订阅功能,从他们的网页内容中生成 RSS 应该是比较好的解决方案
宜兴一日游
新年在家缺乏运动,因此去宜兴玩了一天
2025年回顾:我的生活有哪些变化
年纪越大,时间过得越快,2025年已经走到了最后一天,照例进行年终回顾
2021年我学到了什么
团队运营和人际关系管理 本来我想说是团队管理,但是后来想想这个话题太尖锐了,还是改成团队运营和人际关系管理好
2021年阅读过的书籍推荐
书是人类进步的阶梯
2021年我买了哪些东西
又到了年终总结的时候,我习惯于在春节期间来撰写一年的总结,毕竟对于我来说,这才是一年真正的结束
AngularJS $resource 服务对 http 请求 response 的自动处理引发的一些问题
默认情况下,$resource 服务会对它进行的 http 请求的 response 默认进行一些处理,它会尝试 map 返回值
Google + 风格下拉选择器(pure-javascript)
Source code on Github: https://github.com/gucheen/GPDP CODE: Google plus like dropdown selector
React Native 的包系统
介绍 在 React-Native 中,实现了一个类似于 webpack 的包系统,命令行工具提供了一个 bundle 的功能,用来打包整个项目的文件
angular 1.4.x 以后的 groupBy(angular-filter)的排序问题
问题: angular 1.4.x 版本开始,<div ng-repeat="(key, value) in myObj"> ... </div> 的方法移除了按照首字母排序的规则,改为使用浏览器默认的方法,也就是for key in myObj
阻止在页面元素内滚动时触发页面滚动
一般来说,当我们在页面内部一个可滚动元素上使用滚动时,如果滚动距离超过它的顶部或者底部,就会触发页面滚动,但是在一些情况下,我们不希望引起页面滚动,因为这会影响用户操作
常用CSS缩写语法总结
使用缩写可以帮助减少你CSS文件的大小,更加容易阅读
把 Android 装到电脑上
好吧,话不多说,直接上图,基本功能都有,可以上网,版本是2.2.1 其他暂未测试~ 开机画面~ 滑动解锁
终于开通了自己的blog~
忙乎了两天,终于把自己的blog搞定了
关于Wordpress不能自动更新的解决方法
Wordpress应该是比较热门的一个博客和个人网站程序,但是有时候它会发生不能自动更新的问题,还是比较让人纠结的 下边介绍一个解决这个问题的手动升级Wordpress的方法 1、下载好新版版本的Wordpress程序,删掉里边的wp-content 文件夹(及其子目录),因为wp-config.php 文件默认名问wp-config-sample.php ,所以不用管它 2、备份你原本的数据和数据库!(重要!),停用所有运行的插件 3、首先进入你的服务器Wordpress程序的根目录,将除了 wp-content 文件夹(及其子目录)和 wp-config.php 文件以外的所有东西删掉 4、将你准本好的新版本Wordpress程序上传至服务器Wordpress程序根目录中原本的对应位置,覆盖原文件(如果有的话,一般是没有的) 注:本步骤如果你的服务器支持在线解压缩,建议将Wordpress压缩包上传至服务器再进行解压,不然用FTP上传这么多文件你会很纠结的
关于Au中去电流噪声的一个小技巧
不知道有多少人会用Adobe Audition录制音频,应该不多,录视频的估计很多,不管怎样,也是介绍一个Au中去除录音电流噪声的方法(同时对去环境噪音也有一定用处),这是比较简便的一个,而且效果不错,对于一般人来说够了 首先打开Au,好吧,这个界面有点乱,我们随意新建一个录音吧 接着我们来制作噪音样本,点下录音按钮不要说话,过一段时间后点击结束 我们就得到了这样一个电流噪音样本 我们选中这段噪音样本,对的,就是振幅大的这一段,一部分就行,右击选择修剪 这样我们就得到了完整的噪音样本
嵊泗 2 日游
去嵊泗旅游的主要原因是想看海
第 25 届亚洲宠物展
2023年,很多大型活动得以恢复,喜欢宠物的人期待的亚洲宠物展也恢复了,是我在炎热的夏季中最期待的一个展会
umijs 架构下在 root 节点外加载外部 qiankun 微应用
通常来说,要在 umijs 中加载一个外部 qiankun 微应用,只需要在 .umirc 中配置好对应的 app,然后使用 umi 内置的 MicroApp 加载微应用即可
将 pinboard 的 JSON 数据转换成标准的 netscape 书签数据
我的书签都是存放在 espial 应用上,他的导出功能只能导出兼容 pinboard 的 JSON 数据,但是大部分书签应用支持的都是标准的 netscape 书签数据,就是常见的 .html 类型的书签数据
React 在 useEffect 时会捕获所有 state 的状态
在接触到 useEffect 的依赖时,很容易产生一个误解,就是 state 必须在依赖中,才能获取到正确的值,但这实际是是错误的理解
umi中使用 sass 的相关问题
umi 中默认的 CSS 预处理器是 less,less 比 sass 有太多优势,至少完全由 JS 实现就领先了很多
在 Docker 镜像构建阶段设置用户来避免文件权限问题
在我的所有个人应用都使用 Docker 来构建及部署之后,我的服务器管理确实方便了不少,不过也遇到了一个问题,就是文件权限的管理
扬州 3 日游
烟花三月下扬州
2023-12-17
五线小县城平淡而悠闲的一天
扁平化输出含有嵌套的数组-javascript
Given an array that may contain nested arrays, return a flattened array. Input and out put are illustrated as follows. 将含有嵌套的数组转换成扁平化输出
Windows 8 下 apploc 的安装
Windows 8 下由于权限问题,直接双击安装 apploc.msi 会失败
jQuery 补漏
版本变动主要影响,从1.4.0开始,.css(), .attr(), .val(), .html(),.text(), .append(), .prepend(), .before(), .after(), .replaceWith(), .wrap(), .wrapInner(), .offset(),.addClass(), .removeClass(), .toggleClass()接受function作为参数值
Google Closure 学习笔记-1
基础结构 Closure的库结构和文件夹结构相对应,因此需要查找某个命名空间对应的文件时,可以按照库结构来查找
【译】AngularJS的一些陷阱
这是对我和 Valerii 在 MoscowJS 2013 上的演讲的一个小的补充
V965W 7.8离线更新包(8773-8858)
V965W的7.8离线更新包,包含8873-8858的更新
【译】利用Emmet来提高你的CSS编码速度
大多数关于Emmet的文章和教程都是在说明它对HTML的处理能力,但是今天我们要来关注一下Emmet的CSS部分
Ubuntu 安装 Chrome-Beta 提示缺少 libxss1
今天在 Ubuntu上安装chrome beta,提示缺少libxss1,从软件中心和apt-get安装相应libxss1之后,都无法解决这个问题,上网搜索之后,通过这个包解决了问题
Shadowsocks + cow 代理方案
首先搭建Shadowsocks,参见官方使用指南: 官方使用指南(英文) / 官方使用指南(中文) 这里选择了SS的python版本,事实上,cow本身提供了代理方案,但是Shadowsocks的操作空间更大
imagecss翻译完毕
中文版链接:https://blinktunnel.github.io/imagecss-chinese/ 在两个月时间里,断断续续地翻译了这个网站,去年的时候已经有这个打算,最初只是想给孩子们留一点可以参考的东西,执行力比较差,所以拖延了这么长的时间
Noppoo Choc 系列键盘Mac下键位修复
Noppoo家产的机械键盘,因为其低廉的价格和不错的性能受到不少像我这样没有太多钱烧键盘的人的喜爱
在 WSL2 中使用 Bitwarden SSH Agent
Bitwarden 桌面客户端可以充当 SSH Agent,让 SSH 私钥保存在 Bitwarden 保险库中,而不是直接存放在 ~/.ssh 目录
使用 tinyfeed 来做 RSS 内容聚合
过去几年中我一直使用 miniflux 配合一些第三方 web ui 和 RSS 阅读工具作为自己的 RSS 订阅方案,现在我切换到了 tinyfeed
国行三星 S10 登录 Google 账号卡在“请稍候”的解决方法
最近折腾一台国行三星 SM-G9730(Galaxy S10),系统为官方最新版本
guchengf.me stride towards Docker
是的,guchengf.me 所有线上服务已经大步迈向 Docker ! 在即将进行下一次个人服务器搬迁的时候,我终于决定将现在服务器上所有的东西迁移到 Docker 内
ubuntu安装本地php+mysql+apache测试环境
1.安装apache
使用 nodemon 或者 Supervisor 监控 Express 4.x 代码改动进行开发
Update on 2015 现在 nodemon 已经可以直接支持 Express 4.x 的启动,不在需要进行特殊配置 Update on 2014.04.25: 现在我使用 nodemon 来代替 supervisor 来进行监控任务
【译】从 Express 3.x 迁移到 4.x
Express 3.x 到 4.0 的迁移指南
【译】Express.js 4.x 新功能
更多的例子和完整的API文档,请参见Express 4.x 的文档
express.js 中上传文件的几个注意点
设置: app.use(express.methodOverride()); app.use(express.bodyParser({uploadDir: "public/images",keepExtensions: true})); bodyParser设置项一定要紧跟在 methodOverride后面,同时 uploadDir参数的目录需要手动创建
在 Chrome Extension 中使用 Google Closure
要在 Chrome Extension 中使用 Closure library, 需要将 Closure library 按照需求打包
Typecho 转 Jekyll markdown 工具
最近想把博客转到 jekyll ,原本的程序是 typecho 的,手动迁移有些麻烦(虽然 typecho 0.9 已经是默认 markdown 写作的了)
Google Closure – goog.require()
在使用 Google Closure Library 时,要注意一点
ubuntu 中文本地化之后的中文字体优化
ubuntu 中文本地化之后,默认安装了两个字体 arphic-ukai 和 arphic-uming,导致默认中文字体非常难看,没有很好的渲染,卸载这两个字体就可以改善中文字体效果
百度 pcs api 使用小记
利用Implicit Grant授权的模式,在授权认证之后直接从回调链接URL获取access_token,优点是方便,不需要后端,缺点是不能刷新access_token,每一个月需要重新授权一次
一种jQuery实现区域外点击事件的方法
在写弹出菜单插件时,需要实现点击弹出菜单以外的区域时关闭菜单的功能
jQuery 弹出菜单插件 – jQuery.popmenu
因为自己要用,所以写了一个弹出菜单插件 jQueryPopMenu simple responsive popup menu, it’s a jQuery plugin. Demo http://gucheen.github.io/jQueryPopMenu/ Link https://github.com/gucheen/jQueryPopMenu Intro 这是一个基于 jQuery 的弹出菜单插件
Ubuntu A卡开源驱动电源管理
Ubuntu下,A卡的开源驱动有一些自带的电源管理功能,对于笔记本用户来说尤其重要,无论是风扇降噪,还是降温,都有不错的效果,下面是使用方法: sudo -i #进入root模式 echo dynpm > /sys/class/drm/card0/device/power_method ## 基于GPU负载的动态调整 echo profile > /sys/class/drm/card0/device/power_method ## 基于Profile(配置文件)的频率切换;这是默认的模式 如果你选择了Profile模式的话,可以有几个不同的配置文件进行切换 echo default > /sys/class/drm/card0/device/power_profile # 默认的模式 echo low > /sys/class/drm/card0/device/power_profile ## 强制使用最低的可用频率; ## 在一些笔记本和显示设备上可能会有一定问题, 因为这是关闭dpms时使用的模式 echo mid > /sys/class/drm/card0/device/power_profile ## 强制GPU使用'mid'的电源状态;在常规情况下,要比'low'更安全 echo high > /sys/class/drm/card0/device/power_profile ## 强制使用最高可用频率 echo auto > /sys/class/drm/card-0/device/power_profile ## 在 'high'和'mid'之前切换,根据系统是否使用电池供电
tmux 滚动功能设置
使用tmux之后,原本的鼠标滚动查看历史记录就变成了切换历史命令,不是很习惯
中国地区常用浏览器 UA
360 极速浏览器 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36 QIHU 360EE" 猎豹安全浏览器 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.137 Safari/537.36 LBBROWSER" 搜狗浏览器 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36 SE 2.X MetaSr 1.0" QQ 浏览器 "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; QQBrowser/8.0.1374.400)" 百度浏览器 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 BIDUBrowser/6.x Safari/537.36" 360 安全浏览器 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36" 傲游浏览器 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.2.2000 Chrome/30.0.1599.101 Safari/537.36" UC 浏览器PC版 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 UBrowser/3.1.1644.29 Safari/537.36"
在 VMware 的客户机内使用鼠标的前进/后退等功能键
在 VMware 的客户机内使用鼠标的前进/后退等功能键 在 VMware 的虚拟磁盘文件夹内,找到 .vmx 配置文件,在其中加入下面这句配置: mouse.vusb.enable = "TRUE" 就可以在客户机内正常使用鼠标的前进、后退等功能键了
Google Closure htmlToDocumentFragment 无法正确渲染’tr’标签
首先看一下 goog.dom.htmlToDocumentFragment 的实现代码: goog.dom.htmlToDocumentFragment_ = function(doc, htmlString) { var tempDiv = doc.createElement('div'); if (goog.dom.BrowserFeature.INNER_HTML_NEEDS_SCOPED_ELEMENT) { tempDiv.innerHTML = ' ' + htmlString; tempDiv.removeChild(tempDiv.firstChild); } else { tempDiv.innerHTML = htmlString; } if (tempDiv.childNodes.length == 1) { return /** @type {!Node} */ (tempDiv.removeChild(tempDiv.firstChild)); } else { var fragment = doc.createDocumentFragment(); while (tempDiv.firstChild) { fragment.appendChild(tempDiv.firstChild); } return fragment; } }; 这个方法利用一个临时 Div 容器来生成 Dom 片段,因为<tr>标签本身不能在<div>标签内使用,所以这个函数不能返回单独地<tr>标签
TypeScript 中的 Unknown 类型
TypeScript 3.0 中新增了一种 unknown 类型
Webpack 下页面的 2x 图片解决方案
随着现在高分辨率显示器(2K,4K)的普及,以及移动设备上屏幕的ppi的提高,网页上提供高分辨率的图片显得越来越重要
Angular 中用 Subject 来做异步逻辑
举一个例子,在 electron 的 renderer 中,使用 ipcRenderer 来做通信,为了效率起见,一般使用异步的 send 方法. 这种情况下,如果是应答式的通信,main 进程发回的通信是不方便在同一个逻辑中完成的(当然也可以在这里listen channel,但是实现起来很奇怪,并且逻辑也不清晰),因此一般都是统一管理
kitty 终端模拟器常见问题
Mac 下 terminfo 的问题(无法正确识别终端) 报错如: terminals database is inaccessible修复方法: tic /path/to/kitty/terminfo/kitty.terminfo 这样就自动生成了 terminfo,位于 ~/.terminfo 下 SSH 无法使用 tmux 报错如: open terminal failed: missing or unsuitable terminal: xterm-kitty修复方法 kitty +kitten ssh myserver 通过这种方式连接一次,SSH 就保存了 kitty 的信息,之后 ssh 就可以正常使用 tmux 了
The Long Way To Angular - Tabs 组件设计与开发
The Long Way To Angular(下文以 TLWTA代指)系列停更很久,现在考虑继续
Debian 系统安装 Web CSS 可用字体的正确方法
方法一: 如果你的字体在 debian 的软件源中直接有维护,比如 Noto Sans CJK,那就可以直接使用 apt 安装: apt install fonts-noto-cjk方法二: 如果需要手动安装,可以将字体放置到 /usr/local/share/fonts,然后执行 fc-cache -fv(可能需要sudo)
Angular LazyLoad Module 常见问题
1. BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead. BrowserModule 在整个 Angular 应用中只需要引入一次,通常在 app.module.ts 中引入一次就好了,并且如果引入了 BrowserAnimationsModule 或者 NoopAnimationsModule 就不需要再引入 BrowserModule 了,前两个已经内部引用了
i18n-render
https://github.com/gucheen/i18n-render tiny i18n solution for tiny projects. Design The i18n-render's structure is key -> translation dictionary. While the translation dict is locale -> text. In short, i18n-render take a key to get the translation dict, then get translated text with locale. Source Configuration const source = { example1: { en: 'I can eat glass and it doesn\'t hurt me.', fr: 'Je peux manger du verre, ça ne me fait pas mal.', de: 'Ich kann Glas essen, ohne mir zu schaden.', 'zh-CN': '我能吞下玻璃而不伤身体
Mustang taillight spinner
Travis 中使用 Node.js child_process.spawn 时的一个文件权限问题
最近开发一个 Node 的命令行程序,其中会用到 child_process.spawn 来创建子进程做一些事情
Ubuntu 下 Firefox 无法正常播放 mp3(mpeg)音频的问题
最近在由于某个开发的移动平台的工作环境变成了 Firefox,在一次重新安装了 Ubuntu 系统之后,mp3 无法正常播放,提示错误大致如下 Warning: Cannot play media. No decoders for requested formats: audio/mpeg 不管是通过是 <audio src></audio> 还是 new Audio() 的方式,都报出这个错误,最后总结出来三条解决方法: 安装 ubuntu-restricted-extras sudo apt-get install ubuntu-restricted-extras 安装 gnash sudo apt-get install gnash (一个 gnu 做的 flash 播放器,其中包含了浏览器插件) 这条比较容易忽略,虽然我也不明白为什么 Firefox 调用解码器还和 flash 有关
Electron 实录
1. Tray(托盘图片)消失 假如你把 tray 的实例变量定义在了函数内部(比如 app.on('ready', createWindow) 的回调函数内),那么当 JavaScript 引擎进行垃圾回收的时候,这个变量就会被销毁,这样 tray 的实例就没了,托盘图标就消失了
SensibleSideButtons - MAC OS 下鼠标侧键功能完美解决方案
一直以来,MAC 下鼠标的功能按键(比如侧键)都不能正常工作,罗技自己的驱动对鼠标型号的支持都非常有限,比如我手中的 G500s 和 G502 就不能正常支持,尝试过很多方案,都不能完美解决,最近发现了 SensibleSideButtons 这个应用,完美的解决了这个问题
Electron 的 Notification 在 Windows 系统下无法正常使用的问题
Electron 需要设置程序 appId 之后,才能正常在 Windows 下使用 Notification 功能 // windows 下需要设置这一项才能正常使用 Notification if (process.platform === 'win32') { if (app.isPackaged) { app.setAppUserModelId('My.App.Id') } else { app.setAppUserModelId(process.execPath) } } 开发环境下,可以直接设置为程序的 exe 文件路径(实际上就是当前 electron.exe 的路径)
2020年我学到了什么
记账 记账确实是一件令人头疼的事情,枯燥的重复性记录工作很容易就让人放弃了
2020年我买了哪些东西
其实我很少写年终总结,不过2020年确实特别的一年,值得记录
在JS中用更现代化和优雅的方式进行金额的格式化
今天介绍一种我已经使用了很长时间的,针对现代浏览器的金额文本格式化方法
arm64 的 Mac 上面使用 fnm 的问题
注:文中 mac arm64、apple silicon、m1 皆指代采用 Apple 自研芯片的 mac
新一年代的思考
首先向大家介绍一位我非常喜欢的 Web 前端工作者,hail2u,没错,一位日本友人
对 rollup-plugin-css-only 生成的 CSS 文件添加 hash 信息
rollup-plugin-css-only 目前还没有支持对生成的文件名添加基于文件内容的 hash 值,而这个操作在 Web 前端中又非常的常见和必要
2024年我买了哪些物品
除了传统的年终总结,购物清单分享也是必不可少的
2024年年终总结
为了避免年终总结再度拖延,今年提前开始作年终总结
2024年11月23日天平山赏枫
深秋是赏枫的季节,得知苏州天平山是赏枫的好地方,并且最近也一直看到相关的宣传介绍,就在周末前往一探
2024年8月19日满月
第一次用相机长焦拍摄满月,满足感很强 但愿人长久,千里共婵娟
近期菜谱回顾
盘点一下最近做过的比较有特色的菜
2024年11月第三周鸟类摄影记录
本周去江边拍摄了一些鸟类照片,分享一下
2024 元旦
2024 到来了,时间过得飞快,转眼已经毕业十年了
Windows 上 Electron 无法获取下载目录
使用 Electron 开发桌面应用的时候,通常我们会使用 app.getPath() 来获取一些常见的文件夹路径,比如下载目录
Putty 的 ppk 文件转成 Xshell 使用的 key 文件
从putty转到了xshell,所以ppk文件没有办法直接使用,需要转换一下
ConEmu、Mactype 冲突导致无法使用系统命令
64位系统下,字体渲染工具Mactype可能会与ConEmu发生冲突,导致ConEmu无法正常使用Cmd命令
我的 Fedora 上手日记-3 [yum 指令详解]
一. yum是什么 yum = Yellow dog Updater, Modified 主要功能是更方便的添加/删除/更新RPM包. 它能自动解决包的倚赖性问题. 它能便于管理大量系统的更新问题 注:为什么要使用yum而不用apt,最简单的原因,Fedora自带 二. yum特点 可以同时配置多个资源库(Repository) 简洁的配置文件(/etc/yum.conf) 自动解决增加或删除rpm包时遇到的倚赖性问题 使用方便 保持与RPM数据库的一致性 三. yum安装 Fedora自带 #rpm -ivh yum-2.0.4-2.noarch.rpm 四. yum配置 注: 修改和增加配置文件中的资源库,加快下载速度和拥有更多可更新的rpm包 将/etc/yum.conf的内容全部替换为 [main] cachedir=/var/cache/yum debuglevel=2 logfile=/var/log/yum.log pkgpolicy=newest distroverpkg=fedora-release tolerant=1 exactarch=1 [fedora-us-1] name=Fedora Core 1 -- Fedora US mirror baseurl=ftp://mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/os [fedora-us-1-updates] name=Fedora Core 1 updates -- Fedora US mirror baseurl=ftp://mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/updates [fedora-us-1-stable] name=Fedora Linux (stable) for Fedora Core 1 -- Fedora US mirror baseurl=ftp://mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/stable [freshrpms] name=Fedora Linux $releasever - $basearch - freshrpms baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms五. yum应用 注:当第一次使用yum或yum资源库有更新时,yum会自动下载所有所需的headers放置于/var/cache/yum目录下,所需时间可能较长. 检查有哪些可更新的rpm包 #yum check-update 安装rpm包,使xmms可以播放mp3 #yum install xmms-mp3 安装mplayer,同时自动安装相关的软件 #yum install mplayer 删除licq包,同时删除与该包有倚赖性的包 #yum remove licq 注:同时会提示删除licq-gnome,licq-qt,licq-text,非常方便 系统更新(更新所有可以升级的rpm包,包括kernel) #yum -y update 每天定期执行系统更新 #chkconfig yum on #service yum start 六. yum指令详解 rpm包的更新 检查可更新的rpm包 #yum check-update更新所有的rpm包 #yum update 更新指定的rpm包,如更新kernel和kernel source #yum update kernel kernel-source 大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级 #yum upgrade rpm包的安装和删除 安装rpm包,如xmms-mp3 #yum install xmms-mp3 删除rpm包,包括与该包有倚赖性的包 #yum remove licq 注:同时会提示删除licq-gnome,licq-qt,licq-text yum暂存(/var/cache/yum/)的相关参数 清除暂存中rpm包文件 #yum clean packages 清除暂存中rpm头文件 #yum clean headers 清除暂存中旧的rpm头文件 #yum clean oldheaders 清除暂存中旧的rpm头文件和包文件 #yum clean 或 #yum clean all 注:相当于yum clean packages+ yum clean oldheaders rpm包列表 列出资源库中所有可以安装或更新的rpm包 #yum list 列出资源库中特定的可以安装或更新以及已经安装的rpm包 #yum list mozilla #yum list mozilla*注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包 列出资源库中所有可以更新的rpm包 #yum list updates 列出已经安装的所有的rpm包 #yum list installed 列出已经安装的但是不包含在资源库中的rpm包 #yum list extras 注:通过其它网站下载安装的rpm包 rpm包信息显示(info参数同list) 列出资源库中所有可以安装或更新的rpm包的信息 #yum info 列出资源库中特定的可以安装或更新以及已经安装的rpm包的信息 #yum info mozilla``#yum info mozilla* 注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包的信息 列出资源库中所有可以更新的rpm包的信息 #yum info updates 列出已经安装的所有的rpm包的信息 #yum info installed 列出已经安装的但是不包含在资源库中的rpm包的信息 #yum info extras 注:通过其它网站下载安装的rpm包的信息 搜索rpm包 搜索匹配特定字符的rpm包 #yum search mozilla 注:在rpm包名,包描述等中搜索 搜索有包含特定文件名的rpm包 #yum provides realplay 七. 安全的更新freshrpms.net的rpm包 安装freshrpms.net的GPG key #rpm --import http://freshrpms.net/packages/RPM-GPG-KEY.txt 编辑/etc/yum.conf,增加以下信息到尾部 [freshrpms] name=Fedora Linux $releasever - $basearch - freshrpms baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms gpgcheck=1 注: 检查GPG Key # rpm -qa gpg-pubkey* 显示Key信息 #rpm -qi gpg-pubkey-e42d547b-3960bdf1 删除Key #rpm -e gpg-pubkey-e42d547b-3960bdf1 最后附上我找到的一份不错的yum教程,虽然比较老,但是基本都是一样的
我的 Fedora 上手日记-2 [笔记本不能调节亮度]
用上Fedora之后,真正开始折腾已经是晚上了,关了灯之后,觉得屏幕太亮了,于是想到要调下亮度,便还是用笔记本自带快捷键调节,发现会出现底部的亮度栏,但是不能进行调节,于是到系统设置里边进行更改,发现调节亮度调没有作用,上网搜了很多之后,找到一条可以用的 用yum重装bash : yum reinstall bash 注:此方法使用后还是不能解决不能保存屏幕亮度的问题,即重新启动之后还是最亮的状态
我的 Fedora 上手日记-1[系统安装]
Update —— 现在推荐使用 UNetbootin 来制作U盘安装盘,之后在系统中选择U盘启动,正常安装即可
Windows phone 7.5 下截屏临时解决方案 [需解锁]
目前Windows phone 7.5下还没有系统截屏方法,从8的情况来看,7.8的系统应该会有截屏功能,但是目前还没有推送
Ubuntu解决不能调节亮度【方案一】
注:随着近几次更新,Ubuntu的兼容性提升了很多,这个问题应该比较少出现了
Win7-A卡用户游戏画面拉伸问题的解决方案
update:新版本的amd催化剂的控制中心界面有所调整,但是调整方法是一样的
Mactype 渲染火狐时地址栏字体被压缩的解决方法
现在越来越多人喜欢用Mactype来渲染字体,效果很好,改善了Win下的字体显示效果,如果调整好设置的话,可以和Mac OS相媲美
“断网法”更新中兴(ZTE)V965W Tania 系统(含7.8)
Windows Phone 7.8 终于开始推送更新了,对于不能更新到8的老机器也算是一点点补偿
让 Chrome 默认使用 Google.com 进行搜索
Chrome的默认Google搜索会根据你的位置进行选择,于是会使用Google.com.hk
Windows 8 无法安装和升级.net framework 3.5 (0x800F0906)
安装SQL Server 2008时候需要.net 3.5环境,安装一直不成功,出现错误(0x800F0906) 网上搜了个办法,能解决这个问题 打开 win8 安装盘,提取 sourcessxs 文件夹到 x:\sourcessxs (x为任意盘); 打开 c:\windows\system32 文件夹,找到 cmd.exe,右击,选择"Run as administrator"(管理员模式);(或者直接按下 win+x ,选择命令提示符(管理员模式)) 在命令行执行以下命令: Dism.exe /online /enable-feature /featurename:NetFX3 /*All* /Source:E:\sources\sxs /LimitAccess
我的 Fedora 上手日记-5【VirtualBox安装相关】
首先,从 virtualbox.org 上下载最新的RPM包,安装 安装必要的编译器(以下请在管理员权限下操作) yum install -y kernel-headers kernel-devel dkms gcc 打开VirtualBox 服务 /etc/init.d/vboxdrv setup 此处可能会报错,错误情况如下: Trying to register the VirtualBox kernel modules using DKMSError! Bad return status for module build on kernel: 3.5.3-1.fc17.x86_64 (x86_64) Consult /var/lib/dkms/vboxhost/4.1.20/build/make.log for more information.[FAILED] (Failed, trying without DKMS) Recompiling VirtualBox kernel modules [FAILED](Look at /var/log/vbox-install.log to find out what went wrong) 出现这个问题,请检查编译器是否正确安装,尤其是DKMS 将当前用户添加入 vboxusers 组中(请先退出SU,不然用户是root) 查看当前用户whoami 添加当前用户到vboxusers组中 su -c usermod -G vboxusers -a username username自行改成你的用户名 至此,你已经可以正常使用VirtualBox VirtualBox
增加wordpress内存限制(WP_MEMORY_LIMIT)
你是否会觉得你的wordpress运行很慢,或者突然显示没有足够内存运行当前脚本: Fatal error: Allowed memory size of 8388608 bytes exhausted. 或者 PHP Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 6233929 bytes) in /home/…/press/wp-includes/cache.php on line 330 还有类似: Allowed memory size of 33554432 bytes exhausted (tried to allocate 368640 bytes) in /wordpress/wp-includes/class-simplepie.php on line 9575 这些都是因为内存不够引起的,解析来讲述如何增加内存的方法: 如果你可以访问php.ini文件,可以把内存限制从32改为64,甚至128等: memory_limit = 64M ; Maximum amount of memory a script may consume (64MB) 如果你没有访问php.ini的存取权限,那么可以更改.htaccess文件: php_value memory_limit 64M 可以在wp-config.php中添加一行关于WP_MEMORY_LIMIT的定义: define('WP_MEMORY_LIMIT', '64M'); 上面三种方法无效,与空间商联系
我的Fedora上手日记-4【grub2启动顺序改变和清理多余内核】
一、grub2启动顺序改变 装完Fedora等Linux系统之后,一般来说,grub2默认的启动系统都是Linux,但是有很多体验Linux的人还是以Windows为主,所以需要将Windows设为默认启动项,步骤如下: 首先找到Windows的menuentry.# cat /boot/grub2/grub.cfg | grep Windows 参考输出结果: menuentry “Windows 7 (loader) (on /dev/sda1)”–class windows –class os 可能会不止一个,但是没有关系,知道你平时启动的那一个就可以了,只要确定sda位置