Category: Programming

对JAVA的回忆性学习

几年前我姐三十岁生日,我准备了个礼物,功能就是脚本式的对话框交流加上打印机效果的祝福语显示。当时基本一点基础都没有,但我异常自信地在网上下了本安卓第一行代码和Java入门123 ,然后看着教程装好环境和 Android Studio 就开工了。最后花了大约两个星期把成品做了出来——其实能更早,是我的审美洁癖拖了一半的时间。程序源码我上传到仓库里了,链接:a-gift-for-my-sister

当时做完后一不做二不休,趁着课余时间也把那本 Java 入门书籍读完了。最近趁过年简单粗略地回忆一下那时候学过的知识,万一以后能用上呢。

Continue reading →

Git原理及常用命令

  • Git 和其它版本控制系统的主要差别在于 Git 对待数据的方式。其它系统如CVS、Subversion等,通常将存储的信息看作一组基本文件和各文件随时间逐步累积的差异 ,故通常被称为基于差异(delta-based)的版本控制软件。
  • Git 则不然,Git 存储的数据更像是对文件系统的一系列快照。在 Git 中,每当你提交更新或保存项目状态时,它基本上就会对当时的全部文件创建一个快照并保存这个快照的索引。快照的好处在于,进行最常见的 stage、push、commit 等操作时,只需要移动指针指向不同的快照即可。相对于传统的版本控制软件,这种基于指针的机制开销极其小,性能极其强。

Continue reading →

改版记录

WordPress 对非计专的普通人还是很友好的,除了安装时需要接触一些 Linux 命令,其余情况下不太需要接触代码。就算想赋予网站一个美丽的皮囊也有一堆现成的主题可用。不过毕竟不是亲生的,再完美的主题也有不合己意的地方。小修小改倒也简单,但改的东西越多,需要的知识也就越多,这也是这篇记录的来由。

我做过的修改大致包括网站布局修改、引入数学公式渲染、引入代码块渲染、添加文章目录及平滑滚动跳转、移动端菜单及动画推倒重做、css 动画、css 媒体查询、资源按需加载等,可以说与原主题已经天壤之别了。其中相当大一部分修改本文没写,具体可以参考我 github 上的提交记录:主题文件修改额外 css

Continue reading →

RSA算法与其背后的数学原理

我虽然不是计算机专业的,但 RSA 算法这个东西我真的耳朵都听出茧子了。之前好奇查网页链接的 http 和 https 有啥区别,答案是 RSA;好奇查安全要求高的密码难道不怕暴力破解?答案是没事 RSA 不怕;有事没事老遇见公钥、私钥这俩名词不知道啥意思,一查嚯你好啊 RSA 咱俩又见面了。不行,我已经抑制不住我的好奇心了……

但在讨论 RSA 算法之前,我先去回顾了一下密码学的历史。

Continue reading →