自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 收藏
  • 关注

原创 独立开发者做产品的 6 个商业问题:我花两个月踩坑后总结的清单

我花了两个月开发了一款 macOS 工具,上线后 23 个访客,0 个付费用户。代码没有 bug,设计也还过得去。问题出在哪?跳过了太多"写代码之外"的事。回头看,技术背景的开发者最容易犯的错误,恰恰是因为太擅长写代码——习惯性地把所有时间花在产品开发上,把商业思考留给"以后再说"。本文把这两个月的踩坑经验提炼成 6 个问题,每个独立开发者在动手写代码之前都应该认真回答一遍。

2026-02-21 21:59:29 987

原创 20天、20000次对话、12亿Token:一个 Claude Code 重度用户的完整复盘

Claude Code 不是 AI 助手,是 AI 团队。用管理团队的方式去用它。人的核心价值是决策。产品决策、技术决策、创新,这些交不出去。工程化使用 AI。Skill 固化流程、Subagent 管理复杂度、知识分组实现记忆、上下文管理保持智能。作者日常用 Claude Code 开发GroAsk——macOS 菜单栏 AI 启动器,⌥Space直达所有 AI,同时监控多个 Claude Code 终端状态。如果你也在多 Session 场景下工作,可以试试。

2026-02-20 15:12:05 1167 2

原创 macOS 实战:用 Swift + AppleScript 实现全局快捷键直达 ChatGPT / Claude / Gemini

每天在浏览器翻标签页找 AI 47 次,在终端 cd 路径启动 Claude Code 37 次——这些重复操作累积起来消耗大量注意力。本文介绍如何用 Swift + AppKit + AppleScript 实现一个 macOS 菜单栏工具,通过全局快捷键 ⌥Space 一键发送消息到任意 AI,附完整技术方案。

2026-02-14 02:21:17 994

原创 开源|macOS 菜单栏 AI 启动器 GroAsk:⌥Space 一键直达 ChatGPT / Claude / Gemini

作为开发者,日常工作中越来越离不开各种 AI 工具。Claude 问架构设计、ChatGPT 查 API 用法、Gemini 翻译技术文档……但每次使用都需要:打开浏览器 → 找到对应标签页 → 复制问题 → 粘贴 → 等待回复。这些碎片化的切换操作积累起来,其实浪费了不少时间。GroAsk。

2026-02-08 10:28:18 1109

原创 解决报错 MakeError #0 AppPackageMakerExe._make (package:flutter_app_packager/src/makers/exe/app_pac

使用flutter_distributor软件包,运行flutter_distributor package --platform windows --targets exe报错Error on line 15 in D:windows-setup_exe.iss: 系统 找不到指定的路径。

2025-01-15 19:09:13 464

原创 Android【01】TRTC实现跨应用屏幕录制

权限验证TRTC实例初始化进入房间开始屏幕录制调用云端录制结束录制并清理资源通过本文介绍的技术方案,可以在Android应用中实现稳定可靠的跨应用屏幕录制功能。建议在实际开发中根据具体需求和场景做相应调整,同时注意持续优化用户体验和性能表现。

2024-11-13 14:01:14 1044

原创 项目管理【02】项目开发完整指南

提炼成功经验制定改进计划形成最佳实践完整的移动端项目开发流程需要团队成员的密切配合和有效沟通。通过严格执行上述流程,可以显著提高项目交付质量,减少返工,提升团队效率。建议团队根据实际情况对流程进行适当调整和优化,找到最适合自己的工作方式。

2024-11-13 13:59:08 676

原创 Flutter【05】企业级Flutter架构实践

本架构方案通过三层架构设计,实现了业务与基础能力的解耦,支持多端统一开发,提供了完整的开发支撑体系。在实际应用中,该架构已经支撑起大型企业级应用的开发需求,具有良好的扩展性和维护性。

2024-11-13 13:57:22 1308

原创 项目管理【01】项目负责人实践指南

优秀的项目负责人需要在技术能力和管理能力之间找到平衡,既要确保项目按时高质量交付,又要注重团队成长和经验积累。通过合理运用本文提到的各项实践,可以更好地履行项目负责人的职责,推动项目成功交付。

