Domon

Life is Simple [+] Menu


Posts tagged under Tips


手动更新Kindle

IT

前两天听说,Kindle更新了固件5.9.6,支持自定义的字体了。但是我在Kindle中的自动更新上面一直是灰色不可用的状态。查了下才知道,Kindle的推送是分批的,一般在一个周到一个月不等。本着,自己动手,丰衣足食的原则,我自己去下载了新的固件,并使用了几个免费的没有版权的字体。整个过程非常的简单。 下载对应你的Kindle版本的固件。根据你自己的版本来在这里下载。 将Kindle连接到电脑的USB中 打开Kindle的根目录,复制上面下载的固件进去 拔掉电源,在Kindle的设置-设备信息-高级里面,就会发现自动更新已经可以使用了 点击自动更新,等待设备自己重启更新固件 设备开机之后,根目录会多出一个文件夹font,将你想要自定义的字体(TFF格式为佳)放进去 打开一本书,在Aa设置当中,就会发现有自己的自定义字体可以选择了 以上,就完成了Kindle的固件更新。分享我用的两个字体。方正兰亭宋和索尼明体。想要更多的字体,也可以参考这里的字体列表。现在大部分的中国字体对于个人授权都是很便宜的,10元以内就可以搞定。所以推荐大家有能力的还是应该支持支持字体工作者。 如果对于字体的设计比较感兴趣的话,可以去听一下UX... continue reading

Domon

Git合并Commit

IT

在日常的代码提交过程中,一定会有一些情况,提交了一些临时的Commit,这些Commit会影响整个我们回顾Git Log。所以需要在合适的时候,将一些临时的信息,或者某几条Commit合并起来。 首先假设我们有三条最新的Commit记录,ABC。我们输入 git rebase -i HEAD~3 HEAD~3表示从当前的提交往回三次以内的提交。这时候,会进入一个rebase-edit的界面。在这个界面中,可以选择你想要合并的Commit,通过Commands: p,pick 使用这条commit r,reword 使用这条commit,并编辑commit message e,edit 使用这条commit,并停止编辑 s,squash 使用这条commit,并将它加入到上一条commit中 f,fixup 同squash,但是放弃这一次的commit message... continue reading

Domon

服务器图片403

Linux

这两天服务器端的环境已经部署好了,发现了一个问题,登录后台管理系统的时候,很多图片的地址无法正常访问。提示403错误,顺藤摸瓜的找了很久,没发现什么异常。 改了Nginx的配置文件,支持了正则图片格式。仍然失效。 突然想起来是不是权限设置的有问题。 ls -al 一看果然。,。默认的权限都是root的。因为我设置了一个独立的用户组来控制,所以在nginx访问这些目录的时候,肯定会提示403错误。 大意了大意了。... continue reading

Domon

SSH服务器免密码登录

IT

最近由于工作的需要,经常需要通过SSH登录各种不同的服务器。之前是通过vSSH这个软件来管理,现在比较倾向就使用iTerm2就可以了。 在使用终端来进行操作的时候,一次两次SSH还可以,但是次数多起来后,一遍又一遍的输入密码很麻烦。而且为了安全,我们AliYun的密码也挺复杂。每一次都需要在Evernote中找到,复制粘贴过来,很不爽。本来考虑写个脚本来处理,但是觉得明文的将密码存储下来,不是很安全。 So,既然都用的SSH,那合不使用SSH的特性来处理这个问题?免密码登录,就能方便的登录各个不同的服务器了。 SSH是一种对称加密,所以我们就只需要通过把自己的公钥放到远程服务器中就可以了。 拷贝出自己的公钥信息 cat ~/.ssh/id_rsa.pub 登录到远程服务器中,查看**~/.ssh/authorized_keys**,没有的话可以新建一个 打开这个文件,将自己的公钥按行拷贝进去 在本地免密连接该远程服务器 ssh [email protected] 就是这么简单,明了。一下子世界清净了,... continue reading

Domon

Centos中双开Tomcat

Linux

因为最近的项目需要使用Tomcat来运行,且分了API和Admin两个项目。我就想通过配置,让Tomcat多开。经过一天的折腾和配置,基本上已经完全实现业务需求。由于本机已经安装过一个Nginx,所以Tomcat的默认端口需要修改下。 有两种方案可以解决。 第一种方案:一个Tomcat多开Service 想要多开Service也很简单,只需要复制Tomcat配置中的Service页签就可以了。 <Service name="Catalina"> <Connector port="9080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Connector port=... continue reading

Domon

MySQL远程数据库访问出错排查

Tips

