Sunday, July 25, 2021

V2EX - 技术

V2EX - 技术


关于浏览器适配的特别情况,不知道怎么解决?怎么判断移动端的火狐浏览器呢

Posted: 25 Jul 2021 04:09 AM PDT

目前火狐浏览器不支持 backdrop-filter 属性,这个属性是背景毛玻璃效果,并且现在主流浏览器中只有火狐不支持

而且,这个毛玻璃效果的只用在了手机端上,有且仅有移动端火狐浏览器需要适配,工作量不大

那我就想适配一下,我的思路是通过 js 判断浏览器内核,检测到火狐的时候,把 backdrop-filter 换成一张图片。

于是神奇的一幕发生了

我找了很多检测的代码,发现都无法使用,然后我惊奇的发现,当通过开发者工具调成手机端 iphoneX 的时候,内核就变成了苹果,这我也能理解,毕竟是模拟手机嘛,可是苹果是支持 backdrop-filter 属性的,为啥模拟苹果了还是不支持?现在的问题就是我如何知道访问的设备是移动端的火狐浏览器呢?

在火狐浏览器里面通过开发者工具调成 iphoneX 的时候, 我通过: https://blog.csdn.net/tym3515/article/details/84754135 检测到是 iphone 然后通过 http://tools.jb51.net/aideddesign/browser_info 检测也是 iphone

主要原因就是这些检测代码要么是检测内核 要么是检测设备类型 所以我现在该怎么办,要怎么适配这个有且仅有一个的移动设备上的火狐呢?

群晖 NAS 有异常的网络发送,数据量巨大,暂时未定位到原因。

Posted: 25 Jul 2021 04:03 AM PDT

设备信息

型号 DS220+,DSM7.0,两根网线,LAN1 LAN2

具体情况

每个小时的第 15 分钟开始到第 25 分钟之间,LAN1 和 LAN2 交替以 2MB/s ( 16Mbps )的速度向外发送数据,10 分钟发送了大约 1.2G 的数据,实在想不明白到底什么服务需要对外发送这么大量的数据。

下图是监控数据。

已排除的可能

  1. FRP,frp 的相关穿透配置仅限于 LAN1 的地址,未对 LAN2 的地址有任何穿透转发。看发送情况是 LAN1 和 LAN2 交替发送。

  2. OneDrive 的同步,没有这么大的同步量,这几个周期发送了好几十 G 的数据了,OneDrive 同步任务可以排除。

  3. 相关 Docker 容器的网络发送,只有 FRP 容器两个。qinglong 容器一个。

  4. Synology Active Insight,这玩意定期上产系统的运行信息,按理说不可能发送这么巨大的流量。

其他问题

DSM7.0 Universal Search 应用点击 检查索引数据库,会一直检查,导致 CPU 在数天内持续占用 50%左右,手动取消后占用恢复正常。

我使用 iftop 未定位到原因。各位有什么排查策略吗?

Java 目前实现全异步的方式有哪些

Posted: 25 Jul 2021 03:51 AM PDT

除了 callback

ubuntu 下的 sshd 是否具备抗暴力破解的拒绝服务功能?

Posted: 25 Jul 2021 03:12 AM PDT

比如,一个未知身份连接进来尝试错误几次用户名 /密码之后,就自动屏蔽几分钟。
这样可以极大的延缓密码被试出来。

基于 mmap 相比于 fwrite 写日志,是否有性能优势?

Posted: 25 Jul 2021 03:08 AM PDT

看到一些日志库和文章说,声称基于 mmap 可以增强性能,如腾讯 xloglog4a

微信 mars 的高性能日志模块 xlog

log4a readme

《高性能日志记录方式 - mmap 》

不过在 stackoverflow 上看到了相反说法(这里),有人认为 mmap 和 fwrite 在顺序写性能上差别不太( 微信 mars 的高性能日志模块 xlog文章里的测试结果也是说相差无几),有人认为不恰当的使用 mmap 会使性能差别。

云服务器的那些坑之 刚购买的阿里云服务就不能用了

Posted: 25 Jul 2021 03:08 AM PDT

最近没事儿就够购买了台阿里云虚拟服务器,本想安装个 wordpress 研究一下网站部署。没想到一起都部署好了,晚上吃完饭回来就无法访问了。通过工单平台提交了问题,大概一个小时工程师反馈查不到 IP 地址。由于晚上正在打排位赛,计划第二天解决。

早上起来后,就继续和客服反馈,客服查了半天就给了我官方的回答

您好,您购买的虚拟主机是 h 海外服务器,服务器会经过国际链路和运营商国际路由节点,会受到到国际链路拥塞,以及运营商出境路由限制,部分大陆地区容易出现网络链路拥塞,访问不稳定,甚至无法正常访问的情况。跨境连接访问无法连接的现象时有发生,这个目前还没有较好的办法完全避免掉。

如果是小白肯定就接受了,但是有经验的人就能品味出推卸责任。也是我用 aws 上的新加坡和美国的服务器都是测试一下,根本无法访问。

