JavaScriptのthis参照

JavaScriptヤり初めてサンプルコードに 'this.x' って結構出てきたんですが、
「あーあー、Javaでやったやつと、、、あれ、なんか違 ...う、のか..」
わー意味分かんなくなってきたーーーー!!


ので、ちょっとthisのことメモしておきます。

thisの参照規則とは

・トップレベルコードのthisはグローバルオブジェクトを参照
・関数内のthis参照は関数の呼び出し方法で異なる(以下のとおり)

1. コンストラクタ呼び出し


実行結果

2. メソッド呼び出し


実行結果

3. applyあるいはcall呼び出し


実行結果

4. それ以外の呼び出し

グローバルオブジェクト


とのこと。

kesuuyof.jpつくりました。

あ、OAuth覚えたい!

ってことでとりあえずWeb+DBに載ってたOAuth2.0のサンプリアプリケーションつくってみよー!


と思ったらなんかCallbackURIの指定でサーバが必要っぽかったので、
メンドクセー(・へ・)と思いながら自分のドメインでサーバつくってみました。


設定までに結構時間かかるかな〜と思ってたら
Apache起動してWebページを確認できるまで
もたもたしてる僕でも(Ubuntu serverのインストールは別で)
2時間くらいしかかからなかったので
ちょっとした空き時間と空きPCある方は
自宅サーバ独自ドメイン、おすすめです。

作ってみた感想とか

Apacheってもっと単純なWebアプリケーションソフトだと思ってたけど
全然知らないかった拡張モジュールの設定とか知れてよかったー。
日々サーバ構築とかされる方には「普通じゃん」て思われるかもしれませんが、
自分でつくったのが初めての僕にとってはいろいろ刺激的で
うちに帰っては、意味なく自分のサイトにアクセスして
ニヤニヤするくらいの興奮が未だに続いている感じです。


http://kesuuyof.jp
まだナンモナイトです。

ぱぱぱぱん、ぱっぱっぱー♫


けすうよはLv2にあがった。
HPが3あがった。
MPが2あがった。
まりょくが2あがった。
OAuthをおぼえた。

自分のツイートを翻訳してPostするBot

Twitter API × Microsoft Translator Tool

最近よくある「ツイッターに英語でつぶやいてみよう」的な本とか

読んだことないけど、
...思ったこといちいちGoogle翻訳かますのだるいだわー。
あと、本アカウントですらあんまりつぶやいてないのに
英語アカウント作ってもつぶやくわけないし。


したら何かすごいサイト見っけた!
rubyエンジニアの方のツイートを翻訳してつぶやくbotを纏めたサイト)
http://tera.cc/
https://github.com/cpetschnig/translate-twitter




ソース読んだけど、、
Railsあんまりわかってないし。。
でも読んでみたらソレっぽいコード見つけて(/bin/translate-twitter.rb)
コピペとかでイロイロやったら、うごいたっぽい!

こんな感じ

  • 自分のツイートを翻訳する。
  • リツイート(公式)も翻訳する。
  • @ は2回飛ばないように'+'に置き換えてる
  • # は'*'に置き換えてる。

こまったこと、つまづいたこと、(今も)つまずいてること

  • 最初cronで動かすときに出力ファイルを相対パスで指定しててうまく行かなかった

→ファイルをフルパスで指定しちゃった。(cronだと実行パスが/home/username/になるみたい)

  • 設定部分はconfig.rbみたいに別ファイルにしたかったけど、requireの仕方よくわからんかった

→また今度。

  • 実行する前に足りないものがたくさんあってエラーでまくった。
sudo apt-get install ruby-dev
sudo gem install twitter_oauth
sudo aptitude install libxml2-dev
sudo aptitude install libxslt-dev
sudo gem install nokogiri
  • もじばける(今も)

HUNTER×HUNTERの"×"が &*xD7; になる とか

  • ツイートの順番が逆になる(今も)

→別にいいや(気が向いたらあとで直すかなぁー)


訳もかなり間違ってるけど、、
まぁ、なんとなくっぽく動けばイイや、動けば。


