over 1 year ago

1.出现什么问题
昨晚刚刚做到job-listing第一遍 https://fullstack.xinshengdaxue.com/posts/548 setp4
看到教程有代码可以实现“薪资不能为空 最低薪资至少要大于 0”
validates :wage_upper_bound, presence: true
validates :wage_lower_bound, presence: true
validates :wage_lower_bound, numericality: { greater_than: 0}
_于是为就在想可以仿照这个代码,实现一下“最高薪资大于最低薪资的功能”
然后就有了下面这行代码
validates :wage_upper_bound, numericality: { greater_than: wage_lower_bound}
_然而出现了报错
https://ww4.sinaimg.cn/large/006tKfTcgy1ff7atipqykj30rs08mwfu.jpg
2.如何解决
群内求助,有小伙伴私信,发来一段代码
validates :wage_lower_bound, numericality: {less_than: :wage_upper_bound, message: “薪水下限不能高于薪水上限“}
_结果还是报错
https://ww1.sinaimg.cn/large/006tKfTcgy1ff7azgv5udj30s60ag768.jpg
把中文提示信息拿掉是可以的
仔细看一下报错信息,应该是标点符号中英文输入法的缘故
果断手动把标点改成英文,OK了
3.学到了什么
代码中关于冒号的用法:一个冒号是针对具体的数值
两个冒号是针对一个变量吧 而且两个冒号直接还需要空格
输入代码时注意标点符号需要是英文的,粘贴过来的代码要特别留意
同时,还顺带学习了message功能
4.情绪的低点
有了想法,不知道正确的实践方法
5.情绪的高点
当有了些许想法,有了些许小聪明的时候
6.怎样可以做到更好
加快学习进度,把之前落下的课程全部补起来

 
over 1 year ago

1.遇到什么问题
一直使用logdown来记载编程中遇到的各种问题
慢慢习惯了这种简洁的记录方式
习惯在描述问题之后配合图片,让问题和结果简单呈现
之前听过免费版logdown对上传图片有数量限制
今天终于遇到了这个问题
2.如何解决
采用图床软件ipic
一键上传图片到服务器,然后自动生成一个链接,同时自动复制这个链接
在需要的时候直接粘贴这个链接就好了
3.怎样可以做到更好
lowdown上传图片是可以直接看到图片预览的
用ipic在正文中看到的是一个链接,需要点击跳转,体验不是很好
之前助教提过,可以使用markdown(印象笔记)

 
over 1 year ago

核心:把行动的成本降低
不要刻意想着去坚持,去培养习惯
这样想法背后的潜台词就是需要付出很大的成本
人的潜意识是抗拒的
所以不要有诸如“跑步1小时”,“健身2小时”,“编程一天”的想法
把行动成本降到最低
就想着“我去跑个步”,“我去编个程”,“翻开一本书看看”
只要开始就好了
一旦开始,就成功了百分之八十

调查发现,一旦开始行动,只要能持续十分钟,后续的行动就简单轻松多了
就像跑步时的极点:刚开始运动时身体从安静状态突然转化为运动状态,内部器官一下子不是很适应
这时候会出现肌肉酸痛,呼吸困难,情绪低落,不愿坚持下去的感觉
只要咬牙坚持熬过这一段生理倦怠期,往后的运动过程就很顺利,坚持的时间也越发持久

人在行动时也有同样的过程,人的大脑都是贪图享乐,怠于思考的
据统计:人类脑部的重量只占体重的2%左右,但消耗的能量占整体消耗量的20%
人体为了节约能量消耗,千万年来形成各种各样的本能反应和应急机制,来保护自己,避免大脑从事思考活动
但是正如《人类简史》所言:我们人类是现代人的外型,却保留了农业社会的胃,拥有原始社会的思考方式
在能量获取短缺,粮食来源不稳定的原始社会和农业社会,大脑采取这一保守策略是合适的
但在当下物质生活极为发达的现代社会条件下,粮食短缺的问题已经不复存在
伴随着现代人的是生存压力的逐渐增加,迫使着现代人不断打磨升级社会生存技能
在先决条件不复存在,现实生存压力的情况下,大脑原有的怠于思考的生存哲学必须适时作出改变
所以当你察觉到内心的懈怠而开始拖延时,告诉自己:hey,大脑,是时候改变生存策略了,行动起来吧

参考资料:
脑力劳动者
《人类简史》
知乎:跑步中的极点

 
over 1 year ago

