Friday, January 21, 2022

V2EX - 技术

V2EX - 技术


一起来看看 Google 眼中的你吧 !

Posted: 21 Jan 2022 09:43 AM PST

简介:

这是一个活动主题,参与这个活动的方式可以是晒出 "Google 眼中的你" 的截图,也可以是友好的评论其他的用户分享的 "Google 眼中的他"。

我们不希望您对他人的由 Google 为他生成的用户画像进行恶意或无端的揣测,本身这个结果并不准确(我自己根据结果推断正确率只有 50%左右),并且这应该是一个开心的活动。

推荐您在上传您的截图时对重要或敏感的信息打码处理。

本质上,这是一个类似往年由社区用户 @mrhero 发起的诸如: 「 XXXX 年度晒桌面」活动 这样的 V 站的传统活动,感谢 @mrhero 对我的启发让我在看到了 Google 的这个页面后第一时间想到来 V 站发起这个活动。

最后,我们希望拥有一个和平的,没有互联网跟踪的美好世界。

祝你新年快乐!


如何查看 Google 眼中的你:

https://adssettings.google.com/authenticated

访问这个地址即可


参考和引用:

https://www.v2ex.com/t/182391

https://www.v2ex.com/t/419135

https://adssettings.google.com/authenticated

https://twitter.com/miableem/status/1484446883221471235

这么多音频编码,蜂窝的 AMR, BT 的 SBC,除此之外还有 mp3, aac 这些比较通用的,它们都是由什么硬件实现的?

Posted: 21 Jan 2022 09:42 AM PST

尤其是 amr ,难道是用基带解码的? 我看微信也是用的 amr ,但微信很难调用到这么底层吧 如果用 cpu 那岂不是就软解了

订单成功状态应该用 succeed、success 还是 successful ?

Posted: 21 Jan 2022 09:42 AM PST

我个人比较倾向于 successful ,因为是形容词用来形容状态很合适。但是似乎使用 success 更常见?

如何学习音频相关技术?

Posted: 21 Jan 2022 09:37 AM PST

前阵子搞了一个和音乐有点关系的 side project ,在处理音乐的时候一知半解,基本上就是看着教程用库。最近正好比较闲,想彻底理解音频的工作原理,但是现在越学越乱,例如:人耳为什么能听到大于两个声道的内容?既然声音是以波的形式传播,人是怎么识别不同发声物体的?

