好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

介绍使用现代技术开发的组合,从缺乏经验的网络和使用的教材!

“我想知道从没有经验的人那里通过自学可以做出多少投资组合。”
“我想创建一个没有经验的作品集,但我不知道该研究哪些材料。”
这篇文章是为那些有这种问题的人写的。

学编程的时候,教材太多,不知从何下手。
我将介绍我用来从没有经验的人转行给工程师的作品集和教材,所以如果它对处于相同情况的人有用,我会很高兴。

0. 简介

你好!由纪 ( @S42100254h )我的名字是。

她出生于 1991 年,30 多岁,她的职业生涯始于护士,曾在一家 CRO 参与新药的开发,目前在当地政府处理新型冠状病毒感染的部门担任工作人员。
虽然经历了很多波折,但由于我没有网络行业的经验,我正在学习作为一名工程师换工作。

我主要是想在札幌找份工作,未来我的目标是成为一个领域的专业人士,能够在一定程度上处理好前端、后端和基础设施。

另外,在现在的工作中,我会根据自己的判断将工作分配给 5-6 个人,像领导者一样工作。我想以工程师的形象为目标,

我还没有转职到工程师,但是我已经完成了我的转职作品集,所以我将介绍我使用过的教材。

1. 投资组合概览

在介绍我使用的教材之前,我想先解释一下我创建的作品集。

护理国家考试准备应用程序“PeAN”

“我想帮你跳入医学世界。”
考虑到这一点,我正在创建这个应用程序。

大部分护士准备国考的书很厚,大约5厘米长,10年前的学习方法几乎没有改变。
护理国考题多是问知识的记忆题,而不是计算和思考题,所以一定要抽出时间反复解题。

“看着厚厚的书让我昏昏欲睡”
“我不擅长依偎在办公桌前”
很多人都这么认为。

为了消除这样的担忧,我决定打造一款融合了游戏元素的护士国考备考应用“PeAN”,让你在办公桌前多花一点时间。

PeAN的起源是一年级护士必备的“豌豆钳”。

【问答功能】

【升级功能】

网址: https://pean-nurse.com
*请注意,对智能手机的响应式支持根本不可能。

2. 使用的技术

我在 AWS 上部署了一个单页应用程序,由 AWS CDK 编码和管理。
我将通过分为前端,后端,基础设施和其他来解释。

前端

语言:打字稿 主库:React 组件库:Material-UI、样式化组件 Linter:ESlint,Prettier 测试:开玩笑 状态管理:Redux、Rudux thunk、Hooks 网络服务器:nginx

前端的主要框架/库中有 React、Vue 和 Angular,但我选择 React 的原因如下。

Vue 之所以在亚洲流行,是因为它起源于中国,但 React 在亚洲以外地区更流行,未来可能会发展壮大。 大多数没有经验的人在他们的产品组合中使用 Vue,所以我想通过采用 React 来让自己与众不同。

目前,React 更受欢迎,因此,我认为采用 React 很好。

后端

语言:红宝石 框架:Ruby on Rails 短绒:rubocop 测试:RSpec 应用服务器:独角兽 身份验证 gem:devise-token-auth

后端框架包括 Laravel、Django 和 Nodo.js,但我选择 Rails 的原因如下。

因为日语教材很多,所以很难受挫 许多公司正在招聘

随着我未来的经验积累,我认为我很有可能会学习 Golang 或 TypeScript 作为后端语言,但我选择 Rails 是因为我可以用一种不那么令人沮丧的语言学习后端的基础知识。我认为这很简单。

基础设施,其他

AWS

ECS 远程网关 ECR RDS(MySQL) ALB Route53 S3 ACM

AWS CDK(用 TypeScript 编写)

测试:@aws-cdk/assertions

码头工人

GitHub 操作 (CI/CD)

除了 AWS,还有 GCP 和 Azure,但 AWS 的份额更大,所以我们毫不犹豫地采用了 AWS。
对于 CI/CD,我们最初使用 CircleCI,但切换到 GitHub Actions。我认为通过切换会减少编写的代码量,并且会更容易理解。

3. 基础设施配置


