3月份周度分享(一)

最近读了一篇挺有趣的文章,现在分享给大家:

 

提问的智慧:

http://www.dianbo.org/9238/stone/tiwendezhihui.htm

 

今天主要话题为以下三个:

一、针对提问的智慧,分享我的读后感;

二、本周学习笔记分享;

三、从无到有构建大型电商微服务架构资料分享;

四、谈谈Bmob后端云;

五、开源项目商业化

 

一、针对提问的智慧,分享我的读后感

 

提问的智慧

这篇文章主要的核心如下:

(1)提问之前

a.通读手册,试着自己找答案;

b.在FAQ里找答案(一份维护得好的FAQ可以包罗万象);

c.在网上搜索(通常建议是Google,但是国内不少人是不知道FQ的,同时也习惯使用百度,关于使用百度,个人建议关键字搜索找到相近的,最好快速预览,而不是没有读完就直接复制到自己的项目里面);

d.向你身边精于此道的朋友打听(记住最好是自己已经尝试如何去解决问题的前提下去问,否则个人觉得不利于自身能力的提升);

 

以我个人研究VsCode为例,特别是之前有段时间,感觉就犯了很多低级错误,比如没有好好通读一遍VsCode官方文档,其实后来实现一些功能和改进某些功能,官方文档上面都有,当然了,通读并不意味着一个字一个字的去读,还是需要快速预览,这个预览的话,要求稍微慢点,这个度,自行根据实际情况把握,如果是一点都不了解的话,还是慢慢读一遍,并将对应的例子一个一个跑起来(如果可以的话)。这样会更好。

 

以我们经理最近推出的一个方法论:

 

以我最近二次开发为例:

a.阅读官方文档(通常官方文档最权威也最完整);

b.感性认识(基本应用,哪怕写一个hello world也行,以我研究Settings-Sync插件为例,起初我研究它的时候,也是体验它的功能,比如上传和下载);

c.模块分析(按照项目结构、目录、文件名、方法);

通过关键字搜索我找到了对应的url和它的gist创建和更新等代码。

d.参照:主要遵循最小改动原则

Settings-Sync插件是使用github的rest api,我将其替换成我本地的node.js,在接口名和参数保持一致的情况下,并仿造其编写mock server,这样我就达到可以让其使用我们自己系统的账户产生的token实现上传和下载(不要小看Settings-Sync插件,该插件原理是通过用户的Github帐号,利用Github Gist的存储功能,在多台不同计算机上,同步用户的VSCode设置、主题、代码片段等)。

 

(2)怎样提问

a.谨慎选择论坛(主要针对在什么场合问什么问题,比如一般情况下在stackoverflow问问题,回答率是比较高的);

b.用辞贴切,语法正确,拼写无误(虽然打错字,但是大概意思还是能够读懂的,但是尽可能还是用辞准确,有助于对方充分理解你的意图);

c.使用含义丰富,描述准确的标题;

d.精确描述,信息量大(把握关键子,通常Java编码调试过程会报错,通常只需将关键错误信息复制到对应的搜索引擎上搜索就能找到答案而不是复制一大堆,或者在向他(她)人请教时,信息短且关键,有助于对方更好的反馈);

e.话不在多;

f.只说症状,不说猜想(这里的话,只说症状不说猜想,猜想是自己的假设,如果猜想是经过自己的测验过,可以说一下,这样也让对方感觉到你在问之前,自己也多次尝试过如何解决问题);

g.明白你想问什么(这句话最关键,最好在问之前,可以用一个txt写一下);

h.别问应该自己解决的问题(主要指常见问题,基本搜索引擎是可以找到的,就没有必要再问了);

i.去除无意义的疑问;

j.谦逊决没有害处,而且常帮大忙;

k.还是不懂(针对这个问题,还是不懂,我觉得只要用心的话不存在还是不懂,当然了,事情没有绝对的,我觉得这种可能性比较多,那就是当前还是不明白,但是突然在某个瞬间顿时明白了);

 

(3)三思而后问

主要体现的你有没有自己动手去做以及通过搜索引擎试着去找及其在动手尝试怎么解决以及使用搜索引擎去找的前提下,再去请教同事或者是你身边其他优秀的开发者们。

 

(4)好问题和坏问题

至于好问题和坏问题,举例说明:

 

坏问题:以开发VsCode插件为例,假定我官方文档都没有去看或者是搜索引擎都没有去使用,然后就去问其他开发人员关于VsCode插件如何开发。

 

好问题:我阅读官方文档,按照官方文档学会如何开发一个简单的插件,然后逐步扩展开来,在此过程中发现某个小问题,并多次尝试去解决(这里的尝试解决不是指没有经过自己的分析和思考就直接搜索我在开发xxx时,遇到了xxx问题,不知道该怎么解决这样的,而是指自己每一次尝试之前将自己的想法罗列,然后按照思路步骤来尝试)。

 

(5)找不到答案怎么办

通常情况下不存在找不到答案,当然了,如果实在是找不到答案的话,可以尝试用Money去解决,能用Money解决的问题都不是问题。当然了,我个人觉得基本上问题是可以解决的,除非是那种非常非常少见的或者是没人见过的,不然基本上从百度或者Google,再或者stackoverflow上面是可以找到答案的。

 

 

 

二、本周学习笔记分享

以下均来自我个人博客(更多相关资料,可以去我的博客园里面搜索查找):

https://www.cnblogs.com/youcong/

 

学习笔记通常是我个人在工作中遇到的问题解决办法,同时也包括最近编写自己的项目遇到的问题。

