- 博客(562)
- 资源 (7)
- 收藏
- 关注

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

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

原创 编译原理动手实操,用java实现一个简易编译器-语法解析
语法和解析树:举个例子看看,语法解析的过程。句子:“我看到刘德华唱歌”。在计算机里,怎么用程序解析它呢。从语法上看,句子的组成是由主语,动词,和谓语从句组成,主语是“我”,动词是“看见”, 谓语从句是”刘德华唱歌“。因此一个句子可以分解成 主语 + 动词 + 谓语从句:句子-->主语+动词 + 谓语从句 主语是名词,因此有 :主语->名词句子里的
2016-02-21 18:03:43
13767
8

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

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

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

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

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

原创 运用面向对象的分析与设计模式巧解面试算法题
IT行业,千变万化,日新月异,身处其中的各位同仁必感同身受,特别是对从事技术开发的朋友们而言,或许能感觉到唯一不变的就是变化。对纷繁复杂的程序人生而言,其实有一个看不见的主旋律,那就是找工作,找房子,找人(另一半)。如果你是心怀梦想,浪迹于上广北深的千万大军中的一员的话,我想这一句话该是你生活的写照了。在三找中,找工作是其他两找的基础,本系列文章主要是就找工作展开而言。对开发而言,面试
2015-02-09 17:06:40
1385
原创 手撸 chatgpt 大模型:滑动窗口算法原理
大语言模型(LLM)的主要任务是:给定输入文本,它应该能够正确预测下一个单词。例如,给定句子 “llm is used to generate text”,LLM 的输入和输出如下:llm -> is llm is -> used llm is used -> generate llm is used generate -> text可以看出,这类似于使用滑动窗口将输入文本...
2024-12-12 15:51:41
364
原创 golang 实现比特币内核:如何接入 RPC 后端获得特定交易的二进制数据
本文描述了如何通过查询 rpc 后端接口的方式获得比特币交易的二进制数据
2024-11-28 18:59:26
502
2
原创 golang 实现比特币内核:transaction 结构中输入和输出两部分的一些说明
本文进一步描述了如何理解交易二进制数据中,输入和输出两部分的数据结构和解析方法
2024-11-28 18:54:08
504
原创 golang实现比特币内核:区块链交易“transaction“二进制数据结构解析和代码实现1
本文对比特币和区块链中最为关键的 transaction 概念进行详细说明,并用代码实现其二进制的解析
2024-11-28 18:43:39
189
原创 基于大模型和 RAG 的工程实战:以统计学方法将单词转换为向量
在前一节中,我们介绍了整个 RAG 过程,我们展示了需要将文档切分成更小的部分,并将其转换为某种数学向量。本节将介绍如何将文档部分转换为向量,并搜索给定文档部分作为问题上下文,以提高 LLM 的响应质量。我们需要了解的第一个概念是 TF-IDF,即“词频-逆文档频率”(Term Frequency-Inverse Document Frequency)。它是一种统计方法,用于评估某个单词在文档中的...
2024-11-22 13:08:50
918
原创 手撸 chatgpt 大模型:详解 OpenAI 用于训练 gpt3 模型的数据预处理算法:BPE
ChatGPT使用了另一种复杂的分词方案,叫做“字节对编码”(Byte Pair Encoding,简称BPE),最初这是一种数据压缩算法,让我们来看看它的过程。BPE在多次迭代中合并频繁使用的字符对。例如,给定字符串:“low low low low low lower lower newest newest newest newest newest newest widest widest w...
2024-11-17 14:48:32
763
原创 手撸 chatgpt 大模型:模型训练前的数据预处理算法详解
在将文本用于训练 LLM 模型之前,我们需要将文本转换为模型可以处理的某种数学对象。预处理的第一步是将单词转换为数字,并能够将数字转换回单词。例如,给定文本:“I love you”,我们需要将其转换为数字数组,例如 [1, 2, 3];然后,再将这些数字数组转换回原始文本,比如 [1, 2, 3] 变回 “I love you”。让我们看看如何实现这一点。首先,我们需要一些基础文本作为素材,可以...
2024-11-16 13:06:41
378
原创 手撸 chatgpt 大模型:详解 OpenAI 训练 gpt3 模型时使用的数据预处理算法:BPE
本文详细描述了 OpenAI 在训练 gpt3 模型时所使用的数据预处理算法,并给出了详细的代码实现
2024-11-16 13:00:00
1563
原创 基于 RAG 和大模型的工程实战:原生大模型应用回复质量和初步输入增强后大模型回复质量的比较研究
本文给出了没有任何增强处理情况下原生 LLM 应用输出质量和仅仅针对输入作初步增强的情况下 LLM 输出质量的提升比较研究
2024-11-13 16:03:06
316
原创 自己动手写编译器:First 集合,Follow 集合和 Select 集合
在上一节内容,我们手动设计了解析跳转表,表的行对应当前解析堆栈上的非终结符,列对应当前读取的终结符,于是对应的表格数字表示当前应该采取哪个推导表达式。本节我们看看如何自动化构建解析跳转表。首先我们引入一个概念叫 First 集合,我们先看一组表达式:statement -> LEFT_BRACKET expression RIGHT_BRACKET | expression SEMICOLO...
2024-05-07 12:35:35
1070
原创 自己动手写数据库:实现基于静态哈希的索引
数据库设计中有一项至关重要的技术难点,那就是给定特定条件进行查询时,我们需要保证速度尽可能快。假设我们有一个 STUDENT 表,表中包含学生名字,年龄,专业等字段,当我们要查询给定年龄数值的记录,如果我们能把所有记录以年龄字段排序,那么通过二分查找,我们就能快速定位满足条件的记录。如果表中包含N=1,000,000 条记录,通过二分查找就能通过大概 logN = 20 次即可,但是要遍历所有记录...
2024-04-02 16:42:13
866
一个java实现的简易编译器
2016-02-18
一个android 文本比对app的实现代码
2015-11-16
Android 4.4 App Development Essential
2014-11-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人