* RDS 设置为多可用区,但由于成本原因,目前未设置为多可用区。

4.功能列表

用户使用功能

认证功能 登录功能(令牌认证) 新增用户注册功能 注销功能 用户相关 个人资料图像更改功能 修改密码功能 升级功能 测验相关 问答功能 学习积累功能(GitHub草) 所有正确答案的课程管理功能 查询邮件发送功能

[所有问题都正确回答的课程的学习积累功能/管理功能]

【查询功能(可附图片)】

管理员使用功能(仅在用户无法访问的管理员屏幕上可用)

认证功能 管理员登录功能(令牌认证) 管理员注销功能 用户相关 用户删除功能 测验相关 测验创建/更新/删除功能 类别图像注册功能

非用户使用函数

带有 GitHub 操作的 CI/CD 管道 CI:RSpec、rubocop、eslint、jest 光盘:AWS ECR 将Docker引入开发和生产环境,吸收环境差异 使用 AWS CDK 进行基础架构代码管理 自己的域 + Route53 的 SSL

5. 投资组合挑战

作为转职活动的作品集,曾经完成过一次,但仍存在以下问题,我们将适时更正。
(1) 没有进行响应式通信。
(2) 状态管理复杂,无法重构。
(3) 安全性松懈(尤其是AWS)。
(4) 课程列表中的所有专业科目仅显示为一门课程。 (消化系统和循环系统有2个疗程)
(5) 由于未设置页脚链接目标,因此无法进行页面转换。
(6) 更新用户信息或发送询问邮件时动画不足。
(7) 管理员画面过于简单。
这样的

6. 我在投资组合开发中所知道的

在为换工作制定投资组合时,我意识到要结合以下条件。
(1) 采用现代技术
(2) 能解决别人的烦恼
(3) 有利可图

(1) 采用现代技术

在创作作品集时,我想呼吁除了“技术能力”和“自我推动能力”之外,我还有“对现代技术的兴趣和兴趣”。

关于自走电,各个地方都说了很久,但是网络行业的技术过时很快,需要跟上最新的技术,我认为“兴趣”是也很重要。

因此,我们使用 TypeScript、React、AWS CDK 等进行产品组合开发。

(2) 能解决别人的烦恼

我想不出要做什么作为换工作的投资组合,所以我正在考虑开发一个小型 SNS 服务。
“制作这个应用程序会帮助某人吗?”
问题仍然存在,我完全没有动力。

所以,当我回顾我迄今为止的经历,看看我是否有任何问题时,
记得在备考护士全国考试的时候,我拿着一本厚厚的书学习,因为没有上进心而陷入困境。

我认为加入游戏元素会更容易激发自己的学习动力,所以我决定开发一款应用程序,为全国护士考试做准备。

根据我自己的经验,我能够创建一个投资组合,同时想象什么样的功能会让我开心,因为我的角色很清楚。

(3) 有利可图

我认为实际上很难通过没有经验的应用程序获利。

但是,我想知道工程师的工作不是“编写代码并获得报酬”,而是“以编写代码和创建解决用户问题的应用程序来换取金钱”。我没有经验和思考。

因此,即使您开发的应用程序无法货币化,我认为以这种观点开发应用程序很重要。

全国护士考试报考人数逐年增加,每年应考人数超过6万人。
目前,主流学习材料的价格约为 6,000 日元,如果 60,000 人中有 1,000 人以相同的金额使用我的应用程序,我想我可以期望获得大约一个工薪阶层的平均年收入。

这是我的投资组合的描述。

7.学习资料

从这里开始,我们将介绍我们在开发上述产品组合时实际使用的 12 种服务和书籍。

(1) 传播


网址: https://prog-8.com/
我开始学习 HTML 和 CSS,并学习了所有的编程语言,如 Ruby、JavaScript 和 Python。

在这一点上,我没有意识到我不需要学习多种语言,所以我正在做所有的课程。
现在回想起来,我希望我事先做好了学什么语言的功课,只做了2-3周的HTML和CSS+1语言课程。

最后,我选择了 Ruby,因为它有很多日文文档,我认为它很难感到沮丧。

(2) Ruby on Rails 教程


