0%

从输入URL(www.google.com)到页面加载发生了什么?

1
2
3
4
5
6
1.DNS解析(网址 -> IP地址):DNS缓存:浏览器和操作系统。分级查询:本地DNF服务器,根域名服务器,com顶级域名服务器,google.com域名服务器 
2.TCP连接(三次握手)-> 为什么两次不可以?
3.发送HTTP请求
4.服务器处理请求,并且返回HTTP报文
5.浏览器解析和渲染页面
6.连接结束(四次挥手)-> 为什么三次不可以?

DNS解析流程:
6055764-8ca1c59f8c2da535.png

Read more »

1、有些FQ需要设置代理

设置你自己的IP和host

1
2
git config --global http.proxy 'socks5://127.0.0.1:1080'
git config --global https.proxy 'socks5://127.0.0.1:1080'

使用git config --global --list命令查看是否配置成功

移除git代理配置,可以用下面命令

1
2
git config --global --unset http.proxy
git config --global --unset https.proxy

2、.gitignore 不起作用问题的解决

1
2
3
git rm -r --cached .  
git add .
git commit -m "update gitignore"

3、解决Mac下SourceTree每次都让输入密码的问题

1、命令行进入项目目录,输入:
git config –global credential.helper store
2、在source tree更新代码,提示输入密码,输入一次后以后就不需要输入了

4、 Git 合并分支冲突解决过程

Step 1. Fetch and check out the branch for this merge request
git fetch origin
git checkout -b 2.5 origin/2.5 //临时分支
Step 2. Review the changes locally
Step 3. Merge the branch and fix any conflicts that come up
git fetch origin
git checkout origin/develop //目标分支
git merge –no-ff 2.5 //合并后解决冲突
Step 4. Push the result of the merge to GitLab
git push origin develop //上传合并后的分支

在解决完分支你可以会遇到错误,如下:

解决完的分支push报错

1、git cannot read property fullname of undefined
意思是说你push的分支是一个临时创建的错误冲突分支,你需要去设置head,如图:
右键点击

右键点击分支,create branch here,设置再进行push即可。

有一点需要注意的是: 比如分支A 和分支B 是从master分支出来的,那么你们 A被临时修改紧急BUG之后上线,那么A需要先跟master合并后再让A跟B合并,并解决冲突,这样子,能让master保持是上线的版本。

参考链接:
链接

iOS打包

1
flutter build ios --release

Android打包

1
flutter build apk

1.vscode 跑真机 Xcode报错dyld: Library not loaded: @rpath/App.framework/App

由于之前把APP.Framework 移除了,使用真机重新编译,后来手动导入时候没有加载。
image.png
把Embed状态改成Embed & Sign即可。

Read more »

内购的坑:
1、设计内购订单状态:游客购买(未充值到账户)、游客购买(已充值到账户)、登录用户购买
2、实现游客未登陆模式下购买逻辑,我的app是根据当前是否登录,如果没有登录,默认提取uuid作为订单的用户id,如果登录,用户id就是登录用户的id。
3、因为苹果提到了未登陆下也可以内购,然后提供给这个游客随时注册的方法,这里放在一起考虑就可以得出来结论,当已经产生内购的设备,有用户通过这个设备登录或者注册新用户,通过设备的uuid获取到之前游客购买(未充值到账户)的内购虚拟货币总量,直接充值进当前登录或者新注册的账户中,同时更改这部分内购订单的状态。
4、可以在内购充值的时候,弹个框仿照B站,提示说
登录账号(推荐,可在不同设备使用)
以游客身份继续(仅限当前设备使用)

注意下:使用uuid需要存储到系统中的keychain中,来保证以后每次可以得到相同的唯一标志。

最后加一点个人理解:内购这东西,有人说是绑定用户的appid,但是我通过设备绑定也上架了,苹果并不是强制要求内购绑定用户当前登录的appid,主要是需要让用户在不登录下能以游客方式进行内购!!!
因为并没有看到任何接口或者方法通过用户的appid可以查询到内购订单。
但是通过设备uuid的模式,确实可行。而且这样实现也比较简单,同时也做到了逻辑严谨。

1、使用缓存更新命令行
pod update –verbose –no-repo-update

2、解决 The sandbox is not in sync with the Podfile.lock. Run ‘pod install’ or update your CocoaPods install
方案一:
command+Q 退出 Xcode,重新执行pod install,之后再重新打开Xcode运行。

