並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 30 件 / 30件

新着順 人気順

makefileの検索結果1 - 30 件 / 30件

  • また 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日) - なにもわからない
    • Makefile覚書: Goアプリ開発に役立ちそうな基礎知識 | フューチャー技術ブログ

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

        Makefile覚書: Goアプリ開発に役立ちそうな基礎知識 | フューチャー技術ブログ
      • Makefile警察「ぐぬぬぬ…」 - Qiita

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

          Makefile警察「ぐぬぬぬ…」 - Qiita
        • 現代開発を加速させる古来の術式

          浮かない顔をしておるな。ワケを話してみよ。 npmの依存パッケージが増えた ふむ。npmで依存パッケージを増やしたと。それで? なに、他の開発者から 動かない と言われたのか。で、毎回 npm ciをしてくれ と頼んでいるわけか。 …その問題、半世紀ほど前に解決されておるぞ。 何かの縁じゃ。お主に開発環境を自動更新する古来の術式を教えてやろう。 詠唱準備 手始めに適当なパッケージを作るかの。今からの操作は空ディレクトリの中で作業していくぞ。 お主がNode.jsをインストール済であれば、

            現代開発を加速させる古来の術式
          • Go で使う Makefile の育て方

            Go を使ってプロダクトを作る時、Makefile を使ってビルドを指定することが多いです。 理由としては、 バージョン情報などを埋め込むのに都合がいい 複数のバイナリを吐き出す時に都合がいい Go のビルドオプションを指定するのにいろいろあって整理しておきたい 事前にコードジェネレータで書き出す部分があり、それを考えると Makefile などで整理したい などなどです。なので今回はプロジェクトが大きくなっていく中でどういう Makefile の書き方をしているか、というのをご紹介しようと思います。 サンプルとして、今回のプロジェクトでは gRPC を使ったチャットサービスのサーバーとクライアントを作ることにします。リポジトリは https://github.com/rosylilly/gochat に置いておきました。 Step 1. バージョン情報を埋める 今回はサーバーとクライアン

              Go で使う Makefile の育て方
            • モノレポの開発環境でDocker ComposeをやめてTaskfileを導入した話

              こんにちは、Sally社 CTO の @aitaro です。 マーダーミステリーアプリ「ウズ」とマダミス制作ツール「ウズスタジオ」、マダミス情報サイト「マダミス.jp」を開発しています。 はじめに この記事ではウズの開発当初から利用していた Docker Compose をやめることにした背景についてご紹介します。 Docker Compose は各マシンの開発環境での差異を吸収するというメリットがあり、多くの開発現場で導入されていますが、Docker Composeの抱えているデメリットを勘案して、最終的に一部を残して辞める決断をしました。 Docker Composeの特徴 Docker Composeは、複数のコンテナを定義し、管理するためのツールです。ウズの開発環境では、バックエンド、フロントエンド、データベースなどをそれぞれコンテナ化して、Composeで一括管理していました。こ

                モノレポの開発環境でDocker ComposeをやめてTaskfileを導入した話
              • Makefileの代わりにnpm scripts+zxを使う - 詩と創作・思索のひろば

                そこそこの規模があるプロジェクトで実行すべきタスクを定義するとき、初手として Makefile を使いがち。 Pros make は事実上どんな環境にもあることを期待してよい シェルで実行されるコマンドをそのまま書ける タスクの依存関係が明示できる Cons make では positional arguments が使えない 少し複雑なことをしようとすると Makefile 専用の文法を覚える必要がある 現代では、ファイルベースのタスクの依存関係は make が発明されたころほどは必要ではない Docker とか Go とか Webpack がよしなにしてくれることが多い 例: docker compose のラッパー ちょっとしたコマンドのラッパーを書きたいことがある。Makefile を書きはじめたらすべてのエントリポイントを make にしたい。ということで、以下のような Make

                  Makefileの代わりにnpm scripts+zxを使う - 詩と創作・思索のひろば
                • 職場のプロジェクトに必ず配置しちゃうMakefileの話

                  この記事は毎週必ず記事がでるテックブログ Loglass Tech Blog Sprint の99週目の記事です! 2年間連続達成まで残り7週となりました! 始めに ログラスに入社してから時間が経つのも早く、もう3ヵ月経ちました。 そんな私ですが、入社して最初に作成したPRの話をしていきます。 普段からVimやLinuxを使うのが好きではありますが、それと同時に 環境構築オタク を自称している側面もあります。 オタクを自称する分、環境構築には多少のこだわりがあり、プロジェクトディレクトリに入ったら開発のための便利ツールがすぐ手元にある状態であってほしいのです。 プロジェクトに触って最初にやることというと環境構築ですが、必ずしも運用しやすい状態になっている訳ではありません。 その中でもログラスのプロダクトは環境構築がしやすい方ですが、より効率的にするためMakefileのブラッシュアップをし

                    職場のプロジェクトに必ず配置しちゃうMakefileの話
                  • 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」のススメ
                    • タスクランナーとしてのmakeを使う際の工夫と注意点 - KAYAC Engineers' Blog

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

                        タスクランナーとしてのmakeを使う際の工夫と注意点 - KAYAC Engineers' Blog
                      • 味玉のレシピをMakefileで記述する - 私が歌川です

                        最近よく味玉を作っているのだけど、ジップロックに日付を記入し忘れたり、ボウルに水を入れてから氷を入れようとしたりしていて、手順の依存関係を意識しないとめちゃくちゃになる。 Makefileは依存関係と成果物を記述できるので、レシピをMakefileの形で書いたらおもしろいのでは、と思ったけど記述量が多い気がする。 .PHONY: お湯を湧かす 卵を茹でる 8分待つ ボウルに氷を入れる ボウルに水を入れる ボウルに卵を入れる 卵の殻を剥く ジップロックに日付を書く ジップロックにめんつゆを入れる ジップロックに卵を入れる 一晩寝かせる 味玉 お湯を湧かす: @echo お湯を湧かします 卵を茹でる: お湯を湧かす @echo 卵を茹でます 8分待つ: 卵を茹でる @echo 8分待ちます ボウルに氷を入れる: 8分待つ @echo ボウルに氷を入れます ボウルに水を入れる: ボウルに氷を入れ

                          味玉のレシピをMakefileで記述する - 私が歌川です
                        • GitHub - jdx/mise: dev tools, env vars, task runner

                          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 - jdx/mise: dev tools, env vars, task runner
                          • go getだけでコマンドのバージョンを埋め込む - Plan 9とGo言語のブログ

                            2022年8月、Go 1.18対応版にアップデートしました 久しぶりのGoネタです。Go 5 Advent Calendar 2020の18日目が空いていたので書きました。 Goで実装されたコマンドでは、ビルドした時点のバージョンを埋め込むため以下のようなMakefileを用意することがあると思います。 .PHONY: build build: go build -ldflags '-X main.Version=$(VERSION)' しかしこの方法では、go installなどMakefileを経由せずビルドしたバイナリには適切なバージョンが埋め込まれない問題があります。個人的な意見では、可能な限りgo getでインストールできる状態を維持した方が良いと思っていますが、バージョンを埋め込むためには他に方法がないので仕方がないと理解していました。しかしGo 1.19現在、runtime/

                              go getだけでコマンドのバージョンを埋め込む - Plan 9とGo言語のブログ
                            • 『よみがえるMakefile』という祈り、もしくはJuly Tech Festa 2021 登壇感想 - じゃあ、おうちで学べる

                              概要 7月18日に July Tech Festa 2021 が開催されて『よみがえるMakefile』 というタイトルで15:20 から登壇した。今さら聞けないIT技術 というお題だったので今さら聞けないけど… みたいなものが議論の種になればとお題をMakefileに決めました。 docs.google.com connpass はこちら techfesta.connpass.com 文章として大きく離散してるので雑多なまとめになります。 タイムアポン 完全に終わっていて一連のスライドからGo言語のMakefileを育てていくエピソードを登壇資料から抹消した。 正直、資料の中にあったものをシュッとMakefileに落とし込むだけなので特定の言語やツールに依存するかな?と思って排除してしまいました。 何故か、40分だと思ってたので20分資料に再編集した。— nwiizo (@nwiizo)

                                『よみがえるMakefile』という祈り、もしくはJuly Tech Festa 2021 登壇感想 - じゃあ、おうちで学べる
                              • ちょっとMakefileくん! .envに書いた環境変数読んで!!!!!なんで読んでくれないの!?

                                あらすじ 「メ、Makefileちゃん!変数引き継いでよ!」 「うるさいですね……」make,make って感じで、Makefileと同じディレクトリ上にある.envファイルから、Makefileに環境変数を引き継ぐのが全然できなくて無限に時間を使ってしまった!!悔しいからメモにしちゃう。も〜最悪!

                                  ちょっとMakefileくん! .envに書いた環境変数読んで!!!!!なんで読んでくれないの!?
                                • MakefileでDocker+Jupyter Notebookなどの機械学習環境をスマートに扱う - CC56

                                  先日機械学習界隈の方とDockerの話をした際、Makefileを使って機械学習環境の整備をしている人は実は少数派なんじゃないかと感じました。 機械学習で使うコマンドは引数が長く、とても覚えられるものじゃありません。暗記できていてもミスタイプしたり、tmux内とかだと折り返されて何書いてるかよくわからなくなりがち 。Ctrl+Rとかで検索かけようとしても大体はdocker...から始まるのでタイプ数多くなりがち。 Makefile は、Docker のコマンドをいい感じにまとめやすく、jupyter notebook に使う長ったらしいコマンド jupyter notebook --port 8888 --ip="0.0.0.0" --allow-root なども簡略化できます。そういうわけで、全体的な生産性の向上に繋がると信じています。 今回紹介する Makefile は Docker

                                    MakefileでDocker+Jupyter Notebookなどの機械学習環境をスマートに扱う - CC56
                                  • GitHub - google-gemini/gemini-fullstack-langgraph-quickstart: Get started with building Fullstack Agents using Gemini 2.5 and LangGraph

                                    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-gemini/gemini-fullstack-langgraph-quickstart: Get started with building Fullstack Agents using Gemini 2.5 and LangGraph
                                    • Makefile で環境構築を確実に一瞬で終わらせる話

                                      はじめに ラブグラフ 開発チーム インターン の こるく です。 私がラブグラフに Join してまず感動したのが、コマンド一発で完了する超お手軽な環境構築でした。 普通プロジェクトに Join するときは面倒な環境構築をする必要がありますが、ラブグラフではそれが全くありませんでした。 ということで今回は、それを実現している Make と Docker を使って、開発、テスト、CI、本番のすべての環境で、ランタイムの環境と環境変数の設定をすべてコードベース ( IaC というやつ? ) でラクに共有して開発体験を爆アゲしようと思います。 この構成が目指すところ ✅ 環境で悩むことをなくして開発体験を爆アゲする ✅ 環境構築をコマンド一発でできるようにする ✅ ついでにテストもコマンド一発でできるようにする ✅ 環境変数をホストマシンのシェルから排除し、コードの一部としてリポジトリ内で管理す

                                        Makefile で環境構築を確実に一瞬で終わらせる話
                                      • 俺の Makefile 〜 Terraform 編 〜 - ようへいの日々精進XP

                                        tl;dr 俺の Makefile こだわりの help タスクに依存関係を 以上 tl;dr terraform に限らずですが, コマンドのオプションとかちゃんと覚えていられないので, Makefile にまとめておいて, make xxxx で叩くのが個人的なトレンドです. Linux や macOS では特に何もしなくても make コマンドを叩けるので, Makefile に定型処理を書いておくことで, コマンドオプションのうろ覚えによるオペミスなども防げるのではないかと考えています. 俺の Makefile こだわりの help terraform コマンドはパスが通っている前提です. 環境に応じて terraform のパスは書き換えてください. help: ## ヘルプを表示する @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_L

                                          俺の Makefile 〜 Terraform 編 〜 - ようへいの日々精進XP
                                        • https://yu-nix.com/archives/makefile-phony/

                                            https://yu-nix.com/archives/makefile-phony/
                                          • GitHub - EbodShojaei/bake: mbake is a Makefile formatter and linter. It only took 50 years!

                                            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 - EbodShojaei/bake: mbake is a Makefile formatter and linter. It only took 50 years!
                                            • Makefileの基本

                                              はじめに Makefileについてわかりやすい解説が少なかったのでまとめて見ました。 Makefile初心者が初心者向けに書いたものになります。 主にGNU makeの記述を訳しています。不自然な点、間違いがあったらご指摘いただければ幸いです。 Makeを理解するには、コンパイルへの理解が重要です。 コンパイルについては別記事でまとめています。よければどうぞ。 【gccの概要】コンパイルについてまとめ。 基本 主にMakefileはmakeにプログラムのコンパイルおよびリンク方法を指示します。(応用することで他の使い方もできます) Makefileに依存関係(プログラムの前提条件となるファイルとの親子関係)を記述しておくと、各ファイルの更新を取得して必要なものだけをコンパイルしてくれるようになります。 Makefileに含まれる情報は主に3つです。 変数の定義(変数、自動変数、暗黙の変数、

                                                Makefileの基本
                                              • Now announcing: Makefile support in Visual Studio Code! - C++ Team Blog

                                                Dev BlogsC++ Team BlogNow announcing: Makefile support in Visual Studio Code! We are excited to announce a brand-new extension for building and debugging Makefile projects in Visual Studio Code: Makefile Tools (preview)! The extension is in pilot stages, but we’ve curated a list of over 70 popular opensource Makefile projects that work with Makefile Tools. Give it a try and let us know what you th

                                                  Now announcing: Makefile support in Visual Studio Code! - C++ Team Blog
                                                • Windows 10で始めるC言語開発(13) Windows 10でC言語開発をしよう! Makefileの基本的な書き方を知る

                                                  makeはMakefileで動作を指定する 前回、複数のCのソースコードファイルをビルドするためにmakeを使う方法を説明した。makeはファイルの依存関係などに基づいて処理を行うためのツールで、複数のファイルをビルドする必要がある場合なんかに便利なツールだ。 makeがどのように振舞えばよいかは、Makefileというファイルに記述することになっている。前回は次のようなMakefileを用意して使用した(今回の説明に合わせたいので、ちょっとだけ変更してある)。 前回用意したMakefile OBJS= csv2tsv.o util.o CMD= csv2tsv.exe CFLAGS+=-g CC= clang build: $(CMD) $(CMD): $(OBJS) $(CC) $(CFLAGS) -o $(CMD) $(OBJS) csv2tsv.o: csv2tsv.c $(CC)

                                                    Windows 10で始めるC言語開発(13) Windows 10でC言語開発をしよう! Makefileの基本的な書き方を知る
                                                  • GitHub - mrtazz/checkmake: experimental linter/analyzer for Makefiles

                                                    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 - mrtazz/checkmake: experimental linter/analyzer for Makefiles
                                                    • docker-compose.yml を環境ごとに分割する - yKicchan's blog

                                                      前提 Compose ファイルフォーマットバーション 3.x 結論 -f オプションを使う $ docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d または環境変数を使う: COMPOSE_FILE, COMPOSE_PATH_SEPARATOR $ export COMPOSE_PATH_SEPARATOR=: $ export COMPOSE_FILE=docker-compose.yml:docker-compose.prod.yml $ docker-compose up -d ファイル間、プロジェクト間での Compose 設定の共有 — Docker-docs-ja 17.06 ドキュメント 注意 extends キーワードは 2.1 までのサポートで、(2020年7月現在)ではご利用いただけ

                                                        docker-compose.yml を環境ごとに分割する - yKicchan's blog
                                                      • マルチプラットフォーム向けのMakefileは闇

                                                        前回、 Go の学習を始めた際のまとめを記事として書きましたが、Makefileの作成は後回しにしていました。 Go のプロジェクトでは殆どの場合、 Makefile によりビルドを記述しています。Makefileは GNU Make 用のルールを記述したファイルで、 マルチプラットフォーム で利用することができます。 Makefile 完成版 今回、 Go 用のマルチプラットフォーム (Windows-cmd.exe, Windows-PowerShell, Windows-Git-Bash, Linux(ChromeOS-Crostini(Debian), WSL(Ubuntu), 他)) で動作する Makefile を作ってみました (GNU Make は Chocolatey の非 MinGW 版 4.3 を使用しました)。 Docker の scratch イメージで動作するよ

                                                          マルチプラットフォーム向けのMakefileは闇
                                                        • いまさら make

                                                          #include <stdio.h> int hello(void) { printf("Hello, World!\n"); return 0; }

                                                            いまさら make
                                                          • GitHub - bruin-data/ingestr: ingestr is a CLI tool to copy data between any databases with a single command seamlessly.

                                                            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 - bruin-data/ingestr: ingestr is a CLI tool to copy data between any databases with a single command seamlessly.
                                                            • Makefileで外部プログラムの実行結果を変数に取り込む - Qiita

                                                              Makefileで外部のプログラムやコマンドを実行した結果を変数に取り込む方法を調べて結構苦労したのでメモとして残しておく。 結論としては\$(shell ), ` `とあと \$(eval )あたりを駆使する。 簡単な例 例としてdate +%M:%S:%Nで時刻を取得してそれを変数VALに取り込む例を考える。

                                                                Makefileで外部プログラムの実行結果を変数に取り込む - Qiita
                                                              1