刘华佼的全栈学习记录

8-15 rename heroku apps

| Comments

source:https://devcenter.heroku.com/articles/renaming-apps

1. 

$ heroku apps:rename newname

Renaming oldname to newname... done
http://newname.herokuapp.com/ | git@herokuapp.com:newname.git
Git remote heroku updated

2. Renaming without a checkout

$ heroku apps:rename newname --app oldname

http://newname.herokuapp.com/ | git@herokuapp.com:newname.git

3. Updating Git remotes

$ git remote rm heroku
$ heroku git:remote -a newname

8-15 partial的用法

| Comments

  <% @articles.each do |article| %>
    <tr>
      <td>#</td>
      <td><%= link_to(article.title, article_path(article)) %></td>
      <td><%= render_article_description(article) %></td>
      <td><%= article.user.email %></td>
      <td>
        <% if current_user && current_user == article.user %>
          <%= link_to("Edit", edit_article_path(article), class: "btn btn-sm btn-default")%>
          <%= link_to("Delete", article_path(article),    class: "btn btn-sm btn-default",
                      method: :delete, data: { confirm: "真的要删除吗?" } )%>
        <% end %>
      </td>
    </tr>
  <% end %>

这部分内容删除,改为:

  <%= render :partial => "article_item", :collection => @articles, :as => :article %>

然后在同一文件目录下新建_article_item.html, 内容与删掉的一样,仅仅少了第一句和最后一句:

  <% @articles.each do |article| %>
  <% end %>

我的猜想是:
render :partial => "article_item" 代表要调用文件_article_item.html
:collection => @articles, :as => :article有循环的意思,功能等同于:

  <% @articles.each do |article| %>
  <% end %>

6-12 JD-STORE商店大赛总结

| Comments

我和队友是5月8号组队,而后练习协作,商议参赛作品主题,然后从5月23号开始实作,6月11号15次迭代结束。我回顾了这20天的记录,总结了如下经验教训:

好的经验有:

选择合适的队友、拆分细作、由易入难、及时求助、会什么用什么、从善如流、小步迭代、大胆尝试新创意、应对情绪的妙招、应该有点儿傲气。

下面将一一将细说:

选择合适的队友

开始有几个在魔改大赛中得过奖、排名比我前的几个学员联系我希望合作,但我觉得协作中沟通非常重要,所以选择线下meetup的伙伴。并且我觉得自己的想法很多、说话又比较直,需要找一个沉稳冷静、不会介意我不太会说话的人合作,所以选择了现在的队友。

事实证明我的选择很正确,整个协作很愉快,我们杭州线下meetup参与的人数非常少,我跟她是唯一的两个从始至终每周末都参加meetup的学员,并且有时连续两天meetup,在比赛结束的前一天,我们一起连续meetup了7个小时,一起对作品做了一个重大的调整。

在合作过程中,队友多次把我从“忘记看别人怎么做”、“眼高手低”、“死想为什么”三个大坑里拉出来了,甚是感谢。

选择队友并没有固定的标准,最重要的就是能够合作愉快。

拆分细作

作品刚开始协作,心理上感到很困难。我认为,当想做的事情太多、目标太难达到、感到烦躁时,就该将其拆分细作。于是第一天,就把要做的事情写在白纸上,然后将其拆分为四条,当天下午五点前就完成了。

首页也是我感到困难的部分,于是在第二天的实作中将其拆分为3个板块,也及时完成了,并且效果超出自己的预期。

由易入难

比赛持续21天,有时候难免情绪低落,或者觉得烦躁,这时候就从简单容易又能出大效果的改动入手,比如我有时候状态不好,就先改作品的“思”字,换一个艺术字体,立刻能出效果,心情也很快就好转,接着就可以做感觉稍微困难的部分,比如在首页加产品展示板块、美化产品详情页等。

及时求助

我在魔改大赛的血泪教训就是自己捣鼓时间太长,有时候花了两三天才做出一个功能,所以这次遇到问题,最长2小时捣鼓不出来,就立刻上slack问助教。

有时候自己难以从坑里自拔,这时队友就起了重要作用,她会提醒我去slack上问助教,去论坛搜教程。

有次抄学霸代码做在文本框里更改产品数量的功能,折腾了好久发现学霸代码本身有问题,我还要继续折腾下去,是队友及时提醒,并建议先做成+/-这样的简单功能,然后到论坛上找其他教程,很快就做出来了。

会什么用什么

