Clean Architecture: SRP The Single Responsibility Principle 笔记

1. 什么是单一功能原则 ? 「The Single Responsibility Principle」单一功能原则 是为了解决,不同的人群 (actor)共享同样的代码逻辑,其中一方需要改动,但是不知道其他人群也在使用同样的代码,于是一次改动会影响其他使用这些代码组件的人群。 Clean Architecture 里面是这么定义The Single Responsibility Principle 的 「A module should be responsible to one, and only one, actor」 一个组件,只能对一个有需要改动的群体负责。 Actor可以理解为一个群体,一个,或一些相似的人群,需要用到该组件,有需要对该组件做一些改动。那么这个组件只应当作用在该Actor上,不应该作用在其他Actor上。 2.例子分析 单纯看文字,有点难以理解。用一个反例代码来举例。 假如用Employee 类来定义一家公司的员工,会计部门会调用calculatePay() 来计算员工的工资,hr部门会调用reportsHour() 来计算员工的工作时长。他们都共同共享了算法A用来计算员工的常规工作时长。 假如HR部门的工程师需要改动这个算法A,因为HR部门提出了新的计算员工工作时长的标准,但是会计部门目前还不想做相应的变动。 如果HR部门的工程师并不知道会计部门也在使用这个算法,那么HR部门工程师只要改动了该算法,就会影响会计部门的计算,造成会计部门的损失。 那么符合The Single Responsibility Principle 的架构应该是什么样的呢? 我们把不同的Actor分开,每种Actor使用它自己的组件,这样就可以做到不同的Actor business logic互相不影响。 分析:这样的好处是,不同的人群,如果需要进行该操作,甚至需要做改动,那么能够确保不会影响其他人群的组件。

「房地产系列二」房地产和流动资产的区别

「投资房地产系列」 流动资产:股票,基金,笔te鼻,债券固定资产:房地产 房地产和这些流动资产的区别在于,股市,基金,债市以机构投资作为主体,而散户自发的行为对市场的影响作用非常小。而房地产市场以散户市场作为主体。 房地产,以大量的散户决定它的市场价值,是买家需求量决定这个片区,这座城市的市场价值。 在一线城市+某几个二线热门城市以外,你要是一套房子在豪华地段定价3000W, 你也卖不出去啊,因为根本没人想买,没有买家需求。首先有这个钱的人,都先去买一线城市,其次也要二线热门,谁还来这小城市买啊。全中国有房产投资价值的城市你用手指头掰着数都数得过来。 机构也不可能像股市一样可以把大部分股票买下来,机构不可能大面积把某个城市的所有房子全买下来,最多也即是那个地段买几套而已。 因此,房地产市场价格取决于散户,取决于买家需求。 热门一线城市的买方需求旺盛,甚至超出当前季度卖家的库存量。而非热门城市的库存量远近大于想在那买房子的买方需求量。

看懂美股财报系列 – 目录

Author: W.Z.L 序 这是一个系列文字,准备采取网络连载,持续供应一些关于如何看懂美股财报,看懂财报的一些基础,以及跟随最佳实践,运用前面的基础,进行关于一些美股热门股票的分析,例如科技公司苹果,谷歌,微软,亚马逊,Meta, 传统零售 COSTCO,Walmart, 电动车 Tesla, Nio, 信用卡公司美运通,以及做服装的Lululemon等等, 各个行业都会涉及。 因为现在中文市面上关于美股财报系统的文字教程并不多,更多的是关于解读国内A股财报的教程,关于美股的材料更多都是在Youtube 上面以视频的形式呈现,但是文字的阅读效率远远大于视频的观看效率。因此,随着自己的学习,也萌生了形成一个文字系列,采取网站连载形式的想法。 为什么是网络形式连载? 哪怕分析财报的方法是类似的,当你学会了看第一份以后,再看第10份,第50份,第100份就很快了。但是,关于财报的分析,是与时俱进的,所以不适合出版书籍,更加适合在网站上,实时更新。十年前的公司和现在也大有不同,甚至一个经济危机下来,只要2年,这家公司就会发生巨大的改变。 看财报是一项很重要的的能力,不管是你做投资,甚至是自己去创业一项很重要的能力。许多公司都出现财报造假的行为,在财报呈现上,看起来公司整体是积极向上的,但是实质是做了一些数据处理,移花接木,通过财报的分析你能看出这家公司到底健不健康,适不适合投资。 因此,在这个系列过程中,我们不仅学习看财报,我们也深入了解了这家公司,甚至深入了解了这个行业。 目录

看懂美股财报系列 (一)看财报的几个常见问题

