<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mac &#8211; Mach3.laBlog</title>
	<atom:link href="https://blog.mach3.jp/tag/mac/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.mach3.jp</link>
	<description></description>
	<lastBuildDate>Wed, 13 Aug 2025 06:03:04 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
	<item>
		<title>デザイナーの為の黒い画面入門（前）</title>
		<link>https://blog.mach3.jp/2017/12/15/kuroigamen.html</link>
		
		<dc:creator><![CDATA[mach3]]></dc:creator>
		<pubDate>Fri, 15 Dec 2017 04:00:37 +0000</pubDate>
				<category><![CDATA[Laboratory]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[Command]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Windows]]></category>
		<guid isPermaLink="false">http://blog.mach3.jp/?p=4379</guid>

					<description><![CDATA[Web制作の現場で「黒い画面」を使うことは、近年ではごく当たり前な事になってしまいました。 フロントエンドエンジニアの方はもちろん、マークアップエンジニアの方ならば抵抗は無いでしょう。 しかし、デザイナーさんには未だに「 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image"><img decoding="async" src="https://lh3.googleusercontent.com/ENwiBnvZJNeajEckqEMI7vL1oGLn8jCZo8b4CggIOMn-W_hMbpv8AwNcgBQtKRlXvos2pt3M6_KAjONWZ0zGBtFBV9qTdHOLRW43rJ5-AdSBoxEbfq4E57yfLZCvG93YriTEx9NipQ=w600-h315-no" alt=""/></figure>



<p></p>



<p>Web制作の現場で「黒い画面」を使うことは、近年ではごく当たり前な事になってしまいました。 フロントエンドエンジニアの方はもちろん、マークアップエンジニアの方ならば抵抗は無いでしょう。 しかし、デザイナーさんには未だに「黒い画面」は苦手意識がある方も少なくないのではないでしょうか。 その苦手意識を払拭する為に、少しばかり「黒い画面」への理解を深めてみましょう。</p>



<span id="more-4379"></span>



<ol class="wp-block-list">
<li>デザイナーが触れる「黒い画面」</li>



<li>「黒い画面」ことターミナルとは</li>



<li>「黒い画面」の基本</li>



<li>「黒い画面」の怖い話</li>



<li>Windows環境での「黒い画面」</li>
</ol>



<h2 class="wp-block-heading">デザイナーが触れる「黒い画面」</h2>



<p>そもそもデザイナーが「黒い画面」に触れる事は数年前まではあまり考えられていませんでした。 黒い画面上の作業はあくまでもバックエンドエンジニアやプログラマーの領域であって、デザイナーが触れるのはPhotoshopやIllustratorといったグラフィカルなアプリケーションまでに留まっていたと思います。</p>



<p>ところがWebの技術が度重なる変化・進化を遂げ、JavaScriptやCSSをビルドするようになったり、Node.jsが台頭してきたりで、プロジェクトの「黒い画面」への依存度が一気に上がってきました。 マークアップエンジニアは勿論のこと、肩書がデザイナーの人間も「黒い画面」を触れるようになる必要が出てきたのです。</p>



<p>例えば、こんなケースであったり</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>人手不足でデザインに加えてマークアップもやる事になった。 CSSをビルドする為に「黒い画面」が必要だ。</p>
</blockquote>



<p>また例えば、こんなケースもあるでしょう。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>プロジェクトにデザイナーとしてジョインしたが、 マークアップエンジニアが作った画面をレビューする為に「黒い画面」でコマンドを叩かなければならない。</p>
</blockquote>



<h2 class="wp-block-heading">「黒い画面」ことターミナルとは</h2>



<p>まず「黒い画面」とは何なのか。その正体について軽く触れてみます。</p>



<p>Macにおける黒い画面である「ターミナル」は、GUI（グラフィカルインターフェース）によらず、 CUI（キャラクタユーザーインターフェース）、つまり文字列のコマンドでコンピュータを直接操作する為の物であると理解しておけば良いでしょう。</p>



<figure class="wp-block-image"><img decoding="async" src="https://lh3.googleusercontent.com/t3M2x5B7re2YXricMJ3BMQHGJZrS2ytVZ52rM1iX0X5b4aaWmC1fSi7omPdMLpCbFzGBaEnCyLSjb2zFHeineH3x8Vw-liGb5enKgIdaDa1WeSh4BtohWwBAsWYo6Qd8zoLUtWAajg=w600-h400-no" alt=""/></figure>



<p></p>



<p>例えばMacでファイルを探し出すのにFinderを使用しますが、これはGUIによる機能ですね。 ターミナルでは、CUIで謎の呪文こと、コマンドを打ち込む事でそれとほぼおなじ事をすることが出来ます。 （勿論CUIなので見た目はただの文字列です） Finderをはじめとした、私達が普段パソコン上で使っているGUIアプリケーションは、ターミナルで行える処理を視覚的に見やすい形、そして操作しやすい形でラッピングされているのです。</p>



<p>ちなみに、MacOSXは元々Unix系のFreeBSD由来のOSで、 Unix系のコマンドの多くがそのまま使用できるのはその為です。 （Windowsについては後述しましょう）</p>



<h2 class="wp-block-heading">「黒い画面」の基本</h2>



<p>まずは黒い画面を立ち上げて触ってみましょう。 Mac環境ならば「アプリケーション」 &gt; 「ユーティリティ」 &gt; 「ターミナル」と辿っていけば立ち上がります。 あるいは Spotlight 検索で &#8220;term&#8221; あたりまで入力すれば出てくると思います。</p>



<p>ここまで「黒さ」を連呼していますが、Macでのデフォルトは白ベース黒文字の「白い画面」になっています。なんとなく、怖さが少し和らぎますね。</p>



<h3 class="wp-block-heading">コマンドを入力してみる</h3>



<p>黒い画面への入力については、キーボードで文字を入力するだけなので難しいことはないでしょう。 試しに一つコマンドを打ってみましょう。</p>


<pre class="wp-block-code"><span><code class="hljs">$ whoami</code></span></pre>

<p>[your user name]</p>



<p><code>whoami</code> コマンドは、現在ログインしているユーザーの名前を出力します。 貴方のユーザー名が表示されましたか？</p>



<h3 class="wp-block-heading">「何処」で「何」を対象に「何」するか</h3>



<p>コマンドを覚えていく前に、次の3つの事を意識するようにしてみましょう。</p>



<ol class="wp-block-list">
<li>現在どこのディレクトリにいるか</li>



<li>そこで何をするか</li>



<li>何を対象に行うか</li>
</ol>



<p>例えばこんなコマンドを打ったとします。</p>


<pre class="wp-block-code"><span><code class="hljs">$ mkdir myfolder
</code></span></pre>


<p>上の例では、現在いるディレクトリの中に <code>myfolder</code> という新しいディレクトリ（フォルダ）を作成しています。</p>



<p>もう少し詳しく見てみましょう。 コマンドはコンピューターへの命令であり、文法で言うところの述語です。 基本的に、コマンドは英語の文法に則っていて、述語であるコマンドの後には目的語を指定します。</p>



<figure class="wp-block-image"><img decoding="async" src="https://lh3.googleusercontent.com/wasceiJfvA922YoSep9ps2wNuPvzLT9jvD7F6Az4gFN-V3ThCQNONIkLd99IdcRlAt4pska0jbltPNoszBd18bf8PS61tsd_hFM1mb5I8aFmynxm7FMAo25WHkZFAbE5M7axwyDb3Q=w600-h400-no" alt=""/></figure>



<p></p>



<p>この目的語は「引数（ひきすう）」と呼ばれ、上の例では <code>myfolder</code> が引数に値します。 つまり、 <code>myfolder</code> という名前で、ディレクトリを作る命令（ <code>mkdir</code> ）を行ったわけです。</p>



<p>また、命令によっては目的語を持たない（あるいは省略できる）場合もあります。</p>


<pre class="wp-block-code"><span><code class="hljs language-php">$ <span class="hljs-comment"># ユーザー名を出力するだけなので引数が必要ありません</span>
$ whoami
$ <span class="hljs-comment"># 引数を省略すると、ユーザーのホームディレクトリに移動します</span>
$ cd
</code></span></pre>


<p>さらにまた、目的語を二つとる命令もあります。</p>


<pre class="wp-block-code"><span><code class="hljs language-php">$ <span class="hljs-comment"># 目的語1（foo.txt）を、目的語2（bar.txt）として複製する</span>
$ cp foo.txt bar.txt
</code></span></pre>


<h3 class="wp-block-heading">ファイルやディレクトリを引数にする</h3>



<p>先程言ったように、コマンドには目的語である引数を渡す事が多いのですが、 その引数となるのはファイル名やディレクトリ名がほとんどです。</p>


<pre class="wp-block-code"><span><code class="hljs">$ rm ./needless.txt
</code></span></pre>


<p>上の例では、今いるディレクトリにある &#8220;needless.txt&#8221; という名前のファイルを削除しています。 ファイル名の前についている &#8220;./&#8221; は一体なんでしょうか？ これは「今いるディレクトリにあるファイル」という事を明示的に指定しています。</p>



<p>Unixのファイルシステムでは、ファイルの場所（パス）について次のような表現を用います。</p>



<ul class="wp-block-list">
<li>&#8220;.&#8221; &#8230; 現在のディレクトリ</li>



<li>&#8220;..&#8221; &#8230; 一つ上のディレクトリ</li>



<li>&#8220;/&#8221; &#8230; ディレクトリの境目</li>



<li>一番頭が &#8220;/&#8221; &#8230; ルートディレクトリからの絶対パス</li>
</ul>



<p>つまり上の例では、「現在いるディレクトリ下にあるneedless.txt」を指定しているわけです。</p>



<p>ここで「&#8221;./&#8221;は要らないのではないか」という疑問が浮かんだのではないでしょうか。 その通り、&#8221;./&#8221; は省略でき、次のように表現しても同じ処理を行います。</p>


<pre class="wp-block-code"><span><code class="hljs">$ rm needless.txt
</code></span></pre>


<p>省略できるのならば、なぜ例示でわざわざ &#8220;./&#8221; を付けたのかというと、その方が安心出来るからです。 <strong>ファイルを指定する時は、&#8221;./&#8221; や &#8220;../&#8221; からはじまる相対パスで表現する事をお勧めしたいです。</strong></p>



<p>特に、上で例に挙げている <code>rm</code> コマンドはファイルやディレクトリを削除してしまう<strong>破壊的</strong>なコマンドです。 必ず &#8220;./&#8221; ではじめる事を意識すれば、現在いるディレクトリを誤ったり、朦朧としながら作業をしていて操作ミスをしたりして、<strong>処理してはいけないファイルを処理してしまう</strong>危険性をわずかばかりではありますが、和らげる事ができます。</p>


<pre class="wp-block-code"><span><code class="hljs language-php">$ rm /the/path/to/target <span class="hljs-comment"># NG</span>
$ rm target <span class="hljs-comment"># NG</span>
$ rm ./target <span class="hljs-comment"># Good</span>
</code></span></pre>


<h3 class="wp-block-heading">「どのように」行うか（オプション）</h3>



<p>多くのコマンドは、「オプション」を渡すことで挙動をコントロールする事ができます。 ここでは <code>ls</code> コマンドを例に上げてみます。このコマンドは、ディレクトリ内にあるファイルをリスト表示してくれます。</p>


<pre class="wp-block-code"><span><code class="hljs">$ ls
bar.txt         directory       foo.html
</code></span></pre>


<p>何もオプションを渡さない場合、ただファイルの名前のみが羅列されます。 ファイル名だけだと情報が足りないので、<code>l</code> オプションを追加してみましょう。</p>


<pre class="wp-block-code"><span><code class="hljs">$ ls -l
total 16
-rw-r--r--@ 1 mach3  staff  212 12 12 16:03 bar.txt
drwxr-xr-x@ 2 mach3  staff   68 12 12 16:02 directory
-rw-r--r--@ 1 mach3  staff  248 12 12 16:03 foo.html
</code></span></pre>


<p>色々な情報が詰まったフォーマットで出力されました。 さらにドット（&#8221;.&#8221;）からはじまる隠しファイルも表示する為に、くわえて <code>a</code> オプションを指定してみます。</p>


<pre class="wp-block-code"><span><code class="hljs">$ ls -la
total 16
drwxr-xr-x@ 6 mach3  staff  204 12 12 16:19 .
drwxr-xr-x@ 8 mach3  staff  272 12 12 16:01 ..
-rw-r--r--@ 1 mach3  staff    0 12 12 16:19 .hidden
-rw-r--r--@ 1 mach3  staff  212 12 12 16:03 bar.txt
drwxr-xr-x@ 2 mach3  staff   68 12 12 16:02 directory
-rw-r--r--@ 1 mach3  staff  248 12 12 16:03 foo.html
</code></span></pre>


<p>またさらに、<code>t</code> オプションを追加して更新時間順にソートしてみましょう。 （デフォルトでは名前順です）</p>


<pre class="wp-block-code"><span><code class="hljs">$ ls -lat
total 16
drwxr-xr-x@ 6 mach3  staff  204 12 12 16:19 .
-rw-r--r--@ 1 mach3  staff    0 12 12 16:19 .hidden
-rw-r--r--@ 1 mach3  staff  248 12 12 16:03 foo.html
-rw-r--r--@ 1 mach3  staff  212 12 12 16:03 bar.txt
drwxr-xr-x@ 2 mach3  staff   68 12 12 16:02 directory
drwxr-xr-x@ 8 mach3  staff  272 12 12 16:01 ..
</code></span></pre>


<p>オプションを指定するルールがお分かりいただけたでしょうか。 オプションは主に1文字の英数字や短い言葉で指定し、 ダッシュ（&#8221;-&#8220;）の後ろに続けて打ち込む事で複数のオプションを合わせて利用する事ができます。 （このルールに則らないコマンドも存在するのでご注意ください）</p>



<p>各々のコマンドは、それぞれのオプションを持っています。 とても全てを覚えきれる物ではないので、その説明は次回に持ち越す事にします。</p>



<h2 class="wp-block-heading">「黒い画面」の怖い話</h2>



<figure class="wp-block-image"><img decoding="async" src="https://lh3.googleusercontent.com/txCfbYC-cAQIYd9z7Tw8xXo-vhALKquiYtaJeHsN9l7b8OPIB3SHrrD2XuDqjJmjYgy3ZZUpUSmkyvzvpYg8HGdZ_w1Vpxbg_4L6A7mkkUuKu5UiSby0hdadnT0GUAIeIseWpNLC7A=w600-h400-no" alt=""/></figure>



<p></p>



<p>「黒い画面は怖くない」と言いたいところですが、残念な事に「黒い画面」は怖いのです。</p>



<p>GUIのアプリケーションで警告が発せられるような処理でも、「黒い画面」は警告を発してくれません。 GUIのアプリケーションなら行わないような危険な処理も、「黒い画面」は実行してしまいます。 良く知らないままにコマンドを実行して、環境を壊してしまうなんていう悲劇も往々にしてあり得る事です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>うまく動かないからネットで検索したコマンドコピペして実行したら、パソコンが起動しなくなった</p>
</blockquote>



<p>ジョークみたいな話ですが、実際に私の観測圏内で起こった出来事です。</p>



<p><strong>ネットで拾ったコマンドを調べずに実行しては絶対にいけません。</strong> コマンドがどのような処理を行う物なのか、渡している引数は何なのか、どのようなオプションで実行されているか、コピーしたコマンドはつまるところどういう命令なのか、 それらを調べて理解したうえで実行しましょう。 そして、インターネットは怖いところだという事を肝に銘じておきましょう。</p>



<h2 class="wp-block-heading">Windows環境における「黒い画面」</h2>



<p>Windowsにおける「黒い画面」は「コマンドプロンプト」と呼ばれる物ですが、これはおすすめできません。 WindowsはUnix由来でない為、Macで使えるような基本的なコマンドも使用できず、そもそもコマンド自体が非常に少なく、使い勝手がよくないのです。 「他と違う」という事は、つまり問題が起きた時に調べても解決策にたどり着きにくいという事です。</p>



<p>いくつか代替の手段があるので、そちらを使うようにした方が良いでしょう。</p>



<h3 class="wp-block-heading">1. Git Bash</h3>



<figure class="wp-block-image"><img decoding="async" src="https://lh3.googleusercontent.com/u9aXb_ZU7VmIGnpLgcfA-AIzV8TxNwTvuKGy6h6SXii5wSs8CXZc72179YudoHGVe7a9XufZU4lRZrYzzJClRlt6XlAKBjyOd1Mbqk9GClm2FWbKWeku4NnQqt7u-YF4qWtVwz1k_Q=w600-h400-no" alt=""/></figure>



<p></p>



<p>Windows環境で開発作業を行うのならば <a href="https://git-for-windows.github.io/">Git for windows</a> は恐らくインストールされているはずなので、 これにバンドルされている「Git Bash」を活用します。 インストールされてない場合は、インストールしましょう。Gitはもはや開発環境に無くてはならない存在です。</p>



<p>Git Bash は <strong>msys</strong> と呼ばれるエミュレータで動いており、いささかLinuxやMacとは使い勝手が違いますが、基本的なコマンドは使用する事ができます。 （msysは、昔なつかしのcygwinからのフォークです）</p>



<p>Git Bashのメリットは、Windowsにおける実行ファイル（.exe）が容易に呼び出せる点です。 ショートカット（.lnk）もちゃんと追随してくれるので、「好きな名前で好きなアプリを立ち上げる」なんていう設定も簡単にできます。（ここでは説明は割愛します）</p>


<pre class="wp-block-code"><span><code class="hljs language-php">$ <span class="hljs-comment"># 現在いるディレクトリでエクスプローラーが立ち上がります</span>
$ explorer .
</code></span></pre>


<h3 class="wp-block-heading">2. Bash on Windows</h3>



<figure class="wp-block-image"><img decoding="async" src="https://lh3.googleusercontent.com/ci-gV4Us80WAwwRw3PgIrG7nK0D6OV69ubJazbRmKRIYKjMCTS2x3R63tBoXL3i0OOtlPw6_0Wi1ckRQcIp4mX0PX2DNq_mTF63fRawHeS30GHJvhJQVgbip5sS1AVBv-2TrwGdfKQ=w600-h400-no" alt=""/></figure>



<p></p>



<p>Windows10ならば、Windows上でUbuntuが動作します。 Windows Subsystem for Linux（WSL）と呼ばれる仕組みで、まさにLinuxがWindows上で動作していると思って良いでしょう。</p>



<p>中身はUbuntuなので、<code>apt</code> で楽々パッケージを追加インストールできるのが大きな魅力で、 参考になる情報もネットで収集しやすいです。</p>



<ul class="wp-block-list">
<li><a href="https://qiita.com/Aruneko/items/c79810b0b015bebf30bb">Bash on Ubuntu on Windowsをインストールしてみよう！ &#8211; Qiita</a></li>
</ul>



<h2 class="wp-block-heading">前編まとめ</h2>



<ul class="wp-block-list">
<li>デザイナーも「黒い画面」が必要な時代になった</li>



<li>「黒い画面」の基本的な使い方を学ぶ</li>



<li>「黒い画面」は怖いので用法を守って正しく使う</li>



<li>インターネットの情報は鵜呑みにしてはいけない</li>



<li>Windowsでの「黒い画面」は Git Bash または Bash on Windows を活用しよう</li>
</ul>



<p>後編では最低限覚えておくと捗るコマンドと使い方を書くかもしれません。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Makefile + YUI Compressor でJavaScriptファイルをコンパイルする</title>
		<link>https://blog.mach3.jp/2011/08/24/compile-js-with-make-and-yuic.html</link>
		
		<dc:creator><![CDATA[mach3]]></dc:creator>
		<pubDate>Wed, 24 Aug 2011 02:08:06 +0000</pubDate>
				<category><![CDATA[Laboratory]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[make]]></category>
		<category><![CDATA[YUI]]></category>
		<category><![CDATA[YUI Cmpressor]]></category>
		<guid isPermaLink="false">http://blog.mach3.jp/?p=1945</guid>

					<description><![CDATA[圧縮に便利なYUI Compressorですが、これは複数ファイルの取り扱いには対応していません。 そういうのはGoogle Closure Compilerが得意そうですが、小規模な開発には少々大仰かも。 そんなわけで [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>圧縮に便利な<a href="http://developer.yahoo.com/yui/compressor/">YUI Compressor</a>ですが、これは複数ファイルの取り扱いには対応していません。<br />
そういうのは<a href="http://code.google.com/intl/ja/closure/library/">Google Closure Compiler</a>が得意そうですが、小規模な開発には少々大仰かも。<br />
そんなわけで今回は、makeコマンドとYUI Compressorの連携で<br />
JSファイルをコンパイルする例に関する備忘録。</p>



<figure class="wp-block-image"><img decoding="async" src="https://lh3.googleusercontent.com/-ikIbUk2Tj48/TlReZPUa1aI/AAAAAAAABWk/iZCR_Owgiw4/201108241107.png" alt="Makefile + YUI Compressor でJavaScriptファイルをコンパイルする"/></figure>



<p></p>



<span id="more-1945"></span>



<h2 class="wp-block-heading">やりたいこと</h2>



<p>例えば、</p>



<ul class="wp-block-list">
<li>hoge.js</li>



<li>fuga.js</li>



<li>foo.js</li>



<li>bar.js</li>
</ul>



<p>という4つのJavaScriptファイルがあるとして、<br />
これらを順に結合して「main.js」として出力し、<br />
さらにそれをYUI Compressorで圧縮して「main.min.js」を出力したい。</p>



<h2 class="wp-block-heading">Makefileの例</h2>



<p>makefileの基本的な書き方は、入門的な記事がいろんな所にあるのでそちらをご参考に。<br />
上記の処理をする為のmakefileはこんな感じになります。<br />
「Makefile」という名前でJavaScriptファイルと同じディレクトリに保存しておきましょう。</p>



<p>※<a href="/2011/08/yui-compressor-in-mac.html">前記事のyuicコマンド</a>を設定してある前提です</p>


<pre class="wp-block-code"><span><code class="hljs language-xml">SRC = hoge.js fuga.js foo.js bar.js
COMBINE = main.js
COMPRESS = main.min.js

all : $(COMPRESS)

$(COMBINE) : $(SRC)
    cat $^ &gt; $@

$(COMPRESS) : $(COMBINE)
    yuic <span class="hljs-tag">&lt;<span class="hljs-name">pre</span> <span class="hljs-attr">wp-pre-tag-0</span>=<span class="hljs-string">""</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">pre</span>&gt;</span>amp;lt; &gt; $@

.PHONY: clean
clean :
    rm -f $(COMBINE) $(COMPRESS)
</code></span></pre>


<dl>
<dt>Line 1-3</dt>
<dd>結合したいファイル群と、出力用のファイル名をマクロにつっこんでおきます</dd>
<dt>Line 7-8</dt>
<dd>catコマンドで結合したいファイル群の中身をまるっと$(COMBINE)の中につっこみます<br />
$^ は依存ファイル全てを展開、$@はターゲットファイルを指します</dd>
<dt>Line 10-11</dt>
<dd>yuicコマンド（<a href="/2011/08/yui-compressor-in-mac.html">前記事参照</a>）でYUI Compressorを通して圧縮した結果を$(COMPRESS)の中に突っ込みます</dd>
<dt>Line 13-15</dt>
<dd>&#8220;make clean&#8221; で出力したファイルを削除する為の記述です<br />
$(COMBINE) と $(COMPRESS) で展開される、「main.js」と「main.min.js」を削除します</dd>
</dl>



<h2 class="wp-block-heading">で、どうするの</h2>



<h3 class="wp-block-heading">make / make all</h3>



<p>makeの使い方ですが、ターミナルでMakefileのあるディレクトリに移動し、<br />
makeコマンドを実行するだけです。<br />
あとはmakeの中の人が、main.jsとmain.min.jsを自動的に生成してくれます。</p>


<pre class="wp-block-code"><span><code class="hljs">make
</code></span></pre>


<h3 class="wp-block-heading">make clean</h3>



<p>生成したファイルを消して初期化したい場合は次のようにタイプします。</p>


<pre class="wp-block-code"><span><code class="hljs">make clean
</code></span></pre>


<h2 class="wp-block-heading">注意事項</h2>



<h3 class="wp-block-heading">環境に注意</h3>



<p>MacやLinuxならば、ターミナルでそのまま実行すればコンパイルしてくれますが、<br />
Windowsではmakeはそのままでは使えず、Cygwin等に頼る必要があります。ご注意を。</p>



<h3 class="wp-block-heading">結合するスクリプトに注意</h3>



<p>単体で読み込まなければ正常に動作しないライブラリ等も存在します。<br />
なので、結合前は動いたのにコンパイルしたら動かなくなった！なんていう事態も起こったり。<br />
闇雲に全て結合・コンパイルしてしまうのは避けたほうが良いかも。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Mac環境でのYUI Compressorの設定覚書</title>
		<link>https://blog.mach3.jp/2011/08/11/yui-compressor-in-mac.html</link>
		
		<dc:creator><![CDATA[mach3]]></dc:creator>
		<pubDate>Thu, 11 Aug 2011 05:30:24 +0000</pubDate>
				<category><![CDATA[Laboratory]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[YUI]]></category>
		<category><![CDATA[YUI Cmpressor]]></category>
		<guid isPermaLink="false">http://blog.mach3.jp/?p=1914</guid>

					<description><![CDATA[YUI CompressorにはJavaScriptファイル等の圧縮等に大変お世話になっていますが、 今回のお話はMac一年生のわたくしがYUI Compressorを手軽に使う設定をしてみた覚え書き。 ついでに言うと、 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><a href="http://developer.yahoo.com/yui/compressor/">YUI Compressor</a>にはJavaScriptファイル等の圧縮等に大変お世話になっていますが、<br />
今回のお話はMac一年生のわたくしがYUI Compressorを手軽に使う設定をしてみた覚え書き。<br />
ついでに言うと、次回の記事にちょっと話が続きます。</p>



<figure class="wp-block-image"><img decoding="async" src="https://lh5.googleusercontent.com/-T_Qfmek8qsQ/TkNou_qGE5I/AAAAAAAABVY/hzgjpud5cHo/201108111428.png" alt="Mac環境でのYUI Compressorの設定覚書"/></figure>



<p></p>



<span id="more-1914"></span>



<h2 class="wp-block-heading">とりあえずインストール</h2>



<p>とりあえずYUI Compressorをインストール<br />
というか、ダウンロードして好きなところに保存しましょう。</p>



<p>ダウンロードはこちらから。<br />
<a href="http://yuilibrary.com/downloads/#yuicompressor">YUI Library :: Downloads</a></p>



<p>MacOSならばJavaははじめから入っているのですぐに使えます。<br />
そんなわけで、早速テスト。</p>


<pre class="wp-block-code"><span><code class="hljs">java -jar /the/path/to/yuicompressor/build/yuicompressor-2.4.6.jar foo.js &gt; foo.min.js
</code></span></pre>


<p>ただ、毎回圧縮する度に長いパスを入力するのは<br />
指の体操によるボケ防止以上の価値を見いだせないので、<br />
もっと短いシンプルなコマンドで呼び出せるようにするのが今回の趣旨です。</p>



<h2 class="wp-block-heading">aliasを使う方法</h2>



<p>aliasを作ってターミナルから簡単に呼び出せるようにしておく方法。<br />
単純にターミナルから呼び出すだけならこれだけで十分ですよね。</p>



<p>例えば、こんな行を .bashrc に追記しておきます。<br />
jarファイルのパスは環境にあわせて読み替えてください。</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">alias yuic=<span class="hljs-string">"java -jar /the/path/to/yuicompressor/build/yuicompressor-2.4.6.jar "</span>
</code></span></pre>


<p>すると、yuicというコマンドを打つだけでYUI Compressorを呼び出せるようになります。<br />
こんな感じに。</p>


<pre class="wp-block-code"><span><code class="hljs language-css"><span class="hljs-selector-tag">yuic</span> <span class="hljs-selector-tag">foo</span><span class="hljs-selector-class">.js</span> &gt; <span class="hljs-selector-tag">foo</span><span class="hljs-selector-class">.min</span><span class="hljs-selector-class">.js</span>
</code></span></pre>


<p>「うごかねえぞ！？」という時は、<br />
落ち着いて静かにターミナルを再起動するか、<br />
.bashrcをsourceで実行すると解決するかもしれません。</p>


<pre class="wp-block-code"><span><code class="hljs language-css"><span class="hljs-selector-tag">source</span> <span class="hljs-selector-class">.bashrc</span>
</code></span></pre>


<h2 class="wp-block-heading">シンボリックリンクを使う方法</h2>



<p>もう一つは、ごく簡単なシェルスクリプトを用意しておいて、<br />
パスが通っている場所にシンボリックリンクを設置しておく方法。</p>



<p>例えばこんなシェルスクリプトをインストールしたディレクトリに設置して<br />
実行権限を与えておく。</p>


<pre class="wp-block-code"><span><code class="hljs">cd /the/path/to/yuicompressor/
touch yuic
chmod u+x yuic
</code></span></pre>


<p>中身はこんな感じで。パスは読み替えてください。</p>


<pre class="wp-block-code"><span><code class="hljs language-php"><span class="hljs-comment">#!/bin/sh</span>
JARFILE=<span class="hljs-string">"/the/path/to/yuicompressor/build/yuicompressor-2.4.6.jar"</span>
java -jar $JARFILE $@
</code></span></pre>


<p>あとはそのシェルスクリプトへのシンボリックリンクを、<br />
パスが通っているディレクトリ、例えば/usr/bin/等に設定してみます。</p>


<pre class="wp-block-code"><span><code class="hljs">sudo ln -s /the/path/to/yuicompressor/yuic /usr/bin/yuic
</code></span></pre>


<p>これで、上のAliasの例同様にyuicコマンドが動くようになりました。<br />
やったね！</p>



<h2 class="wp-block-heading">つづくのです</h2>



<p>alias使えば簡単なのに、なんでこんなまだるっこしいことをしているのかというと、<br />
makeから使いたかったから。 これはどうやらaliasではうまく機能しないみたいですね。</p>



<p>次回はmakeとYUI Compressorによる、<br />
JavaScriptの圧縮＋結合のお話をしたいと思います。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>VimでLessファイルを編集する（シンタックスの追加）</title>
		<link>https://blog.mach3.jp/2011/08/03/edit-less-with-macvim.html</link>
		
		<dc:creator><![CDATA[mach3]]></dc:creator>
		<pubDate>Wed, 03 Aug 2011 05:31:38 +0000</pubDate>
				<category><![CDATA[Laboratory]]></category>
		<category><![CDATA[LESS]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[MacVim]]></category>
		<category><![CDATA[Vim]]></category>
		<guid isPermaLink="false">http://blog.mach3.jp/?p=1882</guid>

					<description><![CDATA[個人的な話ではありますが、先日ようやくはじめてのMacを手に入れました。 せっかく Less.app という素敵な物があるので、MacでもLessを使っていこうと思ったのですが、 Lessファイルを編集するのに丁度良いエ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>個人的な話ではありますが、先日ようやくはじめてのMacを手に入れました。<br />
せっかく <a href="http://incident57.com/less/">Less.app</a> という素敵な物があるので、MacでもLessを使っていこうと思ったのですが、<br />
Lessファイルを編集するのに丁度良いエディタに未だ出会えていないので、<br />
とりあえずMacVimで編集してみようという試み。</p>



<figure class="wp-block-image"><img decoding="async" src="https://lh4.googleusercontent.com/-AKzjvfr6_RM/Tjjb-SHSQCI/AAAAAAAABVE/JBrE1WipE8I/201108031423.png" alt="VimでLessファイルを編集する"/></figure>



<p></p>



<p>ちなみに、Windowsでは <a href="http://notepad-plus-plus.org/">Notepad++</a> が使いやすくて重宝してます。</p>



<span id="more-1882"></span>



<h2 class="wp-block-heading">シンタックスファイルを追加する</h2>



<p>Vimでは、Sassははじめから使えるのに<br />
Lessのシンタックスファイルはありません。<br />
なので、自分で追加してやらないといけません。</p>



<p>PHPでLessする「lessphp」の作者さんが、<br />
オマケ？として公開してくれているので、こちらを使わせて頂くことに。</p>



<p><a href="http://leafo.net/lessphp/">lessphp &#8211; leaner css in php</a></p>



<p>「Resources」の「Vim syntax file」から取得出来ます。<br />
取得したless.vimは ~/.vim/syntax に保存。<br />
これで、VimでLessファイルのシンタックスを色分けしてくれるようになったはず。</p>



<p>適当なLessファイルをひらいて</p>


<pre class="wp-block-code"><span><code class="hljs">setf less
</code></span></pre>


<p>とかしてテストしてみましょう。</p>



<h2 class="wp-block-heading">.lessファイルを関連付けする</h2>



<p>.vimrc等で、lessファイルの関連付けをしてあげます。</p>


<pre class="wp-block-code"><span><code class="hljs language-css">" <span class="hljs-selector-tag">Less</span>
<span class="hljs-selector-tag">au</span> <span class="hljs-selector-tag">BufNewFile</span>,<span class="hljs-selector-tag">BufRead</span> *<span class="hljs-selector-class">.less</span>            <span class="hljs-selector-tag">setf</span> <span class="hljs-selector-tag">less</span>
</code></span></pre>


<p>これで拡張子が.lessのファイルを開くと、<br />
lessのシンタックスハイライトが適用されてます。やったね！</p>



<h2 class="wp-block-heading">less.vimが見つからなかった時は</h2>



<p>Sassに比べていささかマイナーなツールではあるので、<br />
そのような事もひょっとしたらあるかもしれません。<br />
そんな時は、Sassの記法がかなり近いのでそちらを編集して使ってみてもよいかも。</p>



<p>基本的には複製させていただき、<br />
変数の書き方だけLessに合わせておきます。</p>


<pre class="wp-block-code"><span><code class="hljs">$ cd /Applications/MacVim.app/Contents/Resources/vim/runtime/syntax/
$ cat sass.vim &gt; less.vim
$ vim less.vim
</code></span></pre>


<p>sass.vim を複製した less.vim を開き、</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">syn match sassVariable <span class="hljs-string">"$&#91;&#91;:alnum:]_-]+"</span>
syn match sassVariableAssignment <span class="hljs-string">"%(&#91;!$]&#91;&#91;:alnum:]_-]+s*)@&amp;lt;=%(||)=="</span> nextgroup=sassCssAttribute skipwhite
syn match sassVariableAssignment <span class="hljs-string">"%(&#91;!$]&#91;&#91;:alnum:]_-]+s*)@&amp;lt;=:"</span> nextgroup=sassCssAttribute skipwhite
</code></span></pre>


<p>この部分の$を@に書き換える。</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">syn match sassVariable <span class="hljs-string">"@&#91;&#91;:alnum:]_-]+"</span>
syn match sassVariableAssignment <span class="hljs-string">"%(&#91;!@]&#91;&#91;:alnum:]_-]+s*)@&amp;lt;=%(||)=="</span> nextgroup=sassCssAttribute skipwhite
syn match sassVariableAssignment <span class="hljs-string">"%(&#91;!@]&#91;&#91;:alnum:]_-]+s*)@&amp;lt;=:"</span> nextgroup=sassCssAttribute skipwhite
</code></span></pre>


<p>また、ファイル先頭のコメントの部分は、<br />
適当にSassをLessに変更するなどしておきましょう。<br />
これで、setf lessすればLessファイルとしてカラーリングされるようになるはずです。</p>



<p>一部の記法（Mixinとか）はSassとLessで異なるので反映されませんが、<br />
個人的には変数とネストだけ反映されれば十分です。</p>



<p>「公開されているless.vimを紹介しておきながらなんでわざわざ？」と思われましたか？<br />
…苦し紛れのコレを書いてる時にやっとless.vimを見つけたんだからしょうがない。</p>



<h2 class="wp-block-heading">Less.appは素敵ですよ</h2>



<p>いずれ改めて紹介しようとは思ってますが、<br />
MacOSで使える <a href="http://incident57.com/less/">LESS.app For Mac OS X</a> は素晴らしいです。<br />
フォルダごとに管理も出来るし、出力先のパスも指定できる。<br />
Lessniumもこれくらい気の利いたツールにしてみたい…</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