正常 方案一: 即可解决问题.

方案二:
稍微麻烦一点,删除以下文件:
xcworkspace
Podfile.lock
Pods文件夹
~/Library/Developer/Xcode/DerivedData路径下对应工程的文件夹
之后重新执行pod install –verbose –no-repo-update

方案三:(最简单)
1.找到项目根目录下的Podfile.lock文件,和Pods文件夹下的Manifest.lock文件
2.然后复制Podfile.lock文件的内容替换掉Manifest.lock文件内的内容,好啦,至此问题解决

3、pod 单独安装一个新添加的库
这将安装新项目而不更新现有的repos
pod install --no-repo-update

4、升级Xcode12.5,报错Showing All Errors Only Command PhaseScriptExecution failed with a nonzero exit code
原因:Xcode12淘汰了VALID_ARCHS,但是有些集成进来的第三方库还是有这个key,Xcode12模拟器已经用arm架构来编译项目,而link链接的还是x86架构,pod之前集成的还是以前的,直接重新集成,clean project

解除集成cocoapods
pod deintegrate
重新集成cocoapods
pod install
clean project
run project

注意,项目配置有VALID_ARCHS需要删除,不然真机没法编译过

5、Cocoapods报错:RuntimeError - [Xcodeproj] Unknown object version.解决办法
注意其中的错误提示:

1
2
### Error
RuntimeError - [Xcodeproj] Unknown object version.

版本的问题。只需要用Xcode打开项目,修改项目Project Format为XX即可,或者更新pod
image.png

Python 的简单爬虫 三种网页抓取方式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# coding:utf8 I
import urllib2
import cookielib

url = "http://www.baidu.com"
print '第一种方法'
response1 = urllib2.urlopen(url)
print response1.getcode()
print len(response1.read())

print '第二种方法'
request = urllib2. Request(url)
request.add_header("user-agent","Mozilla/5.0")
response2 = urllib2.urlopen(request)
print response2.getcode()
print len(response2.read())

print '第三种方法'
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
urllib2.install_opener(opener)
response3 = urllib2.urlopen(url)
print response3.getcode()
print cj
print response3.read()

打印

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
第一种方法
200
118090
第二种方法
200
118069
第三种方法
200
<CookieJar[<Cookie BAIDUID=6BEEEF7E1E24A2D831C6EBE1842863C2:FG=1 for .baidu.com/>, <Cookie BIDUPSID=6BEEEF7E1E24A2D831C6EBE1842863C2 for .baidu.com/>, <Cookie H_PS_PSSID= for .baidu.com/>, <Cookie PSTM=1533609482 for .baidu.com/>, <Cookie BDSVRTM=0 for www.baidu.com/>, <Cookie BD_HOME=0 for www.baidu.com/>, <Cookie delPer=0 for www.baidu.com/>]>
<!DOCTYPE html>
<!--STATUS OK-->
XXX 网页的内容
}
</script>

</body>
</html>

前言

利用业余时间读完了一本关于腾讯发展史的书籍,也算是中国互联网公司的进化论,写得很好,推荐阅读!

笔记我就不打算写了,唐巧的博客里面有写,我就记录一下
腾讯爸爸的历史 - 读《腾讯传》

一个简短总结
任何的成功,都不是那么容易的,需要经历挑战,困难,不断成长,吸取经验,才能走在最前沿!

前言

利用业余时间读完了一本关于幸福心理学的书籍,之所以看这本书,是在豆瓣读书看到的,评分挺高的8.8,备受感悟,我很少写读书笔记,这个作为一个开头吧。

