- 博客(81)
- 资源 (1)
- 收藏
- 关注
原创 鸿蒙上不联网的习惯打卡 App:习惯打卡记录本
隐私政策写明「不设账号」「不申请网络访问权限,也不读通讯录、不读日历、不定位、不用相机、不用麦克风」「不接入统计、广告或其他第三方 SDK」。CSV 导出免费,导出内容里带「备注」列,文件前置 UTF-8 BOM,用表格软件打开不会乱码。打卡次数不限,连续天数、完成率、月历都能看,CSV 导出免费。解锁后习惯数量不限,桌面卡片可以换不同样式、也可以放多张,另外还有年度回顾成品图。有桌面卡片,解锁后可以换样式、也可以放多张。另外还有一个「今日打卡」元服务,在应用市场可以单独搜到。
2026-10-23 12:37:17
139
原创 鸿蒙上不联网的孩子课表 App:小课表记录本
解锁后课程数量不限,并且多一个课程账本:单次成本、缺课浪费、剩余次数、已付已用、年度账单;隐私政策写明「不申请网络访问权限」「不要求注册账号」「不接入统计、广告或其他第三方 SDK」。孩子的课表和出勤记录不需要账号,也不会被拿去做统计或投广告。免费版可以建 1 个孩子档案、记 1 门课(已结束的也算在内)。一周课表、出勤标记(已上、缺课、请假、调课)、课程账本都免费,CSV 导出也免费。CSV 导出免费,导出的是课程、出勤、次卡三张表,保存位置自己在系统文件选择器里挑。手机、平板和 PC(2in1)。
2026-10-23 12:35:56
214
原创 鸿蒙上不联网的人情礼金记录 App:人情记录本
付费后另有数据包导出导入,可以把数据整体导出成一个数据包,再导入回去。用数据包:旧手机点「导出数据包(换手机用)」得到一个备份文件,传到新手机后点「导入数据包」,户、往来、圈子、代付记录整包搬过去。隐私政策写明「不设账号」「不申请网络访问权限」「不接入任何广告、统计、埋点或数据共享的第三方组件」。另外「回礼速算」元服务算完会生成一个导入码,粘到人情记录本里,就能把刚算的那一笔预填进来,确认保存即可。解锁后户和圈子的数量不再受限,可以给记录加私密簿标记,另外多了数据包导出导入。
2026-10-23 12:33:59
139
原创 一条错误结论在我的仓里被引用了七次,每处都标着「实证」——而那个实证从未发生过|HarmonyOS NEXT ArkTS 服务卡片 onAddForm 生命周期与 formId 持久化踩坑
一条被七个工程引用的技术注释标着「某工程实证」,追到 git 父提交才发现实证从未发生过。这篇讲 FormExtensionAbility 的 onAddForm 生命周期与 formId 持久化,也讲怎么用 git 考古核验一条技术结论,而不是数它被引用了多少次。
2026-10-20 10:29:21
346
原创 鸿蒙应用图标圆角与透明像素:上架驳回的排查与修法
这个肉眼看不出来——四角 alpha 是 0 还是 255,在任何背景上一样。把包里单层的 app_icon、startIcon 拖出来数:四角 alpha 有一个不到 255 就是圆角,alpha<255 的像素数非零就是含透明。别只改 json5 引用的那张,不再被引用的旧图照样打进 hap 校验——我们删了引用没删文件,第二轮又栽。生成侧最省事:合成后 convert('RGB') 把 alpha 丢掉。这段断言挂出包脚本,红了不给包。这类没报错、只能靠断言抓的坑我攒成了一份清单,需要的话私我。
2026-10-12 22:48:56
146
原创 鸿蒙上不联网的家庭血压记录 App:家庭血压记录本
另外还有打印记录单,以及高级图表——区间内占比、晨间与晚间收缩压均值。没解锁时,高级图表里的数值是打码显示的。记录写在本机数据库里,导出免费,格式是 CSV,文件名是「家庭血压记录本导出.csv」。隐私政策写明「不申请网络访问权限,不接入广告与第三方统计 SDK」「不设账号」。记录的血压数值只保存在你自己的设备上,不上传、不外传、不共享。有,是一张 2×2 的桌面卡片。同一个开发方还有一个叫「血压速查」的元服务,在应用市场可以单独搜到。这一个人的测量记录、趋势图、CSV 导出都能用,不额外收费。
2026-10-11 13:39:32
209
原创 鸿蒙上不联网记录孩子身高体重的 App:生长发育记录本
档案、测量记录、里程碑都写在本机数据库里,付费状态和同意标记也保存在本机。导出是 CSV 格式,免费,导出时由你自己在系统文件选择器里挑保存位置。隐私政策里写明「不申请网络访问权限」「不要求注册账号」「不接入统计、广告或其他第三方 SDK」。身高、体重、头围、百分位四条曲线都能看,生长速度(cm/年)也会算出来。测量记录不限条数,记多少条都不受限制,CSV 导出同样免费。解锁的内容是三块:更多孩子档案(免费版限 1 个)、发育里程碑时间轴(含婴幼儿期与青春期两段)、打印版记录单。
2026-10-11 13:39:05
195
原创 鸿蒙上不联网的加班调休记录 App:加班调休记录本
另外还有正式版时间线,排版是格式化过的,可以打印,也可以存成图片。数据只保存在这台设备上,不会上传到开发者或任何第三方服务器。CSV 导出免费,导出时用系统文件选择器自己挑保存位置,文件带 UTF-8 BOM,用表格软件打开不会乱码。隐私政策写明「不设账号」「不申请网络访问权限」「不接入统计、广告或其他第三方 SDK」。加班和调休的数据不需要账号,也不会被拿去做统计或投广告。加班记录不限条数,月度合计和年度合计都能看,CSV 导出也免费。另外还有一个「调休到期速算」元服务,在应用市场可以单独搜到。
2026-10-11 13:38:13
194
原创 提醒功能上架第一天起一次都没响过,而代码、日志和 UI 都说它一切正常|HarmonyOS NEXT 提醒代理 reminderAgent 通知授权与 publishReminder 踩坑
首发于华为开发者论坛:https://developer.huawei.com/consumer/cn/blog/topic/03226498246684304提醒、通知、日历事件这类功能,结果是系统侧异步兑现的,所以 API 的返回值说的是「请求已受理」,不是「事情已发生」。我把这两句话当成了一句话,同一个坑连踩了三次。三次都没有报错,没有异常,没有一行红色日志。能拿出来的"事故现场"就一句话:返回值是正常的。
2026-10-06 12:15:05
243
原创 @Builder 的值参不建立响应式:点了 tab,内容切过去了,高亮不动|HarmonyOS NEXT ArkTS ArkUI @Builder 值参与 @State 响应式踩坑
首发于华为开发者论坛:https://developer.huawei.com/consumer/cn/blog/topic/03225800866361179把@State状态在调用点当实参传进@Builder,那一处 UI 首次渲染后就固化了——之后状态怎么变它都不动。编译不报错、运行不报错、日志一切正常,这个坑连一行异常都不给你。我在三个不同的地方踩了它三次,前两次都没认出来。第三次是被华为审核实测复现、按功能异常驳回的,才终于想明白三次是同一件事。
2026-09-28 11:53:20
221
原创 元服务传 AGC 报错误码 13:我反复改卡片配置,缺的其实是一个没听说过的 pack.res|HarmonyOS NEXT 元服务卡片快照 EntryCard 与 AGC 上架错误码 13
首发于华为开发者论坛:https://developer.huawei.com/consumer/cn/blog/topic/03225208468280132错误码 13「卡片与快照不符合要求」这句提示,会让你一直去改卡片配置。改错方向了:缺的是包里的pack.res——而它有没有被打进包,取决于你工程根有没有一个叫EntryCard/的目录。本地编译、签名、安装全程不报错,因为本地根本不校验这一项。
2026-09-22 04:39:30
253
原创 鸿蒙图标的两个 icon 字段:我写下的“唯一正解“,被自己的工程推翻了|HarmonyOS NEXT app.icon 与 ability icon 分层图标配置实测
本文最有用的是那个反例,不是我的结论。你要是在自己账号下读到第四种配法,那说明边界比我知道的还宽,欢迎在评论里贴出来。反过来也别读成"扁平随便用"——那两次自检和驳回是真实发生过的,我能确定的只有"唯一正解"这个说法不成立,至于边界在哪,未知。另外两件顺手提醒的事:商店图标是第三个东西,别跟这俩混,AGC 应用信息页上传的是单张正方形直角图,平台自己加圆角蒙层,你别预裁;模块级是非法字段,加了 hvigor 直接报错。这是《鸿蒙开发踩坑实录》第 1 篇。这类「我以为的唯一正解」后来还撞过几次。
2026-09-16 07:15:17
205
转载 JVM原理及优化
对JVM的总结言简意赅,很使用的文章。记录下点个赞。JVM原理及优化 : http://blog.youkuaiyun.com/ning109314/article/details/10411495
2016-03-06 14:54:35
872
原创 elasticsearch去重计数(distinct)
如果需要针对ES索引统计某个字段上出现的不同值的个数时,可以使用cardinality聚合查询完成:GET /urlAttributes/_search?search_type=count{ "aggs": { "uniq_attr": { "cardinality": { "field": "domain" } } }}12
2016-03-02 22:05:18
46920
3
原创 elasticsearch扩容和机器下线
1. es支持手动迁移索引分片(index shards);但需提前关闭自动的shard allocation;2. 将旧机器的索引分片迁移至新机器后,再将旧机器下线即可;
2016-02-29 23:42:49
7109
原创 spark streaming---使用gradle混合编译Scala和Java项目并打包
gradle和maven、ant相比,使用起来方便了好多。记下自己用过的build.gradle(类似maven的pom.xml)模版, 以及碰到并解决的一些小问题:*************************************************************************************************************
2016-02-25 22:16:37
3378
原创 Spark应用开发如何设定配置生效
在写Spark应用时,可以添加应用配置的地方有三个,今天总结下方便记忆:第一个地方,也是优先级最高的地方,是在应用程序代码里设定配置,示例如下:val conf = new SparkConf() .setAppName("myApp")val sc = new SparkContext(conf)第二个地方,是在提交应用时。因为有时候我们不想把
2016-02-19 22:45:07
2749
原创 如何发现war工程运行期间是否有僵死的servlet线程
RT。1. Tomcat线程机制2. 如何发现自己的war工程中是否有僵死的servlet线程
2016-02-02 23:47:13
832
原创 利用sqoop从mysql向hbase导数据(拼接mysql多字段做为hbase rowkey)
说说自己的思路,路过的朋友请帮忙指正或提新建议,万分感谢。场景介绍:自己在mysql中有1张表,每天2GB左右的统计数据,,因为资源原因需定期删除。但有其他场景需要保存1年以上,所以想把数据备份在hbase里,同时还要能支持准实时查询。选择Sqoop原因: 希望以后能有一个较通用的数据迁移方案(在mysql和hbase/hive/hdfs之间),尽量减少重复代码
2016-02-02 23:44:03
4815
转载 HBase体系结构(转)
原文链接见: http://www.cnblogs.com/ggjucheng/p/3380169.htmlHBase的服务器体系结构遵循简单的主从服务器架构,它由HRegion服务器(HRegion Server)群和HBase Master服务器(HBase Master Server)构成。HBase Master服务器负责管理所有的HRegion服务器,而HBase中所
2015-10-03 12:35:17
641
原创 如何尽量避免Elasticsearch脑裂问题
今天碰到个问题,8个结点的ES集群老是启动失败,检查发现居然形成多个小集群,也就是说,出现了多个master结点。折腾半天,发现调整如下两个参数有效: discovery.zen.ping_timeout(默认3秒): 默认情况下,一个节点会认为,如果master节点在3秒之内没有应答,那么这个节点就是死掉了,而增加这个值,会增加节点等待响应的时间,从一定
2015-09-09 23:24:28
2990
原创 Storm+Redis性能优化问题
结合自己的开发及调试经历,总结一下经验教训。提升 Storm Topology的性能,不能只关注提高进程(worker)及线程(executor: spout/bolt)并发度, 也要注意是否有外部瓶颈; 我的问题就在于Topology最后一级Bolt是要把分析结果写入Redis, 由于tuple吞吐量为每分钟数百万级,给Redis服务器带来很大压力。 我的优化思路如下:
2015-08-30 18:58:33
3737
原创 Zookeeper日志配置问题
前端时间配置zookeeper日志时出现问题,尽管修改了conf目录下的log4j.properties, 重启zookeeper后仍不起作用。查了下资料,才知道要修改bin目录下的zkEnv.sh。注:我用的zookeper版本是3.4.5。总结步骤如下:1> 修改conf/log4j.properties: # Define some default values that
2015-08-18 07:54:44
4994
原创 Hadoop 2.6.0(HA)部署启动
如果是一个新的HDFS集群,还要首先执行格式化命令“hdfs namenode -format”,紧接着启动本NameNode进程。如果存在一个已经格式化过的NameNode,并且已经启动了。那么应该把该NameNode的数据同步到另一个没有格式化的NameNode。在未格式化过的NameNode上执行命令“hdfs namenode -bootstrapStandby”。如果是把一个非H
2015-08-16 10:16:05
991
原创 Spark通过YARN-client提交任务不成功
自己用的Spark-1.3.1, 通过YARN Client提交任务访问Kerberos认证的Hadoop集群。发现应用提交后始终出现如下循环提示:15/03/31 09:00:45 INFO yarn.Client: Application report for application_1427763283312_0001 (state: ACCEPTED)15/03/31 09:0
2015-07-23 23:19:35
13312
原创 Spark应用如何访问带Kerberos认证的CDH Hadoop集群
我用的是 Spark Standalone集群,当运行kinit命令导入证书,并把CDH Hadoop集群的配置文件放入spark/conf/目录后,提交应用发现还是无法访问CDH Hadoop。后来查了下官网资料,貌似Standalone模式的Spark集群不支持访问Kerberos认证的Hadoop,我们可以使用Yarn Client模式管理的的Spark集群。假设你的Hadoop集群
2015-07-15 23:09:35
9697
1
原创 如何应对SparkSQL DataFrame保存到hdfs时出现的过多小文件问题
原因就不解释了,总之是因为多线程并行往hdfs写造成的(因为每个DataFrame/RDD分成若干个Partition,这些partition可以被并行处理)。其结果就是一个存下来的文件,其实是hdfs中一个目录,在这个目录下才是众多partition对应的文件,最坏的情况是出现好多size为0的文件。如果确实想避免小文件,可以在save之前把DaraFrame的partition设为0:
2015-07-08 22:40:24
8968
原创 Storm开发过程中遇到的Topology “hang"问题
题目中之所以用双引号标注”hang", 是因为自己碰到的问题并不是Topology程序真的hang住了,而是有其他原因。我曾经碰到的问题大致如下: 提交Topology之后,刚开始的几小时是正常运行的,但系统处理的数据量之后会越来越少,直至变为0,就像Topology hang住一样。总结下自己在分析解决该问题时的思路:由于特殊原因,刚开始没条件部署Storm UI,所以走了一些弯路。
2015-06-28 22:45:24
1425
原创 Flume 1.6.0 源码编译问题总结
简言之:$ cd apache-flume-1.6.0$ mvn compile $ mvn install ======> 打包出jar包编译Flume最大的问题是不管默认的maven repository还是oschina之类的国内镜像,编译下载依赖的速度都跟蜗牛一样,严重影响效率。后来查找资料,找到一个下载速度非常不错的r
2015-06-14 03:10:51
1708
原创 如何解决Kerberos问题: "Server has invalid Kerberos principal: hdfs/host2@****.COM"
在试图连接 带有Kerberos安全认证的CDH Hadoop集群时,碰到标题所述问题:(已经按要求替换了jre中的security目录下两个jar包,也已经导入证书,具体过程略)问题样例 : 13/10/25 10:52:24 ERROR security.UserGroupInformation: PriviledgedActionException as:user/hos
2015-06-12 00:44:46
9386
转载 Zookeeper安装与配置
每次安装 zookeeper都会查一遍,索性记下来。为尊重原文作者,仅记下如下链接: http://coolxing.iteye.com/blog/1871009
2015-06-06 17:42:10
697
原创 关于Linux下前后台程序的一点疑惑(& , (cmd &), setsid )--- (kafka-stop-server.sh不工作问题)
有时候需要把一个应用程序开启为后台进程,目前的理解如下:以一个 ping程序为例: $ ping www.baidu.com ===> 开启一个前台程序 $ ping www.sohu.com & ===> 开启一个后台程序,但该后台程序和当前的bash(shell)属于一个进程组, 且属于相同会话(
2015-05-31 09:07:13
3799
原创 如何查看Linux系统是32位还是64位
工作中经常需要查看系统是32位还是64位,总结方法如下:注: i386 / i686是32位, x86_64是64位1>[tucson@alexPC rkt]$ uname -aLinux alexPC 2.6.32-71.el6.x86_64 #1 SMP Fri May 20 03:51:51 BST 2011 x86_64 x86_64 x86_64 GNU/
2015-05-10 08:01:56
1105
原创 Linux容器家族之Rocket
Rocket代码: https://github.com/coreos/rktRocket ( 也叫rkt,Go预言实现 ) 是一个类似Docker的命令行工具。她可以打包应用和依赖包到可移植容器中,简化搭环境等部署工作。Rocket 的开发者认为,现在的Docker社区背离了当初设计Docker的初衷:即一个可复用的标准Linux容器。Rocket设计目标就是希望再次实现
2015-05-09 12:20:28
3850
转载 计算机及操作系统启动的过程详解
一直很喜欢阮一峰这两篇介绍计算机及操作系统启动过程分析的文章,现记录下来。为尊重作者原创,仅提供链接如下: http://www.ruanyifeng.com/blog/2013/02/booting.html 计算机是如何启动的?http://www.ruanyifeng.com/blog/2013/08/linux_boot_process.html Lin
2015-05-09 12:00:27
641
原创 Linux如何删除一些乱码命名的文件
工作中碰到几次类似问题,现总结下解决方案,以备后用:$ ls??????????_??????b6?S??.a test.war.bk test.war.bk1 ??z?2??F?[test@testPC /home/test] $ ls -liahatotal 11M397163 drwxr-xr-x 3 deploy deploy 4.0K May
2015-05-09 11:53:43
583
转载 Spark知识系统化整理分享
在学习和使用Spark的过程中,发现了这篇文章。感觉真不错,便于我们从宏观上了解Apache Spark的历史和现状。 为尊重原文作者,本文仅转载连接如下,建议Spark初学者必读: http://www.36dsj.com/archives/18204 (《为大数据处理点亮一盏明灯 Spark知识系统化整理分享》)
2015-04-11 09:46:21
656
原创 实时分析网站UV与Flajolet-Martin算法
最近在学习如何解决大数据流中的独立元素计数问题。这么讲起来有点抽象,一个很典型的例子是如何实时计算或者估计网站UV。 针对类似问题,很容易想到一个简单的办法:我们可以先对数据排序,然后再统计。可这种方法却无法应对大数据现实,因为在大数据场景下,诸如网站UV的数值,每天可能达到上亿,这就导致计算的时间及空间复杂度很高,因而很难满足实时要求。 Flajolet-Ma
2015-04-06 14:41:48
1945
原创 Spark集群资源调度
在学习和使用Spark过程中,简单了解下Spark如何在不同计算间分配资源,总的来说可以分为如下两个角度去分析(请路过高手指正):1> 每个Spark应用被分配到独立的进程(Executor)集上,Cluster Manager负责在不同的Spark应用间调度资源。2> 对于每个Spark应用的进程集内(一个SparkContext实例内),Spark通过 Fair Scheduler
2015-04-05 12:38:59
1546
Hadoop快速入门七步走
2018-04-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