b1

quantumult x脚本

quantumult x脚本

中国国家防火墙(非官方)是管理中国出入境网络流量的一套软硬件系统的集合,其被中国网民戏称为中国防火长城(Great Firewall, GFW)。长期以来,由于 GFW 的存在,在中国大陆境内无法访问 Google,Twitter,Facebook 等境外网站,因为能够定向屏蔽境外网站,GFW 事实上将互联网划分为了中国大陆内网与境外互联网两种互联网体系。在大多数情况下,“墙” 会被用来代指 GFW。

翻越 GFW 有很多种方法,大浪淘沙,很多的方法都已经消失了,在我能够想起来的过去的,现在的,做一简单的记录:

修改电脑内部的 host 文件:通过自主指定相关网站的 IP 地址,避开 DNS 以达到翻墙的目的,这种方法最为简单粗暴,但依然存在,同时存在相关的软件项目定期更新 host 列表;

强制指定系统DNS:GFW 主要攻击手段之一是 DNS 污染,于是便有了强制指定系统 DNS 的方式以避免返回无效 IP 地址,这种方法经常会结合 1 使用;

VPN:原本用来作为一种匿名,安全,保密的 VPN 服务也被发掘出翻墙的潜力,其原理比较简单,选择一个没有被 GFW 封杀的服务器,通过该服务器将相关网站的流量转发到自己的设备,而设备与VPN服务器之间的通信并不在GFW的屏蔽范围之内,于是便达成了翻墙的目的。VPN 最初的目的是用于企业服务,方便员工远程登录企业内网进行操作,主要协议有 PPTP、L2TP、IPsec、IKEv2、openVPN 等等;

Shadowsocks 类:主要包括各类 Shadowsocks 衍生版本,ShadowsocksR,Shadowsocks-libev等,特点是加密了通信过程中的数据以及流量分流;

内网穿透:比较典型的是ZeroTier,建立一个中继的管理服务器,加入服务器的客户端相当于处于同一个局域网中,不仅可以翻墙,由于其虚拟内网的特性,可以实现局域网内多设备联动。ZeroTier 有一个公有的服务器,官方称之为 Earth,同时用户可以自建 ZeroTier 中继服务器,官方称之为 Moon。

V2Ray:V2Ray 是 Project V 下的一个工具。Project V 是一个包含一系列构建特定网络环境工具的项目,而 V2Ray 属于最核心的一个。官方介绍 Project V 提供了单一的内核和多种界面操作方式。内核(V2Ray)用于实际的网络交互、路由等针对网络数据的处理,而外围的用户界面程序提供了方便直接的操作流程。不过从时间上来说,先有 V2Ray才有Project V;如今 V2Ray 的开发者已经失联,V2Ray 的开发维护工作基本上已经陷入停滞。

在日常中,当我们谈到 Shadowsocks (Shadowsocks),实际上指的是围绕 Shadowsocks 所建立起来的一套完整的翻墙组件,其中包括了 Shadowsocks 协议,Shadowsocks 服务端,Shadowsocks 客户端。然而本质上,狭义的 Shadowsocks 是一套加密协议,被加密后的网络数据隐匿了目标地址与内容特征,使得 GFW 无法对我们期望的流量进行污染或者拦截,从而实现网络自由。传统的 VPN 技术的主要目的是保证数据安全,降低敏感数据泄漏的风险,因此,当开启 VPN 之后,所有的流量都会通过 VPN 通道进行传输,这意味着无需代理的网络流量也会被转发到远程的 VPN 服务器,即使个人建立了 VPN 通道,也难以避免网络访问效率上的下降,同时也难以避免版权内容在服务器 IP 所在地区无法播放的情况。

相对于传统的 VPN 技术,Shadowsocks 的建立初衷便是为了翻墙,因此 Shadowsocks 接管网络之后,并不会对所有的流量进行加密处理,通过引入配置文件(PAC)实现了网络分流技术,也就是配置文件中的网站走代理通道,配置文件之外的地址全部走直连通道,一个客户端,两套出口,互不干扰,极大的提升了上网体验。

