Posts

aws客户端环境准备 git clone pip install awscli https://github.com/wubigo/API.git python API/python/aws/aws.py cp API/python/aws/cred.json ~/.aws/credentials cp API/python/aws/config ~/.aws/config 创建函数部署包 mkdir lambda_web wget https://github.com/wubigo/API/blob/master/nodejs/lambda/aws/index.js -P lambda_web zip -r webdriver.zip lambda_web/* 配置 policy.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": ["lambda.amazonaws.com", "s3.amazonaws.com"] }, "Action": "sts:AssumeRole" } ] } export ACCOUNT_ID=820934811997 aws iam create-role --role-name lambda-s3 --assume-role-policy-document file://policy.json aws iam attach-role-policy --role-name lambda-s3 --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole aws iam attach-role-policy --role-name lambda-s3 --policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess 复制 aws lambda create-function --function-name webdriver --runtime nodejs12.

HDFS The maximum number of files in HDFS depends on two things: total storage space in the cluster the heap size of the NameNode. 1) You can find out what percentage of storage has been used from HDFS NameNode UI. 2) The basic rule of thumb is that 1 GB heap is needed for every million of files. Each file object and each block object takes about 150 bytes of the memory.

用户代理 mobile devices browsing the web often see a pared-down ver‐ sion of sites, lacking banner ads, Flash, and other distractions. If you try changing your User-Agent to something like the following, you might find that sites get a little easier to scrape! User-Agent:Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D257 Safari/9537.53 scrapy architecture The data flow in Scrapy is controlled by the execution engine, and goes like this:

Replication Method Replication Method - Replication method to use for extracting data from the database. STANDARD replication requires no setup on the DB side but will not be able to represent deletions incrementally. CDC uses the Binlog to detect inserts, updates, and deletes. This needs to be configured on the source database itself. S3 Support in Apache Hadoop Apache Hadoop ships with a connector to S3 called “S3A”, with the url prefix “s3a:“; its previous connectors “s3”, and “s3n” are deprecated and/or deleted from recent Hadoop versions.

打开阅读模式

Open a new tab and enter chrome://flags/#enable-reader-mode to jump directly to the Reader Mode Flag.

使用

Reader Mode in Chrome is mad-easy to use. When you’re on a page that you’d like to push into the reader view, click on the three-dot menu button in the upper right, and then choose “Distill page.”

升级YARN npm install -g [email protected] > [email protected] preinstall C:\local\node-v14.17.5-win-x64\node_modules\yarn > :; (node ./preinstall.js > /dev/null 2>&1 || true) C:\local\node-v14.17.5-win-x64\yarn -> C:\local\node-v14.17.5-win-x64\node_modules\yarn\bin\yarn.js C:\local\node-v14.17.5-win-x64\yarnpkg -> C:\local\node-v14.17.5-win-x64\node_modules\yarn\bin\yarn.js + [email protected] updated 1 package in 0.7s yarn link /home/ubuntu/.config/yarn/link/matrix-js-sdk ubuntu@ip-172-31-44-135:~/.config/yarn/link$ ll total 8 drwxrwxr-x 2 ubuntu ubuntu 4096 Aug 19 09:31 ./ drwxrwxr-x 3 ubuntu ubuntu 4096 Aug 19 07:25 ../ lrwxrwxrwx 1 ubuntu ubuntu 22 Aug 19 09:31 matrix-js-sdk -> ../../../matrix-js-sdk/ lrwxrwxrwx 1 ubuntu ubuntu 25 Aug 19 07:25 matrix-react-sdk -> .

准备环境

node -v
v14.17.5
npm install -g [email protected]

链接SDK

git clone https://github.com/matrix-org/matrix-js-sdk.git
pushd matrix-js-sdk
yarn link
yarn install
popd


git clone https://github.com/matrix-org/matrix-react-sdk.git
pushd matrix-react-sdk
yarn link
yarn link matrix-js-sdk
yarn install
popd



git clone https://github.com/vector-im/element-web.git
cd element-web
yarn link matrix-js-sdk
yarn link matrix-react-sdk
yarn install
yarn reskindex
yarn start

启动

cp config.sample.json config.json

curl http://127.0.0.1:8080/

登录

homeserver:http://192.168.43.16:8008/

