1 - 年底的沟通记录

背景

没有反思的人生是不值得一过的, 年底了, leader问你的哪些的问题还记得吗? 是否有更好的方式回答了。

问题列表

对其他同事的规划是怎样的
这个问题并没有思考太多,临场发挥了,一一说明了大家目前的情况和优缺点。

对上一级的评价
从业务、沟通、技术能力三方评价吧, 自我感觉还挺好的

介绍了年终奖后,对年终奖的满意度
比较诚实的回答, 也不清楚是否有更好的答案,跟其他同事聊天的时候,其他同事会回答“满意”

对2020年在业务上的规划
并没有做任何的准备,根据最近的思考回答了这个问题。
如果提前有准备,我相信回答的更好的,不仅仅是在这种情况下需要介绍规划,在其他情况下也是有必要能够清晰说出我们的是什么,我们走向何方?

(自己问题)回顾2019年
去年年底年会时候的想法在年中的时候,突然发生了变化。对于团队,并没有带领他们做出非常出色的工作和成果,或者做出做他人有影响的事情


·End·

2 - What We Concern

背景

我们的问题

效率

效率,不只是开发、测试、需求,指的是迭代上线的效率。

业务的价值和清晰

做有价值的业务, 并有清晰的规划

  • 缺乏严格的需求评审

我们的改变

提高效率

  • 更改目前发版的流程, 不需要建版本,在发版完即可通知相关方。
  • 更改目前的测试方式, 推动接口测试+单元测试, 不依赖与APP测试。
  • 着力中台, 沉淀公共业务领域,提高小前台的的迭代速度
  • 引入devops, 释放developer的参与的运维工作

清晰的业务和价值

  • 需求流程优化
  • 加强需求评审

应用能力平台化

生态圈。 开放平台是生态圈的关键,把企业的服务以 Open API 的方式对外暴露,可以让更多的第三方软件提供商的软件接入到我们的平台中,从而造就一个广阔的生态圈。

[行业对标] 银行生态云建设思路及架构参考

内容来自: 银行生态云建设思路及架构参考

技术路线
@startuml

actor "开发人员" as dev 
actor "产品&运营人员" as run 


skinparam RectangleFontName Papyrus
skinparam RectangleFontSize 24
rectangle " 云服务开发规范 " as spec {

}

rectangle "基础云平台"  as plat {
    rectangle "基础服务平台" as basic
    rectangle "安全接口" as basic1
    rectangle "审计接口" as basic2
    rectangle "计量接口" as basic3
    rectangle "计费接口" as basic4

    basic -> basic1 
    basic -> basic2
    basic -> basic3
    basic -> basic4
    basic1 -[hidden]-> basic2
    basic2 -[hidden]-> basic3
    basic3 -[hidden]-> basic4
}


rectangle "标准云产品" as product {

    rectangle "安全接入" as a 
    rectangle "计量接入" as b
    rectangle "审计接入" as c

    a -[hidden]-> b 
    b -[hidden]-> c
}
'spec -[hidden]-> plat
plat --> spec: 云平台提供标准接口和开发规范

product -> plat: 通过接口接入,在运营平台上自动接入

spec --> dev: 开发规范指导云服务产品开发

dev -> product: 开发人员遵循各项接口标准


run --> product
@enduml
@enduml

“开放云平台+标准产品”的方式成就了典型生态云的持续运营能力。开放的云平台提供云基础服务,并以标准接口的方式把这些基本服务暴露给云产品开发人员。

@startmindmap

* 生态云技术路线
** 标准开放的云平台
*** 核心能力
**** 标准开放框架
*****_: 标准的开放框架是生态云能健康持续发展的基础,
定义了云服务构建的技术标准,允许快速开发标准产品
;
**** 产品服务能力?
*****_ 产品服务能力是生态云的价值体现。
**** 安全服务能力
*****_ 为云平台和云服务的租户提供**体系化**的安全管理能力
**** 持续运营能力
*****_: 提供客户运营、云服务产品运营及平台运营能力,
实现标准云产品的生命周期管理,实现客户自主服务。
;
**** 集中管控能力
*****_ 实现云资源和业务应用的统一管理、调度和监控、底层资源的扩缩容管理