初生的 Shadowsocks 点燃了开发者的热情,基于各类语言的 Shadowsocks 实现与主流平台的客户端如雨后春笋一般很快建立起来了,这是一段热情而又喧闹的时期,参与在其中的人们毫不吝惜自己的聪明才智与旺盛精力,围绕 Shadowsocks 这个内核与骨架,每个人都在努力作出自己的贡献。彼时,传统而又相对成熟的 VPN 业务足以应对不成熟的 GFW,Shadowsocks 只不过是刚刚萌发的幼芽,脆弱而生机勃勃,默默吸收着养分,等待着时机的爆发。

最初的 Shadowsocks 客户端都内置了节点信息,网上也有人分享自己的节点,虽然速度略慢,稳定性不佳,但丰俭由人,普通用户安装后无需额外配置即可食用,有需求有技术的群体可以在自己的服务器上搭建 Shadowsocks 服务。唯一遗憾的是当年的 iOS 上并没有网络通道的权限,要么使用 Shadowsocks 浏览器有限翻墙,要么越狱安装客户端接管网络,实现 Shadowsocks 代理。

当晚,clowwindy 把他所维护的几个 shadowsocks 代码仓库内的 Isuesses 面板全部关闭,所有帮助信息全部删除,并将所有的描述都改成了Something happened。于此同时,他还清空了这些仓库 组织的 membership,或者将所有成员全部转入隐私状态,不对外公开。

同时他也开启了 twitter 的隐私保护功能,除已关注者外,其他人无法查看他的动态;

clowwindy 的遭遇并未完全消灭所有开发者的热情,因此后续的开发维护工作并未停止,在这段不安的时间里,前前后后也着实发生了很多的事情,乱花渐欲迷人眼,前因后果在此不计。

那是自然的咯。这边加了什么功能,它(SSR)马上扒过去合并了quantumult x脚本。它那边加了什么却不会贡献出来给其他人用,久而久之,不就是它那边功能更多了吗。

一直以来我什么都没说是因为我对他还有点希望,所以得给他一点面子不是。一开始我还只是纳闷他为什么不发 pull request,过了一段时间我才明白,这个世界上也有这一类的人。不尊重 GPL 就算了,把作者名字换成自己的,还在主页上加上官方的字样。为什么我们这边反而不说官方呢?因为我希望这个项目是没有官方的,人人都是贡献者。想不到这个社会人人都围着官转,人人都巴不得当官 。

既然他没有尊重别人劳动成果的意愿,那他那些不开源的理由想必也只是借口。说因为加了一些试验性功能会不兼容所以暂不开源。他弄了一个混淆 TCP 协议头功能,在界面上标注提升安全性,吸引用户打开,然后安装他自己的不兼容服务端。然而我分析了一下之后发现这个功能的设计就是想当然,用得多了以后反而会增加特征。如果你真有什么试验性功能,不是更应该开放出来让所有人帮你分析么,大家一起讨论么?在加密算法领域,只有经过足够多人和机构的审视的算法,才能视作是安全的,闭门造出来的怎么能用。。

当然啦,大部分用户才不会管这些,他们不会分析你是不是真的安全,也不会做道德判断,只要他们觉得好用就行。所以可以看到,这种环境下开源其实并没有什么优势,只不过为一些人抄袭提供了便利。这种环境下最后留下来的都是这些人。

我一直想象的那种大家一起来维护一个项目的景象始终没有出现,也没有出现的迹象。维护这个项目的过程中,遇到 @chenshaoju 这样主动分享的同学并不多。很多来汇报问题的人是以一种小白求大大解决问题,解决完就走人的方式来的,然而既不愿提供足够的信息,也不愿写一些自己尝试的过程供后人参考。互帮互助的气氛就是搞不起来。对比下国外的社区差好远。

