开发工具分享
  • 首页
  • 计算科学
  • 文化旅游
  • 项目和网站
    • OSSEZ 计算技术
    • USRealEstate 社区
    • 地区文化
    • CWIKI.US
    • BUG.OSSEZ.COM
    • RSS.OSSEZ.COM
CWIKIUS.CN
一个有独立思考和温度的清新站
Computer Science

是时候和 Confluence 说再见了

作为最早为 Confluence 中文化提供服务的社区,我们也面临着最后的时间了。     Confluence 已经不再为用户签发开源许可证了,这意味着在今年许可证到期后,我们要不就需要把所有数据迁移到 Confluence 云平台上。 要不就自己部署完整的云平台服务,这个云平台服务集成了所有的云服务,包括 EC2 等。 对我们来说,运营成本将会增加至少 5 倍以上,并且我们感觉这样做的意义不大。 也不知道 Confluence 的脑袋是怎么想的,不管怎么样这个也是 Confluence 官方的决定,因此我们决定在把数据逐步导出后保存。 还是非常怀念 Confluence 基于 Tomcat 和 MySQL 的部署方式,可惜这一切都已经不在了。 再见 Confluence。   https://www.isharkfly.com/t/confluence/15109

2023年11月08日 0Comments 606Browse 0Like Read more
Computer Science

UUID 的 5 个版本

UUID 的全称是 Universally Unique Identifier,中文为通用唯一识别码。 在对 UUID 进行说明之前,我们来看一个标准的 UUID。 下面就是一个标准的 UUID,使用横杠分隔符来进行分隔: 123e4567-e89b-42d3-a456-556642440000 xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx UUID 结构有关版本的定义 在结构中的 M,定义了 UUID 的版本,UUID 的 5 个版本就是在这里进行定义的。 Version 1 (基于时间) 这个版本是基于随机数的,使用的基数为每 100 纳秒为一个单位,时间的起点为1582年10月15日。同时还需要加上当前计算机的网卡物理地址(MAC)。 Version 2 (DCE – 分布式计算机环境): UUID-v2 和V1 很类似,是根据标识符(通常是组或用户ID )、时间和节点ID 生成,不过区别在于V2 将V1 中的部分时间信息换成了主机名, 故应用具有局限性(有隐私风险),未大规模使用。 Version 3 (基于命名) UUID-v3 通过散列(MD5 )名字空间(namespace )标识符和名称生成。和V1 、V2 不同,V3 不依赖与机器信息和时间信息, 但是V3 要求输入命名空间+名称,命名空间本身也是一个UUID ,用来标识应用环境,名称通常是用户账号、用户名之类的内容,通过命名空间+名称+三列算法算出UUID 。 Version 4 (基于随机数) UUID-v4 组成 UUID v4 的位是随机生成的,没有固有逻辑(除了第三段首个数字,该数字标识版本号),不包含命名空间、设备信息、时间信息。 故,UUID-v4 最容易理解、应用也最为广泛。 Version 5 (基于使用 SHA-1 的命名) UUID-v5 和V3 类似,区别在于散列算法,使用了sha1 散列算法。 可以认为 UUIDv5 就是为了强化 UUIDv3 出现的问题而使用新的哈希算法。   https://www.isharkfly.com/t/uuid-5/15098

2023年11月05日 0Comments 868Browse 0Like Read more
Computer Science

这周末北美地区开始使用年度的标准时间

这周又要开始调时间了。     2023 年美国夏令时Daylight Saving Time将于11月5日周日2:00 AM结束,届时小伙伴们记得拨好不能自动调整时间的闹钟、手表,可以在周六晚上入睡前就把时针拨慢一小时!周日可以多睡一个小时! 夏令时英文叫Daylight Saving Time,简称DST,也叫daylight time或summer time。高纬度地区由于夏季太阳升起时间明显比冬季早,很多国家为了充分利用夏季的太阳光照,节约照明用电,在天亮早的夏季会人为将时间调快一小时,实行夏时制。 而当冬季来临,这些国家会将时针再拨回原来的 标准时间(Standard Time), 冬令时(Winter Time) 其实就是标准时间。     这样调来调去,直接使用冬令时不好吗? 在计算机中直接就可以使用时区来进行计算了,要不然每调一次,系统都要重新计算时间,本来比较简单的时间存储,在计算机的数据库中都要存好几个时间以确保时间的准确。 同时时区的计算还没意义。   https://www.isharkfly.com/t/topic/15096

