並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 150件

新着順 人気順

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

  • 新しい curl コマンドの使い方 完全ガイド(2025年版) - Qiita

    はじめに curl とは対話シェルやシェルスクリプトから HTTP 通信を行うのによく使われるコマンドです。あらゆる環境(100 種類の OS)で動作し、macOS や Windows には標準でインストールされています。商用サポートもあり、互換性は非常に重視され、何年経っても同じ書き方で動きます。非常に長く使われており(1998 年生まれの 27 歳1)、そして古い情報もたくさんあります。この記事ではそういった古い情報を、より簡単で新しい curl コマンドの使い方にアップデートします。最初に結論を書いておくと、 もう -X POST -H "Content-Type: applicatoin/json" なんて書かなくていいですよ。 (記事を読まない人のためのリンク) この記事を書くにあたって以下の記事を参考にしています。この記事が書かれたのは 2015 年、現在はそれから 10 年後

      新しい curl コマンドの使い方 完全ガイド(2025年版) - Qiita
    • 【教材まとめ】これ全部やったら流石に誰でもつよつよAIエンジニアになれる - Qiita

      はじめに 本記事ではAI知識ゼロから始めてAIエンジニアとして実務にチャレンジできるレベルを目指してロードマップ形式でコンテンツをまとめました。 生成AIの台頭、SakanaAIの大型資金調達やGoogleの研究者(ヒントン氏ら)のノーベル賞受賞も重なり、さらにAIへの注目が集まっている状態かと思います。 しかし初学者にとって、AIを学ぶハードルはまだまだ高いのが現状です。AIをツールとして活用するだけなら比較的障壁は高くないですが、理論的な部分まで含めると学ぶべき内容が広く、分野によっては難易度が高く、せっかく学び始めたのに挫折する人も多いです。 未経験だけどAIの知識を身につけたい 現在web開発の知識があり、AIも学びたい AIを学んで転職や副業でバリバリ活躍したい といった方は是非読み進めていってください。 コンテンツは随時追記していきます。 構成 本記事は下記のような構成でコンテ

        【教材まとめ】これ全部やったら流石に誰でもつよつよAIエンジニアになれる - Qiita
      • ShellScriptで自動化を楽にしたい時に知っておいても良いこと | sreake.com | 株式会社スリーシェイク

        はじめに こんにちは、皆さん。今日は、シェルスクリプトを使った高度な自動化のベストプラクティスとパターンについて解説します。これらは、ちょっとした知識で実行でき、作業を大幅に効率化できるTipsです。シェルスクリプトは、特にUNIX系システムでの自動化タスクに欠かせないツールです。適切に使用すれば、複雑なタスクを効率的に、そして信頼性高く実行できます。 トイルとは、反復的でマニュアルな作業のことを指します。これには、例えば、手動でのシステムのスケーリングや、エラーのトラブルシューティング、ルーティンなメンテナンス作業などが含まれます。トイルを特定し、それを自動化することで、エンジニアはより創造的なタスクやプロジェクトに焦点を合わせることができます。 トイルを判別する方法としては、以下のような基準が挙げられます: 手作業であること 完全な手作業だけでなく、「あるタスクを自動化するためのスクリ

          ShellScriptで自動化を楽にしたい時に知っておいても良いこと | sreake.com | 株式会社スリーシェイク
        • 生成AI時代の音声入力ツール:SuperWhisperのすすめ - うみのーと

          はじめに honeshabri.hatenablog.com 骨しゃぶりさんのブログで音声入力が激推しされていて、自分も普段から音声入力を使っているので、その使い方にとても共感できたし嬉しかったです。普通に音声入力がもっと流行ってほしいなと思います。 骨しゃぶりさんのブログ記事に触発されたのもあり、僕も音声入力について記事を書いてみました。この記事では自分のおすすめ音声入力ツールとその活用法を紹介したいと思います。 SuperWhisperのすすめ Whisperという音声認識モデルをご存知の方は多いと思います。これはTransformerベースの音声認識モデルで、OpenAIからOSSとして公開されています。特徴としては従来の音声認識と比べて、聞き間違いや聞き逃しが少なく、ノイズやフィラー(えーと、うーん、あー)を上手に無視してくれて、音声認識の精度が高いというところがあります。 よくあ

            生成AI時代の音声入力ツール:SuperWhisperのすすめ - うみのーと
          • 独力でWebサービスを開発・構築できるフルスタックエンジニアへのロードマップ─幅広いスキルを「Udemy夏のビッグセール」で学ぶ! - はてなニュース

            ※ この記事はUdemyメディアにも掲載されています。下記のリンクよりお読みください ▶️ 独力でWebサービスを開発・構築できるフルスタックエンジニアへのロードマップ─幅広いスキルをUdemyで学ぶ! ※ Udemy「夏のビッグセール」とはてなによるプレゼントキャンペーンは終了しました。記事で紹介しているフルスタックエンジニアのスキルは、引き続きUdemyの講座で学習できます。 Webで新規サービスを立ち上げる際に、UIからインフラ周りまで一人で面倒を見られるエンジニアは、少人数のスタートアップでなくとも非常に頼れる存在です。どんな課題に直面しても技術力で乗り越える、そんなスキルフルなエンジニアに憧れる方も多いでしょう。 この記事では、フロントエンドのプログラミング(JavaScript周辺)からサーバーサイド、インフラ、さらに開発手法まで、Web開発で必要になるさまざまなレイヤーのフル

              独力でWebサービスを開発・構築できるフルスタックエンジニアへのロードマップ─幅広いスキルを「Udemy夏のビッグセール」で学ぶ! - はてなニュース
            • いい加減シェルスクリプトで [ $? -eq 0 ] や [ $? -ne 0 ] なんて エラー処理を書くのはやめよう! - Qiita

              はじめに [ $? -eq 0 ] や [ $? -ne 0 ] は冗長でデメリットしかありません。非常に多く見かける書き方ですが、1979 年に Bourne シェルが広く公開された時からこのようなコードは必要ありませんでした。実際に当時はこのような書き方は使われておらず、このような書き方をしなければならなかった歴史的な経緯などはありません。これはなぜか広まってしまった良くない書き方です。 優れたコードとは無駄がないシンプルなコードです。丁寧なコードとは無駄な処理を書くことではありません。[ $? -eq 0 ] や [ $? -ne 0 ] は書かないほうが、簡単で読みやすくわかりやすくなります。優れた文法を持つシェルは短いコードで正しく動作し、良い書き方は最短の時間と最小の手間で目的を達成することができます。コマンドのエラー処理を簡潔に書くことができるのが、シェル言語の優れている点の

                いい加減シェルスクリプトで [ $? -eq 0 ] や [ $? -ne 0 ] なんて エラー処理を書くのはやめよう! - Qiita
              • Claude Codeに保守しやすいコードを書いてもらうための事前準備やガードレール - くらげになりたい。

                Claude Codeを使いはじめて、いろいろ試してるけど、 なかなかいい感じのコードを書いてくれないな〜と思い、 いろいろ調べてみたときの備忘録(*´ω`*) えいや、でコード生成してくれるけど、 あとで自分で変更したり、保守したりするときに大変なので、 自分がいいとおもう感じに生成してほしかったりする。。 ドキュメントとサンプルコード大事... 事前準備やガードレール一覧 このあたりを用意しておくと、よさそうな感覚 プロジェクトに関するドキュメント(メモリ/コンテキスト: CLAUDE.md) lint/format/自動テストの設定&実行コマンド サンプルコード or テンプレートリポジトリ このあたりは任意、あるとより安心・便利 git-secrets Git Hooks(pre-commits) DevContainer Git Worktree ※おまけ ドキュメント大事・カー

                  Claude Codeに保守しやすいコードを書いてもらうための事前準備やガードレール - くらげになりたい。
                • 今年のLinuxデスクトップ元年はひと味違う。それは、Omakubがあるからだ。 - laiso

                  omakub.org DHHとApple もともと20年来のMacユーザーでTextMate原人であったDHHだが、HEYアプリが何度もAppStoreでリジェクトされた出来事を通じてか、次第にApple反転アンチ化してきた。 元々オルタネイティブな嗜好を持つDHHだったが、脱クラウド運動などの、近年の彼らのビックテックとの闘争にもつながっている。 年初あたりから自社の支給端末であったMacBookのリプレイスを検討し始め、Windows+WSL2やVSCode*1 、そしてLinuxデスクトップの利用を模索し始めていた。 最終的にUbuntuデスクトップを「安住の地」とし、そのセットアップの知見をすべてOmakubに込めたのだ。 エディタをNeovimに*2、スマホもSamsungに乗り換え*3、そしてFrameworkのラップトップを購入。 「ラップトップ買ってきましたUbuntu環境

                    今年のLinuxデスクトップ元年はひと味違う。それは、Omakubがあるからだ。 - laiso
                  • [改訂新版]プロになるためのWeb技術入門

                    2024年11月28日紙版発売 2024年11月28日電子版発売 小森裕介 著 B5変形判/528ページ 定価3,960円(本体3,600円+税10%) ISBN 978-4-297-14571-2 Gihyo Direct Amazon 楽天ブックス 丸善ジュンク堂書店 ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo honto 本書のサポートページサンプルファイルのダウンロードや正誤表など この本の概要 なぜWebシステムをうまく作ることができないのか?――本書は2010年に初版が発行されました。Webに携わるエンジニアだけでなく,Webマーケティング担当者にいたるまでWebの仕組みを根本から理解するための技術書として多くの方々に利用されました。それから10数年の月日が流れ,本書の特徴である技術の根本を

                      [改訂新版]プロになるためのWeb技術入門
                    • 【2024年版】エンジニア必見 生産性があがるチートシート集 - Qiita

                      1. 生成AIチートシート もはやエンジニアの必須ツールとなってきた生成AI。ペアプロやエラー対応などプログラミングに関わるところから、ビジネス判断におけるブレスト相手として、日常の些細なタスクにまで対応する強い味方です。またそれら生成AIを応用したAIエージェントやワークフローを用いたプロダクトなどの開発も日進月歩で進んでいます。 本パートでは、日々進化する生成AIを最大限に活用できるよう、多種多様な生成AIを一覧化して網羅したものから、それらの利用方法・プロンプトエンジニアリングにまで踏み込んだチートシートを集めました。 プロンプトエンジニアリング ソフトバンク - ChatGPTから高度な回答を引き出すプロンプト文例集 業務に使えるプロンプトが幅広く掲載されており、実用的です! マイナビ - プロンプトエンジニアリング・チートシート マイナビから公開されているチートシート。役割の設定

                      • 【完全版】歴史でシェルの設定ファイルを理解する - 全POSIXシェル対応 (.profie, .bash_profile, .bashrc, .zprofile, zshrc, etc.) - Qiita

                        プロファイルでできることは環境の設定だけです。シェルの設定は実際にはできないことはないのですが、やっても無意味なことになるのでできないとします。無意味なことになるというのは新しく起動したシェルにはプロファイルで行うシェルの設定は反映されないということです。環境の設定とは、特定のシェルに依存しない初期化処理のことで、その一つが環境変数の設定です。環境変数は OS の機能であってシェルの機能ではありません。環境の設定には、他に stty コマンドによる端末の設定や umask コマンドによる umask の設定などがありますが、プロファイルで設定することはあまりありません。 rc ファイルでは環境の設定とシェルの設定の両方ができます。シェルの設定、例えばプロンプト文字列の設定やシェルの機能を有効にしたり補完スクリプトの読み込みなどは rc ファイルに書きます。つまり、ほとんどのことは rc フ

                          【完全版】歴史でシェルの設定ファイルを理解する - 全POSIXシェル対応 (.profie, .bash_profile, .bashrc, .zprofile, zshrc, etc.) - Qiita
                        • 無料で「Linuxの基礎」を約60時間学べるLinux Foundationの日本語オンライン講座 その内容とは?

                          Linux入門では、Linux環境で日常業務を遂行するために一般的に使用するツールと手法について学べる。約60時間のオンラインコースで、コースを修了した人には履歴書やプロフィールに追加できるデジタルバッジが送られる。 学習内容は、Linuxの歴史やLinuxコミュニティーに関するものから、Linuxの起動プロセス、コマンドラインによるファイルシステムの操作、デスクトップ環境など、多岐にわたる。他にも、プロセスやスレッドとそのスケジューリング、環境変数、ファイルシステムのパーミッション、ネットワークの概要、シェルスクリプト、Linuxのセキュリティなどにも触れており、Linux Foundation Japanは「単なるOSの使い方にとどまらず、システム管理や低レベルプログラミングに向けた基本を学べる」としている。 なお、Linux入門(LFS101-JP)は、「Linuxシステム管理基礎(

                            無料で「Linuxの基礎」を約60時間学べるLinux Foundationの日本語オンライン講座 その内容とは?
                          • 「Bash」をカスタマイズして、Linuxをより便利に使いこなそう

                            第7回の今回は、Bashの仕組みを解説し、履歴管理やプロンプトをカスタマイズしてCLI環境を向上する方法を解説します。 はじめに どのようなアプリにも、個人用の設定というものが存在します。例えば、Webブラウザはフォントやカラーテーマ、タブの細かい挙動などを個人の好みに応じてカスタマイズできます。Linuxで使われる様々なツールもこうした例に漏れず、非常に柔軟なカスタマイズや機能拡張が可能です。有名なテキストエディタであるVimやEmacsなどがその代表格で、そのカスタマイズの柔軟さと奥の深さは、想像を絶するものがあります*1。 *1: Emacsは一見テキストエディタのように見えますが、その実体はEmacs Lisp言語の実行環境です。Emacs Lisp言語で実装可能なあらゆる機能をエディタ上で実行できるため、無限の拡張性を持っています。そしてLinuxを使いはじめたばかりのユーザーは

                              「Bash」をカスタマイズして、Linuxをより便利に使いこなそう
                            • MCPサーバーを安全に動かすための工夫

                              現在普及しているStdioServerTransport型MCPサーバーの使用方法は設定ファイルにnpxやuvxコマンドを記述する。​これはその場でダウンロードしたスクリプトファイルを実行することを意味する。 https://code.visualstudio.com/docs/copilot/chat/mcp-servers​しかしこの実行方式は開発者には悪名高いソフトウェアのインストール手順「curlしてbash(URLでダウンロードしてきたシェルスクリプトをパイプしてノールック実行)」を思い出させる。「curlしてbash」なら単一の信頼した配布元を基準に判断できるがnpxやuvx方式は依存するライブラリも芋づる式に参照してくる。つまり任意のコードをどこかの経路(MCPサーバー本体でなくその内部の別の依存ライブラリかもしれない)を通じて実行される可能性は残る。 curl | bash

                                MCPサーバーを安全に動かすための工夫
                              • 誤解の多い「NFD問題とUTF-8-MAC問題」を解説する - macOSの濁点を含むファイル名の扱い - Qiita

                                はじめに macOS では濁点や半濁点が含まれるファイル名でたびたび問題が発生しています。この問題は NFD 問題と言われたり UTF-8-MAC 問題と言われることがありますが、必要な情報が正確に書かれているところは少なく、正しく解説してある所でも情報が古く(主に HFS+ 時代の話に)なっており、読むと逆に混乱してしまう場合があります。 macOS 標準アプリや誰かが作ったアプリであればバグが修正されるまで待つだけですが、自分が作ったアプリやシェルスクリプトなどではこれがどういう問題なのかを理解しなければバグが修正できません。この記事ではそれらを整理し直して、(可能な限り正確に)解説したいと思います。検証は macOS 15.3(補助的に 15.5)で行っています。 この問題は、Mac で作成した zip ファイルを Windows で展開したときに、濁点や半濁点を含むファイルに Wi

                                  誤解の多い「NFD問題とUTF-8-MAC問題」を解説する - macOSの濁点を含むファイル名の扱い - Qiita
                                • TypeScript で Web 開発をする際の候補メモ

                                  2025/01/04 Git Hooks ツールの Lefthook を追記 2025/01/05 フロントエンドの状態管理に XState を追記 各リンクテキストを対象名がわかりやすい形式に変更 概要 以前のプロジェクトで使っていたり、進行中に差し替えまでは出来ないけど次使うならこれを使おうと思っていたライブラリやツールなどが、いざ新しくプロジェクトを作ろうと初期構築を始めたら色々と失念している事ってよくありませんか? 最近実際それがあり、個別のページにわかれて技術メモはとってあったりするのですが探しながらは手間なのとブクマしただけのものもあるので、インデックス的に手軽に気になった技術をメモっておく見ながら構築したり技術選定の前段階に使うようなノートを作ったので誰かのお役に立つかもと公開してみます。 気軽に雑にメモるのを前提に作ったものをそのまま公開しているので文体等は統一されてません

                                    TypeScript で Web 開発をする際の候補メモ
                                  • trapを使ったシェルスクリプトの終了処理のテンプレ(POSIX準拠) - Qiita

                                    # 終了処理($1: シグナル名) cleanup() { # 終了処理中に無視するシグナル(他に必要な場合は追加する) trap '' HUP INT QUIT PIPE TERM # ここに終了処理を書く : TODO # 自分自身にシグナルを再送信することでシェルスクリプトを終了する trap - EXIT "$1" [ "$1" = EXIT ] || kill -s "$1" $$ || exit 1 } # トラップするシグナル(他に必要な場合は追加する) for i in EXIT HUP INT QUIT PIPE TERM; do trap 'cleanup '"$i" "$i" done # ここより下に実際のシェルスクリプトの内容を書く : : 自分自身にシグナルを再送信しているところが特徴的だと思いますが、その理由についての解説がこの記事の内容で、POSIX 準拠で

                                      trapを使ったシェルスクリプトの終了処理のテンプレ(POSIX準拠) - Qiita
                                    • AWSのIAMロールに必要な権限が付与されているかシミュレートするCLIツールを書いた - 私が歌川です

                                      はじめに 表題のようなCLIツール aws-iam-policy-sim を書きました。 github.com 使い方 Statement フィールドに、以下のようなオブジェクトの配列が入っている、というJSONファイルを用意しましょう。 Action フィールドにアクション名もしくはその配列 Resource フィールドにリソースもしくはその配列 たとえば以下の通りです。うっすらお気づきの方もいると思いますが、実はポリシードキュメントのJSONがそのまま使えます。 { "Statement": [ { "Action": [ "s3:PutObject", "s3:GetObject", "s3:GetObjectTagging", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::example-bucket/*" ] }, { "Act

                                        AWSのIAMロールに必要な権限が付与されているかシミュレートするCLIツールを書いた - 私が歌川です
                                      • Claude Codeを20万円分使ってバイブコーディングの生産性を更に向上させるツールを作った

                                        バイブコーディングの効率化でGit worktreeが話題になっていたけど、コマンドの実行や管理が大変そうだったので、まずは効率化するツールを作りたいと思いました。いつもならシェルスクリプトとかエイリアスで済ませるところですが、バイブコーディングでOSSとして作ってみたら面白そうと思い、この1週間集中して開発しました。 結果、Git worktreeの管理を効率化するCLIツールをリリースすることができました。途中からはドッグフーディングで自らの生産性も向上させて、Claude Codeを20万円分以上使いましたがCLIツールとしてかなりクオリティの高いものを短期間で作ることができました。 作ったツール PhantomというCLIツールを作りました。Git worktreeを簡単に管理できるツールで、docker execみたいにワークツリーの中でコマンドを実行する機能があったり、tmux

                                          Claude Codeを20万円分使ってバイブコーディングの生産性を更に向上させるツールを作った
                                        • 衛星管制システムとは何か - ArkEdge Space Blog

                                          コンピューティング基盤部の三吉(sankichi92)です。 先月12月にアークエッジ・スペースの開発した衛星「AE1b」が国際宇宙ステーションから放出され、さらに、1月15日には「AE1c」と「AE1d」が打ち上げられ、これらの衛星の運用がはじまりました。 アークエッジ・スペースでは、衛星を効率的に運用するための管制システム1を自社で開発しています。 この記事では、非宇宙分野のソフトウェアエンジニア、特に Web 系エンジニアを対象に、衛星管制とは何か、また、衛星管制システムがどのようなものかを紹介します。 衛星管制とは 衛星管制における通信の制約 衛星管制システムの機能 テレメトリ・コマンド処理 地上局ハードウェアの抽象化 パス予測とコンタクト予約管理 衛星やコンタクトのメタデータ管理 衛星管制システムの技術スタック 衛星運用の今後の展望 衛星管制とは 宇宙開発というとロケットのイメー

                                            衛星管制システムとは何か - ArkEdge Space Blog
                                          • 技術書の執筆を支える技術 - CADDi Tech Blog

                                            IDチームの小森です。 CADDi プロダクトチーム Advent Calendar 2024の18日目の記事になります。 いよいよ年の瀬ですが、皆さんは年初に立てた目標などを達成できましたでしょうか。 私はずぼらなので年初の目標など立てたことはないのですが、今年ようやく5年越しの取り組みに一区切りをつけ、誓いを果たすことができました。 私事ですが、人生3冊目の著書『[改訂新版] プロになるためのWeb技術入門』を2024年11月28日に刊行しました。 おかげさまで好評をいただいております。 本エントリーでは、技術書執筆の技術的な側面について、私が取り組んできたことを紹介したいと思います。 技術書執筆に用いるマークアップ言語 大規模技術文書に必要な要件 Antoraの採用 Antoraによる執筆 Antoraによる出力の実際 複数バージョンドキュメントの生成 Antoraによるサイトジェネ

                                              技術書の執筆を支える技術 - CADDi Tech Blog
                                            • 【エンジニアの日常】エンジニア達の人生を変えた一冊 Part3 - Findy Tech Blog

                                              【エンジニアの日常】エンジニア達の人生を変えた一冊 Part2に続き、エンジニア達の人生を変えた一冊をご紹介いたします。 今回はPart3としまして、Findy Freelanceの開発チームメンバーから紹介します。 人生を変えた一冊 マスタリングTCP/IP―入門編 ハッカーと画家 コンピュータ時代の創造者たち UNIXという考え方 まとめ 人生を変えた一冊 マスタリングTCP/IP―入門編 マスタリングTCP/IP―入門編―(第6版) 作者:井上 直也,村山 公保,竹下 隆史,荒井 透,苅田 幸雄オーム社Amazon 主にバックエンド開発と開発チームのリーダーを担当している中坪です。 私が紹介する「マスタリングTCP/IP―入門編」は通信プロトコルのTCP/IPの基礎について解説している書籍です。 私が最初にこの本を読んだのは、新卒入社した会社で、システムエンジニアとして働き始めた頃で

                                                【エンジニアの日常】エンジニア達の人生を変えた一冊 Part3 - Findy Tech Blog
                                              • 生成AIにアプリを作らせるコツ|erukiti

                                                Claudeの3.5-sonnet最新版(20241022)は間違いなく現時点では最高性能のLLMの一つである。Claude Professional PlanならそれをウェブUI・アプリ上から無制限と言ってもいいほど使える。 もともと、ある要件を実現するためにどうするのがいいか?選択肢を知りたくて、Claude sonnetやChatGPT Plus(gpt-4o, o1-preview)などに聞いてみたら、Claude sonnetが一番好みのアイデアを返してくれたので、さらに深掘りしてアプリを作らせたみた。 OpenAI o1-previewは思いもよらないスマートな解決方法を提示してくれることがある。アイデアを知りたいときに一考の余地はある OpenAI gpt-4oは割とベタというか、微妙? SearchGPTは現時点ではコンテキストを無視しがち(単体の検索はいいけど、それ以上を

                                                  生成AIにアプリを作らせるコツ|erukiti
                                                • シェルでコンテナの実行や操作ができる「Dagger Shell」、Docker創始者らによるDagger社からオープンソースで登場

                                                  Dockerの創始者であるSolomon Hykes氏らが中心となって発足されたDagger社から、コンテナ時代の新しいシェルとうたわれた新ツール「Dagger Shell」が登場しました。 シェルを補完してコンテナを操作可能に Dagger Shellはシェルを置き換えるのではなく補完するものだと説明されています。 Dagger Shellを用いることで、シェルコマンドやシェルスクリプトの中でコンテナの操作が可能になります。 下記はデモ動画のキャプチャです。ここではシェルコマンドとして「container | from alpine | with-exec apk add git | terminal」と入力、実行されています。つまりAlpine Linuxのコンテナを起動してgitをインストールし、terminalを起動するというものです。 Dagger Shellコマンドはサンドボッ

                                                    シェルでコンテナの実行や操作ができる「Dagger Shell」、Docker創始者らによるDagger社からオープンソースで登場
                                                  • MarkdownベースのGo製タスクランナー「xc」のススメ

                                                    Goにおけるタスクランナーの歴史 npmならnpm run、denoならdeno taskなど言語ツールにタスクランナー機能が付属していることがありますが、Goではそのような機能は提供されていません。 そこでGoのプロジェクトではMakefileがタスクランナーとして用いられることがしばしばありますが、独自の文法、.PHONYを大量に書く必要がある、Makefile警察が飛んでくる、などの問題があります。 Makefile警察「ぐぬぬぬ…」 #taskfile - Qiita タスクランナーとしてMakefileを使うことから脱却すべく、巷ではYAMLベースの「Task」やGoベースの「Mage」が用いられている印象です。 どちらも多少試したことはありますが、主に以下の点が気になりました。 Taskfile.ymlやmagefile.goといったツール独自のファイルを置く必要がある これは

                                                      MarkdownベースのGo製タスクランナー「xc」のススメ
                                                    • CI/CD革新 GitHub Script活用術 - enechain Tech Blog

                                                      はじめに GitHub Script概要 セットアップ context の中身 eSquare Liveでの活用事例 発生した問題 タグの打ち間違い releaseブランチが複数存在する場合のデプロイ先選択の複雑化 解決策としてのGitHub Scriptの活用 機能1 vX.Y.Zのタグがmainブランチのコミットハッシュと一致することを確認する 機能2 releaseブランチは最新バージョンのみ自動で検証環境にデプロイする 完成版スクリプト まとめ はじめに こんにちは、enechainでeSquare Liveを開発しているエンジニアの古瀬(@tsuperis3112)です! 今回は、マニュアル依存になりがちなデプロイフローの問題を actions/github-script で解消した方法についてお話します。 eSquare Liveの開発では、効率的かつ信頼性の高い開発フローを維

                                                        CI/CD革新 GitHub Script活用術 - enechain Tech Blog
                                                      • GitHub Actions はチューリング完全

                                                        チューリング完全とは、ざっくり説明すると、一部を除くほとんど全ての計算が可能な能力を意味します。言い換えると、ほとんど全ての計算問題を解く能力を意味します。(あとでもう少し詳しく説明します。)プログラミング言語は一般にチューリング完全であり、例えば TypeScript や Python はチューリング完全です。プログラミング言語以外にも、TypeScript の型システムやスーパーマリオメーカー、マジック・ザ・ギャザリングもまたチューリング完全であることが知られています[1][2][3]。直近では find と mkdir だけでチューリング完全になると報告されていましたね[4]。 逆にチューリング完全でない例としては正規表現[5]があります。チューリング完全ならば正規表現で解ける問題を全て解けますが、その逆は不可能です。例えば回文の判定は正規表現だと無理です。このように、数ある計算能力

                                                          GitHub Actions はチューリング完全
                                                        • Node.jsで型安全な環境変数を扱うスニペット

                                                          Node.js で型安全な環境変数を扱うスニペットを作りました。 next devのようなアプリケーションの起動、Playwright でのテストなどコマンドごとに渡したい環境変数のセットが異なるケースがあります。 この場合に環境変数をまとめたものを定義して、それをコマンドごとに読み込むセットを変えたいことがあります。 次のようにベタ書きしてもいいのですが、渡したい環境変数が増えると管理が大変になります。 NEXT_PUBLIC_LOCALHOST_URL=http://localhost:3000 NEXT_PUBLIC_API_URL=http://localhost:3001 NEXT_PUBLIC_IS_TEST_MODE=false FOO="bar" next dev そのため、.envのような環境変数をまとめたファイルを使いたくなります。 Node.js は--env-fil

                                                            Node.jsで型安全な環境変数を扱うスニペット
                                                          • 新しいTerraformのバージョンマネージャー tenv を試してみた | DevelopersIO

                                                            しばたです。 私は普段Windows環境でTerraformを使っており、Terraformのバージョン管理には自作ツールを使っていました。 つい先日新しいバージョンマネージャーであるtenvというツールがあることを知ったので試してみることにしました。 tfenvのつらみ Terraformのバージョンマネージャーとしてはtfenvが一番メジャーかと思います。 tfenv ただ、このtfenvはシェルスクリプト(Bashスクリプト)の集合体でありWindows環境ではGit Bashでのみ動作する状況でした。 加えて2023年末ごろから開発停止状態になっていいます。 新しいバージョンマネージャー tenv 細かい経緯を正確に把握できていないのですが、今年に入りOpenTofuのコミュニティによりOpenTofu向けのtfenv派生であるtofuenvが生まれ、 tofuutils / to

                                                              新しいTerraformのバージョンマネージャー tenv を試してみた | DevelopersIO
                                                            • SREチーム発足と今期の取り組みについて - Findy Tech Blog

                                                              はじめに 皆様、はじめまして。Findyでプロダクト開発部/SREとしてジョインしました安達(@adachin0817)と申します。今年の6月に入社し、ちょうど3ヶ月が経ちました。本日は、SREチームの立ち上げに関する0から1のプロセスと、今期の取り組みについてご紹介させていただきたいと思います。 SREチーム発足 2023年までは、バックエンドチームがインフラを担当していました。しかし、サービスの拡大に伴い、バックエンドチームのリソースが不足し、SRE的な改善が十分に行えない状況が続いていました。そこで、昨年からSREの大矢とチームリーダーの下司(@gessy0129)がジョインし、現在は3名体制で活動しております。 SREチームの位置づけとミッション SREチームは横断的なSRE活動をしており、これを「横断SRE」と指しています。一方で、各プロダクトにおいてSRE的な役割を担っていたメ

                                                                SREチーム発足と今期の取り組みについて - Findy Tech Blog
                                                              • 誰も書かない? シェル・シェルスクリプトの基本

                                                                シェルスクリプトの基本の基本とはどういうものなのか、他の多くのプログラム言語で処理を実装するのと比べ、どのような違いがあるのか。あまり ( 当然過ぎて? ) 書く人がいなさそうなので、つらつら説明したもの

                                                                  誰も書かない? シェル・シェルスクリプトの基本
                                                                • Rust製MCP対応AIエージェント『Goose』の技術概要 - laiso

                                                                  Gooseとは何か block.github.io BlockのAIチームが開発していたAIエージェント「Goose」が先日公開された。 これは、Rustで書かれたコマンドラインとウェブサーバーのコアモジュール、それを呼び出すElectron製のデスクトップアプリという構成になっている。 ユーザーは対話型シェルやデスクトップアプリのチャットUIを通じて、Cline*1やOnlook*2のようにローカルファイルを編集しながらコーディングをアシストしてもらう。 12月時点ではコアがPythonで書かれていたが、ベータリリース時にRustで書き直された。どうやらユーザー環境にPythonをインストールしてもらう必要があるのを避けたかったようだ*3。 github.com Gooseのコントリビューターなんか大人数で作っている・・ Gooseの目新しい点は、VS Codeなどのエディタから独立した

                                                                    Rust製MCP対応AIエージェント『Goose』の技術概要 - laiso
                                                                  • Gemini CLI のサンドボックス機能とは - Algomatic Tech Blog

                                                                    はじめに GoogleからGeminiをコマンドラインで対話的に利用できる「Gemini CLI」が登場しましたね! 基本的な使い方については、すでに多くの方が素晴らしい解説記事を公開されていますので、ぜひそちらもご覧ください。 参考 zenn.dev この記事では、Gemini CLIが備える機能の中でも、Claude Codeにはない「サンドボックス」機能に焦点を当てます。 リポジトリはこちら github.com この記事でわかること Gemini CLIのサンドボックス機能がなぜ必要なのか サンドボックスが有効になると、具体的に何が起きるのか -sフラグを付けるだけの簡単な使い方 macOSとコンテナベース、2つのサンドボックス方式の違い 1. なぜサンドボックスが必要なのか? コーディングエージェントは、その強力さゆえに、意図しない挙動によるリスクを持ち合わせています。 例えば、

                                                                      Gemini CLI のサンドボックス機能とは - Algomatic Tech Blog
                                                                    • Claude Code の Hooks で作業が終わった後にフォーマッターを実行する

                                                                      Claude Code hooks は Claude Code のライフサイクルの特定のタイミングで実行されるユーザー定義のシェルスクリプトです。hooks を使用することで、コードのフォーマットを常に実行することができます。この記事では hooks を使用してコードの変更後に prettier が実行されるように設定してみましょう。 Claude Code hooks は Claude Code のライフサイクルの特定のタイミングで実行されるユーザー定義のシェルスクリプトです。hooks は LLM の実行判断に依存せずに特定のアクションが常に実行されることを保証します。 よくある例としては、コードのフォーマッターを実行することです。人間がコードを書いていた頃はエディタの自動フォーマット機能を使用していたため、フォーマットを実行するタイミングを意識することはなかったと思います。しかし L

                                                                        Claude Code の Hooks で作業が終わった後にフォーマッターを実行する
                                                                      • 雑にJSONデータを分析させてみる-ローカルLLMの底力 | IIJ Engineers Blog

                                                                        地方拠点の一つ、九州支社に所属しています。サーバ・ストレージを中心としたSI業務に携わってましたが、現在は技術探索・深堀業務を中心に対応しています。 2018年に難病を患ったことにより、定期的に入退院を繰り返しつつ、2023年には男性更年期障害の発症をきっかけに、トランスジェンダーとしての道を歩み始めてます。 2024/08/22修正: はてなブックマークのコメントから、「それってデシリアライズって言わないよ」というご指摘を頂戴しました。 恥ずかしながら浅学であったがゆえに用語を取り違えたまんま長らく覚えてまして、これを整形表示(Pretty Print)と修正させていただきました。最初の用語登場箇所のみ修正した内容として取り消し線付きで記述しておりまして、それ以降は置換させてもらっています。 ご指摘誠にありがとうございました<(_ _)> これとは別に、後半で記述してるコードの一部に使わ

                                                                          雑にJSONデータを分析させてみる-ローカルLLMの底力 | IIJ Engineers Blog
                                                                        • AWSエンジニアの私が生成AIで変わった働き方、考え方(2025-06) | DevelopersIO

                                                                          生成AIが流行りだしてから、 AWSエンジニアとしての働き方やマインドが結構変わってきたなと感じています。 少なくともここ一年で生成AIとチャットすることが常態化しました。 最近では Claude Code がまさに仕事の進め方を変えつつあります。 本ブログは私の振り返りも兼ねて、 現時点で思っていることをダンプしたポエムです。 (移り変わりが激しいので、来年にはまた変わっていそうです) 目次 要約/翻訳 Finding や Notification を要約/翻訳してもらうようになった Terraform や CDK の diff を要約してもらうようになった コーディング/コマンド コードやSQLを書くことが減った ちょっとしたLambda関数を作る心理的ハードルが下がった Emacsのカスタマイズが捗った パイプにLLMを活用するようになった コミュニケーションや学習 文章を整理しても

                                                                            AWSエンジニアの私が生成AIで変わった働き方、考え方(2025-06) | DevelopersIO
                                                                          • Coding Agent へのタスク依頼を最適化する方法: Pull Request 作成 Workflow - freee Developers Hub

                                                                            はじめに こんにちは、タイガーチームでエンジニアをしている横塚といいます。 この記事では Coding Agent へのタスク依頼を最適化していく過程を step-by-step で一緒に見ていきます。 お題は「Pull Request の作成」です。 コードは既に書いている コミット済みで git の work-tree はクリーンな状態 この状況から Coding Agent (Cline, Roo Code, Goose CLI, GitHub Copilot Agent, Claude Code etc…) に高品質な Pull Request を作成してもらうことを目指します。 TL;DR: Coding Agent によるワークフローの最適化には、シンプルなプロンプトチューニングのみでは不十分 事前に確定できる処理はスクリプトに任せ、LLM には柔軟性が求められる処理に専念させ

                                                                              Coding Agent へのタスク依頼を最適化する方法: Pull Request 作成 Workflow - freee Developers Hub
                                                                            • シンデレラのように魔法がとけないうちは本番環境にアクセスできるようにしてみた - NTT Communications Engineers' Blog

                                                                              この記事では、できるだけアクセスを絞るべき本番環境に対して、かのシンデレラのように時間制限つきの承認性アクセスができるようにした事例を紹介します。 目次 目次 はじめに 背景 複数の環境 これまでの運用 課題 実現方法 実装 - Google Cloud IAM 設定スクリプト 設定 - GitHub Environments 実装 - GitHub Actions その他細かな工夫点 ゴミ掃除 Slack 連携 サービスアカウントキーの発行 運用を変えてみて おわりに はじめに こんにちは、NeWork 開発チームの藤野です。普段はオンラインワークスペースサービス NeWork のエンジニアリングマネジメントをしており、最近では実際にコードを書く機会も増えてきています。 この記事では、これまで手動 + ガッツで運用していた本番環境へのアクセス管理の工程のほとんどを自動化した内容をご紹介し

                                                                                シンデレラのように魔法がとけないうちは本番環境にアクセスできるようにしてみた - NTT Communications Engineers' Blog
                                                                              • 生成AI時代に必要なシェルの基本知識とシェル芸への入門 - じゃあ、おうちで学べる

                                                                                はじめに 生成AIの急速な発展により、様々なAIアシスタントが日常的にシェルコマンドを提案してくれるようになりました。また、最新のAI統合ツールは、ユーザーの自然言語指示からコマンドを生成し、場合によっては自動的に実行することさえあります。このような環境では、AIが提案または実行するシェルコマンドを正確に理解し、安全に活用するための知識が不可欠となっています。 「コマンドプロンプトやLinuxなんて難しそう」「プログラミングは専門家の領域」と思っている方こそ、この記事をお読みください。AIツールを使う現代では、専門知識がなくても基本を知っておくことで安全性が大きく変わります。 本記事では、生成AIが提案するシェルコマンドを適切に評価し、安全に活用するために必要なシェルの基本知識と「シェル芸」と呼ばれる技術について詳しく解説します。難しい専門用語は極力避け、初心者の方でも理解できるよう丁寧に

                                                                                  生成AI時代に必要なシェルの基本知識とシェル芸への入門 - じゃあ、おうちで学べる
                                                                                • Speee内定者研修:sedコマンドの歴史とBSD/GNU sedの違いを学ぶ - Speee DEVELOPER BLOG

                                                                                  2025年4月入社予定の竹田有真です!今は毎週30分入社前の研修*1を受けています。red-data-tools/red-datastockを題材にRubyGemsの仕組みを学ぶという研修です。クリアコードの須藤さんに説明をしてもらいながら実際に手を動かして学んでいます! はじめに 今回は研修の中で学んだsedコマンドについて説明します。UNIXの時代から、テキスト処理のための強力なツールとして sed(stream editor)は広く使われています。何十年も前に作られたコマンドですが、今でも役に立つケースがあるので学びました。例えば、CIでテキスト変更処理を自動化するときなどに使えます。自動化は開発効率向上につながります!(使用頻度が少ない、使用期間が短いものの自動化に開発時間をかけすぎるのは本末転倒。) 本記事では、sed 誕生の歴史や sed の置換機能、ファイルのバックアップ作成

                                                                                    Speee内定者研修:sedコマンドの歴史とBSD/GNU sedの違いを学ぶ - Speee DEVELOPER BLOG