cannot install, GOBIN must be an absolute path
把GOPATH替换为完整的路径,比如C:\User\Admin\go\bin 即可解决问题。
原创文章,转载请注明出处:
http://30daydo.com/article/44290
收起阅读 »
gin can not run reasons: c.engine.AppEngine undefined
# github.com/gin-gonic/gin
C:\Users\xda\go\pkg\mod\github.com\gin-gonic\gin@v1.7.5\context.go:735:13: c.engine.AppEngine undefined (type *Engine ha
s no field or method AppEngine)
C:\Users\xda\go\pkg\mod\github.com\gin-gonic\gin@v1.7.5\gin.go:154:3: unknown field 'UseRawPath' in struct literal of ty
pe Engine
C:\Users\xda\go\pkg\mod\github.com\gin-gonic\gin@v1.7.5\gin.go:156:3: unknown field 'UnescapePathValues' in struct liter
al of type Engine
C:\Users\xda\go\pkg\mod\github.com\gin-gonic\gin@v1.7.5\gin.go:508:11: engine.UseRawPath undefined (type *Engine has no
field or method UseRawPath)
C:\Users\xda\go\pkg\mod\github.com\gin-gonic\gin@v1.7.5\gin.go:510:20: engine.UnescapePathValues undefined (type *Engine
has no field or method UnescapePathValues)
源码:
package main
import (
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
// 1.创建路由
r := gin.Default()
// 2.绑定路由规则,执行的函数
// gin.Context,封装了request和response
r.GET("/", func(c *gin.Context) {
c.String(http.StatusOK, "hello World!")
})
// 3.监听端口,默认在8080
// Run("里面不指定端口号默认为8080")
r.Run(":8000")
}
版本兼容性问题,降级到 gin@1.7.2 即可解决问题。
当前最新的版本为1.7.5
降级方法:
go get github.com/gin-gonic/gin@v1.7.2
原创文章,转载请注明出处:
http://30daydo.com/article/44289
收起阅读 »
golang文件操作之 移动文件
package main
import (
"log"
"os"
)
func main() {
oldLocation := "/var/www/html/test.txt"
newLocation := "/var/www/html/src/test.txt"
err := os.Rename(oldLocation, newLocation)
if err != nil {
log.Fatal(err)
}
}
原创文章,转载请注明出处:
http://30daydo.com/article/44288
收起阅读 »
2021-11-20 观点
2. 今年经济不是很景气,年末可能会有上市公司出现暴雷,还不起前,首先波及的是债券。 如果不及预期,证券市场一般以跌为敬。
3。 涌入了一批新人, 不看溢价率,看到正股涨,一股脑的往转债里面冲。
golang:为什么chan关闭了也无法接受到内容呢?
package main
import "fmt"
func main() {
ch := make(chan int)
ch <- 1
close(ch)
n, ok := <-ch
if !ok {
fmt.Println("Error")
}
fmt.Println(n)
var input string
fmt.Scanln(&input)
}
实际程序死锁。
有人问,chan close后不会可以被读取到了吗?
但是实际程序运行到:
ch <- 1
这里, 已经被阻塞,导致报错,无法接下来的close操作。
加入打印信息:
package main
import "fmt"
func main() {
ch := make(chan int)
fmt.Println("start")
ch <- 1
fmt.Println("next")
close(ch)
n, ok := <-ch
if !ok {
fmt.Println("Error")
}
fmt.Println(n)
var input string
fmt.Scanln(&input)
}
实际只打印到start, next那个已经不输出了。
:!go run channel_close.go
start
fatal error: all goroutines are asleep - deadlock!
goroutine 1 [chan send]:
main.main()
/home/admin/git/GolangLearning/helloworld/channel/channel_close.go:8 +0xa8
exit status 2
shell returned 1
正确的修改:
package main
import "fmt"
func main() {
ch := make(chan int)
go func() {
fmt.Println("start")
ch <- 1
fmt.Println("next")
close(ch)
}()
n, ok := <-ch
if !ok {
fmt.Println("Error")
}
fmt.Println(n)
var input string
fmt.Scanln(&input)
}
创建了一个免费的Go知识星球社区,欢迎加入一起讨论吧
收起阅读 »
鹏华全球高收益债 与 鹏华全球中短债 同一个基金的姐妹基金暴雷
2018年末鹏华全球高收益债持有人户数为25445户,比成立时增长了10倍
购买过鹏华全球高收益债的基金账户数已超16.52万
投资者平均持仓鹏华全球高收益债302.21天
持仓鹏华全球高收益债的客户中,60岁以上的客户平均收益最高,姜还是老的辣
持有鹏华全球高收益债的客户账户平均资产为54140.93元
共有20413位客户定投过鹏华全球高收益债,平均每人定投15.72次,平均持仓554天,平均盈利3315.71元
鹏华全球高收益债的平均复购间隔时间仅为8.68天,复购率为69.43%
因“申购费率优惠”共为鹏华全球高收益债投资者节省了3318万元,最精明的个人客户共节省了118万元的申购费
持仓鹏华全球高收益债的客户中,60岁以上的客户平均收益最高,姜还是老的辣。
惨了,这些老年人的退休金就这样打水漂了哦。
买的地产债,暴雷,实属也无奈。
现在也可以抄一些低,最好分批,因为不知道后面会不会继续跌。 收起阅读 »
vim NERDTree 目录刷新 快捷键
只要按下 r 键就可以刷新文件列表
国金证券可转债转股怎么操作
如果溢价率为负,且其值越大(绝对值),比如 溢价率为-5% 的时候
具体溢价率可以参考集思录。
这个时候进行对可转债进行转股,也就是相同金额的可转债换成股票, 当天就可以盈利5%。
不过还得要第二天早上卖出,才能落地为安。 一般如果溢价率为负的越大,比如-5%, 这情况下,第二天对应的正股会承受很大的抛压, 所以经常会低开。 也就是实际情况下,一般是吃不到5%,不过也不会亏。就看赚多赚少。
所以在负溢价很大的情况时,在当天收盘前需要进行转股操作。
而对于国金而言,其手机app 佣金宝 是不支持转股操作的,并且其默认的PC端软件 国金独立交易 ,也是不支持转股操作的。 这一点,之前已经问过其官方客服了。
唯一可以进行转股的,就需要 国金金太阳至强版 , 在官网可以下载的,别在其他地方下载盗版。