2023年11月03日 0Comments 567Browse 0Like Read more
Computer Science

Java while 和do while 循环

循环是程序中的重要流程结构之一。循环语句能够使程序代码重复执行,适用于需要重复一段代码直到满足特定条件为止的情况。 所有流行的编程语言中都有循环语句。Java 中采用的循环语句与C语言中的循环语句相似,主要有 while、do-while 和 for。 另外 Java 5 之后推出了 for-each 循环语句,for-each 循环是 for 循环的变形,它是专门为集合遍历而设计的。for-each 并不是一个关键字。 在 JDK 1.8 版本以后,我们还可以使用 Stream 来对进行循环,这个就是后面的其他的专题内容了。 本短文只对 do- while 和 while 来进行一些说明。 在循环中,我们首先想到的可能就是用的 for 循环,因为 For 循环更加好理解,同时因为 Index i 的使用,让循环更加直观和能够更好的跳出循环。 while 类的循环在一些时候可以简化代码,但是相比 for 循环来说没有那么用得多。 do- while 和 while do- while 和 while 的循环基本相同,唯一不同的就是先循环还是先判断。   在网络上找到了上面一张图,还是很容易说明问题的。   do- while 简单点来说,不管条件是什么,Do 里面的语句总会被执行一次。 这个时候可能会出现一些情况,比如说 Java 中的空对象异常,因为啥都没干,直接拿空对象来进行循环了。 所以我们会看到 do- while 循环在代码中比 while 更少见。 考察下面的代码: int i = 0; do { System.out.println(i); i++; } while (i < 5); 和 int i = 0; while (i < 5) { System.out.println(i); i++; } 在 While 循环中,while 后面跟着的都是判断条件,这个判断条件只能是 T/F,因为我们需要这个条件来跳出循环。 对于 while 循环,因为我们是先判断的后执行的,所以我们就简化掉不用了 do 这个关键字了,直接用大括号就可以了。 上面的语法其实都是可以用 for 循环来实现的,这也就是很多人第一想到循环的时候用 for 的原因。   https://www.isharkfly.com/t/java-while-do-while/15094

2023年11月01日 0Comments 566Browse 0Like Read more
U.S.

Vermont 最大的滑雪场开启了2023-2024 雪季的造雪

honeymoose 1m Killington 是 Vermont 州最大的滑雪场。 雪场跨越6座山, 有155条雪道,其中蓝道与黑道数量较多,更适合中级以上的滑雪 爱好者前往。 山顶和山脚海拔落差950米左右是美国东部落差第二大的雪场。 Killington 商业化程度比较高,周边也能够提供较好的配套,通常是美东滑雪爱好者的首选之地。     通常来说在美东这边第一场雪看情况的话可能都在 12 月底了。 今年的万圣节还没有国外,Killington 雪场就开始造雪了还是有点以为,意味着今年有可能是一个冷冬。 滑雪爱好者有福了。 多年来记忆最深的最早的学也可能就在感恩节前后,早到 10 月底的的情况并不多见。 https://www.isharkfly.com/t/vermont-2023-2024/15093

2023年11月01日 0Comments 555Browse 0Like Read more
Computer Science

YouTrack 在创建问题的时候如何切换项目

最近在准备从 JIRA 中转换到 YouTrack 上。 在创建问题的时候,JIRA 是通过选择项目,然后单击创建,这个创建就会直接在项目中进行创建了。 但是 YouTrack 不是这样的,感觉就是 YouTrack 的创建问题就是一个入口。 其实我并不知道 YouTrack 的默认选择规则是什么。 如果创建的问题不是你需要的项目中的话,可以选择后面的项目来进行选择。 选在下拉框中找到你需要的项目即可。     YouTrack 和 JIRA 的配置逻辑还是有一点点不一样。   https://www.isharkfly.com/t/youtrack/15087

2023年11月01日 0Comments 541Browse 0Like Read more
Computer Science

Git 提交时提示 GPG 签名错误

