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
この記事は ANDPAD Advent Calendar 2022の 20 日目の記事です。 こんにちは、アンドパッドに今年の 9 月に入社しました、 田上(shuntagami)です。アンドパッドでは図面チームに所属していて、主にサーバーサイドを担当しています。Ruby と Rails を使うことが多く、Go や TypeScript を書くこともあります。 本記事の概要 以下のようなケース 将来的に規模が大きくなることも想定されるアプリケーションの API サーバーを 0 から開発する際のメインフレームワークとして 既存の大きく成長した Rails アプリケーションの一部をマイクロサービス…
Sinatraを使ってWebアプリケーションを作成した フィヨルドブートキャンプの課題でSinatraを使ってメモアプリを開発しました。 いきなりRuby on Railsの学習に入るよりもシンプルなフレームワークであるSinatraでルーティングや画面描画の仕組みを学んだことで、処理の流れが具体的にイメージできるようになったと思います。 Sinatraとは? SinatraのREADMEには以下の説明があります。 Sinatraは最小の労力でRubyによるWebアプリケーションを手早く作るためのDSLです。 ん・・・どういうこと? DSLとは? を読んでみると以下の説明があります。 DSL(…
少しずつerbファイルの書き方がわかってきた😅どうやら、<% %>で括った部分がruby コードと判定され、変数については<%= %>で括ってあげると認識されるっぽい。 それ以外の部分についてはhtmlとして扱われる。 例えば、下にerbのコード例を示す。 <% require './myapp.rb' %> <h2><div><%= @content %></div></h2> <div class="memo"> <ul> <% get_memo_num.times do |i| %> <% memo_info = open_memo_detail(i+1) %> <li><a href=…
Sinatraのサーバ部分はruby、Webページはhtmlというハイブリッド型?🤔 Sinatraの構成にまだ慣れていなくて、『どう書けばいいねん😵💫』て感じでしたが、とりあえず手を動かしてみるとだんだん見えてきました😅 自分の感覚的には、『サーバっぽい部分をrubyで処理してあげて、ブラウザ上に表示されるWebページ部分はhtmlで描画する』という印象を受けました。 例えば、GETメソッドの流れを見てみると、次のような流れになっている。 さらにPOSTメソッドについても見てみた。POSTメソッドはPRGパターンを意識して、一度リダイレクトをクライアントに返して、GETメソッドでコンテンツ…
実行環境 sinatra 2.1.0 問題 layoutを2重でネストさせたい 解決策 erb :"内側のlayout", :layout => :"外側のlayout" do erb :user(対象のview) end ↑これでいけるわ sinatraのREADME最強! 参考にしたサイト sinatrarb.com
sinatra % bundle exec ruby app.rb/Users/myMBP/work/FJORD/sinatra/vendor/bundle/ruby/3.0.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1755:in `detect_rack_handler': Server handler (thin,puma,reel,HTTP,webrick) not found. (RuntimeError) from /Users/myMBP/work/FJORD/sinatra/vendor/bundle/ruby/3.0.0/gems/si…
タダです. 業務で Nginx + Puma + Sinatra の構成を ECS Fargate で動かそうとしてハマったのでこの記事でその辺をまとめていきます. ハマったこと 設定漏れがあった箇所 Sinatra コンテナイメージビルド時のミス ECS のタスク定義の設定 設定の誤りを修正後のデプロイ確認 まとめ ハマったこと Nginx と Sinatra のコンテナを別々で立ち上げた時に Nginx -> Puma へのソケット通信が通らず,connect() to unix:/xxx/xxx/sockets/puma.sock failed (2: No such file or d…
AWS App Runner が発表されました。 aws.amazon.com Dockerfileを用意するだけでアプリケーションに必要なリソース(VPCとかロードバランサーとか)はマネージドで用意してくれる便利サービスのようです。 僕は使ったことが無いのですが Google Cloudの Cloud Runと似たサービスのようです。 デプロイ方法は2種類用意されており、 Node.js or Python のアプリケーションをコミットしたGithubに接続する Dockerfileを用意する 1のやり方にはハンズオンが用意されています。 www.apprunnerworkshop.com
はじめに 先日、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 …
目次 目次 背景 Rubyで知ったこと コマンドライン引数 initializeメソッド インスタンス変数とローカル変数の違い 末尾がイコールで終わるメソッドは、半角スペースを開けることができる オブジェクトについて データ型について 擬似変数 組み込みライブラリ、標準ライブラリ、gemの違いについて gem install と bundle installの違い Bundlerとは何か rbenvとは何か ruby-buildとは何か Gemfileの~> について HTMLで知ったこと HTMLのformタグで指定できるHTTPメソッドは、GETとPOSTの2つのみ HTMLのformタグ…
以下の記事で作成したメモアプリのデータ保存先をPostgreSQLに変更しました。 knkkojt6.hatenablog.com 学んだこと 1.pgのインストール RubyからPostgreSQLを使用するためのgemであるpgをインストール。 2.DBに接続、テーブルを定義 PG.connectでDBに接続できる。 DBに接続するのは重い処理な為、インスタンス変数に接続情報をキャッシュ。 アプリ起動時に一度だけ行う処理configurationが使用できる。 PostgreSQLのシステムテーブルtablesから作成したテーブルの存在を確認できる。 システムカタログ ...リレーショナル…
ABAC形式のセクションCの冒頭2小節です。 ジャム・セッションのように譜面なしで演奏するときにいつもどうしようか悩むところです。いくつか音源をきいてみましょう。 1953年?、Bud Powell:VIIm7(♭5) | III7 | (ストレート・メロディにあわないが、大きくフェイクしている。) 1954年、Helen Merrill with Clifford Brown:♯IVm7(♭5)-VII7 | IIIm7 | 1956年、Frank Sinatra/Swingin' Affair:♭IIIdim7 | I/III | (直後の2小節は IVmaj7 | ♯IVdim7 | )…
ここは、メロディとコードとの関係で非常に悩ましい箇所です。 ジャム・セッションでは、この2小節目を II7 とするか、あるいは、VIm7 | II7 | などとするケースが多いように思います。 ところが、ここのストレート・メロディは、階名で「ミーファド | ドラファ」で、メロディの「ファ」がII7の3度(ファ♯)と衝突します。メロディの「ミ」が II7 の9度のテンションにあたりますから、この「ファ」を♯9と解釈することができないことは自明です。 この2小節を IIm7 とすると、メロディとコードの問題を解決することができます。ところが、12小節目までほぼ1-2小節ごとにコードが進行してきたの…
1月の振り返り ポートフォリオをマークアップで作ってました。レスポンシブスタイルもある程度つけてきた。 あとは微調整も必要だし都度修正→追加でgithubにプッシュしていく。 マークアップは変化が目に見えるので楽しいな〜と思いながら、 まだsassやらjQueryやらは手付かずだし、 FlexBoxはシンプルで考えやすいけれどレスポンシブデザイン考えたら、 Bootstrapの方が良かったのかな? なんて揺れたり。 表現の仕方によってどっち使うのか決めた方がいいかもしれない。 でもそれなりに作れたのでちょっと嬉しいというのが本音です。 いつも計画なしで作っていくのでデザインカンプは今後作ろうと…
August 2005 Out of Thin Air Keith Jarrett reinvents his approach to the piano, and looks to do the same for his reputation By Dan Ouellette 2005年8月 どこからともなく/何も無いところから/何の根拠もなく/何の警告もなく キース・ジャレット ピアノへの自らのアプローチを再構築の上 これまで通りの実力発揮を期する ダン・ウォーレット (後半) From the sacred to the profane: the matter of the coughs…
Railsという巨大なフレームワークを学習する前に、Rubyを用いてWebアプリケーションを作成するためのフレームワークである「Sinatra」でWeb開発の基礎を学びました。 シンプルなメモアプリを作成しました。 RubyとSinatraではじめる Webアプリケーション開発の教科書 が参考になりました。 メモアプリの機能 メモの作成、編集、削除 メモ一覧の表示 特定のメモを表示 実行環境 Ruby:3.1.2 Bundler:2.3.16 →ユーザー全体の共有場所ではなく、アプリケーションディレクトリに必要なgemパッケージを整えるソフトウェア。 sinatra:3.0.5 webrick…
番組中の曲の解説部分を要約して記しています。 ネットに音源があるものは張っていますが、オンエアされたものとはヴァージョン等が異なる場合があります。 1. ミライのテーマ / 山下達郎 2. TELL HER NO / THE ZOMBIES 3. LITTLE STAR / THE ELEGANTS 4. SUGAR TOWN / NANCY SINATRA 5. HOLY GHOST / THE BAR-KAYS 6. JUST FOR YOU / WINDY CITY 7. YOU CAN DO MAGIC / AMERICA 8. MR.LONELY / BOBBY VINTON 9. …
レンタカー生活も気がつけば苦節1年半。【わ】ナンバーなので無駄なクラクションや煽り運転をされるなど数々の辛酸をなめてきた。ただ一度だけブチ💢たのがドンキからの帰り道、赤信号になりそうな交差点まで15km/h走行で急ブレーキ停車。丸腰で後続車の小僧アベック...いや、カップルに詰め寄るという小事件。あのう、ところで俺何かした?に、すみませんすみませんの連呼で話にならない。違う違う、俺が聞いてるのは何かまずいことしたか聞いてるの。実況見分として、ナンバーごと車体撮影(のフリ)に助手席の彼女が軽く泣くという。いやいやオネーさん?オネーさんは悪くないんだよ笑ってたけど。ただ運転してたのはオニーさんだか…
言いたいことがたくさんある But Not For Me なのですが、この箇所についてはあまり議論になっていない気もします。 メロディは階名「ミ」で伸びていて、次の小節に向かって8小節目の2拍目から四分音符で「ミファソ」とあがって行きます。 7小節目がトニック・メジャー、8小節目がサブドミナントへのセカンダリドミナントI7となっている譜面をよく見るし、そのような演奏もジャム・セッションなどでは耳にします。理論的にもまったく問題ありません。 ところが、私にとってはとても違和感があります。これまで聴いたなかで、そのように演奏していたレコードってあったかなあと思うのです。 いくつか音源を聴いてみまし…
今回は、ジャズのスタンダードでもある I Fall in Love Too Easily の和訳と弾き語りをお届けします。 1945年の映画『Anchors Aweigh』の挿入歌として、Frank Sinatraが歌いました。 作詞はSammy Cahn、作曲はJule Styne。 Chet BakerやMiles Davisなど、多くのミュージシャンにカバーされています。 www.youtube.com I Fall in Love Too Easily 〜 惚れっぽいんだ Lyrics: Sammy Cahn / Music: Jule Styne I fall in love too…
6:00-7:00 HIGH-POSI MORINIG (大矢隼佑) カーネーション / It's a Beautiful Day BLANKEY JET CITY / 冬のセーター スピッツ / 冷たい頬 三浦理恵子 / 日曜はダメよ 小泉今日子 / CDJ Clémentine / ウィークエンド 夏木マリ / ミュージシャン ピチカート・ファイヴ / スウィート・ソウル・レヴュー Michael Jackson / Black Or White 7:00-11:00 RADIANT MORNING (しもぐち☆雅充) 郷ひろみ / 2億4千万の瞳 松田聖子 / 瞳はダイアモンド 堀内孝雄…
"Sway" (Frank Sinatra, Dean Martin & Sammy Davis - Gang Guys Tribute TV Show) - YouTube 良質な音質と映像を楽しむために、是非「ようつべ」でご覧ください。
遅ればせながら明けましておめでとうございます。 sinatraのアプリ制作をしていくと、「あれ?かなりCSS 忘れてる・・・」と思ったので html/cssの勉強がてらドットインストールをずっとやってました。 jsで動きを追加するところまで進んだけれど、まだまだ理解しきれてないところも多いので、 一度自分で制作物を作ってみることにする。 制作の流れ html/cssで自分ポートフォリオ 制作物をそこに載せる お問い合わせとかも載せたい sinatra再開 sinatraでの制作物 ひとまずsinatraの制作物もこのポートフォリオにリンク付けして表示できればなあと思う。 FBCを9回してから来…
「なぜ”フレンチ・シェフ”なんて名前にしたの? あなた、フランス人でもないのに」 『ジュリア アメリカの食卓を変えたシェフ』 "Julia" サラ・ランカシャー,デヴィッド・ハイド・ピアース,ビビ・ニューワース*1,フラン・クランツ,フィオナ・グラスコット,ブリタニー・ブラッドフォード 2022 1960年代。 アメリカに フランス料理ブームを もたらした 一人の女性の物語です。 www.youtube.com ▼U-NEXTオリジナルドラマですvideo.unext.jp ボストンに住む ジュリア・チャイルドは、 ル・コルドン・ブルーで学んだ フランス仕込みの経験を活かして 料理本*2を出版…