自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(507)
  • 资源 (7)
  • 收藏
  • 关注

原创 vue+webpack实现精美游戏设计:实现建筑物的渐变生成效果

像星际一样实现建筑物的渐变生成特效

2017-12-12 16:12:56 2538 1

原创 VUE+WebPack游戏设计:用CSS实现扑克牌翻转特效

用css实现扑克牌的翻转动画效果

2017-07-17 17:45:18 4572 1

原创 编译原理动手实操之一个输入系统的实现

大家好,欢迎大家来到coding迪斯尼,愿天下没有难学的知识阅读博客的朋友可以到我的网易云课堂中,通过视频的方式查看代码的调试和执行过程: http://study.163.com/course/courseMain.htm?courseId=1002830012这篇文章是我课程中的系列讲稿,也是编译原理动手实操系列的文章。在我们南方有一句老话叫:无

2016-03-16 10:02:54 4032 5

原创 输入及词法分析详解

欢迎大家来到coding迪斯尼,我的愿景是:让天下没有难学的知识 这句话是跟马云学的,就算没马云的命,那就用马云的话,也是不错的。阅读博客的朋友可以到我的网易云课堂中,通过视频的方式查看代码的调试和执行过程: http://study.163.com/course/courseMain.htm?courseId=1002830012 大家好,继上几节我们通过实现一个简易编译

2016-03-08 12:08:29 3808 1

原创 编译原理动手实操,用java实现一个简易编译器-语法解析

语法和解析树:举个例子看看,语法解析的过程。句子:“我看到刘德华唱歌”。在计算机里,怎么用程序解析它呢。从语法上看,句子的组成是由主语,动词,和谓语从句组成,主语是“我”,动词是“看见”, 谓语从句是”刘德华唱歌“。因此一个句子可以分解成 主语 + 动词 + 谓语从句:句子-->主语+动词 + 谓语从句 主语是名词,因此有 :主语->名词句子里的

2016-02-21 18:03:43 12990 7

原创 利用DSF深度优先搜索来解容器倒水问题

