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

亿万富翁要求屌丝回办公室打螺丝

特朗普签署新的行政令要求: 联邦雇员须回办公室。 一堆亿万富翁要求屌丝都得回办公室打螺丝。 至于路上堵车还是不堵车,打螺丝的效率高不高其实不重要,重要的是你人得回来。     Amazon 前一段时间得 RTO 已经是闹得沸沸扬扬,对于很多是从事 IT 工作具备远程办公条件得职位来说,RTO 的效率并不比在家工作高多少。 但,资本总是想着办法折腾屌丝们的,RTO 在后疫情时代会成为逐步推进的目标。 一群不需要到办公室上班的人要求大家都得回办公室。 拜托,不要神话 Musk 了好不好,他早就不是那个 IT 屌丝了。   https://www.isharkfly.com/t/topic/16825

2025年01月21日 0Comments 466Browse 0Like Read more
U.S.

这工作效率都不带停

看看这桌上这一堆的总统行政令需要签署的。   当他胜选后,这些政策工具早就准备好了,只是在等着今天签署。 美国总统签署的所有行政令都可以在网站:Federal Register :: Executive Orders 上查询到。     最新的可能没有那么快,但很多命令从今天开始会影响很多人。 https://www.isharkfly.com/t/topic/16821

2025年01月21日 0Comments 484Browse 0Like Read more
Computer Science

可以自己部署的微博 Mastodon

Mastodon(又称乳齿象、长毛象或万象)是一个自由开源的去中心化的分布式微博客社交网络。它的用户界面和操作方式跟推特(Twitter)类似,但整个网路并非由单一机构运作,而是以多个由不同营运者独立运作的伺服器以互联方式交换资料而组成的去中心化社交网络。 每个Mastodon的营运站点被称为“实例(Instance)”,用户可到任何开放登记的实体登记,任何一个实体上的用户可以与其他实体上的用户沟通。     据说 Mastodon 在迁移的时候是不会丢失数据的。 所以在试用阶段可以不用自己部署。 上面我们就随便找了一个可用的实例部署了下,然后发布了一篇文章。 想着是多发几次后再尝试下自行迁移。 技术架构和 Discourse 一致,使用的是 Ruby 和 PGSQL 的数据库。 https://www.isharkfly.com/t/mastodon/16819

2025年01月21日 0Comments 748Browse 0Like Read more
U.S.

特朗普 2.0 准备好了吗

