タグ

Sinatraに関するsonota88のブックマーク (12)

  • Sinatra(Ruby製軽量フレームワーク)の使い道を本気で検証してみた - ANDPAD Tech Blog

    この記事は ANDPAD Advent Calendar 2022の 20 日目の記事です。 こんにちは、アンドパッドに今年の 9 月に入社しました、 田上(shuntagami)です。アンドパッドでは図面チームに所属していて、主にサーバーサイドを担当しています。RubyRails を使うことが多く、GoTypeScript を書くこともあります。 記事の概要 以下のようなケース 将来的に規模が大きくなることも想定されるアプリケーションの API サーバーを 0 から開発する際のメインフレームワークとして 既存の大きく成長した Rails アプリケーションの一部をマイクロサービスとして切り出したいケース において Ruby 製の軽量フレームワーク Sinatraを採用することが生産性高く開発を行う上で最適解のひとつになるのではと考え技術検証してみた、という記事です。経緯として

    Sinatra(Ruby製軽量フレームワーク)の使い道を本気で検証してみた - ANDPAD Tech Blog
  • LibreOffice Calcのfodsファイルを読み書きするサンプルをweb API化してみた - Qiita

    これは LibreOffice Advent Calendar 2021 の11日目の記事です。 ↓これにちょろっと付け足して web API 化してみただけの記事です。 できたもの webapi-2021 ブランチ Java 版でやろうかと考えていたのですが、億劫になって JRuby 版でやりました。 JRuby で Sinatra 使った方が速い。 主な部分だけ抜き出すとこんな感じ。考えるのが面倒だったので REST ではなく RPC風で。普通に Sinatra を使ってるだけですね。あんまり書くことがない…… # app.rb require "sinatra" require_relative "libo_calc" post "/calc" do file = params["file"] sheet_name = params["sheet"] data = {} Calc.o

    LibreOffice Calcのfodsファイルを読み書きするサンプルをweb API化してみた - Qiita
  • Hatena::Letの式年遷宮

    自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi

    Hatena::Letの式年遷宮
  • RubyとSinatraではじめる Webアプリケーション開発の教科書|森北出版株式会社

    手を動かしながら「作り方」と「考え方」が身につく一冊。 シンプルな記述で可読性の高いRuby言語と、小規模のアプリを作りやすいフレームワークSinatraを利用することで、余計な環境設定に煩わされることなく、Webアプリの学習に集中することができます。 なぜこのプログラムが必要なのか、コンピュータの内部ではどのように処理されているのか。「何となく動かせる」ではなく、「Webアプリの中身をきちんと理解してプログラミングできる」ようになります。 サンプルプログラムのソースコードや、演習として書の随所に配置されたトレーニング、チャレンジの解答は、[ダウンロード]で公開しています。 VirtualBoxで作る仮想環境にWebサーバーを構築するので、PC一つですぐに始められます。 まずは実行してみて、Webアプリがどう作られ動くのか見てみましょう。 第1章 Webアプリが動くしくみ 第2章 PC

  • これからWebアプリ開発をはじめる方へ!『RubyとSinatraではじめるWebアプリケーション開発の教科書』近刊紹介|森北出版

    2021年7月下旬発行予定の新刊書籍、『RubyとSinatraではじめるWebアプリケーション開発の教科書』のご紹介です。 同書の「まえがき」を、発行に先駆けて公開します。 *** まえがき このを手にとられた方は、おそらくインターネットを毎日のように使っているのだと思います。インターネットはすでに、水道や電気のように数秒でも止まっては困る社会的なインフラとなりました。インターネット上で提供されているメールや通信対戦ゲームなどのいくつものサービスのうち、最も重要なものは間違いなくWebでしょう。AmazonTwitter、Facebookなど枚挙にいとまがありません。 書では、上の例に挙げたようなWebアプリケーションを開発する基を解説しています。プログラミングとLinuxコマンドの基礎さえ知っていれば、書に書かれている手順を1つ1つ追いかけていくことで、その他の前提知識なしに

    これからWebアプリ開発をはじめる方へ!『RubyとSinatraではじめるWebアプリケーション開発の教科書』近刊紹介|森北出版
  • WindowsでJRubyでsinatraでRest API - 情シスは何度でも甦るさ。

    既存システムとのリアルタイム連携 既存システムのリプレースにあたり、販売管理システムの在庫データをリアルタイムに覗きたいという要望がでてきた。 社内システムの連携は基はファイルベースでバッチ処理で行っているのだが、それではリアルタイムという要件に合致しない。 なので、ここは、販売管理システムにAPI生やすのが良さそうだな。と考え至る。 販売管理システムの開発・保守してるベンダーにその旨を告げると、 「レスト?」「エーピーアイ?」 あぁ、ダメだ。人のこと言えないけど、これは、無理だ。 自分で作るか。ならば、Ruby、キミに決めた! ただ、単純にSQLでSELECTして返すだけなので、自分でAPI作る方が、まだましか。お金かからんし。 とりあえず、動けばいいし、問題が出たらそん時考えるべ。ということで、自分のスキル的にはRubyでSinatraでちゃちゃっとプロトタイプ作ってみよう。と思って

    WindowsでJRubyでsinatraでRest API - 情シスは何度でも甦るさ。
  • 「Reading Sinatra」 を読んでいます - katorieのブログ

    世田谷区池尻で週に一度、おいしいランチべながら読書会をする、というスタートを切った Ikejiri.rb ですが、 メンバーのいろんな事情に柔軟に対応した結果、 現在は2週間に一度、オンラインで読書会をしています。 メンバーも4人に増えました! 2月から、「Reading Sinatra」を読んでいます。 #ikejirirb のオンライン読書会で ⁦@GhostBrain⁩ さんの Reading Sinatra を読みはじめたのですが、読んだだけだと次の会までに忘れるので、手書きしながら復習してました pic.twitter.com/vIfDDpzg2s— かとりえ (@katorie) 2020年2月29日 2週間に一度なので、読書会だけの時間だと前回分を思い出すのに時間がかかったり、 その時間内に「なんとなくわかった」で終わってしまったりするので、 2回分をひとりでスケッチノー

    「Reading Sinatra」 を読んでいます - katorieのブログ
  • クラシックスタイルでSinatraのログを手軽に出すメモ - Qiita

    自分用です。プロトタイプ的なものをSinatraで作る機会が多いんだけど、いつもログ周りで一瞬引っかかるのでメモしておきます。なぜクラシックスタイルなのかといえば、普段手癖で小さなAPIを書くときにはだいたいクラシックスタイルで書くからです。 configure の中にまとめるのは趣味です。 require './app.rb' configure { Dir.mkdir("log") unless File.exist?("log") access_log = File.new("#{settings.root}/log/access.log","a+") access_log.sync = true use Rack::CommonLogger, access_log error_log = File.new("#{settings.root}/log/error.log","a+")

    クラシックスタイルでSinatraのログを手軽に出すメモ - Qiita
  • AWS LambdaでサーバレスSinatraカウントアプリ - Qiita

    こんにちは、Life is Tech!でWebサービスプログラミングコースのメンターをしております「がはく」です。 昨日のAWS re:Inventのkeynoteで発表されリリースされたAWS LambdaRubyランタイム対応、早速試してみました。 今回作るもの 初学者のメンバーには最初に作っていただく、カウントアプリを今回作っていきたいと思います。 プラスボタンが押されたらDB内の指定のレコードの値が1足されるというような実装を行っております。 AWSよりSinatraをLambdaで動かすサンプルがアップされていたので参考にしました。 こちら→serverless-sinatra-sample 構成図 node.jsでWeb作るときの構成とほぼ同じです。API GatewayよりLambda関数を呼び出し、Lambdaと相性のいいNoSQLのDynamoDBにカウントした数字を入

    AWS LambdaでサーバレスSinatraカウントアプリ - Qiita
  • Sinatra でアプリケーションログをファイルに書く方法。 - こせきの技術日記

    Sinatra はじめて触ったんだけど、ログをファイルに書く方法がなかなかわからなかった。 ログを、ただファイルに書きたいのです。 結論 独自のミドルウェアで env['app.logger'] を設定し、アプリケーションのloggerメソッドをオーバーライドする。 参考 ruby - Use Rack::CommonLogger in Sinatra - Stack Overflow これに書いてある通りだった。面倒くさいー。 サンプル 以下でログがファイルに出力される。アクセスログとアプリケーションログを別のファイルに出力することもできる。 config.ru Loggerを作ってミドルウェアに渡す。 require 'logger' require 'sampleapp' require 'applog' logdir = File.dirname(__FILE__) + "/log

    Sinatra でアプリケーションログをファイルに書く方法。 - こせきの技術日記
  • Sinatra: README (Japanese)

    http://localhost:4567 を開きます。 ThinがあればSinatraはこれを利用するので、gem install thinすることをお薦めします。 目次 ルーティング(Routes) Sinatraでは、ルーティングはHTTPメソッドとURLマッチングパターンがペアになっています。 ルーティングはブロックに結び付けられています。 get '/' do .. 何か見せる .. end post '/' do .. 何か生成する .. end put '/' do .. 何か更新する .. end patch '/' do .. 何か修正する .. end delete '/' do .. 何か削除する .. end options '/' do .. 何か満たす .. end link '/' do .. 何かリンクを張る .. end unlink '/' do ..

  • テンプレートエンジンTenjinを使ってみる - 『道』

    ふと、Sinatraで標準対応していないテンプレートエンジンのTenjinを使ってみようと思い、 いろいろ試してみたところ、なんとかいけそうな感じにはなってきた。 Sinatraは内部でTiltという汎用的なテンプレートのインターフェースを使っているが、 それに合わせたクラスにしてやればいいようだ。 test_template.rb: require 'sinatra' require 'tenjin' class MyEngine < Tenjin::Engine def initialize(path, line, options) @template_path = path super({}) end def render(app, locals, &block) super(@template_path, locals) end end Tilt.register :rbhtml,

    テンプレートエンジンTenjinを使ってみる - 『道』
  • 1