0%

记录一下自己的Git使用总结

  1. 查看分支

    • git branch:查看本地分支
    • git branch -r:查看远程分支
    • git branch –all:查看本地和远程分支
  2. 删除远程分支

    • 待删除的远程分支不能是默认分支!! (一开始没注意到)
    • git branch -r -d origin/branch_name
    • git push origin :branch-name(注意冒号前面的空格)
  3. 删除本地分支

    • git branch -d branch_name
  4. clone下来的库,本地master会自动和远程库的默认分支关联

  5. 使用git branch -r -d origin/branch_name删除远程分支后再add远程分支出现错误:fatal: remote origin already exists.解决方案:

    • 先删除远程 Git 仓库 git remote rm origin
    • 再添加远程 Git 仓库 git remote add blablabla

$ git remote add origin git@github.com:FBing/java-code-generator

git 与 hexo

  1. 在hexo的配置文件中,远程地址采用ssh协议而不是http协议,会更快
    deploy:
    type: git
    repo: git@blablabla~
    branch: master

Intro

在Hexo中,markdown对语法非常敏感,一个空格都会造成文章的布局混乱,故开一篇文章专门记录自己使用过程中的心得
  1. 起初使用notepad++编辑文章,后来发现预览效果和真实显示效果不一样,所以换成了Visual Studio Code(vscode),非常容易扩展! F1→扩展:安装扩展→输入markdown 而且能够在不关闭vscode的情况下加载插件,虽然预览效果还是和真是效果不同,不过vscode的体验很棒,就用它了!
  2. 代码块由两个```构成,注意第一个 ```后面要写上编程语言,保险起见,代码块的收尾两行都不要加空格
  3. 编辑时注意缩进,否则可能造成序号显示不正确
    1
    2
    3
    4
    1. 查看分支
    + git branch:查看本地分支
    2. 删除远程分支
    + **待删除的远程分支不能使默认分支!!** (一开始没住到)

最近颇受编码问题困扰,所以稍作总结,附以代码说明

  1. 为什么需要编解码?

字符串以unicode的形式存在于内存中 ,但是unicode只是规定如何编码,并没有规定如何保存、传输这个编码,也就是说unicode不能直接写入文件或者在网络上传输,所以得通过某种编码使unicode变成连续的字节(bytes),同样地,对读入的数据解码,以unicode形式存在于内存中.
举例来说,在写python时,python语言处理的字符串就是内存中的unicode,写入到文件时得把unicode用utf-8,GBK等方式编码成连续的字节;用python从文件读入数据时,得用utf-8,GBK等方式把连续的字节解码成unicode.使用的解码方式务必要和编码方式一致

  1. python默认的编解码方式
    可以通过下面两行代码 (示例1) 获得,一般默认是ascii,本示例中就是对unicode用ascii编码为字符串,ascii不能表示汉字,所以输入汉字时就会报错 (示例2)

    1
    2
    3
    4
    5
    6
    7
    8
    #示例1
    import sys
    print sys.getdefaultencoding()
    #ascii

    #示例2
    print "搁浅"
    #SyntaxError: Non-ASCII character
  2. 如何print汉字?
    情况一: 在python中直接输入中文 (示例3)
    得让python文件支持中文,将python文件的编码格式改为utf-8,就是我们通常看到的 # -*- coding:utf-8 -*-

    1
    2
    3
    #示例3
    # -*- coding:utf-8 -*-
    print "搁浅"

    情况二: print指定编码的中文 (示例4)
    示例4报错,因为在对”搁浅”encode之前,先需要把”搁浅”解码成unicode,之后再用utf-8编码,那么问题来了,怎么解码”搁浅” ? 获取python的默认编解码方式 (示例5),一般是ascii,所以会报错,将默认编解码方式设置成utf-8后就可以了 (示例6)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #示例4
    # -*- coding:utf-8 -*-
    a = "搁浅".encode("utf-8")

    #示例5
    import sys
    print sys.getdefaultencoding()

    #示例6
    import sys
    reload(sys)
    sys.setdefaultencoding("utf-8")
    print "搁浅".encode("utf-8")
  3. python以十六进制显示非打印字符,”搁浅”这两个字的16进制编码分别是:69081,6B585
    在python内部为:\xe6\x90\x81\xe6\xb5\x85 (示例7),其中,\x表示十六进制 ,e表示某个字符编码的开始

    1
    2
    3
    4
    5
    #示例7
    # -*- coding:utf-8 -*-
    #打印s在python内部的存在形式
    s = ["搁浅"]
    print s
  4. 乱码
    print出乱码极可能是因为编码与解码方式不统一 (示例8).utf-8编码,每个汉字用utf-8编码需要3个字节,用gbk编码需要2个字节. 用utf-8编码后解码,再用gbk编码,造成这样的问题:本该用3个字节表示的字符,强行用2个字节表示(示例9)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #示例8
    # -*- coding:utf-8 -*-
    s = ["搁浅"]
    print "搁浅".decode("utf-8").encode("gbk")
    #打印乱码:��dz

    #示例9
    s = ["搁浅"]
    print s
    #输出:["\xe6\x90\x81\xe6\xb5\x85"] 每个汉字3个字节
    s = ["搁浅".decode("utf-8").encode("gbk")]
    print s
    #输出:["\xb8\xe9\xc7\xb3"] 每个汉字2个字节
  5. 有待确认
    python默认解码方式是ascii;
    python源代码加上# -*- coding:utf-8 -*-后,不仅仅是源代码支持中文,而且print的默认编码方式也变成utf-8

