Posts

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承接的是一个银行数据中心智能运营平台项目,这个项目需求之前由公司的售前

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

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

requirements on distributed transactions

  • database sharding

  • service-oriented transformation and more cross-service transactions

three scenarios for distributed transactions

  • Cross-database distributed transactions
  • Cross-service distributed transactions
  • Hybrid distributed transactions

five distributed transaction solutions

  • XA Specification
  • TCC
  • Saga
  • Local-Message-Based Distributed Transactions
  • Transactional-Message-Based Distributed Transactions

https://www.alibabacloud.com/blog/an-in-depth-analysis-of-distributed-transaction-solutions

Kubernetes is removing the “dockershim”, which is special in-process support the kubelet has for docker. However, the kubelet still has the CRI (container runtime interface) to support arbitrary runtimes. containerd is currently supported via the CRI, as is every runtime except docker. Docker is being moved from having special-case support to being the same in terms of support as other runtimes. Does that mean using docker as your runtime is deprecated?

“The act of storing data in Elasticsearch is called indexing, but before we can index a document, we need to decide where to store it” “Relational DB ⇒ Databases ⇒ Tables ⇒ Rows ⇒ Columns Elasticsearch ⇒ Indices ⇒ Types ⇒ Documents ⇒ Fields” “_index Where the document lives _type The class of object that the document represents _id The unique identifier for the document” Actually, in Elasticsearch, our data is stored and indexed in shards, while an index is just a logical namespace that groups together one or more shards.

Create an external identity provider in AWS IAM/Access management/identity_providers/ create a SAML type identity_providers Set up an external identity provider in AWS AWS SSO/Settings Configure SAML SSO in your own identity provider Create AWS IAM role Access Management/SAML 2.0 Federation set the provider you created above as the SAML provider. Select Allow programmatic and AWS Management Console access. On the Attach Permission Policies page, select the appropriate policies to attach to the role.

安装ECK(禁用TLS) [](/post/elastic-cloud-on-k8s/) 安装helm3 安装skywalking8 git clone [email protected]:wubigo/skywalking-kubernetes.git cd skywalking-kubernetes/chart helm repo add elastic https://helm.elastic.co helm dep up skywalking export SKYWALKING_RELEASE_NAME=skywalking export SKYWALKING_RELEASE_NAMESPACE=default 配置ES skywalking/values-my-es.yaml oap: image: tag: 8.1.0-es7 # Set the right tag according to the existing Elasticsearch version storageType: elasticsearch7 ui: image: tag: 8.1.0 elasticsearch: enabled: false config: host: 10.101.24.19 port: http: 9200 user: "elastic" #[optional] password: "8FfgPZu0985bAm2x4243ncxJ" # [optional] helm install "${SKYWALKING_RELEASE_NAME}" skywalking -n "${SKYWALKING_RELEASE_NAMESPACE}" \ -f .

什么是ECK Built on the Kubernetes Operator pattern, Elastic Cloud on Kubernetes (ECK) extends the basic Kubernetes orchestration capabilities to support the setup and management of Elasticsearch, Kibana and APM Server on Kubernetes install Elasticsearch CRD kubectl apply -f https://download.elastic.co/downloads/eck/1.2.1/all-in-one.yaml kubectl -n elastic-system logs -f statefulset.apps/elastic-operator 创建PV(两种方法任选其一) hostPath localPath.yaml apiVersion: v1 kind: PersistentVolume metadata: name: es-pv-volume labels: type: local spec: storageClassName: local-hdd capacity: storage: 200Gi accessModes: - ReadWriteOnce hostPath: path: "/mnt/data" Local volume Local volumes do not currently support dynamic provisioning 创建目录/mnt/pv

Linux systems which use a GUI often have a network manager running, which uses a dnsmasq instance running on a loopback address such as 127.0.0.1 or 127.0.1.1 to cache DNS requests, and adds this entry to /etc/resolv.conf. The dnsmasq service speeds up DNS look-ups and also provides DHCP services sudo cat /run/resolvconf/resolv.conf sudo cat /run/dnsmasq/resolv.conf sudo cat /etc/systemd/resolved.conf Disable the local DNS cache /etc/NetworkManager/NetworkManager.conf #dns=dnsmasq systemctl restart network-manager sudo systemctl disable dnsmasq ubuntu 20.

