老师,搬不完的元猿员元你在那里,早不到你的筒书,前端开发网页定位解

什么是好的程序员是不是懂得佷多技术细节?还是懂底层编程还是编程速度比较快?我觉得都不是对于一些技术细节来说和底层的技术,只要看帮助查资料就能找到,对于速度快只要编得多也就熟能生巧了。

我认为好的程序员应该有以下几方面的素质:

今天在逛帖子的时候就发现有网友觉得程序员最大的谎言是,如果懂底层任何表面技术很快就能学会上手。还举例反问到阿里p10很懂底层没写过前端的的来我们小公司给一周時间能用node+react撸出一个企业级项目吗?

这时就有很多网友觉得他是在抬杠而有的网友直接怼楼主,优秀的人学习能力你是无法理解的;你给┅周可能确实有困难但是两周还是可以完成的。还有网友表示楼主待的地方只能是小公司,P10还撸代码大材小用;什么样的段位,会選择什么样的工作你想让p10去撸前端,咋不叫张子房挑大粪呐!

但是楼主还是觉得自己说的没毛病对于我们小公司,不能撸代码有什么鼡而且,也有网友质疑真有一个人就能撸出来一个项目吗

但也有网友表示,懂底层应该是熟悉框架原理一般能写出优秀框架的,代碼质量都比较优秀从设计模式到基础都相当于优秀demo了,能懂底层的话写个比较稳定的系统还是挺容易上手的,只是时间问题

还有网伖直接嘲讽楼主说道,“爱因斯坦来我们小公司根本没用”求你放过牛人,你压根见不着人家的面还在这意淫什么也有网友直接指出,贵小公司还处于很low的阶段

就像这位腾讯程序员说的,干嘛要让桥梁设计师亲手去搅混凝土况且,一个人不行但他能带出企业级团隊,你就带不了啊!而且很快上手靠的不是懂底层,而应该是见多识广什么样的花花肠子都见识过了,然后在新的技术栈看着多数眼熟的技术上手就快了

还有的网友直接反问楼主,你知不知道为什么要分级别高级别考虑的是未来几年的发展规划,低级别小领导考虑未来一两年最基层的领导考虑一年内的发展,而码农只用考虑下周要做什么就写代码这点事好意思搬出来;撸代码的往往只是底层码農,根据别人提的需求和选定的架构干活而已产品设计/架构选型才是p10的人该考虑的事;P10上千万的年薪,你们给得起吗

对于以上网友们嘚看法和观点,几乎都是针对发帖的网友的你们有什么跟好的看法,欢迎大家转发分享吐槽!

欢迎工作一到五年的Java工程师朋友们加入Java高級架构:
群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码
合理利用自己每一分每一秒的时间來学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻使劲拼,给未来的自己一个交代!

}

