自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小灰笔记

学习笔记,仅用于自我参考回忆!

  • 博客(52)
  • 论坛 (1)
  • 收藏
  • 关注

原创 Windows中的文件查找命令-where

一直以来,查找某个windows下的命令或者可执行程序我都是借助于一个免安装版本的bash命令which。这样是比较方面的,为了功能更强大一点也可以去安装一下Cygwin。不过,就这么一个命令的使用在公司基本上也是一种小奢侈,因为现在公司办公电脑环境非常不自由,很多时候我没法选择自己喜欢的工具。       不过,作为一个能够折腾的人,我想了很多替代性的方法。比如,很多常用的功能我自己用Per

2017-03-31 23:27:07 18095

原创 VIM学习手记1-从命令模式直接进入单词替换修改

决心好好学习一下VIM,以后自己的所有代码编辑都转移到这一个工具上。我希望以后能够不断增加VIM技能,直到能够从VIM中发掘出类似Source Insight的功能。虽说两个工具的定位不一样,但是我觉得很多时候Source Insight确实是能够在短时间内俘获程序员之心。因为整个编辑常用功能的使用学习成本很低,使用起来十分简单。说VIM简单的人,或许是生来与众不同吧?至少我接触的同行交际圈中

2017-03-31 23:07:39 2037

原创 numpy中的数组运算与MATLAB中相似功能的对比

矩阵运算在一定程度上是为了加速计算过程,而矩阵的元素一致性能够让算法的实现更为容易。通过矩阵运算可以让很多原本需要通过循环才能够完成的运算能够在单步的运算中完成。       几个测试如下:In [26]: data =[[1,5,3],[6,2,4]] In [27]: dataOut[27]: [[1, 5,3], [6, 2, 4]] In [28]: arr1

2017-03-31 00:43:35 1451

原创 numpy中的数组切片

如同python中自带的切片,numpy中也有类似的切片功能。接下来对两个功能进行一下简单的对比。       首先测试Python自带的功能,在shell窗口中测试如下:In [1]: data =range(10) In [2]: dataOut[2]: [0, 1, 2,3, 4, 5, 6, 7, 8, 9] In [3]: data1 =data[3:7]

2017-03-31 00:27:13 1677

原创 C语言switch知识小结

总的说来,我使用switch的频率较少。因为,我使用的条件转移分支通常都很少,使用if处理已经基本够用。再者,分支少的时候switch在效率上也没有什么大的优势。加之switch写起来在复杂度上也比if麻烦不少,我使用的也就少了些。不过,使用switch一般需要注意几个地方:1,通常,每个分支后面都会有break,如果该有没有则会造成程序的错误;2,default可以加在任何地方而不是

2017-03-31 00:04:06 743

原创 C语言中的函数声明

C语言中的函数声明有三种方法:第一,使用extern关键字进行全局可用的声明;第二,使用不带extern关键字的默认声明方式,这种方式功能与第一种相同;第三,使用static关键字将函数声明为私有函数。方法1,使用extern关键字进行全局函数的声明。创建包含exp_13.c、exp_13.h、main.c三个文件的工程。工程代码如下:exp_13.c#include "exp_13.

2017-03-30 23:44:07 1667

原创 MATLAB函数参数兼容性提升

使用MATLAB的时候有时候会遇到把文件名称作为参数的时候,不过,通常情况下MATLAB的命令或者函数访问文件的时候需要给出一个带有扩展名的文件名称或者带有完整路径与扩展名的文件名称作为参数。       通常,这种情况自己是十分清楚的,因此使用的时候一般不会有什么问题。不过,如果把程序提供给其他人用的时候出问题的可能性就比较大了。       而一个比较简单的方式就是对文件的扩展名进行一

2017-03-30 22:48:21 539

原创 numpy中数组对象的强制数据类型转换

