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

博客

React Native 课程更新:创建项目

2017.02.22 更新:创建 React Native 项目

最近更新了一下在 React Native 课程里做的一个小项目,支持新版本的 React 与 React Native。我录了一个视频,没有过多剪辑,基本上就是一个完整的在 macOS 上运行 React Native 的 iOS 应用的全过程,你可以边看边操作。

项目更新

安装新版的 react-native-cli  工具,然后用这个新的工具去创建一个全新的 React Native 项目,我又把自己写的项目代码复制到这个新的项目里面,这样再次运行 React Native 就不会有什么问题了。

项目代码更新

我们在 React Native 课程里做的小项目用了豆瓣提供的 API:

  • Top250:豆瓣评价最好的 250 个电影。
  • 北美票房榜
  • 电影搜索:搜索关键词返回相关的电影。
  • OAuth 2.0:登录认证。

宁皓网的学习路径:零基础第一阶段

您刚刚转行做技术,假设你对技术没有任何概念。下面是为你在宁皓网准备的第一阶段的学习路径。
第一阶段课程推荐完成期限:7 天 。

任务一:命令行

在一个命令行界面上,通过手工输入文字命令去执行对应的任务。您既然决定用技术改变世界,命令行工具是您一定会用到的东西,无法避开。熟悉以后,它会成为你的朋友。

课程:

《命令行》:学会用命令行操作文件与目录。

任务二:虚拟机

在你的电脑上安装一台 Linux 系统的虚拟机,在上面熟悉 Linux 操作系统。创建与管理虚拟机,推荐使用 Vagrant,虚拟机软件可以用免费的 Virtualbox。

课程:

Vagrant:虚拟机管理》:创建与管理虚拟机。

任务三:Linux

Linux 也很多种类,这些种类叫发行版,CentOS 就是其中的一种 Linux 操作系统,服务器经常用 CentOS 作为操作系统。在本地创建一台 Linux 虚拟机,然后在上面做练习。

有效的在线教育

我一直不太喜欢教育这个词,因为我觉得这个词有压迫力,而且被动。“我被小雪同学教育”,“小雪教育小羽要主动跟别人打招呼”。我更喜欢 “学习” 这个词,因为它很主动。别人强制你捐钱给慈善,跟你主动拿出钱捐给慈善,虽然结果是一样的,就是你的钱花在了慈善事业上。不过两种情况,你的心理感受是完全不同地。在我有限的几年被教育地经历里,没有留下美好地回忆。但我清楚的记得,因为学到了一个小技巧,出门骑着车,迎着风,哼着歌地感觉。

我记得我最最原始的学习动机是想自由职业。但是,直到 30 岁,我才真正感受到学习的重要性,有点遗憾当初浪费了大量的时间。如果从我辞掉工作开始,就能有计划的学习,公司早上市了,这种永远不成立的假设可以随便吹,是吧。现在看来,公司上市还得再等几年:)张老师说:“学习,什么时候都不晚” 。

开始严肃的对待学习,是之前我跟朋友合伙开的公司面临转型,从一个培训班,转到要做自己的产品,我学了一个叫 Drupal 的程序。那时的动机就是要马上学会,这样才能做出我们想要的网站。有压力,它给我当时的学习提供了动力,因为公司没有收入,马上就要黄了。在这种状态下,学习的效果还是挺好的,压力转成了动力。动机就是要做出自己想要的东西。

React:创建一个 React 项目的最小配置

这篇文章的目的是让你理解创建一个 React 项目的最小配置过程。React 官方为你提供了创建 React 项目的工具(create-react-app),用它可以很简单创建 React 项目,基本不需要做任何的配置,直接就可以进入到开发过程。但这个过程太过神奇,我认为还是要理解一下,创建一个 React 项目,至少要做的一些配置。

React:快速创建 React 应用

创建 React 项目(2017)

打算创建一个 React 应用,你得先准备一大堆工具,你还得配置一下,让它们可以混合在一起工作。比如你需要编译 JavaScript 用的 Babel,打包用的 webpack,一个在本地运行的服务器等等。

React 现在提供了一个 create-react-app 小工具,使用它可以非常方便的创建 React 项目,它会为你准备好一个简单的 React 项目,并且安装配置好 React 应用需要的所有的工具。