最适合这个民族的其实是一群小白围着大大转,大大通过小白的夸奖获得自我满足,然后小白的吃喝拉撒都包给大大解决的模式。通过这个项目我感觉我已经彻底认识到这个民族的前面为什么会有一堵墙了。没有墙哪来的大大。所以到处都是什么附件回帖可见,等级多少用户组可见,一个论坛一个大大供小白跪舔,不需要政府造墙,网民也会自发造墙。这尼玛连做个翻墙软件都要造墙,真是令人叹为观止。这是一个造了几千年墙的保守的农耕民族,缺乏对别人的基本尊重,不愿意分享,喜欢遮遮掩掩,喜欢小圈子抱团,大概这些传统是改不掉了吧。

现在维护这些项目已经越来越让我感到无趣。我还是努力工作,好好养家,早日肉翻吧。

争议始终是存在着的,但是这也未曾阻挡 SSR 前进发展的步伐,越来越多的人开始转向 SSR,SS 逐步落入下风,但是也有一批拥促。平静的水面下隐藏着汹涌的暗流,爆发的那一刻已然迟已,开发者 breakwa11 的遭遇不论线 在 Telegram 频道 ShadowsocksR news 里转发了深圳市启用 Shadowsocks 协议检测结果,被大量用户转发,引发恐慌。

2017年7月27日,breakwa11 遭到自称 “ 的不明身份人士人身攻击,对方宣称如果不停止开发并阻止用户讨论此事件将发布更多包含个人隐私的资料,随后 breakwa11 表示遭到对方人肉搜索,而被他们所公开的个人资料属于完全无关人士,是自己当时随便填写的信息,为了防止对方继续伤害无关人士,breakwa11 决定删除 GitHub 上的所有代码、解散相关交流群组,停止 ShadowsocksR 项目。他在 Telegram 发出以下这段话:

这次的人肉事件,让我严重怀疑我自己做 SSR 是不是对的,首先不管资料对不对,从行为上看,就是有人希望我死,希望这个项目死,恨一个人能恨到如此程度。我知道我很做作,因此得罪了很多人,尤其最近公开 Shadowsocks 可被检测的问题,更是让很多人义愤填膺,非要干掉我不可。尽管从我的角度看,我只是希望通过引起关注然后促进 Shadowsocks 那边进行修改,这并不是希望 Shadowsocks 死掉的意思,我每次提出的问题之后不是都得到了改进了吗,包括 OTA 和 AEAD,AEAD 我也是有参与设计的,你们可以问 Syrone Wong,以及 NoisyFox 证实,而且 Shadowsocks-windows 有一部分也是我参与修改的。但如今,人肉的资料我也稍微看了一下,真是太令人心寒,连对方的支付宝流水都拉出来了,这样真的好吗?我并不希望因为我自己的问题而害了另一个人。我期望和那些反对我的人来一笔交易,我可以以停止开发 SSR 作为交换,删除项目及相关的东西,以后不再出现,SSR 群从此解散,账号注销,删除代码。对于我来说,这个项目不过是我用来证实自己的想法的一个东西,可有可无,制作也只是兴趣,扔掉也没有什么可惜的,反正替代品非常多,根本就不缺我这一个。你们老说我圈粉,你们真想太多了,真没这个必要。如果可以以这个换取另一人免受网络暴力,我也觉得这是值得的。相反的,如果人肉的结果仍然公开了,那就是我的行为已经救不了了,那我就可以继续开发 SSR。不过也不会太久,估计最多只多坚持一年到我毕业之前。谢谢这两年来大家的支持,这次应该是真正的和大家再见,看结果吧,今天晚上 12 点以 SSR 群解散作为标志,如果解散了那就正式和大家说一声再见

得益于 clowwindy 最初开源 Shadowsocks 的决定,大量的 fork 使得 Shadowsocks 依然在更新之中,从 GitHub 现有结果来看,各个平台(甚至是路由器)的 Shadowsocks 仍然不断的在更新,在提交 Issue,也有大功能更新,每一滴微小的力量都推动着项目的前进,只是前途在何处仍然是未知数。