明天也就是 2025年1月20日新当选的美国总统将会宣誓就职。 明天美国东部时间中午 12 点以后就会正式开启特朗普 2.0 时代。     美东的 19号晚上正在经历今年入冬以来的一场大雪,明天早上起来自然就是白雪皑皑的一片。 趁着这个时间来展望下 特朗普 2.0 时代,顺便看看他上任的第一天会签些什么总统行政令。 明天还是美国的国假,马丁·路德·金纪念日,估计全世界都在擦亮眼睛看看明天晚上会发生什么或者假期后的第一周会发生什么。 当选之路 特朗普的当选是充满戏剧性,与其说是戏剧性还不如理解为美国整个国家层面对僵化政治和两党建制派唱双簧多年的不满。 从佩洛西1987年起获选为美国众议院议员,一直到 2025 年,她一直活跃在美国政坛的第一线,整整接近 40 年,加州现任州长纽森还是佩洛西的侄儿子。 虽然美国普通民众本身对政治的参与度不是特别高,但你这也太不把自己当外人了,难道就从来没有想过退休下的? 在特朗普参与竞选对决希拉里的时候,美国 2 党内的建制派们应该都没有想到这个结局,甚至完全都没有把特朗普当回事,结果在民主党输掉选举后,也没有进行深刻的反省。 在 2020 年的选举中,民主党又拿回了白宫。让民主党觉得美国老百姓还是不喜欢特朗普,在拜登政府这 4 年,民主党还沉浸在猫鼠游戏的快乐中,并没有感觉到底层的民意和认知已经开始转向了。 民主党这几十年生活在自己的信息茧房中,对外面世界的改变完全忽略掉了。 说特朗普的胜选是因为民主党和2党建制派的傲慢也不足为过。 既然全世界都需要面对特朗普 2.0 时代,那么在他上任之前我们来看看他会做点什么吧。 移民 特朗普 2.0 时代的移民政策应该会持续强势推进。 这不意味着他会把非法移民完全从美国移民体系中剔除,但民主党提出的那一套给非法移民发福利,提供工作,提供合法居留的理论显然是不会被待见。 遣返非法移民方面,这部分的工作肯定会持续强化,至于强化到什么程度。 看看明天他上任后签发的总统行政令就知道了。 虽然他的目标是非法移民,但合法移民也会他的强势移民政策受到影响,毕竟都属于移民,在政策制定的过程中是很难完全剥离区分对待。 经济 经济上,他应该会采取更多的让相关产业回流美国。 可以说他会逐步采取一种保守的逆全球化策略,执行手段大概率就是关税。 对他不喜欢的,或者看不顺眼的国家施加关税,可以说他执政的重心可能都会围绕经济,在经济中关税手段是他最能得心应手运用的手段。 玩政治手段,他不行,与其这样还不如简单粗暴点。 国家关系 国家关系其实美国真正关注的也许就是周边,欧盟,东亚,中东这几个点。 加拿大和墨西哥是邻居,怎么把邻居摁地上摩擦,他可能有想法,但也可能还没有想好,先弄点关税试探试探。 欧盟那边就是贸易和俄罗斯,特朗普本身对俄罗斯没那么反感,毕竟是做生意了,反正和敌人也可以做做生意的嘛。他对敌我界限没有那么明确,只要能达到目的,敌人也可以变成不那么敌人。 东亚最重要的关系就是对华关系,对华关系也不那么好处理,毕竟对华关系中又会扯到经济关系上。和俄罗斯不同,现在美国和俄罗斯都已经没啥贸易了,经济上是完全没啥指望。对华关系我认为会在不停的拉扯中前进,前进的路怎么走,这个就需要看看这台戏怎么唱了。 中东对以色列是利好,以色列在中东的行动能力会持续加强,相信天平会继续倾斜,这个对维持中东稳定不是坏事。 这些文字写在特朗普宣誓就职之前的2025年1月19日,至于后续的路怎么走,让我们拭目以待吧。 https://www.isharkfly.com/t/2-0/16817

2025年01月20日 0Comments 614Browse 0Like Read more
Computer Science

Discourse 中的 Slow 模式

Discourse 中提供了一个 Slow 模式。   这个模式是在一个主题的配置按钮中近设置。 设置的意思是,一个其他的用户只能在给定的时间中对内容进行回复。   上面的配置参数意思为,在这个时间范围内,一个用户只能对这个主题回复 1 次。 下面还有一个配置参数。     这个配置参数的意思是,这个选项激活的时间。 比如说激活 2 个月,或者激活一周等。 等激活时间过了后,这个配置就失效了。   https://www.isharkfly.com/t/discourse-slow/16814

2025年01月18日 0Comments 489Browse 0Like Read more
U.S.

Winthrop quincy ferry 轮渡

Winthrop quincy ferry 轮渡在冬季并不会提供服务,主要是夏天才有。     虽然到 Boston 的时间只有 15 分钟,但 Boston 确实没有 NYC 那么大。 如果不堵车的话,开车过去也只有 10 多分钟。   可能也是这个原因才让轮渡在冬季并不提供服务。 https://www.isharkfly.com/t/winthrop-quincy-ferry/16265

2025年01月18日 0Comments 432Browse 0Like Read more
Computer Science

Java 中的 Period 和 Duration

