タグ

masutaka26のブックマーク (9,631)

  • Snowflake×Tableau:パフォーマンス・コストの最適化に使えるテクニック集

    この記事は何 代表的なデータウェアハウスの1つであるSnowflakeと、代表的なセルフBIツールの1つであるTableauのコラボレーションはとても強力です。 一方で、SnowflakeにTableauから大量アクセスされることへのコストの懸念を抱えたり、ライブ接続の環境下でダッシュボードのパフォーマンスを出すことに苦戦する方もいると思います。 そこで、今回はSnowflakeとTableauを最大限活用するために、Tableau側・Snowflake側両方の視点から、パフォーマンスとコストの最適化に使えるテクニック集を紹介します。 1. Tableau側で出来る対策 まず最初は、Tableau側で出来る対策です。Tableau側の対策は、Snowflake側へのクエリの実行数を減らすことが基的な対策と言えます。 1-1. 抽出を利用する まず最初は Tableauの抽出の利用です。ラ

    Snowflake×Tableau:パフォーマンス・コストの最適化に使えるテクニック集
  • モバイルバッテリーが膨張してマジでヤバイ→ どうやって処分すればいいのか→ 調べた結果|ガジェット通信 GetNews

    スマホやタブレットなどを充電する際に重宝するのがモバイルバッテリー。SONY、Anker、パナソニック、エレコム、BUFFALO、Apple、CHEEROなどの有名ブランドからだけでなく、無名の企業からも無数のモバイルバッテリーが販売されている。 膨張したモバイルバッテリーは回収してくれない モバイルバッテリーを処分する際は家電量販店の回収ボックスや、自治体の回収ボックス、もしくは販売メーカーなどで回収してもらうのが基だが、ひとつ問題がある。「膨張したモバイルバッテリーは回収してくれない」ことが多いのだ。 いまここに、ソニー製の膨張したモバイルバッテリー「CP-V10B」がある。膨張しすぎて外装がはずれ、内部回路が見える状態になっている。 膨張したモバイルバッテリーを回収してもらう方法とは このまま持ち続けるのは爆発や破裂すると怖いので避けたいところ。これほど膨張したモバイルバッテリーは

    モバイルバッテリーが膨張してマジでヤバイ→ どうやって処分すればいいのか→ 調べた結果|ガジェット通信 GetNews
  • 45歳独身男性・血液のリアル - 関内関外日記

    ここのところいろいろひどく精神状態がよくないのは一つ前の記事に書いた。メンタルがやられているのに銀歯まで取れた。そのうえ、さらに微熱がつづく。とはいえ、この微熱を意識し始めたのはコロナのころで、家に閉じこもって土日を過ごしていると、夕方あたりに必ずといっていいほど微熱が出る。それがずっとつづいている。土日に限らず、平日の夜も熱が出る。いよいよ、「医者で診てもらえ」ということになり、弱っているおれはなんとなく流されるように初めてのクリニックを訪れて、血液の検査などした。もちろんその結果を晒そうじゃないか。 わーっと早口の先生で、「自分の専門の循環器系では……」といろいろ説明された。あ、なんか鉛筆の✕は「これは原因ではないね」という意味のやつもある。で、当然、それぞれの数値についてもいろいろ言われたが、結果的には血液検査から熱発の原因はわからない、ということだった。「経過観察ですね」、「高熱で

    45歳独身男性・血液のリアル - 関内関外日記
    masutaka26
    masutaka26 2024/05/18
    私も夕方微熱が出て、ボーっとして、あと背中の張りがひどい状態が続いた。内科では分からず。整骨院で自律神経の治療を受けたら良くなった。私の場合は、肩甲骨、インナーマッスル、腹式呼吸がキーワードだった
  • GPT-4o モデルに curl コマンドで画像をプロンプトとして送信する方法 - Qiita

    OPENAI_API_KEY=sk-proj-xxxxxxx FILENAME=001.jpg DATA_URI='data:image/jpeg;base64,'$(base64 -w0 ${FILENAME}) SYSTEM_PROMPT='このシステムは画像の内容を分析して、その説明を生成します。分析結果を日語で回答します。' USER_PROMPT='画像の中には何が映っていますか?' RESULT=$(curl https://api.openai.com/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OPENAI_API_KEY" -d @- << _EOJ_ { "model": "gpt-4o", "messages": [ { "role":

    GPT-4o モデルに curl コマンドで画像をプロンプトとして送信する方法 - Qiita
  • テキストフラグメント | MDN

    テキストフラグメントは、URL フラグメントの特定の構文を使用することにより、作成者が ID で注釈を付けなくても、ウェブ文書内のテキストの特定の部分に直接リンクできるようにするものです。対応しているブラウザーは、リンクされたテキストに注意を引く方法を自由に選べます。例えば、色の強調表示やページ上のコンテンツへのスクロールなどです。これは、ウェブコンテンツの作成者が、使用可能な ID が存在しなくても、制御下にない他のコンテンツに深くリンクすることができるため有益なものです。さらに、ユーザーが互いに交換するための、より効果的なコンテンツ共有リンクを生成するために使用することもできます。 従来、ウェブの重要な機能の 1 つが、常に異なる文書の間にリンクを張る能力でした。 次のように、文書の URL にリンクすることで、その文書の先頭にリンクすることができます。 https://develop

    テキストフラグメント | MDN
    masutaka26
    masutaka26 2024/05/15
    リンク先の文字列がハイライトされる Text Fragments
  • Amazon QuickSight のリーダー料金が変更になるので料金が高くなる場合と安くなる場合を試算してみた | DevelopersIO

    まとめると、利用頻度の低いユーザーが多くいればいるほど新料金だと割高になりそうです。 これまでのリーダーは使わなければ料金が発生しないものだったため、一旦閲覧する可能性のユーザーを全員リーダーとして作成しておくケースもあったと思います。 ちなみにリーダー数は QuickSight のユーザー管理画面で確認するか、あるいは AWS API 経由でカウントすることが出来ます。 % aws quicksight list-users --aws-account-id 123456789012 --namespace default | jq '.UserList[] | select(.Role == "READER")' | jq -s 'length' 14 上記の料金の発生するセッション数は Cost Explorer の使用タイプ「QS-Reader-Usage-Paid-Session

    Amazon QuickSight のリーダー料金が変更になるので料金が高くなる場合と安くなる場合を試算してみた | DevelopersIO
  • [アップデート] Amazon S3でいくつかのHTTPエラーコードに対して課金されなくなりました | DevelopersIO

    外部からS3バケットに対するアクセスエラー時の課金が気になる こんにちは、のんピ(@non____97)です。 皆さんは外部からS3バケットに対するアクセスエラー時の課金が気になったことはありますか? 私はあります。 Amazon S3ではAPIリクエスト数に応じて課金が発生します。 PUT、COPY、POST、LIST リクエスト (1,000 リクエストあたり) : 0.0047USD GET、SELECT、他のすべてのリクエスト (1,000 リクエストあたり) : 0.00037USD ※ いずれも東京リージョンのS3 Standardの場合 抜粋 : 料金 - Amazon S3 |AWS レスポンスステータスコードによって課金発生の判定は行われません。 その結果、以下記事で紹介しているとおり、外部から大量のアクセスがあり全て403 AccessDeniedであってもリクエスト数

    [アップデート] Amazon S3でいくつかのHTTPエラーコードに対して課金されなくなりました | DevelopersIO
    masutaka26
    masutaka26 2024/05/14
    朗報
  • Athena で S3 と MySQL を JOIN する | DevelopersIO

    CDK の中で DB を初期化する点についても後ほど触れます。 S3 にサンプルデータをアップロードする 続いて、以下のコマンドで S3 にサンプルのデータを入れます。 bucket_name=$(aws cloudformation describe-stacks --stack-name BlogAthenaJoinS3AndMysqlStack --output text --query 'Stacks[0].Outputs[?OutputKey==`BucketName`].OutputValue') aws s3 cp ./s3_test_data/data "s3://${bucket_name}/data" --recursive これで CloudFormation で作成した S3 バケット名を取得し、そのバケットに以下の CSV ファイルをアップロードしました。 ※4都

    Athena で S3 と MySQL を JOIN する | DevelopersIO
    masutaka26
    masutaka26 2024/05/13
    “MySQL にアクセスするための Federated Query の Lambda 関数を参照します”
  • えっTableauってMOD関数ないんですか?という痒いところを解決する話

    はじめに こんにちは。整数を整数で割った余りを求める剰余演算ことMOD関数を,Tableauで全関数探したけどありませんでした。 どうして… 一方で,整数を整数で割った商を求める関数ことDIV関数はあったので,それを使って余りを算出する関数を調べたので,記録として残しておこうと思います。 過程を省くとこれで書ける 詳細は後述しますが,日で教わったような正の値としての余り(ユークリッド除法) を実現するには,少し工夫が必要でした。 分かりやすさも兼ねて,以下2式で実現できます。ここで,[mod number]は割る数として整数型のパラメータを使っています。 // [DIV (remainder: positive)] = IF [mod number] >= 0 THEN FLOOR([X]/[mod number]) ELSE CEILING([X]/[mod number]) END

    えっTableauってMOD関数ないんですか?という痒いところを解決する話
  • AIで商品名をクレンジングする、Llama2や、Google Cloud Gemini-proとVertex AIを活用した商品名の最適化

    ECサイト上の商品名は、「送料無料」や「ポイント5倍」、「母の日」といった宣伝文句が付加され、来の商品名が分かりづらくなっています。 これらの不要なキーワードは、自然言語モデルを作成する際の妨げとなり、精度を上がりづらくしている一つの要因となっています。 そこで、記事では、これら不要なキーワードを効率的に除去する方法について、具体的な手法と事例を紹介します。 データクレンジングの例、LLMオープンモデルを活用したアプローチ、さらにはGoogle Cloud PlatformのVertex AIやGemini-proを用いた解決策について触れます。 3行まとめ ・商品名から頻出単語のリストを作成し、商品名から不要なキーワードを検索して除去する ・オープンモデルでプロンプトを実行し除去する ・Google Cloud Platform のVertex AI、Gemini-proで除去する

    AIで商品名をクレンジングする、Llama2や、Google Cloud Gemini-proとVertex AIを活用した商品名の最適化
    masutaka26
    masutaka26 2024/05/10
    "Google Cloud Platform のVertex AI、Gemini-proで除去する"
  • QuickSightの名前空間でアカウント名がどう表示されるのか検証してみた | DevelopersIO

    はじめに データアナリティクス事業部 BIチームのkariyaです。 QuickSightで名前空間を使用する際に表示されるアカウント名について疑問に思ったので、検証してまとめてみました。 準備 CloudShellを開き、名前空間namespace-custom1を作成します。 $ aws quicksight create-namespace --aws-account-id 999999999999 --namespace namespace-custom1 --identity-store QUICKSIGHT デフォルト名前空間の他に、今回作成した名前空間namespace-custom1が存在することを確認します。 $ aws quicksight list-namespaces --aws-account-id 999999999999 { "Namespaces": [

    QuickSightの名前空間でアカウント名がどう表示されるのか検証してみた | DevelopersIO
    masutaka26
    masutaka26 2024/05/09
    えぇ... "デフォルト名前空間のユーザーの場合:QuickSightのアカウント名をそのまま表示する。後から作成した名前空間のユーザーの場合:名前空間の名称を表示する"
  • [アップデート] Amazon QuickSight のアカウント作成フローが変わり、なんとスタンダードエディションが選択できなくなってました | DevelopersIO

    [アップデート] Amazon QuickSight のアカウント作成フローが変わり、なんとスタンダードエディションが選択できなくなってました いわさです。 先日 Amazon Q in QuickSight が GA となりました。 その際に QuickSight Q の有効化機能が廃止されたように見えたので、Q の有効化が可能な新規サブスクリプションの作成画面を確認してみました。 そうしたところ、サブスクリプション作成が変わっていることに気が付きましたので紹介します。 特に、従来のエディションの選択肢であったスタンダードエディションが選択できなくなっており、これはちょっと混乱する人が多いかもしれません。 新しい画面 QuickSight サブスクリプションが存在しない AWS アカウントで、次のように QuickSight へアクセスします。 すると、見慣れない次のような画面が表示され

    [アップデート] Amazon QuickSight のアカウント作成フローが変わり、なんとスタンダードエディションが選択できなくなってました | DevelopersIO
  • Snowflakeの論文「The Snowflake Elastic Data Warehouse」を読んでみた_Part1

    Snowflakeの論文「The Snowflake Elastic Data Warehouse」を読んでみた_Part1 目次 はじめに 注意事項 1. INTRODUCTION 2. STORAGE VERSUS COMPUTE 3. ARCHITECTURE 3.1 Data Storage 3.2 Virtual Warehouses 3.3 Cloud Services 感想 はじめに この記事は、最近読んだSnowflakeの論文「The Snowflake Elastic Data Warehouse」の内容を備忘的に残したものです。 ※ Part2も近いうちに公開予定 論文は以下にて公開されていますので、誰でも読むことができます。 この論文を読んだ動機としては、「Snowflakeってなんで早いの?」とか「他のDWHやDBとどう違って何が優れているの?」という問いに対して

    Snowflakeの論文「The Snowflake Elastic Data Warehouse」を読んでみた_Part1
  • TerraformでS3オブジェクトを作成する方法いろいろ | DevelopersIO

    TerraformでS3オブジェクトを作成する方法がいくつかあったので まとめてみます。 以下3通りで aws_s3_object を作成してみました。 方法1: source を指定する 方法2: content を指定する 方法3: content_base64 を使う 方法1: source を指定する source 引数を使う方法です。ローカルにあるファイルのパスを指定します。 以下サンプルになります。 ローカルにある "src/clanyan.json" を S3オブジェクトとしてアップロードしています。 resource "aws_s3_object" "clanyan_source" { # アップロード元(ローカル) source = "src/clanyan.json" # アップロード先(S3) bucket = "DOC-EXAMPLE-BUCKET" key = "

    TerraformでS3オブジェクトを作成する方法いろいろ | DevelopersIO
    masutaka26
    masutaka26 2024/05/01
    基本的には terraform の仕事ではないと思うけど、マスターデータのような管理には良いかもしれないですね
  • そうだ、インド・ネパール料理店へ行こう!『カレー難民の謎 日本を制覇するインネパ』 - HONZ

    カレー移民の謎 日を制覇する「インネパ」 (集英社新書) 作者: 室橋 裕和 出版社: 集英社 発売日: 2024/3/15 不思議だと思っていた。にぎやかな下町に住んでいるとはいえ、徒歩圏内に「インド料理店」が五軒もある。うち一軒はビリヤニなどもメニューにあるホンモノのインド料理店だけれど、他の四軒は「インド・ネパール料理店」で、メニューも値段もえらく似通っている。 さらに不思議に思ったこともある。ちょうど5年前、トレッキングでネパールへ行った時にわかったのだが、カレーがほとんど出てこない。代わりによくべた、というよりべさせられたのはダルバートだ。豆(ダル)のスープと米(バート、もちろんインディカ種)がメインで、そこにカレーに似た、といってもそれほどスパイシーではないタルカリというのがついていて、アチャールという漬物や薬味が添えられている。トレッキングのガイドさんたちは毎ダルバー

    そうだ、インド・ネパール料理店へ行こう!『カレー難民の謎 日本を制覇するインネパ』 - HONZ
    masutaka26
    masutaka26 2024/04/28
    "代わりによく食べた、というより食べさせられたのはダルバートだ"
  • Tableau の行レベルのセキュリティ オプションの概要

    データのフィルターリングを、データを必要としているユーザーに基づいて行いたい場合があります。例えば、次のような場合です。 地域の営業担当者に、自分の地域の売上高のみを表示させたい。営業マネージャーに、自分の部下の営業担当者の統計のみを表示させたい。生徒に、自分の成績に基づいたビジュアライゼーションのみを表示させたい。データをこのようにフィルターリングするアプローチは、行レベルのセキュリティ (RLS) と呼ばれます。行レベルのセキュリティを実現する方法は Tableau の内部と外部で複数あり、それぞれに長所と短所があります。 手動でユーザー フィルターを作成し、ユーザーを値にマッピングするTableau で行レベルのセキュリティを実現する最も簡単な方法は、ユーザーを手動で値にマッピングするユーザー フィルターを使用することです。たとえば、「Alice」という名前のユーザーを値「東部」に手

    masutaka26
    masutaka26 2024/04/26
    Tableau 側で行レベルセキュリティを使うのはなかなか制約がある...
  • 社内向けStreamlitのデプロイの現実解

    結論 社内データを扱うアプリケーションを安全にデプロイするならCloudflare Tunnel,Cloudflare Accessを使う。要件次第ではStreamlit in Snowflakeも使える。 はじめに Streamlitはデータアプリケーションを短時間で作成できる便利なツールですが、社内データを扱うアプリケーションをデプロイする際は外部からの不正アクセスを防ぐように厳重な注意が必要です。 にもかかわらず、Streamlitを安全にデプロイする成熟した方法はまだありません。 記事では、最も単純なStreamlitのデプロイ構成の例から問題点を再確認し、それらを解決する方法を順に説明します。ただし、記事で紹介する構成を使うにはドメインのネームサーバーがCloudflareである必要があることに注意してください。 単純な構成はどう危険なのか? まずは非常に単純なStreaml

    社内向けStreamlitのデプロイの現実解
  • データポリシーによる行レベルのセキュリティを使用する #tableau | DevelopersIO

    データポリシーによる行レベルのセキュリティ機能の概要をまとめておきたく記事としました。 仮想接続とデータポリシー Tableau Cloud または Tableau Server では、Tableau Data Management アドオンを利用することで、仮想接続とデータポリシーという機能を使用することが可能です。 Tableau Cloud Tableau Server 仮想接続 仮想接続は、Tableau コンテンツ タイプの 1 つで、これによりデータソースへの認証情報を一元管理することができます。 具体的なメリットとして、以下が挙げられます。 ダッシュボード開発者に認証情報を渡さずにすむ Creator は仮想接続経由でデータソースにアクセスすることが可能となります。サイト管理者が仮想接続を作成し、ある Creator ユーザーに接続を許可することで、Creator ユーザーは

    データポリシーによる行レベルのセキュリティを使用する #tableau | DevelopersIO
    masutaka26
    masutaka26 2024/04/23
    ちょうど調べていたので助かります。Tableau Data Management アドオンが割とお高いのが残念です
  • 仕事の人間関係で心を疲れさせないために、いますぐ「やめる」といい3つのこと - STUDY HACKER(スタディーハッカー)|社会人の勉強法&英語学習

    「あらゆる悩みの原因は人間関係にある」とは、アドラー心理学の根底に流れる概念とされます。しかし、苦手な人とも付き合っていかなければならないビジネスパーソンにとって、人間関係の悩みは尽きないもの。そして、人間関係によって心が疲れてしまう人はあとを絶ちません。 そんな人たちに向けて、一般社団法人感情マネージメント協会代表理事の片田智也さんが、心を疲れさせないために「やめたほうがいいこと」を解説してくれました。 構成/岩川悟 取材・文/清家茂樹 写真/玉井美世子 【プロフィール】 片田智也(かただ・ともや) 1978年生まれ、和歌山県出身。一般社団法人感情マネージメント協会代表理事。公認心理師。産業カウンセラー。大学卒業後、20代で独立するがストレスから若年性緑内障を発症、視覚障害者となる。同年、うつ病と診断された姉が自死。姉の死の真相を知るため、精神医療の実態や心理療法を追求、カウンセラーに転

    仕事の人間関係で心を疲れさせないために、いますぐ「やめる」といい3つのこと - STUDY HACKER(スタディーハッカー)|社会人の勉強法&英語学習
  • Github Action workflow_runトリガーでファイル差分に応じてjobを動かす

    タイトルは正しいと思うんですがわかりくいですね。まずはworkflow_runについて簡単な説明を。 workflow_runって何 Github Acitonではworkflow(=yml)を連携させる方法が2つあります。1つはreusable workflowで、もう1つはworkflow_runイベントです。前者はメインのworkflowから別のworkflowを呼び出すものであくまでメインworkflowの一部のタスクを別ymlファイルに切り出す、というものです。 一方、workflow_runイベントは1つ目のworkflowが終わったら2つ目のworkflowを開始する、というものなので、たとえ2つ目のworkflowが失敗しても1つ目のworkflowの結果には影響しません。 Reusable Workflow workflow_runイベント で、今回は後者のworkflo

    Github Action workflow_runトリガーでファイル差分に応じてjobを動かす
    masutaka26
    masutaka26 2024/04/20
    workflow_run をトリガーにした workflow では dorny/paths-filter が誤検知する。それへの workaround がまとまっているが、なかなか大変だ