Thursday, June 2, 2022

V2EX - 技术

V2EX - 技术


您的 Google Voice 号码将在 7 天后过期…

Posted: 02 Jun 2022 10:01 AM PDT

最近两个 Google Voice 账号都收到该邮件了,其中一个账号里面还有 10 美金的余额,提醒大家注意一下。

Hello,

We noticed that you haven't used your Google Voice number in a while. Because phone numbers are a limited resource, it is our policy to reclaim unused numbers so they can be made available to new users.

If you'd like to keep your Google Voice number (*) *-, you will need to make calls or send text messages by 2022 年 6 月 8 日 by logging in to your account or using the Google Voice app on Android or iOS.

Please remember that your current number will be reclaimed in 7 days unless you start using it. If the number is reclaimed, your existing messages will remain available in your account, but you will no longer be able to receive calls or text messages.

The Google Voice Team

用 GTK+开发的 GUI 应用在 Ubuntu 上运行很流畅,在 Mac 上却很卡

Posted: 02 Jun 2022 09:45 AM PDT

工作环境是 Mac 系统,最近想学习开发跨平台的传统 GUI 应用, 尝试了基于 C 语言的 GTK+,和基于 C++的 Qt 框架。

实际运行的效果是 Qt 开发的应用在 Mac 上的性能接近原生了,而用 GTK+开发的应用在 Mac 上卡得很,代码拿到 Ubuntu 上编译运行就很流畅,Ubuntu 是 gnome 的桌面环境,这点不意外。

同样是 C/C++程序,为什么 GTK+的应用在 Mac 上性能就不如 Qt ? 另外 gnome 官方的 UI 设计工具 Glade 在 Mac 系统上卡到几乎用不了,有没有 Linux 大佬了解这个情况?

文石 leaf 还是小米多看 pro2 代?

Posted: 02 Jun 2022 09:31 AM PDT

目前看中的 2 款是文石 leaf ( 7 寸。骁龙 636 8 核,2+32G ,carta 墨水屏)和小米多看 pro2 代( 7.8 寸,国产 4 核 CPU ,2+32G ,国产墨水屏),下面是我的比较,V 友有什么看法呢?

文石的优势:

  1. CPU 性能比较强一些,所以安装其它 APP 用起来更方便。我主要是想安装一个词典背单词。而小米那个,安装 app 不方便,得绕一大圈启动 APP (点到设置里面,点一些乱七八糟的才能出现 app 图标),而且因为 CPU 差,所以体验不好

  2. 系统比小米多看 pro2 代好一些。因为文石是专业做电纸书的,系统磨合得比较好。比如我在网上看到小米多看用没有专门适配的 app ,比如 kindle app ,体验就不好,文石就蛮好的。再比如 PDF 裁剪,小米的功能也不如文石的。

  3. 尺寸比较便携

小米多看 pro2 的优势:

  1. 屏幕大。这一点的优势在于,有可能对看技术文档 pdf (主要是计算机相关的,英文电子版居多,扫描版比较少)比较方便。但是我考虑到文石的系统对 PDF 裁剪等功能支持较好,应该可以把 PDF 裁剪到 7 寸适合阅读的程度,所以其实优势并不大。至于说普通的 epub 电子书,7.8 寸和 7 寸区别并不大。(其实我想问一下大家对于这点有什么别的看法吗?有没有用过文石或者小米的 v 友,说下对于看技术文档的体验呢?)

是不是只有老司机才记得 Thunderbird?

Posted: 02 Jun 2022 09:15 AM PDT

其实我也不大记得,很多年前用过一段时间,还有 Foxmail ,那时候 MSN 还流行,ICQ 还活跃,今日同框,恍若隔世。 https://twitter.com/mozthunderbird/status/1531938824900714496

求助: v2 的大佬能帮忙看看这个家庭网络软路由不能 ping 通的问题嘛

Posted: 02 Jun 2022 08:49 AM PDT

大概介绍

个人电脑: ubuntu18
ip: 192.168.1.2
手动配置网关: 192.168.1.100

旁路由: 斐讯 N1 ( OpenWRT )
ip: 192.168.1.100

现在在 ubuntu 上面可以通过 curl 访问百度,但是不能 ping 通、想求助一下、问题出在哪里

网络结构图

结构图

其他信息

当我在 ubuntu 上面去 ping 百度时,我在 OpenWRT 的抓包结果如下

icmp

对业务深入程度的问题

Posted: 02 Jun 2022 08:48 AM PDT

这是我老大说的一句话。

emm 咋说呢,我个人感觉吧,技术是次要的,如果想无法取代,就研究业务吧。业务熟悉了,写最简陋的代码也是有用的。当然了,如果要走技术专家路线的就是另外一回事儿了。 再不然就没啥别的建议了。现在整体上互联网这个行业就是相对不景气,也没啥一定会长远的了 

想问下大家所谓对业务的精深程度是什么的一个概念 比如说我按照产品需求写业务 亦或我根据用户反馈来推断出可能需要的功能

所以想问下大家对业务这个东西的理解。

请教一个 XML 序列化问题

Posted: 02 Jun 2022 08:37 AM PDT

我要生成如下 xml 文件

<?xml version="1.0" encoding="UTF-8"?> <svc_init ver="2.0.0"> 	<sms ver="2.0.0"> 		<client> 			<id>id</id> 			<pwd>pwd</pwd> 			<serviceid>serviceid</serviceid> 		</client> 		<sms_info> 			<phone>13013001300</phone> 			<content>测试</content> 		</sms_info> 	</sms> </svc_init> 

代码为

package main  import ( 	"encoding/xml" 	"fmt" 	"os" )  type Client struct { 	Id        string `xml:"client>id"` 	Pwd       string `xml:"client>pwd"` 	Serviceid string `xml:"client>serviceid"` }  type Sms_info struct { 	Phone   string `xml:"sms_info>phone"` 	Content string `xml:"sms_info>content"` }  type Sms struct { 	XMLName xml.Name `xml:"sms"` 	Ver     string   `xml:"ver,attr"` 	Client 	Sms_info }  type Svc_init struct { 	XMLName xml.Name `xml:"svc_init"` 	Ver     string   `xml:"ver,attr"` 	Sms }  func main() { 	id := "id" 	pwd := "pwd" 	serviceid := "serviceid"  	client := Client{Id: id, Pwd: pwd, Serviceid: serviceid} 	sms_info := Sms_info{Phone: "13013001300", Content: "测试"}  	sms := Sms{Ver: "2.0.0", Client: client, Sms_info: sms_info}  	v := Svc_init{Ver: "2.0.0", Sms: sms}  	fmt.Println(v) 	output, _ := xml.MarshalIndent(v, "  ", "    ")  	os.Stdout.Write(output) } 

运行后生成

