こんにちは、Fundsチームの @convto です。Kyashでは銀行入金やコンビニ入金などの残高の入出金に関わる部分の開発をしています。 Fundsチームではその業務の性質上多数の外部ベンダとやり取りをしています。 それぞれベンダごとに仕様なども異なるため、その接続部分のいくつかはマイクロサービスとして切り出されています。 Fundsチームの管理しているサービス間の通信でgRPCを導入する際、今後の社内の別サービスなどにも汎用的に使えるようなproto管理レポジトリを構築したのでその紹介をしたいと思います。 proto管理レポジトリで満たしたい要件について はじめに、他社の事例も参考にしつつ、自分たちがprotoを管理するにあたってどのような要件を満たせれば良いのか整理しました。 他社の事例を調査したところ、以下のような構成が多かったように思います。 名称は app-proto や p
ソフトウェア開発プラットフォームのGitHubが、2022年に同プラットフォーム上で使用されたプログラミング言語に関する統計データをまとめたレポートを公開しました。2022年に最も使用されたプログラミング言語は「JavaScript」で、最も成長著しいプログラミング言語は「HCL(HashiCorp Configuration Language)」、使用率が減少したプログラミング言語は「PHP」です。 The top programming languages | The State of the Octoverse https://octoverse.github.com/2022/top-programming-languages GitHub上で使用されているプログラミング言語をまとめたレポートによると、2022年の最も使用されたプログラミング言語トップ10は以下の通り。 1位:Ja
はじめに Vimといえば、みなさんご存じテキストエディタですが、テキストエディタである以前に一つのCLIコマンドでもあります。そんなCLIコマンドの利点一つにThe UNIX philosophyの定理として提唱されている『7. Use shell scripts to increase leverage and portability. (シェルスクリプトによって梃子(てこ)の効果と移植性を高める)』というものがあります。 今回は私も普段の仕事で利用しているVimの梃子としての側面をご紹介できればと思います。 GitコマンドとVim 今回Vimと組み合わせるのはシステム開発で避けては通れぬバージョン管理システムGitです。私は普段Gitを使用するときにはSourcetreeやGitKrakenなどのGUIクライアントを利用せずにCLIで操作をしています。 皆さんこう思われるかもしれません
この記事について 深層強化学習を利用してAI RC Carの走行を学習させるソフトウェアをGithub上で公開しています。learnign_racerと命名しました。2020年4月29日の時点でのバージョンはv1.0.0です。この記事ではこのソフトウェアについて紹介していきます。 github.com なお、NVIDIAのJetson Community Projectsのページでも紹介されています。 developer.nvidia.com learning_racerの概要 このソフトウェアは10分から15分程度の学習時間で、コースに沿って走行する方法を獲得することができます。従来のAI RC Carでは人間のお手本操作をDNNに覚えこませる手法が一般的です1。ですが、本手法は教師なし学習の手法である強化学習をベースとしているため、教師データとなる人間のお手本操作は必要ありません。さら
AWS アクセスキーなど、機密情報の git commit を防ぐ secretlint の紹介記事です AWSアクセスキーセキュリティ意識向上委員会って何? 昨今、AWSのアクセスキーを漏洩させてしまうことが原因でアカウントへの侵入を受け、 多額の利用費発生・情報漏洩疑いなど重大なセキュリティ事案が発生するケースが実際に多々起きています。 そこで、アクセスキー運用に関する安全向上の取組みをブログでご紹介する企画をはじめました。 アクセスキーを利用する場合は利用する上でのリスクを正しく理解し、 セキュリティ対策を事前に適用した上で適切にご利用ください。 tl;dr 開発をはじめる前に、次の手順を実行しよう シェルスクリプトの保存 次のシェルスクリプトを ~/.git-template/hooks/pre-commit として保存しよう。 #!/bin/sh FILES=$(git diff
2024年3月29日に、圧縮ツールのXZ Utilsに、悪意のあるバックドアが仕込まれていたことが明らかになりました。そのバックドア攻撃において攻撃者が使用したスクリプトについてGoogleのエンジニアであるラス・コックス氏が解説しています。 research!rsc: The xz attack shell script https://research.swtch.com/xz-script XZ Utilsへの攻撃がどのように行われたのかという時系列順のまとめは下記記事で確認できます。 XZ Utilsにバックドア攻撃が行われるまでのタイムラインまとめ - GIGAZINE コックス氏は今回の攻撃は大まかに「シェルスクリプト」の部分と「オブジェクトファイル」の部分の2つに分割できると述べました。攻撃はソースコードをコンパイルする「make」に対し、環境に応じて適切な設定を行う「con
CIサービス(Continuous Integration = 継続的インテグレーション)の LayerCI の CEO がブログで指摘したのが、LayerCI やその競合である GitLab, GitHub Actions, TravisCI, CircleCI, Wrecker などのサービスの無料枠を悪用した暗号通貨マイナー(miner = 採掘者)の実例です。 CIサービスの無料枠 CIサービスでは、GitHub や BitBucket などのソースコード管理サービスでコードの変更がある度に、自動的にテストセットを実施し、ソフトウェアが壊れていないかを確認してくれます。CIサービスはこれらのテストを実施するためのコンピューター資源を大量に確保・実行しています。 多数のプロジェクトを持つ企業は毎月の使用料を払ってこれらCIサービスを利用しますが、普及宣伝のために個人開発者やスタートア
Rust製のターミナルアプリ WezTermをご存知ですか? もしご存知なければ、最高の相棒を紹介させてください!! WezTerm - Wez's Terminal Emulator 基本的な性能 ターミナルアプリに求められる要素はとてもシンプルです。 1に安定! 2に軽量! 3,4がなくて 5に機能 です。 安定と軽量の2つが満足でないとターミナルアプリは 比較という俎上に上がること自体が難しいです。 さて、WezTermはというと、 あくまでも私の実感レベルですが、どちらも全く問題ないです。 ターミナルアプリでは日本語の入力系などで難ありなものも結構あったりしますが 今の所その辺でも特に問題を感じたことはないです。 非常に主観的な記述だけで申し訳ないですが、 この辺は色々書いたところで使ってみないことにはわからないと思いますので、 まずは使ってみてください。 また私はMacで利用して
はじめに 仮想マシン上の Windows 10 で WSL2 を使うと大きく時刻がずれるが、Qiita を始め、あちこちで紹介されている hwclock を使う方法ではうまくいかない。ntpdate などで Windows と同じ NTP サーバに同期させる手もあるが、WSL2 から Windows ファイルシステム上にファイルを touch し、そのファイルのタイムスタンプで WSL2 の時刻を設定すれば、このずれが簡単に修正できる。シェルスクリプトでも良いが、Rust で専用のコマンドを作ってみる。 どんな感じか... Windows 側の PowerShell で、時刻を表示するコマンドを叩いてみる。PowerShell の Get-Date と Linux の date で同じフォーマット(ここでは RFC 3339 もどきの形式)で表示させてみる。 PS> wsl -l -v N
Rubyist Hotlinksにインスパイアされて始まったイベント『Rubyistめぐり』。第1回は高橋征義さんをゲストに迎えて、お話を聞きました。 パーソナルコンピュータとの出会い 藤村:こんばんは、藤村と申します。STORES のCTOをやっています。Rubyist Hotlinksをプログラミングを始めた頃にめっちゃ読んでて。 高橋:あれいいですよね。 藤村:いい。プログラマがどういう人たちなのか、なんとなくわかるみたいな、めっちゃ好きなコンテンツだったんですよ。で、ある日、これをもっとやった方がいいと思ったので、弊社でもやってみようとなったのがこのRubyistめぐりですね。ということで第一回は高橋会長に来ていただきました。なぜかというと、この STORES を手伝ってくださっているからというところでございます。 高橋:その話はあんまり外でしてないので、あらかじめお話しておきます
はじめに こんにちは。 クリスマスも近づき、人肌が恋しくなる時期になりました。 ですが、街で可愛い人を見かけても声をかける勇気があるわけはないし、SNSで気の合いそうな人が偶然恋人を募集していても連絡を送る勇気は当然ありません。 そこで、 じゃあ勝手に、性格の合いそうな恋人探し中の人同士をマッチングさせちゃおう!! と思い、今回開発したのが「恋のキューピットAI」です! (本当は、「#Twitter転職」を活用して新しい職を探している人と、企業をマッチングさせるTwitter Botを作りたかったが、どう上手に企業と転職希望者をツイート内容から区別するかが見えず、アドベントカレンダーの担当日も近く、諦め、恋人探しの方にしました) 何をつくったか 恋のキューピットAIはこのように、すでに稼働していて、毎時間ひたすらTwitterユーザーをマッチングさせています。 これで、自分から絡みに行きづ
CTO 藤村がホストとなって、技術や技術にまつわることについてざっくばらんに話すPodcast、論より動くもの.fmの第3回を公開しました。今回は、CTO 藤村とSREの藤原で、SREやDevOpsについて話しました。 論より動くもの.fmはSpotifyとApple Podcastで配信しています。フォローしていただくと、新エピソード公開時には自動で配信されますので、ぜひフォローしてください。 テキストで読みたい方は下記からどうぞ。 なぜ変更容易性が重要なのか 藤村:みなさん、こんばんは。論より動くもの.fmです。論より動くもの.fmはheyのCTO 藤村が技術や技術にまつわることについてざっくばらんに話すPodcastです。今日はheyのSREの藤原さんに来てもらいました。藤原さん、よろしくお願いします。 藤原:よろしくお願いします。 藤村:まずは簡単に自己紹介をお願いします。 藤原:
こんにちは、クラウド事業部の中根です。 未経験からKubernetesに入門して約1か月が経ったので、振り返りたいと思います! 実務に入る前の予習なので、実務を通した実践的な学習はしていない点はご了承ください。 学習の動機 入門前のレベル感 学習プロセス 入門0~7時間 入門7~32時間 入門32~60時間目 入門60~71時間目 入門71~132時間目 +α できるようになったこと 次のステップ これから入門する方へ おわりに お知らせ 学習の動機 私は中途入社で、案件は決まったのですが、参画まで1か月半ほど待機期間となりました。 クラウドネイティブな案件ということで、この期間を活かしてKubernetesのキャッチアップをすることになりました。 入門前のレベル感 IT業界経験が3年と1か月です。 以下、関係する領域の詳細です。 Kubernetes ほぼ未経験。 OpenShiftをち
この記事は Timee Advent Calendar 2024 シリーズ 1 の5日目の記事です。 はじめに こんにちは。タイミーの DRE チームの chanyou です。2024年の3月に DRE チームにジョインして、社内のデータ基盤を作って運用しています。 DuckDB を使ってデータ基盤で扱うデータの品質を保証し始めたので、その内容をご紹介します。 データ品質と完全性 タイミーのデータ基盤で重視しているデータ品質 タイミーでは、DMBOK を参考に以下のデータ品質を重視して設計や日々の運用を行っています。 特性 意味 完全性 データが欠損していないか 適時性 必要なときにすぐにデータを参照できるか 一意性 データが重複していないか 一貫性 型・タイムゾーン・表記揺れなど、値の書式や意味が統一されているか 今回は完全性にフォーカスします。 完全性が損なわれるタイミング 上記の通り
この記事はLinux Advent Calendar 2020 - Qiitaの1日目の記事です。 Tiny Core Linux(以下tcl)を使ってLinuxのブートプロセスを見てましょう。Tiny Core Linuxは軽量ディストリビューションで最小のisoイメージだと11MBほどです😃 ブートプロセスを見ると言っても電源onからの流れではなくてinitプロセスの実行に関する部分です。 この記事ではバージョン11.1のCore-current.iso を利用しています。 www.tinycorelinux.net isoファイルの構成 まずはtclのisoがどんな感じで構成されていて、Linuxを起動させるのか確認しましょう。 isoファイルの構成はこのようになっています。 $ sudo mount -o loop Core-current.iso ./mnt $ tree ./
これははてなエンジニアアドベントカレンダー2022 38日目の記事です。 昨日は id:yutailang0119 さんの Programmatic NavigationStack 備考録 - がんばってなんか書くでした。 MeetingBar.appとAppleScriptを使って議事録用のwebページを自動で開く方法を解説します。 毎日ミーティングのたびにGoogle MeetやZoomを開き、さらに議事録ページを開く作業にうんざりしてないでしょうか。MeetingBar.appを使うことでGoogle MeetやZoomと議事録を開く作業を自動化できます。 MeetingBarとはmacOS用のアプリケーションです。ZoomやGoogle Meetで予定されたミーティングの時間になると自動的にミーティングを起動する事ができて大変便利です。 github.com MeetingBarは
はじめに この記事では、2022年1月にリリースされたclapとclap_completeクレートを使って、シェルの補完スクリプトを生成する方法を紹介します。 clapはRustのコマンドライン引数パーサーです。 豊富な機能を備えており、Rustではデファクトスタンダートになっているライブラリです。 近年の他のプログラミング言語のコマンドライン引数パーサー——例えば、Pythonのargcomplete、clickやcleo、Goのgo-flags——同様に、補完スクリプトの生成に対応しています。 clapはBuilderパターンによるパーサーの構築が素の使い方ですが、バージョン3でderiveマクロによるパーサーの構築が安定化されました。 Builderパターンによるパーサーの構築——この機能はBuilder APIと呼ばれています——では、以下のようなコードでパーサーを記述します。構造
Windows Subsystem for LinuxのプレビューVer.2.0が9月に公開された。WSL2と混同を避けるため、これをWSL V2.0と表記する。 現在、WSLはMicrosoftストア経由で配布されており、自動的にアップデートされる。ただし、WSL V2.0はまだプレビュー段階で、安定版はV1.2.5だ。このため、Windows Insider Programのプレビュー版ではないWindows 11では、当面は安定版のままになる。ただし、強制的にプレビュー版をインストールすることはできる。 追加される機能自体はそれほど難しいものではないが、動作条件などが複雑で、また既存のプログラムに影響を与える可能性があることから、評価やテストなどには十分な注意が必要と言える。実験的機能であることから、WSLや動作しているプログラムに大きな影響が出る可能性もある。日常的にWSLを使って
はじめに 株式会社Elithの大森一祥です。AIテックカンパニーの一員として、お客様の課題をAIを駆使して解決しています。 大規模言語モデル(LLM)が人間と匹敵する性能を発揮することもあり、弊社には多岐にわたるプロジェクトの依頼が寄せられています。最近は、情報漏洩のリスクを回避するため、独自のLLMの開発を希望されることが多いです。このような案件では、一般に公開されたモデル(ローカルLLM)を利用します。 ローカルLLMを活用して課題を解決する方法として、以下の4つが挙げられます。 プロンプトエンジニアリング:LLMに特定の出力を生成させるための入力文の工夫する手法 RAG:外部の文章データベースから、質問に類似した文章を取り出しLLMの入力として用いる手法 インストラクションチューニング:ユーザの指示に沿った出力を生成することを目的としたチューニング手法 継続事前学習:LLMモデルに対
概要 AWS Systems Manager Session Manager(以下Session Manager)を使用している環境でEC2 に接続する場合、色々と面倒なことがわかりました。 面倒事 Session Manager はマネジメントコンソールから利用する場合「マネジメントコンソールにログイン -> 接続先のEC2 インスタンスを探す -> Session Manager を使用して接続」という流れになります。 毎回この手順を踏むのは面倒ですし、SSH のように手元のマシンから接続できないのは不便なので、AWS CLI を使いたくなります。 ただし、AWS CLI + Session Manager の場合でも、接続先のEC2 インスタンスのインスタンスID を調べるためにマネジメントコンソールから確認する必要がありました。 これは非常に面倒なので、この手順をスキップして接続で
Golangで作ったプロダクトを公開・配布するとき、課題となるのが利用するモジュールのライセンスです。 MITライセンスであれ、MPLライセンスであれ、利用するモジュールのLICENSEやNOTICEファイルを同梱することになるでしょう。 goxzとgo-licensesを使うと、クロスビルドした実行バイナリと利用モジュールのLICENSE等を含め頒布物を作成できるようになります。 最終イメージ 同梱されていることの確認 go-licenses ハマりポイント goxz まとめ 最終イメージ 最終イメージですが、以下のようなMakefileを用意しました。 プロダクトに設定したライセンスで利用できないモジュールがあるかどうかをlicense-checkで確認した後、cross-build.shを呼び出します。 .PHONY: license-check license-check: go-
こんにちは! テリーです。Apple SiliconのM1チップを搭載した新しいMacは、当初の期待以上の速度が出ているようで、パソコンの新モデルとしては久しぶりに購買意欲をかきたててくれました。16インチのMacBookProが出ればすぐに購入しようと思います。さて、M1はCPUの速度と価格の方に注目されがちですが、GPUも劇的に進化しています。「機械学習といえばNVIDIA」の時代が何年も続いており、TensorflowのGPU版が使えないMacは機械学習トレーニング環境としてあまり使われていませんが、M1の圧倒的な処理能力が使えるならば、多少の文法修正は受け入れられます。ここから勢力図の逆転もありえそうです。 突然ですが、最近映画を見ました。人気小説を原作にした映画で、主演俳優は原作のイメージそのものでしたが、助演の方の顔が原作とまったくイメージが異なっていて台無しだと、娘が怒ってい
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。ヤフーの子会社であるゼットラボ株式会社の吉田(@ryysud)です。2018年12月よりゼットラボ株式会社でKubernetesをベースとしたインフラ基盤の研究開発を行っており、現在はCloud Nativeなアクセス制御システム(認証、認可)の研究開発を担当しています。 今回は2020年6月13日(土)に開催されたKubeFest Tokyo 2020でのセッション “kubectl のプラグイン機構を活用してオペレーションを効率化しよう”をベースに、Kubernetes制御用コマンドラインツールであるkubectlのプラグイン機構とおすすめプラグインをご紹介します。スライドとビデオは以下で公開されていますのでご興味
ChatGPTやGeminiを軽く触ってみたところ、普通に使えそうなので、Emacsから使えるようにしてみた。 https://github.com/xenodium/chatgpt-shell 古い文献を調べている人間の感想としては、このままAIが賢くなり続けるという前提は必要だが、国立国会図書館デジタルコレクションの全データを正しく読み込ませれば、私が考える必要はなくなると思う。今、無銭旅行と苦学には、強い繋がりがあって、これはかなり重く扱うべきだという結論を持っている。私以外の人はそんなこと言っていないのだが、私のような態度で、同じ資料を読んだら、誰もがこの結論に到達する。つまりAIでもできるということになる。ただし、これが少し難しいところがある。 目に見えて効果が出る分野、例えば「歯が生えてくる薬ができました」とか、「エンジンの効率が上がりすぎたのでモーター止めます」とかは、簡単に
ミラティブでiOS開発をしている福山(@fokotate)です。 今回はSwiftFormatをMirrativのiOSプロジェクト(約1500のSwiftファイル)へ導入したときのことを話します。 導入にあたって 私は当初、SwiftFormatについてよく知らなかったため導入にはあまり乗り気ではありませんでした。 しかし調べてみると、実行タイミングによってはチームにとってほぼストレスなくソースコードを綺麗に保てることがわかってきました。 コミット実行時にSwiftFormatがコードを変更してコミットを中断、その変更を取り入れて再度コミットするといった一手間だけです。 導入したい気持ちが高まってきたものの、いきなり新しいツールを持ち込むのはチームから反発も受けそうだったので、Slack上で様子をみたり、ドラフトPRを書いたり、勉強会を開いて徐々に受け入れられる状況を作りました (実際は
自分はGentoo Linuxで大体何でもやる様にしているので、PCゲームも大体はそのままGentooでやってます。 LinuxでSteamを遊ぶ時にはsteamtinkerlaunchというツールがとても便利なので、これを入れておきましょう。 Linuxでゲームをする人間にとっては結構有名なツールなんですが、日本語の記事がほぼ存在しません。(まあ、皆あんまLinuxでゲームやらないよね……。) この記事自体も需要がほぼ無さそうですが、せっかくノウハウを溜めたので書いておきます。 一応、この記事の内容はSteam Deckにも対応するので、Steam Deck買ったよって人は使えるかもしれません。 github.com Arch Linuxを使っていればAURで簡単に入ります。他のディストリの場合はyadというgui toolkitだけインストールすれば、他の依存ツールはほとんど問題無くパ
Postfix から Amazon SES 経由でメールを送る場合、通常であれば SMTP credentials を作成したうえで Postfix から Amazon SES の SMTP endpoint へリレーを設定します。 Amazon SES とPostfixの統合 - Amazon Simple Email Service Classic が、やんごとなき理由によりこの方法が使えなかったときのために Postfix から SES API の SendRawEmail でメールを送信してみました。 master.cf で ses トランスポートを定義する master.cf に次のように追記して sqs トランスポートを定義します。 sqs unix - n n - - pipe null_sender=MAILER-DAEMON@example.com user=nobody
Lancers Engineer Blog をご覧のみなさんこんにちは。開発部/技術基盤 SREの安達(@adachin0817)です。以下前回のブログから3ヶ月経ちましたが、ついにLancersのBatch、AppサーバーをEC2からECS/Fargateに移行完了しました。 そして長年自前で運用していたデプロイシステムを廃止して、CI/CDはCircleCIに完全統一しました。これにて、Lancersの全サービスをコンテナに移行完了となりました。 ※見ていない方はぜひ一読してもらえると幸いです。 ・LancersをAmazon Linux2へログ基盤のリニューアルと管理画面をECS/Fargateに移行しました 旧開発環境、EC2での運用課題 Ansibleコンテナによる開発環境の統一により工数がかかる 本番コンテナ化以前は、EC2で利用しているAnsibleの管理を開発環境にも適用す
Unit4の永山です。 dotfiles弄りを趣味にしています。 世にdotfilesを題材とした記事は数多く存在していますがその大半は「dotfilesを作ってみた」「こうやって管理しています」などの表層的な部分の紹介に留まり、その奥にあるべき細部のこだわりや個人の思想にまで踏み込んだ記事は数えるほどしかありません。 そこで、本記事では私のdotfilesを題材にその各構成要素についてオススメ, TIPS, こだわりに分類し、可能な限り詳細に紹介します。 github.com 本記事は筆者の関心の都合上、Zshに関する項目に大きく比重を置いています。ご承知おきください。 dotfilesとは dotfilesを作成することの利点 記事の構成 Zsh編 [オススメ] プラグインの管理にZinitを使う 注釈: Zinitについて [オススメ] Zshプラグインは非同期読み込みする [オスス
こんにちは。 メディアサービス開発部バックエンド開発グループのフサギコ(髙﨑)です。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるテックリードのような立ち位置で働いています。 CircleCIでもOpenID ConnectのIDプロバイダ機能がリリースされた 私が書いた一つ前の記事では、GitHub ActionsとAWS IAMをOpenID Connectを使って連携させ、TypeScriptで記述したアプリケーション(Next.js, Serverless Framework)のデプロイや、TerrafromのリポジトリにPRを出した際の自動planを永続的アクセスキー不要で行っているとお話ししました。 developers.bookwalker.jp 一方で、TypeScriptやTerraform以外のア
はじめに こんにちは!! プロダクト開発人材の副業転職プラットフォーム Offers を運営する株式会社 overflow 普通のバックエンドエンジニアの takkun7171 でございます。 最近は Apex もやってますが、筋トレにハマっています。可変式ダンベル買ったんですけど、これはいいモノですね。齢 40 のオッサンだけど、ちゃんと鍛えれば筋肉育つんだから!!w zxとは 簡単に言うと、JavaScript でシェルスクリプトがお手軽に書けます。 zx は Node の child_process のラッパーで、$で囲んで shell コマンドを簡単に実行できるので、 zxを使いこなせれば、シェルスクリプトとおさらばできます。 zx は 2021 年に最もトレンディだったプロジェクトだったらしいです。すごいですね。 紹介記事はネット上にちらほらあるのですが、便利さの割に周りで使って
SREチームの須恵です。 今回は、Kubernetesクラスターの運用にまつわるちょっとした工夫について書くことにしました。 要約 何が問題か 今までのやり方 解決策 ここまでで実現できたこと Dependabotで、もうひと工夫 余談 ごあんない 要約 以下のような問題があり、 URLから直接、手動でkubectl applyしたアプリケーションが存在することにより インストールと更新が手動のためクラスターの再現性を低下させる 更新を手動で行う必要がある 誰かが更新に気がつく必要がある それぞれ、以下のアプローチで解決を試みました。 手元からインストールと更新を行うためクラスターの再現性を低下させる シェルスクリプトとDockerfileをバージョン管理する 更新を手動で行う必要がある install-from-url.shを自動的に実行する 誰かが更新に気がつく必要がある Depend
自分が使いたいと思ったBigQuery上のリソース(tableやview)、内容を事前に完全に把握できている、ということは結構少ないのではないかと思います。そういったときに手助けをしてくれるのがメタデータです。BigQueryのリソースに対するメタデータを、Cloud Data Catalogのタグとして付与する方法を紹介します。Cloud Data Catalogを使うことで、分析者が必要なリソースに素早く辿り付いたり、正確な分析をするためのサポートができます。 BigQuery関連のAudit logを元に、以下の情報をData Catalogのタグに入れた。 - 最後にクエリを投げた{日, 人} - クエリを投げられた回数 「あまり使われていないので、信用できないデータかも」「最後にXXXさんがクエリ投げてるから、詳細詳しいかも」みたいな用途を想定してる pic.twitter.co
はじめに 今後の予定 活動実績 第8期 (2023-12-01) 第7期 (2023-06-07) 第6期 (2023-05-19) 第5期 (2023-01-11) 第4期 (2022-08-10) 第3期 (2022-03-29) 第2期 (2021-12-22) 第1期 (2021-09-08) この度、株式会社キューブ・ソフト (CubeSoft, Inc.) は GitHub Sponsors および Open Collective を利用して、企業として Open Source Software (OSS) やその他の有用な活動を行っている開発者のスポンサーになる取り組みを開始しました。現在、弊社がスポンサーになっている開発者の詳細は GitHub Sponsors 等の活動実績 を参照下さい。 はじめに GitHub Sponsors や Open Collective を通
追記 (2020/06/15) Container Insights は GA しています! tl;dr kobanzame 作ったもの 仕組み なんちゃってプラグインアーキテクチャ 使い方 設定ファイル 実行 Example 参考 それ, Container Insights で良いんじゃないのか おっしゃるとおり じゃあ, なぜ, 俺は kobanzame を作ったのか 以上 追記 (2020/06/15) Container Insights は GA しています! 2020/06/14 現在はベータ版として提供されていますが この記述は誤りで Container Insights は 2019 年 11 月には既に GA されておりますので, ここで訂正させて頂きます. aws.amazon.com 確認不足で誤った情報を記述してしまい大変申し訳ございませんでした. tl;dr 以
GitHub Actions と hadolint (Haskell Dockerfile Linter) を組み合わせて,今まで雑に実装してきた Dockerfile の静的解析を自動化する環境を作った.できる限り Dockerfile Best Practices を意識していることもあり,警告はあまり多く出なかったけど,やはり CI (Continuous Integration) で気付ける安心感はある! www.docker.com hadolint (Haskell Dockerfile Linter) hadolint を使うと Dockerfile に警告を出してくれる.また Dockerfile の RUN は,シェルスクリプトの Linter として有名な ShellCheck を使って警告を出してくれる.例えば FROM centos:latest のように FROM
SREチームの橋本です。SRE連載の3月号となります。 Amazon ECSのコスト最適化においてはFargate Spotが有効な手段となりますが、いつ中断されるか分からない性質上、その監視も併せて実施していく必要があります。今回はそのFargate Spotを本番環境で運用しているプロジェクトにおける取り組みを紹介します。 背景 Fargate (Amazon ECS on AWS Fargate) を用いると負荷に合わせた容易なスケーリングが可能になる一方、このときCPU使用率の安全マージンや予測のブレなどにより、リソースがやや過剰になってしまうこともあります。 Fargate Spotの代表的なユースケースと言えばユーザーに露出しない開発環境ではないかと思いますが、このような場合にコストを考えると、タスクの中断をある程度許容しての本番環境でのFargate Spot運用も可能な選択
Posted on March 08, 2022 Hello World might be the most frequently written computer program. For decades, it's been the first program many people write, when getting started in a new programming language. Surely, this humble starting-point program should be bug free, right? After all, hello world programs only do one thing. How could there be a bug? Hello world in C There are a lot of different way
ということで必要に応じてPerlの環境構築をする必要が出てきた場合におすすめの方法です。 また、macOSにデフォルトでついているperlはおもしろパッチがあたっている影響で、一部perlモジュールが上手く動かないことや、インストールに失敗する傾向にあります。 そのため、macOSでperlを使った何かをしようとしていて、よくわからないエラーにぶち当たった場合はとりあえずperlの環境構築をすると治るケースが多々あります。 このエントリではPerlに関係する次のものの構築を解説します。なおPerl6はすでにRakuという名前に改名されており、別言語扱いとなっています。 Perl本体 Perlのモジュールインストール 基本的にmacOSを想定していますが、UNIX環境では大体同じだと思われます。 Perl本体の構築 それではまずPerl本体の構築を行いましょう。現段階ではmacOSには標準で
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く