** 标准产品
@endmindmap

[行业对标] 华润集团云计算服务平台建设思路讨论

Click PDF 来自甲骨文首席架构师 刘翔

对云计算的NIST解释

[NIST] 云计算是一种新的模式,基于此消费者能能够方便、按需地从网络访问到共享的可配置计算资源池(如, 网络、服务器、存储、应用程序和服务),且只需最小的管理或与服务提供方交互即可快速供应和释放这些资源。

5个重要特征(STEAM)

  • S按需自助服务
  • T多租户的资源池
  • E快速伸缩
  • A广泛的网络访问
  • M按使用量收费的服务

4种部署类型

  • 公有云
  • 私有云
  • 社区云
  • 混合云

3种服务模式

  • SaaS
  • PaaS
  • IaaS

[行业对标] 谢冲 - 华为云 IoT 生态开放架构与实践 v1.0

生态开放除了涉及不仅要考虑软件架构还需要考虑开放三要素

  1. 开放层次
  2. 开放形式
  3. 开放平台

物联网平台化 - IoT

这块知识是2020年需要成长的地方,硬件为主,赋能硬件是后续的趋势。

架构是怎样的?

案例/论文参考:

Lambda architecture a data-processing architecture designed to handle massive quantities of data by take advantage of both batch and stream-processing methods.

A Distributed Stream Processing based Architecture for IoT Smart Grids Monitoring .pdf

  • Cyclic Architecture
    • Messaging Layer
    • Processing Layer
    • Volatile Layer

IoT: A web of interconnected layers.pdf 点击链接查看多层架构。

  • Device Layer
  • Data ingestion and transformation layer
    • Data from the device layer is transformed through different protocols to a standard format.
  • Data processing layer
  • Application layer

Applying the Kappa architecture in the telco industry

Stream IoT data to an autonomous database using serverless functions

Oracle IoT Streaming Arch

Oracle IOT 流架构

参考

  1. Architecture Patterns for IoT

  2. Tesing IOT Applications.pdf

  3. Infoq: The Perfect Pair: Digital Twins and Predictive Maintenance

[行业对标] Google Cloud IOT

参考下面服务组件和数据流图: Cloud IoT Core

名词解释
名词 解释
device registry a container of devices with shared properties
device a “Thing” in “Internet of Things”; a processing unit that is capable of connecting to the internet (directly or indirectly) and exchanging data with the cloud.
实践

如下内容来自Google IoT Core 指南

  • Install Google Cloud SDK
  • Create devices registries
    • Create a device registry
    • IAM role for Pub/Sub publishing
  • Creating device key pairs
    • First create a pulbic/private key pair
    • When connecting to Cloud IoT Core, each device creates a JSON Web Token(JWT) signed with its private key, which Cloud IoT Core authenticate using the device’s pulbic key
      • Cloud IoT Core can verify device public key certifcates against registry-level CA certificates? 用注册的CA证书验证设备公钥证书
      • 作用:a verified cerficate attests that a public/private key pair belongs to a legitimate device. 当设备生产商创建公私钥后,私钥存储在设备中,而公钥被CA签名。
      • 设备注册有CA证书时,那么只接受CA签名过公钥设备. 当平台需要兼容多种设备时,可以让设备添加到响应的设备注册里,不至于混乱添加,导致设备收到异常指令或者上报错误的信息。
  • Creating or editing a device
    • 创建设备时身份验证可以选择公钥的格式。
      • 公钥 (RS256 或 ES256)
      • 公钥证书(被CA签名过的)
@startuml
!include <awslib/AWSCommon>
!include <awslib/General/Client>
!include <awslib/Mobile/APIGateway>

Client(device, drone, "")
APIGateway(api, "IoT Broker", "")

device -> api: 使用JWT认证方式\n以mqtt协议接入
@enduml

[行业对标] 阿里云 IOT

实践

TODO

[行业对标] EMQ X

  1. 关键技术
    • 分布式
    • 容器化
    • 桥接
  2. 核心指标
    • 多协议
    • 并发量: 单服务器200万并发, 一个集群1000万并发(7个节点)
    • 吞吐量: 单集成百万并发
实践

TODO

[行业对标] Azure IoT

