並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 1519件

新着順 人気順

シェルスクリプトの検索結果1 - 40 件 / 1519件

  • なぜsortコマンドはuniq機能を含んでいるのか?(Unix哲学はどこ行った!?) - Qiita

    Unix 哲学的に考えれば、行を並び替える sort コマンドと重複行を取り除く uniq コマンドは別のコマンドであるべきなように思えます。しかし sort コマンドには -u オプションとして uniq コマンドに相当する機能が組み込まれています。なぜそうなっている(そうなってしまった)のかを「ソフトウェア作法(さくほう)」を参照しながらこの記事で明らかにしたいと思います。 「誰」がuniq機能をsortコマンドに組み込んだ!? 熱烈的な Unix 哲学の信者は「どうせ Unix 哲学を理解しない GNU が便利だと思ってオプションを追加したのだろう」と考えるかもしれません。しかし uniq 機能が組み込まれたのは Version 7 Unix、つまり Unix の開発者が組み込んだのです。これは 1979 年の Version 7 Unix のドキュメントから明らかです。 sort:

      なぜsortコマンドはuniq機能を含んでいるのか?(Unix哲学はどこ行った!?) - Qiita
    • GKE CronJobとcloud-sdk-goでElasticCloudのスケーリングを自動化しコスト削減した - 10X Product Blog

      はじめに 前提 背景と課題 対応方針 StailerのElasticsearchに関する特性 要件 スケールイン・アウトではなくスケールアップ・ダウン リソース負荷トリガーではなくスケジュールトリガー 設計 cloud-sdk-goでの処理 モニタリング おわりに はじめに こんにちは、検索エンジニアの安達(id:kotaroooo0)です。 10Xで検索基盤・検索機能の開発運用をしています。 最近は推薦システムの開発もちょっとやり始めました。 負荷に合わせてElasticsearch(ElasticCloud)をスケーリングする機能を作りコスト削減したので、その取り組みについて経緯と内容を紹介します。 前提 背景と課題 10Xでは小売チェーン向けECプラットフォームStailerにおいて、検索機能の開発運用にElasticsearchを利用してしています。 Elasticsearchクラ

        GKE CronJobとcloud-sdk-goでElasticCloudのスケーリングを自動化しコスト削減した - 10X Product Blog
      • 自動化するならちゃんとエラーを出せ。想定しろ。不安になれ。 - じゃあ、おうちで学べる

        はじめに 自動化やツール開発において、通常時に上手くいくのは当たり前です。大切なのは失敗を想定することです。自動化したツールがエラーも出さずに実行結果的にも成功してるので動いていると思っていたら、実は問題が発生していて泣いた経験は、多くの人にあるのではないでしょうか。エラーを出力し、適切に失敗させて、ログに記録することで、問題の早期発見と迅速な対応が可能になります。また、エラーが発生する可能性のある箇所を事前に想定し、適切に処理することで、ツールの信頼性と安定性が向上します。 しかし、エラーハンドリングができていても、それだけでは不十分です。優れた自動化ツールは、環境の変化に柔軟に対応できるようにコードが設計されているべきです。 また、自動化ツールの完成度を高めるには、エラーハンドリングだけでなく、保守性、拡張性、ユーザビリティなども考慮する必要があります。 自動化ツールを開発する際は、常

          自動化するならちゃんとエラーを出せ。想定しろ。不安になれ。 - じゃあ、おうちで学べる
        • Making of “Kindolphin” | 麦 Baku

          group_inou / HAPPENING group_inouとAC部のミュージックビデオ作品『HAPPENING』をWebアプリ化しました。デザインと実装は僕一人です。元のビデオがGIFアニメ縦長漫画が歌詞に合わせて自動スクロールする仕様だったので、GIFの質感をロスレスかつ自分のペースで楽しめるように、某電子書籍アプリのような体裁でインタラクションできるようにした次第です。 We have just released a Webtoon app that highlights the lyrics of group_inou's music video "HAPPENING". You can switch between Japanese/English, change colors, stop and have a close look, or just scratch and

            Making of “Kindolphin” | 麦 Baku
          • Webシステムにおける HTTPサーバ機能をどう用意するか?という問題に対して先人達の葛藤の歴史 | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]

            こんにちは羽山です。 現代の Webシステム界隈は昔よりもはるかに洗練され、初心者からでも簡単に開発方法を学び作れる時代になっています。その反面で例えば Python なら WSGI や gunicorn、Waitress、uWSGI などが何のために存在しているのかが分かりにくいと思ったことはありませんか?Ruby の Rack、unicorn、puma だったり FastCGI など、いずれも Webシステムの構成要素として重要な一方で役割を理解しにくいのは事実です。 そこで今回は Webシステムが現代の形にたどり着くまでの先人達の葛藤の歴史を解説します。歴史を知ればこれらの仕様やプロダクトが何の役になっているかが分かるはずです。 前提 動的な Webサイト(=Webシステム)を作りたいニーズはインターネット黎明期からありますが、ブラウザからのアクセスを適切に処理するには HTTPサー

              Webシステムにおける HTTPサーバ機能をどう用意するか?という問題に対して先人達の葛藤の歴史 | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]
            • リトライ処理を追加するとバッチが安定することがあることもそこそこあるので「avast/retry-go」を使ってみる - じゃあ、おうちで学べる

              はじめに インフラエンジニアは日々の業務でプログラムを書く機会が多く、その中で処理の実行やHTTPの通信などでリトライ処理を実装する必要があることが少なくありません。リトライ処理を実装する必要は必ずしもなくても、実装することでバッチが安定することがあります。もっと言っておくとリトライ処理を実装することで、一時的なエラーによる処理の失敗を回避し、バッチ処理の安定性が向上する可能性があります。実行基盤によってジョブの再試行の自動化、最大再試行回数を設定するやPod失敗のバックオフポリシーなどとの兼ね合いを考える必要もあると思います。あとはマジでガー不のバグを引き寄せることもあるので注意が必要です。 はじめに シンプルな例 最大リトライ回数の指定 次のリトライまでの待ち時間の設定 特定の例外のみリトライするケース さいごに 今回はGolangには「retry-go」というリトライ処理を簡潔に実装

                リトライ処理を追加するとバッチが安定することがあることもそこそこあるので「avast/retry-go」を使ってみる - じゃあ、おうちで学べる
              • Amazon EMR のバージョンアップ 3/3:Presto から Trino への移行 - Repro Tech Blog

                前回の続きです。 EMR 5.36.1 から EMR 6.15.0 への更新 使用するアプリケーションのバージョンは以下のようになりました。OS は Amazon Linux 2 です。 アプリケーション等 EMR 5.36.1 EMR 6.15.0 Tez 0.9.2 0.10.2 Hue 4.10.0 4.11.0 Hive 2.3.9 3.1.3 Hadoop 2.10.1 3.3.6 Presto 0.267 0.2831 Trino N/A 426 Hive, Hadoop, Tez については前の記事で確認済みなので、ここからはそれ以外の要素について検討していきます。 一番問題になったのは Presto から Trino への移行です。Trino 移行に関係して発生した事柄を列挙します。 Datadog Agent の設定変更 任意の期間の指定したタイプのクエリを実行して結果の

                  Amazon EMR のバージョンアップ 3/3:Presto から Trino への移行 - Repro Tech Blog
                • 【Kubernetes】未経験から1か月経ったので振り返る - APC 技術ブログ

                  こんにちは、クラウド事業部の中根です。 未経験からKubernetesに入門して約1か月が経ったので、振り返りたいと思います! 実務に入る前の予習なので、実務を通した実践的な学習はしていない点はご了承ください。 学習の動機 入門前のレベル感 学習プロセス 入門0~7時間 入門7~32時間 入門32~60時間目 入門60~71時間目 入門71~132時間目 +α できるようになったこと 次のステップ これから入門する方へ おわりに お知らせ 学習の動機 私は中途入社で、案件は決まったのですが、参画まで1か月半ほど待機期間となりました。 クラウドネイティブな案件ということで、この期間を活かしてKubernetesのキャッチアップをすることになりました。 入門前のレベル感 IT業界経験が3年と1か月です。 以下、関係する領域の詳細です。 Kubernetes ほぼ未経験。 OpenShiftをち

                    【Kubernetes】未経験から1か月経ったので振り返る - APC 技術ブログ
                  • ショートカットと端末 - SmartHR Tech Blog

                    SmartHR でプロダクトエンジニアをしている tmtms です。読み方がわからない(自分でもわからない)ので社内では tommy と名乗ってます。 2月に開催された社内LT大会第3回で「ショートカットと端末」というネタで発表したのですが、とても5分に収まる量ではなかったのでここにしたためておきます。 キーバインド macOSのテキスト編集のショートカットとEmacsとbashのキーバインドを比較するとこんな感じです。 control macOS Emacs bash A 行頭に移動 行頭に移動 行頭に移動 B 左に移動 左に移動 左に移動 C - prefix 中断 D 右文字削除 右文字削除 右文字削除/入力終了 E 行末に移動 行末に移動 行末に移動 F 右に移動 右に移動 右に移動 G - 中断 中断 H 左文字削除 ヘルプ 左文字削除 I - タブ タブ J - 改行 改行 K

                      ショートカットと端末 - SmartHR Tech Blog
                    • カメラ映像録画サーバのデプロイを改善した話 - Safie Engineers' Blog!

                      こんにちは。サーバサイドエンジニアの村田 (@naofumimurata) です。 本記事では、セーフィーのシステムでカメラ映像の録画機能を担うアプリケーションのデプロイを改善した話を共有したいと思います。 セーフィーの録画・配信システム カメラサーバのデプロイの課題 デプロイの流れ 実行環境 問題 時間がかかる 作業負荷が高い メンテナンス性が悪い 結果どういう状態になったか 改善に向けた取り組み GitHub Actions + AWS CodeDeployの構成に 監視の強化 成果 デプロイ時間の短縮 作業負荷の軽減 デプロイ頻度の向上 まとめ セーフィーの録画・配信システム セーフィーはクラウド防犯カメラ・録画サービスを提供しています。 バックエンドのシステムとしては、まずカメラから映像を常時受け取りストレージに保存するアプリケーション(本記事では以降「カメラサーバ」と呼びます)が

                        カメラ映像録画サーバのデプロイを改善した話 - Safie Engineers' Blog!
                      • レベルアップしたい人必見 Qiita記事43選 - Qiita

                        はじめに 本記事ではレベルアップしたいエンジニアが読んでおくべきQiita記事を紹介します。厳選に厳選を重ねた43記事です。全ての記事を読んでおく必要はありませんが、ちょっとでも「分からないな」「興味あるな」など思ったタイトルがあれば読んでみてください。 次の4種類に分類して紹介しています。参考にしてください。 フロントエンド バックエンド インフラ・Linux周りの知識 その他 それでは、早速紹介していきます! 弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 フロントエンド まず最初はフロントエンドエンジニアに読んでおくべきとおすすめできるQiita記事を11個選びました!フロントエンドエンジニアとしての基礎が身に付く

                          レベルアップしたい人必見 Qiita記事43選 - Qiita
                        • 大規模サービスのインフラを全面的にリプレイスした話 - Qiita

                          はじめに こんにちは。雑食系エンジニアの勝又です。 今回は、私が2年ほど参画させていただいた大規模サービスのインフラやDevOps周りを全面的にリプレイスしたお話について簡単にご紹介させていただきます。(内容に関しては事前に参画先企業様に確認していただいております) サービス概要 詳細な内容は伏せますが、メインとなるテーブルのレコード数が数十億件、スパイク時には数万〜数十万のユーザーが一斉にアクセスする大規模サービスです。 技術的負債 長く運用されてきたサービスのあるあるですが、新機能の追加が最優先されてきたことにより、こちらのサービスにも下記のような技術的負債が大量に積み上がっていました。 RubyやRailsやMySQLのバージョンがかなり古い インフラの構成がコードではなくドキュメントで管理されている アプリケーションの構成管理がおこなわれていない CI/CDパイプラインが構築されて

                            大規模サービスのインフラを全面的にリプレイスした話 - Qiita
                          • 「出張! #DevelopersIO IT技術ブログの中の人が語る勉強会」でLambdaとEventBridge Pipesを例にSQSコンシューマーの疎結合進化について語りました | DevelopersIO

                            「出張! #DevelopersIO IT技術ブログの中の人が語る勉強会」でLambdaとEventBridge Pipesを例にSQSコンシューマーの疎結合進化について語りました クラスメソッド設立20周年イベント"Classmethod Odyssey"のサテライトイベントでメッセージキューについて語りました。"Odyssey"と言われて、何を思い出しますか? 弊社技術ブログ「DevelopersIO」の書いた本人が過去記事を深掘って話すという勉強会の第3回が2024/04/18に開催されました。 今回は、2006から本稼働しているメッセージキューサービスのAmazon SQSのコンシューマー処理が2014年のAWS Lambda、2022年のAmazon EventBridge Pipesの登場とともに、疎結合に進化していったことについて、re:Invent 2022の EventB

                              「出張! #DevelopersIO IT技術ブログの中の人が語る勉強会」でLambdaとEventBridge Pipesを例にSQSコンシューマーの疎結合進化について語りました | DevelopersIO
                            • Linux環境で使用されている圧縮ツール「XZ Utils」のバックドアはどのように埋め込まれるのかをセキュリティ企業のカスペルスキーが解説

                              2024年3月29日に発覚した「XZ Utils」というライブラリへ仕掛けられていたバックドアについて、ロシアのセキュリティ企業であるカスペルスキーが分析記事を投稿しました。 Kaspersky analysis of the backdoor in XZ | Securelist https://securelist.com/xz-backdoor-story-part-1/112354/ XZは多くのLinuxディストリビューションで使用されている圧縮ツールで、今回は特にOpenSSHのサーバープロセスである「sshd」をターゲットに攻撃が行われました。「Ubuntu」「Debian」「RedHat/Fedora」などのディストリビューションではsshdの起動時に「systemd」経由でXZが呼び出され、sshdにリモートでコードが実行できるバックドアが仕掛けられます。 今回のバックド

                                Linux環境で使用されている圧縮ツール「XZ Utils」のバックドアはどのように埋め込まれるのかをセキュリティ企業のカスペルスキーが解説
                              • Dockerコンテナ化したJavaアプリのヒープのサイズ調整オプションの検証 - Qiita

                                はじめに こんにちは。私は弊社で企画・運営している、Dot to Dotという個人の同意の元に様々なデータを連携することができる分散型データ連携プラットフォームの開発・保守を担当しています。 Dot to Dotではデータ連携をしたい事業者向けに、データ連携用の通信モジュールを、Spring Bootを使用したJavaアプリケーションとして作成したDockerイメージ形式で配布しています。 昨今ではDockerでアプリケーションを実行するのが当たり前の風潮になりつつありますが、実際に本番で適用する際に必要なチューニングの話はあまり聞かないかと思います。 そこで本記事では、JavaアプリケーションをDockerコンテナで運用する場合に必要な、ヒープのチューニングについて説明します。これからJavaアプリケーションをDockerコンテナ化して運用したい人や、すでに運用中でもヒープチューニングし

                                  Dockerコンテナ化したJavaアプリのヒープのサイズ調整オプションの検証 - Qiita
                                • Docker 環境を作るなら Ubuntu のクロスプラットフォームな仮想化ツール Multipass を使おう

                                  はじめに Web アプリケーションを開発する際、バックエンドの API サーバーやデータベースなどの複数のマシン環境を1台の PC で動かすことの可能なコンテナツールとして、Docker は広く利用されています。 この便利な Dockerですが、複数人で Web アプリケーションを開発しているチームで各メンバの開発用 PC の OS が異なる状態(例えば、A さんが Windows、B さんが macOS など)で、Docker をローカル環境に直接インストールしていた場合、下記のような不都合が発生します。 Docker のバージョンがメンバ間で統一されていない 😱 コンテナ外で使用必須のツールのインストール方法・バージョンがメンバ間で異なる 😱 コンテナ外で使用必須のシェルスクリプトは OS 毎で(または OS の差異を考慮して)作成する必要がある 😱 以上の問題は、Docker

                                    Docker 環境を作るなら Ubuntu のクロスプラットフォームな仮想化ツール Multipass を使おう
                                  • JavaScriptでシェルスクリプトを書ける「ZX 8.0.0」

                                    ZX開発チームは現地時間2024年4月6日、ZX 8.0.0をリリースした。ZXはJavaScriptベースのシェルスクリプト。bashよりも効率的なシェルコマンドやシェルスクリプトを実行できる。本バージョンは安全性と安定性を向上させているが、標準出力設定を扱う「$.verbose」「$.quite」の動作変更やSSH APIの廃止、PowerShell使用時の指定変更など、大きな変更が加わった。なお、現地時間4月8日にオプション追加など改良を加えたバージョン8.0.1もリリースしている。 ZXの公式サイト ZXは当初Googleの開発メンバーが多く関与していたが、現在はAnton Medvedev氏が中心となって、開発が進められている。Node.js環境を構築するよりも容易にJavaScriptを実行できるため、bashのシェルスクリプトに不慣れな方は、日常的に開発で用いるJavaScr

                                      JavaScriptでシェルスクリプトを書ける「ZX 8.0.0」
                                    • CI/CD Test Night #7 で登壇しました

                                      先日 DeNA 主催の CI/CD Test Night #7 というイベントで登壇しました。 自分は普段あまり登壇とかはせずに主に OSS の開発やブログの執筆という形でアウトプットをすることが多いのですが、自分がメンテしている OSS などでいつもお世話になっている @ponkio_o さんからお声がけいただき、登壇することとなりました。 貴重な機会をいただきありがとうございました。 本記事では自分の発表について紹介したいと思います。 自分は主に CI/CD のセキュリティ的なプラクティスや関連するツールの紹介をしました。 一つのことを掘り下げるというより、色々なトピックについて話をしました。 自分の発表の多くは自分が過去に書いたブログ記事に基づいています。 ブログ記事ではより詳しく解説していたりするので、是非そちらも参照してください。 Pull Request の CI の結果を P

                                        CI/CD Test Night #7 で登壇しました
                                      • 未経験から年収600万円を超えるITエンジニアになった経歴

                                        この記事の目的 ITエンジニアに転職したが上手く行かないという人たちの話を見聞きする中、何か助けてあげられないだろうかと思っていました。ITエンジニアの経歴は様々で、詳しく語られないことも多いように感じます。そこで私の経験が参考になればと考えて書きました。 冒頭のグラフは私の実際の年収の推移です。本文中に年収を記載していますので、一つの事例として読んでもらえたらと思います。 特に以下のような人たちの参考になればと思っています。 他職種からITエンジニアに転職した人 東京が通勤圏外の地方在住者 ITエンジニアの中でもインフラエンジニアやSRE(Site Reliability Engineering)の人 記事の内容は私の過去の経験であり、技術トレンドや転職市場の肌感は参考にならないかもしれません。ですが職種やポジションに対して求められるスキルの程度はあまり変わっていないように思います。 ま

                                          未経験から年収600万円を超えるITエンジニアになった経歴
                                        • Linux環境で使用されている圧縮ツール「XZ Utils」に仕掛けられたバックドアのスクリプトをGoogleのエンジニアが解説

                                          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

                                            Linux環境で使用されている圧縮ツール「XZ Utils」に仕掛けられたバックドアのスクリプトをGoogleのエンジニアが解説
                                          • 入門 継続的デリバリー

                                            継続的デリバリーとは、コード変更を必要に応じて迅速かつ安全に、継続的にリリースできるようにするための開発手法です。本書は、初めて継続的デリバリーに取り組む読者向けに、必要な知識とベストプラクティスをていねいに紹介する入門書です。基本的な概念や技術、アプローチの解説はもとより、章ごとに事例を使用しながら、継続的デリバリーを実践する際に直面するさまざまなシナリオを取り上げ、その全体像・世界観を包括的に理解することができます。 序文 はじめに 第1部 継続的デリバリーとは 1章 『入門 継続的デリバリー』へようこそ 1.1 継続的デリバリーは必要? 1.2 なぜ継続的デリバリー? 1.3 継続的デリバリーとは 1.4 インテグレーション 1.5 継続的インテグレーション 1.6 何をデリバリーするのか? 1.7 デリバリー 1.8 継続的デリバリーと継続的デプロイメント 1.9 継続的デリバリー

                                              入門 継続的デリバリー
                                            • 第807回 Vaultwardenでパスワードをセキュアに管理しよう | gihyo.jp

                                              パスワードの安全な管理は頭の痛い問題ですよね。そもそも今時であれば、パスワードレス認証に移行すべきではあるのでしょう。ですが世の中のサービスすべてが、すぐにパスワードレス認証に対応してくれるわけでもありません。まだまだしばらく人類とパスワードの戦いは続きそうです。 パスワードを少しでも安全に使うためには、「⁠十分に複雑で長い文字列を使う」「⁠使い回しを避ける」といった対策が必須です。しかし十分な強度のパスワードを、サービスの数だけ暗記するのは、人間の頭脳では困難です。 図1 パスワードの暗記を諦めた人類は、こうしたアイテムに手を出しがちである そこで登場するのが「パスワードマネージャー」です。筆者は以前より、第508回でも紹介したpassword-storeを愛用していました。これはGPGで暗号化したテキストファイルをGitで管理するための、シェルスクリプトで実装されたパスワードマネージャ

                                                第807回 Vaultwardenでパスワードをセキュアに管理しよう | gihyo.jp
                                              • JavaScriptランタイム「Bun 1.1」正式リリース。Windows版登場、Node.jsとの互換性向上、前バージョンより高速化など

                                                JavaScriptランタイム「Bun 1.1」正式リリース。Windows版登場、Node.jsとの互換性向上、前バージョンより高速化など BunはJavaScriptとTypeScriptのランタイム機能を備えるだけでなく、トランスパイラ、バンドラ、タスクランナー、npm互換のパッケージマネージャなど、JavaScript/TypeScriptのツールチェーンを統合したソフトウェアです。 Bun 1.1ではこれまで提供されていたLinux版、macOS版に加えて、Windows版が追加されたのが最大の特徴です。 Bun 1.1でWindows版が登場 Bun 1.1はPowerShellから下記のコマンドで簡単にインストール可能です。画像左は、Bunの作者であるJarred Sumner氏。 Bunは以前から高速な動作も特徴の1つとして説明しています。下記はWindows上で「bun

                                                  JavaScriptランタイム「Bun 1.1」正式リリース。Windows版登場、Node.jsとの互換性向上、前バージョンより高速化など
                                                • wizSafe Security Signal 2024年2月 観測レポート

                                                  本レポートでは、2024年2月中に発生した観測情報と事案についてまとめています。 目次 DDoS攻撃の観測情報 IIJマネージドセキュリティサービスの観測情報 Web/メールのマルウェア脅威の観測情報 セキュリティインシデントカレンダー DDoS攻撃の観測情報 本項では、IIJマネージドセキュリティサービスやバックボーンなどでIIJが対処したDDoS攻撃のうち、IIJ DDoSプロテクションサービスで検出した当月中の攻撃を取りまとめました。 攻撃の検出件数 以下に今回の対象期間で検出した、DDoS攻撃の検出件数を示します。 図-1 DDoS攻撃の検出件数(2024年2月) 今回の対象期間で検出したDDoS攻撃の総攻撃検出件数は284件であり、1日あたりの平均件数は9.79件でした。期間中に観測された最も規模の大きな攻撃では、最大で約690万ppsのパケットによって71.11Gbpsの通信が

                                                    wizSafe Security Signal 2024年2月 観測レポート
                                                  • Fargate Spotを本番運用するための監視の実践 - KAYAC engineers' blog

                                                    SREチームの橋本です。SRE連載の3月号となります。 Amazon ECSのコスト最適化においてはFargate Spotが有効な手段となりますが、いつ中断されるか分からない性質上、その監視も併せて実施していく必要があります。今回はそのFargate Spotを本番環境で運用しているプロジェクトにおける取り組みを紹介します。 背景 Fargate (Amazon ECS on AWS Fargate) を用いると負荷に合わせた容易なスケーリングが可能になる一方、このときCPU使用率の安全マージンや予測のブレなどにより、リソースがやや過剰になってしまうこともあります。 Fargate Spotの代表的なユースケースと言えばユーザーに露出しない開発環境ではないかと思いますが、このような場合にコストを考えると、タスクの中断をある程度許容しての本番環境でのFargate Spot運用も可能な選択

                                                      Fargate Spotを本番運用するための監視の実践 - KAYAC engineers' blog
                                                    • Terraformの実装コードを、動かしながら読む | フューチャー技術ブログ

                                                      Terraform連載2024 の10本目記事です。 はじめにこんにちは。CSIG(Cyber Security Innovation Group)の棚井です。 Terraform 連載ということで そういえば、実装コードは Go で書かれていたなコマンドの使い方はインフラエンジニアの皆様が書いてくれるはずなので、コードリーディングしようかなとの考えに至り、ソースコードリーディング自体をブログ化しました。 参考になる点が1つでもあれば幸いです。 エディタの準備今回のコードリーディングでは VSCode を利用します。 Go のコードジャンプやテスト実行のため、以下の拡張機能を追加します。 GoGo OutlinerGo Test Explorerまた、コードリーディングのお供として「GitHub Copilot」も追加します。 GitHub アカウントで Copilot を有効化する方法や

                                                        Terraformの実装コードを、動かしながら読む | フューチャー技術ブログ
                                                      • ターミナルやシェルについてのモヤモヤを解消した!【学びログ】 - Qiita

                                                        いい加減、ターミナルとシェルをちゃんと理解しておきたい PC新調する予定なので、それを機に、改めてターミナルやシェルの設定をきちんとしたいと考えていました。しかし、よく考えてみると、私はこれまでターミナルやシェルを十分に理解せずに使ってきました。理解していないものを適切に設定することは難しいですよね。 そこで、ターミナルとシェルについて抱いていた疑問やモヤモヤを解消することにしました。気の向くままに調べたことをログ感覚で残したので、体系的な説明をした記事ではありませんが、同じようにターミナルやシェルをなんとなく理解して使っていた人にとっても、参考になればと思います。 まずはターミナルとシェルの違いについて、ちゃんと調べて自分なりのイメージを固めました ターミナルとシェルは違うものという認識はあったのですが、曖昧な認識だったので、下記の記事を参考にターミナルとシェルの違いを明確にしました。

                                                          ターミナルやシェルについてのモヤモヤを解消した!【学びログ】 - Qiita
                                                        • Vivliostyleに特化したMarkdown - VFMの使い方 | gihyo.jp

                                                          本記事ではVivliostyle用のMarkdownとして開発されている、VFM(Vivliostyle Flavored Markdown)について解説します。 MarkdownとGFM⁠、VFMの関係 構造化された文書を記述するためのマークアップ言語としてHTML/XMLがあります。これらは優れた表現力を持つ反面、記法として手動で書くには煩雑です。この課題を解決するための簡潔なマークアップ言語として、Markdownが登場しました。 以下はHTMLとMarkdownで同じ文書を記述した比較例です。 HTML <h1>Title</h1> <p>The quick brown fox jumps over the lazy dog.</p> Markdown # Title The quick brown fox jumps over the lazy dog. MarkdownはHTM

                                                            Vivliostyleに特化したMarkdown - VFMの使い方 | gihyo.jp
                                                          • LLM開発のための環境構築

                                                            はじめに 株式会社Elithの大森一祥です。AIテックカンパニーの一員として、お客様の課題をAIを駆使して解決しています。 大規模言語モデル(LLM)が人間と匹敵する性能を発揮することもあり、弊社には多岐にわたるプロジェクトの依頼が寄せられています。最近は、情報漏洩のリスクを回避するため、独自のLLMの開発を希望されることが多いです。このような案件では、一般に公開されたモデル(ローカルLLM)を利用します。 ローカルLLMを活用して課題を解決する方法として、以下の4つが挙げられます。 プロンプトエンジニアリング:LLMに特定の出力を生成させるための入力文の工夫する手法 RAG:外部の文章データベースから、質問に類似した文章を取り出しLLMの入力として用いる手法 インストラクションチューニング:ユーザの指示に沿った出力を生成することを目的としたチューニング手法 継続事前学習:LLMモデルに対

                                                              LLM開発のための環境構築
                                                            • terraform planの自動化に向けて直面した課題と解決策 - Sansan Tech Blog

                                                              はじめに こんにちは! 技術本部 Bill One Engineering Unit(以下、Bill One EU)の笹島です。 IaC推進チーム(横串チームの1つ)として、CI環境でのTerraform Planの自動化に取り組んできました。 横串チームとは、Bill One EU内の各グループの垣根のない横断チームであり、Bill Oneで抱えている課題を解決するために有志で集まったメンバーによって構成されています。 IaC推進チームとは、文字通りインフラのコード化を推進するチームです。 本記事では、CI環境でセキュアなTerraform Plan自動実行を実現するにあたって直面した課題とその解決策について共有します。 特に、モノレポ環境での複数プロダクト・環境の管理における自動化の課題についても紹介します。 目次 はじめに 目次 前提 ディレクトリ構成とその役割 Workload I

                                                                terraform planの自動化に向けて直面した課題と解決策 - Sansan Tech Blog
                                                              • たった1行のPRでチームの"速さ"を可視化できる計測基盤を作った話 - Classi開発者ブログ

                                                                こんにちは、データプラットフォームチームの鳥山(@to_lz1)です。エンジニアの皆さん、自分のチームのパフォーマンス、計測していますか? DevOps Research and Assessment(DORA)の2019年のレポート により、開発チームのパフォーマンスを示す指標として提唱された「Four Keys」。この中に「デプロイ頻度」「変更のリードタイム」という指標があります。 『LeanとDevOpsの科学』など有名な書籍で取り上げられたこともありFour Keysそのものが広く知られるようになりましたが*1、この度Classiでもこれらの指標を可視化するダッシュボードを構築し、社内提供を始めました。 計測の事例がインターネット上に多くある中でも、 横展開を極力容易にするための設計 リリースをしてみてから「実際に役に立てる」までの工夫とフォローアップ といった辺りに独自性があるか

                                                                  たった1行のPRでチームの"速さ"を可視化できる計測基盤を作った話 - Classi開発者ブログ
                                                                • 今あらためてコンテナ界隈を俯瞰する「Docker/Kubernetes コンテナ開発入門」 | DevelopersIO

                                                                  単著ならではの一貫性と、筆者のノウハウをありったけ突っ込んでやろう!というあっつい想いを感じる素晴らしい書籍です。 「2018年から2024年、コンテナ界隈もいろいろ変わったもんだなぁ…(しみじみ)」 献本いただいた「Docker/Kubernetes 実践コンテナ開発入門 改訂新版」を眺めながら、ハマコーはそんな感慨にふけっておりました。 5年前、Docker始める人はまずこれ!書評「Docker/Kubernetes 実践コンテナ開発入門」で旧版の書評を書いたご縁で、著者の山田さんより改訂新版の献本をいただき、今この場にその本があるというわけです。 改めて中身読んでいたのですが、単著でこれはマジでやばいです。今コンテナを使った開発を進めようとしたときにでてくるであろう、開発〜運用面でのトピックが幅広く凝縮されている本で、「これ一冊読んどけば、マジはずれないよ」というぐらいの力が入った書

                                                                    今あらためてコンテナ界隈を俯瞰する「Docker/Kubernetes コンテナ開発入門」 | DevelopersIO
                                                                  • 個人開発にTerraformは必要か否か? - 我思うIaCのはなし - Lean Baseball

                                                                    仕事はともかくとして, 個人として趣味エンジニアリングと野球データ分析の人です. このブログは先日(2024/3/8)に開催された「第22回 酒とゲームとインフラとGCP」の発表および質疑応答から生まれたエントリーとなります. speakerdeck.com 現地も大変盛り上がりましたし, スライドも殊の外に反響を頂いて*1驚いています. この場を借りてお礼申し上げます🙏 発表後, 現地ではいくつかの質疑応答や会話, ディスカッションがありましてその中で最も印象に残った件がこちら. 何故Terraformを書いたのですか?シェルスクリプトでも良いのではないでしょうか? そうですよね, 単に個人開発(趣味)で作っているものでTerraformとGitHub ActionsでのCI/CD(この件は後日別に発表&ブログ書きます)まで頑張らなくても, shellでサクッとgcloudコマンド叩い

                                                                      個人開発にTerraformは必要か否か? - 我思うIaCのはなし - Lean Baseball
                                                                    • digが入っていない環境で名前解決のテストをするのにperlが便利 - ぱいぱいにっき

                                                                      これで名前解決できる $ perl -E 'say join(".", unpack("W4", gethostbyname("example.com")))' 用途 EC2インスタンスやらコンテナから外にほんまに出られるんかな?みたいに調べたいことがある VPC内でprivate subnetだとNAT Gatewayとかがないと外に通信できない サービスメッシュとかで名前引けるかどうかを確認したい時がある 特定の環境でしか引けない名前とかある 今回の用途はGuardDuty ECS Runtime Monitoringを導入した際にちゃんと不審な動きが検知されるかどうかで使いたかった モネロのマイニングプールを引くと検知されるらしい GuardDutyのEC2タイプFindingsを簡単に検知させる方法 – CryptoCurrency編 | DevelopersIO digやらnsl

                                                                        digが入っていない環境で名前解決のテストをするのにperlが便利 - ぱいぱいにっき
                                                                      • 子どもとインターネット (一般の家庭内 LAN で手軽に子どもの通信を管理する) | IIJ Engineers Blog

                                                                        IIJ ネットワーク本部アプリケーションサービス部・(兼)社長室所属。 メールサービスの運用業務に従事し、日々世界の悪と戦う一児の父親。社内 Power Automate エバンジェリスト(自称)。M3AAWG member / openSUSE Users / WIDE Project メンバー。趣味は大喜利。はがき職人。 皆さんは、子どものインターネットの利用ルールってどのように決めているでしょうか。 文部科学省が提唱した GIGA スクール構想が実現され、今や小学校に入学すると 1人 1台、学校からノートパソコンやタブレットが配布される時代です。来年度 4月に小学校へ入学するお子さんをお持ちの親御さん、共通の悩みなのではないでしょうか。 登場人物 私 世界の悪と戦う一児の父親。 家庭内情報システム部 DX 担当部長、(兼)24時間パソコンなんでもお助けサポートセンター・カスタマーサク

                                                                          子どもとインターネット (一般の家庭内 LAN で手軽に子どもの通信を管理する) | IIJ Engineers Blog
                                                                        • 初学者向けLinux本3冊読んでDevOps Roadmap的にまとめてみた - Qiita

                                                                          動機 OSのコンセプト?やってること?はざっくり理解したので、つぎはLinuxの基本を勉強する。 DevOps Roadmap 対象の初学者向けLinux本 ゼロからわかる Linuxコマンド200本ノック―基礎知識と頻出コマンドを無理なく記憶に焼きつけよう! ITエンジニア1年生のための まんがでわかるLinux コマンド&シェルスクリプト基礎編 [試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識 個人的に、順番は上記の列挙順がおすすめ。 1冊目は初学者でもめちゃくちゃわかりやすく書いてくれている 2冊目は漫画なので読みやすいけど、好み分かれそう 3冊目は仕組みを分かりたい人向け(タイトル通り)なのでお好みで 目次 Linuxの基本的知識・概念など Linux OSとは カーネルモードとユーザーモード Linuxディストリビューション LinuxコマンドとC

                                                                            初学者向けLinux本3冊読んでDevOps Roadmap的にまとめてみた - Qiita
                                                                          • GitHub PagesのSourceにGitHub Actions(beta)を指定し、AsciiDocとSwaggerUIを公開する構成 | DevelopersIO

                                                                            ※ リポジトリのページから「Settings」->「Source」設定確認可能 Source指定にDeploy From a branchと比較し、GitHub Actions(beta)を利用するメリットには以下があります。 ホスティングのために用意しているブランチやビルド成果物が不要になり、認知負荷を下げられる ビルド資材をコミットする作業がなくなる ビルド資材の容量が大きい場合、pullやcheckoutにかかる時間を削減できる(モノレポの場合コードに対するCIにも影響する) 設定方法 前提 今回は以下をホスティングする想定にします。 Swagger UI AsciiDoc with PlantUML 何らかのHTTP REST APIの仕様書を作る想定です。 リポジトリテンプレート リポジトリテンプレートは公開しています。用途に応じてカスタマイズして頂けたらと思います。 ファイル/

                                                                              GitHub PagesのSourceにGitHub Actions(beta)を指定し、AsciiDocとSwaggerUIを公開する構成 | DevelopersIO
                                                                            • WasmバイナリをrunwasiとPodman/crun/WasmEdgeから実行してみた | DevelopersIO

                                                                              DockerやKubernetesで利用されているコンテナランタイム containerd からは、shim を通じてruncやAWS Fargateで利用されているFirecrackerなど様々なコンテナ実行方法をサポートします。 数年前にDocker社のプレスリリースで話題になったのように、WebAssembly(Wasm)アプリも実行することができ、Wasm向けshimから runwasi を呼び出すほか、runc 向け shimから Wasm対応した crun を 呼び出す事もできます。 ※ 図はIntroducing the Docker+Wasm Technical Preview | Docker から 本記事では、両ケースに対応する containerd をインストールしたあと、runwasi 方式とPodman&crun のそれぞれで実行します。 検証環境 Ubuntu

                                                                                WasmバイナリをrunwasiとPodman/crun/WasmEdgeから実行してみた | DevelopersIO
                                                                              • extensions.json で指定された VS Code 拡張をコマンドで一括インストールする | DevelopersIO

                                                                                こんにちは、CX 事業本部製造ビジネステクノロジー部の若槻です。 VS Code(Visual Studio Code) では、ワークスペースやプロジェクトで導入を推奨したい拡張機能を指定することができます。 指定方法は、次のような extensions.json ファイルを .vscode ディレクトリに作成するだけです。 .vscode/extensions.json { "recommendations": [ "dbaeumer.vscode-eslint", "esbenp.prettier-vscode", "redhat.vscode-yaml", "Arjun.swagger-viewer" ] } しかし、この extensions.json に指定したからと言って自動で VS Code にインストールされるわけではなく、次のように RECOMMENDED の一覧に表示さ

                                                                                  extensions.json で指定された VS Code 拡張をコマンドで一括インストールする | DevelopersIO
                                                                                • リードタイムを測るシェルスクリプトを作ってチームの振り返り会を活発にした話 - Classi開発者ブログ

                                                                                  こんにちは。エンジニアのすずまさです。 去年の夏頃にリードタイムの計測を始めてから、振り返りで良い気づきを得られるようになったりリードタイムを減らすアクションが生まれたりと良いことがたくさんあったので、今回はその紹介をしようと思います。 リードタイムの定義 『LeanとDevOpsの科学』では、リードタイムを「コードのコミットから本番稼働までの所要時間」として定義しています。 私たちのチームのリポジトリではブランチ戦略としてGitHub Flowを採用しており、mainへのマージと本番稼働のタイミングが近しいため「PRをopenしてからマージするまでの期間」をリードタイムとして定めて計測しました。 リードタイム計測を始めた動機 私たちのチームでは「チームのスピードがあまり出ていない気がする」という漠然とした課題感がありました。しかし、課題感はありつつも、ではどうするかと言われると具体的なア

                                                                                    リードタイムを測るシェルスクリプトを作ってチームの振り返り会を活発にした話 - Classi開発者ブログ