- 序列化和反序列化
南林yan
Linux学习网络
目录一、什么是序列化和反序列化?二、利用Jsoncpp实现序列化和反序列化1.序列化(1)使用Json::Value的toStyledString方法(2)使用Json::StreamWriterf方法(3)使用Json::FastWriterff方法2.反序列化(1)使用Json::Reader方法三、数据封装(消息定界)——解决TCP通信粘包问题一、什么是序列化和反序列化?我们之前进行网络编程
- C#实现AES-CBC加密工具类(含完整源码及使用教程)
WangMing_X
C#实现各种功能工具集c#AES-CBC加密
一、AES-CBC加密应用场景AES(AdvancedEncryptionStandard)作为全球公认的安全加密标准,广泛使用在以下场景:API通信加密:保护HTTP接口传输的敏感数据(如身份令牌、支付信息)文件安全存储:加密本地配置文件、数据库连接字符串等用户隐私保护:加密存储密码、身份证号等PII(个人身份信息)跨平台数据交换:与Java/Python等其他语言实现的加密系统互通物联网设备通
- C#知识总结
托塔1
c#开发语言
目录一、C#基础语法知识入门1.输入输出操作2.变量类型与常量2.1基础类型2.2常量3.转义字符4.类型转换4.1隐式转换规则4.2显式转换API5.运算符运算符分类与优先级6.流程控制6.1条件分支6.2循环6.3控制关键字7.异常处理二、C#基础语法知识基础1.枚举、数组、结构体vs类对比1.1枚举(Enum)1.2数组(一维/二维/交错)2.值类型vs引用类型3.字符串操作3.1核心方法3
- 使用Redis实现分布式锁的技术详解
my1121716951
redis分布式数据库
使用Redis实现分布式锁的技术详解一、引言二、分布式锁的基本概念三、Redis实现分布式锁的原理1.SETNX命令2.SET命令的扩展参数3.Lua脚本保证原子性四、Redis实现分布式锁的步骤1.引入Redis依赖2.加锁实现3.释放锁实现4.设置锁过期时间五、代码演示1.引入依赖2.加锁与释放锁的工具类3.使用示例六、注意事项与优化1.死锁问题2.锁竞争与重试机制一、引言在分布式系统中,多个
- C++ 前置递增(Preincrement)和前置递减(Predecrement)
十年一梦实验室
c++算法
我来为你详细讲解前置递增(Preincrement)和前置递减(Predecrement),以及它们与后置形式(Postincrement和Postdecrement)的区别和使用建议。什么是递增和递减运算符?在编程中,递增(increment)和递减(decrement)运算符用于将变量的值增加或减少1。它们有两种形式:前置(Prefix):运算符写在变量前面,例如++i(前置递增)或--i(前
- 使用Redis实现分布式锁的技术详解
QQ828929QQ
redis分布式数据库
使用Redis实现分布式锁的技术详解一、引言二、分布式锁的基本概念三、Redis实现分布式锁的原理1.SETNX命令2.SET命令的扩展参数3.Lua脚本保证原子性四、Redis实现分布式锁的步骤1.引入Redis依赖2.加锁实现3.释放锁实现4.设置锁过期时间五、代码演示1.引入依赖2.加锁与释放锁的工具类3.使用示例六、注意事项与优化1.死锁问题2.锁竞争与重试机制一、引言在分布式系统中,多个
- 安全密码生成器
那曾是梦
安全python
功能实现说明1.灵活配置自定义长度:输入框支持手动输入(默认12),自动校验数字类型字符组合:通过复选框实现四类字符自由组合(大写、小写、数字、符号)默认值支持:初始化时已预设常用参数(长度12,全选字符类型)2.安全增强加密安全:使用secrets模块替代random,符合NIST安全标准配置校验:未选择字符类型时抛出错误,密码长度<8时弹出警告防预测设计:字符选择后随机打乱顺序,避免模式化组合
- Java常用API:String与ArrayList的设计哲学与实践应用
shy2005_5_31
Java全栈开发学习java开发语言java-eeintellij-idea
在Java编程中,API(应用程序编程接口)是开发者最强大的工具之一。它们封装了复杂的底层逻辑,提供了简洁的调用方式。本文将聚焦Java中两个最常用的API——String和ArrayList,从底层原理到实际应用,结合深度思考,探讨它们的设计哲学与使用技巧。一、String:不可变性的艺术1.String的核心特性String类在Java中代表字符串,其核心特性是不可变性。这意味着一旦一个Str
- 深入理解Java集合框架:构建高效、灵活的数据管理方案
星河浪人
java开发语言
深入理解Java集合框架:构建高效、灵活的数据管理方案引言Java集合框架(JavaCollectionsFramework,JCF)是Java语言提供的一套用于表示和操作集合的统一架构。它包含了一系列的接口和类,用于存储和操作对象集合,如列表(List)、集合(Set)、映射(Map)和队列(Queue)等。集合框架的设计初衷是为了提供一套灵活、可重用且类型安全的集合数据结构,帮助开发者以统一和
- 【设计模式】原型模式
浅慕Antonio
设计模式设计模式原型模式c++
三、原型模式3.2原型模式同工厂模式一样,原型(Prototype)模式也是一种创建型模式。原型模式通过一个对象(原型对象)克隆出多个一模一样的对象。实际上,该模式与其说是一种设计模式,不如说是一种创建对象的方法(对象克隆),尤其是创建给定类的对象(实例)过程很复杂(例如,要设置许多成员变量的值)时,使用这种设计模式就比较合适。3.2.1通过工厂方法模式演变到原型模式回顾一下前面讲解工厂方法模式时
- C++入门基础------类的介绍
XG丶小哥
C++c++
本文是对C++的一些知识点总结以及自己的理解,建议是对于C有较好的理解或者是学过一些C++的同学使用,可以加深自己的理解!C++基础一、类的定义二、创建类对象三、访问类的成员四、类成员变量和成员函数五、C++类的访问权限六、类的简单封装七、类的构造函数八、C++构造函数初始化列表九、析构函数十、this指针十一、C++中的静态变量十二、静态函数十三、const成员函数一、类的定义类是创建对象的模板
- python的reload
风语者666
pythonjavalinux
先看看from...import...的问题#importparse_tumor_report.parse_tumor_report#这样是错的fromparse_tumor_reportimportparse_tumor_report#这个是正确用法再看reload的问题parse_report是我自定义的一个模块文件。该文件(模块)中包含了一个parse_tumor_report类。这样是没错
- C++8--赋值运算符重载
大胆飞猪
c++
1.运算符重载C++引入运算符的目的是为了增强代码的可读性。运算符重载是具有特殊函数名的函数,也具有其返回值类型,函数名字以及参数列表,其返回值类型与参数列表与普通的函数相似。函数名字为:关键字operator后面接需要重载的运算符符号函数原型:返回值类型operator操作符(参数列表)注意:不能通过连接其他符号来创建新的操作符:比如operator@重载操作符必须有一个类类型参数用于内置类型的
- C++14--内存管理(new delete)
大胆飞猪
c++
目录1.C++内存管理方式1.1new/delete操作内置类型1.2new和delete操作自定义类型2.operatornew与operatordelete函数3.new和delete的实现原理3.1内置类型3.2自定义类型4.定位new表达式(placement-new)5.malloc/free和new/delete的区别1.C++内存管理方式前言C语言内存管理在C++中可以继续使用,但是
- C++26--包装器(function bind)
大胆飞猪
c++
目录function包装器bindfunction包装器function包装器也叫作适配器。C++中的function本质是一个类模板,也是一个包装器。那么我们来看看,我们为什么需要function呢?ret=func(x);//上面func可能是什么呢?那么func可能是函数名?函数指针?函数对象(仿函数对象)?也有可能是//lambda表达式对象?所以这些都是可调用的类型!如此丰富的类型,可能
- 游戏策划学习(二)---游戏策划与开发方法---常见的游戏类型
靖簳
策划游戏策划
目录1.动作类游戏(ACT-ActionGame)2.策略类游戏(SLG-StrategyGame)3.角色扮演类游戏(RPG-RolePlayingGame)4.模拟经营类游戏(SIM-SimulationGame)5.冒险类游戏(AVG-AdventureGame)6.益智类游戏(EG-EducationalGame)7.体育类游戏(SG-SportGame)8.射击类游戏(STG-Shoot
- SpringBoot设置过滤器(Filter)或拦截器(Interceptor)的执行顺序:@Order注解、setOrder()方法
pan_junbiao
SpringSpringBoot我の原创springbootjava后端
JavaWeb过滤器、拦截器、监听器,系列文章:(1)过滤器(Filter)的使用:《Servlet过滤器(Filter)的使用:Filter接口、@WebFilter注释》《SpringMVC使用过滤器(Filter)解决中文乱码》《SpringBoot过滤器(Filter)的使用:Filter接口、FilterRegistrationBean类配置、@WebFilter注释》《SpringBo
- C++枚举算法详解
卫青~护驾!
算法数据结构c++青少年编程枚举算法
一、枚举算法核心思想枚举算法是一种通过遍历所有可能情况来解决问题的暴力搜索方法,其核心特点是:全面性:不遗漏任何可能性简单性:逻辑直接易实现低效性:时间复杂度通常较高(O(n^k))适用场景:问题规模有限且可穷举的情况(如数值范围小、维度低)二、经典案例:福尔摩斯密码破解问题描述ABCDE×?=EDCBA其中A,E,?∈[1,9],B,C,D∈[0,9]所有字符互不相同算法实现(6层嵌套循环)fo
- Java面向对象编程进阶:深入理解static、单例模式与继承
shy2005_5_31
Java全栈开发学习java单例模式开发语言
在面向对象编程(OOP)中,掌握高级特性是提升代码质量和设计能力的关键。本文基于Java语言,深入探讨static关键字、单例设计模式、继承等核心概念,并结合实际应用场景与深度思考,帮助读者构建系统化的知识体系。一、static关键字:共享与效率的基石1.静态变量vs实例变量静态变量:用static修饰,属于类,内存中仅一份,被所有对象共享。应用场景:全局计数器、配置参数。publicclassU
- VSCode 2025最新后端开发必备插件汇总(必备插件合集,Python、Java、Go等语言)
Code_流苏
实用软件与高效工具vscodepythonjava后端开发必备插件合集
前言:作为微软推出的轻量级跨平台编辑器,VSCode凭借智能代码补全、远程开发、Git集成等核心功能,已成为后端开发者首选工具。其强大的插件生态更是覆盖了主流后端语言支持、代码质量优化、性能分析等全场景需求。名人说:博观而约取,厚积而薄发。——苏轼《稼说送张琥》创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder)目录一、语言支持类插件二、代码质量和格式化工具三、数据库工具四、AP
- C++中栈的用法
冬瓜生鲜
1大学学习的算法
简单记忆,具体详细见:https://blog.csdn.net/qq_20366761/article/details/70053813c++栈的方法的基本用法:push():向栈内压入一个成员;pop():从栈顶弹出一个成员;empty():如果栈为空返回true,否则返回false;top():返回栈顶,但不删除成员;size():返回栈内元素的大小;#include#includeusin
- SpringBoot 自动装配
SilvertipSage
springboot后端java
SpringBoot自动装配:自动装配是Springboot框架的一个核心特性之一。SpringBoot的自动装配通过条件注解和自动配置类,根据应用需求自动配置组件,简化配置过程,提高开发效率不需要手动配置许多繁琐的细节,而是通过自动装配来简化配置过程好处:简化配置,减少了出错的可能性,提高了开发效率,提升了应用程序的可维护性和可扩展性。自动把第三方组件的bean加到IOC容器里,在SpringB
- C++调用Python程序方法
超级大反派@_@
C++c++python开发语言
前言:在之前做的一个项目中,要使用一段Python的代码。一般来讲可以将Python代码中的功能在C++项目中重构,但是如果Python项目太大,或者这部分是别人写的,自己不清楚整个项目的逻辑,这样重构起来就比较麻烦。这里给出了另外一种实现方法,即利用Python的API使得C++项目可以直接启动Python程序,快速在PC端验证代码功能。急性子可直接看:2.2C++调用python有参有返回值函
- C# Type类中Name、FullName、Namespace、AssemblyQualifiedName的区别
鲤籽鲲
C#c#microsoft开发语言C#知识捡漏
总目录前言在C#中,Type类提供了多种属性来获取类型的相关信息。以下是Name、FullName、Namespace和AssemblyQualifiedName这几个属性的区别和具体用途。一、获取各名称属性示例namespaceReflectionDemo{publicclassUser{}internalclassProgram{staticvoidMain(string[]args){var
- 北本海硕腾讯二面没过,该如何准备才能再战大厂?
程序员yt
面试
今天给大家分享的是一位粉丝的提问,北本海硕腾讯二面没过,该如何准备才能再战大厂?接下来把粉丝的具体提问和我的回复分享给大家,希望也能给一些类似情况的小伙伴一些启发和帮助。同学提问:bg北本海硕两段大厂实习,感觉自己bg其实不错但问题是实习干的都是些crud当时也没意识记录一些更深刻的技术或者架构上的问题,八股又欠背(大致看完了小林codinga和csguilde的c++指北但实际中延伸出来的问题太
- 1985-2024年地级市人工智能专利数据
经管数据库
人工智能
《地级市人工智能专利数据(1985-2024)》于2025年1月完成最新更新。数据聚焦于中国各地级市,时间跨度设定为1985年至2024年。在数据整理过程中,参照《关键数字技术专利分类体系(2023)》,依据其中“人工智能”类技术的专利分类号,结合国家知识产权局所提供的信息,对各地每年的专利申请展开搜索与匹配。在此基础上,从众多专利申请中精准筛选出属于“人工智能”类别的专利,并进行数量统计,数据涵
- C# Dictionary使用详解
Daniel的万事通杂货铺
Winform应用开发c#开发语言
在C#中,Dictionary是一个非常常用的数据结构,用于存储键值对。Dictionary类实现了IDictionary接口,并且提供了许多有用的方法和属性来操作键值对集合。下面是一些关于如何使用Dictionary的详细说明:1.基本用法创建DictionaryCsharp深色版本1DictionarymyDictionary=newDictionary();或者使用字面量语法:Csharp深
- vscode中调试Python和C++的混合代码
destiny44123
vscodepythonc++
文章目录使用流程参考一些差异使用流程参考ExampledebuggingmixedPythonC++inVSCode一些差异这里假设的项目是通过python调用c++的相应共享库(so)文件。首先,新建文件夹.vscode,在其中添加文件配置launch.json.示例如下:{"version":"0.2.0","configurations":[{"name":"(gdb)附加","type":
- C++:std::vector常用函数及用法详解
湫兮之风
c++c++算法开发语言
std::vector是C++标准库中最常用的动态数组容器,提供了丰富的操作方法,支持动态扩展、插入、删除等操作。本文将详细介绍vector的常用函数及其用法,并配合代码示例说明。1.std::vector的基本使用在C++中,vector需要包含头文件:#include示例:#include#includeintmain(){std::vectorvec={1,2,3,4,5};for(intn
- 工程化与框架系列(32)--前端测试实践指南
一进制ᅟᅠ
前端工程化与框架前端
前端测试实践指南引言前端测试是保证应用质量的重要环节。本文将深入探讨前端测试的各个方面,包括单元测试、集成测试、端到端测试等,并提供实用的测试工具和最佳实践。测试概述前端测试主要包括以下类型:单元测试:测试独立组件和函数集成测试:测试多个组件的交互端到端测试:模拟用户行为的完整测试性能测试:测试应用性能指标快照测试:UI组件的视觉回归测试测试工具实现测试运行器//测试运行器类classTestRu
- 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:它