Friday, May 21, 2021

V2EX - 技术

V2EX - 技术


这个为什么会使用到索引呀

Posted: 21 May 2021 04:16 AM PDT

微信图片_20210521142728.png 微信图片_20210521142734.png 微信图片_20210521142738.png

看了下联合索引 不是最左原则吗 name 和 name,sex 应该都可以把 为什么单独一个 sex 也可以

word 转 PDF 有什么好一点的方法?

Posted: 21 May 2021 04:10 AM PDT

Linux Java

google 搜索是真的强

Posted: 21 May 2021 04:10 AM PDT

突然想起了几年前看过的一篇文章,作者讲的关于一个魔法数字的事情,印象最深刻的一句就是"在漫天黄沙的北京城里"。 翻了下书签没找到,然后印象中的几个关键字搜了一下,结果如下,不得不说 google 还是牛批。

img


img


img

微信小程序可以让用户自己选服务器吗?

Posted: 21 May 2021 03:55 AM PDT

现在公司有产品主要功能再 admin 页面,但是有部分功能在 app 端(基本逻辑就是 admin 进行相关的功能配置,app 端点击执行功能),客户有 5-10 个,每个客户都需要在自己的内网机房建服务端,然后开放 app 相关的 api 到公网

因为维护各个版本的安卓 /ios 包比较吃力,想转为微信小程序

逻辑大概是这样:

用户在选择服务器通过认证后可以绑定微信 以后再次打开小程序会自动连接到该服务器

这种模式可行吗?如果不可行的话有没有其它的方案可以解决?

求推荐一个轻量级的 react ui 库,不想用 antd

Posted: 21 May 2021 03:32 AM PDT

大家遇到过哪些看起来匪夷所思的 BUG 最后靠自己解决的

Posted: 21 May 2021 03:24 AM PDT

spring 的 model 有可以通过数据库生成的插件吗?

Posted: 21 May 2021 03:14 AM PDT

DSM7.0 正式版 6 月发布

Posted: 21 May 2021 03:00 AM PDT

刚刚刷了下 reddit 看到的消息

关于 WSL docker cuda,安装深度学习 Python 环境

Posted: 21 May 2021 02:49 AM PDT

研究生找了个搞数据库的导师,结果还是躲不过这玩意。。现在啥都得结合深度学习。。。

现在有一个项目需要我跑起来,然后我今天搞了一天的环境,问题有点多。

一开始不清楚就直接装了个 python3.9,然后有个 requirements.txt ,安装包的时候出错,查了一下发现里面用到了 tensorflow1,只能用 3.6,然而我已经不知道要怎么把 python3.9 换成 3.6 (试了几种方法。。。反而把环境搞乱了也没成功)

所以我打算用 docker,反正在本地只要跑跑 demo 就行,所以我写了一个 dockerfile,基于 python3.6 的镜像,把 requirements.txt 拷贝进去再安装,但是还是出现了很多错误。。

其中就有一些红色的也不知道错误还是警告

UserWarning: CUDA initialization: Found no NVIDIA driver on your system. Please check that you have an NVIDIA GPU and installed a driver from http://www.nvidia.com/Download/index.aspx (Triggered internally at  /pytorch/c10/cuda/CUDAFunctions.cpp:100.) 

这我才想起来好像深度学习得用到一种叫 cuda 的东西,似乎就是这里出的问题。

所以我的问题是,这个 cuda 的环境,我是应该把他装在 docker 容器里吗?还是装在宿主机上,而且我用的是 windows 的 WSL,如果是装在容器里,我应该是找个 linux 镜像,然后再按照系统找到对应的 cuda 版本装上,然后再装上 python 等等。。。。感觉更麻烦了。。。。

所以我还想问针对我配置环境(装个 python3.6 装 cuda 装一些 python 包。。。)这个问题,有没有最简单的方法可以搞定。。。实在是太混乱了


发完帖子又想了一下,我应该是基于一个 cuda 的镜像,在上面装个 python3.6,再装 python 包,是这样吗?

