热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

精通编程:自我挑战,解决一系列前端难题

全文共2457字,预计学习时长7分钟图源:unsplash你是否听过一万小时定律?它指的是,要想成为某方面的大师ÿ

全文共2457字,预计学习时长7分钟


图源:unsplash

你是否听过一万小时定律?它指的是,要想成为某方面的大师,就必须要实践一万个小时。虽然并非适用于所有领域,但至少作为一名开发人员,最有效的成长方法之一就是投入尽可能多的时间。

 

从下面列表中选择一个项目并开始编码吧!使用哪种技术或工具并不重要,重要的是你亲手完成了一个项目。

 

Jira克隆

 

Jira是Atlassian开发的专利问题跟踪产品,提供bug跟踪和灵活的项目管理服务。产品名称源自Gojira,Gojira在日语中是哥斯拉的意思。

 

Jira | 图源:GitHub

构建Jira克隆,你将学到以下内容:

 

· 拖放(DND)API如何服务于浏览器:每个Jira板都有一个看板集合,在那里你可以根据任务的进度拖放任务。

 

· 如何安排用户角色和访问权限逻辑:每个看板都有相关的成员,成员可能具有不同的访问级别。例如,项目经理可能具有阅读、编写和编辑权限,而客户可能只有阅读权限。客户可以看到正在进行的工作和已经完成的工作,但是他们不能改变团队当前正在进行的工作。

 

· HTML和CSS:从语法层面构建应用设计风格是任何人都能拥有的实用技能。

 

使用Emoji的Discord聊天

 

当和朋友们一起外出或玩电子游戏时,Discord是一种有趣的联系方式,它专注于聊天频道中用户之间的文本、图像、视频和音频通信。每个Discord频道都有可供用户选择的表情符号,你的任务是构建包含表情符号的聊天部分。如果愿意,你可以建立整个Discord克隆。

 

 

 

构建Discord聊天克隆,你将学会:

 

· 如何将网络套接字应用于聊天。每个现代网络聊天应用程序都在以某种方式使用WebSockets。WebSocket是一种计算机通信协议,在一个TCP连接上提供全双工通信通道。简而言之,服务器和前端客户端是同步的。

 

· 如何使用Electron构建跨平台的桌面应用程序,当前版本的Discord就是通过Electron构建的。

 

Beatbox应用

 

Beatbox应用程序会根据你当前所按的键播放不同的声音,只用键盘就可以演奏一段曲子。

 

图源:GitHub

构建Beatbox应用,你将学会:

 

· 为了激活声音,需要熟悉WebAudio API是如何工作的。

· 使用Javascript键盘。必须弄清楚按的是什么键,然后演奏正确的曲子。

 

Mozilla开发者文档:“Web Audio为控制Web上的音频提供了一个强大的多功能系统,允许开发人员选择音频源、向音频添加效果、创建音频可视化界面、应用空间效果(比如移动)等等。”

 

Spotify唱片区

 

你可以在Spotify上播放和上传歌曲。Spotify有一个版块,可以根据专辑浏览音乐和艺术家。下面是我最喜欢的专辑之一。

 

金属乐队(1991)专辑

构建Spotify克隆,你将学会:

 

· 如何通过API获取数据,并为相关艺术家显示正确的专辑。幸运的是,Spotify有一个可以免费使用的API:https://developer.spotify.com/documentation/web-api/

 

· 可以将app构建为web或桌面应用程序。这两种应用程序都需要了解如何在页面上布局元素并对其进行适当的样式化处理。

 

亚马逊克隆

 

亚马逊刚成立的时候还只是一个卖书的小型电子商务网站,如今,它们已经是电子商务领域的巨人。

 

从零开始,慢慢来,为了学习要模仿它的每个特点。不要试图复制亚马逊的商业模式,而是以学习为目的尝试建立一个类似的网络体验。亚马逊的核心是一个大型数据库,在进行搜索时,它将从数据库中返回正确的条目。当然,亚马逊远不止这些,但这是一个非常简单的例子。

 

亚马逊克隆:Github

构建亚马逊克隆,你将学会:

 

· 设置MySQL或者PostgreSQL,学会在数据库中存储条目。需要将条目存储在数据库中,然后再从中查询条目。

 