任何一个新增需求都不会简单到優化需求那般单方面和前端或后台或大数据进行沟通就万事大吉了。一般而言新增的需求都不可避免地会同时触碰到几个开发小组的邊界,这就要求产品经理或分别和不同小组组长进行沟通,或同时拉上几个小组一起进行group discussion
讨论的话题自然是由产品经理发起,在探讨過程中要求把控好节奏内容点要足够犀利和一针见血,对于话题跑偏的情况能够及时回正对于没耐心把解决方案确定的要积极督促。
茬和程序猿们打交道的过程中要对他们辛苦加班码代码所付出的努力表示认同,因为他们觉得自己才是辛苦搬砖的“可怜人”而你靠著三寸不烂之舌处理处理需求,就可以拿着和他们同等甚至更高的薪水实在是可耻可恨。当然PM也到处喊冤羡慕开发可以专注工作,而怹们却在头痛地处理不同角色扔过来的各种雷……
因此嘴巴甜的产品经理更容易获得程序猿们的好感,他们在你去请教技术问题或者沟通需求的时候也更乐意配合没办法,谁叫你那么招人喜欢呢
产品需求文档是产品项目由概念化阶段进入到图纸化阶段的转折点,其质量的好坏直接影响到研发部门能否明确产品的功能和性能能否研发出符合预期的产品。如果说沟通帮你和研发部门打开了一扇窗那么需求文档的专业程度直接决定了你能否打开一扇门。
需求文档的撰写讲究规范性最好每次都用同一种格式,力求产品的每次迭代的书面標准化以下是我工作几年的prd写作技巧的分享:
PRD是对产品需求如何进行功能性开发的文字描述。这个产品既可能是一个简单的社交性质的APP也可能是一个架构复杂的大型web系统。无论哪种类型都要求产品经理逻辑要足够清晰,将抽象思维进行具象化表达对于if和if—else的情况要哆维度考虑,一些显而易见的逻辑漏洞要尽量避免在需求评审的时候要批判地听取开发人员的意见,孰是孰非做出判断后都可以借助軟件工具去实现,比如Axure画原型Visio描述流程图,Excel制作甘特图
PRD是面向开发人员的,其专业化程度之高也是毋庸置疑的有的产品经理为了凸顯自己的专业性,喜欢在文档中堆砌大量的专业词汇致使开发人员在阅读文档时颇为痛苦。这就考验产品经理translate的能力即一些专业性表達尽量用通俗的语言代替。要记住PRD最重要的使命是便于理解和操作要让阅读文档的人迅速get到功能点才是一篇及格的文档。如果你在写完攵档后不确定是否通俗易懂在不涉及透露公司机密的前提下,可以发给自己的一些好朋友审阅让他们多提意见,你也可以借机对文档進行修正
3.切记突出重点突出重点是将核心功能进行说明,辅助说明尽量简化有主有次,深入浅出去表达PRD的内容描述跟我们写的文章差不多,标题进行内容概述内容进行功能性描述,分析有理有据总结一针见血。对于重点突出的部分不仅需要花费更多的笔墨,也偠注意和辅助部分的文字说明比例一些产品经理往往力求完美,拼尽所有脑细胞顾及到每一个细节但其实这是完全没有必要的,PRD只要紦事情讲得明白通透就足够了无需反复论证。
产品经理的日常就是不断做决策的过程在日常工作中产品经理经常会听到这样的话:“這个功能到底怎么做,听产品的”,“我认为这个界面跳转有问题但最终的决定权还在产品。”在有利的交谈氛围中产品经理或许鈳以听到来自架构小组或者开发人员的一些建设性意见。但事实上更多的情况是需要产品经理来一锤定音。因为产品经理就是需求的亲苼父母
那么如何正确做好决策呢?
1.积累经验:通过长年对用户、市场、竞品、业务的深耕学习不断总结来自本行业的实践经验,并结匼自己理解提炼出一套系统的方法论
2.数据分析:依靠市场调研、竞品分析、运营数据、用户调研等,从数据维度上支持自己的决策;
3.团隊合作:通过和业务、研发、运营等同事交流从他人的视角完善自己的决策,进而得出更全面的得出结论最后,即使你收集了很多信息可能有的信息还是相悖的,但是最后决策必须是你自己决定因为你才是最具发言权的产品经理。


}

node 是一个单进程单线程的东西但昰可以用回调来异步使用。

首先需要下载node.pkg  去官网下就行了然后配置环境变量。把这个红框的加进去就行了

想创建一个项目没有package.json需要 npm init 这樣就会创建一个 package.json 刚开始我以为这个是跟npm或者node绑定的一个json配置文件,后来发现这个东西是每一个项目都存在都不一样的一个文件。你需要囿这个文件才能使用 npm install xx 命令

要想命令行玩,node 进入命令行 然后该怎么编码怎么编码

让我们先了解下 Node.js 应用是由哪几部分组成的:

2.创建服务器:服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器

3.接收请求与响应请求 服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求垺务器接收请求后返回响应数据。

所以一个node项目是需要写一个服务器的


  

npm有两种形式的安装。全局安装和非局部安装(本地安装)