然后 cuda 我的理解它应该是跟硬件相关的吧,那这个 cuda 镜像要根据我机器的显卡还是别的啥来选吗?而且我还多了一层 WSL


我看我电脑只支持 cuda8.0,那我就只能装 8.0 的 docker 镜像吗?

如何离线安装 setuptools-rust?

Posted: 21 May 2021 02:40 AM PDT

安装 cryptography 时报错找不到 setuptools-rust 模块,下载了源文件和 whl 文件,安装时提示 proxyerror,需要联网,请问离线环境如何安装?谢谢。

Pycharm 怎么使用 Docker 镜像内的 Python 解释器?

Posted: 21 May 2021 02:35 AM PDT

Pycharm 环境在 MacOS , 镜像在 CentOs 服务器上, docker images 命令可以list出来镜像,想直接在 Pycharm 里边配置使用这个镜像里边的 Python 解释器怎么配置,我看 PycharmDocker 配置的 Server 3 个选项的

Docker executable:  Docker Machine executable:   # 这个 CentOS 上都没这个玩意儿,但 Pycharm 是必填项 Docker Compose executable:  

另外, 到底是选择哪一个 Docker Server

Docker for Mac  Docker Machine:  TCP socket      Engine API URL:      Certificates folder:  

deepin qq 的自动弹出真的很烦人啊,真的!

Posted: 21 May 2021 02:30 AM PDT

wine 问题? deepin qq 问题? deepin linux 上没有这个问题,只是在其他版本上才有? 很不爽,但又无能为力。这很不 linux 。

pandas 如何将分组的 value 传入 apply 函数中

Posted: 21 May 2021 02:22 AM PDT

举个例子

In [4]: df Out[4]:    name  age cup 0   hah   18   A 1  wuwu   19   B 2  bibi   20   C 3  diid   21   D  def hh(df, cup_value): 	... 	return   

我想按 cup,分组如何将 cup 的值传入 apply 函数中?除去在 apply 函数中根据 df 获取

一大堆 TW 内推坑等你来

Posted: 21 May 2021 02:12 AM PDT

西安 Thoughtworks 大量内推坑等你来:

岗位详情戳这里

岗位搜索戳这里


要求只有一个学习能力强,能适应各种新技术和敏捷开发。

感兴趣简历发给我吧 lei.miao@thoughtworks.com

有意也可以公众号 newbmiao 内回复 名片 加我 (备注原因,非诚勿扰)

关于低(零)代码平台的看法

Posted: 21 May 2021 02:08 AM PDT

低代码甚至零代码平台,逐渐火了,在我看来,可能是下一个数据中台,炒了一波概念。

其实成熟的低代码平台早已经有了:魔兽争霸 3 的地图制作(多少经典的游戏模式是源自魔兽 3 )、我的世界地图制作 这两款都是非常成熟的低代码平台

加速国内 WordPress 站点官方后台服务访问(以腾讯轻量为例)

Posted: 21 May 2021 01:51 AM PDT

通过反代官方 API 加速位于国内的 WordPress 站点访问更新、主题等等服务的方法,最初国内 429 的时候 WP-ChinaYes 那个项目提出来的。那时候研究了下用一个域名完成整个反代,稳定使用了接近一年了,分享出来~

WP-ChinaYes 后来走了劫持并二次处理官方 API 的路线,个人不是很喜欢;而且个人需求也没到他们规划的程度,自己搭建的安全性方面也更放心。

在这里服务器推荐腾讯的轻量,香港或者硅谷到大陆链路都不错,我测试到国内腾讯云、华为云、UCloud 等等云厂都是走的 CN2 回国,24 一个月速度很棒也很划算,拿来搭建这样的服务非常合适。

*注意鹅厂的轻量不能给你在阿里云国内机器上的用,两家不和绕的很感人很慢很慢。


准备一个反代的域名,例如 proxy.example.com (文件中 20 处自行替换),SSL 自己配置好,反代的配置文件如下:

