ozero dien @ozero リンク限定
0
神速 @sinsoku_listy

同じ会社にいるけど、真逆の感想を持っている。Makefile読まないと副作用が分からないし、Rakefile/package.jsonだけで済むのに無駄に1つレイヤ増えていて、Makefileできたときからいる人は楽だけど、途中から入った人にとっては学習コストが高い。 twitter.com/terry_i_/statu…

2020-09-13 23:21:54
Teruhisa Fukumoto @terry_i_

これめっちゃわかります...弊社もそうなってて、なんでも「make で起動」「make initで環境構築」でめちゃクソ楽だと感じた記憶。Makefile自体はC時代からあるもので、意外と歴史深いというのも結構意外でしたが。 twitter.com/gaplant_tr5/st…

2020-09-13 22:59:57
神速 @sinsoku_listy

golangでMakefileを使うのは分かる。 ただ、RubyやNode.jsのリポジトリなら $ git clone xxx $ cd xxx $ bundle install && rake もしくは npm install && npm test で環境構築ができることを期待する。

2020-09-13 23:25:50
神速 @sinsoku_listy

@terry_i_ 個人的にはmake configureのないMakefileは使い方を間違っているのでは...と思っています。複雑なコマンドを短くするならシェルスクリプトを使う方が妥当で、Makefileを使うのは間違ったツール選定してる印象です。

2020-09-13 23:46:19
神速 @sinsoku_listy

@terry_i_ Makefileは何か成果物を作るときのフレームワークとしては便利なので、そういう用途で使うのは正しいかなと思います。OpenAPIのドキュメントを生成するのを、 $ make configure $ make でyamlが生成されるとかなら、納得感がある。

2020-09-13 23:48:53
神速 @sinsoku_listy

@terry_i_ 社内だとMakefileがタスクランナーとして使われているのが標準みたいなところあるので、仕方がない...。個人的にはMakefile嫌いだけど、消すほどの納得力ある説明もできないので、放置してる感じですね。

2020-09-13 23:55:20
福本 晃之/Teruhisa Fukumoto @terry_i_

@sinsoku_listy あー、なるほど...。たぶん神速さんとコンテキストあってないかもしれなくて、僕が複雑なMakefileに出会ってないだけかもです。(コマンドフルでベタ打ち環境→makeだったので、そもそも他との比較をできていない)

2020-09-13 23:40:11
Hidenori Matsuki @mazgi

@sinsoku_listy あー、わたしも「なんでもmakeで」って文化苦手です… 結局ああいうの「書いた人しかわからない」んですよね ビルドシステムある言語はそれ使ってほしいし、Makefileのなかでdocker runしてるやつとか見たことあって「いやcomposeあるやろ」って思う そもそも2020年に全環境でmake入ってると思わないし

2020-09-13 23:41:51
saka @gaplant_tr5

コマンド実行のインタフェースとしてのmakeは本当に優秀だと思う。 makeからsbtとかnpm呼び出してるだけなんだけど、git clone した後にやることが、どのリポジトリでもmake叩けば環境できるようになってるっていうのは本当に楽だった。 twitter.com/Kei198403/stat…

2020-09-13 22:29:47
Kei @Kei198403

【日記】最近読んだ本「Engineers in VOYAGE ― 事業をエンジニアリングする技術者たち」|Kei @Kei198403 #note note.com/kei198403/n/n2…

2020-09-13 19:14:56
福本 晃之/Teruhisa Fukumoto @terry_i_

これめっちゃわかります...弊社もそうなってて、なんでも「make で起動」「make initで環境構築」でめちゃクソ楽だと感じた記憶。Makefile自体はC時代からあるもので、意外と歴史深いというのも結構意外でしたが。 twitter.com/gaplant_tr5/st…

2020-09-13 22:59:57
リザウド @rizaudo

makefileテクニックはかなり邪悪手法にまで踏み込んだし、余り無いTIPS集になったんじゃないかな。今まで見たプロジェクトで一切使われてないけど便利なディレクティブを解説してるし。

2020-09-13 23:29:02
V @voluntas

Makefile 便利だと思う派だけど好きじゃないって人もいるんだな。気をつけよう。

2020-09-13 23:56:56
やまゆ💝💯 @akai_inu

うちの会社、エンジニアはOS何使ってもOKなので、環境構築に中々時間をかけることが多い。やれDockerが遅い、MakefileはWinじゃ動かない、.envファイルがなんかおかしい。なんかうまいこといかないもんかね?全環境一発で構築したいものなんだが。

