dogfeet 最近的时间轴更新
dogfeet

dogfeet

V2EX 第 41272 号会员,加入于 2013-06-27 09:33:51 +08:00
今日活跃度排名 18563
求个便宜点的办公地点。
武汉  •  dogfeet  •  2014-10-22 14:52:15 PM  •  最后回复来自 moseschou
12
红杏是跪了吗?好像用不了了。
Chamber  •  dogfeet  •  2014-07-04 19:05:55 PM  •  最后回复来自 NEX
8
dogfeet 最近回复了
13 天前
回复了 walle1530 创建的主题 推广 手里有大量 GPT 额度欢迎白嫖
账号:jackma
支持!
@bthulu 看起来就是写不依赖读,或者说写需要的读状态可以是旧数据(只需完整,无需最新)。那么单纯的将 Device 变为不可变就行。ConcurrentDictionary 单纯的读写本身是原子的,查了一下,不可变的线程安全 C# 与 Java 是一致的。
如果更新的时候不看原来的数据,且 [多个监控线程每隔 100 毫秒读取一次所有设备状态, 并根据设备状态执行一次或多次耗时较长的异步操作] 这个过程中数据变化了也没关系的话,可以考虑直接将 Device 变为不可变(所有字段都 readonly)。

C# 不是特别熟了,devices 本身读写是线程安全的,里面的 device 只要每次更新的时候是替换一个新的不可变对象,这在 java 中是线程安全的。

几十个字段的拷贝,应该也还好。
84 天前
回复了 lsk569937453 创建的主题 程序员 现在 flutter 的桌面端都这么成熟了吗?
求推荐一些 flutter 开发的较重型的 app 体验下。
271 天前
回复了 dielianxiang 创建的主题 酷工作 寻找开发团队
接触过的几个链上项目都是这么做的,生态,可控度都不错,主要是用户切换成本低,和 tg 共享生态也即意味着和其他链项目共享用户生态。
271 天前
回复了 dielianxiang 创建的主题 酷工作 寻找开发团队
区块链惯用方案不应该是:telegram 客户端改,群组聊天全部走 tg ,定制客户端增加钱包,社群,资源等相关页面即可啊。
296 天前
回复了 javak 创建的主题 Java Java 出活真的快吗
Kotlin + Spring Boot

前面有人说 PHP 一个接口光写十分钟吧

自己平时做的 CRUD 接口,一个系列增删改查一般总共十分钟不到吧。
Flyway 定义数据库表结构
定义参数结构,通过注解做参数校验(一堆 PHP 不做这个事,有但是不多)
定义个
写 Controler ,写 Service ,MyBatis Plus 一把梭。
对了,带上 Spring Doc 注解,完事后,直接生成文档页面,还可以文档页面直接测试接口。

中间会有些手误啥的错误,强大的类型,包括 MP 都是泛型关联数据库字段,大部分错误编译期就能看的非常清楚。
参考老代码也是一目了然,类型是最权威的注释,也是最权威的代码脉络总纲。

带上测试,15-30 分钟差不多全部搞完吧。

PHP 搞数据库,绝大部分字符串拼接一把梭,搞出问题来了在哪里 Debug 个半天,看着让人想笑,一堆说自己快的人搞出有注入风险的代码。

有些搞法所谓的快,是不是真的比人快先不说,出来的东西,我是懒得维护的,后期找起来就是天书。

对了,后面部分接口想做改造,加个缓存,加个读写分离啥的,你们猜要多久,要改动多少?

Kotlin 语法既强大,又简洁,还简单。建议去试试。
2021-01-06 11:04:03 +08:00
回复了 ppdudu 创建的主题 Android 求教,手游或者页游渠道商是怎么保证分成数据真实的?
一般按分成合作的渠道方,会要求产品方接入指定的支付通道,也就是所有的流水是先进入到渠道方户,然后按期按比例结算给产品方。这样的话,充值数据双方都是很清晰的。
至于切支付这种骚操作,各家反正都有防。App Store Google Play 这种就是审核+下架+封账号教做人。至于国内的小米华为这种啥的,和前面 2 种有本质区别,这种渠道都是严格的指定量,上这种渠道很不划算,即使有自然量也是产品方的品牌效应。我的理解就是,上这种渠道一般都是因为渠道会保证提供一定的量。如果被发现后期切支付,渠道方只需终止合作不再提供量就行了。
重点产品合作方一般都会定期复查一下的。
个人认为,有流量合作的,不要切支付,坏口碑,以后难找合作。
Google Play App Store 这种,切支付必然夹带马甲包,操作成本也很高,省下来的 28% 左右的利润能否支撑这个操作成本需要自己衡量。
以上有一个例外,就是国内付费游戏,又无版号,这种如果非要违法上,只能切了。
2020-11-06 14:38:24 +08:00
回复了 cuixiao603 创建的主题 程序员 有跳板机情况下如何打洞?
跳板机上没 nc 的话,可以直接先在跳板机上开个隧道
ssh -Nfg -L 3306:127.0.0.1:3306 目标机
然后在本机上执行
ssh -Nfg -L 3306:127.0.0.1:3306 跳板机
这样访问本机的 3306 会先通过隧道到跳板机的 3306 然后再通过隧道至目标机的 3306
2020-09-10 11:05:27 +08:00
回复了 noahsophie 创建的主题 游戏开发 现在游戏后端是怎么做存储的?
C++ 的服务端吗?说个非 C++ 的方式,填业务逻辑的地方是框架预留的地方,都做了异常的检测。服务挂掉的时候框架会提供指定的异常回调处理。一般情况下在这里记录日志加回写数据。半年的研发周期本身就应该让宕机的概率变的很低。挂掉还有机会回写将数据丢失的可能性进一步降低(当然,要保证回调里面不再或几乎不会出现异常)。
但是,这样还是不能解决数据一致性问题,比如修改数据一半挂掉。这种情况下回写的数据是不完整的。这种只能通过业务逻辑中的日志来记录。非极端情况下是能将玩家数据恢复到之前一致的。
以前特别纠结这种问题,总想为什么没有既能完全保证数据一致性,性能又好,心智包袱又小的方案,让写业务逻辑的时候无脑一点。现在想想真的太难,老老实实做好日志记录,关键数据一致性问题能通过日志追踪复原到比较理想的状态也差不多了。

就是 mysql 这种,ACID 不开串行异常级别,一致性也不能支撑完全的无脑的开发。
比如扣减余额,转账这种。默认可重复读级别并不能解决并发的问题。只要允许 2 个事务一起操作该数据,一样余额能成负。最终还是需要额外处理。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1002 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 16ms · UTC 22:20 · PVG 06:20 · LAX 15:20 · JFK 18:20
Developed with CodeLauncher
♥ Do have faith in what you're doing.