並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 510件

新着順 人気順

shの検索結果41 - 80 件 / 510件

  • bash スクリプトの実行中上書き動作について

    を設定してから再度試した所 bar が表示された。backupcopy は編集中のファイルによって自動で判別する auto がデフォルトになっている為、試す際には明示的に yes に設定しないといけない。 bash の実装確認 evalstring.c の parse_and_execute でコマンドが処理されており、input.c の with_input_from_buffered_stream で読み込みの準備が行われている。バッファの読み込みの本体は y.tab.c つまりパーサから直接呼ばれており、このパーサは fgets(3) で読み込まれつつ実行される為、一括でファイルが読み込まれている訳ではない。 while/do でループ実行した際に、ファイルを書き換えられたら戻り先はどうなるか、についてはスクリプトはバッファ付きで読み込まれており、そのバッファがファイルシステムから読

      bash スクリプトの実行中上書き動作について
    • 社内用GitHub Actionsのセキュリティガイドラインを公開します | メルカリエンジニアリング

      この記事は、Merpay Tech Openness Month 2023 の4日目の記事です。 こんにちは。メルコインのバックエンドエンジニアの@goroです。 はじめに このGitHub Actionsのセキュリティガイドラインは、社内でGithub Actionsの利用に先駆け、社内有志によって検討されました。「GitHub Actionsを使うにあたりどういった点に留意すれば最低限の安全性を確保できるか学習してもらいたい」「定期的に本ドキュメントを見返してもらい自分たちのリポジトリーが安全な状態になっているか点検する際に役立ててもらいたい」という思いに基づいて作成されています。 今回はそんなガイドラインの一部を、社外の方々にも役立つと思い公開することにしました。 ガイドラインにおける目標 このガイドラインは事前に2段階の目標を設定して作成されています。まず第1に「常に達成したいこと

        社内用GitHub Actionsのセキュリティガイドラインを公開します | メルカリエンジニアリング
      • 名著「UNIXという考え方 - UNIX哲学」は本当に名著なのか? 〜 著者のガンカーズは何者なのかとことん調べてみた - Qiita

        補足 1975: トンプソンはベル研を一時休職し、母校のカリフォルニア大学バークレー校に Version 6 Unix をインストールする作業を手伝う。これは後に BSD Unix として配布される。 1984-1998: ガンカーズが DEC でプリンシパル・ソフトウェア・エンジニアを務めた時期 ガンカーズは DEC の Unix Engineering Group (UEG) に所属 いつから DEC に勤めていたのかは不明 P63 より「小さな会社で Version 7 Unix を使っていた」ので 1979 年よりも後 V7M の開発には関わってなさそう おそらく 1980-1984 の間に DEC に入社したと思われる ガンカーズが「UNIX の考え方」についての本はないだろうか?と考えたのは 1991 年 1988: POSIX.1 標準化(POSIX.2 は 1992 年)

          名著「UNIXという考え方 - UNIX哲学」は本当に名著なのか? 〜 著者のガンカーズは何者なのかとことん調べてみた - Qiita
        • Bashを使いこなすための必須コマンド71選 - Qiita

          はじめに mkdir, ls, cp, touch, mv, rm以上のコマンドにあんまり触れていない。。。という方、もっとコマンドを使いこなしたい!という方。。。必見。 基本的だが全部網羅するには大変な基本コマンド及びショートカットを溢れんばかり71選お届けします。たくさんありますので、表題に何のコマンドか書いてあるのをご活用ください。 一部、macユーザー向けとなっていることをご了承ください。 弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 Ctrl を使ったショートカット 最初に、Ctrlを使ったショートカットを紹介します。 Ctrl-A 行頭移動 ↓ Ctrl-E 行末移動 ↓ Ctrl-W 直前一単語を削除 ↓

            Bashを使いこなすための必須コマンド71選 - Qiita
          • シェルスクリプトとの対比で理解するPythonのsubprocess - 朝日ネット 技術者ブログ

            はじめに 開発部の ikasat です。 皆さんは git, ssh, rsync のような外部コマンドを呼び出すスクリプトを書きたくなったことはありますか? 個人的にこの類のスクリプトは最初はシェルスクリプトとして書くのですが、改修を重ねるうちに肥大化して処理も複雑になり、 後から Python のような汎用プログラミング言語で書き直すことがよくあります。 外部コマンド呼び出しを書き直す際に、Git 操作のために pygit2、 SSH 接続のために paramiko のようなライブラリをわざわざ使うのは大がかりだったり、 rsync に相当するようなこなれたライブラリが存在しなかったりする場合があります。 そのような時は標準ライブラリの subprocess モジュールを利用し、Python から外部コマンドを呼び出すことになるでしょう。 しかしながら、Python のチュートリアルペ

              シェルスクリプトとの対比で理解するPythonのsubprocess - 朝日ネット 技術者ブログ
            • 20分で分かるDirty Pipe(CVE-2022-0847) - knqyf263's blog

              極限まで詳細を省けば何とか20分で雰囲気だけでも伝えられるんじゃないかと思って書きました。書き終えてから見返したら多分無理なので誇大広告となったことを深くお詫び申し上げます。 背景 概要 脆弱性の影響 ページキャッシュやsplice パイプ マージの可否 下準備 攻撃手順 まとめ 背景 先日Dirty PipeというLinuxカーネルの脆弱性が公表されました。 dirtypipe.cm4all.com Linuxのパイプに関する脆弱性なのですが、仕組みは意外とシンプルでぎりぎりブログでも伝わるかもしれないと思ったので自分の理解を書きました。あといつも細かく書きすぎて長くなるので、今回は雰囲気だけでも伝わるようにとにかく説明を簡略化し、ふわっとした概要だけでも理解してもらえるように頑張りました。その結果、若干正確性に欠ける部分があるかもしれませんがお許しください。細かい部分はまた別の記事でま

                20分で分かるDirty Pipe(CVE-2022-0847) - knqyf263's blog
              • シェルスクリプトでlsをパイプでつなぐのはなぜ悪いのか ~ ShellCheck: SC2010, SC2011, SC2012 とファイル名改行問題 - Qiita

                シェルスクリプトでlsをパイプでつなぐのはなぜ悪いのか ~ ShellCheck: SC2010, SC2011, SC2012 とファイル名改行問題ShellScriptUNIXshellシェル芸POSIX はじめに シェルスクリプトで ls コマンドの出力結果(ファイル名一覧)をパイプで他のコマンドに渡して処理するのは推奨されません。ls コマンドを使ったコードを ShellCheck で検査するとおそらく問題があると警告が表示されるでしょう。ls を使うなという指摘自体には賛成なのですが SC2010、SC2011、SC2012 に書いてある理由については正しい説明がされていないと思っています。この記事ではなぜ ls の出力結果を他のコマンドにパイプで渡すのが悪いのか、ls を使わずに実現するにはどうしたら良いのかを解説したいと思います。一つ補足をしておくと、この問題は CLI コマ

                  シェルスクリプトでlsをパイプでつなぐのはなぜ悪いのか ~ ShellCheck: SC2010, SC2011, SC2012 とファイル名改行問題 - Qiita
                • さくらインターネット、会員登録不要で無償利用可能なオンラインシェル環境 「さくらのクラウドシェル」を2023年5月25日より提供開始 | さくらインターネット

                  さくらインターネット、会員登録不要で無償利用可能なオンラインシェル環境 「さくらのクラウドシェル」を2023年5月25日より提供開始 クラウドコンピューティングサービスを提供するさくらインターネット株式会社(本社:大阪府大阪市、代表取締役社長:田中 邦裕)は、ブラウザから無料で利用できるシェル環境「さくらのクラウドシェル」の提供を2023年5月25日より開始します。 「さくらのクラウドシェル」はオンラインのシェル環境で、すでに開発者向けの環境がインストールされているため、ご自身の環境に手を加えることなくすぐに利用することができます。 基本機能は会員登録不要のプランにて利用可能です。また、必要に応じて会員IDを利用することでアクセス制限を緩和することが可能です。それに伴い、デプロイ・リリース用サーバとしての利用や外部I/Fを利用するようなプログラミング環境としての利用など柔軟に利用できます。

                    さくらインターネット、会員登録不要で無償利用可能なオンラインシェル環境 「さくらのクラウドシェル」を2023年5月25日より提供開始 | さくらインターネット
                  • Bashの邪悪なコマンド9選 - Qiita

                    rm -rf /やったことある人。 私はないです。 以下はAndreas Müller( Twitter / GitHub / LinkedIn / Medium )による記事、9 Evil Bash Commands Explainedの日本語訳です。 9 Evil Bash Commands Explained 初めてターミナルを使って、そしてそれを理解したときのことを覚えています。 あらゆるファイルにアクセスし、全てのプログラムを実行し、黒い画面に何かを入力するだけでシステムの全てを完全に掌握できることに気がついた、あの感覚。 そしてもちろん、致命的ミスを犯して全てを失った、あのときの恐怖も。 私は本当はシステム管理者ではありませんが、長年にわたってLinux/UNIXベースのシステムで作業してきたので、コマンドを実行しようとしてEnterキーを打つことを躊躇う状況に何度も遭遇しまし

                      Bashの邪悪なコマンド9選 - Qiita
                    • GitHub - google/zx: A tool for writing better scripts

                      You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                        GitHub - google/zx: A tool for writing better scripts
                      • 初学者のための正しいシェルとカーネルの概念 ~ 大学も技術者認定機関も間違いだらけ - Qiita

                        なんだろう、嘘つくのやめてもらっていいですか? 大学も技術者認定機関も、いつまで古いまたは間違ったシェルとカーネルの概念を説明し続けるのでしょうか? シェルはカーネルの言葉をユーザーの言葉に翻訳したり、出力結果をユーザーに中継したり、カーネルを防御したりする層ではありません。指定したコマンドを実行するだけのプログラムです。勉強中の学生か代理執筆業者が適当な文献を調べて書いたとしか思えません。そして他人の説明を自分の言葉に置き換えるのが上手い人がおかしな説明をさらに広めています。個人サイトやオンライン学習サイト程度であれば適当なことを書いていても気にも留めませんが、大学や技術者認定機関のような正しいことを書いているに違いないと思えるような所までもが間違ったことを書いているから困ったものです。 みなさんは大学や技術者認定機関が言っていることなら正しいと思いこんでいないでしょうか? そんなことあ

                          初学者のための正しいシェルとカーネルの概念 ~ 大学も技術者認定機関も間違いだらけ - Qiita
                        • Visual Studio Code と Docker コンテナを使って開発する - Pepabo Tech Portal

                          技術部データ基盤チームの @zaimy です。今回は、 Visual Studio Code(以下 VS Code)と Docker コンテナを使って開発環境を構築する方法を紹介します。 データ基盤エンジニアの開発環境として、Python を使用する単一コンテナを例に記述しますが、他の言語や Docker Compose を使う場合でも応用できます。 背景: M1 Mac (Monterey) に Python 3.8.12 をインストールできない 先日、業務で使用するマシンを Intel Mac から M1 Mac に切り替えたのですが、CPU アーキテクチャが異なることに加えて、OS のバージョンが上がったことで Apple Clang に下位互換性のない変更が入っており、業務上ある理由で必要な Python 3.8.12 のインストールが困難でした。 そこで、私の所属するチームは全員

                            Visual Studio Code と Docker コンテナを使って開発する - Pepabo Tech Portal
                          • 【個人的に】Dockerがはかどる小技 - Qiita

                            初めて知ったときは感動したけど 自分の中で知ってて当然になってしまった小技をまとめました まだこの小技を知らない人に届いてくれるとうれしい Dockerfile RUNを1つにまとめる

                              【個人的に】Dockerがはかどる小技 - Qiita
                            • リモートの Linux サーバを開発環境にする

                              これまで Macbook Pro を開発環境としていたんだけど、価格は高いし Docker for Mac は重いしでいいことないなということで Linux の開発環境に移ることにした。前職の最初の数年はすべて VM(当初は jail)にログインして開発していたのでその頃に戻った感じ。ただ GUI は macOS が何かと楽なので Intel NUC を購入して自宅に置いてリモートでログインして使っている。Core i7、メモリ 64GB で10万ちょいと安いのにめちゃくちゃ快適でさいこう。 ここからは備忘録としてリモートを開発環境とするうえで実施した作業を残す。あと作ったものもあるので宣伝。 外部からログインしたい自宅以外からも使うだろうということで(最近京都からリモートで働くこともあり)、VPN サービスとして Tailscale を導入した。 Best VPN Service for

                                リモートの Linux サーバを開発環境にする
                              • Vimの:wと:rの便利Tips

                                始めに Vimには:wと:rコマンドがあります。コマンド自体は知っている方が多いかと思います。 ぼく的にちょっと便利な使い方ができるので、それお紹介していこうと思います。 :r :r banana.txtでファイルの中身を読み取って、現在のカーソルの次の行に挿入してくれます。 挿入できる行も指定できます。その場合は:{lnum}r banana.txtというふうに先頭に行番号を入力します。 ここからがイチオシですが、実は:r !{cmd}でコマンドの出力も挿入できます。 たとえば、APIのレスポンスをVimでちょっと編集したい場合や、コマンド実行結果を記事に挿入したい場合などに便利です。 :w :wについてVimmerのみなさんなら誰もが知っているコマンドなので説明は省きますが、 実は:w !{cmd}でバッファの内容を外部コマンドの標準入力として渡してくれます。 つまり、標準入力からコー

                                  Vimの:wと:rの便利Tips
                                • シェルスクリプト リファクタリング ~遅いシェルスクリプトが供養されてたので蘇生して256倍に高速化させました~ - Qiita

                                  はじめに ことの始まりは「シェルスクリプトでツールを作ったけど速度が遅くて使い物にならなかったので供養」というツイートを見たからです。コードを見てみると、実例をあまり見ないシェルスクリプトのリファクタリング例として丁度良い内容と分量だったため記事にいたしました。記事を書くにあたりコードの利用を快く承諾していただいた @Hayao0819 様にはこの場を借りて御礼を申し上げます。 内容は章立てで構成しており、序章で事前調査をし、第一章で一般的なリファクタリング、第二章でパフォーマンスを重視したリファクタリング、終章で少し余談をして締めくくっています。最初はパイプは並列処理されるから速くなるというのは神話(そうとは限らない)についても書いていたのですが流石に長いので分けました。それでも書きたいことを色々書いていたらめちゃくちゃ長くなってしまいましたので読み物として私がどんなことを考えながらリフ

                                    シェルスクリプト リファクタリング ~遅いシェルスクリプトが供養されてたので蘇生して256倍に高速化させました~ - Qiita
                                  • VSCodeのGitHubリポジトリに対する不正なPushアクセス

                                    はじめにMicrosoftは脆弱性の診断行為をセーフハーバーにより許可しています。 本記事は、そのセーフハーバーを遵守した上で発見/報告した脆弱性を解説したものであり、無許可の脆弱性診断行為を推奨する事を意図したものではありません。 Microsoftが運営/提供するサービスに脆弱性を発見した場合は、Microsoft Bug Bounty Programへ報告してください。 要約VSCodeのIssue管理機能に脆弱性が存在し、不適切な正規表現、認証の欠如、コマンドインジェクションを組み合わせることによりVSCodeのGitHubリポジトリに対する不正な書き込みが可能だった。 発見のきっかけ電車に乗っている際にふと思い立ってmicrosoft/vscodeを眺めていた所、CI用のスクリプトが別のリポジトリ(microsoft/vscode-github-triage-actions)にま

                                      VSCodeのGitHubリポジトリに対する不正なPushアクセス
                                    • macOS のデフォルト状態でコマンドラインからOCR処理を行う - TeX Alchemist Online

                                      macOS 12 Monterey では,OSビルトインでのOCR機能が搭載されました。Preview.app で,画像やスキャンPDF(中身がスキャン画像のPDF)に対して,ただマウスでドラッグするだけで,中身の文字を認識して選択し,コピーできるようになっています。さらに,macOS 13 Ventura では,それが日本語にも対応しました。 たとえば,(今や入手困難となってしまった)The TeXbook のアスキーによる日本語版をスキャンしたものを Preview.app で開くと,何もしなくても,文字選択できます。 これをコピーして他のエディタにペーストすると, TEXの名称で気をつけなければならないことがほかにもある。Eの文字が不揃いになっていることだ。Eの文字を少し下げてあるのは、TeXが組版のためのシステムであることを印象づけるためであり、またほかのシステムの名称と区別するた

                                        macOS のデフォルト状態でコマンドラインからOCR処理を行う - TeX Alchemist Online
                                      • Big Sky :: Windows ユーザは cmd.exe で生きるべき 2020年版

                                        はじめに 2016年にこんな記事を書きました。 Big Sky :: Windows ユーザは cmd.exe で生きるべき。 [D] Windowsはターミナルがダメだから使えないってのは過去の話? 基本的にはいい感じに見えますが、いくつか問題は発覚してます。 http://blog.drikin.com/2015/01/w... https://mattn.kaoriya.net/software/why-i-use-cmd-on-windows.htm この記事は日常からコマンドプロンプトを使うユーザに Windows で生き抜く為の僕なりの方法を教授したつもりです。最近は PowerShell を使われる方も多いと思いますが、僕はどうしても PowerShell が好きになれず、未だにコマンドプロンプトで生き続けています。 あれから4年 記事の反響は結構大きく、いろいろなコメントも

                                          Big Sky :: Windows ユーザは cmd.exe で生きるべき 2020年版
                                        • 🚀 プロンプトを超絶おしゃれにする Starship を紹介 - Qiita

                                          公式: https://starship.rs GitHub: https://github.com/starship/starship Starship はプロンプト(ターミナルに表示されるカレントディレクトリやユーザーの情報) のカスタマイズを行うプラグインのようなもので、特徴としては 公式より引用 Starship is the minimal, blazing fast, and extremely customizable prompt for any shell! The prompt shows information you need while you're working, while staying sleek and out of the way. Rustで作られているために高速に動くそうです。 インストール Macであればとても簡単に、

                                            🚀 プロンプトを超絶おしゃれにする Starship を紹介 - Qiita
                                          • シェル・ワンライナー 160 本ノックを完走した - NTT Communications Engineers' Blog

                                            この記事は、 NTT Communications Advent Calendar 2022 4 日目の記事です。 こんにちは。 SDPF クラウド・仮想サーバーチームの杉浦です。 普段は OpenStack の開発・運用をしています。 みなさんはシェル芸と聞いてどのようなコマンドを想像しますか? 私は以下のような怖いコマンド 1 を想像していました # 無限に process を fork するコマンドです # 実行するときは自己責任でお願いします :(){ :|:& };: ですがシェル芸はもっと親しみやすくて 2 実用的なものです。 私はシェル芸のシェの字もできないくらいシェル芸初心者だったのですが、 1日1問、半年以内に習得 シェル・ワンライナー160本ノック という本を完走してシェル芸チョットワカルようになったので、本の宣伝をしつつ完走した感想を紹介しようと思います。 1日1問、

                                              シェル・ワンライナー 160 本ノックを完走した - NTT Communications Engineers' Blog
                                            • (たぶん)君はまだtmuxの真の力を引き出せていない - Qiita

                                              目次 tmuxとは 起動して新規セッションを作成する windowを作成する window間を行き来する windowを分割してpaneを作成する paneを行き来する セッション間を行き来する 【応用】tmuxの表示内容をリダイレクトする 【応用】情報バーにgitのbranch名を表示する 【応用】現在の操作パスを表示する 【応用】スニペットを呼び出す 以上の設定の .tmux.conf はこちら tmuxはバージョン互換性がかなり微妙 YouTubeでも公開したのでチャンネル登録してくれると嬉しいです tmuxとは tmuxとはターミナルマルチプレクサと言われるもので、sshで作業マシンにログインして操作した際や、重いプログラムを実行するなどして帰りたいが終了せずに作業を継続したい際などが、最も簡単なユースケースです。 これだけにとどまらず、tmuxはterminalを複雑に装飾できる

                                                (たぶん)君はまだtmuxの真の力を引き出せていない - Qiita
                                              • なぜシェルスクリプトで高度なデータ管理にSQLiteを使うべきなのか? ~ UNIX/POSIXコマンドの欠点をSQLで解決する

                                                なぜシェルスクリプトで高度なデータ管理にSQLiteを使うべきなのか? ~ UNIX/POSIXコマンドの欠点をSQLで解決するShellScriptUNIXSQLitePOSIXQiitadelika 「利用者は数十億人!? SQLiteはどこが凄いデータベース管理システムなのか調べてみた」の続きです。 はじめに 複雑な構造のデータを扱うのであればシェルスクリプトや Unix (POSIX) コマンドでデータ管理を行うのは避けるべきだと思います。解決不可能な問題が多いからです。しかしそれでも何かしらの理由でやろうと考える(やらなければいけない)のであれば SQLite を使うのをおすすめします。シェルスクリプトや Unix コマンドは行単位の単純なテキストデータをシーケンシャルにデータ処理するのが前提となっており、改行や空白が含まれるデータや複雑な構造のデータ扱うのは苦手です。またシェル

                                                  なぜシェルスクリプトで高度なデータ管理にSQLiteを使うべきなのか? ~ UNIX/POSIXコマンドの欠点をSQLで解決する
                                                • シェルスクリプトの [ ] と [[ ]] の違いを歴史的に解説 〜 言語設計者の気持ちになって理解しよう - Qiita

                                                  はじめに bash などのシェルには [ ... ] と [[ ... ]] の二種類の比較方法があります。一つはコマンド、もう一つはシェルの文法なのですが、具体的にはこの二つは一体何が違うのでしょうか? そもそもなぜ似ている機能が二つもあるのでしょうか? この記事は言語設計者の気持ちになって考えることで、その理由を解き明かそうという記事です。 なお、違いについての簡単な説明については「test と [ と [[ コマンドの違い - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog 」の記事がよくまとめられていますので紹介します。一通りの違いを素早く知りたい方はこちらを参照してください。 参考 シェルの歴史や種類については「シェルの歴史 総まとめ(種類と系統図)と POSIX の役割」に詳しくまとめています(系統図とか頑張って書いたので見

                                                    シェルスクリプトの [ ] と [[ ]] の違いを歴史的に解説 〜 言語設計者の気持ちになって理解しよう - Qiita
                                                  • また make の話してる(2020年9月14日) - なにもわからない

                                                    私の大好きな Makefile の話が盛り上がっていたのでまとめました。 「やめてね。」って方はお声がけください。 同じ会社にいるけど、真逆の感想を持っている。Makefile読まないと副作用が分からないし、Rakefile/package.jsonだけで済むのに無駄に1つレイヤ増えていて、Makefileできたときからいる人は楽だけど、途中から入った人にとっては学習コストが高い。 https://t.co/EXtmI3xl72— 神速 (@sinsoku_listy) 2020年9月13日 golangでMakefileを使うのは分かる。 ただ、RubyやNode.jsのリポジトリなら $ git clone xxx $ cd xxx $ bundle install && rake もしくは npm install && npm test で環境構築ができることを期待する。— 神速 (

                                                      また make の話してる(2020年9月14日) - なにもわからない
                                                    • おうちの回線速度をお手軽に可視化してみよう | IIJ Engineers Blog

                                                      2018年新卒入社。名古屋支社にてSI中心にお仕事をするエンジニア。仕事ではサーバやミドルウェアを、趣味ではウェブやアプリを弄っています。 【IIJ 2022 TECHアドベントカレンダー 12/21(水)の記事です】 はじめに 名古屋支社の kmmt-t です。 今年の夏頃、インターネットの回線速度を測定するブームがありました。(なぜ?については触れませんが・・・) 俗に言われる「回線速度」というものは、時間帯やご近所さんの利用状況などの様々な要因で変化するものなので1回だけ測ったところで大した意味は持たないでしょう。先日公開された弊社のハンズオン研修の1つである「監視Overview」でも述べられている通り、何かのシステムを監視するのであれば「可視性」「通知性」「特定性」「分析性」を重視しなければなりません。・・・例えそれが自宅のインターネット回線であっても! というわけで今回は、以下

                                                        おうちの回線速度をお手軽に可視化してみよう | IIJ Engineers Blog
                                                      • Makefile覚書: Goアプリ開発に役立ちそうな基礎知識 | フューチャー技術ブログ

                                                        はじめにTIG真野です。育休明けです。 フューチャー社内のタスクランナーはmakeやTaskなど複数の流派があり、チームによって使い分けられています。個人的にはmakeで良いんじゃないかと思っていますが、Taskも良いですよね。 makeは細かい記法をいつも忘れる+調べるとC言語向けの情報が出てきて脳内変換に手間を感じたため、makeを用いてWebバックエンドアプリをGoで開発するということをテーマに、役立ちそうな情報をまとめます。 なお、今記事におけるmakeは、GNU Makeを指します。バージョンは以下で動かしています。 MakefileのためのEditorConfigMakefileのインデントはハードタブである必要があります。誤りを防ぐためにもEditorConfigを設定しておくと良いでしょう。 makeは通常、Makefileという名称をデフォルトで認識しますが、同一フォルダ

                                                          Makefile覚書: Goアプリ開発に役立ちそうな基礎知識 | フューチャー技術ブログ
                                                        • PowerShellのスクリプトを書く時の諸注意

                                                          先日Windows向けの作業のちょっとした自動化のためにPowerShellのスクリプトを書いたので、少し躓いたポイントを書きます。 大人しくLinux版のPowerShellもインストールします WSL2のEmacsから快適に編集するためにシンタックスなどのエラーレポートなどがやはり欲しいですね。 Powershell - LSP Mode - LSP support for Emacs を使えば普通にLSPが利用可能ですが、インストールするためにpwshが実行ファイルとしてPATHに認識されている必要があります。 しかしWSL2上で作業しているのですから、 Windows上のpwsh.exeを使えば多重にインストールする必要がなくなるのではと考えました。 そこでlsp-pwsh-exeにpwsh.exeを追加してみたのですが、 Windows上のPowerShellをWSL2上で動かす

                                                            PowerShellのスクリプトを書く時の諸注意
                                                          • ようこそdotfilesの世界へ - Qiita

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

                                                              ようこそdotfilesの世界へ - Qiita
                                                            • ひさしぶりにzshに戻りました - ちなみに

                                                              仕事用のマシンをM1 MacBook Proに交換してもらったので、開発環境を整え直しました。 2年ほど fish を使ってきたのだけれど、普段は良いのだけれど、ちょっと自動化したくなったときに、やはりPOSIX準拠じゃないシェルはなかなか難しかった。macOSの標準も zsh になったことだし、久しぶりに戻ってみることにした。 導入 現代なので XDG Base Directory Specification に乗っかっておくことにする。 Arch Linux の Wiki がよくまとまっていて助かるのでこれを参考にして進めた。 zshの場合は ZDOTDIR を指定するといいのだけれど、これをどこで指定するのかという問題がある。zshの起動時に最初に読み込まれるユーザー設定は ~/.zshenv なのだけれど、ここに ZDOTDIR を書くということは .zshenv だけホームディレ

                                                                ひさしぶりにzshに戻りました - ちなみに
                                                              • いちいちシェルコマンド思い出せないので、ChatGPTで自然言語からスクリプトを生成するツールつくった - Qiita

                                                                いちいちシェルコマンド思い出せないので、ChatGPTで自然言語からスクリプトを生成するツールつくったPythonOpenAIChatGPTlangchain はじめに ChatGPT APIが出たので早速さわってみました。せっかくなので何か便利なものをということで自分向けに使えそうなツールをつくっていたら 良いかんじに動作したのでご紹介します。 つくったものは、「ChatGPTを用いた自然言語によるシェルコマンドランチャー」です。百聞は一見にしかずと言うことでまずは動作するところをみてください。 概要 wannaコマンドは、ChatGPTを用いた自然言語によるシェルコマンドランチャーです。自然言語によって、bash scriptを生成し、名付けし、管理できます。 コマンドライン上での操作は簡単に多くのことを行うことができるため、非常に便利です。しかし、多くのコマンドやオプションの組み合わ

                                                                  いちいちシェルコマンド思い出せないので、ChatGPTで自然言語からスクリプトを生成するツールつくった - Qiita
                                                                • GoogleのShell Style Guideの邦訳 - Qiita

                                                                  背景 (Background) どのシェルを使うか (Which Shell to Use) Bash は実行が許可された唯一のシェルスクリプト言語である。 実行可能ファイルは #!/bin/bash と最小限のフラグで始めなければならない。シェルオプションの設定に set を利用することで、 スクリプトを bash script_name として呼び出してもその機能を損なわないようにせよ。 全ての実行可能シェルスクリプトを bash に制限することで、全てのマシンにインストールされた一貫したシェル言語を得る。 これに対する唯一の例外は、コーディング対象によって強制される場合である。この1つの例として、Solaris SVR4 パッケージは、どんなスクリプトにも plain Bourne shell であることを要求する。 いつシェルを使うか (When to use Shell) シェル

                                                                    GoogleのShell Style Guideの邦訳 - Qiita
                                                                  • 業務で使えるかもしれない…!?GitHub Actions の Tips 集 / CI/CD Test Night #7

                                                                    https://testnight.connpass.com/event/311263/

                                                                      業務で使えるかもしれない…!?GitHub Actions の Tips 集 / CI/CD Test Night #7
                                                                    • 共同開発を始めるときに便利な 5 つの GitHub Actions

                                                                      はじめに スタートアップ等において新しいプロダクトを始める時は、負債が無い代わりに何もありません。 そういった時に、ソフトウェアの品質を担保するための CI のセットアップが、初期から重要になってきます。 GitHub を使用している場合は、GitHub Actions を使用されることが殆どだと思うので、そちらを前提に進めていきたいと思います。 1. rhysd/actionlint 様々なエンジニアが action を追加したり、編集したりするようになった時、全員が正しい書き方で書いていくことは難しいです。 また、それを 1 人の GitHub Actions Expert がレビューしていくのは大変で、属人化してしまっているので、避ける方が望ましいです。 以下をコピペすれば、使用できます。 name: Actionlint on: push: branches: [ main ] p

                                                                        共同開発を始めるときに便利な 5 つの GitHub Actions
                                                                      • チルダ(~)はどうしてホームディレクトリになるのか - Lambdaカクテル

                                                                        たまに忘れてコケたり,周りでも困っている人がいるようだったのでメモ. 追記(2020-09-06T11:25+09:00) この記事では仕組みのほうについて記述しており,由来については書いてなかったのですが,ブコメでホームディレクトリがチルダで表記されるようになった由来について幾人かの識者にご指摘いただきました. unix.stackexchange.com ちょうどHOMEキーと同じ場所にチルダキーがあったんですね.ありがとうございました. tl;dr ~/は$HOME/と同義である ~/が$HOME/に,ひいては実際の$HOME/の中身に展開されるのはシェル(e.g. bash, zsh, etc...)の拡張機能 シェルを使わなければその機能は使えないので,手で展開する必要がある シェルを使わない状況: プログラム中からパスをいじるような場合,DockerfileのCMDなど ~--

                                                                          チルダ(~)はどうしてホームディレクトリになるのか - Lambdaカクテル
                                                                        • Bash シェルスクリプトのデバッグや入力補完ができる Visual Studio Code 拡張機能(WSL2,mac,Linux対応) - Qiita

                                                                          Bash シェルスクリプトのデバッグや入力補完ができる Visual Studio Code 拡張機能(WSL2,mac,Linux対応)ShellScriptBashdebugVSCodeWSL2 シェルスクリプトにも統合開発環境を Bash のシェルスクリプト (shell script) は Linux はもちろん mac や Windows でも動作します。 シェルスクリプトの文法にはかなりクセがありますが、仕様が安定しているために移植する必要がないという大きなメリットがあります。ただ、一般的なプログラミング言語と異なり、デバッガーが使えないため期待した動作と異なるときに動きが分かりづらいという弱点がありました。 しかし、それはもう過去の話です。 Visual Studio Code の Bash Debug 拡張機能を使えば、シェルスクリプトでもステップ実行や環境変数の値のウォッ

                                                                            Bash シェルスクリプトのデバッグや入力補完ができる Visual Studio Code 拡張機能(WSL2,mac,Linux対応) - Qiita
                                                                          • PHPにはエスケープ関数が何種類もあるけど、できればエスケープしない方法が良い理由

                                                                            このエントリは、PHP Advent Calendar 2021 の20日目のエントリです。19日目は @takoba さんによる PHPプロジェクトのComposerパッケージをRenovateで定期アップデートする でした。 SQLインジェクションやクロスサイトスクリプティング(XSS)の対策を行う際には「エスケープ処理」をしましょうと言われますが、その割にPHP以外の言語ではあまりエスケープ処理の関数が用意されていなかったりします。それに比べてPHPはエスケープ処理の関数が非常に豊富です。これだけ見ても、PHPはなんてセキュアなんだ! と早とちりする人がいるかもしれませんが、しかし、他言語でエスケープ処理関数があまりないのはちゃんと理由があると思うのです。 本稿では、PHPのエスケープ処理用の関数を紹介しながら、その利用目的と、その関数を使わないで済ませる方法を説明します。 SQL用

                                                                            • npm-scripts を書く時の手癖 - mizdra's blog

                                                                              かれこれ 5 年くらい趣味開発で npm-scripts を書き続けている。長年書き続けているとノウハウが蓄積されてきて、「こう書くとスッキリする」「迷いがなくなる」「後から拡張したくなった時に、簡単に拡張できる」みたいな書き方が身についてきた。自分の型、あるいは手癖のようなものだと思う。 せっかくなので、id:mizdra の今の npm-scripts を書く時の手癖を書き連ねてみる。 基本形 { "scripts": { "build": "webpack --mode production", "dev": "webpack-dev-server --mode development", "lint": "eslint .", "test": "jest" } } 一番シンプルな npm-scripts を書く時のパターン。以下の 4 つの script を登録している。 buil

                                                                                npm-scripts を書く時の手癖 - mizdra's blog
                                                                              • Makefile警察「ぐぬぬぬ…」 - Qiita

                                                                                ?「プロジェクトでよく使うコマンド Makefile に書いたろー」 ?「docker compose up -d --wait っと…」 👮‍♀「 Makefile警察 だ!」 👮‍♀「 Makefile は、ソフトウェアのビルドプロセスを自動化するためのファイルだ!」 👮‍♀「多目的なタスクランナーとして使うな!」 ?「せやったんか。誠にごめんなさい。」 Makefile は広く使われていますが、時々目的外に使われてしまうことがあります。しかし、そのような使い方にはより適した代替手段が存在します。この記事では、 Taskfile というツールについて解説します。 Makefile のつらみ Makefile は主にビルドプロセスを自動化する目的で生まれましたが、様々なコマンドをまとめて実行する便利さから多目的なタスクランナーとしてもよく使われます。しかし、次のような問題があります

                                                                                  Makefile警察「ぐぬぬぬ…」 - Qiita
                                                                                • シェル芸人に必要なのは「マスキングテープ」だったのでは

                                                                                  2020/06/27 第48回シェル芸勉強会LT資料 https://www.youtube.com/watch?v=PIqx9fCSbaU&t=609s

                                                                                    シェル芸人に必要なのは「マスキングテープ」だったのでは