2020-09-14 00:00:09
emahiro @ema_hiro

@mazgi 慣れれば慣れるほどmakeに頼りたくなってしまう罠みたいなものがある気がします。何故そうなってしまうのかはわかりませんが。 (他人の書いたモリモリMakefile見てイラッとするのに、同じことを気付くと自分がしてしまっている...みたいな)

2020-09-14 00:01:51
バンビちゃん@実際存在しません @pink_bangbi

makefile、make が使えない環境だと使えないので不便

2020-09-14 00:06:55
Kazunori Otani @katzchang

Makefileをbetter shell scriptとして使うの、何もまずいことなかろうに。

2020-09-14 00:07:20
Kazunori Otani @katzchang

readmeにコマンド書くくらいならmakefileにした方がいいくらい。

2020-09-14 00:08:21
Kazunori Otani @katzchang

makeはマクロの塊なので、用法容量を守ってお使いください

2020-09-14 00:10:11
Kazunori Otani @katzchang

makeでループと条件分岐をやりたくなったら地獄のはじまり… twitter.com/ymotongpoo/sta…

2020-09-14 00:18:54
Yoshi Yamaguchi @ymotongpoo

まさにこのMakefileいじらないといけなくてブチギレそうになってるんだが???? github.com/open-telemetry…

2020-09-14 00:15:07
Kazunori Otani @katzchang

ループはターゲットの列挙で書き直すと見た目はスッキリする。けど、情報密度が上がりすぎることもある。

2020-09-14 00:22:48
Kazunori Otani @katzchang

多言語を扱う上で、一番大事なのがmakeですよ。単一言語しか使わないのであれば、多分あまり必要ではない。

2020-09-14 00:47:58
Kazunori Otani @katzchang

なんか俺、make大好きなやつみたいじゃん…

2020-09-14 00:53:46
epaew @epaew_dev

Makefileをdocker build&pushのショートカットに使ってるけど、 buildの成果物(ファイル)に指定すべきものがよく分からないので、 buildとpushの依存関係を指定すべきなのか指定しないほうがいいのかずっと悩んでる

2020-09-14 00:10:10
epaew @epaew_dev

思い立ってググったら見つけた記事明日にでも読もう nabeop.hatenablog.com/entry/2019/03/…

2020-09-14 00:14:01
バンビちゃん@実際存在しません @pink_bangbi

便利 makefile 用意するよりも普通の shell スクリプトファイル用意するんじゃダメなんだろうか

2020-09-14 00:11:32
渋川よしき @shibu_jp

makefile、複雑なやつだとエントリポイントがわからん。コマンドの前にpublicとかprivateとか書けたらいいのかな。タスクランナーとして使うなら。あとはWindowsに入っていれば。

2020-09-14 00:13:54
Yoshi Yamaguchi @ymotongpoo

まさにこのMakefileいじらないといけなくてブチギレそうになってるんだが???? github.com/open-telemetry…

2020-09-14 00:15:07
リザウド @rizaudo

Makeというのはシェルスクリプトを安全に巻き取る効用が強いんで、ぶっちゃけシェルスクリプトよりかはMakefileで頑張った方が良いよ

2020-09-14 00:17:55
ちゅうこ @y_chu5

使われている言語が統一されていて、その言語特有のタスクランナーがみんなわかってる、みたいな状況であればそれ使えばいいだろうけど、いろんな技術を使っている状況だったり、これを動かすにはこれとこれと……みたいな感じだとまぁMakefile楽だしそのコンテキストが共有出来ればいいじゃん派です

2020-09-14 00:18:13
Ryoichi @ シリコンバレーの資格マニア🏗️ ⚡️📡☎ @ryo1kato

ちなみに元のスレッドの趣旨は要約すると「単なるスクリプトでできることをMakefileにするな」なので、それは100%同意。 Makefileは依存関係と更新時系列を調べて最小限コマンド(=差分ビルドを)を実行するツールなので、単に決まった手順するだけのことに使うべきじゃあないよね。

2020-09-14 00:20:41
Hideaki I (メインPCがLinux) @hide5stm

makefile便利だよ。自作ツールの実行方法メモしないでもmakefile読めばわかるもの

2020-09-14 00:22:29
Ayana Takeda @yowatari

