- 技术演进中的开发沉思-40 MFC系列:多线程协作
今天说说MFC的线程,当年用它实现中间件消息得心应手之时,可以实现一边实时接收数据,一边更新界面图表图文信息,顺滑得让人想吹声口哨。MFC多线程它像给程序装上了分身术,让原本只能“单任务跑腿”的代码,突然有了双重任务的本事。一、线程的底层逻辑设计模式里有个工厂模式,在我的眼里,进程就像一整个工厂:有独立的厂房(内存空间)、固定的设备(系统资源),是操作系统能调度的最小单位。而线程就是工厂里的工人—
- socket简介
furuiyang
什么是socketsocket(简称套接字)是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于Socket来完成通信的。例如我们每天浏览网页、QQ聊天、收发email等等。什么是进程间通信所谓进程间通信指的是:运行的程序之间的数据共享。不同电脑上的进程之间如何通信首要解决的问题是如何唯一标识一个进程,否则通信无从谈起。在
- Linux教程(4)----[hive数据仓库工具]
.房东的猫
Linux教程(完善中~~)linux
Hive基本概念Hive简介什么是HiveHive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。为什么使用Hive直接使用hadoop所面临的问题人员学习成本太高
- CentOS8换源
一、备份切换至源目录,备份源:cd/etc/yum.repos.d/#进入源目录ls#查看源文件mkdirbkup#创建备份目录mvCentOS-Linux-*bkup#将源文件移动至备份文件夹若是更换源并且原生源已经备份的情况下,使用rm-f*.repo删除原先文件。二、下载安装镜像源使用wget命令下载镜像源,本次使用的源为阿里云镜像:#下载并替换源wgethttps://mirrors.al
- 全球 Linux 桌面份额破 5%,国产桌面 Linux 的“春天”也来了吗?
寒水馨
IT杂谈linux运维国产Linux信创UOSdeepin桌面Linux
全球Linux桌面份额破5%,国产桌面Linux的“春天”也来了吗?文章目录全球Linux桌面份额破5%,国产桌面Linux的“春天”也来了吗?引言:一个数字背后的意义1.Linux桌面为何能突破5%?1.1.市场结构的变化与用户行为的转变1.2.技术层面的成熟1.3.社区与生态的力量2.国产桌面Linux的现状与发展背景2.1.国产桌面Linux的诞生背景2.2.当前面临的挑战3.全球Linux
- 如何在Linux挂载ISO镜像文件
longerxin2020
Linuxlinux运维服务器
在Linux系统中挂载ISO镜像文件,主要步骤如下:创建挂载目录:创建一个用于挂载ISO镜像文件的目录,例如/mnt/iso。挂载ISO镜像文件:使用mount命令挂载ISO镜像文件到创建的目录。命令:sudomount-oloop/path/to/iso/file.iso/mnt/iso查看挂载状态:使用df命令查看挂载点,确认ISO镜像文件是否成功挂载。df-h卸载ISO镜像文
- CentOS 7 最新可用国内 yum 镜像源配置(含 Base 与 EPEL 源)
寒水馨
软件解惑CentOS7yum国内镜像源repoepel
CentOS7最新可用国内yum镜像源配置(含Base与EPEL源)解决官方源访问慢、国内部分镜像失效问题,提供实测可用方案文章目录CentOS7最新可用国内yum镜像源配置(含Base与EPEL源)1.镜像源简介1.1.什么是yum源1.2.什么是镜像源、国内镜像源1.3.Base与EPEL源简介1.3.1.Base源(基础仓库)Base源示例软件包:1.3.2.EPEL源(企业Linux的额外
- Go开发技术路线全解析:从基础到资深的系统学习指南(2025年版)
Mr.小海
golang开发语言后端容器云原生vim中间件
Go开发技术路线全解析:从基础到资深的系统学习指南(2025年版)一、基础阶段:Go语言入门与核心语法环境搭建与工具链环境标准化是Go开发流程的基础,其核心目标是确保开发环境的一致性与可重复性。2025年主流的Go环境安装方式包括两种:一是通过Go官方网站下载对应操作系统的二进制安装包,二是使用系统包管理器(如Linux的apt/yum、macOS的Homebrew等)进行安装。安装完成后,需配置
- Go 的热重载工具 Air 详解
半桶水专家
golang入门golang开发语言后端
一、Air安装1.安装Air命令打开终端(PowerShell或CMD)输入:goinstallgithub.com/air-verse/air@latest这会将air.exe安装到你的Gobin目录下,一般是:C:\Users\\go\bin2.设置系统PATH环境变量(如果还没有)将C:\Users\\go\bin添加到系统的环境变量中。步骤如下:打开“系统属性”→“环境变量”;找到“系统变
- .NetCore发布到Linux下(Shell脚本控制服务启动)
.NetHero
c#.netcorelinux
一、netcore后端部署1.设置端口号配置文件,指定接口的端口号(*注意不要和已有的服务端口相同!)Program
- 2021-03-18 Linux进阶-from Biotrainee
乔帮主_d2ac
vim编辑器Vim编辑器:大多数Linux都会自带的文本编辑器。功能强大:代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。功能强大到其官方现在对自己的定位是“程序开发工具”Vim编辑器:三种模式image.png命令模式方向键或者hjkl^和$:快速到所在行的开头和末尾(用0也可以到开头)30j:向下移动30行(数字+方向进行快速移动)ctrl+f或b:上下翻页(forwa
- android分区设计,构建 ODM 分区 | Android 开源项目 | Android Open Source Project
Android10支持使用Android构建系统构建/odm分区。ODM分区简介原始设计制造商(ODM)能够为其特定设备(开发板)自定义系统芯片(SoC)供应商板级支持包(BSP)。这样,他们就可以为板级组件、板级守护进程或者其基于硬件抽象层(HAL)的自有功能实现内核模块。他们可能还需要替换或自定义SoC组件。在之前的Android版本中,对于使用相同SoC(或使用同一系列中的不同SoC)的设备
- python 利用多进程实现文件的拷贝
AI算法网奇
python宝典python开发语言
python利用多进程实现文件的拷贝版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.csdn.net/m0_37338590/article/details/78472103整个程序的流程可分为四步:第一步是提示用户输入要拷贝的文件夹;第二步是创建新文件夹;第三步是获取文件夹中所有文件的名字;最后一步是就是利用进程池创建进程完成复制。具体的分析在程序中都有了,不再做过
- Linux磁盘分区、挂载、LV扩容
EllisonPei
title:2020-10-13-Linux磁盘分区、挂载、LV扩容date:2020-10-1311:20:20categories:[linux]tags:[linux分区扩容]toc:trueLinux磁盘分区、磁盘格式化、挂载磁盘也可以参考博客:https://www.jianshu.com/p/63516e8de27d系统centos7.6磁盘分区先执行fdisk-l查看未分区的磁盘,i
- 2022-07-08 linux中文件名带?号的解决方案
白告2333
windows中写了一个shell脚本批量mv改名,导致文件名结尾出现??ls-b显现原形rename方法失败循环+mv方法可用foriin*.log?;doi=${i%.log?}echo$imv${i}.log?${i}.logdone成功
- 深入理解Linux内核-进程
苦茶子12138
Linux上岸手册linux服务器运维
1、进程的静态特性进程:程序执行时的一个实例进程描述符(task_struct):进程的基本信息(thread_info)、指向内存区描述符的指针(mm_struct)、进程相关的tty(tty_struct)、当前目录(fs_struct)、指向文件描述符的指针(files_struct)、所接收的信号(signal_struct)进程状态:1、可运行状态(TASK_RUNNING):正在运行或
- Linux 内存管理(六)之内存管理区
目录前言一、x86上的内存区域划分二、管理区结构1、structzone2、ZONE_PADDING三、高端内存1、高端内存的由来2、高端内存的访问3、高端内存的划分总结前言为了支持NUMA模型,也即CPU对不同内存单元的访问时间可能不同,此时系统的物理内存被划分为几个节点,一个节点对应一个内存簇bank,即每个内存簇被认为是一个节点。接着各个节点又被划分为内存管理区域,接下来将对内存管理区域进行
- 大白话讲【2】DHCP服务器配置
学习向前冲
服务器运维网络华为
DHCP动态主机配置协议是应用层协议;作用是分配IP地址,子网掩码,网关地址和DNS(可设置IP地址租期等)DHCP服务器可以是路由器,三交换机,Windowsserver2016(后续编写),linux服务器(后续编写)1.三层交换机上搭DHCP服务器1.1在三层交换机开启DHCP功能sy[Huawei]dhcpenable1.2创建地址池[Huawei]ippolicy-based-route
- Linux低内存处理机制:解决内存不足问题的实例分析
深度Linux
Linux内存管理Linux内核内存回收内存管理
想象一下,你的Linux系统就像是一个繁忙的工厂,内存是这个工厂里的仓库空间。当订单(运行的程序和进程)越来越多,仓库空间(内存)开始不够用了,这可怎么办呢?别担心,Linux有着神奇的低内存处理机制,就像一套高效的库存管理策略。今天,我们就来深入解析一下Linux的三个低内存处理机制,看看它们是如何让系统在内存紧张的情况下依然稳定运行的。一、概述在Linux系统中,内存紧张是一个常见的挑战。当内
- Linux五大网络IO模型
Acto
一、须知对于操作系统来说,空间会分为用户空间与内核空间用户空间:用户程序的运行空间。为了安全,它们是隔离的,即使用户的程序崩溃,内核也不会受到影响。只能执行简单的运算,不能直接调用系统资源,必须通过系统接口(systemcall),才能向内核发出指令。内核空间:这是Linux内核的运行空间,可以执行任意命令,调用系统的一切资源通过用户空间访问系统空间并让其帮助我们完成我们所需要执行的操作或者任务二
- 飞算科技:以创新科技引领数字化变革,旗下飞算 JavaAI 成开发利器
飞算JavaAI开发助手
科技
作为国家级高新技术企业,飞算科技专注于自主创新,在数字科技领域持续深耕,用前沿技术为各行业客户赋能,助力其实现数字化转型升级的飞跃。飞算科技凭借深厚的技术积累,将互联网科技、大数据、人工智能等技术与实际应用紧密融合。公司组建了一支由行业资深专家和技术精英构成的团队,他们在相关领域积累了多年实践经验,深刻理解不同行业客户在数字化进程中面临的痛点与挑战。基于这些洞察,飞算科技推出了一系列具有创新性和实
- Rsync自动协商同步数据
陈大为_d962
Rsync命令使用#rsync-av[源目录][目标目录]//归档方式进行全部文件复制#rsync-aruv[源目录][目标目录]//归档方式进行增量复制#rsync-aruv--delete[源目录][目标目录]//增量复制并会删除源目录中被删除的目录或文件,用于切换前的最后一次增量同步使用nohup可以将进程放置在后台并记录日志:nohup>/tmp/rsync-xxxx-xx-xx.logr
- Rust+ChatBoxAI:实战
ChatboxAIChatboxAI是一款基于人工智能技术的智能助手工具,旨在通过自然语言交互帮助用户完成多种任务。以下是其核心功能与特点:功能概述多模型支持:可连接OpenAI、Claude、Gemini等主流大语言模型,用户能自由切换不同AI服务。本地运行:支持离线使用,数据隐私性较强,适合敏感信息处理场景。跨平台兼容:提供Windows、macOS和Linux客户端,同步支持移动端应用。核心
- 2022-02-21
Inspiration朝朝_6
冬天不仅伴随着寒冷和干燥,干冷的气候让我的皮肤变得干燥、粗糙,原本就不够水润的肌肤会暴露出深深浅浅的干纹细纹,气温下降肌肤老化的进程也会加速。幸好嫂子给我安利了BOTULAX博德适家的一款蕴含20ha成分冻干粉,它里面有微量元素独家MSCD活性成分,可以修复抗衰和改善老化皮肤。我使用3星期左右,皮肤状态真是比之前好太多了,也更有光泽和弹性,真是一款非常值得的抗衰系列的产品!
- ec2-user 1234 0.1 0.2 123456 7890 pts/0 S+ 12:34 0:00 java -jar my-java-service.jar
HainesFreeman
javajavajar开发语言
ec2-user12340.10.21234567890pts/0S+12:340:00java-jarmy-java-service.jar这里的1234,123456,7890分别代表什么?psaux|grepjava在Linux系统中,psaux命令的输出包含多个字段,每个字段都有特定的含义。以下是对psaux输出中常见字段的解释,特别是你提到的1234、123456和7890这三个数字的含
- 到底如何从零开始使用Hyperf 搭建微服务架构?具体步骤是怎样的?底层原理是什么?
一、Hyperf的底层原理Hyperf是一个基于Swoole的高性能PHP微服务框架,其核心特点包括:协程支持:基于Swoole提供的协程能力,Hyperf实现了非阻塞I/O和高并发处理。协程是轻量级线程,允许在单个进程中处理大量并发请求。依赖注入(DI):使用PSR-11标准的依赖注入容器,简化组件管理和服务解耦。AOP(面向切面编程):通过注解和AOP机制,可以在方法执行前后插入逻辑,例如日志
- Linux中Centos和Ubuntu的区别是什么?
老男孩IT教育
linuxcentosubuntu
Linux是一种免费使用和自由传播的类UNIX操作系统,拥有众多发行版本,其中最受欢迎的就是Centos和Ubuntu,各自具有独特的特点和优势,那么Linux中Centos和Ubuntu的区别是什么?具体请看下文。CentOS和Ubuntu都是流行的Linux发行版,但它们在用途和目标用户方面存在一些关键差异。起源和目标CentOS是RedHatEnterpriseLinux的一个免费和开源版本
- Python,Rust开发关停大脑APP
Geeker-2025
pythonrust
要关停名为“大脑”的APP,具体实现方式取决于APP的运行环境和架构。以下是针对不同场景的Python和Rust解决方案:---###**场景1:终止本地进程(适合桌面/服务端应用)**####Python方案(使用`psutil`库)```pythonimportpsutildefstop_brain_app():target_name="brain_app"#替换为实际进程名forprocin
- Binder跨进程通信机制
四喜汤圆
一、相关概念进程空间把进程空间分为用户空间和内核空间。进程间:用户空间不可共享,内核空间可以共享,所有进程共用一个内核空间。用户空间和内核空间的交互通过系统调用。copy_from_user:将数据从用户空间拷贝到内核空间copy_to_user:将数据从内核空间拷贝到用户空间进程隔离在Linux中,虚拟内存机制为每个进程分配了线性连续的内存空间,OS将这种虚拟内存空间映射到物理内存空间。-->每
- #Linux内存管理# 假设使用printf打印指针bufA和bufB指向的地址是一样的,那么在内核中这两块虚拟内存是否“打架”了呢?
不,在内核中这两块虚拟内存不会“打架”。原因在于虚拟内存的工作原理和内核的管理机制。下面我将详细解释,基于你描述的场景:假设在同一个进程或不同进程中,使用printf打印出的bufA和bufB的虚拟地址值相同。关键点:虚拟地址是进程本地的用户空间虚拟地址的含义:printf打印的地址是用户空间的虚拟地址(VirtualAddress)。每个进程都有自己的虚拟地址空间,由操作系统内核通过内存管理单元
- 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:它