在上传图片时,我并不喜欢用ipic,但是想到应该“会什么就用什么”,于是就没再另外花时间找其他图片上传工具,直接用了ipic。幸亏这个决定,否则我不知道又要浪费多少时间在找其他工具上面。

从善如流

我们的作品从一开始,就及时采用别人的建议。首先更改了大家吐槽最多的首页背景色,效果就提升不少。

特别感谢joshuagou、jacksparrow、肖英全、TIM、闭欣欣、刘冰杰、韦月炎、张舒娟、heysy0520、伯桐、赵雪萍、韵儿爸爸、rongrong、潘秀斌等朋友的宝贵建议,每一次采纳建议后的改动,都让我们的网站变得更好一点。

小步迭代

我们的作品经过每次采用别人的建议,进行小步迭代,到第9次更新,就得到Xdite大神的投票了,这个激励实在太大的,让我们更有动力持续迭代下去。

大胆尝试新创意

比赛结束前两天,结合一个朋友“将产品图片改用统一色调”的建议,参考了得到app里的卡片样式,将产品图片替换成文本框,底色改为与网站色调统一的颜色。

这个创意在一天内实现了,改动后的效果很好。

应对情绪的妙招

情绪如果不好,就是一个消耗时间的大坑。所以一定要把情绪护理好。我采用的小办法有:

  • 觉察到情绪下滑时,就赶紧对自己反复念叨“我会有好运的”;
  • 当看到别人的作品很精彩产生焦虑时,就告诉自己注意力放在自己的进步上面;
  • 从简单的、容易获得成就感的地方做起;
  • 关闭朋友圈;
  • 遇到重大心理挫折,就及时休息,休息好后,再做下一步计划,让理性、而不让情绪参与决策。
  • 写践行打卡记录,或者写公众号文章,
  • 去帮助别人解决问题,把注意力从自己身上转移开;

意外好运

我们作品上线,是因为队友在slack上问问题,意外遇到戴建林助教,他建议我们先将作品上线,并激励我们说如果当晚上线,就给我们投票。于是我们就提前一天上线了,并获得了鼓励的一票。这个经历太开心了。

应该有点儿傲气

因为我自知前端设计能力不够,所以前期美化页面直接抄了上期比赛作品的代码。抄的代码去拉票,很可能会被鄙视。被鄙视后心情很不好受,于是咬咬牙,闷头改bug,最后解决了抄的代码里本身有的bug。解决之后心情格外舒畅,给自信攒下了好多积分。

我觉得有些小事可能对于参赛作品拿名次来说并不重要,但是情绪上如果过不去的话,就一定要直面、解决这些小事,让情绪好起来。躲避、拖延只会让情绪更糟糕。

除了这些好的经验,当然也有教训。

我们的教训有:基础不扎实导致非常大的时间浪费,没有去认真研究高频的自适应问题,后期协作松懈,没有使用Tower。

基础不扎实

在前期抄代码时,有两次,我自己随手加了一行代码,结果后来就出问题了,自己解决不了,只好去slack上问,造成许多不必要的时间和精力浪费。

而假如自己在开始学教材的时候沉静一点,多练几遍,多想下为什么,基础好一点,完全可以自己在很短时间内解决的,因为问题很简单。

没有去总结高频bug

自适应问题是我在魔改大赛就很频繁遇到的坑,也让我花了很多时间去解决,但解决完后没有及时总结写教程。导致这次又重新花时间去解决,解决后又没及时总结写教程。

后期协作懈怠了,没有在Tower上写任务

我们后期协作就没有在Tower上写任务分配了,就是按照别人的建议改,改了也没有写到Tower上去,我觉得这是比较遗憾的。因为这样项目就没有记录了。而比赛结束后,就更没动力去写了。

以上就是我在JDStore大赛中的经验教训,再总结一遍:

好的经验有:

选择合适的队友、拆分细作、由易入难、及时求助、会什么用什么、从善如流、小步迭代、大胆尝试新创意、应对情绪的妙招、应该有点儿傲气;

教训有:

基础不扎实导致非常大的时间精力浪费,没有去认真研究高频的自适应问题,后期协作松懈,没有使用Tower。

6-11 JD-STORE大赛实作第十九天

| Comments

“最后一公里”小密圈 昨天(6/11)践行打卡的扩展篇:

行动

1)比赛最后一天,根据别人的建议修复了一个问题,参赛作品做最后更新。

2)专门写了一篇文章拉票。

背后的观点

做事要有始有终,全力以赴。
不求完美,但求无悔。

行动的结果

增加了一些票数。

经验教训