· 支持搜索功能。用户登录你的网站,搜索条目,你需要给出相应的内容。你要怎么做?

 

· HTML和CSS。每个网站都会使用的两种技术,不管是初学者的简单项目,还是非常复杂的网站比如Netflix或亚马逊,都会用到。

 

这是我在GitHub上找到的一个简单的亚马逊克隆:https://github.com/CleverProgrammers/react-challenge-amazon-clone?ref=HackerTabExtension

 

 


Netflix克隆

 

Netflix是观看电视剧、电影和纪录片的热门选择,彻底改变了我们看电视的方式,能够在任何地方用任何设备观看。

 

Netflix主页 | 图源:Netflix

构建Netflix克隆,你将学会:

 

· 使用HTML和CSS。

· 可选项:如何通过API搜索电影和电视剧。

· 音视频API:Netflix的核心是流媒体服务,每个流媒体服务在某种程度上都包含视频或音频。

 

推特克隆

 

推特是一个热门的讨论平台,从政治到音乐再到编程,上面有很多小众社区,许多人喜欢使用推特和粉丝互动。

 

笔者的推特个人主页 | 图源:Twitter

构建推特克隆,你将学会:

 

· HTML和CSS用于与布局相关的部分。

· 在数据库中存储tweet:设置一个关系(MySQL)或一个非关系(MongoDB)数据库。

· 角色管理逻辑:每个用户都有一个档案,只有自己可以编辑,其他人可以查看。

 

希望你已经为下一个项目找到了灵感,开始行动吧!

一起分享AI学习与发展的干货

欢迎关注全平台AI垂类自媒体 “读芯术”

(添加小编微信:dxsxbb,加入读者圈,一起讨论最新鲜的人工智能科技哦~)


推荐阅读
  • 本文介绍了JavaScript进化到TypeScript的历史和背景,解释了TypeScript相对于JavaScript的优势和特点。作者分享了自己对TypeScript的观察和认识,并提到了在项目开发中使用TypeScript的好处。最后,作者表示对TypeScript进行尝试和探索的态度。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 20211101CleverTap参与度和分析工具功能平台学习/实践
    1.应用场景主要用于学习CleverTap的使用,该平台主要用于客户保留与参与平台.为客户提供价值.这里接触到的原因,是目前公司用到该平台的服务~2.学习操作 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 小程序自动授权和手动接入的方式及操作步骤
    本文介绍了小程序支持的两种接入方式:自动授权和手动接入,并详细说明了它们的操作步骤。同时还介绍了如何在两种方式之间切换,以及手动接入后如何下载代码包和提交审核。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • 本文介绍了RxJava在Android开发中的广泛应用以及其在事件总线(Event Bus)实现中的使用方法。RxJava是一种基于观察者模式的异步java库,可以提高开发效率、降低维护成本。通过RxJava,开发者可以实现事件的异步处理和链式操作。对于已经具备RxJava基础的开发者来说,本文将详细介绍如何利用RxJava实现事件总线,并提供了使用建议。 ... [详细]
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
  • 软件测试人员必备的60个测试工具清单,建议收藏一波!
    据统计,中国软件外包市场的潜力和机会已远远超过软件王国印度,不过由于软件人才的严重不足致使我国软件发展遭遇“瓶颈”。国家为了大力培养软件人才࿰ ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • 数据库(外键及其约束理解)(https:www.cnblogs.comchenxiaoheip6909318.html)My ... [详细]
  • 作为Spring的高强度使用者,没理由不对Spring的发展历程感到好奇吧?想知道Spring的作者,Spring是怎样一步一步的发展到今 ... [详细]
  • 我很清醒。我躺在床上。我满头大汗,但我很冷。在早晨的一小段时间里,梦想如恐怖般生动。我站在客户办公室,我以前来过这里,我知道 ... [详细]
  • 【Maven】POM标签大全详解POM(ProjectObjectModel,项目对象模型)是M ... [详细]
  • DevOps落地实践点滴和踩坑记录(1)
    记录初衷本人一直在从事企业内DevOps落地实践的工作,走了不少弯路,也努力在想办法解决面临的问题,期间也经历过不少人和事情,最近突然有想法把经历过的,不管好的不好的都记录下来,分 ... [详细]
author-avatar
雪中侠客79_932
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有