2019-12-26lesson.md

Dec 26, 2019

curl

简单post

参考

curl -d "key=value&key=value" http://localhost:3000

如果登录后网页被重定向, 而我们想追踪这个重定向可以加上-L

curl -L -d "key=value" http://localhost:3000

登录时保存cookie、请求时发送cookie

  1. 登录得到cookie 同时保存cookie 至一个文本中: -c savepath

    curl -c cookie.txt -d “key=value” url

  2. 携带信息请求: -b savepath

    curl -b cookie.txt url

模拟表单上传

curl -F "media=@hellocurl.zip" "media=@hellocurl1.zip" "file=@hellocurl2.zip" http://localhost:3000

如果还携带参数:

curl -F "media=@hellocurl.zip" -F "key=value"

curl -X PUT -F "url=www.baidu.com10" -F "time=1212" -F "content=dfdfdf" -F "title=oooooo" -F "username=aker" -F "html=@/Users/aker/Desktop/22.html"  http://localhost:3000

其他参数

-v: 查看请求的整个完整过程

-i: 查看请求头信息

-o: 保存相应结果到指定路径的文件中.e.g. curl -o tmp.txt http://www.csdn.net

ts-node 断点调试

参考

launch.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "启动程序",
"args": ["${workspaceFolder}/src/index.ts"],
"runtimeArgs": ["-r", "ts-node/register"],
"internalConsoleOptions": "openOnSessionStart",
"protocol": "inspector"
}
]
}

国庆的需求

爬github 的

  1. 关键字(如 go)搜索数据
  2. 根据sort 条件BestMatch == 0/MostStars == 1/RecentlyUpdated == 2 排序
  3. 拉取前10页数据
  4. 爬下来之后,将文件写入本地文件:/src/package/关键字+” “ + “2” + “ “ + “第x页.csv”。(如:go 2 第1页.csv, 2就是你使用的排序规则)
  5. 每个条目格式:
1
2
3
title,url,content,starNum,category,time
golang/go,https://github.com/golang/go,The Go programming language,63.9k,Go,Updated 1 hour ago
datasciencemasters/go,https://github.com/datasciencemasters/go,The Open Source Data Science Masters,13.3k,null,Updated on 25 Jun

csv 第一行是每个column,中间用”,”分开.

下一行开始就是各个数据,依次填写。无的话填”null”.

学习golang

golang 刚开始学习和node 舒服程度不一样, go 还需要配置环境。

我先记录一些,而且可能还有不正确的地方,往后有机会回头修正。

首先下载golang 这里下载特别慢。

我是去golang.cn.dl 下载,同时使用wget 下,特别快!

wget https://dl.google.cn/go/go1.13.1.darwin-amd64.tar.gz

tar -C /usr/local -zxvf go1.13.1.darwin-amd64.tar.gz

vim ~/.profile

添加以下到~/.profile

1
2
3
4
5
6
7
8
export GOROOT=/usr/local/go # 代表go程序环境位置
export PATH=$PATH:$GOROOT/bin # 将go 执行文件加入到PATH 中
export GOPATH=$HOME/gowork # 指定go 开发目录
export PATH=$PATH:$GOPATH/bin

# go proxy
export GO111MODULE=on
export GOPROXY=https://goproxy.io

source ~/.profile // iTerm2 环境也一起有了

go mod init demo && echo $GOPATH && cd $GOPATH

renew ssl manually

acme.sh --issue -d wpn.iahuang.com -w /home/wwwroot/sCalc

cd ~/.acme.sh/

mkdir -p /sslCert

acme.sh --install-cert -d wpn.iahuang.com --key-file /sslCert/VVVVVV.key --fullchain-file /sslCert/VVVVVV.crt --reloadcmd "systemctl restart nginx"

然后完成了.

github 的静态网页 添加adsense 总是失败

之前使用亲人账号adsense 放了广告,嫌麻烦想使用自己的账号。但是老是报有价值的广告资源:没有内容.

不会啊,网页、手机端都是显示的。

之后查了下,有篇内容说到: 如果之前有账号绑定,需要先注销才能使用新的。

然后登陆亲人账号,把对应的id 填写进去后,就正常了。