内容简介(摘自豆瓣

1、10个有关成长的经典心理学问题深度探讨、12封咨询者来信与温暖解答,作者带领我们一起穿越内心的匮乏与不安,学会与自我和解。
2、在心理咨询领域一直有这样一个问题:为什么要把接纳自我当做一件非常重要的事情。其实,你有没有想过,为什么活在当下的我们,有越来越多的不满,越来越难感受到幸福?为什么会有自卑、焦虑、匮乏、敏感、拖延等等一系列的困惑?归根结底是因为我们越来越自我苛责,越来越难以接纳自我。其实真正的进步不是那么焦虑的自我怀疑,而是带着自我接纳体会进步的喜悦;真正的进步不是被对自己的不满和焦虑驱赶着,而是被美好目标吸引着;真正的进步都不那么着急,我们默默努力耕种,耐心等着它开花结果。如果我们真有病,我们也是带着症状投入地生活,相信成长会自然而然地发生。
3、就像,如果把追求幸福比喻为登山,登顶只是瞬间的事,而攀爬的过程却艰辛而漫长。我正爬我的山,你也有你的山要爬。有时候,你爬的那座山,我恰好也爬过。有时候你爬的那座山,我虽然没爬过,但从我所在的地方望过去,能够看到你攀爬的山上,哪里有路,哪里有坑。
我想指给你看。

作者简介(摘自豆瓣

陈海贤(动机在杭州),浙江大学心理学博士,中国临床心理学会注册心理师。曾在浙江大学心理中心任职,期间开设《积极心理学》的通识课,广受欢迎,被誉为浙江大学版的“幸福课”。
在知乎专栏撰写“幸福课”专栏,共有480491位关注者,是知乎2015年第一届盐Club荣誉会员。
现为独立执业的心理咨询师。致力于帮助敏感内向者找到幸福之道,同时帮助身处过渡期的人完成从旧自我向新自我的转变。

在读的时候我划了一些重点:(以下可能只有看过书的人才能明白😂, 你们可以忽略🤣)

感到安全时,人天生就有探索世界、接受挑战的冲动,这是我们做事的内在动机。但是,这种内在动机很容易被破坏。

不要为了努力而模仿努力

我说:“这句话是,当你再用这些词攻击自己的时候,记得要跟自己说:‘这些标签也不全是坏事,我用它们赢过钱。’”
“啊,是啊!”显然这句话出乎她的意料,她笑出声来。在谈话中,这是她第一次笑,气氛一下子轻松了。想了一会儿,她说:“很有趣。只是100块钱太少了,如果千儿八百,那印象就深刻了。”

“如果你说不出很多关于自己的负面词语,那很好,说明你并没有那么负面。”
“如果你说出了足够多的关于自己的负面词语,那也很好,你赢了游戏,还赢了钱。”

很多“拖延症”的学生,都面临类似的压力。他们有些是因为家庭贫困,也有些是因为父母对他们有很高的期待和要求。他们觉得,自己能把对物质生活的要求降到最低——“无论怎样的生活都无所谓,有口饭吃就行”。这不过是他们逃避压力时说服自己的借口。正是在拖延和逃避中,他们逐渐失去了改变的信心,不愿意再去面对、解决学习和生活中的问题。

对于大部分敏感内向者来说,他们真正敏感的,不是外界刺激,而是这种来自他人的评价,无论这种评价是出自事实还是来自想象。当敏感内向者环顾四周,总会发现周围的人正以苛刻的眼光盯着他们的一举一动,随时准备给他们差评。他们既想与人接近,又担心不被接纳,所以孤独地与人群保持着小心翼翼的距离。他们以为,他们的不安来自人群,殊不知,这些不安来自自己的内心。

很多人以为抑郁是那种撕裂般的“痛”,但其实很多时候不是。抑郁也可能是那种不好不坏、不快乐也不痛苦、想改变又不知如何下手的“闷”。

纵使落日转瞬即逝,也无法消解它那刻的美。

读后感:

看完整体下来,我感觉很多人的问题处于就是要么太安逸了,要么就是很平淡,要么就是不敢面对自己的缺点或者说是无能,当然这里还包括了性格等等。书本大部分我都能理解,可能自己有点感触吧。
每个人都有不足的地方,但是如果你没办法去改变,那只能去接受它,包容它,可要是一个期望目标,你把它降低,或者你也可以放弃,并不是所有的放弃都代表失败,偶尔的放弃恰恰能促使你的成功,这样你很多问题就能释然了。
在说下整本书的幸福,我个人理解,其实幸福很简单,可以去做你自己喜欢做的事,在简单点就是能吃到美味的佳肴,还有就是努力去实现自己目标的过程。每个人都说再找自己的幸福,追求幸福,大部分都因为没能在预期达到感到焦虑痛苦,或者是对自己当时的期望值很高,却迷失了自己,一直以为自己不幸福,必须达到自己的期望目标才能幸福,可是回过头,幸福其实就是在身边,注意生活中的细节,你能发现很多美好的瞬间与事物。

结尾

纵使落日转瞬即逝,也无法消解它那刻的美。留心去体会身边的美好~