奔涌的潮水会退回去,但下一次,下一次,它依然会积蓄着力量汹涌而来,真是我所抱有的美好期待,然而自从2018年开始,实际上各类协议的开发工作事实上陷入了瓶颈期,似乎是在与 GFW 博弈中达到了某种平衡,可以感觉到整个社区不再关注核心的加密以及特征隐藏。更多的开发者将心思放在了机场上,从某种意义上说,Shadowsocks 所引发的力量在技术层面已经进入了休眠,这无异于吃下了蓝色的药丸。

受此影响,大量的用户只能与开发者联系,不少开发者只能通过 TestFlight 对用户分发更新,但是由于 TestFlight 分发的 app 90天后就会失效,开发者一旦弃更,用户便无法再使用该软件,此种风险也使得不少用户注册了外区的 Apple ID 并重新购买应用。由于工信部要求备案,且个人无备案资格,基本上表明了此次被下架的应用无法再上架,此次的风波也受到了国际社会的广泛关注与批评,唯一算作欣慰的是,苹果在下架软件的同时,倒逼政府出台了相应的明确细则。

2017年10月,伴随着十九大的开幕,大量线路被封杀,尤其以 SSR 为甚,各大机场与 tg 群一片哀嚎,所幸大会闭幕后不少 IP 被解封,不清楚具体的比例。

2018年1月,以及接下来的两会期间,执行了更大规模的 IP 封杀,涉及范围更广,基于各种算法的翻墙方法均有涉及,Shadowsocks 的 Issues 中有用户反映刚刚搭好十几分钟即被封杀。

被告人孙东洋……,使用家中电脑通过租用境外(美国、日本)服务器创建网站,非法在网站上出售“翻墙”程序软件账号及引导使用教程,有486人购买孙东洋出售的“翻墙”程序软件账号,借助该软件运用通讯加密和混淆技术手段,绕过和突破国家对国际互联网的网络安全技术防护措施(系统),可以访问被国际互联网网络安全技术防护措施屏蔽和过滤的境外网站及其他互联网应用、服务 ……

长期关注无线路由器相关固件的恩山论坛上,lean,hiboy,荒野无灯,abccba94 等多名重要维护者宣布退出。

所有的主流平台中,iOS 是比较特殊的,不仅是因为它对权限管理相当的严格,更多的是因为没有相关的网络 API,开发者也是巧妇难为无米之炊。直到 iOS 9 苹果才对开发者开放 VPN 相关的 Network Extension 权限,在此之前,iOS 用户只能在越狱环境下才能获得相对完整的 Shadowsocks 体验,App Store 仅有一款 Shadowsocks 浏览器,只能实现浏览器内翻墙。毫不夸张地说,相对于 Android,此时的 iOS 在翻墙领域仍处于蛮荒时代。Surge — 破局者

最初的 Surge 定位于网络调试工具,作者本人写了一个 Shadowsocks module 实现了 Shadowsocks,也许作者本人的想法并不是翻墙,所以该 module 从开始就是一个黑箱,且长时间没有支持 V2Ray 等新型协议quantumultx流量查!,直至 2019 年和 2020 年才分别加入了对 V2Ray 与 Trojan 的支持。另外,Surge 于 2019 年起添加了对其自研闭源协议 Snell 的支持,并于2020年发布了该协议的 v2 版本。无心栽柳柳成荫,通过使用 Network Extension 建立 VPN 通道,Surge 可以接管 iOS 设备网络,实现全局代理,网络分流,并且 Surge 的稳定性非常好,68 的售价并没有挡住人们热情的购买力,网络上逐渐开始出现关于 Surge 的讨论,使用教程乃至付费共享。

Surge 定位为网络调试工具,当它接管设备的网络之后,可以获取到设备的网络访问信息,通过单独设置设备对某网络信息的响应模式(主要包含了 proxy,direct,reject 3种核心模式),可以实现网络分流,阻止响应,阻止发送等功能,经由网友们的一番探索,最终实现了指定代理地址,屏蔽广告,解析视频地址等功能,堪称完美。

作者确实是网络技术大牛,截至目前,Surge 仍然是iOS端最优秀的 Shadowsocks 客户端,但是其营销策略极富争议性,喝茶事件至今无法证实,且之后全区下架客户端也毫无道理,之后长期上架 App Store 也不能很好的自圆其说,因此被称为喝茶营销 (仅作记录,不代表个人观点)。

