Tuesday, July 20, 2021

V2EX - 技术

V2EX - 技术

V2EX - 技术


对于程序员来讲 MAC OS 真的比 Windows 和 Linux 更加有生产力?

Posted: 20 Jul 2021 04:29 AM PDT

想买 Mac 但是感觉性价比不高,不过颜值非常高

其实装个 Linux 也行但是微信和钉钉,好多东西不能再 Linux 用不了呀

哎。。。折磨

酷睿 i5 7 代 表示不支持 win11

Posted: 20 Jul 2021 04:28 AM PDT

仔细看了下,目前最低配 是 8 代,7 代有望 22 年以后适配,哎,当年买的也是好 cpu 啊,这么几年已经要淘汰了,感慨万千。

不过我的 i57 代 目前玩 3a 大作没有任何问题 大表哥,Gta5 ,都可以,配上 1060 显卡,很舒服的

有 V 友使用 vs code 开发 Java 大型项目吗

Posted: 20 Jul 2021 04:26 AM PDT

RT,和 idea 比体验如何。 我创建了一个 demo Java maven 项目,折腾了半小时也没启动,一直卡在 java build 转圈😂

gitlab 多域名 ddns 配置

Posted: 20 Jul 2021 04:09 AM PDT

gitlab 是在公司内网部署,rpm 包安装的,用的 gitlab 内置的 nginx 并签发了 ssl 证书,以前是直接让域名解析到内网 IP,现在公司出口设备上取到公网 IP 了,在内网跑了一个 ddns,准备通过 ddns 把内网的 https 暴露到互联网。请问 gitlab 的配置支持多域名吗?

Go-sword 一键生成 CRUD 可视化 web 后台 V2.0.0 升级发布

Posted: 20 Jul 2021 04:05 AM PDT

Go-sword(利刃) V2.0.0

GitHub last commit GitHub GitHub repo size GitHub stars GitHub forks

一款基于 Go 语言的可视化 web 管理后台生成工具包 根据 MySQL 的表结构,创建 CRUD 的管理后台界面,开发者无需再重复手动的创建具有 CRUD 能力的页面,只需要点击按钮即可生成完整的管理后台

官网 https://sunshinev.github.io/go-sword-home/

官方文档更新可能不及时,请以 GIT README.md 为准

升级说明

v2.0.0

  1. 修改为以包引入的方式来启动工具+创建后端
  2. 修改了 stub 的业务逻辑代码
  3. 将所有的代码在生成前,使用 gofmt 进行格式化
  4. 缺点,需要重启项目后端项目才能生效

v1.0.0

  1. 单独的服务启动项目

Gosword 会在项目指定目录,释放一个完整的后台代码,包括前端、后端

重要

  1. 用来生成后端页面的数据表,要有 id,created_at,updated_at 三个必备字段

安装

go get -u  github.com/sunshinev/go-sword 

配置文件说明

项目需要一个配置文件,采用 yaml 格式,除了数据库的配置,主要包括释放的目录、工具端口、后台端口

db:   user: root   password: '123456'   database: test   host: localhost   port: 3306 root_path: admin22 # 后端项目释放的目录 tool_port: '8081'  # go-sword 代码生成工具的端口 server_port: '8082' # 生成的后台项目的端口 

GIN 框架中的应用

  1. 在 Gin 项目中的 main 函数中,开启工具,import 代码包