IoT Hub REST, offer programmatic access to the device, messages ,and job service , as well as the resource provider, in IoT Hub.

Communication with your IoT hub using the MQTT protocol 如何定义与设备之间的接口

IoT Hub endpoints

  • Resource Provider
  • Device identity management
  • Device twin management
  • Jobs management
  • Device endpoint
    • send device-to-cloud messages
    • receive cloud-to-device messages
    • initiate file uploads
    • retrieve and update device twin properties
    • receive direct method request
  • Service endpoint
    • receive device-to-cloud messages
    • send cloud-to-device messages and receive delivery acknowledgements
    • receive file notification
    • direct method invocation
    • receive operation monitoring events

Azure IoT reference architecture show a recommended architecture for IoT applications on Azure using PaaS(platform-as-a-service) components

two way to process telemetry data:
  • hot path
    • the hot path analyzes data in near-real-time, as it arrives, In the hot path, telemetry must be processed with very low latency. The hot path is typically implemented using a stream processing engine(Azure Stream Analytics or Apache Spark). The output may trigger an alert, or be written to a structured format that can be queried using analytical tools.
  • code path
    • The cold path performs batch processing at longer intervals(hourly or daily).
Data Storage

For cold path storage, Azure Blob Storage is the most cost-effective option

For warm path storage, consider using Azure Cosmos DB.

解决方案

Publish and subscribe with Azure IoT Edge Azure IoT 如何解决 Topic pub/sub 权限的问题。

Real Time Analytics on Big Data Architecure Get insights form live streaming data with ease.

Advanced Analytics Architecture Transform your data into actionable insights using the best-in-class machine learning tools. This architecture allows you to combine any data at any scale, and to build and deploy custom machine learning models at scale.

Ingesting, processing and visualizing real-time vehichle data

国外物联网平台初探(二) ——微软Azure IoT 平台定位: 连接设备、其它 M2M 资产和人员,以便在业务和操作中更好地利用数据

点击查看图片

[行业对标] 华为云 IoT 生态开放架构与实践 v1.0

  1. IoT 发展面临的挑战与破局思路: 上能助力创新,中间业务使能,下能连接万物

  2. 华为云 IoT 生态开放架构与实践: 开放架构和开放三要素

  3. 落地方案分享

解决方案

我们关心什么需求

  • 性能 (Performance)
    • MST, Maximum sustainable throughout
    • Lantacy
  • 可伸缩性 (Scalability)
    • Maximun number of supported concurrent connections
    • The time to start a new broker
  • 韧性/可用性 (Resilience)
    • The message loss count in case of a broker instance crashing
  • 安全 (Security)
    • only a side-aspect of security and measures the overhead of enabled TLS encryption on the maximum sustainable throughput (as percentage).
  • 可扩展性 (Extensibility)
    • offers plug-in mechanisms
  • 易用性 (Usability)

选择

EMQ X

参考

  1. MQTT ESSENTIALS by HIVEMQ团队整理 https://www.hivemq.com/mqtt-essentials/

    • MQTT Basic
    • MQTT Features
    • MQTT Specials
  2. 初识MQTT https://developer.ibm.com/zh/articles/iot-mqtt-why-good-for-iot/

    • 为什么是MQTT而不是其他协议
    • MQTT协议是怎样的
  3. EMQ X https://github.com/emqx/emqx

  4. NATS

  5. Comparison of MQTT Brokers for Distributed IoT Edge Computing [pdf]


·End·

3 - 4.2最美东湾露营-那些年我们在一起

第一次露营 - HK东湾

4 - INTERVIEW CONCLUSION

2012-12-08 福田财富大厦 问题

10万数字,选取最大的100个数。算法度

这个题目当时没细想,估计面试官想问排序问题,然后说了下快速排序。
其实完全没必要排序。遍历一次就可找出来最大的100数字。

类似问题: Write a program to find 100 largest numbers out of an array of 1 billion numbers

xxxx年xx月xx日 xx:xx:xx 表示当前日期

代码 终于重写到自己感觉满意了。

给定个返回json的url,有哪些方法获取数据然后显示在其他域的页面上

  • 如果提供jsonp的调用,页面中调用jsonp方式
  • 后端代理的方式。
  • Cross-domain Request(cors)
  • 还有其他的方式吗? Tell me!!!