go vscode debug

https://segmentfault.com/a/1190000018671207

1
2
3
4
5
6
7
8
9
10
11
12
{
"version": "0.2.0",
"configurations": [{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${fileDirname}",
"env": {},
"args": []
}]
}

新的需求

我有个朋友系列。

他很喜欢漫画,但是看腾讯漫画的时候,要一层层的点击,最后才知道最新的漫画出来没有。

现在你要做:

  1. /comic/comicInfo/:cId/:page

采用尸兄漫画地址: https://ac.qq.com/Comic/ComicInfo/id/17114 为他展示所有的章节

比如他调用了 http://localhost:9999/comic/comicInfo/17114/page (page=[01234567890]{1,3}||page = null)

你即去查本地数据库是否有数据;

没有的话:腾讯漫画尸兄的所有章节拿下来,存数据库,返回他对应要的章节的20个块

(比如总章节478,用户调用了 http://localhost:9999/comic/comicInfo/17114/4 ,那请返回尸兄的第60~80章节)。

  1. /comic/comicDetail/:cId/:cdId

用户调用了 http://localhost:9999/comic/comicDetail/17114/84

说明用户想看某章节漫画了

你即去查本地数据库是否有数据;

没有的话:那就查询那章节对应的网页地址,使用axios 将其下载下来。同时使用cheerio 将里面[核心观看的html] 拿下来保存到本地,组装成新的网页,发送给用户该新的页面;同时下载里面所有的图片为本地图片(替换[核心观看的html]),然后上传本地资源到OSS(替换[核心观看的html])

记录修改coffeeScript await is not defined 报错

代码中使用官网推荐的await 语法。但是打包的时候总是失败await is not defined

查看其他同样项目使用的coffeeScript 都没有使用await 语法,所以当前对比不出来。

同时相同的结构,本地运行没有问题,打包有dist 目录代码由问题;同时打包的之后,本地的代码又有问题了。

这时查看了下转义的代码: await 语法糖 变成了方法调用其他对象了: await(xxxx)

怎么会这样,查找coffee 仓库之前不理解的现在理解了:肯定是转义的库本地太低的原因。

然后找到gulp-coffee,其版本升为3.0.0 之后果然就解决了这个问题了~

白白浪费我3个小时。

js setInterval 的坑

如果setInterval 调用方法 是一个异步,多个io 操作的方法,可能出现CPU 被大量占用的情况下,导致调用方法会进入多次。

比如【网镜】在轮训任务时,做了一系列的操作,好多次io,可能已经过了1s。这时又进入interval,导致有些轮训操作同时进行了(当时的反应是CPU、内存升高,毕竟页面多load 一次,且没有去释放)

解决方案:

  1. setInterval 调用方法完成时设置一个Boolean 变量标识。如果要进入调用方法,Boolean 标识不对,return

  2. 使用setTimeout, 调用方法完成时,才开始下一个调用方法

新的修改要求

首页增加一个总入口: 【学习】

学习类目下,分为【博客】、【编程】、【论坛】section分类。

  1. 博客 section 分类点击展开【美团技术团队】、【LaTeX】

  2. 编程 section 分类点击展示【掘金】、【开发者头条】、【技术头条】

  3. 论坛 section 分类点击展开 【V2EX】、【Dcard】、【看雪】

以及点击进去的内页

记2019/11/16 团建活动

上周已经确定,在16号大家一起约一下去搞个团建。节点刚好是我们组的4个产品都完成,刚好火眼组也是节点,就一起去玩。选的不远不近,大部分同学都刚好,有几个哥们实在太远或者有事,便没有一起。

我手上的产品,本也应这周做完,然而上周增加几个需求、修改之前的几个完成思路不对的功能、完成某个麻烦的功能,时间到了周五却还是没能及时,不过我真的尽力了,哈哈。我的习惯是,尽量争取时间学习,不管如果都要学各种各样的玩意。为了手上的产品,这几个月全力冲刺,心里完全想着给他整的尽善尽美。

周五那天紧赶慢赶还是未能完成,心里急忙,但尽力也无遗憾。然后那天开OKR 会时,喝了杯咖啡奶茶,然后整个人都懵了。开会内容大家讨论进度,我的进度也是OK,只能下周好好完成来。开完会,我点了公司晚饭,然后饭没了(去晚了有时饭就被拿了,因为有时有同学让别人帮忙点,有时忘勾选,晚上却还是拿饭吃了,没事没事,下次去早点好了),那就早点回家吃吧。回去顺便送学弟回家,他说迷迷糊糊,身体不舒服。

当晚回家吃饭,然而整个人开始极度萎靡,草草吃了兰州拉面就回房间。立马开全家集体视频,因为整个人极度不好,呼吸不过来,我感觉我要死了,赶紧想看看我的家人们。坐在凳子上好久,才缓过来一丢丢精神,打个一局游戏缓解下。一局下来就是12点了,赶紧睡觉,第二天,还是要去团建。

晚上睡的时候,整个人很冷,手在发抖,脑子一直滞胀,很难入睡。能偶尔感受到突然来得困意,赶紧抓住那种感觉,浅浅眯上一会。一晚就这么过去了,一会浅睡一会醒转,睡得很浅,起身还是满身疲惫。

上午吃了个早点,11点出发。从古美路到上海辰山植物园,骑着电驴!

满电的电驴骑了30+x 公里终于到达目的地,这时已经是12点45了,1点集合。想到晚上还要走30公里,电驴受不了,听得3号门有充电,赶紧屁颠屁颠骑过去。发现居然是免费充电,美滋滋,然后当天大太阳走回了1号门,大概800多米。

集合时,伟哥几人拎着个大箱子,里面是之前准备的零食和活动器具。大家入园,我都是一路帮忙扛箱子,进去出来。路上大家帮忙拿箱子的东西,只剩空箱子,他们准备丢掉,我说别丢,等会说不定有用处。果然,用来集纳物品太好用了。

我们一群18人在入口往左走,来到一个湖旁边空地。开始进行此次的活动啦。

首先大家都是很多也都是不太熟悉的,于是先有个叫破冰行动。大家围成一圈,各自介绍自己的名字。然后小橙子掏出几个毛绒玩偶,让大家投掷玩偶到对方能叫名字的。我最难的事就是记人名。我忙朝着认识的几个同伴将刚丢过来的玩偶反丢回去。接着,小橙子将二组的最新进来的同学,叫所有同伴的名字,输了就抽签,做任务;接着一组也有几人进行一一识别,输了少喊几人名字就做多几个任务。我幸好躲过啊,我记名字简直是噩梦,即使我很努力记了。可能人比较蠢吧。

接下来我们分好队,有红队、蓝队、黄队,穿上小马甲区分,我是红队。同时起好队名,我们叫”随便队”。

首先第一场是 “我爱你,不要脸”。

规则是可以对左边说我爱你,对右边说不要脸,但是对话最多只能三次。然后一大帮男生,最后只剩下唯三个女生(小橙子做裁判没参与)。女生感情方面果然是天生的。最后剩下的两位使用猜拳头方式决出胜负。最后我们对胜出,得到重量级选手”春哥一位”(他最后才赶到)。

第二场是 传面粉,看最后杯里的面粉谁最多获胜

红队最先,首先春哥把面粉传给我,大家嘴上叼着一个卡片,我再把面粉传给下一位,然后下一个再放到杯子里。传两轮。
然后别的队伍居然有游戏黑洞,笑场了,少了很多面粉,就这样赢了、、、奖品是一份零食大礼包

第三场是屏幕露脸

大家在倒数时间在镜头露脸。镜头会左右,上下,可以遮挡对方的脸。最后露脸的多,几场下来赢得获胜。比较逗的时,伟哥被挤到最后面去了,居然跳的老高,隔了4排还露脸了。我作为中锋,在最前排卡位,然后收效甚微。这场黄队第一,获得零食大礼包一份。

第四场 是组合游戏: 第一人原地转10圈,然后跑到对面取得跳绳回来,第二名队员跳绳20下,第三名队员拉着袋鼠跳袋子跳到对面取得气球回来,第四名队员赶紧吹气球,然后跟第三名用肚子压破,然后第五名队员腰间绑着装着球的盒子,让球全都从一个孔里面出来,就完成了。

讲解的时候,小橙子把绳子放到对面不远处,我说我去看着。然后讲解的时候,我想,我可能等会也会参与,于是拎着个跳绳就过来了聚精会神听着。然后听完转头回去,咦原来地上其他两根跳绳不见了。估计被扫地阿姨拿走了,这真的是拿!算是偷。当时我正要过去听讲时,确实身边有俩扫地阿姨。大家稍微附近问了问,找了找,没得。算了,活动还在进行,幸好我手上还有一根,算是庆幸。由于活动需要5人,有俩队人数有6人,我被分派管理随身物品,另一人管理跳绳和气球。

红队已经巨快的完成了,没想到还有更快的蓝队。蓝队中间拿到跳绳时,跳绳打结,花了4、5s。但是看绳子、气球的是他们队友,在前往对面获取物品时,别的队伍都是弯腰,他们是抬高高拿着就走,哈哈。多争取了几秒,不过他们确实快了写,特别是最后喜顺在将盒子的球抖出来的速度取得了巨大优势。(黄队由于上一局第一,在抖出球时,速度太慢,他们队友把抖球队友的腿抓起来帮忙,抖球队友是俯卧撑姿势,这就很像推车了,然后收效还是甚微,输了)

接下来是自由时间,同时还有一个任务,就是撕名牌。以个人为单位。我们先把物品搬回到入口处附近,那里刚好有很大个草坪。小橙子在那里看着物品,等大家回来。大家自由活动,我们队大家结队去玩,往右走。这一队里,大家都放心把背后留给队友。

大家往右边走去(其实是反方向旅游),看了看周围植物景观,走了好远的路,还经过石头镇,绕回来经过小树林来到上观景台山脚。大家一起说说生活,讨论讨论未来。伟哥说他老婆是不太鼓励他在上海,太贵了,他们已经在老家(济南)全款一套;春哥在老家(武汉)一套,租的话也不是特别理想(毕竟新房给人住,上海租房还得垫钱,比如武汉2000租金,上海随便租也得2500左右了)。我说老房子其实也是还是可以的,稍微小点,可以稳当点留下来。女生说,不如郊区点,位置大点,如果有家人、孩子,厅还可以做做运动。伟哥说,老房子,价格不那么高的,基本都是很早年建的,基本没有停车位,车子停哪都不是,绝对不考虑,难道车子停马路边啊(非常同意,不过相对于米不够的情况,估计车子都没有,哈哈);另一方面前期能咬牙买2室的,一定尽可能蹭一蹭,不然到时置换就很难了,毕竟70%首付。

也聊了聊老婆、老婆个数。嘿嘿,,,我想。。。不,你不想,,,

然后大家找了条上山的路,然后很陡,猜是下山路没错了。路上听得一阿姨说,今天怎么了,遇到传蓝马甲的,现在又有红马甲的。喔,我闻到了蓝队的气息,在山顶没错了。

大家上得小山坡顶,就见到4个蓝队,本着和平共处原则,他们也待一会下山了。山顶没啥,就一小塔,小塔关着门。休息了会,咦,来了俩黄队的,不过放过他们了,我们这队6人,他们压力很大呀。观景台能看到的,其实就是矿坑,被挖了好大一个坑,下面的水都是黑色的了。中间有个木桥,不过中心处断了,于是那处也进不去了。

下山的时候也是一下就到了。时间也差不多,就都往入口方向走去了。

回到集合地点,先吃零食,中午就吃个小饼干,饿得很。接着边上有个大草坪,于是就真的开始撕起铭牌来啦。我胖的都跑不动了,指甲忘记剪短,导致还受伤了,最后弃权,嘿嘿。

晚上大家去附近一个地点吃,出发的时候,伟哥带了我一程,我走过去景区另一出口有点远,然后他又反向开去了。

车子充的饱饱的,晚上那么远,骑了好久好久终于回到了熟悉的路段,外边冷,家里暖。

头很晕的回来,早早睡觉,才知道喝的奶茶相当于4杯咖啡提神量,不怎么喝咖啡的人,一口气喝那么多,确实懵逼了。

第二天睡一觉,好很多了,原来我还没有挂,嘎嘎。