🦄 2024 独立开发者训练营,一起创业!(早鸟优惠在6天后结束)查看介绍 / 立即报名 →

博客

“给我时间,我能学会所有我想学的东西”

我经常因技不如人而感到自卑,现在我认为这只是需求不同而已,如果需要,我也可以如何如何。实现想法的最大障碍应该是时间,不应该是技术,只要有需求,我们能学会任何需要的技术,能解决任何需要解决的问题。

学习绝对不是一件容易做的事情,理解需要时间。我现在认为非常简单的东西,当初在学它的时候也从未感到轻松,要有脑子裂开的感觉,这才是真的在学习。但这也正是乐趣所在,有难度才有意思,承受痛苦才能得到奖励,当一切变得轻松自如之时,事情就开始变得无聊了,所以“感到无聊”应该是衡量是否学会的标准之一。

学习是一种瘾,不断学习能带来快乐,我们也必须要当心这个“学习陷阱”,陷入其中将无法自拔,忘记当初要做的是什么了。不断地被各种声音干扰,不停地追逐新鲜的东西,无限循环地一直在学习,自我感觉良好。如果把学习当作一种业余乐趣,这样还好。如果我们的目的是为了创造应用,提供服务,解决问题,就需要做到学以致用,年纪越大,就越觉得时间最贵。

还有一件事要想明白,是要成为一名优秀的软件工程师,还是要成为一名成功的生意人。不断地学习技术能让我们成为越来越优秀的工程师,但如果想借技术做生意,还得想点别的,要勾画愿景,设定目标,不断地给自己洗脑,给别人洗脑,实现产品,做市场。

独立开发者:王皓与他漫长的独立开发者探索之路

年少时我们可以贪婪地学习,越多越好,那时候我们觉得自己还年青,时间可以任意挥霍。青年往后就应该有选择、有系统、有目标地学习了,一切的技术学习行为都应该服务于当初设定的目标。人到中年以后,时间开始变得宝贵了,你会希望时间能变得慢一些,任何决定都会格外小心。

在一次朋友聚会中一位朋友问道:“如果你有能力回到过去,你要回去吗,如果要回去,会做些什么?”,听到这个问题我的脑子里先是闪现出很多快速致富的路径,但又想了想说:“我不想回去,我觉得我即使回到过去,做的决定最终也会把我引入到当下的状态。”,稍后我又补充到:“如果真能回到过去,我希望自己能好好学习。”

解构应用开发:从实际需求理解客户端与服务端

我们可以通过一个实际的需求,再深入了解一下应用的客户端与服务端的具体的职责,以及它们是怎么通过应用接口交换数据完成要做的事情的。

比如应用需要支持用户的注册与登录,要满足这个需求需要在应用里实现一些对应的业务,这里说的“业务”指的就是我们的应用需要处理的各种事务。这些业务都有各自的流程与逻辑,我们暂时先不考虑具体的实现,只需要先把这个业务的流程与逻辑描述清楚就行了,就是确定一下实现这个业务都需要执行哪些可能的动作,流程是什么,执行了动作以后又会发生什么。如果我们能用人类的语言把一个业务的流程与逻辑描述清楚,就一定能够使用机器语言把它设计并且实现出来。

Web 3.0 应用开发相关技术与框架(Truffle、Hardhat、OpenZeppeline)

最近想整理出一条 Web3.0 应用开发的学习路线,目前还没有清晰的思路,我想遇到谁就先花点时间了解一下它,看看它能帮我做些什么,在 Web3.0 中扮演的角色是什么,了解一项技术或框架可以从它的技术文档开始。

Truffle

网址:https://trufflesuite.com/
仓库:https://github.com/trufflesuite/truffle

Truffle 是一套开发环境,测试框架,也是 Ethereum 的资源管道(asset pipeline)。主要是给 Ethereum 开发者提供了一套统一的开发环境,它提供的工具可用于开发调试智能合约,独立的包管理,可以让开发者的工作变得更轻松一些。

Truffle 框架是一个 Ethereum 的开发框架,主要是用 JavaScript 编写而成,支持使用任何框架(React,Vue 或 Angular)开发测试 DApps。

解构应用开发:理解如何部署应用

服务端应用需要部署到服务器上运行,部署,就是把我们在本地电脑上开发的应用,搬到服务器上去运行。这个服务器跟我们平常用的电脑没有太大区别,可以把它想成是一台能通过固定地址在网络访问到的电脑,服务器提供了计算能力,存储空间还有带宽。

