摘要: 从这几年的发展来看,声明式编程已经日趋式微了。 声明式编程是一种区分于命令式编程的程序语言设计思路。最常见的就是 HTML 和 XML 了,此外还可以把 prolog 等等算上。让我们看看它们的处境。 UI 领域 HTML 目前已经被 react vue 等 V-DOM 入侵。react 更典型。 阅读全文
posted @ 2021-06-06 22:28 Inshua 阅读(780) 评论(2) 推荐(0)
摘要: 2014年,我加入南京智精灵编写健脑小游戏。在这之前公司已有一堆前人留下的风格迥异的小作品,我们要参考这些作品开发一组新的风格统一的游戏产品。这些小游戏粗看画面简单,开发难度应该不大,但另一方面,游戏数量多,各有不同。一个一个的解决不是什么好办法。 我从众多的游戏中发现,这些游戏具备一种估值循环的逻 阅读全文
posted @ 2017-10-28 13:36 Inshua 阅读(357) 评论(0) 推荐(0)
摘要: 现有包装类 Wrapper 欲覆盖 inner 的方法 g class A{ void f(){ g(); } void g(){ } } class Wrapper extends A{ A inner; void f(){ inner.f() // 不调用 Wrapper.g } void g( 阅读全文
posted @ 2025-10-20 20:26 Inshua 阅读(3) 评论(0) 推荐(0)
摘要: Ignite3 怎么变成一个分布式数据库了? 这个问题问得非常好。 Apache Ignite 3(正式名:Apache Ignite 3.x)之所以被称为“分布式数据库”,而不仅仅是 Ignite 2 那样的“内存数据网格 (IMDG)”,是因为它在架构、存储层、事务模型、SQL 层和一致性模型上 阅读全文
posted @ 2025-10-09 23:59 Inshua 阅读(53) 评论(0) 推荐(0)
摘要: 两年前在教堂播放和制作过一段时间PPT。 这里专讲播放PPT。播放PPT,这个工作不仅要播放PPT,同时还负责调整摄像机。 在开场前一般会播放一些简介性的幻灯页。 开场后第一个环节通常为赞美团献唱,播放歌词PPT,这种PPT背景是黑色的,歌词为黄色文字,黑色被镂空,黄色文字叠加在摄像头画面,在投影呈 阅读全文
posted @ 2025-10-06 23:41 Inshua 阅读(25) 评论(0) 推荐(0)
摘要: 我们知道一个普通的事务意味着支持 begin commit rollback 三种操作, 其中 rollback 可能在出错后主动触发, 但也可能是被动触发, 例如会话断开数据库对事务回滚. 现在我们有两个数据库, db1 和 db2, 考虑转账场景, 用户 a 的账号在 db1, 用户 b 的账号 阅读全文
posted @ 2025-02-27 15:55 Inshua 阅读(27) 评论(0) 推荐(0)
摘要: 《整洁架构之道》的最后一章《细节决定成败》又在讨论 Javaer 永恒的问题:分层后 DAO Service Controller 应该按功能分包还是按层分包。 按功能分包的人认为这些文件在业务上是一起的,应该放在同一个包。按层分包的人认为每个层代表了不同的技术,应该按层分包。 可以想象,按层分包的 阅读全文
posted @ 2024-12-20 13:21 Inshua 阅读(775) 评论(11) 推荐(4)
摘要: 我从来不用 spring,项目再大也不会考虑 spring 那套模式。什么依赖注入控制反转,叠床架屋,对开发和运维可以说有害无益。上文 zz Spring 是一种反模式 - Inshua - 博客园 也是一篇鄙视 spring 的雄文。 但是 spring 在 Java 世界非常流行,甚至有 Jav 阅读全文
posted @ 2024-11-15 11:25 Inshua 阅读(55) 评论(0) 推荐(0)
摘要: 作为主库的 nosql 只有 CockroachDB、TiKV 以及 MongoDB(从4.0后事务似乎可用了),CockrouchDB 已经收费,另外 YugabyteDB 也可选,但大家的反馈都不好。 不需要考虑事务的业务可以选择 ScyllaDB 和 mongodb。ScyllaDB 可以兼当 阅读全文
posted @ 2024-10-10 00:57 Inshua 阅读(34) 评论(1) 推荐(0)
摘要: Q: 请根据 CAP 实现程度,分布式实现方式,数据结构,查询方式,存储引擎等比较 mongodb, redis, cassandra, scylladb, dragonflydb, TiKV, couchbase 等 nosql 数据库 A: 对比 NoSQL 数据库时,可以根据以下几个关键维度来 阅读全文
posted @ 2024-10-09 01:05 Inshua 阅读(245) 评论(0) 推荐(0)
摘要: 这两天阿里云网盘出现故障,可以访问其它用户的文件。这在商业上是很可怕的。 这个故障是什么原因导致的?网上有一些说法,最可信的是 SQL 查询没写条件,查了所有的文件。 试想如果不是关系型数据库,在普通OO编程语言里,断不会发生这样问题,在OO语言里, user.files 就是他的文件,不可能访问到 阅读全文
posted @ 2024-09-17 23:36 Inshua 阅读(41) 评论(0) 推荐(0)
摘要: 众所周知, 这些年函数式编程蔚为风气. 我们知道, 函数式编程是有 lambda 演算为数学基础的, 而面向对象, 普遍的说法是没有数学基础. kotlin dart 等语言都将函数设为一等公民, 不搞函数式已经要被时代抛弃了. 早些年我追随 JavaScript 和 Erlang 的脚步, 对 J 阅读全文
posted @ 2024-07-29 14:26 Inshua 阅读(19) 评论(0) 推荐(0)