202201-06 vscode设置成中文 NEW 打开 VS CodeCtrl + Shift +p打开搜索框 搜索框内输入Configure Display Language 回车修改代码中“locale”后面引号内内容为zh-CH重新启动VS Code如果没有效果的话点击插件商店 搜索 Chinese(Simplied) Lang 点击Install安装后 按照上面的操作步骤操作即可... Read More >
202201-06 关于股票除权复权,前复权、后复权、不复权 NEW 除权:简单讲就是 让市场上可以流通的股票变多了,每股的权益变少叫除权。假设某公司的总股本100股,每股10元,总权益就是1000元。当公司进行送股,每10股转送10股,总股本就变成了200股,而公司的总权益并没有变,于是每股价格就要变成1000/200=5元。这就是除权。复权:两股合成一股,叫复权,回复股票权利。当股价因送股、配股等原因而发生下跌时,原来10元/股的股票瞬间变成了5元/股,但该股票实际价值并没有发生变化,也就是说现在的5元实际上还是相当于10元。这就是复权。&... Read More >
202201-05 随机指标(KDJ)的计算方法和golang实现 NEW KDJ指标的定义KDJ的另外一个名字叫随机指标,最早是以KD指标的形式出现,而KD指标是在威廉指标的基础上发展起来的,目前是金融市场上最常用的技术分析工具之一。KDJ 指标的原理利用当前股价(包括大盘指数,下同)在近期分布中的相对位置来预测可能发生的趋向拐点。它是利用市场价格真实的波动来反映价格走势的强弱以及超买超卖现象,从而在价格尚未出现明显的上升或下降之前提前发出交易信号,它是捕捉市场价格即将要发生拐点的一种技术工具。KDJ指标的计算方法KDJ指标是一种常用的价格走势判断... Read More >
202201-05 股票中MACD如何计算golang版本 概念 MACD称为指数平滑移动平均线,是从双指数移动平均线发展而来的,由快的指数移动平均线(EMA12)减去慢的指数移动平均线(EMA26)得到快线DIF,再用2×(快线DIF-DIF的9日加权移动均线DEA)得到MACD柱。MACD的意义和双移动平均线基本相同,即由快、慢均线的离散、聚合表征当前的多空状态和股价可能的发展变化趋势,但阅读起来更方便。当MACD从负数转向正数,是买的信号。当MACD从正数转向负数,是卖的信号。当MA... Read More >
202201-04 go自定义包引入,报错包找不到的问题 背景从github下载了一个项目想运行下,发现找不到自己写的包,一直报错build command-line-arguments: cannot find module for path xxx目录结构stockIndicator indicator price.go &nb... Read More >
202201-03 livego介绍、安装、使用详解 前言写这篇文章主要是因为希望找到一个简单的方式实现直播功能,在度娘上找到livego(我平时写php和前端的,不懂golang),感觉安装部署都很方便,即使不懂golang的同学,只要有一定Linux和web后端开发知识都能搭建自己的直播服务。但是livego的文档的确比较少,然后对于我这个面向搜索引擎开发的菜鸟来说,连度娘也只找到为数不多的几篇相关博客文章,所以最后只能自己看GitHub的issue和反复测试趟坑,最后打算记录一下自己的趟坑过程也分享一下给各位小伙伴,希望对... Read More >
202201-02 什么是OBS(OBS直播推流操作步骤,看完就懂) 什么是 OBS? Open Broadcaster Software 是一款好用的互联网流媒体直播内容输入作软件。 OBS 使用是否收费? 不收费,这个程序和它的源代码都是免费的。 OBS 都支持哪些操作系统? 支持 OS X、Windows、Linux 操作系统。适用于多种直播场景。满足大部分直播行为的操作需求。 一、前期准备 直播间布置 参考:直播间布置手册:https://www.yuque.com/docs/share/555b3... Read More >
202201-01 以太坊是什么挖矿机制 简介以太坊是一种基于区块链技术的智能合约平台,它允许开发者构建分散应用程序(dApps)和智能合约。为了确保以太坊网络的安全性和稳定性,以太坊采用了一种名为Proof of Work(PoW)的挖矿机制。PoWPoW是一种共识机制,它通过计算机的算力来验证交易和创建新的区块。在PoW中,计算机需要完成一定数量的计算,以便获得一个新的区块的权利。计算机完成计算后,它会将结果提交给网络,如果结果符合难度要求,则被接受,并且计算机会获得相应的奖励。以太坊的PoW挖矿机制与比特币的P... Read More >
202201-01 一篇文章搞清楚直播协议RTMP 说起RTMP协议,相信很多人都比较陌生,这个协议相对HTTP、HTTPS、TCP等我们常见的协议而言,我们在工作中确实较少接触它,但是对现在如火如荼的直播行业,RTMP是一个重要的协议,它在实时音视频场景中使用非常广泛,而且目前市占率很高。本文的主要内容是分析RTMP的协议,当然不是纯理论分析,这样没多大意思,还是结合实践抓包文件来具体分析,这样才能较好地理解RTMP的内涵。具体如何抓包见本文末尾的“Android抓包”模块。希... Read More >
202112-08 #yyds干货盘点#盘点MySQL的锁机制是如何实现的 文章介绍 对于MySQL中的乐观锁和悲观锁,可能很多的开发者还不是很熟悉,并不知道其中具体是如何实现的。本文就针对这个问题做一个实际案例演示,让你彻底明白这两种锁的区别。 锁分类 MySQL的中锁按照范围主要分为表锁、行锁和页面锁。其中myisam存储引擎只支持表锁,InnoDB不仅仅支持行锁,在一定程度上也支持表锁。按照行为可以分为共享锁(读锁)、排他锁(写锁)和意向锁。按照思想分为乐观锁和悲观锁。 今天的文章演示一下实际中的乐观锁和悲观锁是如何操作的。 表结构 下面的SQ... Read More >
202111-26 SSL单向认证和双向认证说明 SSL(Secure Sockets Layer,安全套接字协议)是为网络通信提供安全及数据完整性的一种安全协议。本文主要介绍 SSL 单向认证和双向认证。SSL 单向认证和双向认证的区别SSL 单向认证 无需客户端拥有证书,只需服务端拥有证书。SSL 双向认证 需要客户端和服务端双方都拥有证书。SSL 单向认证相对于 SSL 双向认证的认证过程,无需在服务端验证客户端证书、以及协商加密方案,服务端发送给客户端也是未加密的密码方案(并不影响 SSL 认证过程的安全性)。一般... Read More >
202111-25 linux crontab下关于使用date命令的坑 1. date在crontab中的正确写法在测试环境中,一开发同事反馈自己设置的crontab不生效,定时任务如下:*/6 * * * * date >> /usr/local/log/log_$(date +%Y%m%d%H%M).txt咋一看,好像没什么问题。先按照思路来测试一下:直接在命令行中执行没有问题# date >> /usr/lo... Read More >
202111-24 CURL HTTP构造请求Header实现伪造来源IP的说明 CURL HTTP构造请求Header实现伪造来源IP的说明伪造的只是X-FORWARDED-FOR和CLIENT-IP,REMOTE_ADDR伪造不了。$_SERVER['REMOTE_ADDR']是由nginx传递给php的参数,就代表了与当前nginx直接通信的客户端的 IP(是不能伪造的)PHP获取客户端IP,代理服务器IP,共有如下几类情况:一、没有使用代理服务器的情况:REMOTE_ADDR = 您的 IPHTTP_VIA = 没数值或不显示HTT... Read More >
202111-23 supervisorctl 非root用户调用权限最终原因 背景用supervisor来守护服务器程序, 但使用非root用户云调用supervisorctl来操作程序时, 总是提示权限问题[www@super-test ~]$ supervisorctl status error: <class 'PermissionError'>, [Errno 13] Permission denied: file:... Read More >
202111-22 oom-killer详解和实战 作为Linux下的程序员,有时不得不面对一个问题,那就是系统内存被用光了,这时当进程再向内核申请内存时,内核会怎么办呢?程序里面调用的malloc函数会返回null吗?为了处理内存不足时的问题,Linux内核发明了一种机制,叫OOM(Out Of Memory) killer,通过配置它可以控制内存不足时内核的行为。OOM killer当物理内存和交换空间都被用完时,如果还有进程来申请内存,内核将触发OOM killer,其行为如下:1.检查文件/proc/sys/vm/pa... Read More >
202111-21 线上服务器oom killer实战详解 背景最近一台线上定时任务服务器,经常不定期报错,经常是请求外部接口的时候报错了。分析单独测试没有问题,外部接口也正常响应,百思不得其解,于是根据发生报错的时间点查看系统日志,发现触发了系统的oom-killervi /var/log/messages Jun 28 17:30:06 super-task-cron kernel: php invoked oom-killer: gf... Read More >
202111-20 shell脚本实现秒级定时任务的方法 编写Shell脚本crontab.sh#!/bin/bash step=1 #间隔的秒数,不能大于60 for (( i = 0; i < 60; i=(i+step) )); do $(php '/home/www/php/crontab/crontab.php') &nbs... Read More >
202111-19 shell中判断远程服务器中文件是否存在两种场景实战 判断一个文件的常见形式为if [ -f "/data/file.txt"];then echo "true" else echo "false" fi注意:1)中括号之间的空格;2)目录最好是绝对路径,在判断远程服务器中文件是否存在时尤为重要,因为集群之间有路径的变... Read More >
202111-18 nginx方向代理wss或ws 背景1、由于联调环境需要在内网或外网使用wss,这里使用Nginx作为代理实现ws或wss。2、WebSocket 在线测试: http://www.websocket-test.com/使用Nginx代理wsNginx配置如下server { listen 80; server_name ws.phpmians... Read More >
202111-17 linux实现时间同步有哪几种方法 简介Linux实现时间同步的方法的有两种,分别是:1、使用ntpdate从时间服务器来更新时间,不需要自己做任何配置;2、使用ntp来搭建自己的时间服务器。由于硬件的原因,机器或多或少的跟标准时间对不上,误差几秒到几分钟不等。对于服务器来说时间不准会有很多麻烦。例如支付的时候,无法下单,游戏无法登录等。接下来将在文章中为大家分享Linux系统中如何实现时间同步,希望对大家有所帮助方法一:用ntpdate从时间服务器更新时间如果linux系统没有ntpdate这个命令,可以输入... Read More >