20170226学习纪录

##Objective ###关于今天的课程,你记得什么? ####新旧知识 1、YY老师的Logdown上面有上传多图的方法; 2、在github上面的commit可以看到程序的merge纪录; 3、在atom的文件树里面双击可以直接改文件的名称,命名错误的时候就可以进行相应的改动,而不需要通过rm、touch的方式来重新生成; 4、陈俊鸿的客服系统,是通过注册现成的客服系统,然后将代码附上来使用的,收费版的可以客户可以保存纪录; 5、崔世瑞通过淘宝买临时VISA卡确实可以注册azws 3的服务; 6、danel师兄通过简单的设置,将网页改成了适配手机的版本,貌似是通过我在joblisting里面用过的@的命令; 7、resource :post 和 resource ‘post’ 是等效的; 8、微信小程序的课程取消了; 9、通过API可以实现网站迁移; 10、Xdite老师有一版写如何写手机app的,即通过API来实现; 11、lino网络可以用来部署服务器、VPN等等网络服务; 12、html/css的栅格显示工具; ####遗留问题 1、多图上传后,小图点击的问题; ####涉及资源 1、gem pry; 2、atom packge mini-map; 3、text-compare.com; 4、google plugin colorpeek; 5、网页笑来搜; 6、ASS网页工具feedly; 7、gem cancancan; 8、spectacle分屏工具; 9、深入浅出rails作者:David Griffithi 这本书; ###完成了什么? 1、参加了广州的meetup; 2、完成了template的cart_template_item; ##Reflective ###你要如何形容今天的情绪? 第一次参加meetup刚入场的时候有些紧张,然而几个问题交流下来发现大家都是热情分享和开诚布公的人,再后来气氛逐渐活跃起来大家开始话题开始各种扩展,有种老有相逢的感觉,愉快的一天^_^。 ###今天的高峰是什么? 真诚的分享了很多学习经验。 ###今天的低点是什么? 话太多,编程太少。。。 ##Interpretive ###我们今天学到了什么? 1、回答别人问题的时候要耐心一点,要把被无聊工作耗尽的耐心一点点找回来; 2、坐享应该是个愉快放松的过程,下次按胡文静的方法,不设定时间,坐到不想坐久起来; 3、站桩这个类似于马步、坐享的锻炼方法; 4、将作息调整到早上可能会比较安静且容易进入状态; 5、坐享应该在精神状态好的时候进行,因为如果这是刺激大脑皮层生长的一种方式的话,那么他一定是消耗内在能量和外在能量的; 6、冥想和坐享应该是两种不同的方法,一个要集中注意力,一个要放空思想,笑来老师说的是前一种,但放松的方式应该是后一种; ###今天一个重要的领悟是什么? ####学习方法 坐享的应该是一个放松的过程,而不是强制自己进行的; ####编程知识 通过gem pry进行断点查找功能; ##Decisional ###我们会如何用一句话形容今天的工作? 找到队伍了。 ###有哪些工作需要明天继续努力? 1、完成template的功能; 2、看Xdite老师的直播; ...

March 1, 2017 · 1 min

20170225学习纪录

##Objective ###关于今天的课程,你记得什么? ####新旧知识 1、在application.yml这个文件有时可能会隐藏,可通过atom自带packge的tree view来把它显示出来; 2、打开tree views的方法是,在Preferences中打开packge搜索后,点选Hide VCS Ignored Files框选即可; 3、VCS指的是文件管理系统,GIT就是一种VCS,git里就是.gitignore就是设定不追踪那些文件的; 4、application文件里的access_key,secret_key,buckt,buckt_domain,这些的写法一定要按照要求的格式一模一样,而不能乱改; 5、七年云的上传服务器对于不同的时区有不同的要求; 6、使用错误的时候,报错信息里会提示你相应的时区应该使用那个服务处的地址; 7、七牛云的store是qiniu,本地的是file,azws的是fog; 8、store自动匹配环境的方法: if Rails.env.development? store :file elsif Rails.env.production? store :qiniu end 9、gem figaro是把私密信息传送到heroku的gem,因为git不追踪它,所以需要通过这个方法来部署; 10、通过compare commit可以了解别人程序升级的步骤; 11、解决了为什么修改sqlite3代码位置和加入pg后,不影响locoalhost:3000的运行这个遗留问题; 12、Random rambling,随机漫步理论的英语原词; 13、heroku重命名有两种方法:一种是通过setting改,然后在iterm中重置远方地址;第二种是在iterm中通过代码重置; ####遗留问题 1、figaro的具体传送原理及实现方法; ####涉及资源 1、w3cshcool,学习前端的好工具; 2、七牛云,国内上传图片的服务工具; 3、GEM carrierwave-qiniu; 4、GEM qiniu; 5、GEM figaro; ###完成了什么? 1、购物网站的七牛云的图片上传设置; 2、七牛云的注册和设置; ##Reflective ###你要如何形容今天的情绪? 由于是周末,补了下睡眠,布置七牛云的过程很顺利,也感慨没有想象中的那么难,还是要实际操作了才能知道对于自己真实的难度,但是在部署上heroku上以后还是出现了问题,感觉好像是有预感会出问题一样,没有任何负面程序就开始了处理工作,显示看到网页显示要去查heroku报错,然后发现什么也没有,之后就想到local也可以部署云图片,就去本地设置了,在之后在本地的log发现了问题,并解决了问题,相当开心,debug真是件愉快的事情😁。 ###今天的高峰是什么? 在heroku的log查不到问题的时候想到在本地部署云图片来debug~ ###今天的低点是什么? 早上赖床,本来可以多编程一小时的。 ##Interpretive ###我们今天学到了什么? 1、图片部署的本地或者云是可选的,根据需要和实际情况选择; 2、rails的env代码为环境自适配提供了可能; 3、运行日记是debug非常重要的一个东西! 4、理论上来说,只要一个项目开源了,别人就能理解它,根据commit步骤; 5、要会看官方的说明,理论上来说,这时使用的最少必要学习途径; ###今天一个重要的领悟是什么? ####学习方法 好懂得去看官方说明,很多时候官方其实已经提供了,比如heroku的rename操作; ####编程知识 环境自适配,gem的以及uploader_image的; ##Decisional ###我们会如何用一句话形容今天的工作? 进账不如预期,但是意外的发现了debug的一个方法; ###有哪些工作需要明天继续努力? 1、参加meetup; 2、争取完template的所有功能代码; ...

February 27, 2017 · 1 min

20170226广州线下meetup纪录

##千呼万唤终于第一次参加了线下meetup活动,遇见了不少棒棒的小伙伴,随身携带用来记录的小本也满载而归,废话不多说,直接上干货。 ###技术及工具 ####gem pry 通过binding pry的设置,可以为controller运行设置断点,便于debug和厘清参数关系; ####colorpeek google扩张程序,用来获取当前网页的所有色彩的RGB值; ####mini-map atom的packge,类似游戏的小地图,用来在代码窗口跳跃显示部位; ####github commit github repo中的一个页面,本是用来显示自己程序的commit过程,也可用来理解他人代码及用来学习; ####feedly RSS工具网站,简而言之就是用来关注指定页面更新信息,包含但不限于blog; ####笑来搜 网友设计的用来搜索笑来老师文章内容的网页工具,相当强大,从此不用翻遍学习学习再学习公众号去找某篇文章,省下了不少的注意力和时间; ####《深入浅出rails》 作者:DavidGriffithi,讲rails基础知识的书,能补充大量教材上面没有的基础知识; ####https://text-compare.com/ 文本比对工具,可以用来对比错误代码同教材或者其他参考代码的不同; ####duet 把ipad作为扩张分屏的app,mac os及windows均可配合使用,appstore收费软件,一次性收费100左右; ####spectacle mac屏幕程序便捷分屏软件; ####GEM cancancan 用来配合devise进行用户权限管理的GEM; ####存代码的网站 有个存代码的网站,便于别人帮你解bug,忘记地址了,回头补上; ###跳坑大法 ####在学习过程中如果遇到过不去的地方,处理了半天还没有处理产生负面情绪后,就先暂停。可考虑20分钟为限; ####学习过程中一定要主动思考,不能理解的地方不用纠结,不能不过脑子就往下走; ####设置application.yml中的key和buckt时一定要按照要求的格式一个空格都不差的填写,不然会报错; ###其他分享 ####把晚睡的时间调到早起可能会收获不一样的效果,在有家人的情况下,家人还没起来也比较安静容易进入心流; ####程序员的生活虽然充满热情,但可能不够多彩,可以的话多培养爱好和四处旅游; ####暗时间这个指我们可以调用但是实际上忽略的时间的概念; ####坐享的时间因人而已,可以早上、中午、晚上;

February 26, 2017 · 1 min

2017年第08周总结

1.“本周学到的最棒概念/工具” 本周学到的最棒的工具是通过github去查看其它同学的功能实现过程,之前只知道去上面查看同学的代码,但这周通过做merge的主程后发现可以通过compare去比对代码的过程,进而发现了可以通过clone同学的代码到本地再推送想要了解功能的分支到git上compare比对代码,最后在meetup交流过程中同学们指出直接就可以在commit里面查看更新代码,而不需要clone下来。 2.“本周遇到最大的坑” 本周遇到的最大的坑是在加入新的gem后bundle install,没有重启rails s,以前根据教材进行都会进行这一步,但这次创意大赛进行的功能编写就忽略了这一点,花了一个多快两个小时才在stack flow上找到了答案。

February 26, 2017 · 1 min

20170224学习纪录

##Objective ###关于今天的课程,你记得什么? ####新旧知识 1、通过_id关联起来的两个量,当通过主键量对关联对象进行赋值时,和主键量对自己的单一量赋值不同,可以进行数组赋值,通过使用【】符号来实现,例如 <%= f.file_field :image, :multiple => true, name: "templatephotos[image][]" %>("请上传5张图片")<br> 2、可以在主键量中通过 accepts_nested_attributes_for :templatephotos private def template_params params.require(:template).permit(:title, :description, :price, :version, :proportion, templatephoto_attributes: [:image, :id]) end 一对语句进行赋值确认,即对templatephotos赋值前必须先对template的指进行确认; 3、bundle install后一定要重启rails s; 4、imagemagick是mac的环境工具,而不是rails的套件工具; 5、mini_magick是用来进行图片大小调整的carrierwave的相关套件; 6、在uploader里面设置的 process resize_to_fit: [800, 800] version :thumb do process resize_to_fill: [200, 200] end version :medium do process resize_to_fill: [400, 400] end 相当于上传时就对图片进行了切割,生成了相应的三个文件,而不是调用的时候进行相应的调整; 7、gem有直接作用的,也有作为其他gem的套件工作的; ####遗留问题 1、多图上传究竟是paperclip起了作用,还是carrierwave起了作用,还是共同起了作用? 2、对变量进行数组赋值时的相关知识; ####涉及资源 1、GEM paperclip; ###完成了什么? 1、研究出了多图上传功能; ##Reflective ###你要如何形容今天的情绪? 今天有着明确的目标要完成两个功能,摸索过程相当的烧脑,伴随着强烈的酥麻感,通过不断调整呼吸一步步琢磨,最后功夫不负有心人,结果出来的时候相当愉悦。 ###今天的高峰是什么? 通过同学的github和网上零散的资料拼凑出了想要的功能; ###今天的低点是什么? 学习过程中有几次因为学习过程的酥麻感过于强烈开了小差。 ##Interpretive ###我们今天学到了什么? 1、通过同学的github代码和对应的commit可以理清他完成这个功能的步骤,及进行模仿; 2、学习过程中大脑的酥麻感越强烈,学习效果越好,这与心理学上的痛苦遗忘定律不冲突,心理学上的痛苦本质上是指情绪痛苦,而非进步痛苦,相反进步痛苦会记忆的更长远; 3、gem可以自己去找,不一定要模仿别人的来使用,不过时间有限的情况下,还是模仿来的最快; 4、学习的过程最好边学边动手,这样能大大加深理解,对应编程就可以新建一个git分支来实操; 5、gem本质上也是一组封装的代码,可以自己写,也可以打开它来自己定制调配; ###今天一个重要的领悟是什么? ####学习方法 学习摸索的过程尽量调用多的感官,这样有利于理解。 ####编程知识 多图上传的方法; ##Decisional ###我们会如何用一句话形容今天的工作? 初步取得上传多图研究成果; ###有哪些工作需要明天继续努力? 部署七牛云的网络图片功能; ...

February 25, 2017 · 1 min

编程套路:ROR实现product上传多图的步骤

##以商店product添加多图为例 ###paperclip Step 1 gem 'paperclip' bundle install 重开rails s Step 2 修改app/models/product.rb,加入 has_attached_file :image, styles: { medium: "300x300>", thumb: "100x100>" }, default_url: "/images/:style/missing.png" #这一行可不要# validates_attachment_content_type :image, content_type: /\Aimage\/.*\Z/ Step 3 rails generate paperclip product image 确认生成的XXXXXXX_add_attachment_image_to_products.rb如下 class AddAttachmentImageToProducts < ActiveRecord::Migration def self.up change_table :products do |t| t.attachment :image end end def self.down remove_attachment :products, :image end end rake db:migrate Step 4 在app/views/admin/product相关页面加入如下 +<div> +<%= f.input :image, as: :file %> +</div> Step 5 修改app/controllers/admin/products_controller如下 private def product_params params.require(:product).permit(:title, :description, :quantity, :price, :image) #:image加入參數 end Step 6 图片调用方法 <%= image_tag @user.avatar.url %> <%= image_tag @user.avatar.url(:medium) %> <%= image_tag @user.avatar.url(:thumb) %> carrierwave(我第一次实操的时候上面的paperclip和这个都进行了操作,所以不知道最后是那个起了作用,因而可以分开实验下) Step 1 +gem 'carrierwave' +gem 'mini_magick' bundle install Step 2 $ convert -version $ brew install imagemagick Step 3 $ rails g uploader image $ rails g model photo product_id:integer image:string $ rake db:migrate Step 4 接著Photo中加入關係與mount_uploader ...

February 25, 2017 · 3 min

错误纪录:bundle install后没有重开rails s

错误日期:2017年2月24日 具体情况: 在进行购物网站创意大赛过程中,在安装完paperclip且bundle install后没有重开rails s,造成显示no method报错。

February 25, 2017 · 1 min

20170223学习纪录

##Objective ###关于今天的课程,你记得什么? 1、程序环境有两种,一种是develop环境,指我们本地开发,另一种是product环境,指上传到服务器上,比如heroku; 2、在uploader中,本地调试显示图片用,file,云图片用fog; 3、七牛云和阿里云都是国内的云; 4、template是计算机领域的模板的意思; 5、gitmerge的原理可能是,把相应时间纪录的变动信息合并到程序里面; 6、在cart_item里面设置,product_id和user_id而不在product设置的意义在于一个product可以放在多个item里,而不是一个product对应多个item; 7、sqtile3和pg分别是developer和production用的数据库gem; 8、后面的学习进度会开始放缓; 9、编程使用的英语就两百个单词而已; 10、gem是套件管理系统; 11、助教的工作有时间可以试着申请下; 12、学习不用急; 13、recaptcha验证功能; 14、linodo可以通过阿里云买; 15、rails cust这个网站gem网站; 16、RubyFlow:Rails的社群; 17、Go Rails这个网站; ###完成了什么? 1、看了YY老师的直播; 2、完成了template的讨论和基本的view、model及controller; ##Reflective ###你要如何形容今天的情绪? 今晚进入了长时间的心流,不知不觉一晚上就没了。 ###今天的高峰是什么? 参照教材迅速完成了template的编写; ###今天的低点是什么? 学习到太晚了,没有时间继续完成五张图片的上传这个设置; ##Interpretive ###我们今天学到了什么? 1、要多到国外的rails社群去学习; 2、要注意不同环境的配置问题; 3、后面的学习速度会放缓,当时自己要加紧安排; 4、在注意力充分使用后,根本不会出现想学这个想学那个都没时间的情况,因为你连思考这个问题的时间都没有; 5、项目合作的时候一定要考虑项目进度分配问题,这样能提高总体的时间利用率,而不至于一个人等另一个人; ###今天一个重要的领悟是什么? ####学习方法 要多泡在相关社群里面学习; ####编程知识 根据环境使用不同的gem; ##Decisional ###我们会如何用一句话形容今天的工作? 还有一周一点的时间,开始真正的攻坚了。 ###有哪些工作需要明天继续努力? 完成上传五张图片的功能及七牛云的设置;

February 24, 2017 · 1 min

2017年第07周总结

1.“本周学到的最棒概念/工具” 本周学到的最棒的工具是model/controller/views的三维空间模型,这是我在学习过程中尝试去理解关系想象出来的模型,通过使用它感觉一下子明白了,出发,显示,调用这些东西,有时间我还会尝试用它去理解restful。 2.“本周遇到最大的坑” 本周遇到的最大的坑是每给自己创造良好的学习环境,放假在家,受到各种干扰,现在后面才意识到自己应该主动点去咖啡厅之类的地方的,而不是被动的在家里忍受注意力的缺失。

February 23, 2017 · 1 min

20170222学习纪录

##Objective ###关于今天的课程,你记得什么? 1、安全是编程过程中涉及到敏感信息是第一个要考虑的因素; 2、本地的图片无法大量上传到heroku,也就是heroku只提供了程序架构和代码上传服务,没有提供图片上传及邮件发送等服务; 3、不同的服务有不同的提供商,编程界天生就是一个相互协作的业界,你用别人的服务就需要付钱,你为别人提供服务就能收钱; 4、database.yml这个文件是不上传的,在gitignore里面需要设置不追踪它,我们平时的私密信息就放在这里面; 5、教材提供的database.yml.example其实一个可以上传的事例,我们下载以后cp出对应的文件就可以继续使用数据库,通过这样的方式及保护了隐秘信息又保证了程序可以继续运行; 6、电脑版微信可以语音; 7、azs 3很容易丢失自己的私密信息,一定要谨慎! 8、不要将自己的私密信息方法carrierwavr.rb里; 9、Figaro这个工具,密码用它管理 10、ENV环境变数; 10、Github提供了非常便捷和合作可能,具体合作的步骤如下: - step 0 :找到队友、确定谁做主程,主程复制merge pull request; - step 1 :添加队友,主程在项目的repo里的setting>collaborators>根据队友的githubid查找队友,并按add collaborators发出邀请; - step 2 :队友会在自己注册的github邮箱里收到邀请消息,点解view invitation后,可通过Accept invitation接受邀请成为队友,之后就可以在自己的github页面看到以主程名开头的repo; - step 3 :主程先git checkout master切换到master分支,后把最新的分支merge到master上,例如:git merge story5,之后git push origin master,到服务器; - step 4 :队友第一次下载项目是由git clone repo地址,之后bundle install,以及rake db:migrate,以后有新的分支都事先切换到master分支,然后git pull origin master,之后生成新的分支进行修改功能。如果列表的栏位发生了变化,则需要调用rake db三兄弟类; - step 5 :新建分支进行新的功能编写,使用命令 git checkout -b name-function(姓名-功能); - step 6 :完成功能并确认无误后,将最新的分支推上repo,git add . git commit -m “功能描述” git push origin name-function; - step 7 :打开项目repo,选中自己刚刚上传的分支,通过compare & pull request,确认base:master,compare:name-function后,添加描述(可不添加),点击create pull request(副程千万不能点击merge pull request); - step 8 :若无冲突提示,则主程可在repo点击 Pull merge页标,点击merge pull request,之后Confirm merge就可以了,若有提示则可在本地修改无误后重新上传分支,也可通过Resolve conflict修复; - step 9 :修复时会有««« »»»>master ========三行代码,处理完所有分之后可点击make as resolved。所有完成后会显示Resolved all conflict并点击commit changes,这时和step 8 一样; ...

February 23, 2017 · 1 min