我们为什么要使用路由? 原因1:一个更漂亮的URI 1.URI的改进 刚刚开始学PHP时,我们一定写过blog.php?id=1之类的URI,使用GET方式获取参数.这样的URI有两个缺点,一是容易被SQL注射攻击,二是维护性可读性差,大家可以比较下面两种URI哪一种更具备可读性. www.mysite.com/blog.php?id=1 上面URI是我们初学PHP最常用的. www.mysite.com/blog/1 这种URI是目前最流行的URI,举个例子,比如很多读书类,电影类网站,都使用…
我们为什么要使用路由? 原因1:一个更漂亮的URI 1.URI的改进 刚刚开始学PHP时,我们一定写过blog.php?id=1之类的URI,使用GET方式获取参数.这样的URI有两个缺点,一是容易被SQL注射攻击,二是维护性可读性差,大家可以比较下面两种URI哪一种更具备可读性. www.mysite.com/blog.php?id=1 上面URI是我们初学PHP最常用的. www.mysite.com/blog/1 这种URI是目前最流行的URI,举个例子,比如很多读书类,电影类网站,都使用…
往期回顾:「七天自制PHP框架」第一天:路由与控制器,点击此处 什么是模型? 我们的WEB系统一定会和各种数据打交道,实际开发过程中,往往一个类对应了关系数据库的一张或多张数据表,这里就会出现两个问题. 1.类和数据表,一方修改会导致另一方的修改,只要数据表结构不定下来,业务逻辑的开发几乎没法开工 2.获取数据时会牵涉很多SQL语句的拼接,如果数据结构变动,这些SQL需要改写 假如要开发一个博客系统,我们先设计两个Model和两张数据表 第一张数据表,表名是post,存储了博客文章,数据如下:…
往期回顾:「七天自制PHP框架」第二天:模型与数据库,点击此处 原文地址:http://www.cnblogs.com/sweng/p/6624845.html,欢迎关注:编程老头 为什么要使用设计模式? 设计模式,我的理解是为了达到"可复用"这个目标,而设计的一套相互协作的类. 感兴趣的读者可以阅读<Design Patterns: Elements of Reusable Object-Oriented Software>,四位作者(Gang of Four)在书中列举…
往期回顾:「七天自制PHP框架」第三天:PHP实现的设计模式,点击此处 原文地址:http://www.cnblogs.com/sweng/p/6624845.html,欢迎关注:编程老头 前阵子在网上关心一个话题:对于一个PHP程序员,或者Java程序员,或者C#程序员,怎么区分3年,5年,10年工作经验?工作经验是否和薪资成正比? 个人认为:无论擅长哪一种语言,都不要把自己绑在一种语言上,更不要做一个代码的搬运工.平时每写完一个项目,都留出充足的时间去思考“还有什么地方可以改进”,相信即使1…
刚刚开始学做一个WebAPP,数据查询的一般套路是通过一张PHP页面读取数据库,获得列表后“嵌写”在PHP页面中,虽然写法上丑陋至极,但也有“快糙猛”出效果的成就感,如图. 后来想想,不对啊,难道以后PHP就全这么写?还是只有这个语言是这么写?搞了搞ASP.NET,代码的美观程度也好看不到哪里去啊,“嵌写”是水平的问题,不能怪语言.于是有了新想法. 那个时候做开发时,数据的交互大量使用JSON和XML,从使用的方便角度,JSON更适合Web,于是突发奇想,干脆所有数据交互全部用JSON,连同PH…
这里以行政区数据为例: 一级行政区数据范例: 二级行政区范例: 三级行政区范例: 在Model层建立三个Model class ProvinceModel extends Model{ public static $data; public static $name; public function __construct(){ parent::__construct(); $this::$name='province_list';//name of obj $this::$table='chi…
1.web 基础-html.dom 对象.js 基本语法 Dom 对象里面涉及元素定位以及对元素的修改.因为对元素操作当中涉及的一些 js 操作,js 基本语法要会用.得要掌握前端的基本用法.为什么要元素定位?因为找到这个元素,就能告诉代码要找谁要做什么. 2.元素定位 四大基本元素定位:id name class_name tag_name 针对链接:link_text 部分文本内容:partial_link_text 万能定位方式:xpath css 常用的元素定位方式是:id xpath…
「CSP」第一届提高组考后总结 问题分析+反思 成绩 心态 考前心态 考时心态 考后心态 方法 心灵鸡汤... 在学习了三年之后,我们信竞迎来了初中最后一次大考,也是第一次 CSPCSPCSP 考试. 考试当天,我自我认为考得还是不错,但是结果却差强人意. 问题分析+反思 成绩 先说说分数吧,虽说很难看,但是也不得不说: 预估 310pts+310pts+310pts+ 实际 200pts−250pts200pts-250pts200pts−250pts 能力极限 380pts−400pts38…
基于1.1.5-alpha版本,具体源码笔记可以参考我的github:https://github.com/saigu/JavaKnowledgeGraph/tree/master/code_reading/canal 本文将对canal的binlog订阅模块parser进行分析. parser模块(绿色部分)在整个系统中的角色如下图所示,用来订阅binlog事件,然后通过sink投递到store. parser模块应该来说是整个项目里面比较复杂的模块,代码非常多. 因此,本文根据过程中的主线来…
项目 内容 这个作业属于哪个课程 2021学年春季软件工程(罗杰 任健) 这个作业的要求在哪里 团队项目-初次邂逅,需求分析 在这个课程的目标是 锻炼在大规模开发中的团队协作能力 这个作业在哪个具体方面帮助我实现目标 通过在实践中分析一款软件产品,来切实体会软件工程在实际工作与生活中的应用 NABCD模型 如下是我们项目的NABCD模型,在这个模型的基础上,我们计划在Demo完成后投放在「腾讯应用宝」平台发布我们的软件,预估软件在发布一周后的用户量(下载量)大概在200人左右. N (Need…
「BUAA OO Unit 4 HW16」第四单元总结与课程回顾 目录 「BUAA OO Unit 4 HW16」第四单元总结与课程回顾 Part 0 第四单元作业架构设计 架构设计概要 AppRunner官方包代码简析与架构设计初步 一.AppRunner工作逻辑和流程 1. 属性 1.1 interaction 1.2 status 2. 行为 2.1 run Step 1 输入与解析模型 Step 2 输入与指令获取 Step 3 输出 二.我们的工作 1. 解析和存储元素 1.1 输入顺…
时至北京盛夏,一场由 TesterHome 主办的关于移动互联网测试技术的盛会正在紧锣密鼓的筹备中.只要你关注软件质量,热爱测试,期待学习,都欢迎你加入这次移动测试技术大会中和我们一起分享经验.探讨话题,结识业界朋友. 「Mobile Testing Summit China 2016」中国移动互联网测试大会 大会定位:专注移动互联网测试技术的分享会,关注移动互联网质量的有志之士的集会. 大会主旨:秉承着务实.能落地.有深度.高质量.重分享的原则与广大测试工程师做最新最实用的分享与交流,以推广新…
Lighting和Shading(2)镜面反射的控制和模拟次级表面散射技术 http://www.4gamer.net/games/216/G021678/20140703095/index_2.html       Cel Anime的2D图形上,由镜面发射而出现的[Specular Highlight](依赖视线的高光)的存在感并不觉得很多.但是,GUILTY GEAR Xrd -SIGN的Specular Highlight,也是基于[附加上手绘图的高光的文法]的调整的结果,可靠的附加到L…
「拥抱开源, 又见 .NET」 随着 .NET Core的发布和开源,.NET又重新回到人们的视野. 自2016年 .NET Core 1.0 发布以来,其强大的生命力让越来越多技术爱好者对她的未来满怀憧憬,越来越多的平台.框架热衷于为.NET Core不断更新的版本提供最有力的支持,如基于.NET Core开源API网关开发库 Ocelot,基于.NET Standard的ABP框架. 2019年4月20日 .NET西安社区第三次线下分享交流会如期举行并取得圆满成功:以下是活动本次活动的精彩内…
「九省联考 2018」IIIDX 这什么鬼题,送的55分要拿稳,实测有60? 考虑把数值从大到小摆好,每个位置\(i\)维护一个\(f_i\),表示\(i\)左边比它大的(包括自己)还有几个数可以选 这个最开始直接处理好,就是>=数值\(i\)的数字个数 如果我们从小到大安排,发现我们需要给当前数安排一个数值,根据贪心,这个数值要尽可能大,但又要满足一个条件,就是这个数值右边的\(\min \{f_i\}\ge siz_{now}\) 安排完了以后,需要给子树再安排一下,就把右边区间的\(f_i…
「LOJ 556 Antileaf's Round」咱们去烧菜吧 最近在看 jcvb 的生成函数课件,顺便切一切上面讲到的内容的板子题,这个题和课件上举例的背包计数基本一样. 解题思路 首先列出答案的生成函数: \[ \prod_{1\leq k \leq m}\left(\sum_{0\leq i\leq b_k} x^{ia_k}\right) \\ =\prod_{1\leq k\leq m}\left(\dfrac{1-x^{a_k{(b_k+1)}}}{1-x^{a_k}}\right…
#6046. 「雅礼集训 2017 Day8」爷 题目描述 如果你对山口丁和 G&P 没有兴趣,可以无视题目背景,因为你估计看不懂 …… 在第 63 回战车道全国高中生大赛中,军神西住美穗带领大洗女子学院的大家打败了其他所有高中,取得了胜利,当然也就不用废校了.然而一群战车道的领导表示他们是口胡的,废校还是要废的. 军神的母亲西住志穗怒斥废校男,为了不造个大新闻,废校男承诺如果大洗学院可以打败大学队,就不用废校.(有种 OI 选手 PK ACM 选手的感觉呀)然而实力差距太大了,大洗女子学院最强…
#6034. 「雅礼集训 2017 Day2」线段游戏 内存限制:256 MiB时间限制:1000 ms标准输入输出 题目类型:传统评测方式:Special Judge 上传者: 匿名 提交提交记录统计讨论测试数据   题目描述 给出若干条线段,用 (x1,y2),(x2,y2) (x_1, y_2), (x_2, y_2)(x​1​​,y​2​​),(x​2​​,y​2​​) 表示其两端点坐标,现在要求支持两种操作: 0 x1 y1 x2 y2 表示加入一条新的线段 (x1,y2),(x2,y…
LOJ#10117. 「一本通 4.1 练习 2」简单题 题目描述 题目来源:$CQOI 2006$ 有一个$n$个元素的数组,每个元素初始均为$0$.有$m$条指令,要么让其中一段连续序列数字反转——$0$变$1$,$1$变$0$(操作$1$),要么询问某个元素的值(操作$2$). 例如当$n=20$时,$10$条指令如下: 操作 回答 操作后的数组 $1\ 1\ 10$ N/A $11111111110000000000$ $2\ 6$ $1$ $11111\underline{1}1111…
LOJ#10064. 「一本通 3.1 例 1」黑暗城堡 题目描述 你知道黑暗城堡有$N$个房间,$M$条可以制造的双向通道,以及每条通道的长度. 城堡是树形的并且满足下面的条件: 设$D_i$为如果所有的通道都被修建,第$i$号房间与第$1$号房间的最短路径长度: 而$S_i$为实际修建的树形城堡中第$i$号房间与第$1$号房间的路径长度: 要求对于所有整数$i(1\le i\le N)$,有$S_i= D_i$成立. 你想知道有多少种不同的城堡修建方案.当然,你只需要输出答案对$2^{31}…
#10056. 「一本通 2.3 练习 5」The XOR-longest Path 题目描述 原题来自:POJ 3764 给定一棵 nnn 个点的带权树,求树上最长的异或和路径. 输入格式 第一行一个整数 nnn,接下来 n−1n-1n−1 行每行三个整数 u,v,wu,v,wu,v,w,表示 u,vu,vu,v 之间有一条长度为 www 的边. 输出格式 输出一行一个整数,表示答案. 样例 样例输入 4 1 2 3 2 3 4 2 4 6 样例输出 7 样例解释 最长的异或和路径是 1→2→…
题目描述 不同的雪花往往有不同的形状.在北方的同学想将雪花收集起来,作为礼物送给在南方的同学们.一共有 n 个时刻,给出每个时刻下落雪花的形状,用不同的整数表示不同的形状.在收集的过程中,同学们不希望有重复的雪花.你可以从任意 a 时刻开始,在 b 时刻停止.a 到 b 时刻中间的雪花也都将被收集.他们希望收集的雪花最多. 输入格式 第一行一个正整数 n: 第 2 行 n 个非负整数表示 n个时刻雪花的形状. 输出格式 最多能收集雪花的数量. 样例 输入样例 5 1 2 3 2 1 输出样例 3…
题目描述 一个点每过一个单位时间就会向 444 个方向扩散一个距离,如图所示:两个点 a .b 连通,记作 e(a,b),当且仅当 a .b的扩散区域有公共部分.连通块的定义是块内的任意两个点 u.v都必定存在路径 e(u,a0),e(a0,a1),…e(ak,v). 给定平面上的 n 个点,问最早什么时候它们形成一个连通块. 输入格式 第一行一个数 nnn ,以下 nnn 行,每行一个点坐标. 输出格式 输出仅一个数,表示最早的时刻所有点形成连通块. 样例 样例输入 2 0 0 5 5 样例输…
#6034. 「雅礼集训 2017 Day2」线段游戏 内存限制:256 MiB 时间限制:1000 ms 标准输入输出 题目类型:传统 评测方式:Special Judge 上传者: 匿名 题目描述 给出若干条线段,用 (x1,y2),(x2,y2) 表示其两端点坐标,现在要求支持两种操作: 0 x1 y1 x2 y2 表示加入一条新的线段 (x1,y2),(x2,y2): 1 x0 询问所有线段中,x 坐标在 x0 处的最高点的 y 坐标是什么,如果对应位置没有线段,则输出 0 . 输入格式…
Loj #6503. 「雅礼集训 2018 Day4」Magic 题目描述 前进!前进!不择手段地前进!--托马斯 · 维德 魔法纪元元年. 1453 年 5 月 3 日 16 时,高维碎片接触地球. 1453 年 5 月 28 日 21 时,碎片完全离开地球. 1453 年,君士坦丁堡被围城,迪奥娜拉接触到四维泡沫空间,成为魔法师,最终因高维碎片消失失去魔力而身死. 为了改写这段历史,你不惜耗费你珍藏已久的魔术卡来回到魔法纪元元年. 在使用这些魔术卡之前,你却对它们的排列起了兴趣... 桌面上…
Loj #2479. 「九省联考 2018」制胡窜 题目描述 对于一个字符串 \(S\),我们定义 \(|S|\) 表示 \(S\) 的长度. 接着,我们定义 \(S_i\) 表示 \(S\) 中第 \(i\) 个字符,\(S_{L,R}\) 表示由 \(S\) 中从左往右数,第 \(L\) 个字符到第 \(R\) 个字符依次连接形成的字符串.特别的,如果 \(L > R\) ,或者 \(L < [1, |S|]\), 或者 \(R < [1, |S|]\) 我们可以认为 \(S_{L,…
有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1-SpringBoot+Mybatis 环境搭建 SpringBoot图文教程2-日志的使用「logback」「log4j」 SpringBoot图文教程3-「'初恋'情结」集成Jsp SpringBoot图文教程4-SpringBoot 实现文件上传下载 SpringBoot图文教程5-SpringBoo…
纠结的我,给我的JVM系列终于起了第三个名字,害,我真是太难了.从 JVM 到 每日五分钟,玩转 JVM 再到现在的给产品经理讲 JVM ,虽然内容为王,但是标题可以让更多的人看到我的文章,所以,历经了三个选题,最终定下来了这个. 这个名字的由来,且听我给你慢慢道来,从学习知识的角度上来说,最深入的方法就是把知识讲给别人听,那么为什么我要讲给程序员的天敌--产品经理呢? 那么问题的答案很简单,因为我「老婆」就是一个「产品经理」哈哈哈哈哈哈哈(听说现在流行这样玩? 认识的时候她是 Java 开发来…
基于1.1.5-alpha版本,具体源码笔记可以参考我的github:https://github.com/saigu/JavaKnowledgeGraph/tree/master/code_reading/canal 本文将对canal的启动模块deployer进行分析. Deployer模块(绿色部分)在整个系统中的角色如下图所示,用来启动canal-server. 模块内的类如下: 为了能带着目的看源码,以几个问题开头,带着问题来一起探索deployer模块的源码. CanalServer…