vaguely

和歌山に戻りました。ふらふらと色々なものに手を出す毎日。

Sinatra

Angularにも触れてみる 2

前回の続きです。 やったこと 登録済みのタグ(カテゴリ)情報をDBから取得して、チェックボックスとして表示する 投稿ボタンを押した時に、チェックされたチェックボックスのIDをJSONとしてサーバ側のコントローラに渡す DBからデータを取得する サーバ側から…

Angularにも触れてみる 1

はじめに 前回はReactを使ってブログ記事を表示するページを作りかけてみたわけですが、表示するための記事を投稿するためのページが欲しくなりました。 投稿するページは自分だけが利用できればそれでよく、正直DBにそのままデータを突っ込んでも。。。と思…

React.jsに触れてみる4 (+Sinatra)

ふとした思いつきで、今年のはじめに作成しかけたまま放置しているブログで、Reactを使ってみることにしました。 元のプロジェクトはsntVaguely - GitHubです。 やったこと Ajaxを使って、ActiveRecordで取得したデータをJSON形式で取得する。 取得したJSON…

【Ruby Gem】JasmineでJSテスト 準備編

Javascriptのテストをしたい、と思い立って調べたところ、Backboneの本で紹介されていたJasmineが良さそうだったため、試してみることにしました。 やりたいこと 前回まで作成していたTabを非同期で切り替えるSinatraプロジェクトで、Jasmineを使ってテスト…

Backbone.jsを使ってみる

前々回作成したタブの切替部分を、Backboneを使って置き換えてみました。 準備 必要なファイルを取得して、javascriptファイルと同じ、「public/js」以下に置きます。 Backbone.js Underscore.js ※その他、「json2.js」も入れている方もいるようですが、とり…

JavascriptとCSSで表示切り替えとか

前回はTabを押した時にページ遷移をして(表示される内容は変わっていませんでしたが)内容を切り替えていました。 今回は、前回作ったものに更にボタン(ラジオボタン)を追加して、非同期でコンテンツの内容を変えてみます。 やったこと ボタンを2つ追加して、…

JavascriptでTab切り替え

諸事情によりめっきりブログ作成が滞っていますが...。 今日はJavascriptとCSSを使って、Tabを切り替えてみます。 やったこと 5つのタブと左右に1つずつボタンを作成 タブのうち2つを非表示にして、左右のボタンで切り替える タブをクリックしたらページ遷移…

Ajaxに触れてみる

今回はちょっと脇道にそれて、SinatraでAjaxを試してみたお話。 はじめに ボタンを押すなど、何か操作をした場合にページ遷移せずに表示内容を変更してみたい。 ということで、jQueryを使って非同期処理をすることにしました。 今回やったこと ページ上に四…

DBに登録したSlimのコードを出力するとか

Slimのサニタイジング しばらくハマっていた、DBやController(app.rb)でSlimやHTMLのコードをviews/blog.slimで表示しようとすると、 HTMLがエスケープされてタグがそのまま表示されてしまう問題について。 結論から書くとSlimの仕様でした、という話です。 …

SinatraのPagination

Pagination 以前DBのレコード数をカウントしてそこからページャーを生成する、と書いていたのですが、実はそれを実現してくれるGemがあるとのこと。 それに気づいたのはブログ本文で改行する方法を調べていたときのこと。 下記のページで「will_paginate」が…

RSS生成とか

引き続きSinatraの話。 Blogといえば、RSS(またはAtom)配信は欲しいところ。早速調べてみました。 RSSを生成する Controllerであるapp.rb(ファイル構成などはこの辺参照)で行います。 デフォルトで用意されているライブラリ(rss/maker)を使うため、Gemfileな…

SinatraとRoute

今回はControllerに当たるapp.rbを中心とした、URLのルーティングについて。 この辺でも少し触れていましたね。 URL構成 現在の構成はこんな感じです。 localhost:9292/ --- ブログ記事の一覧を表示 localhost:9292/tag/XXX --- タグ検索の結果を表示。XXXに…

SinatraとSQLiteと 2

大晦日ハッカソン、続く正月ハッカソンで、 前回作成したプロジェクトを元にブログサイトに挑戦してみました。 sntVaguely - GitHub やっぱり時間や目標をある程度決めて開発するというのは良いもので、まだまだ課題は多いとはいえ、ブログ記事を表示する部…

SinatraとSQLiteと

はじめに 相変わらずいろいろ迷走してますが、簡易的なブログを作ってみることにしました。 Sinatraを使って。 まずはテストとして、以前作成したひな形に必要な機能を追加していくことにします。 ファイル構成 構成はこんな感じに。 プロジェクトのルートデ…

Sinatra + HoustonでPush通知

Sinatra + houstonでPush通知 再びSinatraに戻って、今度はiPhoneへのPush通知送信に挑戦してみました。 はじめに Rubyを使って通知を送信できるライブラリはいくつかあるようですが、比較的易しそうな感じがしたのでHoustonを試してみることに。 Pushの送信…

結局Sinatraにした

再びRailsに手を出していたのですが、RubyもWebも何もわかっていない状態でサンプルだけ真似していくのはツライ…。 ということで、Sinatraに挑戦してみることにしました。 規模が大きいプロジェクトはRailsが向いている、小さいものはSinatraの方が、など得…