cnuser002 最近的时间轴更新
cnuser002

cnuser002

V2EX 第 459061 号会员,加入于 2019-12-13 14:58:57 +08:00
cnuser002 最近回复了
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 ,它就不能改,后来直接换成华硕的,就直接可以改防火墙,就非常简单了。
187 天前
回复了 NoKey 创建的主题 程序员 没有 https 的情况下, jwt 是不是也不安全?
是的。

像 Oath ,jwt 这些认证手段,他们的主要作用是在 Web 应用中保持你的登录状态,不至于让你每次操作都要输入用户名和密码。

而 HTTPS ,它属于信道加密,防止你跟 web 应用的通信内容被监听、篡改,学名叫中间人攻击。像你用的抓包就是一种中间人攻击。HTTP 因为用的是明文传输,无法避免这个行为。而 HTTPS 结合了非对称加密+对称加密+CA 作保,确保你访问受信任的网站时,通信内容别人看不懂。
桌面程序开发,我觉得最好的入门方式,还是先直接写一个简简单单的小程序,把正式开发时,会接触到的各个地方,先打个照面。就像玩游戏,首先一点点把地图探开,建立传送点。以后跑图做任务就方便了。

比如最开始,放上一个按钮,放上一个 label ,实现点一下 label 显示的数字+1 。这个程序做完,知道控件怎么放进窗口里,变量保存在哪里,如何引用和修改,点击事件如何绑定到控件上。

接着,不用按钮,程序里面跑一个死循环,让这个 label 自己+1 。你会知道在哪里执行这种任务,又如何与 UI 那边交互。

这一步走通了,你就可以再进一步,刚刚是个死循环,现在我换成发送一个 HTTP 请求,收到报文,内容显示到 label 里。涉及到库文件的安装和引用,网络通信,Json 解析等内容。

这部分走通后,开发一个像网页那样获取内容的 GUI 应用,就知道大体怎么做了。

这样我觉得就算入门了。
219 天前
回复了 junchenghe 创建的主题 程序员 音频文件生成乐谱的工具有吗?
@murmur 谢谢,很感兴趣,我去试试
你现在直接用 Vue 开新坑,基本都是单页应用。

但 VUE 把自己叫做渐进式 Javascript , 它也可以在直接在 HTML 的 Script 中声明一个 Vue 实例,然后挂载到页面上的某个元素。

中途加入 Vue 的项目一般就会用这种方式。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2756 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 15ms · UTC 03:01 · PVG 11:01 · LAX 20:01 · JFK 23:01
Developed with CodeLauncher
♥ Do have faith in what you're doing.