1.遇到什么问题
在做job-listing,教材教我们新增三个栏位,创建了新的数据db表单
https://fullstack.xinshengdaxue.com/posts/548 步骤一
同时助教yammy给出了这样的解释:新增 db 文件一方面是为了方便管理和查看 知道你 migrate 了那些文件 另外一方面 如果你在老的文件上直接改 有可能不小心修改了老的内容 那么执行 rake db:migrate 的时候有可能丢掉老的栏位等 所以为了保险起见 最好新增新的数据表单
但是我想尝试一下直接在老的数据里面添加内容
2.如何解决
于是我直接在atom里面删除了刚刚新增的数据表单,仿照教材在老的表单中添加了这样的内容
t.integer :wage_upper_bound
t.integer :wage_lower_bound
t.string :contact_email
https://ww2.sinaimg.cn/large/006tKfTcgy1ff5xufjbh2j30dd095gml.jpg
然后执行rake db:migrate,并没有什么反应
请教了助教之后,才知道还有一招:先执行 rake db:rollback 然后再执行 rake db:migrate
看来第一步代码是为了撤销数据库的上一步操作,相当于control + Z
第二步才是把最新的操作真正输入到数据库
3.遇到第二个问题
教材做完步骤二后发现,虽然新增饿了三个栏位,但是新增的栏位并没有在前端进行显示
于是我在index和admin/index里面增加了如下代码
https://ww1.sinaimg.cn/large/006tKfTcgy1ff5xax97uvj30oi0f2wh2.jpg
但是这些代码加进去,输入相关信息之后,前端并没有达到预期效果
https://ww3.sinaimg.cn/large/006tKfTcgy1ff5xyx7lygj30sj05q0t4.jpg
似乎只是多出来三个空位而已
4.如何解决
请教助教之后:执行一下rails c 然后执行 Job.all
https://ww4.sinaimg.cn/large/006tKfTcgy1ff5y2fewvqj30fs039q3d.jpg
从记录看来,新增的三个栏位,输入信息失败
这时候助教提醒,需要步骤三的内容:controller需要增加内容,用于接受信息
5.在以上过程中遇到问题
在以上过程中,开始怀疑自己第二点做的是否正确,于是开始放弃当前step 3的分支,回到step 2分支,然后执行了三兄弟
三兄弟里面有一个drop db的命令
然后悲剧就发生了,用户名下拉菜单中的admin选项不见了
于是我又开始慌了,中间堕落消沉了好几天没有编程
6.如何解决
今天中午请教了助教,其实就是很简单了命令
执行 rails c
u = User.first
u.is_admin = true
u.save
exit
原来就是把当前用户定义为admin,这样admin下拉菜单才会出现,笨呀
5.情绪的高点
发现了教材的缺陷,或者是发现了自己跟教材不同的想法
6.情绪的低点
发现了问题,往前尝试了一步,没有实现效果的时候,特别受挫
7,怎样做到更好
遇到挫折不要放弃,勇于探索
摸索一阵无果后果断求助

 
over 1 year ago

1.发现了什么
在job-listing过程中,发现相同的代码,出现了两种不同的表格形式
https://ww4.sinaimg.cn/large/006tKfTcgy1ff5w8n45kuj30s106dq3q.jpg
https://ww1.sinaimg.cn/large/006tKfTcgy1ff5w8upcpoj30rs07emy4.jpg
然后就觉得很有趣,但是百思不得其解
2.如何解决
在助教的帮助下,发现原来两个表格的表头是不一样的
https://ww1.sinaimg.cn/large/006tKfTcgy1ff5wa8753nj30pu09ita4.jpg
https://ww4.sinaimg.cn/large/006tKfTcgy1ff5waed76wj30sf0a1wfv.jpg
bordered 和 boldered 造成了不同的效果
3.情绪的高点
发现了表格不同的表达形式的时候
4.情绪的低点
发现了表面的不同,却没有找到背后代码的差异的时候
5.怎样做到更好
查看代码要仔细认真,表浮躁,不追求一时的块,这种情况下不能使用快速阅读的方法
当然,助教还给了高阶教材,有兴趣可以去研究
http://www.w3school.com.cn/tags/tag_table.asp

 
over 1 year ago

1.遇到什么问题
在做job listing的首页 这两行太近了 想在中间加一个空行
https://ww2.sinaimg.cn/large/006tNc79gy1ff5vb3n3tnj30s003dglp.jpg
2.如何解决
在google上找了一圈,一头雾水,怀疑是不是自己词不达意,答案不是自己想要的,索性直接求助助教
助教提示在两行代码直接加入
, 代表一个空行的意思
但是我这样加入以后并没有什么反应
https://ww1.sinaimg.cn/large/006tKfTcgy1ff5vivysv4j30qc0d3mz2.jpg
https://ww1.sinaimg.cn/large/006tKfTcgy1ff5vk8o2vzj30ry0blgn3.jpg
于是我开始在上下文中进行折腾,终于发现了窍门
这个
增加在前面的格式代码里面是有效的
https://ww2.sinaimg.cn/large/006tKfTcgy1ff5voag49qj30ki04fwev.jpg
3.学到了什么
这是一个简单的知识点
代表空行的意思
之前的代码里面遇到过,之前没有细究,没有去留意
这次是做首页的时候有点儿小想法,想去实现,才被动发现了这个知识点
编程的目的是为了实现自己的想法,所以我认为比coding更重要的是个人的想法
4.情绪的低点
助教给了方法,实践出来却没有效果
5.情绪的高点
有两个
一是发现自己有了想法,不再按部就班地按照教材中的内容来执行,觉得很开心
二是解决问题的思路有了改进:先自己google,然后求助助教,最后上下文探索
6.以后怎样做到更好
拿出整块的时间来编程和思考
对待事物有自己的看法和追求
强化自我学习能力

 
almost 2 years ago