客服只能继续解决,折腾了一段时间后,又给我了官方回答

您好,这边后台查看您服务器 x.x.x.2x 于 2021-07-24 21:52:55 遭受 ddos 攻击进行黑洞,默认的黑洞时长是 2.5 小时,黑洞期间不支持解封;实际黑洞时长视攻击情况而定,从 30 分钟到 24 小时不等;触发黑洞后会对被黑洞的服务器外网限制。黑洞时间结束后如果系统探测到大流量攻击仍然持续,还会继续黑洞处理,如果攻击停止,系统会自动解封。

我的天,刚购买的服务器就遇到这个问题,阿里云也太坑了吧

使用 Xftp 和 SFTP 协议,文件名包含 emoji 表情时遇到的奇怪问题

Posted: 25 Jul 2021 02:27 AM PDT

最近在 PC 上保存了一些文件名带有 emoji 表情的文件,使用 Xftp 上传到 NAS 之后遇到了一部分 emoji 表情在 Android 手机上以及 Linux 终端中显示出现异常的情况 (Xftp 的编码上传前设置成了 UTF-8)

比如说这里我使用 XFtp 创建一个文件名是🐻(熊 emoji)的文件

jbvidufbgoiboigsa.png

在 Linux 终端查看时:

c6a62a83-a593-42f6-baca-3c126961ba3d.png

使用 WinSCP 查看:

02a1b0fb-7749-48df-9657-453462ca1d45.png

结果就是除了 Xftp 它自己以外,谁都不知道这是个什么东西... Xftp 用了两三年了,第一次遇到这样的坑 有老哥遇到过同样的问题知道解决办法吗?目前 PC 上我已经换成使用 WinSCP 了...

常用公共 DNS 查询超时

Posted: 25 Jul 2021 02:26 AM PDT

某电信机房服务器,使用常用的公共 DNS,很多都出现查询超时的情况,仅发现少数几个公共 DNS 能返回结果:

8.8.8.8
114.114.114.114
223.5.5.5
119.29.29.29

安装 unbound 通过根服务器查询同样也出现超时的情况。

请问发生这种问题可能是什么原因?是公共 DNS 和根服务器封禁了该服务器的 IP 地址?或是网络设置有问题?

谢谢先。

20210725 技术周报, 关于 spark 的面试题

Posted: 25 Jul 2021 01:54 AM PDT

本周参加了一些面试, 把面试问到的 spark 题目整理了下

20210725 技术周报

云服务器的那些坑之 02 刚购买的阿里云服务器就推荐我购买 DDOS

Posted: 25 Jul 2021 01:37 AM PDT

上面《云服务器的那些坑之 刚购买的阿里云服务就不能用了》,客服说只有一个解决方案,就是继续花钱购买 DDoS 防护包:下面是客服的回复

如果您的 IP 遭受的攻击流量超出阈值触发黑洞时,您可以通过购买 DDoS 防护包 将防御能力提升至该 IP 所属地域的最高防御水平,同时您将获得立即解除黑洞状态的机会(最多 2 次)。 如果攻击超过 DDoS 防护包的防御能力,建议您升级到高防 IP 进行防御。

关键我是刚购买的云服务器,业务部署完,阿里这也是太过分了吧。

关于禁止 tkinter 程序被截图问题

Posted: 25 Jul 2021 01:22 AM PDT

我做了一个 tkinter 程序,可以调用 win32 截图,现在我想不让别人截到我软件界面的图,请问各位大哥,有什么比较好的办法,我尝试了 screenwings 等办法均不行,我百度发现有 applicationview 下的 IsScreenCaptureEnabled 可以设置,可我还是个新手,不知道如何用 python 调用这个,在此请教各位技术大哥

你们是如何设计系统的?

Posted: 24 Jul 2021 09:52 PM PDT

就比如说我想设计一个 notion,假设我是用面向对象的思想来设计。

我想 UML 图应该是需要的,但是 UML 图对于大型系统来说貌似只能从宏观或者微观两个角度看而没法两者兼具,不然整个图就会非常巨大。而且我也有不用 UML 的时候,只用思维导图的方式列出一些我想要实现的功能点。

有没有一款可以用于系统设计的软件,可以帮助使用者把整个系统的框架理清楚,把功能框架完善清楚的软件呢?

还是说就通过代码的目录结构来设计系统,虽然也行,但是里面的注释总是看着不舒服,还是喜欢可视化的方案...非常感谢!!!

目前发现一款叫 system designer...但是不是很懂作者的设计意图,可能跟我的需求比较符合。

如何评价生成器比推导式快?

Posted: 24 Jul 2021 09:05 PM PDT

谢邀。
直觉上,连串的迭代的话,应该是生成器快。因为生成器是惰性求值,不用像推导式经过中间变量容器的步骤。

但是用空间时间的角度去看,应该是推导式快,因为推导式空间换时间,生成器时间换空间。