#PROXY-API location /api/ {     proxy_pass https://api.wordpress.org/;     proxy_set_header Host api.wordpress.org;     proxy_set_header X-Real-IP $remote_addr;     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;     proxy_set_header REMOTE-HOST $remote_addr;     proxy_set_header Accept-Encoding "";     proxy_redirect   https://developer.wordpress.org https://proxy.example.com/developer.wordpress.org;          gzip off;     sub_filter                 ps.w.org                 proxy.example.com/ps.w.org;     sub_filter                 downloads.wordpress.org  proxy.example.com/dl;     sub_filter                 profiles.wordpress.org   proxy.example.com/profiles.wordpress.org;     sub_filter                 secure.gravatar.com      proxy.example.com/secure.gravatar.com;     sub_filter                 0.gravatar.com           proxy.example.com/secure.gravatar.com;     sub_filter                 1.gravatar.com           proxy.example.com/secure.gravatar.com;     sub_filter                 2.gravatar.com           proxy.example.com/secure.gravatar.com;     sub_filter                 ts.w.org                 proxy.example.com/ts.w.org;     sub_filter                 wp-themes.com            proxy.example.com/wp-themes.com;     sub_filter                 s.w.org                  proxy.example.com/s.w.org;     sub_filter                 wordpress.org            proxy.example.com/wordpress.org;     sub_filter_last_modified   on;     sub_filter_once            off;     sub_filter_types           application/json;      } #PROXY-DL location /dl/ {     proxy_pass https://downloads.wordpress.org/;     proxy_set_header Host downloads.wordpress.org;     proxy_set_header X-Real-IP $remote_addr;     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;     proxy_set_header REMOTE-HOST $remote_addr;     proxy_redirect   https://wordpress.org/download/ https://proxy.example.com/wordpress.org/download/; } #PROXY-Developer location /developer.wordpress.org/ {     proxy_pass https://developer.wordpress.org/;     proxy_set_header Host developer.wordpress.org;     proxy_set_header X-Real-IP $remote_addr;     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;     proxy_set_header REMOTE-HOST $remote_addr;     proxy_set_header Accept-Encoding "";          gzip off;     sub_filter                 downloads.wordpress.org proxy.example.com/dl;     sub_filter                 developer.wordpress.org proxy.example.com/developer.wordpress.org;     sub_filter                 ps.w.org                proxy.example.com/ps.w.org;     sub_filter_last_modified   on;     sub_filter_once            off; } #PROXY-WPORG location /wordpress.org/ {     proxy_pass https://wordpress.org/;     proxy_set_header Host wordpress.org;     proxy_set_header X-Real-IP $remote_addr;     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;     proxy_set_header REMOTE-HOST $remote_addr;     proxy_set_header Accept-Encoding "";          gzip off;     sub_filter                 //wordpress.org         //proxy.example.com/wordpress.org;     sub_filter                 s.w.org                 proxy.example.com/s.w.org;     sub_filter                 downloads.wordpress.org proxy.example.com/downloads.wordpress.org;     sub_filter_last_modified   on;     sub_filter_once            off; } #PROXY-WP-Theme location /wp-themes.com/ {     proxy_pass https://wp-themes.com/;     proxy_set_header Host wp-themes.com;     proxy_set_header X-Real-IP $remote_addr;     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;     proxy_set_header REMOTE-HOST $remote_addr;     proxy_set_header Accept-Encoding "";          gzip off;     sub_filter wp-themes.com proxy.example.com/wp-themes.com;     sub_filter_last_modified on;     sub_filter_once off; } #PROXY-Profiles location /profiles.wordpress.org/ {     proxy_pass https://profiles.wordpress.org/;     proxy_set_header Host profiles.wordpress.org;     proxy_set_header X-Real-IP $remote_addr;     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;     proxy_set_header REMOTE-HOST $remote_addr;     } #PROXY-Secure location /secure.gravatar.com/ {     proxy_pass https://secure.gravatar.com/;     proxy_set_header Host secure.gravatar.com;     proxy_set_header X-Real-IP $remote_addr;     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;     proxy_set_header REMOTE-HOST $remote_addr; } #PROXY-Ps location /ps.w.org/ {     proxy_pass https://ps.w.org/;     proxy_set_header Host ps.w.org;     proxy_set_header X-Real-IP $remote_addr;     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;     proxy_set_header REMOTE-HOST $remote_addr; } #PROXY-TS location /ts.w.org/ {     proxy_pass https://ts.w.org/;     proxy_set_header Host ts.w.org;     proxy_set_header X-Real-IP $remote_addr;     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;     proxy_set_header REMOTE-HOST $remote_addr; } #PROXY-S location /s.w.org/ {     proxy_pass https://s.w.org/;     proxy_set_header Host s.w.org;     proxy_set_header X-Real-IP $remote_addr;     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;     proxy_set_header REMOTE-HOST $remote_addr; } 