1)从网站客服系统的留言建议来看,我关注的问题(轮播图切换体验不够好),与用户关注的问题(购物流程体验)有差异。

2)从票数增长数量来看,我不擅长做运营。

下一步怎么做

复盘大赛,总结经验教训,做下一步计划,休息一周。

V2.0

1)根据用户在客服系统的反馈,去掉不能稳定显示的思源黑体,统一为其他能稳定显示的字体。
2)JDstore文本全部改为“思想便当”。
3)解决了上个版本下拉列表按钮失效的bug。
2017-06-11 13:25

6-10 JD-STORE大赛实作第十八天 & 首页图片优化 & 文字淡入淡出

| Comments

昨天(6月10号)小密圈践行打卡扩展篇:

行动

参赛作品继续迭代,做了两个重大优化;与队友线下meetup连续7小时,对首页体验进行优化。

背后的观点

不到最后一刻绝不放弃。

经验教训

1)将新想法落地会让人越来越有活力。
2)高频使用的自适应还不够熟练。
3)CSS基础不够扎实,导致调试花了过长时间。
4)队友她遇到问题不沮丧、及时提问,要多加学习。
5)疲惫时不宜再继续调试作品。

行动的结果

顺利实现设想(还有一些不完美的地方待改进)。

————————————

V1.14

1)首页大图换用成与网站主题更契合的图片,文字增加淡入淡出效果;
2)首页第三板块的图片改用与主题更契合的图片;
3)产品详情页页图片改用fade-in-down动画效果。
2017-06-10 20:52

V1.13

1) 修复了购物车页面显示和自适应bug;
2)优化了购物流程,购买文章无需填写订单信息,即时下单购买即时到货;
3)购买完成后的页面增加在“我的思想便当”里查看已购文章的引导语。
2017-06-10 11:15


以上是6月11号在小密圈的打卡,幸亏有那时的打卡记录。

今天(6月12号)在准备复盘比赛时发现,我昨天竟然没写6月10号打卡的扩展篇。

6-9 JD-STORE大赛实作第十七天 & 更改产品展示卡片样式

| Comments

6月9号(昨天)小密圈践行打卡扩展篇:

改进的行动:

抱着试试看的心态实现了一个小创意,参赛作品做了一个较大的改动。

背后的观点:

有了好的创意就忍不住试试看,就算改错了也没关系,回到上一版本就好。

行动的结果

给自信心攒了很多积分。

经验教训

1)只有想不到没有做不到;

2)这次的创意是与别人的意见和真实的需求相结合才产生的。由此体会到,与真实需求结合的作品后面越改越有状态、越有动力;没有与真实需求结合的作品后面就改不动了、没有方向,这说明真实本身自带生命力。

3)勇敢大胆尝试,沉稳细心行动,成功概率更大。

4)突破困境能给自信心攒下大积分。

下一步怎么做

和队友一起把最后一个好建议落地。

改进的行动:

  • 昨天先在小密圈用手机自带语音输入法写践行打卡,体验很好。于是去掉了讯飞语音输入法(不过今天10号早上又准备装回来,还下载了搜狗的语音输入法。)
  • 在语音使用过程中,发现文字其实过滤掉了语音的语调和语气,等于过滤掉了很重要的信息。比如“那你有空给我讲讲”语音是很轻松的,但是转为文本发给别人,就显得很冒犯。

背后的观点:

因为回顾了下跟朋友交流的几句话,他说他用的很杂,而语音输入还有些不足,所以也想多体验几个试试。

行动的结果:

尝试手机自带的语音输入法,看到别人说电脑上也用语音输入法,就想着自己搜索一下,发现Mac也有自带的语音输入法,于是安装了。这个过程还挺折腾,因为下载量较大,而且听写的功能并不在网上的帖子里所说的,在系统设置的听写和语音选项里,而是在系统设置的键盘选项里面。

收到了另外一个群友的网站,给他交流后,发现了一个很好的模板网站。这一点说明,在网上一定要有一个自己的店铺,这样迟早有一天跟你同类的人就会通过这个网站联系到你。我决定明天购买主机上线,不过事先可能要征得笑来老师的同意,因为里面都是他的文章。(6-12号补充:这件事情没有落实,还在构思当中。)

经验教训

  • 尝试语音输入法也挺好的,打开了一个新世界;

  • 还是与群友交流的太少了。需要多主动交流。这一点还说明,在网上一定要有一个自己的家园/店铺,这样迟早有一天跟你同类的人就会通过这个网站联系到你。

下一步怎么做

