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
]]>
感觉不如文心一言
]]>楼主所在一家中型的互联网公司搞前端开发,主要技术栈是 React ,B 端和 C 端业务都有涉及到,我们这边一些业务组件库、工具库已经比较完善了,也接入了类似 ChatGPT 之类的平台,还有可以方便业务排障的 Chrome 插件等等,最近老板也在让我们看下还有什么技术项目可以搞
有没有可以落地的前端技术项目,楼主苦于没有新的方向,来这里求助一下大佬们,有没有什么好的思路
]]>转眼间已经是三年过去了,想想 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 ,我现在已经没有时间去折腾了,折腾的最终目的还是干活,太浪费时间的话,就有点本末倒置了,以后有时间再折腾吧~
]]>ps:新域名链接很快搭好了,discordtimestampsgenerator.com
]]>扩展 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 ?
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 不直接支持你描述的自动同步功能,但通过一些创造性的工作流管理和外部工具的辅助,可以实现类似的效果。每种方法都有其优缺点,选择哪一种取决于你的具体需求和团队工作流。
]]>最近我们这网安工作异常的积极呀,隔三差五就报告有漏洞。
]]>目的是这样的: 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 打洞。
]]>因为我听人说千万别去外包公司,去了之后以后求职这个经历可能会被其他公司歧视然后不要你,我就不敢去外包就是,有没有知道的大佬来说说意见,我先谢谢各位了
]]>下面可能有点啰嗦, 大家就当作看个热闹吧, 文笔不行希望各位轻喷
本着收入还可以, 鼠鼠的小舅子也想做开发这一行, 在 2022 年 2 月份就找到了我, 说想跟着我学做开发, 当时我第一反应就是拒绝, 因为小舅子是做厨师的, 初中学历, 对于电脑的操作, 只有开机关机, 以及英雄联盟, 跟开发只能说毫无关系, 但是碍于当时女朋友(现在的老婆)的意见, 只能勉强同意带他入行, 本来是想让他去培训班的, 也没多大事情, 结果 3 月份有一天小舅子直接带着大包小包来合肥找我, 说要开始学了, 不过没钱, 只能自学, 当时我就意识到摊上个大麻烦了.
不过麻烦来都来了, 也没办法, 只能硬着头皮上了, 给小舅子租了个房子, 我自认为前端是相对于简单一些的, 所以给他找了前端的学习资料, 3 月份开始小舅子就开始了自学之路.
后面开始相处也是相对愉快的, 没什么事情, 他也每天在出租房看资料学习, 一边学, 一边写, 每周末我都会对他学的内容进行考核, 我自认为是对他认真负责, 让他赶紧学完, 赶紧出去找工作, 结果快学完的时候小舅子突然说要去江苏陪他的对象, 他说他不去的话他对象要跟他分手, 我也没办法只能让他去, 他离开合肥之前, 我反复叮嘱: 都学到框架了, 再坚持坚持, 学完之后再玩也不迟, 他也是满口答应.
结果他到了江苏, 就没消息了, 每每我打电话过去问学的怎么样, 他就很敷衍地说, 学的还可以没问题, 其实我觉得学习的时候没问题才是最大的问题, 从这时候开始我就开始了担忧
后面据我所知他并没有学完, vue 学了个皮毛, react 压根就没看, 2022 年的 10 月份就开始投简历找工作, 找了个把月, 简历基本上石沉大海, 他也是没跟我说, 等到了实在憋不住了, 才跟我说, 当时我拿到他的简历简直气到爆炸, 简历上写的是厨子, 找前端开发的工作, 简历上写的清清楚楚做厨师的经历, 还有各种拿手菜, 给我看的人都麻了, 他说他把江苏苏州的所有互联网公司都投了个遍, 一个回复的都没有, 当时我又意识到, 又有麻烦了.....
2023 年初, 实在没办法只能让他来合肥
刚来那几天我给他从头到尾的面试和笔试过, 是基本上可以独立开发 web 项目的, 后面我就着手给他找工作, 2023 年上半年没整什么幺蛾子, 给他找了个工作, 也安心的干着. 一直干到 2023 年 8 月份左右的时候公司发不出工资了, 我一问他, 他说公司已经拖了将近 4 个月工资, 无奈开始仲裁, 一大堆屁事, 搞得我烦不胜烦.
又过了两个月到了国庆节, 本来老早打算跟老婆出去旅游, 在国庆节前一周的时候规划好了自驾游路线, 结果老婆直接说小舅子要年底要订婚了, 老丈人,丈母娘要来合肥, 要帮小舅子把房子看好,因为我们家已经买了房子,有各种聊价格, 看房的经验 , 小舅子跟丈母娘点名要我陪同, 真的无语. 碍于丈母娘的脸面 ,没办法只能陪同. 接下来国庆节几天假,全部都是开车陪他看房
再来说一说小舅子的对象, 小学肄业, 大字不认识几个, 就因为长相甜美,(小舅子眼中的), 让小舅子产生了无穷无尽的保护欲, 在看房期间也闹出了不少烦心事, 买房是人生中的一件大事, 关系到两个家庭很多事情, 国庆期间看了很多楼盘都不中意, 要么是房价高, 要么是配套不完美, 要么就是地理位置不行, 我印象中最深刻的就是老婆说这个房子不好,以后小孩上学很麻烦的, 再看看 . 她就说: 小孩上学无所谓的,我老婆就说,这肯定不行,不就是为了孩子上学么. 她不乐意了, 就给她妈妈打电话说我们这一家人欺负她一个, 这种对话在国庆期间反复出现无数遍, 让我终身难忘.
房子定好之后, 小舅子又开始了找工作之旅 , 那一段时间我记得基本上没有好工作, 小舅子索性也就送起了外卖,一直送到年前.
到了年初,我觉得小舅子应该会继续送外卖也没多想,直到老婆有一个周末跟我说小舅子已经开始再找开发的工作了, 让我帮忙看看, 在帮忙投了几个简历之后也找到了一个工作, 也到了我最近烦恼的时候了
我不知道他是把技术忘得一干二净还是本来就是没怎么学, 简单的 git 命令不会, vue2 和 vue3 分不清,一个简单兼容性问题, 我问他项目是创建的 vue2 还是 vue3 ,我问了 3 遍他才肯说是 vue3, 嘴硬, 明明是他的问题 , 他非得狡辩一下, 来维护他那可怜的面子,有技术文档不会去看,非得在网上搜一些网友给出的答案, 我现在甚至都不知道我是在害他,还是在帮他, 有精力的大佬来骂一骂我吧
]]>网络结构
路由器 A (广域网 ip:116.153.22.1 )
路由器 B (广域网 ip:116.153.22.2 )
如果机器 1 和机器 3 首次通信,流程是什么样的。。
我理解的流程:
已阅读资料: https://cloud.tencent.com/developer/article/1173761 https://blog.csdn.net/qq_42911741/article/details/132514748
]]>但 YouTube 暂停视频,它会在顶部显示视频标题(全屏模式下),在底部显示视频控制区,如果开启的字幕在底部,那么字幕会因为视频控制区的出现而往上跳动,视频继续播放时,字幕又会因为视频控制区的消失而往下跳动。
这过于烦人,使人恼怒 (annoy)。
于是写了一个油猴脚本解决这些问题。
希望对你有帮助。
]]>但实际开发中才发现公司的前端开发对客户端和系统方面的知识实在是太匮乏了,比如不知道什么是任务栏和系统托盘、文件路径和目录也分不清,主进程各种 js 异常满天飞,客户端咔咔崩溃......Electron 和 vue 结合也是一堆的坑。但既然已经选择了这个方案,也不能中途换方案,没办法,我只能硬着头皮学 Electron 和 vue 了,让前端专注写 Vue 页面部分,我写 Node.js 和 Electron 部分,项目总算坎坷的上线了,寄希望于后面慢慢重构吧。
基于上面的教训,在项目开发完之后,我写了个 Electron 模板,争取后面的项目直接基于这个模板能够让前端平稳的参与进来,尽量抹平 web 开发和客户端开发之间的差异吧。
大家可以看看我的模板,多提意见,谢谢
]]>今天早上想着服务器还是需要投资一下,看了某平台,4 核 8G16M ,这配置真的挺高的了,价格也不算特别贵不到 1k ,但我觉得有些大材小用,特别是目前流量不多的情况...
之前听 V 友说,写 node 的程序员,2 核 2G 就足够了,再不行 2 核 4G 安排上,但我比较好奇大家都是这个配置吗?
各位前辈可以晒下服务器吗?让俺学习学习
]]>QRBTF 这个项目是我和同学在大一写的第一个前端 / 开源项目,当时几乎是看完 React 旧官网的教程就直接 create-react-app 开干了哈哈,有很多架构上的问题。
非常惊喜的是当时在本站发布后收到了大量的反馈,真的很兴奋。又过了三年,我用 ControlNet 制作了第一个 AI QR code ,在 reddit 上发布后也受到了很多人的关注。
此后一直没有起一个稳定的服务给大家体验,于是用新的框架、workflow 完全重构了这个网站,整合了 AI 和参数化的部分,加了 sponsorship 来 cover 服务器开支,但前端部分依旧开源 🌟
相比之前的网站,这个新的架构支持了多语言、ssr 、dark mode 、lazy load ,也有了更加美观现代的 ui ,在移动端和桌面端都有不错的体验。
欢迎前来体验!(目前的限制是一天十次生成,服务器太贵了)
个人小程序一般靠流量主赚钱,大概多少流量一年能补平投入+认证费用?
有没有懂哥分享一下
]]>我从没 DIY 过这些主机,平时都是用的云服务器,所以想了想,还是不买准系统了。。。
我目前的需求就是 docker compose
跑多个服务:Nginx Node.js MongoDB MySQL Redis
这些。(偶尔也可能要连一下外网 vpn ,可能安装、部署需要)
一般装什么系统合适啊?(基本不可能折腾硬件,没这知识储备,但是喜欢折腾软件)
还有个小问题:我只有 mbp ,买来了装其它系统是不是还要弄个 u 盘,鼠标,键盘啥的(装其它系统、改 BIOS )
所有回复我都将点颗心,聊表心意~
此致,敬礼。
]]>楼主所在一家较大型的互联网公司搞 Java 开发,最近老板们开始关注业务项目以外的“技术项目”,简单来说意思就是“业务干完了是你该干的,业务以外才是你产生的价值”。
老板们要求 H2 每个人都需要有一个落地的技术项目,但是组内之前已经有非常之多的轮子了,楼主苦于没有新的方向,来这里求助一下大佬们,有没有什么好的思路
]]>账号正常登录,两台服务器都显示 running ,但是 IP 通讯不上。用网页控制台能进 shell ,在 shell 里 ping 不通 1.1.1.1
有理由怀疑 oracle 自身的网络出问题了。
]]>查了一下,目前考虑到的有
以上是否都需要呢?
]]>