然后把 WP-ChinaYes 的核心代码加到主题的 functions.php 即可,proxy.example.com 改成你搭建好的反代:

/**  * WP-ChinaYes  * https://github.com/litepress/wp-china-yes/tree/custom  */  function my_pre_http_request($preempt, $r, $url) {     if ( ! stristr($url, 'api.wordpress.org') && ! stristr($url, 'downloads.wordpress.org')) {         return false;     }     $url = str_replace('api.wordpress.org', 'proxy.example.com/api', $url);     $url = str_replace('downloads.wordpress.org', 'proxy.example.com/dl', $url);     return wp_remote_request($url, $r); }  add_filter('pre_http_request', 'my_pre_http_request', 10, 3); 

最后就是注意,这个 NGINX 的 vhost 一定要关闭掉 php 解析哦,不然会有些莫名其妙的错误,效果如图:

g7oOPS.png

请问一下有什么框架可以实现对深度学习多模型的自动显存管理

Posted: 21 May 2021 01:11 AM PDT

目前有一个项目,包含超过 40 个深度学习模型,但是显存无法容纳所有的模型,因此想问下,有没有什么框架,可以实现对预模型的动态加载。主要是 pytorch 类型的深度学习模型。

轻松合理的获取数据 | 基于标记语言的开源爬虫框架(Trico cloud 云原生)

Posted: 20 May 2021 11:57 PM PDT

写在前面

名词解释

  • Trico 框架名。
  • Trico script 官方脚本代码。
  • Salyut 脚本虚拟机 负责语法解析,表达式解析。
  • Trico cloud Trico 生态,将脚本调度和虚拟机在云端部署。

Trico 的诞生

Trico起初是为了满足公司大量的数据提取需求(当然是公开可获取的:)),最早我们是使用 Java+Jsoup+selenium 来完成的。但是随着维护的网站数量越来越多,网站的改版等等异常将会产生大量的工作量,于是我们就想能不能有个轻量级的脚本,既可以热更新(快速的解决 Bug )又可以提供一些带有复合功能的元语 来提高开发效率。于是 Trico 就诞生了。

如何使用 Trico

Trico 是一个基于标记语言的脚本语言,词法相对都比较简单,学习曲线相对降低,一般的程序员 1 ~ 2 天即可以完全上手。当然我们也希望对于不是程序员背景也能使用 Trico,把他当作一个数据的提供者或者了解编程概念的语言。

看到这里想必你对 Trico 或多或少有一些兴趣,我们也开源了 Salyut 引擎,方便的话请给我们个 Star,给我们个鼓励。🌟

https://github.com/taofen8/salyut

Trico 目前状态

目前 Trico 服务于公司内部,中型互联网公司,国内外创业公司和独立开发者。Trico 的脚本市场正在在建设中。

Trico cloud

我们希望有更多的开发者加入到 Trico 生态中,贡献更多的脚本,让有获取数据需求的开发者能够快速经过原型阶段,把精力放在体验优化上。另外所有提交到 Trico cloud 的脚本都会通过系统或是人工审核,来保证公开的脚本都是允许获取的公开数据,并且 Trico cloud 会根据目标网站的体量来控制爬取速率,不影响网站本身的运行,净化数据爬取环境。

