首页
学习
活动
专区
工具
TVP
发布

程序员的SOD蜜

专栏作者
185
文章
275186
阅读量
46
订阅数
致敬平凡的程序员--《SOD框架“企业级”应用数据架构实战》自序
上面两句话不知道是哪位名人说的,又或者是广大劳动人民总结的,反正我很小的时候就常常听到这两句话,这两句话也成了我的人生格言,而且事实上我也是一个生活过得比较简单的平凡人物,当然这不能说我跟“伟大”有什么关系,我觉得绝大部分人都是像我一样的平凡人物,但正是这些绝大多数平凡的人,创造了我们现在这个美好的世界,说他们是伟大的一点也不过分。在我身边,也有一群平凡的程序员,用他们日复一日,加班加点,简单而平凡的工作,编写了许多有价值的商业软件,付出了青春和汗水,除了相应的薪水,还有什么更大的回报吗?不排除程序员中有一些出类拔萃的人,他们取得了工作上的成功,在能力上获得了很大的成长,当了公司高管又或者是自己创业,事业上取得了一定成就。但是这些出类拔萃的程序员是很少的,在本书第一章,笔者根据《2018年中国程序员生存现状报告》进行了分析,年薪超过30万的程序员不超过10%,年薪10万左右的占比最高,并且年薪10万到15万之间5到10年工作经验的程序员占比最高。如果按照社会上普遍的以收入来衡量一个人是否成功的标准,大部分程序员的职业人生都是不成功的,他们并没有随着工作年限的增长而获得相应成长,这是一个无奈的现实。然而换一个角度来看待,大部分程序员虽然每天都做着简单而重复的“增删改查”工作,但他们用平凡的工作为自己服务的公司创造了利润,为社会创造了价值。
用户1177503
2020-06-19
3960
每秒生成一千万个【可视有序】分布式ID的简单方案 每秒不重复ID生成数:
去年做了一个产品,会经常导入导出大量的外部数据,这些数据的ID有的是GUID类型,有的是字符串,也有的是自增。GUID类型没有顺序,结果要排序得借助其它业务字段,整体查询效率比较低;字符串ID本来是用来转换GUID的或者数字ID的,结果有些字符串ID不符合规范,常常有特殊数据需要处理;自增主键ID的数据导入合并经常有冲突。
用户1177503
2018-08-01
1.9K0
消息服务框架(MSF)应用实例之分布式事务三阶段提交协议的实现
一,分布式事务简介 在当前互联网,大数据和人工智能的热潮中,传统企业也受到这一潮流的冲击,纷纷响应国家“互联网+”的战略号召,企业开始将越来越多的应用从公司内网迁移到云端和移动端,或者将之前孤立的IT系统联网整合,或者将原来厚重的企业应用拆分重组,独立成一个个轻量级的应用对外提供服务,这对传统的业务处理的数据一致性,带来了严重的挑战,我们已经身处一个分布式的计算环境,分布式事务的需求越来越普遍。 举一个例子,某行业电商网站经过几年的发展,业务数据累积越来越多,查询越来越慢。经过内部评审分析,认为系统的瓶颈就
用户1177503
2018-02-27
7300
常见.NET功能代码汇总 (2)
常见.NET功能代码汇总 23,获取和设置分级缓存 获取缓存:首先从本地缓存获取,如果没有,再去读取分布式缓存 写缓存:同时写本地缓存和分布式缓存 private static T GetGradeCache<T>(string key) where T:struct { MemoryCacheManager localCache = MemoryCacheManager.Instance; if (!localCache.IsSet(k
用户1177503
2018-02-27
7430
使用“消息服务框架”(MSF)实现分布式事务的三阶段提交协议(电商创建订单的示例)
1,示例解决方案介绍 在上一篇 《消息服务框架(MSF)应用实例之分布式事务三阶段提交协议的实现》中,我们分析了分布式事务的三阶段提交协议的原理,现在我们来看看如何使用消息服务框架(MSF)来具体实现
用户1177503
2018-02-27
1.3K0
分布式系统的消息&服务模式简单总结
分布式系统的消息&服务模式简单总结 在一个分布式系统中,有各种消息的处理,有各种服务模式,有同步异步,有高并发问题甚至应对高并发问题的Actor编程模型,本文尝试对这些问题做一个简单思考和总结。 一、消息的“推、拉模式”      在传统的Client/Server结构中,信息获取方式是按“拉”(Pull)的模型进行的:服务器根据用户终端发送的服务请求进行处理并返回用户所需的结果。在Push系统中,服务器把信息“推”给用户终端系统。虽然两者数据传输的方向都是从服务器流向用户,但操作的发起者是不同的。从“信源
用户1177503
2018-02-27
2.5K0
由微服务,领域事件,分布式事件谈“业务分析三维度理论”的实践
今天读了在微服务中使用领域事件 这篇文章,通过分布式,订单系统直接将事件推送给订阅此事件的账户系统,然后账户系统再处理,整个系统设计很好。 不过,我觉得所谓微服务的分布式事件,从抽象概念上还是弱了点
用户1177503
2018-02-26
4650
使用命名管道实现进程间通信
创建命名管道 命名管道常常用于应用程序之间的通迅,由于不需要进行序列化和反序列化操作,效率是非常高的。相比TCP通信方式,效率更高,但比共享内存要低点。 命名管道可以在本地机器或者局域网内机器实现进程间通信,所以是最佳的通信方式。 创建一个NamedPipeServerStream: NamedPipeServerStream pipeServer = new NamedPipeServerStream(_pipName, PipeDirection.InOut, 10); 这里表示命名管道服务器的管道放心
用户1177503
2018-02-26
1.3K0
实体类的二进制序列化
在.NET中,我们可以将对象序列化从而保存对象的状态到内存或者磁盘文件中,或者分布式应用程序中用于系统通信,一般来说,二进制序列化的效率要高,所获得的字节数最小,我们来看看下面的例子: private static void Main(string[] args) {   MemoryStream ms = null;   Customer customer = Customer.GetOneCustomer();   using (ms = new MemoryStream())   {       va
用户1177503
2018-02-26
9420
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档