Feng_Yu

Feng_Yu 查看完整档案

西安编辑西安电子科技大学  |  网络工程 编辑dteam-top  |  devops 编辑 github.com/abcfy2 编辑
编辑

我来到这个世上就没打算活者回去

个人动态

Feng_Yu 回答了问题 · 4月12日

解决哪里可以下载到chrome浏览器安装包?

直接可以从google中国的官网下载到:

访问: https://www.google.cn/chrome 是可以直接打开下载页面的。如果你要下载离线安装版本,在页面URL追加?standalone=1就行了,比如https://www.google.cn/chrome/?standalone=1,此外还有部分google的服务也可以通过把google.com域名改成google.cn访问的,你可以自己试试

关注 2 回答 2

Feng_Yu 回答了问题 · 4月12日

如果我们需要在H5里面加密某些信息,不用https可以做到吗?

单向加密都做不到,你得双向加密

关注 6 回答 5

Feng_Yu 回答了问题 · 4月9日

解决shell 命令使用 & 操作符,怎么知道是否有命令失败。

你直接这么wait是不行的,你得wait这几个后台进程的pid才行

$ commandA &
$ pid1=$!
$ commandB &
$ pid2=$!
$ commandC &
$ pid3=$!
$ wait $pid1 $pid2 $pid3

这样如果任意一个失败则退出码都不是0,最后一个错误退出的退出码应该就是wait的退出码。更完整的wait使用你应该看wait --help或者man wait,有更多范例

Stackoverflow有更完整的范例和解释: https://stackoverflow.com/que...

看看人家的范例,写的非常漂亮:

# simulate a long process that will have an identifiable exit code
(sleep 15 ; /bin/false) &
my_pid=$!

while   ps | grep " $my_pid "     # might also need  | grep -v grep  here
do
    echo $my_pid is still in the ps output. Must still be running.
    sleep 3
done

echo Oh, it looks like the process is done.
wait $my_pid
# The variable $? always holds the exit code of the last command to finish.
# Here it holds the exit code of $my_pid, since wait exits with that code. 
my_status=$?
echo The exit status of the process was $my_status

关注 2 回答 1

Feng_Yu 回答了问题 · 4月8日

解决PGSQL 的WITH子句跟主句的执行顺序是怎样的?

本质上还是在一个事务执行的,在事务未持久化之前,你第一次在CTE语句中SELECT * FROM products是旧的值,这条语句执行过之后再次SELECT * FROM products拿到的是新的值。

为了避免这种情况,你应该避免在CTE事务执行过程中直接去访问互斥资源,如果你的CTE过程中可能会修改互斥资源,你应该尽可能在CTE内部去处理,比如使用RETURNING语句返回被影响数据,比如:

WITH t AS (
    UPDATE products SET price = price * 1.05
    RETURNING *
)
SELECT * FROM t

关注 2 回答 1

Feng_Yu 回答了问题 · 4月7日

解决如何获取文件夹的目录结构?

作业请自己写

关注 5 回答 4

Feng_Yu 回答了问题 · 4月7日

如果在linux shell脚本中异步调用另一个脚本,cd会相互冲突吗?

不会,因为你这两个脚本都是在子进程执行的。Shell的执行有隔离性,也就是不同进程(即使是父子进程)都是在各自的运行环境执行,互相隔离,互不影响。

如果期望在当前shell执行命令,而不是fork一个子进程执行,应该使用source命令。source你可以理解为将脚本的内容拷贝到当前终端执行,所以是在当前shell环境下执行,而不是子进程执行。

关注 2 回答 1

Feng_Yu 回答了问题 · 4月7日

nginx配置SSL后无法访问?

openssl自签证书方案太繁琐了,强烈推荐mkcert,特别省事。我以前写过文章: https://blog.dteam.top/posts/...

关注 2 回答 1

Feng_Yu 回答了问题 · 4月6日

cdn图片资源自动返回合适的图片格式

之前我正好做过这个优化,可以看看我的方案: https://blog.dteam.top/posts/...

阿里云的OSS正好支持图片转换功能,利用OSS的图片转换功能,配合在CDN的边缘脚本进行内部URL重写就可以实现这个功能了。如果你用的是其他家的CDN,也可以类似处理。

EDIT: 写当时那篇文章的时候,阿里云CDN尚不支持图片转换,因此是在OSS级别上做的,通过CDN重写回源URL的方案使用webp图片。但是当回复帖子的时候,阿里云CDN本身已经支持自适应webp了: https://help.aliyun.com/docum... 使用比较简单,直接开启配置就行了。公测期间免费,未来会收费。

关注 3 回答 2

Feng_Yu 回答了问题 · 4月2日

楼中楼回复大家有没有了解的建表方案?

其实就是类似于树形结构就行了,一个典型的树形结构设计类似于这样:

idmessageparent_id
1这是一楼
2这是二楼回复
3这是回复一楼的回复1
4这也是一楼的回复,按id排序会在上一条下面1
5这是回复二楼的回复2

按树形结构展示出来就类似于下面这样了

`-- 这是一楼
    `-- 这是回复一楼的回复
    `-- 这也是一楼的回复,按id排序会在上一条下面
`-- 这是二楼回复
    `-- 这是回复二楼的回复

这种递归查询使用CTE会方便很多,mysql 8.0开始支持,其他主流RDB很早就支持了,mysql CTE查询这种树形结构参考SQL:

WITH RECURSIVE tmp AS
(
  SELECT id, message
    FROM posts
  WHERE parent_id IS NULL
  UNION ALL
  SELECT l.id, l.message
  FROM tmp AS p
  JOIN posts AS l
  ON p.id = l.parent_id
)
SELECT * FROM tmp
ORDER BY id;

关注 4 回答 3

认证与成就

  • 获得 451 次点赞
  • 获得 31 枚徽章 获得 4 枚金徽章, 获得 11 枚银徽章, 获得 16 枚铜徽章

擅长技能
编辑

开源项目 & 著作
编辑

注册于 2014-03-17
个人主页被 6k 人浏览