でもこれじゃ英語覚えない気がする。

tweet_trans.rb

# Change your settings の部分を自分のIDに変更

RubyKaigi2011(3日目) に行ってきた

最後のスタンディングオベーションすごい感動した。
涙腺ゆるいから、(初参加なのに)うるうるしちゃった。
知らない技術がたくさんでてきて、
家に帰ってぐぐりまくったー。
本当にお疲れ様でした。


13:30 - 14:00 Ruby遺産とレガシーコード修理技術

レガシーコードの修理技術
  • 使用していないコードの削除(機能の追加は慎重に、削除は大胆に)
  • 仕様化テスト(テストで壊していけない骨格を作る)
  • コンパイラ任せ(Jenkins, travis-ci)

http://www.slideshare.net/hsbt/20110718-ruby-kaigi2011

14:00 - 14:30 テスティングフレームワークの作り方

14:40 - 15:10 Rubyを持て、世界に出よう!

Linkedin ぜんぜん使えてない。
あと、完全に積読になってた「日本人の英語」ちょっと読み返してみようと思った。
http://www.slideshare.net/slideshow/embed_code/8623555

15:10 - 15:40 Ruby の教えてくれたこと

心動かされるのって、こうゆうプレゼン聞いたタイミングだと思う。
http://www.slideshare.net/snoozer05/20110718-youmustunlearnwhatyouhavelearned-rivisited

16:10 - 17:10 Lightning talks 2

1. アジャイルUX公開実演 結果報告


2. 浮動小数点数リテラルが無い世界


3. BioRuby -- 生物情報科学用ライブラリ


4. 新人教育に、もっとRubyを!
http://www.slideshare.net/yuumi3/ruby-8640024


5. コミュニティと勉強会の間で
http://www.slideshare.net/takkanm/ss-8641384


6. define_method define_method
http://www.kmc.gr.jp/~ohai/rubykaigi2011/p.pdf


7. Rubyist に不足しているのは会計(そろばん)!
http://www.slideshare.net/slideshow/embed_code/8627056
これ、(半分くらいで終わっちゃって)
すごい続きが気になってたからslideshareでみれてよかった


8. ActiveLdap が Rails3.1 で動くようになったよ。
http://www.slideshare.net/hide_24/al-8622801


9. MmapScanner作ってみた
http://www.slideshare.net/tmtm/mmap-scanner


10.pebbles: rubygemsにおけるジョークモジュールの名前空間について
http://www.slideshare.net/kwappa/pebbles-a-namespace-for-joke-gems


11.C、イ㌔。
http://prezi.com/pq1scvunf8iq/c/


17:20 - 18:30 三題噺:振り子とPGと百年言語

http://zenpre.net/presen/ZYQEShKY/pdf/convert.pdf
結構時間があまったみたいでいろんなはなし聞けてよかった。

おみやげ

ピンバッジうれしい!

どこから来たの?

海外から来た人結構いた!
あれ、3連休(海の日)って日本だけだよな...

Android Bazaar and Conference 2011 Summerに行ってきた

まずDesireユーザの多さにびっくり!
(普段全然見かけないのに..)


13:00 - 13:40 Android3.0/3.1/3.2 HoneycombとAPI解説

http://dl.dropbox.com/u/22653168/file/20110717_ABC2011sHoneycomb_all.pdf
2時間くらいずっと聞いてたかった。

14:00 - 14:40 Linuxカーネルから紐解くAndroid

http://www.slideshare.net/demuyan/linuxandroid
このトラック聞けてホントによかった。
今までAndroidのベースはLinuxって聞いてたけど、
このトラック聞いてどの辺がどう違ってるのかがなんとなく分かったきがした。
あとUbuntuの例も、すごくイメージしやすかった。


Androidの独自拡張

セキュリティ
Binder
  • IPC代替(シェルでいうパイプ)
電源管理
  • wakelocks(アップデートDL中はsleepを一定時間無効化)
メモリ管理
  • LowMemoryKiller(メモリ残容量&優先度でアプリを強制終了)

15:00 - 15:40 スマートフォンとウェブの今 : 10年に一度の変革期