在我们的普通编程过程中,强制数据类型转换时很寻常的,尤其是在类似于C语言这样的编程语言。由于自己是一个C程序员,很多时候在这方面会多想一点。其实,纯粹的Python中,数据类型转换至少在语法上跟C是差不多的。但是,在numpy中,处理数组元素的时候这一切都不一样了。在numpy中,面向对象编程的味道更浓一些,而相应的转换是通过对象的方法调用来实现。       例如,有如下代码:impor

2017-03-29 23:41:29 54924

原创 使用Python创建目录

我使用Python,很多时候是用Python写一些文件或者目录的处理脚本。正是出于这个原因,很多时候我会用到os模块。我使用os模块,有时候还会出于另外一个原因,那就是直接使用system方法去调用现在系统中已经存在的命令或者功能。       最近写一个小脚本的时候一个抛出的异常突然间给了我一点提醒,或许有些方法还是值得改进的。我在写一个目录归档备份的小脚本,在初期的测试过程中,遇到了拷贝失

2017-03-29 21:05:28 2160

原创 MATLAB的cd函数与cd命令

最初使用MATLAB的时候发现cd可以像Linux的shell命令一样使用,恰好cd又是我会的不多的几个shell命令之一。于是,用得到的时候就各种cd,如果不成功就简单修改摸索一下。那时候我确实是没有看过help,更没有去查比较详细的help文档。不过,后来,我发现很多MATLAB中的命令是命令的同时也是函数。       慢慢地,使用函数的频率是要多余命令多一些。本来这个没有优劣之分,何况

2017-03-29 20:20:16 32886

原创 IPython中进行Python程序执行时间的测量

在写MATLAB的脚本的时候我时长会用tic、toc进行一下程序运行时间的测量。在Python中偶尔也会测试下,但是基本上都是靠使用time模块。接触了IPython之后突然间发现,原来程序执行时间的测试可以如此简单!       在IPython中,程序执行时间的测试是通过魔术函数来实现。这个功能的魔术函数有两个,一个是time,还有一个是timeit。后面这个功能与前面的功能类似,但是更为

2017-03-28 23:42:33 3237

原创 IPython中执行Python程序文件

简单使用了一下之后,我觉得如果有机会(公司里面编码是极不自由的,也无所谓,我在公司不做数据分析),我肯定是更喜欢使用IPython作为我的Python shell环境了。简单的接触发现了不少我喜欢的功能。其中,在这种命令模式下能够方便地调用Python文件以及能够识别部分物理磁盘路径信息就是我比较喜欢的。       在IPython中集成了几个常用的shell命令,用起来确实感觉顺手了不少。

2017-03-28 23:22:16 13035

原创 IPython shell中对显示结果的格式化优化

坚持使用Python的原声command交互将近两年了,时间可以说是从我开始学习Python一直持续到现在。之前在微博上看到别人说:IPython真是一个伟大的发明,简单尝试了一下,看着命令行之间的空白区非常大有一点不适应直接就放弃了。那时候觉得,这个东西或许对我没啥用。       今天简单试了几个小例子,看到输出的数据被格式化成了一种很规矩的方式,瞬间觉得这个东西做的确实是不坏。   

2017-03-28 22:56:59 524

原创 C语言中数据类型的使用选择

在《C专家编程》书中有这么一段话:       尽量不要使用无符号数,以避免增加不必要的复杂性。尤其是不要仅仅因为无符号不存在负值而用它来表述数量。       说到了上面的原则,书中给出了一个例子。这里给一段示范代码:#include"stdio.h" int num = -1; int main(void){       printf("value afte

2017-03-28 22:08:49 1350

原创 C语言中指针的类型兼容性