The matrix specification does not enforce how users register with a server. It just specifies the URL path and absolute minimum keys. The reference homeserver uses a username/password to authenticate user, but other homeservers may use different methods. This is why you need to specify the type of method

Matrix Traditionally Matrix decentralises communication by replicating conversation history over a mesh of servers, so that no single server has ownership of a given conversation. Meanwhile, users connect to their given homeserver from clients via plain HTTPS + DNS. This has the significant disadvantage that for a user to have full control and ownership over their communication, they need to run their own server - which comes with a cost, and requires you to be a proficient sysadmin.

软件项目开发时间线很难做到精确的评估,但在项目管理的时候, 我们必须要提供这个数字。 重要特征:时间和不确定性 一个只包含时间的评估隐含了一定程度的不确定性。 如果你告诉我一个任务需要花10天时间, 我会假设进度在控制之中。但如果你告诉我一个任务花10到15天,那这个期限就有很高的风险。 项目工期评估技巧 任务分解 评估不确定性 分别做最好和最坏情况的评估 任务跟踪并优化 任务分解 复杂度 时间(人天) 小 1 中等 3 大 5 特别大 10 不用追求一步到位完成工时评估, 开始的时候做粗略的评估, 该评估可能包含一些复杂度比较大的任务。 评估不确定性 20-30人日与5-45人日的工时评估是完全不同的,即便两者的中位数都是25人天 不确定性级别 乘数效应 低 1.1 中等 1.5 大 2 特别大 5 计算工时 任务 复杂度 不确定性 期望工时 最坏情况 计量支付私有化部署 低 大 20 40 这个任务预计20天完成,最坏情况需求40天。或者工时可以表示为20-40人日

通过浏览器提交表单

通过curl提交表单

spring-boot

map HTTP request header Content-Type, handle request body.

@RequestParam ← application/x-www-form-urlencoded,

@RequestBody ← application/json,

@RequestPart ← multipart/form-data,

form-data

应用优化 Eliminating unnecessary data transfers is, of course, the single best optimization—e.g., eliminating unnecessary resources or ensuring that the minimum number of bits is transferred by applying the appropriate compression algorithm. Following that, locating the bits closer to the client, by geo-distributing servers around the world—e.g., using a CDN—will help reduce latency of network roundtrips and significantly improve TCP performance. Finally, where possible, existing TCP connections should be reused to minimize overhead imposed by slow-start and other congestion mechanisms

招聘的出发点是发现我们的弱点,而不是寻找天才。

合理设计的招聘的流程是寻找到合适的人来补齐团队的短板,而不是最好的人。

“我们寻找天才”,“候选人不到我们的标准”, 我们设计“公正”的测试去客观的

评估求职者是否与我们认为的“优秀”匹配。

寻找天才 补齐短板
寻找最优秀的人 寻找能释放我们潜能的人
能做我们正在做的人 能做我们做不到的人
与我们认为的优秀匹配的人 拥有我们欠缺的能力的人
统一的面试流程 团队挑选候选人
给候选者打分 与候选者协作
文化匹配 欠缺的部分

A secure messaging system is a system where no one but the user and their intended recipients can read the messages or otherwise analyze their contents to infer what they are talking about. Despite messages passing through a server, an end-to-end encrypted message will not allow the server to know the contents of a message. When that same server has a channel for revealing information about the contents of a significant portion of messages, that’s not end-to-end encryption

在CAD领域,参数化建模是只一块一块的构建3D 几何图形, 2D草图变成3D特征,并适当地应用约束和关系以符合 设计意图。

https://www.engineering.com/story/whats-the-difference-between-parametric-and-direct-modeling

摄像头的区别 USB vs RTSP vs ONVIF If we use USB cameras we do not need the camera url and some functions like moving, zooming etc. will not be available. In the case of RTSP cameras and ONVIF cameras there are more functions available. The difference between the RTSP camera and the ONVIF camera is the following: the RTSP camera has only one stream in comparsion with the ONVIF camera having multiple streams at a time

Once the face is detected, the AI then provides the information on

its size, pose, and location

The state-of-the-art face detection software uses pattern detection technology.

No personal data is collected, and no images are stored.

人脸检测基本方法

#Import Libraries #Import Classifier for Face and Eye Detection #Convert Image to Grayscale #Give coordinates to detect face and eyes location from ROI #Webcam setup for Face Detection #When everything is done, release the capture

