0%

根据目前(2022/02)最新的 Docker Subscription Service Agreement,Docker Desktop 只对小于 250 员工且年收入不到 1 千万美元的公司,个人用户,教育用途和非商业开源项目,提供免费使用。

对于 Mac 和 Windows 用户来说,如果不能使用 Docker Desktop,还是有非常多的可替代方案。比如 Podman, colima 甚至 docker-machine。而我个人在比较早期的时候,一直是通过 docker machine 的方式在 Mac 上使用 docker。后来发现 docker machine 不在维护,镜像不再更新。转向使用 Docker Desktop。现在公司因为不在 Docker Desktop 免费使用用户范围内。这里简单记录一下,自己在 Mac 上使用 docker 的方案。

简单分为三大块

  • 虚拟机安装
  • 共享文件
  • 连通网络
Read more »

冬天最令人期待的就是下雪了。可自打来了杭州,也不敢对下雪抱有任何幻想。不过和雪有关的另一件事——滑雪,也同样让人向往。而且即使身在南方,也可以体验。

元旦假期前,就开始搜索杭州有什么地方可以滑雪。除了室内的体验馆。户外大概只有临安大明山的万松岭滑雪场。放假前一天在公司跟同事闲聊说起滑雪,有同事正好也想去。一拍即合。立即确定行程安排。我们都不会开车,但可以报滑雪团,有大巴车来回。价格也还行,这就够了。于是就约好 2 号去滑雪。

Read more »

这篇记录一下,从北京来到杭州工作,社保转移的过程。

写在前面

社保中有两项是可以跟随工作夸城市转移的。1.医疗保险;2.养老保险。

Read more »

最近在工作中遇到一个有趣的问题,有个组的同学把代码提交到代码仓库,CI 运行单元测试总是失败。在本地运行又是没有问题的。于是就帮他们找一下原因。其中失败的代码是一段求和后比较结果的代码。 CI 是在 k8s 中运行的。所以我用 docker 在本地使用相同镜像,模拟容器运行环境,发现也不能通过。好事,可以在本地复现,方便调试。

加了一些调试日志,最终把问题定位在几个 double 类型数求和的结果上。容器内运行时,几个数求和的结果和我在本机电脑上求和出来相差 4。仔细对比了每一个数是否一致,确实都是一样的。但结果就是不一样。把几个数放到自己电脑计算一遍。与测试用例中的结果不一样。唯一的区别就是求和时候的顺序不一样。

Read more »

你应该做代码审查。为什么呢?因为它能提升代码质量,降低缺陷率。可能这些原因没有办法说服你。

许多程序员不喜欢代码审查,因为他们有过一些不太愉快的代码审查经历。我见过一些机构,它们要求所有的代码在部署到生产环境之前都需要经过正式的审查。通常是架构师或主要的开发人员进行评审,这种实践可以描述为架构师评审一切

Read more »

日常工作学习的记录和写作中,经常需要引用某个文章链接。直接将链接粘贴上。阅读起来非常不方便。或者用浏览器将链接打开,将“标题”复制过来又太麻烦。于是就在想有没有什么工具可以一键提取链接标题呢?偶然想到可以用“自动操作”加一些简单的脚本来实现。只需要拷贝链接地址,在待插入的文本处,一个快捷键,链接标题就插入好啦。(其实已经用了很久了,这里记录分享一下!)

Read more »

每一个程序员有时候都需要重构已有代码。但在这么做之前,先思考一下下面这些事情,这可以节省你和其他人大量的时间(和苦恼):

  • 开始重构的最佳方式是了解现有代码库并针对这些代码编写测试。这有助于你了解这些代码目前的优点和弱点。这样你就可以在避免错误的同时保留写得好的部分。我们都认为我们能够做的比现有系统好…直到最后,由于我们没有从现有系统的错误中吸取教训,导致相比之前没有什么提升,甚至更糟。

    Read more »

前言

由于工作原因,接触一些 JavaFX 开发。最近产品的同学提到一个遗留已久的问题——在网站启动我们的 JavaFX 本地应用程序。于是就着手了解一下。曾经做过 Android 应用程序的 web 唤起功能。大致就是注册一个自定义的 Scheme,在 web 中嵌入这个自定义 Scheme 的 URL 唤起本地应用,就像 http://https:// 的 URL 可以唤起浏览器。桌面应用也可以通过同样的方式来启动。下面简单的记录一下实现过程。

Read more »

DSRC 是一款 C++ 编写的 DNA 序列压缩工具。

准备

JNI(Java Native Interface)编译过程:

  1. 编写带有 natvie 方法的 java 类,如 DSRCImpl.java
  2. javac 编译 class 文件,DSRCImpl.class
  3. 使用 javah 生成头文件, package_DSRCImpl.h
  4. 编写 c/c++ 代码实现DSRCImpl.h 中的方法。
  5. 编译各个平台的动态链接库。
  6. 在 Java 项目中加载动态链接库。
    Read more »

在这章中,我们将详细讨论 JavaFX 应用的结构,当然也会学习如何创建一个 JavaFX 应用程序。

JavaFX 应用结构

通常,一个 JavaFX 应用包含三个主要的控件:Stage、Scene 和 Nodes。如下图所示:

Read more »