在本文中让我们来看看在 Java 8 中引入的 2 个新的类: Period 和 Duration. 上面 2 个类可以被用来替换在 determine 和 time 中大量使用用来计算 2 个时间不同的 API。 针对上面 2 个类最主要的不同就是 Period 被用来计算日期的不同,Duration 则是被用来计算时间的不同。 Period 类 Period 使用的单位是 年,月,日来表达 2 个日期之间的不同。 我们可以通过 2 个时期之间不同的 between() 方法来获得 Period 对象。 LocalDate startDate = LocalDate.of(2015, 2, 20); LocalDate endDate = LocalDate.of(2017, 1, 15); Period period = Period.between(startDate, endDate); 当我们获得 Period 对象后,我们可以用 Period 对象中的 *getYears(), getMonths(), getDays() 方法来获得具体的值。 logger.info(String.format("Years:%d months:%d days:%d", period.getYears(), period.getMonths(), period.getDays()));     isNegative() 也是 Period 中的一个方法,可以通过这个方法来判断 2 个比较时间的大小关系。 当这个方法返回 True 的时候,表明结束时间要大于起始时间。 assertFalse(period.isNegative()); 相反的 isNegative() 如果返回的为 false,那么表明 startDate* 要早入 endDate 的值。 另外一个可以创建 Period 对象的方法就是使用数字,Period 中提供了一个 of 方法,我们可以用这个方法来构造一个 Period 对象: Period fromUnits = Period.of(3, 10, 10); Period fromDays = Period.ofDays(50); Period fromMonths = Period.ofMonths(5); Period fromYears = Period.ofYears(10); Period fromWeeks = Period.ofWeeks(40); assertEquals(280, fromWeeks.getDays()); 如果 of 方法中只有一个输入参数的话,那么默认调用的是 ofDays() 方法,等于用输入的数字初始化日这个单位。, 基于上面的设计, ofWeeks() 方法使用的是乘以 7 的方式,因为不管一年有多少天,但一周 7 天这个肯定是不会变的。 通过看 JDK 的源代码: public static Period ofWeeks(int weeks) { return create(0, 0, Math.multiplyExact(weeks, 7)); }     上面的构造方法就能说明这个问题了。 同时,还可以使用字符串来创建 Period 对象,这个字符串使用的序列为 “PnYnMnD”: Period fromCharYears = Period.parse("P2Y"); assertEquals(2, fromCharYears.getYears()); Period fromCharUnits = Period.parse("P2Y3M5D"); assertEquals(5, fromCharUnits.getDays()); 当 period 对象创建成功后,可以使用 plusX() 和 minusX() 方法来对创建的 period 对象中的值进行调整: assertEquals(56, period.plusDays(50).getDays()); assertEquals(9, period.minusMonths(2).getMonths()); Duration 类 和 Period 相对,Duration 类是对时间进行操作的。 具体操作的单位为秒(seconds )和纳秒(nanoseconds )。 因可以直接对纳秒进行操作,所以 Duration 能比较精确的对时间进行计算。 另外,要获得 Duration 对象,我们需要从 instants 来进行比较,使用 between() 方法来比较 instants 。 Instant start = Instant.parse("2017-10-03T10:15:30.00Z"); Instant end = Instant.parse("2017-10-03T10:16:30.00Z"); Duration duration = Duration.between(start, end); 上面的方法能够构造一个 Duration 对象,然后从 Duration 对象中使用 getSeconds() 或者getNanoseconds() 方法来获得具体的单位值: assertEquals(60, duration.getSeconds()); 可选的,因为是对时间进行计算机,那么你还可以从 LocalDateTime 实例中来比较构造一个 Duration 对象: LocalDateTime start = LocalDateTime.parse("2020-01-01T08:00:00"); LocalDateTime end = LocalDateTime.parse("2023-01-01T12:00:00"); Duration.between(start, end).getSeconds(); 基于起始时间的不同,Duration 可能会有下面的 3 中情况: Negative: start < end Zero: start = end Positive: start > end 同时,标准的时间 Time API…

2025年01月18日 0Comments 508Browse 0Like Read more
U.S.

温哥华(YVR)联程中转美国