本来のmakeの使い方としてはファイルを作るような使い方が正しい。だが、タスクランナーとして便利やねん。goやrust(最近はcargo-makeか)あたりでもconfigureのないMakefileが使われてるし

2020-09-14 01:15:20
Ayana Takeda @yowatari

あるツールとあるツールの間を受け持つような使い方がmake使ってて好きだな。docker build してタスク定義jsonを生成して、ecspressoでデプロイするみたいなことが、シェルスクリプトよりMakefileのが完結に書けるし、それぞれを独立に実行することもできる

2020-09-14 01:17:39
iberianpig(Kohei Yamada) @nukumaro22

make up, make update, make stop, make attach とかはいつもプロジェクトで使ってて、Makefile無い時や既にあるときはこれでOverrideしてる github.com/iberianpig/mak…

2020-09-14 01:10:00
songmu @songmu

CIのYAMLにコマンド書き連ねてるんだったら、絶対Makefileのタスクにした方が良いよ

2020-09-14 00:44:18
songmu @songmu

makeの良い点の一つに「インストール不要」ってのがあって、プロジェクト入ってきた人が、どういうツールが必要か分からなくてもMakefileを見れば分かるし、そのセットアップが実行可能になっている(のが理想

2020-09-14 01:12:43
songmu @songmu

Makefileが嫌いっていうのは、自動生成されてたり、やりすぎたMakefileに苦しめられてきた人なんだろうな、と思う。

2020-09-14 01:28:41
songmu @songmu

僕もPerl界出身なので、Makefileってのは自動生成されるもので中身はよくわからないし読むものではないって思ってたけど、全然そんなことなかったんだよな。

2020-09-14 01:29:45
songmu @songmu

makeとシェルスクリプトでやれることは変わらないし、makeタスクが複雑になったらシェルスクリプトに切り出してMakefileからそれを呼び出せば良いだけの話だけど、タスクのインデックスとして提供されていることに意味がある。

2020-09-14 01:30:30
songmu @songmu

例えばtools/setup.shを叩けば開発環境が整うのだとしても、プロジェクトに入ってきた人はそんなことわからないので、Makefileに setup: tools/setup.sh って書いてあれば、make setupでセットアップできるってことがわかる。

2020-09-14 01:31:39
songmu @songmu

ISUCONでも僕が適当なMakefileをリポジトリに突っ込んでおいたら、チームメイトが察してmake deployでガンガンdeployしてくれてたし、必要に応じて勝手に修正してくれて便利だった

2020-09-14 01:42:27
songmu @songmu

Makefileはむしろ単純だし、単純が故にむしろそれを自動生成させるというアプローチが流行ってしまったことがむしろ地獄の始まりだったのではないか (Makefile自体も複雑なことやろうとするととたんに意味不明になるというのもある

2020-09-14 01:50:27
songmu @songmu

make本来のビルドシステムとしての利用用途を望むのであればmtimeに依存した仕組みは流石にそぐわない局面も多いので、今はBazelとかを使うべきでしょうね

2020-09-14 02:15:01
すぎちゃん @koheisg

でも、npm devやnpm startでjs界隈も統一しようとしてるところを見ると、makefileが普段使いの言語で書けないという壁は思っているよりでかいのかもしれない。

2020-09-14 01:44:29
515hikaru @515hikaru

Makefile って例えば Vim とかのようなプロジェクトだとたしかに意味不明なんだけど、0から書き始めてみると難しいことなにもないんだよな。俺は CSV の前処理によく使ってた

2020-09-14 01:53:53
そな太 @sonatard

Makefileとshellscriptが話題なので以前書いた記事を qiita.com/sonatard/items…

2020-09-14 01:55:36
立派プログラマ @no_maddo

Makefileばなし何故か持ち上がってる、一番好きな並列処理記述言語です!!!!

2020-09-14 01:57:25
そな太 @sonatard

Makefileは本来はファイルの依存関係を記述して効率的にコンパイルを行うためのものだけど、単純に人間とshellscriptを繋ぐインターフェースとして利用しても便利

2020-09-14 01:57:54
立派プログラマ @no_maddo

Makefileの、依存関係でJOBの処理を解決していくというアプローチがたいへん汎用的なので未だにshell scriptをラップするのに便利なんだよな、、、

2020-09-14 01:59:35
0
まとめたひと
ozero dien @ozero

都道10号線。おれもみんなもご安全に。