算法时间复杂度与空间复杂度的计算

时间频度

一个算法所花费的时间与代码语句执行的次数成正比。我们把一个算法中的语句执行次数称为时间频度,记作 T(n)

渐进时间复杂度

在时间频度 T(n) 中,n 表示着问题的规模,当 n 不断变化时, T(n) 也会不断地随之变化。那么,如果我们想知道 T(n) 随着 n 变化时会呈现什么样的规律,那么就需要引入时间复杂度的概念。

如果存在某个函数 f(n), 使得当 n 趋于无穷大时,T(n)/f(n)的极限值是不为零的常数,那么 f(n) 是 T(n) 同数量级的函数,记作 T(n) = O(f(n)),称 O(f(n)) 为算法的渐进时间复杂度,简称为时间的复杂度。

常见的时间复杂度有: O(1) 常数型; O(logn) 对数型;O(n) 线性型;O(nlogn) 线性对数型;O(n2) 平方型;O(n3) 立方型;O(nk) k次方型;O(2n) 指数型。

更多时间复杂度实例[1]

参考

[1] 程序新视界: LeetCode0:学习算法必备知识:时间复杂度与空间复杂度的计算

5 - 港岛径第八段-土地灣-龙脊-大浪灣

港岛径第八段: 土地灣-打爛埕頂山-龍脊-馬塘坳-大浪灣
港島徑第八段是港島徑最精彩開闊的路段,國際雜誌也曾報導此路線。龍脊上視野遼闊,大潭港、石澳及大浪灣盡入眼簾。除了初段需要微升外,其餘都是較平坦或下降的路段。

下地铁转公交,这个指示牌非常显眼

去的人还真不少,走了两趟车坐上去,10几分钟一趟

土地湾公交站台下车,入口一张地图,往上走去龙脊

没多远到半山腰上,看到对面岛,光线太暗

龙脊,拍照吃东西

山顶上大石头

一直沿着山脊走

进入半山腰,路的两边都是树木,天热走起来很凉爽

分岔点,也是休息处,往大浪湾方向

港岛径100,到终点:大浪湾

感受下沙滩

冲浪,有点冷

吃东西休息拍照,坐巴士回铜锣湾地铁

OVER

6 - 黄牛山 .麦理浩径第四段五段 狮子山 笔架山

打433公交到口岸大队,早上6点50到福田口岸然后过关,人非常少

香港的出租车

来个集体照,妹子们给力,美丽又能爬山

开始登山了,一开始都是这种路

登山前热身运动开始,第五套还是第8套广播体操?

开始下小雨路比较窄两边都是杂草重生

就是从下往上爬的时候拍的照片,路面比较滑

感受下寒风打脸上!

草比人高

前方的能见度10米,看不到前面的山头

半山腰上的一块大石头,下图是准备推石下山,哈哈

准备把石头推下山崖去

登顶黄牛山顶,雨变大了,一直以为是雾水。

风太大了,照片都吹歪了!

石门周边大石头,全部生长在半山腰上,好大一坨一坨

石门拍照,来黄牛山必来石门拍照,人人留下黑黑背影,天气不好,逆光了,悲催呀

金鸡独立

已成落汤鸡,换了衣服继续

下山走麦理浩径第四段

看到熟悉的路标,不用那么虐了。

正走第四段

老冒带走小路,快速下山

沙田

下山去沙田路上的猴子,凶

野猪,图来自润林

来个帅帅的侧面照

这个路口,我们解散了,逛街的吃豆花往上走,继续爬狮子山的往下走!

开始登狮子山,

四人爬,追随冬瓜,走在倒数第二,后腿拖住了

登顶拍照

虽然天气不给力,背景好纯

海拔500米,啥看不到,往下看才觉得好刺激,深不见底呀

一路险峻

山顶都是石头,山顶消失在迷雾中

下山路,这本不是路,双手不够用。

侧脸狮子头,看到了吗?

登顶笔架山

半山腰上养的各种鱼,金色,红色,黄色

下山,结束了,我走最后面了,脚板疼.

走了21公里,图来自南🐺

OVER