-
js通过location.search来获取页面传来的参数
这篇文章主要介绍了通过window.location.search来获取页面传来的参数,经测试是OK的 function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i"); var r = window.location.search.substr(1).match(reg); if (r!=null) ret
-
详解如何用js实现一个网页版节拍器
目录 引言 1. 需求分析 2. 素材准备 3. 开发实现 3.1 框架选型 3.2 模块设计 3.3 数据结构设计 3.4 播放逻辑 3.5 音频控制 3.6 动效 3.7 大屏展示 3.8 新增人声发音 4. 部署 5. 后续工作 5.1 目前存在的问题 ios声音 5.2 TODO 切换不同音效 引言 平时练尤克里里经常用到节拍器,突发奇想自己用js开发一个. 最后实现的效果如下:ahao430.github.io/metronome/. 代码见github仓库:github.com/ah
-
python可视化hdf5文件的操作
对于一些复杂的hdf5文件,通过可视化的方法可以比较容易的了解文件的内部结构,下面介绍基于python的一个hdf5文件的安装使用方法 1 安装vitables工具包 命令 pip install vitables 2 安装完成后在终端中使用命令 vitables 文件名.hdf5 最终实现hdf5文件的可视化,方便直观就像一层层打开文件夹一样 补充:python对于HDF5的操作 看代码吧~ import h5py #导入工具包 import numpy as np #HDF5的写入: img
-
opencv 查找连通区域 最大面积实例
今天在弄一个查找连通的最大面积的问题. 要把图像弄成黑底,白字,这样才可以正确找到. 然后调用下边的方法: RETR_CCOMP:提取所有轮廓,并将轮廓组织成双层结构(two-level hierarchy),顶层为连通域的外围边界,次层位内层边界 #include <opencv2/imgproc.hpp> #include <opencv2/highgui.hpp> using namespace cv; using namespace std; int main( int a
-
Shell执行/调用Java/Jar程序例子的实例详解
Shell执行/调用Java/Jar程序例子的实例详解 前言: 最近要写一个独立的Java程序去监控Hadoop和Oozie,通过Shell去调用.写代码到现在也4年多了,貌似就从来没在生产环境中写过一个独立的Java程序,不是部署到Tomcat就是直接丢给Hadoop.于是参考Hadoop等开源环境,自己写了一个demo,并且可以通过Ant打包生成可运行的程序.所以这里有三步:Java程序,Shell,Ant 1.首先建立Java程序,由于是例子,所以这里很简单,只是输出传入参数的个
-
Java countDownLatch如何实现多线程任务阻塞等待
我这里需要通过多线程去处理数据,然后在所有数据都处理完成后再往下执行.这里就用到了CountDownLatch.把countdownlatch作为参数传入到每个线程类里,在线程中处理完数据后执行countdown方法.在所有countdownlatch归零后,其await方法结束阻塞状态而往下执行. 具体代码如下: 将多线程任务提交线程池 @Bean(name = "ggnews_executor") public Executor postExecutor() { ThreadPoo
-
详解Guava Cache本地缓存在Spring Boot应用中的实践
概述 在如今高并发的互联网应用中,缓存的地位举足轻重,对提升程序性能帮助不小.而 3.x开始的 Spring也引入了对 Cache的支持,那对于如今发展得如火如荼的 Spring Boot来说自然也是支持缓存特性的.当然 Spring Boot默认使用的是 SimpleCacheConfiguration,即使用 ConcurrentMapCacheManager 来实现的缓存.但本文将讲述如何将 Guava Cache缓存应用到 Spring Boot应用中. Guava Cache是一个全内
-
Android中自定义View实现圆环等待及相关的音量调节效果
圆环交替.等待效果 效果就这样,分析了一下,大概有这几个属性,两个颜色,一个速度,一个圆环的宽度. 自定View的几个步骤: 1.自定义View的属性 2.在View的构造方法中获得我们自定义的属性 3.重写onMesure 4.重写onDraw 1.自定义属性: <?xml version="1.0" encoding="utf-8"?> <resources> <attr name="firstColor" f
-
linux shell 根据进程名获取pid的实现方法
导读 Linux 的交互式 Shell 与 Shell 脚本存在一定的差异,主要是由于后者存在一个独立的运行进程,因此在获取进程 pid 上二者也有所区别. 交互式 Bash Shell 获取进程 pid 在已知进程名(name)的前提下,交互式 Shell 获取进程 pid 有很多种方法,典型的通过 grep 获取 pid 的方法为(这里添加 -v grep是为了避免匹配到 grep 进程): ps -ef | grep "name" | grep -v grep | awk '{p
-
vue+django实现下载文件的示例
一.概述 在项目中,点击下载按钮,就可以下载文件. 传统的下载链接一般是get方式,这种链接是公开的,可以任意下载. 在实际项目,某些下载链接,是私密的.必须使用post方式,传递正确的参数,才能下载. 二.django项目 本环境使用django 3.1.5,新建项目download_demo 安装模块 pip3 install djangorestframework django-cors-headers 修改文件download_demo/settings.py INSTALLED_APP
-
python中如何将一个JSON文档映射为Python对象
目录 一.将一个JSON文档映射为Python对象 第一种方法 第二种方法 二.总结 前言: 文章主要包括一下三个部分: 考点:loads函数的用法. 面试题:如何将一个JSON文档映射为Python对象? 解析 一.将一个JSON文档映射为Python对象 第一种方法 供我们读取的JSON文件是test.json,文件内容如下: { "name": "孤寒者", "age": 18, "height": 130 } 首先,我
-
Springboot使用thymeleaf动态模板实现刷新
当springmvc转向springboot的时候,发现springboot默认支持thymeleaf,对于一直使用jsp的程序员,还是有点不适应. 不过研究了一会发现thymeleaf更加适合前后分离,所以果断抛弃jsp转入thymeleaf,最头疼的就是修改完之后不会自动刷新. 首先要在配置文件application.yml (或 application.properties) spring thymeleaf: cache: false #重点是这个要设置false不然会无效 prefix
-
C语言怎么获得进程的PE文件信息
一.打印Sections信息.下面的程序打印出Windows_Graphics_Programming 1.1中第三个程序"Hello World Version 3:Create a Full-Screen Window"生成的可执行文件的Sections结构字节的信息 #include<stdio.h> #include<windows.h> char *strPath="C:/c1_hwv3/Debug/c1_hwv3.exe"; in
-
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
前言 Vue3.x 即将来袭,使用 TypeScirpt 重构,TypeScript 将成为 vue 社区的标配,出于一名程序员的焦虑,决定现在 Vue2.6.x 踩一波坑. vue 官方文档已经简略地对 typescript 的支持进行了介绍,我们使用 Vue Cli3 直接生成项目 创建项目 ❓为什么使用 Vue Cli3 构建项目 官方维护,后续升级减少兼容性问题 使用以下配置进行项目的生成: Babel 对 Ts 进行转译 TSLint 对 TS 代码进行规范,后续会使用 prettie
-
这应该是最详细的响应式系统讲解了
前言 本文从一个简单的双向绑定开始,逐步升级到由defineProperty和Proxy分别实现的响应式系统,注重入手思路,抓住关键细节,希望能对你有所帮助. 一.极简双向绑定 首先从最简单的双向绑定入手: // html <input type="text" id="input"> <span id="span"></span> // js let input = document.getElementByI
-
R语言编程学习从Github上安装包解决网络问题
目录 1. remotes 包安装 2. devtools 包安装 3. 从 gitee.com 上安装 4. 离线安装 1)先从 GitHub 上 下载 zip 压缩文件: 2)在本地 R Studio 上进行安装: 当我们想使用 R 安装一些 Github 相关的软件包,经常会遇到或者或那的网络问题,此时我们需要怎么做呢? 以最近大家分析疫情数据经常用的 Y叔的 nCov2019 包为例,通常我们可以使用如下的尝试顺序: 1. remotes 包安装 install.packages("re
-
Java多线程解决龟兔赛跑问题详解
目录 多线程4(龟兔赛跑-休眠线程) 1.题目 2.解题思路 3.代码详解 多线程4(龟兔赛跑-休眠线程) 1.题目 在龟兔赛跑中,领先的兔子因为通宵写博客,中途太累睡着了,跑输了乌龟.这个故事说明了兔子是爱学习的同学.咳咳,通宵是不可取的,大家别学. 实现:使用线程休眠模拟龟兔赛跑比赛 2.解题思路 创建一个类:RaceFrame,继承了JFrame.用来界面显示两个文本区域,用来输出乌龟和兔子的比赛记录,比赛开始按钮用来开始比赛. 编写内部类:Rabbit,该类实现了Runnable接口,在
-
C#利用微软自带库进行中文繁体和简体之间转换的方法
本文实例讲述了C#利用微软自带库进行中文繁体和简体之间转换的方法.分享给大家供大家参考.具体分析如下: 下面的代码是一个简单的转换范例,真正的核心转换语句只有一句话,其它的都是界面和数据相关的,使用前需要引用Microsoft.VisualBasic这个类库 /// <summary> /// 转繁体 /// </summary> /// <param name="sender"></param> /// <param name=&
-
Python简单I/O操作示例
本文实例讲述了Python简单I/O操作.分享给大家供大家参考,具体如下: 文件: poem = ''' hello world ''' f = file('book.txt', 'w') #以write模式打开文件,用于写.(写入的文件编码为UTF-8) f.write(poem) f.close() f = file('book.txt') #默认以read模式打开文件 while True: line = f.readline() #读取一行,包括行末的换行符 if len(line) =
-
Vue3+TS+Vite+NaiveUI搭建一个项目骨架实现
目录 写在前面 创建Vue3项目 开发规范 Vite配置 别名配置 环境变量 .env文件 定义环境变量 在vite.config.ts中获取环境变量 自动导入 NaiveUI的安装 写在最后 写在前面 现在已经有很多项目团队使用Vue3+TS进行开发,同时也就意味着Vue3的生态越来越完善,如果还是停留在Vue2的阶段已经out了,这篇文章将会使用Vue3+TS+NaivaUI搭建一个简单的项目骨架. 创建Vue3项目 首先我们通过Vite来创建一个Vue3+TS的一个项目,打开终端,找到我们
