随笔分类 -  【01】编程基础

1
编程语言相关知识的基础和技巧
摘要:前言问题Margin Collapsing 外边距合并Block Formatting Context 块格式化上下文解决方案参考 前言 之前在前端开发的过程中,都没有遇到外边距合并的问题(其实是因为大多时候都直接用前端样式库(〃'▽'〃)),这一次需要动手排一个页面,也挺简单,但是遇到了一个奇怪的问题,所以学习记录一下。 问题 测试代码如下: tes... 阅读全文
posted @ 2017-12-22 21:24 leestar54 阅读(253) 评论(0) 推荐(0)
摘要:示例使用方法参考 示例 以下一个简单的异步事件TCP客户端实现 using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Net.S... 阅读全文
posted @ 2017-11-01 19:56 leestar54 阅读(5249) 评论(0) 推荐(1)
摘要:官方网站:https://golang.org/ 标准库文档:https://golang.org/pkg/ 在线编码学习:https://play.golang.org/ PS:请自行FQ 简介安装Hello World 实例编译基础语法行分隔符注释标识符关键字数据类型指针类型(Pointer)数 阅读全文
posted @ 2016-03-17 00:38 leestar54 阅读(304) 评论(0) 推荐(0)
摘要:官方网站:https://www.python.org/ 类库大全:https://pypi.python.org/pypi 基础类库:https://docs.python.org/3/library/index.html 简介安装解释器交互式编程脚本式编程基础语法编码标识符关键字注释行与缩进基本 阅读全文
posted @ 2016-03-16 12:21 leestar54 阅读(265) 评论(0) 推荐(0)
摘要:官方网站:http://www.lua.org/ 三方模块:https://luarocks.org/ 介绍安装luarocks语法注释标示符关键字全局变量数据类型变量赋值索引循环流程控制函数可变参数运算符一元运算符,返回字符串或表的长度。 #”Hello” 返回 5字符串迭代器泛型 for 迭代器 阅读全文
posted @ 2016-03-09 14:48 leestar54 阅读(662) 评论(0) 推荐(0)
摘要:简介安装Hello Worldnpm全局安装与本地安装Node.js REPL(交互式解释器)使用变量多行表达式下划线(_)变量Node.js 回调函数Node.js 事件循环事件驱动程序error 事件继承 EventEmitterNode.js Buffer(缓冲区)Node.js Stream 阅读全文
posted @ 2016-01-26 13:51 leestar54 阅读(358) 评论(0) 推荐(0)
摘要:让我们先看一看常用排序算法的效率对比 接着请看代码和注释~ Program类 阅读全文
posted @ 2016-01-24 00:24 leestar54 阅读(535) 评论(0) 推荐(0)
摘要:前言有时候开发会遇到这样一个需求,软件需要屏蔽用户的组合快捷键或某些按键,避免强制退出软件,防止勿操作等。原理1、要实现组合键,按键拦截,需要用到user32.dll中的SetWindowsHookEx。2、要拦截ctrl+alt+del,需要使用ntdll.dll的ZwSuspendProcess... 阅读全文
posted @ 2015-09-15 22:28 leestar54 阅读(3378) 评论(2) 推荐(0)
摘要:前言 在客户端认证的过程中,我们总要获取客户机的唯一识别信息,曾经以为MAC地址是不会变的,但是现在各种改,特别是使用无线上网卡,MAC地址插一次变一次,所以这样使用MAC就没有什么意义了,怎么办,又开始求助Google,最后找到一个折中的方案 原理 通过获取主板、处理器、BIOS、mac、显卡、硬 阅读全文
posted @ 2015-03-29 04:06 leestar54 阅读(25480) 评论(3) 推荐(0)
摘要:在开发http请求的时候,对HTTP头部信息一知半解,各种百度谷歌汇总一下学习到的资料。 http简介 HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP 协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型 阅读全文
posted @ 2014-12-01 21:16 leestar54 阅读(318) 评论(0) 推荐(0)
摘要:C# 人民币大小写转换正则表达式 - leestar54的专栏 - 博客频道 - CSDN.NET[csharp] view plaincopyprint?usingSystem.Text.RegularExpressions;strings=(12345678901234567890.123456789).ToString("#L#E#D#C#K#E#D#C#J#E#D#C#I#E#D#C#H#E#D#C#G#E#D#C#F#E#D#C#.0B0A");stringd=Regex.Replace(s,@"((?<=-|^)[^1-9]*)|((?' 阅读全文
posted @ 2013-04-10 22:29 leestar54 阅读(766) 评论(0) 推荐(0)
摘要:对于值类型,==和Equal操作的作用是一样的,就是比较值类型的值是否相等。如果使用object.ReferenceEquals来比较值类型,输出永远都是FALSE,因为他们BOX之后在堆上的引用都不是同一个值。对于引用类型来说,==,Equal,ReferenceEqual都是对引用对象是否相等的比较,而不是他们的值,除非重写函数进行值比较。对于字符串这种特殊的值类型来说,==和Equal操作的作用是一样的,就是比较值类型的值是否相等。如果使用object.ReferenceEquals来比较值类型,就要看字符串是否是新实化的,否则字符串池的机制会使得对象的引用相等。 ... 阅读全文
posted @ 2012-11-04 14:22 leestar54 阅读(239) 评论(0) 推荐(0)
摘要:Silverlight 自定义依赖项对象和依赖项属性 本主题描述了 Silverlight 的应用程序开发人员和组件的作者可能想要创建自定义依赖项属性的原因。本主题描述为依赖项属性,以及一些可以提高性能、可用性、或属性的多功能性的执行选项的实施步骤。 本主题包括下列各节。 先决条件 什么是依赖项属性 阅读全文
posted @ 2012-08-04 15:23 leestar54 阅读(298) 评论(0) 推荐(0)
摘要:引言作为一个.NET程序员,我们知道托管代码的内存管理是自动的。.NET可以保证我们的托管程序在结束时全部释放,这为我们编程人员省去了不少麻烦,我们可以连想都不想怎么去管理内存,反正.NET自己会保证一切。好吧,有道理,有一定的道理。问题是,当我们用到非托管资源时.NET就不能自动管理了。这是因为非托管代码不受CLR(Common Language Runtime)控制,超出CLR的管理范围。那么如何处理这些非托管资源呢,.NET又是如何管理并释放托管资源的呢?自动内存管理和GC在原始程序中堆的内存分配是这样的:找到第一个有足够空间的内存地址(没被占用的),然后将该内存分配。当程序不再需要此内 阅读全文
posted @ 2011-09-15 10:39 leestar54 阅读(627) 评论(0) 推荐(0)
摘要:数据的加密重要性大家皆知,很多情况下需要对数据进行加密处理,但各种重要数据的加密要求不一样,有些需要时可逆的,有些是不要求可逆的,可逆的一般称之为对称加密算法,不可逆的一般可以成为非对称加密算法。如登录密码,一般较好的方式是采用不可逆的加密算法,如MD5、SHA256、哈希数值等,当然也有的采用可逆的强度好一些的加密方式,在选择加密键值的时候,变化一下也算是比较不错的选择。另外一些为了掩人耳目或者不让别人直接可以查看到,就采用其他的加密算法,如DES加密算法、AES的RijndaelManaged加密算法,或者也可以采用Base64加密,甚至我看到一个很变态的方式,就是用MD5加密的头,内容则 阅读全文
posted @ 2011-09-02 16:34 leestar54 阅读(596) 评论(0) 推荐(1)
摘要:这个问题再C#上面不存在…网上搜集的 二维数组做参数传递的时候,可以如下声明: void func(int a[][3]); 但是有时碰到的情况是,数组的位数是动态生成的 解决方案:直接传int指针,不与那些复杂的多维数组,多重指针纠缠,模拟二维数组 void func(int *p, int n, 阅读全文
posted @ 2011-05-15 19:51 leestar54 阅读(180) 评论(0) 推荐(0)
摘要:尽管你写了很多年的C#的代码,但是可能当别人问到你const与readonly的区别时候,还是会小小的愣一会吧~ 笔者也是在看欧立奇版的《.Net 程序员面试宝典》的时候,才发现自己长久以来竟然在弄不清出两者的情况下,混用了这么长的时间。的确,const与readonly 很像,都是将变量声明为只读,且在变量初始化后就不可改写。那么,const与readonly 这两个修饰符到底区别在什么地方呢?其实,这个牵扯出C#语言中两种不同的常量类型:静态常量(compile-time constants)和动态常量(runtime constants)。这两者具有不同的特性,错误的使用不仅会损失效率. 阅读全文
posted @ 2011-05-10 16:50 leestar54 阅读(174) 评论(0) 推荐(0)
摘要:事件与委托似乎很难以理解,这是因为它们的使用方式与常用的编码有很大的差别,例如通常编写的都是同步代码,调用一个类型的方法,会即刻出现方法执行的结果,这是符合逻辑的。但在某些情况中,同步代码未必满足需求,拿公共汽车来打个比方,如果交通管制中心希望每一辆公车到达一个站点时都发送给自己一个信号以便自己能够随时掌握交通状况,使用同步代码,公汽对象肯定需要调用管制中心对象,这样就出现了我们一直不愿意看到的情况:两个类型紧密地耦合在一起。既然要其它类型对自己的行为作出反应,亲自调用其类型的方法似乎不可避免,在同步代码中,很难避免这种紧密的类型调用关系。另一个差别是在一般情况下,我们只将属性作为参数传递给方 阅读全文
posted @ 2011-05-08 11:28 leestar54 阅读(158) 评论(0) 推荐(0)
摘要:1)class 是引用类型,继承自System.Object;stuce是值类型,继承自System.ValueType类,因此不具多态性。但是注意,System.ValueType是个引用类型。 2)从职能观点来看,class表现为行为;而stuct常用于存储数据。 3)class支持继承,可以继承自类和接口;而struct没有继承性,struct不能从class继承,也不能作为class的基类,但struct支持接口继承。 4)classs可以声明无参构造函数,可以声明析构函数;而struct只能声明带参数构造函数,且不能声明析构函数。因此,struct没有自定义的默认无参构造函数,默认无 阅读全文
posted @ 2011-04-22 20:43 leestar54 阅读(172) 评论(0) 推荐(0)
摘要:网上找到的,有什么不对的大家指出来,重新学习1.栈是存放函数返回地址、参数、局部变量的。堆是程序可以自由操作的内存,使用时先申请,用完之后释放,如何使用完全由程序代码控制。2.栈在汇编代码中表示成PUSH POP,用的是ESS段,SP寄存器而堆不是,是在内存中读写,EDS段,3.C++包括两种被应用程序管理的内存区域:一种称为栈(stack),另一种称为堆(heap)。stack是函数被调用时自动分配的一块内存区域,它主要用于保留函数内使用的变量及函数调用位置处下一条代码的地址。stack是后进先出,一个可变的指针指向stack的顶部。本质上,当一个函数被程序调用时,当前的执行地址被放入sta 阅读全文
posted @ 2011-04-07 11:52 leestar54 阅读(126) 评论(0) 推荐(0)

1