タグ

関連タグで絞り込む (318)

タグの絞り込みを解除

*softwareに関するsh19910711のブックマーク (1,762)

  • Jsonnet で Kubernetes マニフェストを快適に書く

    Kubernetes マニフェストを書くとき、非常にしばしば複数の環境(典型的には production, staging, development)ごとに一部の設定だけ異なる他はほぼ同一の内容のマニフェストを用意しなければならない、ということがあります。このようなとき、繰り返し部分と差分を分ける手段としては複数の選択肢があります。なかでも、kustomize を使って、ベースとなるマニフェストを用意したうえで各環境に応じた差分を適用するためのパッチをあてる、というのがよく選ばれる選択肢でしょうか。この記事では、繰り返しを避けるという目的を達成するのに、kustomize ではなく Google 開発の設定記述用言語 Jsonnet を使うという選択肢もあるということをご紹介します。 Jsonnet には普通のプログラミング言語にはない独特な機能があり、使いこなすにはコツが必要です。この記

    Jsonnet で Kubernetes マニフェストを快適に書く
    sh19910711
    sh19910711 2024/06/05
    "Jsonnet: +演算子をオブジェクト2つに適用してオブジェクトのマージができ + 同じキーがある場合は右側が優先 / $ という特殊な変数のようなものがあり、それを含むトップレベルのオブジェクトを指す" 2022
  • Rust製ツールのmiseでランタイムバージョンを管理する|Taro Yamashita

    アキッパの山下です。 手元の環境を汚さずに、PHP/Python/Node.jsなどのランタイムバージョンを切り替えたいというニーズでは、Dockerの利用がすっかり主流だと思いますが、シーンによってはPythonのvenvといったツールもまだまだ活躍するシーンは多いのではないでしょうか。 そんなツールの中で、今回はRust製ツールのmiseを紹介します。 ランタイムバージョン管理とは?あらためて、ITシステムやWebサービスを開発・運用していく場合、どのプログラミング言語で構築されているか?だけでなく、そのバージョンは?も重要なポイントです。 稼動しているサーバにインストールされている言語バージョンと、手元の開発環境でバージョンが異なれば、手元で動くのにサーバで動かない(あるいはその逆)が往々にして起こります。 開発環境にサーバと同じバージョンをインストールすれば良いのですが、サーバAで

    Rust製ツールのmiseでランタイムバージョンを管理する|Taro Yamashita
    sh19910711
    sh19910711 2024/05/28
    "手元の環境を汚さずに、PHP/Python/Node.jsなどのランタイムバージョンを切り替えたいというニーズ / mise: asdfと完全互換なうえに、速度面でも文句なし + rtxからmiseに名前が変わった"
  • Druidとflinkを使った動画広告のリアムタイム集計基盤

    [BA11] Office 365/Dynamics 365 連携だけじゃない! 業務に使うマルチデバイスアプリ作成に向けた PowerApps/Flow...

    Druidとflinkを使った動画広告のリアムタイム集計基盤
    sh19910711
    sh19910711 2024/05/28
    "Druid: イベントデータに対するOLAP + リアルタイムデータとヒストリカルなデータをSub-secondで処理できるよう設計されたデータストア / Superset: もともとはPanoramixという名前だった" 2017
  • データカタログの最初の一歩 〜データ組織向けに dbt docs を整備している話〜 / Maintaining dbt docs for data organizations

    sh19910711
    sh19910711 2024/05/28
    "データ関係の仕様書があちこちに分散 + クエリを直接読まないと分からない / 早めにデータカタログとしての場所だけ作って運用 + テーブル、クエリ、リネージグラフがサクッと確認できるだけでも十分"
  • Kafka Streams で状態を持つアプリケーションを作る - Qiita

    この記事はKafka Advent Calendar 2021の3日目の記事です。 Kafka Streams でステートフルなアプリケーションを開発する際、Kafka 外のデータストアを使ってしまうと Kafka Streams が持つフォールトトレランスや処理の保証などの機能を活かし切れず、競合状態やリトライなど注意点が多く発生します。Kafka 自体をデータストアとすることで、Kafka Streams の利点を活かせるアプリケーションのパターンを紹介します。 Kafka Streams とは Kafka のクライアントとコンシューマを利用し、Kafka トピック上を流れるデータに対するトポロジー(結合、変換など)を定義し、ストリーム処理が出来るライブラリです。 あるトピックにメッセージが配信されたらそのメッセージを処理し、結果を別のトピックに配信する、というようなアプリケーションを

    Kafka Streams で状態を持つアプリケーションを作る - Qiita
    sh19910711
    sh19910711 2024/05/25
    "KTable: Kafka Streams で状態を扱う一番基本的な方法 + トポロジー内で KTable からエンティティのスナップショットを取得 + 新状態を KTable のトピックに再び配信することでそのエンティティを更新" 2021
  • ソースコード検索エンジン・OpenGrokを構築しよう - 弥生開発者ブログ

    この記事は 弥生 Advent Calendar 2021 の24日目の記事です。 こんにちは。弥生でエンジニアをしている、たけです。 突然ですが、この記事を読んでくださっているみなさんは、ソースコードの検索をどのように行っていますか? 普段から道に迷いやすい私ですが、ソースコードを読んでいるときにも迷子になることが多々あります。 そのうえ極度の面倒くさがりなので、「IDEを立ち上げるのもちょっとな…」と思うことがあります。 そこで、「OpenGrok」というソースコード検索エンジンを自分の開発用PCに構築することにしました。 私は普段デスクトップアプリケーションの開発を行っているのですが、Webアプリケーションの基の勉強になりそうだと思ったことも、OpenGrokを使ってみようと思った理由の一つです。 目次 OpenGrokとは? 環境構築手順 1. 事前準備 2. Ctagsをダウン

    ソースコード検索エンジン・OpenGrokを構築しよう - 弥生開発者ブログ
    sh19910711
    sh19910711 2024/05/24
    "普段から道に迷いやすい私ですが、ソースコードを読んでいるときにも迷子になることが多々あり / OpenGrok: ソースコード検索・相互参照エンジン + 複数のプロジェクトのソースコードを一括で検索 + 様々な言語に対応" 2021
  • Great Expectationsを使ったBigQueryでのデータバリデーション

    データウェアハウスとしてBigQueryを使う環境でデータバリデーションを実行し、その結果をGoogle Cloud Storage(GCS)バケットに保存することで、データ品質に関するレポートを組織内で共有できるようにしてみます。バリデーションの実装はSQLとして用意するのではなく、JSONで仕様を記述できるGreat Expectationsというフレームワークを使います。バリデーションの実行はデータパイプラインの実装でよく使われるApache Airflowを使います。 データパイプラインでのデータバリデーションの必要性 データパイプラインでデータの自動連携やETLを運用していると、いつの間にか連携されてくるデータの性質や仕様が変わっていることがあります。その変化に気づかず、データパイプラインでデータを処理してユーザに提供してしまうと、そのデータを利用した業務での事故に繋がります。ま

    Great Expectationsを使ったBigQueryでのデータバリデーション
    sh19910711
    sh19910711 2024/05/24
    "データパイプライン上でのバリデーション: JSONファイルでassertionを記述するGreat ExpectationsやYAMLで記述するSoda SQLなど / バリデーション結果はData Docsと呼ばれるHTML形式のファイルとして出力" 2021
  • Kubernetes でワークフローを組むなら cdk8s-argoworkflow がよさそう!/ cdk8s-argoworkflow is great!

    「 JAWS-UG CDK支部 #14」での登壇資料です。 イベントURL: https://jawsug-cdk.connpass.com/event/317935/

    Kubernetes でワークフローを組むなら cdk8s-argoworkflow がよさそう!/ cdk8s-argoworkflow is great!
    sh19910711
    sh19910711 2024/05/23
    "Argo Workflows: 単体の利用ではYAML特有の悩み / cdk8s-argoworkflow: 補完機能で快適 + 繰り返し処理でコード量をグッと減らせる / スナップショットテストと生成AIで簡単且つ安全にリファクタリング"
  • 話題の組版エンジン Typst を触ってみた

    Typst — 新しい組版エンジン 今年の3月21日、Typst というソフトウェアが public beta となり、処理系がオープンソースで公開されました。 Typst is a new markup-based typesetting system for the sciences. Typst はマークアップベースの新しい組版システムです。独自の構文を持っており、Typst で書かれた文書をオンラインサービスまたはローカル上でコンパイルすることで PDF に変換(出力)することができます。 公式サイトには「科学分野向け」「LaTeX への不満から生まれた」とあり、数式や相互参照等の機能が充実していることから、メインターゲットも LaTeX ときわめて近いところにあると考えられます。とはいえそれ自体は汎用的な組版システムなので、用途も 論文・会議原稿 雑誌の記事 小説 技術書 スライ

    話題の組版エンジン Typst を触ってみた
    sh19910711
    sh19910711 2024/05/21
    "Typst: 組版システム + 公式サイトには「科学分野向け」「LaTeX への不満から生まれた」とあり / マークアップとプログラミングの両側面を両立するとなると様々な問題が生じがち(括弧の種類が足りないとか)" 2023
  • Neovim の Markdown ビューアとして Obsidian を使う - Qiita

    この記事は Vim 駅伝 2024/5/20 の記事です。前回は staticWagomU さんの Masonから脱却できなかった - 輪ごむの空き箱という記事でした。 これは何? Markdown は実質、単なるテキストファイルです。そのため Neovim で書くこと自体は簡単なんですが、ビューアが無いのはターミナルで動くものである以上仕方ありません。今までもこの問題を解決するために様々なプラグインが作られてきました。 previm/previm iamcco/markdown-preview.nvim euclio/vim-markdown-composer 検索するとまだまだ出て来ます。大抵のものが、裏で HTTP サーバを立てておいて、ターミナル(Neovim)の横にブラウザを開いて使う、という形式です。今回紹介するのはこれらとはちょっと違い、Obsidian をビューアとして使う

    Neovim の Markdown ビューアとして Obsidian を使う - Qiita
    sh19910711
    sh19910711 2024/05/21
    "obsidian-bridge.nvim: Neovim を Obsidian の公式アプリと協調して動かす + Neovim で編集中にスクロールすると該当の場所に自動的に追随 / 画像を挿入したいと思ったら Obsidian アプリにドラッグ & ドロップ"
  • LaTeX と Typst を比較してみよう - 日常のカフスボタン

    LaTeX と Typst はともにテキストファイルから PDF を出力できる目的や方法が卑近なツールです。 これらにはよく知られた違いがいくつかありますが、これらの違いが明文化されている記事は無いようでした。 そこで、この 2 つのツールをさまざまな点で比較してみました。 注意:記事は LaTeX と Typst のどちらが良いツールかを検討する記事ではありません。単に比較することのみに終始することに注意してください。 環境構築 LaTeX を利用するには、以下のようなディストリビューションをインストールする必要があります。(W32TeX は配布終了しました) TeX Live MacTeX MiKTeX ...and more TeX Live のインストールには少なく見積もっても 1 時間弱、フルスキームに至っては 2 時間強ほど必要です。これは、多数のパッケージやフォント、それら

    LaTeX と Typst を比較してみよう - 日常のカフスボタン
    sh19910711
    sh19910711 2024/05/21
    "TeX ディストリビューションは、TDS と呼ばれるディレクトリ構成に従っています / TeX Live は毎年(概ね 3~4 月くらい)にバージョンが変更 + これは、毎年数時間かかる環境構築をする必要があることと同義"
  • エンジニア向けのBIツール、QuaryをBigQueryに接続して使ってみた | DevelopersIO

    こんちには。 データアナリティクス事業機械学習チームの中村(nokomoro3)です。 Quaryというエンジニア向けのBIツールが気になったので使ってみました。 GitHub - quarylabs/quary: Open-source BI for engineers VSCode拡張機能やCLIが準備されており、以下のことができます。 データベースへの接続 dbtに類似した機能 sqlファイルとしてmodelを記述可能、schemaもyamlファイルで記述可能 schemaはGUIで操作もでき、リネージも表示可能 また簡単なグラフなどもyamlファイルで管理可能 対応ソースはBigQueryやSnowflakeなどとなっていますので、今回はBigQueryで試してみようと思います。 BigQuery側の準備 前準備として、以下のページにある ml-latest-small.z

    エンジニア向けのBIツール、QuaryをBigQueryに接続して使ってみた | DevelopersIO
    sh19910711
    sh19910711 2024/05/21
    "quarylabs/quary: sqlファイルとしてmodelを記述 + schemaもyamlファイルで記述 / chart.yamlというsuffixを持つファイルを作成すると、簡単なグラフを作成することができ / schemaはGUIで操作もでき、リネージも表示可能"
  • 書籍「Podmanイン・アクション」の紹介 - 赤帽エンジニアブログ

    Podmanイン・アクション Red Hatでソリューションアーキテクトをしている田中司恩(@tnk4on)です。今回は私も執筆に参加した書籍「Podmanイン・アクション」について紹介いたします。 (2024年1月16日、更新)インフラエンジニアBooksのアーカイブURLと資料のリンクを追記しました。 Podmanイン・アクション 2023年9月に翻訳である「Podmanイン・アクション」が発売されました。Podmanイン・アクションの原著は以前に紹介した「Podman in Action」です。 rheb.hatenablog.com Podmanイン・アクションはレッドハット株式会社の有志メンバーが集まって翻訳を行い、またそのチームメンバーもソリューションアーキテクト、コンサルタント、サポート、テクニカルトランスレーターと、さまざまな構成となっています。出版社の担当者を始め多くの

    書籍「Podmanイン・アクション」の紹介 - 赤帽エンジニアブログ
    sh19910711
    sh19910711 2024/05/21
    "広く使われるDockerに対するPodmanの新しさとは何か、Podmanが生まれることになった背景やその思想とは / セキュリティに関する部分は高密度で書かれており、かなり読み応えのある内容"
  • GitLab Triageでプロジェクトの棚卸しを自動化する

    記事は 富士通クラウドテクノロジーズ Advent Calendar 2021 の2日目の記事です。 1日目は@ktakaaki のTwilioとWindows PowerShellを使って連続で電話を掛けたいでした。Twilioはシステムから電話を掛ける際に非常に便利なサービスで、様々な場面でよく使われますが、PowerShellからでも簡単にコールできるんですね。 さて、富士通クラウドテクノロジーズ社では 全社員が利用するプロジェクト管理ツールとしてGitLabを採用 しています。各チームそれぞれがGitLabを活用しており、様々なGitLab活用ノウハウがあるのですが、今回は最近導入した GitLab Triage を紹介したいと思います。 GitLab Triageとは GitLab Triage はGitLabプロジェクト上のIssue/Merge Request/Epicを

    GitLab Triageでプロジェクトの棚卸しを自動化する
    sh19910711
    sh19910711 2024/05/16
    "GitLab Triage: ポリシーを定めるために YAMLファイルを作成 + conditions で対象となるIssueを定義し、 actions で対象となったIssueに行いたい操作を定義 + forbidden_labels は対象の除外条件" 2021
  • Debeziumで変更データキャプチャを学ぼう #jjug_ccc

    JJUG CCC 2021 Fallの 「15:00 ~ 15:50 Debeziumで変更データキャプチャを学ぼう」の資料です

    Debeziumで変更データキャプチャを学ぼう #jjug_ccc
    sh19910711
    sh19910711 2024/05/14
    "Debezium: RedHatがサポート + データベースの行レベルの変更をキャプチャする分散サービスのセット / Kafkaが嫌ならEmbedded Engineという手もある + お好みのメッセージブローカーに送信することも出来る" 2021
  • terraform plan 結果の検証を自動化するぞ! with Conftest / Testing terraform plan with Conftest

    下記LT会にて発表した資料です。 自動化大好きエンジニアLT会 - vol.5 - connpass https://rakus.connpass.com/event/224448/ スライド内リンク一覧 --- 8ページ - Conftest https://www.conftest.dev/ - Open Policy Agent https://www.openpolicyagent.org/ 12ページ - hashicorp/terraform-json https://github.com/hashicorp/terraform-json 20ページ - Flatten nested JSON using jq https://stackoverflow.com/questions/37540717/flatten-nested-json-using-jq/37555908#3

    terraform plan 結果の検証を自動化するぞ! with Conftest / Testing terraform plan with Conftest
    sh19910711
    sh19910711 2024/05/12
    "Conftest (Open Policy Agent): Terraformに限らずあらゆる構造化された内容をテストできる + ポリシー自体のテストも可能 / plan結果のjsonは `resource_changes` 以外にもさまざまな情報を持っている" 2021
  • Data Wrangler Extension for Visual Studio Code がGAになったよ | DevelopersIO

    はじめに データアナリティクス事業部の大谷(おおや)です。 ついにData Wrangler Extension for Visual Studio Code(以降Data Wrangler)がプレビュー版から正式版になりました! この記事では、前回紹介できなかった、ファイルからData Wranglerを起動する方法についてまとめていきたいと思います。 Data Wrangler とは VSCode および VSCode Jupyter Notebook で、データの表示や分析を直感的に行うことができるようになる VSCode拡張機能です。 セットアップ インストール方法や、ランタイムの設定などは前回記事をご確認ください。 実践 ファイルから Data Wrangler を開く方法は3パターンあります。 それぞれ確認していきましょう。 1. VSCode のエクスプローラー上で右ク

    Data Wrangler Extension for Visual Studio Code がGAになったよ | DevelopersIO
    sh19910711
    sh19910711 2024/05/09
    "Data Wrangler Extension: VSCode の拡張機能 + データの表示や分析を直感的に行うことができる / 一発でParquetファイルの中身を確認 / ワークスペースにないファイルを開きたい場合は、コマンドパレットから開くと便利"
  • MeiliSearchを使ってみる

    MeiliSearchを最近知ったので、使い勝手などを検証するメモです。 環境 OS: Ubuntu 20.04 MeiliSearch: 0.22.0 MeiliSearchとは? meilisearch/MeiliSearch: Powerful, fast, and an easy to use search engine Rustで実装された全文検索エンジン、という認識。 メイリサーチ という読み方でいいのかな? 各プログラミング言語向けのライブラリが公式で提供されていたりしてすごい。 meilisearch/meilisearch-rails: MeiliSearch integration for Ruby on Rails meilisearch/meilisearch-ruby: Ruby SDK for the MeiliSearch API meilisearch/me

    MeiliSearchを使ってみる
    sh19910711
    sh19910711 2024/05/09
    "MeiliSearch: 各プログラミング言語向けのライブラリが公式で提供 + シンプル / API叩いてから非同期でindexing + 100万件なげるとindexがすべて作成されるまでに多少時間がかかる + 1h30m くらい" 2021
  • 構成図を『描く』から『書く』へ:DiagramsでAWS構成図かいてみる - Qiita

    やること "Diagram as Code"ことDiagramsで、AWS構成図をコードでかいてみる Diagramsとは Diagramsは、Pythonモジュール Diagrams使うにはGraphvizも必要 Pythonのコードでクラウドシステムアーキテクチャを描画できる サイトはここ https://diagrams.mingrammer.com/ サイトにあるDiagramsの説明は、英語だけど分量が少ないので一読すべし!(自動翻訳で十分理解できる) このように、構成図をPythonのコードで書ける。このコードを、Pythonスクリプトとして実行すると、構成図が画像として出力される。 良いところ 構成図をコード化できる コード編集で作図編集できるので、画像修正より楽 コードなので、CloudFormationのコードとまとめてGitで管理できる AWS以外のアイコンも用意されて

    構成図を『描く』から『書く』へ:DiagramsでAWS構成図かいてみる - Qiita
    sh19910711
    sh19910711 2024/05/09
    "Diagrams: 構成図をコード化できる + コードなのでCloudFormationのコードとまとめてGitで管理できる + AWS以外のアイコンも用意されている / 代用アイコンを決めておけばチーム内で共有する構成図として十分に使えそう" 2020
  • Deep learning に対応!! Splunk DL Toolkit に触ってみた - Qiita

    概要 Splunkが DeepLearningに対応しました(驚き)。昨年(2018年)の .conf で発表があり beta 版としてアングラで動いてたらしいですが、今回正式に Deep Learning Toolkit もリリースされて追加できるようになりました。 もちろんGPUなどにも対応しており、Tensorflow /Keras / PyTorch そして 複数の NLP ライブラリが利用可能です。 今回はどんな感じで実装できるのか、まずはセットアップしてみたいと思います。 ちなみに Youtubeで概要とセットアップなどが紹介されてますので、こちらも合わせてチェックしてください。 https://www.youtube.com/watch?v=IYCvwABLyh4 マニュアルはなさそうでして、DL Toolkit アプリをインストールすると簡単なセットアップガイドが載ってるた

    Deep learning に対応!! Splunk DL Toolkit に触ってみた - Qiita
    sh19910711
    sh19910711 2024/05/08
    "Splunk DLTK: Tensorflow/Keras/PyTorch + 複数の NLP ライブラリが利用可能 / 苦労するデータ収集や前処理、そして最後の実装部分をSplunkに任せ + いいモデルができてしまえば、後は通常の Splunkの知識さえあれば実装ができます" 2019