vaguely

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

Ruby

【Android】【Kotlin】【Ruby】Google Cloud Messaging(GCM)を受信する 2 (送信側)

はじめに 実装 N 参考 はじめに 前回の続きです。 環境 送信側 Windows10(64bit) Ruby 2.3.0 GCM (Gem) 0.1.1 実装 送信側はRubyで実装します。 RubyにはGCMというそのものズバリなGemがあり、これを使うととてもシンプルに実装できてしまいます。 (必要なデ…

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

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

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の送信…

Rubyで文字列操作

ちょっと必要になったのでメモ。 やりたいこと Rubyファイルと同じ場所に置いた外部テキストファイルを読み込んで、改行、任意に含まれたスペースを削除する test.txt 読み込み対象の外部テキストファイルです。 t e s t です getTextData.rb #ファイルを開…

結局Sinatraにした

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