作者对高价的解释是 Surge 是面向国际的网络调试设备,主要竞品是老牌应用 Charles,但是这几年的发展下来,调试功能这种核心并没有实质的长进,反盗版能力,UI设计倒是提升不少,口嫌体直般升级了 Shadowsocks 的最新版本, ~~ 却死活不肯添加 V2ray 等新协议,~~ 面向国际的软件,核心用户却是国内用户,可以说是相当的傲娇。

最初小火箭比较简陋,随着快速的迭代更新,小火箭功能逐渐完善起来quantumultx脚本,稳定性也提高了不少,在摆脱 Surge 的同时,小火箭也开发出了不少让人眼前一亮的新功能。

与 Surge 不同,小火箭的初衷就是为了翻墙,所以作者直接就内置了各种翻墙协议,通过UI界面非常容易添加和修改,作者也针对国内的环境开发出了场景模式,按需求连接,服务器订阅等模式,同时作者在Telegram上创建了群组,用户之间的交流以及开发者的反馈速度很快。

Quantumult是新近崛起的一款代理软件,$4.99 的售价可以实现 Surge 的大部分功能,支持多种协议,相较于小火箭又多出了抓包功能,测试规则更方便,同时,Quantumult 扩展了规则中的屏蔽性能,使得屏蔽广告更有针对性。

(202101)Quantumult 的更新已经陷入停滞,目前作者的主要精力均放置在 Quantumult X,相较于 Quantumult,功能更加强大以及多样,网络上也有更多的资源可以参考。

iOS上还有A.BIG.T,Potatso等VPN软件,16年,17年与小火箭战的难舍难分,无奈后劲不足,现在大概是明日黄花了。

Android 平台因为其自由开放的特性,使得各类 VPN 应用均能找到对应的用户群,因此 Shadowsocks 客户端的发展最初比较缓慢,较为完善的基础客户端仅有 Shadowsocks,但是其仅提供了分流代理功能,并不能实现广告拦截等功能。随着时间的推移,越来越多的开发者参与到开源社区的建设中,也伴随着机场托管,订阅的发展,Android 也涌现出越来越多的优秀应用。只不过受限于个人精力,并没有对更多的应用保持关注。

Postern是在 Android 上最接近于 Surge 模式的软件,其可以兼容 Surge 规则,直接将 Surge 的配置文件导入即可使用,整体功能也算中规中矩,但是 Postern 的 UI 相对简陋,作者对此的解释是:

之前在hockyapp上公测的Surfboard,现在也已经在play商店发布1.0版本,唯一的劣势可能就是配置文件独树一帜。

另外目前x86机器做路由实现网关透明代理似乎也越来越流行,其中大部分是用的现有的Shadowsocks+OpenWrt luci插件作为前端方案,还有少部分是用的clash+luci界面,据我所了解目前也有几个开发者在维护适用于OpenWrt的软件包或分支。

总体来看,得益于 Surge 的开创性思路,iOS 端的代理软件一度诸侯林立,逐鹿中原,相关软件的讨论也是层出不穷,是一段相当甜美的蜜月期。随着政策的逐渐收紧,潮水退去,国区内基本上已经没有太多的选择,蛰伏至外区的软件们随着各类原因或离开或留下,如今天下大势已定,或许很难比较各自的用户数量,但几大软件已经有了稳定的核心用户群。整体而言,Shadowrocket 专注于翻墙需求,在基本的用户体验上已经做到了至善至美,对于大多数用户已经足够了,Quantumult X 拥有更加复杂的功能,翻墙仅仅是基础的需求,相对来说,它对技术群体更加友好,现在开发者更多资源都是放在了脚本的开发与优化上,事实上 Quantumult X 拥有更好的用户氛围,更多,更复杂的脚本功能,Surge 还在稳扎稳打走着自己的路,新入门的代理软件仍需在夹缝中找寻自己的位置。