<svc_init ver="2.0.0"> 	<client> 		<id>id</id> 		<pwd>pwd</pwd> 		<serviceid>serviceid</serviceid> 	</client> 	<sms_info> 		<phone>13013001300</phone> 		<content>测试</content> 	</sms_info> </svc_init> 

可以看到结果的 sms 结构丢失了 但是我直接打印 v 值

{{ } 2.0.0 {{ } 2.0.0 {id pwd serviceid} {13013001300 测试}}} 

可以看到 sms 结构还在 请问为什么会这样,然后如何修复呢,感谢。

JVM 战士请教一个问题,各种语言都是怎样控制内存上限的?

Posted: 02 Jun 2022 08:32 AM PDT

类似于 java heap(-Xmx1024m)的设置,各种语言都是怎样设置的?

比较想知道 .net go swift rust node php haskell 等等

我这是间接给 Ubuntu 贡献了代码了吗?

Posted: 02 Jun 2022 08:29 AM PDT

之前为了开发 比译 写了一批 Flutter 桌面端的插件,今天听说 Ubuntu Desktop Installer 要用上 window_manager 了。

https://github.com/canonical/ubuntu-desktop-installer/pull/895

XtR1rn.md.jpg

一个 JVM 场景

Posted: 02 Jun 2022 08:19 AM PDT

-Xmx2g -Xms2g -Xmn1g java8.

1. 老年代空间占用很低,20%左右
1. 新生代 eden 区完全占满(1B 的空闲都没有)
1. 新生代 from 和 to 区同时不为空, 两者均有 10%左右的占用
1. cpu 负载已经打满,jstack 和 jmap 均无响应,应用假死
1. jstack -m 的命令可以得到一些结果,结合 top 看到的线程应该是 jvm 一些 GangWorker 在执行
1. eden 长时间不释放
1. jmap -F 会直接导致进程死亡。
1. gdb 等工具受一些外部因素限制,暂时无法安装,还未找到稳定复现的方法。

以上这些信息能分析出一些可能的情况吗?

初学者开发 vue uni-app 还是用 webstorm 吧, 配置 vscode 要把我整疯了...

Posted: 02 Jun 2022 08:18 AM PDT

开箱即用 真好。不用怎么动 eslint prettier 的规则。补全什么的也不用怎么配。

不禁想到 苹果的 Xcode 真好贴心,微信小程序开发工具也好贴心。都是开箱即用。 折腾了三天就这个结果。

感觉自己并不需要真正的 NAS

Posted: 02 Jun 2022 08:15 AM PDT

有如下需求:

  • 运行 Docker ,跑一些脚本。
  • PT 做种,同时通过 Plex 和 Infuse 来看视频。

个人照片用的 Pixel 白嫖 Google Photos ,音乐用 Spotify + Apple Music ,同时对数据安全不是太在意,买个几千块的 NAS 是不是有点浪费了,好像 N1 盒子 + 外接移动硬盘就可以满足?

求助帖, mvn 打包后, Java -jar 命名报错

Posted: 02 Jun 2022 08:15 AM PDT

项目地址 https://gitee.com/wangLi1997/file-mq

java -jar flie-transfer-producer.jar

报错 flie-transfer-producer.jar 中没有主清单属性

求大佬帮助

Gmail 垃圾邮件规律

Posted: 02 Jun 2022 08:07 AM PDT

最近一周频繁用 Gmail 收 Gmail 邮件,发现一个规律

