javascript文字转语音引擎 speechSynthesis
参考文档
speechSynthesis是浏览器自带的功能,甚至都不需要单独去安装。当然也有可能有的浏览器不支持。
最简单的三行代码:
var msg = new SpeechSynthesisUtterance();
msg.text = "你好,世界!"; //直接支持中文
window.speechSynthesis.speak(msg);
参考文档
speechSynthesis是浏览器自带的功能,甚至都不需要单独去安装。当然也有可能有的浏览器不支持。
最简单的三行代码:
var msg = new SpeechSynthesisUtterance();
msg.text = "你好,世界!"; //直接支持中文
window.speechSynthesis.speak(msg);
pip install pyttsx3
我在MacOSX上安装的,是python2, 有很多语音,需要找到对应的语音。
engine = pyttsx3.init()
voices = engine.getProperty('voices')
for voice in voices:
if voice.languages == [u'zh_CN']:
engine.setProperty('voice', voice.id)
break
engine.say(u'The quick brown fox jumped over the lazy dog.中华人民共和
国。')
engine.say(u'我爱北京天安门,天安门上太阳升。')
engine.runAndWait()
用js的netcat库写的, 很简单, 只是记录一下收到的消息, 用了一个很不常见的socket. 开了半年多, 发现几乎每天都能收到一点攻击.如下:
GET /nice%20ports%2C/Tri%6Eity.txt%2ebak HTTP/1.0
Malicious request intercepted by springOPTIONS sip:nm SIP/2.0 Via: SIP/2.0/TCP nm;branch=foo
Just a Reminder, SIP is a Popular Scanning Targetwindows上我用bat做编译,烧录, 复制文件等等操作. 所以好奇make和bash(Linux上更强大的bat)究竟有什么区别?
参考这篇文章, 高赞回答似乎是说make主要是能节省完全重编译的时间, 方法是通过检测编译所需要文件的更新日期, 并且只编译其中较新的文件.这在有成千上万个文件需要重新编译的时候会很节省时间.
所以大体上来说, makefile文件和bash脚本文件功能差不多, 只是makefile多了上面的能力.
当然, 据说makefile的语法非常令人讨厌,不如bash语法那么爽。
make与cmake的区别
参考这篇文字, cmake是与make配合使用的,它其实是生成makefile的工具,不止如此,还能visual studio工程或其他工程, 简单来说就是跨平台的工程文件生成工具。所以,make是编译系统(build system),而cmake是编译系统的构建器(build system generator).
ninja与make的区别
ninja是一个make的替代产品, 主要是解决make启动缓慢和功能复杂(过于强大)的问题
三十年河东三十年河西。兔国初代目追求平等社会三十年,搞钱实在不太行。次代目让有条件的兔子先搞钱,政策至今也四十多年了,基尼系数大得不行。如今大概新的三十年又要开始了,基尼这玩意儿得要降,理想是最好没有。这个怎么搞?是不是学习初代目?兔子们很平等,一样有钱也一样没钱。当然初代目手里没多少底牌,当代目手里底牌要多一些,是不是可以实现?比如按需分钱?太有钱的还不服管的兔子,是不是坚决干掉?如何让普通兔子都同样有钱?
早上忽然想到的,金融本质上是提供和扩大流动性的工具。而金融的本性是将流动性无限扩大。而金融的监管是对金融本性的监管,其防止流动性可能导致灾难的无限扩大。
这里流动指的是物权的变化,即物主改变。流动性就是物权变化的速度。流动性大就是物权变化的速度快。物权有所有权和使用权。金融也会对这两种不同的权利进行流动。
比如,金融的诞生就是货币的诞生。货币的诞生为物物交换提供了非常大的流动性。在要交换的物物中间,以货币为媒介,就好像为这种交换抹了润滑油一样,使交换速度大大加快。
以金融的这个属性来说,不仅银行、保险和证券公司是金融体系,广义来讲讲产品销售体系也是金融体系的一种,因为产品销售体系加快了产品向消费端流动,以及资金反向向生产者的流动。
人生过半,才慢慢发现一些从小种在我心中、就像真理一样从不怀疑的信念,其实是鸡汤式的谎言。日常总结一下。
努力就有回报
。类似的话包括: 付出就有收获
, 一分耕耘一分收获
。在这个题目下从小到大被灌输的字句和文章多到无法计数。各种文艺作品包括小说、电影电视剧、动画漫画……甚至都在不断诉说这个主题。而实际上这是一个鸡汤谎言。事实是:回报需要努力,但努力不一定有回报。努力只是一个必要条件,前提还要有正确的方向。问题是正确的方向并不是容易判断的,常常还需要运气。但中国人尤其喜欢这种不管不顾的努力,于是就有了加班文化、奋斗文化、996/007……某种意义上,努力就有回报
是老师、上级、领导等统治者给我们灌输的鸡汤谎言,为了实现统治者们自己所定义的方向。这个方向对吗?有时候对,有时候不对。但是这种把命运交给别人,自己只管努力就好了确实能很省心地获得一种满足感,直到发现方向不对的那一天。追求"老婆孩子热炕头"是贪图安逸的想法
。"老婆孩子热炕头"现在好像比较少提了,以前在一些正规的媒体渠道,包括报纸、电影、电视上,会唾弃这种追求“老婆孩子热炕头”的思想。这个应该属于上一条努力就有回报
的延伸,既然要努力,就应该不计一切代价的努力,然后会塑造出一批努力到废寝忘食抛妻弃子的伟光正形象,算是比上一条毒鸡汤更毒的鸡汤谎言。且不说真实世界中每一位在各自方向上成功的人,是否都要努力到抛妻弃子,就说“老婆孩子热炕头”本身,也不失是一种合适且并不容易的努力目标。妻子代表组建家庭,仅此一项,就实现了马斯洛需求理论中的生理、安全、爱河归属的需求,良好的婚姻关系甚至还能帮助实现尊重和自我实现需求。孩子还实现了对人类种族最重要的繁衍需求。热炕头排在最后代表了对家庭和后代的付出以后,自己还能满足的其他生理和安全需要。所以,对普通打工人的这一思想唾而弃之的,大概还是上级阶层出于实现他们的目标的需要,担心我们为他们奋斗地不够努力吧。一颗超新星爆炸的尘埃->聚合形成太阳->太阳形成时候的爆炸和引力->重元素粉尘靠近太阳, 轻元素远离太阳->粉尘聚集形成陨石再形成行星->靠近太阳为固态金属核或重元素核的行星,远离的为轻元素核的行星->金属核心的地球形成
这一时期主要是各种陨石轰击地球与地球结合, 但有两个重大事件:
分为 初/古/中/新四个太古代
这一时期细菌和蓝菌等原核生物, 并制造了微量的氧气.
分为 古/中/新三个元古代
分为 古生代/中生代/新生代
古生代分为寒武纪/奥陶纪/志留纪/泥盆纪/石炭纪/二叠纪
中生代分为三叠纪/侏罗纪/白垩纪
新生代分为第二纪(古近纪)/第三纪(新近纪)/第四纪
为将基于不同MCU/不同编译环境/不同产品功能的嵌入式项目能统合在一起编译, 提出这个分层模型.
层级 | 层名 | 解释 | 硬件相关性 | 产品型号相关性 |
---|---|---|---|---|
8 | 编译层 | 为方便项目快速编译而开发的批处理文件(如.bat ), 可进行dev/build/release等操作,不同产品通过f5y_config.bat 配置文件修改 |
有 | (多数)有 |
7 | 配置层 | 用于配置产品型号,版本,功能等信息,C语言统一为proj_conf.h |
有 | 有 |
6 | 功能层 | 提供各种产品的各种功能,与硬件解耦, 分功能子层func.c/h 和驱动测试子层driver_tester.c/h |
- | 有 |
5 | 驱动层 | 上驱动层driver.c/h 对功能层提供标准驱动接口, 下驱动层修改必要的SDK示例内容以实现不同产品功能的兼容 |
有 | 有 |
4 | 项目层 | 为编译使用的项目文件, uv5.proj文件或.mk文件等 | 有 | (多数)有 |
3 | SDK层 | 为原生SDK, 可能在硬盘的其他位置 | 有 | (多数)无 |
2 | 编译器层 | 为编译器文件, 如uv4.exe, gcc.exe等, 在硬盘其他位置安装 | 有 | 无 |
1 | 硬件层 | 为基于不同MCU的实际硬件, 如C51的某型号产品PCB, ESP8266某型号PCB等 | 有 | 有 |
项目生成的固件一般放置在firmware
目录中
4~8层在一个集合目录中, 3层SDK看实际情况放置
U430 touch前几年启动巨慢无比,得半小时到一两个小时, 还得看运气. 后来发现是用作缓存的16G建兴SSD坏掉了, 我估计是超出了写入寿命. 于是闲鱼上买了个威刚的240G二手SATA 2242 SSD
. 注意这个型号, 2242不是通用的, 而是联想和hp等笔记本厂家的专属型号, 市面上很难买到,新品只有金胜维, 价格过于便宜, 不太敢买. 闲鱼有大量威刚240G的HP拆机条, 似乎要保险一些.
买回来刚装上发现读取速度还可以但写入速度极慢(10M/S上下), 4K随机读取只有2M/S左右, 解决方式似乎是: 设备管理器->磁盘驱动器->属性->策略
,勾选启动设备上的写入缓存
. 并且所有盘都要勾上.
另外发现设备管理器->磁盘驱动器
的SSD名称还是旧的LITEON 16G, 需要删掉重新发现才变正常.
Intel有一个Intel RST快速存储技术, 另外联想官方还能下载一个ExpressCache软件, 似乎和intel RST作用类似.
已经安装的ExpressCache有问题无法运行且很难删除, 主要是服务不能删除. 我在安全模式下禁用了Intel RST服务和ExpressCache服务, 再回到正常模式下才删除. 然后重新安装, 其中重启了好几次. 安装ExpressCache前, 需要在SSD盘上预留一些未分配空间, 我留了40多G, 安装完重启后, ExpressCache自己取了其中的32G来用.
ExpressCache安装后再次要是命令行操作. 管理员打开命令行输入eccmd -info
可以看到当前缓存信息.
值得注意的是, 刚刚安装好ExpressCache, 管理员身份似乎不能马上运行, 如services.msc
等需要管理员身份的程序一开始运行会报错, 要过一会儿才行, 似乎是在等待缓存到SSD?
biē塑胶的biē字, 似乎是啤酒的啤
字. 但是啤
字并没有多音字.
这儿有一个说明解释了为什么塑胶机又叫啤(biē)机
参考: https://mp.weixin.qq.com/s/aNC6cgLSrK3dzrlwbaDzOA
日本人长寿, 男性人均81, 女性87, 现在养老负担及其重, 占到GDP的大头. 日本政府不堪重负, 用尽各种招数:
社会5.0
计划, 通过高科技远程医疗, 智能管家辅助, 让老人可以自主居家养老, 但似乎也是单纯的幻想看了Linus的一些新闻, 吐槽C++, 决定引入Rust也不用C++, 引起的我的好奇, 并在知乎上找了一些文章, 看大家怎么评价的:
https://www.zhihu.com/question/25535134
https://www.zhihu.com/question/266995763
https://www.zhihu.com/question/30292024
C和C++一直都是并列写作C/C++
的, 包括很多教材也都这么写, 不知道何时开始这么不共戴天了? 我2000年前后开始学C/C++, 后来进华为开发, 虽然用的还是C但是IDE是微软的Visual C++ 6.0, 这俩看起来跟好的不能再好的哥们一样的编程语言竟然暗地里结了这么深的梁子?
现在来看, C++诞生于1983年, 在1998年才第一次被标准化. 这和Windows的诞生几乎是同时代的. Windows1.0发布与1985年, 到1995年之后的Win95/98风靡世界, GUI开发成为最重要的开发目标. 所以C++语言有两个野心, 一个是替代C, 另一个是成为GUI的开发标准. 从前面的各个吐槽来看,这么多年以来, 在底层开发领域C的地位也没有被C++取代,反而在上层应用领域有了很多的替代, 包括服务器端和安卓端的Java, IOS端的OC, H5的Javascript, 游戏脚本Lua, 万能语言Python, 多线程Go. 还有Linus青睐的Rust.
以前以为Qt只能用C++开发, 现在发现居然有一个QtScript, 是ECMAScript的实现. 在Qt的官网发现, 现在QtScript似乎已经被替换成了额QML(像是XML/HTML的变形),也支持Python了. Qt可以在LGPL下开发,也可以通过商业许可证购买.