jQuery和js之Cookie实现:https://www.cnblogs.com/youcong/p/10544276.html
node.js之Cookie:https://www.cnblogs.com/youcong/p/10544283.html
js截取url参数:https://www.cnblogs.com/youcong/p/10544289.html
express框架之跨域请求:https://www.cnblogs.com/youcong/p/10544286.html
npm run dev 在Linux上持久运行https://www.cnblogs.com/youcong/p/10544301.html
PostgreSQL安装和使用:https://www.cnblogs.com/youcong/p/10544313.html
SpringBoot之静态资源放行:https://www.cnblogs.com/youcong/p/10544262.html

 

三、从无到有构建大型电商微服务架构资料分享

 

最近一个朋友分享的关于电商微服务架构实现的视频和源码,现在我分享给大家,大家记得及时将其弄到自己的百度网盘上,切忌,不要做收藏党。视频好不好或者源码如何,需要自己去好好学习体验一番。

从无到有构建大型电商微服务架构(第一阶段)链接: https://pan.baidu.com/s/1l_6e0ovMg6CUnfL0etWvXg 提取码: tpev
从无到有构建大型电商微服务架构(第二阶段)链接: https://pan.baidu.com/s/1ZuDhyuKL9Kdk4o-g6A5XBA提取码: suyk
从无到有构建大型电商微服务架构(第三阶段)链接: https://pan.baidu.com/s/1hQoyuFa95TxFMN0U0d1UKw提取码: 8uk9

 

 

四、谈谈Bmob后端云

Bmob后端云是做什么的?

它主要提供可靠的Serverless云服务,让开发者们轻松拥有开发中需要的各种后端能力。

官网地址:

https://www.bmob.cn/

说说最近我是和它如何结缘的,最近遇到一个某某功能需要快速开发投入市场,但是呢,一时在码云或Github找不到比较合适的。于是不经意间找到这个Bmob,并在上面的源码市场上找到我想要的。

 

顺便分享一下程序员业余时间开发一些项目可以在这上面赚钱。

不过它这个也有局限性。

 

反正现在外包网站一大堆,想利用业余时间赚点外快的,可以自行搜索去找。

 

另外顺便说说,什么是Serverless?

Serverless不代表再也不需要服务器了,而是说:开发者再也不用过多考虑服务器的问题,计算资源作为服务而不是服务器的概念出现。Serverless是一种构建和管理基于微服务架构的完整流程,允许你在服务部署级别而不是服务器部署级别来管理你的应用部署,你甚至可以管理某个具体功能或端口的部署,这就能让开发者快速迭代,更快速地开发软件。

 

Serverless具有如下特点:

(1)Serverless意味无维护,Serverless不代表完全去除服务器,而是代表去除有关对服务器运行状态的关心和担心,它们是否在工作,应用是否跑起来且正常运行等。Serverless代表的是你不要关心运营维护问题。有了Serverless,可以几乎无需Devops了。

 

(2)Serverless不代表某个具体技术,有些人会给他们的语言框架取名为Serverless,Serverless去除维护的担心,如果你了解某个具体服务器技术会有很大帮助,当然,这并不是必须的;

(3)Serverless中的服务或功能代表的只是微功能或微服务,Serverless是思维方式的转变,从过去:"构建一个框架运行一台服务器上,对多个事件进行响应->变为:"构建或使用一个微服务或微功能来响应一个事件",你可以使用django或者node.js和express等实现,但是serverless本身超越这些框架概念。框架变得也不那么重要了;

 

Serverless的应用场景有哪些:

(1)静态网站的管理;

(2)替代WordPress(Serverless Blog Project);

(3)个人媒体服务器;

(4)物联网IOT或家庭自动框架或项目(使用AWS IOT)

 

参考资料:

什么是Serverless无服务器架构:

https://www.jdon.com/soa/serverless.html

 

上述Serverless介绍并不是最详细完整的,感兴趣的朋友可以去搜索查找相关资料。

 

五、开源项目商业化

 

以MyBatis-Plus为例,MyBatis-Plus近来推出了一个商业化项目Crob,访问地址为:

http://crab.baomidou.com/#/

 

效果图如下:

 

它有哪些优点呢?

(1)高效开发;

(2)兼容性高;

(3)复用性高;

(4)丰富组件库;

 

它可以为你做些什么呢?


后台效果:

 

后台系统访问地址为:

http://crab-demo.baomidou.com/login.html

 

用户名和密码自带就有,需要一个登录暗号,这个登录暗号是102400。感兴趣的可以体验体验。

 

大家是不是觉得这个模板很熟悉,我通过查看源代码,发现它这个模板就是采用layui。

 

layui后台模板效果如下:

只不过它这个需要授权,至于如何获取呢,不经过授权也行,只不过经过授权会更好,至于如何不经过授权,程序员们可以发挥自己常用的编程手段之一(只可意会不可言传)。

 

当然了,MyBatis-Plus是源代码是公开的,感兴趣的朋友可以研究一下它的代码。

 

关于开源项目商业化,我想说的是并不是所有都像Vue.js或者是Spring全家桶那么成功。

 

Crob商业化我并不看好,因为现有的这样的太多了,比如我之前提到的JeeFast、FhAdmin、Jeesite、JeePlus等。

 

不过我对其的MyBatis-Plus还是比较看好的。最主要是因为它能够满足使用MyBatis的开发者们无缝就能接入其(减少了学习的时间成本)。

posted @ 2020-02-10 22:47  挑战者V  阅读(267)  评论(0编辑  收藏  举报