Tuesday, May 25, 2021

V2EX - 技术

V2EX - 技术


有没有只需要写后台 api 的博客系统,有现成的前端页面?

Posted: 25 May 2021 05:34 AM PDT

想搞一个个人博客,顺便练习一下后端能力,后期可以不断的增加更多的功能
一方面有个自己的博客,另一方面日常提升下技术
但不会 js,有没有现成的一整套前端页面,让我只需要写后台 api 即可
谢谢大家

关于 springboot 的 ajax post 请求的问题

Posted: 25 May 2021 05:24 AM PDT

我使用 m1 Macbook 想做个 demo 玩玩,但是请求后端就开始报错了,请大佬帮忙看看。 使用 Springboot 2.2.6.RELEASE+thymeleaf+mybatis-plus+mysql

前端 js:

    function login() {         $("#loginForm").validate({             submitHandler: function (form) {                 doLogin();             }         });     }      function doLogin() {         g_showLoading();//显示 loading 动画          var mobile = $("#mobile").val();         var inputPassword = $("#password").val();         alert("mobile:" + mobile + ",password:" + inputPassword);         var salt = g_password_salt;         var str = "" + salt.charAt(0) + salt.charAt(2) + inputPassword + salt.charAt(5) + salt.charAt(4);         var password = md5(str);//md5 加密         console.log(password);//这里打印不出密码          var data = {}         data.mobile = mobile;         data.password = password;          $.ajax({             url: '/login/doLogin',             type: 'POST',             dataType: "json",             cache: false,             //async: true,             data: JSON.parse(data),             success: function (data) {                 layer.closeAll();                 if (data.code === 200) {                     layer.msg("登录成功");                 } else {                     layer.msg(data.message);                 }                 //return false;             },             error: function () {                 layer.closeAll();             }         });     } 

controller:

@Controller @RequestMapping(value = "/login" , method = {RequestMethod.GET,RequestMethod.POST}) @Slf4j public class LoginController {     @RequestMapping(value = "/toLogin", method = RequestMethod.GET)     public String toLogin() {         return "login";     }      @RequestMapping(value = "/doLogin", method = RequestMethod.POST)     //@PostMapping("/doLogin")     @ResponseBody     public RespBean doLogin(@RequestBody LoginVo loginVo) {         log.info("{}", loginVo.toString());         System.out.println(loginVo.toString());          return null;     }  } 

在浏览器输入 http://localhost:8080/login/toLogin 可以访问到页面,然后点击登录调用 doLogin()方法,前后后端没有报错,但是后端的打印也不会打印到控制台;但是去掉 @RequestMapping(value = "/login" , method = {RequestMethod.GET,RequestMethod.POST})类上面这个 method 的话会报 405 post not support 。 并且使用 postman 调用接口都会报 404,排查了好久都没有解决。

Java 收徒 7 天后情况汇报

Posted: 25 May 2021 05:22 AM PDT

在 @005008 大佬的帖子 https://www.v2ex.com/t/777473 带动下,我也附上了自己的联系方式,然后两天之后有 16 名小伙伴加了我。小伙伴们加了我之后,首先我做了一个自我介绍,告诉大家我擅长的地方和拥有的经验以及踩过的坑,小伙伴们都很客气,表示了理解和感谢,这样子大家就建立了联系。因为我始终觉得群的方式不能够有效的传递经验和信息,所以我和小伙伴们采用 1V1 的方式,给小伙伴们开放了随时的问询通道。当然我现在已经从大厂离职,处于一个半 Free 的状态,有很多时间。给大家汇报下这一周以来的学习情况

16 名小伙本加了我联系方式后,
1.7 天内有过互动的有 11 位 有 5 位小伙伴加了微信后直接就消失了,其中有 2 位删除了联系方式
2.7 天内主动问过我问题的有 4 位 ,问题基本上属于 新技术上的不理解和 不会应用上 我这边给出了相应的解释和解决方案,小伙伴们表示基本认可
3.7 天内我这边周末的时候,主动推送了我之前碰到的经典的面试题,周六下午推送,截止的提交作业的时间是周末晚上,期间能够挑战成功的小伙伴人数为 1 位,主动思考并经过提示后挑战成功后 6 位,最后直接看答案的有 3 位。
4.周一下午我推送了一个消息,希望大家有问题有时间的能够提出来,但是发现效果一般


补充一下,学员的学习经验分布在
1 年 2 名
2 年 5 名
3 年 4 名
4 年 2 位
5 年 1 名

互动较多的在 1-3 年经验中。
经过以上之后,我分析了以下几个情况
1. 对于 3 年或者 3 年以上的学员来说,基本上已经度过了最难熬的时候,对于各种问题的处理都有了自己的想法和看法,但是好奇心和求知欲也慢慢到了一个低点,有个学员给我提了一个躺平的想法,哈哈 ,这个着实让我惊讶一些
2. 这一次没有看到大学生,只有一个是研究生,但是全程无互动,所以这一次我决定开放大学生,如果 v 站上有
3. 再次招新,对于我而言,1 我可以整理输出自己的知识 2 能够帮助到别人 本身也是一个快乐的事情

7 天之后,我再一次开放收徒,鉴于上一期运行的结果,这一次有一些要求,需要的小伙伴可以看下
1. 我会首先把我的个人介绍发给你,如果符合你的需求,你可以留下,如果不符合,你可以选择告诉我离开,膏之后删除我联系方式即可。
2. 仅限大学生和 2 年工作经验(包含 2 年)的小伙伴们加入,因为你们需要解答的问题可能会更多一点
3. 积极参加周末的提升计划,这个计划基本上就是一个算法题或者一个面试题,再或者是一个项目的讲解
4. 其他时间也开放给小伙伴
最后希望大家能过珍惜学习机会,我也会尽量长期的帮助到大家,我也把我的师傅 @fankay 拉进了这个辅导计划中,对了,大家最关心的点,我们的辅导计划是免费的,请大家放心。
如果大家需要我的辅导,加我的时候请备注:xx-坐标-x 年经验-java/python
我不清楚这里是否能够发联系方式,如果有需要的可以找一下上一个帖子。

真有人觉得 Git 会提高生产力?

Posted: 25 May 2021 05:16 AM PDT

以前一直觉得 Git 挺好。不过最近做了一个 feature,改了一大堆文件。这些文件别人也在改,有非常多 commit 。在 Git 合并,解决冲突,rebase 上花的时间远超以前用 svn/perforce/tfs 。


看这么多人吹 git,不知道逻辑是什么,难道一个更加复杂的东西使用时会花费更少的精力?

svn 这种中心化模式,一个人 merger 好了,其他人 sync 一下即可。现在用了 git 每个人都要管理自己的 branch,自己去做 merge 同步,真觉得这样省力?

难道你们都是一个人在开发 ?一个冲突没有?

请教一下大家这个脚本怎么写

Posted: 25 May 2021 05:16 AM PDT

有个文本文件,N 行
```
a1.txt
a7.txt
d9.log
3j.log
i6j.log
.
.
.
j34.ini
l32.ini
34j.ini
```
现在想把包含 log 的行里面的数字去掉,类似这样:

d9.log -> d.log
d1.log -> d.log

请假一下大佬们应该怎么写啊

Dropbox 也推出了自己的密码管理软件 Dropbox passwords

Posted: 25 May 2021 05:16 AM PDT

看 app store 的评论好像不大好用😄,
https://www.techradar.com/news/dropbox-passwords-will-soon-be-free-for-all-users
不知道大家有没有试过,等下去下载个体验下.

腾讯云轻量无忧计划简要总结

Posted: 25 May 2021 05:11 AM PDT

一、拉人头的代金卷

24 小时可以助力一次,没拉满人头 24 小时之后可以重新开,建议是两个人互相领(感觉公开的都是秒被点满)

1.第一次给别人助力,拿到的是购买活动机型的优惠

2.从第二次助力开始,最多可以领 5 张优惠卷,优惠卷都是可多次使用、全地域可用的。目前看有 10/30/100/200 的,基友运气蛮好的拿了 3 张 100,我就一堆 10 块的……

3.10 块的卷有人骚操作改 post 的参数按天续费,惊了(按天续费对无忧计划的套餐没用)


二、续费同价的机器

活动的机型两款,没需要就别到处拉人头了,没必要

1C 2G,50G 存储,4Mbps 带宽,500G 月流量,15/月

2C 4G,80G 磁盘,6Mbps 带宽,1200G 月流量,56/月

怎么说呢,这个不如上次升配的学生机,常规机器里还行,感觉也不如一般活动。买了的话也就是一个续费同价,但是像常规活动一样三年后谁又能说得清楚到时候这个配置什么价格呢?

有需要才划算,理智消费吧~(域名那个懒得看了,不太感兴趣)


官方宣传文案: https://mp.weixin.qq.com/s/vJHULLKWoEa4fHxq43cb2g

酷安上架总是审核未通过,什么原因都不给,请问有办法吗?

Posted: 25 May 2021 05:05 AM PDT

因为软著还没有下来,准备先申请酷安,奈何总是审核未通过,而且什么原因都不给,一头雾水。

有哪位大佬知道是怎么回事吗?

PS: 只是一款背单词的应用,没有社交其它要上传特定证件的属性。IOS 已上架 N 个月。

做了一款手机游戏,被反编译+二次植入广告了,该怎么办?

Posted: 25 May 2021 05:02 AM PDT

如题,这个问题分为几个场景,逐渐深化,请大佬们指点:

  1. 无广告的 App 被反编译,并植入了广告;
  2. 有广告的 App 被反编译,并修改了广告 ID (改为反编译者的帐号);
  3. App 被反编译,并修改了广告 ID,甚至加入了鬼畜的内购系统……

(这个 3 不是我,但是我见到的一个实例:一款没有广告、没有内购的独立手机游戏,玩起来还不错,被反编译成了广告+内购的版本,发布在盗版网站上)

得知自己的游戏被反编译,目前的操作:

  1. 未加壳(因为不懂,不知道选用哪家的壳比较合适);
  2. 改 Unity 编译为 L2CPP 编译(编译时间提升了不少,还不知道效果);
  3. 加入了强登录 + 抽卡数据存于服务器;

帮忙看看为什么这段脚本放到 crontab 中就运行不了?

Posted: 25 May 2021 04:57 AM PDT

目的是保存最新的 10 条记录,把多余的文件删除,在命令行中是可以运行的.但是放在 crontab 中就执行不了..

环境是 CentOS7, 麻烦能帮忙指出哪里有问题么?

* * * * * ls -rt /root/playground/linux/ | head -n -10 | xargs rm -f 

还试了

* * * * * ls -rt /root/playground/linux/ | head -n -10 | xargs -d '\n' rm -f 

作为一名前端开发,是应该拥抱腾讯生态还是阿里生态?

Posted: 25 May 2021 04:51 AM PDT

我是一名前端开发,这几天一直想把自己的开发环境和自己用的一些产品重新整理一下。目前国内基本就是阿里和腾讯两大阵营了。我说的生态不仅仅是作为程序员所存在的开发生态(腾讯云还是阿里云),也包括普通人日常生活的一些生态。(比如微信支付还是支付宝支付,微云还是阿里云盘,京东还是淘宝 饿了么还是美团 等等)。我一般不会两家都选,因为我感觉那样会很乱。


我现在目前还是偏向腾讯会更多一点,主要有几点原因:

  • 1 、自从每年双十一淘宝的活动和京东的活动一对比,我就对阿里没什么好感了,感觉阿里好坑用户。阿里每年比京东赚那么多,搞活动的时候还那么扣。不仅仅是淘宝,支付宝有时候搞活动,红包就几分钱。我就想问,那几分钱有什么用?有时候想尽办法让我点进活动入口,进去就领了一张 1 元话费券。就。。。挺无语的。

  • 2 、现在微信和支付宝的都在做生活服务(就是把一些老百姓日常需要的一些服务整合到线上,比如车管所,社保,医院挂号,买票),支付宝现在好像升级成了市民中心。虽然两家提供的功能都差不多,但是我每次需要这些服务的时候,还是会优先选择微信。因为每次打开支付宝,就很乱,这个模块是推基金,那个模块推保险。我根本找不到入口,而微信就很简洁,而且微信的 UI 比支付宝好看太多太多了。

  • 3 、再说说外卖平台吧,我每天中午在美团领的红包就是比饿了么多,而且同一家店铺,商家在美团设置会员兑换红包金额是 10 元,在饿了么设置的会员兑换红包就是 7 元。所以我肯定闭着眼选美团啊。

  • 4 、上面说的都是跟我们普通人相关的生态,再说说我们程序员吧。作为前端,我以后可能会接触到小程序,所以只能选择腾讯。毕竟微信这个东西就蛮厉害的。而且我觉得腾讯的 WEB 产品,UI 的设计就是比阿里的好看,就是比阿里的简洁。(我稀罕好看的)对比一下腾讯的各个产品的官网和阿里各个产品的官网你们就知道了。但是有一个特例,在 在线文档 领域,腾讯文档、语雀、飞书这三者,飞书绝对 NB !(颜值绝对在线!)

  • 5 、另外网盘方面,由于我已经对阿里已经很失望了,感觉不会给我们带来什么惊喜了。阿里云盘现在不限速,空间也很多。但是我始终感觉,阿里的尿性,以后肯定会恶心用户。所以我现在用微云,因为我现在想把所有的东西都往腾讯这边转。

  • 6 、阿里和腾讯对标的产品还有很多,不可能全都列举出来。反正我就感觉阿里的产品,或者被阿里收购的产品都有两个特点:页面乱、坑用户(不愿意给用户福利),腾讯至少每个产品都很简洁。至少能一眼找到想要的入口。

  • 7 、腾讯也不是哪哪都好,我也知道,腾讯云的产品和服务,肯定没有阿里的稳定。但是没办法,你要做小程序开发,那你肯定离不开腾讯云。不能开发小程序,后台用阿里云吧。

  • 8 、以上的言论并没有贬低阿里的意思,纯属个人观点。阿里和腾讯都是两家很好的公司,但是用过这么多的产品,总感觉腾讯系的产品更符合我。我现在的原则就是:当我要选择一个产品或者技术时,先去看腾讯有没有这个东西,如果有,就用腾讯。如果没有,再考虑其他大厂。

    所以,想请教一下 V 站的朋友,你们是会选择阿里生态还是腾讯生态?

没有 root 权限,怎样能够轻松方便地装软件呢?

Posted: 25 May 2021 04:39 AM PDT

没有 root 登陆了一台 linux 服务器,没有 docker 也没有 singularity 、proot 、chroot 等。但需要使用大量 github 的开源软件,请问这种情况下有什么轻松方便的方法呢?

有那种远程应用吗?

Posted: 25 May 2021 04:33 AM PDT

因为在 Linux 上使用 windows 的某些软件(根本没有)不方便(wine,虚拟机),于是想到有没有那种先启动一个 windows 虚拟机 /实体机,然后类似远程控制那样,只是不返回整个桌面,而是某个应用(也就是局部的,根据句柄啥的获取到窗口),同时交互什么的最好也能跟上,不知道有没有这种软件一键实现了的?

降低视频文件中画面的码率是怎么个原理?逐帧图片降低质量吗?

Posted: 25 May 2021 04:18 AM PDT

是有不同算法吗?用哪个参数来设置的?

如何把 8 台主机的显示输出同时输出到一个大屏幕上进行监控?

Posted: 25 May 2021 03:50 AM PDT

如何把 8 台主机的显示输出同时输出到一个大屏幕上进行监控? 网上找了半天也没找到解决方法,京东一搜索都是切换器(不能同时显示) 来 v 站问问,说不定又惊喜

Linux 有没有镜像备份和恢复的软件?

Posted: 25 May 2021 03:43 AM PDT

方便在折腾系统崩溃时恢复系统。谢谢。

js 如何解决移动端 webview 滚动穿透的问题.

Posted: 25 May 2021 03:17 AM PDT

在开发一个 app 的部分 webview 功能,把页面滑动到页面的最顶部或最底部时候,页面因为惯性作用,还会往下或往上滚动一段距离后出现空白的背景再回弹.如何禁止这个滚动回弹的效果.

被一加的更新恶心到了

Posted: 25 May 2021 03:09 AM PDT

  用的一加 6t H2OS,早上醒来打开手机屏幕上弹出个什么框框没在意按掉了。接着发现好多应用的图标不一样了。我的应用有 google play 的都是 play 上安装的,全是手动更新的。然后打开自带的应用商城,什么 wlan 自动更新,消息推送全打开了。主屏幕左侧的快捷工具栏好像也不一样了,天气里面的城市也都没有了。应用管理的界面好像也多了应用图标。

  我推测是手机晚上搞了个热更新?然后应用商店搞成默认的设置把我所有应用都更新成国内版本的?我是真的被恶心到了,众所周知应用商店的应用和 google play 版本的是不一样的,版本也高,我要恢复还要全部卸载了。仔细想想以前也发生过这个事情,给我全部应用更新了一遍。上次情况我都不知道什么时候更新的。

  绕过用户把用户的应用更新到最新版本。系统里面也不知道更新进去什么东西。这么恶心的行为我不觉得是个 bug 。这个行为作为用户感觉无解啊,我又不可能不用 wifi,有 wifi 时候他可以随时给你来个自动更新,还不受控制。

良心云轻量应用服务器助力

Posted: 25 May 2021 03:01 AM PDT

不知道有什么优惠,有人上车吗

https://d2l.ink/NlSwsm

倒是希望多点后端前端各种收徒的,有时候业务问题没人问和讨论,真的不好成长(寻后端师傅

Posted: 25 May 2021 02:34 AM PDT

如题...

广告位:寻找一名 php 或 go 方面的师傅~!

我现在看到 pulsar 这个东西我烦,天天看到公众号里推卖这个课的广告

Posted: 25 May 2021 01:47 AM PDT

有段时间集中轰炸马士兵的课,现在都是这个沙雕 pulsar,有必要这么集中密集的推广吗

目前有好用的安卓模拟器用么?

Posted: 25 May 2021 01:15 AM PDT

能支持抖音,天翼全家桶的。。。最好绿色无广告的。。如果没有。。有广告的也可以。。感谢 v 友推荐分享

多台主机共用一个操作系统

Posted: 25 May 2021 01:02 AM PDT

有点类似与网吧的无盘系统,比如我现在有三台主机,平时用的软件比较多和杂而且经常更新,所以希望装到一个系统里去,有没有啥靠谱的解决方案

brew3.0+如何安装指定版本软件?

Posted: 25 May 2021 12:02 AM PDT

之前 brew2.0+的时候可以通过扒指定版本的 name.rb 文件,通过 rb 文件安装,升级 brew3.0+后无法使用这种方式了。brew install name@version也不行。

有个 idea, API 转发计费,请教下有没有这样的类似开源系统。

Posted: 24 May 2021 11:30 PM PDT

客户 A 请求我的 api,比如 a=1&b=2,通过整理字段改成 aa=1&bb=2 转发给后端 api 服务器,后端 api 服务器返回 json 不是标准 msg data code 格式,需要解析转化成 code:200,data:xxxx,msg:xxx 回复给客户 A 。并完成客户 A 的消耗计次计费。

整理规则可能高端了点,API 转发+计费不知道有没有?

不知道有没有人见过跟这种需求类似的开源系统,前人肩膀上再二开优化下~感谢

前端收徒后续(凑热闹)

Posted: 24 May 2021 11:23 PM PDT

很久以前我看到一个前端收徒贴,也跟风凑热闹发了个贴: https://www.v2ex.com/t/760721

最近看到各种收徒贴更新后续,也跟风凑个热闹叭~~

反观了下自己的群,不像其他大佬进度那么明显,毕竟打工人还是要打工的。除了有些时候正经讨论技术,大部分都是在吹水哈哈哈哈哈。其实刚开始我也认为技术群需要严肃一点,后面发现其实每天写 bug 也挺不容易的,大家发的表情包和沙雕图也特别有意思,对现在的群感觉也整挺好的。

说说自己的想法吧:

  1. 程序员的学习大多时候还是要靠自己和搜索引擎,其他人很多时候只能给个方向作为参考。
  2. 新人需要更加勇敢地在群里提问,不要觉得不好意思,其实你遇到的问题很多时候其他人也会遇到,群里问问题会比单人问问题有效很多。
  3. 问问题的方式很重要,问题是否描述清楚了、有没有事先搜索过相关问题、最好能用 codepen 提供能复现问题的 demo 代码,这几点做到了,基本上问题都会有人回复。

其实很多时候新人问的问题我也答不上来,更多时候也都是自己搜索一遍去解答,所以对这一类问题更倾向于大家自己尝试去解决,毕竟搜索和解决问题的能力在工作中也需要慢慢培养的。更多的时候,我会倾向于回复大家一些方向性的问题,之前也在群里收集过大家的一些疑问,也有整理出一些方向性的内容。

最近比较沉迷用视频的方式来讲解,个人认为主要两个可以看看:

  1. 前端入门小技巧: https://www.bilibili.com/video/BV1f54y1G76V/
  2. 前端进阶路线图: https://www.bilibili.com/video/BV1gK4y1N7Qp/

其实帮别人解答问题的过程,自己也能学到很多。但是如果一对一地解答,可能对提问的人来说效率很高,但对回答的人来说效率较低。所以很多时候,我更倾向于将这些疑问整合,然后一起解答,然后通过文章或者视频的方式沉淀下来,方便后面更多人可以直接阅读。

我会持续更新"前端开发那些事"系列视频,主要会围绕项目和开发经验相关的内容进行介绍,也非常欢迎大家把想要听到的一些内容告诉我,可以在该帖子下留言,或者在这个 issues 里留言也可以: https://github.com/godbasin/5-minutes-help/issues/6

最近发帖有些频繁,如果有打扰到大家,说声抱歉~~

求教各位老哥一个问题

Posted: 24 May 2021 11:20 PM PDT

现在有个需求在 xml 配置文件中配置一个服务的端口,由于我们的机器上一般会启动数量不固定的实例,为了防止端口重复需要配置文件的端口配置化。 愿本我想通过配置自定义启动参数,然后在 xml 配置文件中用$去取环境变量的值,但是 port 这个配置项是通过 xsd 校验必须要 int 即数字类型的才能校验通过,用$取值直接报错。 还想过通过 profile 来做,但是由于多个实例可能会需要四份配置文件,为了一个端口感觉太浪费了。也想过启动的时候读取重写 xml,但是实现起来并不轻松。 各位老哥有什么思路,能指导下吗?手机打的排版很差,请见谅。

自 2021 年 6 月 22 日开始,新版 Android 将不再支持在 MacOS 或 Windows 上构建

Posted: 24 May 2021 11:00 PM PDT

分享一个 Spring Boot 工程打 Docker 镜像非常方便的 pom,你也 Docker 的距离就差一个好用的生成镜像的工具,求大佬点评改进!

Posted: 24 May 2021 10:27 PM PDT

  1. spring-boot-maven-plugin自带的生成镜像功能超级慢。因为他要访问 Github 里面的东西,自己的电脑还好,CI 就扛不住了,在墙内的同事也扛不住了,而且那套逻辑也比较复杂灵活,不好掰出来里面的东西,这个一票否决。

  2. 使用这种方式不需要每个工程一个Dockerfile,比如你想给所有项目的 Dockerfile 修改一些配置,此处修改一次,所有工程通吃。

  3. 这个一个 pom 工程,deploy 到私服上之后,下面的 Spring Boot 工程可以使用此 pom 作为 parent 代替 spring-boot-starter-parent 。如果你们已经有自定义的通用 pom,这个也可以被轻松整合进去。

  4. 利用了 Spring boot 2.3 引入的分层构建,每次重新构建镜像会复用上面的层,导致上传一次镜像到远程仓库之后,后面上传镜像都很快,从本来的要上传几十上百 M 缩减到现在的几 M 甚至 1M 不到(这个根据自己的工程体量)。Spring Boot 2.3 以下不可使用

  5. 保持清爽,不堆重复配置,按照约定大于配置原则,不像某些工程,一个 pom 光<build>都几百行,其实大部分内容都是从网上上拷的,起不到作用。这个 pom 指定了很少的只是必须的内容,你可以轻轻松松的把其揉进已存的 pom 里面去。

  6. 按照<profile>的 activation 机制自动识别 Spring Boot 工程,非 SpringBoot 工程也能正常把其作为 parent,而且会自动屏蔽掉镜像构建。

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">     <modelVersion>4.0.0</modelVersion>     <groupId>com.example</groupId>     <artifactId>spring-boot-docker-parent</artifactId>     <version>0.0.1-SNAPSHOT</version>     <packaging>pom</packaging>      <properties>         <!-- TIPS: 默认使用的是 11         <maven.compiler.target>1.8</maven.compiler.target>         <maven.compiler.source>1.8</maven.compiler.source>         -->         <maven.compiler.release>11</maven.compiler.release>         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>         <version.spring-boot>2.4.5</version.spring-boot>     </properties>      <dependencyManagement>         <dependencies>             <dependency>                 <groupId>org.springframework.boot</groupId>                 <artifactId>spring-boot-dependencies</artifactId>                 <version>${version.spring-boot}</version>                 <type>pom</type>                 <scope>import</scope>             </dependency>             <!-- TIPS: 添加其他依赖声明!此 pom 声明依赖版本,下面的工程不指定版本 -->             <dependency>                 <groupId>org.apache.commons</groupId>                 <artifactId>commons-collections4</artifactId>                 <version>4.4</version>             </dependency>             <dependency>                 <groupId>commons-io</groupId>                 <artifactId>commons-io</artifactId>                 <version>2.8.0</version>             </dependency>             <dependency>                 <groupId>com.google.guava</groupId>                 <artifactId>guava</artifactId>                 <version>30.1.1-jre</version>             </dependency>             <dependency>                 <groupId>com.google.code.findbugs</groupId>                 <artifactId>annotations</artifactId>                 <version>3.0.1u2</version>                 <scope>provided</scope>             </dependency>             <dependency>                 <groupId>org.jetbrains</groupId>                 <artifactId>annotations</artifactId>                 <version>20.1.0</version>                 <scope>provided</scope>             </dependency>             <dependency>                 <groupId>org.mapstruct</groupId>                 <artifactId>mapstruct</artifactId>                 <version>${version.mapstruct}</version>             </dependency>             <dependency>                 <groupId>org.mapstruct</groupId>                 <artifactId>mapstruct-processor</artifactId>                 <version>${version.mapstruct}</version>             </dependency>         </dependencies>     </dependencyManagement>      <build>         <plugins>             <plugin>                 <artifactId>maven-source-plugin</artifactId>                 <version>3.2.1</version>                 <executions>                     <execution>                         <id>attach-sources</id>                         <goals>                             <goal>jar</goal>                         </goals>                     </execution>                 </executions>             </plugin>         </plugins>         <pluginManagement>             <plugins>                 <!-- TIPS: 使用 JDK11,如果不指定 maven-compiler-plugin 版本的话,默认版本较低,会导致编译失败                         如果使用 JDK8 或者以下,则此处声明可以删除,使用 Maven 默认指定的编译插件版本 -->                 <plugin>                     <artifactId>maven-compiler-plugin</artifactId>                     <version>3.8.1</version>                 </plugin>             </plugins>         </pluginManagement>     </build>      <!-- TIPS -->     <!-- 默认将构建镜像流程放到了 package 这个 phase,如果想放到 deploy 这个 phase,可自行修改 execution 下面的 phase          mvn fr.jcgay.maven.plugins:buildplan-maven-plugin:list-phase          此 Maven 插件(不需要在<plugin>指定,直接运行 Maven 命令即可)可以帮助查看每个 phase 执行了哪个插件的哪些任务 -->      <profiles>         <profile>             <id>spring-boot-package</id>             <activation>                 <file>                     <!-- TIPS: 根据项目 Spring Boot 工程的特征,执行 profile 激活方式                          比如此处去判断这个文件存在不存在来决定是否启用此 profile -->                     <exists>${basedir}/src/main/resources/config/application.properties</exists>                 </file>             </activation>             <build>                 <plugins>                     <plugin>                         <groupId>org.codehaus.gmaven</groupId>                         <artifactId>groovy-maven-plugin</artifactId>                         <version>2.1.1</version>                         <executions>                             <execution>                                 <id>copy-Dockerfile</id>                                 <phase>package</phase>                                 <goals>                                     <goal>execute</goal>                                 </goals>                             </execution>                         </executions>                         <configuration>                             <!-- TIPS: 下面可以指定运行 JDK 版本号,示例使用的是 adoptopenjdk 11,JVM 启动参数 -->                              <source><![CDATA[                                 import java.nio.charset.StandardCharsets                                  File dockerBuildDir = new File((File) basedir, "target/docker-build")                                 dockerBuildDir.mkdirs()                                  def dockerfile = """ FROM adoptopenjdk:11.0.11_9-jdk-hotspot as builder WORKDIR /app/ ARG JAR_FILE COPY \${JAR_FILE} app.jar RUN java -Djarmode=layertools -jar app.jar extract  FROM adoptopenjdk:11.0.11_9-jdk-hotspot WORKDIR /app/ COPY --from=builder /app/dependencies/ ./ COPY --from=builder /app/spring-boot-loader/ ./ COPY --from=builder /app/snapshot-dependencies/ ./ COPY --from=builder /app/application/ ./ ENTRYPOINT ["java", "-Dfile.encoding=utf-8", "-Duser.timezone=Asia/Shanghai", "-Xms4g", "-Xmx4g", "-XX:+HeapDumpOnOutOfMemoryError", "org.springframework.boot.loader.JarLauncher"] """                                 fos = new FileOutputStream(new File(dockerBuildDir, "Dockerfile"))                                 fos.write(dockerfile.getBytes(StandardCharsets.UTF_8))                                 fos.close()                             ]]></source>                         </configuration>                     </plugin>                     <plugin>                         <groupId>org.springframework.boot</groupId>                         <artifactId>spring-boot-maven-plugin</artifactId>                         <version>${version.spring-boot}</version>                         <executions>                             <execution>                                 <id>spring-boot-package</id>                                 <phase>package</phase>                                 <goals>                                     <goal>repackage</goal>                                 </goals>                                 <configuration>                                     <mainClass>${start-class}</mainClass>                                     <outputDirectory>${project.build.directory}/docker-build/</outputDirectory>                                 </configuration>                             </execution>                         </executions>                     </plugin>                     <plugin>                         <groupId>io.fabric8</groupId>                         <artifactId>docker-maven-plugin</artifactId>                         <version>0.34.1</version>                         <executions>                             <execution>                                 <id>docker-build-push</id>                                 <phase>package</phase>                                 <goals>                                     <goal>build</goal>                                     <goal>push</goal>                                 </goals>                             </execution>                         </executions>                         <configuration>                             <images>                                 <image>                                     <!-- TIPS:在 settings.xml 里面的<servers>下添加一个<server>指定镜像仓库的用户名和密码                                          CI 环境也可以通过指定 Java 变量参数来指定用户名密码                                             mvn -Ddocker.username=XXX -Ddocker.password=YYY clean package                                         <server>                                             <id>your.registry.domain</id>                                             <username>用户名</username>                                             <password>密码</password>                                         </server>                                     -->                                      <!-- TIPS: 需要在工程下的<properties>下面指定一个 property,dockerImageGroupAndName                                          例如 abc/def -->                                     <name>your.registry.domain/${dockerImageGroupAndName}</name>                                     <build>                                         <contextDir>${project.build.directory}/docker-build/</contextDir>                                         <tags>                                             <tag>${project.version}</tag>                                         </tags>                                         <args>                                             <JAR_FILE>${project.build.finalName}.jar</JAR_FILE>                                         </args>                                     </build>                                 </image>                             </images>                         </configuration>                     </plugin>                 </plugins>             </build>         </profile>     </profiles>      <!-- TIPS: 如需发布到 Maven 仓库,则指定下面的发布仓库地址 -->     <distributionManagement>         <repository>             <id>xxx-release-deploy</id>             <url>https://XXX/repository/maven-releases/</url>         </repository>         <snapshotRepository>             <id>xxx-snapshot-deploy</id>             <url>https://XXX/repository/maven-snapshots/</url>         </snapshotRepository>     </distributionManagement> </project> 

请教下 mud 或文字类游戏有啥好的商业模式呢?

Posted: 24 May 2021 10:15 PM PDT

这个挺小众的,我看有些纯文字类武侠游戏,不知道他们如何盈利的,或就没有盈利吧。

清理 docker registry 的旧镜像,有什么简单的方法吗?

Posted: 24 May 2021 09:40 PM PDT

找了一圈,没有找到简单的方法。

我具体描述一下我的需求:仓库有四个分支 current_feature, master, pre_production, production,其中 master 跟环境没有任何关系。current_feature 对应 dev 环境,pre_production 对应 pre_production 环境,production 对应 production 环境。镜像的标签是 current_feature-latest, current_feature-{shortCommitHash}, pre_production-latest, pre_production-{shortCommitHash}, production-latest, production-{shortCommitHash}。我想删除掉旧的镜像,包含latest 和shortCommitHash 的镜像。

js 与数组的元素绑定 是存储数组元素的 key 还是 直接存储数组元素的对象引用

Posted: 24 May 2021 08:58 PM PDT

const a: Array<{     key: string;     data: Object[]; }> = [] 

另一个对象需要获取这个数组 a 的某个元素,这个对象是保存 key 还是直接保存对 data 数组的引用

Leetcode 高频题重新分类

Posted: 24 May 2021 08:49 PM PDT

重新分类 Leetcode 高频题 2021 版

  • 题目按照面试频率降序排列
  • 增加难度分类,适合从简单开始学习
  • 增加细分类别,例如单调栈,前缀树等,一道题目可能会有多个类别

目录

  • 𐀴 链表
    • 单链表
    • 双链表
  • 𐀴 树
    • 遍历
    • 构造
    • 路径 | 深度 | 翻转
    • 二叉搜索树
    • 前缀树
    • * 线段树
  • 𐀴 栈
    • 基础
    • 单调栈
  • 𐀴 堆
    • 基础
  • 𐀴 二分查找
  • 𐀴 位运算
  • 𐀴 双指针与滑动窗口
  • 𐀴 矩阵
  • 𐀴 动态规划
    • 一维
    • 二维
  • 𐀴 图论
    • DFS
    • BFS
    • * Dijkstra
    • 拓扑排序
  • 𐀴 并查集
  • 𐀴 设计
  • 𐀴 贪心
  • 𐀴 回溯
  • 𐀴 克隆
  • 𐀴 数学
  • 𐀴 * 最大最小策略
  • 𐀴 * 几何

在 Linux Bash 中普通的 glob 只能用于路径名吗?

Posted: 24 May 2021 08:45 PM PDT

我在使用 Bash 之前一直在使用 PowerShell,在 PowerShell 上通配符可以用于很多很多的命令。

但是 Bash 上的通配符好像不是这样,目前看到的所有资料好像都是在将 glob 用于路径名。

而且 echo * 居然会直接显示当前目录下的所有内容,给人的感觉就是所有的字符串只要有*,好像都会首先被解释为路径通配符。

在 bash 中 glob 只能用于路径吗?

如果不是的话,那还用于什么场合呢?

注意:这里指的是普通的 glob,而非 extglob,我知道后者能用于条件表达式的=和!=

几个关于 JVM 的疑问。

Posted: 24 May 2021 07:21 PM PDT

1.局部变量表中的字面量与运行时常量池中的字面量有什么区别?前者是方法中定义的字面量,后者是在类中定义的字面量这样理解正确吗?

2.句柄访问的优势在何处?修改引用和修改句柄的差距在哪里?修改引用是否会影响虚拟机栈对对象的访问?

manjaro 系统上如何播放 ts 媒体文件?

Posted: 24 May 2021 06:39 PM PDT

可以在线播放,下载后发现是 ts 文件,试了好多播放器都不能正确播放,MPV 直接退出,vlc 有声音无图像,SMPlayer 说"额..出错了","No video or audio streams selected"。搜索一圈只看到 ubuntu 系统上安装 ubuntu-restricted-extras-Smplayer 或者 libdvdcss 可以解决无法播放 ts 的问题,但是 manjaro 系统上本就有 libdvdcss,而仓库里也没有与"restricted"有关的解码软件包,何解???

moto 手机刷机,尤其是刷跨区包是不是有大坑?

Posted: 24 May 2021 05:29 PM PDT

下单了一个 MOTO 手机,等快递的时候就在研究刷机,然后发现一个问题:moto 的手机即使同一型号也是按销售区域分硬件的,手机上会写死一个代码表示这货是哪区的,然后不同区域的底包差距还蛮大的,比如国区的包能比欧洲区的包大了 500M,不用说你都可以猜到里面夹带了啥。网上有说刷跨区包会没有信号,会丢失基带,会变砖,甚至售后都救不回,但我实在是想刷上干净的 global 包,该怎么操作呢?

有没有什么验证是在校学生的 API

Posted: 24 May 2021 01:12 PM PDT

有没有什么验证是在校学生的 API~~

phaser 适合用来开发独立 steam 游戏吗

Posted: 24 May 2021 10:27 AM PDT

如题,可以用 electronjs 或者 nwjs 打包成相应平台的应用吗,用 phaser 开发游戏会有什么坑,如果只是一些类似于像素风如星露谷物语,或者是 to the moon 这类的游戏适不适合,我主要是看它可以直接用 js 来写游戏

Java 字符集转换

Posted: 24 May 2021 05:32 AM PDT

请教大佬们,现在有个每行定长文件,一行按长度划分字段(无分隔符,一行表示固定几个字段),目前蛋疼的地方在于源文件是 ebcdic 格式,目前只能得到转码为 GB2312 的文件,这样导致有中文的情况就和原来设定的长度不一样。所以想的是 GB2312 转 ebcdic,这样就可以按原来长度截取得到各个字段。但是不知道咋写~~最终是要按照 ebcdic 转成 GB2312 的文件样子合成一个新的

No comments:

Post a Comment