- EhViewer:轻量级且高性能的漫画探索神器
芮奕滢Kirby
EhViewer:轻量级且高性能的漫画探索神器EhviewerEhviewer-Overhauled/Ehviewer:EhviewerOverhauled是一个开源的安卓应用,主要用于浏览和下载e-hentai.org和exhentai.org网站上的内容。该项目是对原版EhViewer应用的改进版本。项目地址:https://gitcode.com/gh_mirrors/ehv/Ehviewe
- HDU2196Computer 树形dp
Vibrant
传送门解法1树的直径参考博客#include//树的直径#defineMAXN10010usingnamespacestd;typedefpairP;intdis[MAXN],Max,root;vectora[MAXN];voidInit(intn){Max=0;for(inti=1;iMax)Max=sum,root=now;for(inti=0;i//记忆化搜索#defineMAXN10010
- 【LINUX】阿里云linux服务器上使用iptables设置安全策略的方法_status=$(grep -i ubuntu etc issue)
2401_85154737
linux服务器阿里云
yuminstall-yiptablesiptables安装好后就可以来配置规则了。由于作为web服务器来使用,所以对外要开放80端口,另外肯定要通过ssh进行服务器管理,22端口也要对外开放,当然最好是把ssh服务的默认端口改掉,在公网上会有很多人试图破解密码的,如果修改端口,记得要把该端口对外开发,否则连不上就悲剧了。下面提供配置规则的详细说明:第一步:清空所有规则当ChainINPUT(po
- 乐鑫ESP-HMI方案人机交互,设备彩屏显示新体验,启明云端乐鑫代理商
启明云端wireless-tag
乐鑫方案物联网乐鑫无线方案交互显示屏
在数字化浪潮的推动下,人机交互的方式正在经历一场深刻的变革。用户对于智能设备的需求不再局限于基本的功能操作,而是期望能够通过更加直观、自然的方式与设备进行交流。这种需求催生了一系列创新的芯片方案,它们通过集成高性能的计算核心和丰富的外设接口,为智能设备赋予了新的生命。这些芯片不仅能够处理复杂的数据和算法,还能够通过触摸、语音甚至视觉识别来响应用户的指令。在数字化时代,用户体验成为了产品设计的核心。
- 【nvm】误操作npm install npm@latest -g如何回退
纳米小川
nodejsnvmnpm前端node.jsnpmnvm
加入电脑原来的node版本是14.19.1,那误操作npminstallnpm@latest-g后的npm版本已经不适用node版本了,此时要做回退操作1、查看当前可下载nodejs的最高版本nvmlistavailable2、下载最新的node版本nvminstall20.16.03、使用最新的node版本nvmust20.16.04、查看node14.19.1对应的npm版本npm6.x:通常
- 2021极术通讯-Arm十年最大更新:V9架构正式发布
极术社区
Arm技术arm芯片人工智能
首发极术社区如对Arm相关技术感兴趣,欢迎私信aijishu20加入技术微信群。导读:极术社区推出极术通讯,引入行业媒体和技术社区、咨询机构优质内容,定期分享产业技术趋势与市场应用热点。芯方向Arm十年最大更新:V9架构正式发布作为Arm的VisionDay活动的一部分,Arm正式发布了该公司的新一代Armv9架构的首个细节,为Arm未来十年内成为下一个3000亿芯片的计算平台奠定了基础。Arm认
- MySQL数据库运维:深度解析与实践指南
野老杂谈
数据库mysql运维
欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏:+V:LAF20151116进行更多交流学习⭐️全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题.⭐️AIGC时代的创新与未来:详细讲解AIGC的概念、核心技术、应用领域等内容。⭐️全流程数据技术实战指南:全面讲解从数据采集到数据可视化的整个过程,掌握构建现代化数据平台和数据仓库的核心技术和方法。⭐
- 12306抢票软件 python抢票脚本
T仔_y
pythonpython开发语言机器学习
只供学习参考,现在12306加了预填信息功能了,用官方的更靠谱!一、使用tkinter编写可视化图形编写可视化图形代码importtkinterastkfromtkinterimportmessageboxfromdatetimeimportdatetimebeg_time=Nonetrain_num_1=Nonetrain_num_2=Nonetrain_num_3=Nonelogin_flag
- 使用Python实现12306自动化抢票
柳绿花红云淡风轻
pythonpythonselenium软件测试
今天实现用python实现自动访问12306网站并抢票准确工作1.下载Chrome驱动,需要与chrome版本保持一致如何查看chrome浏览器版本-百度经验(baidu.com)2.下载代码中的相关包,主要selenuim、splinter注意事项:sleep设置时注意爬取速度限制,chrome版本与驱动器版本需要保持一致,由于12306图片验证码复杂,登录时需要手动选择验证图片。如何查看城市的
- docker基础用法
先饮乌龙茶
linuxdocker
文章目录OCI&OCFdocker架构docker镜像与镜像仓库docker对象docker的安装及使用docker安装docker加速docker常用操作OCI&OCFOCIOCI(OpenContainerInitiative)Linux基金会于2015年6月成立组织,旨在围绕容器格式和运行时制定一个开放的工业化标准,包括容器运行时的规范和镜像文件的规范。OCFOCF(OpenContaine
- swap function & copy-and-swap idiom
leon4ever
在C++中,一个资源管理类(例如含有指向堆内存的指针)中需要重新定义拷贝构造函数、赋值运算符以及析构函数(BigThree),在新标准下还可能需要定义移动构造函数和移动赋值预算法(BigFive)。但实际上,这条规则还可以有一个小拓展。就是在资源管理类中,往往需要重新定义自己的swap函数来作为优化手段。1.Swap函数首先考察如下例子,假设类HashPtr中含有一个指向string的指针*ps和
- Qt无边框窗口实现拖动和改变大小
dragoo1
c++#qtqt窗口拖动移动边框
主要参考了https://blog.csdn.net/qq_16952303/article/details/51974502?locationNum=8&fps=1,但原文章在某些情况下,鼠标形状不刷新,改进了一版。MyResizeWidget.h#ifndefMYRESIZEWIDGET_H#defineMYRESIZEWIDGET_H#include#defineEDGE_MARGIN8na
- python正则表达式(.*?)以及compile的用法示例
测试老孔
pythonpython正则表达式
在Python开发爬虫过程中经常会遇到正则表达式,其中(.*?)的使用概率较高,那么这个正则表达式到底什么意思呢?“.*?”表示非贪心算法,表示要精确的配对“.*”表示贪心算法,表示要尽可能多的匹配“()”表示要获取括弧之间的信息Python提供re模块,包含所有正则表达式的功能。由于Python的字符串本身也用\转义,所以要特别注意:s='ABC\\-001'#Python的字符串#对应的正则表
- OWASP: OWASP Dependency-Check install and usage 安裝與使用說明
Chia-Te Kuan
OWASP經驗談分析工具c++SBOMSTQClinuxc语言
contentVariablesHowtoinstallOWASPDependency-CheckJAVAInstallationyarnInstallationImportYarnGPGkeysandenableYarnreponpmNET8.0InstallationDownloadDependency-checkandinstallHowtorundependency-checkGenera
- MySQL运维学习(1):4种日志
入门如入土
学习
1.错误日志mysql错误日志记录了mysql发生任何严重错误时的信息,若数据库无法正常使用时,可以先查看错误日志默认情况下错误日志是开启的,文件名为/var/log/mysqld.log,如果文件不在默认位置,可以通过下面的命令查看其位置:showvariableslike'%log_error%';由于错误日志内的文件行很多,可以用tail命令查看其尾部信息tail-n10/var/log/m
- C++ | Leetcode C++题解之第391题完美矩形
Ddddddd_158
经验分享C++Leetcode题解
题目:题解:typedefpairPoint;classSolution{public:boolisRectangleCover(vector>&rectangles){longarea=0;intminX=rectangles[0][0],minY=rectangles[0][1],maxX=rectangles[0][2],maxY=rectangles[0][3];mapcnt;for(au
- C++ | Leetcode C++题解之第218题天际线问题
Ddddddd_158
经验分享C++Leetcode题解
题目:题解:classSolution{public:vector>getSkyline(vector>&buildings){autocmp=[](constpair&a,constpair&b)->bool{returna.second,vector>,decltype(cmp)>que(cmp);vectorboundaries;for(auto&building:buildings){bo
- Databend Meta-Service 架构概述
Databend
架构
Databend的meta-service是一个基于Raft共识算法的分布式服务。其核心架构可以概括为一个Raft应用,如图中虚线框所示。Raft协议的主要组成部分包括:分布式日志(Log)状态机(StateMachine)分布式日志日志主要用于记录分布式系统的操作。当一条日志被写入本地并通过网络同步到其他Raft节点后,系统会等待日志在多数节点上完成持久化。一旦达到多数派写入,该日志条目就被视为
- AI 内容创作:思考与实践
三余知行
「计算通践」人工智能内容创作RAG强化学习协同思考与实践
文章目录LLM与RAGLLMRAGRAG定制策略AI写作助手演示内容层次结构与内容深度优化有效的主题与段落结构内容深度的多样性与独特性提高文本逻辑性与连贯性模拟实践内容评测与优化迭代机制内容评测自动迭代优化机制评估指标模拟实践个性化写作与AI协同写作用户画像与需求分析内容推荐用户体验增强语气调节技巧实时协作与版本控制任务自动分配创意碰撞伦理与责任原创性与抄袭问题社会责任透明性与用户知情权偏见与公平
- C++ | Leetcode C++题解之第390题消除游戏
Ddddddd_158
经验分享C++Leetcode题解
题目:题解:classSolution{public:intlastRemaining(intn){inta1=1;intk=0,cnt=n,step=1;while(cnt>1){if(k%2==0){//正向a1=a1+step;}else{//反向a1=(cnt%2==0)?a1:a1+step;}k++;cnt=cnt>>1;step=step<<1;}returna1;}};
- 北航计算机软件技术基础课程作业&笔记【5】
robinbird_
数据结构笔记算法
题目(文章一周后公开~)sort1.快排算法核心思路:选取(一般是)当前数组第一个元素作为中间值mid,将数组按照比mid小/大分为两半,再对子数组进行同样操作(二叉树前序遍历)具体操作:主要是分2半那里,可以巧妙一些地来遍历,所以用到了left和right指针(重合时就遍历完了),同时自己写的时候用了一下right_flag表示是否要看右边与mid做比较(网上有更好的,我只是自己这样写了而已)左
- AI数字人爆款视频创作实战课,一个人一部手机小白0基础上手教程
全网优惠分享君
随着科技的不断发展,AI数字人在各个领域的应用越来越广泛,尤其是在视频创作领域。如今,越来越多的人开始关注如何利用AI数字人进行视频创作,并且希望通过学习相关课程来掌握这一技能。为此,我们推出了一门名为“AI数字人爆款视频创作实战课”的课程,旨在帮助没有任何基础的小白用户快速上手,创作出属于自己的爆款视频。在本课程中,我们将从零开始,详细讲解AI数字人在视频创作中的应用,以及如何利用AI数字人快速
- 周四 2020-01-09 08:00 - 24:30 多云 02h10m
么得感情的日更机器
南昌。二〇二〇年一月九日基本科研[1]:1.论文阅读论文--二小时十分2.论文实现实验--小时3.数学SINS推导回顾--O分4.科研参考书【】1)的《》看0/0页-5.科研文档1)组织工作[1]:例会--英语能力[2]:1.听力--十分2.单词--五分3.口语--五分4.英语文档1)编程能力[2]:1.编程语言C语言--O分2.数据结构与算法C语言数据结构--O分3.编程参考书1)陈正冲的《C语
- 前端安全-加密
姜慧慧
前端工程安全前端https
1密码安全1.1泄露渠道数据库被盗服务器被入侵通讯被窃听内部人员泄露其他网站(撞库)1.2防御严禁明文存储单向变换变换复杂度要求密码复杂度要求加盐(防止拆解)1.3哈希算法明文-密文一一对应彩虹表记录明文密文一一对应表,容易破解两次md5加密也容易破解所以密码必须复杂加盐加盐可以使密码更加难破解加盐+字符串+密码雪崩效应-明文:明文小幅度变化,密文加剧变化密文:明文无法反推密文固定长度:md5sh
- Image size does not match the measurement in camera parameters Halcon错误代码 8428
gojava
halconhalcon
在做标定的时候,用自己采的图片,运行到下面这一行,就报上面的错find_calib_object(ImageScaled,CamCalibDataID,0,0,I,[],[])原因是在给定初始相机内参的时候错误,我是直接用了halcon自带的内参文件,这个内参文件对图片尺寸大小和我自己的不符合,如下图,这个是我的图片尺寸这个是halcon自动文件内给图片设定的尺寸我们将自己的尺寸进行替换,就正常了
- 机器学习之 K-均值聚类算法
维生素¥
机器学习机器学习算法均值算法
K-均值(K-means)聚类算法是一种常用的无监督学习算法,用于将数据集划分为K个不同的簇。该算法通过迭代的方式将数据点分配到最近的簇中,并更新簇的中心,直到收敛为止。一、K-均值聚类算法的基本步骤:初始化K个簇的中心点(可以随机选择或者根据数据集初始化)。将每个数据点分配到最近的簇中。更新每个簇的中心点为该簇所有数据点的平均值。重复步骤2和3,直到簇的中心点不再改变或达到指定的迭代次数。二、K
- 硬加密和软加密
Angus sonder
加密算法安全
一、加密方法不同1、软加密:是指通过特定的软件算法进行加密。2、硬加密:作为物理加密技术,其主要是通过芯片对硬盘中的每一个字符、每一个数据进行加密,这有些像早期的微电码。二、数据保护方式不同1、软加密:通过加密软件的方法来实现加密功能,并不对数据进行转换运算。2、硬加密:硬加密可将需要保护的数据转换成不可识别的数据模块。其在2000/XP的加密下,除了安装其本身驱动程序外,不需要安装其它任何驱动软
- 增量更新
世道无情
1.概述在我们开发的过程中,对于版本更新,按照我们一般套路都是在app刚一打开的时候,直接从服务器中下载最新的版本,然后下载安装就行。但是如果你app新的版本比较大,20M、30M的话,如果让用户下载,可能会比较耗流量、耗时间,需要用户去等待,所以这个时候就出现了增量更新。2.增量更新原理图如下增量更新原理.png3.增量更新算法核心比如用户手中当前版本是1.0,服务器中是2.0,并且服务器中肯定
- Jenkins 通过 Version Number Plugin 自动生成和管理构建的版本号
让梦想疯狂
Jenkinsjenkins
步骤1:安装VersionNumberPlugin登录Jenkins的管理界面。进入“ManageJenkins”->“ManagePlugins”。在“Available”选项卡中搜索“VersionNumberPlugin”。选中并安装插件,完成后可能需要重启Jenkins。步骤2:配置版本号生成打开项目配置页面。在下方找到“BuildEnvironment”,勾选“Createaformat
- HALCON 错误代码 #7709
聪明不喝牛奶
Halcon+CSharp深度学习halcon深度学习
前言最近在研究halcon的深度学习,在环境配置上花了不少的功夫搞定,结果正要开始训练分类的第二个train文件就出现了一个错误,报7709,折腾了三天才解决。原因报7709主要的原因有如下几个原因:1、就是你选的cuda版本和cudnn的不匹配,这个原因应该大家在选择的时候注意一下版本对比的话可以避免,基本上不是这个原因造成的。2、显卡的驱动版本的过低,需要下载一个驱动精灵升级一下显卡的驱动,但
- github中多个平台共存
jackyrong
github
在个人电脑上,如何分别链接比如oschina,github等库呢,一般教程之列的,默认
ssh链接一个托管的而已,下面讲解如何放两个文件
1) 设置用户名和邮件地址
$ git config --global user.name "xx"
$ git config --global user.email "
[email protected]"
- ip地址与整数的相互转换(javascript)
alxw4616
JavaScript
//IP转成整型
function ip2int(ip){
var num = 0;
ip = ip.split(".");
num = Number(ip[0]) * 256 * 256 * 256 + Number(ip[1]) * 256 * 256 + Number(ip[2]) * 256 + Number(ip[3]);
n
- 读书笔记-jquey+数据库+css
chengxuyuancsdn
htmljqueryoracle
1、grouping ,group by rollup, GROUP BY GROUPING SETS区别
2、$("#totalTable tbody>tr td:nth-child(" + i + ")").css({"width":tdWidth, "margin":"0px", &q
- javaSE javaEE javaME == API下载
Array_06
java
oracle下载各种API文档:
http://www.oracle.com/technetwork/java/embedded/javame/embed-me/documentation/javame-embedded-apis-2181154.html
JavaSE文档:
http://docs.oracle.com/javase/8/docs/api/
JavaEE文档:
ht
- shiro入门学习
cugfy
javaWeb框架
声明本文只适合初学者,本人也是刚接触而已,经过一段时间的研究小有收获,特来分享下希望和大家互相交流学习。
首先配置我们的web.xml代码如下,固定格式,记死就成
<filter>
<filter-name>shiroFilter</filter-name>
&nbs
- Array添加删除方法
357029540
js
刚才做项目前台删除数组的固定下标值时,删除得不是很完整,所以在网上查了下,发现一个不错的方法,也提供给需要的同学。
//给数组添加删除
Array.prototype.del = function(n){
- navigation bar 更改颜色
张亚雄
IO
今天郁闷了一下午,就因为objective-c默认语言是英文,我写的中文全是一些乱七八糟的样子,到不是乱码,但是,前两个自字是粗体,后两个字正常体,这可郁闷死我了,问了问大牛,人家告诉我说更改一下字体就好啦,比如改成黑体,哇塞,茅塞顿开。
翻书看,发现,书上有介绍怎么更改表格中文字字体的,代码如下
 
- unicode转换成中文
adminjun
unicode编码转换
在Java程序中总会出现\u6b22\u8fce\u63d0\u4ea4\u5fae\u535a\u641c\u7d22\u4f7f\u7528\u53cd\u9988\uff0c\u8bf7\u76f4\u63a5这个的字符,这是unicode编码,使用时有时候不会自动转换成中文就需要自己转换了使用下面的方法转换一下即可。
/**
* unicode 转换成 中文
- 一站式 Java Web 框架 firefly
aijuans
Java Web
Firefly是一个高性能一站式Web框架。 涵盖了web开发的主要技术栈。 包含Template engine、IOC、MVC framework、HTTP Server、Common tools、Log、Json parser等模块。
firefly-2.0_07修复了模版压缩对javascript单行注释的影响,并新增了自定义错误页面功能。
更新日志:
增加自定义系统错误页面功能
- 设计模式——单例模式
ayaoxinchao
设计模式
定义
Java中单例模式定义:“一个类有且仅有一个实例,并且自行实例化向整个系统提供。”
分析
从定义中可以看出单例的要点有三个:一是某个类只能有一个实例;二是必须自行创建这个实例;三是必须自行向系统提供这个实例。
&nb
- Javascript 多浏览器兼容性问题及解决方案
BigBird2012
JavaScript
不论是网站应用还是学习js,大家很注重ie与firefox等浏览器的兼容性问题,毕竟这两中浏览器是占了绝大多数。
一、document.formName.item(”itemName”) 问题
问题说明:IE下,可以使用 document.formName.item(”itemName”) 或 document.formName.elements ["elementName&quo
- JUnit-4.11使用报java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing错误
bijian1013
junit4.11单元测试
下载了最新的JUnit版本,是4.11,结果尝试使用发现总是报java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing这样的错误,上网查了一下,一般的解决方案是,换一个低一点的版本就好了。还有人说,是缺少hamcrest的包。去官网看了一下,如下发现:
- [Zookeeper学习笔记之二]Zookeeper部署脚本
bit1129
zookeeper
Zookeeper伪分布式安装脚本(此脚本在一台机器上创建Zookeeper三个进程,即创建具有三个节点的Zookeeper集群。这个脚本和zookeeper的tar包放在同一个目录下,脚本中指定的名字是zookeeper的3.4.6版本,需要根据实际情况修改):
#!/bin/bash
#!!!Change the name!!!
#The zookeepe
- 【Spark八十】Spark RDD API二
bit1129
spark
coGroup
package spark.examples.rddapi
import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.SparkContext._
object CoGroupTest_05 {
def main(args: Array[String]) {
v
- Linux中编译apache服务器modules文件夹缺少模块(.so)的问题
ronin47
modules
在modules目录中只有httpd.exp,那些so文件呢?
我尝试在fedora core 3中安装apache 2. 当我解压了apache 2.0.54后使用configure工具并且加入了 --enable-so 或者 --enable-modules=so (两个我都试过了)
去make并且make install了。我希望在/apache2/modules/目录里有各种模块,
- Java基础-克隆
BrokenDreams
java基础
Java中怎么拷贝一个对象呢?可以通过调用这个对象类型的构造器构造一个新对象,然后将要拷贝对象的属性设置到新对象里面。Java中也有另一种不通过构造器来拷贝对象的方式,这种方式称为
克隆。
Java提供了java.lang.
- 读《研磨设计模式》-代码笔记-适配器模式-Adapter
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
package design.pattern;
/*
* 适配器模式解决的主要问题是,现有的方法接口与客户要求的方法接口不一致
* 可以这样想,我们要写这样一个类(Adapter):
* 1.这个类要符合客户的要求 ---> 那显然要
- HDR图像PS教程集锦&心得
cherishLC
PS
HDR是指高动态范围的图像,主要原理为提高图像的局部对比度。
软件有photomatix和nik hdr efex。
一、教程
叶明在知乎上的回答:
http://www.zhihu.com/question/27418267/answer/37317792
大意是修完后直方图最好是等值直方图,方法是HDR软件调一遍,再结合不透明度和蒙版细调。
二、心得
1、去除阴影部分的
- maven-3.3.3 mvn archetype 列表
crabdave
ArcheType
maven-3.3.3 mvn archetype 列表
可以参考最新的:http://repo1.maven.org/maven2/archetype-catalog.xml
[INFO] Scanning for projects...
[INFO]
- linux shell 中文件编码查看及转换方法
daizj
shell中文乱码vim文件编码
一、查看文件编码。
在打开文件的时候输入:set fileencoding
即可显示文件编码格式。
二、文件编码转换
1、在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式
&
- MySQL--binlog日志恢复数据
dcj3sjt126com
binlog
恢复数据的重要命令如下 mysql> flush logs; 默认的日志是mysql-bin.000001,现在刷新了重新开启一个就多了一个mysql-bin.000002
- 数据库中数据表数据迁移方法
dcj3sjt126com
sql
刚开始想想好像挺麻烦的,后来找到一种方法了,就SQL中的 INSERT 语句,不过内容是现从另外的表中查出来的,其实就是 MySQL中INSERT INTO SELECT的使用
下面看看如何使用
语法:MySQL中INSERT INTO SELECT的使用
1. 语法介绍
有三张表a、b、c,现在需要从表b
- Java反转字符串
dyy_gusi
java反转字符串
前几天看见一篇文章,说使用Java能用几种方式反转一个字符串。首先要明白什么叫反转字符串,就是将一个字符串到过来啦,比如"倒过来念的是小狗"反转过来就是”狗小是的念来过倒“。接下来就把自己能想到的所有方式记录下来了。
1、第一个念头就是直接使用String类的反转方法,对不起,这样是不行的,因为Stri
- UI设计中我们为什么需要设计动效
gcq511120594
UIlinux
随着国际大品牌苹果和谷歌的引领,最近越来越多的国内公司开始关注动效设计了,越来越多的团队已经意识到动效在产品用户体验中的重要性了,更多的UI设计师们也开始投身动效设计领域。
但是说到底,我们到底为什么需要动效设计?或者说我们到底需要什么样的动效?做动效设计也有段时间了,于是尝试用一些案例,从产品本身出发来说说我所思考的动效设计。
一、加强体验舒适度
嗯,就是让用户更加爽更加爽的用
- JBOSS服务部署端口冲突问题
HogwartsRow
java应用服务器jbossserverEJB3
服务端口冲突问题的解决方法,一般修改如下三个文件中的部分端口就可以了。
1、jboss5/server/default/conf/bindingservice.beans/META-INF/bindings-jboss-beans.xml
2、./server/default/deploy/jbossweb.sar/server.xml
3、.
- 第三章 Redis/SSDB+Twemproxy安装与使用
jinnianshilongnian
ssdbreidstwemproxy
目前对于互联网公司不使用Redis的很少,Redis不仅仅可以作为key-value缓存,而且提供了丰富的数据结果如set、list、map等,可以实现很多复杂的功能;但是Redis本身主要用作内存缓存,不适合做持久化存储,因此目前有如SSDB、ARDB等,还有如京东的JIMDB,它们都支持Redis协议,可以支持Redis客户端直接访问;而这些持久化存储大多数使用了如LevelDB、RocksD
- ZooKeeper原理及使用
liyonghui160com
ZooKeeper是Hadoop Ecosystem中非常重要的组件,它的主要功能是为分布式系统提供一致性协调(Coordination)服务,与之对应的Google的类似服务叫Chubby。今天这篇文章分为三个部分来介绍ZooKeeper,第一部分介绍ZooKeeper的基本原理,第二部分介绍ZooKeeper
- 程序员解决问题的60个策略
pda158
框架工作单元测试
根本的指导方针
1. 首先写代码的时候最好不要有缺陷。最好的修复方法就是让 bug 胎死腹中。
良好的单元测试
强制数据库约束
使用输入验证框架
避免未实现的“else”条件
在应用到主程序之前知道如何在孤立的情况下使用
日志
2. print 语句。往往额外输出个一两行将有助于隔离问题。
3. 切换至详细的日志记录。详细的日
- Create the Google Play Account
sillycat
Google
Create the Google Play Account
Having a Google account, pay 25$, then you get your google developer account.
References:
http://developer.android.com/distribute/googleplay/start.html
https://p
- JSP三大指令
vikingwei
jsp
JSP三大指令
一个jsp页面中,可以有0~N个指令的定义!
1. page --> 最复杂:<%@page language="java" info="xxx"...%>
* pageEncoding和contentType:
> pageEncoding:它