2020年12月31日20:30,武汉光谷国际网球中心,罗振宇“时间的朋友”跨年演讲如约而至。 今年的演讲主题是——“长大以后”。 第一部分:开场 — 1 — 有一件事,在我心里憋了半年,跟谁都没说。因为我一定要把它带到2020年12月31号的这个晚上,在这里,讲给武汉人听。 你看,这里有一堆糖果,但这不是一堆普通的糖果。过去的很多年里,这堆糖果曾经出现在世界各地的很多著名展览馆里。它是一个艺术作品。创造这个作品的人,叫冈萨雷斯。 糖果的重量不多不少,正好是79.4公斤。这是他的爱人生前的体重。在人生最黯淡的时刻,艺术家冈萨雷斯,选择用一种特殊的方式,来纪念他的爱人。 糖果的周围,没有护栏。来参观的人,可以随意拿走一些做纪念,吃了也行,带走也行。 但是,每一天的展览结束,冈萨雷斯都会给这堆糖果重新称重,然后补齐被拿走的部分。就这样日复一日,从不间断。这堆糖果的重量,始终是79.4公斤。 生命是那么甜蜜,就像糖果。但生命终会流逝,就像糖果总会被人拿走。 但最重要的是不管发生什么,爱他的人,总会让他一次次重生。 这个故事像极了过去一年间武汉人所经历的那些美好、流逝和重生,也见证了爱的力量。在这里,向你们,向1500万武汉人致敬。 — 2 — 经过了这一年,我有一个最大的感慨,三个字:不容易。 我们所有人都知道,能聚在这儿有多么的不容易。可是你们并不知道一个秘密:在此之前,我们为跨年演讲准备了一个后手,一个B计划。 在整个2020年的上半年,我的朋友们都在替我操心,如果到年底,大型场馆活动仍然不能开放,你的跨年演讲还办不办?怎么办?是不是一个人拿一手机直播就算了? 我从一开始就告诉他们:办,肯定得办,而且肯定还是在体育馆里办。哪怕我一个人面对空无一人的体育馆讲完全场,也要办。因为今年我们太需要一点确定性了。 我们同事说,为了避免我一个人站在场里太孤独、太悲壮,可以在现场每个座位上摆一棵金橘树。 连这些树的名字都起好了,去年我们不是说了一个词,叫“躬身入局”吗?这些金橘树,就叫“躬身入局橘”。 还好,今天还是有些人能来到这里,不是金橘树。欢迎你们。 — 3 — 2020年,有多少个时刻,我们不得不去设想各种各样的可能性,做各种各样的思想准备。我们终于感受到了什么叫压力测试,什么叫留后手,什么叫底线思维。 我们想不到,我们买一只口罩都曾经那么难。 华为想不到,有人会把事情做得那么绝,买一颗芯片都那么难。留学海外的孩子想不到,回一趟家居然那么难。 家长想不到,今年的整整一个学期,孩子去学校上个学居然会那么难。 中国的电影院想不到,开个门会那么难。他们更想不到的是,在这种情况下,中国居然还成为了全球第一大票房市场。 日本人想不到,这个夏天会那么难。2020年东京奥运会居然要推迟到2021年,而且可能还叫2020东京奥运会。这是奥运史上的第一次,多么魔幻的一次。 美国人巴菲特想不到,炒个股会那么难,活了89年,遇上了美股10天4次熔断。 过去这一年,这张见证历史的清单,我们还可以列很长。 世界从此不一样了。今年,我们无数次凝视深渊,也无数次被深渊凝视。 我下面这段话,不带任何情绪,但是今天开场,必须把它摆到桌面上。这是2020年中国人感受到的一重很重要的事实—— 这40多年来,他们说全球化好,那我们就改革开放,一步步拥抱全球化。然后,他们说要脱钩。 他们说要产业升级,我们以世界工厂的姿态承接了那些转出的产能。然后,他们说我们抢了他们的工作。 他们说中国人不创新,老跟在他们后面学,我们努力了很久,真创新了。然后,他们说我们有威胁,不卖芯片给我们。 这就好比,他们三缺一,叫我去陪他们打麻将,我认认真真打,也就刚和了两把,他们说他们三个人就要改玩斗地主,又不让我上桌了。 这到底是为什么? — 4 — 原因其实就四个字,我们拿来作为今年演讲的主题: 长大以后。 中国现在有多大?我们以全世界五分之一的人口,生产了全世界53%的钢铁,57%的水泥,71%的彩电,76%的光伏板,78%的空调,86%的微波炉,88%的手机,90%的电脑。这么大的体量,确实很难让别人再用40年前的眼光来看我们。 长大以后意味着什么?每个人其实都有体验。 今天我在光谷,在武汉,说一个我自己的经历吧。 整整30年前,1990年,父母送我来武汉上大学。就在距离我们演讲现场5公里外的华中科技大学,当天晚上,我们一家三口,就住在学校的招待所。 我爸告诉我:“明天你就要正式报到了,你就是大学生了。打明儿起,社会不再把你看成是孩子了。今天,你说错了一句话,我们可以出面,说一句孩子还小,不懂事。明天,你成了大学生了,你说错了话,那你就是说错了,你要自己想办法去负责。” 当时我同时有两种感觉,一种是说不清什么理由的豪迈;另一种是很明显的恐慌。我还是那个我,但是别人对我的期待,对我的态度,一夜之间就完全不同了——原因只是因为长大。 过去我们常说,规模是一切问题的解药。很多问题把规模做大,自然就解决了。 但是,很多时候,规模也是问题的根源。 长大了,很多问题都是新的,我们要独自面对。2020年弥漫着一种情绪,就是觉得世界变了,此前的经验没用了。 就像诺贝尔文学奖得主埃利亚斯·卡内蒂说的:“旧的答案分崩离析,新的答案还没有着落。” 2020年很多人都熟悉这样的感受,就好像脚下一路走过来的跳板猛然被抽走,面前却是波涛万顷的汹涌大海。 我倒是觉得,答案比我们想象的要多得多。即使有了这样的2020年,不确定性在增加,但世界的确定性也比我们想象的要多得多。 — 5 — 上海有一个投资人叫王益和。我辗转听到了他的故事。他筹到了一笔钱,想搞扶贫。方式很简单,不是直接给农民钱,而是买了20万棵金丝楠木的树苗,免费送给四川深山里的农民,让他们种在房前屋后、山上路边。 金丝楠木是极其珍贵的木材,但是长得特别慢,需要几十年后才能成材。所以,过去只有人砍,没有人种,所以野生的金丝楠木现在非常罕见。 王益和把树苗免费送给村民,就一个条件,种下去后,短期内不许卖。村民在房前屋后种上这么100棵,几十年后,怎么也值几十万。这就是村民的绿色银行了。更有意思的是,这几十年的时间,你该干嘛干嘛,不用为这些树操心。 听到这个故事,我的第一反应是震惊的。这个世界上居然就有这种事,只要你肯等,而且不需要你多做什么,那个长期确定性的收益居然就有。 好了,我知道刚才讲的金丝楠木已经在你的心里种下了一个问题:咱得琢磨琢磨,是什么类型的事具有这样的特点?不用操心,时间越久,价值越大。 想来想去,还真有一个地方也是这样。学校给我带来的最大的收益——而且时间越长就看得越清楚的那部分收益——是同学。 就像我自己,1990年到1994年,在武汉的华中科技大学新闻系上学。当时一看周围,一群灰头土脸的同学,十几岁的毛孩子,“谁的青春不迷茫”。 但是,毕业之后,将近30年,大家分头奋斗。突然有一天就发现,我的同学们都成长为了各行各业的中坚力量。大家互相帮忙、守望相助的能力都在提高。

函数计算最大的卖点是只用交付业务代码,业务代码在预定义的被托管的可执行环境执行。

由可执行环境管理基础架构,网络,操作系统。

但问题是可执行环境包含一个特定的运行时。有可能业务需要的类库在该运行时并不存在。

而函数服务容器支持任意容器镜像作为函数服务的可执行环境能很好的解决这一问题。

项目

2020承接的是一个银行数据中心智能运营平台项目,这个项目需求之前由公司的售前

和银行的运维部门沟通了一年多确定下来。我以技术负责人的身份在年初加入这个项目。

加入不到半个月,客户就要求我们提供智能运营平台项目产品架构说明书和产品开发规划