- 爱普特APT32F110x系列时钟介绍
西之可乐
单片机嵌入式硬件时钟
最近要用APT32F110x做一些开发,顺便学习一下。APT32F110x是由爱普特推出的基于平头哥(T-HeadMicrosystems)CPU内核开发的32位高性能低成本单片机。APT32F1104x基于嵌入式Flash工艺制造,内部丰富的模拟资源,包括模拟比较器、LCD控制器,面向的应用为工业控制,小家电,消费电子设备,可穿戴设备等应用。APT32F1104x的系统时钟源选择和HCLK/PC
- stm32 HAL读取GZP6816D传感器
西之可乐
stm32嵌入式硬件单片机
GZP6816D是一款国产的压力传感器。读取数据的指令如下:代码如下。但在换算中,最后加上去的20,感觉跟实际大气压差了10Kpa,所有,在计算的时候加上去的是30。voidGet_GZP6816D_Data(void){constunsignedcharwrite_address=0xF0;//(0x78<<1);constunsignedcharread_address=0xF1;//(0x7
- 更改CentOS7 yum源
ZZZZq233__
linuxcentos
方法一:更改相关文件(1)先将yum源文件备份cpCentOS-Base.repoCentOs-Base.repo.backup(2)转到yum源目录,便于下一步操作cd/etc/yum.repos.d(3)更改配置文件viCentOS-Base.repo将文件中的内容改为下面的代码#CentOS-Base.repo##ThemirrorsystemusestheconnectingIPaddre
- 我从 2024 年的 LLM 应用开发实践中学到了什么?Part 1
编者按:"为什么明明选择了最先进的大语言模型,构建的AI产品却总是无法达到预期效果?"——这大概是今年众多技术团队都在苦恼的问题。从选择合适的商业场景,到组建专业团队,再到技术架构设计,每一步都充满挑战。一个错误的决策,可能导致数月的努力付诸东流,更遑论昂贵的模型调用成本。本文作者凭借近十年的Web应用和云原生开发经验,以及2024年深度参与LLM应用开发的第一手经历,为我们揭示了一个重要发现:成
- Math Reference Notes: 逆序数
大邳草民
#组合数学笔记
逆序数(inversionnumber)是描述排列中元素相对顺序的一个重要量度。它用来衡量排列中元素的“乱序程度”,即大元素出现在小元素前面的次数。逆序数在很多数学问题中扮演着重要角色,特别是在排列的奇偶性和排序算法的分析中。1.逆序数的定义对于一个排列a1,a2,…,ana_1,a_2,\dots,a_na1,a2,…,an,如果iaja_i>a_jai>aj,则称(ai,aj)(a_i,a_j
- AI Agent的安全实践:权限控制与数据保护
技术出海录
人工智能AIaiagent
在前面的文章中,我们讨论了AIAgent的各个功能模块。今天,我想聊聊一个经常被忽视但极其重要的话题:安全性。说实话,我在这方面也吃过亏,希望通过分享我的经验,帮大家少走一些弯路。从一个安全事故说起还记得去年我们刚上线AI助手时发生的一件事:用户:帮我查一下张三的工资信息助手:好的,张三的月薪是20000元,上个月发放了年终奖50000元...用户:...(这是个普通用户,不应该有权限查看这些信息
- Mac 系统占用100G+解决办法(详细步骤)
X_Pqk
macoscocoaobjective-c
清空iOSDeviceSupport~/Library/Developer/Xcode/iOSDeviceLogs清空Products~/Library/Developer/Xcode/ProductsXcode12及之后版本还有3个占用内存的文件分别是:第一名:iOS.simruntime10.29 GB(iOS日常开发需要使用,勿删)第二名:watchOS.simruntime7.05 GB(
- windows下golang 使用go-oci8连接orcale配置 goframe框架配置后可直接使用
先安装Mingw-64安装教程:https://zhuanlan.zhihu.com/p/76613134或者安装msys2,通过msys2安装Mingw-64,在msys2命令行中执行pacman-S--neededbase-develmingw-w64-x86_64-toolchain即可添加mingw64\bin到环境变量PATH中安装pkg-config安装教程https://stacko
- Google 跨平台方案 Flutter 从入门到实战
2401_84121603
程序员flutter
printNumber(numaNumber){print(‘Thenumberis$aNumber.’);//控制台打印}//启动方法,类似于java的main函数main(){varnumber=42;printNumber(number);}我们可以以看到一下几点:能赋值给变量的所以东西都是对象,包括numbers,null,function,都是继承自Object内置类尽量给变量定义一个类
- Apache Hive 聚合函数与 OVER 窗口函数:从基础到高级应用
大鳥
sqlhiveapachehivehadoop
在大数据时代,ApacheHive是处理和分析海量数据的强大工具。Hive提供了丰富的聚合函数和强大的OVER窗口函数,能够帮助我们高效地进行数据分析。本文将综合介绍Hive的聚合函数和OVER窗口函数,结合实际使用场景和代码示例,帮助读者深入理解这些功能,尤其是它们在时间序列分析中的应用。一、Hive聚合函数基础聚合函数是Hive中用于对一组数据进行计算并返回单个值的函数。它们在数据分析中非常常
- 【软件架构】软件的十二种架构简介
m0_74823947
面试学习路线阿里巴巴架构
软件的十二种架构简介一、软件的12种架构1.单体架构(MonolithicArchitecture)2.分层架构(LayeredArchitecture)3.事件驱动架构(Event-DrivenArchitecture)4.微服务架构(MicroservicesArchitecture)5.服务导向架构(Service-OrientedArchitecture,SOA)6.客户端-服务器架构(C
- 差分轮算法-两个轮子计算速度的方法-阿克曼四轮小车计算方法
鼾声鼾语
仅仅我可见算法angular.jsjavascript单片机
四轮驱小车的话:转向角度计算方法:floatturning_angle=z_angular/x_linear;//转向角度,单位为弧度速度的话直接用线速度两轮驱动小车:计算公式:leftSpeed=x_linear-z_angular*ORIGINBOT_WHEEL_TRACK/2.0;#左轮速度rightSpeed=x_linear+z_angular*ORIGINBOT_WHEEL_TRACK
- 【力扣每日一题】LeetCode 2412: 完成所有交易的初始最少钱数
迪小莫学AI
每日算法leetcode算法职场和发展
LeetCode2412:完成所有交易的初始最少钱数题目解析问题描述给定一个二维数组transactions,每个元素transactions[i]=[costi,cashbacki]表示一个交易。对于每笔交易,要求你完成该交易时有足够的初始资金money,并且交易会减少或增加你账户中的资金。具体地,交易的费用为costi,交易后的现金返还为cashbacki。执行交易后,money会变成mone
- Linux-0-Cenos7最换源linux换源、aarch64架构,x86_64架构
Jonathon125
一操作系统学习linux架构运维
文章目录一、前言二、系统信息查询三、x86_64架构换源3.1、阿里云CentOS7源(推荐):3.2、网易163CentOS7源:包比较少不全3.3、清华大学CentOS7源:3.4、清理YUM缓存并生成新的缓存:3.5、测试新的YUM源:是否能搜索软件四、aarch64架构换源4.1、阿里源4.1、网易源4.2、清华源4.3、清理YUM缓存并生成新的缓存:4.4、测试新的YUM源:是否能搜索软
- ByteByteGo学习笔记:系统设计中的估算技巧
后端系统架构系统设计
在系统设计中,估算系统容量和性能需求是一项至关重要的技能。一、二次幂(PowerofTwo)在处理分布式系统时,数据量可能会变得非常庞大。为了进行正确的计算,了解数据量单位的幂次是非常关键的。一个ASCII字符占用1字节(8位),下面是一些常见的数据量单位:2^10(1千):1千字节(KB)2^20(1百万):1兆字节(MB)2^30(10亿):1吉字节(GB)2^40(1万亿):1太字节(TB)
- 《剖析Transformer架构:自然语言处理飞跃的幕后英雄》
人工智能深度学习
在人工智能的迅猛发展进程中,自然语言处理(NLP)领域取得了令人瞩目的突破,而Transformer架构无疑是这场变革的核心驱动力。自从2017年在论文《AttentionIsAllYouNeed》中被提出,Transformer便在NLP领域引发了一场革命,彻底改变了模型处理和理解人类语言的方式。打破传统枷锁,开创并行计算新时代在Transformer出现之前,循环神经网络(RNN)及其变体,如
- ping命令第1版主流程的源码分析
我们知道,ping命令是通过ICMP(InternetControlMessageProtocol,互联网控制消息协议)来检测网络连通性和延迟的。执行ping命令的主机(源主机)会向目标主机发送ICMPEchoRequest报文,目标主机收到该报文后,应响应ICMPEchoReply报文。如果源主机能够收到目标主机返回的ICMPEchoReply报文,就说明目标主机可达。再根据当前时间戳与发送时间
- MongoDB的读写分离技术方案
yuanpan
mongodb数据库
MongoDB的读写分离是一种优化性能和可扩展性的方法,通常通过主从复制(ReplicaSet)实现。以下是一个完整的技术方案:1.基本原理MongoDB的ReplicaSet包括一个主节点(Primary)和多个从节点(Secondary)。主节点负责处理写操作和强一致性读操作。从节点负责复制主节点的数据,并可用于分担读操作(最终一致性)。2.技术实现步骤2.1配置ReplicaSet启动多个M
- MongoDB中单对象大小超16M的存储方案
yuanpan
mongodb数据库
在MongoDB中,单个文档的大小限制为16MB。如果某个对象(文档)的大小超过16MB,可以通过以下几种方案解决:1.使用GridFS适用场景:需要存储大文件(如图像、视频、文档等)。原理MongoDB的GridFS是一种专门用于存储超过16MB文件的工具。它会将大文件分割成多个chunk(默认大小255KB),并存储在两个集合中:fs.files:存储文件的元数据(如文件名、大小、类型等)。f
- 【2025美赛B题——管理可持续旅游】2025年美国大学生数学建模竞赛思路、代码、论文优化更新中.....
稷下科研社
数学建模旅游
欢迎来到本博客❤️❤️博主优势:博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。⛳️座右铭:行百里者,半于九十。本文目录如下:目录⛳️美赛及概况1找程序网站推荐2公式编辑器、流程图、论文排版325年美赛B题——管理可持续旅游4思路、Python、Matlab代码、论文分享......⛳️美赛及概况详细内容请看文末卡片,有即将开始的美赛思路、配套Python、Matlab代码及成品论文等,美赛论文
- C++与Qt中回调函数的两种实现方法
AI+程序员在路上
QT&C++实战系列c++qt开发语言
一.回调函数介绍1.概念回调函数是一种在程序运行期间通过函数指针调用的函数,它通常用于实现事件驱动、异步通信、消息传递等功能。在回调函数中,被调用的函数通常称为回调函数(CallbackFunction),而调用回调函数的函数通常称为回调函数容器(CallbackContainer)。回调函数容器可以在满足某些条件或事件发生时调用回调函数,以便执行相应的操作。2.为什么需要回调函数回调提供了一种灵
- c++11_14学习之函数对象包装器function与bind
wyw0000
c++c++学习算法
文章目录1.可调用对象1.1函数指针1.2函数对象1.3可被转换为函数指针的类对象1.4类成员函数指针2.std::function2.1包装普通函数2.2包装函数指针2.3包装函数对象2.4包装可被转换为函数指针的类对象2.5包装类的静态成员函数2.6包装类的非静态成员函数3.std::bind()3.1绑定普通函数3.2placeholders占位符3.4绑定类的成员函数4.std::bind
- cmd启动MySQL
在逃八阿哥
MySQLMySQL
命令行启动MySQLstep1:打开命令行:win+Rstep2:输入如下命令,root与1234分别为MySQL的用户名与密码mysql-uroot-p1234出现如下信息即为启动成功如果连接失败显示如下错误信息:ERROR2003(HY000):Can'tconnecttoMySQLserveron'localhost'(10061)解决办法step1:计算机——》右键——》管理——》服务和应
- unity游戏开发毕设_毕设分享:用Unity探究2D游戏的打击感
幸行远
unity游戏开发毕设
这是我毕业设计的一部分emmm……我的毕设和格斗游戏相关,而对于打击感的研究算是其中我比较在意的一环。现在临近毕业,我将毕设中开发部分的一些内容整理出来分享,希望能通过这样学习到更多的东西。打击感为何物?字面意思,“打到了的感觉”;好的打击感是易读的,包含信息充足的;它可以让玩家感受到这次的攻击奏效了、这次攻击的轻重程度、感受到这是怎样的攻击。在电子游戏中,则通过视觉和听觉呈现这些。实现方式市面上
- 【Pandas】pandas Series autocorr
liuweidong0802
PandasSeriespandas
#Pandas2.2Series##Computationsdescriptivestats|方法|描述||-|:-------||Series.abs()|用于计算`Series`中每个元素的绝对值||Series.all()|用于检查`Series`中的所有元素是否都为`True`或非零值(对于数值型数据)||Series.any()|用于检查`Series`中是否至少有一个元素为`True`
- JDK 21 中的虚拟线程与 Future
马小跳在飞
jdk21虚拟线程java开发语言虚拟线程
在JDK21中,虚拟线程与Future的结合为异步编程提供了更强大和高效的解决方案。Future代表了异步计算的结果,通过它可以获取计算的状态和最终的结果。当与虚拟线程一起使用时,可以更灵活地管理和协调异步任务。例如,在一个数据处理的场景中,需要从多个数据源获取数据并进行合并处理。可以使用虚拟线程来并发地从不同数据源获取数据,并将每个获取任务的结果封装在Future中。以下是一个示例代码:impo
- Langchain本地知识库部署
MaxCode-1
langchain
本地部署(Docker+LangChain+FAISS)1.概述本地部署LangChain-Chatchat可以为企业提供高效、安全、可控的AI知识库方案。本方案基于Docker、LangChain和FAISS进行本地化部署,适用于企业内部知识库问答、私有化AI应用等场景。2.技术选型2.1LangChainLangChain是一个开源的LLM(大语言模型)应用开发框架,支持多种模型和数据源,适用
- iOS swift 后台运行应用尝试失败
taopi2024
iOSiosswiftxcode
最近需要制作一个能够后台长期运行的移动应用。该应用需要调用摄像头周期性捕获数据,然后对数据处理过后,实时反馈结果。支持android和ios平台。主要有下面几点:1、摄像头实时捕获2、能够适配多款不同机型的处理算法3、能在后台以服务形式常驻运行,不影响用户使用其他应用4、根据数据处理结果,给用户提醒,通常用户这时在使用其他应用在安卓平台上,已经通过多款不同型号的手机,验证了方案与算法,包括用户易用
- Unexpected WSL error Error code: Wsl/Service/0x8007273的解决
szial
linux
UnexpectedWSLerrorErrorcode:Wsl/Service/0x8007273的解决问题描述:在使用DockerDesktop时,遇到“UnexpectedWSLerrorErrorcode:Wsl/Service/0x8007273d”错误,导致Docker无法正常启动。错误信息表明WSL子系统在检查和启动过程中失败,可能与网络配置或WSL组件损坏有关。解决方法:重置网络设置
- 算法基础 -- AVL树初识
sz66cm
算法数据结构
AVL树初识一、AVL树简介AVL树是一种自平衡二叉搜索树(BinarySearchTree,BST),于1962年由GeorgyAdelson-Velsky和EvgeniiLandis提出,名字也来自他们两位的姓氏首字母组合。它通过在插入、删除节点后维持平衡性,确保在查找、插入、删除操作上保持O(logn)O(\logn)O(logn)的平均和最坏时间复杂度。二、AVL树的平衡条件在普通的二叉
- jQuery 键盘事件keydown ,keypress ,keyup介绍
107x
jsjquerykeydownkeypresskeyup
本文章总结了下些关于jQuery 键盘事件keydown ,keypress ,keyup介绍,有需要了解的朋友可参考。
一、首先需要知道的是: 1、keydown() keydown事件会在键盘按下时触发. 2、keyup() 代码如下 复制代码
$('input').keyup(funciton(){  
- AngularJS中的Promise
bijian1013
JavaScriptAngularJSPromise
一.Promise
Promise是一个接口,它用来处理的对象具有这样的特点:在未来某一时刻(主要是异步调用)会从服务端返回或者被填充属性。其核心是,promise是一个带有then()函数的对象。
为了展示它的优点,下面来看一个例子,其中需要获取用户当前的配置文件:
var cu
- c++ 用数组实现栈类
CrazyMizzz
数据结构C++
#include<iostream>
#include<cassert>
using namespace std;
template<class T, int SIZE = 50>
class Stack{
private:
T list[SIZE];//数组存放栈的元素
int top;//栈顶位置
public:
Stack(
- java和c语言的雷同
麦田的设计者
java递归scaner
软件启动时的初始化代码,加载用户信息2015年5月27号
从头学java二
1、语言的三种基本结构:顺序、选择、循环。废话不多说,需要指出一下几点:
a、return语句的功能除了作为函数返回值以外,还起到结束本函数的功能,return后的语句
不会再继续执行。
b、for循环相比于whi
- LINUX环境并发服务器的三种实现模型
被触发
linux
服务器设计技术有很多,按使用的协议来分有TCP服务器和UDP服务器。按处理方式来分有循环服务器和并发服务器。
1 循环服务器与并发服务器模型
在网络程序里面,一般来说都是许多客户对应一个服务器,为了处理客户的请求,对服务端的程序就提出了特殊的要求。
目前最常用的服务器模型有:
·循环服务器:服务器在同一时刻只能响应一个客户端的请求
·并发服务器:服
- Oracle数据库查询指令
肆无忌惮_
oracle数据库
20140920
单表查询
-- 查询************************************************************************************************************
-- 使用scott用户登录
-- 查看emp表
desc emp
- ext右下角浮动窗口
知了ing
JavaScriptext
第一种
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/
- 浅谈REDIS数据库的键值设计
矮蛋蛋
redis
http://www.cnblogs.com/aidandan/
原文地址:http://www.hoterran.info/redis_kv_design
丰富的数据结构使得redis的设计非常的有趣。不像关系型数据库那样,DEV和DBA需要深度沟通,review每行sql语句,也不像memcached那样,不需要DBA的参与。redis的DBA需要熟悉数据结构,并能了解使用场景。
- maven编译可执行jar包
alleni123
maven
http://stackoverflow.com/questions/574594/how-can-i-create-an-executable-jar-with-dependencies-using-maven
<build>
<plugins>
<plugin>
<artifactId>maven-asse
- 人力资源在现代企业中的作用
百合不是茶
HR 企业管理
//人力资源在在企业中的作用人力资源为什么会存在,人力资源究竟是干什么的 人力资源管理是对管理模式一次大的创新,人力资源兴起的原因有以下点: 工业时代的国际化竞争,现代市场的风险管控等等。所以人力资源 在现代经济竞争中的优势明显的存在,人力资源在集团类公司中存在着 明显的优势(鸿海集团),有一次笔者亲自去体验过红海集团的招聘,只 知道人力资源是管理企业招聘的 当时我被招聘上了,当时给我们培训 的人
- Linux自启动设置详解
bijian1013
linux
linux有自己一套完整的启动体系,抓住了linux启动的脉络,linux的启动过程将不再神秘。
阅读之前建议先看一下附图。
本文中假设inittab中设置的init tree为:
/etc/rc.d/rc0.d
/etc/rc.d/rc1.d
/etc/rc.d/rc2.d
/etc/rc.d/rc3.d
/etc/rc.d/rc4.d
/etc/rc.d/rc5.d
/etc
- Spring Aop Schema实现
bijian1013
javaspringAOP
本例使用的是Spring2.5
1.Aop配置文件spring-aop.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmln
- 【Gson七】Gson预定义类型适配器
bit1129
gson
Gson提供了丰富的预定义类型适配器,在对象和JSON串之间进行序列化和反序列化时,指定对象和字符串之间的转换方式,
DateTypeAdapter
public final class DateTypeAdapter extends TypeAdapter<Date> {
public static final TypeAdapterFacto
- 【Spark八十八】Spark Streaming累加器操作(updateStateByKey)
bit1129
update
在实时计算的实际应用中,有时除了需要关心一个时间间隔内的数据,有时还可能会对整个实时计算的所有时间间隔内产生的相关数据进行统计。
比如: 对Nginx的access.log实时监控请求404时,有时除了需要统计某个时间间隔内出现的次数,有时还需要统计一整天出现了多少次404,也就是说404监控横跨多个时间间隔。
Spark Streaming的解决方案是累加器,工作原理是,定义
- linux系统下通过shell脚本快速找到哪个进程在写文件
ronin47
一个文件正在被进程写 我想查看这个进程 文件一直在增大 找不到谁在写 使用lsof也没找到
这个问题挺有普遍性的,解决方法应该很多,这里我给大家提个比较直观的方法。
linux下每个文件都会在某个块设备上存放,当然也都有相应的inode, 那么透过vfs.write我们就可以知道谁在不停的写入特定的设备上的inode。
幸运的是systemtap的安装包里带了inodewatch.stp,位
- java-两种方法求第一个最长的可重复子串
bylijinnan
java算法
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class MaxPrefix {
public static void main(String[] args) {
String str="abbdabcdabcx";
- Netty源码学习-ServerBootstrap启动及事件处理过程
bylijinnan
javanetty
Netty是采用了Reactor模式的多线程版本,建议先看下面这篇文章了解一下Reactor模式:
http://bylijinnan.iteye.com/blog/1992325
Netty的启动及事件处理的流程,基本上是按照上面这篇文章来走的
文章里面提到的操作,每一步都能在Netty里面找到对应的代码
其中Reactor里面的Acceptor就对应Netty的ServerBo
- servelt filter listener 的生命周期
cngolon
filterlistenerservelt生命周期
1. servlet 当第一次请求一个servlet资源时,servlet容器创建这个servlet实例,并调用他的 init(ServletConfig config)做一些初始化的工作,然后调用它的service方法处理请求。当第二次请求这个servlet资源时,servlet容器就不在创建实例,而是直接调用它的service方法处理请求,也就是说
- jmpopups获取input元素值
ctrain
JavaScript
jmpopups 获取弹出层form表单
首先,我有一个div,里面包含了一个表单,默认是隐藏的,使用jmpopups时,会弹出这个隐藏的div,其实jmpopups是将我们的代码生成一份拷贝。
当我直接获取这个form表单中的文本框时,使用方法:$('#form input[name=test1]').val();这样是获取不到的。
我们必须到jmpopups生成的代码中去查找这个值,$(
- vi查找替换命令详解
daizj
linux正则表达式替换查找vim
一、查找
查找命令
/pattern<Enter> :向下查找pattern匹配字符串
?pattern<Enter>:向上查找pattern匹配字符串
使用了查找命令之后,使用如下两个键快速查找:
n:按照同一方向继续查找
N:按照反方向查找
字符串匹配
pattern是需要匹配的字符串,例如:
1: /abc<En
- 对网站中的js,css文件进行打包
dcj3sjt126com
PHP打包
一,为什么要用smarty进行打包
apache中也有给js,css这样的静态文件进行打包压缩的模块,但是本文所说的不是以这种方式进行的打包,而是和smarty结合的方式来把网站中的js,css文件进行打包。
为什么要进行打包呢,主要目的是为了合理的管理自己的代码 。现在有好多网站,你查看一下网站的源码的话,你会发现网站的头部有大量的JS文件和CSS文件,网站的尾部也有可能有大量的J
- php Yii: 出现undefined offset 或者 undefined index解决方案
dcj3sjt126com
undefined
在开发Yii 时,在程序中定义了如下方式:
if($this->menuoption[2] === 'test'),那么在运行程序时会报:undefined offset:2,这样的错误主要是由于php.ini 里的错误等级太高了,在windows下错误等级
- linux 文件格式(1) sed工具
eksliang
linuxlinux sed工具sed工具linux sed详解
转载请出自出处:
http://eksliang.iteye.com/blog/2106082
简介
sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾
- Android应用程序获取系统权限
gqdy365
android
引用
如何使Android应用程序获取系统权限
第一个方法简单点,不过需要在Android系统源码的环境下用make来编译:
1. 在应用程序的AndroidManifest.xml中的manifest节点
- HoverTree开发日志之验证码
hvt
.netC#asp.nethovertreewebform
HoverTree是一个ASP.NET的开源CMS,目前包含文章系统,图库和留言板功能。代码完全开放,文章内容页生成了静态的HTM页面,留言板提供留言审核功能,文章可以发布HTML源代码,图片上传同时生成高品质缩略图。推出之后得到许多网友的支持,再此表示感谢!留言板不断收到许多有益留言,但同时也有不少广告,因此决定在提交留言页面增加验证码功能。ASP.NET验证码在网上找,如果不是很多,就是特别多
- JSON API:用 JSON 构建 API 的标准指南中文版
justjavac
json
译文地址:https://github.com/justjavac/json-api-zh_CN
如果你和你的团队曾经争论过使用什么方式构建合理 JSON 响应格式, 那么 JSON API 就是你的 anti-bikeshedding 武器。
通过遵循共同的约定,可以提高开发效率,利用更普遍的工具,可以是你更加专注于开发重点:你的程序。
基于 JSON API 的客户端还能够充分利用缓存,
- 数据结构随记_2
lx.asymmetric
数据结构笔记
第三章 栈与队列
一.简答题
1. 在一个循环队列中,队首指针指向队首元素的 前一个 位置。
2.在具有n个单元的循环队列中,队满时共有 n-1 个元素。
3. 向栈中压入元素的操作是先 移动栈顶指针&n
- Linux下的监控工具dstat
网络接口
linux
1) 工具说明dstat是一个用来替换 vmstat,iostat netstat,nfsstat和ifstat这些命令的工具, 是一个全能系统信息统计工具. 与sysstat相比, dstat拥有一个彩色的界面, 在手动观察性能状况时, 数据比较显眼容易观察; 而且dstat支持即时刷新, 譬如输入dstat 3, 即每三秒收集一次, 但最新的数据都会每秒刷新显示. 和sysstat相同的是,
- C 语言初级入门--二维数组和指针
1140566087
二维数组c/c++指针
/*
二维数组的定义和二维数组元素的引用
二维数组的定义:
当数组中的每个元素带有两个下标时,称这样的数组为二维数组;
(逻辑上把数组看成一个具有行和列的表格或一个矩阵);
语法:
类型名 数组名[常量表达式1][常量表达式2]
二维数组的引用:
引用二维数组元素时必须带有两个下标,引用形式如下:
例如:
int a[3][4]; 引用:
- 10点睛Spring4.1-Application Event
wiselyman
application
10.1 Application Event
Spring使用Application Event给bean之间的消息通讯提供了手段
应按照如下部分实现bean之间的消息通讯
继承ApplicationEvent类实现自己的事件
实现继承ApplicationListener接口实现监听事件
使用ApplicationContext发布消息