Sinatra is a DSL for quickly creating web-applications in Ruby with minimal effort:
# myapp.rb require 'rubygems' require 'sinatra' get '/' do 'Hello world!' end
Install the gem and run with:
sudo gem install sinatra ruby myapp.rb
はじめに 先日、Railsの勉強のために現場で使える Ruby on Rails 5速習実践ガイド という本でタスク管理アプリを作成しました。 そこでよりRailsの理解を深めるためにもSinatraでタスク管理アプリを 実装することにしました。 今回はルーティングついてまとめました。 RESTfulなルーティング Railsで実装した時と同じURLになるようにSinatraのルーティングを設定。Railsでの実装 resources :tasks Sinatraでの実装 # app.rb # index get '/tasks' do end # new get '/tasks/new' d…
はじめに 先日、Railsの勉強のために現場で使える Ruby on Rails 5速習実践ガイド という本でタスク管理アプリを作成しました。 そこでよりRailsの理解を深めるためにもSinatraで タスク管理アプリを実装することにしました。 今回はSinatra,PostgreSQL,ActiveRecordをデータベースの設定に ついてまとめました。 database.ymlのproduction設定(Herokuにデプロイすることを想定) productionにurl: を追加 # database.yml default: &default adapter: postgresql …
今回も前回に引き続き、dockerで環境構築の学習を記しておく。 今回は主にDockerfileの作成手順についてフォーカスする。 前回、かなり適当に追記して動かしていたが、どうやら コンテナの中に入る→作業する→うまくいってからDockerfileに記載 の手順を踏んだほうが良いらしいので、それに従って作業していくこととした。 目的 コンテナの中に入る→作業する→うまくいってからDockerfileに記載の手順でDockerfileを作成する rubyのフレームワークであるsinatraを用いて、ブラウザでトップページを表示する $ mkdir sinatra_app $ cd sinatr…
要約 冬休みに AWS を勉強していて実践してみたくなったので簡単なアプリを作ることにした.作ったのは自分のホームページの管理アプリ.読んだ本や映画の感想を一覧にしているのだが,シンプルにhtml直書きのソースゆえ,いちいち手打ちで <tr> とか書かなきゃいけなくて管理がしんどかったので,Slack に投稿するだけで html をいい感じに書き換えてくれるアプリを作ることにした. タイトルにもあるとおり,登場人物は AWS,Ruby+Sinatra,Slack API の3名である. 完成品はこちら github.com 要約 アプリの仕様 大まかな構成 Slack API AWS Elas…
Sinatraとpgを使ったメモアプリを作る課題があったので、備忘録としてpgを使ったDB操作をメモしておく。 pgって何? github.com Pg is the Ruby interface to the PostgreSQL RDBMS. RubyでPostgresSQLとかのRDBMSを使うためのインターフェーストノコト
2021 Feb. 14. 2020 Nov. 07. 2018 Nov. 04. 2018 Oct. 08. 2018 Apr. 21. sinatraインストール (sinatraはBundlerでインストールできるので、このセクションは無視して下の「sinatraインストールに先立ってプロジェクト初期化」から始めればよい) (Rbenv、Bundlerがシステムワイドにインストールされた環境にて) # rbenv exec gem install sinatra # rbenv rehash ## sinatra-reloaderを利用するためにsinatra-contribをインストー…
やったこと 前提 環境変数の取得 Herokuアプリで接続する 今回の環境 やったこと Herokuの同一アカウント上で運営している2つのアプリ間でデータベースを共有した。 前提 origin_appとnew_appを運営 アプリフレームワークはSinatra ORMフレームワークはActive Record origin_appで既にHeroku Postgresを使用 new_appからorigin_appのデータベースを利用する 環境変数の取得 Heroku Postgresの共有に関する解説ページはこちら。 Heroku Dev Center Heroku Postgres Shari…
手軽にやるときはただのCGIスクリプトとして作りたい。 テンプレート処理など面倒はSinatraにまかせつつ、jpmobileの各種フィルタ・ビュー振り分け、絵文字変換などを利用したい。(昔 rack-ketai というgemを書いたが、jpmobileがrack対応した時点で役割を終えました。) Gemfile source 'https://rubygems.org' gem "sinatra", "~> 1.4.3" gem "jpmobile", "~> 4.0.0" app.cgi #!/usr/local/rbenv/versions/2.0.0-p247/bin/ruby req…
映画「シティ・オブ・エンジェル」で流れる曲をシーンと一緒に紹介。 ※ネタバレあり。 映画「シティ・オブ・エンジェル」の挿入歌12曲 Red House / Jimi Hendrix Further On Up The Road / Eric Clapton Mama You Got A Daughter / John Lee Hooker Feelin' Love / Paula Cole If God Will Send His Angels / U2 Hey! Ba-Ba-Re-Bop / Louis Prima That Old Black Magic / Frank Sinatra A…
はじめに Rackミドルウェアの一つであるRack::Timeoutを使うと、Rackアプリがリクエストを受け取ってから一定時間が経過すると、アプリのどの場所でコードが実行されていても、その場所からRack::Timeoutの例外RequestTimeoutExceptionが発生する。 サンプルコードと、タイムアウト時のスタックトレースは次のようになる。 # config.ru require 'rack-timeout' require_relative './app' use Rack::Timeout, service_timeout: 5 run App # app.rb requi…
7:00-11:00 RADIANT MORNING (しもぐち☆雅充) かの香織 / 青い地球はてのひら ポルノグラフィティ / アポロ 大江千里 / APOLLO 大事MANブラザーズバンド / それが大事 本名陽子 / カントリー・ロード The Beatles / I Want To Hold Your Hand 奥田民生 / さすらい GO-BANG'S / 無敵のビーナス 柏原よしえ / ハロー・グッバイ くるり / ハローグッバイ MY LITTLE LOVER / Hello, Again ~昔からある場所~ ALFEE / STARSHIP -光を求めて- ALFEE / 霧…
[ 50年を経て変わらないサウンドという芸術の軌跡 | #Beachboys (#BrianWilson) 特集 | PART1 | 2021年04月17日号 | #AmericanBand / I Just Wasn't Made for These Times / #GoodVibrations / Surf's Up / Today & Summer Days 他 | 米国西海岸の若者文化、特にビキニの娘、サーフィン、改造車(ホットロッド)、青い海などをテーマにしたポップな楽曲で知られている。 特に、ブレイクした名曲サーフィンUSAは、チャックベリーの作品を、アレンジしたものだったが、ロ…
Tl;Dr それは何? 構成は? がんばるぞい bot の歴史 (興味がない方は読み飛ばしてください) ペンギン村 Slack では昔から がんばるぞい bot が稼働していました。 それは Slack bot と呼ぶには単純すぎるもので、「がんばるぞい!」や「がんばったぞい!」などと書き込むと、ランダムでキャラクターがメッセージを返答してくれるという、まぁがんばる人を応援しちゃうぜ的な bot でした。 そんな、がんばるぞい bot ですが実は2度もスクラッチで書き直されています。 初代: JavaScript / AWS Lambda もっとも初期のサービスは JavaScript / A…
はじめに 先日、Railsの勉強のために現場で使える Ruby on Rails 5速習実践ガイド という本でタスク管理アプリを作成しました。 そこでよりRailsの理解を深めるためにもSinatraでタスク管理アプリを実装することにしました。 今回はHTML,JavaScriptついてまとめました。 テンプレートエンジンとしてSlimを使用しています。 削除ボタンと確認ダイアログの実装 methodをpostにして以下のコードを追加。 input id="hidden" type="hidden" name="_method" value="delete" form onsubmit='re…
The Science of Science 作者:Wang, Dashun,Barabási, Albert-László 発売日: 2021/03/25 メディア: ハードカバー ネットワーク科学の第一人者として知られるラズロ・バラバシと、組織論を研究するDashun Wangによる共著書。タイトルのScience of Science(科学の科学)とは、科学的生産についてデータをもとに定量的に分析する新しい学際分野だという。 科学者の「生産性」は何が決めるのか? 「インパクト」のある科学研究はどんな要因で生まれるのか? 高インパクトな研究を生みやすいのは、どんな形のコラボレーションか? …
最近、Azure Functionsのお勉強をチマチマと始めました。色々と分からないことが多かったのでお勉強メモをまとめて記します。 どこまで続くかわからないお勉強メモ。今日は5回目です。今回はRubyを使ったTimer Triggerの実装です。過去のものは以下を参照。 Azure Functionsのお勉強メモ(1) - miyohide's blog Azure Functionsのお勉強メモ(2) - miyohide's blog Azure Functionsのお勉強メモ(3)Spring Cloud FunctionでTimer Triggerを実装する - miyohide's…
問題 問題文 Come check out our finest selection of quills! app.rb Author: JoshDaBosh 問題概要 Ruby 製の Web アプリケーションフレームワークである sinatra を用いた Web アプリケーションのソースコード (app.rb) と 実際に動作する Web アプリケーションの URL が与えられる. 解答例 指針 UNION 演算子を利用した SQL injection 解説 与えられたソースコードは以下のようなものであった. require 'sinatra' require 'sqlite3' set :…
映画「キャスパー」で流れる曲をシーンと一緒に紹介。 ※一部ネタバレあり。 映画「キャスパー」の挿入歌5曲 That's Life / Frank Sinatra Same Song / Digital Underground Hard Copy Ball Logo / ??? Remember Me This Way / Jordan Hill Casper The Friendly Ghost / Little Richard 予告編 映画「キャスパー」の挿入歌5曲 ※以下、敬称略とする。 That's Life / Frank Sinatra ビル・プルマン演じるジェームズ。 クリスティー…
[ 50年を経て変わらないサウンドという芸術の軌跡 | #Beachboys (#BrianWilson) 特集 | PART1 | 2021年04月10日号 | #AmericanBand / I Just Wasn't Made for These Times / #GoodVibrations / Surf's Up / Today & Summer Days 他 | 米国西海岸の若者文化、特にビキニの娘、サーフィン、改造車(ホットロッド)、青い海などをテーマにしたポップな楽曲で知られている。 特に、ブレイクした名曲サーフィンUSAは、チャックベリーの作品を、アレンジしたものだったが、ロ…
7:00-10:00 MORNING SPRITE (秋田美幸) Sade / Kiss Of Life Jamie Cullum / Everlasting Love Sheryl Crow / Sweet Child O' Mine Madonna / Ray Of Light Carpenters / We've Only Just Begun Yard Act / Dark Days Simply Red / Fairground Daryl Hall & John Oates / Private Eyes Daryl Hall & John Oates / Kiss On My Li…
2021.4.5 パスワードリセット機能の実装 sorcertyのreset_passwordモジュールを使用する。 (イメージ) ログイン画面のパスワードおお忘れの方(リンク)からパスワード変更の申請ページへ パスワード変更申請ページからメールアドレスを入力→ メールアドレスにメールが届く→メールのURLを開くとパスワード申請ページが表示され、パスワードを変更できる。 参照 【Rails】パスワード変更(トークンがどのように使用されているのか) - Qiita sorceryのパスワードリセットを実装(reset_passwordモジュール) - Qiita Action Mailer の基…