我在微软8个月所学到的

转之 伯乐在线

两年前,我开始了我在微软Azure云计算平台的实习生涯,并在大学毕业后,在同一个团队中继续工作了8个月,一直到最近。

我决定把我过去8个月中的所见所闻总结一下。也许这听起来毫无意义,但事实并非如此。其实任何人在任何一家大企业中都会发现类似的问题,而这些问题中的大多数,并非只针对于微软。每个公司都有自己的问题。我写这篇文章,并不是因为不高兴,或者要抱怨什么,它们仅仅是我在大学中并没有意识到的(类似与理想与现实的差距这样的)问题:

企业期盼无纸化办公Expect no documentation in corporations 
我发现很多知识是通过沟通和手把手实践去传播的。有一部分知识仅仅依赖于电子邮件,而且它们根本不会永久的存储在某些地方。这跟数字世界中的信息流动概念完全是背道而驰的。设想一下,有一部分人,一旦他们某天突然出了意外(撞车之类的),没人能继续他们的工作。好吧,如果这是我自己的公司,一定会有成百上千的WIKI文档,以便让人查阅。

你做了什么无关紧要,关键是你卖了什么
你可以花好多天来让你的代码更易读更强健,或者帮助别人修改错误。但这些只要没有商业价值并且你不能发布它们,实际上你所做的就变得毫无意义。没人会感激你对于他们核心程序的代码风格和结构问题的优化,实际上他们还有可能会产生抵触。这是我在学生时代没有意识到的。

并不是所有人都充满了热情
你并不会一直和那些想要创造出优秀产品(软件)的人共事。大多数时候,人们有很多其它事情要处理,比如家庭和小孩。对大多数人来说,写更好的代码并不是首要任务。好吧,我忍了。我学会了不要期盼任何人都充满了热情。

每天能有两三个小时用于编程就很不错了
在这份工作之前,对于我的个人项目,我一天可以花8至10小时的时间去写代码。然而在现在的环境下,对我来说,哪怕2两小时的纯粹编程时间也变得不太可能。大多数时候,我用来弄清楚没有注解/文档的代码是如何工作的,调试各种奇怪的bug,或者参加例会。很明显,每个人都是这样,并且有时候,一连几天都可能没有一个单一任务会推送给代码控制中心。好吧,我又忍了。

只索取不奉献,这是常态
在微软中,我没有遇到过任何一个博主(Blogger)或者是开源者会花一部分时间去回馈社区。每个人都是那么的喜欢从Stack Overflow上找寻答案,却没人愿意回答问题。好吧,我理解。

外面的世界怎样,没什么人会关心
我敢打赌你每天所读到的最新技术和工具往往出自于博客、Reddit或Hacker News。但是这种情况在微软并不普遍。我惊讶地发现在微软Azure中,我遇到的任何人都没听说过他们的直接竞争对手,比如Heroku 或者是Rackspace(同样两个云计算平台)。好吧,这也能接受,毕竟不是每个人都需要知道这些

在公司中,只看结果
如果你老板让你弄出一个按钮来实现某些功能,没人会在乎你究竟后边的逻辑做的有多让人恶心。只要功能实现了,就Okay了,至于其它的,如果有必要,以后总会修复的(这一点,我之前也没见过)。大学期间,我所学得是代码质量是最终产品中非常重要的组成部分。现在看来,不是那么回事。

复制粘贴很Okay
跳出公司范围,如果有人看见你在复制粘贴代码,也许你会被迎面的一拳打蒙。但在公司内部,我见多了这种存在于项目之间的复制粘贴行为。只要达到目的了,没人会管你是否弄出了一堆难以维护的代码。

可以跳过code review,敏捷开发嘛
作为我们团队的一个传统,如果你觉得某人写的代码太恶心了,可以要求他做code review,不然这种工作通常根本就没人做。而且,即使你要求他们做code review,你也得等好久,甚至在无数的PING他之后,他才可能回复你。

最新的软件?怎么可能
并不是这儿的每个人都喜欢最新版本的软件。我的同事中,有几乎90%的人用老版的Office,Windows,Visual Studio和.NET 框架。他们普遍认为,新版的软件会打断现有的工作流程。这也许也是为什么一些企业仍然使用Java 1.3-1.5 。所以,我学会了在这种环境下,不要期盼使用最新的软件。