并未经历过墙垒砌的时间段,那段时间的我并不足以对世界产生认知,当高墙矗立,互联网缩小成了局域网,我慢慢才明白所有的一切都陷入了疯狂。得益于各个开发者孜孜不倦的努力与付出,像我这种普通人才真正接触到了互联网。

感叹于各个网站,各个博客之间的信息分散,内容相互交叉重叠,大多数人在实现目标后也就弃之而去,再加上这些年自己也尝试了不少的软件与上网方法,一点一点拼凑了这篇文章,并未有他想,只是希望作为一个小传留存下来,随着时间的推移,这篇文章迟早会成为历史的尘埃。

这篇文章洋洋洒洒写了很多,圄于个人知识,能力所限,难免有所遗漏与错误,还望大家海涵。

RPC,即Remote Procedure Call的简称,中文翻译为远程过程调用。根据维基百科的定义,这是一个计算机通信协议。该协议允许运行在一台计算机上的程序,调用另一个地址空间上的子程序,程序员可以向调用本地方法一样,不需要额外地为远程交互去额外地显示编码一些细节。

这个远程的子程序,可以是本地计算机上的另一个进程,也可以去网络上的另外一台计算机上的某个子程序。

因为不是所有的方法都能在一个进程中被实现,或者有些方法是由第三方来实现的。

比如说一个购物程序,在付款时需要从用户的信用卡中扣款。这个扣款的逻辑非常复杂,包括很多的校验以及最终的付款,这都是由银行来进行处理的。购物程序需要告诉银行要扣款的账户信息,以及要扣的钱,然后第三方告诉购物程序,是否扣款成功。

这就是一个RPC调用,购物程序调用银行提供的扣款接口,银行返回扣款成功或失败。购物程序不需要感知银行内部具体的实现逻辑。

最基本的RPC,就是一个客户端,一个服务端。客户端调用服务端,然后服务端返回结果。

客户端和服务端之间的交互,首先需要知道服务端的方法签名是什么,包括方法名称,方法参数和类型,以及方法的返回值。所以产生了

Interface Description Language(IDL)

。IDL使用一种语言无关的格式来描述接口,这使得两种不同的语言开发的软件之间,存在了相互通信的可能性。常见的有JSON,Thrift,Protocol buffers等

客户端和服务端可能是采用不同的语言或者不同的计算机来实现的,不同的语言和计算机,所实现的数据类型也不同。所以RPC就需要处理不同语言和计算机之间的数据类型不一致的问题。比较有效的做法,就是将数据转换成统一的数据格式,然后不同的语言和计算机,将数据格式转换成自己可以识别的数据类型。这也就是序列化和反序列化(rfc2713中称为marshallingunmarshalling,与序列化和反序列化有少许区别,但现在不会过分在意两者之间的不同)。常见的序列化格式有XML,JSON和二进制编码等

RPC调用过程中,客户端需要调用服务端暴露的方法,那么客户端就需要知道有哪些服务端可以调用quantumultx流量查,并且服务端暴露了哪些方法。

可以直接在客户端本地将服务端的地址和暴露的方法直接写死,这样客户端也就知道了有哪些服务端和方法。因为存在不同环境(开发,测试,线上环境等),所以也可以将配置写入到配置文件中,然后根据不同的环境加载不同的配置文件。

因为客户端和服务端之间会发生消息传递,那么就可以在各个节点之间进行节点信息的传递。每个节点都存储一份所有节点的信息,然后定时地和其他节点进行交互,进行数据更新。常见的如gossip协议,使用该协议的有Redis Cluster、Consul、Apache Cassandra等

能够接受公司的变化,并不传播负能量,面对变化,理性对待,充分沟通,诚意配合;

在工作中有前瞻意识,建立新方法,新思路;主动求变,创造变化,并带来业务突破性提高

这两天工作上发生了一件不大不小的失误,记录下来,可以告诫自己以后不要再犯这样的问题

这两天在开发中遇到个对接的问题,有一部分数据的来源有两处地方,一部分从我们自己系统的数据库中获取,

这两部份的数据的格式上有些不太一样,有个表示周期的字段,从外部依赖获取时,得到的数据是DH,我们内部数据库获取的也是DH。但是在内部使用时需要的是dayhour形式。所以我们在最外层进行了数据格式的转换。