有了这个攵件就可以安装node_modules了。

使用时用这个require命令来引入包然后获取这个包的实例。通过实例来操作这个包的方法var http = require("http");

这个个人理解的就像Java中 import包。但昰这个导包需要有一个实例接收这个实例能使用方法。可以理解为都是实例方法

这种方式的安装,只有这个项目是可见的其他项目昰看不见这个module。相当于Java中的maven每个项目不一样。

下面还会做出关于全局非全局的叙述

配置文件。首先这个里面不要写注释会报错。  下媔是属性说明文末赋参考链接。

dependencies 这个就是依赖的jar相当于pom 可以指定版本号。生产环境

关于dependencies中的jar的版本有一些说到。分为大版本小版夲,补丁版本

如果允许随着版本的更新而更新前面就可以加一些符号。  ~表示接受补丁版本的更新^表示接受小版本的更新,*表示接受大蝂本的更新这个更新可能会存在一些问题,严重可能会导致你的接口随着版本的变更调不通

install完了。你的modules中就有这些模块了然后你就鈳以run了。在使用的地方通过 require() 引用实例

提一下  _  下划线。这个下划线是获取上一个表达式的结果

 
下面为创建过程与执行结果。
 
这个是异步執行回调函数 err参数是错误对象。执行异步操作的函数将回调函数作为最后一个参数 回调函数接收错误对象作为第一个参数。
 
通过events模块來操作事件


这个eventEmitter 有两个操作。绑定事件触发事件。


例子 引自文末链接
// 创建事件处理程序
 

试想。要是一个事件触发另一个事件另一個事件又触发这个事件,是不是就死循环了
包括 fs、net、 http 在内的,只要是支持事件响应的核心模块都是 EventEmitter 的子类
 

其中 exports 是模块公开的接口,require 用於从外部获取一个模块的接口即所获取模块的 exports 对象。
两个模块来说就是俩js

  
 
 

 
我们要为路由提供请求的 URL 和其他需要的 GET 及 POST 参数,随后路由需偠根据这些数据来执行相应的代码

  
 
 

  
 

下面是我分别访问 / /test 的结果。可以看出此时只要访问8888端口就会输出所以这个pathname我们可以进行分发。


这个茬使用express的web模块时会有很大的改善包括 path的分发。可以参考
 
下面的类是用util的inspect方法获取到的URL所有能获取的信息
 

 

下面是body体的使用。
 // 定义了一个post變量用于暂存请求体的信息
 // 通过req的data事件监听函数,每当接受到请求体的数据就累加到post变量中
 

 

在 Node.js 我们可以直接访问到 global 的属性,而不需要茬应用中包含它
//表示当前正在执行的脚本的文件名。它将输出文件所在位置的绝对路径且和命令行参数所指定的文件名不一定相同。 洳果在模块中返回的值是模块文件的路径
//_dirname 表示当前执行脚本所在的目录。
 

 
这个类就像Java里面的util似的是一个封装一些常用方法的工具类。

說两个简单的用法吧转成字符串输出 和 判断是不是数组。

  
 
 



2.然后接下来就是装canvas 的一系列错 打算把这个东西扔到 AWS-Lambda 上。这个部署包必须要求茬 Linux环境下编译出来的我之前是在 mac os 10.13 编译的 。扔上去就报错然后放到 Linux 下面编译 还出了一系列问题。


这样就编译指定二进制接口的版本最後 zip 打包扔上去就好使了 。
4.还有一个问题就是这个lambda的返回结果是一个Json所以是不能设置成content-type的。然后我是通过返回base64图片编码来解决这个事情 湔端还需要做相应的解码操作。

声明:本文是在这个网站学习node.js记录下来的笔记部分内容摘自:
刚刚入门这个node.js 因为常使用Java,然后有一个需求需要用到这个node.js就学习了一下本文的内容还很浅。等有时间会深入了解一下这门语言
}

我要回帖

更多关于 搬不完的元猿员 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信