2024-11-13 13:56:30 535

原创 Flutter【00】面试系统的MVVM重构实践

重构建议保持功能稳定性渐进式重构重视测试覆盖架构思考合理的粒度控制清晰的职责划分可扩展性设计本次重构通过合理的模块化设计和MVVM架构的规范实现,成功解决了代码维护性问题,为后续的持续优化奠定了良好基础。

2024-11-13 13:55:22 1286

原创 Flutter【04】高性能表单架构设计

本文介绍的Flutter表单架构设计方案,通过MVVM模式和多种设计模式的组合应用,实现了一个高性能、可维护、易扩展的表单系统。该方案特别适合处理复杂的企业级表单应用,为Flutter开发提供了一个可靠的架构参考。

2024-11-13 13:53:33 775

原创 Flutter【00】InkWell组件去掉灰色遮罩

Focus widget 检测到焦点变化调用 handleFocusUpdateupdateFocusHighlights 判断是否需要显示焦点updateHighlight 创建 InkHighlight 实例getHighlightColorForType 获取焦点颜色优先使用 focusColor 属性,否则使用主题颜色InkHighlight 被添加到 Material 的 _inkFeatures_RenderInkFeatures 在绘制时遍历所有特效。

2024-10-29 10:55:58 1266

原创 Flutter UI组件库(JUI)

JUI Flutter UI组件库JUI是为Flutter开发者打造的全面UI解决方案。它提供:- 丰富多样的预构建组件,从基础按钮到复杂表单- 高度可定制的界面元素,适应各种设计需求- 简洁直观的API,易于集成和使用- 优化的性能,确保流畅用户体验- 一致的设计语言,提升应用整体美感- 详尽的文档和示例,加速开发进程无论是快速原型还是企业级应用,JUI都能助您高效构建出色的Flutter界面。

2024-10-16 11:54:35 2561 1

原创 Flutter【03】图片输出package依赖关系

安装 graphviz项目根目录pubspec.yaml文件内添加。

2024-09-02 13:16:43 928

原创 Flutter【01】状态管理

Flutter 应用是 声明式 的,这也就意味着 Flutter 构建的用户界面就是应用的当前状态。当你的 Flutter 应用的状态发生改变时(例如,用户在设置界面中点击了一个开关选项)你改变了状态,这将会触发用户界面的重绘。去改变用户界面本身是没有必要的(例如 widget.setText )—你改变了状态,那么用户界面将重新构建。将开发者的重点,从UI展示转移到state的维护上。

2024-08-20 18:08:11 1049

原创 Flutter【02】mobx原理

mobx

2024-08-20 18:04:31 1052 1

原创 Flutter【01】状态管理

Flutter 应用是 声明式 的,这也就意味着 Flutter 构建的用户界面就是应用的当前状态。当你的 Flutter 应用的状态发生改变时(例如,用户在设置界面中点击了一个开关选项)你改变了状态,这将会触发用户界面的重绘。去改变用户界面本身是没有必要的(例如 widget.setText )—你改变了状态,那么用户界面将重新构建。将开发者的重点,从UI展示转移到state的维护上。

2024-08-20 17:58:42 1387 1

原创 Dart【09】垃圾回收

Dart 的垃圾收集器是,由两个阶段组成:年轻空间清除器和并行标记清除收集器。

2024-08-20 17:53:43 733

原创 Dart【08】常见运算符

int?a = 0 对象可为空。

2024-08-20 17:51:46 219

原创 Dart【07】Isolate并发编程

isolate就像是机器上的一个小空间,带有自己的私有内存块和一个运行事件循环的线程。两个Isolate,每个Isolate都有自己的内存和执行线程。

2024-08-20 17:50:30 946

原创 Dart【06】generator生成器函数

可以渐进的返回一个值的序列。Dart内置了两种生成器函数的支持:同步生成器(sync*):返回一个Iterable对象。异步生成器(async*):返回一个Stream对象。

2024-08-20 17:48:48 426

原创 Dart【05】async和await简化异步