上一次在做Django的时候,我就遇到一个问题,我的远程MySQL数据库一直连接不上,比较头疼。但是后来通过mysqldump把数据从远程拷贝到本地来了。 这一次由于牵扯到Typecho的数据转换,我找到的解决方案是通过node的一个包来进行转换。为了使我的Blog数据得以迁移过来,我就不得不开始了折腾之旅。 Navicat里面提示错误信息「2013」,查询了很多结果,基本上都是说自己的远程MySQL没有配置好导致的。 问题排查记录: 去找了下配置文件/etc/my.cnf,里面并没有配置bind_address。应该是MySQL版本较高的原因,默认配置是没有的。 在**[mysqlld]中添加上了skip_name_resolve**,仍然不起作用 远程数据库帐号权限问题,再三确认没有问题 可以通过以下命令获取远程登录权限 grant all privileges on *.* to 'root'@'%' identified by 'password'; flush privileges;... continue reading

Domon

取消git中文件或者文件夹的版本管理

Tips

很多时候,在开发的时候,由于自己的不小心或者别人的不小心,将一些本来不应该被git版本管理的文件或者文件夹放到网络上或者本地的版本库中(我好像用了很多个或者)。下来就需要将这些文件移除在git版本之外。 当文件已经被手动删除,但是没有从git版本库中删除的时候 这个时候需要,通过**git rm -r fileFloder/ **来删除整个文件夹 当文件仅仅想从git版本库中删除,但本地不删除的时候 通过**git rm -r --cached -r fileFolder/ **。这样fileFolder这个文件夹就从git版本中移除了,同时并没有在本地文件删除这个文件夹。 另外一种方法,可以将这个文件夹,写在.gitignore里面,push到服务器上面即可。... continue reading

Domon

MySQL迁移至SQLite

Tips

由于最近学习了Django,想着不然把自己的Blog从Typecho迁移到Django的框架中,其实上层差别不是特别大,一个是PHP一个是Python。下层的话,由于我初学Django基本的教程都是通过SQLite作为默认的数据库的。刚好我做Android开发的时候,其实数据库使用的就是SQLite。因此着手把数据库进行迁移下。遇到了一些坑,记录一下。 网上很多SQLite转MySQL的教程,唯独没有MySQL转SQLite的方案。找了几个,大体上的方案都很类似。先将MySQL的DB转换成txt格式,通过批处理修改一下创建表的语法,然后在生成一个SQLite的数据库。实际操作起来不是特别方便,我选择了这个回答下面的方案。 得益于dumblob这位开发者开源的这个项目,我在服务器端通过mysqldump和它的脚本生成了一个SQLite3的DB,将其考到本地。 由于这个脚本只是生成表结构的,并没有将数据导入进来,所以下一步的计划是将数据导入到新生成的SQLite3DB中。 在导入的过程中发现了,若按照正常的生成语句是无法写入NULL数据 template = models.IntegerField(blank=True) 这样生成的字段,在通过insert命令的时候,没法写入NULL数据,这导致我从MySQL导出的sql语句没法正常运行。修改成 template = models.IntegerField(blank=True, null=... continue reading

Domon

Python安装virtualenv

Python

今天在Youtube上看一个视频教程的时候,才知道Python下面有这样一个好东西,有点类似Docker,实际上又比Docker轻量级很多。Python的优点就是库很多,很方便的站在别人肩膀上快速开发。但这个有点也是一个缺点,在项目比较多的情况下,由于所有的site-packages都是公用的,这样不便于修改配置。所以,需要有一个类似虚拟环境的东西,来保证对于单个项目中的虚拟环境都是互相隔离的,特别的纯净。 安装的过程实际上也特别的简单: pip install virtualenv 进入你的项目目录中,创建一个虚拟的环境: cd yourproject virtualenv —no-site-packages venv 这样一个独立的虚拟环境就设置好了,在项目的目录下多了一个venv,里面包含了Python所需要的环境。接下来以安装Django为例,我们看看怎么使用这个虚拟环境。仔细观察一下 venv/bin/中其实是已经存在pip工具的,但我们直接在命令行中调用的pip是系统环境中的pip,所以我们首先需要把虚拟环境进行激活: source venv/bin/activate 这时候调用pip install Django,就可以将Django安装到虚拟环境中了,... continue reading

Domon

Mac配置Android Adb

Tips

之前自己的Mac中Adb已经配置成功,但是因为还了一个路径,导致Adb失效。 从终端进入用户的Home目录,如果不知道Home目录在哪里,可以输入以下代码查询 echo $HOME Vim .bash_profile文件,输入以下代码并保存 exprot PATH=${PATH}:/xxxx/sdk/platform-tools exprot PATH=${PATH}:/xxxx/sdk/tools 最后更新刚刚配置的环境变量 source .bash_profile... continue reading

Domon