备份:https://zhuanlan.zhihu.com/p/46030123 代码地址:github:pyzh/gdpl-ex.poc-1 原语句是:List1为'12332234':记a为List1,b为2:求a中b的个数 整个流程是这样的: 首先断句,然后判断句属性(这个步骤其实代码里没有严格实现) 第一句里面因为只有一个[为]字,所以可以认为第一句是个赋值语句: 而第二句有一个[记]字,这个在[Ld2]的设定里面,要比[为]的优先级高,所以第二句实际上是[记+为]的定义语句: 第三句是…
tp5 r3 一个简单的SQL语句调试实例先看效果核心代码 public function index() { if (IS_AJAX && session("uid")==1){ $sql=input("post.sql"); $sql=base64_decode($sql); if ($sql){ if (preg_match('/INSERT INTO|DELETE|UPDATE\s/i', $sql, $info)){ $result=\th…
1. 什么是 markdown Markdown 是一种轻量级的「标记语言」,它的优点很多,目前也被越来越多的写作爱好者,撰稿者广泛使用.看到这里请不要被「标记」.「语言」所迷惑,Markdown 的语法十分简单.常用的标记符号也不超过十个,这种相对于更为复杂的HTML 标记语言来说,Markdown 可谓是十分轻量的,学习成本也不需要太多,且一旦熟悉这种语法规则,会有一劳永逸的效果. 2. 使用 java 实现一个简单的 markdown 语法解析器 markdown 语法解析器,可以实现将…
这是一个单文件的,适用于C语言的, JSON 读写库. 先说明,不想造轮子,代码是从这里拿来的: https://www.codeproject.com/Articles/887604/jWrite-a-really-simple-JSON-writer-in-C https://www.codeproject.com/Articles/885389/jRead-an-in-place-JSON-element-reader 觉得写得还行,和我自己构想的方式也符合,所以直接的拿来用了. 这里只是…
准备软件环境 1. 软件环境 首先,需要使用到的软件和工具环境如下: 一个最新的chrome浏览器 编辑器vscode 2. 使用的js库 代码高亮库:prismjs https://prismjs.com/download.html markdown解析库:marked.min.js https://github.com/markedjs/marked 搭建工程 创建一个md-reader目录,进入md-reader目录 1. 目录结构 然后,创建需要的文件 md-reader |----sr…
原文:https://www.iteye.com/news/32680 译者注:即使对于专业程序员来说,构造一个编译器也是颇具挑战性的任务,本文将会引导你抽丝剥茧,一探究竟! 我已经写了几篇与编程语言开发相关的文章,这让我非常兴奋!例如,在“关于 Angular 2 和 TypeScript 项目中的静态代码分析”[1]中,我研究了编译器前端的基本知识,解释了词法分析.语法分析和抽象语法树等各个阶段. 最近我发表了“开发静态类型编程语言[2] ”.本文展示了一个简单的.静态类型的函数式编程语言,…
最近准备花费很长一段时间写一些关于Java的从入门到进阶再到项目开发的教程,希望对初学Java的朋友们有所帮助,更快的融入Java的学习之中. 主要内容包括JavaSE.JavaEE的基础知识以及如何用Java语言编写一个简单的软件.一个小型的游戏.一个简易的项目.或者一些比较复杂的项目实战等等. 这些文章我不准备用概念来引入Java知识,因为这些概念类的东西网上各类教程都很齐全,初学的朋友们又会觉得概念很繁琐,所以我的这些文章主要针对于了解Java以及如何用Java语言编写一些简单的程序,所以…
背景:一个简单的带有主键的insert 语句,居然要 40ms ,开发受不了,要求降低 因此我们要关注的的 数据从插入落地的IO 中间都干了什么 一.MySQL的文件 首先简单介绍一下MySQL的数据文件,MySQL 数据库包含如下几种文件类型: 1)数据文件 (datafile) 存放表中的具体数据的文件. 2)数据字典 记录数据库中所有innodb表的信息. 3)重做日志 (redolog) 记录数据库变更记录的文件,用于系统异常crash(掉电)后的恢复操作,可以配置多个(配置这个参数in…
我们首先来简单叙述一下什么是.NET,以及C#的一个简单理解和他们俩的一个区别. 1 .NET概述 .NET是Microsoft.NET的简称,是基于Windows平台的一种技术.它包含了能在.NET Framework平台运行的所有编程语言. 2 C#概述 他是专门为.NET平台设计的一种语言. 3 .NET与C#的区别 .NET是一种平台,这种平台可以编译多种语言例如:VB,J#,而C#只是一种语言. 4 IDE IDE全称(Itergrated Developer Environment)…
1. 为啥前面还在搞haxe,现在又换到elixir了? erlang本来我就在用,用elixir不过是方便顺手给人科普而已. 2. so,接下来你打算用elixir干嘛? 很简单,写一个简单的解释器,演示一下在elixir上中文编程的可能性,及优缺点. 2.1 多久能写完? 最快国庆前.最晚,冬至前.时间有限,还望谅解…
[20190328]简单探究sql语句相关mutexes.txt --//摘要:http://www.askmaclean.com/archives/understanding-oracle-mutex.html 虽然Mutex中文翻译为互斥锁,但为了和OS mutex充分的区别,所以我们在本文里称Oracle Mutex为Mutex. Oracle中的mutex,类似于Latch,是一种低级的串行机制,用以控制对SGA中部分共享数据结构的访问控制.Oracle中的串行机制有不少,引入它们的目的…
并发编程概述   前言 说实话,在我软件开发的头两年几乎不考虑并发编程,请求与响应把业务逻辑尽快完成一个星期的任务能两天完成绝不拖三天(剩下时间各种浪),根本不会考虑性能问题(能接受范围内).但随着工作内容的变化,一些问题,它的解决方案已经让我避不开并发编程这一块知识点了.为了一劳永逸,此系列与并发编程有关的系列文章诞生,希望对各有有所帮助.   基础术语 同步(synchronization):关于协调线程或进程之间的活动,并确保被多个线程或进程访问的数据一直有效,同步允许线程和进程一致地操作…
最近在看爬虫方面的知识,看到崔庆才所著的<Python3网络爬虫开发实战>一书讲的比较系统,果断入手学习.下面根据书中的内容,简单总结一下爬虫的基础知识,并且实际练习一下.详细内容请见:https://cuiqingcai.com/5465.html(作者已把书的前几章内容对外公开). 在写爬虫程序之前需要了解的一些知识: 爬虫基础:我们平时访问网页就是对服务器发送请求(Request),然后得到响应(Response)的一个过程.爬虫通过模仿浏览器,对网页进行自动访问.需要知道请求包含哪些内…
一个简单的C++程序: #include<iostream> //头文件,因为输入cin,输出cout需要iostream using namespace std; //C++标准程序库中的所有标识符都被定义于一个名为std的namespace中 int main() //定义主函数,main 函数的返回值类型必须是 int { cout<<"比尔盖茨"<<endl; // 输出比尔盖茨的中文姓名,其中endl为换行 cout<<<…
Lucene.Net Lucene.net是Lucene的.net移植版本,是一个开源的全文检索引擎开发包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎. Lucene.net是Apache软件基金会赞助的开源项目,基于Apache License协议. Lucene.net并不是一个爬行搜索引擎,也不会自动地索引内容.我们得先将要索引的文档中的文本抽取出来,然后再将其加到Lucene.net索引中.标准的步骤是先初始化一个Analyzer.打开一个…
前言: 朋友们都期待我稳定地工作,但创业公司若要躺下,也非意念可控. 若人生注定了风雨飘摇,那就雨中前行了. 最机开始看聊新的工作机会,欢迎推荐,创业公司也可! 同时,趁着自由时间,抓紧把这系列教程给写完了. 谢谢大伙的关注和支持. 步骤1:准备好数据库和表(或视图) 由于框架支持跨数据库,所以可以先不用管系统权限的那个数据库,先随意找个数据库. 当然你也可以找个视图(只是视图就不能编辑或删除[权限控制]) 步骤2:配置数据库链接: 以数据库名+Conn 为name(这是跨库的约定,不要乱取).…
57节介绍了字节流, 58节介绍了字符流,它们都是以流的方式读写文件,流的方式有几个限制: 要么读,要么写,不能同时读和写 不能随机读写,只能从头读到尾,且不能重复读,虽然通过缓冲可以实现部分重读,但是有限制 Java中还有一个类RandomAccessFile,它没有这两个限制,既可以读,也可以写,还可以随机读写,它是一个更接近于操作系统API的封装类. 本节,我们介绍就来介绍这个类,同时,我们介绍它的一个应用,实现一个简单的键值对数据库,怎么实现数据库呢?我们先来看RandomAccessF…
小喵的唠叨话:最近很久没写博客了,一是因为之前写的LSoftmax后馈一直没有成功,所以在等作者的源码.二是最近没什么想写的东西.前两天,在预处理图片的时候,发现处理200w张图片,跑了一晚上也才处理完一半.早上的时候,出于无奈,花半小时改写了一个简单调用OpenMP的处理程序,用了30个核心,然后一小时不到就处理完了.感慨在多核的时代,即使是简单的程序,如果能支持多核,应该都能节省不少时间. 本文系原创,转载请注明出处~ 小喵的博客:http://www.miaoerduo.com 博客原文:…
目录 1 问题描述  2 解决方案  2.1  实现功能  2.2  最终运行效果图  2.3  系统功能框架示意图  2.4  有关MongoDB简介及系统环境配置  2.5  核心功能代码讲解  2.6  具体编码  2.6.1用户登录和记住密码 2.6.2用户注册 2.6.3查看商品 2.6.4购买商品 2.6.5购物车   1 问题描述 利用JSP编程技术实现一个简单的购物车程序,具体要求如下. (1)用JSP编写一个登录页面,登录信息中有用户名和密码,分别用两个按钮来提交和重置登录信息…
1 问题描述                                                利用Java EE相关技术实现一个简单的Web聊天室系统,具体要求如下. (1)编写一个登录页面,登录信息中有用户名和密码,分别用两个按钮来提交和重置登录信息. (2)编写一个Servlet程序Main.java通过请求指派来处理用户提交的登录信息,如果用户名为本小组成员的名字且密码为对应的学号时,跳转到LoginSuccess显示聊天界面(类似于QQ群聊天界面,可使用HTML中的fram…
第二章 实体数据建模基础 很有可能,你才开始探索实体框架,你可能会问“我们怎么开始?”,如果你真是这样的话,那么本章就是一个很好的开始.如果不是,你已经建模,并在实体分裂和继承方面感觉良好,那么你可以跳过本章. 本章将带你漫游使用实体框架建模的基本实例,建模是实体框架的核心特性,同时也是区别实体框架和微软早期的数据访问平台的特性.一旦建好模,你就可以面向模型编写代码,而不用面向关系数据库中的行和列. 本章以创建一个简单概念模型的实例开始,然后让实体框架创建底层的数据库,剩下的实例,将向你展示,如…
在开始做mysql分页功能组件前,便设定的是要有一定可复用性.先在项目里Views文件夹下右键新建名为_PaginationComponent.cshtml,这里html及css我采用的bootstrap分页组件,这可以参考http://v3.bootcss.com/components/. 先将生成项目效果截图呈上: 这里有需要预先知道的,是mysql分页查询与mssql分页查询实现不同点在于,mysql支持limit语句,limit格式为 limit pageIndex*pageSize,p…
---恢复内容开始--- 20135125陈智威 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ” 实验要求: mykernel实验指导(操作系统是如何工作的) 运行并分析一个精简的操作系统内核,理解操作系统是如何工作的 使用实验楼的虚拟机打开shell cd LinuxKernel/linux-3.9.4 qemu -kernel arch/x86/boot/bzImage 然后cd…
为什么你想要自己构建一个 web 框架呢?我想,原因有以下几点: 你有一个新奇的想法,觉得将会取代其他的框架 你想要获得一些名气 你遇到的问题很独特,以至于现有的框架不太合适 你对 web 框架是如何工作的很感兴趣,因为你想要成为一位更好的 web 开发者. 接下来的笔墨将着重于最后一点.这篇文章旨在通过对设计和实现过程一步一步的阐述告诉读者,我在完成一个小型的服务器和框架之后学到了什么.你可以在这个代码仓库中找到这个项目的完整代码. 我希望这篇文章可以鼓励更多的人来尝试,因为这确实很有趣.它让…
编写一个简单的C++程序 每个C++程序都包含一个或多个函数(function),其中一个必须命名为main.操作系统通过调用main来运行C++程序.下面是一个非常简单的main函数,它什么也不干,只是返回给操作系统一个值: [cpp] view plaincopy int main() { return 0; } 一个函数的定义包含四部分:返回类型(return type).函数名(function name).一个括号包围的形参列表(parameterlist,允许为空)以及函数体(fun…
使用nodejs搭建一个简单的服务器 nodejs优点:性能高(读写文件) 数据操作能力强 官网:www.nodejs.org 验证是否安装成功:cmd命令行中输入node -v 如果显示版本号表示安装成功 [常用命令] 切换盘符 d:进入文件夹 cd nodejs返回上一级目录 cd..清屏 cls展示目录 dir复制文件名 选中右键--复制历史操作 上箭头 执行文件 node 文件名(在文件文件夹目录中)停止命令行 ctrl+c nodejs可以使用的ECMAScript.读写文件.数据库操…
============================ 用一个简单的例子来理解python高阶函数 ============================ 最近在用mailx发送邮件, 写法大致如下. echo 'body'|mailx -s 'title' 'a@corp.com,b@corp.com' 不知什么原因, 在一台机器上只要mailTo中包含空格, 邮件就发送不出去. 所以需要对收件人做规范化处理, 即去除空格, 去除多余的逗号. 这个处理过程使用到了map()和reduce(…
最近一直觉得注册的账户越来越多,帐号密码神马的容易弄混.自己就折腾了一个简单的账户管理工具,其实实现也挺简单,将每个账户的密码及相关密码提示信息,经aes算法加密之后保存到数据库,当前登录用户可以查询自己的账户信息,而不是别人的.界面如下: 数据表sql语句: GO /****** Object: Table [dbo].[tb_Account] Script Date: 10/23/2013 14:00:39 ******/ SET ANSI_NULLS ON GO SET QUOTED_ID…
spring是一个很优秀的基于Java的轻量级开源框架,为了解决企业级应用的复杂性而创建的,spring不仅可用于服务器端开发,从简单性.可测试性和松耦合性的角度,任何java应用程序都可以利用这个思路进行开发,Spring的核心就是控制反转(IoC)和面向切面(AOP),总的来说,Spring是一个分层的Java轻量级框架 所谓控制反转就是利用某种技术实现低耦合,对象之间相互的依赖关系是通过被动的方式传递进来,而不是对象主动进行另外对象的使用和查找,就是说控制权交给了容器,在初始化的时候,容器…
1. 写在前面 说起B+树,大家应该都很熟悉.B+树是一种平衡的多路搜索树,广泛在操作系统和数据库系统用作索引.相比于内存的存取速度,磁盘I/O存取的开销要高上几个数量级.而将B+树用作索引时,它可以在查找过程有效地减少磁盘I/O操作次数. 一般涉及B+Tree的书籍和文章都会提到它广泛用作外存的索引中,但是并没有详细讲解怎么实现.本文打算独辟蹊径,基于以前实现过的一个程序,介绍怎么实现一个简单可用的磁盘B+树. 本文对B+树的基础知识就不再赘言.磁盘中的B+树以文件的形式将整体都存放磁盘当中,…