在一些面试算法或智力题中,时不时会遇到容器倒水的问题,例如,有三个容器,分别是10升,7升,4升,7升和4升的容器装满了水,10升容器是空的,如果将容器a中的水倒入容器b时,必须使得a中的水全部倒完,或者b被倒满,问有没有一种倒水序列,使得7升容器或4升容器中只有2升的水。这个问题怎么会跟图论的深度优先搜索联系起来呢。如果我们把三个容器的水量和容量状态当作一个点,例如初始时刻[10(e

2015-12-07 21:27:36 2354 1

原创 一个在线显示doc文本的实例

最近带着一对攻城狮给客户做一个web平台系统,在与客户做需求分析的过程中,发现客户有个需求痛点,那就是希望能在web上直接浏览doc文本的内容。原来的老平台在显示doc文本时,有很多问题,例如原有doc文本排版格式显示错误,例如表格位置发生了偏移,字体不再是原有doc里的字体等等。如果新系统能解决客户这一痛点,想必我们技术团队的实力会得到客户进一步的肯定。我做过调查,发现在线显示doc

2015-11-24 15:20:00 3391 1

原创 一个android文本比对app的实现(二)--界面

本篇对该app的界面实现做一些说明。谷歌对android app 的界面开发提供了精巧的设计,其界面设计的布局技术(layout), 运用了类似于设计模式的composite pattern, 具体来说,就像俄罗斯娃娃,外面一个大娃娃可以套一个小娃娃。android 的layout 里面可以再嵌入其他layout, 层层递进,进而形成变化多样而又非常灵活的界面布局。

2015-11-17 15:36:42 1267

原创 一个android 文本比对App的实现(一)

做c++开发很多年了,从早年windows vc6.0 做客户端程序开发,这些年后台流媒体服务器后台开发。随着时代变迁,移动互联逐渐兴起,直到现在,移动互联的风头早已盖过传统互联网应用,因而传统后台开发似乎日渐式微。如今要找工作的话,android,IOS等开发的职位不但数量远远多于c++,而且报酬也要比c++高很多,如果在移动开发上做过三年以上,年薪25W以上的机会多的是,但是对于c++ 要达到

2015-11-13 17:05:27 3405

原创 一道看似简单的面试算法题所隐藏的潜在意图

大家面试历程中有没有经历过类似情况,面试官给出一道算法题,看似不难,你三下五除二搞定了,时间和空间效率都是最优,你乐呵呵以为offer,已经到手,结果左等右等,望穿秋水,面试的结果却是无疾而终,你反复确认,觉得题做得没错啊,为什么会失败呢。我就有过类似的情况,后来反复思考,才明白,其实我没明白简单的表面其实隐藏着潜在的考察点。举个栗子,一道常用的面试算法题是:给你一个链表,让你将链表反转。

2015-11-11 17:45:51 1408

原创 运用面向对象的分析与设计模式巧解面试算法题

IT行业,千变万化,日新月异,身处其中的各位同仁必感同身受,特别是对从事技术开发的朋友们而言,或许能感觉到唯一不变的就是变化。对纷繁复杂的程序人生而言,其实有一个看不见的主旋律,那就是找工作,找房子,找人(另一半)。如果你是心怀梦想,浪迹于上广北深的千万大军中的一员的话,我想这一句话该是你生活的写照了。在三找中,找工作是其他两找的基础,本系列文章主要是就找工作展开而言。对开发而言,面试

2015-02-09 17:06:40 1249

原创 自己动手写数据库:规划器(Planner)的实现

本文给出了数据库系统中,规划器模块的基本实现

2023-09-25 12:59:04 40

原创 自己动手写数据库:关系代数和查询树执行效率的推导

理解 sql 语句执行对应的查询树极其效率计算

2023-09-19 12:15:02 59

原创 自己动手写数据库:实现一个小型 SQL 解释器(下)

以上代码的调试演示过程请在 B 站搜索 coding 迪斯尼查看相关视频。本节我们完成 SQL 解释器的最后一部分,它涉及到数据的删除和更改,首先我们看删除语句的解析。

2023-09-01 17:12:08 1000 1

原创 区块链系统化探索:什么是”交易“

区块链中“交易”数据结构的解析和实现

2023-08-22 20:34:47 47

原创 自己动手写数据库系统:实现一个小型SQL解释器(中)

本文描述了如何对 sql 语言中以 create 开头的语句进行语法解析

2023-08-16 19:47:46 1208

原创 区块链系统探索之路:私钥的压缩和WIF格式详解

在前面章节中,我们详细介绍了公钥的压缩,在比特币网络中,一个私钥可以对应两个地址,一个地址是由未压缩公钥所生成的地址,另一个就是由压缩公钥所创建的地址,从公钥到区块链地址的转换算法,我们在这里给出详细描述和代码实现,本节我们看看私钥的压缩以及相关的WIF数据格式。搞笑的是私钥”压缩“后,其长度反而比压缩前增加了一个字节。而“压缩”方法也相当简单,就是在私钥末尾增加一个字节01,例如如果私钥的数据为...

2023-08-12 09:30:54 719

原创 区块链系统探索之路:钱包地址的实现

在区块链,特别是比特币网络,一个非常关键的组件是钱包。它主要用来实现“价值转移”,既然要转移,那就必须要有转移人和接收人,在转移过程中,我们必须确保转移的发送必须由资产的所有者发起,这就是私钥的作用,一笔交易要生效必须由资产的所有人使用它的私钥确认后才能发起,同时要有办法准确找到价值的正确接受者,这就是公钥的作用,公钥类似于银行账号用于接收转移的资产。在前面章节我们介绍过,私钥是一个随机数,而公钥...

2023-07-02 14:16:00 499 1

原创 区块链系统探索之路:比特币核心的编译和探索

本文描述了比特币核心的编译与交互方法

2023-06-24 12:46:48 931

原创 自己动手写数据库系统:实现一个小型SQL解释器(上)

本文给出了SQL语言解析的部分实现

2023-06-18 12:46:38 1157

原创 区块链系统探索之路:基于椭圆曲线的私钥与公钥生成

本文描述了比特币椭圆曲线的实现原理,同时给出了如何计算公钥以便创建钱包地址

2023-05-01 17:32:55 2207 2

原创 自己动手做chatgpt:解析gpt底层模型transformer的输入处理

剖析chatgpt算法中输入预处理

2023-04-21 09:30:00 1414

原创 自己动手写编译器:DFA跳转表的压缩算法

本文描述了编译原理算法中DFA跳转表的两种压缩算法

2023-04-09 17:11:55 498

原创 自己动手写chatGPT:神经网络的神经元和损失函数

本文介绍了神经网络中两个重要的基本概念

2023-03-27 10:57:17 3034

原创 区块链系统探索之路:椭圆曲线上点”+“操作的代码实现

上面情况就对应点"0”,虽然上面直线跟曲线没有第三个交点,但是我们可以“定义”这条直线跟曲线在“无限远”处相加,而那个交点就是"0",于是这种情况下直线跟曲线的两个交点互为“相反数”,如果我们把上面交点记作a,那么下面的那个交点就对应为-a, 当曲线上两个点的连线与y轴平行时,我们把这两个点的“+“运算结果记作"0”。在椭圆曲线上选择任意两点,他们执行"+"操作后,第三点在哪里从数学上是无法预料的,这就形成了椭圆曲线能加密的基础。在区块链应用中,首先需要选定曲线上一个特定点G,然后产生集合{1。

2023-03-19 13:13:57 391 3

原创 自己动手做chatGPT:向量的概念和相关操作

介绍深度学习算法中最基本单元向量,为开发chatGPT模型大小基础

2023-03-16 09:30:00 7306

原创 自己动手写编译器:DFA状态机最小化算法

实现DFA跳转表的精简和优化

2023-03-03 09:30:00 590

原创 自己动手写数据库:SQL查询处理的基础准备工作

为sql语言的解析和执行做基础准备

2023-02-24 22:16:40 577 1

原创 区块链的系统探索之路:椭圆曲线之有限域

系统的,从底层开始,对区块链技术进行详实的学习与研究

2023-02-06 10:00:00 705

原创 大数据下的高级算法:hyperloglog,统计海量数据下不同元素的个数

redis中hyperloglog算法和数据结构的原理

2023-01-20 20:22:34 1702

原创 自己动手写编译器:从NFA到DFA

前面我们看到,一个DFA节点本质上对应一组NFA节点,因此当我们使用move 和epsilon闭包操作得到一组NFA节点后,我们需要看看是不是已经有DFA节点对应到了生成的NFA节点集合,如果有了,说明对应的DFA节点已经生成,这个操作由函数compareNfaSlice和hasDfaContainsNfa完成,如果当前得到的NFA节点集合没有对应的DFA节点,那么就使用addDfaState函数去创建一个新的DFA节点,然后将其加入到dstates数组中。上一节我们完成了使用NFA来识别字符串的功能。

2023-01-07 21:57:29 767

原创 自己动手写数据库:视图元数据管理,统计元数据管理

实现数据库系统中的元数据管理器

2022-12-18 19:43:42 199

原创 自己动手写数据库:实现数据库表的元数据管理

实现数据库系统中表的元数据管理

2022-12-13 19:38:24 719

原创 自己动手写编译器:使用NFA状态机识别字符串

在前面章节中我们构建了NFA状态机,现在我们看看如何使用它来识别给定字符串是否合法。首先我们先构造如下正则表达式对应的NFA,在input文件的表达式部分输入:({D}.{D} | {D}.{D})这个表达式的目的是识别浮点数,用我们前面做好的代码生成的NFA状态机如下:这里我们需要引入两个个概念及其对应操作,首先是epsilon-clousure操作, 它表示给定一系列初始状态后,然后找到从这些...

2022-11-28 09:30:54 275

原创 自己动手写编译器:使用NFA识别字符串

本文给出了如何使用构建的NFA状态机识别输入字符串是否满足给定正则表达式定义的规则

2022-11-28 09:30:00 306

原创 高并发和大数据下的高级算法与数据结构:如何快速获取给定年龄区间的微信用户数量或快速获取美团中购买量前k的品类

使用count-min-sketch算法解决海量数据的统计难题

2022-11-13 14:37:26 963

原创 自己动手写数据库:实现表扫描

实现数据库系统的表扫描功能

2022-10-23 15:00:26 369 1

原创 自己动手写数据库:记录管理器的设计和实现

在数据库中,数据以”记录“作为一个单元来存储,例如一个表的“一行”就对应一条记录。假设我们有一个表叫STUDENT,其中有name, age, sex, class等字段,那么一条记录的信息就由这四个字段对应的信息合成。一条记录如何存储并不是一个简单的事情,例如我们需要考虑如下因素:1,一条记录是否应该全部存储在一个区块中2,一个区块存储的记录是否应该全部来自同一张表3,记录中每个自动的大小是否应...

2022-10-21 16:29:43 234

原创 动手写数据库:实现记录管理

本文介绍了数据库系统中记录管理器的设计与实现

2022-10-21 16:13:35 586

原创 自己动手写编译器:从正则表达式到NFA状态机

在编译器开发中有两个非常重要的工具名为lex和yacc,他们是编译器的生成器。本质上我们不需要一行行去完成编译器的代码,只需要借助这两个工具,同时制定好词法解析和语法解析的规则后,这两个工具就会自动帮我们把代码生成,我们后续的任务就是使用go语言将这两个工具实现。为了更好的理解我们要开发的GoLex,我们先熟悉一下lex工具的使用。在Centos上安装lex的命令为:yum install fle...

2022-09-27 09:00:33 716

一个java实现的简易编译器

这是一个用java实现的简易的编译器,他能将一个具有加法和乘法的算术表达式编译成类汇编语言,这是我博文对应的代码,具体请参看我的博文: http://blog.csdn.net/tyler_download/article/details/50668983 例如输入 1+2*3+4; end end是必须的,表示输入结束,然后程序输出: t0 = 1 t1 = 2 t2 = 3 t1 *= t2 t0 += t1 t1 = 4 t0 += t1

2016-02-18

一个android 文本比对app的实现代码

这是一个android版的beyond comparer, 它的功能是找出两个文本的最大共同子串,其算法思想是LCS, 但我利用Hirschberg 的动态规划算法将存储复杂度由O(n^2)改为O(n), 具体详情请参看我的博文: http://blog.csdn.net/tyler_download/article/details/49820515

2015-11-16

Learning AndEngine

AndEngine 是android开放的经典引擎,它能提供的框架能极大的提高android平台上的游戏开发质量和效率,当然,到现在它已经老了,引擎源代码有两年未更新,但国内有不少开源的游戏引擎,例如OGEngine都是基于AndEngine的,而且OGEngine文档做的很差,要想有效的运用OGEngine,学校AndEngine看似必不可少,这里将描写AndEngine最好的开发书籍共享,但愿起到抛砖引玉的作用

2015-03-26

Information Retrieval: Implementing and Evaluating Search Engines

这是一本讲诉搜索开发技术的书,在亚马逊上评分为五星。众所周知,搜索引擎很多技术都很成熟了,但其实践的成本很高,因此,很多相关书籍讲解的大多是概念,而计算机科学的内核是实践,没法动手做的东西,意义都不大。本书特点在于它基于一个信息检索的开源系统Wumpus,使得理论和实践能够结合起来,这或许是它在亚马逊有五星的原因吧,希望有志于信息检索的各位同仁能充书里获得应有的收获

2015-02-10

Android 4.4 App Development Essential

亚马逊上五星级的android开发入门书,它将android开发的概念,流程娓娓道来,详细讲解了开发环境的搭建,调试,并逐步讲解开发的各个知识点,并提供动手实践的实例和程序,极大地降低了学习曲线,是想进入android移动开发的绝佳入门资料

2014-11-21

NUnit Pocket Reference

该书介绍了.net c# 最成熟和流行的单元测试框架NUnit的技术,微软内部也在用该工具做单元测试,任何想提高代码质量或想转入TDD开发的.net c# 工程师都值得一读,该书在亚马逊上有4.5星,以下是英文介绍: Few .NET developers have the luxury of unlimited code testing once their application is complete, and rushing through the testing process is both problematic and stressful. The open source NUnit framework provides an excellent and efficient way to test and improve .NET code as it's written, saving hundreds of QA hours and headaches.NUnit is one of the most mature and widely-used .NET open source projects even Microsoft uses it internally. NUnit is a unit-testing framework for all .Net languages. Written entirely in C#, NUnit takes advantage of many .NET language features, such as custom attributes and other reflection related capabilities. It automates unit testing and reduces the effort required to frequently test code while developing it. NUint is invaluable for .NET developers in test-driven development under agile methodologies such as Extreme Programming (XP) as well as for developers who use for unit testing for software quality assurance. Unfortunately, some of those valuable hours saved by using NUnit can be wasted trying to master this powerful but under-documented frameworkProof that good things come in small packages, the NUnit Pocket Reference is a complete reference to NUnit, filling in the blanks left by the existing documentation and online discussion. It offers developers everything they need to know to install, configure, and use NUnit; the NUnit user interface; and a reference to the NUnit framework classes in a slim but well-organized package. This handy little book even offers practical, real world NUnit examples. And with the NUnit Pocket Reference, IT managers will know to expect when they implement unit testing in their projects. It is the only book you'll need on this popular and practical new open source framework.

2014-10-29

C# Design Pattern Essentials mobi

一本通过c#描述设计模式的书,书中通过代码一步一步引导你理解学习各种设计模式,通过代码实践增强各种设计模式的了解。原有经典的四人帮设计模式书 design pattern elements of reusable oriented software 大多是理论而缺乏实践,该书是对四人帮的书的良好补充

2014-10-09

空空如也

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

TA关注的人

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