你的特长显得不那么重要了
每年有上千刚出校门的人被雇佣,并且通常都是被随机分配到某个team(一年半你都不能换team的)。那么,你是不是擅长MongoDB,是不是能写iOS 应用,是否能成一名Apache Committer,是否能建立自己的网络库,是不是能设计UI,甚至是否能成功引导自创业,都显得无关紧要了。你被雇佣去做那些需要做的事。这并不是我想要的。在企业内部,你很难找到一个和你爱好匹配的职位。

最后,你实际上是在为你的上司,和你上司的上司的薪水工作,仅此而已。这也是我在大学期间没有认识到的。

(这篇文章上了Hacker News 和 /r/programming.的首页。在这里我很感谢大家的评论和支持。有超过1000条评论出现在了HN,Reddit 还有这里,我没能全部阅读,如果没有读到,希望你能谅解)

 

伯乐在线补充:原文有 200+ 评论中,其中被赞最高的评论来自一位匿名:“我觉得你现在应该去一家没有文中那些事的小公司,那里的人大部分都关注新东西、酷东西。”

另外,微软 Azure 团队员工 Scott Hanselman 也在评论中和本文作者有讨论。

 

英文原文:Ahmet Alp Balkan,翻译:感谢Deacon MENG(@1988年的那个秋天 )的热心翻译

译文链接:http://blog.jobbole.com/41427/