Author: W.Z.L 准备开一个系列,关于如何看懂美股财报,因为现在市面上,中文的关于美股财报的文字类 / 书非常少,哪怕有,也很缺乏系统性。而大部分美股财报材料也只能在Youtube上通过视频获取,在中文的文字 / 书里面,都是写A股财报的比较多。 另外,关于读懂财报这类的材料,适合订阅制,也就是做在线的连载,因为可以与时俱进。如果是写书,有一个不利之处是,等到出版以后,最快也要2年,那么2年以后,这家公司也发生了巨大的变化,没有一成不变的公司。看财报的方法可能变化不大,但是公司变化很大,十年前的公司和现在也完全不同。 所以,此类材料适合与时俱进,因此,像做Youtube 或者像在网站上连载会更加合适。从某位我很佩服的计算机技术的博客主那里那里得到一个灵感,那个博客主是做JAVA, Python学习连载,后来自己开公司了。我也可以做出一个网站系列,关于美股财报,这个过程,也记载了我自己的学习过程。 所以,拿出做技术的那股专研劲,哪怕我们做技术,也并不是某个大型系统设计方案一拿到就懂,而是循序渐进地找解决方案的过程。所以,哪怕是读财报,并不是我一开始就懂,也并不是我现在就懂,而是我正在把这条路趟平,让别人更容易看懂美股的一个过程。 FAQ 1, 什么是财报? 美国上市公司,没3个月,也就是一个季度,都要通过财报电话会议的形式,并且随后要发布一份这个季度营收,以及支出情况,以及其他支出,成本等等信息,使股东了解这些信息。 2, 为什么要看财报? 读懂财报是一项很重要的技能,这项技能,学校不会教你。 首先,看财报直接对买对股票是有好处的,但是也对于以后,如果你想做天使投资,想做风险投资,是否应该投一家初创公司,如果你具备有读财报的技能,从它的财务情况里,也能够分析出这家初创公司有没有前景,该不该投。 第二,如果你具有读财报的能力,那么你就能够分辨出,一家公司是否在财务上造假。也就是,经过一些数据处理手段,它呈现在股东面前,可能在财务上是增长了,但是实际上是玩一些数据手段,这个增长并不是由于经营,业务改善带来的。 第三,了解这个公司的主营业务,你会知道,这家公司有哪些业务,分别从各个业务赚取多少钱,从而判断这家公司运营商是否是健康的模式,是否具有前景。 3,看财报难吗? 需要什么基础? 只要你会英文,只要你有高中生算数基础,很多人认为是不是需要我去考个CPA 才能看懂财报,其实有点杀鸡焉用牛刀。这个问题就像,你去外面面试算法,你问,你要把算法书全部啃一遍吗? 答案肯定是,不需要。 事实上很多做股票交易的,并不是会计出身。反过来,哪怕是学会计出身的,也不一定做得好股票交易。 关于,会计知识,你也只要有个概念就够了,孰能生巧,随着读的越来越多,就像熟读唐诗三百首,不会作诗也会吟。 4,在哪里可以看财报? 如果是美股财报,一般在该公司的网站上,都会有季度财报,或者年度财报。去官方网看,是最推荐的方式。虽然各种财经网站,例如yahoo finance也能看到不少数据,但是数据的源头,最准确的来源地,永远是去这家公司的官方网。 5,现在市场那么差,股票那么低迷,那还研究财报干啥? 恰恰相反,正当经济不好的时候,才是未来新的一批富翁出现的年代。而读懂财报,它会帮助你更好地抓住最好的时机。此时,是危机,也是机遇。所以,恰恰要在这种经济最差的时候去学习它。 6, 既然也不用专门去学会计,也不用专门去考CPA, 那么有什么材料可以辅助理解财报呢? 有一些公司的致股东的信是很好的101 level (也就是初阶,没有任何知识背景,一开始就能上手)的材料,因为在这些致股东的信里面,公司CEO 会在信中分享一些理解财报的技巧,因为致股东的信是写给各个水平的股东,所以他的言辞,是会一种比较通俗易懂的方式去陈述。所以,致股东的信是101 – level 最好的材料。 有两个很好的材料: 这两个人都是读过很多书,且写作能力很强的人。是适合新手初阶的时候去阅读的材料。 下一篇 看懂美股财报系列 (二) 三张最重要的表之损益表

常用Linux命令

1.zgrep zgrep命令可以在压缩文件中调用grep按正则表达式来搜索 Example: zgrep -A 100 a file.zip   // 查询压缩文件file.zip中包含a字符的内容的后面100行zgrep -B 100 a file.zip   // 查询压缩文件file.zip中包含a字符的内容的前面100行zgrep -C 100 a file.zip   // 查询压缩文件file.zip中包含a字符的内容的前后100行zgrep -c a file.zip   // 查询压缩文件file.zip中包含a字符的行数zgrep -i a file.zip   // 查询压缩文件file.zip中包含a或A字符的内容  Reference: https://www.geeksforgeeks.org/zgrep-command-in-linux-with-examples/ http://zhengyi.me/2016/06/06/learning-shell-grep/