还是说要视乎情况?比如简单迭代推导式更快,连串迭代生成器更快?

开题一句话,内容全靠编。
一个细枝末节的小问题,不知道大家有什么看法?
(问题上下文是 Python,主要是 py3+)

补充,推导式是 [x for x in iter],生成器是 (x for x in iter) 或者 yield 。
不讨论语法上哪个能容纳更复杂逻辑的问题。

跨网访问有没有比较好的解决方案

Posted: 24 Jul 2021 06:06 PM PDT

除了内网穿透外,还有没有更好的跨网访问的解决方案?

现在痛点主要就是内网穿透带宽不够,跨网远程桌面,大文件上下传太慢了,今天试了一下 Zerotier,经常出现 udp 阻断的问题,不知道搭 room 能不能解决,主要宽带是移动网,想利用好上行

现在想到的是弄个良心云或者套路云的 hk 轻量搭内网穿透,不知道效果怎么样,有没有大佬试过的

后端程序员用什么来证明自己呢?比如,美术,摄影可以有自己的作品,甚至前端也可以有自己的作品,后端总不能说自己搭了个网站吧

Posted: 24 Jul 2021 03:12 PM PDT

你们是怎么编写油猴脚本的?

Posted: 24 Jul 2021 03:06 PM PDT

你们是用什么工具怎么样子去编写油猴脚本的?

直接在油猴编辑页面一条条写还是直接 vsc 或者其他 IDE 工具先编写好后复制贴到油猴里面调试吗?

安卓 11 应用卡死问题

Posted: 24 Jul 2021 09:13 AM PDT

请教大家一个问题,手机刷抖音一段时间应用就卡死,重新打开又正常了,可以切换回桌面,其他正常。我用 adb logcat 看了对应时间点的日志,图像缓冲内存不足?有没有给分析一下是什么原因导致。先谢谢了!

[ 07-24 19:42:00.985 17287:17322 E/AHardwareBuffer ] GraphicBuffer(w=1, h=1, lc=1) failed (Out of memory), handle=0x0  [ 07-24 19:42:00.985 17287:17322 W/OpenGLRenderer ] Failed to allocate scratch buffer, error=-12  [ 07-24 19:42:00.985 17287:17322 E/OpenGLRenderer ] dequeueBuffer failed: Function not implemented (-38)  [ 07-24 19:42:00.985 17287:17322 E/OpenGLRenderer ] VulkanSurface::dequeueNativeBuffer called with an invalid surface!  [ 07-24 19:42:00.988 17287:17322 E/Parcel   ] fcntl(F_DUPFD_CLOEXEC) failed in Parcel::read, i is 1, fds[i] is -1, fd_count is 2, error: Too many open files  [ 07-24 19:42:00.988 17287:17322 E/Surface  ] dequeueBuffer: IGraphicBufferProducer::requestBuffer failed: -22  [ 07-24 19:42:00.989 17287:17322 W/OpenGLRenderer ] dequeueBuffer failed, error = -22; switching to fallback  [ 07-24 19:42:00.989 17287:17322 E/qdgralloc ] importBuffer: Unable to clone handle  [ 07-24 19:42:00.989 17287:17322 E/GraphicBufferAllocator ] Failed to allocate (1 x 1) layerCount 1 format 1 usage 10000b00: 5  [ 07-24 19:42:00.996 17287:17322 D/GraphicBufferAllocator ] GraphicBufferAllocator buffers: 0x98589a90: unknown     |  720 ( 768) x 1280 |    1 | 7FA30C06 | 0x20002900 | SurfaceTexture-1-17287-24 0x98787190: unknown     |  720 ( 768) x 1280 |    1 | 7FA30C06 | 0x20002900 | SurfaceTexture-1-17287-24 0x9878ec90: 9766.00 KiB | 1156 (1216) x 2056 |    1 |        2 | 0x10000100 | SurfaceTexture-0-17287-132 0x98791d10: 9766.00 KiB | 1156 (1216) x 2056 |    1 |        2 | 0x10000100 | SurfaceTexture-0-17287-131 0x98796290: unknown     |  720 ( 768) x 1280 |    1 | 7FA30C06 | 0x20002900 | SurfaceTexture-1-17287-24 0x99825110: unknown     |  720 ( 768) x 1280 |    1 | 7FA30C06 | 0x20002900 | SurfaceTexture-1-17287-24 0x99831290: unknown     |  720 ( 768) x 1280 |    1 | 7FA30C06 | 0x20002900 | SurfaceTexture-1-17287-24 0x99832d90: unknown     |  720 ( 768) x 1280 |    1 | 7FA30C06 | 0x20002900 | SurfaceTexture-1-17287-24 0x9983ab10: unknown     |  720 ( 768) x 1280 |    1 | 7FA30C06 | 0x20002900 | SurfaceTexture-1-17287-24 0xa3730610: unknown     |  720 ( 768) x 1280 |    1 | 

No comments:

Post a Comment