在学习使用async和await之前,你需要先掌握Dart中Future类的使用,因为async和await本质上只是对Future类的简化。学习async和await之前,我们先来看一段使用Futureint num;print(num);});这段代码很简单,将异步函数getNum()返回的值赋值给num,打印num。现在我们使用async和awaitint num;print(num);首先我们将main方法后加入async,使用async的目的就是告诉Dart我要在这里使用。

2024-08-20 17:46:59 1219

原创 Dart【04】Stream流

StreamBuilder组件主要有两个参数第一个参数stream,要订阅的流第二个参数builder,widget构建函数可以使用builder函数的snapshot.connectionState属性根据流的不同状态返回不同的组件每当StreamBuilder监听的stream有数据变化时,builder函数就会被调用,组件重新构建。

2024-08-20 17:45:07 1333

原创 Dart【03】Future异步

创建一个方法,将方法的返回值声明为Future,将需要异步执行的代码写到方法返回的Future的构造函数里。一定记住,只有写在Future构造函数里的代码才是异步的。//写在这里的方法是同步的return Future(() {//写在这里的代码是异步的});使用此方法的意义你可能会有些疑问,我直接使用Future的构造方法就可以了,为什么还要这么写,这不是多此一举吗?我会用两段代码给你介绍一下上述方式的作用。i++) {}print('耗时任务结束');});

2024-08-20 17:43:07 1065

原创 Dart【02】Timer定时器

Timer类主要用于安排延时任务和定时任务,延时任务是指延迟一段时间之后才执行的任务,定时任务是指每隔一段时间执行一次的任务。默认的构造函数有两个必选参数示例:输出结果一秒之后控制台打印“方法被执行了”。Timer.periodic构造函数有两个必选参数示例:输出结果每隔两秒控制台打印一次的类型想测试Timer类的方法和属性,第一步肯定是创建Timer对象示例:isActive判断当前定时器是否在活跃状态的bool值,如果尚未执行回调并且未取消计时器,则计时器将处于活动状态。如果尚未取消,则计时器处

2024-08-20 17:40:53 1325

原创 Dart【01】基本概念和变量

# 写在前面本篇文章是《Dart教程》系列的第一篇,意在帮助有意学习Flutter的朋友了解Dart语言。

2024-08-20 17:38:22 857

原创 Flutter【组件】标签

flutter 标签组件。标签组件是一种常见的 UI 元素,用于显示和管理多个标签(或标签集合)。

2024-07-08 10:53:28 891

原创 Flutter【组件】点击类型表单项

flutter 点击表单项组件,适合用户输入表单的场景。点击表单项组件是一个用户界面元素,通常用于表单或设置界面中,以便用户可以点击它们来选择或更改某些设置或输入内容。这类组件通常由一个标签和一个可点击区域组成,并且可以触发相应的操作或导航到另一个页面。表单项会有个合集,逐个更新。

2024-06-21 14:37:09 453

原创 Flutter【组件】按钮

flutter 按钮组件。提供一种封装按钮组件的思路,并不支持过多的自定义属性。根据使用场景及设计规范进行封装,使用起来比较方便。

2024-06-20 17:51:26 473

原创 Flutter【组件】可折叠文本组件

flutter 可折叠文本组件。点击展开,收起折叠文本。

2024-06-19 15:52:28 576

原创 Flutter【组件】富文本组件

flutter 富文本组件,富文本组件(Rich Text Component)是一个用户界面元素,用于显示和编辑带有多种样式的文本。它允许在同一段文本中应用不同的字体、颜色、大小、粗细、斜体、下划线

2024-06-18 11:06:59 733

原创 如何处理BUG

做好预期,预计该BUG多长时间可以解决。保持良好的心态和钻研精神去解决问题。

2022-10-12 16:02:55 530

原创 Dart【00】异步Future与事件循环Event Loop

