Tuesday, June 21, 2022

V2EX - 技术

V2EX - 技术


React Native 是否是一次倒行逆施?

Posted: 21 Jun 2022 07:10 AM PDT

我认为,Web 技术能实现出色的跨平台能力,本质上是因为浏览器提供了一个画板,而我们用 HTML 、CSS 、JS 在上面画出一个个像素,形成组件。也就是自绘

img

而 RN 则反过来,编译成原生组件,虽然性能提高了,但跨平台特性就又被削弱了,造成了不一致性。

这不由得让我想到了 Java 的 AWT 和 Swing ,前者就是因为要转成原生组件,所以只能使用系统组件的交集,而且不一致性严重,而后者则走了自绘的道路,性能略低,但不一致性增加。(不讨论 Java 的 GUI ,主要是看理念)

第十五章 GUI 設計(AWT/Swing)與內部類別

所以当我看到 RN 的做法,我一直觉得这是在开倒车。相反来说,我觉得 Flutter 的理念可能更正确点。

补充:

  • 原生第一。但这里只讨论跨平台应用。

  • RN 和 Flutter 都只是摸了摸,没实际用过。但 web 还是写了不少的。

  • 主 Java ,第二语言 JavaScript 。对前端生态圈熟悉,vue 、react 都比较了解。反而是对 Flutter 可能产生了不切实际的幻想。

  • 仅从开发角度。从用户角度来说,那些选择 RN 的程序,不用 RN 也是 web 三大件,有啥问题又不是我调,性能更高完全不反对。

  • 就是来找喷的

超星学习通数据库疑似遭入侵

Posted: 21 Jun 2022 07:08 AM PDT

稍早前尝试检索,发现确实可以在社工平台中查到相关信息。

要求大家脑洞大开,解决一个关于图像的问题

Posted: 21 Jun 2022 07:08 AM PDT

各种电子化也就是无纸化考试中,最原始也是最通用的作弊手段是最难防御的

在考生身上装摄像头或者考场的房顶上挂摄像头,然后通过耳机传递给考生答案

因为考试用的都是计算机屏幕,想请大家脑洞大开想到一个仅通过软件的办法解决这个问题

比如说通过改变屏幕的刷新率或者颜色什么的,让只有人眼才能看得清楚屏幕,摄像头拍出来的都不清晰或者根本看不到内容,前提是不能增加任何的外部硬件,如防窥膜一类的

有报酬的头脑风暴,W 起,要求大家讨论,谢谢

如果有解决方案的麻烦留下联系方式,我会联系

Pycharm 自从某一个版本更新后,字体就发虚,有朋友遇到过吗

Posted: 21 Jun 2022 07:06 AM PDT

试过重装,安装社区版,完全版,都是这问题,很奇怪。 Pycharm: https://imgur.com/a/vHoXJfH

正常的 WebStorm: https://imgur.com/MVArdRy

Cloudflare 刚刚这波挂得挺惨的

Posted: 21 Jun 2022 07:04 AM PDT

这应该是今年波及范围最广的服务挂掉的事故了吧?

VIM 如何入门

Posted: 21 Jun 2022 07:00 AM PDT

最近在学习 VIM,感觉各种不习惯,问一下各位老哥,大家是如何熟练使用 VIM 的?

超星泄露数据库(学校名单)

Posted: 21 Jun 2022 06:59 AM PDT

不含个人信息,只有泄露的学校名单!

我查了下我自己,日了狗了 md

幼儿园都 tm 不放过,傻逼!

共 141184 所学校

包含幼儿园、小学、初中、中专、高中、大专、本科、教育基地、各类教育机构( XX 教育、XX 培训)等

发出来只是让大家自查,但估计自查没啥用了,毕竟被拉库了(苦涩)

今晚有我们大书记的课,我要问问他怎么看。


下载地址: http://include-cloud.test.upcdn.net/school.txt


