我遇到此事,后面进游戏闭麦频率很高,准备到白金在去开麦。问题发生在黄金段,那种所谓的垃圾对枪段位。其实打这么多局就遇到一次,但是忍不了,以为自己不介意,其实很介意。
]]>chatgpt 的回答感觉都不太方便。
使用子模块( Git Submodules ) 一个可能的解决方案是将 test 文件夹作为一个独立的 Git 仓库(子模块),然后在你的主仓库中以子模块的形式引入它。这样,不管是在哪个分支上对 test 子模块进行更新,只要提交了更新并推送到远程仓库,其他分支就可以通过更新子模块来获取这些更改。
创建 test 的独立仓库:首先,你需要将 test 文件夹提取出来,使其成为一个独立的 Git 仓库。 在主仓库中添加子模块:然后,在你的主仓库中,使用 git submodule add <repository-url> <path>命令添加这个 test 仓库作为子模块。 更新子模块:当 test 仓库更新后,你需要在主仓库中手动更新子模块引用,通常是通过 git submodule update --remote 命令。 使用 Git Hooks 另一个方案是使用 Git 钩子( hooks ),特别是 pre-commit 钩子,在每次提交前自动检查 test 文件夹的更改,并将这些更改复制到另一个分支。这种方法需要编写自定义脚本,并且可能会复杂且难以管理。
使用外部同步工具 如果这些 Git 内置的解决方案不满足需求,你可以考虑使用外部的文件同步工具,比如 rsync (适用于 Unix-like 系统),或者开发一个自定义的脚本,用来监控 test 文件夹的更改,并自动将这些更改同步到其他分支或仓库。这可能涉及到复杂的逻辑,特别是在处理并发更改和冲突解决时。
考虑工作流调整 最后,值得考虑的是,如果你经常需要在分支之间同步特定文件夹的更改,可能需要重新考虑你的开发工作流。可能的调整包括重新组织项目结构,使得需要同步的文件夹更容易管理,或者调整团队的分支策略,以减少需要这种类型同步的场景。
总的来说,虽然 Git 不直接支持你描述的自动同步功能,但通过一些创造性的工作流管理和外部工具的辅助,可以实现类似的效果。每种方法都有其优缺点,选择哪一种取决于你的具体需求和团队工作流。
]]>楼主所在一家中型的互联网公司搞前端开发,主要技术栈是 React ,B 端和 C 端业务都有涉及到,我们这边一些业务组件库、工具库已经比较完善了,也接入了类似 ChatGPT 之类的平台,还有可以方便业务排障的 Chrome 插件等等,最近老板也在让我们看下还有什么技术项目可以搞
有没有可以落地的前端技术项目,楼主苦于没有新的方向,来这里求助一下大佬们,有没有什么好的思路
]]>假如代码里有多次调用 User.getAge()这个方法吧
是用 User.getAge() 直接作为调用比较好呢
还是 int age=User.getAge()
然后在各种行去用 age 比价好呢
有性能区别吗 还是 jdk 某个更新 会优化了以上写法
]]>转眼间已经是三年过去了,想想 2021 年刚刚来大学,迫不及待地就用了 Linux ,当时什么也不懂,什么也不会,可以说是四处碰壁吧,一路跌跌撞撞到现在,算是入门了!
想起当时去面试学校的计算机社团,我还特意准备了一番,满怀期待地去与学长学姐交流(或许谈不上交流?),真的是初生牛犊不怕虎吧,如果如今的我碰到和我当初一样的人我或许也会不客气说一句“先去看看《 Linux 就该这么学》,再来吧!”😂,当时我对 Windows 有着极度地不满,为什么不能让我自定义?为什么非要塞给我一堆东西?为什么要“替我考虑”?这也是我第一次用 Linux 的出发点吧。
第一次用 Linux ,考虑到什么也不会,就用了 deepin ,用了之后我发现这玩意儿似乎除了可以图形化安装国内软件之外也并无其他好处?哦对,中文本地化是不错的,虽然是属于国内的发行版,但是它的源似乎也不是那么好用,软件商店老是安装失败(当时不会命令行)。用了几天撑不下去,于是换了 Ubuntu ,我发现,这玩意儿虽然小问题多,但是耐不住它资料多啊,稳定用了一段时间,又不满于它暗色系的图标,又是到处找资料,记得一次添加 PPA 源之后,删除时误删了官方源的密钥,apt update 总是报一堆错误,过来过去也没折腾好,QQ 和微信的 wine 也死活弄不起来。又去百度一番搜索,听说 arch 不错,但是安装很难,听闻 manjaro 基于 arch ,便于安装,又可以用 aur ,那何乐而不为呢? manjaro 也坚挺了一段时间,现在还能找到我当时在博客园写的帖子 仓颉的博客。manjaro 固然不错,用了一段时间后,显示管理器打不开了,搞了半天没弄好,于是又去搜“稳定的 Linux”,看到好多地方推荐 Debian ,说 Debian 企业级的稳定,那就试试呗,当时不清楚 Debian 的额网络安装,也不知道从镜像站下载完整镜像,而校园网在 tty 界面是不能直接连接的,所以又是一堆下载 error ,Debian 之路又止步于此。
(以前的桌面都没存截图🤐)
也是在这段过程中我发现了,原来 shell 、Linux 、Linux 发行版都是不一样的,我意识到一直这样是行不通的,所以又重装 Windows ,搞了一个虚拟机玩,由于笔记本配置不行,所以又装上百度推荐的“轻量级 Linux” Linux lite ,装好之后很纳闷,换源咋换??软件商店装不了软件??后面又试了下 opensuse 和 fedora ,不同的包管理器,不同的软件包格式 ... 这些整的我身心俱疲。
实在是四处都是“壁”,于是停下来,折腾了一段时间的 Windows ,这时已经快大二了,Windows 折腾的差不多的时候,我就开了一个公众号,也就是“猫四叔”,写一些 Windows 相关的东西,同时我也发现了 WSL 这个好东西,又开始折腾 WSL ,同时我也专门去 B 站看了一些 Linux 的教程,终于把 Linux 大概弄懂了,但是考虑到 Linux 当时的生态,就没有去再折腾,老老实实用 WSL 和虚拟机。有一次在学校算法老师的课上看老师用 Xshell+VMware+CentOS7+Vim 来写 C/C++,居然还能这么玩?于是回宿舍立马实践,CentOS7 最小化安装只需要分配 1GB 内存,这对于我当时 8GB 的小笔记本来说太香了,而最新的 VMware17 (应该是)太重,我用了好多个版本,最后发现 VMware11 启动快,我用的功能都有,占用又低不少,于是更香了~
到后来,觉得 VMware 还是麻烦,何况我也不会用 Vim ,又用 WSL2+VScode ,越用越觉得香啊!后来黄老师跟我说,学校有超算可以用,于是就找到超算,登上我熟悉的不能再熟悉的学生号,做一下组学上游,下游用我的小笔记本坚持着。但是 WSL2 因为要用 hyper-v ,对宿主机系统也进行了虚拟化,性能大约又 10%左右的损耗,可能更高,但是不得不用,属于是拿性能换功能了。
本以为我会一直这样用下去,直到大三上一学期,也就是 2023 先半年,超算的网页 SSH 太难用了实在是,网络稍微一不稳,SSH 就会重连,实在难搞,于是我组了一台台式电脑做生物信息学分析,本想着,组学直接用台式来整,后来发现,我还是太天真了,RNA-seq 小的基因组 400GB 左右(如 389M 水稻基因组+6 个样本),随着我学习的步伐,我发现压根不够啊,最近在做的黑麦草项目,12 个样本+600M 的黑麦草基因组,没个 600GB 根本下不来,而后面还要去做 ATAC-seqq 、CHIP-seq 还有甲基化和表观遗传学的一些,1T 硬盘都顶不了多久 ... 更何况单细胞组学呢?
最初的想法是加一个 1T 硬盘,然后台式装 Ubuntu 来跑,期间试了一下 POP!_OS ,实话讲,个人认为还不如原版 Ubuntu 。事实证明,我又天真了 ... 单细胞样本一跑就是几个小时,而寝室 11 点就熄灯断电了,我惊奇地发现,这个电脑的配置,来跑下游分析才是勉强够😥
恰逢这段时间 QQ 重构了 Linux 版本,Debian12 也加入了 non-free 源,闭源驱动 apt 直接装,于是装了 Debian12 来做下游分析,用了一段时间后,实在忍受不了 GNOME 了,太难用了,而 KDE 又比较繁琐,于是换上了 cinnamon 桌面,越用越觉得这桌面舒服~
后来试了 cinnamon 团队的 Linux Mint ,怎么说呢,我可能有点强迫症,不喜欢这种“杂交”的 Linux 发行版,我喜欢“纯”的🤔
到了 2023 年的寒假,我带着小笔记本回敦煌了,假期有点时间,所以折腾了一下 Arch ,这时我已经有了充足的 Linux 知识,装 Arch 并不太难,一个寒假把 Arch 大概折腾明白了,到这学期回学校后,看着这大屏台式,忍不住想折腾的心,又开始装 Arch ... 而且微信已经有了 Linux 原生重构版本,aur 库里有,一行命令的事,随着不断地折腾,systemd 、Wayland 、btrfs 、grub 、lts 内核、zen 内核等等东西都开始熟悉,不禁感叹,Arch 大法好啊~
如今也成为了一名 Arch 邪教徒🤣之前还一直不明白那些高呼“Arch 万岁”的人,现在终于理解,yay 一把梭很舒服,万物皆可 yay !
虽然迫于要打游戏还有一些专业软件的缘故,又装了一个 Windows10 ,但是 Arch 还是会一直用,而且 Arch 以后也将成为我使用 Linux 的唯一选择。
纵观这三年,deepin 、Ubuntu 、Debian 、manjaro 、Linux Mint 、POP!_OS 、Arch 这一系列的 Linux 发行版都是很优秀的发行版,但工具始终是工具,要用什么样的系统取决于个人需求和喜好吧,如果现在有人要我推荐 Linux ,那么我肯定会先推荐 Ubuntu/Debian ,因为资料多,软件也多,很适合个人使用,当然,有基础的话自然推荐 Arch ,可以学到 Linux 的逻辑,也能培养更好的 Linux 使用习惯。
至于更难的 LFS 和 gentoo ,我现在已经没有时间去折腾了,折腾的最终目的还是干活,太浪费时间的话,就有点本末倒置了,以后有时间再折腾吧~
]]> useEffect(()=>{
if(type === aaa){
aHandle();
}else if(type === bbb){
bHandle();
}
}, [type])
那我就需要把 aHandle 和 bHandle 放入依赖项中,否则 eslint 或者 sonarlint 会报警告
useEffect(()=>{
if(type === aaa){
aHandle();
}else if(type === bbb){
bHandle();
}
}, [type, aHandle, bHandle])
那这样岂不是每次 render ,都会重新生成新的 ahandle 和 bHandle ,每次都会触发 useEffect 吗?
我知道有 useCallback 和 useRef 可以解决函数在每次 render 都重新生成的问题,但问题是假如我在 aHandle 里去调接口,也要获取很多放在 state 中的值作为参数,那么 useCallback 还得把那些值全部放在 useCallback 的依赖项里,搞得越来越复杂了。
难道只能用 useRef 或者基于 useRef+useCallback 封装的一些 hook ,把每个 aHandle 或者 bHandle 给套上吗。
有没有更优雅一点的写法,我想要有一个 useXXXEffect,可以只监听一个 type ,在这里面获取到的其他值都是最新的,不再额外需要传入 aHandle 或者 bHandle 。
有没有这样的 hook 或者封装成这种效果的 hook
]]>ps:新域名链接很快搭好了,discordtimestampsgenerator.com
]]>
感觉不如文心一言
]]>数据库连接设置:
app = FastAPI()
TORTOISE_CONFIG = {
'connections': {
# Dict format for connection
'default': {
'engine': 'tortoise.backends.mysql',
'credentials': {
'host': db_host,
'port': db_port,
'user': db_user,
'password': db_pass,
'database': db_name,
}
},
# Using a DB_URL string
# 'default': 'postgres://postgres:qwerty123@localhost:5432/events'
},
'apps': {
'models': {
'models': ['api.news.models', 'aerich.models'],
# If no default_connection specified, defaults to 'default'
'default_connection': 'default',
}
},
'use_tz': False,
'timezone': 'Asia/Shanghai',
'echo': True,
}
register_tortoise(
app=app,
config=settings.TORTOISE_CONFIG,
)
当访问一次数据库时,在 MySQL 中执行show processlist
会出现一条状态为sleep
的连接。当这个连接过期(超过wait_timeout
最大值)会把这个连接清理掉。
当再次访问数据库时,会得到一个报错:ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。
。
我应该如何捕获这个错误,并实现与数据库重新建立连接?
目前这个错误也不会终端程序,会重新建立连接。但我还是想搞清除,在哪里可以捕获这个异常,让后处理它并重新建立连接。
请各位 v 友不吝赐教
]]>最近我们这网安工作异常的积极呀,隔三差五就报告有漏洞。
]]>扩展 eslint-plugin-vue
的 no-unused-components
和 no-unused-properties
规则,实现自动修复
项目中可能因为历史原因,遗留了很多未使用的属性,eslint-plugin-vue 只是进行提示而已,没有自动移除,一个个删除也很麻烦,所以进行扩展,让 eslint autofix 。
目前 no-unused-properties
只对 props
和 mapState|mapGetters|mapMutations|mapActions
有效,因为 data ,computed 和 methods 有可能被其他组件使用。options 中有 mixins
和 extends
也会跳过。怎么更好地清除 data ,computed 和 methods ?
目的是这样的: user, amount, datetime A 10 2021-02-12 10:00:00 A 20 2021-03-12 10:00:00 B 30 2021-05-12 10:00:00 B 10 2021-06-12 10:00:00 C 5 2021-05-12 10:00:00 C 10 2021-06-12 10:00:00 C 20 2021-06-12 10:00:00 这是我们常见的数据库的表
最后要做成这样的效果 2021-02 2021-03 2021-05 2021-06 A 10 20 0 0 B 0 0 30 10 C 0 0 5 30
column_names = [desc[0] for desc in cursor.description] df = pd.DataFrame(rows, columns=column_names) df['datetime'] = pd.to_datetime(df['datetime']) df['归属年月'] =(df['datetime'].dt.year.astype(str)+ df['datetime'].dt.strftime('%m').astype(str)).astype(int)
到这里把时间字段理好了,变成数字,让它可以排序
grouped_data = df.groupby(['user', '归属年月'])['amount'].sum().reset_index() grouped_data = grouped_data.sort_values('归属年月') 来个二维分组,然后按照‘2021-05’这个来排序一下
df_pivot = pd.pivot_table(grouped_data, index=['user'], columns='归属年月', values='amount', aggfunc='sum').reset_index().fillna(0)
到这里就好了
代码十分简洁,但是这种代码真的有可读性吗?好维护吗?
如果我要算 A 用户所有金额汇总,可以这样写: df_pivot['余额'] = df_pivot.iloc[:, 1:].sum(axis=1)
这个= 让我震惊了,明明执行了函数操作,看上去像是一个赋值操作,这个 python 是怎么实现的?
我编辑器用的 vsc ,python 没有 type hint ,这个有解吗,难道一边写要一边查文档?
还有元组的简写法
a= 1,2,3
看到这个我也是懵了
有没有 pythoner 解答一下,这个语言真的适合写正经项目吗?
js 有 ts 就变得完美了,我很喜欢 python 的生态,有什么可以愉快写 python 的办法?
]]>
别人的样子
]]>
https://github.com/easychen/one-person-businesses-methodology-v2.0
]]>github 地址: https://github.com/houxinlin/cool-request
官网:https://plugin.houxinlin.com/
Cool Request 是一个 IDEA 中的接口调试插件,除了可以发起基本的 HTTP 请求之外,还提供了强大的反射调用能力,可以绕过拦截器,这点广受网友的好评,当然伴随着还有 Spring 中对@Scheduled
注解的调用,以及xxl-job
的支持,这是不是很酷( Cool )?
Cool Request Trace 现在可以统计除了 java 包的任意包,为什么不能统计 java 的?因为可能会出现不稳定的情况,再说,java 包怎么可能有问题,有问题的也是你的代码(手动狗头)。
Trace 如果在启用状态下,将在你发起请求的时候,自动从 Controller 方法下开始跟踪,如果深度为 1 ,那么则只跟踪 Controller 方法,如果深度为 2 ,则跟踪 Controller 下所有方法,深度为 3 ,那就跟踪 Controller 下所有方法下的所有方法,以此类推,但是会出现你设置了一个很大的值,却跟踪不到这个深度,因为有些是通过接口(interface)调用的,静态代码分析无法分析到是哪个实现类,所以没办法继续向下跟踪,可以右击任意方法,手动添加方法跟踪。
欢迎 V2EX 的伙伴常鲜,希望可以提出意见,感谢大家
]]>这款适合作为家用服务器吗?想跑 20 来个 docker 容器,再用 frp 打洞。
]]>