孟繁琛 + 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程 http://mooc.study.163.com/course/USTC-1000002006 软件工程(C编码实践篇)是由中科大孟宁老师在网易云课堂上发布的一门关于学习软件工程开发思想的实践性课程,整门课程循序渐进的从一个helloworld小程序做到一个线程安全并且可重用的menu菜单系统.课程主要通过网课加实验楼实验的方式进行,课程讲解内容轻松又不失严谨性,实验简单却又极具代表性.总之,整门课程基于一个m…
吴磊 SA17225400 学习完了孟老师的软件工程(C编码实践篇),跟着老师一步步的完成了代码的编写,收获真的很大. 在学习这门课之前,我还不会用Linux,也没接触过Git.如今我已成能够在Linux环境下开发一些程序了,虽然我还是不怎么熟练. Git真的很好用,不仅仅在团队协作方面有用,也能方便自己在任何地方,随时随地的修改自己的代码. 我本科学过软件工程,但是只学到了那些理论部分,比如什么瀑布模型啊,高内聚,低耦合啊.可是只停留在理论部分,真正在代码中的应用并不了解. 纸上得来终觉浅,理…
陆伟丹 + 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程http://mooc.study.163.com/course/USTC-1000002006 对软件工程的理解及学习软件工程(C编码实践篇)的心得: 我理解的软件工程,就是要用工程化的思想去写软件.即"软件的工程",这和现实中的建筑工程等等的相类似,需要系统化工程化的方法,是一个在不断搭建的工程.和我们平时写小的Demo不同,当我们面对一个大的项目的时候,我们要考虑的不只是让代码跑起来,还需…
课程内容来自网易云课堂中科大孟宁老师的软件工程(C编码实践篇)课程. 课程页面 我觉得本门课程的设置非常科学,每一周课程都是基于上一周课程的进一步抽象,使得学习者能够循序渐进,逐渐加深对软件工程的理解. 1. 第一周:熟悉Linux实验环境:要求 实验一:写一个hello world小程序. 实验报告链接+git代码库链接 总结:hello world本身很容易,但是linux下工作方式和windows下完全不同,会给不熟悉linux的人带来不少问题.首先vi没有Windows下的IDE智能化,…
python学习—字符编码 例如汉字“中” 十进制:20013 二进制:01001110 00101101(unicode)/11100100 10111000 10101101(utf-8) 十六进制:u4e2d 八进制: ascii ASCII编码是1个字节 只能编码纯英文 节省空间 unicode Unicode编码通常是2个字节.(比如字母A用ASCII编码是十进制的65,二进制的01000001:A的Unicode编码是00000000 01000001.) uicode统一编码,解决…
简要归纳 每个缩进层级使用4个空格. 每行最多79个字符. 顶层的函数或类的定义之间空两行. 采用ASCII或UTF-8编码文件 在文件顶端,注释和文档说明之下,每行每条import语句只导入一个模块,同时要按标准库,第三方库和本地库的导入顺序进行分组. 在小括号.中括号.大括号之间或者逗号之间没有额外的空格. 类的命名采用驼峰命名法,如CamelCase:异常的定义使用Error前缀(如适用的话):函数的命名使用下划线分隔的小写字母,如separated_by_underscores:用下划线…
1.geohash及其性质 一种空间索引技术. (1)将二维的经纬度位置数据转换为一维的字符串(基本上hash族的算法都是这样): 其优点在于hash编码后的字符串,可以方便查找和索引,从而减少相似计算的计算量(不需要再去两两计算距离,而是缩小了比较的范围,减少了计算量.提高了效率): (2)字符串越长,表示的范围越小越精确:字符串长度越小,表示的范围越大越宽泛: (3)字符串越相似表示距离越相近: 这样可以利用字符串的前缀匹配来查询附近的POI信息: 2.应用 将POI位置信息进行GeoHas…
目录 1.通过Python3示例探索常用字符串编码 UTF8 ANSI Unicode 小结 2.Qt5中使用QTextCodec进行编码转换 小结 1.通过Python3示例探索常用字符串编码 下面,我们通过Python3代码来了解一下字符串编码的小秘密: 首先,我们定义一个字符串aha123 aha123 = "啊哈123" 然后,我们看看它在各种编码下的二进制: UTF8 aha123.encode('utf8') b'\xe5\x95\x8a\xe5\x93\x88123' A…
Linux内核源码简介 arch/ 该目录中包含和硬件体系结构相关的代码,每种平台占一个相应的目录. 和32位PC相关的代码存放在x86目录下. 每种平台至少包含3个子目录:kernel(存放支持体系结构特有的特征实现).lib(存放体系结构特有的对通用函数的实现).mm(存放体系结构特有的内存管理程序的实现),除了这3个子目录之外,大多数体系结构在必要的情况下还有一个boot子目录,包含了在这种硬件平台上启动内核所使用的部分或全部平台特有代码. init/ 内核启动相关代码 -> main.c…
Linux内核分析— —构造一个简单的Linux系统MenuOS 实验内容 Linux内核的启动过程,从start_kernel到init进程启动 使用实验楼的虚拟机打开shell cd LinuxKernel/ qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img 内核启动完成后进入menu程序(<软件工程C编码实践篇>的课程项目),支持三个命令help.version和quit,您也可以添加更多的命令,对选修过…