- 博客(51)
- 收藏
- 关注
原创 调研
偷懒了很久了,最近有开个专题(文章+视频,从基础原理到编码实现)的想法,不知道是PSYCHTOOLBOX(PTB)感兴趣的人多一些还是对信号处理算法感兴趣的人多一些呢。
2021-03-02 17:11:03
276
5
原创 剑指offer Java实现 第六题
第六题:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。实现思路是用栈保存数据然后利用后进先出的性质来输出数据。代码实现:ArrayList<Integer> arrayList = new ArrayList<>(); if(listNode == null){ return arrayList...
2019-06-04 19:43:49
249
2
原创 剑指offer Java实现 第五题
第五题:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。实现代码:public static String replaceSpace(StringBuffer str) { if (str == null||str.length() == 0){ return ...
2019-06-04 19:39:59
340
原创 剑指offer Java实现 第四题
代码是按照书本上的思路完成,然后通过了牛客网上的所有测试样例的第四题:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。public static boolean Find(int target, int [][] array) { if (ar...
2019-06-04 11:17:48
240
原创 剑指offer Java实现 第一题
之前看过一遍剑指offer这本书,但买的这本书是用C++实现的,现在想用Java把上面的题重新实现一遍,刷题的方法是看一下书本上的思路尝试自己写出来然后在牛客网上测试样例,下面的代码都是完整地通过了所有的测试样例。第一题:一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 pu...
2019-06-04 11:14:44
290
原创 MATLAB编程之PTB:简单的P300脑电实验
为了验证设备的可靠性,编写了一个诱发脑电P300的odd-ball范式,因为采集信号的方式不同,可能打marker的方式也就不一样,所以我就把自己给串口发送trriger的代码省略了,有需要的话可以在下面的代码的基础上加上发送trriger的代码即可。clear all;clc;fixation = imread('experiment2\cross.bmp');blank = imrea...
2019-06-04 11:07:54
5963
2
原创 分享一个简单的Java后台 SpringBoot框架项目
之前2月份的时候把之前的前端页面加了后台功能,使用了Java中的SpringBoot框架,其中版本v1.0用了原生的jdbc,GitHub地址如下:https://github.com/Arrogant95/Registration_system/tree/v1.0,而版本v1.1使用了Mybatis,GitHub地址为https://github.com/Arrogant95/Registrat...
2019-05-23 20:18:45
299
原创 redis集群分布式锁的实现与思考
分布式锁能帮助我们在分布式系统共享数据的并发中避免并发问题,要实现分布式锁必须保证加锁和解锁的操作是原子性的,redis的setnx和del刚好满足加锁和解锁的要求,下面使用setnx来实现可以超时的分布式锁:import org.jmqtt.common.config.StoreConfig;import redis.clients.jedis.JedisCluster;import j...
2019-01-20 17:12:41
2316
原创 redis集群中的模糊匹配
模糊匹配用keys *不就行了?,keys *是一次性返回所有满足条件的键,而redis是一个单线程的reactor,如果满足条件的数量很多的话就会堵塞线程,极大降低了redis的存取速度,那还有什么办法不堵塞线程的情况下进行模糊匹配呢,这个设计者肯定是已经想好了,通过scan就可以进行这样的操作。先把代码贴出来再讲一下代码的一些关键部分。public Collection&amp;amp;lt;Message...
2019-01-20 16:16:05
1938
原创 通过泛型对方法进行重用
在做项目的时候发现虽然返回值的类型不一样,但是调用的方式和方法里面的实现几乎是一致的,如果再重新写一个方法就很浪费了,通过泛型就可以对这个方法进行重用,满足了需求。下面是实现的例子: public &amp;lt;T&amp;gt; Collection&amp;lt;T&amp;gt; hgetAllMsg(String clientId,Class objectClass) { ArrayList&a
2019-01-20 15:57:20
240
原创 通过单例模式访问redis集群
之前就在阿里云服务器上搭建了集群,但如何用Java访问到redis集群呢,肯定不是一个一个节点的访问,通过像是树干一样的接口来访问redis集群,但又不能每个访问redis集群的进程都生成一个新的cluster接口,所以这里选择单例模式来实现。import org.jmqtt.common.config.StoreConfig;import redis.clients.jedis.HostAn...
2019-01-20 15:32:22
865
原创 MATLAB编程之PTB: 实验暂停
在进行一项很长的实验时如果一直让被试做实验肯定会出现疲劳效应,这时最好在每个block之间加上暂停让被试充分休息。下面是实现这个功能的函数:function in=pauseTime(wptr,i) spaceKey = KbName('space'); color = 0; s = ['现在是第' num2str(i+1) '组,如果需要继续的话就按空格键']; ...
2018-12-28 11:26:56
1856
原创 redis集群错误关闭后报错
测试的时候不小心把集群中某个节点给关闭了,然后导致用客户端连接不上整个集群,而且重新用redis-trib.rb create --replicas 1 addr:port (addr为ip,port为端口)方法来启动集群时报错了:Node XXX is not empty. Either the node already knows other n。这是因为之前集群的配置和快照都存下来了...
2018-12-25 11:43:37
562
原创 redis集群搭建踩坑指南
最近在网上一台服务器上搭建了一个3主3从的redis集群,在这记录一下搭建过程中的踩坑过程。先贴出参考的博客:https://blog.csdn.net/pistolove/article/details/58298755https://www.cnblogs.com/jasonZh/p/9547079.html坑1:版本不够,想要搭建redis集群需要redis版本足够,然后ruby版本...
2018-12-25 10:43:45
813
原创 MATLAB编程之PTB:把实验结果和实验前录入信息整合
这个函数的作用是把被试的实验数据与之前录入的被试信息整合在同一个Excel中,具体操作如下:function ret=dataMerge(name,subinfo,result) for i=1:length(result) %循环录入被试的信息 result(i,1).subject=str2double(char(subinfo(1)));...
2018-12-25 09:54:45
1557
原创 MATLAB编程之PTB:实验流程
实验代码被我删减了一点的,不过流程没啥问题的 function ret=trail(wptr,i) global t x result; fixation = imread('F:\eprime\我的实验\experiment2\cross.bmp'); blank = imread('F:\eprime\我的实验\experiment2\blank.bmp'); ...
2018-12-25 09:45:41
7259
2
原创 MATLAB编程之PTB:在实验开始前采集被试的信息
如果在实验前想先采集一下实验者的信息,就可以用到下面的代码:function subinfo = getSubInfo()prompt = {'被试编号','被试性别[1=男,2=女]','被试年龄','被试优势眼[1=左眼,2=右眼]'};dlg_title = '被试信息'; %被试的...
2018-12-25 09:35:17
2150
原创 MATLAB编程之PSYCHTOOLBOX(PTB):展示实验介绍等待按空格键进行下一步实验
这次的PTB实验我几乎每一个代码块都写了注释,应该比较容易看懂function ret=imageInstruct(wptr,prefix,postfix,fs)imgs.('img') = imread([prefix '.' postfix]);wrect = Screen('Rect',wptr);Screen('PutImage',wptr,imgs.img); %展...
2018-12-25 09:26:20
6148
4
转载 Java泛型详解和Class的使用。泛型类,泛型方法的详细使用实例
一、引入1、泛型是什么首先告诉大家ArrayList就是泛型。那ArrayList能完成哪些想不到的功能呢?先看看下面这段代码:[java]&nbsp;view plain&nbsp;copyArrayList&lt;String&gt;&nbsp;strList&nbsp;=&nbsp;new&nbsp;ArrayList&lt
2018-12-22 11:27:04
1598
转载 linux load average负载详细解释
一篇关于load average比较基础的文章,转载自http://blog.51cto.com/chaochang/2059548linux load average负载详细解释top命令中load average显示的是最近1分钟、5分钟和15分钟的系统平均负载。系统平均负载表示 系统平均负载被定义为在特定时间间隔内运行队列中(在CPU上运行或者等待运行多少进程)的平均进程数。如果一个进...
2018-11-02 11:17:15
185
原创 基于spring实现事务
想象一个银行转钱的场景,如果当转账的时候操作失误,然后钱扣了,但接收人的账号却没有钱到账,这多亏呀,所以这里就需要用到事务,事物的原子性就是事务内一个操作失败了就回滚到原来的状态,从而解决了这尴尬的局面。下面就用spring来实现上面的场景。老套路,先创建一个接口:package exchange;public interface account { void addMoney(I...
2018-10-31 20:41:20
197
原创 基于spring完成JDBC连接xampp中的phpmyadmin数据库
1.导包,导包的操作和导什么包就不说了。2.创建Dao接口,把要执行的方法封装起来:package Jdbc;public interface UserDao { void save(User u); void delete(Integer id); Jdbc.User find(Integer id);}3.创建一个类把接口的方法实现增,删,查packa...
2018-10-31 20:31:41
865
原创 spring使用注解实现aop
练手把上一段代码通过注解来实现,新建了一个package annotation ,其中User.java文件中只多了一句话package annotation;import org.springframework.stereotype.Component;@Component("user") //把对象交给spring容器并命名为userpublic class User impl...
2018-10-27 11:09:01
198
原创 基于spring实现aop
前面省略导包的过程。项目开始先创建一个接口类public interface Use { void save(); void delete();}接着根据这个借口创建一个类作为切入点public class User implements Use { @Override public void save(){ System.out....
2018-10-27 10:22:05
239
原创 Java正则表达式中appendReplacement和appendTail的使用
首先要知道appendReplacement的用法,这个方法会把匹配到的内容替换为 replaceContext,并且把从上次替换的位置到这次替换位置之间的字符串也拿到。然后appendTailde 用法是把最后一次匹配到内容之后的字符串追加到 StringBuffer 中。这两个方法的参数都是 StringBufferimport java.util.regex.Matcher;impo...
2018-09-27 11:37:20
448
原创 Java正则表达式向前引用
Pattern p = Pattern.compile("(\\d(\\d))\\2"); Matcher matcher = p.matcher("322"); System.out.println(matcher.matches());其中\2并不是匹配数字2而是代表引用前面的第2组匹配的值,所以匹配的结果会是True。做个对比 ...
2018-09-27 11:26:03
755
原创 马拉松运动员信息记录系统(基于百度地图API)
这个项目的想法是在运动员身上放置一个可以检测运动员身体状况以及位置的设备,通过将数据发送到数据库然后通过系统就可以监测运动员的身体状况,大大提高了运动员的运动质量,同时可以给他们提供适时的,有需要的帮助。这个项目分为硬件和软件两部分,我主要负责软件部分。首先要实现在地图上可以观测到运动员的位置,并追踪,再次是显示运动员的心率、体温等信息,本来还想着弄一个报警功能,后面再准备实现。 ...
2018-09-08 16:40:09
832
原创 Python 中 is 和 ==的区别
is 关键字用来判断两个引用是否指向同一个对象,如果想判断两个引用是否不是指向同一个对象,则可以使用is not。下面有一个实例。 import numpy as np import pandas as pd from datetime import time a = [1,2,3] b = a c = list(a) print(a is b) #True pri...
2018-09-02 10:45:00
253
转载 Python的拷贝和视图
转载自 https://blog.csdn.net/wangwenzhi276/article/details/53428353 ...
2018-09-01 21:58:58
260
原创 数据可视化之利用Python绘制shadeErrorBar
有时候需要用一块灰色的区域来说明数据的平均值的位置或者是最大最小值的位置,这里就用Python来绘制数据最大最小值的阴影部分:curve = [0,60,90,120,180] #X轴plt.plot(curve,NE_diff,'Db-')plt.plot(curve,CE_diff,'sy-')plt.plot(curve,AE_d...
2018-07-22 11:53:41
1902
原创 数据可视化之利用Python从Excel导入数据绘图
有时候很多数据存放在Excel文档中,我们不可能慢慢地一个一个地在再打出来使用,所以用Python把Excel里面的数据导入就很方便了。#!/usr/bin/env python# -*- coding: utf-8 -*-# @Date : 2018-05-14 08:53:48# @Arrogant : ${Arrogant} ()# @Link : http:/...
2018-07-22 11:34:08
15051
1
原创 数据可视化之利用Python绘制折线图
使用Python绘制折线图的方法如下:import matplotlib.pyplot as pltimport numpy as np#把三个折线放在同一张图内比较acc1 = [[0.853,0.5865,0.6125,0.58,0.5675],[0.473333,0.33,0.23,0.25,0.26],[0.715556,0.45,0.421111,0.411111,0.3...
2018-07-22 11:22:35
4744
原创 数据可视化之用Python绘制柱状图
最近有一些数据需要画图,于是就用到了Python,其中主要用到了matplotlib 以及用到了一点numpy,这里记录一下比较简单的柱状图绘制方法: 这里的代码非常简单,画出来的图也是很简单明了。 ...
2018-07-22 10:55:43
1643
原创 使用奇异值分解对周期信号进行去噪
奇异值很多用来在预测系统上,感觉上是线性代数上的AU分解,不过高明得多,而且奇异值在周期信号的去噪效果上效果显著,我现在写的就是奇异值分解在周期信号上的应用,主体代码是一个师兄给我的,我对代码自己搞懂了再进行了部分修改,代码如下:%=============================%==== 输入信号 ====== N=300; ...
2018-07-09 12:58:15
8729
66
原创 MATLAB实现小波变换去噪
最近在弄一个信号处理的比赛,主要用到了小波变换,先给出一个原始的小波变换的代码以供参考。clear all;clc load(‘Audio_1_resample.mat’); s=data_resample; %获取要处理的信号,data_resample是在上面.mat里的一个参数 %整个信号的长度 N = numel(s); %小波分解; [c,l]=wavedec(s...
2018-06-20 12:20:38
33443
57
原创 将一组很大的数据集随机分成两组数据
最近在看机器学习的东西时发现了一些特别好玩的东西,机器学习中又分为训练集和测试集,如何把一组很大的数据分为这两个集合呢?可以使用接下来的函数完成: 当然由于random这个随机数生成函数每次产生的数不一定都是刚好达到你的期望,所以总会有一点小小的误差。例如阈值为0.5两个数组的数量却不是一样的: 但对于一个很大的数据集来说,这点误差可以忽略。
2018-04-17 16:04:32
8286
原创 通过公式计算圆周率
’ 计算pi的值 ’ # step 1: 创建一个奇数序列: 1, 3, 5, 7, 9, …# step 2: 取该序列的前N项: 1, 3, 5, 7, 9, ..., 2*N-1.# step 3: 添加正负符号并用4除: 4/1, -4/3, 4/5, -4/7, 4/9, ...# step 4: 求和: 函数先声明符号以及和(s),通过itertools生成一串数列,限制
2017-12-20 21:54:07
4217
原创 验证用户输入的口令是否与数据库中的匹配
如果直接把用户的账号密码明目张胆地放在数据库中,当数据库被黑客入侵时所有数据都能被黑客获取了,这是一件多么可怕的事情,为了安全,最后就是在数据库中保存加密后的密码,这样黑客入侵了数据库也要花很大功夫去获取有用的资料。下面就是运用了md5的加密方式来加密数据: 这里的判断方式和我之前写的登录界面逻辑差不多,当然还有更好的方法是随机生成一个salt,然后和本来要存的密码生成更加随机哈希
2017-12-20 21:45:24
3186
原创 把任何时间输出为时间戳
我们都知道地球分为很多个时区,然后每个时区的时间都各不相同,有没有一个统一的标准来相互评价比较呢,当然是有的,在计算机中,时间实际上是用数字表示的。我们把1970年1月1日 00:00:00 UTC+00:00时区的时刻称为epoch time,记为0(1970年以前的时间timestamp为负数),当前时间就是相对于epoch time的秒数,称为timestamp。如何把每个时区的时间都转换为时
2017-12-20 21:32:21
443
原创 通过递归迭代去除=的base64解码函数
base64的解码过程中如果byte不满足转码要求的话例如(二进制数据长度需要为4的倍数),不满足的话就要通过在数据后面补‘=’,把数据补到是4的倍数,然而‘=’是没有任何含义的,如果我们在输入的时候可以不考虑输入‘=’,这就大大方便了输入,没有了那么多的限制。那么这个功能时如何实现的呢?如下: 先通过计算输入是否是4的倍数,如果不是的话就在后面加‘=’,然后再把这个新变量当成输入执行
2017-12-20 21:25:43
1006
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人