有10个亿的人生是什么样的?70后物联网创业者的激情成长史!
收获: 当出现瓶颈,焦虑,迷茫不知道干什么的时候。其实就是想得太多了,最主要还是要看对谁交代。我们无论工作,生活,就一个态度,对自己负责。
类似 视频中程前说的:做每日思考视频的时候,每天都在焦虑,我做完视频后,低于50万播放量怎么办,没人看怎么办。其实想想为什么要做这个频道,就是为了对自己交代嘛,没给自己的又不是写给别人的,记录自己每天的思考,所以就不要在乎那些播放量什么了,一旦有其他外部因素的介入,就不再真实了。
常听到"观察者模式vs发布/订阅模式",两者分别如何设计,有何不同,请看下文^_^ 01单词解析观察者模式 Observer:观察者Subject:主题Subscribe:订阅FireEvent:触发事件 发布订阅模式Publisher:发布者Subscriber:订阅者EventChannel:事件通道(或调度中心)Subscriber:订阅FireEvent:触发事件Publishtopic:发布主题Topic:主题 02观察者模式vs发布/订阅模式观察者模式:观察者(Observer)直接订阅(Subscribe)主题(Subject),而当主题被激活的时候,会触发(FireEvent)观察者里的事件。发布订阅模式:订阅者(Subscriber)把自己想订阅的事件注册(Subscribe)到调度中心(Topic),当发布者(Publisher)发布该事件(Publishtopic)到调度中心,也就是该事件触发时,由调度中心统一调度(FireEvent)订阅者注册到调度中心的处理代码。两者区别:发布/订阅模式多了一个调度中心 03示例代码观察者模式Subject
【密码分析(单表代换)】1.Equipment(1)operatingsystemversion:WIN10(2)CPUinstructionset:x64(3)software:MATLABR2020a2.processProblembackgroundanalysis 密码分析(单表代换): 密文1: UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZVUEPHZHMDZSHZQWSFPAPPDTSVPQUZWYMXUZUHSXEPYEPOPPZSZUFPOMBZWPFUPZHMDJUDTMOHMQ 密文2: JXQCEFMPJASOQMDPQABCSTYSMGRQBTQOASKOAOUWCPQBDPMEEASIVMWPOQVJXQVQCSORWBQKMMYVIQAOXQPVASBFPAOJCOARQHFQPCQSOQASBQAOXXAVCJVMGSABZASJATQVJXQYSMGRQBTQGQTACSDPMEKMMYVASBDMPEARQBWOAJCMSQSAKRQVWVJIMRQAPSAKMWJIXCSTVXAJGQXAZQSMMFFM
作者|FrankSanMiguel策划|田晓旭2021年,Netflix会将大部分的工作负载从Reloaded转移到Cosmos平台。Cosmos是一个计算平台,它将微服务的最佳特性与异步工作流以及Serverless结合在一起。介绍 Cosmos是一个计算平台,它将微服务的最佳特性与异步工作流以及Serverless(无服务器)结合在一起。它的最佳应用是用于涉及到资源密集型算法的应用程序中,这些算法通过复杂的层次化工作流进行协调,可以持续几分钟到几年。它既支持一次消耗数十万个CPU的高吞吐量服务,也支持需要等待计算结果对延迟敏感的工作负载。一个Cosmos服务本文将会解释我们建造Cosmos的原因以及它的工作原理,同时也会分享一些我们在此过程中学到的知识。背景Netflix的媒体云工程和编码技术团队共同运营一个系统,处理来自我们的合作伙伴以及工作室的输入媒体文件,使它们可以在所有设备上播放。该系统的第一代于2007年推出了流媒体技术。第二代增加了扩缩容,但操作极为困难。第三代被称为Reloaded,也已经上线7年了,并且已被证明是稳定的且可进行大规模扩缩容的。在设计Reloaded时
第一章喜欢的事,就要拿来当饭吃!你选择怎样的生活方式都可以,谁都无法强迫你。但我们总是顾虑太多,迫于来自家人、伴侣的有截图而无法活出自我但最终无论是你的父母、伴侣、孩子,都无法承担起让你幸福的责任除你以外,没有人能改写你的人生第二章为什么做自己喜欢的事,人生就会发生巨变?从7个方面了解你的热爱仅仅去做主就快乐让身边的人感到快乐和幸福自然而然就会去做即使再活一次也还想做即使花钱也想做总会被周围人盛赞,建议『多去做做看』的事只要有一点时间就会去做感觉时间不够用的人,很多都没有把时间花在真正有价值的事上。很多时候都是因为他们不擅长排列事物的轻重缓急,而在不知不觉间就被工作和要务侵占了时间最重要的就是对自己不有好奇心。好奇『真正活出自我的自己会是什么样的』对世间万物都感兴趣的人,内心是柔软的。这样的人很愿意认识别人。在好奇心的驱使下,他们不断追逐自己想做的事,最终在自己的选择项中收获结果第三章如何找到自己喜欢的事做自己喜欢的事,自然就会有意想不到的收获。之后需要重视的就是如何从中找出自己的最爱了套装化才能做、写、说喜欢的事将喜欢的事『商品化』出售、传播、教授、组合制作喜欢的事为做喜欢之事的人『
架构设计中的网络损耗中国的大网络环境你出过国吗?或旅游,或出差,或长期工作。你没发现在外国上网跟国内上网的体验完全不同吗?给你几分钟,你现在回忆一下,在外国上网有什么不同?你是否发现在外国上网,在浏览器地址栏输入域名,敲下回车键的那一刻,网站立即展现出来?而在中国你的浏览器总是卡那么一下,转一圈(约0.2~1秒的时间)才出来。这是为什么?这是因为我们从自己的电脑到达服务器并返回数据经过的路径太长,节点太多造成了。中国的网络环境是相当复杂:南北互通问题带宽容量的问题层层NAT转发问题架构设计不合理的问题GFW过滤的问题等等访问过程中每经过一个节点都会造成一定延迟,当我们在浏览器中输入域名,中国DNS解析压力绝对比外国的服务器压力大,这是人口数量决定的。接着由于中国IP资源有限,我们需要层层NAT转发,然后还要被GFW拆包解包判断你的方案是否合规合法,最终到达我们的服务器,现在的云环境,微服务架构等等,大量应用七层负载均衡和代理。最终使我们无法体验到真正的互联网速度。架构设计需要考虑网络损耗硬件造成的网络损耗网上有大量的架构设计文章,但几乎没有人探讨过,架构设计中的网络损耗问题。现在的架构
最近在研究函数和原型链这块内容时,我遇到了不少疑惑,对自己而言,这些疑惑可以算得上是灵魂拷问吧。在一步步探究和查证的过程中,我也许理解了一部分,也许还是什么都没懂吧,以文记之,只求能收获二三分。不知这里面有没有你遇到的疑惑呢?一起来看下吧!Object和Function谁是谁的实例ObjectinstanceofFunctioninstanceof检查的是右操作数的prototype属性是否在左操作数的原型链上。首先Object是一个对象类型的构造函数,而函数的构造函数是谁,当然是函数的鼻祖Function。所以Object是Function的实例这一点还是比较容易理解的。Object.__proto__===Function.prototype; //true复制其实通过下面的代码也可以侧面证明Object是Function的实例。Object.constructor===Function; //true复制FunctioninstanceofObjectFunction反过来又是Object的实例,这又该如何理解呢?我们知道,除去null这种情况,原型链的顶端是Object.pro
上一节我们提到并发编程不同的协程共享数据的方式除了通道之外还有就是共享变量。虽然Go语言官方推荐使用通道的方式来共享数据,但是通过变量来共享才是基础,因为通道在底层也是通过共享变量的方式来实现的。通道的内部数据结构包含一个数组,对通道的读写就是对内部数组的读写。在并发环境下共享读写变量必须要使用锁来控制数据结构的安全,Go语言内置了sync包,里面包含了我们平时需要经常使用的互斥锁对象sync.Mutex。Go语言内置的字典不是线程安全的,所以下面我们尝试使用互斥锁对象来保护字典,让它变成线程安全的字典。线程不安全的字典Go语言内置了数据结构「竞态检查」工具来帮我们检查程序中是否存在线程不安全的代码。当我们在运行代码时,打开-run开关,程序就会在内置的通用数据结构中进行埋点检查。竞态检查工具在Go1.1版本中引入,该功能帮助Go语言「元团队」找出了Go语言标准库中几十个存在线程安全隐患的bug,这是一个非常了不起的功能。同时这也说明了即使是猿界的神仙,写出来的代码也避免不了有bug。下面我们来尝试一下packagemain import"fmt" funcwr
项目链接:https://github.com/vi3k6i5/flashtext 原文:资源|十五分钟完成Regex五天任务:FastText,语料库数据快速清理利器 .性能:案例:字符串查找英文:#pipinstallflashtext fromflashtext.keywordimportKeywordProcessor keyword_processor=KeywordProcessor() keyword_processor.add_keyword('BigApple','NewYork') keyword_processor.add_keyword('BayArea') keywords_found=keyword_processor.extract_keywords('IloveBigAppleandBayArea.') keywords_found #['NewYork','BayArea']复制中文:fromflashtextimportKeywor
目录A(预处理)C(结论/签到)D(打表)F(min25筛)G(dp+状态优化)H(模拟/签到)J(构造)K(dp+状态优化)L(dp) A(预处理) 容易发现对于一段被0隔开的长度为\(n\)的连续的1,可以消去的0的个数为\(\lceil\frac{n}{2}\rceil\),预处理这个答案 同时因为每次查询一个区间视为环形,需要将两个端点拼起来,预处理每个位置向左向右最远延伸到1的位置即可 #include<bits/stdc++.h> usingnamespacestd; constintMaxn=1000005; intread() { intx=0,f=1;charch=getchar(); while(!isdigit(ch)){if(ch=='-')f=-1;ch=getchar();} while(isdigit(ch)){x=x*10+ch-'0',ch=getchar();} returnx*f; } intn,Q; inta[Maxn]; charssr[Maxn]; intpreans[Maxn],nxt[Maxn],pre[Maxn]; i
hdu3652B-number 传送门 题意 给出\(n(1\leqn\leq1000000000)\),计算\([1,n]\)中有多少数既包含\(13\)又可以被\(13\)整除 题解 数位dp,从高位到低位处理,传参中有状态表示是否含有\(13\),也有当前的数除以\(13\)的余数 #include<bits/stdc++.h> #defineLLlonglong #definePIIpair<int,int> usingnamespacestd; intn,bit[15],dp[15][15][5]; intdivide(intx){ intcnt=0; while(x){ bit[cnt++]=x%10; x/=10; } returncnt; } intdfs(intpos,intrest,intsta,boollimit){ if(pos==-1)returnrest==0&&sta==2; if(!limit&&dp[pos][rest][sta]!=-1)returndp[pos][re
题目描述: 方法:二分法O(N*log(summ-maxn)) classSolution: defsplitArray(self,nums:List[int],m:int)->int: n=len(nums) s=0 fornuminnums:s+=num l,r,ans=0,s,s whilel<=r: mid=(l+r)//2 flag,cnt,now=True,1,0 foriinrange(n): ifnums[i]>mid: flag=False break ifnow+nums[i]>mid: cnt+=1 now=0 now+=nums[i] ifflagandcnt<=m:ans,r=mid,mid-1 else:l=mid+1 returnans复制 方法二:动态规划 来自官方题解:O(N2M)O(NM) classSolution: defsplitArray(self,nums:List[int],m:int)->int: n=len(nums
一、Quartz可以用来做什么 Quartz是一个强大任务调度框架,我工作时候会在这些情况下使用到quartz框架,当然还有很多的应用场景,在这里只列举2个实际用到的 餐厅系统会在每周四晚上的22点自动审核并生成报表 人事系统会在每天早晨8点给有待办的人员自动发送Email提醒 二、使用Quartz之前的准备 1.建立一个Maven项目 2.引入quartz的依赖 使用quartz,我们仅仅需要在maven的pom文件中添加依赖即可。我使用的是现在最新的一个版本2.3.0,大家可以在maven的仓库获取到最新的版本依赖,地址:http://mvnrepository.com/artifact/org.quartz-scheduler/quartz 但然也可以使用这个2.3.0的依赖,下面的例子都是使用此依赖并实现了效果。 <!--https://mvnrepository.com/artifact/org.quartz-scheduler/quartz--> <dependency> <groupId>org.quar
问题: 1,项目开发过程中,使用场景是一个接口,返回的数据在主办部门和协办部门的级联选择器中展示。选择主办部门的任一项后,协办部门不能再选择,即(disabled=true) 但是在选择了主办部门,用主办部门的change事件打印出来数组,协办部门中的disabled都是正常赋值上去,同时主办部门也默认赋值了disabled属性 2,解决了上一个问题后,在主办部门下拉事件完成选择任一个值后,el-cascader却没有随着主办部门的更改,让协办部门disabled置灰。打印了数据是正常的,并且在循环中用$set更新了数据,可是选择器中数据还是没有改变 解决: 1.将接口返回的res用两个不同的对象赋值给主办部门和协办部门,并且在赋值的时候,将主办部门=JSON.parse(JSON.stringify(res.data)),协办部门则在循环中默认添加一个disabeld=false的属性,为下面的动态赋值做准备 2.在默认获取值得时候,需要在协办部门得数据上,默认将disabeld设置一个初始值,才能在后面的$set中使用。 主办部门cha
今日内容: Selenium请求库 一、Selenium请求库 1、什么是Selenium请求库? Selenium是一个自动测试工具,它可以帮我通过代码去实现驱动浏览器自动执行相应的操作。所以我们也可以用它来做爬虫。 2.为什么要使用selenium? 主要使用selenium的目的是为了跳过登录验证。 3.安装与使用 -下载驱动器: http://npm. taobao. org/mirrors/ chromedriver/2.38/ 一下载selenium请求库 一修改下载源为清华源 一D: \python36\Lib\site-packages \pip models\index. py 一PyPI = Index(' https://pypi. tuna. tsinghua.edu. cn/simple' ) 一pip3 install sel enium 或settings中安装 fr
转自https://www.cnblogs.com/wuwangchuxin0924/p/6223152.html 了解凸包及Graham扫描法 问题描述:二位平面内,给定n个散乱的点,求一个最小凸多边形(凸包),使得n个点都不在凸多边形外。 问题的解决用到Graham算法: 算法步骤: 1.取y坐标最小的一点,作为p0,显然p0一定在凸包上。 2.将p0作为坐标系原点,其他点按极角从小到大排序,从p1开始编号。 3.从小到大遍历所有点:显然[p0,p1]在凸包中 4.连接p1,p2的时候需要判断:p0->p1叉乘p1->p2是否大于0: >0p1->p2在p0->p1夹角小于π,物理意义:p1->p2在p0->p1的左边,满足凸多边形定义。 =0p1->p2与p0->p1共线
1、在index.html引入高德地图 <scripttype="text/javascript"src="https://webapi.amap.com/maps?v=1.4.4&key=yourkey"></script>//key找个适合例如:160cab8ad6c50752175d76e61ef92c50 2、在webpack.base.conf.js配置引入 externals:{'AMap':'AMap',}3、在vue文件中使用 <template><divid="my_container"></div></template><script>importAMapfrom'AMap' exportdefault{name:"company_manage",data(){return{ruleForm:{name:'',phone:'',addr:'',long:'',lat:'',start_work_time:'',end_work_time:'',},}},mounted:fun
作用: 在vue项目中,难免会有列表页面或者搜索结果列表页面,点击某个结果之后,返回回来时,如果不对结果页面进行缓存,那么返回列表页面的时候会回到初始状态,但是我们想要的结果是返回时这个页面还是之前搜索的结果列表,这时候就需要用到vue的keep-alive技术了. 介绍: keep-alive 是Vue内置的一个组件,可以使被包含的组件保留状态,或避免重新渲染。用法也很简单: <keep-alive> <component> <!--该组件将被缓存!--> </component> </keep-alive>复制 props include-字符串或正则表达,只有匹配的组件会被缓存 exclude-字符串或正则表达式,任何匹配的组件都不会被缓存 1//组件a 2exportdefault{ 3name:'a', 4data(){ 5return{} 6} 7}复制 1<keep-aliveinclude="a"> 2<component> 3<!--name为
1.傅里叶级数理解,cos(nx)为一个单位向量基向量(除以模就等于基向量了),这是求一个f(x)在基向量上的投影. 2.DFT理解 3.e^jwt是一个特征函数 特征函数定义:afunctionwhichwhenyouputitthroughthesystemcomesoutlookingexactlythesame,exceptforitschangeinamplitude,thechangingamplitudebeingtheEigenvalue 下面我们把e^jwt送入一个系统中,能够证明e^jwt是一个特征函数 4.离散傅里叶级数中的T0*ak相当于对X(w)进行采样 TheFourierseriescoefficientsaresamplesoftheFouriertransformofoneperiod 逆变换,回到x(t) 5.周期信号的傅里叶变换 从下图可以看出是周期信号的频谱图是离散的,值的大小等于2pi*ak。 特征向量e^jw0t(频域)经过系统过等于H(w0)*e^jw0t,因为特征向量是eigen向量,H(w0)是
之前因为技能大赛的原因,导致我这门课没有上。其实上学期是开Dreamweaver网页制作的课程的,所以老师讲的很快。我就利用课后时间去补漏,今天讲了HTML标签:1、标题标签<h1>~<h6>数字越大字越小。2、段内换行<br/>也可以简写<br> 一个段落标记相当于两个换行标记。3、段内分组<span></span>相当于特殊的div格式,但不是独占一行。4、段落标签<p>。5、预留格式<pre></pre>直接抓取用,保留原有格式,需要对文字作二次处理。6、水平线<hr/>。 还学习了实现文字之间多空格的方法1、预留格式标记<pre></pre>2、空格占位符