发件方前缀是英文一切正常
发件方前缀是英文+数字(如 abc123 # gmail.com )很容易被识别为垃圾邮件,这种概率大概统计了下,约占四成

所以注册邮箱的时候建议不要字母加数字

似乎和微软有类似协议的公司不止 duckduckgo 一家?

Posted: 02 Jun 2022 07:58 AM PDT

发现了一个可以对浏览器隐私特性进行测试,并自动分析的网站

https://privacytests.org/

https://privacytests.org/ios.html

https://privacytests.org/android.html

分类很全面,功能也很强大~

从这个网站的数据来看,https://privacytests.org/android.html ,似乎和微软有类似协议的公司不止 duckduckgo 一家?

观 nas 贴有感

Posted: 02 Jun 2022 07:22 AM PDT

原帖地址: https://www.v2ex.com/t/856704?p=1
我的回复在#49 ,内容如下:

很多人搞错了,nas 不是个人 server ,nas 只是存储。
你没有存储量级的需求,当然是并不刚性需求 nas
综上,你只是需要一个 mini 个人 server 罢了

但是一想,这并不是用户的问题,其实现在卖家误导了太多。
单盘(无数据冗余安全)也叫 nas ,插个 usb 的也叫 nas…
jd 搜 nas 关键词,各种妖魔鬼怪夹杂在搜索结果中。

我随便举例,联想个人云 A1 nas , 大迈( DM )网络存储器 nas AirDisk Q2 个人网盘,贝锐蒲公英 蒲公英 X1 路由器旁路组网盒子自建私有云硬盘变云盘网络存储异地组网 DIY 家用 Nas X1,雷克沙时光机个人云盘 M1 网络存储器 nas 个人家庭云……

这些也好意思叫 NAS ( Network Attached Storage )
数据安全,数据容量,数据性能,稳定,个人用户再在意那么点体积、噪音和功耗。

现在和数据无关的都可以这么厚脸皮了?

请教一下 Gunicorn 的一些疑惑

Posted: 02 Jun 2022 06:36 AM PDT

如果 Flask + Gunicorn 长时间运行, gunicorn 的进程不释放,服务器内存就会一直增长, 会造成内存泄漏

然后 gunicorn 有两个参数"--max-requests INT"和"--max-requests-jitter INT", 这两个参数可以定期自动清理"gunicorn 的每个 worker"的进程, 避免服务器 GG

但我有一些疑惑:
1.如果在自动清理的过程中, 有新的请求动作 进行数据库的增删改查, 这个新的请求动作会不会被清理掉
2.如果在自动清理的过程中, 已有的进程内正在进行数据库的增删改查, 这个已有的进程不知道会不会被清理
如果 1. 2. 不会被清理掉, 那这套部署方式应该还比较完美
有木有大佬知道我疑惑的这两点应该要担心么

最终线上部署应该是可以弄成 Nginx + Gunicorn + Gevent + Flask 实现高并发

(Android)自己编的一个第三方 apk,求问怎么在 activity 中用 root 或 shell 用户的权限执行 Linux 命令

Posted: 02 Jun 2022 05:26 AM PDT

设备:非 root 的 Android 设备(小米 mix2s),测试机有的机器是 root 不了的,总之得考虑 root 不了的设备执行 Linux 命令的情况。

开发工具:Android studio

开发语言:kotlin

自己在 GitHub 上找到了一个库,lubsu,根据 readme 绑定了一个 Rootservice ,发现不起作用,logcat 中也没有 log 打印。

aidl 文件

// ShellServiceInterface.aidl package com.example.shellexecutor;  // Declare any non-default types here with import statements  interface ShellServiceInterface {     String getShellCommandExecResult();     IBinder getFileSystemService(); } 

Service

package com.example.shellexecutor  import android.content.Intent import android.os.IBinder import android.util.Log import com.topjohnwu.superuser.Shell import com.topjohnwu.superuser.ipc.RootService import com.topjohnwu.superuser.nio.FileSystemManager  class ExecuteRootCommandService : RootService() {      class ExecRootShellBinder : ShellServiceInterface.Stub() {         override fun getShellCommandExecResult(): String {             val tag = "CommandResult"             var result = ""             val resp = Shell.cmd("ls -lrth").exec();             result = if (resp.isSuccess) {                 Log.d(tag, resp.out.toString())                 resp.out.toString()             } else {                 Log.d(tag, resp.err.toString())                 resp.err.toString()             }             return result         }          override fun getFileSystemService(): IBinder {             return FileSystemManager.getService()         }     }      override fun onBind(intent: Intent): IBinder {         return ExecRootShellBinder()     }      override fun onCreate() {         super.onCreate()         Log.d("ExecuteCommandService", "onCreate executed")     }       override fun onDestroy() {         super.onDestroy()         Log.d("ExecuteCommandService", "onDestroy executed")     }  } 

MainActivity

package com.example.shellexecutor  import android.content.ComponentName import android.content.Intent import android.content.ServiceConnection import android.os.Bundle import android.os.IBinder import android.util.Log import android.widget.Button import android.widget.EditText import android.widget.TextView import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import com.topjohnwu.superuser.ipc.RootService   class MainActivity : AppCompatActivity() {     class RootConnection : ServiceConnection {         private val tag = "ShellConn"         override fun onServiceConnected(name: ComponentName?, service: IBinder?) {             Log.d(tag, "onServiceConnected")             val ipc = ShellServiceInterface.Stub.asInterface(service)             Log.d(tag, ipc.shellCommandExecResult)         }          override fun onServiceDisconnected(name: ComponentName?) {             Log.d(tag, "onServiceDisconnected")         }     }      override fun onCreate(savedInstanceState: Bundle?) {         super.onCreate(savedInstanceState)         setContentView(R.layout.activity_main)         val intent = Intent(this, ExecuteRootCommandService::class.java)         // bind service         RootService.bind(intent, RootConnection())         val content: EditText = findViewById(R.id.editTextTextPersonName)         val bindButton: Button = findViewById(R.id.button1)         val unbindButton: Button = findViewById(R.id.button2)         val result: TextView = findViewById(R.id.textView)         // create a shell         bindButton.setOnClickListener {             Toast.makeText(this, "assssssssasdasdfzsd", Toast.LENGTH_SHORT).show()         }         unbindButton.setOnClickListener { //            RootService.unbind(rootConnection)         }     } } 

启动应用后 logcat 中的 log

2022-06-02 15:57:12.022 16213-16213/? I/e.shellexecuto: Late-enabling -Xcheck:jni 2022-06-02 15:57:12.039 16213-16213/? E/e.shellexecuto: Unknown bits set in runtime_flags: 0x8000 2022-06-02 15:57:12.383 16213-16213/com.example.shellexecutor I/Perf: Connecting to perf service. 2022-06-02 15:57:12.391 16213-16213/com.example.shellexecutor D/WM-WrkMgrInitializer: Initializing WorkManager with default configuration. 2022-06-02 15:57:12.414 16213-16213/com.example.shellexecutor I/FeatureParser: can't find polaris.xml in assets/device_features/,it may be in /system/etc/device_features 2022-06-02 15:57:12.424 16213-16213/com.example.shellexecutor E/libc: Access denied finding property "ro.vendor.df.effect.conflict" 2022-06-02 15:57:12.427 16213-16248/com.example.shellexecutor E/Perf: Fail to get file list com.example.shellexecutor 2022-06-02 15:57:12.427 16213-16248/com.example.shellexecutor E/Perf: getFolderSize() : Exception_1 = java.lang.NullPointerException: Attempt to get length of null array 2022-06-02 15:57:12.428 16213-16248/com.example.shellexecutor E/Perf: Fail to get file list com.example.shellexecutor 2022-06-02 15:57:12.428 16213-16248/com.example.shellexecutor E/Perf: getFolderSize() : Exception_1 = java.lang.NullPointerException: Attempt to get length of null array 2022-06-02 15:57:12.492 16213-16213/com.example.shellexecutor D/ForceDarkHelper: updateByCheckExcludeList: pkg: com.example.shellexecutor activity: com.example.shellexecutor.MainActivity@51e2a78 2022-06-02 15:57:12.493 16213-16213/com.example.shellexecutor D/ForceDarkHelper: updateByCheckExcludeList: pkg: com.example.shellexecutor activity: com.example.shellexecutor.MainActivity@51e2a78 2022-06-02 15:57:12.501 16213-16255/com.example.shellexecutor W/e.shellexecuto: Accessing hidden method Lmiui/contentcatcher/sdk/Token;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V (greylist, linking, allowed) 2022-06-02 15:57:12.501 16213-16255/com.example.shellexecutor W/e.shellexecuto: Accessing hidden method Lmiui/contentcatcher/InterceptorProxy;->getWorkThread()Landroid/os/HandlerThread; (greylist, linking, allowed) 2022-06-02 15:57:12.501 16213-16255/com.example.shellexecutor D/ViewContentFactory: initViewContentFetcherClass 2022-06-02 15:57:12.501 16213-16255/com.example.shellexecutor D/ViewContentFactory: getInterceptorPackageInfo 2022-06-02 15:57:12.501 16213-16255/com.example.shellexecutor W/e.shellexecuto: Accessing hidden method Landroid/app/AppGlobals;->getInitialApplication()Landroid/app/Application; (greylist, linking, allowed) 2022-06-02 15:57:12.502 16213-16255/com.example.shellexecutor D/ViewContentFactory: getInitialApplication took 0ms 2022-06-02 15:57:12.502 16213-16255/com.example.shellexecutor D/ViewContentFactory: packageInfo.packageName: com.miui.catcherpatch 2022-06-02 15:57:12.508 16213-16255/com.example.shellexecutor D/ViewContentFactory: initViewContentFetcherClass took 7ms 2022-06-02 15:57:12.508 16213-16255/com.example.shellexecutor I/ContentCatcher: ViewContentFetcher : ViewContentFetcher 2022-06-02 15:57:12.508 16213-16255/com.example.shellexecutor D/ViewContentFactory: createInterceptor took 7ms 2022-06-02 15:57:12.509 16213-16255/com.example.shellexecutor W/e.shellexecuto: Accessing hidden method Lmiui/contentcatcher/sdk/ContentCatcherManager;->getInstance()Lmiui/contentcatcher/sdk/ContentCatcherManager; (greylist, linking, allowed) 2022-06-02 15:57:12.509 16213-16255/com.example.shellexecutor W/e.shellexecuto: Accessing hidden method Lmiui/contentcatcher/sdk/ContentCatcherManager;->registerContentInjector(Lmiui/contentcatcher/sdk/Token;Lmiui/contentcatcher/sdk/injector/IContentDecorateCallback;)V (greylist, linking, allowed) 2022-06-02 15:57:12.510 16213-16255/com.example.shellexecutor W/e.shellexecuto: Accessing hidden method Lmiui/contentcatcher/sdk/ContentCatcherManager;->getPageConfig(Lmiui/contentcatcher/sdk/Token;)Lmiui/contentcatcher/sdk/data/PageConfig; (greylist, linking, allowed) 2022-06-02 15:57:12.511 16213-16255/com.example.shellexecutor W/e.shellexecuto: Accessing hidden method Lmiui/contentcatcher/sdk/data/PageConfig;->getFeatures()Ljava/util/ArrayList; (greylist, linking, allowed) 2022-06-02 15:57:12.511 16213-16255/com.example.shellexecutor W/e.shellexecuto: Accessing hidden method Lmiui/contentcatcher/sdk/data/PageConfig;->getCatchers()Ljava/util/ArrayList; (greylist, linking, allowed) 2022-06-02 15:57:12.535 16213-16213/com.example.shellexecutor W/e.shellexecuto: Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (greylist, reflection, allowed) 2022-06-02 15:57:12.536 16213-16213/com.example.shellexecutor W/e.shellexecuto: Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (greylist, reflection, allowed) 2022-06-02 15:57:12.552 16213-16213/com.example.shellexecutor D/ForceDarkHelper: updateByCheckExcludeList: pkg: com.example.shellexecutor activity: com.example.shellexecutor.MainActivity@51e2a78 2022-06-02 15:57:12.573 16213-16213/com.example.shellexecutor D/ForceDarkHelper: updateByCheckExcludeList: pkg: com.example.shellexecutor activity: com.example.shellexecutor.MainActivity@51e2a78 2022-06-02 15:57:12.598 16213-16213/com.example.shellexecutor D/ForceDarkHelper: updateByCheckExcludeList: pkg: com.example.shellexecutor activity: com.example.shellexecutor.MainActivity@51e2a78 2022-06-02 15:57:12.617 16213-16213/com.example.shellexecutor D/ForceDarkHelper: updateByCheckExcludeList: pkg: com.example.shellexecutor activity: com.example.shellexecutor.MainActivity@51e2a78 2022-06-02 15:57:12.622 16213-16213/com.example.shellexecutor D/ForceDarkHelper: updateByCheckExcludeList: pkg: com.example.shellexecutor activity: com.example.shellexecutor.MainActivity@51e2a78 2022-06-02 15:57:12.646 16213-16213/com.example.shellexecutor W/Looper: Slow Looper main: Activity com.example.shellexecutor/.MainActivity is 366ms late (wall=220ms running=200ms ClientTransaction{ callbacks=[android.app.servertransaction.LaunchActivityItem] lifecycleRequest=android.app.servertransaction.ResumeActivityItem }) because of 2 msg, msg 2 took 365ms (seq=2 running=342ms runnable=3ms late=3ms h=android.app.ActivityThread$H w=110) 2022-06-02 15:57:12.646 16213-16213/com.example.shellexecutor W/Looper: Slow Looper main: Activity com.example.shellexecutor/.MainActivity is 587ms late (wall=0ms running=0ms ClientTransaction{ callbacks=[android.app.servertransaction.TopResumedActivityChangeItem] }) because of 3 msg, msg 2 took 365ms (seq=2 running=342ms runnable=3ms late=3ms h=android.app.ActivityThread$H w=110), msg 3 took 220ms (seq=3 running=200ms runnable=5ms late=366ms h=android.app.ActivityThread$H w=159) 2022-06-02 15:57:12.672 16213-16249/com.example.shellexecutor I/AdrenoGLES: QUALCOMM build                   : e541a88, I20154638fb     Build Date                       : 09/15/20     OpenGL ES Shader Compiler Version: EV031.27.05.01     Local Branch                     :      Remote Branch                    : refs/tags/AU_LINUX_ANDROID_LA.UM.8.3.R1.10.00.00.520.058     Remote Branch                    : NONE     Reconstruct Branch               : NOTHING 2022-06-02 15:57:12.673 16213-16249/com.example.shellexecutor I/AdrenoGLES: Build Config                     : S P 8.0.11 AArch64 2022-06-02 15:57:12.675 16213-16249/com.example.shellexecutor I/AdrenoGLES: PFP: 0x016ee187, ME: 0x00000000 2022-06-02 15:57:12.676 16213-16249/com.example.shellexecutor W/AdrenoUtils: <ReadGpuID_from_sysfs:194>: Failed to open /sys/class/kgsl/kgsl-3d0/gpu_model 2022-06-02 15:57:12.676 16213-16249/com.example.shellexecutor W/AdrenoUtils: <ReadGpuID:218>: Failed to read chip ID from gpu_model. Fallback to use the GSL path 2022-06-02 15:57:12.695 16213-16249/com.example.shellexecutor W/Gralloc3: mapper 3.x is not supported  

启动应用后,服务都没有被绑定成功。实在没招了,求助。

如何让被 Nginx 代理的后端接收到真正的服务器 IP?

Posted: 02 Jun 2022 05:24 AM PDT

整了个 Wordpress 玩玩,但是在代理这块出了点问题。

目前的架构如下:

Apache2 通过端口 1111 提供服务,然后 nginx 代理该端口。

但是在前端访问时发现 Wordpress 的部分素材并没有识别到正确的服务器地址,而是代理中填写的地址。

请问如何解决?

注:实际端口 1111 在外网是不可访问的。

EasyConnect 闪退原因

Posted: 02 Jun 2022 04:58 AM PDT

进公司内容需要用 vpn,用的是 Start EasyConnect ,发现每次登录就闪退了。

1 、 用 SangforHelperTool 检查发现是 53 端口被占用,

进程是 svchost ,定位到服务是 Internet Connection Sharing (ICS)

这个服务还不能直接停止,还得先禁用掉 Host Network Service 服务,再停止 ICS 服务

ICS 这个服务应该是电脑开了热点,但是关闭热点并不会停止这个服务

禁用 Host Network Service 怕对其他有影响,还是改回手动了

现在每次开机,要连公司 vpn 都这样搞一次,真麻烦



2 、连公司 vpn 后,clash 也没法用,大家有好的解决方法吗

哈哈,我又要来找大佬们合作了,关于小程序邀请的。

Posted: 02 Jun 2022 04:32 AM PDT

小程序游戏邀请好友拿奖励,例如塔防精灵这个小程序游戏。 但是根本没有那么多好友有木有?而且如果商用的话,就是帮别人邀请好友拿奖励。 得如何实现?自己注册大量的 vx 号不现实啊。 拉很多群放任务更不现实,成本上划不来。 有木有懂得大佬呀?求热心大佬解惑,重谢。

Yoga 13s AMD 款可以使用 Debian 么?

Posted: 02 Jun 2022 04:19 AM PDT

驱动方面需要做什么准备,硬件功能有没有不可用的情况……

请大家给予些指导性的意见,谢谢。

管理视频文件和少量个人文件的方案求助

Posted: 02 Jun 2022 03:34 AM PDT

自己有一台 NAS,用了一段时间下来发现自己实际核心需求就两个:

1. 存大量电影,影视剧.能够在家里通过有线 /无线观看.
2. 备份一下重要文件(不含照片)

现在的问题是觉得 NAS 的功能虽然很多但是都用不到, 各位有没有能满足上述两个需求的更好的方案呢?

刚刚好的那种

我们用 400 块钱打造了一款超省电的墨水屏会议室信息牌

Posted: 02 Jun 2022 03:15 AM PDT

https://www.bilibili.com/video/BV1q34y1j7K4?spm_id_from=333.999.0.0

使用 7.5 寸墨水屏和 ESP8266 芯片打造的超省电的会议信息牌,一共下来花了 400 多块钱,感兴趣的朋友可以在评论区留言,有问必答

有没有什么设备或者方法可以代替纸和笔用来打草稿的?

Posted: 02 Jun 2022 02:49 AM PDT

看书或者写代码的时候要打草稿、画画图什么的,这些草稿过后就没用了。想找一个可以重复利用的东西,不然实在是费纸和笔。 目前想到的是手写板,其它还有什么好办法没? 谢谢。

vim-easymotion-zh 让 EasyMotion 能够识别中文, 需要熟悉小鹤双拼

Posted: 02 Jun 2022 02:38 AM PDT

  • 项目地址: https://github.com/zzhirong/vim-easymotion-zh
  • 动机: 平时使用 EasyMotion 比较多, 中文写作也比较多, 苦恼于 EasyMotion 对中文不支持, 后在 GitHub 上看到 vim-easymotion-chs 插件, 它可以让 EasyMotion 识别中文, 但是和我想象的还是有点差距, 恰好自己熟悉小鹤双拼, 所以我动手改了下, 制作了一个基于小鹤双拼的版本, 现在用了一年多, 还挺好用,现共享出来, 希望能帮到有相同需求的人.
  • 使用条件: 需要熟悉 Vim + EasyMotion + 小鹤双拼.
  • 演示视频在项目首页中.

有没有什么傻瓜式的搭建页面的工具?

Posted: 02 Jun 2022 01:51 AM PDT

最好越简单越好,比如一些后台 curd 之类的界面,后端同学使用。

方便后端同学很迅速的搭建页面(自己写几个接口,然后在页面上就能配置好接口 渲染)

electron 问题: mac os 下面 dock 栏图标显示文字怎么改

Posted: 02 Jun 2022 01:41 AM PDT

dock api 看起来并没有可以修改 hover 显示文字 API

https://www.electronjs.org/docs/latest/api/dock

目前默认 app 文字是 Electron.

请教,这个文字怎么改?

Shopee 有没有 Java 职位啊,求 v2 里老哥推荐

Posted: 02 Jun 2022 12:45 AM PDT

如题,想转岗到 Java 职位去。

查来查去好像都是用 Go 啊。

有没有大佬知道 shopee 金融业务 /银行用的什么技术栈啊?

或者有没有大佬能收留啊

想转岗过去

MDN Search:一步打开要查的 MDN 文档

Posted: 02 Jun 2022 12:39 AM PDT



MDN Web Docs 是 Web 开发者最频繁查看的参考文档,包含 HTML 、CSS 、JavaScript 等 Web API 。

平时为了查 MDN 上的文档需要 2 步:
1. 在地址栏上输入 "mdn + 空格 + 关键字"( mdn 用于提示 google 我想要找 mdn 上的结果而不是其它网站)。
2. 点击 google 搜索结果页面中的链接跳转到 MDN 页面。

为了进一步提升效率,将 2 步变为 1 步,我做了一个 MDN Search 浏览器扩展:
1. 在地址栏上输入 "mdn + tab/space + 关键字" 即刻给出 MDN 上的搜索提示,然后直接进入 MDN 页面就行了。
注:给出的搜索提示是在本地离线得出的。

安装地址:
1. Chrome: https://chrome.google.com/webstore/detail/pdiegkghjahhhikafojgcmflngomilki
2. Firefox: https://addons.mozilla.org/addon/mdn-docs-search/

项目源码: https://github.com/hanguokai/mdn-search

最近用 C++实现了一个库,上层应用是 Java ,听 BA 说,如果 Java 通过 JNI 调用 C++会存在不稳定的情况,是真的嘛?

Posted: 02 Jun 2022 12:39 AM PDT

Springboot @AfterReturning 线程休眠的问题

Posted: 01 Jun 2022 11:13 PM PDT

最近刚接触 springboot 切面编程的相关内容,有个问题网上没太找到相关的解答,想问一下家人们~ 我现在定义了一个 @AfterReturning 的方法,在这个方法我执行了一个线程休眠 10 秒的操作。 但是我调用加入这个切点的方法时,为什么是需要调用 10 秒才能返回呀,这个 @AfterReturning 不是在方法执行完成返回结果之后执行的么? 相关代码如下:

    @Pointcut("@annotation(com.ice.hilf.contentmoderation.annotation.PicModeration)")     public void picPointcut() {}      @AfterReturning(pointcut = "picPointcut()", returning = "result")     public void doAfterReturning(JoinPoint joinPoint, Object result) throws InterruptedException {          System.out.println("Start aop");         // 休眠,等待图片压缩完成         Thread.sleep(10 * 1000);         System.out.println("End sleep");     } 

Controller 层方法上加上切面注解

    @PicModeration     @PostMapping("/upload")     @ResponseBody     public ApiResponse<UniFileRtnVO> upload(             @RequestParam("file")MultipartFile file,             @RequestParam(value = "uploadType", required = false)Byte uploadType,             @RequestParam("fileType") Byte fileType){         ...         return ApiResponse.success(rtnVO);     } 

实际测试时结果就是每次调用这个接口要等 10s 才有返回值,是不是我对 @AfterReturning 的执行原理理解的有问题啊

如何避免双屏显示屏让窗口缩小,招不到的问题

Posted: 01 Jun 2022 11:08 PM PDT

家里和公司都是双屏

有时候就会出现某个 app 的窗口缩的特别小

以至于有时候招不到。。或者找半天。。

如何避免?

我们耳熟能详的关于互联网起源故事其实是错的丨 RTE 技术环境月报 202206

Posted: 01 Jun 2022 09:48 PM PDT

各位开发者小伙伴:

这里是 2022 年第 6 期的 RTE 《技术环境月报》——致力于成为对大家"有用"的 Highlight 看板——每月初通过 RTC 开发者社区和声网开发者公众号以及 EDM 邮件等渠道发布,恳请大伙儿多转发、多反馈。由于文中内容包含较多信源超链接、建议大家前往 RTC 开发者社区或使用我们的邮件订阅服务,喜欢用邮件的小伙伴请自行订阅 RTE 技术环境月报

对于任何反馈(包括但不限于内容上、形式上)我们不胜感激、并有小惊喜回馈,例如你希望从"技术环境月报"中看到哪些内容;自己推荐的信源、话题、会议等;或者列举几个你喜欢看、平时常看的内容渠道;内容排版或呈现形式上有哪些可以改进的地方等。我们欢迎更多的小伙伴参与"月刊"内容的共创,感兴趣的朋友请通过开发者论坛或开发者公众号联系,记得报暗号"共创"。

月刊中的点评仅代表个人,如有不同观点,欢迎大家各种留言跟帖讨论。希望此后的日子里,《技术环境月报》能与各位如期相见、偶尔启发。以下为月报正文:

本期内容由 Mikey 、Asui 、Tina 共同制作。


00. 本月好文推荐《 The Internet Origin Story You Know Is Wrong 》

在社交媒体的传播中,互联网的起源基本都围绕一个由军方资助的封包交换网络 Arpanet 展开,事实上,BBS 在当时也是最为流行的网络形式之一,并聚集了初代网民绝大部分的思想、技术与文化的交流,这对互联网的诞生提供了极为重要的社会性价值。

我们在回顾互联网的历史时,过于强调由上而下的力量,却忽略了个人和草根网络推动的力量。这个故事是否也在提醒我们,互联网应该容许更多不同形式的出现与发展,我们所理解、依赖的互联网,或许尚不是一个最为完整、完美的形态。你很容易发现,最近的 Web 3.0 概念正在有意无意地重新解释那个令人向往的互联网,而关于互联网历史的内容,喜欢听播客的小伙伴可以关注「Internet History Podcast」。

01. [音视频] 从 WebRTC 到可编程视频会议


  • 广播中关于 WebRTC 的 3 个主要误解:WebRTC 无法提供高质量的视频; WebRTC 在弱网环境下的体验很差; WebRTC 不支持数十万广播级的并发。
  • 直播扩展到 10 万以上规模的方案研讨。本文探讨了在大规模观众的网络直播框架中,从分发、CDN 部署到传输之外诸多不同环节的技术实现和考量。
  • 随着可编程视频会议的推出,视频会议的机会和价值开始发生转变。故事从"谁拥有扩展这项技术所需的专业知识" 向着"构建最原始、最有趣和最有价值的实时应用程序和体验"转变。
  • Mux 宣布加入可编程视频市场,称其优势包括开发者友好的 API 、灵活且易于集成的 SDK 、完善的文档、丰富的示例、技术支持,以及价格优势。
  • 由于音响市场向串流和智能手机转移,知名音响品牌安桥未能适应市场变化、于 5 月在大阪法院申请破产。资料显示,安桥成立于 1946 年,专门生产高档家庭影院和音响设备, 包括接收器、环绕声音扬声器和其他便携式设备。 

02. [前端] "IE 已死、有事烧纸"


  • 微软(终于)正式宣布终结了 IE 浏览器。据 StatCounter 的统计数据显示,在桌面浏览器市场,Microsoft Edge 的占有率为 10.07%──超过苹果的 Safari 成第二流行的桌面浏览器; Google Chrome 第一占 66.64%,Mozilla Firefox 第四占 7.86%。
  • Mozilla 庆祝 Firefox 第 100 个版本的发布。Mozilla 是在 2004 年发布了 Firefox 1.0 版,Firefox 100 的新特性包括:画中画功能支持字幕,移动版本加入了新的壁纸,简化了移动版本的历史和标签,Android 版本支持 HTTPS-only 模式,等等。
  • jQuery 诞生于 15 年前,是一套跨浏览器的 JavaScript 库,用于简化 HTML 与 JavaScript 之间的操作。数据显示 2021 年逾八成移动网页使用它。今天的 JS 能完成 jQuery 能做的所有工作,近期英国政府网站 GOV.UK 通过移除 jQuery 改进性能
  • 喜欢读电子书的小伙伴近期会发现,亚马逊的 Send to Kindle 服务悄悄加入了对 EPUB 的支持,但 Kindle 阅读器至今仍没有原生支持 EPUB 。Kindle 支持的电子书格式历尽了逾二十年的发展,它最早支持的 MOBI 格式可追溯到 1996 年的 PalmDOC 格式,MobiPocket 在 2000 年扩展了 PalmDOC 并将其名为 MOBI 。2005 年亚马逊收购了 MobiPocket 获得了 MOBI 版权,在加入 DRM 后将其命名为 AZW 。亚马逊之后持续迭代,最新格式 KFX/AZW8 是在 2015 年发布的。

03. [网络] 云服务让"传统"网络企业开始跨界


  • CloudFlare 泛解析 CDN 功能向免费客户开放。原本这是个企业版功能,只有订阅企业方案的客户才能使用。现基于用户反馈 CloudFlare 宣布所有计划的用户都可以使用。
  • CloudFlare 跨界推出首个 SQL 数据库 D1,D1 是一个基于 SQLite 构建的分布式 Serverless 数据库。
  • 博通正式宣布以 610 亿美元收购 VMware 并承担大约 80 亿美元的债务,总金额将达到 690 亿美元。如果成功这将是今年至今最大金额的收购交易之一,次于微软以约 750 亿美元收购动视暴雪。VMware 前 CTO Brian Madden 在领英上发表了一篇详细的分析文章,提到博通的目标是从 2025 年左右开始,每年将从 VMware 提取 50 亿美元,但 VMware 本身营收长期持平,另外博通的员工回报率是 VMware 的 4 倍,因此他认为被收购后,博通必定会采取一些降低成本的措施,那么 VMware 很可能将迎来大规模裁员。
  • Tor 协议升级到了 v0.4.7.7,引入了名为拥堵控制( Congestion Control )的新系统,显著改进了 Tor 的网络性能。Tor 匿名网络的一大缺陷是速度慢,在不影响隐私机制的情况下改善网络拥堵是一大挑战。新的拥堵控制实现了三个算法,分别叫 Tor-Westwood 、Tor-Vegas 和 Tor-NOLA 。对比 v0.4.6 和 v0.4.7 的模拟显示,Tor 网络的浏览速度有了显著提升,并且没有增加任何端对端延迟的负担。

04. [开发 & 运维] 区块链备受开发者青睐


  • SlashData 的 2022 年度开发者调查显示,34% 的开发者表示正在学习加密货币如比特币,16% 的人表示正在参与加密货币项目,11% 正参与 NFT(non-fungible tokens)。32% 接受调查的开发者表示在了解 NFT 相关知识。此外 30% 正在学习加密货币之外的区块链应用。尽管区块链应用的发展出现了停滞,但开发者仍然对其有强烈的兴趣
  • 许多软件公司就是个笑话:每天花大量的时间去开会,每天总是很忙但并没有什么产出。在不考虑时间、金钱等因素的前提下,每个开发者都会追求把软件做到尽量完美。而对于一家企业,则必须在性价比和绝对质量中做出取舍。快速发布的软件可能会因时效性抢占相关的市场份额,但随着客户量和业务量的增加,企业的软件会变得愈发臃肿、繁复,从而导致许多难以排解的质量问题,等到后果发生,已经陷入尾大不掉的境地。更糟的是,这个问题似乎没有最优解。或许更多优质开源项目的涌现,能为企业提供一些替代方案。
  • 关于元宇宙的炒作有很多,当我们谈论元宇宙时,在讨论什么?是一个虚拟世界,还是一个可以让童话成真的世界? Nvidia 的 CTO 提出了一个思路 —— 借助元宇宙模拟现实世界和地球,将历史和未来变成实验科学,例如通过虚拟模型来研究如何应对全球变暖等社会性问题。
  • Databricks 曾估值到 380 亿美元,Snowflake 更是高达 700 亿。如今它们股价大幅下跌,这意味着大数据泡沫破灭。如下图所示,数据库正在成为一个"无聊"的行业,这个行业需要的是老实地用数据库和 SQL 干活,降低成本并从数据中获得一点有价值的东西。 数据库行业很无聊

05. [开源、安全及其他] N 卡的 Linux 驱动终于开源了


  • ARM 开源项目从 GitHub 迁移到 GitLab 。GitLab 官方博客阐述了选择 GitLab 作为自托管平台的优点:最大化选择和成本效益,最小化供应商锁定。使用 GitLab 将允许 ARM 使用自己的工具,不像 GitHub 是一个黑箱。
  • 英伟达正式发布官方 Linux GPU 驱动内核模块。长期以来 N 卡的 Linux 版驱动饱受诟病,不知道老黄这次是被迫开源还是另有打算,让我们拭目以待吧。
  • Meta/Facebook 开源了能挑战 GPT-3 的语言模型 Open Pretrained Transformer( OPT-175B ),使用了 5 个公开数据集的 800 GB 数据进行训练,使用了能比拟 GPT-3 的 1750 亿个参数。
  • 美国司法部宣布调整一项政策,不再对白帽黑客的善意安全研究行为进行起诉,该政策写道:"本部门执行 CFAA 的目标是通过维护个人、网络所有者、运营商和其他人的合法权利来促进隐私和网络安全,确保存储在其信息系统中的信息的机密性、完整性和可用性。"这项政策调整是因为白帽黑客为了找到安全漏洞并进行修复,可能会探测或入侵系统,而美国联邦黑客法规《计算机欺诈和滥用法案》( CFAA )经常会给安全研究人员带来指控威胁。当然,检测到漏洞后进行勒索的行为仍然属于违反 CFAA 法案。
  • 381,000 多台 Kubernetes API 服务器"暴露在互联网上"。一家非营利性安全组织最近扫描了 454,729 个开源 Kubernetes 平台,发现超过约 84% 的平台可通过互联网实现不同程度的访问,为黑客进入企业网络提供了后门。
  • Salesforce 旗下的 PaaS 服务 Heroku 披露了上个月遭到黑客入侵的细节。入侵发生在 4 月 7 日,攻击者访问了 Heroku 的一个主数据库,下载了储存的客户 GitHub 集成 OAuth 令牌、通过令牌发起了一系列的攻击。

06. 近期值得关注的会议

会议名称 会议时间 会议地址 主办方
[免费] 2022 智源大会 2022 年 5 月 31~6 月 2 日 在线 北京智源人工智能研究院
[收费] GMTC 全球大前端技术大会 北京站 2022 年 6 月 10~11 日 北京 · 国际会议中心 InfoQ
[收费] DIWF 2022 数据智能世界论坛 2022 年 6 月 23 北京 大数据联盟
[收费] 2022 第七届 SaaS 应用大会 2022 年 7 月 6~7 日 上海 TOP 智汇
[收费] 2022WMC 世界元宇宙大会 2022 年 7 月 7~9 日 北京国家会议中心 中国仿真学会
  1. 开源项目推荐

  • MetaFlow 是一个开源的云原生可观测性平台项目,与上期月刊中提到的 Kindling 项目有些相似的地方。MetaFlow 的运行原理图如下: MetaFlow 原理
  • Beautify GitHub Profile - 人靠衣裳马靠鞍,这是一个让个人 GitHub 主页更美观的库,如果你想让自己的主页更吸引人,不妨试试吧。
  • Mirror 是一个 Web3 的项目,旨在从浩如烟海的资讯中筛选出最优价值的信息

分享一个 App 安装来源追踪工具

Posted: 01 Jun 2022 08:50 PM PDT

作为 APP 的开发者和运营商,都会研究分析渠道的效果。很多 App 在推广的时候,需要分成 N 个渠道来引流,将 H5 落地页分享出去后,我们希望通过一定的技术手段,知道激活或注册用户是从哪个渠道来的。Android 上可以通过打渠道包的形式,将渠道 ID 硬编码到包里做到这一点,但 iOS 上这样做不太现实。

有一个常见的需求就是:在推广渠道相当多的情况下,通过分发 H5 落地页给不同渠道,从每个渠道来的用户,没有任何感知的情况下,后台可以统计到他激活及注册时的渠道 ID (甚至其他任意参数)。

第三方 SDK openinstall 能够解决这个问题

openinstall 能提供哪些服务呢?

1、携带参数安装

为 App 的每一次安装自定义不同的初始化参数,在下载落地页自定义参数,匹配携带参数来区分不同渠道带来的激活用户。通过分发渠道链接给不同渠道,让每个渠道来的用户,没有任何感知的情况下,后台可以统计到他激活及注册时的渠道 ID (甚至其他任意参数)。

2、App 渠道统计

  • 免打包 App 渠道推广统计技术,10 分钟快速集成
  • 仅凭渠道链接即可精确统计任意 App 渠道统计效果
  • 兼容 Android/iOS 企业包、App Store
  • 完美支持广告效果统计、地推统计等
  • 独创实时报表、实时排重,第一时间洞明渠道状况

3、免费服务:快速安装与一键拉起

快速安装:社交分享一键安装,从此告别"右上角打开浏览器",大幅提升安装概率,助力用户增长。在微信、QQ、新浪微博、钉钉、支付宝等社交平台中直接快速下载安装 apk (兼容 iOS )告别'右上角打开浏览器'操作。

一键拉起:实现 web 页面到 App 间的无缝跳转,解决拉新、拉活、留存、转化等问题,一键拉起 App 到指定场景页面,给用户更优更快体验。从外部分享链接打开的页面,可一键唤醒 App,直达指定页面,如一键加入游戏房间、视频播放页、App 活动详情页等;首次安装 App 后也可还原到对应场景页。

部分使用场景:

  • 免填邀请码安装:自动识别邀请来源,提升安装率与 App 推广裂变效率
  • 移动广告效果统计:简单、灵活、上手快,不要 IDFA,可实时排重,及时发现异常渠道
  • 安装后自动加好友:App 老带新邀请活动,促进用户关系链建立
  • App 地推统计:人手一个二维码,精确统计每个地推人员业绩
  • 社交分享效果统计:精准统计每个分享带来的安装量,不再依赖不可靠的点击量
  • CPS 渠道效果统计:精准统计、为分成结算提供准确可靠的依据
  • 快速下载:微信等社交平台中快速下载
  • 一键拉起 App:iOS、安卓无障碍场景还原,唤醒 App 促活
  • Android 多渠道打包统计:无需技术人员,轻松在线制作安卓渠道包

传送门https://www.openinstall.io/

Android “自定义视图” 完整爬坑顺序

Posted: 01 Jun 2022 08:36 PM PDT

刚刚在掘金发行一篇《 Android "自定义视图" 完整爬坑顺序》,感兴趣可自行查阅。

https://juejin.cn/post/7091521658787201060

有个项目想寻找前端外包,需要会 vue3(熟练)和 react(基础)

Posted: 01 Jun 2022 07:01 PM PDT

大家好,本人是后端,认识的前端不多,所以来 V2EX 上找个前端外包,希望技术过硬,有自己的产品能够在线查看,有大厂经验加分,整个项目价格在 2w 到 3w 之间,有个比较难点的地方是要集成telegram tdlib sdk,不过有react 代码可以参考,所以也不是很难,有项目原型设计稿,但是有些需求不完全按照设计稿来,因为设计稿是购买的,不是完全定制的

有兴趣的人欢迎留下自己的微信或者添加我的微信:shaoyangliu1990 shaoyangliu1990

平时不准用盗版 SI,我又搞了一个 vim IDE,略显简陋,勿喷。

Posted: 01 Jun 2022 06:58 PM PDT

效果图

具备语法检测,静态检测,自动补全,自动构建 ctags 。整体很靠谱,自我感觉良好^_^,一起来玩呀,兄弟们

绿色守护在安卓 12 下无法使用了,有解决办法?或者有推荐的类似应用吗?

Posted: 01 Jun 2022 05:56 PM PDT

人在上海,已被优化,杭州的就业市场是不是更严峻?

Posted: 01 Jun 2022 05:22 PM PDT

在上海被封了两个月,然后在 5.31 (复工前一天)通知被优化,理由是不在该项目再投入资源。虽然拿到了 n+1,但是在这种环境下找工作感觉还是挺难的。听说杭州之前裁了一大批,不知道现在杭州程序员就业形势如何(本人写 go )?

有什么好办法可以在搜索引擎里拉黑某些网站

Posted: 01 Jun 2022 04:48 PM PDT

不想在搜索结果里看到某些毫无价值的网站

目前就查到了两种办法:

  1. 安装插件。但用了几个,发现这些插件只是不显示被拉黑的网站,比如搜索返回 10 个结果网站,拉黑 5 个,刷新页面,只显示 5 个结果,而不是 5 个没被拉黑的网站+5 个新的结果
  2. 用搜索操作符。但这种方法是临时的、没有记忆的。

想问问有没有什么插件可以增强第二种方法,比如它能让我设置某些要拉黑的域名,然后在搜索的时候自动在末尾 map 添加搜索操作符

各位有什么其他好办法吗

安卓开发剪贴板问题

Posted: 01 Jun 2022 04:38 PM PDT

公司想做一个功能,监听剪贴板的实时变化,有新的内容复制时第一时间进行处理。

我用了这个接口:ClipboardManager.addPrimaryClipChangedListener 问题是只能监听在自己应用中复制出来的内容,无法监听应用外的复制 [实时监听] ,如从微信中复制了一块内容。

有什么办法能监听到自己应用外的复制情况呢?(不想要通过轮询去读剪贴板的内容的变化)

还是说这是系统的限制,不给监听自己应用外的复制?

推荐一个好用的安卓 apk 破解网站

Posted: 01 Jun 2022 04:11 PM PDT

网站名字摸瓜,网址: https://mogua.co

我不太懂安卓反编译,这个网站做的还比较人性化,基本都自动的,一般人的需求应该是够了。

就不附图了,怪费劲的,需要的拿走。

下班了

求推荐简明的 C++教程,给我的师弟用。

Posted: 01 Jun 2022 12:48 PM PDT

我自己以前学的时候用的是 C++ primer 。
我现在觉得,他没必要学那么细。

为什么图片视频不直接使用类似 huffman 这种熵编码压缩呢?

Posted: 01 Jun 2022 12:48 PM PDT

假如不考虑图片视频利用人类视觉特点的有损压缩,只讨论无损压缩。

熵编码实现压缩,是利用了数据流里"重复出现的部分",把这些重复部分代换成更短且能一对一无歧义还原的片段,就实现了压缩。

那么图片、视频中其实也有"重复的部分"。比如,视频压缩中利用相邻帧之间变化很小这一特点,那是不是可以说,相邻帧之间"重复的部分"非常多呢?(虽然不是完全重复,至少可以说很类似。)既然重复的部分很多,是不是可以用更 smart 的熵编码算法来直接压缩呢?

中文字符串能压缩吗?

Posted: 01 Jun 2022 12:14 PM PDT

帮别人压缩一些中文文章,可能一份就几千个字吧 用 zlib 这种库压缩,发现不会变小,反而变大了

但把文章放在 txt ,用 tar 或者 zip 压缩,反而容量小了一半 求正确压缩中文字符串的方法,谢谢

golang 实现的一套 A 股量化系统

Posted: 01 Jun 2022 11:10 AM PDT

shares

功能

  • A 股量化交易系统
  • 后台开发语言 Go/Python gmsec
  • gormt 嵌入,自动数据库代码生成 gorm 自动构建(gormt)
  • 分时任务,盯盘助手,研报股评,每日监控,微信提醒,玩转组织,AI 智能
  • uniapp 小程序端

欢迎微信扫码体验

show

传送门

实际效果图

show

show

show

show

show

show

show

show

5:传送门:

传送门

618 云服务器有推荐的吗, 2 核心 4G,可选三年那种

Posted: 01 Jun 2022 09:43 AM PDT

阿里云,腾讯云逛了一圈都没看到。最好便宜些,3 年几百能 cover

求推荐画原型的工具。

Posted: 01 Jun 2022 09:14 AM PDT

有没有大佬知道画原型有哪些比较小白式的在线工具吗?
想自己搞一些原型去设计数据库,但是不知道怎么去画原型,最好有教程那种的软件或者在线工具

No comments:

Post a Comment