在软件的交易菜单下,有一个可转债业务,里面就有一个转股的功能,这个时候只需要把可转债的转股代码填入转股代码里面,数量随意填个很大的数,比如99999张, 那就可以在收盘后正常转股了。
晚上交割后,你的账户里面就会出现对应的正股了。 第二天开盘就可以卖啦。
如果需要国金万1.5开户的,可以扫码联系。费率比官网的万2.5要便宜很多
可转债费率是百万分之5。

收起阅读 »
“大V带货”、“大V引流”迎来监管规范 , 万一免五何去何从?
比如b站上充斥着大量的开户广告:

监管通报要求,证券公司作为持牌机构,要坚持“回归主业、突出专业”的基本要求。一方面,如法律法规有明确要求,应做到严格守法,按规定要求展业;另一方面,即使法律法规没有强制要求,也要从专业机构角度审慎评估,主动维护自身和行业形象,保护投资者和客户的合法权益。
具体来看,监管要求主要包括三个方面,一是“大V”引流开户给奖励不符合监管规定,证券公司不得开展相关合作;二是证券公司组织工作人员公开发表言论应符合规范要求;三是证券公司应强化组织外部人士发表评论的管理。
此前,多地基金公司和基金销售机构相继收到了当地证监局下发的《关于规范基金投资建议活动的通知》,一些基金“大V”的投资组合也从各基金销售机构下架,仅保留了赎回功能。
监管关注到两类券商与“大V”的合作模式
机构监管情况通报显示,近期,在日常监管中关注到部分券商与“大V”合作开展网络直播、客户引流等活动,引发媒体广泛关注和报道,监管层对相关行为的法律性质进行了研究,明确了相应的监管要求。
通报内容显示,证券公司与“大V”合作有两种模式,一是投放开户链接模式,即通过微信“大V”投放开户链接,投资者通过点击开户链接转到相关公司开户页面进行开户操作。在付费方式上,主要是通过支付广告费的形式付给“大V”。该做法在形式上与开户数量不直接挂钩,但实质上仍是按照实施效果,如点击量、投放时间等付费。二是投资者教育形式的直播,如某证券公司与经济学家等知名“大V”合作开展直播活动,开展投资者教育,介绍投资理财知识,宣传公司品牌,对国家经济形势进行分析点评等。
监管要求,证券公司作为持牌机构,要坚持“回归主业、突出专业”的基本要求。一方面,如法律法规有明确要求,应做到严格守法,按规定要求展业;另一方面,即使法律法规没有强制要求,也要从专业机构角度审慎评估,主动维护自身和行业形象,保护投资者和客户的合法权益。
三方面监管要求
监管要求主要包括三个方面:一是“大V”引流开户给奖励不符合监管规定,证券公司不得开展相关合作;二是证券公司组织工作人员公开发表言论应符合规范要求;三是证券公司应强化组织外部人士发表评论的管理。
监管通知称,引流开户是一种客户招揽行为,属于证券经纪业务的一个环节。目前,监管仅规定了证券公司可以委托证券经纪人代理客户招揽活动,且证券经纪人应当是证券从业人员,并专职从事客户招揽和客户服务活动。互联网“大V”不属于专职从事证券经纪业务的证券经纪人,证券公司利用“大V”引流开户给奖励不符合监管规定,证券公司应停止相关合作。
此外,对通过“直播”等方式,配合开展内幕交易、操纵市场等违法违规行为,监管部门将“发现一起,查处一起”,绝不姑息。
四方面规范券商人士公开发表言论
监管通报要求,证券公司组织工作人员公开发表言论时,一方面禁止以直播的方式开展投资品种选择、投资组合推介等荐股行为。另一方面,证券公司工作人员通过网络直播等形式发表评论,应当保持客观、专业态度,主要聚焦经济形势分析、市场变动情况点评、经济数据解读等宏观层面,并严格遵循四方面要求。
一是确保信息来源合法合规、研究方法专业审慎。
二是坚守专业形象,不得使用低俗、夸大、诱导性、煽动性标题或者用语,不得通过着奇装异服、在特殊地点直播等方式博人眼球,不得盲目跟风炒作、人云亦云,一味追逐市场热点、吸引眼球。
三是对有关公开言论可能对市场产生的影响进行审慎评估,自觉维护市场正常秩序,防止诱导、渲染极端情绪。
四是充分发挥专业优势,引导市场树立长期投资、价值投资和理性投资的理念,促进市场稳定健康发展。
监管层表示,证券公司应进一步加强对证券公司工作人员直播展业的管理,完善内部管控机制,事前对直播内容进行把关,做好内容管理;事中对直播进行监测监控,遇有重大情况及时处理,避免产生不良影响;直播中出现违规情况的,及时启动内部问责机制。证券公司工作人员应当强化合规意识、树立责任意识,自觉维护个人、公司和行业声誉。发现问题的,严肃追究有关人员的责任,形成警示效应。
在证券公司外部人士发表评论的管理方面,证监会要求,证券公司组织社会知名人士、专家学者、经济学家等外部人士发表评论,应当加强内部管理,对所组织会议、讲座材料、嘉宾演讲内容、直播内容等做好事前审核工作,评论内容不得涉及对证券及证券相关产品的分析等投资咨询活动;同时充分揭示证券公司与外部人士的关系,并要求外部人士不得以证券公司名义发表评论或对外展业。
证监会表示,将持续关注证券公司与“大V”合作有关情况,针对新情况新问题,不断完善监管要求。一方面鼓励支持“专业人士,通过专业方式,说专业的话”,为首席经济学家专业发声创造更好地环境;另一方面严厉打击借直播之名,行违规之实的行为,维护行业发展的良好生态,如果发现公司存在违法违规情况的,将依法采取监管措施,严厉追究相关违规机构和个人责任。
知乎上各种变相开户广告:

