博主的自我介绍篇
Posted 啊苏要学习
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了博主的自我介绍篇相关的知识,希望对你有一定的参考价值。
目录
前言:
大家好,在CSDN这个大家庭里,已经写了五篇博客但还没有正式地做个自我介绍,本篇就来介绍介绍我自己吧。
1.基本信息
本人姓苏,性别男。老家在广东汕头,是一名潮汕人,目前就读于广州从化区一所双非本科院校,是一名大一编程小白。
2.开始学编程的时间
这要从大一上学期的寒假说起,也就是2023年1月份的时候,当时是在b站大学上看鹏哥C语言,看着看着就慢慢融进来了,致力于成为能够独当一面的编程人员,到目前为止学了三个月的时间。
3.学编程的契机
在校的时候职业生涯规划课需要写职业生涯规划书,在写目标职业的时候也曾犹豫,犹豫着自己要往哪方面发展,要当什么、要做什么,具体是如何在规划书的目标职业上写上程序员的,我已经不记得了,也许我与编程有缘也说不定,就这样,后来在钉钉ppt演讲我的职业生涯规划书的时候(当时返乡了),感觉还良好,后来思考着,既然规划书和ppt上都是这么写的,那不管以后要不要当程序原,先看上计算机视频吧~,1月11日,开始了我的"Hello world"。
4.每天所做的编程事
目前,基本都是带着电脑来到图书馆,看书C++ Prime Plus这本书,看完就写博客,一待就是小半天,即使学校课程有课,上完就回来,风雨无阻,看书,敲代码,写博客成为了我的日常,目前还没有开始刷题,有点畏惧。。 以及看CSDN上很多博主优秀的文章,扩充和巩固自己的知识,还有就是上b站大学。
5.兴趣爱好
本人兴趣爱好广泛,喜欢听歌,喜欢体育运动,打篮球,打乒乓球,跑步,以前还喜欢看番,现在少看了,只有追一两部,因为现在出的不是很符合我的口味。
6.目标
无目标也就无信念,无信念也就没有执念。在编程学习路上,从什么都不懂,到初入茅庐,我的视野也开阔了许多,目标更清晰,并且感觉在接近,虽然每天过的都很累。希望有一天我的眼睛里能看见“未来”,也就是目标可视化的境界。我的目标是:在大二下学期找到实习
首先,在3个月时间里,努力学C++,复习C,以及每天上传gitte和github,和保证一天一篇博客。
然后,学习数据结构、理解算法,疯狂刷题,我已经预感这部分对我来说就是煎熬了。刷题从此阶段开始伴随我的整个编程学习过程。
接着学习linux系统编程和网络协议、网络编程。
以及在十二月份报名蓝桥杯,期望能拿个奖吧,哈哈!
最后在明年六七月份找到实习,这就是我的目标,加油吧,啊苏要学习。、
感谢CSDN这个平台让我们相聚于此!
对了,本人写博客喜欢用的颜色是蓝色、紫色和绿色,还有黑体,如果看过我前面几篇,就能get到了,哈哈。
抽奖送书有“黑幕”?!揭晓“黑心”博主的抽奖“黑幕”!顺便评论区再抽一位送中秋礼物!
前情回顾
- 🎉上周一发布了一篇博客,只要点赞、评论就能参与抽奖送书!
- 🎉这次让我们来看看这位博主是怎么抽奖的吧
- 🎉点赞 👍 收藏 ⭐留言 📝 即可参与抽奖送中秋礼盒🙉
- 🎉文末可领取源码~✨
详情可以点击链接 《机器学习入门:基于数学原理的Python实战》
所以今天带大家来康康,博主是怎么抽奖哒~
康康有木有传说中的黑幕
1. 如何获取评论名单?
按下F12
查看列表,很快就能找到这些评论的链接了~
所以我们需要先获取这个列表的评论信息
- 首先使用
&http.Client{}
创建一个客户端的请求 - 然后再通过
NewRequest
进行发送POST
请求
client := &http.Client{}
reqSpider, err := http.NewRequest("POST", "https://blog.csdn.net/phoenix/web/v1/comment/list/120067923?page="+p+"&size=10", nil)
if err != nil {
log.Fatal(err)
}
reqSpider.Header.Set("content-length", "0") // 书写请求头
reqSpider.Header.Set("accept", "*/*")
reqSpider.Header.Set("x-requested-with", "XMLHttpRequest")
respSpider, err := client.Do(reqSpider) // 发送请求
if err != nil {
log.Fatal(err)
}
defer respSpider.Body.Close()
bodyText, err := ioutil.ReadAll(respSpider.Body)
if err != nil {
log.Fatal(err)
}
- 由于
go语言
转json格式
没有那么方便,所以我们必须自己使用进行反序列 - 所以要自己写一个结构体,推荐一个StringToStruct的网址,百度就行了!
type Result struct {
Code int64 `json:"code"`
Data struct {
Count int64 `json:"count"`
FloorCount int64 `json:"floorCount"`
List []struct {
Info struct {
ArticleID int64 `json:"articleId"`
Avatar string `json:"avatar"`
CommentFromTypeResult struct {
Index int64 `json:"index"`
Key string `json:"key"`
Title string `json:"title"`
} `json:"commentFromTypeResult"`
CommentID int64 `json:"commentId"`
CompanyBlog interface{} `json:"companyBlog"`
CompanyBlogIcon interface{} `json:"companyBlogIcon"`
Content string `json:"content"`
DateFormat string `json:"dateFormat"`
Digg int64 `json:"digg"`
DiggArr []interface{} `json:"diggArr"`
Flag interface{} `json:"flag"`
FlagIcon interface{} `json:"flagIcon"`
LevelIcon interface{} `json:"levelIcon"`
NickName string `json:"nickName"`
ParentID int64 `json:"parentId"`
ParentNickName interface{} `json:"parentNickName"`
ParentUserName interface{} `json:"parentUserName"`
PostTime string `json:"postTime"`
UserName string `json:"userName"`
Vip interface{} `json:"vip"`
VipIcon interface{} `json:"vipIcon"`
Years interface{} `json:"years"`
} `json:"info"`
PointCommentID interface{} `json:"pointCommentId"`
Sub []interface{} `json:"sub"`
} `json:"list"`
PageCount int64 `json:"pageCount"`
} `json:"data"`
Message string `json:"message"`
}
把这个复制到网址上就能生成结构体了
- 然后对返回的数据进行序列化就行了。
- 然后把所有评论的人放在一个列表当中。
var result Result
_ = json.Unmarshal(bodyText, &result) //byte to json
num := len(result.Data.List)
commentList := result.Data.List
for i:=0 ;i<num; i++ {
var luckPerson LuckyPerson
luckPerson.UserName = commentList[i].Info.UserName
luckPerson.NickName = commentList[i].Info.NickName
tmp = append(tmp, luckPerson) // 存放每一个评论的人
}
- 但是我们要进行一个去重的操作!
func removeRepByMap(slc []LuckyPerson) []LuckyPerson { //去除重复的元素
var result []LuckyPerson //存放返回的不重复切片
tempMap := map[LuckyPerson]byte{} // 存放不重复主键
for _, e := range slc {
l := len(tempMap)
tempMap[e] = 0 //当e存在于tempMap中时,再次添加是添加不进去的,因为key不允许重复
if len(tempMap) != l { // 加入map后,map长度变化,则元素不重复
result = append(result, e) //当元素不重复时,将元素添加到切片result中
}
}
return result
}
到目前为止,我们就拿到全部的去重评论名单啦!
准备抽奖!
2. 如何抽奖?
采用随机种子进行随机选取
func lottery(totalPerson []LuckyPerson) LuckyPerson { // 抽取中奖选手
rand.Seed(time.Now().UnixNano()) // 使用随机种子
index:=rand.Intn(len(totalPerson)) // 生成0到这个列表的长度的一个数字
return totalPerson[index] // 返回中奖选手
}
3. 开奖啦~
让我们看看是谁获奖了啦~
由于一缩再缩,只能缩小到这种程度才能看见抽奖全程。
直接截图吧~
4. 抽奖啦~
点赞
、评论
即可参与抽奖获得一个可可爱爱的神秘中秋礼物
哈~ ,
本周日晚上 (9月19号19:30进行抽奖哈)还不能告诉你哈~ 秘密!
最后
小生凡一,期待你的关注。
想要源代码
可以到我扫描下方,然后回复CSDN抽奖~
以上是关于博主的自我介绍篇的主要内容,如果未能解决你的问题,请参考以下文章