タグ

webappに関するsh19910711のブックマーク (1,343)

  • IaLを活用したAWS FargateでのStreamlitアプリケーションデプロイ - Terraformによる自動化の実践 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 近年、インフラストラクチャ管理の分野で注目を集めているのが「IaL(Infrastructure as Language)」という概念です。IaLは、自然言語での要件定義とAIによるコード生成を組み合わせることで、インフラ構築のプロセスを大幅に簡素化し、効率化することを目指しています。 記事では、IaLの概念を活用し、AWS FargateでStreamlitアプリケーションをデプロイする過程を詳しく解説します。Terraformを使用したインフラストラクチャのコード化(IaC)と、Dockerを用いたアプリケーションのコン

    IaLを活用したAWS FargateでのStreamlitアプリケーションデプロイ - Terraformによる自動化の実践 - Qiita
    sh19910711
    sh19910711 2024/10/14
    "IaL: 自然言語での要件定義とAIによるコード生成を組み合わせることで、インフラ構築のプロセスを大幅に簡素化"
  • 格安でSteamlitのDockerコンテナをデプロイする方法

    動機:何も考えずにStreamlitアプリをデプロイしたい Streamlitは,Pythonのみで簡単にWebアプリケーションを構築できるライブラリです.社内ツールやプロトタイプを手軽に作ることができるため,非常に重宝しています. しかし,作成したアプリケーションのデプロイ段階になると,意外と面倒なことがわかります.調査すると様々な選択肢が存在しますが,それぞれに一長一短があり,理想的な解決策をなかなか見つけることができずにいました. 私が求めているのは,主に以下の3点です: セキュリティ:社内からのみアクセス可能にすること 簡便性:インフラの知識をあまり必要としない方法であること コスト効率:特に,使用されていない時間帯のコストを抑えられること IP制限やSSOログインなどで社内限定のアクセスを実現したいです.また,開発や運用においてインフラ関連の作業を最小限に抑え,Streamlit

    格安でSteamlitのDockerコンテナをデプロイする方法
    sh19910711
    sh19910711 2024/10/13
    "何も考えずにStreamlitアプリをデプロイしたい / Fly\.io: アプリケーションが使用されていない時間帯には自動的にリソースがゼロにスケールダウン / Caddy: 何も設定しなくてもLet's Encryptで証明書を発行"
  • 【encraft#2】Protobufスキーマによる明確なAPI定義

    What we keep in mind when migrating from Serverless Framework to AWS CDK and AWS SAM

    【encraft#2】Protobufスキーマによる明確なAPI定義
    sh19910711
    sh19910711 2024/10/12
    "コミュニケーションツールとしてのprotobuf / 型定義の生成はts-protoを採用 / 単純な実装ミスは型の力をかりてコンパイル時に検出でレビューコストを低減" '23
  • GraphQL(gqlgen) の directive で事前条件、事後条件を実装する

    こんにちは。久しぶりに趣味でタイピングゲームに関するライブラリを開発している typer です。 テラーノベルでも遅まきながらバックエンド APIGraphQL に移行することになったので、GraphQL の表現力を活かしてドメインの関心事をスキーマに落とし込むことに四苦八苦している毎日です。今回は、こんな directive 作ってみたら解決したい問題にジャストフィットしたよ、というのを紹介していきます。 GraphQL 移行開始 2023年春現在、テラーノベルではバックエンド API を protocol buffer (protobuf) で定義しています。protobuf = gRPC みたいなイメージがありますが、Google App Engine(GAE) が gRPC 通信に非対応だったことやランタイムの Go のバージョンが低かったこともあって、twirp というフレ

    GraphQL(gqlgen) の directive で事前条件、事後条件を実装する
    sh19910711
    sh19910711 2024/10/12
    "gqlgen が要求する Go のバージョンにようやくGAE の Go ランタイムが追いついた / directive: 事前条件がスキーマ上で表明されていることで、APIを利用する側に対してすごく優しい(易しい)作りにできる" '23
  • 最近 Hono で外部連携用の AWS Lambda 書いています - Qiita

    AWS Lambda のハンドラは辛い こんにちは!AWS Lambda初心者です! AWS Lambda と言えば、サーバレスかつ非常に安い価格で無限にスケールアウトできる処理を書けることで有名ですが1、 2022年04月の Function URL アップデートAPI Gatewayなど用いなくてもラムダ単体かつ無料でHTTPリクエストを処理できるURLを持てるようになり、かなりの神サービスになりました。 弊社でも Function URL でラムダによる外部連携用のサーバを立てておき、ちょっとしたHTTPのリクエストを受け取って、他所のサーバにデータ連携したり、S3にリクエスト中のデータを保存したりする用途に積極的に使っています。 さて、そんな神サービスである AWS Lambda 君ですが、いざ実際にJavaScriptでHTTPサーバを書こうとすると…… ちょっと辛い! //

    最近 Hono で外部連携用の AWS Lambda 書いています - Qiita
    sh19910711
    sh19910711 2024/10/03
    "src/index.ts は純粋なHTTPサーバの定義で、src/lambda.ts はそのHTTPサーバを AWS Lambda 用のアダプタでラップ / ESBuild などでバンドル&zip化した src/lambda.ts をAWS LambdaにアップロードすればOK"
  • Streamlit ホスティング基盤をどのように作ったか

    GO TechTalk #29 タクシーアプリ『GO』のログ解析の民主化を促進するStreamlitの活用 で発表した資料です。 ■ YouTube https://www.youtube.com/watch?v=vcE70wYfrOA ■ connpass https://jtx.co…

    Streamlit ホスティング基盤をどのように作ったか
    sh19910711
    sh19910711 2024/09/25
    "プレビュー環境と社内公開環境の2枚構成 / BIツールで実装するにはちょっと複雑な分析をフィルター条件を変えながら見たいという要望 / Notebookで実行していたものをStreamlitに移行したことで可視化工数が低くなった"
  • 小規模でGraphQLを使う良さ

    sh19910711
    sh19910711 2024/09/14
    "スキーマはコミュニケーションツール / 領域関係なく話ができて共通知識を持つことができる / 仕様が先に固まるので開発に入る時に楽 / 他の人(新しいメンバーやプレゼン相手)にも伝わりやすい"
  • StreamlitとSupabaseで基礎的な認証アプリを作ってみた - Qiita

    はじめに 「認証機能付きのウェブアプリを作るのは難しそう...」そう思っていませんか? しかし、StreamlitとSupabaseを組み合わせることで簡単に実装できます。 記事では、StreamlitとSupabaseを使用して、効率的に認証システムを構築する手順をご紹介します。 コード全文はこちら import os import streamlit as st from supabase import create_client url = os.environ.get("SUPABASE_URL") key = os.environ.get("SUPABASE_KEY") supabase = create_client(url, key) def sign_up(email, password): res = supabase.auth.sign_up({"email": em

    StreamlitとSupabaseで基礎的な認証アプリを作ってみた - Qiita
    sh19910711
    sh19910711 2024/09/07
    "StreamlitとSupabaseを組み合わせることで簡単に認証アプリを作成 / Supabaseの認証APIを利用して、サインアップ、サインイン、サインアウト / 自身でログイン処理をフルスクラッチで実装するのに比べて簡単に実装できて良い"
  • Streamlit in Snowflake (SiS) で利用ユーザー毎にパーソナライズする

    はじめに 2024年7月末に Streamlit in Snowflake で Current_User と行アクセスポリシーが利用できるようになりました。 このアップデートの嬉しいところは、アプリケーションに接続した Snowflake ユーザーを識別し、ユーザー毎に処理を変えることが簡単かつセキュアに行うことができるようになったことです。 アプリケーションへのログインの仕組みやユーザー管理テーブルなどを独自に用意しなくても、例えば以下のように1つのアプリケーションをユーザー毎にパーソナライズすることが可能です。 ユーザー毎にアプリケーションの表示を変える ユーザー毎にパーソナライズされた分析ダッシュボードを用意する 行アクセスポリシーを用いてユーザー毎に異なるクエリ出力結果を取得する (Enterprise Edition 以上) 今回はユーザー個人の情報を表示する簡単な ToDo リ

    Streamlit in Snowflake (SiS) で利用ユーザー毎にパーソナライズする
    sh19910711
    sh19910711 2024/09/05
    "アプリケーションに接続した Snowflake ユーザーを識別し、ユーザー毎に処理を変えることが簡単かつセキュアに行うことができるようになった / ユーザー毎にパーソナライズされた分析ダッシュボードを用意する"
  • [Go言語] gin と singleflight を組み合わせた試行錯誤と実装例 - Techtouch Developers Blog

    singleflight とは gin とは Middleware Context 2つの実装例 1. 同期待ち方式 2. 非同期待ち方式 まとめ こんにちは。SRE 兼 テックブログ編集長の izzii です。毎年お盆休みに連泊で登山するのですが今年は台風の影響で行けませんでした。悲しい! さて、記事ではパフォーマンス最適化の文脈で登場することの多い singleflight と、ウェブフレームワーク gin を組み合わせた実装例を紹介します。要素技術の概要とモチベーションに触れつつ、試行錯誤についてもお話しします。実装に関しては結局妥協が必要であり正解の形がないので GitHub で公開という形ではなく、ブログを通して自分の考えた2つの実装を紹介することにしました。この記事は Go に関する基礎知識を必要とします。 singleflight とは 複数のスレッド(go routine

    [Go言語] gin と singleflight を組み合わせた試行錯誤と実装例 - Techtouch Developers Blog
    sh19910711
    sh19910711 2024/08/28
    "singleflight: 複数のスレッド(go routine)で同一の処理が同時になされるような場合、一つのスレッドで処理を実行して残りのスレッドで結果を受け取る形にすることで、処理にかかるリソース(e.g. DB)利用の効率化を図る"
  • 生SQLに型を手書きする時代は終わり?Prismaの新機能「TypedSQL」

    SQLを扱う $queryRaw TypeScript向けのORMライブラリとしてPrismaがあります。Prismaは直感的で型安全なAPIを提供し、TypeScript向けのORMとしては第一に名前が上がることが多いライブラリです。 しかしそんな人気なPrismaでも、裏側では少しクセのあるSQLが発行されていたり、欲しいSQLがPrismaのAPIでは実現できない場合があります。 そういった場合のために $queryRaw というメソッドが用意されており、これを使うことで生SQLを書いてその結果を受け取ることができました。他のORMにもよくある機能です。 例えば以下のように実装することができます。 const users = await prisma.$queryRaw` SELECT id, name FROM "Users" WHERE id = ${userID} `; co

    生SQLに型を手書きする時代は終わり?Prismaの新機能「TypedSQL」
    sh19910711
    sh19910711 2024/08/28
    "Prisma 5.19より、Preview Featureとして「TypedSQL」という機能が実装 / その名の通り 生SQLに対して自動で型を付けてくれる"
  • Serverless Haskell - GHCのWASMバックエンドで Haskell を Cloudflare Workers に載せる

    Serverless Haskell - GHCのWASMバックエンドで Haskell を Cloudflare Workers に載せる TL;DR GHC 9.10 から WASM バックエンド(クロスコンパイラ)が JavaScript FFI に対応したので、Haskell コードを Cloudflare Workers 上で動かしてみたよ。快適に開発するための環境構築・ハック方法と、GHCの出力をCloudflare Workers 向けに修正する方法を紹介するよ。 はじめに──Asterius から GHC WASM バックエンドへ GHC は 9.6 から WASM バックエンド(クロスコンパイラ)を搭載していますが、GHC 9.10 から WASM バックエンドが遂に JavaScript FFI に対応しました。 従来から C FFI には対応しており、これを使って F

    Serverless Haskell - GHCのWASMバックエンドで Haskell を Cloudflare Workers に載せる
    sh19910711
    sh19910711 2024/06/26
    "GHC は 9.6 から WASM バックエンドを搭載していますが、GHC 9.10 から WASM バックエンドが遂に JavaScript FFI に対応 / コンテナ上に GHCup 経由でクロスコンパイラをインストールして WASM ビルド環境を整備する"
  • Denoの静的サイトジェネレータ`Lume`の紹介

    2023年12月に静的サイトジェネレータであるLumeのバージョン2がリリースされました. 私は個人ブログを書くのに GitHub Pages + Lume を利用しているので,年末はLumeのバージョンアップなどの作業をしていたのですが,改めて体験が良いなと思ったのでLumeの紹介をしたいと思います. 前提知識 GitHub Pages GitHub PagesはGitHub社がプロジェクトプロジェクトのウェブサイトを提供することを目的に,リポジトリに配置してある静的ファイル(HTMLやJSなど)をホスティングしてウェブサイトを公開してくれるサービスです.@a-skuaというアカウント名の場合,a-skua.githu.io をというリポジトリを作成すると,https://a-skua.github.io[1]というURLのウェブサイトを作ることができます. GitHub Pages

    Denoの静的サイトジェネレータ`Lume`の紹介
    sh19910711
    sh19910711 2024/06/26
    "個人ブログを書くのに GitHub Pages + Lume を利用 / Lume: Denoをランタイムとして利用しているため,環境構築からビルドするまでのコストが低い / Lume: npm installなどを行う必要がなく, deno task buildだけで静的ファイルを生成"
  • Next.js × Convex × Clerkで認証付きフルスタックアプリをラクに開発する

    はじめに この記事では、Next.js × Convex × Clerk でフルスタックアプリを作る方法をハンズオン形式で紹介します。 Convex と Clerk を組み合わせることで、認証付きのフルスタックアプリを爆速で開発することができます。 完成物は、以下の GitHub リポジトリで公開しています。 Convex とは Convex は、Firebase のようなバックエンドアプリケーションプラットフォームです。リアルタイムデータベースやファイルストレージなどの機能を提供しています。 Firebase との違いは、以下の記事で詳しく解説されています。 Clerk とは Clerk は、認証・認可を提供するサービスです。Clerk と Convex を併用することで、認証・認可の実装を非常に簡単に行うことができます。 Next.js での認証といえば、NextAuth が思い浮かび

    Next.js × Convex × Clerkで認証付きフルスタックアプリをラクに開発する
    sh19910711
    sh19910711 2024/06/25
    "認証付きのフルスタックアプリを爆速で開発する / Convex: Firebase のようなバックエンドアプリケーションプラットフォーム + リアルタイムデータベースやファイルストレージなど / Clerk: 認証にまつわる Hooks や UI を提供"
  • 技術的負債の借り換え on Ruby and Rails update

    https://kaigionrails.org/2023/talks/ginkouno/ Kaigi on Rails 2023登壇時の資料です。

    技術的負債の借り換え on Ruby and Rails update
    sh19910711
    sh19910711 2024/06/24
    "後からのUpdateには専用リソースが必要 / 借り換えの大事なポイント: 利子が少なくなること + 負債には高金利から低金利までいろいろある / 完済まで至らずとも工数をあまりかけずに利率の低い負債に乗り換えたい" 2023
  • ブラウザのみの統合開発環境 StackBlitz の紹介

    初めに この記事は StackBlitz の紹介になります。 初めに言っときます。 StackBlitz は滅茶苦茶凄いです。 現状 JavaScript 系のフレームワーク・ライブラリは勿論。(Next.js / Nuxt.js / jQuery等) Node.js自体も動かせます。 WASM を利用して PythonWordPress も動きます。 (2023/10/24 現在) ブラウザのみで開発が完結します。 疑問 でも貴方は今こう思ったかもしれません。 Q. でもお高いんでしょ? A. 基的には無料です。 Q. 基的? 使えるプロジェクトの数とか制限されてるんでしょ? A. されてません。 無料アカウントで 無制限です そして今こう思ったのではないでしょうか。 [*] でもなんか裏が有るんでしょ? 無料はおかしい。 確かにおかしいです。 サーバーを動かすのにも電力やクラ

    ブラウザのみの統合開発環境 StackBlitz の紹介
    sh19910711
    sh19910711 2024/06/22
    "StackBlitzはNode.jsを貴方のブラウザで動かしている + PythonやWordPressも動きます / WebContainerAPI: StackBlitz がパッケージを公開 + xtermと組み合わせることで簡単な環境が直ぐに構築でき" 2023
  • Laravelのバージョンをあげるためにやっていること

    はじめに これまでいくつかのLaravelのバージョンを上げるお仕事をしてきましたので、 その際にやってきたことをツラツラと書いておこうと思います。 PHPバージョンを調べる Laravelのバージョンを上げる前に、いま使っているPHPのバージョンが上げたいLaravelのバージョンに対応しているのか調べる必要があります。 調べ方としては、LaravelGitHubリポジトリのcomposer.jsonを見るとわかります。 この記事を書いている2022/08/28時点の最新バージョンであるLaravel9.xであれば、最低PHP8.0.2が必要ということがここを見るとわかります。 もし、いま使っているPHPが8.0.2未満なら、上げれるLaravelのバージョンは8.xになるので、 最新の9.xを使いたい場合は、先にPHPのバージョンを上げる必要があります。 PHPのバージョンアップにつ

    Laravelのバージョンをあげるためにやっていること
    sh19910711
    sh19910711 2024/06/22
    "いま使っているPHPのバージョンが上げたいLaravelのバージョンに対応しているのか調べる + リポジトリのcomposer.jsonを見る / Rector: フレームワークのバージョンアップ時の修正を自動でやってくれる" 2022
  • ShinyLiveを安定利用するにはまだちょっと早かったようだ - niszetの日記

    WebRの完成が待たれる。 Shinyアプリを、Shiny Serverなしで動かすことが出来る。そんな素敵な仕組みが開発されています。ShinyLiveという名前で、RやShinyで書かれたコードを変換し、ブラウザ上で動作出来るようにするといったもの(良くわかってませんが… github.com 今、quartoでサイトを作ってるのですが、shiny的な、インタラクティブに扱いたい物があるものの、Shiny Serverもないしなぁといったところで、朗報だったのですが… github.com こちらは既に解決してcloseされていますが、ShinyLiveが依存しているWebRの状況によって、ShinyLiveやサイト自体に変更がなくても動作しなくなることがあることがわかりました。 このあと、動作はしたものの、翌々日にはまた別の理由で動かなくなってしまい、公開できるような状態に持って行く

    ShinyLiveを安定利用するにはまだちょっと早かったようだ - niszetの日記
    sh19910711
    sh19910711 2024/06/22
    "ShinyLive: ShinyアプリをShiny Serverなしで動かす + RやShinyで書かれたコードを変換しブラウザ上で動作 / 動作はしたものの、翌々日にはまた別の理由で動かなくなってしまい、公開できるような状態に持って行くのはまだ難しい"
  • 個人開発アプリをRemix + Cloudflare D1に移行してみた

    この記事は『blessing software 夏のブログリレー企画』の5日目の記事です。 昨日はasukaさん(@a_skua)の「Flutterを用いたWeb開発の今後について考える」が公開されました。 次回はKanonさん(@samurai_se)の「私がエンジニア勉強会を作り、ブログリレーを主催するまで」です! はじめに 以前、Type Challenges Judgeという、type-challengesのオンラインジャッジを作りました。 Type Challenges Judgeは、type-challengesの問題の回答の正誤判定を行ったり、自分がどれくらい正解したかや、他の人の回答が確認できるアプリです。 このアプリをRemix + Cloudflare(Pages、D1)に移行してみた[1]ので、やったことについて書こうと思います。 技術スタックについて Type Ch

    個人開発アプリをRemix + Cloudflare D1に移行してみた
    sh19910711
    sh19910711 2024/06/22
    "なぜこの構成にしたか: 単純にRemixやCloudflare(特にD1)を使ってみたかった / React RouterからRemix: 公式のマイグレーションガイドを参考にして移行 + 差分自体は小さく1日程度で完了" 2023
  • [PHP]Laravel 11をGlitchで動かす(FrankenPHP)

    $ curl -fsSL https://tkithrta.gitlab.io/u/glitch-laravel.sh | bash Intro 最近PHPの世界ではFrankenPHPというCaddyにPHPモジュールを組み込んだワンバイナリで動くWebサーバーが登場したりLaravel 11のDBSQLiteがデフォルトで使用されるようになったり、様々なOSで簡単に開発を始めることができる環境が整い始めてきました。 ではアカウントがなくてもアクセスするだけで簡単にBashやLinuxコマンドが使えるGlitchでもLaravel 11を動かせるのは? と思い試しにやってみたところ、ある程度簡単に動かせることが分かったので紹介したいと思います。 FrankenPHP 1.2.0 Laravel 11.10.0 Composer 2.7.6 PHP 8.3.7 glitch-larave

    [PHP]Laravel 11をGlitchで動かす(FrankenPHP)
    sh19910711
    sh19910711 2024/06/21
    "最近PHPの世界ではFrankenPHPというCaddyにPHPモジュールを組み込んだワンバイナリで動くWebサーバーが登場したり / Laravel 11のDBでSQLiteがデフォルトで使用されるようになったり、様々なOSで簡単に開発を始めることができる"