安装搜狗语音输入法;
我决定明天购买主机上线。(6-12号补充:这件事还没落实。)

V1.12

1)更改产品展示卡片;将图片替换为文本;(对应produc#index, product#show,welcome#index的产品展示)
2)将devise的部分英文替换为中文;
3)扩展了seeds.rb的产品描述。
2017-06-09 19:51

6-8 JD-STORE大赛实作第十六天

| Comments

“最后一公里”小密圈 6/8(昨天)践行打卡的扩展篇:

行动一:

  • 昨天用备忘录记录灵感的时候,意外发现手机自带有语音输入功能,识别准确度不亚于讯飞语音输入法。
  • 自带的输入法可以将语音“换行,句号,冒号”等自动转换为符号。
  • 本文由手机自带的语音输入法输入。

背后的观点

此次发现纯属意外,只能归功于我突然想用备忘录把灵感记录下来的举动,触发了这个新发现。6/9号早上发了践行打卡后,朋友留言交流发现还有电脑的语音输入,于是开始折腾电脑,发现Mac自带有听写功能。连续点击2下Fn就可以开启了。真是文字工作者的福音啊。

行动的结果:

在微信与他人沟通的时候,开始改用手机自带的语音输入功能。

经验教训:

这说明自己在其他方面也有 “有好东西却不知道如何使用,反而要麻烦向外求” 的现象。

#下一步行动:

反思下自己现在是否在其他方面“有好东西却不知道如何使用反而要麻烦向外求”的现象。
以后向外求的时候想一下自己是否已经拥有却不知道。

其他行动:

1)写践行打卡记录。
2)网站添加2个新功能,也是心理难度较大的,但实现起来比想象中容易。最近并不太想做网站了,但还是继续硬着头皮做,凡事要有始有终嘛。(6月12号补充:做得对!)
3)写了4个小教程,有2个是群里问sendcloud账户冻结的问题,没人解决,于是自己网上找教程,解决了,有人问我,我就写了注册登陆需邮箱验证,和使用Gmail邮箱实现邮件转发功能的小教程,晚上六点多又写了2篇,不用gem安装客服功能,用思源黑体提升网站质感,当时已经不想写,就鼓励自己这不是自己之前想写的吗?不写老堵在心里,还不如写出来一了百了,然后就写出来了。
4)购买了一个域名,却不知道该咋用。准备9号再买一个虚拟主机。跟朋友沟通了下,原来这些就是为了提升网站的打开速度。

V1.11(上一版应该是V.10)

1)增加了用户注册后需要验证邮箱的功能;
2)sendcloud账号被冻结,与客服沟通(有大批账号被冻结),不能解封,于是邮件服务改为使用其他服务,“生成订单”按钮点击后出错的问题已修复。
2017-06-08 12:26

6-7 JD-STORE大赛实作第十五天 & 更改字体 & 增加返回顶部和客服功能

| Comments

“最后一公里”小密圈 6/7(昨天)践行打卡的扩展篇:

行动:

总计约花了2小时,通过zoom视频与队友和援助对象协作。

背后的观点:

相互促进,相互学习。

行动的结果:

解决了4个小问题。

经验教训

1) 其实帮助别人最好的方法是让自己变得更强大,这样别人才会更愿意听取你的建议,只比别人强一点点,别人就不太容易接受你的建议,更愿意照自己的来,哪怕你的建议是对的;
2)帮别人的时候体会到自己能力不够强;解决问题速度不够快。

下一步怎么做

多提醒自己,提升自身能力是王道。

改进的行动:

参赛作品实现了2个在心理上觉得有难度的功能,其中一个是别人建议的,另一个是觉得以现在的完整度,可以加nice to have功能了;解决了一个关键bug;

背后的观点:

别人的好建议一定要改,否则对不起别人,也对不起作品。

行动的结果:

作品变得更好看了,开始喜欢这个作品了。

经验教训

1)在做客服功能时,还是急躁了一些,应该先多花时间看下别人的教程,然后开始做,减少自己胡乱摸索的时间。
2)总体来说,还是比较冷静的,没有从众入坑,并及时独立解决了几个关键问题。
3)教程还没有写,不过把关键点记下来了。
4)那些功能的实现难度其实远小于心理预估;从前多次被心理预估的困难吓到而停止前进,是很不划算的。

下一步怎么做

1)下次想做什么,事先多看下别人怎么做的。
2)遇事要冷静,冷静是省时利器,制胜法宝。

其他

  • 跟一个朋友讨论了职业选择,他督导我做行业调研,实现计划。
  • 这两天都是四点多醒来,晚上是九点左右睡。看来早睡,自然就能早起。