网址: https://railstutorial.jp/
在创建投资组合时,我阅读了一篇在线文章,说使用框架会更高效,因此我选择了 Ruby on Rails 教程作为 progate 之后的下一步。

“Rails 教程很难,所以如果你没有经验,你会感到沮丧。”
有很多口口相传,我开始学习的想法是,如果我尝试它并失败了,我会放弃,因为我没有编程能力。
幸运的是,我没有放弃并设法度过了两个星期,不知何故学习了如何使用该框架。
我的记忆有点模糊,但我认为每周大约需要 50 个小时。

在这一点上,尽管我花了 100 多个小时学习编程,但我只是不想构建一个应用程序。

“你编程是为了什么?”
我经常被这样的想法所诱惑,我认为这段时间是最艰难的。

(3) 起飞轨道


网址: https://freelance.cat-algorithm.com/lp/take-off-rails/
我以前用 Excel VBA 写过简单的代码,所以我觉得写代码会很有趣,但此时我不知道我是否有编程的天赋。

另外,我觉得自己能在不花很多钱的情况下学到的东西是有限的,所以我寻找了一个可以接受指导的环境。
我在网上做code review的时候碰巧找到了一个教Rails的教材,决定试一试。

起飞 Rails 已经负债了大约 1.5 个月,我能够学习如何使用 Git 和 GitHub,使用 Rails 进行简单的 API 开发,以及使用 RSpec 进行测试。
至于Rails,我只把它当成MVC用过,从来没有听说过API模式。
此外,教我的现职工程师的评论很好,所以我能够继续在这里,没有任何特别的挫折。

大约在这个时候,我决定认真学习编程,因为学习新事物的过程非常有趣,而且我从未看到任何挫折的迹象。

(4) 前端技巧


网址: https://skill-hacks.co.jp/fronthacks/
在 Take off Rails 中,我能够确认响应是从 Rails API 返回的,但我只是模糊地了解如何在应用程序中使用返回的信息。

因此,我决定学习前端,直到现在我才和 progate 一起学习。
对于教材,我决定使用由 Take off Rails 的工程师介绍的 Front Hacks。
价格是 150,000 日元,非常昂贵,但看了 300 多个视频后,我能够学到从零前端知识到编写 HTML、CSS、JavaScript 和 React 的基础知识。

Slack允许你向活跃的工程师提问,但我只是看视频和学习,所以我没有问任何问题,所以我觉得有点贵。

推荐给那些想要一个可以在遇到困难时提出问题的环境的人,但对于那些可以自己尝试各种事情的人来说,Udemy 或 YouTube 资料可能会很好。

(5)技术坑


网址: https://www.techpit.jp/
由于我创建的应用程序数量很少,我想创建更多种类的东西,所以我使用了Techpit。

如果便宜的话,可以花2000日元左右购买教材,10~20小时左右就可以制作出Ruby或JavaScript应用程序。
我买了大约 3 个,并创建了一个 Line 机器人和一个日历应用程序。

最后,它不是我的投资组合的参考,但我认为用我的双手创建各种应用程序是一种很好的体验。

“我没有想要自己制作的应用程序”
“我想要一些可以作为制作投资组合参考的东西。”
建议此类人员使用此服务。

(6) [Tora Seminar]交通工程师学习课程①


网址: https://www.youtube.com/user/1492tiger
在 Fronthacks 中,我使用 mapStateToProps 来管理状态,而我完全不了解 Hooks。
我找到了一个 YouTube 频道,它详细解释了 React,并决定在此基础上学习它。
通过创建 EC 站点,我能够学习状态管理并接触 Firebase。
该频道还有一个 React 介绍视频的播放列表,因此推荐给第一次学习 React 的人。

(7) Docker入门


网址: https://y-ohgi.com/introduction-docker/
我以某种方式使用 Docker 和 docker-compose 进行容器管理,但我几乎无法理解。
为了在物理上获得知识,我决定在这个时候读完介绍 Docker。
如果你是第一次学习 Docker,可能还是用 Techpit 之类的资料比较好,可以边动手边学习。

(8) 网络&服务器搭建从基础开始


