Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

webappと*dataに関するsh19910711のブックマーク (72)

  • Streamlit in Snowflake + dbt Cloudでデータの可視化をしてみる!

    はじめに Streamlit in SnowflakeがPrivateLinkでも使えるようになるよ〜という記事を見かけ、そもそもStreamlit in Snowflakeはなんぞや・・・ 触ってないなというお気持ちになったので、今回はPublic経由でStreamlit in Snowflakeとdbt Cloudを触りながら簡単なデータ基盤を作ります。 Streamlitの構成→ダミーデータの選定→SOURCE/RAW→LAKE→DWH→MARTの順序で作成していくので良ければ参考にしてください。 事前準備 下記の準備を事前に完了していることが前提で進みます。 GitHub アカウントとリポジトリの作成 Account settings->Personal profile->GitHubからdbt CloudとGiHubの連携 Snowflake User (+ Key pair)の

    Streamlit in Snowflake + dbt Cloudでデータの可視化をしてみる!
    sh19910711
    sh19910711 2024/10/27
    "Streamlit in SnowflakeがPrivateLinkでも使えるようになるよ〜という記事を見かけ / SIS: 認証情報を設定ファイルに書く必要がない + Snowflake内で他ユーザへの共有がとても楽、かつ見せたい人を限定できる"
  • 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に移行したことで可視化工数が低くなった"
  • 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 ユーザーを識別し、ユーザー毎に処理を変えることが簡単かつセキュアに行うことができるようになった / ユーザー毎にパーソナライズされた分析ダッシュボードを用意する"
  • 生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に対して自動で型を付けてくれる"
  • shinydashboardのbox()のtitleを限界までいじってみる - Qiita

    ###shinyにおけるvisualizationの階層化 shiny(shinydashboard)ではサイドバーメニュー、タブなどを駆使して見たいデータを階層化することが可能です。ただし1つのテーマのvisualizationはタブやメニューで分けると行ったり来たりして見ないといけなくなるので、できれば同一画面内で表現しきることが重要です。今まではvalueBoxとグラフをbox()内に配置して不必要なものは畳む、みたいな使い方をしていたのですが、畳むと見えなくなってしまうので困っていました。 ###数値の表示とアイコンの表示、またその組み合わせがtitleでできます いろいろ調べてみるとtitleを動的に変えられたりアイコンを並べたりみたいなことができることが分かったので、ここにやり方を記載しておきます。サマリ指標をtitleに乗っけておいて畳んでおき、詳細を見たい場合は開いてグラフ

    shinydashboardのbox()のtitleを限界までいじってみる - Qiita
    sh19910711
    sh19910711 2024/06/18
    "shiny(shinydashboard)ではサイドバーメニュー、タブなどを駆使して見たいデータを階層化することが可能 / いろいろ調べてみるとtitleを動的に変えられたりアイコンを並べたりみたいなことができることが分かった" 2017
  • SupabaseのGraphQL機能を使ってNext.jsで簡単なアプリを作ってみる - Qiita

    どうも、SupabaseでDevRelをしているタイラーです! SupabaseはPostgreSQLをフル活用したBaaSで、バックエンドを1から構築しなくてもサクッとPostgreSQLを使ってアプリを構築できるサービスです。基的には各種クライアントライブラリーを介してSupabaseに用意されたエンドポイントをコールしてデータを読み書きする形になるのですが、実はSupabaseはpg_graphqlというPostgreSQL拡張機能開発していて、それを通じてGraphQLの機能も提供しています。Supabaseが提供しているGraphQLエンドポイントはSupabaseのRLSも使えて、セキュアなアプリが簡単に作れます。 そんなpg_graphqlのv1.0が最近リリースされたこともあって今回はせっかくなのでGraphQLを使って簡単なアプリケーションを作ってみようかなと思いまし

    SupabaseのGraphQL機能を使ってNext.jsで簡単なアプリを作ってみる - Qiita
    sh19910711
    sh19910711 2024/06/18
    "Supabase: サクッとPostgreSQLを使ってアプリを構築できるサービス / Supabaseはpg_graphqlというPostgreSQLの拡張機能開発していて、それを通じてGraphQLの機能も提供" 2023
  • Railsで作ったシステムのER図を日本語で出してほしいと言われたときにやったこと - Qiita

    Ruby on Railsを使った開発をしていると「システムのER図が欲しい」といったお願いされることがあります。 Railsを使っているのであれば、rails-erd というRubyGemを使うことで簡単にER図を出力できます。 rails-erdで出力されるER図はEntityもAttributeも全て英語です。 提出先がエンジニアである場合や、普段からモデル名を使ったコミュニケーションをしている場合であればこのままでもなんとかなるかもしれません。 一方、相手がビジネスサイドのメンバーである場合や、普段はモデルを日語変換してコミュニケーションしている相手の場合はこのER図をそのまま出しても困惑されてしまいます。 そこで、今回はなんとかしてEntity・Attributeを日語化できないか検討しました。結論とそこに至った過程をメモしておきます。 結論 結論としては、rails-erd

    Railsで作ったシステムのER図を日本語で出してほしいと言われたときにやったこと - Qiita
    sh19910711
    sh19910711 2024/06/17
    "rails-erd というRubyGemを使うことで簡単にER図を出力できます / なんとかしてEntity・Attributeを日本語化できないか検討 / Railsで作られたアプリであれば大抵の場合、i18nで既に日本語定義を終えているはず"
  • CREATE 文から OpenAPI を自動生成するCLIを作ってみた - Qiita

    OpenAPI でドキュメントを書くメリット OpenAPI でドキュメントを書くメリットは、大きく分けて二つの観点があると思います 短期的な開発リードタイム短縮 FE 開発 OpenAPI から API モックを作成して、API の実装を待つことなく実装ができる 例: Prism OpenAPI から API Client と I/F・Entity の型定義を自動生成することで、その実装の工数を省略+型安全な開発をすることができる 例: openapi-generator/typescript-axios BE開発 OpenAPIからController(一部)、バリデーションロジック、Request・Responseの型定義を生成できる 個人的にNest.js用のgeneratorが開発されていて楽しみです。 自動生成に対応している言語/フレームワーク一覧 - ada-server -

    CREATE 文から OpenAPI を自動生成するCLIを作ってみた - Qiita
    sh19910711
    sh19910711 2024/06/17
    "OpenAPI から API Client と I/F・Entity の型定義を自動生成することで、その実装の工数を省略+型安全な開発をする / OpenAPIからController(一部)、バリデーションロジック、Request・Responseの型定義を生成" 2020
  • OpenAPI Generatorの出力モデルをMongoDBで扱いたかった(失敗) - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? OpenAPIとは OpenAPI(旧 Swagger)というREST API用のインターフェイス定義方法をご存知でしょうか? OpenAPIに沿った定義ファイルを、Stoplight等を用いて書くと、openapi-generator-cli等のジェネレータを使うことで、Go/Python-Flaskなどのサーバーのテンプレート、Go/Python/TypeScript等のクライアントライブラリ、モックサーバー、ドキュメント等をある程度自動で生成させることができます。 ジェネレータを使うことで、一度定義ファイルを用意すれば、サーバー側

    OpenAPI Generatorの出力モデルをMongoDBで扱いたかった(失敗) - Qiita
    sh19910711
    sh19910711 2024/06/17
    "リクエストされたモデルをバリデーションした上でMongoDBに直接保管したい / Go-Swaggerというのが結構使えるようなのだが現在の定義ファイルの書き方OpenAPI(v3)になる前のSwagger(v2)にしか対応していない" 2021
  • GraphQL Meshを使ってMySQLのDBをGraphQLで操作してみる - Qiita

    はじめに GraphQL Meshとは複数のバックエンドサービスを束ねるGraphQLゲートウェイを構築するためのフレームワークです。GraphQL Mesh自体についての詳細は、数多くの記事が世の中にあるため省きます。 今回はGraphQL Meshを利用して、MySQLをラップしてGraphQLで扱う方法について試していきます。GraphQL Meshを経由して扱うことで、スキーマを自前で用意せずに既に存在するDB情報から自動で生成して取り扱うことができるようになります。 ローカルで動かすまでの手順 今回はローカルのdevサーバーとしてGraphQL Meshを立てて、任意のMySQLDBを操作するところまで試します。 準備しておくもの ローカルからアクセス可能なMySQLサーバー 検証用に適当なデータベースとテーブルを作っておく 今回はMySQL8.0を使っています 必要なパッケー

    GraphQL Meshを使ってMySQLのDBをGraphQLで操作してみる - Qiita
    sh19910711
    sh19910711 2024/06/17
    "GraphQL Mesh: 複数のバックエンドサービスを束ねるGraphQLゲートウェイを構築するためのフレームワーク / スキーマを自前で用意せずに既に存在するDB情報から自動で生成して取り扱うことができる" 2023
  • PostgreSQLとPostGraphileでサクッとGraphQLエンドポイントを作成する - Qiita

    ゆめみ その2 Advent Calendar 2019 23日目の記事です。 はじめに PostgreSQL のスキーマ情報から、自動的にGraphQLエンドポイントを作成する PostGraphile というツールを見つけたので試してみました。 PostGraphile https://www.graphile.org/postgraphile/ PostGraphile とは PostGraphile は PostgreSQL のテーブル、列、インデックス、リレーションシップ、View、型、関数、コメントなどを自動的に検出し、GraphQL APIを提供する Node.js 製のオープンソースソフトウェアです(以前は「PostGraphQL」と呼ばれていました)。 基的な使い方としては PostgreSQL を用意して、コマンドラインから postgraphile コマンドに引数を

    PostgreSQLとPostGraphileでサクッとGraphQLエンドポイントを作成する - Qiita
    sh19910711
    sh19910711 2024/06/16
    "PostGraphile: テーブル、列、インデックス、リレーションシップ、View、型、関数、コメントなどを自動的に検出 + 自動的にGraphQLエンドポイントを作成 / DB定義を更新すると、GraphQLスキーマが自動生成される" 2019
  • AWS AppSync がアツい! RDS Data API を使って GraphQL API を爆速で作ってみた - Qiita

    Step2. Secret Manager に DB 認証情報の保存 AWS AppSync は Amazon Aurora クラスターに接続する際に Secret Manager に保存されたシークレットを使用します。シークレットのタイプを「Amazon RDS データベースの認証情報」を選択肢、認証情報をデータベースを選択します。それ以外はデフォルトのまま、作成に進みます。 Step3. GraphQL API の作成 次に、GraphQL API を作成しましょう。GraphQL API データソースで「Amazon Aurora クラスターから始める - New」を選択し、次に進みます。 次に、API 名にわかり易い名前を入力します。今回はデフォルトの「My AppSync API」としました。 次にデータベースを選択します。 「データベースを選択」をクリックすると接続したい Am

    AWS AppSync がアツい! RDS Data API を使って GraphQL API を爆速で作ってみた - Qiita
    sh19910711
    sh19910711 2024/06/16
    "AppSync: Aurora クラスター内のデータベースに対してイントロスペクションを行うことで、検出したテーブルに適合した GraphQL API のインターフェイスを簡単に作成することが可能に" 2023
  • mongoDBでもRDBのように外部Collectionを結合したい!(populate & aggregate $lookup) - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    mongoDBでもRDBのように外部Collectionを結合したい!(populate & aggregate $lookup) - Qiita
    sh19910711
    sh19910711 2024/06/16
    "mongoDBのaggregate pipelineは複数のステージを指定することができ、一度のaggregateメソッドで複数の操作を同時に行うことが可能 / mongooseではQuery.prototype.explain()を使って実行されるクエリを確認することができる"
  • Next.js + SupabaseでGraphQLを利用する方法 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? SupabaseではSQLだけでなく、GraphQLを利用したデータ取得も行うことができます。 今回はGraphQLでデータを取得して、添付画像のような集計アプリを作ってみます。 Supabaseの準備 ①:Supabaseプロジェクトの作成 Supabaseにログイン(登録していないければアカウント登録から)して、 トップページの「New Project」を押します。 すると、下記の様な画面が表示されます。 適当なプロジェクト名とデータベースのパスワードを入れて新しいプロジェクトを作成しましょう。 ※Regionはできれば自分の住んで

    Next.js + SupabaseでGraphQLを利用する方法 - Qiita
    sh19910711
    sh19910711 2024/06/16
    "Supabase: SQLだけでなく、GraphQLを利用したデータ取得も行うことができます / GraphQLのクエリにはあくまでCRUD(作成、読み出し、更新、削除)のそれぞれに該当した基本的な機能しかないため、詳細な実装はNext.jsに任せ"
  • Jinja2 テンプレートエンジンにおける nan/None の空白化や数値カンマ区切りといった編集方法 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Jinja2 テンプレートエンジンにおける nan/None の空白化や数値カンマ区切りといった編集方法 - Qiita
    sh19910711
    sh19910711 2024/06/16
    "pandas のデータフレームのほうで欠損値を持っていることって結構ある / 事前に data.fillna(0) などで欠損値を埋めればいいのですが、今回はテンプレートエンジン側での回避" 2018
  • KarateのテストでDBUnitを使ってDBにテストデータを入れる - Qiita

    はじめに Javaのテストフレームワークの中にKarateというものがあります。 E2Eのテスト自動化ツールで、レポートなども生成してくれて、非常に便利なのですが、テストデータの作成が中々にめんどくさい。 Javaのコードをテスト内で実行できるので、それでORMみたいなものを作ってデータの作成もできるんですが、クラスを作ったらいちいちそっちも作ったり、修正したらメンテしたりとめんどくさいです。 そこで便利なのが、DBUnitです。 XML形式でデータを定義し、あとは流すだけでデータを作ってくれます。 また、XMLの内部で識別用の文字列をセットしておいて、後で任意の値に置換することで変数の入れ込みも行えます。 コード 以下が該当のテストコードです。 Feature: テスト Background: * def dbunit = Java.type('integration.util.DBUn

    KarateのテストでDBUnitを使ってDBにテストデータを入れる - Qiita
    sh19910711
    sh19910711 2024/06/16
    "Karate: Javaのコードをテスト内で実行できるので、それでORMみたいなものを作ってデータの作成もできる + 修正したらメンテしたりとめんどくさい / DBUnit: XML形式でデータを定義し、あとは流すだけ" 2021
  • Elasticsearch Rails 7とnet-http-persistentを同時に使うときにはFaradayアダプターを指定する - Qiita

    Railsアプリケーションのgemのバージョンを上げたときエラーが起きた Railsアプリケーションのgemのバージョンをbundle updateコマンドで上げていました。 bin/rails sコマンドでRailsアプリケーションを起動するときに次のようなエラーがでるようになりました。 ledsun@MSI:~/pubdictionaries►bin/rails s => Booting WEBrick => Rails 7.0.8 application starting in development http://localhost:3000 => Run `bin/rails server --help` for more startup options Exiting /home/ledsun/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/

    Elasticsearch Rails 7とnet-http-persistentを同時に使うときにはFaradayアダプターを指定する - Qiita
    sh19910711
    sh19910711 2024/06/16
    "Elasticsearch Rails 7 と net-http-persistent を同時に使うときにはFaradayアダプターを明示的に指定 / elasticsearch-transport が要求する faraday のバージョンが変わって / faraday-net_http_persistent gemがインストールされなくなった"
  • テーブル結合したほうが良い理由(Active Record) - Qiita

    学習環境 Ruby on Rails 6.0.3 PostgreSQL 16.1 課題内容と要件 Ruby on RailsでActiveRecordを使ったテーブル結合の勉強をしている時のこと… 以下のような要件があったと想定した問題がありました。 【要件】注文されていないすべての料理を返すこと ※left_outer_joinsを使うこと ER図は以下のようなイメージ 答えとして考えたこと Railsガイドをパラパラと見ながら、 なるほど、”注文されていない”だから、注文されたデータ(order_foodテーブルのorder_id)を見て、where.notを使うのかなと思ったのでした。 ただし、要件にはleft_outer_joinsを使うこととある。 答えとそれぞれの処理 left_outer_joinsを使った答え [12] pry(main)> @foods = Food.le

    テーブル結合したほうが良い理由(Active Record) - Qiita
    sh19910711
    sh19910711 2024/06/16
    "注文されていないすべての料理を返す / 注文されたデータ(order_foodテーブルのorder_id)を見て、where.notを使うのかなと思った / どちらも正解だが、処理の時間、SQLも2回動かしている点でleft_outer_joinsを使うのが正解"
  • Rails ERD触ってみた - Qiita

    はじめに みなさまこんにちは。 今回、railsのgemであるRails ERDを使用してみたのでまとめました。 Rails ERDとは RailsのモデルからER図を自動生成することができるgem 以下の画像のようにER図を自動生成してくれます。 出典 セットアップ Graphvizをインストール (オープンソースのグラフ可視化ソフトウェア) Graphvizとはグラフ作成用のツールで、DOT言語というものを用いてテキストファイルを画像として出力することが できる便利なやつです。

    Rails ERD触ってみた - Qiita
    sh19910711
    sh19910711 2024/06/16
    "ActiveRecord::Base.descendantsメソッドで、アプリケーション内の全てのActiveRecordモデルクラスを返している / reflect_on_all_associationsメソッドから得られるAssociationReflection オブジェクト から関連付けに関する情報を得ている"
  • Rails 7.2をちょこっと試す(query and cached ログ編) - Qiita

    はじめに rails 7.2beta2 がリリースされたので、ちょっと試してみました。 rails 7.2 では、Rails のログに、実行されたSQLの数が表示されるようになりました。 ログの確認 Rails 7.1 では、以下のようなログが出力されます。 Rails 7.2 で変るのは、最後の Completed の行の ActiveRecord: 2.2ms の部分です。 Started GET "/books" for 172.25.0.1 at 2024-06-09 08:27:47 +0900 Cannot render console from 172.25.0.1! Allowed networks: 127.0.0.0/127.255.255.255, ::1 ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schem

    Rails 7.2をちょこっと試す(query and cached ログ編) - Qiita
    sh19910711
    sh19910711 2024/06/16
    "rails 7.2 では、Rails のログに、実行されたSQLの数が表示されるようになりました / パフォーマンスチューニングの際に、実行されたSQLの数を確認するのに使えそう"