多少有点先入为主的感觉,我是从启蒙阶段用的 vs ,
后来用过 idea 一段时间,那会也感觉 idea 是什么垃圾 啊,用不习惯。到最后也没把这玩意弄趁手。
但是 vscode 就很舒服,回头感觉 vscode 还是更接近 idea 一些的。就是 idea 也是有亮点的,当时感觉不出来。
vs 到底吊在哪,我觉得作为 Windows 端开发软件,它的大而全。比如开发 c++,除了写代码外,编译链接那坨头疼的东西它給你代管了。调试什么的他也做得
你是前端想通过 Websocket 连到 MQTT 服务器上收消息么?通过反向代理转一下?
要是指 MQTT 服务器怎么做单机并发的话,你可以参考 EMQX 是怎么做的。
游戏引擎确实不需要,但是你想做 MUD 这种还是尽可能找点工具辅助吧,算是没有界面的网络游戏,挺复杂的。
你想在互联网上,开辟一个属于自己的空间,存一些东西,搞一些网站,仅自己可见。
那你需要的是一个云服务器( VPS ),这是一台功能完全的,仅属于你的,有固定公网 IP 的电脑。你在上面再部署你要的东西,比如网盘、数据库、网站、服务接口之类的。
仅自己可见的话,对于你暴露的每个应用,你自己维护密码、密钥等安保措施。让别人不能用。
CDN 完全不是干这个的。CDN 叫做内容分发网络,作用是加快文件传播的速度,跟你的需求完全相反。比如你有音乐或者视频等大文件要传播,直接放在自己服务器上,給人下载的话,流量压力很大。这时把需要传播的内容放到 CDN ,CDN 会将内容分发到 CDN 缓存节点上。其它人请求内容时,就能从就近的 CDN 缓存节点上直接取。
至于有了 VPS 后,具体放什么应用,这个看你需求。就你表述的,我理解一个是网盘应用。另一个是个人博客,你去找各自的解决方案,套上去就可以了。
我用的绿联的硬盘盒,插上硬盘后像个烤面包机。是单独供电的,USB 线练到树莓派上挂载。
NAT 类型是描述你家内外网打通的程度。主要其实是看你家设备到公网有几层路由。路由套的越多,你这个 NAT 就越难生效,毕竟穿一层墙跟穿三层墙难度肯定不一样么。
现在一般来说是三堵墙。
第一堵是运营商給你的 IP ,因为公网 IP 资源紧张,现在分配基本都是运营商内网的 IP ,在运营商那里就已经做一层 NAT 了。你得申请运营商給你分公网 IP 才好穿这堵墙。
第二堵是在光猫那里。光猫如果开路由模式,你家自己路由器也是路由模式。你要把光猫那里改成桥接,让路由器直接拨号,可以绕开这堵墙。
第三堵是你家自己买的路由器,也算是一堵墙。绕这个墙,可以通过端口映射,或者 DMZ ,upnp 这种,把内网的设备地址暴露出来,这堵墙就过了。
你这个属于租服务器,在公网上搭存储服务,
也算网络附加存储,但是一般叫个人网络云盘。
一般说的 NAS ,放在家里的一台搭载硬盘的电脑,通过内部网络让其它设备共享存储空间。跟网络云盘比,你自己可以配大硬盘,内网不限速,价格有优势。
当然也有不方便,比如你要出差在外,就得想其它办法连,有时还得用云服务器在公网中转。
实际上制约的也确实就是钱,要是公网带宽和存储容量都很廉价,就搞个纯云上的空间自己用,当然也好。
楼主你自己算一算就你的需求值不值这个价吧
前端三件套本来是设计用来画网页的。类似传单的感觉。
现在拿来做互动界面,类似游戏里的按钮、列表啊这些。 许多地方没有约定俗称的范式,要自己去编写,这就麻烦了。
Vue React 这些框架,就是提供了一整套思路,和配套的工具,让你按他的思路去组织代码,底层的一些细节它们包解决。
最后由框架将其编译回三件套。
传感器脱钩的话,那你就只能以网关+索引去关联了吧,你看配置文件在哪写吧。
至于数据库,时序数据没有特别要设计的吧, 时间戳 ,数字,然后就是索引啦。
本地存成本最低的方案,你找像小米路由器那种可以带个移动硬盘的,让路由器来干这个活。
800V 和 400 V 代表电池工作电压,理论上电压高一倍,电流就可以降下去一半,或者同电流下的输入输出功率增加,体现在充电速度上就是快 50%。但 800V 的电气环境要求高,所以以前不搞,随着保时捷起了头,相关配套这几年开始抬头,现在属于一个漫长的过渡阶段。
这个阶段鱼龙混杂,鱼目混珠。
比如有的车它只是充电那块提升到 800V ,动力输出那块还是 400V 。 不是全车都基于 800V 的设计。
还有的车标的 800V ,但实际也就做到 600V 。那跟 SU7 的 480V ,区别真的有多大么,也不见得。
毕竟全车 800V 是需要重新设计的,特斯拉它这一代都是 400V ,800V 基本要下一代了。
米车主观是对标特斯拉的,所以标准版 480V 跟特斯拉比不落下风。
但米车客观上是极氪同价位的,极氪新版就都是 800V 的,所以就纠结了呗。
个人的观点,现阶段买车,在特斯拉这个价格以下,不用太纠结 800V 与否。往上作为国产品牌,没有 800v 态度就有点问题了。
Vue 和 React 都是前端工程化时期诞生的开发框架。
前端工程化,指的是前端从做网页,变成做 Web APP ,也就是跑在浏览器里的客户端。
但因为 Html 、CSS 、JS 这三东西本来是开发网页用的,用来编写客户端并不方便。所以就出现了专门为 Web APP 或者叫单页应用开发的方案。
React 是其中最激进的,它架空了 Html 和 CSS ,全部在 Javascript 里面写组件,组件拼接成应用。并且搞出了一套根据组件 state 状态改变,更新视图的所谓数据驱动的思路。按照它的思路去开发 Web APP ,许多问题就迎刃而解。
但同时也产生了许多新的开发需求,比如状态的维护,跨组件引用、路由等等,这些由各路开发者为之开发插件来解决。
Vue 是一个折中的方案。最早的 Vue 只是为了在普通的 Html 网页中,增加一些根据数据驱动的活动组件。它对网页开发向
Web APP 转变的过渡期是很好的抓手。
后来 Vue 也确定了一种由 template 、script 、style 组成的单文件格式,同样的通过编写拼接 Vue 组件,实现类似 React 的全组件化 Web APP 。
相比 React ,Vue 的状态维护、路由等模块是有官方版的,跟本体连接紧密,所以按照 Vue 开发指导文档,上手开发应用
另外,分久必合合久必分。这俩出现的时候,是有取代 Php 那种后端写网页模板做应用的趋势的。可是发展到今天,现在这俩也都有后端写应用的版本。
具体学哪个都可以,
我个人推荐 Vue 。因为我是先学的 React 再学的 Vue ,React 太自由反而难驾驭,理解不到位,容易写出似是而非的东西。
Vue 基本上就没有这个问题。
这类设备主要是帮你组异地局域网用的。通信两头都没有固定公网地址的时候,你可以靠它来把两边打通以实现互相访问。
你不买硬件的话,可以自己找台电脑加一个中间服务器跑类似 Tinc ,zerotier 那种搭建虚拟内网的服务实现类似的效果。
中间服务器主要是寻址维护用的,因为你两边都没有公网地址,如果没有这个东西,就互相找不到了。
至于流量,不一定从中间服务器走,看你通信两头的 NAT 能不能直接凿通。
这类产品实用性还是强的,能立竿见影的解决你的某种特定需求。
好不好用么,这个不好强求,毕竟做这个的都是小厂,属于不怎么正规的边缘需求。
向日葵做这方面比较多。
你可以建一个流媒体服务器,把 RTSP 视频流转成其它连接,然后把这个连接露出去。
用 ZLMediaKit 可以实现。
你是想让你的电脑有公网的 IPV6 ,从外面可以访问进来是么?这个需求我前端时间也折腾过。
是这样的,IPV6 跟 IPV4 一样,也是由路由器分配下来的。
IPV4 运营商只給你一个地址,还不一定是真的公网,路由器給下面小弟的都只能是局域网地址。
IPV6 运营商給你的是一个前缀,代表着一坨地址。路由器拿到前缀后,按自己的方法往下分配。
不过,现在的光猫本身,就可以当路由器用。在路由模式下,是光猫拿到了前缀,由它給下面的设备分地址,这就有可能分给你的路由器就 1 个地址,这样你的路由器底下就没法再分了。
一种方法是保持光猫在路由模式不动,那你的路由器就不能作为光猫的子路由,而要作为光猫下面的交换机来使用。具体的做法,传统的就是路由器 Wan 口不插,插 Lan 口,这样你的路由器下面接的设备,就都是光猫那边給分配 IP 地址,自然 ipv6 也就到手了。当然你这个路由器,应该可以直接改工作模式,不用改线。
但是对公网开放,还需要放行 IPV6 防火墙。光猫路由模式下,你要改光猫的配置,这个要看光猫型号,有些真不一定能改。
所以推荐的另一种方法,就是把你的光猫工作模式改成桥接,这个时候由你的路由器来拨号上网,分配 ip 地址,在你的路由器里面配就相对容易很多了,现在的路由器基本你就打开 IPV6,下面自动給你分地址。
但是防火墙配置,一样的,也看路由器型号。像我家原来的小米 R3P ,它就不能改,后来直接换成华硕的,就直接可以改防火墙,就非常简单了。
是的。
像 Oath ,jwt 这些认证手段,他们的主要作用是在 Web 应用中保持你的登录状态,不至于让你每次操作都要输入用户名和密码。
而 HTTPS ,它属于信道加密,防止你跟 web 应用的通信内容被监听、篡改,学名叫中间人攻击。像你用的抓包就是一种中间人攻击。HTTP 因为用的是明文传输,无法避免这个行为。而 HTTPS 结合了非对称加密+对称加密+CA 作保,确保你访问受信任的网站时,通信内容别人看不懂。
桌面程序开发,我觉得最好的入门方式,还是先直接写一个简简单单的小程序,把正式开发时,会接触到的各个地方,先打个照面。就像玩游戏,首先一点点把地图探开,建立传送点。以后跑图做任务就方便了。
比如最开始,放上一个按钮,放上一个 label ,实现点一下 label 显示的数字+1 。这个程序做完,知道控件怎么放进窗口里,变量保存在哪里,如何引用和修改,点击事件如何绑定到控件上。
接着,不用按钮,程序里面跑一个死循环,让这个 label 自己+1 。你会知道在哪里执行这种任务,又如何与 UI 那边交互。
这一步走通了,你就可以再进一步,刚刚是个死循环,现在我换成发送一个 HTTP 请求,收到报文,内容显示到 label 里。涉及到库文件的安装和引用,网络通信,Json 解析等内容。
这部分走通后,开发一个像网页那样获取内容的 GUI 应用,就知道大体怎么做了。
这样我觉得就算入门了。