个人预测,后面的各大导流网站大户,比如b站,知乎,抖音的,会大规模下架对应的视频或者直播作品。
不过本小破站应该还是不受影响,目前还可以提供万一免五哦,本人可是合规券商服务商。 如果担心,那么尽管去券商的官网开户【佣金费率吓死人,清一色的万2.5哦】
不信看看官网:
比如国金佣金宝

还有广发:

而上面这两家在本人这里开户的费率是多少么? 万1.2全包哦!之前广发还能免五。
更多券商低佣开户 可以联系:【支持多个券商】
收起阅读 »
目前能用的 可以下载youtube 油管视频的方法 合集 亲测
Subject: Discontinuation of Service in the United States所以这个网页下载的方法失效了。
April 16, 2020
Dear Savefrom User:
As you may have heard, our industry has been under strenuous attacks by certain US copyright holders. Because of these attacks, it has become financially impractical for Savefrom to continue to provide services in the United States.
Accordingly, Savefrom will be terminating its services in the United States as of April 28, 2020.
We thank you for your past loyalty and patronage and wish you health and safety during the present health crisis and beyond.
Very truly yours,
Savefrom
还有其他 可以使用的方法:
方法一 you-get
这是一个python库。
在github下载下来
默认github下载是很卡,且断断续续,具体原因,你懂的。
所以笔者提供一个镜像下载,代码也是最新的。
git clone https://hub.fastgit.org/soimort/you-get.git
运行上面命令即可。
然后下载过程就是切换的CMD命令行:
python you-get --debug https://www.youtube.com/watch?v=59a-XNPngrw
静静等待即可下载。