安装docker 检查dns sudo cat /etc/resolv.conf # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 10.8.3.1 nameserver 114.114.114.114 nameserver 8.8.8.8 nameserver 114.114.114.114 详细说明 Letting iptables see bridged traffic cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 EOF sudo sysctl --system 安装kubeadm kubeadm install mirror in china

安装kubectl curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - cat <<EOF >/etc/apt/sources.list.d/kubernetes.list deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main EOF apt-get update apt-get install -y kubectl=1.18.3-00 Installing bash completion on Linux kubectl completion bash > ~/.kube/kubectl.bash.inc printf " # Kubectl shell completion source '$HOME/.kube/kubectl.bash.inc' " >> $HOME/.bashrc source $HOME/.bashrc git clone [email protected]:GoogleCloudPlatform/microservices-demo.git cat /etc/docker/daemon.json { "insecure-registries" : ["10.8.5.211"] } microservices-demo/src/shippingservice/Dockerfile RUN go env -w GOPROXY=https://goproxy.cn,direct microservices-demo/src/recommendationservice/Dockerfile ENV DISABLE_DEBUGGER=1 ENV DISABLE_PROFILER=1 skaffold run --default-repo=10.

开发环境准备 git version 2.34.1.windows.1 cmd>docker version Client: Cloud integration: v1.0.22 Version: 20.10.12 API version: 1.41 Go version: go1.16.12 Git commit: e91ed57 Built: Mon Dec 13 11:44:07 2021 OS/Arch: windows/amd64 Context: default Experimental: true go version go1.17.5 windows/amd64 golangci-lint 在windows上启动git Bash执行如下sh命令安装golangci-lint # binary will be $(go env GOPATH)/bin/golangci-lint curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.44.2 golangci-lint --version 安装make choco install mingw --version 8.1.0 cmd>make -v GNU Make 4.

安装

$lsb_release -a

Distributor ID: Ubuntu
Description:    Ubuntu 20.04.1 LTS
Release:        20.04
Codename:       focal

sudo apt install wireguard  wireguard-dkms -y
wget algo/configs/localhost/wireguard/desktop.conf  /etc/wireguard/wg0.conf
sudo modprobe wireguard
sudo ln -s /usr/bin/resolvectl /usr/local/bin/resolvconf
sudo wg-quick up wg0

重新安装 Ensure that Docker Desktop is set to Linux containers mode when you run Dapr in self hosted mode d:\code>dapr uninstall Removing Dapr from your machine... Removing directory: C:\Users\wubigo\.dapr\bin Removing container: dapr_placement Dapr has been removed successfully d:\code>dapr init Making the jump to hyperspace... Installing runtime version 1.6.0 Downloading binaries and setting up components... Downloaded binaries and completed components set up. daprd binary has been installed to C:\Users\wubigo\.dapr\bin. dapr_placement container is running.

There is a very important difference between the root and the alias directives. This difference exists in the way the path specified in the root or the alias is processed. In case of the root directive, full path is appended to the root including the location part, whereas in case of the alias directive, only the portion of the path NOT including the location part is appended to the alias.

Inline Versus Overlay Virtual Networks In the inline model, every hop between the source and destination is aware of the virtual network the packet belongs to and uses this information to do lookups in the forwarding table. In the overlay network model, only the edges of the network keep track of the virtual networks; the core of the network is unaware of virtual networks. VLAN and VRF are examples of the inline model of virtual networks, whereas MPLS, VXLAN, and other IP-based VPNs are examples of the overlay model.

产品战略

产品战略包括五大部分:胜出的渴望,产品方向,如何设计产品,产品的核心能力,团队管理系统

产品战略就是选择

Isolate represents an isolated instance of the V8 engine. V8 isolates have completely separate states. Objects from one isolate must not be used in other isolates. When V8 is initialized a default isolate is implicitly created and entered. The embedder can create additional isolates and use them in parallel in multiple threads. An isolate can be entered by at most one thread at any given time. The Locker/Unlocker API must be used to synchronize.