unity技能框架
Last October I created a Mentoring Framework at work. The goal was to create a project from scratch using Ruby on Rails. And on that journey I wanted to learn more about Ruby, front end development, Project Management and Git, Databases, and DevOps.
去年10月,我在工作中创建了一个指导框架。 目的是使用Ruby on Rails从头开始创建一个项目。 在那段旅程中,我想了解有关Ruby,前端开发,项目管理和Git,数据库以及DevOps的更多信息。
This Mentoring Framework is similar to what bootcamps do. The difference here is that I am sharing a list of suggested features / things to learn and each person can focus in what is important for them.
这个指导框架类似于新手训练营。 此处的区别在于,我共享了一些建议的功能/要学习的东西,并且每个人都可以专注于对他们而言重要的事情。
In a nutshell: Goals → Project → Execution → Knowledge (and profit).
简而言之:目标→项目→执行→知识(和利润)。
The article is divided into 4 main sections: Before you start, Project ideas, Execution, and Examples and Resources.
本文分为四个主要部分:在您开始之前,请先准备好项目创意,执行以及示例和资源。
在你开始前 (Before you start)
What are your main goals? For the following list, pick the level of knowledge you'd like to gain: "basic understanding", "intermediate understanding", or "advanced understanding". This will help to identify where you are going to invest more time and energy.
您的主要目标是什么? 对于以下列表,选择您想要获得的知识水平:“基本理解”,“中级理解”或“高级理解”。 这将有助于确定您将在哪里投入更多的时间和精力。
- Learn Ruby / Ruby on Rails 学习Ruby / Ruby on Rails
- Learn about the front end 了解前端
- Learn Project Management and Git 学习项目管理和Git
- Learn Databases 学习数据库
- Learn DevOps 学习DevOps
项目构想 (Project ideas)
Once you know your main goals, you need a project. Check out the following two ideas:
一旦知道了主要目标,就需要一个项目。 查看以下两个想法:
书店 (Book store)
Imagine you want to sell books online. What kind of features does a bookstore have?
假设您要在线销售书籍。 书店有哪些功能?
- List books per title 列出每个标题的书籍
- List books per authors 列出每位作者的书
- List books per categories 按类别列出书籍
- Search books 搜索书籍
- Buy books 买书
- List your orders 列出您的订单
宠物收养网站 (Pet adoption website)
Imagine you want to create a website for an organisation that takes care of animals (in British Columbia we have the SPCA). What kind of features does a pet adoption website have?
想象一下,您想为一个照顾动物的组织创建一个网站(在不列颠哥伦比亚省,我们拥有SPCA)。 宠物收养网站具有哪些功能?
- List pets per type (dog, cat and others) 列出每种类型的宠物(狗,猫和其他)
- List pets per size (or breed, or age) 按大小(或品种或年龄)列出宠物
- List pets per location 列出每个位置的宠物
- Search pet per name 按名称搜索宠物
- Request an adoption 要求收养
- List your adoption requests 列出您的收养请求
执行 (Execution)
Once you know your main goals and you have an idea, it is time to work. Check the list of tasks you will be doing:
一旦知道了主要目标并且有了想法,就可以开始工作了。 检查您将要执行的任务列表:
学习Ruby on Rails (Learn Ruby on Rails)
- Use scaffolds to create your entities (basic understanding) or create your own controllers, models and views (intermediate) 使用支架来创建您的实体(基本了解)或创建自己的控制器,模型和视图(中级)
- Add authentication with Devise (basic understanding) or create your own (intermediate). Or use Devise with Oauth authentication (Facebook, Google, etc - intermediate) 使用Devise添加身份验证(基本知识)或创建自己的身份验证(中级)。 或将Devise与Oauth身份验证一起使用(Facebook,Google等-中级)
- Add friendly URLs with a gem (basic) or create your own solution (intermediate) 添加带有gem的友好URL(基本)或创建自己的解决方案(中级)
- Add search (intermediate) 添加搜索(中级)
- Add tests for all your code 为所有代码添加测试
- Create seeds for your data so you don't need to manually create data 为数据创建种子,因此您无需手动创建数据
- Send emails to users (intermediate) 向用户发送电子邮件(中级)
- Create different user roles (intermediate) 创建不同的用户角色(中级)
- Add pagination (basic) 添加分页(基本)
- Add localization (intermediate) 添加本地化(中级)
- Add a tag system (intermediate) 添加标签系统(中级)
- Add images (intermediate) 添加图像(中级)
了解前端 (Learn about the front end)
- Use Tailwind CSS (basic) or your own CSS/SASS (intermediate) to create a beautiful layout 使用Tailwind CSS(基本)或您自己CSS / SASS(中级)创建漂亮的布局
- Use Turbolinks (advanced / optional) 使用Turbolinks(高级/可选)
- Add basic animations - for example, when adding a book in the cart show some animation (advanced/optional) 添加基本动画-例如,在购物车中添加书籍时,显示一些动画(高级/可选)
- Add Google Maps in your app (intermediate) 在您的应用中添加Google地图(中级)
- Add Google Places in your users 在您的用户中添加Google地方信息
- Add a carousel with photos 添加带有照片的轮播
- Add Pagination with Ajax or endless pagination (advanced) 使用Ajax添加分页或无休止的分页(高级)
学习项目管理和Git (Learn Project Management and Git)
- Use Github Project to organize your features 使用Github Project组织功能
- Use feature branches in Git, create PR for all your features 在Git中使用功能分支,为所有功能创建PR
学习数据库 (Learn Databases)
Write plain SQL to find relevant information. A few examples:
编写简单SQL以查找相关信息。 一些例子:
- Find best-sellers authors in the book store 在书店中查找畅销书作者
- Find the number of orders or pet requests per city 查找每个城市的订单或宠物请求数量
- Find which day has more sales 查找哪一天有更多销售
- Add charts in your app to expose the data 在您的应用中添加图表以显示数据
学习DevOps (Learn DevOps)
- Deploy the website to Heroku (basic/intermediate) or AWS (advanced) 将网站部署到Heroku(基本/中级)或AWS(高级)
- Setup CI in Heroku (basic/intermediate) 在Heroku中设置CI(基本/中级)
- Add Airbrake to monitor errors in your app (basic) 添加Airbrake以监视您的应用程序中的错误(基本)
- Buy a domain, set up Cloudflare (advanced/optional) 购买域名,设置Cloudflare(高级/可选)
例子 (Examples)
资源资源 (Resources)
Courses: Ruby on Rails 5 Essential Training and Ruby on Rails 6 Essential Training - The first course is longer than the second.
课程: Ruby on Rails 5基础培训和Ruby on Rails 6基础培训 -第一门课程比第二门课程长。
Also posted on my blog. If you like this content, follow me on Twitter and GitHub. Cover photo by Maxwell Nelson at Unsplash.
也张贴在我的博客上 。 如果您喜欢此内容,请在Twitter和GitHub上关注我。 麦克斯韦尔·尼尔森 ( Maxwell Nelson)在Unsplash的封面照片。
翻译自: https://www.freecodecamp.org/news/the-mentoring-framework/
unity技能框架