推荐一个查看字符编码的网页,很好用,可以查看编码10进制, 编码16进制,Unicode编码10进制,Unicode编码16进制,python用的是 编码16进制

编码问题时不时出来阻挠一下,需要继续补充总结

目标

现跟随知乎”怎么练好英语口语?”的高票回答练习口语,定期更新进展
问题链接:https://www.zhihu.com/question/20097263
笔记(随时更新)

进展

stage1

to 01/02/2018

  1. 背诵完赵曙明,曹罗红两位老师编著的《新托福口语词汇》 的口语高频必背词汇:list1-list10
  2. 按照艾宾浩斯遗忘曲线进行复习
  3. 《新托福口语词汇》pdf链接:https://pan.baidu.com/s/1kWTuSbt 密码:difi
    口语词汇录音:链接:https://pan.baidu.com/s/1ggMH1dx 密码:wwow
    自动生成艾宾浩斯遗忘曲线计划:链接:https://pan.baidu.com/s/1kXcOtBx 密码:vjm6

stage2

from 02/07/2018 to now

  1. 对每个单词造句,使用的有道例句
  2. 按照艾宾浩斯遗忘曲线进行复习

安装了Anaconda3,学着用matplotlib,发现不能显示中文,查阅了网上的方法,对matplotlibrc中的font.family各种改,但Jupyter Noterbook依旧显示UserWarning: findfont: Font family.
最终找到解决方法,操作很简单
.matplotlib(图一) 这个目录里,注意文件夹名字最前面是个点,有个叫fontList.json(图二)的文件,这个目录与我的Anaconda3在同一个目录中,
打开后在ttffiles(图三)对应的列表中显示的就是matplotlib可以加载的字体,涵盖的字体路径有Anaconda自带的,也有系统自带的,我选择了系统自带的黑体(图四),最后打开Anaconda3\Lib\site-packages\matplotlib\mpl-data的matplotlibrc,把font.family改成simhei(图五)(注意去掉前面的#号),重新启动Jupyter Noterbook即可显示中文

图一 .matplotlib

图一

图二 fontList.json

图二

图三 ttffiles

图三

图四 黑体

图四

图五 matplotlibrc

图五