sinatraで使えるメタ言語
hamlやsassなどテンプレートエンジンが使えますがそれぞれどんなのか調べてみました
htmlのメタ言語
とりあえずこれを記述させる
<!DOCTYPE html> <html> <head> <title>タイトル</title> <meta charset='utf-8'> </head> <body> <div class="main"> <h1 id="title">ここに見出しを書く</h1> </div> </body> </html>
haml
!!! %html %head %title タイトル %meta{charset: "utf-8"} %body .main %h1#title ここに見出しを書く
インデントが階層を意味しシンプルな記述。使ってる人多い
slim
doctype html html head meta charset="utf-8" title タイトル body.main #title h1 ここに見出しを書く
<,>,/>がない感じ
builder
xmlのマークアップが作れる rssとか表示させるときに使える
xml.instruct! :xml, :version => '1.0' xml.rss :version => "2.0" do xml.channel do xml.title "title" xml.description "description" xml.link "http://" end end
検索がつらい
liquid
<!DOCTYPE html> <html> <head> <title>{{ @title }}</title> <meta charset='utf-8'> </head> <body> <div class="main"> <h1 id="title">{{ @maintitle }}</h1> </div> </body> </html>
erbライクに埋め込みができる http://www.slideshare.net/TomohikoHimura/liquid
css系メタ言語
とりあえずこれを記述させる
body { background: #bbb; } .main #title { color: #e3e; }
sass
body background: #bbb .main #title color: #e3e
入れ子にできてシンプルな記述
scss
body{ background: #bbb; } .main{ #title{ color:#e3e; } }
sassもだけど$line_color: #000;とかで定数も使える widthとかも計算させられる
less
body{ background: #bbb; } .main{ #title{ color:#e3e; } }
scssと違いが…… http://d.hatena.ne.jp/nenjiru/20111101/css_scss_less
色々調べてたら迷ってきた 検索しやすいやつ使おう
Sinatraで簡易アンテナサイト作った
Sinatraって何ですか?って状態で適当になんか作ってみまた
【初心者向け】RubyとSinatra、アンテナサイトの作り方 - 文系学生のプログラミング入門
こちらのサイトを参考にしたのですが、ただの丸写しだと面白くないので、以下を変更しました
環境
ファイルの構成
main.rb public style.css views layout.erb index.erb
layout.erb
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>簡易アンテナサイト</title> <link href="style.css" type="text/css" rel="stylesheet" /> </head> <body> <h1>簡易アンテナ</h1> <%= yield %> </body> </html>
index.html
<ul> <% articles = [] %> <% while not @que.empty? %> <% url = @que.pop(true) %> <% rss = SimpleRSS.parse open(url) %> <% rss.items.each do |entry| %> <% article = [entry.title.force_encoding('utf-8'),entry.link] %> <% articles += [article] %> <% end %> <% end %> <% articles.each do |title,link| %> <li><a href="<%= link %>"><%= title %></li> <% end %> </ul>
index.htmlは参考サイトのようにしてもいいのですが、今後弄れるように配列に入れました
style.css
ul { list-style-type:none; } li { font-size:20px; margin:0 0 5px 0; border-bottom: 2px #000 solid; }
main.rb
require 'sinatra' require 'sinatra/reloader' require 'simple-rss' require 'open-uri' get '/' do urls = %w( http://mizchi.hatenablog.com/rss http://d.hatena.ne.jp/gamella/rss ) @que = Queue.new urls.map{|url| @que << url} erb :index end get '/it' do urls = %w( http://blog.livedoor.jp/itsoku/index.rdf http://jsksokuhou.com/feed/ ) @que = Queue.new urls.map{|url| @que << url} erb :index end
こんなんでこんなんができます
すごく簡単に作れました。記事の投稿時間は:pubDate辺りで取れるんですがRSSによって多少違うのでそこを処理してサイト数増やせばそれらしいアンテナサイトになると思います。phpでアンテナサイトを作ったことがあるのですがそれより少ない手順で作れると思います
最高のレコメンド
先日とあるサイトで手いにれたレコメンドシステムは最高だった。よくあるレコメンドと違って、僕が洗濯機を買ったら他の洗濯機を薦めてきたりはしない。買った時点で僕は世界で最も新しい洗濯機が欲しくない人間だ。程度の低いシステムにはそれがわかってない。だから僕に新しい洗濯機を薦めてくる。代わりにそれは新しい洗濯機に必要な洗剤やネットを薦めてくれた。
それからの買い物は最高だった。僕が買うべきものはすべてレコメンドシステムが教えてくれた。僕が買うべき本。僕が買うべき音楽。僕が買うべき煙草。すべてが僕にぴったりだった。それは僕がものを買うごとに僕がどんな人間なのかを理解してシステムを改良していく。
あるとき僕は気づいた。最近買い物をするといつもある商品が画面の端にレコメンドされているのを。僕は試しにその商品ページを見てみた。まさに僕が欲しいものそのものだった。やはりこのレコメンドシステムは最高だ。僕はさらにこのレコメンドシステムを信頼するようになった。
それからも僕はこのレコメンドシステムを使い続けた。相変わらず僕に最適の商品を見つけ出してくれる。最高だ。
ある日友人が家に来た。彼は僕の部屋を見て一言放った。
「あれ? 趣味が変わっちまったのか」
それでもぼくはマイナーを選ぶ
ぼくが無意識的にメジャーを避けてるなと記憶している最初の出来事は小学生の頃だった。当時はハリーポッターが日本でも発売され、テレビで連日取り上げられ大ブームとなっていた。ぼくもクラスの人間たちが読み始める少し前に手に入れて読んでいた。それなりに面白いと思っていたと思う。そして、クラス内でもぼちぼち流行りだした。学校では読書の時間がありそこにハリーポッターを持ってくる生徒も増えていた。そしてあるクラスで普通のある男子生徒に「君も読んでるんだ」と言われた瞬間、彼と同じ括りにされた感じがして、ぼくの中でハリーポッターはどうでもいいものに成り下がった。続きとかどうでもいいやと思って、夢中で読み漁る同級生を少し覚めた目で見てた。
これがぼくのメジャーとマイナーの出会いだった。僕はどこかでメジャーに所属してはダメだみたいな思いを持っている。
それからも中高と進むに連れ女子が浜崎あゆみが好きだとかモーニング娘がどうとかで派閥を作っていた時も、ぼくは餓鬼レンジャーが好きだとか言ってた。ここで僕が恐れるのは「餓鬼レンジャーなんてめちゃくちゃ有名じゃん」というツッコミを自分で入れてしまうことだ。特にHIPHOP周辺をあさっている間その存在は大きくなっていく。そうするとまたメジャーとマイナーが出てきて僕は他のアルファとかいいよねと言ってしまうのだ。(ここでのHIPHOPはあくまでも例えなので適当にプログラムとその言語とかで置き換えてほしい)
ある時ぼくはそれに気づいて、どうやらぼくの中でメジャーと判断したものにはぼくの触手は伸びにくい、ということを頭に入れるようになった。若干の中二病の残滓も入ってる。
メジャーのものに触る必要がある時は適当に別の言い訳をしていて、例えばパズドラだったら、なんでこんなに流行ってるのか知りたいから始まって、普通にやるのはアレだから最初の丸っこい団子みたいなキャラだけでちょっとやってみるか、みたいな感じで始めた。もうやってない。なんかやり込みみたいだけどそうしないとぼくの中でどこか納得出来ないのだ。
さて、そんなぼくにも趣味趣向があってぼくはそれが好きだから、時折それが全体でどんな立ち位置なのかを再確認したりする。お前が買ってる雑誌、ジャンプに比べたらどうよ?周りでそんな音楽聞いてる奴いたか?
ネットでいくらでも同じ趣味の人間を探せる今そういうある種のノイズを意識的に入れるのも必要なのだと思う。
google trends を使って秋アニメ声優の検索数を比較してみた
タイトルまんまです
以下参考
unofficial Google Trends APIで2008年度No.1グラビアアイドルを計算する方法 - Future Insight
2013年10月1日から12月21日までの検索数でくらべてます
”新田恵海”の検索数を1とした場合の比率です
キャストの発表時が一番検索されるだろうことを考えるともう少し期間を増やしても良かったかなと思います
来年辺り2013年活躍した声優でもランキングされれば、それを使って調べてみるのも面白そうです
Tumblrをtaberarelooでリブログできない対処
さて朝からTumblrに投稿できないどうやらTumblrの仕様が変わってtaberarelooがエラー吐いてるらしい
とりあえず以下で応急処置
taberarelooのパッチに
Taberareloo 用パッチ: Tumblr のポストの仕様変更に対応させる。
を当てる
ピン立てて連続投稿するとエラーになる模様、まあ自分の使用には問題ない。ありがたい
「コンピュータが仕事を奪う」読んだ
コンピュータの登場により人間の仕事は少なからず減ったし、膨大な計算を任せることができるようになった。ではコンピュータにできない仕事とはなにか。その一つとして、コンピュータには難しいが人間には容易な仕事があげられる。例えば画像に何が写ってるかを判断することだ。そしてその報酬は著しく低く人間はコンピュータの奴隷となってしまう。
それから抜け出すには数学の言葉が必要だと述べる。数学の知識があれば、コンピュータが苦手な仕事かそうでないかを判断できる。例えばGoogleのページランク。無数のWebページから重要なページのランクを付けるアルゴリズムとしてコンピュータの理解できる言葉へとした。
これを言語化されていない何かを言語化すると表現している。
新しい答えは新しい定義の元に。