求问一下大佬们新组的 NAS 内网丢包,是什么原因?

Posted: 21 Jun 2022 06:57 AM PDT

组了台 NAS 装的系统是 Truenas Scale 然而内网访问非常慢就尝试 ping 了一下发现丢包率有 50%以上 是什么原因呢?

来自 192.168.3.39 的回复: 字节=32 时间<1ms TTL=64 请求超时。 来自 192.168.3.39 的回复: 字节=32 时间<1ms TTL=64 来自 192.168.3.39 的回复: 字节=32 时间<1ms TTL=64 来自 192.168.3.39 的回复: 字节=32 时间<1ms TTL=64 来自 192.168.3.39 的回复: 字节=32 时间<1ms TTL=64 请求超时。 请求超时。 请求超时。 请求超时。

家里网络是用的华为子母路由器 q2s 主路由接了一个旁路由做科学 fq ,然后子路由连交换机,交换机连 nas 和主机 然后 nas 和主机的网关都是走旁路由,dns 是走主路由

小米 12X 和红米 K50 pro 推荐买哪一个?

Posted: 21 Jun 2022 06:47 AM PDT

- 小米 12x 8+256
- 红米 K50 pro 8+256

安利个安卓工具,按键映射 Key Mapper

Posted: 21 Jun 2022 06:23 AM PDT

https://f-droid.org/en/packages/io.github.sds100.keymapper/

老平板的电源键已经不灵敏了,长按动作已经按不出来了,自己换又要拆快麻烦的
我用这个工具把 home 键长按映射到电源键长按,成功续命

Python 日志输出异常的正确姿势?

Posted: 21 Jun 2022 06:02 AM PDT

项目里为了程序在服务器上长期运行不会中断,在所有可能出异常的位置加了 try / except Exception as e ,但是有时候需要根据日志调试错误的时候,捕捉了 e 但是不太好在日志里查看,因为不能直接 raise ,这样的话程序就中断了,但是如果打印 e 的话又不包含整个错误的产生链,经常搞不清状况

MAUI 比 Flutter 流畅多少?(没用过的不要进)

Posted: 21 Jun 2022 05:11 AM PDT

最近听说 MAUI 发正式版了,想起来之前测试阴间 Flutter ,1000 张图和 3000 条文本同屏( 150%屏幕高度),在我 i7 9700k+32GB RAM+RTX2060 的开发机上拖洞掉帧比天天在 V 站被骂的 Electron 还严重( Electron 启动慢,RAM 占用大但完全没有掉帧,Flutter 目测最多 20fps ,完全不跟手)

Google 没找到 MAUI 的评测,有 V 友试过么?