本来应该一切都是正常的,但今天提交的时候提示 GPG 签名错误。 错误的信息就是 GPG 签名失败。 gpg: skipped "942395299055675C": No secret key gpg: signing failed: No secret key error: gpg failed to sign the data fatal: failed to write commit object     解决方案 开始认为是因为签名错误,后来发现签名的秘钥都是正确的。 最后确定为 git 的配置文件中,没有指定签名使用的程序。 [gpg] program = "C:/Program Files (x86)/GnuPG/bin/gpg.exe" 在签名的时候,上面 3 个部分的内容必须是同时存在,并且不能缺少的。   https://www.isharkfly.com/t/git-gpg/15083

2023年10月29日 0Comments 752Browse 0Like Read more
Computer Science

YouTrack 中如何设置邮件通知

在 YouTrack 中,默认是不会邮件通知的。 你可以为你的账号设置邮件通知。 设置的方法为单击用户属性,然后在弹出的小窗口中选择属性选项。 设置邮件通知 在通知 Tab 页面中,选择发送邮件的方式,默认这个选项是不选择的。 用户可以为自己选择发送邮件的方式。 我们这里选择的是 HTML。 下面就是一些可能触发邮件发送的条件,根据自己的要求进行修改就可以了。     这样就完成了在 YouTrack 中的邮件通知设置了。   https://www.isharkfly.com/t/youtrack/15075

2023年10月27日 0Comments 809Browse 0Like Read more
Computer Science

Java 中的 Default 关键字

