並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 1565件

新着順 人気順

シェルスクリプトの検索結果161 - 200 件 / 1565件

  • ChatGPTにgitのリポジトリ渡すと全ソースコード.txtをダウンロードさせてくれるやつ〜〜〜〜(AIに食わせるコード一覧が欲しい時用)

    クレデンシャル含むソースコードをChatGPT等のクラウドLLMサービスにアップロードしないでください。 今回のプロンプトはオープンなリポジトリのみを対象としており、シェルスクリプトが実行される環境もChatGPT側のクラウド上のサンドボックス内のみを想定しています。 ローカル環境では以下のシェルスクリプトをそのまま実行せずに、ご自身が作成したシェルスクリプトを利用してください。 以下はソースコードのプロジェクトルートで実行することで、ソースコードのダンプを.txt形式でダンプするシェルスクリプトです。 \`\`\` #!/bin/bash # バイナリファイルかどうかを判定する関数 is_binary_file() { local file="$1" local file_output file_output=$(file "$file") if [[ "$file_output" ==

      ChatGPTにgitのリポジトリ渡すと全ソースコード.txtをダウンロードさせてくれるやつ〜〜〜〜(AIに食わせるコード一覧が欲しい時用)
    • 詳細解説 jqコマンドとシェルスクリプトの正しい使い方と考え方 〜 データの流れを制するUNIX哲学流シェルプログラミング - Qiita

      詳細解説 jqコマンドとシェルスクリプトの正しい使い方と考え方 〜 データの流れを制するUNIX哲学流シェルプログラミングShellScriptUNIXシェル芸jqUnix哲学 はじめに シェルスクリプトから JSON データを処理する時に良く使われるのが jq コマンドです。しかしほとんどの人は jq コマンドとシェルスクリプトのつなぎ方を間違えています。jq コマンドの使い方が間違っているというより、シェルスクリプトの設計思想や考え方を正しく理解していないために、間違ったつなぎ方をしていると言った方がより正確でしょう。「シェルスクリプトは正しい書き方をすれば簡単になる」このことをこの記事では明らかにしています。 追記 「jqコマンドとシェルスクリプトの上手い速い使い方」に要約版を書きました。この記事は長すぎた…。 タイトルの「UNIX 哲学流」とは jq コマンドをフィルタして使い、J

        詳細解説 jqコマンドとシェルスクリプトの正しい使い方と考え方 〜 データの流れを制するUNIX哲学流シェルプログラミング - Qiita
      • データライフサイクルとトレードオフ | フューチャー技術ブログ

        ソフトウェアの中身を大きく2つに分解すると、プログラムとデータに分かれます。コードコンプリートやA Philosophy of Software Designなど、評判の良いソフトウェア設計の本はいくつかありますが、それらはどれもプログラムの説明がメインでデータのライフサイクルについての説明はなかったと思います。しかし、データの表現にもいくつもの方針があって、それによるトレードオフがあるな、というのはもやもやと考えていたので、その考えをまとめて文章にしてみました。 データといっても、処理中の短期間の間では変わらない、いわゆるマスターデータ的なデータです。ジャーナルというか、トランザクション的なデータはここでは触れません。 この記事では、それぞれのトレードオフについて考えていきます。 即値(リテラル) 定数 コマンドライン引数 環境変数 設定ファイル ダウンロードコンテンツ オンラインデータ

          データライフサイクルとトレードオフ | フューチャー技術ブログ
        • シェルスクリプトで日付処理ならdateコマンドは投げ捨ててDateutilsを使おう! - Qiita

          この中で私が特に気に入ったコマンドは dateround です。次点は dategrep です。この二つは特に強力で、awk やその他のコマンドを使って日時をこねくり回すような「無駄に難解なコード」を書かずに Dateutils のコマンド群だけで大抵のことはなんでもできてしまいます。専用のことをするには専用のコマンドを作ることが重要であることを思い出させてくれるでしょう。 Dateutils の重要な特徴と使用例 大抵のコマンドは機能の説明から想像できると思いますし、公式サイトにも例があるので詳細を一つ一つ説明することはしません。その代わりに「Dateutils の使いこなしに必要な考え方」が分かるような例をいくつか紹介します。 重要な注意点ですが Dateutils はロケールをサポートしていますが、原則としてシステムのロケール情報やユーザーの環境変数には依存していません。内部にロケー

            シェルスクリプトで日付処理ならdateコマンドは投げ捨ててDateutilsを使おう! - Qiita
          • 1コマンドでMacBook Proに最低限の開発環境構築 | iret.media

            使っていた端末の調子が悪くなって端末交換したので、開発環境構築のお時間です。 できるだけ簡単に旧端末の設定を引き継ぎつつセットアップしたかったので、いろいろと調べてまとめてみたら、1コマンドでできるようになりました。(準備は含めず) 旧端末を環境構築したときとだいぶ変わりました。 5分でできるMacBook Proに最低限の開発環境構築 – Qiita https://cloudpack.media/42029 手順 ターミナルを立ち上げて、 > sh -c "$(curl -fsSL https://gist.githubusercontent.com/<GitHub UserID>/<Gist ID>/raw)" おーかんたん。これで必要なアプリがだいたいインストールされます。 ※コマンド実行中、パスワードを求められることがあります。 何をしているのか? セットアップに必要なコマンドを

              1コマンドでMacBook Proに最低限の開発環境構築 | iret.media
            • うろ覚えのシェルやGitコマンドでも大丈夫。自然言語でコマンド入力を支援する「GitHub Copilot CLI」、プロトタイプ公開に向け登録開始

              日常的にターミナル画面からコマンドラインインターフェイス(CLI)を使って仕事をしているITエンジニアであっても、使い慣れないシェルコマンドのオプションをなかなか思い出せないことや、めったに使わないGitコマンドを調べながら試してみる、といったことがあるのではないでしょうか? GitHubの研究開発部門であるGitHub Nextは、自然言語でAIと対話しコマンドライン入力を支援してくれる「GitHub Copilot CLI」のプロトタイプ公開に向け、ウェイティングリストへの登録を開始しました。 下記はGitHub Copilot CLIの開発者の1人であるMatt Rothenberg氏のツイートです。登録開始はこのツイートで告知された模様です。 We're finally ready to start flagging users in to GitHub Copilot CLI I

                うろ覚えのシェルやGitコマンドでも大丈夫。自然言語でコマンド入力を支援する「GitHub Copilot CLI」、プロトタイプ公開に向け登録開始
              • シェル芸の可読性を向上させるマルチライナー記法のススメ - Qiita

                マルチライナー記法とは? マルチライナー記法とは、その名の通りシェル芸をワンライナーではなくマルチライナー(複数行)で書くことです。長すぎる行をワンライナーで書くと以下のように横スクロールが必要になって非常に読みにくくなります。(コードは Convert long single line command to a bash shell script より借用。長いコードとして利用しているだけで中身に意味はありません)。マルチライナー記法はこのようなワンライナーを読みやすく書くことです。 nice --20 iperf3 -c somelocation.com -f k | while IFS= read -r line; do echo "$(date) $line"; done | tee onespeed.txt | tee -a speeds.txt; sleep 30 ;cat o

                  シェル芸の可読性を向上させるマルチライナー記法のススメ - Qiita
                • bash の select は令和の時代も役に立つ, その一例 - ようへいの日々精進XP

                  tl;dr man bash 例 若干の Kubernetes クラスタを選択したい Kubernetes Pod を選択したい 以上 tl;dr ホントにちょっとした運用ツールを bash で作っていて, 複数の選択肢をリストアップしてメニューとして選択出来るようにしたいなーと思っていたら, bash には select 文という超絶便利な構文が用意されていたので使ってみました. man bash https://linuxjm.osdn.jp/html/GNU_bash/man1/bash.1.html より引用させて頂きつつ, 重要だなと思ったところをかいつまんで. select name [ in word ] ; do list ; done in に続く単語のリストが展開され、要素のリストが生成されます。 展開された単語の集合が番号付きで標準エラー出力に出力されます。 「in

                    bash の select は令和の時代も役に立つ, その一例 - ようへいの日々精進XP
                  • レガシーなインフラを改善するつもりが組織の悪者になる話 - Qiita

                    はじめに みなさんの職場に古いインフラはありますか?ありますよね。 SVN,CVS...ですらないファイル名駆動のバージョン管理 id/pass不明でログインできない稼働中のビルドサーバ WindowsServer200X アンタッチャブルな巨大シェルスクリプト ... 小規模の会社でサーバサイドを齧っていると、 「クラウドネイティブ」という言葉とは無縁の世界で仕事をすることがあります。 え、そんなこと一度もない? これからもあなたの幸運が続きますように。 改善活動スタート さすがに辛いので、改善を視野に入れて地道に調査をするわけです。 えいやで滅ぼしたい気持ちをグッと抑えます。 予算確保(のためのリスクの整理) 利害関係者の洗い出し 業務のフローで必須なインフラのリストアップ いざ置き換える算段がついたら、工事の計画を練ります。 業務の影響確認 バックアップ 移行期間の周知 等々。 現実

                      レガシーなインフラを改善するつもりが組織の悪者になる話 - Qiita
                    • Dev Containerを使ってステップバイステップで作るPythonアプリケーション開発環境 - 電通総研 テックブログ

                      みなさんこんにちは、電通国際情報サービス(ISID)Xイノベーション本部ソフトウェアデザインセンターの佐藤太一です。 この記事では、VS CodeのDev Containerを使ってOSに依存しないPythonの開発環境を構築する方法をステップバイステップで丁寧に説明します。 VS Codeの利用経験があり、またPythonによるアプリケーション開発に興味のある方を想定読者として記述しています。Pythonの初心者から中級者向けを意識して書いていますので、意図して冗長な説明をしています。 すでにPythonによるアプリケーション開発に十分に詳しい方は、まずはまとめだけ読んでみてください。私自身それほどPythonのエコシステムに詳しいわけではありませんので、知識の抜け漏れは恐らくあるでしょう。そういった事に気が付いたら、XなどのSNSでこの記事のURLを付けてコメントをしていただけると幸い

                        Dev Containerを使ってステップバイステップで作るPythonアプリケーション開発環境 - 電通総研 テックブログ
                      • 1週間で数百万回もダウンロードされる人気JavaScriptライブラリが乗っ取られる、Windowsデバイスはパスワード盗難の恐れも

                        パッケージ管理ツールのnpmで公開されている「UAParser.js」は、ユーザーエージェントの判定処理を実行するJavaScriptライブラリであり、Facebook・Microsoft・Amazon・Googleなどの超大手企業を含む1000以上のプロジェクトで採用されています。そんなUAParser.jsがハッカーによってハイジャックされ、LinuxおよびWindowsデバイスを対象に暗号資産採掘やパスワードの盗難を行うトロイの木馬が仕込まれていたことが判明しました。 Security issue: compromised npm packages of ua-parser-js (0.7.29, 0.8.0, 1.0.0) - Questions about deprecated npm package ua-parser-js · Issue #536 · faisalman/u

                          1週間で数百万回もダウンロードされる人気JavaScriptライブラリが乗っ取られる、Windowsデバイスはパスワード盗難の恐れも
                        • Slim Framework と Docker を使って本格的にアプリを作ってみよう|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

                          Slim Framework と Docker を使って本格的にアプリを作ってみよう はじめに Web アプリケーションの開発をするにあたっては勉強しなければならないことは多く、どう勉強すれば良いかはなかなか難しい問題です。初心者向けの解説は比較的たくさんあるのでとりあえずやってみるくらいは何とかなるものの、実戦的な開発がどうなっているかという総合的な話は実務を経験しないとわからないことが多いことでしょう。 ということで、本記事では最近流行の Docker と、そこそこ名前は見かける PHP のマイクロフレームワークの Slim Framework を使って実戦的な Web アプリの開発をしてみる(開発環境を作ってみる)こととします。実装的には、ドメイン実装としてユーザー登録、ログイン、ユーザー情報取得の3つのAPIを実装するところまでを取り扱います。また、静的解析を最大限活用してユニット

                            Slim Framework と Docker を使って本格的にアプリを作ってみよう|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
                          • bashの機能いろいろ

                            シェルスクリプトを書いていると「それはbash独自機能だから」「POSIXシェルには無い機能だから」と言われることがよくあります。だいたいは「それみんな使ってるのでPOSIXで標準化されてると思った」といったものなのですが、本記事では便利なものから「え、それやるくらいならPythonでよくない?」まで、bashの機能を紹介しようと思います。 for文でC言語っぽくループを回す シェルスクリプトでfor文といえばfor i in $(seq 10)とかをよく使いますが、bashだと以下のように書けます。

                              bashの機能いろいろ
                            • 「実践Redis入門」所感 ~「E.G.コンバット」の観点から語る~ | フューチャー技術ブログ

                              積読を消化しようというテーマの、読書感想文連載 の2冊目です。 導入『自分たちは、クラウドネイティブじゃなくてマネージドネイティブなんだよ…』 TIGの原木です。 最近、冒頭のような開発者の嘆きを人づてに聞く機会があり、今も脳裏に残り続けています。 昨今のITシステムにおいて、クラウドサービスは欠かせないものとなっています。しかしユーザー、そして開発者として大きな利便性を享受する裏で、クラウドサービスによって巧妙に隠蔽された裏のソフトウェアを意識する機会は減り続けているのではないでしょうか? Webサービスにおいて、RedisやMemcachedに代表されるキャッシュサーバーもそのようなソフトウェアの1つです。 キャッシュサーバーは、Webアプリケーションなどデータの読み込みや保存を効率化するために欠かせない存在ですが、同じデータストアであるRDBMSなどと比較していま一歩隠れた存在だと思

                                「実践Redis入門」所感 ~「E.G.コンバット」の観点から語る~ | フューチャー技術ブログ
                              • 大規模サービスのインフラを全面的にリプレイスした話 - Qiita

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

                                  大規模サービスのインフラを全面的にリプレイスした話 - Qiita
                                • 無印良品のウェブサイトが止まってる件について思うこと

                                  この件⇒ https://togetter.com/li/1452558 ユニケージはbashのパイプで作られた、RDBMSを使わずテキストファイルによる空白区切り行志向レコードへのデータ処理(だいたいプログラム1本の処理内容がメインフレームのCOBOLのそれと同じくSQLクエリ1個に相当する)で、同形式によるマスタとトランザクションファイル(RDBMS内部のredoログに相当)を使う(データに含まれる空白文字0x20はアンダーバー0x5Fに置換する、アンダーバーが複数存在するデータの場合どう扱うかは知らない) 開発と更新は早いんだけど参照が(テキストファイルなので)インデクスが効かないためシャーディングするしかなく、要するに検索機能の柔軟性がなく、リアルタイム性を損なう おそらく基幹系というか在庫管理をユニケージでやっているので、ウェブサイト自体はユニケージで実装されていないかもしれない

                                    無印良品のウェブサイトが止まってる件について思うこと
                                  • これだけ読めばOK!Scalaの環境構築2023 - Lambdaカクテル

                                    自分は、仕事でScalaを数年間・プライベートな経験を含めると10年弱のScalaの経験がある、そこそこの熟練Scalaエンジニアだ。チームにメンバーが入ってきたり他人に勧めるたびにScalaの環境構築を教えている一方、最新の知見を反映した記事が無くて他人に勧めづらかったので、自分が書くことにした。 現在ある記事 けっこう古びている 覚えながら書かれていることが多いのでやや曖昧な箇所がある(でもありがとう!) 最新のツールが利用できておらず無駄が多い 網羅的でない 今回目指す内容 最新の知見を活用して最短距離を目指す 何もない状況から一通りのツールが揃う所を目指す Scalaの環境構築は年を追うごとに簡単になってきているので、大多数の読者は引っかからずに進めるようになっているはず。 Scalaは基本的にJVMで動作する言語だ。このため環境構築にはJVMのセットアップも含まれるのだが、それに

                                      これだけ読めばOK!Scalaの環境構築2023 - Lambdaカクテル
                                    • タイミー、オライリー本30冊が自宅に届く「オライリータワー」制度開始。「オライリータワー」プレゼントのお年玉企画開催中!|Timee

                                      タイミーは昨年11月に「開発組織のメンバー一人ひとりが能力とモチベーションを最大限発揮し続けるための環境づくり」をMissionとした「DevEnable室」を設立しました。 日々エンジニアが感じる課題に向き合い、学習機会の充実や、キャリアアップのサポートなどを通して「エンジニアの進化」に伴走しています。 ※DevEnable=Developer Enablement 向き合った課題:求められる技術は学んできたけど、もっと体系的に理解を深めたい…・アプリケーションレイヤーを開発する上では、OSレイヤーやネットワークのこと、監視についても色々学んだほうがよさそうだ… ・技術書を買うこと自体はいいんだけど、申請を一件ずつあげるのも面倒だ… エンジニアが開発を行う上で、現在自分が使える技術をよく知っているというだけではスキルを高めることはできません。 関連する周辺の技術や過去に主流だったもの、そ

                                        タイミー、オライリー本30冊が自宅に届く「オライリータワー」制度開始。「オライリータワー」プレゼントのお年玉企画開催中!|Timee
                                      • DBのリストアテストを全自動化した話 - Pepabo Tech Portal

                                        ホスティング事業部の業務信頼性向上チームでエンジニアをしているはらちゃんです。 先日STREET FIGHTER 6のオープンベータに参加し、友人にボコボコに負けました。 製品版買っていい勝負ができるように特訓を重ねたいと思います。 今回、ホスティング事業部のサービスであるロリポップ、ムームードメイン、ヘテムル、おさいぽのDBリストアテストを自動化したので紹介します。 まず業務信頼性向上チームとは? リストアテストを継続的にやっている理由 なぜ自動化したのか 全体像 具体的な実装 実装時に困ったこと dumpのサイズが大きすぎて通常のrunnerではリストアテストができない場合 scpをするアカウントにdumpファイルを操作する権限がない場合 dumpファイルのファイル名が微妙に違ってうまく指定できない場合 終わりに まず業務信頼性向上チームとは? 最初に、自分の所属している業務信頼性向上

                                          DBのリストアテストを全自動化した話 - Pepabo Tech Portal
                                        • Erlangについて思うところ

                                          職場の今までいた部署が潰れてしまったので、新しい部署で仕事のためにErlangを学んでいる。基礎的な文法については学び終わったので、現時点でのErlangについての雑感を書いておこうと思う。 Erlangは多数派のプログラミング言語とはだいぶ違う文法を持っている。終端記号がドットであることもそうだが、比較演算子もだいぶ違っている。多くの言語が!=を使うなか、Erlangは/=を使っている。Less than or equal toが=<であるのも多数派とは異なっている。ただし、Greater than or equal toは>=だ。一貫性がない。 終端文字はドットだが、関数の中には一つの式しか書くことができない。式はカンマで区切ることができるので、以下のようになる。 func() -> expr1 , % カンマ expr2 , % カンマ expr3 . % ドット このような文法はリ

                                          • 『みずいろ』HDDフォーマット事件は本当だったのか検証する - castaneaiのブログ

                                            あるとき、ネット上でこんな事件の噂を発見した。 『みずいろ』 HDDフォーマット 事件 エロゲー業界を彩る悲惨な事件は数多あれど、威力と内容を考えて4番を張れるものといえば、やはりこれだろう。2001年、ねこねこそふとから発売された『みずいろ』初回ロット版に限り、アンインストールするとHDDの他のデータを巻き込んで吹っ飛ばす、という恐るべき不具合が発生していた。実はこの件、「インストールしたフォルダをまるごと消す」(当時は、自動で「mizuiroフォルダ」などを作らなかったので、たとえばProgram Fileフォルダに直接インストールしてしまうと、アンインストール時にProgram Filesフォルダそのものを削除していた)というものと、「インストールしたフォルダ外のデータを消すことがある」という話が出ていて、不具合な正確なところは私も把握していないのだが、とりあえずヤバいバグということ

                                              『みずいろ』HDDフォーマット事件は本当だったのか検証する - castaneaiのブログ
                                            • インフラエンジニア学習ロードマップ | 電算星組

                                              はじめに Developer Roadmapsの内容が興味深く、自分の経験を元に日本のインフラエンジニア向けの学習ロードマップを作ってみました。 これからキャリアをスタートする駆け出しエンジニアの参考になれば幸いです。 ※私自身の限られた経験のもとに作成した学習ロードマップです。偏った内容や、時代の流れで主流が変わってしまった部分もあると思うので、色々な方のご意見コメントを頂けると嬉しいです! [2020/8/12追記] 図中の技術選定や学習順序について解説を追記しました。 前提条件 以下の前提条件で作っています。自身の置かれている環境に合わせて、学習内容は適宜取捨選択することをお勧めします。 1〜3年目の新人エンジニア向け SI業界で使われるエンタープライズ系技術を想定 オンプレとクラウドはどちらも扱う オンプレ機器は経験上よく見かける製品を代表して記載 ファシリティ、アプリケーションの

                                              • Bourneシェルの終焉まで残り1年 ~ 新しいシェルへの移行は完了していますか? - Qiita

                                                はじめに 30年以上もの長い間 UNIX を支えてきた Bourne シェルも UNIX のサポート終了とともに消え去ろうとしています。みなさん、他のシェルへの移行はお済みでしょうか? 残り一年、まだ移行が済んでいないという人のために、移行のための簡単なガイドラインと各シェルの特徴をまとめました。 sh は昔は Bourne シェルのことでしたがそれも過去の話です。今どき「Bourne シェル」を解説している記事や sh のことを Bourne シェルと呼んでいる記事は情報が古い(大学関係に多い)、または古い情報を元にして書かれたか、シェルのことを正しく理解してない不正確な記事なので参考になりません。分かりやすい基準ですね。 関連記事 シェルとUNIXコマンドの未来 ~ これからの10年で起きるシェルスクリプトの変化 残り1年というのはどういうこと? Bourne シェルは POSIX に

                                                  Bourneシェルの終焉まで残り1年 ~ 新しいシェルへの移行は完了していますか? - Qiita
                                                • NVIDIA Docker って今どうなってるの? (19.11版) - Qiita

                                                  大事なお知らせ NVIDIA Docker リポジトリでの 2020 年 9 月の変更により、この記事内容と最新の状況に割と大きな差ができてしまいました。最新の状況に合わせた改訂版を、エヌビディアジャパンの Medium ページに投稿しましたので、今後は是非 Medium のほうをご覧ください。 NVIDIA Docker って今どうなってるの? (20.09 版) 以下、2020 年 8 月までの内容です。 ※ 2020/07/09 CUDA 11 の正式リリースに伴い、CUDA のインストールコマンド例を 11.0 のものに更新しました。 ※ 2020/06/13 CUDA 11 RC のリリースに伴い、CUDA 10.2 のインストールページからインストールしても CUDA 11 RCがインストールされるケースが確認されたので、10.2 を明示的に指定するように例示コマンドを更新しま

                                                    NVIDIA Docker って今どうなってるの? (19.11版) - Qiita
                                                  • 入門 継続的デリバリー

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

                                                      入門 継続的デリバリー
                                                    • dotfiles 振り返り2022

                                                      まだまだ 2022 年の振り返りが終わらないぜということで今日は dotfiles の振り返り。dotfiles はその変遷を見ると面白いので、毎年やろうと思い早速やっていきたい。 ちょっと前に M2 の MBA 買って、dotfiles を一新した。 これが今の dotfiles だ。 https://github.com/sadnessOjisan/dotfiles コンセプト 自分は Mac しか使わない が、WSL 環境も持ってるのでシェル周りの環境は移せるように作っておく(原神しかしないけど・・・) make all だけでセットアップが完結する 手作業はしない なるべく標準に準拠し、プラグインやライブラリへの依存を減らす。入れる場合も単体で剥がせるものを選ぶ。 シンボリックリンクを貼って、dotfiles の変更が即時に反映されるようにする .config など XDG に準拠

                                                        dotfiles 振り返り2022
                                                      • 実行中のシェルスクリプトをchattr(1)を使ってimmutableにするというのはどうか - その手の平は尻もつかめるさ

                                                        [追記] 実行中のシェルスクリプトをchattr(1)を使ってimmutableにするというのはどうか - その手の平は尻もつかめるさ 調べてみたけどこれが良さそう <a href="https://stackoverflow.com/a/3399850/1921216" target="_blank" rel="noopener nofollow">https://stackoverflow.com/a/3399850/1921216</a>2022/01/02 17:02 b.hatena.ne.jp このブックマークコメントで指摘されましたが、immutableにするまでもなくこのラッパースクリプトを噛ませると良さそう。 #!/bin/bash # usage: # sh-run.sh script-you-want-to-run.sh args... set -ue file="$

                                                          実行中のシェルスクリプトをchattr(1)を使ってimmutableにするというのはどうか - その手の平は尻もつかめるさ
                                                        • プラットフォーム エンジニアリングに関する 5 つの誤解: プラットフォーム エンジニアリングとは一体なのか | Google Cloud 公式ブログ

                                                          Darren EvansEMEA Practice Solutions Lead, Application Platform ※この投稿は米国時間 2024 年 5 月 30 日に、Google Cloud blog に投稿されたものの抄訳です。 なぜ新しいトピックに対して否定的になってしまう人がいるのか、その理由は、群盲象を評すの寓話からわかります。その人自身の視点からのみで物事を見てしまうと、その全体像を見失ってしまうということです。プラットフォーム エンジニアリングはソフトウェア デリバリーの比較的新しい手法です。現在、IT 組織やソフトウェア エンジニアのチームの多くがプラットフォーム エンジニアリングについて検討している段階にあるのですが、プラットフォーム エンジニアリングとは何なのか、プラットフォーム エンジニアリングで何ができるのか、プラットフォーム エンジニアリングを導入す

                                                            プラットフォーム エンジニアリングに関する 5 つの誤解: プラットフォーム エンジニアリングとは一体なのか | Google Cloud 公式ブログ
                                                          • ISUCON12で優勝しました(チーム NaruseJun)

                                                            8月27日に開催されたISUCON12 本選にチームNaruseJunとして参加し、スコア341,258点で優勝しました。(ISUCON12 本選の結果発表と全チームのスコア) メンバーは @sekai と @takashi_trap でした。 この記事はその参加記です。 チームについて このメンバーでのISUCONへの参加は10(予選敗退), 11(準優勝)から3回連続です。 それぞれのISUCON参加回数は @to-hutohu, @sekaiが6回目、@takashi_trapが5回目です。 予選準備 7月9日と7月17日に予選のために集まって作戦会議をしました。 7/9 1時間程度集まって素振りに向けた作戦会議 素振りの環境準備、チートシート、初動のAnsible整備、Goを思い出すなどがそれぞれ宿題として持ち帰ることに 7/17 素振り会(ISUCON11予選) 5時間くらいで初

                                                              ISUCON12で優勝しました(チーム NaruseJun)
                                                            • ようこそdotfilesの世界へ - Qiita

                                                              はじめに 少し前から話題になっているが、日本の労働生産性はG7で最も低いらしい。 日本生産性本部資料より https://www.jpc-net.jp/intl_comparison/intl_comparison_2018_press.pdf 日本は人口減少に突入していることもあって、「作業の効率化」や「自動化・省力化」をいうフレーズをあらゆる業種で聞くようになった。 ITエンジニアは、あらゆる職業の中でも最も効率化、自動化をして生産性を高められるといっても過言ではないだろう。プログラマの三大美徳(「怠惰」「短気」「傲慢」)にもあるように、同じことを何度もやらない、楽をするためにがんばるという生産性を意識した感性が重要視されているからだ。 生産性を高めることで、勉強する時間が作れたり、新しいことを経験したりするなどしてさらにスキルアップができ、さらに生産性が上がるという好循環を作り出すこ

                                                                ようこそdotfilesの世界へ - Qiita
                                                              • Let’s Encryptでワイルドカード証明書を取得する話 | IIJ Engineers Blog

                                                                はじめに SoftwareDesign 8月号のDNS特集にて記事を書かせていただきました。みんな買ってね。 で、実は最初に書いてた原稿はもっと長かったんですけど、紙幅の都合で一部の内容については掲載を見送りました。せっかく書いたのに捨てるのはもったいないので、先日おこなわれたDNS Summer Day 2022で発表しようかと準備してたんですが、途中で気が変わって違う内容になりました。そんなわけで、最終的にエンジニアブログにて供養します。加筆修正しまくっているので元の原稿の気配はもはや残り香程度に漂うだけですが。 ACMEでdns-01チャレンジ サーバ証明書を無料かつ自動で取得できるサービスとして有名なものにLet’s Encryptがありますが、Let’s Encryptの仕組みはLet’s Encrypt独自のものではありません。ACME (RFC8555)として標準化されていて

                                                                  Let’s Encryptでワイルドカード証明書を取得する話 | IIJ Engineers Blog
                                                                • SSDを簡単に消去するコマンドを作ってみた - Qiita

                                                                  SSDを簡単に消去するコマンドを作ってみた 更新情報 2024-02-16 「ドライブのfrozen」と「本当に消去できているのか」を追加 ストレージの消去コマンド 最近になってSSDやHDDのストレージには、セキュアイレース(Secure Erase)という書き込まれているデータを消去する制御コマンドがあることを知りました。FreeBSDやLinuxにはこの制御コマンドを発行するコマンド(FreeBSDではcamcontrol, Linuxではhdparm)が用意されています。書き込み済データを完全に消去できるのであれば、廃棄時に機密情報の漏洩を心配をする必要が無くなります。 消去そのものは制御コマンドを送るだけなのですが、そのためには事前に指定した手順でストレージ側を消せる状態にする必要がありOSのコマンドをそのまま使うだけでは微妙に手間です。そこでこれらの手順をまとめて、データ消去を

                                                                    SSDを簡単に消去するコマンドを作ってみた - Qiita
                                                                  • Linuxでディスク使用量を確認するdufコマンドの使い方

                                                                    基本はdfコマンドだが Linuxサーバは基本的にさまざまな操作をターミナルで行えるようになっている。WindowsプラットフォームのようにGUIが必須ではないというのが特徴だ。しかし、GUIに慣れたユーザーからすると、コマンドの出力はいささかシンプルすぎて直感性に欠けると感じるかもしれない。 また、サーバ管理において、ディスクストレージの空き容量の管理は重要だ。空き容量が足りなくなるとソフトウェアが正常に動作しなくなる。ストレージの空き容量は典型的にはdfというコマンドで確認できるが、GUIに慣れていると、dfコマンドの出力は多少物足りないかもしれない。 dfコマンドの実行サンプル そんな場合はdufコマンドを試してみるとよいだろう。It's FOSSが「Check Your Disk Usage Using 'duf' Terminal Tool in Linux」において、dufコマ

                                                                      Linuxでディスク使用量を確認するdufコマンドの使い方
                                                                    • 【Kubernetes】1週間かかる処理を1.5時間で終わらせた【並列処理】 - ニートの言葉

                                                                      こんにちはあんどう(@t_andou)です。 今回はKubernetesを使って並列処理させた記録です。 まだ「とりあえずそれっぽく動くまで試してみた」という段階で、kubernetesを理解できてはいないので自分用のメモを公開しているという認識でご覧ください。 間違っている部分や、よりスマートなやり方がありましたらご指摘いただけると幸いです。 この記事の概要 機械学習に使う特徴量の作成で1週間かかりそうな処理を10分くらいで終わらせられないかと考え、GKE(=GoogleのKubernetes環境)を使い試行錯誤した記録です。 今回は一部失敗して完了時間が1.5時間になったものの、設定を上手く出来れば15分程度で終わる見込みです。 対象読者 ・Kubernetesの概要は知っているくらいのレベルの人 ・KubernetesのJobを使った並列処理をしたい人 目次 この記事の概要 対象読者

                                                                        【Kubernetes】1週間かかる処理を1.5時間で終わらせた【並列処理】 - ニートの言葉
                                                                      • 【衝撃の罠】bashスクリプトのパフォーマンス測定は、対話シェルでやっても無意味だ! - Qiita

                                                                        理由 びっくりした。対話シェルで実行してパフォーマンス測定すると何故かめちゃくちゃ時間がかかる。これではデータにならない。 追記 よくよく考えたらパフォーマンス測定だけの問題ではなく実際に遅くなるのだから、対話シェルから「このようなコード」を実行してはいけないということを意味しています。「このようなコード」がどのようなコードなのか発生条件はまだ特定できていませんが、少なくともシェルスクリプトにしていれば問題は発生しません。また bash 以外のシェルでも問題は発生しません。 検証結果が気になった方は、ぜひ試してみて、この話を広めてください。 証拠 実行環境: Ubuntu 22.04.3 LTS、bash 5.1.16

                                                                          【衝撃の罠】bashスクリプトのパフォーマンス測定は、対話シェルでやっても無意味だ! - Qiita
                                                                        • Windowsユーザーは試してほしい。macOS機能のようなツール7選 | ライフハッカー・ジャパン

                                                                          macOSの機能の中には、本当に高性能で、もはやレジェンドと化しているものさえあります。たとえばMacは、「Spotlight」を使った高速ローカル検索のパイオニアです。 それがどんなファイルでも、スペースバーを押せば、「Quick Look」で瞬時にプレビューできます。「Dock」についても同じことが言えますし、MacとほかのAppleデバイス間で何でも簡単に「AirDrop」できる機能についてもそうです。 MacからWindowsへ引っ越したばかりの人は、きっとこれらの機能を恋しく思うことでしょう。長年のWindowsユーザーの人たちでさえ、Macのデフォルトオプションのすごさはよく知るところです。 そんなわけで、進取の気性に富んだ少なからぬWindowsデベロッパーが、慣れ親しんだWindowsパソコンの使い心地を損なうことなく、これらのmacOS機能をWindows環境に統合するツ

                                                                            Windowsユーザーは試してほしい。macOS機能のようなツール7選 | ライフハッカー・ジャパン
                                                                          • ただ15行のシェルスクリプトで個人ナレッジマネジメントツールを作った話

                                                                            はじめに 自分が読んだ本や記事などを読む時に書いたノートを体系的に管理したいですよね。 現在優秀なナレッジマネジメントツールはありふれています。企業向けだと Confluence DocBase Qiita Team などがあります。個人向けは Notion HackMD Boost Note のようなシンプルで使いやすいツールがあります。マインドマップツールをさらに含めると数え切れません。 筆者自身はミニマリストです。 コードのようにGithubで自分のノートを管理したい Webからマインドマップ形式になっているノートを確認したい サブスクではなく、無料で使いたい なので、個人ナレッジマネジメントツールを自作したいという発想に至りました。 結果としては下記の15行シェルスクリプト、GitHub ActionsとMarkdownマインドマップ変換ツールmarkmapで作りました。 項目をク

                                                                              ただ15行のシェルスクリプトで個人ナレッジマネジメントツールを作った話
                                                                            • 【shell】tmuxの作業画面を一発で構築するコマンドを作ってみた | DevelopersIO

                                                                              例えば以下のような形にpaneを分割したければ prefix - s, prefix - v, prefix - J J J J というような形で分割→リサイズをする必要がありました。これが毎回やっていると非常に面倒になります。というわけで、よく使う作業環境を作ってくれるコマンドを作成します。 画面分割 ①vim用, その他用で分割する時 windowを2つのpaneで分割して、上の大きなペインでvimを開きコードやメモを書いて、下の小さめのペインでシェルを使用したい時はこんな形になります。これを作成するコマンドを書いてみます。 tmux split-window -v tmux resize-pane -D 15 tmux select-pane -t 1 ②vim用, コード実行用, git用で分割する時 ウィンドウを3分割して、上のペインでvimを開きコードを書いて、左下ペインでコー

                                                                                【shell】tmuxの作業画面を一発で構築するコマンドを作ってみた | DevelopersIO
                                                                              • GitHub Actionsって何?触ってみて理解しよう!入門・逆引きリファレンス - Qiita

                                                                                ある日のこと 「さーて、今日もGitHubにコミットをプッシュしていくぞ〜〜」 「ローカルでコミットした変更をgit push origin mainして、、」 「github.comのレポジトリを見にいくと、、お!反映されているな!Initial Commitってちゃんと出ているぜ!」 「そういえば、いつも気にしていなかったけどActionsタブってのがあるな?これってなんだ?」 これがGitHub Actionsです。レポジトリごとに用意されていて、Actionsタブから管理、確認することができます。 「ほ〜。GitHub Actionsっていうのか・・なんのためにあるんだろう?ここで何ができるの?」 GitHub Actionsとは GitHub ActionsはGitHubがサービスの一環として提供する、ワークフロー自動化サービスです。 簡単に言えば、「開発している時にやりたいこと

                                                                                  GitHub Actionsって何?触ってみて理解しよう!入門・逆引きリファレンス - Qiita
                                                                                • 開発/Stg環境のための本番DBマスキングと継続的リストアの仕組みを作りました | ランサーズ(Lancers)エンジニアブログ

                                                                                  SREチームの安達(@adachin0817)です。今回はMENTA、Lancers Creative、Lancers Agencyでマスキングした本番環境のデータをStgや開発環境のMySQLコンテナへ毎週リストアする仕組みを実装しました。実際にここらへんは運用をしていく中で一苦労されている方も多いのではないでしょうか。それではまず背景と、実装するに当たっての活動含めてご紹介できればと思います。 背景 今回はMENTAを例にしています。各サービスの開発環境はDockerを利用しており、本番とStg環境はTerraformで管理しています。カラム追加ではマイグレーションを実行することでサンプルのスキーマファイルを投入して開発をしているのですが、たまに開発環境で動いていたソースがStgや本番で動かないといったことで開発効率が下がることが見受けられます。開発メンバーにとってはより本番環境に近い

                                                                                    開発/Stg環境のための本番DBマスキングと継続的リストアの仕組みを作りました | ランサーズ(Lancers)エンジニアブログ