如果你的程序中有两个方法,这两个方法桉顺序执行,第一个方法执行需要五秒,如果是同步代码,第二个方法会等待第一个方法执行完,才会被调用,如果第一个方法是异步的,程序在执行第一个方法时,不会等待它执行结束,而是接着执行第二个方法,这样第二个方法就无需在第一个方法执行完之后被调用。在客户端异步是非常有用的,如果你在初始化时有一个非常耗时,但又不需要它在ui画面响应前执行完成的方法,你就可以使用异步。你现在应该了解Dart的事件循环以及dart如何安排任务。

2022-01-14 16:25:11 1949 1

原创 Dart【00】语法规范

如果一个字段不依赖于构造函数中的参数, 则应该在定义的时候就初始化字段值。这样可以减少需要的代码并可以确保在有多个构造函数的时候你不会忘记初始化该字段。不推荐的写法// Oops!推荐的写法当然,对于变量取值依赖构造函数参数的情况以及不同的构造函数取值也不一样的情况, 则不适合本条规则。

2022-01-14 16:25:03 831 1

原创 Dart【00】基础语法

Const 变量在编译时就已经固定。Final 变量或类变量在第一次使用时被初始化,懒加载。Const不能定义对象 Final能定义对象//可以省略String这个类型声明保留换行的字符串可以在编译器里换行""";保留换行的字符串可以在编译器里换行''';print(str);

2022-01-14 16:24:53 1997

原创 操作系统【00】链接

1. 什么是链接链接是将代码和数据片段整合成一个可以被加载(复制)到内存中执行的文件。现代操作系统中,链接是由链接器自动执行的。链接最大的作用是分离编译,在编写大型应用程序时,不需要再编译出一个巨大的源文件,可以把代码编译成比较小的,单独的模块。文件修改时只需要重新编译单独的模块就可以了,不需要重新编译整个文件。2. 静态链接流程下图为通过静态链接将两个C源文件编译成可执行目标文件的过程。静态链接:将可重定位目标文件组合成可执行目标文件。静态链接的两个主要工作为符号解析和重定位。3. 目标文件

2021-12-23 15:42:36 5627 1

原创 开源项目【00】5种技术编写的7个demo工程

android/ios/flutter/angular/java web 5种技术编写的7个demo工程,有点用,可以看看,github地址,https://github.com/ThinkerJack/jack_demo。android_demo1.项目简介《第一行代码》第二版书中示例demo,时间过去比较久,有一些API变动,自己动手写了一遍。2.环境简介语言:java 1.8依赖库:详见android_demo/app/build.gradle下的dependencies3.项目截图.

2021-11-05 10:08:46 887

原创 开源项目【00】Flutter/iOS/Android编写的三个计算器APP

前端时间使用Flutter,iOS,Android三种技术编写了三个相同功能的计算器APP,github地址,https://github.com/ThinkerJack/android-ios-flutter_notepad。ios_calculator1.项目简介使用Swift编写的IOS APP,实现了计算器的常见功能。2.环境简介语言:Swift 5.4UI框架:UIKit包管理工具:CocoaPods布局框架:SnapKit 5.0.03.项目截图4.开发流程与代码逻辑简述.

2021-11-05 10:07:24 2622

原创 Flutter【00】响应式布局

Flutter是一个跨平台的应用开发框架,支持各种屏幕大小的设备,它可以在智能手表这样的小设备上运行,也可以在电视这样的大设备上运行。使用相同的代码来适应不同的屏幕大小和像素密度是一个挑战。Flutter响应式布局的设计没有硬性的规则。在本文中,我将向您展示在设计响应式布局时可以遵循的一些方法。在使用Flutter构建响应式布局之前,我想说明一下Android和iOS是如何处理不同屏幕大小的布局的。1. Android的方法为了处理不同的屏幕尺寸和像素密度,在Android中使用了以下概念:1..

2021-11-05 10:04:15 2318 1

原创 Flutter【00】即时通讯技术方案及源码

无论是Flutter技术,或是IOS/Android/Web。只要掌握了即时通讯的核心开发流程,不同的技术只是API有些变化。API往往看文档就能解决,大前端或是特定平台的工程师还是要掌握核心开发流程,会几种做同样事情的API意义不大。demo写的比较简单,有问题可以评论。项目github地址。

2021-11-05 10:03:15 4008

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除