各位有什么好的从头科普音频原理的视频或者文章吗?主要想以后写音频相关的程序时有一个大概的观念,不至于在写什么都不知道(

干掉 Java8 还得 Spring 来

Posted: 21 Jan 2022 09:30 AM PST

Spring Boot 3.0.0-M1 正式上线

最有可能引领 JDK17 和 jakarta 实现普及的框架上线了,虽然是第一个版本有很多不兼容的地方,但是也正式迈出了第一步,有对新的生态感兴趣的推荐试用。

在第一个里程碑中,我们开启了我们通往下一代 Spring 框架的激动人心的旅程,并将我们的最低 JDK 要求从 Java 8 提升到 Java 17 。计划每两个月发布一个新的 Spring Boot 3.0 里程碑。M2 应该会在 3 月 24 日发布,并计划在 11 月下旬发布 GA 版本。

如果您想要尝试使用 Spring Boot 3.0 的应用,需要注意我们已将所有 Java EE API 迁移到 Jakarta EE 。对于大多数用户来说,这意味着您需要将任何 javax 类库替换为 jakarta. 例如,javax.servlet.Filter 将替换为 jakarta.servlet.Filter.

我们仍在等待一些第三方软件库发布 Jakarta EE 兼容版本,因此并非所有 Spring Boot 2.x 功能都可用于第一个里程碑。我们计划在适当的时候将这些功能重新引入。

转自开源中国

北京 21 号又增加 7 个你们还要回老家吗?

Posted: 21 Jan 2022 09:08 AM PST

如题,好绝望。

前端开发, 6k(大概)左右预算,求推荐一款笔记本?

Posted: 21 Jan 2022 08:44 AM PST

之前买过华为 Matebook X Pro 低配,做前端开发来说,性能不太行,凑活够用。后来入职某公司配 Macbook Pro 之后就干脆把 Matebook X Pro 卖了。结果去年年底把我恶心到了就离职了,现在工作上只是配了个简单的主机,有段时间没有笔记本了。业余在家主要用的是 NUC i7-10710U

没有移动办公的工具还是差点意思,不能把自己熟悉的环境搬到任何地方还是有点难受。另外业余自己也会写点代码,写点文章啥的。笔记本打算用来作为纯办公的场景,全能本是最好的,万一自己真想学点 PS 视频剪辑呢 [doge]

需求大致如下:

  • 键盘手感不差,个人机械键盘主要用茶轴
  • 屏幕素质不错,至少 2k 分辨率
  • 性能较好,打底内存得 16G 吧。由于主要使用 WSL 开发,大致搜索了一下,好像 AMD 也不会有什么问题?显卡大概也得考虑下,今年或许真会考虑学习下修图或者尝试下视频剪辑?
  • 颜值不错,毕竟不能拖后腿

另外,苹果笔记本就不考虑了,用了一年多 Macbook Pro 都不习惯,新的 M1 笔记本看着刘海我就难受。现在个人更偏向于 Windows + WSL 的组合,用起来很上头。

最后,个人会看一些数码科普评测节目,比如最近从猪王的选购指南里就觉得小新 Pro 16 锐龙版看起来针不戳,不知道各位大佬怎么看?或者说说个人使用的什么笔记本安利下?

Javaer 用了一下 Go web 开发,感觉开发体验倒退了

Posted: 21 Jan 2022 08:39 AM PST

之前一直用的 java 写 crud ,最近有项目要用 Go 写,然后我就用了 Go 尝试写了一个 web 程序

但是体验下来,其实开发体验并不怎么高,比如脚手架,虽然有很多现成的,但是我更希望有一种规范或者 interface ,就算是 java 多年前的纯 spring+servlet ,也会提供各种 interface 去规范。这样起码可以保证接手或者同时维护的人能够更快的理解和上手。

开发体验类似写命令行程序,从 main 函数一点点往上加功能,写了一天,看了一天文档,我才把 gin+gorm+zap+viper 配置好,花时间去组合。

crud 方面就不说了,还是比较原始,或者有什么奇淫巧计我不知道的。

上面说的几点只是我简单用了几天,感知比较大的几点。

其实上面说的同样可以放在其他语言上,我也不是对 Go 有什么偏见,而是觉得 GO 这么火,越来越多的互联网公司用来支撑业务,照理来说生态和体验跟其他小众语言不是一个量级的了,但是用起来还是有些失望。

Java on Visual Studio Code 的更新 – 2022 年 1 月

Posted: 21 Jan 2022 08:37 AM PST

大家好,欢迎来到 Visual Studio Code Java 更新 1 月版!这是我们新年的第一篇博客,我们将回顾 2021 年的亮点,并分享我们 2022 年的产品路线图!除此之外我们还有一些令人激动的产品更新,让我们开始吧!

2021 年回顾

2021 年对于 Visual Studio Code 上的 Java 支持是非常丰富以及忙碌的一年。我们对 Java 插件包中的各个板块都进行了重大改进。在这些更新中,我们想突出一些亮点:

Java™语言支持 1.0 版

2021 年,我们发布了Language Support for Java ™的官方 1.0 版本,这标志着微软与红帽多年合作的重要里程碑和成果。此版本包含许多重要功能,例如 Java 17 支持、更简单的类型层次结构查找、源代码查找、Gradle Kotlin (.kts) 支持等。此外,我们还从 0.78 版本开始对代码补全性能进行了一系列优化。通过这写优化,我们看到平均代码完成响应时间减少了 60%。

Gradle for Java 插件发布

Gradle 支持一直是社区中的热门话题。2021 年 10 月,我们正式发布了" Gradle for Java "插件,来应对开发者的 Gradle 需求。该插件现在有超过 23 万的下载量,我们希望继续对插件进行迭代。

新的上手体验

更好的上手体验始终是重中之重。2021 年,我们在该领域进行了多项改进,包括在 Visual Studio Code 中为 Java 开发人员提供新的产品内欢迎向导。我们还重新设计了欢迎视图和帮助中心页面,以便新开发者可以找到他们需要的指引。

各种用户体验改进

在整个 2021 年,还进行了许多用户体验改进,以优化开发人员的整体工作掉率。这当中包括:

  • 测试体验 – Test Runner for Java (测试插件)采用了来自 Visual Studio Code 的新测试用户界面 ,在特性、功能和易用性方面有了更好的体验。
  • 项目管理 – 从 11 月的更新后,我们不再在项目根文件夹中生成.project 元数据文件!这是社区中呼声最高的问题之一,我们终于提供了一个期待已久的解决方案。点击此处查看我们是如何解决该问题的。
  • 代码操作 – 我们在代码优化建议中添加了一些功能,以便用户更容易生成 Getter/Setter 和构造函数等,我们将继续致力使代码相关操作更易于访问。

GitHub Codespaces 中的 Spring 支持

除了核心 Java 插件更新之外,远程开发领域也有令人兴奋的更新。2021 年 9 月,我们宣布通过与 VMWare 合作,目前在GitHub Codespaces上已完全支持 Spring 框架。开发者可以直接在浏览器环境中无缝开发 Spring 应用。

如果您想了解 2021 年我们所做的所有改进,请访问我们过去的博客

用户增长

除了产品更新,在 2021 年我们还见证了年用户的增长。我们现在有超过 150 万用户在 VS Code 中开发 Java 。这是用户不断给我们反馈的结果,也感谢来自社区中广大开发者的支持。

2022 年产品路线图

现在让我们来展望 2022 年!新的一年,我们将关注以下领域:

基础开发体验提升

基础开发体验直接影响我们开发者的日常工作,这一领域将继续成为我们的重中之重。这包括努力提高我们的代码完成建议的智能性,提供更相关的代码片段生成,并根据用户的偏好提供各种快捷方式(例如"syso"和"sout")。此外,我们将进一步提升我们的调试体验。我们会做一系列的改进,例如:允许对反编译的类进行调试、在变量视图中更快地求值以及支持 lambda 表达式求值。我们还将探索 Project Loom项目提供的虚拟线程,以提高调试的性能。此外,显示测试覆盖率是我们希望支持的另一个功能,这样可以进一步增强我们的 Java 测试体验。最后,我们一直致力于支持最新的 Java 技术,Java 18 的支持也在我们的计划之中。

性能和可靠性

性能和可靠性是我们 2022 年关注的另一个领域。在这方面,我们希望提高 Java Language Server 的可靠性,减少 Java Language Server 无响应的情况。我们还从用户反馈了解到,如果有很多依赖项要下载,那么第一次导入项目可能会花费很多时间,因此我们也计划对此进行研究。最后但同样重要的是,我们将继续优化代码补全性能。

构建工具

构建和依赖管理一直是 Java 开发的关键部分,尤其是对于大型和多模块项目。我们将继续为Gradle for Java扩展添加新功能,并改进现有的Maven 扩展

更好的 Spring Boot 框架支持

Spring Boot 框架是最流行的 Java 框架之一,它允许开发者轻松构建微服务或 Web 应用程序。当前的Spring Boot 扩展包包含许多优化 Visual Studio Code 上的 Spring 开发体验的功能,但我们听到了来自 Spring 开发者社区的反馈,并计划做更多的优化。我们将与 VMWare 合作对核心 Java 插件包和 Spring 插件包进行改进,以下是改进的一般方向:

  • 更方便的 Spring 组件创建(例如 Spring 项目和 Spring beans)
  • 常用 Spring 类以及组件的自动代码生成
  • 更好的 Spring 组件可视化视图(例如 Spring bean 关系图以及 REST API 映射列表)
  • 在 Spring Dashboard 中提供更好的 Spring 项目生命周期管理
  • 管理依赖关系时优化对 Spring 相关库的支持

通过这些 Spring 改进,我们确实希望 Visual Studio Code 上的 Spring 开发体验将比以往更加便捷。

用户体验

我们关注的下一个领域是用户体验(UX)。在 2021 年,我们遇到了很多这样的情况:用户想要一个功能,但其实它是已经存在的,只不过因为很难发现而找不到。因此,使功能更易于使用和更容易被发现将是我们在该领域的重点。我们还认识到 Java 开发者可能来自不同的 Java IDE 背景,因此我们将更容易从其他 IDE 迁移设置和配置。最后,我们知道有很多学生开发者在 Visual Studio Code 中使用 Java ,因此我们计划进行一些教育场景的改进,例如为没有构建工具的项目提供更好的 JUnit 测试端到端体验,优化 JavaFX / Swing 的项目创建工作流,以及更流畅的 Java AWT 包导入体验。最后,我们还将研究在我们的 Java 扩展中支持 Live Share 。

云原生开发

近年来云原生一直是软件开发行业最热门的话题之一。在采用云原生开发方式时,开发人员需要处理微服务、云平台、Kubernetes 等等不同的技术。为了满足开发者在这方面的需求,我们计划探索与 Kubernetes 的更深层次集成,以及提供与不同云服务(如Azure Spring Cloud)的整合。借助 Visual Studio Code 的远程开发插件GitHub Codespaces ,我们的目标是让云原生开发成为 Java 开发人员的绝佳体验。

功能更新

除了路线图,我们还有一些令人兴奋的新产品要分享:

Java 插件包中自带 JRE

我们有好消息要告诉大家——借助 Visual Studio Code 中对于不同平台插件的支持,我们现在已将 JRE 嵌入到我们的 Java 插件中,这意味着用户不再需要担心配置 JDK 来运行插件, 只需要为项目配置** JDK 即可 。我们还更新了入门体验和配置 Java Runtime 页面( Ctrl+Shift+P : **** **"Configure Java Runtime") 以反映此更改。对于新用户,只需安装Java 插件包,下载项目所需的 JDK (支持 Java 1.5 或更高版本),创建 Java 文件,然后愉快地编码!

Java 代码格式化文件配置

我们经常听到开发者说他们需要为 Java 代码进行格式化文件的配置,但他们找不到好的地方来预览效果。为了解决格式化的问题,我们之前引入了一个视图,开发者可以在其中更改格式化设置并预览效果。您可以通过两种方式访问此功能:

第一个选项 – 只需调出命令面板( **Ctrl+Shift+P ** ),然后运行"Java: Open Formatter Settings with Preview"命令

第二个选项 – 使用"Java:Help Center"( **Ctrl+Shift+P ** ,然后运行"Java: Help Center"命令)。这将打开 Java 帮助中心页面,其中包含非常有用的功能和快捷方式的列表。在此页面上,只需单击"Configure Formatter Settings"。

使用上述任一选项将引导您进入格式化程序设置视图,您可以在其中轻松更改和预览 Visual Studio Code 中的代码格式化设置。

反馈与建议

2022 年,Visual Studio Code 上的 Java 会有很多激动人心的更新,一如既往,您的反馈和建议对我们非常重要,将有助于我们未来的产品塑造。有几种方法可以给我们留下反馈

资源

以下链接和资源能帮助您更好地了解 Java on Visual Studio Code 的相关信息

短链接跳转长链接 HTTP 状态码应该使用 301 302 还是 303?

Posted: 21 Jan 2022 08:30 AM PST

如果允许用户随时修改短链接指向地址是不是使用 301 不太合适?如果短链接在创建后不允许修改指向地址呢?

Windows 下有没有类似 SELinux 的机制?

Posted: 21 Jan 2022 08:00 AM PST

最近了解了下 SELinux ,我的理解就是:给每一个进程设置访问资源的权限。

我在 Windows 上有这样的困惑:比如我运行了一个黄油,然后黄油虽然没有申请 UAC 权限,但是偷偷读取了我的 .ssh/id_rsa,岂不是挺危险的。

了解到火绒有这样的文件保护机制,但火绒可信吗?

通过 https://www.wilderssecurity.com/threads/what-does-windows-offer-thats-similar-to-selinux.305609/ 了解到 integrity levels 这样一个概念,但是感觉功能差太远了。

docker 中启动 puppeteer 服务很慢

Posted: 21 Jan 2022 06:44 AM PST

RT ,docker 中启动 puppeteer 服务需要至少 10 分钟以上,导致服务启动失败, 经过排查确认具体耗时是在 「 const browser = await puppeteer.launch({args: config.puppeteerArgs});」这行代码,请问有人遇到过类似问题么

怎么做正则二级域名泛解析格式的查询

Posted: 21 Jan 2022 06:39 AM PST

如库里:

domain
*.baidu.com
a.baidu.com
select * from 'b.baidu.com' ~* domain; 

报错 ERROR: invalid regular expression: quantifier operand invalid

摆脱各位 Javaer 转 go 的,别动不动就吐槽搞得不再用 Java 的都是垃圾一样

Posted: 21 Jan 2022 06:38 AM PST

GoLand 能否根据结构体 自动导入包前缀

Posted: 21 Jan 2022 06:35 AM PST

如题,直接写 package.Abc 是可以在上面 自动加入 import package 的。

但是能不能有办法 只写 Abc , 然后 GoLand 自动在前面补全 pakcage.

求大佬解答

你见过最简洁的后台管理系统是什么样的?

Posted: 21 Jan 2022 06:33 AM PST

看了这些网站有一些的想法(不是后台哈)

后台只需要写出最实用简洁的功能即可。 没必要搞得花里胡哨的,让我们把精力都放到有价值收货的事情上去。

用一些简单的 ui 即可。如

那么你见过最简洁的后台管理系统是什么样的呢?

操作数据库 update 忘了加 where

Posted: 21 Jan 2022 06:10 AM PST

处理一个很不合理的测试需求,需要手动修改数据库若干条记录,平时用惯了 orm ,真在终端写 sql 语句的机会非常少。也是由于基本功太生疏,导致在 select 找到要修改的记录之后直接 update 一敲忘了加 where ,结果把所有数据都更新了,影响是相关所有数据变的不可用,并且影响了前端组件的加载。现在回滚数据库就只能损失一天的数据了,还好是集成环境,如果是生产环境,真不敢想是什么后果。

我把我的应用升级 Vue3 后,变慢了 50%

Posted: 21 Jan 2022 05:33 AM PST

源码: https://github.com/alchemy-works/game-of-life


说明 Proxy 确实比 Object.defineProperty 慢不少啊

Springboot 出 3.0 了,有公司跃跃欲试的吗?

Posted: 21 Jan 2022 04:51 AM PST

昨天官方发了博客:官方博客
对于这句baseline from Java 8 to Java 17我还是比较激动的,回家赶紧 openJDK17 下起来

mysql 树形结构存储查询方案

Posted: 21 Jan 2022 04:47 AM PST

大家常见的树形结构是如何设计存储的,查询,修改的时候方便吗?
之前我一直使用的是 id ,name ,parent_id 的方案,但是后来发现查询子节点的时候特别不方便,哪怕最优的方案也需要查询 n(树的层数)次,不知道大家有没有什么好的查询策略或者数据存储方案

Python 程序如何定位到 cpu 占用过高的代码呢

Posted: 21 Jan 2022 04:31 AM PST

假如有一个 web 后台服务 cpu/内存占用过高,是否有类似 jstack 的工具,可以定位到具体的代码呢

开源软件开发者俱乐部

Posted: 21 Jan 2022 04:04 AM PST

就突然想到这个。
一般貌似都是一些有主题的沙龙讲座,但仔细想想其实开源软件之间也有合作可能,那么有没有这样的聚会可以促进开源开发者之间交流呢?

为什么很多大厂的手机浏览器的操作体验一言难尽

Posted: 21 Jan 2022 03:28 AM PST

别的方面可能还有,不过我感受最深的还是标签页管理和工具栏,涉及单手操作的方面。

本来我以为是不是老外真的手很大,无所谓这些操作按钮放哪里,就沿袭 PC 的设计思路,放在上面。那虽然我用着很难受,但也是能理解了。

但最近一看,不对啊,Safari 已经把地址栏挪到下面了,Firefox 我看也挪了。那说明他们还是地球人的手咯,和很多国人没太大的区别。


但这些已经挪了地址栏和菜单栏的浏览器,为啥标签页管理还是从左上角开始排列…………我在下方点击按钮打开标签页管理,依然要单手费劲或用另外一只手点击最上面一排来关闭。这个好像 Safari 还开倒车? 以前我记得它的标签页是从下往上排列的,手指上下划就可以轻松定位到某个标签。现在也改成了左上角排列……

chrome 和 edge 更是把我整笑了。当我把所有标签都关了之后,浏览器的状态就基本上卡死了,除非我手动额外点一下"打开一个新的标签页"……………… 那麻烦你能不能帮我自动打开一个。edge 还贴心地写上"若要浏览 web ,请添加新的标签页",不然呢……不浏览 web 我用你干啥呢……

Firefox 之前没怎么用过,现在用下来算是相对好点的。先用段时间试试。

国产手机的那些自带浏览器,虽然广告新闻啥的眼花缭乱,但这些操作体验还是秒杀 chrome 。

但我电脑上的 cent 是基于谷歌同步,手机上用别的一些小众浏览器就没了同步这一块,也是比较麻烦。

所以这些操作习惯到底是我的特色还是天朝特色还是啥,你们会觉得不好用么

昨天看了一个很有意思的视频,讲的是 WEB 后台开发, WASM 一统天下的故事。

Posted: 21 Jan 2022 03:18 AM PST

现在 WEB 服务,都上云服务,docker 容器的概念居多。

那么本质上,后台的逻辑代码,可以看成是一个个 VM 虚拟机。而 WASM 刚好就是一个非常成功,又跨平台的堆栈虚拟机。

  1. 你后台逻辑更新需要热加载,WASM 能成为最好的插件代码,新版本 nodejs 后台就直接支持 WASM 插件。
  2. 你代码需要可移植性,WASM 就是最好的选择,因为字节码完全和运行平台无关。想 x86, arm64, 甚至手表上运行都没问题。
  3. 你代码需要多语言支持,WASM 完全能满足十几种开发语言的需求。
  4. 你代码需要极速性能,优化过后的 WASM ,几乎没有对手。

在未来,WEB 前后端会用 WASM ,游戏会用 WASM 来替换现在的 LUA ,云计算会用 WASM 。也许这个技术,会改变我们写代码的方式。

idea 和 webstorm 有什么区别。

Posted: 21 Jan 2022 03:07 AM PST

大多数场景是前端开发,之前用的都是 webstorm 。 但是感觉更新 macos 到 12.1 之后特别卡。想换 idea 试试

Vue 3 将在 2022 年 2 月 7 日成为新的默认版本

Posted: 21 Jan 2022 02:49 AM PST

Vue 3 将成为新的默认版本

用 Vue 2 写的项目有必要升级吗,没有深入研究 Vue 3 ,在不提能跑就不动的项目经验外,就只论对使用体验和开发维护,不考虑背锅

现在的安卓手机性能已经很不错了, 可惜大部分仍然只是一个玩具...

Posted: 21 Jan 2022 02:46 AM PST

插上 Type-C, 充电+网络+键鼠+usb 3.0+显示器等外围都到位了.

中高端机器 SoC 性能也不错了啊, 堪比 i5 了(高通说的, 不关我事), 8G/12G 的内存, UFS/NVMe SSD. 这样的配置, 用于办公似乎够了.

想象下, 上班不用带电脑, 带上手机, 到公司直接怼上 Type-C 线, 办公啦, 多方便.

然而, Google 似乎不发力这方面, app 生态也几乎没有...

强制桌面模式 + freeform window 似乎下似乎没啥大用.

小白求助: Java 有什么方法可以做复杂条件过滤

Posted: 21 Jan 2022 02:18 AM PST

先说下一些条件的情况

  • 条件是可以配置的
  • 逻辑关系包含与、或、非
  • 计算关系包含 = 、>、<、>=、<= 还有 in
    • 当然这里的'in'可以用多个'或'去替换

总的来说就是需要实现类似 sql 的效果。但是用 java 实现。 条件里的字段是可以控制住的。

举例: 创建了一个抽奖活动,这个抽奖的参与条件如下:

  1. 会员和普通用户均能参加
  2. 会员需要积分参加
  3. 普通用户需要交钱参加

如上几个条件都是通过创建活动时管理员的配置来规定的,他也可以设置会员和普通用户都交钱参加,或者直接免费参与。或者普通用户直接不能参与...

而我要做的工作就是用户带着他的身份和其他必要信息参与抽奖时,去判断他是否有资格。这个判断条件这里该怎么存储和实现比较好呢?

求解。

ps:最好还能考虑到布尔值的短路情况和前端展示

pps:如果方案真的不错,有偿

关于 F 搜 的广告

Posted: 21 Jan 2022 01:28 AM PST

这里懒得上传图片了,直接贴链接。

一个是 F 搜 的知乎官方账号,简介里写着 一款高效简洁无广告的搜索引擎软件

https://www.zhihu.com/org/fsou-guan-fang-hao

另一个是 F 搜 的官方社区里发布的官宣,看第三条 免费 / 会员模式 下的会员特权对比居然有去广告这项

https://nilmap.com/t/topic/3727

官方快来解释一下这里的去广告是不是我理解的去广告 🐶

nginx 实现动态代理到服务器出现问题

Posted: 21 Jan 2022 01:12 AM PST

想实现一个功能:ip1 ip2 ip3
http://ip1/ip2/ 可以访问 ip2 的服务
http://ip1/ip3/ 可以访问 ip3 的服务

upstream ip2 {
server ip2;
}
upstream ip3 {
server ip3;
}
server {
listen 80;
location ~ ^/ip2/ {
proxy_pass http://ip2;
}
location ~ ^/ip3/ {
proxy_pass http://ip3;
}
}
发现请求到 index.html 文件正常获取到,但是加载的时候 index.html 引用的 js css 都找不到,因为都访问到 ip1 下,这种问题,nginx 可以解决吗?

想找个 [个人开发者] 开发个安卓版的程序,在哪里找比较好呀

Posted: 21 Jan 2022 01:01 AM PST

2022 年了,目前的 Go web 框架怎么选?

Posted: 21 Jan 2022 12:50 AM PST

每年一问

现在 windows 服务器虚机用什么版本?

Posted: 21 Jan 2022 12:46 AM PST

我的意思是安装一些 windwos 系统的虚拟机,用来跑一些应用的服务端或者 web service 服务,过去用 windwos 2003 挺好,容量小速度快,但是安全性和兼容性已经落后了,现在用什么? windows server 2008 、windwos server 2012 、windows server 2016 、windwos server 2019 、windows server 2022 ?哪个符合容量小、性能高、兼容性好的要求?

pandas 字符串拼接问题

Posted: 21 Jan 2022 12:46 AM PST

import pandas as pd df = pd.DataFrame(columns = ['a', 'b', 'c'],              data=[['A','1','http:1'],                    ['B', '2','http:2'],                    ['C', '3','http:3'],                    ['D','4','http:4']]) print(df) 
   a  b       c 0  A  1  http:1 1  B  2  http:2 2  C  3  http:3 3  D  4  http:4 

我想输出:

#Result G "A","1" http:1 G "B","2" http:2 G "C","3" http:3 G "D","4" http:4 

这样的格式,应该怎么拼接输出啊

G Suite 免费版将于 7 月 1 日起收费

Posted: 20 Jan 2022 11:26 PM PST

https://support.google.com/a/answer/2855120?hl=zh-Hans



各位有什么好的解决方案?最便宜的套餐是每用户每月$6 ,30GB 空间。

js 如何实现动态修改 class 样式类中的值,不是不能修改的吗?

Posted: 20 Jan 2022 11:22 PM PST

最近在研究宜搭的实现方式,看到修改容器 display 时会直接修改 class 内的值,这是怎么做到的? 修改右侧任意配置项后 class 内的值就会跟着变化 72kLM8.png

个人开发者账号和 Apple ID 换区遇到问题

Posted: 20 Jan 2022 11:19 PM PST

在国内,最近把我的 Apple ID 从国区换到美区了。体验都还可以,但是关联的开发者账号倒是出了点问题。

现在 Developer 和 App Store Connect 网站上提示我需要接受新的协议,接受协议之前需要去 Developer App 中进行身份验证,但 Developer App 提示开发者账号和 Apple ID 地区不匹配,需要我提供地址证明改开发者账号的联系地址到美国,目前做不到。我猜应该是 Apple ID 的换区也把我的开发者账号换区了。

本来希望把这个个人开发者账号转移到另一个我的 Apple ID ,联系客服后客服说没有这种操作。打算这次账号过期后用新 Apple ID 重新注册一个开发者账号;但是因为加入了 App Store Small Business Program 不能转移 App 。后来准备等我未来前往国外某地区后再把账号转到当地,但这中间我好像不能继续用这个开发者账号做任何操作?中间开发者账号会过期一段时间,对我已上架的 App 有没有什么影响?

请问这个情况大家有经历过的吗?还有什么解法吗?

win10 鼠标左键点击会卡顿延迟,右键刷新正常,怎么排查问题

Posted: 20 Jan 2022 11:01 PM PST

我目前尝试了下面几个
1.第一反应是鼠标问题,换到公司电脑插上使用好像正常
2.家里主机,换了几个 usb 接口插入好像还是卡顿
3.怀疑系统问题,打开任务管理器看 cpu 和内存占用都不高
接下去我晚上试试
1.那个新鼠标回家试试,如果还是卡顿那一定系统问题了
2.自带重置系统一下电脑试试
3.如果还不行就怀疑是硬件问题了

WEB 开发相关总结:《大话 WEB 开发》老铁们,又到年底了,来一波 star 不过分吧!

Posted: 20 Jan 2022 10:27 PM PST

又到了年底了,今年你做总结沉淀了吗? 作为开发者,需要不断的对技术点进行总结,并且把它沉淀下来,写技术博文无疑是最好的方式,随着时间流逝,还可以作为自己每个阶段的技术认知轨迹进行回顾和反思,这里将会持续记录对 WEB 开发相关总结内容


How to write a Python package (从零开始做一个 Python 软件)

Posted: 20 Jan 2022 10:03 PM PST

我以前曾学过 Python, 但用得不算多, 后来有几年完全没有使用 Python, 现在已经忘得差不多了. 趁着这次重新使用 Python, 顺便把这个 "复习+学习" 的过程记录下来, 也许以后自己回头看也有用.

1. 变量的作用域非常重要

因此, 复习的时候, 我首先就找变量作用域的教程来看, 主要搞懂 nonlocal 和 global 就可以了, 不需要研究得太深, 遇到问题再研究.

2. 如何引用模块

如何引用 (import), 以及怎样组织代码 (packages and sub-packages), 也是了解个大概就可以了.

3. 类(class)

受到 Go 的影响 (最近几年我用 Go 比较多), 我会尽量不去使用 "继承" 的特性, 但 class 对于更有条理地组织代码是很有帮助的.

同样是 Go 的影响, 我寻找类似 interface 的东西, 找到了 Abstract Base Classes, 另外再了解 classmethod 与 staticmethod 这两个重要概念, 我认为暂时就够用了.

4. 库(libraries)

这次我用 Python, 是想写一个可以轻松写插件的文件 /文件夹操作工具, 是个纯命令行程序, 并且用 YAML 或 TOML 来方便用户输入参数.

在实际动手写程序之前, 我习惯先找一下相关的库, 确定项目的可行性, 如果找不到相关的库, 或者看起来很不好用, 我就要考虑换语言了.

结果找到 importlib, Click, tomli 等, 看起来都很不错.

5. 为发布软件做准备

以前我写程序不考虑发布出去给别人用, 但后来 GitHub 流行了, 恰巧用 Go 写的软件只需要发布在 GitHub 即可, 我就顺便发布了. 因此现在写程序已经习惯了考虑如何发布.

Python 程序的发布中心是 pypi.org, 为了避免用户名或程序名与别人冲突, 到时写好程序才发现可能就要改名, 因此我先去 pypi 注册.

6. 正确的目录结构

发布到 pypi.org 的程序必须有正确的目录结构, 以及一些配置文件 (比如项目名称, 版本号等), 在这里有详细说明 https://packaging.python.org/tutorials/packaging-projects/

另外找到一个帮助打包的好东西 https://github.com/pypa/flit

7. 虚拟环境 (virtualenv)

对于 Python 来说,虚拟环境非常重要,因此 Python 里有很多工具帮助解决这个问题,官方也提供了工具。一般来说,官方的工具就够用了,详见官方文档 https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/

如果需要更丰富的功能,推荐使用 minicondapyenv

8. 生成可执行命令

有的 Python 程序当作一个库来使用,那就正常写程序就行,而如果要当作一个命令行程序来运行,可采用这种方法 https://click.palletsprojects.com/en/8.0.x/setuptools/#setuptools-integration

采用这个方法时要注意两点:

  • setup.cfg 里的 entry_points, 相当于 pyproject.toml 里的 project.scripts
  • 要注意目录结构,在上面的 click 网站链接里有说明,注意看就行。

采用上述方法后,可在项目根目录用命令 pip install --editable .flit install 进行本地安装,只需要本地安装一次,修改代码无需再次安装。

9. 格式化, 语法检查

还是受到 Go 的影响, Go 从一开始就强调代码格式化的重要性并且官方自带 formatter (当然, 只是说我受到 Go 的影响, 事实上各种语言都很重视这方面的工具), 很高兴在 Python 这边也找到了优秀的工具: Black, Flake8, Mypy, Pylance

类型检查

其实我写 Python 并不是太刻意追求类型安全,我决定用 type hints 最主要的目的是可以少写文档、更清晰地写文档。注明参数的类型时,用人类语言太麻烦,还不如用 type hints 更简明。

Mypy 容易安装容易使用,但默认行为不够严格,我没去研究如何提高 mypy 的严格程度,改用 Pylance, 在 VS Code 里设置 type checking mode 从 off 改为 basic 后发现严格程度刚刚好(如果改为 strict 则太严格),因此就这样用了。

10. 开始编写程序

到了正式开始编程,倒没什么特别要说的了,源代码的更新记录包含了一切细节。

ffe 是我第一次发布到 pypi 的软件,主要用途是管理自己日常写的零散脚本。最近升级到版本 v0.1.1, 新增了 use_pipe 参数方便多个任务串联。

使用命令 ffe dump -r mimi 可以获得插件 mimi 的 toml 文件:

[[tasks]] recipe = "mimi" names = []  [tasks.options] suffix = ".mimi" overwrite = false 

采用同样的方法获得别的插件的 toml 文件,然后复制黏贴到同一个文件里,例如:

[[tasks]] recipe = "mimi"    # 第一个任务:加密 names = [   'file.txt', ]  [tasks.options] suffix = ".mimi" overwrite = false  [[tasks]] recipe = "anon"    # 第二个任务:匿名上传 names = []   # 第二个任务既可指定具体文件名,也可接受上一个任务的结果  [tasks.options] auto_copy = true key = "" use_pipe = true   # 设为 true 表示接受上一个任务的结果 

然后使用命令 ffe run -f mimi-anon.toml 即可依次执行任务。第一个任务加密后会生成文件 file.txt.mimi, 并把这个文件名传给第二个任务。

如果想使用同一个流程来处理另一个文件,不需要任何改动,只要使用命令 ffe run -f mimi-anon.toml file2.txt 即可对 file2.txt 进行加密和上传。

如果有一些文件需要经常加密上传,这个任务组合就很方便了。还可以把打包压缩、删除文件等任务都添加进去,这比 GUI 工具更灵活,编辑 TOML 文件也很直观。

(关于我写的加密插件 mimi 的安全性在这里 https://v2ex.com/t/827768 有很充分的讨论)
(关于匿名上传的插件的说明详见这里 https://github.com/ahui2016/ffe/blob/main/docs/anon-ibm.md

终端命令下,什么命令 node 可以同时运行多个*.js 文件

Posted: 20 Jan 2022 09:39 PM PST

比如我文件夹下面有`a.js `,`b.js` ,`c.js`等等。每次运行都要 `node a.js & b.js & c.js`.
有什么方法可以一次性执行当前文件夹下的所有 js 文件吗

被 vue 搞的真的有点心烦,虽然是个小菜鸡但是我想知道到底为什么

Posted: 20 Jan 2022 08:59 PM PST

7czmkT.png 7czntU.png

我真搞不懂了,可能是 vue3 的指南文档里没写出来吧,刚学 vue 真的搞不太懂,为什么这里死活找不到 todos

无聊撸了一个金钱豹小程序,换上金钱豹保佑我明年吃喝玩乐不愁

Posted: 20 Jan 2022 08:31 PM PST

第一次接触小程序,界面有些简陋,大佬们求轻喷,给点建议

No comments:

Post a Comment