🦄 2024 独立开发者训练营,一起创业!查看介绍 / 立即报名(剩余10个优惠名额) →

博客

解构应用开发:如何学习程序语言

作为开发者,我们可以使用开发语言或者叫程序语言向机器或者某个系统表达自己的想法,编写应用程序,让机器或者系统完成我们设定好的事情。现在有很多可以使用的程序语言,不同的程序语言可以编写不同类型的应用,比如客户端应用,服务端应用,游戏,智能合约等等。

程序语言看起来其实一般就是一些简单的英文单词,外加一些标点符号,它们都会定义一套规矩,我们开发者需要遵守这套规矩去编写应用,这套规矩就是程序语言的语法,也就是一些写法。有些程序语言编写的应用需要编译以后才能运行,有些不需要编译,可以直接交给支持这种语言的环境上去运行。

独立开发者训练营:技术栈

“我们的技术栈在网飞剧里出现过,ClickUp 用类似的技术栈做出了估值200亿的产品,最受专业开发者喜欢的排名前十的技术中,我们将学会其中五项。”

解构应用开发:开发者的必备工具(命令行、Git 与代码编辑器)

命令行,代码编辑器还有源代码管理是开发工作日常必备的工具,无论我们开发什么类型的应用,都会用到这几样工具。

做开发的时候需要用到大量的工具,有些带图形界面,有些不带图形界面。这些不带图形界面的工具,需要通过命令行界面执行文字命令来使用这些工具,命令行界面就是 command line interface,简称为 cli,要在命令行界面下输入的命令通常就是要运行的这个命令行工具的名字。创建应用、安装项目依赖,启动应用的开发服务,做源代码管理,远程连接管理服务器等等,这些任务一般都需要在命令行界面下完成。

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

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

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

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

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

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

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

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

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

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

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

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。

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

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

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

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

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

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

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

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

客户端与服务端的职责

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

微信好友

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

微信公众号

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

240746680

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

统计

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

社会化网络

关于

微信订阅号

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