next

next-theme博客园主题

白昼怎懂夜的黑 提交于 2020-08-15 07:27:55
e x T 1 特性 A 高度还原next-theme [1] A 论文规范排版,正文字体、代码高亮、表格样式 A 文章页显示摘要、关键词 A 导航区归档、相册、搜索 A 作者信息、联系、订阅 A 响应式设计 A 自动生成目录、滚动贴顶 A 阅读进度、一键至顶、顶部进度条 U 优化评论区显示 U 优化上下文切换 2 预览 2.1 截图 2.2 样例 博客园 <=> hexo 3 选型 3.1 为什么选择博客园 经常使用搜索引擎查找某些问题会发现博客园有着良好的SEO,相比自主建站或者其他静态站点方式,省去了SEO优化和推送,便于更好的呈现和分享。 博客园用户大多是早期开发者,内容可信度高。由于没有其他平台类似的激励计划(比如X币),写文章出发点很纯粹,也就不会存在用一两句话凑一篇文章、凑一篇原创(比如CSDN),即便存在也往往就是标准答案。 搜索结果比较真实,不像CSDN,通过 在大量相干不相干的广告和文章链接中夹带着文章 ,导致可能搜索概要中含关键词但是打开文章却毫无干系,迫使在其环境下跳来跳去增加点击率和广告曝光率,却永远找不到答案。 免备案,免服务器,https,自动二级域名(xxx.cnblogs.com) 支持标准markdown,渲染准确,可完美迁移。图片不会像其他平台一样强制转内链,但还往往转不成功需要找原图再上传。 重要 :支持高度自定义

SSM框架下的javaweb学生管理系统--搭建系统结构

白昼怎懂夜的黑 提交于 2020-08-15 07:27:44
业务需求:一个登录页面,一个学生展示页面,添加、修改、删除三个功能 目的是给大家了解一个初级系统的构造,不写那么复杂的需求了。 从第一步开始:创建项目 打开eclipse,点击右上角的File-->New-->Dynamic Web project,弹出如下图的窗口 点击Next按钮后,呈现的是如下的窗口 再次点击Next按钮,呈现的是如下窗口 点击Finish按钮后就生成了student项目,可以在左侧查看到生成的student项目,下图就是刚刚生成的项目,初始的结构就是这样的 我们现在要创建各种java包src-->new-->package 点击package后,弹出如下窗口 点击Finish按钮,就新建了一个 com.student.pojo包 重复这样的动作,我们依次新建下边的包,com.student.mapper com.student.service com.student.service.impl com.student.controller 来源: oschina 链接: https://my.oschina.net/u/4340062/blog/4496428

next-theme博客园主题

爱⌒轻易说出口 提交于 2020-08-15 07:27:21
e x T 1 特性 A 高度还原next-theme [1] A 论文规范排版,正文字体、代码高亮、表格样式 A 文章页显示摘要、关键词 A 导航区归档、相册、搜索 A 作者信息、联系、订阅 A 响应式设计 A 自动生成目录、滚动贴顶 A 阅读进度、一键至顶、顶部进度条 U 优化评论区显示 U 优化上下文切换 2 预览 2.1 截图 2.2 样例 博客园 <=> hexo 3 选型 3.1 为什么选择博客园 经常使用搜索引擎查找某些问题会发现博客园有着良好的SEO,相比自主建站或者其他静态站点方式,省去了SEO优化和推送,便于更好的呈现和分享。 博客园用户大多是早期开发者,内容可信度高。由于没有其他平台类似的激励计划(比如X币),写文章出发点很纯粹,也就不会存在用一两句话凑一篇文章、凑一篇原创(比如CSDN),即便存在也往往就是标准答案。 搜索结果比较真实,不像CSDN,通过 在大量相干不相干的广告和文章链接中夹带着文章 ,导致可能搜索概要中含关键词但是打开文章却毫无干系,迫使在其环境下跳来跳去增加点击率和广告曝光率,却永远找不到答案。 免备案,免服务器,https,自动二级域名(xxx.cnblogs.com) 支持标准markdown,渲染准确,可完美迁移。图片不会像其他平台一样强制转内链,但还往往转不成功需要找原图再上传。 重要 :支持高度自定义

【最短路径】 SPFA算法