温哥华(YVR)中转去美国需要注意的地方是在加拿大通过美国 CBP 的检查。 在加拿大完成检查后进入 E 航站楼后乘飞机进入美国。 如需要乘联程航班去美国,在下飞机后不要选择进入到达进入加拿大的通道,而需要选择联程通道。     看着指示牌走,上面也会显示对应的航站楼。     最后会遇到一个自动扶梯,在自动扶梯的尽头会要求刷护照和联程航班的登机牌。 如果联程航班没给你登机牌的话,就需要找工作人员把你的登机牌打印出来。     这个地方是区分美国和加拿大联程的最后位置,直走就进入 E 航站楼进入美国,否就右转联程进入加拿大。 然后就依次进行安检,最后一步就是美国 CBP 边境海关的检查。 当完成所有检查,并且通过美国 CBP 后,可以看到下面的指示牌。 自动扶梯下来后能看到 E 航站楼登机口的提示。     至此,其实你已经算是完成了进入美国的所有流程和手续了。 当下一个航段到达后,就没有任何海关的检查了。 当然最后上飞机之前,加航还会检查你的护照,确定你能顺利进入美国。 体验 如果文件没有问题,或者你是美国公民或绿卡持有者,通过加拿大转机通常是不会有太大的问题。 只需要注意的是,进入美国的海关检查是在加拿大完成的,不是在美国本土完成的。 温哥华机场的 E 航站楼就是为了给进入美国的航班准备的。 能顺利到达 E 航站楼的登机口就说明已完成了所有的检查程序。 https://www.isharkfly.com/t/yvr/16806/1

2025年01月17日 0Comments 815Browse 0Like Read more
U.S.

麓山行

仓促的时间并没有把爬山安排成年末的一次行动,无奈架不住孩子们期待的眼神和希望挑战下自己的信心便决定前往。 交通工具的发展让人们有了很多的选择,小朋友们却希望选择效率最低的一种方式 —— 地铁。 都说公共交通是一座城市的窗口,要想更多的了解一座城市更需要放慢脚步来感受一座城市的心跳,公共交通扮演这个角色让来到这个城市的人触摸到城市的脉搏。 虽小朋友的选择只是出于一种好奇,但实在找不到拒绝的理由。 地铁湖南大学 20 多年前,湖南大学校内出发有能过河 立珊专线 和不过河的 305 路,当然还有一班 202 路开往另外的方向。 立珊专线的终点站是中南大学,途径湖南大学和湖南师范大学,把河西的几个高校都串成了一条线,也是学生们去商业区打牙祭的必选线路。 要去长沙火车站,不带行李,305 路转 12 路是不错的选择。立珊专线实在是太挤了。 对踩着末班车回宿舍,又不想打车的穷学生来说,上面 2 条线路是 20 多年前为数不多的选择。 多年前能够过湘江就只有湘江 1 桥,不像现在隧桥一大堆。 地铁的开通,出口就在曾经宿舍的楼下,感叹于时间的飞逝。 地铁口出来没多远就会路过湖南大学体育场,顺着体育场的路往上走很小距离来到了东方红广场,正对东方红广场的右侧是湖南大学图书馆和自卑亭。 自卑亭并没有爱晚亭出名,是一个小亭子并经大门紧锁。 湖南大学没有校门,多年前貌似有提议说弄个校门,最后还是不了了之。为了表示这是一所大学,在湘江入口的地方弄了块大石头写上湖南大学就算完事了,这块石头还是 20 多年前长沙对沿江路进行改造的时候顺便给立上的。 毕业那年还和这块新立上去的石头亲切合影。 出了教学楼就是小卖部和一路吃,随后就可以愉快的边吃边回宿舍。能开心边吃边压马路的体验估计也只有湖南大学才有了。 来美国后也去过不少大学,大部分大学的布局都和湖南大学差不多,也基本上没有校门,更没有保安一说,大学不应该就是这个样子吗? 爱晚亭 爱晚亭坐落在中国湖南省长沙市岳麓区岳麓山清风峡,同安徽省醉翁亭、杭州市湖心亭、北京市陶然亭并称“中国四大名亭”。 现今,游人如织。 要移动下都比较困难,就算拍照想留下比较简单的背景都不容易。 岳麓山景区不收费,也许是来到长沙的人都想来看看的原因吧。 虽学生那些年岳麓山的旅游大巴也很多,但真的没有现在这么多人,上岳麓山都有很多小路可以走。 走爱晚亭的这条路是大路,大学生都喜欢标新立异,不走寻常路,所以爱晚亭这条山上的线路其实走得并不多。 上山小径以爱晚亭为起点,上顶为终点,早已过了学生时代的豪迈。如今携家人漫游小径却成了走在队伍最后的那个人,没有了与人一教高下的心境,多了悠闲的坦然。孩子们却争先恐后的希望自己能第一个等顶,我却成了最后一名,随手拾起孩子们散落在周边的衣物,留下的一句话是:爸爸我们先走了,帮我们带下衣服。 却也只闻其声,不见其踪。 远眺长沙城 岳麓山紧邻古城长沙,自古以来是文人墨客必游之地,山下有四大书院之一的岳麓书院,也是中国现今保存最完好的一座古代书院。 历代留下的文化遗迹以晋初麓山寺、隋舍利塔、唐李邕麓山寺碑、宋岳麓书院、禹王碑、明云麓宫、清爱晚亭最为著名。 在迈向山顶的小路上都能看到一些著名的墓葬。 长沙周边没有什么大山,岳麓山的地理位置和战略地位对长沙城来说极为重要。 中国对日抗战中后期的第三次长沙会战,由薛岳等人率领的中华民国国军即是在此山指挥炮兵团向进犯的阿南惟几率领的日本军攻击,使日军被歼灭甚多。 登顶当天,天气不好,留下了远眺长沙雾蒙蒙的遗憾。 麓山行,20 多年后的深冬,争先恐后的人已慢慢留在队尾。 https://www.isharkfly.com/t/topic/16805

