- 博客(28)
- 资源 (1)
- 收藏
- 关注
原创 LLVM中矩阵Matrix的实现分析
如前所述,VF决定了整合的向量的元素个数,LLVM通过以下代码来实现,C = 4,R = 5,当I + BlockSize > R时,会不断对BlockSize取半,确保了除1以外的其它向量元素个数都是偶数,BlockSize初值为4,第0列第0行时,I + BlockSize = 4 < R,所以取4个元素作为一组向量,第0列第5行时,I + BlockSize = 8 > R,BlockSize在while循环中最终算得1后满足条件。假设矩阵A乘矩阵B等于矩阵C,元素类型都是int,如下所示。
2022-12-21 11:57:12
682
1
原创 基于LLVM的Fortran编译器分析
目前基于LLVM的Fortran编译器(或者驱动)有3种,分别是flang、f18和flang-new。flang是pgfortran的开源版本,基于PGI/NVIDIA的商业Fortran 编译器,它并不从属于LLVM项目。NVIDIA团队在2018年宣布了Fortran的新前端——f18,f18是使用现代 C++ 从头开始编写的,它将与 LLVM 最佳实践紧密结合,并以 LLVM 和 clang 的风格编写,f18已经被纳入为LLVM子项目。flang-new是一
2022-12-07 20:24:06
1529
原创 基于LLVM的AFL分析
Fuzzing是指通过构造测试输入,对软件进行大量测试来发现软件中的漏洞的一种模糊测试方法。当前大多数远程代码执行和特权提升等比较严重的漏洞都是使用Fuzzing技术挖掘的,Fuzzing技术被证明是当前鉴别软件安全问题方面最强大测试技术。然而Fuzzing技术仍然存在着覆盖率低的缺陷,而许多的代码漏洞需要更大的路径覆盖率才能触发,而不是通过纯粹的随机尝试。AFL (American Fuzzy Lop)是一款采取遗传算法生成用例的Fuzzing工具,可以有效地解决这些问题。AFL有两种Fuzzing方
2022-12-04 12:32:45
878
1
原创 zuul转发请求之重组参数
使用过Srping Cloud的同学都知道,zuul是用来做API网关的,对于没有用户状态的系统,通常在zuul中做一些参数的验签等;对于有用户状态的系统,通常在zuul中校验用户身份,通过后根据access token查出用户的id,并将id等其它参数注入到request中。目前API请求用的比较多的Content-Type是application/json,这种类型对于常规的接口请求是完全可...
2019-07-22 16:11:36
1604
原创 Java实现生成图形验证码功能
图形验证码是系统中比较常见的一个功能,网上也有不少现成的解决方案,比如https://gitee.com/whvse/EasyCaptcha。EasyCaptcha其实已经很方便了,但是它会要在某路径下生成一张实体图片,并且没有返回base64串的实现,本文就是为了解决这两个问题,实现过程中借鉴了EasyCaptcha的部分算法。设计允许指定验证码的宽、高和字体大小:#验证码图片高cw.c...
2019-07-09 17:25:12
423
原创 WPF图片预览之移动、旋转、缩放
RT,这个功能比较常见,但凡涉及到图片预览的都跑不了,在说自己的实现方式前,介绍一个好用的控件:Extended.Toolkit中的Zoombox,感兴趣的同学可以去搜一下这个控件,它封装了常用的预览功能。开始撸代码,整理一下思路先: 首先打算用一个Window来展示图片,但是QQ、微信预览图片的时候,任务栏并没有出现图标,难道用了什么黑科技?不管
2019-03-19 12:37:10
3691
2
原创 InstallShield 2018同时打包32位和64位
InstallShield可谓打包神器,之前用的是2013版的,作为VS的一个项目模板使用,这次尝试了下2018版的,显然,功能更强大了。由于现在的电脑系统都分64位和32位,这就要求打包的时候可能需要针对两种不同的系统打包,过去,我们不得不通过InstallShield新建两个项目各自打包,现在,我们可以利用InstallShield 2018的Features(其实我也不知道Features...
2019-03-19 12:00:05
3822
3
原创 renren开源导航栏点击同一菜单不刷新页面问题
最近一个项目使用了renren-security这个开源框架,先纵览一下外观,嗯,确认过眼神,是传统管理后台的样子~使用过程中发现,当在导航栏中点击同一菜单时,iframe并不会刷新,其实这也不算个问题,奈何产品经理就要这个功能,只好看看人家源码是怎么写的了,很容易在index.js中就找到了控制路由的代码(真正的开源应当如此*▽*):function routerList(router,...
2018-10-17 15:27:14
1311
2
原创 Spring Boot中通过AOP实现统一日志解决方案
日志是整个系统中非常重要的一环,JAVA中也有很多日志框架,本文实现了在Spring Boot中利用logback和aop统一处理日志。本文比较简单,已记录为主O(∩_∩)O~首先在resources目录下新建logback-spring.xml作为logback的配置文件:<?xml version="1.0" encoding="UTF-8"?><configurati...
2018-10-10 12:20:12
8641
3
原创 Spring Boot中使用缓存Redis、EhCache
缓存相信各位同学都或多或少用到过,毕竟不能把所有压力都给数据库。今天来简单总结一下下在Spring Boot中使用Redis和EhCache缓存O(∩_∩)O~Spring Boot本身是支持多种缓存实现的,其中提供了4个注解来帮助大家使用缓存:@EnableCaching 开启缓存支持@Cacheable 先检查缓存是否存在,若存在,则直接返回缓存中结果;若不存在,则执行方法获取结果,并...
2018-09-17 20:03:07
967
原创 记一次Linux线上环境搭建
ε=(´ο`*)))唉,好久不见,最近项目比较忙,再加上还要写论文,转眼半年过去了……终于,项目要上线了,这边记录一下服务器上环境的搭建过程,主要是jdk、nginx、redis的安装,好记性不如烂笔头嘛~准备工作: 1.到各个官网上去把各种包先下下来。 2.在服务器上安装lrzsz,可以编译安装或者yum安装,这里自然是推荐yum安装啦~ yum install -y lrzsz ...
2018-06-07 14:42:32
1463
2
原创 WPF全局窗口错误提示框
不管是CS还是BS,在需要用户提交数据的页面上,总是要做一些校验,如果校验有错就要给用户提示,WPF里自然也避免不了这个问题。一开始,我是在窗口上预留了一个TextBlock,并且设置其Visibility=Collapsed,当校验有错的时候,再把这个TextBlock显示出来,这样做是可以实现既定需求,但是这样却会影响整个窗口的布局,以下图举个例子: 现在这个TextBlock隐藏在输入框
2017-12-19 16:50:04
3404
原创 WPF无边框窗口鼠标拖动缩放大小
通常,我们会 通过AllowsTransparency=”True”、 WindowStyle=”None” 这两个属性将wpf窗口的边框去掉,由于边框没了,我们就不能通过鼠标指针悬停在某一边上拖动改变窗口的大小,此时若要能调整窗口大小,官方倒也提供了个属性:ResizeMode=”CanResizeWithGrip”,这么一设置,我们会发现窗口右下角多出一个三角标记,此时可以将鼠标指正悬停在这个标
2017-10-24 16:56:25
7741
3
原创 WPF头像裁剪
需求很常见,就是用户上传头像前进行固定大小的裁剪。 百度一番,找到几个差不多的, 其一 http://download.youkuaiyun.com/detail/tianhaosen/7159901,这个的实现方式是截图框大小固定不变,背景图可以通过鼠标拖动和鼠标滚轮缩放,经过测试,这个对图片的裁剪不是很准确,尤其是大图或者靠近图片边缘裁剪的时候会出现较大误差,然后我尝试调整了下截图位置的算法,但多少还是
2017-06-23 15:49:57
882
1
原创 WPF仿QQ聊天框表情文字混排实现
图中分别有文件、文本+表情、纯文本的展示,对于同一个list不同的展示形式,很明显,应该用多个DataTemplate,那么也就需要DataTemplateSelector了:class MessageDataTemplateSelector : DataTemplateSelector { public override System.Windows.D
2017-06-06 16:42:10
9362
14
原创 WPF TreeView大数据量多层级搜索定位
今天主要说一说公司组织架构这一块,需求是在搜索框输入员工姓名或者首字母,搜索框实时自动匹配到存在的员工,选中某一员工后在组织结构层级树中定位到该员工,就类似于PC版QQ的搜索框。 综上,我们涉及到的控件主要有两个:1.搜索框 2.TreeView 了解WPF的同学肯定立马会想到这个搜索框应该用AutoCompleteB
2017-05-24 16:19:00
5292
1
原创 使用Blat发邮件
定时发送邮件相信很多人都遇到过,比如说每天7点整,要把前24小时在网站上产生的数据提交给相应的部门做后期处理。今天我们来介绍一款“短小精悍”的小工具——Blat,来实现这个功能! What is Blat? Blat is a Windows (32 & 64 bit) command line utility that sends eMail using SMTP or post to use
2017-04-10 17:06:02
6714
原创 JS导出Excel
今天分享一下如何在前端应用中导出excel。如果你是用angular,那么可以使用ng-csv,ng-csv导出的是csv文件,并不是.xls等常规excel格式的文件,但是csv也是可以通过excel打开的,属于曲线救国吧- -地址:http://ngmodules.org/modules/ng-csv使用方法: 1.将ng-csv.min.js引用到index.html中,并且还要同时引入an
2017-03-29 16:00:12
400
原创 MySQL的日常使用
呐,作为后台程序猿,必不可少的要与数据库打交道,所以今天记录下平时工作中遇到的一些sql问题。 数据库操作,大家用的最多的应该就是select了,使用select我们要记住一个原则:尽量使每次查询的结果集够小! 比如一个嵌套查询A(1000)B(100)C(10),括号中为每个查询结果的行数,如果我们按ABC来执行,那么显然比按CBA执行耗时更长。 为了执行效率的提高,正常都会给某些关键字段加
2017-03-13 17:34:17
489
原创 前后端对请求参数排序
签名校验相信不少小伙伴都有碰到过,微信jsapi集成、支付宝集成的时候都会需要加上签名。 这边记录一下当待签名内容是json字符串时的排序方法。后端(java): 方法一:利用TreeMap TreeMap本身就是有序集合,每一次插入删除都会进行排序。Map<String, String> map = new TreeMap<String, String>();往map中插入请求参数…JSON
2017-01-22 10:04:21
4592
原创 AngularJS跨域和session失效问题
跨域问题: response.setHeader(“Access-Control-Allow-Methods”, “POST, GET, OPTIONS, DELETE”); response.setHeader(“Access-Control-Max-Age”, “3600”); response.setHeader(“Access-Contr
2016-11-25 14:22:30
5159
原创 AngularJS之手机端input图片上传(续)
为啥要写个续呢?解决一个问题:图片压缩BTW,本文是针对ajax提交,如果本身就是form表单提交就不需要看了。上一篇里说到h5可以用FileReader获取到图片信息,如base64,按道理这就可以传给服务端了,但是当图片很大的时候,这个字符串可能会写满好几张a4纸,这显然不合适,再者字符串太大服务端也接受不到- -于是发送之前压缩一下是个不错的选择,上代码: var zipPic=functio
2016-11-24 17:33:47
867
原创 Java文件下载(excel)
最简单的方法就是把文件链接写到a标签的href里,但是有人说了,这样会暴露服务器的文件路径,有风险- -下面整理介绍几种通过代码实现的方法: 1, @RequestMapping("download") public ResponseEntity<byte[]> download(HttpServletRequest request) throws Exception {
2016-09-28 13:51:17
690
原创 Java调用C# dll
rt,碰到个奇怪的需求,需要用Java调用.net的dll。各种search,解决方案倒是不少,JNI,JNA,Jni4net,Javonet,Jacob… 其中jni和jna使用起来比较简单,但是都是针对c/c++的dll,如果要调c#的dll的话,据说要写一层c++的桥接,也就是说Java调c++,c++再调c#,艾玛,反正我试了下没成功- - Jni4net我也是看了看,说实话,没看懂-
2016-08-29 20:01:00
2608
原创 前端构建之bower、gulp
步骤: 1.安装node,node会安装npm(node package manager) 2.安装git,bower从远程git仓库获取代码包 3.安装bower 4.安装gulp第1步和第2步没啥好说的,直接下载安装即可。 从第3步开始,我们要用命令行。第3步: 用npm安装bower: 进入到某个文件夹下,shift+右键+w+enter,打开window命令行工具,当然你也可以
2016-07-25 18:29:00
427
原创 AngularJS之手机端input图片上传
呐,好久不见,今天要说的是input上传图片,主角上场~ <input type="file" capture="camera" accept="image/*"> 其实只要type=”file”这个属性就够了,但是由于这边是在手机上访问,要能够调起手机的照相机和相册,所以就需要有后面的属性了。现在如果我已经在相册选择一张图片了,那怎么获取图片数据呢? 传统做法就是加上onchange
2016-06-03 14:47:38
3892
原创 AngularJS和JQuery之checkbox和radio
一直觉得网页上checkbox和radio挺恶心的,不知道大家有没有同感,今天小小总结一下,如有错误,还请斧正。先看angularjs吧(用的是foundation的框架): radio:<input type="radio" name="optionsRadios" id="1" value="1" ng-model="q.radioModel"><label>{{q.optio
2016-03-14 15:10:44
707
原创 Android控件获取焦点
问题来源: 使用android:ellipsize="marquee"这个属性时,发现textview并不能实现跑马灯效果,百度之,说是要先获取焦点,于是乎,textview.requestFocus();然并卵。 然后就有了这篇文章,主角上场:requestFocus();setFocusable();setFocusableInTouchMode();先看下源码解释: 这两个方法目的是
2016-03-01 11:33:11
6253
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人