自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

爱笑的喵

成长记录

  • 博客(31)
  • 收藏
  • 关注

原创 读书笔记-oo项目生存法则

1.建立一个成功的项目的简单四步:(1)采用增量式进度安排和阶段划分(2)拥有发现和改正错误的机制(3)建立一个良好的产品发布习惯(4)拥有优秀的项目负责人、项目经理和技术主管2.相关概念(1)类是一组子程序和相关数据的集合,常用类图表示(顶部是类的名字,中间是数据、底部是函数)(2)对象是某个类的实例,对象模型中的对象通常指类的描述(3)继承是允许共享某一特定类的...

2018-11-16 13:46:29 244

原创 linux常用命令

1.目录操作(1)cd ~ 切换当前用户的宿主目录(2)cd .. 返回到父级目录(3)cd - 进入上一次操作目录(4)cd /home/users/xiaoxiao 切换到该目录(5)pwd显示当前目录(6)ls -al显示当前目录下的所有文件,包含隐藏文件.开头的文件是隐藏文件文件.bash_history曾经执行过的命令文件.bash_profile ....

2018-11-04 11:46:03 177

原创 如何写出规范的好代码

在学校中我们都写过大大小小的代码,但我们写的代码真的好吗?什么样的代码才是好代码呢?好代码应该具有简洁、简短、高效、鲁棒、可共享、可扩展、测试移植方便、在公司的项目中还应具有可监控的特点。由此可见好代码的要求是很高的,代码是写给人看机器执行的,所以可读性一定要好,让人不需要思考很多就可以看懂代码。代码要做到函数的功能要单一化(一个函数只实现一个功能),在函数的命名时要有意义(通过函数名就可以知...

2018-11-02 00:20:30 992

原创 后端---数据库交互

网页访问后端接口功能获得结果,现记录一下程序如何与数据库交互的,以java程序为例进行介绍。Java程序与后端数据库加载驱动,加载驱动后连接数据库,获取资源,发送SQL语句,当数据库接到程序的命令后先对SQL进行解析,然后执行。执行后将结果返回给调用程序,应用程序对结果集进一步处理。处理完后要对链接进行关闭,先关闭结果集、在关闭连接。 ...

2018-10-17 02:04:49 7743

原创 PHP学习笔记-MVC定位,与web的交互

MVC框架就是提供将程序模块化的一种设计思想,使用该框架可以增加程序的可读性,实现分离,当我需要更改其中一部分代码时而不需要代码整体更改。那么MVC究竟对应着PHP代码的那些部分呢?使用过think PHP框架或者yii框架的开发者都知道,程序开发时会有一些固定的目录,开发过程中使用类似与Yii框架的ODP框架,该框架与常用的框架一样包含了很多的第三方库,有自己的目录结构,通常自定义的一些功能接口...

2018-10-14 15:08:00 194

原创 git常用命令

1.设置用户:. git config --global user.name "zhaojiali03" git config --global user.email admin@zhaojiali03.com2.查看所有分支:git branch –a3.查看远端分支:git branch –remote4.查看远端分支与本地分支的关联关系:git branch –vv5.查...

2018-09-26 21:14:26 246

原创 shell常用命令-awk

1.awk是一个强大的文本分析工具,相对于 grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单 来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。2.awk命令行格式为:awk 'awk程序' 数据文件名, 此时awk会先编译该程序,然后执行该程序来处理所指定的数据文件,因此,对于awk命令来说,重点在awk程序上。...

2018-09-24 20:55:36 275

原创 shell常用命令-sed详解

1.sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作。sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。2.具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也 称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到 屏幕上。sed每处理完一行就将其从临时缓冲区删除,然后将下一行读入,进行...

2018-09-24 20:48:10 695

原创 cache和buffer的区别

1.cache是为了弥补高速设备和低速设备的鸿沟而引入的中间层,最终起到“加快访问速度”的作用。2.buffer的主要目的进行流量整形,把突发的大数量较小规模的I/O整理成平稳的小数量较大规模的I/O,以“减少响应次数”3.Buffer(缓冲区)是系统两端处理速度平衡(从长时间尺度上看)时使用的。它的引入是为了减小短期内突发I/O的影响,起到流量整形的作用。比如生产者——消费者问题,他们产...

2018-09-24 20:35:44 207

原创 Redis学习笔记-基础

1.什么是redis?Redis是Remote Dictionary Server(远程字典服务器)的缩写,以字典的形式存储数据,允许其他应用通过TCP协议读写字典中的内容。redis是一种高性能的基于键值对的数据库。2.redis支持的数据类型字符串类型、散列类型、集合类型、有序集合、列表类型。3.与mysql数据库的区别Mysql是关系型数据库,使用二维表存储数据;redi...

2018-09-24 20:23:41 285

原创 C++学习笔记-时间相关函数总结

最近做一个日志相关的作业,由此注意到了时间相关的内容,首先用到的函数均包含在time.h头文件中。在使用C++开发时,包含头文件的命令时不需要带.h,这一点要注意,即正确的包含命令为#include<ctime>在处理时间相关的操作时,首先会接触到time_t和tm结构,下面看一下相关的知识结构源码struct tm{ int tm_sec; // second...

2018-09-24 00:43:07 367

原创 面试总结-堆栈详解

1.数据结构中的堆和栈栈是一种先进后出的数据结构,是一种线性结构;堆是一种非线性结构,是有序的一般为大根堆或小根堆,堆的存取比较随意;2.内存分配中的堆和栈一般情况下程序是放在ROM或者Flash中的,运行时需要拷贝到内存中才可以执行,内存会分别存储不同的信息。接下来就详细介绍一下内存分配中堆和栈的区别。(1)申请和回收方式:栈使是系统直接分配和回收的;堆是根据用户的需要自己申请的...

2018-09-23 23:54:00 905

原创 Vim开发中常用命令

首先区分命令模式和编辑模式:在使用vim 文件名  创建文件时一般直接进入编辑模式,按下esc间进入命令模式,在命令模式使用冒号加命令输入命令,例如:set nu(打开行号)常用命令(1) :w 保存(2) :wq 保存退出(3) :q 未修改文件时直接退出(4) :q! 修改文件后不保存退出(5) :set nu(number) 显示行号(6) :set ai 开启自...

2018-09-23 02:02:51 277

原创 vs/gcc项目编译相关总结-unsafe函数、多个头/源文件

前一段时间一直使用强大的php编程神器,现在换了一个部门使用C/C++,简直要了老命了,对于一个一直在windows下使用C语言单片机IDE开发的人来说,写C++实在是有些难。对于建工程什么的都还好说,代码实现的也很快,到了调试时要死了,好多问题一下子蹦出来了,多个自定义的头文件,我喜欢将函数功能实现放在一个源文件了,通过头文件声明后,在不同的文件中使用,在编译时vs十分不给力提示“编译时遇到文件...

2018-09-23 01:52:50 814

原创 C++学习笔记-map使用注意事项总结

近期找了家实习,要求实现日志文件的统计,统计需求为每个小时uid的活跃时长和全天内所有uid活跃时长的分布情况,log文件中存在session跨小时和交叉的情况。由于没有接触过日志文件,也没有实际使用过C++进行开发,一上来就有些蒙圈,就先想到的就是使用纯纯的结构体去完成,但开发量太大了,还没有办较好的监控session交叉的情况,最后调研发现map可以较好的完成此功能。但是想到就要考虑log文件...

2018-09-23 01:02:23 434

原创 HTTP进阶——三次握手、四次挥手、timewait出现的时刻

面试中经常会被问到http的连接和断开的问题,所以我在这里做一个小整理,希望可以帮到大家。1.HTTP的三次握手第一次握手:Client端A将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server端B,A进入SYN_SENT状态,等待B确认。第二次握手:B收到数据包后由标志位SYN=1知道A请求建立连接,B将标志位SYN和ACK都置为1,ack=J+1,随机产生一...

2018-08-07 11:50:00 673

原创 html页面适配兼容问题

1.背景:许多情况如果开发的页面只是内部的成员自己应用,则只要在一种浏览器中显示功能正常即可;如果开发的网站是面向用户的,则要考虑到用户的使用的浏览器的不同,则要做到主流的浏览器中,页面的功能均可以正常使用。这是就会涉及到不同浏览器的适配问题,首先要考虑到目前浏览器的解析内核的区别,目前浏览器内核主要分为两大类,chrome和IE。像QQ浏览器、Firefox等与IE的解析内核相同,而360、...

2018-07-26 22:40:00 14168 1

原创 数据表的设计原则

为了建立冗余较小,结构合理的数据表,应该依照3大范式的约束第一范式:每一列属性都满足不可再分的属性,即保证每一列的原子性第二范式:每一列都和主键相关,而不是部分相关。消除部分依赖,部分依赖就是指表中的数据和多个实体有关。这条规则表明表中没有列能够只和主键的一部分相关。表中的所有非键列指向的是整个键,而不是键的一部分。 第三范式:每一列都和主键直接相关,消除传递依赖。这条规则所指的情况就...

2018-07-19 21:54:14 414

原创 SQL语句优化

一、找出导致性能慢的原因      首先你要知道是否跟sql语句有关,然后使用sql性能检测工具--sql server profiler,分析出sql慢的相关语句,就是执行时间过长,占用系统资源,cpu过多的1.查看执行时间和cpu占用时间(查询后在消息中查看)set statistics time onselect * from dbo.Productset stat...

2018-07-19 14:35:46 7579

原创 鼠标事件/状态-控制/设置详解

Onmouse***是javascript的用法,mouse**和click是jQuery的用法1.Onmousedown:当鼠标的任一键被按下时触发设置,强调是按下的瞬间2.Onclick:鼠标按下之过后触发该事件,发生在onmousedown和onmouseup之后,此功能要求必须在规定区域内按下,并弹起时才会触发,只检测鼠标的左键3.onmouseup:当鼠标弹起时触发该事件,无...

2018-07-18 20:52:27 1402

原创 Git初级应用

1.git与GitHub的区别    开发者将代码存入“git仓库”的资料库中并加以使用,GitHub是在网络中提供Git的一项服务,即GitHub上公开的代码都是由Git管理的。GitHub的描述方法不只“@用户名”还可以使用“@组织名”可以使该组织的所有用户都受到该通知。2.Git属于分散型版本管理软件,记录开发过程中添加或更改源代码的过程,回滚到特定阶段或回复一些误删除、修改的文件。...

2018-07-15 21:33:05 113

原创 PHP学习笔记-MVC框架

MVC学习笔记1.什么使MVC框架     MVC是一种软件开发框架,MVC将程序分为三个部分:模型层(M)、视图层(V)和控制层(C),对不同的层进行分层管理和控制,方便程序的修改和扩展2. 为什么使用MVC框架     在PHP中使用MVC框架,可以实现了分层、分类开发,实现了web的分离,使前端代码与后端分离,某一层的调整,不会对另一层的代码和逻辑造成影响,使用MV...

2018-07-12 00:47:48 3332

原创 后端开发学习笔记-代理

                                    后端学习笔记--代理1.代理的定义    代理是一段程序代码,通过重写请求的url实现转发功能。在web浏览器和服务器之间扮演“传话人”接收由客户端发送的请求并转发给源服务器,并将从原服务器获得的响应数据返回请求的客户端。2.代理服务器的分类    (1)按照是否缓存源服务器的响应分为缓...

2018-07-12 00:26:36 496

原创 Cookie与Session详解

 为什么要使用Cookie或Session?http是一种无状态的通信协议,为了实现记住状态的功能采用了session和cookie的机制。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。一、cookie1、  Cookie就是由服务器发给客户端的特殊信息,而这些信息以文本文件的方式存放在客户端,然后客户端每次向服务器发送请求的...

2018-06-28 15:46:53 204

原创 HTTP学习笔记

HTTP学习笔记1、 什么是HTTP?HTTP(超文本传输协议)是一个客户端和服务器通信的标准协议,是TCP/IP 协议族的一个子集,处于应用层。2、 TCP/IP 协议族层次结构及功能TCP/IP 协议族可分为4层:应用层、传输层、网络层和数据链路层。应用层:向用户提供服务,管理提供应用服务时的数据和通信活动。传输层:传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输。网络层:在多...

2018-06-27 00:29:32 167

原创 递归、迭代、改进的递归

最近看了看以前的C语言笔记,看到了递归函数一章,想起了以前老师讲解的递归函数一章,老师说建议我们以后写程序一定要尽量不要使用递归,可能大家也被这样告知过,或许今天大家依然不理解老师为什么这样说,接下来我为大家说一说我的理解。         递归分为两种,直接递归和间接递归。直接递归:程序执行过程中调用自己本身。间接递归则是通过别的程序来调用程序自身,比如说A程序调用B程序,B程序内有调用A程序。

2017-04-21 22:53:44 994

原创 C语言动态内存管理

在说明c语言内存管理之前,要知道什么是内存,内存我个人认为可以理解为带有标签的盒子,所谓的带标签的盒子就像我们住的寝室一样有门牌号,盒子内只能存储固定类型的数据或变量,就如男生寝室只能住男生一样。那么C语言中有多少种盒子呢?**有静态存储区、动态存储区、内部寄存器区域**。我们通常定义的变量如果没有特意说明类型默认为自动变量类型存储在动态存储区,eg:'''int a;//其实省略了变量在内存的存

2017-01-05 21:23:46 487

原创 typedef与define 共用体 枚举类型

        学习C语言的同学一看typedef和define就知道我想要说什么,typedef和define都有给变量取别名的功能,但二者的区别很大,define是在编译阶段进行的,并且被取别名的字符串是常量,定义形式有两种,有参数和无参数。teypedef的功能是为已有变量区别名。#define PI  3.14表示利用PI代替3.14,在后续的使用中将PI原样替换为3.14.有参数的宏定义...

2017-01-04 22:29:37 327

原创 指针 指向一维数组 二维数组 字符数组 返回值为地址 指向函数的指针 指针数组 常量指针

在谈论指针之前,先讲一下文件包含#include命令,通常有两种形式#include<>和#include“ ”两种形式。二者有何区别呢?使用尖括号的形式:系统不搜索包含文件所在的目录,直接在指定的路径中搜索;使用双引号的形式,系统先在包含目录中搜索,找不到时会在指定目录中搜索。说的简单一点就是自己定义的头文件要使用双引号的形式,在这里还要说明一点,文件包含命令可以包含任意一种格式的文...

2017-01-04 19:47:16 895

原创 结构体函数位域

结构体可以说是我们编程常用的一种数据结构,在嵌入式开发中也是备受青睐。首先说一下为什么大家使用结构体,当所要描述事物具有多个特征并且特征之间是不同数据类型时,可以利用结构体来进行封装。要注意在结构体中不能定义函数。在这里提到了函数,就简单介绍一下何为函数,函数是实现每一特功能的代码。函数的组成有:返回值类型、函数名、参数列表和函数体。在函数内定义的临时变量只在函数内有效,跳出函数后变量的内存会被回...

2016-12-30 23:31:47 447

原创 基础语句,数组

 学习一门语言首先要读一本好书,其次要有好的交流论坛或网站。所以在这里我向大家推荐几本自己觉得还可以的书籍,刚刚接触的同学可以看看:C语言入门很简单,这门书语言比较风趣幽默,举例比较贴近生活,易于理解。当有了一定的基础后我还是建议大家看看C primer;编程软件的话建议大家使用vs或者QT。 学习编程语言首先要了解数据类型,相信这些基础大家都已经十分了解,这里就不在讲解了。在了解了数据类型后...

2016-12-10 12:57:37 296

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除