並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 213件

新着順 人気順

変数展開の検索結果1 - 40 件 / 213件

  • Windowsでファイルやフォルダーに「使わない方がいい」文字 (1/2)

    これらは、MS-DOS時代からのルールである。ある意味、「command.com」のルールだとも言える。これらの文字がファイル名やフォルダー名に使えなくなったのは、コマンドラインで特別な意味を持つからである。MS-DOSはもともとコマンドラインですべての操作をする。このとき、コマンドラインで特別な意味を持つ記号文字に関しては、ファイルやフォルダー名での利用を禁止してコマンドラインやファイル名、フォルダー名の判定を簡略化した。 これらが今でも特殊扱いされていて、ファイルやフォルダーの名前に使えなくなっている。ただし、このことはNTFSやvFATなどのファイルシステムとしての仕様とは部分的にしか関係がない。パス区切り文字としての「\」と「/」は共通だが、他の文字は絶対ファイル名やパス名に入れられないのかというと、実はそうではない。ただし、ファイル名のAPIでもある程度の安全対策がしてあり、渡さ

      Windowsでファイルやフォルダーに「使わない方がいい」文字 (1/2)
    • Infrastructure as Dataとは何か

      最近GCPから登場したKubernetes YAMLのPackage managerであるKptは「Infrastructure as Data(Configuration as Data)」という考えかたを基礎としてそれを推し進めようとしている.それ以外にもKubernetesのEcosystemには(明示はされていなくても)この考え方が中心にある.Infrastructure as Codeとは何が違うのかなど歴史を振り返りつつまとめてみる. (指針はBorg, Omega, and Kubernetesという論文にあるが「Infrastrcuture as Data(Configuration as Data)」という言葉を明確に定義した文章はない.この記事はReferencesに挙げるいくつかのPodcastにおける@kelseyhightowerの発言や,それに反応する@bgra

      • Google Apps Script は、もはやエンジニアが書かない方がいいまである

        ラブグラフでエンジニアをしています横江 ( @yokoe24 ) です。 ラブグラフでは、エンジニア以外で Google Apps Script (GAS) を書く方も多く、 Slack通知の自動化など、業務の効率化がおこなわれています。 マジですごいと思います! GASをエンジニア以外が書く問題点 一方で、コードを見るとプログラマーからするとムズムズするところもあります。 変数名に snake_case が混ざっている インデントが揃っていない for文の中で getValue() を回している Google Apps Script の getValue() メソッドはコストが高く、何度も実行するとタイムアウトの可能性が高まる == で比較している double quotes " と single quotes ' が混ざっている こういうコードを見ると直したくてウズウズしてしまいます。

          Google Apps Script は、もはやエンジニアが書かない方がいいまである
        • シェルスクリプトの $* と $@ の違いと雑学色々 - Qiita

          まず位置パラメータを含め変数を参照する時にダブルクォートしないのは無しです。理由は予期せぬ変数展開やパス名展開が行われるからです。詳細は「シェルスクリプトの変数はダブルクォートしなければいけない!という話」を参照してください。この理由により上半分は「使いません」で終わりです。 ダブルクォートはほぼ必須ですが { } は必要な時だけ書けば十分です。常に ${var} のように { } を書く人がいるようですが、そういう人に限って面倒なのかダブルクォートをしてないことをよく見かけます。逆です。省略可能なのは { } であり、ダブルクォートは(本当に不要な場合を除き)省略できません。常に { } を使ってもかまわないと思いますがダブルクォートも書きましょう。 ❌ ${var} ・・・ ダブルクォートが抜けている! ⭕ "$var" ・・・ このように書け! ⭕ "${var}" ・・・ 問題ない

            シェルスクリプトの $* と $@ の違いと雑学色々 - Qiita
          • awslim - Goで実装された高速なAWS CLIの代替品を作った - 酒日記 はてな支店

            最初に3行でまとめ AWS CLIは便利です。しかし起動が遅いので、Goで実装された高速な(ただし機能は少ない)代替品を作りました。awslim といいます リリースバイナリは無駄に大きいので、必要な機能だけを組み込んだビルドを簡単にできるようにしてあります。ビルドして使うのがお勧めです どうぞご利用下さい github.com 以下はこれに至るまでの経緯とか、実装や使い方の話とかです。長いです。 作成の経緯 AWSの各種サービスにアクセスするための AWS CLI は、スクリプトやコマンドラインから処理を自動化するために大変便利なツールです。AWSでサーバーサイドの開発、運用している人であれば、ほぼ全員がお世話になっているんじゃないかと思います。 しかし、AWS CLI (コマンド名aws) には「起動が重い」という問題があるなとずっと思っていました。具体的には、aws --versio

              awslim - Goで実装された高速なAWS CLIの代替品を作った - 酒日記 はてな支店
            • タスクランナーとしてのmakeを使う際の工夫と注意点 - KAYAC engineers' blog

              SREチームの長田です。 みなさま開発・運用上の定形オペレーションに伴うタスク実行をどのように管理していますか? 今回は make をタスクランナーとして使う例を紹介します。 タスクランナーがほしい タスクランナーを使う主なモチベーションは以下の2つです。 タスクをリスト化したい タスクの実行インターフェイスを統一したい タスクがリスト化されていれば、それ自体が生きたドキュメントとして機能します。 また、タスクの実行インターフェイスが統一されていれば、 例えばタスクに前処理や後処理を追加したとしても、 開発・運用メンバーが実行するべき操作が変わることはありません。 操作変更の周知コストも下がりますし、変更に伴う操作ミスも減らすことができます。 タスクランナーに求めるもの タスクランナーの機能としては必要最低限のものがよいと考えています。 高機能なタスクランナーも魅力的ではあるのですが、タス

                タスクランナーとしてのmakeを使う際の工夫と注意点 - KAYAC engineers' blog
              • N予備校で利用しているAWS CodeBuildについて - ドワンゴ教育サービス開発者ブログ

                この記事は、ドワンゴ Advent Calendar 2022の8日目の記事です。 N予備校では、過去の記事でも触れた通りAWS CodeBuildを日常に利用しています。 この記事では、導入した経緯や実際の利用例などについてご紹介できればと思います。 AWS CodeBuildを導入した経緯 開発当初についてはGo製のCIツールであるDroneを利用しており、v0.5からv0.8まで利用していました。 Droneを利用していた際にはたびたび以下のような事象に遭遇しました。 サーバーがなんらかの理由でやたら停止してしまう cacheがよく壊れる エージェント数が十分に確保できておらずビルド開始まで待たされる 構築したインフラ起因での問題も多数ありましたが、開発を進める上で障害にはならないもののやや開発者体験を損なうという、なかなかイマイチな環境の中で開発していたかと思います。 Drone自

                  N予備校で利用しているAWS CodeBuildについて - ドワンゴ教育サービス開発者ブログ
                • シェルスクリプトの長所と短所のまとめ - Qiita

                  はじめに シェルスクリプトに関しての長所と短所をまとめてみました。多くの短所を上げていますが、私はシェルスクリプトを嫌っているわけではなく(むしろ逆)、現在のシェルスクリプトが抱える問題点を明らかにし、シェルスクリプトはどう使うべきか? またはどう使うべきではないか? 問題点があるならばそれを解決することはできないか? を考えるためにまとめています。問題を解決するにはまず問題点を明らかにしなければいけません。 またシェルスクリプトを本来の用途に合わないものに使うと逆に開発が難しくなってしまいます。それは使い方が悪いわけでシェルスクリプトの問題ではありません。間違った使い方によってシェルスクリプトの価値が不当に下げられてしまうことを減らすために、あえて多くの短所をあげています。つまり最初からこんな用途に使おうと思うな。ということです。(使うことを禁止はしませんが、わかった上でやりましょう。実

                    シェルスクリプトの長所と短所のまとめ - Qiita
                  • シェルスクリプトで変数に改行文字を入れる方法の細かすぎる解説 - Qiita

                    すべての POSIX シェルで使用可能なので私はこれを推奨します。シェルスクリプトの改行コードは Windows の CR+LF ではなく LF を使用している前提です。いくつかの環境ではシェルスクリプトの改行コードに CR+LF を使用していても動くようなのですが(未調査)、遅かれ早かれ問題になるはずです。また需要は少ないと思いますが、POSIX シェル以前の Bourne シェルでも使える(おそらく)唯一の方法です。Solaris 10 などの古い環境にも対応させるのであればこの方法しかありません。 メリットはコードの量が最も少なく最も速いということです。デメリットは 2 行になるため少し不格好でインデントをする場合に困るだけですが、インデントに関してはこのような定数はスクリプトの上部の関数の外で定義するので通常は問題にならないはずです。 LF=$'\n' bash、ksh、mksh、

                      シェルスクリプトで変数に改行文字を入れる方法の細かすぎる解説 - Qiita
                    • CloudFront FunctionsをテストするOSS、cfftを公開しました - KAYAC engineers' blog

                      SREチームの藤原です。 今回は Amazon CloudFront Functions をテストするためのOSSとして、cfft というものを書いたので紹介します。 github.com 3行でまとめ CloudFront Functionsのテストは手元ではできなくて面倒です CloudFront Functionsをテストする cfft というOSSを書きました KeyValueStoreの操作を含め、便利な使い方がいろいろありますのでどうぞご利用下さい CloudFront Functionsをテストするのが面倒という問題 CloudFront Functions (以下CFF) は、AWSが提供するCDNであるAmazon CloudFrontのエッジノード上でリクエストやレスポンスの操作が行える、JavaScriptの実行環境です。典型的なユースケースとしては、キャッシュキーの

                        CloudFront FunctionsをテストするOSS、cfftを公開しました - KAYAC engineers' blog
                      • MNTSQ社の開発環境のご紹介|yuki_nishimura

                        MNTSQ社でソフトウェアエンジニアをやっております西村と申します。 弊noteへのご来訪まことにありがとうございます。 本日は弊社の開発環境をご紹介いたします。 開発言語弊社では基盤部分をRuby on Railsで開発しております。一部、OCR処理は都合でJavaを利用したり、機械学習はPythonが得意ですのでPythonを利用しております。 レビュー環境 リリースブランチや開発ブランチへの直接プッシュは禁止しております。GitHubでブランチを保護する方法につきましては、以下の記事などをご参考ください。 [GitHub] ブランチの保護設定を活用しよう 【レビューが通るまでマージさせんぞ】 | Developers.IO リリースブランチや開発ブランチに変更を加えるには、Pull Requestを介して行います。Pull Requestのレビューは必須となっており、少なくとも一名が

                          MNTSQ社の開発環境のご紹介|yuki_nishimura
                        • Juliaでデータサイエンス100本ノック(構造化データ加工編) - Qiita

                          データサイエンティスト協会によるデータサイエンス100本ノック(構造化データ加工編)をJuliaで解きました。 はじめに わざわざ紹介するまでもありませんが、Juliaは書きやすくて実行が速いモダンな科学計算向け言語として昨今注目を集めています。ただ、まだデータをこねくりまわすコード例が少なく、前処理などの用途で使うには少しとっつきづらさも残っていると思います。つい先月公開されたデータサイエンス100本ノック(構造化データ加工編)はそんな日頃遭遇するデータ処理のタスクを効果的にカバーしているもので、Python、R、SQLでの回答例もついています。ということで、いっちょこれをJuliaでやって実地で使えるように練習しようと思い立ち、やってみました。いくぶんでも参考になるかもしれないので、あくまで一回答例として公開してみます。 コード https://github.com/Ken-Kurok

                            Juliaでデータサイエンス100本ノック(構造化データ加工編) - Qiita
                          • GCPで基本に戻って始める実践 Infrastructure as code再入門#3 - VisasQ Dev Blog

                            こんにちは! 2020年2月からSREチームにJoinしました木村です! 仕事をする上での座右の銘は「明日交通事故にあってもシステムと仕事を回せるようにすること」です。 基本に戻って始める。と表題では書いていますが、私元々はAWS職人でGCPに本格的にコミットしてからまだ3ヶ月位です! なのでヒィヒィ?言いながらGCPのキャッチアップに努めているわけですが今回は過去にAWSで得たInfrastructure as Codeの知識とビザスクに入社してキャッチアップで培ったGCPの知識を元に基本に戻って始めるGCPのInfrastructure as Code再入門ということで書かせていただきます。 前回はAnsibleの基本的な用語の説明から初回のAnsibleの実行迄を説明しましたので今回はAnsibleを使った実際のPlaybook,taskの書き方等を説明していきます。 その他のGCP

                              GCPで基本に戻って始める実践 Infrastructure as code再入門#3 - VisasQ Dev Blog
                            • bash の初期化ファイル .profile, .bashrc, .bash_profile の使い分けと管理方針 - A Memorandum

                              はじめに bash の初期化ファイル ログインシェルとは インタラクティブ(対話的)シェルとは ログインシェルとインタラクティブシェルの分類 各種環境における初期化ファイル CentOSの初期化ファイル Ubuntuの初期化ファイル macOS(Catalina以前)の初期化ファイル macOS(Catalina)の初期化ファイル 各環境におけるデフォルトの初期化ファイル 単一ファイル管理(~/.bashrc) 標準的管理(環境変数は~/.bash_profile) 厳格管理(~/.profile 利用) macOS Catalina の場合 まとめ はじめに 本記事では bash の初期化ファイルと、それにまつわる運用方法について説明します。 シェル(bash)の初期化ファイルには .profile .bashrc, .bash_profile などがありますが、どこに何を定義すべきかに

                                bash の初期化ファイル .profile, .bashrc, .bash_profile の使い分けと管理方針 - A Memorandum
                              • PulumiでECS環境を構築する - Kaizen Platform 開発者ブログ

                                SREの本田(@mov_vc)です。 Kaizen Platformではインフラ構築にPulumiを採用し始めています。今回は、Pulumiの基本的な説明+ECS環境をPulumiで構築した手順をまとめました。結論から言うとPulumi、かなり便利なので、導入を考えているよ〜という人はぜひ読んでみてください。 TL;DR 汎用言語で書ける TypeScript, JavaScript, Pythonで記述できます。 依存関係解決してくれる リソース間に依存関係があってもPulumiさんがよしなにやってくれます。 WebUIやべーじゃん WebUIはこんな感じでプロジェクト、環境一覧画面があり、イケてます。 作業履歴とかもWebUIで確認できる 環境ごとのstate情報、Pulumi作業履歴などが確認できます。 開発めっちゃ活発 リリースサイクルが週1ペース。ちゃんと寝てる??? ぷ…Pul

                                  PulumiでECS環境を構築する - Kaizen Platform 開発者ブログ
                                • らくだ🐫にもできるRailsチュートリアル|11.3

                                  11.3 アカウントを有効化する メールが生成できるようになったのでAccountActivationsコントローラのeditアクションを書いていく。 テストも書いて、しっかりテストできていたらUserモデルにコードを移していく (リファクタリング) authenticated?メソッドの抽象化 有効化トークンとメールはそれぞれparams[:id]とparams[:email]で参照できるので 次のようなコードでユーザーを検索して承認する user = User.find_by(email: params[:email]) if user && user.authenticated?(:activation, params[:id]) (この後、上の式に論理値を1つ追加します。何が追加されるか考えてみましょう。) (→予想:アカウントが有効化されていないことを確認する論理値 #とは 🤔

                                    らくだ🐫にもできるRailsチュートリアル|11.3
                                  • ECS task definition を Jsonnet で生成する - 酒日記 はてな支店

                                    Amazon ECS でタスクの構成定義に使う task definition をリポジトリで管理する場合、JSON 形式で取り扱うことが多いと思います。 ECS デプロイツールである ecspresso でも、task definition は環境変数等を展開できる記法があるものの、基本的には JSON ファイルとして扱っています。 これは AWS コンソールで作成した task definition を aws describe-task-definition や ecspresso init コマンドでファイルとして取り出して利用することを前提としているためで、これを YAML や別の形式で扱うことは考えていません。 ところで、実際に ECS でそれなりのサービスを運用すると、task definition JSON の管理で悩むことが増えてきました。 JSON は人間が編集するのに

                                      ECS task definition を Jsonnet で生成する - 酒日記 はてな支店
                                    • とほほのBash入門 - とほほのWWW入門

                                      sh : Bourne Shell とも呼ばれます。ベル研のスティーブン・ボーン氏が開発。最も基本的な機能を備えています。 csh : C Shell と呼ばれます。カリフォルニア大学バークレー校のビル・ジョイ氏が開発。C言語ライクな機能を強化しています。 tcsh : csh をさらに改良したものです。bash が出るまではかなり広く使用されていました。 ksh : sh を改良したものです。ベル研のデビット・コーン氏が開発。csh の機能も一部取り入れています。 bash : Bourne-Again Shell。sh を大幅に強化。現時点では最も広く使用されています。 zsh : 最も高機能なシェル。bash, tcsh, ksh などの機能を多く取り込んでいます。 以降では、現時点で最も利用されている bash に絞って説明していきます。動作確認は bash 4.2 で行っています

                                      • perlcriticとのつきあい方 - 私が歌川です

                                        はじめに こんにちは。perlcriticの話をします。perlcriticに関するまとまった日本語の情報が乏しいなと感じたので、アドベントカレンダーの記事として書くことにします。 これは Perl Advent Calendar 2020 - Qiita 4日目の記事です。3日目は hkoba さんで zsh 上で .pm のメソッド名を補完する話 - hkoba blog でした。 はじめに perlcriticとは 設定をする .perlcriticrc 例 設定項目 severity program-extensions ポリシーごとの設定 Subroutines::ProhibitExplicitReturnUndef (severity = 5) ValuesAndExpressions::ProhibitConstantPragma (severity = 4) Values

                                          perlcriticとのつきあい方 - 私が歌川です
                                        • 開発時に使えるDocker Composeテクニック - 虎の穴開発室ブログ

                                          こんにちは、虎の穴ラボのはっとりです。 Docker Compose使ってますか? 開発環境をサクッと作ることが出来るDocker Composeですが、 今回は、個人的に便利だなーと思っている設定・機能をご紹介します。 皆さん、いくつご存知でしょうか。 目次 環境変数編 基本のやり方 応用 ネットワーク編 異なるdocker-compose.ymlで起動しているコンテナ同士で接続 network設定無しで接続する方法 ※Docker DeskTop限定 ボリューム編 その他 command に tail -f /dev/null を指定してコンテナを起動しっぱなしにする。 設定ファイルを分割して定義する まとめ P.S. 環境変数編 基本のやり方 アプリケーションの設定を環境変数で管理することも多いと思います。 Docker Composeで環境変数を扱うにはいくつかの方法があります。

                                            開発時に使えるDocker Composeテクニック - 虎の穴開発室ブログ
                                          • AWS CDK で IAM ユーザを作ってみる - アクトインディ開発者ブログ

                                            morishitaです。 AWSのリソースを作るときにはコンソールをポチポチやるよりは Cloud Formation を使ったほうが楽に感じるようになってきました。 そんなところに aws-cdk が GA になりました。Typescript で Cloud Formation スタックが書けるということで気になっていました。 ちょっとググると DyanamoDB とか Lambda を使ってサーバレスアプリケーションを作りました的な記事が出て来るのですが、今回はちょっと地味にIAMユーザを作ってみました。 背景 当社ではほとんどのプロダクトで Docker Compose による開発環境を用意しています。 更に、いくつかのプロダクトでは本番DBのデータ1を含むDockerイメージを毎日ビルドしてECRにプッシュしています。それを Pull すれば、ほぼ最新の本番DB同様のデータをローカ

                                              AWS CDK で IAM ユーザを作ってみる - アクトインディ開発者ブログ
                                            • とほほのBash入門 - とほほのWWW入門

                                              sh : Bourne Shell とも呼ばれます。ベル研のスティーブン・ボーン氏が開発。最も基本的な機能を備えています。 csh : C Shell と呼ばれます。カリフォルニア大学バークレー校のビル・ジョイ氏が開発。C言語ライクな機能を強化しています。 tcsh : csh をさらに改良したものです。bash が出るまではかなり広く使用されていました。 ksh : sh を改良したものです。ベル研のデビット・コーン氏が開発。csh の機能も一部取り入れています。 bash : Bourne-Again Shell。sh を大幅に強化。現時点では最も広く使用されています。 zsh : 最も高機能なシェル。bash, tcsh, ksh などの機能を多く取り込んでいます。 以降では、現時点で最も利用されている bash に絞って説明していきます。動作確認は bash 4.2 で行っています

                                              • Jenkinsfileの書き方 - Plan 9とGo言語のブログ

                                                この記事はQiitaで公開されていました ほとんど情報がなかったので調べながら書いたメモ。基本的に、公式情報が最もまとまっている。 Using a Jenkinsfile Pipeline Syntax Pipeline Steps Reference Jenkins Job DSL API また、古い情報らしいけど、現状こちらにしか書かれていない項目もある。 pipeline-model-definition-plugin Wiki Declarative Pipelineの1.2.8から、ジェネレータが追加されたようです。 The new things arriving in Declarative Pipeline! 基本 現状のJenkinsfileは2通り書き方があって、pipelineがルートになっている場合はDeclarative Pipelineという。この場合は、Groo

                                                  Jenkinsfileの書き方 - Plan 9とGo言語のブログ
                                                • [GAS] V8ランタイムを有効にし最新のECMAScriptを動かす - ねこの足跡R

                                                  みんな大好きGoogleAppsScriptで、2020年2月よりES2015以降のナウい構文が利用できるようになりました。 Historically, Apps Script has been powered by Mozilla's Rhino JavaScript interpreter. While Rhino provided a convenient way for Apps Script to execute developer scripts, it also tied Apps Script to a specific JavaScript version (ES5). Apps Script developers can't use more modern JavaScript syntax and features in scripts using the Rhino

                                                    [GAS] V8ランタイムを有効にし最新のECMAScriptを動かす - ねこの足跡R
                                                  • Python で文字列に変数を埋め込む方法あれこれ - Qiita

                                                    概要 Python で文字列に変数を埋め込む方法 (変数展開) が複数あるのでサンプルコードを書く f-string 2. 字句解析 — Python 3.7.4 ドキュメント バージョン 3.6 で追加. フォーマット済み文字列リテラル( formatted string literal )または f-string は、接頭辞 'f' または 'F' の付いた文字列リテラルです。これらの文字列には、波括弧 {} で区切られた式である置換フィールドを含めることができます。他の文字列リテラルの場合は内容が常に一定で変わることが無いのに対して、フォーマット済み文字列リテラルは実行時に式として評価されます。 サンプルコード。

                                                      Python で文字列に変数を埋め込む方法あれこれ - Qiita
                                                    • log4jの0-day exploitを動かして理解する

                                                      これはKCS AdventCalendar2021 10日目の記事です。 ←9日目|11日目→ どうもyapattaです。最近アドベントカレンダー用の技術記事を書こうと思っていたが書きたい技術が思い浮かばなかった。 そんなときである!本日(投稿したときには前日)幸か不幸かインターネット上でApache-log4jのゼロデイ・エクスプロイト(CVE-2021-44228)が話題を賑わせた。 せっかくだし流行に乗って、実際に動かして理解を深めた。セキュリティ啓発になったら幸いということでこの記事を書く。 急いで書いてかつ自分の知識が不十分であるため、誤りなどが存在する可能性があるがそのときは指摘して頂けるとありがたい。 あとこれが重要、絶対に悪用しないで下さい。 では本題。 log4j RCE 0-day exploitとは 概要 サーバ内でApache log4jのバージョンが2.0以上2.

                                                        log4jの0-day exploitを動かして理解する
                                                      • 第42回 bashの便利な機能 | gihyo.jp

                                                        ここ数年、再利用するかも知れないコードは可読性がいいPythonで書くことが多かったものの、最近「スクリプトを書くほどでもないなぁ」的な作業が頻発し、bashのワンライナーで誤魔化してみたところ、最近のbashは変数展開や置換機能がずいぶん充実していて、かつてはsedやtr、awkを使って書いていた処理が、ほぼbashの機能だけで書けるようになっていました。 そこで改めてbashのマニュアル等を確認したら、「⁠へー、こんなこともできるんだ」的な機能があれこれ目について、ちょっとbashに対する認識を改めているところです。今回は、そのようなbashの便利な機能をいくつか紹介してみようと思います。 bashの来歴 Linux系ディストリビューションのデフォルトのシェルであるbashは、GNUプロジェクトが開発したシェルで、"Bourne Again SH"の略になっています。 この"Bourn

                                                          第42回 bashの便利な機能 | gihyo.jp
                                                        • 話題の CI/CD ツール Dagger を体験してみる | 豆蔵デベロッパーサイト

                                                          Dagger は、Docker を開発した人たちによるポータブルな CI/CD ツールです。先月末公開されました。 Introducing Dagger: a new way to create CI/CD pipelines ポータビリティ実現のためコンテナ環境が前提になっています。 Dagger は DAG (Directed Acyclic Graph)に由来するものと思われますが、CI/CD の文脈で DAG はパイプラインを構成するジョブの依存関係グラフのことです。 Dagger はビルドエンジンとして BuildKit を利用しています。BuildKit は Docker に統合されたツールキットで docker build の高速化・ルートレス化を実現したテクノロジーです。 GitHub - moby/buildkit: concurrent, cache-efficient

                                                          • ecspresso advent calendar 2020 day 20 - Jsonnetによる定義ファイル生成

                                                            Amazon ECS のデプロイツールである ecspresso の利用法をまとめていく ecspresso Advent calendar 20日目です。 定義ファイルが JSON であることの問題 ecspresso が取り扱うサービス/タスク定義ファイルは JSON 形式です。これは awscli や AWS SDK Go で扱える JSON 形式との互換性を重視しているためです。 しかし実際にある程度複雑なサービスを運用すると、JSON 形式では不便なこともあります。 JSON は人間が編集するのに便利ではない コメントが書けない、配列末尾の , の有無で余分な差分が発生するなど サイドカーなどがほぼ同じで、一部だけ異なるタスク定義を複数運用する場面がある 複雑な構造の一部が異なるような場合、環境変数展開ではカバーできないので重複した記述になる タスク内の各コンテナで共通する要素が

                                                              ecspresso advent calendar 2020 day 20 - Jsonnetによる定義ファイル生成
                                                            • Go Conference Online 2021 Autumnが開催されました&作って学ぶシェル | フューチャー技術ブログ

                                                              Go Conference Online 2021 Autumnが開催されました。スタッフのみなさん、登壇者、参加者のみなさん、お疲れ様でした。フューチャーは今回もブロンズスポンサーでした。また、フューチャーからは伊藤(真)、辻、渋川の三人が登壇しました。 その中の、渋川の発表内容を紹介します。タイトルは「Learning Computer Systems by Crafting: Shell 〜作って学ぶシェル〜」で、シェルの動作の紹介をしつつ、自分で実装してみるには、という感じの解説でした。Goならわかるシステムプログラミング(書籍はこちら)では詳しく触れていなかったシェルについて詳しく説明する追加コンテンツです。 発表資料はこちらです。 Twitter等でたまに話題になるのは、次のようなことです。 「若い人の中にはシェルの概念をあまり知らない人もいる」 「はたしてそのような人はどのよ

                                                                Go Conference Online 2021 Autumnが開催されました&作って学ぶシェル | フューチャー技術ブログ
                                                              • envsubstを使ってテキストファイルをテンプレートエンジンとして使う | ゲンゾウ用ポストイット

                                                                ゲンゾウ用ポストイット シェル / Bash / Linux / Kubernetes / Docker / Git / クラウドのtipsを発信。 はじめにKubernetes のマニフェストファイル内に環境変数を埋め込み、出力内容を動的に変更したい場合がありました。 kustomize や helm といったツールを利用することで Kubernetes のマニフェストファイルに変数を埋め込むことはできます。 しかし、そこまで大層な仕組みを導入するような手間を掛けたくありません。 sed を使う方法もありますが、可読性は低くなります。 そんな場合、 envsubst コマンドを利用することで実現できました。 テキストファイルをテンプレートエンジンのとして利用できるシンプルで便利なコマンドです。 検証環境$ uname -moi x86_64 x86_64 GNU/Linux $ bash

                                                                  envsubstを使ってテキストファイルをテンプレートエンジンとして使う | ゲンゾウ用ポストイット
                                                                • zshの補完 - Qiita

                                                                  1.初めに Macで標準シェルがbashからzshに変わったので、zshの補完について勉強してみました。bashでもプログラム可能な補完ができますが、zshはそれよりも高水準の機能の補完を標準で盛り込んでいます。主にbashではできないような補完機能について述べていきます。 ・参考文献 zshの本 2.zshの補完システム zshには大別してcompsys、compctlという2つの補完システムが存在する。バージョン3.1.6より導入された新補完システムがcompsys、それよりも前から存在するcompctlという旧補完システムである。 新補完システムであるcompsysについて今回は見ていく。compsysで用意されている全ての補完機能を有効にするには以下のコマンドを実行する。デフォルトではcompsysは有効ではないので注意。よく使うのでこのコマンドは~/.zshrcなどに書き込んでお

                                                                    zshの補完 - Qiita
                                                                  • 個人的なシェル芸(シェルワンライナー)のまとめ | 俺的備忘録 〜なんかいろいろ〜

                                                                    シェル芸botで遊んでいた際のシェル芸や、作業・仕事で使ったものでおもしろかったもの・便利だったものを雑に残していくページ。 とりあえず覚えといたほうがいいこと とりあえず、ここに書いてある内容を把握するにあたって覚えといたほうがいいことをまとめてみる。 シェル芸ってなんぞ? シェルのワンライナーのこと。 ちゃんとした定義もあるので、シェル芸と名前をつけてシェル芸勉強会を主催している上田先生のページより抜粋。 マウスも使わず、ソースコードも残さず、GUIツールを立ち上げる間もなく、あらゆる調査・計算・テキスト処理をCLI端末へのコマンド入力一撃で終わらすこと。あるいはそのときのコマンド入力のこと。 シェルの機能・使い方で覚えとくこと(主にbash) よく使うシェルの機能と使い方について、軽くまとめておく。 微妙にカテゴリ違うものが混在してる気がするけど、とりあえずここでは気にしないことにす

                                                                    • Pythonの文字列における変数展開を現役エンジニアが解説【初心者向け】

                                                                      初心者向けにPythonの文字列における変数展開について現役エンジニアが解説しています。変数展開とは、文字列の中に変数名を埋め込んでおき、実行時に値に展開することです。Pythonで変数展開を行うには、%演算子、format関数、f文字列を使う方法があります。 テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査 Pythonの文字列における変数展開について解説します。 そもそもPythonについてよく分からないという方は、Pythonとは何なの

                                                                        Pythonの文字列における変数展開を現役エンジニアが解説【初心者向け】
                                                                      • Kustomizeのreplacementsを使ってコンテナイメージタグ値で環境変数を作成する | DevelopersIO

                                                                        やりたいこと Podのコンテナで使われているコンテナイメージのタグ値をつかって、そのPodに環境変数を設定したいです。 以下のように同じ値をそれぞれの設定箇所に書けばシンプルに実現できますが、保守性の観点から同じ値を複数箇所に書くのは避けたいのです。(絶対に環境変数値の更新を忘れる) --- apiVersion: apps/v1 kind: Deployment metadata: name: sample spec: replicas: 1 selector: matchLabels: app: sample template: metadata: labels: app: sample spec: containers: - name: sample image: nginx:1.20 env: - name: HOGE value: "1.20" 1箇所書けばイメージタグ値にも環境

                                                                          Kustomizeのreplacementsを使ってコンテナイメージタグ値で環境変数を作成する | DevelopersIO
                                                                        • VSCode 上でシェルスクリプトのまずい書き方を検出してみよう (with ShellCheck on Docker)

                                                                          UNIX/Linux での作業の効率化に欠かせないシェルスクリプトですが、手軽に書ける反面、様々な罠があることでも知られています。 そんな罠にはまらないよう、シェルスクリプトの解析ツール「ShellCheck」を使ってチェックしましょう、というお話です。 ShellCheck とは? 静的解析によりシェルスクリプトの問題点を分析し、より良い書き方を提案してくれる CLI の Linter ツールです。 構文の問題点やバグだけでなく、推奨されない書き方も教えてくれます。 シェルスクリプトの初心者・上級者に関わらず、入れておくだけで安心してスクリプトを書けるようになります。 ShellCheck がチェックしてくれること ShellCheck がチェックしてくれる内容は とても多岐に渡ります。例えば… クォーティング処理に関する指摘: ダブルクォーテーションで囲わずに変数展開している場合など。

                                                                            VSCode 上でシェルスクリプトのまずい書き方を検出してみよう (with ShellCheck on Docker)
                                                                          • PHPerKaigi 2024に参加した #phperkaigi - Copy/Cut/Paste/Hatena

                                                                            今年も参加してきました。 phperkaigi.jp 聴講した発表へのフィードバックも終わり、このエントリで私のPHPerKaigi 2024はフィニッシュです。 #runn開発者会議 最近恒例の廊下での会議ですが、テストランナーのシンタックスの改善の方向性についてどうしてもしめじさん( @smeghead さん)から直接フィードバックをもらいたく、3日間「いつか会えるだろう」とフラフラしていました。 気にかけていただいた皆さんありがとうございました。無事邂逅できました! runnのランブックの一級言語がYAML(?)なのでYAMLシンタックスをうまく使ってかつニーズを満たす構文が思いつけばいいのですが、もう一歩アイデアが降ってこない。。。というところまででした。しめじさんにも言われたのですが「一度作ってしまうとなかなか変えられない」ものなのでどうにか降りてきてほしいっ!!! あとはカンフ

                                                                              PHPerKaigi 2024に参加した #phperkaigi - Copy/Cut/Paste/Hatena
                                                                            • PHPのダブルクォーテーションとシングルクォーテーションの違いを理解する - Qiita

                                                                              近況報告 エンジニア転職成功しました。YouTubeもはじめました。 こんにちは。業務でPHPを扱いCRMをメインに開発しているYUUKIです。 PHPで書かれたコードを見ていると、文字列を囲む際に ダブルクォーテーション("") シングルクォーテーション('') の2つを使っているパターンがありますね。 この2つの違いを明確に理解するために、 PHPにおけるダブルクォーテーションとシングルクォーテーションの違いを解説します。 文字列出力では同じ内容が出力されるが、動作速度が違う 例えば「この野菜はトマトです」という文字列を出力する場合 <?php // ダブルクォーテーション echo "この野菜はトマトです"; echo '<br>'; // シングルクォーテーション echo 'この野菜はトマトです'; 出力結果 出力される内容は同じですが、出来ることに差があります。 例えば、ダブル

                                                                                PHPのダブルクォーテーションとシングルクォーテーションの違いを理解する - Qiita
                                                                              • 週刊Railsウォッチ:TruffleRubyでdig_fetchを実装、ruby/debug gem、AWSハンズオン教材ほか(20210901後編)|TechRacho by BPS株式会社

                                                                                こんにちは、hachi8833です。遅ればせながら私もRubyKaigi Takeout 2021のTシャツを注文しました。 衣服を買ったのは久しぶりな気がする…… pic.twitter.com/JgCRafrFdL — yancya (@yancya) August 25, 2021 参考: Novelties - RubyKaigi Takeout 2021 週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。Tec

                                                                                  週刊Railsウォッチ:TruffleRubyでdig_fetchを実装、ruby/debug gem、AWSハンズオン教材ほか(20210901後編)|TechRacho by BPS株式会社
                                                                                • YAML の構文を押さえる : 文字列をクォートで囲む必要はない - Neo's World

                                                                                  YAML の構文を押さえる : 文字列をクォートで囲む必要はない YAML の構文を改めて勉強。 Best Online YAML Converter - Convert YAML Strings into JSON, XML, CSV このサイトで実際に変換しながら確認した。 目次 文字列に関して ハッシュ (マップ・連想配列) とリスト (配列) フロースタイル パイプ記号 | による複数行リテラル 大なり記号 > による折りたたみスタイル 参考文献 文字列に関して 文字列はシングルクォートで囲んでも、ダブルクォートで囲んでも、囲まなくても、同じ Ansible においては、ダブルクォートで囲まないと変数展開されなかったりする このようにパースするライブラリ側での都合はあれど、YAML の言語仕様的にはクォートはあってもなくても同じ クォートで囲まない場合、シングルクォートやダブルクォ