package main  import ( 	"log"  	"github.com/app/admin22/sword" 	"github.com/gin-gonic/gin" 	gosword "github.com/sunshinev/go-sword" )  func main() {  	r := gin.Default() 	r.GET("/ping", func(c *gin.Context) { 		c.JSON(200, gin.H{ 			"message": "pong", 		}) 	}) 	// 日志 	log.SetFlags(log.Llongfile | log.Ldate)  	// 1. 开启工具->根据 sql 生成项目 	gosword.Init("config/go-sword.yaml").Run()  	// 原始 gin 项目 	_ = r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080") } 

使用gosword.Init加载配置文件,并且在项目中开启工具

gosword.Init("config/go-sword.yaml").Run() 
  1. 后台创建成功后,加入sword.Run,使用另外一个端口开启后端项目
func main() {  	r := gin.Default() 	r.GET("/ping", func(c *gin.Context) { 		c.JSON(200, gin.H{ 			"message": "pong", 		}) 	}) 	// 日志 	log.SetFlags(log.Llongfile | log.Ldate)  	// 1. 开启工具->根据 sql 生成项目 	gosword.Init("config/go-sword.yaml").Run()  	// 2. 加载生成的项目->重新启动 	sword.Run("config/go-sword.yaml")  	// 原始 gin 项目 	_ = r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080") }  

GitLab CI/CD - publish 镜像到私有镜像仓库出错

Posted: 20 Jul 2021 04:01 AM PDT

GitLab CI/CD 的报错如下:

Get https://registry-1.docker.io/v2/library/openjdk/manifests/11: Get https://auth.docker.io/token?scope=repository%3Alibrary%2Fopenjdk%3Apull&service=registry.docker.io: read tcp 172.17.0.2:34818->54.236.165.68:443: read: connection reset by peer 

私有镜像仓库是通过 docker-compose 启动的,docker container logs -f docker-registry_registry_1的日志如下:

time="2021-07-20T10:21:00.32369399Z" level=warning msg="error authorizing context: basic authentication challenge for realm "Registry": invalid authorization credential" go.version=go1.11.2 http.request.host="localhost:5000" http.request.id=0c53faae-b4f7-4045-aaca-5f46f695e5e8 http.request.method=GET http.request.remoteaddr="172.19.0.1:39438" http.request.uri="/v2/" http.request.useragent="docker/18.09.9 go/go1.11.13 git-commit/039a7df9ba kernel/5.4.0-73-generic os/linux arch/amd64 UpstreamClient(Docker-Client/18.09.9 \(linux\))" time="2021-07-20T10:21:00.341567217Z" level=info msg="authorized request" go.version=go1.11.2 http.request.host="localhost:5000" http.request.id=c0e7d139-ddd0-42a9-8357-047f2d816659 http.request.method=GET http.request.remoteaddr="172.19.0.1:39444" http.request.uri="/v2/" http.request.useragent="docker/18.09.9 go/go1.11.13 git-commit/039a7df9ba kernel/5.4.0-73-generic os/linux arch/amd64 UpstreamClient(Docker-Client/18.09.9 \(linux\))" time="2021-07-20T10:21:00.341643848Z" level=info msg="response completed" go.version=go1.11.2 http.request.host="localhost:5000" http.request.id=c0e7d139-ddd0-42a9-8357-047f2d816659 http.request.method=GET http.request.remoteaddr="172.19.0.1:39444" http.request.uri="/v2/" http.request.useragent="docker/18.09.9 go/go1.11.13 git-commit/039a7df9ba kernel/5.4.0-73-generic os/linux arch/amd64 UpstreamClient(Docker-Client/18.09.9 \(linux\))" http.response.contenttype="application/json; charset=utf-8" http.response.duration=3.213474ms http.response.status=200 http.response.written=2 

在 ECS 上 publish 镜像到私有镜像仓库没问题,但在 GitLab CI/CD 中却不行,有人知道是什么问题吗?😭

像这种代码如何优化 根据字段排序

Posted: 20 Jul 2021 03:00 AM PDT

不能直接在数据库排序 数据要从数据库查出组装,然后排序

被 require 的模块是如何能够调用到主模块中定义的变量的

Posted: 20 Jul 2021 03:00 AM PDT

module.exports = (pwd, data, ext = null) => {   // 生成一个随机变量名   let randomID;   if (ext.opts.otherConf['use-random-variable'] === 1) {     randomID = antSword.utils.RandomChoice(antSword['RANDOMWORDS']);   } else {     randomID = `${antSword['utils'].RandomLowercase()}${Math.random().toString(16).substr(2)}`;   }   data[randomID] = Buffer     .from(data['_'])     .toString('base64');   data[pwd] = `@eval(@base64_decode($_POST['${randomID}']));`;   delete data['_'];   return data; } 

该代码片段来自蚁剑.

  1. 其中 antSword 是定义于 app.entry.js 中的一个常量
  2. 在某些过程中,上面的代码片段会被动态 require.

我尝试写了一个 test.js,在其中定义 antSword 常量
然后再动态调用上面的代码,但是它会抛出 ReferenceError: antSword is not defined 异常

程序员 VS 产品经理 VS 项目经理

Posted: 20 Jul 2021 02:52 AM PDT

项目开发中,可能会存在这么一种情况:"PD 或 PM 对程序员指指点点,但是程序员工作内容并无问题",那么这个时候程序员是很被动的,该如何打破这种被动?

在这个行业食物链中,程序员是不是最底层?在自身是正确的情况下,该如何挑战不称职的 PD 以及 PM ?

不称职包括但不限于以下方面:

  • 交流中明确表示不给明确的需求文档;
  • 项目进度安排非常不合理;
  • 只做 PPT 工程,不管实际情况,比如要求 APP 主题自适应手机壳颜色。

我的操作一般为在大群 @高 T,甚至是经理级别,但是效果并不明显。

以上职场疑问,待老司机指教。

Steam 串流如何串附带 Launcher 的游戏?

Posted: 20 Jul 2021 02:40 AM PDT

游戏是使用启动器登录 然后会打开 Client.exe 如果串流的话 这一步就已经退出了 启动器输入完账号密码点击开始 串流直接结束了 这种情况 Steam 串流怎么处理呢? 添加非 Steam 游戏只有选择 Launcher 而不能选择 Client 请问有大佬知道怎么处理吗? 感谢 ~

“谷歌图片搜索”无法关闭安全搜索吗?

Posted: 20 Jul 2021 02:25 AM PDT

网页搜索没有开启安全搜索,但搜索图片时默认开启了安全搜索,右上角显示"已启用安全搜索"。
查看谷歌的帮助,页面显示需要到设置中关闭安全搜索,但那个设置不是针对图片搜索的,并且我明明也没有开启安全搜索。

11111.png

你觉得这款产品怎么样? base 上海,加入我吧,寻找技术创始合伙人!

Posted: 20 Jul 2021 02:18 AM PDT

Hi,你好,我是微信凹凸小区小程序的创始人,凹凸小区 001 号员工,不对标美国的 Nextdoor 我现在在做一款微信小程序叫:凹凸小区。(可以搜索体验一下) 我想把它做成一款社区生活指南平台(也可以创建虚拟社区,谁申请创建,谁负责管理和拉新,可以理解为贴吧的吧主)
 里面包含四个板块:1. 社区公告信息(包含社区最新公告,社区物业电话,居委电话等,鼓励用户自己上传,上传审核通过后奖励荣誉称谓,社区热心人和等级奖励) 2. 社区约玩 (板块里展示社区周边的最新活动,如展览,party 等好玩的免费的或付费的活动,有一定等级的用户也可以自己发布) 3. 社区二手 (用户上传自己的闲置,选择免费赠送或出售,其他用户可以用自己上传的闲置申请以物易物或者直接购买) 4. 社区周边 (展示社区周边商家和个人信息,电话,是否可以免费配送,是否可以上门服务,查看社区用户的评价,社区用户在评价后可以转发到社区动态)注:个人也可以申请在社区周边开摊位,展示在社区周边的商家列表里,可以出售自己的服务技能 关于社区动态板块,有了新的社区公告信息会转发到社区动态并展示由 XXX 贡献,用户在参与社区约玩也可以选择发不到社区动态找人一起参加 现在在找核心创始团队,base 上海,上海以外的就不考虑了,能全职最好,希望你有共同的理想和目标,看好我们在做的方向,有颗创业的心 也欢迎大家提出任何的意见建议和想法,我都会看的,感谢!

做个开放的微信机器人,可以通过 http 接口发送消息到个人号。

Posted: 20 Jul 2021 02:14 AM PDT

源代码地址 https://github.com/tans/push-bot

使用方式很简单

  1. 加机器人好友自动通过,并发送 api 接口。
  2. 调用生成的接口,命令机器人发消息给自己。

以下是发给我个人号的接口, 只要修改 query 的 msg 参数内容,我就能收到了。

https://push.bot.qw360.cn/send/860f7620-e939-11eb-99b1-4de94dc0e818?msg=hello

大家发送消息留言要健康啊。

欢迎加机器人生成自己的推送接口。记得适度调戏机器人。

欢迎加我交流机器人开发

求推荐 K8s 里用的 API 网关

Posted: 20 Jul 2021 02:03 AM PDT

之前用了 Kong,

发现还要依赖外部的 Postgresql,而且 dashboard 有点弱。

有没有更好用的的云原生 API 网关?

我现在主要把 Kong 当成增强版 ingress-nginx 来用。

嘿嘿��各位有啥优质的 RSS FEED 流订阅推荐,主要是世界 IT 咨询的,带点开源资讯最好。

Posted: 20 Jul 2021 01:20 AM PDT

谢谢谢谢。最近才开始玩 RSS,没有订阅源很苦恼。

在 cocoapods 中如何修改`pod install`?

Posted: 19 Jul 2021 11:36 PM PDT

举个例子,我想在执行 pod install 前判断有无 podfile 文件,如果没有则进行pod init,然后执行pod install,又或者校验下 pod 库的大小,如果大于某个数值就发一个警告。当然这肯定可以通过脚本去做的,但是对于使用方来说这样便付出了额外成本。如果做的操作比较多,最终可能会封到 brew 的一个程序里边,相当于给 cocoapods 套一层壳。只是问问 cocoapods 是否支持这种能力。

注意不是 pre_install 和 post_install 。这个和我说的并不是一个东西。

win 10 ,21h1, 最近一次安全更新,系统卡,打开网页明显比以前慢

Posted: 19 Jul 2021 10:15 PM PDT

如题,退回到 1903,流畅感顿然而生。
thinkpad x1 gen8

请教下树莓派和 PC 如何做蓝牙串口通信?

Posted: 19 Jul 2021 10:09 PM PDT

根据网上文章大概总结出来以下成果

  • 通过 rfcomm whatch hci0 进行监听时,PC 端打开串口 COMM3 可以正常连接到树莓派发送消息

问题

  • 如何通过 Python 串口模块进行数据发送
  • 如果不运行 rfcomm whatch hci0 命令,PC 端串口调试助手无法正常打开 COMM3 端口

项目里分模块,分包有多少种方式?各位大佬分模块,分包的原则是什么?

Posted: 19 Jul 2021 09:22 PM PDT

每次搞项目都被这个问题困扰,不知道要怎么把模块分好,或者把这个类放到哪个包下

有没有相关的文章讲这个问题比较优秀的,推荐一下

在 Mac 上, svn 的请求突然变的极慢

Posted: 19 Jul 2021 07:31 PM PDT

大概有半年了,MAC 请求 svn 速度变得特别慢,包括 checkout/commit/log 等,有谁遇到过这个问题没?怎么解决的?

git 没有问题。

w2flow: 根据上周网友们的建议做了一次版本迭代

Posted: 19 Jul 2021 06:55 PM PDT

上周发布了自己的新的社区网站,收到了很多网友的反馈,周末根据意见做了些调整,欢迎大家继续来玩,自己甚至这个产品还有很多不完善的地方,希望大家多多提些建议,

网站地址:w2flow.com

感觉脑子出问题了,不知道大家有没有这种情况?

Posted: 19 Jul 2021 08:50 AM PDT

最近说话,口误明显增多了。前两天朋友来我家,看到我做饭,问我,你这个锅这么大,肯定很重吧。我当时脑子里想说:『确实非常非常重』,但是嘴里说出来的是:『确实非常非常贵』。周末我自己能明显察觉的就有 4-5 次口误。

还有微信上打字跟同事说方案的时候,脑子里面想的是『我觉得你这个方案有问题,要不要再讨论一下』,但是打完字发现写的是『方案没什么问题,可以做』。

今天点外卖,只点了菜,没有点饭。。。

我这种情况是不是要去医院看看脑外科?

rancher 增加 k8s 本地集群 rancher anget 无限重启, docker logs 显示 rancher ping 错误?

Posted: 19 Jul 2021 06:25 AM PDT

去 Google 查了一下说是证书问题。

有没有大佬遇到过,怎么解决,话说我也没有多余的操作。

PS:不存在网络问题,网络能直接 Google

面试经典题目--买卖股票的最佳时机

Posted: 19 Jul 2021 06:04 AM PDT

不得不说,刷题已经和爬山、溜娃一样,成为湾区三俗,基本几个湾区的工程师碰在一起,讨论的话题总跳不出这个圈。爬山,哦不,刷题作为一个贯穿码农整个职业生涯的必须品(就算是我目前呆的微软谷歌这种养老公司也总得跳一跳,毕竟雪花的大包裹是真香啊),几年来基本每天不间断的刷,算是对这一块略有心得。帖子的前半部分想分享一些我作为面试官的常出的一些经典题目,以及题目思路的解析以及一些同类题的归纳,帖子的后半部分我会参考坛友们的留言和拍砖,来决定后面的走向

帖子会长期保持更新,只要是带娃的间隙就会偷偷上来更一下,尽量保持每周两更。

本期我们分享 面试经典题目--买卖股票的最佳时机

欢迎 LinkedIn 勾搭(备注 V2 ): https://www.linkedin.com/in/alice-chen-343975200/

No comments:

Post a Comment