大部分云服务商都提供这种可以部署服务端应用的服务器,像阿里、腾讯、华为、亚马逊它们都提供云服务,我们可以从这些云服务端那里按需求购买相应配置的服务器,其实我们买的并不是一台真实存在的设备,买的只是计算与存储的能力,还有网络带宽。至于服务商如何提供这些能力并不是我们要操心的事情。

独立开发者:艾热与他的阿图什信息平台

(公布部分聊天消息已获艾热本人同意)

“你看,这是艾热做的小程序,真没想到,太厉害了吧... ”,我举着手机一边操作一边对站在旁边的小雪说道,她不以为意,因为我已经给她展示过很多次了,每次都重复着同样的话。我的喜悦之情,溢于言表,也不忍释手。艾热靠自己独立完成了两年前他想做的信息平台,他不再是那个刚刚毕业对前途迷惘而又自我怀疑的小伙子了,言语中多了些许自信。

艾热的老家在阿图什,新疆克孜勒苏柯尔克孜自治州的首府,距离喀什只有几十公里,大学是在乌鲁木齐上的,学的是土地资源管理。宁皓老友们应该记得,有一年新年我向老友们征集了一些祝福的视频,那一年艾热还在上学,他跟他的小伙伴们分别用普通话、维语跟英文给大家送上了节日的祝福。视频里有一位漂亮的新疆姑娘,我在视频下面留言,问艾热是不是他的女朋友,艾热马上用微信给我消息说不是,表示气氛瞬间很尴尬,哈哈哈,隔着屏幕我都能感受到他有多么紧张。

解构应用开发:理解服务端应用开发

客户端与服务端的职责

应用的客户端跟服务端是两个独立的应用,客户端主要负责给用户提供一套操作界面,也就是用户可以通过客户端使用我们开发的应用提供的功能,比如发布内容、浏览内容、销售产品等等。应用的服务端一般会放在服务器上运行,主要负责给客户端提供各种服务,比如存储客户端发过来的数据,提供客户端需要的数据,处理各种后台任务等等。

解构应用开发:客户端应用

如果把一个完整的应用分成两个部分,一部分可以称为客户端,另外一部分可以称为服务端,一般它们都是独立的应用,需要分别设计与开发。客户端应用的主要作用就是提供一套用户界面,并且最终要交给用户使用,比如可以通过一个网址在浏览器上使用, 或者在应用商店里下载安装在手机、平板或者电脑上使用。应用的服务端负责给客户端提供各种服务,比如存储用户在客户端生成的数据,给客户端的用户界面提供需要的数据等等,服务端可以处理客户端的各种请求。

解构应用开发:理解客户端与服务端的沟通方式

了解了项目需求以后,我们要知道应用的构成,还要了解应用的不同部分之间是如何沟通交流的。下面我们就一起解构一下应用。这里说的“应用”指的就是用浏览器访问的网站,安装在手机、手表、平板、电脑或者电视上的 App,你也可以把它想成是一个系统或者软件。

我们可以把一个应用简单的分解成两个部分,前端(front-end)与后端(back-end),一般它们是两个完全独立的应用,前端应用负责提供用户界面交给用户使用,后端应用负责给前端应用提供各种不同的服务,比如存储用户在前端应用里生成的数据,或者提供前端应用要显示的数据等等。作为一名全栈的独立开发者,我们既要开发客户端应用也需要开发服务端应用。

独立开发者训练营:从需求出发,构建数字资产订阅与交易平台

我们一直在不断地优化学习应用开发的方法,比如要做系统性的训练,要亲自动手实践去开发一个系统。最近我们在考虑一个问题,在不碰开发工具、语言、应用框架之前,能否先把要做的系统提前设计出来?从需求出发,再将需求具体化,然后把具体化的需求转换为设计草图,最后再去实施。

抛开具体的实施部分,先考虑一个实际的项目需求,假设你或者你的客户想要构建一套数字资产订阅与交易平台,用户可以选择订阅平台的服务,这样用户在一定期限内使用平台内的所有数字资产,也可以选择单独购买某一个数字资产的使用许可。

微信好友

用微信扫描二维码,
加我好友。

微信公众号

用微信扫描二维码,
订阅宁皓网公众号。

240746680

用 QQ 扫描二维码,
加入宁皓网 QQ 群。

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点