Ruby
はじめに 実装 N 参考 はじめに 前回の続きです。 環境 送信側 Windows10(64bit) Ruby 2.3.0 GCM (Gem) 0.1.1 実装 送信側はRubyで実装します。 RubyにはGCMというそのものズバリなGemがあり、これを使うととてもシンプルに実装できてしまいます。 (必要なデ…
ふとした思いつきで、今年のはじめに作成しかけたまま放置しているブログで、Reactを使ってみることにしました。 元のプロジェクトはsntVaguely - GitHubです。 やったこと Ajaxを使って、ActiveRecordで取得したデータをJSON形式で取得する。 取得したJSON…
前回はTabを押した時にページ遷移をして(表示される内容は変わっていませんでしたが)内容を切り替えていました。 今回は、前回作ったものに更にボタン(ラジオボタン)を追加して、非同期でコンテンツの内容を変えてみます。 やったこと ボタンを2つ追加して、…
諸事情によりめっきりブログ作成が滞っていますが...。 今日はJavascriptとCSSを使って、Tabを切り替えてみます。 やったこと 5つのタブと左右に1つずつボタンを作成 タブのうち2つを非表示にして、左右のボタンで切り替える タブをクリックしたらページ遷移…
今回はちょっと脇道にそれて、SinatraでAjaxを試してみたお話。 はじめに ボタンを押すなど、何か操作をした場合にページ遷移せずに表示内容を変更してみたい。 ということで、jQueryを使って非同期処理をすることにしました。 今回やったこと ページ上に四…
Slimのサニタイジング しばらくハマっていた、DBやController(app.rb)でSlimやHTMLのコードをviews/blog.slimで表示しようとすると、 HTMLがエスケープされてタグがそのまま表示されてしまう問題について。 結論から書くとSlimの仕様でした、という話です。 …
Pagination 以前DBのレコード数をカウントしてそこからページャーを生成する、と書いていたのですが、実はそれを実現してくれるGemがあるとのこと。 それに気づいたのはブログ本文で改行する方法を調べていたときのこと。 下記のページで「will_paginate」が…
引き続きSinatraの話。 Blogといえば、RSS(またはAtom)配信は欲しいところ。早速調べてみました。 RSSを生成する Controllerであるapp.rb(ファイル構成などはこの辺参照)で行います。 デフォルトで用意されているライブラリ(rss/maker)を使うため、Gemfileな…
今回はControllerに当たるapp.rbを中心とした、URLのルーティングについて。 この辺でも少し触れていましたね。 URL構成 現在の構成はこんな感じです。 localhost:9292/ --- ブログ記事の一覧を表示 localhost:9292/tag/XXX --- タグ検索の結果を表示。XXXに…
大晦日ハッカソン、続く正月ハッカソンで、 前回作成したプロジェクトを元にブログサイトに挑戦してみました。 sntVaguely - GitHub やっぱり時間や目標をある程度決めて開発するというのは良いもので、まだまだ課題は多いとはいえ、ブログ記事を表示する部…
はじめに 相変わらずいろいろ迷走してますが、簡易的なブログを作ってみることにしました。 Sinatraを使って。 まずはテストとして、以前作成したひな形に必要な機能を追加していくことにします。 ファイル構成 構成はこんな感じに。 プロジェクトのルートデ…
Sinatra + houstonでPush通知 再びSinatraに戻って、今度はiPhoneへのPush通知送信に挑戦してみました。 はじめに Rubyを使って通知を送信できるライブラリはいくつかあるようですが、比較的易しそうな感じがしたのでHoustonを試してみることに。 Pushの送信…
ちょっと必要になったのでメモ。 やりたいこと Rubyファイルと同じ場所に置いた外部テキストファイルを読み込んで、改行、任意に含まれたスペースを削除する test.txt 読み込み対象の外部テキストファイルです。 t e s t です getTextData.rb #ファイルを開…
再びRailsに手を出していたのですが、RubyもWebも何もわかっていない状態でサンプルだけ真似していくのはツライ…。 ということで、Sinatraに挑戦してみることにしました。 規模が大きいプロジェクトはRailsが向いている、小さいものはSinatraの方が、など得…