2025年01月17日 0Comments 608Browse 0Like Read more
Computer Science

Java 中的 ZoneOffset

介绍 在我们的这个世界上因为地球是圆的,所以每个国家都会有自己特定的时区。 时区在我们对时间的使用上扮演了非常重要的角色。但又因为时区的存在,又给我们带来了很多的麻烦,比如北美地区使用的夏令时和中国统一使用东 8 区的时间等。     当这些时间在我们计算机中进行体现的时候就会给我们带来不少的麻烦,为了解决这些麻烦,Java 提供了一些 API 来进行处理,比如用到的 Date,Time 和 DateTime。 我们都知道,Java 的时间处理因为 API 的使用会变得非常的繁琐,所以在新的版本 Java 中,Java 尝试解决这个问题,为此开始提供 ZoneId 和 ZoneOffset API 来管理时区。 在本文中,我们将会对 ZoneId 和ZoneOffset 进行一些探讨,同时也对 DateTime 类进行一些探索。 ZoneId 和 ZoneOffset 在 JSR-310 发布的版本中,Java 添加了一些 API 用来管理日期,时间和有时区的时间。 ZoneId 和 ZoneOffset 类做为上面更新的一部分也同时添加到了 Java 中。 ZoneId *ZoneId 在 Java 中被用来表示时区,例如 ‘Europe/Paris‘. 针对 ZoneId 有 2 个实现,第一个实现是针对 GMT/UTC 来计算偏移量。 第二个实现为使用距离的地理区域,这会针对 GMT/UTC 对比来进行一系列的计算。 让我们来创建一个 Berlin, Germany 的 ZoneId 实例。 ZoneId zone = ZoneId.of("Europe/Berlin"); 针对中国可以使用的时间定义为标准北京时间。 ZoneId zoneId = ZoneId.of("Asia/Shanghai"); 但使用的时间字符串为上海。 ZoneOffset ZoneOffset 集成了 ZoneId 同时来定义了当前使用的时区针对 GMT/UTC 的偏移量,例如:+02:00。 这就意味这个这个数字表示的是针对 UTC 标准时间使用的固定小时和分钟数。 LocalDateTime now = LocalDateTime.now(); ZoneId zone = ZoneId.of("Asia/Shanghai"); ZoneOffset zoneOffSet = zone.getRules().getOffset(now); logger.debug("zoneOffSet: {}", zoneOffSet); 上面代码的输出为: 09:13:25.045 [main] DEBUG com.ossez.datetime.DateTimeZoneUnitTest - zoneOffSet: +08:00 因为北京使用的是东八区的时间。 针对同一个国家可能有 2 个针对 UTC 时间的偏移量——这些国家主要是使用夏令时的国家。比如说美国就是一个使用夏令时的国家。 因此,针对这些国家 ZoneOffset 就会有 2 个实现了,具体需要参考 LocalDateTime* API 中的实现。 DateTime 类 下一个,让我们来讨论下 DateTime 类,这个类实际上将会使用 ZoneId 和 ZoneOffset。 ZonedDateTime ZonedDateTime 是不可变(immutable )的实现,这个用来输出一个基于 ISO-8601 表达方式的时间。 例如: 2007-12-03T10:15:30+01:00 Europe/Pari。 一个 ZonedDateTime 将会表达有 3 个部分,分别为LocalDateTime, ZoneId 和 ZoneOffset。 这个类将会保存有所有的日期和时间字段来精确的表达时间,时区和时区偏移量。 我们用这个来处理模糊的本地时间。 例如:, ZonedDateTime 可以保存值 “2nd October 2007 at 13:45.30.123456789 +02:00 in the Europe/Paris time-zone”。 让我们使用 ZonedDateTime 来显示当前的时间。 @Test public void ZonedDateTime_out() { ZoneId zone = ZoneId.of("Asia/Shanghai"); ZonedDateTime date = ZonedDateTime.now(zone); logger.debug("date: {}", date); } 上面程序的输出为: 09:32:04.549 [main] DEBUG com.ossez.datetime.DateTimeZoneUnitTest - date: 2025-01-16T22:32:04.547368100+08:00[Asia/Shanghai] 从实例化的输出来看,保留了非常多的时间信息。 我的计算机是现在东部时间,可以看到获得的实例已经转换成了北京时间。 ZonedDateTime 同时还提供了内置函数来从一个时区转换为另外的一个时区。 ZonedDateTime destDate = sourceDate.withZoneSameInstant(destZoneId); OffsetDateTime OffsetDateTime 是不可变的的一个日期时间,这个日期时间使用的是针对 UTC 的偏移量来进行保存的,同样使用 ISO-8601 格式。 例如:2007-12-03T10:15:30+01:00. 这个类将会保存有所有的日期和时间字段来精确的表达时间,时区和时区偏移量。 例如:OffsetDateTime 可以寸尺值 “2nd October 2007 at 13:45.30.123456789 +02:00”。 让我们来获得针对 GMT/UTC 2 小时偏移量的 OffsetDateTime : ZoneOffset zoneOffSet= ZoneOffset.of("+02:00"); OffsetDateTime date = OffsetDateTime.now(zoneOffSet); OffsetTime OffsetTime 是不可变的的一个时间。 通常这个时间使用 hour-minute-second-offset 来进行表达,在 ISO-8601 日历系统中将会输出为:: 10:15:30+01:00。 这个类只会存储时间,不会对日期进行存储。 可以使用 “13:45.30.123456789+02:00” 来对其初始化。 让我们来获得 OffsetTime 2 个时区的偏离量: ZoneOffset zoneOffSet = ZoneOffset.of("+02:00"); OffsetTime time = OffsetTime.now(zoneOffSet); 结论 ZoneOffset 通常用来处理针对…

2025年01月16日 0Comments 604Browse 0Like Read more
1…3334353637…303
Archives
  • 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,367)
    • Confluence (663)
    • Gradle (12)
  • U.S. (516)
  • 文化旅游 (146)

COPYRIGHT © 2020 CWIKIUS. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

湘ICP备2020018253号-1