<think>首先,用户的问题是:"我想解决Vue2项目中Networkunavailable的问题请问Vue2Networkunavailable解决方案"。这是一个关于Vue.js开发中常见的问题,其中在运行项目时,Network显示为unavailable,意味着无法通过本地网络访问项目。从系统级指令,我需要:-所有行内数学表达式用$...$格式(但在这个问题中,可能不涉及数学,所以可能不需要)。-独立公式用$$...$$(同样,可能不适用)。-LaTeX语法正确。-使用中文回答。-生成相关问题。-在回答中引用的段落末尾添加引用标识,如[^1]。用户可见层的要求:-回答结构清晰,逐步解决问题。-保证回答真实可靠。参考的站内引用提供了几个解决方案:-引用[1]:提到了三种情况:多个网卡、配置host和public、系统环境变量问题。给出了在vue.config.js中配置devServer的方法。-引用[2]:类似,强调配置public字段和检查IP地址。-引用[3]:专注于系统环境变量,添加C:\Windows\System32\Wbem到Path。-引用[4]:再次提到在devServer中添加public。-引用[5]:建议在devServer中配置public和disableHostCheck。关键点总结:1.**多个网卡问题**:禁用多余的网络适配器。2.**配置host和public**:在vue.config.js文件中设置devServer的host和public。3.**系统环境变量问题**:添加C:\Windows\System32\Wbem到Path环境变量。我的回答应该结构清晰:-先解释问题:为什么Network显示unavailable?-然后分步给出解决方案。-确保解决方案可靠,基于引用。结构建议:1.**引言**:简述问题。2.**常见原因**:列出可能导致问题的原因。3.**解决方案**:分步骤详细说明。4.**验证**:如何确认问题解决。5.**相关问题**:生成几个相关问题。生成相关问题:-基于主题,例如:1.如何查找本机IP地址?2.Vue2项目中devServer的其他配置选项?3.如果环境变量修改无效,还有什么其他方法?确保使用中文回答。最终回答框架:-**问题描述**:Vue2项目运行npmrunserve后,Network显示unavailable,无法通过IP访问。-**原因分析**:通常由于网络配置、VuedevServer设置或系统环境问题。-**解决方案**:a.**检查网络适配器**:禁用多余网卡。b.**配置vue.config.js**:设置devServer的host和public。c.**修改环境变量**:添加Wbem路径到Path。-**步骤详解**:每一步给出具体操作。-**相关问题**:在末尾添加。引用标识:在引用内容后添加[^1],[^2]等,但引用是来自用户提供的,所以我应该引用那些内容。</think>### Vue2项目中Network: unavailable解决方案 在Vue2项目中运行`npm run serve`后出现**Network: unavailable**问题,表示项目无法通过本地网络IP访问(只能通过`localhost`访问)。这通常由网络配置冲突、Vue开发服务器设置不当或系统环境变量问题引起。以下是基于可靠实践的分步解决方案(参考社区常见修复方法[^1][^2][^3][^4][^5])。 --- ### 原因分析 - **多个网络适配器冲突**:电脑有多个网卡(如Wi-Fi、以太网、虚拟机网卡),导致Vue无法正确绑定IP[^1][^2]。 - **devServer配置缺失**:Vue的`devServer`未指定`public`字段或IP地址错误[^1][^4][^5]。 - **系统环境变量异常**:缺少`C:\Windows\System32\Wbem`路径,影响网络管理功能[^1][^3][^5]。 ### 分步解决方案 按照以下步骤操作,问题通常可解决(优先尝试方法1,若无效再逐步排查)。 #### 方法1: 配置Vue项目的devServer(推荐) 此方法直接修改Vue开发服务器设置,确保绑定正确IP。 1. **查找本机IP地址**: - 方法A:按`Win+R`,输入`cmd`打开命令提示符,执行`ipconfig`,找到`IPv4地址`(如`192.168.1.2`)[^2][^4]。 - 方法B:在“控制面板 > 网络和共享中心 > 网络连接”中查看活动网络的IPv4地址[^2]。 2. **修改vue.config.js文件**: -Vue项目根目录下创建或编辑`vue.config.js`文件。 - 添加以下配置(替换`public`值为你的IP和端口): ```javascript module.exports = { devServer: { host: '0.0.0.0', // 允许所有主机访问 public: '192.168.1.2:8080', // 改为你的IP和端口(如192.168.1.2:8080) port: '8080', // 端口号 https: false, // 禁用HTTPS disableHostCheck: true, // 关闭主机检查 open: false // 不自动打开浏览器 } }; ``` - **注意**:`public`字段必须与`ipconfig`显示的IP一致;如果网络切换(如从Wi-Fi换到热点),需更新IP[^2][^4][^5]。 3. **重启项目**: - 在VSCode终端运行: ```bash npm run serve ``` - 检查终端输出,Network应显示可用IP(如`http://192.168.1.2:8080`)。 #### 方法2: 禁用多余网络适配器 如果多个网卡导致冲突,精简网络配置。 1. 打开“控制面板 > 网络和共享中心 > 更改适配器设置”。 2. 禁用所有未使用的网络连接(如虚拟机网卡、蓝牙网络),只保留当前活动的连接(如Wi-Fi)[^1][^2]。 3. 重启VSCode并重新运行`npm run serve`。 #### 方法3: 修复系统环境变量 若上述无效,可能是系统Path变量缺失关键路径。 1. 打开环境变量设置: - `Win+R`输入`sysdm.cpl` → 高级 → 环境变量。 - 或在“设置 > 系统 > 高级系统设置”中找到[^3]。 2. 编辑系统变量: - 在“系统变量”列表中选择`Path` → 点击“编辑”。 - 添加新条目:`C:\Windows\System32\Wbem`(确保无拼写错误)[^1][^3][^5]。 3. 保存并重启: - 保存所有更改,重启电脑(或至少重启VSCode)。 - 重新运行项目,查看Network状态。 --- ### 验证问题解决 - **成功标志**:终端运行`npm run serve`后,Network显示类似`Network: http://192.168.1.2:8080`。 - **测试访问**:在同一局域网的手机或其他电脑,浏览器输入`http://<你的IP>:8080`,应能访问项目- **常见失败原因**: - IP地址错误:确保`public`字段IP与`ipconfig`一致[^4]。 - 防火墙阻拦:临时禁用防火墙测试。 - Vue版本问题:Vue CLI需更新至最新(运行`npm update -g @vue/cli`)。 > **注意**:这些方法基于Vue社区常见实践,成功率较高。如果问题持续,建议检查项目依赖(`npm install`)或操作系统更新[^1][^3][^5]。 --- ### 相关问题 1. **如何查找本机的准确IP地址?** 2. **Vue2的devServer还有哪些常用配置选项?** 3. **如果环境变量修复无效,还有什么其他解决方案?** 4. **Network: unavailable问题是否在Vue3中也存在?如何解决?** [^1]: 多个网卡原因或环境变量问题可能导致此错误,需禁用多余网络或添加Wbem路径到Path变量。 [^2]: 配置devServer的public字段是关键,IP地址需通过ipconfig或网络中心获取。 [^3]: 系统环境变量中添加C:\Windows\System32\Wbem可修复网络管理功能缺失。 [^4]: public字段必须与当前网络IP一致,切换网络后需更新。 [^5]: 在devServer中设置disableHostCheck: true有助于绕过主机检查。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值