热门标签 | 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,加入读者圈,一起讨论最新鲜的人工智能科技哦~)


推荐阅读
  • CSS3 @font-face 字体应用技术解析与实践
    在Web前端开发中,HTML教程和CSS3的结合使得网页设计更加多样化。长期以来,Web设计师受限于“web-safe”字体的选择。然而,CSS3中的`@font-face`规则允许从服务器端加载自定义字体,极大地丰富了网页的视觉效果。通过这一技术,设计师可以自由选择和使用各种字体,提升用户体验和页面美观度。本文将深入解析`@font-face`的实现原理,并提供实际应用案例,帮助开发者更好地掌握这一强大工具。 ... [详细]
  • 初探性能优化:入门指南与实践技巧
    在编程领域,常有“尚未精通编码便急于优化”的声音。为了从性能优化的角度提升代码质量,本文将带领读者初步探索性能优化的基本概念与实践技巧。即使程序看似运行良好,数据处理效率仍有待提高,通过系统学习性能优化,能够帮助开发者编写更加高效、稳定的代码。文章不仅介绍了性能优化的基础知识,还提供了实用的调优方法和工具,帮助读者在实际项目中应用这些技术。 ... [详细]
  • 作为软件工程专业的学生,我深知课堂上教师讲解速度之快,很多时候需要课后自行消化和巩固。因此,撰写这篇Java Web开发入门教程,旨在帮助初学者更好地理解和掌握基础知识。通过详细记录学习过程,希望能为更多像我一样在基础方面还有待提升的学员提供有益的参考。 ... [详细]
  • Spring框架的核心组件与架构解析 ... [详细]
  • 设计实战 | 10个Kotlin项目深度解析:首页模块开发详解
    设计实战 | 10个Kotlin项目深度解析:首页模块开发详解 ... [详细]
  • 在PHP的设计中,预定义了9个超级全局变量、8个魔术变量和13个魔术函数,这些变量和函数无需声明即可在脚本的任意位置使用。这些特性在PHP开发中极为常见,能够显著提升开发效率和代码的灵活性。相比之下,Java并没有类似的内置机制,但通过其他方式如上下文对象和反射机制,也可以实现类似的功能。本文将详细探讨这两种语言中这些特殊变量和函数的使用方法及其应用场景。 ... [详细]
  • Oracle字符集详解:图表解析与中文乱码解决方案
    本文详细解析了 Oracle 数据库中的字符集机制,通过图表展示了不同字符集之间的转换过程,并针对中文乱码问题提供了有效的解决方案。文章深入探讨了字符集配置、数据迁移和兼容性问题,为数据库管理员和开发人员提供了实用的参考和指导。 ... [详细]
  • PHP自学必备:从零开始的准备工作与工具选择 ... [详细]
  • 在 CentOS 6.5 系统上部署 VNC 服务器的详细步骤与配置指南
    在 CentOS 6.5 系统上部署 VNC 服务器时,首先需要确认 VNC 服务是否已安装。通常情况下,VNC 服务默认未安装。可以通过运行特定的查询命令来检查其安装状态。如果查询结果为空,则表明 VNC 服务尚未安装,需进行手动安装。此外,建议在安装前确保系统的软件包管理器已更新至最新版本,以避免兼容性问题。 ... [详细]
  • 本文探讨了如何利用 jQuery 的 JSONP 技术实现跨域调用外部 Web 服务。通过详细解析 JSONP 的工作原理及其在 jQuery 中的应用,本文提供了实用的代码示例和最佳实践,帮助开发者解决跨域请求中的常见问题。 ... [详细]
  • 如何在页面底部添加倾斜样式效果? ... [详细]
  • 深入解析HTTP网络请求API:从基础到进阶的全面指南
    本文全面解析了HTTP网络请求API,从基础到进阶,详细介绍了Android平台上的两种原生API——HttpUrlConnection和HttpClient。这两种API通过对底层Socket的封装,提供了高效、灵活的网络通信功能。文章不仅涵盖了基本的使用方法,还深入探讨了性能优化、错误处理和安全性等方面的高级主题,帮助开发者更好地理解和应用这些工具。 ... [详细]
  • 本文深入探讨了 Git 与 SVN 的高效使用技巧,旨在帮助开发者轻松应对版本控制中的各种挑战。通过详细解析两种工具的核心功能与最佳实践,读者将能够更好地掌握版本管理的精髓,提高开发效率。 ... [详细]
  • TensorFlow Lite在移动设备上的部署实践与优化笔记
    近期在探索如何将服务器端的模型迁移到移动设备上,并记录了一些关键问题和解决方案。本文假设读者具备以下基础知识:了解TensorFlow的计算图(Graph)、图定义(GraphDef)和元图定义(MetaGraphDef)。此外,文中还详细介绍了模型转换、性能优化和资源管理等方面的实践经验,为开发者提供有价值的参考。 ... [详细]
  • 探讨上传下载 API 的常见问题及解决方案 ... [详细]
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社区 版权所有