旧城冷巷雨未停 提交于 2020-08-15 07:23:23
  上一期介绍到了SPFA算法,只是一笔带过,这一期让我们详细的介绍一下SPFA。 1 SPFA原理介绍   SPFA算法和dijkstra算法特别像,总感觉自己讲的不行,同学说我的博客很辣鸡,推荐一个视频讲解,想看点 这里 ,算法思路如下:   1)和dijkstra一样初始化,定义一个dis[ ]数组,除了源点赋成0之外其它点都赋成正无穷,然后定义一个队列q。   2)把队列q的队首元素取出,标志为不在队中,将其作为中继点对这个队首元素的所有出边进行松弛操作(不知道松弛操作请看 这里 ),修改完dis值后,判断每一个修改过dis值的元素是否在队列q中,如果不在,就放入队尾;然后判断这个数入队的次数,如果大于n(n为点的个数),那就说明出现了负权回路,算法结束,否则继续。   3)不断循环,直到队列为空。 2 实现过程中的一些问题   question:怎么标志出队?   answer:可以定义一个vis[ ]数组,最开始全部为0,表示都不在队列中,每入队一个元素x,就把vis[x]赋成1,每出队一个元素就赋值成0。   question:怎么判断一个数入队次数?   answer:可以定义一个num[ ]数组,每入队一个元素x,就num[x]++;这个可以不写,因为题目一般不会出现负权回路。   question:怎么判断队列为空?   answer:最流行的写法是while(

Ruby 字符串操作(和 Python3 进行对比)

若如初见. 提交于 2020-08-15 04:19:46
本来是想写到 Ruby 学习笔记一块的,但是字符串操作这块的内容确实太多了,所以单独提取出来了。 Ruby 和 Python 两种语言都支持单引号和双引号的字符串。话不多说,直接上菜(为了对比明显,Ruby 中尽量去掉括号)! 字符串中嵌入变量 # Ruby [1] pry(main)> name1 = "Joe" => "Joe" [2] pry(main)> name2 = "Mary" => "Mary" [3] pry(main)> puts "你好 #{name1}, #{name2} 在哪?" 你好 Joe, Mary 在哪? => nil # Python3 >>> name1 = "Joe" >>> name2 = "Mary" >>> print(f"你好 {name1}, {name2} 在哪?") 你好 Joe, Mary 在哪? 字符串内建方法 # Ruby [4] pry(main)> myStr = String.new("THIS IS TEST") => "THIS IS TEST" [5] pry(main)> foo = myStr.downcase => "this is test" [6] pry(main)> [7] pry(main)> puts "#{foo}" this is test => nil [8] pry(main)> #

myBatis源码解析-缓存篇(2)

浪尽此生 提交于 2020-08-15 04:02:37
上一章分析了mybatis的源码的日志模块,像我们经常说的mybatis一级缓存,二级缓存,缓存究竟在底层是怎样实现的。此次开始分析缓存模块 1. 源码位置,mybatis源码包位于org.apache.ibatis.cache下,如图 2. 先从org.apache.ibatis.cache下的cache接口开始 // 缓存接口 public interface Cache { // 获取缓存ID String getId(); // 放入缓存 void putObject(Object key, Object value); // 获取缓存 Object getObject(Object key); // 移除某一缓存 Object removeObject(Object key); // 清除缓存 void clear(); // 获取缓存大小 int getSize(); // 获取锁 ReadWriteLock getReadWriteLock(); } mybatis提供了自定义的缓存接口,功能通俗易懂,没什么好解释的。有接口,必然有实现,看一下缓存接口的基本实现类PerpetualCache,所在路径为org.apache.ibatis.cache.impl下。 public class PerpetualCache implements Cache { //

ZYNQ笔记(1):PL端——led灯

时光毁灭记忆、已成空白 提交于 2020-08-15 04:02:00
  ZYNQ分为PS和PL,本篇文章实际上是Vivado中一个完整的FPGA工程的创建,正所谓万事开头难。 PS:处理系统 (Processing System) 即ARM部分 PL:可编程逻辑(Programable Logic) 即FPGA部分 一、新建工程 1.打开Vivado,新建一个工程,Next 2.设置工程名称和工程所在目录,Next 3.选择第一项:RTL Project,Next 4.添加资源,可以直接Next 5.添加约束,可以直接Next 6.芯片型号选择xc7z020clg400-1,Next 7.总结页面,Finish 8.建好后的页面如下所示 二、PL端(FPGA)设置 1.点击左侧导航栏的第一项PROJECT MANAGER --- Add Sources 2.选择Add or create design sources,点击Next 3.点击Create File来创建新的文件 4.设置文件类型、文件名、文件位置,完了点OK 5.点击Finish 6.向导会提示定义 I/O 的端口,可以不定义,后面在程序中编写即可。 7.点击Yes 8.完成之后的页面如下所示,双击左侧 led 可以打开代码编辑页面,在里面编写Verilog代码,完成后按 Ctrl+S 保存 9.添加引脚约束文件,可以点击左侧导航栏的PROJECT MANAGER --- Add

python 元组的使用方法

試著忘記壹切 提交于 2020-08-15 03:42:41
元组——tuple 列表非常适合用于存储在程序运行期间可能变化的数据集。 列表是可以修改的,但元组是不可修改的 Python将不能修改的值称为不可变的,而不可变的列表被称为元组 1. 元组的创建和删除 (1)使用赋值运算符直接创建元组 语法: tuplename = (element1, element2, element3, ....) 在Python中,元组使用一对小括号将所有的元素括起来,但是小括号不是必须的,只要将一组值用逗号分隔开,Python就可以使其为元组。 verse = "渔舟唱晚", "高山流水", "出水莲", "汉宫秋月" # 元组 如果要创建的元组中只有 一个元素 ,需要在元素的后面加上逗号,否则Python使其为 字符串 。 verse1 = ('一片冰心在玉壶') # 字符串 verse2 = ('一片冰心在玉壶',) # 元组 (2)创建空的元组 emptytuple = () (3)创建数值元组 可以使用tuple()函数直接将range()函数循环出来的结果转换为数值元组 tuple(data) data-可迭代的对象 (4)删除元组 del tuplename del语句在实际开发中,并不常用,因为Python自带的垃圾回收机制会自动销毁不用的元组,所以即使我们不手动将其删除,Python也会自动将其回收。 2. 访问元组元素 通过for循环

性能测试之Jmeter中场景设置与启动方式

与世无争的帅哥 提交于 2020-08-15 03:42:01
Jmeter场景设置与启动方式 性能测试场景是用来模拟模拟真实用户操作的工作单元,所以场景设计一定要切合用户的操作逻辑,jmeter主要是通过线程组配合其他组件来一起完成场景的设置。 线程组设置 Jmeter线程组实际上是简历一个线程池,然后根据用户的设置完成线程池的初始化,在运行时做各种逻辑处理 上图是一个线程组的配置界面,下面我们对具体的参数进行说明 name和comments 是名称和注释的配置,这里根据自己要测试的场景设置就好,最好是见名知意 Action to be taken after a sampler error 在取样器错误后要执行的操作,也就是说在某一个请求出错后的异常处理方式,有5中方式 Continue, 继续,取样器模拟的请求出错后,继续运行 在大量用户并发请求时,服务器可能会出现错误响应,这属于正常现象,此时要把错误记录下来,继续后面的请求 start next Thread Loop 如果出错,则统一脚本中的剩下的请求将不在执行,直接重新开始,比如有个场景,需要先登录后发文,这个时候如果登录失败了,那么发帖就不会成功,所以没必要继续执行,直接开始下一轮测试就好,此时就可以设置这个错误处理方式。 stop thread 停止线程,如果遇到取样器模拟的某个请求失败,则停止当前线程,不再执行,比如配置了40个线程,某个线程的请求失败,则停止当前线程

TMS320C6678开发例程使用手册(2)

怎甘沉沦 提交于 2020-08-15 03:18:36
加载GEL文件 GEL文件主要用于在仿真调试的过程中对CPU进行初始化,如PLL、DDR等,还可以执行一些调试操作。例程中使用"DSP_C6678.gel"文件进行初始化(路径:"光盘资料/Images"),配置如下CPU为1.0GHz,DDR3等效频率及对CPU风扇进行控制,其中风扇控制使用定时器15,DDR3时钟修改为1300MT/s。 点击CCS菜单"Run->Debug",弹出以下类似界面,可以看到C66xx_0到C66xx_7核,每个核都是可以单独加载GEL文件和程序镜像的。 右击对应的DSP核,在弹出的界面中选择"Open GEL Files View"选项,右下角会弹出"GEL Files(TMS320C66xx)"对话框 在对话框内点击右键,在弹出的界面中选择"Load GEL"。选择光盘资料Images目录下的GEL文件"DSP_C6678.gel",再点击确定,接着右下角的"GEL Files(TMS320C66xx)"对话框会出现Success提示语句,如下图: CCS连接开发板CPU 右击对应的DSP核,选择"Connect Target"选项,会显示Suspended状态。这说明CCS已经和开发板CPU正常连接起来了。 备注:如果此处提示"No source****"的信息,不是错误信息,可以将其忽视。 连接后将自动初始化开发板,如下图所示: