天天看点

折腾日记6月24日6月23日6月12日6月11日6月9日6月8日6月5日6月4日6月3日6月2日6月1日5月31日5月30日5月25日5月24日5月23日5月22日5月21日5月20日5月19日5月17日5月16日5月15日

6月24日

  1. 如何在ruby中使用中文,这里有一各hack的方法:
    #!/bin/env ruby
    # encoding: utf-8
               

6月23日

  1. 今天武汉下了场雨,终于稍微凉快一点,赶紧写点东西。
  2. 了解了java中Ant和Maven,其中Ant感觉就是在命令行里面代你敲一些东西,在Android Studio中,使用的是一个基于groovy名叫gradle的玩意儿

6月12日

  1. 将html和安卓原生灵活的结合,可以节省开发成本的同时不降低用户体验,为了达到这样的效果需要遵循一些规则:操作交互交给用原生代码,展示部分用HTML。即需要响应用户操作的部分使用原生代码,获取更快的执行速度,因为HTML中js代码在移动端的执行效率目前依然不够高效,但是对于一些静态UI的展示,使用HTML可以更加相比用原生代码开发起来成本更低。

6月11日

  1. 将Rails返回的json中的UTC时间转变成java中的Date时间,并且设置时区

6月9日

  1. 研究了upyun.rb即upyun的ruby客户端,可以用来上传和下载图片,这个客户端也是采用了http的一套东西来写的,hearders是一个hash,里面放了'Date'/'Content-length'/'Authorization/'mkdir'/,总得来说就是upyun的一套api的用例。
  2. 发现在ruby193下不能require 'upyun.rb'当前目录下的rb文件,但是可以load 'upyun.rb',require需要require './upyun.rb'或者在运行时加一个-I ./的参数,这样就把当前目录给包括进来了,又或者require_relative 'upyun.rb'也能行
  3. 成功的使用了第三方图床作为carrierwave的第三方图库

6月8日

  1. 想写一个chrome插件能一键把页面上的字体换了XD
  2. 挖到一个讲csrf(跨站攻击)特别好的文章连接

6月5日

  1. 利用百度地图的sdk实现了查询地理位置信息,获取当前坐标等功能。

    截图:

    折腾日记6月24日6月23日6月12日6月11日6月9日6月8日6月5日6月4日6月3日6月2日6月1日5月31日5月30日5月25日5月24日5月23日5月22日5月21日5月20日5月19日5月17日5月16日5月15日

6月4日

  1. Rails中关于member路由和collection路由的区别,在stackoverflow有个回答很好:member路由会要求一个ID,因为它的行为像是一个成员。collection路由不这样因为它的行为像是一个一些对象的集合。例如Preview就是一个典型的member路由,因为它的行为是在一个单独的对象之上。Search是一个典型的collection路由,因为它的行为是在一坨对象的集合之上。

    话说两个都是RESTful里面的典型异类啊。

  2. 用render重构了一些代码,但是感觉解耦做得不够好
  3. 原来可以把dom_id当成render一样的helper方法啊!!!
  4. jQuery选择器也是一个博大精深的东西博文链接

6月3日

  1. 借到了《Web开发敏捷之道》一书,粗略的看了一下ajax部分和rails.js的代码,意识到rails框架做的不仅仅是ruby层面的东西,还有js等

6月2日

  1. 终于弄明白如何在get请求的时候传递参数了:"http://localhost:3000/api/v1/orders?store_id=1?user_id=1",采用的是“?”+"key"+"="+"value"的方式来传,这样在controller里面就会有相应的paras[:store_id]=1和params[:user_id]=1了,对于二维数组和更复杂的数据依然可以采用这种键值对的方式,只不过值里面可采用json.toString的方式\
  2. 如何在命令行里面快速移动光标:
    折腾日记6月24日6月23日6月12日6月11日6月9日6月8日6月5日6月4日6月3日6月2日6月1日5月31日5月30日5月25日5月24日5月23日5月22日5月21日5月20日5月19日5月17日5月16日5月15日