安装工具

确定电脑上已经安装好了 node 与 npm。然后去安装 create-react-app:

npm install -g create-react-app

创建 React 项目

使用 create-react-app 创建一个简单的 React 应用,ninghao-react 是我的 React 项目的名字:

赠送活动即将结束

现在订阅宁皓网,新订用户可以多赠送 6 个月会员时间,老用户续订或重订可以赠送 18 个月。这个活动到本月就结束了 :)

这就去订阅

Drupal 7:支持 emoji 表情符号 😬

Drupal 7.5 开始支持 utf8mb4,一种数据库字符集,有了它你的文章里就可以用 emoji 了,就是这种东西: 😀 😬 😁 😄 😊 。先看一下自己的环境是不是满足 Drupal 的要求,如果满足就可以配置数据库,修改 Drupal 的配置文件,转换数据表,让你的 Drupal 支持 emoji 。

需求

  1. mysql 5.5.3 或以上版本。
  2. PHP MySQL 引擎必须支持 utf8mb4 字符集, libmysqlclient 5.5.3 或以上,mysqlnd 5.0.9 或以上。

Discourse + Docker + 阿里云的痛苦经历

Discourse 论坛我遇到两次资源占满的情况,第一次通过升级解决了问题,过年以后又遇到了占满 CPU 与内存的情况。即使没人访问一样会占满服务器的所有资源。 这次原因可能是之前服务器磁盘满了,Discourse 会在后台循环处理一些任务,比如给用户发送邮件,如果任务无法执行,会不断的重试。这应该就是导致占满资源的原因。在下面这个页面上你会看到重试的任务。访问地址:

sidekiq/retries

导致任务不断重试是因为我的邮件配置有问题。可以使用阿里云的邮件推送服务,宁皓网有相关的课程。

我折腾了一圈,升级 Discourse,升级 Docker,更新 Docker 配置,更换服务器,恢复备份。但实际上,只需要几步就能解决:

cd /var/discourse
./launcher enter app
redis-cli flushall

折腾过程

我用了一台 1 核 2G 的阿里云 ECS 服务器。遇到问题以后,重新启动应用可以维持一段时间,越往后就越严重。最开始想到的是升级 Discourse。

阿里云 ECS 服务器磁盘扩容教程

在阿里云 ECS 服务器上的数据磁盘满了,可以再去给磁盘购买点空间,也就是扩容,这个过程现在并不容易。我花了至少两小时时间,因为一直不太敢执行磁盘相关的命令。下面来说一下给阿里云磁盘扩容的完整流程。

先登录阿里云控制台,找到你要扩容的磁盘,在更多下拉菜单那里,选择 “磁盘扩容”,选择想要的容量,并支付。下图里显示我有个数据盘,大小是 40G,这是我扩容之后的容量,之前它是一个 20G 的数据盘。

合理怀疑:网站无法打开

一大早刚准备开战,收到了核桃姐的微信,说网站打不开了,刷新好几次才行,我试一下果然打不开。跟之前不同的是这次遇到的是网络问题,打开阿里云控制台,检查服务器健康状态,一切正常,打开负载均衡,一切正常。SSH 到某台服务器,也是正常的,Ping 值都是正常的。

抓紧买了两台新的负载均衡,重建让域名指向新的负载均衡,结果还是一样的。我又重建了服务器的安全组,配置了规则,还是不行。我开始怀疑有可能是阿里云本身的问题,我愿意相信是阿里云的问题。嘿嘿。提交了工单,询问状况。结果得到了回馈:

尊敬的客户,您好:
之前由于华东1地域负载均衡https因网络波动导致访问不稳定情况,经过紧急处理已经恢复至正常水平。相关官网公告:
https://help.aliyun.com/noticelist/articleid/20159916.html
同时我们也会对异常情况进行复盘改进,提高业务的稳定性,给您带来的不便,请您谅解。感谢您对阿里云的支持。

如果能发个短信,我就不用折腾了 :) 感谢阿里云的工程师,辛苦了。

微信好友

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

微信公众号

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

240746680

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

统计

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

社会化网络

关于

微信订阅号

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