default 关键字:是在 Java 8 中引入的新概念,也可称为 Virtual extension methods——虚拟扩展方法与public、private等都属于修饰符关键字,与其它两个关键字不同之处在于default关键字大部分都用于修饰接口。 default 修饰方法时只能在接口类中使用,在接口中被 default 标记的方法可以直接写方法体,而无需修改所有实现了此接口的类。 接口默认方法 我们都知道 Java 中的接口是用来实现的,接口中是没有实现的方法。 使用 default 关键字可以打破这个限制,当定义了一个接口,但是我们接口中的方法用了 default 关键字,我们就可以在这个方法中进行实现了。 这时,我们不需要再定义一个实现类类实现接口中的所有方法。 之前的接口是个双刃剑,好处是面向抽象而不是面向具体编程,缺陷是,当需要修改接口时候,需要修改该接口的全部实现类。 同时因为设计实现的问题,我们通过设计接口来进行不同的实现,在基础框架曾经,这个设计是有很多好处的。 但,在实际业务层,一个接口多个实现的方法反而谁增加很多复杂度。 使用 Default 关键字 用 default 关键字定义的方法是全局的,你可以在不同接口中定义一个相同的方法,这个没有问题。 如下图,我们在代码中定义了 2 个接口,这 2 个接口都有一个相同的 default 方法。     实现类中只实现一个接口 如果在实现类中我们只实现一个接口。 例如下图,我们修改了我们的方法,我们在实现中只实现了 TestInterface1     上面的程序也是可以运行的没有问题。 实现类中实现 2 个接口 问题就是在这里了。 如果我们在实现类中同时实现了 2 个接口,但这 2 个接口都有一个相同方法名的 default 方法。     编译器会在这里报错,简单来说就是默认的方法冲突,程序不知道应该用哪个实现方法。 这个应该很好理解,因为这 2 个接口中都有相同的方法名,而且这个方面都是默认的,程序运行的时候确实不知道应该是用 TestInterface1 还是 TestInterface2 的默认方法。 所以可以在这里用一个 @Override 来告诉实现类,我们是用的那个实现方法。 甚至 @Override public void show() { TestInterface1.super.show(); TestInterface2.super.show(); } 这样写都是没有问题的。 运行的结果为: Default TestInterface - 1 Default TestInterface - 2 总结 Default 方法通常用在接口中,用于为接口中定义的方法提供一个默认的实现。 当我们使用了 default 关键字修饰了方法后,我们可以不为接口定义实现,而直接使用接口中定义的默认方法来处理逻辑。     我们测试的代码网站逻辑如上图。 下面为文本的代码,供大家拷贝和在本地进行的是 interface TestInterface1 { // default method default void show() { System.out.println("Default TestInterface - 1 "); } } interface TestInterface2 { // Default method default void show() { System.out.println("Default TestInterface - 2"); } } public class Main implements TestInterface1, TestInterface2 { private static final Logger logger = LoggerFactory.getLogger(Main.class); public static void main(String[] args) { new Main().show(); } @Override public void show() { TestInterface1.super.show(); TestInterface2.super.show(); } } 因为 default 这个关键字还比较新,在 JDK 8 以后才有的,因此有必要在面试之前了解下,在实际的项目上,可能用的情况不多。 https://www.isharkfly.com/t/java-default/15061

2023年10月22日 0Comments 926Browse 0Like Read more
Computer Science

多年没有遇到如此流畅的面试了

美东一公司的面试,有多年没有遇到如此流畅的面试了。 本来说的面试时间是 30 分钟,这个还是第一轮处于电话面试那种,但是不知道为什么最后面试整个时间都延长到了快一个小时,貌似双方都还继续沟通下,有点意犹未尽的感觉。 互相了解 通常第一轮面试的过程都是互相了解。 这个公司本身有自己的生产线,同时还有完善的在线销售系统。如果你问我公司大不大的话,可以这样说吧,公司很大,几乎和耐克级别的企业。 当然肯定比耐克还是小点。 在这个互相了解过程中,主要对公司要求的是什么,公司为什么需要这个职位等等。同时还希望我介绍下项目,和在项目中使用了那些技术,有那些问题。 这个和普通面试都差不多,还是那句话,只要你做过项目,基本上都会说,只是在说的时候需要根据公司的要求进行一些调整罢了。 你总不能别人在说系统,你盯着数据库一直在说,这也不合适吧。 技术问题 技术上面的问题进行了简单的沟通,主要是对 Core Java 的内容进行一些了解。 我个人感觉内容还是比较基本,但是问的东西都属于常用的,不是很多人以上来就 OA 各种奇葩算法那种。 也许是这样,才让人感觉非常好,感觉这个才是面试应该有的样子嘛。 问的问题大致包括有: 能说一下 hashmap 和 hashtable 吗 Default 关键字 Overload 和 Override Spring 框架和 Spring Boot 的关系 DI 是什么 IoC 是怎么回事 还有些其他的问题,可能记不太清楚了,问的问题还是有点多的,其他的就非常基本了。正常只要用过 Java 的基本上都能得上来。 之所以列出上面这个几个问题,是因为这几个问题还是有那么一丢丢深度。 对于这些问题,感觉都是概念上的,通常可以聊很久,除了 default 关键字不太熟悉之外,其他的内容,只要你理解了,还是比较好沟通的。 唯一的可能当一下子问到 HashTable 上的时候你可能有点懵,这是因为 HashTable 是比较老的版本,可能在实际使用的时候大部分人用的都是 HashMap。关键点,HashMap 比 HashTable 快,这个总知道吧,因为一个是线程同步的,一个不是。 觉得在找工作的时候,还是需要对 Java 的一些常用概念了解下的。 对不熟悉的 default 关键字,我的回答就是,我知道 Default 关键字是在 Java 8 中开始使用的,但我们项目用得并不很多,所以不是非常熟悉。 后来搜了下才知道,Default 关键字主要使用在接口中,用于接口方法的默认实现的。 因现在项目用接口的情况不多,所以一下子没有涉及到还是很正常的。 每次面试后对不知道的东西补习下,记录下就好。 总结 面试的整体流程非常不错,感觉也非常好。 虽然没有把所有的问题都答得非常准确,但是感觉还是不错的。 结果就是在面试还没有最后挂断的时候,对方就说我通知组里面的同时下周安排下技术方面的面试,时间是 1 个小时,他直接问我那周有空。 因为下周有不少其他安排,所以就周二和周四吧。 本来他是希望安排在周一的。 面试双方在面试的过程中都保持了非常好的透明和了解,这是感觉非常好的地方,对方也非常公开的介绍了很多信息。 这才是面试应该有的样子,双方应该都互相了解,通过一个比较短的时间,了解公司,了解应聘人的行为和表达能力。 当面试一上来就先做题的时候就已经跑偏了,再加上这些年连厨师都想要当码农的时候,就更加疯狂了。 希望更多一些理智,少点疯狂。   https://www.isharkfly.com/t/topic/15060

2023年10月21日 0Comments 970Browse 0Like Read more
1…7172737475…309
Archives
  • July 2026
  • June 2026
  • May 2026
  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • December 2025
  • November 2025
  • October 2025
  • September 2025
  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
Categories
  • Computer Science (2,385)
    • Confluence (663)
    • Gradle (12)
  • U.S. (557)
  • 文化旅游 (146)

COPYRIGHT © 2020 CWIKIUS. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

湘ICP备2020018253号-1