万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    モトスミHack vol.31

    URL: http://connpass.com/event/2000/

    BackboneJS&CoffeeScriptではまりやすいのをまとめた(少なくとも僕が)

    CoffeeScriptで書いてる
     URL: http://blog.nkzn.net/entry/2012/05/29/162331
     hatenaのシンタックスハイライトは(coffee)なのにできない。

    1. 半角スペース入れる

    #View
    TaskView = Backbone.View.extend({
      tagName: 'li',
      template: _.template($('#task-template').html()),
      render: ()->
        template = this.template(this.model.toJSON())
        this.$el.html(template)
        return this
    })
    

    ↓のように、タグ名に間違って"半角スペース"が含まれてて気が付かなかった!

      tagName: ' li',
    

    2. 複数

    AddTaskView = Backbone.View.extend({
      el: '#addTask',
      events: {
        'submit': 'submit'
      },
      submit: (e)->
        e.preventDefault()
        task = new Task({title: $('#title').val()})
        this.collection.add(task)
    })
    
    events: {
    

    このevent"s"の"s"を忘れやすい

    3. new の書き忘れ

          taskView = TaskView({model: task})
    


    4. ","の書き忘れ

    Task = Backbone.Model.extend({
      defaults: {
        title: 'do something',
        completed: false
      }, # <= これは忘れにくい
      validate: ()->
        if _.isEmpty(attrs.title)
          return 'title must not be empty'
      , # <= これは忘れやすい!!
      initialize: ()->
        this.on('invalid', (model, error)->
          $('#error').html(error)
        ) <= これも忘れやすい!!
    })
    

    →カンマの位置が微妙に違うのも忘れやすい。ちなみに多行にまたがったカッコも忘れやすい

    EmberJSをCoffeeScriptで書き方不明

    App.Person = DS.Model.extend({
      firstName: DS.attr('string'),
      lastName: DS.attr('string'),
    
      fullName: ()->
        return this.get('firstName') + " " + this.get('lastName')
      .property('firstName', 'lastName')
    })
    

    ↑このプロパティはドウ書くのか?

    ↓もとのJS

      fullName: function() {
        return this.get('firstName') +
               " " + this.get('lastName');
      }.property('firstName', 'lastName')
    

    App.peopleController = Em.ArrayController.create({
    content: App.Person.find()
    })

    Rails4

    railsコマンドがspringで高速化
    Emberと相性がいい
    ActiveModel::Modelをインポートするとモデルっぽくできる

    Jbuilderコメントアウトは/**/ではなく#

    json.array!(@books) do |book|
      json.extract! book, :id
      #json.extract! book, :title, :reason, :prite, :url, :severity, :howto, :buydate, :country
      #json.url book_url(book, format: :json)
    end
    

    HTMLにはまる。

        <%# @books.each do |book| %>
        <!--tr-->
        <%= content_tag_for :tr, @books do |book| %>
          <td><%= book.title %></td>
          <td><%= book.reason %></td>
          <td><%= book.prite %></td>
          <td><%= book.url %></td>
          <td><%= book.severity %></td>
          <td><%= book.howto %></td>
          <td><%= book.buydate %></td>
          <td><%= book.country %></td>
          <td><%= link_to 'Show', book %></td>
          <td><%= link_to 'Edit', edit_book_path(book) %></td>
          <td><%= link_to 'Destroy', book, method: :delete, data: { confirm: 'Are you sure?' } %></td>
        <!-- /tr -->
        <% end %>
    

    <%# @books.each do |book| %>を<%= content_tag_for :tr, @books do |book| %>に置き換えるときに
    タグが不要なのに残すと$('tr.book').hide()でうまく隠れてくれないので注意 ・Ruby2.0ではgem installできない? http://qiita.com/items/c70a8f65edb69bedfc37 ・修正方法 http://apple.stackexchange.com/questions/83885/ruby-2-0-0-install-via-rvm-errors-surrounding-openssl

    rvm remove 2.0.0 # get rid of unsuccessful installation
    rvm get head --autolibs=3 # get the latest RVM and build required libs
    rvm requirements # just in case, install all other required stuff
    rvm install ruby-2.0.0
    rvm --default use ruby-2.0.0

    しかしだめだった。。。

    application.js

    //= はコメントアウトではない。こういった書き方。

    //= require_tree .

    ↑カレントディレクトリ(javascriptフォルダ)のJSのを読み込む

    //= require jquery.turbolinks

    これやってもダメだった


    WiX

    簡単にWebできる
    http://ja.wix.com/

    Fastladder

    http://fastladder.org/ja/