6月1日

  1. Rails在Controller里面添加http_basic_authenticate_with name: "admin", password: "secret"需要在访问的时候添加一个基本的http验证账号和密码分别为admin和secret
  2. 通过curl来访问服务器可以做很多事情,curl -u "admin:secret" "访问地址"则可以访问上面加了http验证的controller了,这里有篇通过curl来测试Rails的文章链接

5月31日

  1. 熟练使用了PagerAdapter

5月30日

  1. 利用alias在命令行下面启动其他软件,比如Sublime需要这样  alias subl='open -a "Sublime Text 2"' 此时你只需要输入subl即可打开Sublime了,subl project 即可打开project目录。后来发现需要将alias的配置命令添加到~/.bash_profile文件里面去,不然重启Terminal就没有了。

5月25日

  1. 今天CodeSchool免费让人玩,弄了一下Rails的BsetPractice并写了一篇博客
  2. 按照railscasts的API开发教程实现了wdc的后台API开发

5月24日

  1. 用jQuery的keypress事件监听用户的输入,通过val()得到的输入会慢一个key,为了一致应该使用keyup事件监听
  2. 对于Rails的初期项目,一个Model加一个Migration足矣应付,随时rake db:migrate:reset可以减少写很多Migration

5月23日

  1. 如何修改android项目的projectname,以解决默认Mainactivity同名无法导入的问题:添加一个.project的文件
  2. Android让一个页面中的Button始终位于ListView的下方的方法gist

5月22日

5月21日

  1. 原本想在从Activity来new一个Fragment的时候传一个对象的,后来发现只能通过Bundle传一些很简单的数据,不方便,但是转念一想传个id过去,让new的Fragment自己开一个Thread去服务器上get似乎更符合移动互联网的原则,这样能保证数据的实时性
  2. 写了一个能删除当前目录下指定文件名后缀的脚本

    ruby deleteSomeTypeFile.rb png

    即可删除当前目录下所有后缀名为png的文件,灰常好用!!github链接

5月20日

  1. 找到了android平台上的ORM框架,是androrm和ormlite,貌似后面那个更强大一些
  2. 怒然发现 ruby 1.9以上版本已经不支持String.to_a的方法了,只能用形如String.split()来产生Array。项目中使用了一个很龊的办法来得到一个二维数组

5月19日

  1. 发现appfog在每次重新部署的时候会清除掉public里面的图片资源,必须通过第三方的图片存储;尝试了cloudinary的服务,挺强大的,但尼玛折腾了好几个小时没有上传成功一个图片。。。Cloudinary::Uploader.upload()这个方法到底写到什么地方比较合适呢?是M还是C?对于CarrierWave的上传机制还没有彻底弄懂
  2. 安卓方面尝试了FragmentActivty+ListFragment来实践安卓4.0的Fragment规范

5月17日

  1. 今天了解到了nine patch的使用,它主要是用来帮助规划一张背景图片在被拉伸的时候,哪些部位是可以被拉伸的,比如一个按钮背景的边缘有阴影,传统的png图片在被拉伸的时候,这些阴影也被拉伸了,显得相当难看,但是加了nine patch之后,只有这个背景中间的颜色一直部分会被拉伸,不会有突兀的感觉。
  2. 在cdc的点餐界面上实现了google+的信息呈现方式

5月16日

  1. 今天掌握了如何更换安卓app的主题theme的方法,并使用了一个叫anctionbar generater的web app为项目生成了一套UI,成功使用
  2. 尝试了flat UI的配色
  3. 更换了cdc的主页背景色,使用了background-imgae: url(/assets/img/bg1.png);

5月15日

  1. 今天模仿款其他应用,做了一个flat UI的安卓界面作业
    折腾日记6月24日6月23日6月12日6月11日6月9日6月8日6月5日6月4日6月3日6月2日6月1日5月31日5月30日5月25日5月24日5月23日5月22日5月21日5月20日5月19日5月17日5月16日5月15日
    折腾日记6月24日6月23日6月12日6月11日6月9日6月8日6月5日6月4日6月3日6月2日6月1日5月31日5月30日5月25日5月24日5月23日5月22日5月21日5月20日5月19日5月17日5月16日5月15日
  2. 基于bootstrap的一个模板修改了后台界面