收起阅读 »
迅投QMT开户 费率足够低
QMT支持本地python接口下单,可以按照第三方的python库
这个是与Ptrade的最大的区别.
QMT支持的品种,股票,可转账,基金,ETF等
开通条件很简单, 开通指定的券商,然后申请开通该券商的QMT使用权限即可! 不收取额外的费用.
需要开户后, 银转证入金30万, 保持3天左右就可以开通.

具体费率如下:
股票: 万一免五
可转债: 沪市 百万分之2, 深市 十万分之五 , 最低起步价0.1
基金LOF: 万0.5 没有最低起步价
因为Ptrade的开通条件和QMT是一样的,而该券商同时提供PTrade和QMT的接口,所以本人是强烈建议大家一起把这两个接口功能给开了. 到时想用哪个就用哪个.
最新更新
PS: 现在开户只能二选一了,如果要两个一起开,有高多一点的资金要求。
需要的可以加微信咨询:

备注:qmt
或者想要加群学习的也可以加上面的微信号。
收起阅读 »
golang中chan 无缓冲和 chan有缓冲 长度size设为1的区别
无缓冲情况下,一把数据放入chan,如果没有其他协程取数据,接下来的操作是阻塞的
而在size=1的情况下, 第一个数据放入chan后,并不会马上阻塞,接下来的操作还是可以进行的。
看下面的代码 f1和f2的区别
package main
import "time"
func f1() {
ch := make(chan int) // no buffer
go func() {
ch <- 0
println("out of routine")
}()
println("f1 start")
time.Sleep(time.Second * 3)
<-ch
println("End")
}
func f2() {
ch := make(chan int, 1) // size =1
go func() {
ch <- 0
println("out of routine")
}()
println("f1 start")
time.Sleep(time.Second * 3)
<-ch
println("End")
}
func main() {
//f1()
f2()
}
f1 最后不会输出End, 而f2则可以输出f2
创建了一个免费的Go知识星球社区,欢迎加入一起讨论吧
收起阅读 »
go中的rand.Int() 为什么每次返回的都是同一个值,并不是随机?
package main
import "math/rand"
func GenRandom() chan int {
ch := make(chan int, 10)
go func() {
for {
ch <- rand.Int()
}
}()
return ch
}
func main() {
ch := GenRandom()
println(<-ch)
println("end of main")
}
返回的永远都是
5577006791947779410
原因是每次没有调用rand.Seed(xxxx), 导致随机种子都是 1 。 见官方文档
Seed uses the provided seed value to initialize the default Source to a deterministic state. If Seed is not called, the generator behaves as if seeded by Seed(1).
所以如果想要每次随机值不一样
需要用时间戳作为随机种子
func GenRandom() chan int {
ch := make(chan int, 10)
go func() {
rand.Seed(time.Now().Unix())
for {
ch <- rand.Intn(200)
}
}()
return ch
} 收起阅读 »
twitter视频地址是动态变化的
需要保证在一段时间内下载下来,不然404.
删除ubuntu snap上旧版本的app 节省硬盘空间
snap list --all

然后可以选择保存下面的作为一个脚本,清理不必要的老版本的app应用
笔者已经试过的,放心使用.人畜无害.
#!/bin/bash收起阅读 »
# Removes old revisions of snaps
# CLOSE ALL SNAPS BEFORE RUNNING THIS
set -eu
LANG=C snap list --all | awk '/disabled/{print $1, $3}' |
while read snapname revision; do
snap remove "$snapname" --revision="$revision"
done
持有封基老师文章合集 word版【包含公众号所有文字】

用程序爬取的数据,不得不说,封基老师从18年开始写文章。坚持每天写一篇。
里面有不少理念都是很适合上班族的。
文章是word版

下载地址:
链接:https://pan.baidu.com/s/1EZwJ6tsFiS92ftAdeNKWDw
提取码:dcp4
收起阅读 »
敬畏市场 市场里没有永恒的圣杯
实际上发力时间是在6月中旬
腾讯云几十块一年的服务器只能拿来做玩具
但是做活动,几百块买了几年的。实际用下来,体验就是垃圾。
用sftp,下载文件,然后ssh就无法通入。
系统完全卡死了。