特性

  • 云端部署,无需负担任何机器成本,快速的推进业务。
  • 国内外主节点全覆盖,动态调度。
  • 开放脚本社区,构建数据生态。
  • 遵循 Robts 协议和用户隐私,安全绿色的获取公开信息。

Introducing WebContainers: Run Node.js natively in your browser

Posted: 20 May 2021 08:16 PM PDT

原文链接: https://blog.stackblitz.com/posts/introducing-webcontainers/

感觉技术融合越来越彻底了,Chrome 也新增了接口可访问系统文件,浏览器更像一个系统封装了。

Redis 中 Key 为什么也使用 SDS 而不是 C 字符串呢?

Posted: 20 May 2021 04:33 PM PDT

SDS 类型具有几大优势:

  1. 常数复杂度获取字符串长度
  2. 杜绝缓冲区溢出
  3. 减少修改字符串长度时所需的内存重分配次数
  4. 二进制安全
  5. 兼容部分 C 字符串函数

但是,Redis Key 不需要修改,所以大部分优势都不存在了,为什么还需要 SDS 类型呢,使用 C 字符串不香吗?

Tomcat 启动不了 webapps 里面的 web 程序怎么解决

Posted: 20 May 2021 10:19 AM PDT

0.0 在看《 Head First Servlets & JSP 》,照着书做一个练习没成功

0.1 运行环境:M1 Mac

1. 这是 tomcat 的 webapps 文件夹的结构,里面的 Beer-v1 是我的 web app

xfcYLhslEJVIHGP

2. 启动 tomcat,访问 http://localhost:8080/Beer-v1/form.html,报错如下

1IKQDZ2XbkejS6a

3. 打开 tomcat 后台,尝试手动启动这个 web app,结果如下

6ZxS3PesfbMC5gN

4. 下面是 form.html 和 web.xml 的代码

<html>     <body>         <h1 align="center">Beer Selection Page</h1>         <form method="POST"             action="SelectBear.do">             Select beer characteristics</p>             Color:             <select name="color" size="1">                 <option value="light"> light </option>                  <option value="amber"> amber </option>                  <option value="brown"> brown </option>                  <option value="dark"> dark </option>             </select>             <br><br>             <center>                 <input type="SUBMIT">             </center>         </form>     </body> </html> 
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"      xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"      version="2.4">  <servlet>     <servlet-name>Ch3 Beer</servlet-name>     <servlet-class>com.example.web.BeerSelect</servlet-class> </servlet>  <servlet-mapping>     <servlet-name>Ch3 Beer</servlet-name>      <url-pattern>/SelectBeer.do</url-pattern>  </servlet-mapping>  </web-app> 

服从师傅安排工作,有没有师傅能带 PHP 的

Posted: 20 May 2021 06:58 AM PDT

还在学基础,一个人自学觉得进度比较慢,有时候一个小问题卡太久了,有没有师傅能带的

各位 V 友,请教一下大家都是怎么提升自己代码质量的?

Posted: 20 May 2021 06:53 AM PDT

我是一个从开发 py 引擎转到 Java 的码农,转到 Java 有三年有余了,现在主要写一写微服务框架的大数据平台,但是有时候总感觉自己在写功能的时候,感觉代码还有很大的有优化空间,感觉代码没有很健壮 质量不高,自己又无从下手去优化,我个人感觉可能是我的 Java 基础比较差,很多底层函数,底层的方法的运用欠缺,我想请教各位 V 友平时都是怎么提升自己写代码的质量的?阅读源码?还是从其他网站学习? 在此有没有比较好的开源项目可以学习比较严谨的代码的编写( java 语言)?

Python 中有类似 Java servlet filter 的过滤器机制吗?

Posted: 20 May 2021 06:26 AM PDT

RT,有没有非框架绑定的,对请求进行统一处理的机制?

No comments:

Post a Comment