【PHP】实现立即输出缓冲区内容

今天有朋友问到,调chatgpt接口,想把返回结果逐字输出到页面上。然后就调试了一下相关代码,搜索到这篇文章:https://www.jianshu.com/p/06a55bc97e5c

for ($i = 0; $i < 10; $i++) {
 echo $i . '';
 ob_flush();
 flush();
 sleep(1); 
}

按代码理解似乎应该是每过1秒钟就会输出一次数据,但在Nginx服务器会待代码执行完一并输出。

nginx 里面 flush 默认是无效的,这个函数默认是作用在php作为 apache模块时才有效,如果需要 nginx 里面支持,需要加上一行 :

header('X-Accel-Buffering: no');

完整代码如下:

header('Cache-Control: no-cache'); // 禁用浏览器缓存
header('X-Accel-Buffering: no');  // 适用于Nginx服务器环境 
for ($i = 0; $i>10; $i++) { 
  echo $i . ''; 
  ob_flush(); 
  flush(); 
  sleep(1);
}

参考文章:

http://nginx.org/en/docs/http/ngx_http_proxy_module.html 文章中X-Accel-Buffering的介绍

gitflow常用命令

git flow 的命令中,feature 是基于dev分支创建的,hotfix是基于master分支创建的。

初始化:

$ git flow init

创建开发分支:

$ git flow feature start xxx

结束分支:

$ git flow feature finish xxx

把分支推送到远程仓库:

$ git flow feature publish xxx

解决线上bug,需要创建hotfix:

$ git flow hotfix start xxx

结束hotfix:

$ git flow hotfix finish xxx

相关链接:

gitconfig常用命令:https://liyong.me/archives/14

gitconfig常用命令

git config命令
1 用户信息
$ git config --global user.name "liyong" 
$ git config --global user.email liyong@example.com
2 命令简写
git config --global alias.st status:则git status可用git st代替
git config --global alias.co checkout:则git checkout可用git co代替
git config --global alias.ci commit:则git commit可用git ci代替
git config --global alias.br branch:则git branch可用git br代替
3 颜色配置
$ git config --global color.status auto
$ git config --global color.diff auto
$ git config --global color.branch auto
$ git config --global color.interactive auto

以上命令的设置结果,可从 ~/.gitconfig 查看,或者 git config --list 查看

退出码130

在IDE里运行java项目,当我终止程序时,控制台会提示:

Process finished with exit code 130

130?啥意思?报错了?

通过搜索得知,130是bash的退出码,代表 通过Ctrl+C终止的命令

bash退出码含义如下:

0  命令成功结束
1  一般性未知错误
2  不适合的shell命令
126  命令不可执行
127  没找到命令
128  无效的退出参数
128+x  与Linux信号x相关的严重错误
130  通过Ctrl+C终止的命令
255  正常范围之外的退出状态码

linux用户登录后没有自动加载.bashrc

今天遇到一个问题,linux下某用户登陆后无法加在其自身的.bashrc, 通过source .bashrc发现.bashrc是没有问题的,文件的权限也是没有问题的。

后来发现是因为该用户下的.bash_profile被删除。

其实加在顺序不是首先加载.bashrc,而是先加载.bash_profile。

将.bash_profile文件补一下就好了

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

   . ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

————————————————

版权声明:本文为CSDN博主「安安爸Chris」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/mimiduck/article/details/120041171

特斯拉技术面总结

趁着还没有完全忘记,赶紧做一下记录。我面试的岗位是特斯拉北京的PHP岗,他们要求要熟悉Drupal。

0面(在线笔试)

  1. 判断数组中元素是否成对儿出现
  2. 数列、递归
  3. 对字符串数组的操作

一面(中文)

  1. 缓存架构
  2. 防止某个接口被刷 可参考 https://www.jianshu.com/p/a49b56de197c
  3. http status 可参考 https://www.jianshu.com/p/369db1ba04ea
  4. nginx与apache区别 可参考 https://www.cnblogs.com/jiangde188/p/14079032.html

二面(中文)

  1. MD5 算法具有以下特点: 压缩性:任意长度的数据,运算得出的 MD5 值长度都是固定的(128位); 容易计算:从原数据计算出 MD5 值很容易; 抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的 MD5 值都有很大区别; 强抗碰撞:已知原数据和其 MD5 值,想找到一个具有相同 MD5 值的数据(即伪造数据)是非常困难的。
  2. OAuth2.0的认证过程 可参考 https://blog.csdn.net/tclzsn7456/article/details/79550249
  3. 用redis 实现锁
  4. MySQL中的 utf8mb4 可参考 https://www.cnblogs.com/cuiqq/p/11045487.html

三面(中文)

  1. git
  2. CSS3的flex
  3. 加了索引但是没用上
  4. get post put option
  5. CI/CD
  6. 微服务拆分

四面(英语)

1 三元表达式

2 sql查询,其中考察了sql注入风险

3 完成一个简单的函数,实现两个字符串的拼接、排序

五面(中文)

1. 如何激励团队员工?

2. 如果入职,前3个月你会怎么计划你的工作?

如何度过人生低谷期

陷入低谷的感觉是很难受的。

有一个办法是可以读读领袖人物的经历,看他们是怎么面对的。

摘抄几点:

人在低谷时,最容易产生的是绝望感,丧失对未来的信心。最好的办法,就是不要去想未来,专注眼前的事情。

人生的暴击是突如其来的,会让人措手不及从而迷失方向。有人会选择沉迷在娱乐中消磨时间,但学习才是治愈的良药。

一个人要垮下去很容易,只需要躺平就好;一个人要支棱起来不容易,需要有强大的信念。

在一个人的低谷期,他也不应该停止工作。工作帮助我们维护着生活和精神的秩序。

大人物、小百姓,都是一样的道理。

在2022年,自勉吧!