谋生很辛苦,但热爱就不一样了
人生低谷更要修炼内生力,把工作生活的每一件小事做好
无论是工作、创业还是投资,要达到滚雪球的状态,都需要大量的时间和深度思考
同样的例子项目 akka http server
Java maven 版 eclipse 导入飞快
scala sbt 版本 idea导入 花了 15分钟 ,导完了 构建索引 , 风扇还呼呼转
目录里还生成一堆东西
sbt是真的不行
体验了下 idea , 用不顺手 , 花里胡哨的功能太多 ,没必要
饭后快走,海创园 EFC 梦想小镇(章太炎故居),一个来回刷了 8000步 ,耗时 70分钟
UX设计主管
UX User Experience ,用户体验
高级BA(商业分析师)
KA销售总监
KA Key Account 大客户
市场GM/VP
GM(General Manager)总经理 VP(Vice President)副总裁
家里到公司刚好2500步
穷则独善其身,达则兼济天下
fuck the world if you're rich, otherwise fuck yourself
Put productivity & creativity back in the hands of developers
让生产力和创造力回到开发者手中
一门编程语言是否好玩有趣,能否激起创作欲,是最关键的,这比语言风格、运行速度、工具支持、社区文化都来得重要
其实最重要的是生态
如何解决多个线程同时修改同一块内存的问题,Java的解决方案是使用synchronized关键字,只允许一个线程修改,其他线程等待,但是当并发量上来后影响性能,因为等待的线程无事可做。
Scala的解决方案是使用akka,把所有的修改请求放到一个mailbox里,然后立刻返回,每个对象有一个专属的线程来应用这些修改。
这样通过异步通信的方式解放了调用线程。但是并发量小的时候没有必要。
Nodejs还有Vert.x的方案跟Scala很像,但是不需要建立一个个的actor,而是提供回调函数,在修改完成后执行,这样容易形成callback hell,导致逻辑支离破碎。
于是就出现了coroutine,可以使用同步的代码风格写出异步执行的代码,比如C#的aync/await关键字就属于这一类
Akka是在线程基础上实现调度的,但线程是有限的,所以Akka的Actor中要避免任何阻塞操作,
要么用Akka提供的异步框架,要么通过Future-callback机制,转换成回调模式。
而Goroutine是用户态线程,创建和切换成本比较小,可以把异步的callback机制转换为同步模式
某投行上了一个项目,成立了一个新team,
把原来用Java写的系统,用Scala和Akka重写了,
以前跑一个小时跑出来的结果,现在需要跑一天多了
Scala原生的Actor并不是一套完整的并发解决方案,
不适用于生产环境,比如错误恢复,状态持久化等,
在较新版本的Scala类库中,Akka包已经取代了原生的Actor
面向过程 面向对象 函数式 都是扯,现在是面向工资编程
Scala之父Martin Odersky 曾表示会在2016简化Scala语言,降低初学者门槛
每一个 Actor 由状态(State)、行为(Behavior)和邮箱(MailBox 消息队列)三部分组成
事件驱动,可以简单理解为线程级的消息中间件
Actor 之间不共享数据,只通过消息沟通
元宇宙的基本组成 傻子和骗子 ?
Scala 之父 Martin Odersky 马丁·奥德斯基
互联网不断发展,数据中心从云下逐渐迁往云上,从单一云走向多云,批处理和流计算逐渐融合,数据仓库逐渐走向湖仓一体,集群资源调度越来越轻量化
scala的语法其实还好,c里的指针,数组指针 指针数组 指针函数 函数指针 指针的指针 。。。。。。
第一页
上一页
下一页
最后一页