SQL和lambda还是,lambda用着顺手。//@古耕:Linq在我们写代码的时候应该是需要经常用到的,但是,也许你不知道,Linq有两种写法,一种是类似于Sql表达式的写法,另外一种是使用Lambda表达式进行表达的写法。做了那么多年程序员,使用Sql表达式写法的Linq语句我基本上很少用,大多数情况下用得都是Lambda表达式。至于为什么不写Sql表达式的Linq语法,其实也很简单,那就是我在很长一段时间内,是需要自己在代码中写Sql的,ORM我刚入行那几年用得不多!如果在代码中使用Sql表达式来写Linq,那么我在写真正的Sql的时候很容易把二者给混淆掉。要知道,Linq的Sql表达式的写法虽然接近于Sql语句,但是还是有点区别的,写久了容易出现将Sql语法写成了Linq,将Linq写成了Sql语句的情况!而且,Lambda表达式其实更倾向于CodeFirst的思想,代码看起来也相对简洁和直观,所以我更倾向于写Lambda表达式。

但不得不承认,Linq的Sql表达式和Lambda表达式查询出来的结果都挺让人满意,都是非常优秀的。如果一个人从来没有直接去写过Sql语句,那么其实Sql表达式的Linq和Lambda表达式的Linq对于他来说,其实差不多是一样的。这种人有没有呢?当然有!有些只写前端或者只写业务逻辑的程序员往往不需要直接面对数据库,所以他们在使用Linq的时候,就不太会在乎Linq是使用Sql表达式还是Lambda表达式了!何况是现在大多数情况下,写ORM的居多!下图中我编写了几例Linq两种语法的示例,不知您是喜欢Sql表达式的Linq还是Lambda表达式的Linq呢?#程序员# #编程# #编程语言# #计算机#
古耕
Linq在我们写代码的时候应该是需要经常用到的,但是,也许你不知道,Linq有两种写法,一种是类似于Sql表达式的写法,另外一种是使用Lambda表达式进行表达的写法。做了那么多年程序员,使用Sql表达式写法的Linq语句我基本上很少用,大多数情况下用得都是Lambda表达式。

至于为什么不写Sql表达式的Linq语法,其实也很简单,那就是我在很长一段时间内,是需要自己在代码中写Sql的,ORM我刚入行那几年用得不多!如果在代码中使用Sql表达式来写Linq,那么我在写真正的Sql的时候很容易把二者给混淆掉。要知道,Linq的Sql表达式的写法虽然接近于Sql语句,但是还是有点区别的,写久了容易出现将Sql语法写成了Linq,将Linq写成了Sql语句的情况!而且,Lambda表达式其实更倾向于CodeFirst的思想,代码看起来也相对简洁和直观,所以我更倾向于写Lambda表达式。但不得不承认,Linq的Sql表达式和Lambda表达式查询出来的结果都挺让人满意,都是非常优秀的。如果一个人从来没有直接去写过Sql语句,那么其实Sql表达式的Linq和Lambda表达式的Linq对于他来说,其实差不多是一样的。这种人有没有呢?当然有!有些只写前端或者只写业务逻辑的程序员往往不需要直接面对数据库,所以他们在使用Linq的时候,就不太会在乎Linq是使用Sql表达式还是Lambda表达式了!何况是现在大多数情况下,写ORM的居多!

下图中我编写了几例Linq两种语法的示例,不知您是喜欢Sql表达式的Linq还是Lambda表达式的Linq呢?#程序员# #编程# #编程语言# #计算机#
咱们说的是编程语言的事儿,都是作用在内存里的。月度汇总查询方法就写一个方法就行,所有的发票都继承了这个查询的方法。你要是没有发票类就得写很多方法,汇总查询的逻辑变化只改一次就可以。这是发生在内存里的事儿。发生在数据库里查询更没法面向对象了,针对各个票的个个表分头写SQl语句,效率更低。#程序# #程序员# #Java#
博士聊IT
现在的程序员已经不会用面向对象的方法了。拿着面向对象工具,写着面向过程的程序。很多程序员从来不用继承关系,这里面既有没弄清楚面向对象的基本理论,包括面向对象和人类自然语言的关系,也有使用了开发框架有所限制的问题。

例如企业做报销系统,发票有打车票、餐饮票、火车票、飞机票和住宿票等等,发票有共同的属性,如开票单位,开票时间,开票金额。但每一种票都不一样的属性,例如打车票有出发时间、到达时间、车牌号;住宿票有入住人数,入住时间和退房时间;火车票有出发城市、达到城市、席位等级。共性和个性的属性交织在一起。怎么办?在面向对象的分析中是可以设定分类的,父类是发票,子类是各种票,这样属性就继承下来,父类的数据可以动态聚合。但数据库的问题又来了,数据库分成各类明细发票的表,属性都在树叶表上。数据库不支持面向对象,数据库讲究的是关系代数,连接运算。面向对象就搞不下去了,这个叫做对象关系阻抗不匹配。https://www.toutiao.com/article/7022163867690107431/光是属性查询搞起来就累了,这么多发票表,都需要有汇总查询的方法,你说累不累。

方法也是一样的,发票有个方法叫做作废,超过六个月的各种发票都要自动作废。没有继承关系,就这么一句话的需求,够程序员忙活半天的。程序员就在这种互相矛盾的概念夹缝中生存,还过得挺好,一会Java一会SQL,忙得不亦乐乎,但其实本质效率不高啊。#Java##程序员##程序#
产品线技术迁移由C++转Java。因此接触到了Mybatis,用了一段时间后,仍然理解不了它存在和流行的理由。用起来并不方便,很多业务上的东西还是要自己写sql特别是联表和批量操作的场合。难道JDBC(我没用过)就那么难用么?有哪位能帮我打通Java的编程思想[祈祷]
《王者荣耀》背后的大数据平台是如何实现的?
腾讯游戏的开发组长分享了一个腾讯游戏的实践。
本文是第一篇,侧重于数据应用。
后面一篇侧重于接口和后端API,明日发布。
图一: 整体层次划分 [灵光一闪]
图二: 整体数据应用流程。
主要是通过storm和flink,消费kafka中的信息,实时计算和聚合,结果存到Tendis中(小编注:Tendis是腾讯游戏基于RocksDB自研的一个redis海量集群服务)
根据规则配置接口,并提供一站式开发服务。
图三: 数据计算服务体系
主要是通过自研的SQL 和 FlinkSQL实现
图四:在线编程
图五:实际应用案例
#互联网# #大数据#