• 2017-08-31整理代码的一些感想和新学知识


    好久没写也没翻博客园了。

    这段时间离开了原来的公司,决定考研了,也算是突然吧,无论如何感谢公司和同事们对我的宽容和祝福,无论结果如何这段经历多少能成为我的优势之一。

    除此之外,这段时间还去了政府机关和事业单位实习(学校专业安排),履历多了,发现之前简历上放不下那么多东西,必须把开发经历缩写一下,所以就决定整体搬迁GitHub,在简历上写上GitHub和cnblog的地址就好了,把重要的开发经过简述在简历上即可。

    搬迁内容还挺多的,因为兼顾备份的功能,所以基本上从大一接触代码开始的一些小小的程序代码也放上去,说必定那天学弟学妹找到了还可以学(复)习(制)一份。记录一下遇到的一些问题:

    一、编码问题。

    UTF-8和GBK的转换。我觉得codeblocks这个IDE唯一不好的地方就是写C++的时候编辑器默认GBK,但G++的编译器只支持UTF-8的编码。很神奇的是同样是中文,如果是代码中的中文(如字符串)则没问题,但如果是注释就有问题了。编码问题也是历史遗留问题,对于跨平台来说更是如此。以前编程都是在Windows下,现在的笔记本是mac本,上传代码前检查代码的时候就发现用xcode或者sublime打开源代码,中文注释是乱码。用文本编辑app打开倒是没问题。其实用windows下的notepad也是没问题,因为这些编辑器都会只能识别编码。notepad有个很好的功能是转码,转成UTF-8无BOM编码就没问题了。

    这个功能早就发现了,也在,但就是不知道什么是BOM编码。这次查了查,BOM是byte-order mark的简称,意思是字节顺序标记。

    知乎回答:「带 BOM 的 UTF-8」和「无 BOM 的 UTF-8」有什么区别?网页代码一般使用哪个?

    维基百科:字节顺序标记

    二、xcode对C++的兼容问题。

    这个我看网上的意思是Unix和Windows对缓冲区处理机制不一样,不仅仅是mac下。具体问题是c++中如果用cout输出到屏幕的话,不碰到endl结尾是不会输出的。即使是用ends、flush甚至是 也是没用的。但我想更多是xcode对c++的兼容问题,确实xcode这种不知道为什么有人会把它和vs比?xcode仅仅是开发苹果产品才6,其他的真的是坨*。

    不过吧,作为优秀的程序员应该学会用命令行去编译链接。靠IDE的各种插件功能去解决问题有点低级了,毕竟这样就不知道原理了。

    三、Git的一些问题。

    命令行还是很有用的。用惯了图形化界面,早就忘了命令行怎么用了。其实命令行也挺爽和挺方便的,还能装逼。如果不是多分支的话,一般就用这个几个命令:

    git init在当前目录创建git版本管理

    git add <文件名>/<文件夹/>把当前文件(夹)添加到缓冲区

    git commit -m "<描述>"把缓冲区内容提交

    git log查看提交记录(可选择参数oneline简化输出)

    git reflog查看git提交命令(包括回退的)

    git status查看状态

    git reset --hard HEAD^(一个^代表回退一次,可以用~数字代替,也可以用commit id会退到某个提交版本)

    git remote add origin <url>
    git push -u origin master推送

    rm -rf .git取消一个目录的git(这个就不是git命令了,就是unix的命令而已)

    git push推送分支

    还有一种情况,添加到工作区或者提交后发现工作区多个文件需要删除,则可以用git add -A删除

    四、GitHub对md文档的渲染

    日常都有MacDown写md文档,之前在公司实习用过有道云笔记的,这两者的效果都不错,前者稍微好点。因为有道云笔记的分栏大小有点尴尬,而且MacDown是MacOS下特有的软件(以后就不清楚了),审美风格比较合我胃口。

    另外推荐一个在线的http://mahua.jser.me/,这个是个开源项目,其实不是用来写md文档的,是md转化为html的工具。在线写完后无法保存成md格式,只能导出html格式。渲染效果可以选择4种风格,字体也可以选。不过不支持中文,也就是说中文只能拷贝进去,不能直接输入。

    以上三种的渲染规则大体一样。我要说说GitHub的渲染规则。(理论上语法一样,但是具体的渲染实现不同产品会有细微区别)

    1. 嵌套规则:是4个空格!不能简单地理解为1个tab,因为GitHub上的编辑器可以调整一个tab的空格数。。。。。上面三款都是一个空格即可。

    2.某个单句若是加黑和斜体比较多,那么这些词块前后要加空格,不然有可能渲染不出来。。。。这一点很奇怪:GitHub以前写md文档时时不知道效果怎样的,现在改进了,直接在原文进行效果渲染(上面三款产品都是左边原文,右边效果),但是不要以为保存提交后效果和你写的时候看到的一定一样。像这一点就不一定一样了。

    GitHub真是个好东西~

    题外话,离职前想好了想写一个小网站给自己用,但是要考研,没时间弄了。估计考完研才动工~

    整理工作就要结束了,博客也不经常更新了。

    GitHub主页:https://github.com/LittleSec

    2017-10-24更新。节日快乐。上传数学建模国赛代码的时候发现了一些GitHub上md文档渲染的不同点。考研复习导致好久没写代码了,这一点挺不爽的哈哈哈,考研后要多写,顺便刷刷上机题。

  • 相关阅读:
    实验六:空间耗尽故障
    实验四 :重置root密码
    实验三:误删boot恢复
    实验二: grub引导故障修复
    实验一 :MBR扇区故障系统备份与还原
    chapter07
    chapter06
    chapter05
    转-SQL数据库中把一个表中的数据复制到另一个表中
    Howto: 如何通过IIS7为ArcGIS Server配置反向代理系统架构
  • 原文地址:https://www.cnblogs.com/LittleSec/p/7458642.html
Copyright © 2020-2023  润新知