16:00 - 16:40 ngCoreを用いたAndroid向けアプリケーション開発

17:00 - 17:40 Androidアプリデザイン入門編

https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0B9cwi8dHYjWVY2ZjNjNjZTgtZWNmNi00OWJkLTkyYzgtNDExMDc3YjI2MjE1&hl=ja
超満員だった。


すごくたのしかったです。
どうもありがとうございました。


企業ブースとコミュニティーブース回りたかった...

Rubykaigi2011(1日目)にいってきた

参加できてよかったです。本当に。

13:30 - 14:30 Next version of Ruby 1.8 and 1.9

Twitterでみたことある方ばっかりでビックリした。
後半は壇上でいろんなコト話してて、話しながらいろんなコトが決まっていく感じがすごかった。
Ruby2.0!?みたいな話しも出てきて聞いててすごいワクワクした。

14:45 - 15:15 Ruby を利用した大規模ウェブサービスの開発・運用

cookpad関連サービス
サービス 概要 URL
たべみる どんな時期に、どんな地域で、どんなレシピが人気なの? http://tabemiru.com/
もばれぴ 携帯版cookpad,PCよりアクセス数が多いらしい http://m.cookpad.com
cookpadのシステム運用の中を紹介してもらってた。
技術 用途
Varnish HTTPアクセラレータ https://www.varnish-cache.org/
Solr 検索エンジン http://lucene.apache.org/solr/
EC2+hadoop log分析 http://hadoop.apache.org/ http://aws.amazon.com/jp/ec2/
速度について

定石をきちんとすること

  • Goodはやらない、Bestのみを集中してやる
  • シンプルさを保つ
  • 本当に必要な機能のみに絞る
  • シンプルなクエリになる
  • キャッシュに乗り易くする
  • あとでやる
  • 非同期でレンダリング(2段階でロード)
開発サイクル

TEST

デプロイ

フィードバック

  • Extensions
    • リリースしない決断をしたときは rm app/extentions/ (Cookpad開発者ブログで公開予定)

16:00 - 16:40 組み込みシステムのための動的コンポーネント機構VMの最適化

複数アプリ実行時のメモリを
動的コンポーネント(Dynamic Component)を導入し、
複数アプリケーションを単一のVMで実行することで解決したおはなし。
http://rubykaigi.org/2011/ja/schedule/details/16S03

16:40 - 17:10 軽量Ruby

17:20 - 17:50 日本の図書館はどのようにRubyを使っているか

簡単な修正なら図書館員の方がRubyで修正しちゃうのにおどろいた。
神戸図書館では、Emacs Lispつかってるらしい。
http://www.slideshare.net/nabeta/rubykaigi2011ruby

17:50 - 18:20 Rubyで作った"critical mission"システムについて

24時間365日止まらないシステム

20:00 - 21:30 闇RubyKaigi

本当に参加できてよかった。
会場でircのコメント見ながら聞けたのは本当によかった。
最初から最後まで本当にたのしかったです。
ありがとうございました。

おみやげたち

真ん中の丸いGithubのやつはシール??かな
シールぽいさわり心地だけど、ペロンってできない...

RubyでTwitterのBotをつくる on ubuntu server Part2

30000 in English

30thouのパロディです。
人生の残り日数をダイレクトメッセージで送ってくれるBotです。
(00:00過ぎた後だと時間的に遅いので...22:00でその日終わりってことにします。)
あと、日本語の発言しようとすると文字化けちゃうから英語版www
(今度ちゃんと解決しよう、うん)

ソースコードはじめてのGithub


このコードで # change your xxxxxxxのところを自分のIDにかえてください。

起動の設定(ubuntu server)

crontab -e

ってして

0 22 * * * ruby /home/kesuuyof/ruby/kesuuyofbot/30000_eng.rb

って、22:00に起動する設定を追加する。


すると22:00頃に

ってダイレクトメッセージがきます。


Twitter OAuthについてはここを参考にさせていただきました。
(動画がすごくわかりやすいです)
d:id:mirakui:20100505:1272961897