刚刚看完了《C和指针》,感觉自己对指针的理解应该更深了一点。今天又开始转向《C专家编程》,这一本稀里糊涂看了很多次但是并没有成为专家的书。开篇故事看得还是很不亦乐乎,遇到一个问题解释时似乎又有一点傻眼了。问题如下:void foo(constchar **p){} int main(intargc,char **argv){       foo(argv);    

2017-03-27 19:35:03 3298

原创 Python中使用Counter进行字典创建以及key数量统计

这里的Counter是指collections中的Counter,通过Counter可以实现字典的创建以及字典key出现频次的统计。然而,使用的时候还是有一点需要注意的小事项。使用Counter创建字典通常有4种方式。其中,第一种方式是不带任何参数创建一个空的字典。剩下的三种分别在下面通过简单的代码进行演示。       创建方法2示范代码:need python.'cell1 =(2

2017-03-26 23:05:16 22060 1

原创 Python中使用defaultdict初始化字典以及应用

Python中可以使用collections中的defaultdict类实现创建进行统一初始化的字典。这里总结两种常用一点的初始化方式,分别是初始化为list和int。       初始化为list示范代码:#!/usr/bin/python from collectionsimport defaultdict s = [('yellow',1), ('blue', 2),

2017-03-26 22:12:07 7569

原创 Java中多进程程序优先级的设定与使用

涉及到多线程,如果嵌入式处理时后我已经接触到的优先级问题,Java之中应该也是避免不了的。看了一下,Java中有针对多线程优先级的使用技术。       为了验证,做一个对比使用,写一段使用默认优先级的代码如下:public classPriorityDemo extends Thread{       PriorityDemo()       {       } 

2017-03-25 23:24:56 2136

原创 向C语言程序传递命令行参数

虽然很多时候写C语言main函数的时候都选择把形参写为空,也就是void,但是这并不是唯一的写法。C语言实际上支持向主函数传递两个参数,此时的函数原型如下:       int main(int  argc, char **argv);       其中,第一个参数用于代表参数的个数;第二个参数则是用于向程序传递参数的列表,通常是一组值。写代码如下:#include"stdio.h"

2017-03-24 00:56:27 6432 1

原创 Java中使用Runnable接口创建并启动多线程

使用Runnable接口创建多线程的方法暂时还没有体验到有什么优点,感觉整体上比使用Thread直接创建稍微麻烦一点。而且,创建的过程中本身也用到了Thread构造方法。写一段测试代码:class RunnableDemoimplements Runnable{       public void run()       {              int i = 0; 

2017-03-24 00:07:59 3983

原创 Java中使用Thread创建多线程并启动

按照教程实现了一个单线程的创建,但是单线程的创建于启动并不是很有实用价值的。毕竟直接在main方法中放着相关的执行操作本身也就是一种单线程的实现。接下来在之前用过的代码基础上稍作修改,形成如下代码:class ThreadDemoextends Thread{       ThreadDemo(){};              ThreadDemo(String szName

2017-03-23 23:49:04 273

原创 Java中的线程创建基础

为了能够让程序更加实时高效,线程的使用时一个很好的选择,而多线程是Java的一个很重要的特征。       关于多线程技术我一直感兴趣但是从来没有研究过,但是每次看到类似的文章都会看一下。比如说,一直比较火的Python和Java有人做过对比。单线程下,Java的运行速度很有优势,但是多线程下两个速度差不多。虽说那时候还没有接触线程的概念,但是大致的结论还是习惯性记了一下。今天先总结一下多线程

2017-03-23 23:36:56 358

原创 C语言中回调函数的使用

C语言中传递给函数的参数可以是一个指向函数的指针,这样,指针指向的函数在函数执行的时候被调用,因此叫做回调函数。如此,回调函数涉及的主要的知识点也就是函数指针。       使用回调函数的场景常见的有两个:一个是实现通用性的函数;第二个是实现跳转表功能的简化。       关于通用型函数的实例代码;#include"stdio.h" intCompareInt(void con

2017-03-23 00:43:16 409

原创 C语言中联合的使用基础

这又是一个时常看但是不常写的东西,在我现在的工作中用到的相关地方基本上也是处理器驱动对于寄存器的抽象。       联合的定义方式其实跟结构体在语法上类似,不同的地方是结构体的成员占用不同的存储区域而联合的成员则是共享相同的存储。虽说如此,但是并不意味着联合的成员必须是数据类型相同的元素。       基础知识点代码如下;#include"stdio.h"#include"stri

2017-03-23 00:12:06 249

原创 C语言结构体的使用基础

C语言中的结构体说起来接触的很多,但是工作中自己真正写的想想多少?0个?这确实是很有意思的事情,结构体可以说是构造数据结构的中心,不过这么多年的工作中我用到的确实是不多。不过,在PowerPC的驱动编写中,官方提供的那些数据结构可真是帮了大忙。       这段时间一直在接触Java,接触面向对象编程,也接触UNIX以数据为中心的理论。回头一想,数据结构确实是值得去仔细研读一下。在后面的工作中

2017-03-22 23:47:31 315

原创 再论C语言中的指针和数组

之前指针与数组的总结性的小文已经整理过多次了,自我自己的使用只是范畴中基本上够用了。不过,今天看书的时候发现有一个知识点遗漏,这里做一下补充。       遗漏的知识点是关于数组名称所等同的指针的具体数据类型问题。其实,大多数能够找到的教程或者是文章基本上会总结到除了用于sizeof的参数,其他时候数组的名称基本上与指向数组元素的首元素的指针等同。不过,这个等效指针如果看做指针的话应该是一个什

2017-03-22 00:44:34 192

原创 C语言中实现参数个数可变函数

其实,我总觉得有个结论应该是必然的。既然很多语言最初都是由C语言发展来的,还有很多语言的基础是用C语言实现的。那么,这些用C语言实现的高级语言的很多特性或者是功能在一定程度上应该是在C语言的开发中可以模拟的。正是如此,很多时候考虑诸如XXX是否可以用C语言实现的时候,应该无需考虑就能够给出一个肯定的答复。       关于参数可变的函数的实现其实还不是这种情况,但是让我想到的是“是否能够实现参

2017-03-22 00:22:55 1238

原创 Java的成员隐藏与属性封装

关于这个功能的优点我现在体会还不深,只是从书本中找到了面向对象编程的一个原则——尽量让数据私有。如果需要对数据的信息进行修改或者获取,不会直接修改成员信息,而是通过方法的调用来实现。       写如下代码:packagefengzhuang; class HuaShanPai{    private Stringzhangmen;    private int

2017-03-21 23:38:34 1688

原创 Java中的接口定义、实现与应用

通过简单的学习,我觉得可以这么理解:接口实际上是一个类的框架,而类则是实例的模子。接口中定义的全都是最基本的框架,而且所定义的方法全都是抽象的、未实现的。简单写一段代码:packagepkgInterface; interfaceMenPai{    String zu_zhi ="五岳剑派";     public void ZhangMen();   

2017-03-20 23:03:28 407

原创 Java中的抽象类与抽象方法

基础语法与编程代码上值得一说的只有:抽象类或者抽象方法需要用abstract进行修饰。其它的都是抽象类与抽象方法的特殊用法,直接在简单的代码示范后再做总结:packagepckAbstrac; abstract class clsMenPai{    void GongFu()    {        System.out.println("会功夫");   

2017-03-19 23:25:07 425

原创 C语言移位知识小结

关于C语言移位功能的知识小结如下:              1,进行2的n次方计算,使用移位效率会提升很多;              2,移位有时候会导致数据丢失,但有时候这正是我们要的功能;              3,右移位操作是不可移植的;              4,移位的操作符好是负数的时候,行为不确定。       关于第4点进行一点简单的验证,写代码如下:

2017-03-19 18:37:20 945

原创 C语言switch使用之诡异用法

关于switch的用法这里不再做什么总结了,其实这个是一个便捷的快速跳转条件切换器。而关于这个功能最常用的技术讨论点在于case后面的break以及default。这里不讨论这些,直接看下面的代码:#include"stdio.h" int main(void){       int num = 0;       switch(num)       {       

2017-03-19 18:12:47 4427 2

原创 Java中的多态与动态绑定

关于Java的多态在慕课网上的教程中已经学到了,但是当时似乎没有看到有动态绑定这么个主题。虽说,动态绑定的相关功能再教程中确实是提到了。       而Java中的多态一般是跟动态绑定放到一块儿说的,我个人的理解是这更加有助于理解Java类继承的相关技术。通过这种方法,可以更好地把多态与重载两个概念给区分开。接下来写一段代码总结一下:packagepkgWulin; class J

2017-03-18 13:19:03 297

原创 Java类继承中的方法覆写overload

方法的覆写与多态在一定程度上相似,都是对一个同名方法的行为进行修改。不一样的是,覆写是出现在不同类的继承中,而且方法不仅仅是同名而且参数都一致。       示例代码:packageMethodOverWrite; class KongFu{    void fight()    {        System.out.println("Kongfu can fig

2017-03-18 11:28:48 281

原创 Java中的类继承与构造方法初始化顺序

关于继承的概念我的基础一向是相对薄弱的,这部分了解的不多,使用的更少。关于面向对象,我了解的或许更少,现在比较深的概念只有一个对象拥有一些属性和方法。       重新学习了一下Java中类的继承以及构造函数的的调用时刻,通过代码实现总结一下,代码如下:packageDemoConstructor; class A {    A()    {        Syst

2017-03-18 10:29:57 437

原创 C语言中的指针常量与常量指针

很多人纠结过这两个名词,也有人写文章区分两者的区别。其实很简单,常量指针和指针常量一个是指针、一个是常量。       const int *p_var;与       int const *p_var;       的功能是相同的,都是一个指向整型常量的指针。指针的数值可以修改,但是当前指针指向的量不可修改。该如何去确认p_var的含义呢?我从一片老外写的文章中学了一招,无论什么时候

2017-03-17 01:14:52 543

原创 C语言常量定义方法小结

之前一直只了解一种定义C语言中常量的方法,今天看书学到了第二种。其实,两种都需要掌握以下,否则指针部分的学习还真会有一点障碍。       两种定义方式:       1, const int a = 123;       2, int const a = 123;       上面两种其实都正确,但是第二种对我来说看起来确实是有些觉得不是很舒服,一直以来我都是使用第一种。写个测试

2017-03-17 00:41:02 5566

原创 C语言的隐式声明

C语言中有几种声明类型可以省略,例如:函数不显示地声明返回值类型,它就默认返回整型。写如下代码:#include"stdio.h" Demo(void){       return 8;} main(void){       printf("return value of function:%d\n",Demo());       return 0;

2017-03-17 00:29:13 2485

原创 使用Python实现touch命令功能

公司指定的办公平台是Windows,而且给了诸多不自由的限制。如果对shell有一点点依赖,那么会是一个很麻烦的事情,毕竟对Windows的批处理命令熟悉度不够。由于touch命令使用的频繁,我觉得可以拿Python去模拟一个简单的伪touch。我所用到的touch最多的功能其实就只有一个——创建文件!这还是得说到公司办公的电脑环境上,鼠标的右键点一次反应有时候会达到一分钟,的确是很诡异。  

2017-03-16 23:45:22 9502

原创 小米网络音响使用体验

有点说不出为什么就买了一个小米网络音响,也就是下面这货。        其实最初的时候我一直在看的东西是手表,接着又联想到了闹钟,不知不觉,我期待我的清晨应该由一首歌开始才好。简单看了一下,就买下了这款网络音响。之所以买这个,首先是能够满足我闹钟的需求,其次是觉得小米在网络资源方面一向是厚道的,这个音响的音频资源应该还是蛮丰富的。       拿到快递的时候,这种沉重感以及大个头让

2017-03-16 23:23:09 2418

空空如也

grey_csdn的留言板

发表于 2020-01-02 最后回复 2020-05-15

空空如也

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

TA关注的人 TA的粉丝

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