V1.9

修复了产品列表页面没有显示购物车按钮和js效果的bug。
2017-06-07 19:56

V1.9

1) 按朋友建议,更换字体,看了论坛帖子后,决定将字体改为思源黑体;
2) 增加了快速返回顶部功能;
3) 增加了客服系统;
2017-06-07 16:10

6-6 JD-STORE大赛实作第十四天 & 修复自适应bug

| Comments

“最后一公里”小密圈 6/6(昨天)践行打卡的扩展篇:

改进的行动:

队友不赞同,但仍坚持修复了自适应的bug;

背后的观点:

作品被人鄙视,始终是个心结,作品得名次是其次,首先要做让自己看得起的事情;

行动的结果:

这次坚持己见,鼓起勇气,投入时间,稳定情绪,最终参照全栈营的代码修复了bug。发现了一期同学代码里的一些不完美的地方,感觉自己假如日积月累,是可以追上对方水平的。又多了几分自信。

经验教训

1)没有原创作品必然会被鄙视;
2)有时候突破困境需要一股不服输的心劲儿。

下一步怎么做

选一个有自己原创作品的职业。


改进的行动:

受小密圈同学打卡启发,放弃了偏爱的手机自带输入法,使用安装了很久但没用过的讯飞语音输入法;

背后的观点:

在守旧和跟进时代之间,选择跟进时代,选择语音输入法;

行动的结果:

讯飞语音输入法体验很好,语音识别准确度很高;

经验教训

要多跟二十岁左右的年轻人接触,紧跟时代;

下一步怎么做

多帮助二十岁左右的年轻人。


改进的行动:

帮助对象并未按我们的建议改进作品,约6号线上沟通。

背后的观点:

对方未按建议改进,并不是因为不愿意接受,而是她的心里想着其他nice to have的功能,无暇顾及must to have,且乐在其中;帮忙的结果不能控制,但还是要尽力去帮。

行动的结果:

约好7号上午9点线上沟通。

经验教训

帮助对象未按建议改进,作品效果不好,从反面说明我们作品一开始就接受别人建议,是最好的策略。

下一步怎么做

以后生活中多提醒自己多接受别人的建议。


改进的行动:

买13号回家的火车票;跟同学一起。

背后的观点:

有机会就应该多陪伴父母。

行动的结果:

买票了。晚上打电话回家,爸爸很高兴。

经验教训

感觉应该两三天就打一次电话回家。

下一步怎么做

两三天就打一次电话回家。


V1.8版本更新:

根据朋友建议修改了:

1) 字体改为与全栈营一样:Verdana,"Helvetica Neue",Helvetica,等等
2)图片轮播时间间隔改为2s;
3)参考全栈营的参赛作品展示页,解决了产品列表显示自适应问题;
4)产品展示小图去掉外面的白色框架;

另外增加了:

5)管理员编辑商品页面增加了链接输入项。

待修复bug:

1)生成订单跳转页面出现bug(应该是今天改出来的问题,之前OK);
2)产品展示页面的购物车图标待复原。
2017-06-06 17:09

6-5 JD-STORE大赛实作第十三天

| Comments

“最后一公里”小密圈 6/5(昨天)践行打卡的扩展篇:

改进的行动:

分别为不同的事向不同的人道歉或感谢。

背后的观点:

  • 道歉和感谢都不是人本能所情愿的,也常为人们忽视,但它们的作用很重要;
  • 按照原则是对的,在人情上是错的事情,既要坚持原则去做,也要为不近人情道歉;
  • 既然开启一个项目,就要完整的做完、承担全部:既要承担它好的一面,也要承担它不好的一面。
  • 没有什么帮助是理所当然的,得到别人的帮助应该及时感谢。

行动的结果:

道歉得到理解,自创的践行打卡模版也得到认可;感谢引来更多好建议。

经验教训

既然开始做一件事情,就要设想好所有可能性,有承受最坏结果的准备。

下一步怎么做

继续按原则维护小密圈;作品按照朋友建议改进。

行动:

继续写ORID,写的过程中,催生出一篇小教程。

背后的观点:

每天记录很重要,方便以后回顾,是让现在的自己,协作未来的自己。

行动的结果:

写完一篇很长的ORID和一篇小教程。

经验教训

写的过程中,才发现自己某方面不足,然后写出教程。

下一步怎么做

继续写。

其他

写教程,跟刻意练习类似。写的过程中,为了弄清楚,会重复做同一件事情。