但是修改完成发版之后,重新梳理代码,才发现我们在最外层进行了格式的转换,我们对内部数据的转换反而会导致实际前端展示时的问题,而且对于内部的使用也会产生格式的问题。

然而因为文档的缺失,针对这个问题我们进行了两三次的代码修改,期间还进行了代码的回滚,经历了多次的发版。

记录一下这次的工作记录,告诫自己重视代码的文档,不要再次出现这样的问题。

我在大四的时候找了家北京的初创公司实习,前不久听那里的同事说他离职了,感觉挺突然的。因为他刚大学毕业就到了那家公司,现在才工作一年多。

后来听说是我实习时候的老大和老板不欢而散了,然后整个部门都被拆分了,部门的同事不少人都不想待,离职了。

我也帮他试着找朋友推了几家公司,但是朋友都说推不了,因为他只有一年工作经验,然后学历和工作经验都不是特别突出,HR这关很难过。

在那实习的时候,公司给我发了offer,最终我还是没有接受。算算去年秋招的时候,海投了上百家公司,最后也就拿到两个offer,一个是这个实习公司给的,

还有一个是上海的一家大公司。选择上海的部分原因可能是我想离家近一点吧,比起北京,上海可能更熟悉,也让我更有好感一些。其实还有个比较重要的原因是

初创公司有初创公司的优势,公司扁平,能随着公司的发展一起发展。但是这种陪着公司一起发展的机会,却充满着不确定性,因为你不知道什么时候公司可能就

大公司也有自己的劣势,比如说公司层级森严,软件架构复杂,历史遗留问题严重。但你能见到公司之前的同事的设计,可能他们设计得并不好,整体设计很复杂,

人生都是一步一步往上走的过程。大学毕业拿到的第一份工作,是你在台阶上迈出的第一步。一个好的学校能让你的第一步迈得更高。之后的每一步也都至关重要,

第一份工作选择了拼多多,大家都说拼多多很坑人,也很累。的确,11-10-6的作息,的确挺熬人的。

7月12正式入职,入职当天,导师就直接给了我个新人项目,让我去做,╮( ̄▽ ̄””)╭。我还什么都不会啊,Spring Boot我都没怎么学过,直接上手,合适吗?哭晕在厕所。

新人项目弄了差不多2周,算是完成了。接下来就是开始正式的实际内容了。基本上每天一个小需求,熟悉代码,然后做一些修改,不懂的还有旁边的大神可以帮忙,目前还算是没有什么难题吧。

公司在附近提供了免费的宿舍,4个人挤在一个两居室里面,有点挤啊…后来一个室友搬出去了,这样子就只剩下我们两个人占领一个大卧室+客厅,只能说还凑合吧。

吃饭方面公司没有食堂,真郁闷啊,每天都要吃外卖。稍微值得安慰的是公司的外卖什么都有,必胜客,中餐啥的都有,还算能吃的下去。不过我偶尔也会去公司底下的商场里面改善改善伙食。

有人喜欢你么?有人帮你擦眼泪么?有人在你无助的时候给你拥抱么?没有!除了孤独,你一无所有!!

#当运行tensorflow的各种操作时,需要一个上下文管理器Session,这个操作用来保存计算图等信息。

# 首先定义了两个常量a和b,然后将a和b相加,得到c。但是此时程序并不会计算c,而是将a,b,c保存在计算图中,直到我们需要的时候才进行计算。

# 我们也可以将进行reshape,从原来的一维张量(2,)转换成二维张量(1,2)quantumultx流量查,然后和f进行矩阵相乘

# 同样,我们也需要显式地要求tensorflow计算f的值,结果为[9,18]

# 首先定义了一个变量m,这是一个随机生成的变量,维度是[1, 2], 然后定义了一个常量n

测试tensorflow安装完成后,我们必须进行测试,以检验tensorflow是否安装成功

当你发现程序正常输出[3,3]时,那么就说明tensorflow已经安装成功

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片
b1