- 博客(296)
- 资源 (18)
- 收藏
- 关注
原创 [2023.09.16]: Yew的Hydration的底层逻辑3问
今天是周六,周末的事情感觉比平时都多,所以也没有写代码。所以打算结合这几天开发Yew应用的经历,聊聊Yew的Hydration。
2023-09-16 23:49:11 83
原创 [2023.09.15]: Yew SSR模式下的条件编译问题
昨天才写了[Rust的条件编译](https://blog.csdn.net/firefox1/article/details/132885756),没想到这个问题还没完。昨天我还为它的强大而赞叹不已,自以为对它了解了八九成,然而今天我才猛然意识到,这个里面的深度远超我的想象。我估计,我现在只了解其中的冰山一角吧。
2023-09-15 23:39:01 322
原创 [2023.09.14]: Rust的条件编译
关于条件编译,我的记忆是10多年前,写C#的时代了,最近10年写Python和Javascript代码,虽然Javascript中也可以通过插件实现条件编译的效果,但是用起来太憋足了。
2023-09-14 17:53:13 544
原创 [2023.09.13]: Rust Lang,避不开的所有权问题
Rust的所有权问题,在我学Rust的时候就跳过了,因为我知道这玩意儿没有场景就不好理解。没想到场景很快就出现了。在开发Yew应用组件的时候,涉及到了事件,闭包,自然就引出了所有权问题。话不多说,下面让我们直接进入代码场景,去体验并了解Rust的所有权机制吧。
2023-09-13 17:22:18 493
原创 [2023.09.12]: Yew应用开发的第一个hook--use_state
Yew的SSR模式推荐使用function_component组件,并且在function_component中使用hooks。其中,我使用到的第一个hook是use_state。use_state的设计意图与React中的useState非常相似,都是为了保存并修改当前的状态。然而,由于Yew是用Rust语言实现的,所以在具体使用上还是有一些差异的。
2023-09-12 17:50:18 488
原创 [2023.09.11]: Yew的SSR中的Cargo.toml配置
由于各种原因,我最后还是打算把Yew应用的开发从csr模式转成ssr模式。没想到这里面的水还是挺深的,这里面的Cargo.toml配置包含的信息量之大,着实让我头疼了一番。
2023-09-11 22:46:48 256
原创 Yew应用中如何获取<textarea/>的值?
当我在开发Yew的组件时,我发现自己总是无法摆脱ReactJS的思维模式。这不在获取中的值时,我脑海里浮现的代码是这样的:
2023-09-08 23:22:52 251
原创 Rust Yew应用开发的事件初探
在Rust的世界中有一个叫Yew的框架,它借鉴了React的思想。我的React代码也写了不少,今天就聊一下我个人对Yew应用开发中事件相关部分的体验。
2023-09-06 11:10:05 810
原创 Rust的derive思考
这几天在Yew的学习实践中,发现derive中的参数中包含了yew自己的东西,比如yew::Properties。习惯使用#[derive(Clone, Debug, PartialEq)]之后,发现还有新的成员,这让我好奇起来。
2023-09-04 17:20:59 864
原创 创作的魔力
趁着周末的最后几个小时,我拿起了斧头和电转,改良了一下鸟子们的站桩。这个过程别提多带劲儿呐。代码写多了,动手做一些实体活儿,这个感觉就是不一样啊。
2023-09-03 21:38:31 64
原创 驾驭单元测试漫谈
单元测试,说起来简单,做起来难。写多了,会耽误项目进度不说,后期维护起来也难;写少了,起不了作用,变成了花架子。我之前提出的一个观点是单元测试和代码的设计有关系,也就是说,单元测试和个人的开发经验,写代码的水平有关。换言之,张三在项目里的时候,单元测试可能做得好;李四来了项目,单元测试可能就做的不好。那我们来看一下单元测试的定义:单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个...
2020-10-16 22:32:08 155
原创 数据库系统三级模式之“外模式”
我是做开发的,所以我更关心数据库系统的外模式。众所周知,数据库系统的三级模式为:外模式,模式(概念模式),内模式。应用程序依赖于外模式,独立于模式和内模式;一个数据库系统可以有多个外模式,而一个应用程序只能使用一个外模式。模式(概念模式)是数据库设计的中心。而内模式依赖于模式,独立于外模式和存储设备。这样划分的目的,想必大家都明白,是为了提升数据库系统在设计和维护过程中的稳定性,减小或者消除数据库系统局部调整所带来的大范围的冲击。多年以前,那时候我还在做C/S模式的应用系统开发,客户端的数据大都是通过
2020-09-10 11:30:00 2237
原创 从3个判断来进行异常处理
“可用性”是指系统在运行过程中,对各种异常的响应及其响应的量度。这些异常包括但不限于,网络异常,底层系统异常,调用第三方功能模块引入的异常,以及测试未覆盖到的代码本身的错误。从代码层面,“可用性”主要关注下面几点:后台Api的调用第三方功能模块的调用事务处理从代码层面,“可用性”的目标包括:不会影响到其它模块的正常运行不会产生错误状态能够帮助恢复错误既然从代码层面出发,那么首先要保证代码的基本健壮性,能够通过各种语言的lint工具扫描(规则可以根据项目的实际情况来顶)。稍微
2020-09-04 16:21:21 202
原创 基于构件的软件开发模型漫谈
基于构件的软件开发模型为我们带来了很大的成功,个人认为其背后的原理是构件中成功的商业价值能够被不断复制,因而带来更大的商业价值。“复制”不但能够降低开发成本,还能够提高单位产出,提升系统的整体稳定性,降低bug率。以开发一个App为例,Swiper,ScrollView,Image等等都是常用构件,我们通常以这些构件为基础来实现复杂的商业逻辑,从而产生价值。在这个过程中,我们对实现Swiper和ScrollView的成本几乎为0(当然可能需要一些license费用)。我们的成本主要集中在实现复杂的商业逻
2020-07-30 21:18:29 2390
原创 从模块的耦合程度谈程序设计
在结构化设计中,模块是设计的最小单位,模块之间的关联程度,用耦合度来表示。模块之间的耦合度越高,模块的独立性就越差,后期的维护成本也就越高。因此,在程序设计过程中,我们追求的是低耦合度。耦合度从低到高:非直接耦合数据耦合标记耦合控制耦合外部耦合公共耦合内容耦合(高级语言一般不会涉及到这里)非直接耦合是模块之间,通过控制层调度发生关联关系,给一段reactjs的代码:import getUserInfo from './libs/getUserInfo'import { getDat
2020-07-25 22:44:06 493
原创 聊一聊代码中的抽象
抽象是编写代码的基础,有效的认识代码中的抽象,对我们做设计模式和架构的选择都有好处。据我所知的抽象分为3种:过程抽象数据抽象控制抽象过程抽象过程抽象是最常用的一种抽象,它是消除系统中重复代码头号方法。例如,在一个App的页面上,当页面打开时,会加载数据;在App重新唤起时,会重新加载数据;当用户点击某个按钮时,会加载数据;面对这种情况,我们通常会把这段代码抽象出来,将其放在一个函数中。从而避免了这段代码在多个事件中重复出现的情况。这样做的好处是当数据加载的逻辑有变化时,修改的地方会被限制
2020-06-10 15:01:40 747
原创 Taro使用工作笔记-build命令
最近在我的工作环境中使用taro的build出了问题,虽然最终找出的原因都不是taro本身的问题,但是还是想把探索过程中所接触到的文件记录一下,为的是分享给未来的自己,如果对你有用,那真是太巧了。本机使用的是nvm,当前应用的node版本为8.15.1,因此taro的全局安装目录在node/v8.15.1/下。Taro build命令的入口node/v8.15.1/lib/nod...
2019-12-07 11:54:46 838
原创 ESLint - 构建强壮的Javascript代码
我记得10年前,我用Javascript只是为了补充一下Asp.net上AjaxControl的动态数据加载,而现在Javascript几乎成为了前端开发的主流语言。如果仍然用10年前那种把Javascript当成小脚本的方式来完成现在的前端项目,那么任何一个项目都可能变成一个噩梦。为什么是ESlint众所周知,Javascript是一种动态语言,其优势很明显,缺点也众所周知(参考...
2019-09-24 12:28:53 449
原创 回顾我的设计模式应用
在多个项目里面工作之后发现,离开了所谓的设计模式,项目照样活得好好的,至少在那一刻看上去是那样。我接手的第一个项目,医院信息管理系统,是在PowerBuilder6.5上开发的。虽然我在这个系统上写了很多的代码,但是现在总结起来不外乎下面的工作在窗体加载完成后从数据库中抓取数据 通过界面的按钮事件,对界面的数据进行处理 通过界面的按钮事件,将界面的数据提交到数据库 通过界面的按钮事件,...
2019-09-16 17:43:16 143
原创 软件架构风格 - 虚拟机风格
虚拟机风格包含解释器 基于规则的系统解释器侧重于自定义,灵活的功能特性。这些功能特性通过解释器将其转换为目标平台上的可执行代码。基于规则的系统侧重于规则集,规则解释器,常见于人工智能领域和DSS(Decision Support Design)中。相较于“数据流风格,调用返回风格,独立构件风格“,虚拟机风格搭建的是运行规则/语言/自定义描述的平台,而非实现具体的业务逻辑。...
2019-09-03 15:35:06 4320 1
原创 软件架构风格 - 独立构件风格
独立构件风格包含进程通信 事件驱动系统形如其名,独立构件风格强调的是构件的独立性。构件之间的耦合度应该是非常低的“非直接耦合”或者“数据耦合“。个人觉得,微服务就是”独立构件风格-进程通信“的典范。事件驱动系统,强调的是非直接调用,它是信息和一组可扩展的信息处理器的集合,信息处理器之间的关系是“非直接耦合”,而信息和信息处理器之间的关系通过框架来实现。独立构件风格的优势在于,由于...
2019-08-31 15:09:51 3233
原创 软件架构风格-调用/返回风格
调用返回风格包括主程序/子程序 面向对象风格 层次结构风格个人觉得这是最常用的一种风格,因为它符合顶层分解的逻辑。每一个抽象层次都会通过向下调用的方式来实现它所定义的功能。 采用调用返回风格的系统的配置比较多,在实践中,我们希望通过配置来实现灵活的调用,即将低层次的结构在有需要的时候随意替换掉。但是,替换没有那么简单,首先,出于动机方面的原因,一旦项目上线,没有人愿意去动线上的代码;其...
2019-08-28 22:30:10 3724
原创 软件架构风格-数据流风格
个人认为数据流风格是软件架构中最简单的风格,它是顺序执行的,可能你在不经意间已经使用了这种风格。数据流风格包含:批处理 管道过滤器批处理强调数据的完整性,过程没有交互。每一步都是一个独立的程序,每一步之间通过数据传输来进行交互,后一步必须在前一步完成时才能开始。管道过滤强调数据的转换,输出的数据项相较于输出的数据范围,可能增加也可能减少,过程可交互。管道过滤器分为两个部分,过滤器和...
2019-08-26 16:23:29 3311
原创 系统架构师-结构化开发方法
结构化分析研究“物质环境”:当前系统的数据流图,包括人和自动化流程 建立系统逻辑模型:将自然流数据转换成等价的逻辑数据流图 划清人机界限:确定哪些由自动化完成,哪些由人工完成结构化分析的输出:分层的数据流图 数据字典 加工逻辑说明 补充材料数据流图外部实体:目标软件系统之外的人或者系统;也可以是数据的发源地或者归宿地 数据存储:文件存储/数据库存储 加工:描述...
2019-08-13 17:18:47 260
原创 Javascript - 移动H5页面禁用客户端自带的下拉刷新同时实现页面滚动
关键字:移动端,无下拉,可滚动页面在做移动端的H5页面时,由于手机自有的特性,整个页面具有下拉刷新功能。但如果我们仅仅是做展示页面,不希望下拉刷新,但同时也想保留整个页面的正常上下滚动,该如何做呢?实现要点禁用body上的touchmove事件 设置恰当的元素布局 使用matrix实现页面正常上下滚动禁用body上的touchmove事件document.body.add...
2019-05-31 08:58:35 8451 3
原创 Python 3中的json.dumps,会将中文转换为unicode编码后保存
先把这次踩坑的结论放在最前面1. Python 3已经将unicode作为默认编码2. Python 3中的json在做dumps操作时,会将中文转换成unicode编码,并以16进制方式存储,再做逆向操作时,会将unicode编码转换回中文这就解释了,为什么json.dumps操作后,得到的字符串是\uXXXX。谢谢@benpaodexiaowoniu。在python3中,e...
2017-10-24 16:42:43 38176 5
原创 关于系统架构的自问自答
最近,由于工作的原因,有了不少时间来思考系统架构。这个话题我也不止一次思考,但每要整理时,总是感觉没有头绪,无从下手。因此,决定通过自问自答的方式,通过一点一滴,希望有所进展。除此之外,在这里整理的另外一个目的,是为了将我的想法放在开放的环境中,希望能够得到大家的指正。问:有没有更先进的架构答:没有更先进的架构,只有更加合适的架构。这个问题是我最近能够想起的最近我遇到的
2017-05-15 16:48:16 794
原创 Flask + mod_wsgi + Apache on Windows 部署成功(随时接受提问)
前言说是前言,纯粹就是吐槽。如果你赶时间,完全可以跳过这部分,我保证不会在这里隐藏任何有用的内容。人上年纪后,可能冲劲不足,我花了大概两周的时间才成功的将flask部署到windows上。还好没有放弃,最终找到了答案。不过这也说明我在开源软件的应用和配置上还很差劲呀,当我看到要用VC10的C/C++编译器编译源代码时,头都大了。你说我们这些平时习惯了Vistual Studio编译的,
2015-06-10 11:15:03 27305 33
原创 项目经理的素质
这几天看了几本管理方面的书,偶有启发,想谈谈项目经理应该具备的素质。其实也是根据自己的情况来写,希望大家多多指教。以前只知道项目来了,做计划,和客户确认计划,然后按照计划交货。只要交货了就万事大吉。而在这个过程中,我所干的似乎就一件事,和时间赛跑。每次提交版本后,整个人都觉得非常的累。然后又稍作休整(有时连休整的时间都没有,因为常常是一个项目还没有结束,另外一个项目有来了),接下一个项目,
2014-12-15 00:15:36 1419
原创 总结之总结
这周都在为前一段时间的工作进行总结,虽然没有时间压力,但是还是让我感觉烦恼,特别是在开始阶段,面对一堆资料无从下手,时间过半,还是没有清晰的思路。现在总结虽然写完了,但还是有些不爽,想在这里吐吐槽,希望日后的总结工作能够更加顺利一些。现在回想起来,在总结开始的时候,我有几个疑惑,这次总结的目标是什么,应该达到什么效果,甚至还在纠结是用word来写还是用ppt来写或者直接写在我常用的everno
2014-11-13 17:09:43 1102
原创 Python Flask 在Sina App Engine (SAE)上安家
早就听说了Python的大名,随着的编程语言的理解加深,越发觉得动态语言的威力--真大呀。虽然,整个过程都很简单,但是对于一个新手,特别是从传统C#, Asp.net, IIS阵营过来的开发人员来说,什么都是第一次接触。希望我的这篇文章能够成为你Python学习道路上的一盏小灯。
2014-07-29 14:27:19 10040
原创 MVC来源戏说
好久没有来CSDN写博客了。老朋友们可都好。这篇Blog本来是我的个人笔记,在整理过程中,突发奇想整出来的。之所以叫戏说,是因为内容的由来有点把玩儿的味道在里面,限于本人有限的水平和知识面,还望大家多指教。使用数据结构,将后台和前台隔离开,这种方式不仅在MVC中适用,在其它的设计中也是一个根本的原则。在这里,DataModel作为View和Service交换数据的一
2014-03-26 22:30:18 932
原创 代码中的地雷
以前听说过软件系统中有定时炸弹,今天我领教了代码中的地雷。 所谓地雷,它的特性是安装容易拆除难,下面段代码完全符合地雷的特性。 public static void GetAvail(SegmentType segment, out int avail){ if(segment.StartDate n.MaxAvail = 0); //....}这是一个底层方法,依赖于它的代码较多,即它的扇出较大。这个函数的本意是获取avail,但在获取avail的同时染指了
2010-06-19 22:12:00 928
原创 Cache 设计概要
Cache设计需要考虑以下问题 1. Cache的数据同步问题 2. Cache的更新问题 对于数据同步,必须考虑多线程相关技术,要点有 1. lock关键字 2. ReaderWriterLock/ReaderWriterLockSlim 3. InterLocked 4. Mutex 5. Monitor 对于数据更新,要考虑以下问题 1. 自动更新(包括:有效期的使用)
2010-05-04 16:00:00 810
原创 Form的设计原则
界面元素V用于显示数据M; 类P用于处理数据M,包含以下行为: 对M的构造 对M的有效性验证 界面元素V中的用户事件只能作用于P Form作为界面元素V的容器,只能作用于P,而不是V。 最近在学习SmartClient,正在逐步将其应用于系统开发中。很多情况下不能够直接使用smartclient提供的框架,但是其中的思想还是值得借鉴。 希望各位多多指教。
2010-04-24 16:03:00 1033
Rest Restful 基于rocket服务搭建代码
2023-10-15
Rust Yew 前端+后端 源代码,帮助大家快速了解和掌握Rust Yew的SSR的前端开发和基于Rocket的后端开发
2023-09-21
C# Code Analyser 1.2.1
2008-12-27
Code Analyser 1.1.3
2008-12-24
Code Analyser 代码分析器
2008-12-21
C# 代码分析器 帮组分析代码
2008-12-16
C# 代码分析器 帮组分析代码
2008-12-15
Dnn4.x修改工具
2007-10-24
Dnn权限修改器
2007-09-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人