有被优化的兄弟进来取暖吗 (求内推

Posted: 21 Jun 2022 04:55 AM PDT

3 年经验被迫毕业,找了一个月 offer 只有几个感觉现在找工作真的好难

一边找工作一边看旅行攻略想出去旅游了

php+go 有内推的吗

https://github.com/cexll

ToDesk 被控端如何主动断开连接?

Posted: 21 Jun 2022 04:54 AM PDT

回到家里发现公司电脑还在远程着本机,但是找不到从哪里断开。 把 todesk 退出再重新登录,还是会自动连上

Java , list 用 stream 转 map,如何简洁的转 key 的类型

Posted: 21 Jun 2022 04:52 AM PDT

一个 List<Obj>

Obj 有个字段 ID 是 long 型,现在要以 id 作为 key 转为 map ,但是转了之后,需要这个 id 变成 String 型

使用 stream

转 Map<String,OBJ>

请教一下各位大佬

怎么写,比较简洁

谢谢。

用 wsl2+vscode 开发,还挺香的

Posted: 21 Jun 2022 04:09 AM PDT

以前觉得 windows 不务正业,还搞一个 wsl 子系统进来做什么,安装一个虚拟机不就可以搞定。现在慢慢有了一些新体会。

首先,wsl 确实比虚拟机要轻量,安装完 ps 一下进程就明白,很干净,没有多余的进程。 另外,互操作性不错,可以直接在 wsl 中运行 windows 命令(也有 tab 键补全命令)。两者的文件系统也可以互相打开。 现在,又可以将 vscode 挂到 wsl 中来开发,那真是爽了,毕竟用 linux 做开发环境,后端依赖库和软件包更新都很方便。又可以解决没有前端 IDE 编辑器的问题。

有了这些能力,win10 系统被我保留了下来,不然早就格式化安装 linux 了。当然,使用中也发现一些问题,比如:

  • wsl 中无法设置静态 ip ,每次启动都变了。
  • wsl 中挂的 win 文件系统,文件权限和属主( chmod/chown )好像有问题,全是 root ,777 。 不知道怎么处理比较好?

使用夜莺监控替换 Prometheus + AlertManager + Grafana

Posted: 21 Jun 2022 03:35 AM PDT

夜莺监控是一款开源云原生监控分析系统,采用 All-In-One 的设计,集数据采集、可视化、监控告警、数据分析于一体,与云原生生态紧密集成,提供开箱即用的企业级监控分析和告警能力,已有众多企业选择将 Prometheus + AlertManager + Grafana 的组合方案升级为使用夜莺监控。夜莺监控,由滴滴开发和开源,并于 2022 年 5 月 11 日,捐赠予中国计算机学会开源发展委员会( CCF ODC ),为 CCF ODC 成立后接受捐赠的第一个开源项目。

夜莺监控的几个经典案例分析,希望对于构建云原生监控体系的朋友,有帮助:

不是程序员,也不会编程,相反我是个设计师,没想到逛啊逛啊,逛到这里

Posted: 21 Jun 2022 03:01 AM PDT

我看里面发布的问题都没那些低智的问题,这个论坛可以的。

有没有 5 口 POE 三层网管交换机?

Posted: 21 Jun 2022 02:53 AM PDT

大多数三层网管交换机,都 10 口以上,价格大几百到几千。

有没有只有 5 口的,价格 500 以内的三层网管交换机,支持 POE?

谁有空闲时间,付费找人写个小偷程序

Posted: 21 Jun 2022 02:46 AM PDT

小预算,穷屌丝一个,嫌弃钱少的也别骂我。

通过 https://www.qwant.com/?locale=zh_CN&q=%E7%BA%A2%E7%83%A7%E8%82%89%E6%80%8E%E4%B9%88%E5%81%9A%E5%A5%BD%E5%90%83&t=web

抓数据回来,用新的规则清晰数据,然后用自己的模板风格加载生成缓存文件后输出。

没啥负责的技术含量,估计整个程序就 2 到 3 个文件。

github 上貌似有 qwant 的 API 接口,不过看了下 检索页面的右键源代码,也有 json 数据输出。

我小白,也不懂啥技术,估计是 curl 取数据,正则啥的过滤和清洗,最后组合下数据生成缓存页面,前台输出。

能做的给我发个邮件联系,邮件实时能收到并回复你。

联系邮件:

tangknox # gmail.com
是 gmail 的邮箱
发的时候把 # 号 和前后空格删掉,# 改成 @

最后来个长期有空余时间接活的,都是一些小需求开发较多。

PHP 拒绝服务安全漏洞(CVE-2018-19396) 如何解决?

Posted: 21 Jun 2022 01:38 AM PDT

部署公司官网到集团 VPS ,集团上线前安全检查提示:PHP 拒绝服务安全漏洞(CVE-2018-19396)

环境:Centos7+LNMP ( PHP 5.6.4 )

[项目推广]对标 c++ 的标准 js 数据结构库

Posted: 21 Jun 2022 01:35 AM PDT

js-sdsl

一个对标 c++ 的标准 js 数据结构库,对时间复杂度有严格保证,并且在最新测试版中支持 c++ 迭代器模式

包含的数据结构

  • Vector
  • Stack
  • Queue
  • LinkList
  • Deque
  • PriorityQueue
  • Set (using RBTree)
  • Map (using RBTree)
  • HashSet (for reference only)
  • HashMap (for reference only)

使用

我们提供详细的 API 文档

cloudflare worker 求助

Posted: 21 Jun 2022 01:33 AM PDT

我现在用 nginx 代理 ass.abc.com 到 127.0.0.1/js
然后在 worker 绑定一个域名 js.abc.com
为什么在网站上无法加载 js.abc.com 显示 522

addEventListener("fetch", event => {
event.respondWith(handleRequest(event.request))
})

async function handleRequest(request) {
// Cloudflare Workers 分配的域名
cf_worker_host = "xxx.xxx.workers.dev";
// 自定义的域名
origin_host = "js.abc.com";
host = "ass.abc.com";
// 替换 2 次以同时兼容 Worker 来源和域名来源
url = request.url.replace(cf_worker_host, host).replace(origin_host, host);
return fetch(url);
}

原因是 cors 吗?我用 xxx.xxx.workers.dev 在浏览器能打开 JS ,但是直接用这个地址也是无法加载 JS 。522

发现个很好看的主题风格,各位知道这个是什么主题吗

Posted: 21 Jun 2022 01:13 AM PDT

PVE 现在的动态扩展磁盘大小在删除一定文件并重新写满后虚拟磁盘文件大小会比设置的磁盘大小大吗?有办法像 ESXi 那样预先分配固定大小吗?

Posted: 21 Jun 2022 01:04 AM PDT

服务每天会产生大量的临时文件,不知道删除后 PVE 能不能自动回收磁盘空间,还是会无限增大

iptables 智能路由问题,感谢大佬

Posted: 20 Jun 2022 10:26 PM PDT

ipset 设置:

ipset create non-vpn hash:net
ipset add non-vpn 1.0.1.0/24
ipset add non-vpn 1.0.2.0/23
ipset add non-vpn 1.0.8.0/21
ipset add non-vpn 1.0.32.0/19
ipset add non-vpn 1.1.0.0/24
ipset add non-vpn 1.1.2.0/23
ipset add non-vpn 1.1.4.0/22
...



iptables 设置:

iptables -F
iptables -X
iptables -Z
iptables -F -t nat
iptables -X -t nat
iptables -Z -t nat
iptables -t nat -A POSTROUTING -o eth0 -m set --match-set non-vpn dst -j MASQUERADE
iptables -t nat -A POSTROUTING -o tun0 -m set ! --match-set non-vpn dst -j MASQUERADE



route 信息:

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.8.0.1 128.0.0.0 UG 0 0 0 tun0
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
10.8.0.0 * 255.255.255.0 U 0 0 0 tun0
外网 IP 192.168.1.1 255.255.255.255 UGH 0 0 0 eth0
127.0.0.1 192.168.1.1 255.255.255.255 UGH 0 0 0 eth0
128.0.0.0 10.8.0.1 128.0.0.0 UG 0 0 0 tun0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
192.168.6.0 * 255.255.255.0 U 0 0 0 br-lan



ifconfig 网卡信息:

br-lan Link encap:Ethernet HWaddr ********
inet addr:192.168.6.1 Bcast:192.168.6.255 Mask:255.255.255.0
inet6 addr: fd74:b959:13de::1/60 Scope:Global
inet6 addr: fe80::457:2ff:fe85:67ce/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:30679 errors:0 dropped:0 overruns:0 frame:0
TX packets:40267 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2791569 (2.6 MiB) TX bytes:37067870 (35.3 MiB)

eth0 Link encap:Ethernet HWaddr ********
inet addr:192.168.1.30 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::4cac:92ff:fe35:c480/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:42954 errors:0 dropped:1830 overruns:0 frame:0
TX packets:31589 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:40242889 (38.3 MiB) TX bytes:5667545 (5.4 MiB)
Interrupt:31

eth1 Link encap:Ethernet HWaddr********
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:30751 errors:0 dropped:0 overruns:0 frame:0
TX packets:40261 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3225443 (3.0 MiB) TX bytes:37067141 (35.3 MiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:43483 errors:0 dropped:0 overruns:0 frame:0
TX packets:43483 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:42440596 (40.4 MiB) TX bytes:42440596 (40.4 MiB)

tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.8.0.2 P-t-P:10.8.0.2 Mask:255.255.255.0
inet6 addr: fe80::ae94:5ef8:ae8e:4cea/64 Scope:Link
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:14631 errors:0 dropped:0 overruns:0 frame:0
TX packets:9002 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:15496526 (14.7 MiB) TX bytes:829920 (810.4 KiB)

================================================================================

想通过 iptables 实现 ipset 列表的 ip(强内)走 eth0 出去
其余 ip(强外)走 tun0 实现饭强。

现在是非 ipset 的 ip 列表可以走 tun0 成功饭强,但是 ip 列表走 eth0 失败,不通,请问一下问题出在哪里?

求一个 base64 工具,市面上的全部不满足要求

Posted: 20 Jun 2022 08:56 PM PDT

如下,windows 或者网页版都行。轮子哥出门左转不送。 感谢大家~

unbuffered channel 和只有一个元素的 buffered channel 有啥区别

Posted: 20 Jun 2022 08:46 PM PDT

比如:

sema = make(chan struct{}, 1)

和 sema = make(chan struct{})

都是只能放一个元素,读取之前再放的话就会等待

ORICO 硬盘柜怎么看 RAID 是否组建成功?

Posted: 20 Jun 2022 08:00 PM PDT

问了下客服说可以通过官方驱动查看, 但是官方驱动只有 Windows 版本

真诚请教原因, RabbitMQ 增加多消费者导致生产者推送消息阻塞(10s~30s)

Posted: 20 Jun 2022 07:27 PM PDT

RabbitMQ 增加多消费者导致生产者推送消息阻塞(10s~30s) 设备上传数据到系统 A(netty),系统 A 根据数据类型推送消息到不同的队列,因为设备量增多的原因,之前单消费者开始处理的不及时,就想着多增加个消费者(和之前的消费者代码一样),然后系统 A 推送消息开始出现卡顿,数据帧应答的很慢,感觉不像是流控的事,管理端看着也没问题 相关代码: 系统 A:

channelRead(ChannelHandlerContext ctx,  Object msg){     ....     sendAck(ctx,ack);     switch (data.getClass().getName()) {         case "realTimeData":             RabbitUtil.getInstance().publish(realTimeData);     } } 
publish(RealTimeData realTimeData){      .......      Map<String, Object> header = new HashMap<String, Object>();      header.put("DataType", "RealTimeData");      BasicProperties props = new BasicProperties().builder().headers(header).build();      channel.basicPublish(exchangeName, routeKey_CollectedData, props, CollectedRealTimeDataPackageTransform.toBytes(data)); } 
channel init:     private Channel channel;     private ConnectionFactory factory = new ConnectionFactory();     @PostConstruct     public void init() {         instance = this;         factory.setUsername(mqUserName);         factory.setPassword(mqPassword);         factory.setHost(mqHost);         factory.setVirtualHost(mqVirtualHost);         factory.setPort(mqPort);       }      channel = factory.newConnection().createChannel(); } 

消费者代码:

    @Autowired     DataProcessor processor;     @Autowired     @Qualifier("threadpool")     ThreadPoolExecutor threadPool; @RabbitListener(queues = "${mq.queue.Original.CollectedData}", ackMode = "MANUAL")  public void process(Message msg, Channel channel) {         MessageProperties mp = msg.getMessageProperties();         Map<String, Object> headers = mp.getHeaders();         String dataType = (String) headers.get("DataType");  switch (dataType) {             case "RealTimeData":                 CompletableFuture.runAsync(() -> {                     try {                         channel.basicAck(msg.getMessageProperties().getDeliveryTag(), false);                         CollectedRealTimeData crtd = CollectedRealTimeDataPackageTransform.fromBytes(msg.getBody());                         processor.process(crtd);                     } catch (Exception e) {                         try {                             channel.basicNack(msg.getMessageProperties().getDeliveryTag(), false, false);                         } catch (IOException ioException) {                             ioException.printStackTrace();                         }                         e.printStackTrace();                     }                 }, threadPool);                 break;         }     } 

Java on Azure Tooling 的更新 – 2022 年 6 月 – Azure toolkit for IntelliJ 新视图, Azure 服务支持

Posted: 20 Jun 2022 07:24 PM PDT

大家好,欢迎来到 Java on Azure Tooling 的 6 月更新。在这次更新中,我们将为 Azure toolkit for IntelliJ 引入以应用为中心的新视图,这将使管理界面对用户更加友好。此外,我们还新增了对更多 Azure 服务的支持。对于 Gradle 插件,我们为 Azure Web Apps 和 Azure Functions 提供了一些新支持。我们希望你喜欢这些新功能并与我们分享你的反馈。让我们开始吧!

Azure Toolkit for IntelliJ 更新

Azure Explorer 中以应用为中心的新视图

4月份的博客中,我们首次在路线图中介绍了以应用为中心的概念。目前 Azure 资源管理器( Azure Explorer )经过长时间发展,已经扩展并支持多种云资源。Azure 资源管理器是 Web 应用( Web Apps )、Function 应用( Function Apps )、Spring 应用( Spring Apps )、虚拟机( Virtual Machines )、存储账户( Storage Accounts )、数据库( Databases )和其他服务的逻辑集合。但它是按资源类型而不是按应用类型(资源组,Resource Groups )分组的。对于在 Azure 资源管理器中执行操作的开发者来说,该视图将使管理和理解一个应用中具体涉及的哪些服务或产品变得复杂。我们还发现,在按服务类型分组的资源视图内,一些开发人员可能倾向于失去关注点或感到不知所措。

基于这些原因,我们一直在进行投资,以改进和引入这种以应用程序为中心的新视图。通过此视图,它将帮助开发者认识和定义应用程序中的具体内容。在下面的展示中,你将能够看到按应用分组的 Azure 资源的视图。

要尝试这个新功能,你可以在 Azure 资源管理器中找到根节点—资源组( Resource Groups )。你可以发现对于每个应用程序,属于同一资源组的所有资源被集合在一起。如果需要,你可以为每个应用程序创建或删除资源组中的资源。下面是一个简短的演示。

Application Insights 支持

在最新发布的版本中,Azure Toolkit for IntelliJ 上已经提供对应用洞察( Application Insights )的支持,这样开发者就可以直接在 Azure 资源管理器( Azure Explorer )中管理应用洞察。要创建它,你只需要找到 Application Insights 结点,然后右击它,选择 "create"。

有了这种功能上的支持,你可以在创建 Application Insights 之后通过 Azure Resource Connector 手动配置资源连接。

当你在 "Open Live Metrics"选项中右击节点时,它将导航你到 Application Insights 的门户网站,在那里你可以在部署的全流程中实时观察信息流并定位你的应用程序的性能。

Spring Apps 更新

最近,Azure Spring Apps Enterprise 正式宣布可用。我们已经在产品上对 Azure Spring Cloud Enterprise 进行投资并支持相关功能。如果你选择使用 Azure Spring Apps 的企业级定价规则,你可以简单地右击 Spring 应用程序集群节点下的 "create"选项来完成配置。

为了增强这种体验,我们在 vCPU 版本中额外支持 0.5 内核和 512M 内存。此外,你不需要为企业级应用程序指定运行时刻( runtime ),因为它将从源代码或项目中自动检测运行时刻来进行部署。在部署完成后,你可以简单地右击节点,选择 "Show properties"来查看配置。

Gradle Plugin 更新

Deployment Slots 支持

当你将 Web 应用或 Function 应用部署到 Azure App Service 时,你可以使用一个单独的部署槽( deployment slot )而不是默认的生产槽( default production slot )。通过这种方式,你可以先在暂存部署槽中验证任何应用的变化,然后在同一个应用服务中把它替换成生产槽。

azurewebapp {      ...      deploymentSlot {         name =&#39;xxx&#39;         configurationSource =&#39;parent&#39;      }  } 

从 6 月份开始在最新的版本中,你可以尝试 Gradle 插件对于 deployment slots 的支持,对版本为 1.4.0.的 Azure Web App 和版本为 1.9.0.的 Azure Functions 均提供支持。你可以在 build.gradle 文件中手动添加以上配置,来尝试这个新功能。

要了解更多关于 Gradle 插件的信息,你可以找到更多细节如何用Gradle将 Java Web 应用一步步部署到 Azure 。

反馈与建议

如果您有兴趣,请不要犹豫并尝试使用我们的产品吧! 您的反馈和建议对我们非常重要,将有助于我们产品的未来发展。

资源

以下链接和资源能帮助您更好地了解 Java on Azure Tooling 的相关信息:

想双盘位组个 RAID1, 有什么硬盘柜推荐?

Posted: 20 Jun 2022 07:14 PM PDT

求大佬开发日本 iPhone 抢购软件

Posted: 20 Jun 2022 04:24 PM PDT

https://github.com/hteen/apple-store-helper 这是现有项目,该项目只是到有货提醒那一步, 需要再次开发到自动付款那一步。 有意的大牛欢迎联系微信,unlocker2018

我的 AIO 主机参考

Posted: 20 Jun 2022 04:16 PM PDT

硬件配置

部件 型号 数量
CPU AMD Ryzen 5950X x1
主板 ASRock x570 Taichi ATX x1
内存 三星 3200AA 32G 纯 ECC x4
散热 猫头鹰 D15 x1
机箱 FD Define R6 x1
散热 ARCTIC P14 PWM x3
散热 ARCTIC F14 PWM x1
电源 RM850X x1
显卡 2060S x1
网卡 X550T2 x1
PCI IT 模式 HBA 卡 x1
SSD PM9A1 0.5T NVME x2
SSD 镁光 2T 2.5"SATA x2
SSD 三星 某 EVO 512G x1
HDD WD HC550 18T x2
HDD WD HC530 16T x4
HDD WD HC320 8T x1
HDD WD HC320 8T 暂定退休 x3

硬件碎碎念

  1. CPU 其实低一档用 5900X 也能够;
  2. 这个主板当时咸鱼卖的很便宜同时支持 ECC 就买了,回来才发现这个一体化的散热版拆装 M2 真的是噩梦,以后得避坑;
  3. 机箱更换风扇对于散热效果有明显改进,3 把 P14+1 把 F14 在噪音不变的情况下,将我的硬盘平均温度才 43 度下降到了 37 度;
  4. 显卡在直通的时候放在第二块 x16 插槽上比较省事,减少潜在问题;
  5. HDD 硬盘确实好点,1 块差不多就是 10 瓦

软件配置

Host 安装 Proxmox ,按照大致功能划分分了几个 lxc 容器,包括网关、文件服务、媒体服务等等,容器所有配置都通过 ansible 安装完成(这部分目前进度还只要 50%,慢慢替换),虚拟机方面按照功能也大致分了四个,包括工作、游戏、沙盒、模拟运算

存储目前在 host 层面配置,2 个 2T SSD 组 zfs mirror ,兼职系统盘以及虚拟机盘,2 个 NVME 盘组 raid mirror 目前空闲,之前打算给游戏虚拟机用,但是发现实际磁盘性能似乎不达标,没有摸清楚,暂时把一个单独的 SATA SSD 直通给了游戏虚拟机做系统盘,2 块 18T 硬盘组 zfs mirror ,保存相对重要的文件,1 块 8T 硬盘用来做 PT 下载盘,最后,4 块 16T 硬盘、1 块 8T 硬盘外加 2 块 18T 硬盘镜像上的 fuse 文件夹通过 MergerFS 以及 Snapraid 组成一个大的 unraid 盘给各种服务使用。

感想

  1. 功耗确实高,待机 140w ,这是在开启 PBO2 AUTO+降压-12 ,调度模式改为 conservative 后的成绩,不过考虑国内电费低,还可以接受:
  2. AIO 在网络性能上的优势挺爽的,PVE 内部虚拟网桥测下来可以到 70G ,LXC 内安装 DOCKER 网桥也可以到 40G 的程度,省去了我在现有条件纠结内网是否使用 10G 交换机以及用哪款的问题,万兆电口网卡一端连 N5105 2.5G 路由器,一端连接带 10G 口的 M1 Mini 使用,正好够用:
  3. 机箱用中塔,虽然确实傻大粗,不过噪音散热方面确实不错,放在桌脚旁边的距离,平常下载的时候主机声响远小于空调声,装硬盘也比较随意,可以容纳 11 块 3.5"硬盘;
  4. 用 win vm 玩游戏的时候,感觉和真实主机并没有感觉到性能区别;

下一步改造

目前硬件方面感觉已经挺完美,等价格合适,可以考虑把 HBA 卡拆掉,将两块 SATA SSD 换成 4T U2 大船,大概就是完全体了

软件方面大概就是 playbook 还得继续慢慢写,逐渐替换掉目前手动配置的各种 lxc docker 容器

(完)

JS Remote Debug 相关技术咨询

Posted: 20 Jun 2022 04:08 PM PDT

背景

本人做移动端,也会基本的前端开发,最新想做一个移动的 JS Remote Debug 课题,特来 V 站咨询

疑问点

  1. 类似微信二维码扫描远程调试,调试窗口是直接用的 Chrome DevTools 么?还是用微信自己实现 vConsole
  2. 如果要远程显示元素、网络、日志,是需要自己实习一套通信协议,还是已经有规范的协议?

请大佬赐教

PVE 自动往.ssh/authorized_keys 添加公钥意义是什么?

Posted: 20 Jun 2022 10:24 AM PDT

检测 `authorized_keys` 的时候发现了不明公钥,吓我一跳。`ls -l` 发现链接指向 PVE 的目录,怀疑是 PVE 的某个功能生成的,于是拿了一台全新的机器安装 PVE ,安装后也出现了不明公钥,因此可以确认确实是 PVE 生成的。Google 了很久也没找到 PVE 为了实现什么功能添加了这个公钥,有 V 友知道吗?

三十多岁的老码农出路在何方?

Posted: 20 Jun 2022 10:21 AM PDT

转眼三十多了,从没想过不干程序员了干什么,由于疫情原因,各个公司到处都在优化人,突然发现自己如果不干程序员了,还真没有别的吃饭的技能了,直播吧又没有口才,外卖吧自己又不喜欢,真想干 it 到老,但是国内没这个土壤啊,不知道社区那些三四十的老码农都如何规划的,或者还在 it 道路上吗,求指教,分享

Pixel 4 黑屏求助

Posted: 20 Jun 2022 09:47 AM PDT

老哥们求救!刚买的 pixel 4 变成砖了,按什么键都没反应
本来好好的,打着游戏突然就黑屏重启,google 徽标出现后又黑屏,然后就彻底死机了
网上按电源键+音量键之类的强制重启方法都没用,再没辙的话只能送修了。。。

No comments:

Post a Comment