1.发现了什么问题
rails101第三遍写完之后上传github和heroku之后出现报错


2.如何解决
查看终端机log,发现了几个不痛不痒的warning
无非是gem version old什么的,并不是出现错误的原因
查看终端机log记录,并没有看出什么异样
求教助教,学到一个命令 “heroku logs | grep -i error”
这下果然发现问题

原来有语法错误
马上翻到相关atom页面,往前对照教材,果然前一步替换代码的时候有几行忘了删除,导致系统无法识别
这时候才发现原来本地服务以及报错了,最后一次操作本地服务没有验证就直接上传了
3.心情如何
昨天从早上七八点一直到晚上九点都在芸薹coding,终于从下午两点开始一口气把rails101做完了
当时心里那个开心和激动别提多得意
店长看我坐了一天,非常敬佩,最后我去买茶还打了五折
最后到九点十五,rails101敲到最后到完成,上传后出现报错,心都凉了一截,无奈要赶火车,匆匆离开
今天晚上才开始解决
4.学到了什么
有bug要先解决才能上传,上传之后很难查到错误
过程中自己Google,学会在github中删除保存到程序,感觉好暗黑
http://blog.csdn.net/deng0zhaotai/article/details/38535251

 
almost 2 years ago

一.关于delete
heroku目前是免费账号,上限只能上传5个app
一直想删除上面的app,自己摸索后没有找到地方
刚刚google一下,发现了全栈营两个前辈介绍的方法
1.官网里删除
http://majunnan.logdown.com/posts/1243187-how-to-remove-extra-deployment-heroku-app
不知道为什么做到最后一步,对话框里面delete app的按钮一直是灰色的
尝试了很多次都是这样,后来不知怎么突然就好了
2.代码删除
http://blog.bro.tw/post/2016/02/01/443276
使用代码删除的话有一个确认步骤,仔细看清空,需要再次输入文件名称
这篇文章里还介绍些别的小工具可以尝试
二.关于rename
app上传heroku之后,系统自带的名称乱七八糟,跟我们做的名字完全对应不上


看起来真是苦恼,于是想到去rename:把heroku名称跟专案名称对应起来
1.官网里rename
http://majunnan.logdown.com/posts/1243187-how-to-remove-extra-deployment-heroku-app
在setting里面可以删除,但是仔细看它的提示

还需要“update your git remote",在终端机内更新一下推送路径,不然下次推送就找不到了路径了
点击哪个超链接之后会弹出帮助文档,指导你怎么update
2.代码rename
http://blog.bro.tw/post/2016/02/01/443276
这里不需要“update your git remote"
但是它还有提示

它的意思是当前所在分支的推送路径已经自动更新,其它分支的推送路径还是需要手动更新的
具体怎么更新,还不大清楚,目前我们只是push最后一个分支,还没有遇到一个专案同时推送很多分支的情况,等以后遇到解决吧

 
almost 2 years ago

今天下午第二次参与线下meetup,绝大部分时间大家独自敲代码
最后半小时各位分享了各自最近的两最“最有用的方法/插件,最大的坑”
有以下一些收获
1.有效学习时间
需要大块、集中的学习时间
杜绝碎片化学习
包括xdit一直强调:rails101一定要一次性完成
学习之后学会复盘:不看教材复盘
2.要有成长率
每天有进步:比如今天敲rails101花了10小时,第二天要有进步
3.compare提高工作效率的各种小插件
比如输入路径后直接打开目标文件:可以避免粘贴教材代码时放错位置
代码比较插件:自动比较自己手敲的代码跟教材差异
oh-my-zsh theme:可以实现terminal背景更换,缩短命令行前缀等功能(这个插件帮助文档里面第二课有详解)
各种小插件功能强大,不过目前阶段我还是先追赶作业进度,小插件后期再研究
4.关于rake
通常更新了db里面的内容后需要rake
rake是把数据同步到本地服务器
通常rake之后需要重启服务器server
5.关于情绪
几个人在一起效率确实比较高,虽然我中间小憩过一两次,但是感觉睡觉效率也很高哇 ^_^
还是要结伴而行,大家相互切磋

 
almost 2 years ago

目前做到rails101第二遍,对这两个命令有初步印象
两者都结果都可以在atom特征树创建新的页面
不同点:
touch 单独生成一个文件,可以实时更新
rails g 生成一个模块,产生很多文件;同时每次产生 migration 之后都要运行 rake db:migrate

20170409补充:
mkdir新建文件夹,不过此时文件夹是空的,需要跟touch配合使用
示例如下: