- Python convtools 展示:流行聚合
Nikita Almakov
python后端低代码
今天,我想演示一下convtools如何帮助你避免重复实施流行的聚合。将对象序列转换为字典,其中的值按和计算fromconvtoolsimportconversionascfunc=c.aggregate(c.ReduceFuncs.DictSum(c.item("a"),c.item("b"))).gen_converter()data=[{"a":1,"b":10},{"a":2,"b":11
- Online Conversion of a Non-Partitioned Table to a Partitioned Table in Oracle Database 12c Release 2
IT皮特
数据库oracle
从12.2开始,通过MODIFYTABLE可以在线实现普通表转分区表。一、创建测试表:DROPTABLEt1PURGE;CREATETABLEt1(idNUMBER,descriptionVARCHAR2(50),created_dateDATE,CONSTRAINTt1_pkPRIMARYKEY(id));CREATEINDEXt1_created_date_idxONt1(created_da
- 只有经纬高坐标系下的飞行数据,怎么转换得到姿态角?
樱桃小丸子123
matlab算法
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ConvertsLLA(Latitude,Longitude,Altitude)datatoanextendedstate%vectorincludingattitude(psi,theta,phi).%%ConversionProcess:%1.
- 19. 为什么int i = 5.0;可以编译通过,隐式类型转换的定义,为什么需要,以及其应用场景和注意事项。
dingdongkk
关于c语言的犄角旮旯开发语言c语言linux
在C语言中,inti=5.0;之所以可以编译通过,是因为C语言的隐式类型转换机制会自动将浮点数5.0转换为整数5,然后赋值给变量i。这一行为是符合C语言规范的,下面是详细的分析。1.隐式类型转换(ImplicitTypeConversion)C语言是一种强类型语言,但它具有一定的灵活性,允许编译器在某些情况下自动进行隐式类型转换(也叫类型提升或类型收缩)。当不同类型的数据进行赋值、运算时,C语言会
- SautinSoft HTML to RTF .Net Crack
SEO-狼术
DelphinetCrackhtml.net前端
SautinSoftHTMLtoRTF.NetCrackKeyFeaturesofSautinSoftHTMLtoRTF.Net:HTMLtoDOCXConversion:ConvertHTMLcontentintoDOCXfileswithfullsupportforCSSandsimpleJavaScript,creatingwell-formattedWorddocuments.HTMLto
- 对于IDEA中default encoding for properties file和transparent native-to-ascii conversion的理解
不想做实验了
intellij-ideajavaide
关于defaultencodingforpropertiesfile对于properties文件有两个设置,一个是左边下拉框选encoding字符集,默认的是iso8859-1编码和解码,先不勾选右边的transparentnative-to-ascii-conversion。如果这时选了别的encoding编码集,那么读取的时候解码仍然是按照iso8859-1(只变编码不管解码,很坑!),就肯定
- C Primer Plus 编程练习11.9
青禾子的夏
c语言
编写一个函数,把字符串中的内容用其反序字符串代替。在一个完整的程序中测试该函数,使用一个循环给函数提供输入值。黄色警告:Clang-Tidy:Narrowingconversionfrom'unsignedlonglong'tosignedtype'int'isimplementation-defined
- ZCC575Digital On‐chip Temperature Sensor with I2C Interface
ZCWC123
社交电子
FeaturesTemperatureaccuracy‐±1℃from-20℃~80℃‐±2℃from-40℃~125℃Lowpowerconsumption‐4.5uAshutdowncurrentatVDD=5.0V‐125uAcontinuousconversioncurrent2.2~8.0Vultra-wideoperationsupplyvoltageHighPSRintemp
- ConversionServiceFactoryBean学习
weixin_44877172
Spring学习java
简介ConversionServiceFactoryBean是Spring框架中的一个类,它实现了FactoryBean接口。这个类的主要作用是创建和配置ConversionService的实例,通常是一个GenericConversionService实例。FactoryBean接口允许你在Spring容器中定义一个对象,该对象的实例化和配置过程由FactoryBean自身来控制,而不是由Spr
- camera常见名词缩写
窝窝蜗牛
CC,colorconversion,色彩转换CC,colorcorrection,色彩矫正CE,chromaenhancement,色度增强SNR,signal-to-noiseratio,信噪比SNR,skinnoisereduce,肤色降噪STD,standarddeviation,标准差OIS,opticalimagestabilization光学稳像PDAF,phasedetection
- LeetCode 6. Z 字形变换
一般路过糸.
leetcode算法职场和发展
题目链接https://leetcode.cn/problems/zigzag-conversion/description/将一个给定字符串s根据给定的行数numRows,以从上往下、从左到右进行Z字形排列。比如输入字符串为"PAYPALISHIRING"行数为3时,排列如下:PAHNAPLSIIGYIR之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"PAHNAPLSIIGYI
- 文件对比工具实现,以二进制和明文显示比较结果
一支春夏、几多秋冬
QtDemoqtqt5文件比较文件比对二进制bycompare
效果图:候补具体实现(核心代码带释义)项目配置:QT+=coreguigreaterThan(QT_MAJOR_VERSION,4):QT+=widgetsTARGET=bindiff-qtTEMPLATE=app*-g++*:QMAKE_CXXFLAGS+=-Wall-Weffc++-Wextra-Wconversion-Wsign-conversion-std=c++14SOURCES+=ma
- JavaScript:隐式类型转换与显式类型转换
RCX明
JavaScript基础javascript前端开发语言
文章目录隐式类型转换(ImplicitTypeConversion)1、字符串与数字的转换2、非布尔值到布尔值的转换3、在相等性比较中的转换4、对象到基础类型的转换5、在算术运算符中的其他转换显式类型转换(ExplicitTypeConversion)1、Number():2、parseInt()和parseFloat():3、String():4、Boolean():5、Object():6、t
- arcmap提取栅格数据像元值
椅子屋虎伢
我们知道,栅格数据的像元是有值的,我们根据值的不同可以对栅格数据进行不同颜色的渲染。比如:我们有一份NDVI栅格数据,NDVI中的指数大小就是每个像元的值,下面我们就来提取一下NDVI指数。一、在arcmap中打开栅格数据image.png二、点击工具栏上的identify工具,拾取栅格,可以查看到当前像元值image.png三、工具>Conversion>FromRaster>RastertoP
- Swift 5.0 UILabel显示html标签的高度计算
ShineYangGod
letattrStr=try!NSMutableAttributedString(data:(answer.content.data(using:.unicode,allowLossyConversion:true)!),options:[.documentType:NSAttributedString.DocumentType.html,.characterEncoding:String.Enc
- 各种能源折标准煤参考系数
沧海之巅
双碳双碳管理折标准煤系数
各种能源折标准煤参考系数ConversionFactorsfromPhysicalUnitstoCoalEquivalent能源名称平均低位发热量折标准煤系数EnergyAverageLowCalorificValueConversionFactor原煤20908千焦/(5000千卡)/千克0.7143千克标准煤/千克RawCoal20908kjoule/(5000kcal)/kg0.7143kg
- PostgreSQL 12 文档: SQL 语法
postgresfans
PostgreSQL文档postgresqlsql数据库
SQL命令这部分包含PostgreSQL支持的SQL命令的参考信息。每条命令的标准符合和兼容的信息可以在相关的参考页中找到。目录ABORT—中止当前事务ALTERAGGREGATE—更改一个聚集函数的定义ALTERCOLLATION—更改一个排序规则的定义ALTERCONVERSION—改变一个转换的定义ALTERDATABASE—更改一个数据库ALTERDEFAULTPRIVILEGES—定义默
- CubeMX配置STM32-ADC-DMA读取两个通道的电压值-HAL库
dlhto
stm32嵌入式stm32单片机
配置时钟和下载端口、串口配置ADC①:使能扫描转换模式(ScanConversionMode),使能连续转换模式(ContinuousConversionMode)。②:ADC规则组选择转换通道数为2(NumberOfConversion)。③:配置Rank的输入通道。添加DMA:配置时钟生成项目逻辑代码①、在main函数前面添加变量。其中ADC_Value作为转换数据缓存数组,ad1,ad2存储
- nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException
六月的北回归线
javajava
远程通过Feign组件调用接口,返回的时候报了一个异常:org.springframework.http.converter.HttpMessageConversionException:Typedefinitionerror:[simpletype,xxxxxxxxxxxxxx];nestedexceptioniscom.fasterxml.jackson.databind.exc.Invali
- vivado GATED_CLOCK、IOB、IO_BUFFER_TYPE、KEEP、KEEP_HIERARCHY、MARK_DEBUG
cckkppll
fpga开发
Vivado合成允许门控时钟的转换。要执行此转换,请使用:•VivadoIDE中的一个开关,指示工具尝试转换。•GATED_CLOCKRTL属性或XDC属性,指示工具关于哪个信号在门控逻辑中是时钟。将此属性放置在作为时钟的信号或端口上。要控制开关:1.选择工具>设置>项目设置>合成。2.在“选项”区域中,将-gated_clock_conversion选项设置为以下选项之一价值观•off:禁用门控
- LeetCode 6. Z 字形变换
fenjijue
LeetCode哈希表/备忘录算法矩阵leetcode算法职场和发展
6.Z字形变换题目:将一个给定字符串s根据给定的行数numRows,以从上往下、从左到右进行Z字形排列。链接https://leetcode.cn/problems/zigzag-conversion/个人思路观察示例可以发现,字符串s的每个字符将要摆放在的行的序列为0,1,2,3,2,1,0,1,2,3···,因此这就是一个0,1,2,3,2,1的循环,也就是0,1,2,···,numRows,
- Spring Batch 批量处理策略
HoneyMoose
为了帮助设计和实现批量处理系统,基本的批量应用是通过块和模式来构建的,同时也应该能够为程序开发人员和设计人员提供结构的样例和基础的批量处理程序。当你开始设计一个批量作业任务的时候,商业逻辑应该被拆分一系列的步骤,而这些步骤又是可以通过下面的标准构件块来实现的:转换应用程序(ConversionApplications):针对每一个从外部系统导出或者提供的各种类型的文件,我们都需要创建一个转换应用程
- HAL库之配置ADC
m0_61973119
STM32HAL库ADC
while(1){HAL_ADC_Start(&hadc1);//启动ADC转换HAL_ADC_PollForConversion(&hadc1,50);//等待转换完成,50为最大等待时间,单位为msif(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc1),HAL_ADC_STATE_REG_EOC)){ADC_Value=HAL_ADC_GetValue(&hadc
- Git 自动转换行格式
大爽
替换SDK时,经常会发现大量文件都有变化,但比较两个版本变化的内容,是没有任何区别的是因为git在上传时,会把windows里的换行换成unix的换行,即\r\n替换成\n需要修改git的设置,避免自动替换https://davemateer.com/2020/01/09/Line-endings-ignore-in-Git#Changetonotperformanyconversionsgitc
- 前端vue/react项目压缩图片工具@yireen/squoosh-browser
1024小神
HTML前端前端vue.jsreact.js
想要在前端项目中压缩图片,然后再上传到后端保存,就需要一个压缩工具的帮助,暂时有两个依赖库可以选择:image-conversion和yireen/squoosh-browser,看了官方仓库地址和更新时间等详情,发现还是yireen/squoosh-browser最新一些,所以就选择了yireen/squoosh-browser。@yireen/squoosh-browser地址:@yireen
- 基因重排
Seurat_Satija
基因重排基因重排是指将一个基因从远离启动子的地方移到距启动子很近的地方从而启动转录的方式。目录1简介▪基因内重排▪基因间重排2应用介绍3其他简介基因重排分基因内重排和基因间重排。基因结构重排的机制是一种DNA双链断裂(double-standbreak)的修复过程,在等位基因内或等位基因之间,出现了重复单位复杂的转换式移动(conversionaltransfer)。DNA双链断裂常发生在靠近串联
- 第七章 过 JDBC 连接 SQL 网关 - 特定于实现的 JDBC 连接选项
yaoxin521123
使用SQL网关sqloracle数据库M大数据
文章目录第七章过JDBC连接SQL网关-特定于实现的JDBC连接选项特定于实现的`JDBC`连接选项默认情况下不使用分隔标识符`UseCOALESCE``ConversioninCompositeRowIDs``SQL`网关日志记录第七章过JDBC连接SQL网关-特定于实现的JDBC连接选项特定于实现的JDBC连接选项在定义SQL网关连接之前,应该确保了解外部数据库和数据库驱动程序的要求,因为这些
- spring笔记-DataBinder
兴浩
参考:spring笔记-PropertyAccessorspring笔记-PropertyValue1.使用方法@TestpublicvoidtestBindingWithDefaultConversionNoErrors()throwsBindException{TestBeanrod=newTestBean();DataBinderbinder=newDataBinder(rod,"perso
- Vue学习笔记:将数组数据使用Excel表格导出
前端互助会
Vue学习笔记vueexcel前端
Vue学习笔记:将数组数据使用Excel表格导出需求:数组数据使用Excel导出第一步:下载依赖命令行:npmixlsx第二步:建立下载公共jssrc下建立文件夹utils后建立data2Excel.js第三步:将公共js导入页面import{dataConversionUtil}from'@/utils/data2Excel'第四步:数组数据组装Excel表格表头loadExcel(){vard
- C++ 14
fck_13
如果是C++11是一个大的release的话,那C++14充其量只不过是一个hotfix。不知道是不是因为C++11添加改动的东西太多而导致了C++14的小规模改动。英文中文简短的解释Tweakedwordingforcontextualconversions按语境转换的遣词调整new表达式,delete表达式,const表达式和switch表达式中的隐式转换Binaryliterals二进制常量
- 多线程编程之理财
周凡杨
java多线程生产者消费者理财
现实生活中,我们一边工作,一边消费,正常情况下会把多余的钱存起来,比如存到余额宝,还可以多挣点钱,现在就有这个情况:我每月可以发工资20000万元 (暂定每月的1号),每月消费5000(租房+生活费)元(暂定每月的1号),其中租金是大头占90%,交房租的方式可以选择(一月一交,两月一交、三月一交),理财:1万元存余额宝一天可以赚1元钱,
- [Zookeeper学习笔记之三]Zookeeper会话超时机制
bit1129
zookeeper
首先,会话超时是由Zookeeper服务端通知客户端会话已经超时,客户端不能自行决定会话已经超时,不过客户端可以通过调用Zookeeper.close()主动的发起会话结束请求,如下的代码输出内容
Created /zoo-739160015
CONNECTEDCONNECTED
.............CONNECTEDCONNECTED
CONNECTEDCLOSEDCLOSED
- SecureCRT快捷键
daizj
secureCRT快捷键
ctrl + a : 移动光标到行首ctrl + e :移动光标到行尾crtl + b: 光标前移1个字符crtl + f: 光标后移1个字符crtl + h : 删除光标之前的一个字符ctrl + d :删除光标之后的一个字符crtl + k :删除光标到行尾所有字符crtl + u : 删除光标至行首所有字符crtl + w: 删除光标至行首
- Java 子类与父类这间的转换
周凡杨
java 父类与子类的转换
最近同事调的一个服务报错,查看后是日期之间转换出的问题。代码里是把 java.sql.Date 类型的对象 强制转换为 java.sql.Timestamp 类型的对象。报java.lang.ClassCastException。
代码:
- 可视化swing界面编辑
朱辉辉33
eclipseswing
今天发现了一个WindowBuilder插件,功能好强大,啊哈哈,从此告别手动编辑swing界面代码,直接像VB那样编辑界面,代码会自动生成。
首先在Eclipse中点击help,选择Install New Software,然后在Work with中输入WindowBui
- web报表工具FineReport常用函数的用法总结(文本函数)
老A不折腾
finereportweb报表工具报表软件java报表
文本函数
CHAR
CHAR(number):根据指定数字返回对应的字符。CHAR函数可将计算机其他类型的数字代码转换为字符。
Number:用于指定字符的数字,介于1Number:用于指定字符的数字,介于165535之间(包括1和65535)。
示例:
CHAR(88)等于“X”。
CHAR(45)等于“-”。
CODE
CODE(text):计算文本串中第一个字
- mysql安装出错
林鹤霄
mysql安装
[root@localhost ~]# rpm -ivh MySQL-server-5.5.24-1.linux2.6.x86_64.rpm Preparing... #####################
- linux下编译libuv
aigo
libuv
下载最新版本的libuv源码,解压后执行:
./autogen.sh
这时会提醒找不到automake命令,通过一下命令执行安装(redhat系用yum,Debian系用apt-get):
# yum -y install automake
# yum -y install libtool
如果提示错误:make: *** No targe
- 中国行政区数据及三级联动菜单
alxw4616
近期做项目需要三级联动菜单,上网查了半天竟然没有发现一个能直接用的!
呵呵,都要自己填数据....我了个去这东西麻烦就麻烦的数据上.
哎,自己没办法动手写吧.
现将这些数据共享出了,以方便大家.嗯,代码也可以直接使用
文件说明
lib\area.sql -- 县及县以上行政区划分代码(截止2013年8月31日)来源:国家统计局 发布时间:2014-01-17 15:0
- 哈夫曼加密文件
百合不是茶
哈夫曼压缩哈夫曼加密二叉树
在上一篇介绍过哈夫曼编码的基础知识,下面就直接介绍使用哈夫曼编码怎么来做文件加密或者压缩与解压的软件,对于新手来是有点难度的,主要还是要理清楚步骤;
加密步骤:
1,统计文件中字节出现的次数,作为权值
2,创建节点和哈夫曼树
3,得到每个子节点01串
4,使用哈夫曼编码表示每个字节
- JDK1.5 Cyclicbarrier实例
bijian1013
javathreadjava多线程Cyclicbarrier
CyclicBarrier类
一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环的 barrier。
CyclicBarrier支持一个可选的 Runnable 命令,
- 九项重要的职业规划
bijian1013
工作学习
一. 学习的步伐不停止 古人说,活到老,学到老。终身学习应该是您的座右铭。 世界在不断变化,每个人都在寻找各自的事业途径。 您只有保证了足够的技能储
- 【Java范型四】范型方法
bit1129
java
范型参数不仅仅可以用于类型的声明上,例如
package com.tom.lang.generics;
import java.util.List;
public class Generics<T> {
private T value;
public Generics(T value) {
this.value =
- 【Hadoop十三】HDFS Java API基本操作
bit1129
hadoop
package com.examples.hadoop;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoo
- ua实现split字符串分隔
ronin47
lua split
LUA并不象其它许多"大而全"的语言那样,包括很多功能,比如网络通讯、图形界面等。但是LUA可以很容易地被扩展:由宿主语言(通常是C或 C++)提供这些功能,LUA可以使用它们,就像是本来就内置的功能一样。LUA只包括一个精简的核心和最基本的库。这使得LUA体积小、启动速度快,从 而适合嵌入在别的程序里。因此在lua中并没有其他语言那样多的系统函数。习惯了其他语言的字符串分割函
- java-从先序遍历和中序遍历重建二叉树
bylijinnan
java
public class BuildTreePreOrderInOrder {
/**
* Build Binary Tree from PreOrder and InOrder
* _______7______
/ \
__10__ ___2
/ \ /
4
- openfire开发指南《连接和登陆》
开窍的石头
openfire开发指南smack
第一步
官网下载smack.jar包
下载地址:http://www.igniterealtime.org/downloads/index.jsp#smack
第二步
把smack里边的jar导入你新建的java项目中
开始编写smack连接openfire代码
p
- [移动通讯]手机后盖应该按需要能够随时开启
comsci
移动
看到新的手机,很多由金属材质做的外壳,内存和闪存容量越来越大,CPU速度越来越快,对于这些改进,我们非常高兴,也非常欢迎
但是,对于手机的新设计,有几点我们也要注意
第一:手机的后盖应该能够被用户自行取下来,手机的电池的可更换性应该是必须保留的设计,
- 20款国外知名的php开源cms系统
cuiyadll
cms
内容管理系统,简称CMS,是一种简易的发布和管理新闻的程序。用户可以在后端管理系统中发布,编辑和删除文章,即使您不需要懂得HTML和其他脚本语言,这就是CMS的优点。
在这里我决定介绍20款目前国外市面上最流行的开源的PHP内容管理系统,以便没有PHP知识的读者也可以通过国外内容管理系统建立自己的网站。
1. Wordpress
WordPress的是一个功能强大且易于使用的内容管
- Java生成全局唯一标识符
darrenzhu
javauuiduniqueidentifierid
How to generate a globally unique identifier in Java
http://stackoverflow.com/questions/21536572/generate-unique-id-in-java-to-label-groups-of-related-entries-in-a-log
http://stackoverflow
- php安装模块检测是否已安装过, 使用的SQL语句
dcj3sjt126com
sql
SHOW [FULL] TABLES [FROM db_name] [LIKE 'pattern']
SHOW TABLES列举了给定数据库中的非TEMPORARY表。您也可以使用mysqlshow db_name命令得到此清单。
本命令也列举数据库中的其它视图。支持FULL修改符,这样SHOW FULL TABLES就可以显示第二个输出列。对于一个表,第二列的值为BASE T
- 5天学会一种 web 开发框架
dcj3sjt126com
Web框架framework
web framework层出不穷,特别是ruby/python,各有10+个,php/java也是一大堆 根据我自己的经验写了一个to do list,按照这个清单,一条一条的学习,事半功倍,很快就能掌握 一共25条,即便很磨蹭,2小时也能搞定一条,25*2=50。只需要50小时就能掌握任意一种web框架
各类web框架大同小异:现代web开发框架的6大元素,把握主线,就不会迷路
建议把本文
- Gson使用三(Map集合的处理,一对多处理)
eksliang
jsongsonGson mapGson 集合处理
转载请出自出处:http://eksliang.iteye.com/blog/2175532 一、概述
Map保存的是键值对的形式,Json的格式也是键值对的,所以正常情况下,map跟json之间的转换应当是理所当然的事情。 二、Map参考实例
package com.ickes.json;
import java.lang.refl
- cordova实现“再点击一次退出”效果
gundumw100
android
基本的写法如下:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
//navigator.splashscreen.hide();
document.addEventListener("b
- openldap configuration leaning note
iwindyforest
configuration
hostname // to display the computer name
hostname <changed name> // to change
go to: /etc/sysconfig/network, add/modify HOSTNAME=NEWNAME to change permenately
dont forget to change /etc/hosts
- Nullability and Objective-C
啸笑天
Objective-C
https://developer.apple.com/swift/blog/?id=25
http://www.cocoachina.com/ios/20150601/11989.html
http://blog.csdn.net/zhangao0086/article/details/44409913
http://blog.sunnyxx
- jsp中实现参数隐藏的两种方法
macroli
JavaScriptjsp
在一个JSP页面有一个链接,//确定是一个链接?点击弹出一个页面,需要传给这个页面一些参数。//正常的方法是设置弹出页面的src="***.do?p1=aaa&p2=bbb&p3=ccc"//确定目标URL是Action来处理?但是这样会在页面上看到传过来的参数,可能会不安全。要求实现src="***.do",参数通过其他方法传!//////
- Bootstrap A标签关闭modal并打开新的链接解决方案
qiaolevip
每天进步一点点学习永无止境bootstrap纵观千象
Bootstrap里面的js modal控件使用起来很方便,关闭也很简单。只需添加标签 data-dismiss="modal" 即可。
可是偏偏有时候需要a标签既要关闭modal,有要打开新的链接,尝试多种方法未果。只好使用原始js来控制。
<a href="#/group-buy" class="btn bt
- 二维数组在Java和C中的区别
流淚的芥末
javac二维数组数组
Java代码:
public class test03 {
public static void main(String[] args) {
int[][] a = {{1},{2,3},{4,5,6}};
System.out.println(a[0][1]);
}
}
运行结果:
Exception in thread "mai
- systemctl命令用法
wmlJava
linuxsystemctl
对比表,以 apache / httpd 为例 任务 旧指令 新指令 使某服务自动启动 chkconfig --level 3 httpd on systemctl enable httpd.service 使某服务不自动启动 chkconfig --level 3 httpd off systemctl disable httpd.service 检查服务状态 service h