此时,我能够连接 Rails 和 React 并在本地服务器上运行它,但我对基础架构一无所知。

为了部署到 AWS,我首先决定从流行的动手书籍中学习。
完成所有事情大约需要 1-2 周,因此即使是像我这样的基础设施初学者也能够毫无问题地继续进行。

您可以了解如何构建网络和 ssh 登录到 EC2,现在您可以将一个简单的应用程序部署到 AWS。

(9) 科技股


网址: https://techstock.jp/
我了解了如何部署到 AWS,因此我决定获得 AWS 资格。
Tech Stock 是一组专门针对 AWS 认证的网络问题,是由一位基础设施工程师的熟人介绍给我的。

我可能会因为我解决问题的风格而选择某人,但我在 Tech Stock 学习了 2 周后获得了 AWS SAA(Solutions Architect Associate)。

SAA已经被工程师朋友和推特上联系我的公司评估过,我认为这是一个比较容易评估的性价比的好资格。
我能够学习各种 AWS 服务的基础知识,例如稍后将在我的产品组合中使用的 ECS,并且应用程序的规范也很有帮助。

(10) [Tora Seminar]交通工程师学习课程②

我又一次回到了 Tora Seminar。
现代网络企业前端决定学习 TypeScript,因为它已成为事实上的标准。

我记得我在 Tora Seminar 有过一个 TypeScript 课程,我曾经学习过状态管理,所以我再次使用它。
之前编写过 Excel VBA(一种静态类型语言),我能够毫不费力地学习 TypeScript。
作为一本书,O'Reilly 的“Programming TypeScript”很容易理解,这很好。

(11) GitHub Actions 文档


网址: https://docs.github.com/en/actions
最初,我使用 CircleCI 作为 CI 工具,但我对 GitHub Actions 很感兴趣,因为它在 Twitter 上很流行,所以我决定将 GitHub Actions 不仅用于 CI,还用于 CD。

关于GitHub Actions,没有这样的教材,但是官方文档很容易理解,所以推荐。

(12) 练习! AWS CDK! (DevelopersIO 文章)


网址: https://dev.classmethod.jp/articles/cdk-practice-1-introduction/
我在 AWS 上部署了一个用 Ruby 和 TypeScript 编写的应用程序,我的产品组合几乎完成了。

但是,出于以下原因,我决定使用 AWS CDK 对基础设施进行编码。

我是从 AWS 控制台创建的,但随着时间的推移,我觉得我记不住分步过程。 Terraform 以编码基础设施而闻名,即使是没有经验的人在他们的投资组合中使用 Terraform,但他们从未见过使用 AWS CDK 编码的任何东西,因此可以区分它们。 我想了解新技术。

关于AWS CDK的学习资料不多,在Classmethod的博客“DevelopersIO”上找到了一系列讲解AWS CDK的文章。

从这篇文章中学习了基本的写法,参考官方文档编码ECS和Route53等,能够自己完成,文中没有说明。

8. 最后

使用上述材料,我使用 Ruby on Rails 实现了一个 API,创建了一个使用 TypeScript 实现前端的单页应用程序,将其部署到 AWS,并对其进行了编码。

就我而言,我开始学习编程已经快三年了,我已经学习了大约 2500 个小时。

等疫情平息了,本来想换工作的,现在作为地方政府职员被调到新冠状病毒传染病对策科的第一线,换工作的时间大大推迟了,没了。

但是,就我而言,我有很多工作经验,为了保证我不会在跳槽后立即辞职,我认为有必要准备一个比其他跳槽者更发达的作品集,所以在某种程度上。我认为它按计划进行。

以上是我利用现代技术开发的作品集,是我对网络的缺乏经验和我使用的教材。
目前,我主要在札幌换工作。如果贵公司对我感兴趣, @S42100254h 如果您能与我联系,我将不胜感激。

感谢您的阅读!


原创声明:本文系作者授权爱码网发表,未经许可,不得转载;

原文地址:https://www.likecs.com/show-308628739.html

查看更多关于介绍使用现代技术开发的组合,从缺乏经验的网络和使用的教材!的详细内容...

  阅读:56次