並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 360 件 / 1553件

新着順 人気順

シェルスクリプトの検索結果321 - 360 件 / 1553件

  • Windows 10のHyper-V クイック作成、事実上の終了を迎える

    linux-vm-toolsのリポジトリがアーカイブに 1月29日にMicrosoftが管理するlinux-vm-toolsのリポジトリがアーカイブになりました。それまで登録されていたissueはすべて強制的に終了し、Pull requestは有用かつ即適用できるものがあるにも関わらずすべて放置となりました。 これは一体何を意味するのでしょうか。 Hyper-Vクイック作成 Windows 10 Pro以上のエディションではハイパーバイザーであるところのHyper-Vが使用できます。さらに「Hyper-Vクイック作成」という仮想マシンのテンプレート選択する機能もあり、随時更新されていってました(たぶん過去形)。 Hyper-Vクイック作成の画像 Windows 10があるのは当然として、Ubuntuもあります。サポートが終了している19.10があるのはMicrosoft流のギャグなんでしょ

      Windows 10のHyper-V クイック作成、事実上の終了を迎える
    • set -eのもとで特定のコマンドの終了ステータスを変数に入れるシェルスクリプトのスニペット - Islands in the byte stream

      課題編 シェルスクリプトで「あるグローバルな状態を変える操作を行い、その結果をチェックし、状態をもとに戻す」みたいなタスクをするときに「その結果をチェックし」のところでコマンドの終了ステータスを変数に入れて置きたいみたいなことがあります。例えば、次のようなコマンド操作です。 set -e # グローバルな状態を変える操作を行う git merge --no-ff --no-commit $main_branch || true # 結果をチェックしてexit codeを変数に入れる git diff --cached --exit-code --quiet ; code=$? # グローバルな状態をもとに戻す git merge --abort # 上位プロセスに結果を渡す exit $code スクリプト全体には set -e (コマンドが失敗するとシェルスクリプトが即座に終了する)を効

        set -eのもとで特定のコマンドの終了ステータスを変数に入れるシェルスクリプトのスニペット - Islands in the byte stream
      • GitHub Actionsで実現する、APIキー不要でGitOps-likeなインフラCI/CD - JX通信社エンジニアブログ

        ※ 今はGitHub ActionsでOIDCが使えるので、本記事の内容は少し古いです。*1 現場のルール等で「インフラを触るワークロードはオンプレでしか動かしてはならない」みたいなルールがある場合には多少参考になるかと思います。 SREのたっち(@TatchNicolas)です。 JX通信社では「インフラチーム」のようなものは存在せず、開発したチームが運用までやるFull-cycleなスタイルを取っています。AWS・GCPリソースの管理も特定のメンバーが担当するのではなく、必要とする人が必要な時に作成・修正等を行います。すると、terraformなどIaCのツールを利用する場合に「今リポジトリにあるコードは実態を正しく反映しているのか」「誰かが矛盾する変更を加えていないか」という問題が発生します。 CIツール上でterraformを実行することで、問題の一部は回避できるかもしれませんが、

          GitHub Actionsで実現する、APIキー不要でGitOps-likeなインフラCI/CD - JX通信社エンジニアブログ
        • POSIXシェルスクリプトではwhichではなくcommand -vを使うべき理由(+シェルスクリプト版which) - Qiita

          重要 2022-01-30 追記 この記事で解説していた警告の出力は 2022-01-21 に取り消されました(参照 Revert deprecation of which)。そのため Debian which が GNU which に変わることは(少なくとも近い未来では)ないと思います。しかしながら which を使うよりは POSIX で規定されている command と type を使う方を推奨します。 はじめに which コマンドはシステムにインストールされてるとは限りません。実際に最小構成でインストールされてない環境として CentOS があります。一方 command -v は POSIX 規定されているので POSIX に準拠したどのシェルでも問題なく使えます。シェル上では which コマンドを使っても良いと思いますが、シェルスクリプトでは command -v を使う

            POSIXシェルスクリプトではwhichではなくcommand -vを使うべき理由(+シェルスクリプト版which) - Qiita
          • MySQL公式のDockerリポジトリがcontainer-registry.oracle.comに引っ越していた

            この記事は MySQLのカレンダー | Advent Calendar 2023 の10日目の記事です。昨日は meijik さんの 最新のSQL標準(SQL:2023)とFirebird/MySQL/PostgreSQL | キムラデービーブログ でした。 TL;DRdockerhub のMySQLイメージはもうメンテナンスしていないっぽい ややこしいのだけれど、 docker pull mysql で取得するのは「Docker社がビルドしたMySQLイメージ」で、 docker pull mysql/mysql-server で取得するのが「Oracle社がビルドしたMySQLイメージ」だった引っ越したのは後者のみMySQL Server Community Edition - Repository Detail 5.7は5.7.16と5.7.33だけ、8.0は8.0.22とそれ以降し

            • Linuxのプロセスのコマンドライン引数についていろいろ

              2022/10/16 以下ご指摘をもとに内容を修正および追記 https://zenn.dev/link/comments/463223a4de9ec2 はじめに Linux上でコマンドを実行したときのコマンドライン引数についてつらつら書きたくなったので書きます。 プロセスのコマンドライン引数とは、たとえばfoo bar bazというコマンドを実行したら、通常はコマンドライン引数はfoo、bar、およびbazになります。直観的には引数は”bar”と"baz"だけのようにおもえるかもしれませんが、とにかくこういう定義です。 コマンドライン引数はプログラムの中からはCやC++ではmain関数のargv配列引数から参照できます。上述の例であればargv[0]には実行ファイル名が入ります。それ以降の"bar"はargv[1]に、"baz"はargv[2]に入っています。argvに相当する変数はシェ

                Linuxのプロセスのコマンドライン引数についていろいろ
              • systemdのenvfileを普通のコマンド実行時に流用する - たごもりすメモ

                普段はsystemd経由で実行しているコマンドをCLIから実行したい、環境変数もsystemd経由で起動するときと同様にセットしたいのでenvfile(EnvironmentFile)をそのまま使いたいんだけどなんか微妙にやりにくくないか、と思って何度か調べたことがあるんだけど、あんまりうまい方法が検索結果に出てこない。 んだけど、あれ、これ簡単じゃん。(追記: これはごく単純なケースでしか動かなかった、後段参照) $ env $(cat myenvfile | grep -v '^#') target-commandenvfileをシェルスクリプトとして実行して追加された変数をなんとかexportすれば……みたいに考えてたけどenvコマンドで一発だった。変なコメントとか入ってると厄介だけど、こんな感じでいいのでは。ということでメモ。 空白を含む値の処理 まあいいやとスルーしてたけど値が空

                  systemdのenvfileを普通のコマンド実行時に流用する - たごもりすメモ
                • API Gateway バックエンドのLambdaにおけるジレンマをLayerで解決する | DevelopersIO

                  渡辺です。 Developers.IO Cafeのブログドキュメントシリーズ第3弾は、Lambdaの構成に関するトピックです。 Lambdaは小さな独立した処理(プログラム)を実行するには適したサービスです。 一方、多くの関連する処理を行うAPI Gatewayのバックエンドとして利用する場合、必ずしも適したサービスとは言えません。 例えば、一般的なウェブアプリケーションフレームワークでREST APIを構築したとしましょう。 フレームワークは、単一アプリケーションとしてサーバ上で実行されます。 リクエストは、フレームワークでルーティングを解決され、対応する処理(アクション)がキックされます。 前段にELB等のロードバランサが入ることもありますが、雑に言えばこういう仕組みです。 このよう場合、 共通処理を切り出し、各処理から呼び出す構成にする のが一般的です。 そうしなければ、各処理のコー

                    API Gateway バックエンドのLambdaにおけるジレンマをLayerで解決する | DevelopersIO
                  • 「かわいさ」重視のLinuxディストロ--アニメファン向けの「NyArch Linux」

                    Jack Wallen (Special to ZDNET.com) 翻訳校正: 川村インターナショナル 2024-06-05 07:30 本記事の要点 「NyArch Linux」はかわいさにあふれるオープンソース形式のOSだ。無料で入手することができる。 「かわいい」をレベルアップする多彩なカスタマイズ機能と、多数のGNOMEアプリケーションを提供する。 筆者が使ってきた中で最も安定したLinuxディストリビューションではない。 「NyArch Linux」は、日本文化、とりわけポップカルチャー、もっと具体的に言えば漫画やアニメを愛する人のために特別に作られたOSだ。長年にわたりアニメを見て、漫画を読んでいた筆者は、しばらく時間が空いたが、今でも時折ふとアニメを見て、大学院時代の思い出に浸ることや、本当に優れたアニメーションや物語を楽しむことがある。 だが、アニメや漫画に触発された「L

                      「かわいさ」重視のLinuxディストロ--アニメファン向けの「NyArch Linux」
                    • PythonやJavaScript、C#などでクラウドインフラを定義できる構成管理ツール「Pulumi」を使ってみる | さくらのナレッジ

                      昨今では、IaaSやPaaSといったさまざまなクラウドサービスが多くのシステムで使われている。こうしたクラウドサービスの多くはAPIを使ったインフラの操作をサポートしており、それらを活用するさまざまな支援ツールが登場している。今回はそういったツールの1つで、さまざまなプログラミング言語を使ってクラウド上のリソースを管理できる「Pulumi」を紹介する。 さまざまな言語でさまざまなクラウドプラットフォームを操作可能 昨今ではInfrastrcture as a Service(IaaS)やPaaS(Platform as a Service)といった、ソフトウェアを動かすためのインフラストラクチャ(インフラ)やプラットフォームを提供するクラウドサービスが広く普及している。こういったクラウドサービスには「使った分だけの料金支払いで済む」「ソフトウェアの実行環境や各種インフラを迅速に調達できる」

                        PythonやJavaScript、C#などでクラウドインフラを定義できる構成管理ツール「Pulumi」を使ってみる | さくらのナレッジ
                      • 面倒なサーバ証明書の確認作業をシステム化。Go言語で「certコマンド」を2週間で自作した話【GMOペパボ内村元樹さん】 - エンジニアtype | 転職type

                        怠慢・短気・傲慢は、プログラマーの三大美徳だ――そんな言葉があるように、エンジニアは面倒な作業をシステム化して効率アップしてなんぼ。めんどくさい、無駄に時間がかかる……そんな仕事を無くすヒントをWebエンジニアたちの開発実例に学ぶ 今回、自作の作業効率アップシステムを紹介してくれたのは、GMOペパボでエンジニアリングリードを務める内村元樹さん。 内村さんは、開発中にブラウザでサーバ証明書の内容を確認する作業頻度の高さを面倒に感じたことをがきっかけに、Go言語を用いて簡単にサーバ証明書の情報を表示出来るコマンドを作成。 どのように自作システムの開発を進めたのか、工夫したことや開発を通して学んだことを具体的に紹介してくれた。 GMOペパボ株式会社 ホスティング事業部 マーケティングチーム 兼 ホスティング事業部 業務信頼性向上チーム エンジニアリングリード 内村元樹さん 大学卒業後、東京のSE

                          面倒なサーバ証明書の確認作業をシステム化。Go言語で「certコマンド」を2週間で自作した話【GMOペパボ内村元樹さん】 - エンジニアtype | 転職type
                        • 続・MeCabの分かち書きを並列処理で高速化する

                          まとめ Pythonから巨大なテキストファイルを並列に読み込み・処理・書き込みする方法を紹介 読み込み: テキストファイルをバイト列として見て、プロセスごとにファイルの読み込み区間を割り振る 処理: multiprocessingを用いた並列処理 書き込み: プロセスごとにtmpファイルへ並列に書き込み & catによる結合 はじめに 日本語形態素解析器であるMeCabを用いると、日本語のテキストに対する解析や処理が簡単に実行できます。 特に最近は、BERTをはじめとする深層学習モデルへの入力のための前処理として、MeCabなどを用いて文を単語単位に分割する「分かち書き」を行う機会が多くなっています。 MeCabはコマンドラインから実行することもできますし、Pythonなどからプログラム的に呼び出すことも可能です。 特にコマンドラインから実行する場合は、インストールさえ終わっていれば以下の

                            続・MeCabの分かち書きを並列処理で高速化する
                          • Vim: 編集可能なファイラを作った · ryym.log

                            TL;DR Viler という Vim 用ファイラプラグインを作りました。 目玉機能は、普通のテキストと同じように編集してファイルの移動や削除などができる点です。 Vim 上で快適にファイル操作したい方にオススメ。 モチベーション Vim のファイラは長らく vimfiler を使っていましたが、もう随分前に開発停止が宣言されている事もあり、先日ようやく別のファイラに移行する事にしました。 しかしいくつかのプラグインや Vim の組み込みファイラである Netrw を試してみたものの、いずれも欲しい機能の一部が欠けているか、ファイル操作のインターフェイスに満足いきませんでした。 ファイラに求めるもの: 動作が軽い。 ツリー表示が出来る。 複数ウィンドウに別々のディレクトリを開ける。 ファイル操作 (追加、移動、コピー、削除) がしやすい。 (できれば) 複数ファイルを一度に操作できる。 特

                            • IaC、あるいはインフラ抽象化レイヤー導入時に考えたらいいんじゃないかと思うことを雑多に書く - ださろぐ@はてな

                              この記事はSRE Advent Calendar 2023の4日目の記事です。 qiita.com 3日目は@myu_mxさんのゆるやか成長スタートアップの小さなEnabling SRE的活動でした。 久々のアドカレ参加ですが、少し思いの丈に任せてみようということで経験と主観が強めの記事です。 この辺で語られていたよとかこれは賛同できないというポイントなどもっといい情報があればぜひお知らせください、という感じで雑多に書いて参ります。 TerraformやCloudformationあたりをよく触るのでそのあたりがどうしても頭にありますがなるべく固有の話はしない方向で。 色々書きつつ、基本的には長期的な運用を見越したソフトウェアの運用設計と同じ考えで良いとは思ってます。 最低限のインターフェースを公開し疎結合に設計する、モジュールは交換可能する、ライフサクルを考える、などなど。 ただIaCコ

                                IaC、あるいはインフラ抽象化レイヤー導入時に考えたらいいんじゃないかと思うことを雑多に書く - ださろぐ@はてな
                              • リモートマシンから手元に向かってコマンドを実行できるやつを作った - Write and Run

                                KOBA789 です。寒い日が続きますね。こうもあまりに寒いとアイスを食べたくなるものです。昨日の私はその衝動に抗えず、コンビニでソフトクリーム(チョコ味とのミックス)を買ってきて食べました。余計に寒くなったのでもう二度とやりません。今はおでんが食べたいです。よろしくお願いします。 リモートから手元に向かってコマンドを実行したい さて、寒いとアイスが食べたくなるように、リモートマシンに SSH でログインしていると手元でコマンドを実行したくなるものです。せっかくリモート接続してるのにね。人って不思議です。 たとえば、SSH 先の Linux マシンで code って打ったら手元の MacBook Air で VS Code が起動してほしいわけです。VS Code の Integrated Terminal 内ならできますけど、そもそも VS Code のウィンドウが1枚も開いていないとき

                                  リモートマシンから手元に向かってコマンドを実行できるやつを作った - Write and Run
                                • 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
                                  • Go製CLIツールGatling Commanderによる負荷試験実施の自動化 - ZOZO TECH BLOG

                                    はじめに こんにちは、ML・データ部MLOpsブロックの岡本です。 MLOpsブロックでは機械学習モデルの実験基盤の作成、機械学習モデルを組み込んだAPI・Batchの開発・運用・保守を行なっています。APIを開発する際には負荷試験を実施し、本番環境で運用する際に求められるスループット・レイテンシを達成できるか確認します。 MLOpsブロックでの従来の負荷試験実施には人手を要する定型的な作業が複数ありました。また頻繁に行う作業でもありトイルとなっていました。 本記事ではMLOpsブロックで抱えていた負荷試験実施の課題と、解決のために開発したOSSのCLIツール、Gatling Commanderについて紹介します。Gatling Commanderが負荷試験の実施におけるトイル削減の一助になれば幸いです。 github.com 目次 はじめに 目次 背景・課題 従来の負荷試験実施の方法 分

                                      Go製CLIツールGatling Commanderによる負荷試験実施の自動化 - ZOZO TECH BLOG
                                    • WinSCPでAmazon S3に接続してみた | DevelopersIO

                                      みなさんこんにちは、杉金です。 IAMのアクセスキーを使ってWinSCPからS3に接続できることを知らなかったので試してみます。また、S3サーバーアクセスログを有効にして、アクセスログを保管するように設定します。過去にもWinSCPでS3への接続を紹介したブログもございますので、そちらを見ていただいても良いかと思います。 設定の流れ 設定としては大きく2つに分けていまして、接続先となるAWS側の設定と、接続元となるクライアント側の設定があります。 AWS側の設定 1-1. S3バケット作成 1-2. S3サーバーアクセスログ設定 1-3. IAMユーザ作成とアクセスキー発行 クライアント側の設定 2-1. WinSCPインストール 2-2. 接続確認 1.AWS側の設定 1-1.S3バケット作成 WinSCPの接続先となるS3バケットを作成します。AWSマネジメントコンソールからS3のサー

                                        WinSCPでAmazon S3に接続してみた | DevelopersIO
                                      • 【セッションレポート】 第1回 AWS Fargate かんたんデプロイ選手権 【#AWSDevDay】 | DevelopersIO

                                        本記事はDevDay Day1のセッションレポートとなります。 資料についてもすでに公開済みですので合わせてそちらもご確認ください。 セッション概要 AWSのオフィシャルツールを筆頭に、各種OSSを使用したFargateへのコンテナデプロイを考察する。 登壇者 原 康紘 様(アマゾン ウェブ サービス ジャパン株式会社) セッションの対象と目的 Fargateの利用を検討している方 デプロイツールの特徴を知りたい方 デプロイメントやパイプラインの構築、改善を行いたい方 AWS Fargateとは Dockerコンテナをデプロイする際にツールがないとEC2インスタンスに対してSSH接続してDockerの構築が必要になる この問題を解決するためにECSがサービスとして登場した EC2インスタンス群にDockerコンテナを自動的に構築してくれる EC2インスタンス上で動いているので、OSが動いて

                                          【セッションレポート】 第1回 AWS Fargate かんたんデプロイ選手権 【#AWSDevDay】 | DevelopersIO
                                        • シェルスクリプト用の国際化ライブラリの決定版! sh-i18n を作りました ~ gettext.sh 代替・すべてのPOSIXシェルと環境に対応 - Qiita

                                          シェルスクリプト用の国際化ライブラリの決定版! sh-i18n を作りました ~ gettext.sh 代替・すべてのPOSIXシェルと環境に対応ShellScriptBash国際化GettextPOSIX はじめに POSIX 準拠でどの環境でも動くシェルスクリプト用の国際化ライブラリ sh-i18n を作りました。同様のライブラリとしては GNU gettext に含まれている gettext.sh が有名です。すでにライブラリがあるのになぜ作ったのかと言えば、gettext.sh は基本的に GNU gettext 専用で、書きづらく単一の書き方でどのシェルどの環境でも動くわけではなかったからです。一言で言えばすべての環境で動く完璧なシェルスクリプト用の国際化ライブラリを作りたかったのです。 ちなみにすべての環境で動くというのはおそらく嘘です。動かない環境は今のところ認知していません

                                            シェルスクリプト用の国際化ライブラリの決定版! sh-i18n を作りました ~ gettext.sh 代替・すべてのPOSIXシェルと環境に対応 - Qiita
                                          • GitHub Actions から AWS へのアクセスに利用している OpenID Connect ID Provider の thumbprint について調査した - ROUTE06 Tech Blog

                                            ROUTE06 でエンジニアリングマネージャ兼ソフトウェアエンジニアとして働いております海老沢 (@satococoa) と申します。 先日発生した GitHub Actions と AWS の OpenID Connect 連携におけるトラブルに関して調査を行い、対応方針を策定した件を共有したいと思います。 [2023/07/10 追記] Thumbprint を明示的にユーザ側で設定しなくて良いように、AWS 側で対応されたそうです。 github.com 当面 Terraform のモジュール的には必須入力のままですが、任意の文字列で良いそうです。 (いずれ入力も不要になるのかと思います。) https://github.com/aws-actions/configure-aws-credentials/issues/357#issuecomment-1626357333 The A

                                              GitHub Actions から AWS へのアクセスに利用している OpenID Connect ID Provider の thumbprint について調査した - ROUTE06 Tech Blog
                                            • どこからでも実行できるシェルスクリプトの正しい書き方 ~ 冒頭でディレクトリを移動するな! - Qiita

                                              はじめに どこからでもシェルスクリプトを実行できるようにと、冒頭でカレントディレクトリを移動するコードをベストプラクティスかのように書いてある記事がいくつかありますが、それは違います。例えば以下のようなコードは良くないコードです。 # スクリプトのある場所にカレントディレクトリを移動してはいけない cd "$(dirname "$0")" # 上記のやたらと面倒な書き方 WORKDIR=$(cd "$(dirname "$0")" && pwd) cd "$WORKDIR" 絶対に書いたらだめなのか?と聞かれるなら、理由をわかった上で「手抜きとして」なら書いても良いと思いますが、ベストプラクティスではありません。 補足 上記のコードは問題点を示すサンプルコードです。他にも cd が失敗した場合などの別の問題がありますが、この記事の内容とは無関係なので意図的に省略しています。私は set -

                                                どこからでも実行できるシェルスクリプトの正しい書き方 ~ 冒頭でディレクトリを移動するな! - Qiita
                                              • urlscan.ioとShodanでお手軽にマルウェアの通信先サーバを調べる | IIJ Engineers Blog

                                                セキュリティ本部データ分析課所属。2020年新卒入社。情報分析基盤のセキュリティログ分析を行う傍ら、マイニングマルウェアやIoTマルウェアを調査しています。 はじめに こんにちは、セキュリティ本部の森下です。 普段は情報分析基盤でセキュリティログの分析を行う傍ら、感染活動の動向を把握するためにマイニングマルウェアやIoTマルウェアを調べたりしています。 一般的にマルウェアに感染すると、C2サーバに通信して攻撃の指令を受けたり、マルウェア配布サーバからさらに別のマルウェアをダウンロードしてきたりします。 セキュリティ製品などによる検知を回避するために、マルウェアの通信先サーバは短期間で変わっていくことが多く、追跡し続けることが必要です。 マルウェアの通信先サーバでは、一般的なサーバとは異なる特徴が表れることがあり、その特徴を把握することで、新しく使われるサーバを迅速に発見できる可能性がありま

                                                  urlscan.ioとShodanでお手軽にマルウェアの通信先サーバを調べる | IIJ Engineers Blog
                                                • グループ会社のインフラをECS/Fargateに移行して振り返る | ランサーズ(Lancers)エンジニアブログ

                                                  皆さん元気ですか!?SREチームの@adachin0817です。去年から行っていた移行プロジェクトで、グループ会社である、シクロマーケティング株式会社の「ミギウデ」をさくらVPSからAWSへ移行しました。今回、移行背景やECS/Fargateでのコンテナ運用について簡単にご紹介と振り返りを行ってみたいと思います。 なぜAWSへ移行するのか AWSへ移行すると冗長性の担保などが挙げられますが、一番は開発環境やインフラなど、すべてランサーズに統一させるということが第一の目的です。それに伴い、ミギウデ自体のサービスがシンプルなインフラ構成ということもあり、インフラ運用の手間をなくしたいということから、ECS/Fargateで初の外部サービスとしてコンテナ運用にチャレンジしてみようとなりました。 目的とコンテナ化にするメリット ・内部統制対応 ・S3、RDSを利用したバックアップ ・CloudWa

                                                    グループ会社のインフラをECS/Fargateに移行して振り返る | ランサーズ(Lancers)エンジニアブログ
                                                  • IaCを意識したCLI開発のエッセンス - エムスリーテックブログ

                                                    エムスリーエンジニアリンググループ AI・機械学習チームの中村(@po3rin) です。 好きな言語はGo。仕事では主に検索周りを担当しています。 エムスリーの検索基盤ではElasticsearchを利用しています。社内で積極的に検索改善が行われており複数のIndexが管理がしづらいという問題がありました。 そこで定義ファイルからIndexの状態を冪等性を持って同期させるeskeeperというOSSを作りました。 この経験から「定義ファイルで〇〇を宣言的に管理する系のツール」を作る時のちょっとしたコツを紹介します。タイトルの通り今回はIaCツールを作るのではなくIaCのプラクティスを意識してCLIを作るお話になるのでご了承ください。 なぜeskeeperを作るに至ったか チームでのElasticsearchの運用と課題 eskeeperとは IaCを意識したCLI開発のエッセンス コマンド

                                                      IaCを意識したCLI開発のエッセンス - エムスリーテックブログ
                                                    • 【JavaScript】ES2023の新機能 - Qiita

                                                      ES2023その2 / ES2023 / ES2022 / ES2021 2023年一発目ということで、ES2023にFinished Proposalsとして取り入れられた機能を見てみましょう。 ちなみにFinished Proposalは「複数の実装が既に存在する」が前提なので、2023という名前にもかかわらず既に一部のブラウザで使用可能です。 というかES2023の新機能は全てのモダンブラウザで既に使用可能です。 ES2023 Array find from last 末尾からの検索です。 const array1 = [5, 12, 8, 130, 4]; console.log(array1.find(element => element > 10)); // 12 console.log(array1.findLast(element => element > 10)); //

                                                        【JavaScript】ES2023の新機能 - Qiita
                                                      • シェルスクリプトの後ろにバイナリを埋め込む手法はPOSIXで考慮されているという話 - Qiita

                                                        思いっきり雑学レベルの話ですみませんが、思い出した今書かないと忘れそうだなと思ったのでw この手法で何が出来るかと言うと、シェルスクリプトを実行するとスクリプトファイルの後ろ(exit で終了されて実行されない領域)に結合されたバイナリ形式の圧縮ファイル部分を抜き出して /tmp 以下に展開してそこに含まれているバイナリ形式の実行ファイルを実行して、一見シェルスクリプトのように見えるのに実はバイナリファイルを実行してるじゃんなどという楽しいことができます。いかにもハックまがいの手法に見えますが、どうやらこの手法は POSIX で考慮されているようです。 これを知ったのは「シバン shebang がないシェルスクリプトはどのシェルで動くかわからない(からちゃんと書いとけ)」の記事を書いている時に見つけた fish の PR 7802 です。fish はシバンがないスクリプトを実行するとエラー

                                                          シェルスクリプトの後ろにバイナリを埋め込む手法はPOSIXで考慮されているという話 - Qiita
                                                        • マルチモジュールでのリソース整理 - Mirrativ Tech Blog

                                                          みなさん、こんにちは!2022年8月よりAndroidエンジニアとしてインターン中の kitakkun です。 現在MirrativのAndroidチームでは、アプリケーションの品質向上を目指してマルチモジュールの導入を進めています。 Mirrativでは、元々あったmirrorman(当時の開発コードネーム)という巨大なモノリスのモジュールから、新規開発部分をfeatureモジュールに切り出して開発をしています。 モノリスモジュールからfeatureモジュールを分離 元々モノリス部分だったmirrormanが巨大で、mirrormanにあるクラスをfeatureモジュールで使いたいケースがあり、未だmirrormanへの参照が残っている状態です。 なるべくmirrormanへの参照をなくすために、特定のfeatureモジュールでしか使われていないファイルをmirrormanから移動してい

                                                            マルチモジュールでのリソース整理 - Mirrativ Tech Blog
                                                          • 【オススメ技術書55冊】Kindleセールで12/9まで半額の本をエンジニアの学ぶ目的別にまとめ - 仮想サーファーの日常

                                                            技術書って1冊で3000円くらいかかって結構な出費になってしまうので、買うのをためらうことありますよね...。 そんな方に朗報です!!Amazonで2019年12月9日までなら普段の50%OFFで買える技術書をまとめました! 仮に10冊買ったとして、普段なら3万円くらいするのに、1.5万円で買えてしまうことに! 控えめにいって最高ですね。 ぼくもこの期間に読みたい技術書(Kindle)を一気に買っておいて、週末の空いた時間などに読もうと思っています。 【Kindle技術書50%OFFセール(12/9まで)】を見てみる ↑この記事で紹介しているKindle Saleは、2019年12月9日で終了しました。 この記事では、Amazonで50%OFFになっている技術書の中でも、目的別にオススメの技術書を紹介していきます。 プログラミング初心者の方にオススメ IT業界で頻繁に使う用語をざっくり学び

                                                              【オススメ技術書55冊】Kindleセールで12/9まで半額の本をエンジニアの学ぶ目的別にまとめ - 仮想サーファーの日常
                                                            • AWS App Mesh を使用した Amazon ECS でのカナリアデプロイパイプラインの作成 | Amazon Web Services

                                                              Amazon Web Services ブログ AWS App Mesh を使用した Amazon ECS でのカナリアデプロイパイプラインの作成 この記事は Create a pipeline with canary deployments for Amazon ECS using AWS App Mesh を翻訳したものです。 この記事では Amazon Elastic Container Service (Amazon ECS) で実行されるアプリケーションのカナリアデプロイ戦略を、AWS App Meshと組み合わせて実装する方法を説明します。ALB の加重ターゲットグループを使用した AWS CodeDeploy でのカナリアデプロイを行う場合はこちらの記事を参照してください。 Amazon ECS や Amazon EKS などのコンテナオーケストレータを利用することで、世界中

                                                                AWS App Mesh を使用した Amazon ECS でのカナリアデプロイパイプラインの作成 | Amazon Web Services
                                                              • はてなブックマークで利用しているCloudFrontのAWSアカウントを移行した - Hatena Developer Blog

                                                                こんにちは、id:cohalzです。2023年4月に実施したはてなブックマークのメンテナンスではCloudFrontを別のAWSアカウントに移行しました。 この記事ではCloudFrontを別のAWSアカウントに移行した背景とどのように移行したのかを説明します。 はてなブックマークのインフラのこれまで 移行したいモチベーションが出てきた理由 切り替えで設定が変わらないように気を付ける キャッシュポリシーに移行する 移行方法について検討する AWS CLIでCloudFrontを移行する手順を作成する アクセスログを配送する部分も移行する まとめ はてなブックマークのインフラのこれまで はてなブックマークのインフラはこのようにCloudFrontと関連リソースだけ別のAWSアカウントで利用していました。 移行前 この状況になっていた経緯をまず説明すると、はてなブックマークでは2018年からオ

                                                                  はてなブックマークで利用しているCloudFrontのAWSアカウントを移行した - Hatena Developer Blog
                                                                • 前提がズレるインフラの世界では、全体の可視化と是正が重要 課題を明確化するための「バリューストリームマッピング」活用

                                                                  クラウドの運用者に焦点を当てた、技術者向けの新しいテックイベント「Cloud Operator Days Tokyo 」。ここでRed Hatの中島氏が「IaC や CI に理解のある上司になる(なってもらう)には」をテーマに登壇。続いて、前提条件を合わせる時のポイントと、「バリューストリームマッピング」について話します。前回はこちらから。 前提条件を揃えておく時に押さえておくべきポイント 中島倫明氏:というわけで、ここからが本題になります。前提条件を揃えて課題と手段を明確化する進め方というところで、まずは我々が押さえておくべき1つのポイントがあります。それは「今と昔でインフラがどう変わっているのか」というところです。 ここでは特に変化のポイントの中でもインフラ担当者が時間をどう使っているのかという部分に注目して見ていきたいと思います。 (スライドを示して)その変化をお話しするために、2つ

                                                                    前提がズレるインフラの世界では、全体の可視化と是正が重要 課題を明確化するための「バリューストリームマッピング」活用
                                                                  • 技術ドリブンだった組織に顧客目線のサービス改善を導入する(およびMarkdown版報告書提供開始のお知らせ) - Flatt Security Blog

                                                                    こんにちは。Flatt Security執行役員の豊田 @toyojuni です。 今回のブログでは「セキュリティ診断」サービスに関するお知らせに合わせて、Flatt Securityがどのようにお客様の声とサービス改善に向き合っているかを具体的に紹介したいと思います。 Flatt Securityの「セキュリティ診断」サービスでMarkdown版報告書の提供を始めました。 まず、サービスに関するお知らせというのが「Markdown版報告書提供開始」です。 「セキュリティ診断(脆弱性診断)」とは まず我々の提供している「セキュリティ診断」というサービスの概要を説明します。 端的に言うと、(巷ではホワイトハッカーなどと呼ばれることもありますが)セキュリティエンジニアがお客様のWebサービスやネットワークにハッキングされるような穴、脆弱性がないかを調査するサービスです。 「脆弱性診断」と呼ばれ

                                                                      技術ドリブンだった組織に顧客目線のサービス改善を導入する(およびMarkdown版報告書提供開始のお知らせ) - Flatt Security Blog
                                                                    • GAEアプリの開発フローにCloud BuildでのCI/CDをいい感じに組み込む - Sansan Tech Blog

                                                                      関西支店で新規事業開発室に所属する加藤です。私のチームでは、Google Cloud Platform (GCP) で主にGoogle App Engine (GAE) を使ってシステムを構築しています。 GAEはコマンド1つで簡単にデプロイできますが、チームの開発者が増えるにつれて、デプロイ用の設定を共有するのが大変になってきました。 デプロイにも時間がかかって、リリース作業に負荷を感じるようになりました。 そこで、GAEアプリケーションの開発フローに、Cloud BuildによるContinuous Integration (CI) / Continuous Delivery (CD) を組み込み、デプロイを自動化しました。 公式ドキュメントや各種ブログに個別の方法は記載されていますが、開発フローに組み込もうとした時にいくつか考えることがあったので、まとめておきます。 前提 Googl

                                                                        GAEアプリの開発フローにCloud BuildでのCI/CDをいい感じに組み込む - Sansan Tech Blog
                                                                      • 「フルスタック地獄で完全な自動化は難しい」 国立情報学研究所はクラウド運用効率化をどう進めている?

                                                                        複雑化するIT環境において、運用管理の効率化を実現する手段の一つとして「インフラ運用のコード化」(Infrastructure as Code:IaC)が重要視される中、自動化に対する期待が高まっている。一方で、実際の運用現場は複雑だ。事業部門からの要望対応、突如発生した障害の解消作業など非定型業務が多々ある中で、自動化はもとよりIaCを実現させることも容易ではない。 2020年7月に開かれた「Cloud Operator Days 2020」では、国の研究機関として効率的な研究環境の構築と運用が求められる国立情報学研究所(以後、NII)でクラウド運用チームに所属するボイスリサーチ 取締役の谷沢智史氏が登壇。クラウド運用にまつわる課題にどう取り組んでいるのか紹介した。 「真のフルスタック地獄」で完全な自動化は難しい NIIでは、オープンソースソフトウェア(OSS)のクラウド運用基盤「Euc

                                                                          「フルスタック地獄で完全な自動化は難しい」 国立情報学研究所はクラウド運用効率化をどう進めている?
                                                                        • サクラタウンへの無線デプロイでヒヤッとしたお話 - KADOKAWA Connected Engineering Blog

                                                                          はじめに こんにちは!KADOKAWA Connected、ネットワークチームの 立松(Matsu) です。データセンターとキャンパスのネットワークサービスのデザイン、デリバリ、O&Mの業務を担当しています。会社ブログへの投稿は初めてなので、読みづらいところもあるかもしれませんが、お付き合いのほどよろしくお願いします。 ところざわサクラタウン さて、皆さんは、KADOKAWAが世界に誇るポップカルチャーの発信拠点、ところざわサクラタウンをご存知でしょうか。 tokorozawa-sakuratown.jp ところざわサクラタウンは、ミュージアム、イベントホール、ホテル、レストラン、書店、オフィス、神社、書籍製造・物流工場などを有する文化複合施設です。 複合商業施設に求められる無線ネットワーク ところざわサクラタウンの無線ネットワークには、下記の要件が求められました。 オフィスや工場における

                                                                            サクラタウンへの無線デプロイでヒヤッとしたお話 - KADOKAWA Connected Engineering Blog
                                                                          • 人気のないインフラエンジニアってどんな仕事? - orangeitems’s diary

                                                                            インフラエンジニアの私 私自身はIT業界に20年以上前に入った時に、多分プログラマーやシステムエンジニアのキャリアパスに乗ることもできたはずなのですが、今はバリバリのインフラエンジニアになってしまっています。 「私、インフラエンジニアになります!」と言ったおぼえは無かったのですが、どうしてインフラエンジニアに収まってしまったのでしょうか。 そもそも、開発者と呼ばれるプログラマーやシステムエンジニアとの差分はどこにあるのかも考えてみたいと思います。 というのも、この記事が話題になっているからです。 b.hatena.ne.jp なぜ、人気がないのでしょうか。 私は、人気がないという指摘に関しては、否定することはできません。ITインフラ専門の企業ならともかく、ソフトウェア開発をメインで行う企業においては、進んでなりたがる人は少数派、変な言葉ですが「変わり者」の部類かと思います。 でも、誰かがや

                                                                              人気のないインフラエンジニアってどんな仕事? - orangeitems’s diary
                                                                            • プロダクト基盤を EKS に移行しました | Wantedly Engineer Blog

                                                                              こんにちは。Wantedly Infrastructure Squad 所属の @irotoris です。 Wantedly Visit を始めとする Wantedly のサービスのバックエンドシステムはほぼ全て Kubernetes クラスタの上で動いています。今まで kOps という OSS を使って AWS の EC2 インスタンス上に Kubernetes クラスタを自前で構築運用していましたが、2022年6月に AWS の Kubernetes Managed Service である Amazon Elastic Kubernetes Service (EKS) に移行しました。 この記事では Wantedly と Kubernetes の歴史を振り返るとともに、なぜ EKS に移行したか、移行した結果どうだったかをお伝えします。 目次 Wantedly システム基盤としての K

                                                                                プロダクト基盤を EKS に移行しました | Wantedly Engineer Blog
                                                                              • EC2で運用しているWordPressサーバーをECS/Fargateに移行しました | ランサーズ(Lancers)エンジニアブログ

                                                                                SREチームの安達(@adachin0817)です。今回WordPressサーバーであるEC2からECS/Fargateに移行しましたが、紆余曲折を得て、苦労したところ、技術的な部分、最終的には複数のリポジトリを一つにまとめたことなどを紹介したいと思います。まずはプロジェクトとサーバーの構成から説明していきましょう。 ランサーズのWordPressとECS時代のサーバー構成 https://engineer.blog.lancers.jp https://info.lancers.jp https://l-ap.jp https://connect.lohai.jp https://lohai.jp https://tips.lancers.jp https://www.lancers.co.jp https://www.lancers.jp/assistant/cases https:/

                                                                                  EC2で運用しているWordPressサーバーをECS/Fargateに移行しました | ランサーズ(Lancers)エンジニアブログ
                                                                                • シェルスクリプトは ((i=i+1)) ではなく i=$((i+1)) で計算しなければいけない!という話 - Qiita

                                                                                  count=0 max=5 while ((count < max)); do # (( 算術式 )) は条件文で使うものです count=$((count + 1)) # 計算したいだけなら算術式展開を使います echo "$count" done ついでに言うと (( 算術式 )) は POSIX シェルで規定されていません。bash、ksh、mksh、zsh では使えますが dash、yash などの純粋な POSIX シェルに近いシェルでは使えません。 なぜ? (( 算術式 )) を使って変数に値を代入したり変更することができますが、それだけのために使ってはいけません。if や while などの条件文とともに使うものです。 C 言語を使ってる人なら比較的見かける書き方だと思いますが、(( 算術式 )) で値を変えるというのは、以下のように評価するついでに値も変えちゃえと、短く書く

                                                                                    シェルスクリプトは ((i=i+1)) ではなく i=$((i+1)) で計算しなければいけない!という話 - Qiita