<?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>Linux &#8211; Mach3.laBlog</title>
	<atom:link href="https://blog.mach3.jp/tag/linux/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>naveで簡単！node.jsの導入メモ (Ubuntu）</title>
		<link>https://blog.mach3.jp/2011/02/22/install-nodejs-with-nave.html</link>
		
		<dc:creator><![CDATA[mach3]]></dc:creator>
		<pubDate>Tue, 22 Feb 2011 02:11:00 +0000</pubDate>
				<category><![CDATA[Laboratory]]></category>
		<category><![CDATA[Application]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[node.js]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">http://blog.mach3.jp/?p=1547</guid>

					<description><![CDATA[「nave」というのはnode.jsを導入するためのシェルスクリプトです。 インストールを簡略化してくれるだけでなく、 複数のバージョンを切り替えて起動する事が出来る優れもの。 今回のお題は、naveでnode.jsを導 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>「<a href="https://github.com/isaacs/nave">nave</a>」というのは<a href="http://nodejs.org/">node.js</a>を導入するためのシェルスクリプトです。<br />
インストールを簡略化してくれるだけでなく、<br />
複数のバージョンを切り替えて起動する事が出来る優れもの。<br />
今回のお題は、naveでnode.jsを導入する覚書など。</p>



<figure class="wp-block-image"><img decoding="async" src="https://lh4.googleusercontent.com/_JJkNs5Ixl70/TVPbZqReqOI/AAAAAAAABLM/lFf6HbNy8Vo/201102102134.png" alt="naveで簡単！node.jsの導入メモ (Ubuntu）"/></figure>



<p></p>



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



<h2 class="wp-block-heading">nave.shの導入</h2>



<p><a href="https://github.com/isaacs/nave">isaacs/nave &#8211; GitHub</a></p>



<p>私はノートのUbuntuで導入してみましたよ。<br />
<em>nave.sh</em>はGitに乗っかっているので<em>clone</em>してくれば良いです。<br />
導入先は、俺々ルールに則った<em>~/opt/</em>に。</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">cd ~<span class="hljs-regexp">/opt/</span> git clone http:<span class="hljs-comment">//github.com/isaacs/nave.git</span>
</code></span></pre>


<h2 class="wp-block-heading">とりあえず最新版のnode.jsを入れてみる</h2>


<pre class="wp-block-code"><span><code class="hljs language-javascript">cd ~<span class="hljs-regexp">/opt/</span>nave/ ./nave.sh install latest
</code></span></pre>


<p>基本的にnave.shに引数を渡して実行するだけです。<br />
上のコマンド例は、最新版（<em>latest</em>）をインストール（<em>install</em>）してるわけですね。<br />
極めてシンプル。使い方に迷ったら、黙って「<em>./nave.sh help</em>」。</p>



<h3 class="wp-block-heading">つまづくかもしれないポイント</h3>



<p>まず、nave.shの動作自体に<em>curl</em>が必要らしいので、<br />
入ってないのなら導入しておきましょう。</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">sudo apt-<span class="hljs-keyword">get</span> install curl
</code></span></pre>


<p>他には、<em>g++</em>や<em>openssl</em>などが要求されますので、こちらもインストール。</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">sudo apt-<span class="hljs-keyword">get</span> install g++ sudo apt-<span class="hljs-keyword">get</span> install libssl-dev
</code></span></pre>


<p>他にも不足している物があったら、エラーをみて都度導入してあげましょう。</p>



<p>全ての環境が完了するとインストールが始まります。<br />
少々時間を要するので、正座して待ちましょう。</p>



<h3 class="wp-block-heading">使用するnode.jsを選択する</h3>



<p>インストールが完了しても、まだnode.jsは使えません。<br />
<em>use</em>コマンドを使ってどのバージョンを使用するかを選択する必要があります。</p>


<pre class="wp-block-code"><span><code class="hljs language-php">./nave.sh <span class="hljs-keyword">use</span> <span class="hljs-title">latest</span>
</code></span></pre>


<p>これで、最新版のnode.jsへのパスが通り、<br />
nodeコマンドが使用可能になります！おめでとう！</p>



<p>ただし、一度ログアウトすると未選択に戻ってしまい、毎度useしてあげないといけません。<br />
煩わしい場合は.bashrcにでも書いておくか、usemainコマンドを使ってみるか。</p>



<p>注意点としては、&#8221;use latest&#8221;した時に最新版が未だインストールされてないと、<br />
長～いインストールが開始されてしまいます。<br />
なので、.bashrcとかに書く場合はバージョンを決め打ちしておいた方が良い気がします。</p>


<pre class="wp-block-code"><span><code class="hljs language-php">./nave.sh <span class="hljs-keyword">use</span> 0.4.1
</code></span></pre>


<p>すでにインストール済みのnode.jsのリストは、&#8221;nave ls&#8221;で見られます。</p>


<pre class="wp-block-code"><span><code class="hljs">./nave.sh ls
</code></span></pre>


<h2 class="wp-block-heading">ついでにnpmも入れておく</h2>



<p><a href="http://npmjs.org/">npm &#8211; Node Package Manager</a></p>



<p>npmというのは、node.js用のパッケージマネージャ。<br />
せっかくなので入れておきましょう。<br />
公式いくとワンラインインストールのコマンドが書いてあるので、それで瞬殺です。</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">curl http:<span class="hljs-comment">//npmjs.org/install.sh | sh</span>
</code></span></pre>


<h2 class="wp-block-heading">テストする</h2>



<p><a href="http://nodejs.org/">node.js公式</a>にあるスクリプトでHello,Worldしてみましょう。</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript"><span class="hljs-keyword">var</span> http = <span class="hljs-built_in">require</span>(<span class="hljs-string">'http'</span>);
http.createServer(<span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params">req, res</span>) </span>{
    res.writeHead(<span class="hljs-number">200</span>, {<span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'text/plain'</span>});
    res.end(<span class="hljs-string">'Hello World\n'</span>);
}).listen(<span class="hljs-number">8124</span>, <span class="hljs-string">"127.0.0.1"</span>);
<span class="hljs-built_in">console</span>.log(<span class="hljs-string">'Server running at http://127.0.0.1:8124/'</span>);
</code></span></pre>


<p>このスクリプトを「example.js」等に保存して次のコマンドを入力。</p>


<pre class="wp-block-code"><span><code class="hljs language-css"><span class="hljs-selector-tag">node</span> <span class="hljs-selector-tag">example</span><span class="hljs-selector-class">.js</span>
</code></span></pre>


<p>あとはWebブラウザで「http://127.0.0.1:8124/」にアクセスして<br />
「Hello World」が表示されれば成功です。<br />
たったこれだけでWebサーバが立ち上がっちゃうなんて素敵ですね。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>巷で話題のnode.jsを入れて、ちまちま弄ってみてます。<br />
一体どんな事が出来るようになるのか、イベントドリブンとやらに期待が高まりますね。</p>



<p>ちなみに、「nvm」（Node Version Manager)なんてのもあるみたいです。<br />
» <a href="https://github.com/creationix/nvm">creationix/nvm &#8211; GitHub</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Vimでのオートコンプリート設定覚書</title>
		<link>https://blog.mach3.jp/2010/11/19/gvim-autocomplpop.html</link>
		
		<dc:creator><![CDATA[mach3]]></dc:creator>
		<pubDate>Fri, 19 Nov 2010 02:40:36 +0000</pubDate>
				<category><![CDATA[Laboratory]]></category>
		<category><![CDATA[Application]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Notepad++]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Vim]]></category>
		<category><![CDATA[Windows]]></category>
		<guid isPermaLink="false">http://blog.mach3.jp/?p=1150</guid>

					<description><![CDATA[エディタは長らくNotepad++を愛用していたのですが、 スクリプトを書くときはやはりViの方が速い…という事できちんと導入しておくことに。 gVimでオートコンプリートさせる設定のまとめです。 autocmplpop [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>エディタは長らくNotepad++を愛用していたのですが、<br />
スクリプトを書くときはやはりViの方が速い…という事できちんと導入しておくことに。<br />
gVimでオートコンプリートさせる設定のまとめです。</p>



<figure class="wp-block-image"><img decoding="async" src="http://lh3.ggpht.com/_JJkNs5Ixl70/TOUyoiITtRI/AAAAAAAABGI/8wBfF8f9Gmg/201011182257.png" alt="Vimでのオートコンプリート設定覚書"/></figure>



<p></p>



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



<h2 class="wp-block-heading">autocmplpop.vimを導入</h2>



<p><a href="http://www.vim.org/scripts/script.php?script_id=1879">AutoComplPop &#8211; Automatically opens popup menu for completions : vim online</a></p>



<p>デフォルトのままのVimでは、<c-o>や<c-x>の後に、<br />
<c-n>, <c-p>とする事で入力候補をポップアップで表示させる事が出来ます<br />
…が、ちょっとまどろっこしい。</c-p></c-n></c-x></c-o></p>



<p>これを自動的にポップアップしてくれるようにしてくれるのが<br />
このAutoComplPopというプラグインです。<br />
導入方法はディレクトリにコピーするだけなので割愛。</p>



<p>尚、当方のUbuntu環境ではl9.vimも必要とされました。<br />
うまく動かなかったら一緒に導入してやりましょう。</p>



<p><a href="http://www.vim.org/scripts/script.php?script_id=3252">L9 &#8211; Vim-script library : vim online</a></p>



<h2 class="wp-block-heading">導入後の設定</h2>



<p>以下が、導入後の設定を極めて分かりやすく紹介してくれている記事。</p>



<p><a href="http://blog.blueblack.net/item_164">autocomplpop.vimでリアルタイムにキーワード補完 &#8211; ナレッジエース</a></p>



<figure class="wp-block-image"><img decoding="async" src="http://lh5.ggpht.com/_JJkNs5Ixl70/TOUynye84cI/AAAAAAAABGE/Bd0gX57VRmM/201011182304.png" alt="autocomplpop.vimでリアルタイムにキーワード補完 - ナレッジエース"/></figure>



<p></p>



<p>以下、リンク先の記事より拝借・抜粋させて頂きます。</p>



<h3 class="wp-block-heading">ポップアップ中でもEnterキーで候補決定しない様に設定</h3>



<p>候補を無視して改行を入力したい場合もあるので、<br />
ポップアップ中のEnterキーで決定しないようにします。<br />
修正箇所は、autoload/acp.vimの192行目付近。</p>


<pre class="wp-block-code"><span><code class="hljs language-xml">if pumvisible()
    " a command to restore to original text and select the first match
    return "\<span class="hljs-tag">&lt;<span class="hljs-name">C-p</span>&gt;</span>"
endif
</code></span></pre>


<p>これだとEnterでポップアップが消えるだけで、その時はまだ改行は挿入されません。<br />
私はこっちのほうが使いやすいのですが、改行を挿入したい場合はvimrcに下記を追記。</p>


<pre class="wp-block-code"><span><code class="hljs language-xml">inoremap <span class="hljs-tag">&lt;<span class="hljs-name">expr</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">CR</span>&gt;</span> pumvisible() ? "\<span class="hljs-tag">&lt;<span class="hljs-name">C-y</span>&gt;</span>\<span class="hljs-tag">&lt;<span class="hljs-name">CR</span>&gt;</span>" : "\<span class="hljs-tag">&lt;<span class="hljs-name">CR</span>&gt;</span>"
</code></span></pre>


<p>他にもTabで候補を巡回する為の設定等も掲載されていましたが、<br />
私は無い方が使いやすかったので、割愛致します。詳しくはリンク先で！</p>



<h2 class="wp-block-heading">『オプション &#8216;omnifunc&#8217; は設定されていません』</h2>



<p>…なんていうエラーが吐かれた場合の対処について。</p>



<p>当方の環境では挿入モードで「&lt;」を入力中に上記のエラーが吐かれました。<br />
omnifuncというのはオムニ補完、つまり入力補完のポップアップの事らしく、<br />
これを設定してあげれば黙るかな？というわけで設定してみました。</p>


<pre class="wp-block-code"><span><code class="hljs language-php">setlocal omnifunc=syntaxcomplete<span class="hljs-comment">#Complete</span>
</code></span></pre>


<p>無事静かになってくれました。<br />
参考：<a href="https://forums.ubuntulinux.jp/viewtopic.php?id=9456">Ubuntu日本語フォーラム / vim autocomplpop エラーについて</a></p>



<h2 class="wp-block-heading">ついでなのでPHPの辞書を突っ込んでおこう</h2>



<p>異常に関数の多いPHPこそ入力補完が役に立ちますね。<br />
辞書ファイルはただ改行で候補を連ねるだけなので、簡単に作成出来ます。</p>



<p>参考：<a href="http://www.asahi-net.or.jp/~wv7y-kmr/memo/vim_php.html">Vim で PHP 関数の辞書を作成する方法についてのメモ</a></p>



<p>上記リンクより抜粋。多謝！<br />
こちらのコードを走らせる事で辞書ファイルを生成出来ます。</p>


<pre class="wp-block-code"><span><code class="hljs language-xml"><span class="php"><span class="hljs-meta">&lt;?php</span>
$keywords = <span class="hljs-keyword">array</span>(
    <span class="hljs-string">'if'</span>, <span class="hljs-string">'else'</span>, <span class="hljs-string">'elseif'</span>, <span class="hljs-string">'endif'</span>, <span class="hljs-string">'while'</span>, <span class="hljs-string">'endwhile'</span>, <span class="hljs-string">'do'</span>, <span class="hljs-string">'as'</span>, <span class="hljs-string">'for'</span>, <span class="hljs-string">'endfor'</span>, <span class="hljs-string">'foreach'</span>, <span class="hljs-string">'endforeach'</span>,
    <span class="hljs-string">'break'</span>, <span class="hljs-string">'continue'</span>, <span class="hljs-string">'switch'</span>, <span class="hljs-string">'endswitch'</span>, <span class="hljs-string">'case'</span>, <span class="hljs-string">'default'</span>, <span class="hljs-string">'declare'</span>, <span class="hljs-string">'enddeclare'</span>,
    <span class="hljs-string">'try'</span>, <span class="hljs-string">'catch'</span>, <span class="hljs-string">'return'</span>, <span class="hljs-string">'exit'</span>, <span class="hljs-string">'const'</span>, <span class="hljs-string">'class'</span>, <span class="hljs-string">'function'</span>,
    <span class="hljs-string">'require'</span>, <span class="hljs-string">'include'</span>, <span class="hljs-string">'require_once'</span>, <span class="hljs-string">'include_once'</span>,
    <span class="hljs-string">'abstract'</span>, <span class="hljs-string">'final'</span>, <span class="hljs-string">'interface'</span>, <span class="hljs-string">'private'</span>, <span class="hljs-string">'protected'</span>, <span class="hljs-string">'public'</span>, <span class="hljs-string">'static'</span>,
    <span class="hljs-string">'__LINE__'</span>, <span class="hljs-string">'__FILE__'</span>, <span class="hljs-string">'__DIR__'</span>, <span class="hljs-string">'__FUNCTION__'</span>, <span class="hljs-string">'__CLASS__'</span>, <span class="hljs-string">'__METHOD__'</span>, <span class="hljs-string">'__NAMESPACE__'</span>
);
$functions  = function_exists( <span class="hljs-string">'get_defined_functions'</span>   ) ? get_defined_functions()   : <span class="hljs-keyword">array</span>();
$constants  = function_exists( <span class="hljs-string">'get_defined_constants'</span>   ) ? get_defined_constants()   : <span class="hljs-keyword">array</span>();
$interfaces = function_exists( <span class="hljs-string">'get_declared_interfaces'</span> ) ? get_declared_interfaces() : <span class="hljs-keyword">array</span>();
$classes    = function_exists( <span class="hljs-string">'get_declared_classes'</span>   ) ? get_declared_classes()  : <span class="hljs-keyword">array</span>();

$arrays = array_merge(
    $keywords,
    $functions&#91;<span class="hljs-string">'internal'</span>],
<span class="hljs-comment">//  array_keys( $constants ),   // 定数を補完したい場合はこの行を有効にする</span>
    $interfaces,
    $classes
);
sort( $arrays );
$arrays = array_unique( $arrays );
<span class="hljs-keyword">echo</span> implode( <span class="hljs-string">"\n"</span>, $arrays );
</span></code></span></pre>


<p>生成した辞書ファイルをvimrcで登録しておけば完了です。</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">autocmd FileType php :<span class="hljs-keyword">set</span> dictionary=~/.vim/dict/php.dict
</code></span></pre>


<p>Windowsの場合は下記のような感じ。<br />
&#8220;$VIM&#8221;はgVim.exeがインストールされているパスです。</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">autocmd FileType php :<span class="hljs-keyword">set</span> dictionary=$VIM/vimfiles/dict/php.dict
</code></span></pre>


<p>辞書は必要に応じて追加していきましょう。<br />
ActionScriptなんかも欲しいなぁ…</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>ひとまずこんな感じで、Win/Linux共にまともに動いてくれています。<br />
オムニ補完はバッファの中身のみならず、<br />
辞書を設定しておけば辞書内からも候補を表示してくれる優れもの。<br />
Linxではパスの入力もこれでかなり楽になりますね。</p>



<p>ノートでのコーディングがとても快適になりました！すごいやVim！</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>備忘録： WordPressをリポジトリから取得して日本語化してみるメモ</title>
		<link>https://blog.mach3.jp/2010/08/05/wp-from-repository-ja.html</link>
		
		<dc:creator><![CDATA[mach3]]></dc:creator>
		<pubDate>Thu, 05 Aug 2010 22:02:00 +0000</pubDate>
				<category><![CDATA[Laboratory]]></category>
		<category><![CDATA[Application]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Japanese]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">http://lab.mach3.jp/2010/08/05/%e5%82%99%e5%bf%98%e9%8c%b2%ef%bc%9a-wordpress%e3%82%92%e3%83%aa%e3%83%9d%e3%82%b8%e3%83%88%e3%83%aa%e3%81%8b%e3%82%89%e5%8f%96%e5%be%97%e3%81%97%e3%81%a6%e6%97%a5%e6%9c%ac%e8%aa%9e%e5%8c%96%e3%81%97.html</guid>

					<description><![CDATA[ブログ新居はWordPressで構築しようと思っていた矢先、こんな記事が目に止まりました。 20 Steps to a Flexible and Secure WordPress Installation &#124; Nettu [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>ブログ新居はWordPressで構築しようと思っていた矢先、こんな記事が目に止まりました。<br />
<a href="http://net.tutsplus.com/tutorials/wordpress/20-steps-to-a-flexible-and-secure-wordpress-installation/">20 Steps to a Flexible and Secure WordPress Installation | Nettuts+</a><br />
この記事の冒頭で触れられているSVNでの簡単なインストールを、<br />
日本語リソースの導入も含めてメモっておきます。</p>



<p>※Subversionが既に導入されているlinux環境が対象です。</p>



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



<p>まず、英語版の取得から。<br />
インストールしたいバージョン（ここでは3.0.1）のリポジトリから、<br />
現在のディレクトリにファイルをチェックアウトします。</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">svn co http:<span class="hljs-comment">//core.svn.wordpress.org/tags/3.0.1/ .</span>
</code></span></pre>


<p>※ベータ版が使用したい場合は、こちらのURLを使いましょう。</p>



<p>→ <a href="http://core.svn.wordpress.org/trunk/">http://core.svn.wordpress.org/trunk/</a></p>



<p>※他のバージョンを使用したい場合は、こちらから選びます。<br />
→ <a href="http://core.svn.wordpress.org/tags/">http://core.svn.wordpress.org/tags/</a></p>



<p>次に日本語化ですが、こちらもリポジトリで公開されているので<br />
一時ディレクトリ（ここでは「jp」）を作ってそこに取得します。</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">$ mkdir jp $ svn co http:<span class="hljs-comment">//svn.automattic.com/wordpress-i18n/ja/tags/3.0.1/ jp/</span>
</code></span></pre>


<p>取得された日本語リソースのうち、messageディレクトリ内のmoファイルを<br />
wp-content/languages/ にコピーします。</p>


<pre class="wp-block-code"><span><code class="hljs">$ mkdir wp-content/languages $ cp jp/messages/*.mo wp-content/languages
</code></span></pre>


<p>仕上げは、wp-config.php を作成して、言語の設定をしてやります。</p>


<pre class="wp-block-code"><span><code class="hljs">$ cp wp-config-sample.php wp-config.php $ vi wp-config.php
</code></span></pre>


<p>該当の部分はここ。<br />
WPLANGの値が空白になっているので「ja」を入れてあげます。</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">define (<span class="hljs-string">'WPLANG'</span>, <span class="hljs-string">'ja'</span>);
</code></span></pre>


<p>せっかくwp-config.phpを開いているので、<br />
ついでにDBの設定なんかもやっておきましょうね。</p>



<p>これで無事日本語環境になりましたでしょうか。<br />
SVNで管理しておけばバージョンの上げ下げも比較的楽になるはずですね。</p>



<p>参考サイトなど</p>



<ul class="wp-block-list">
<li><a href="http://net.tutsplus.com/tutorials/wordpress/20-steps-to-a-flexible-and-secure-wordpress-installation/">20 Steps to a Flexible and Secure WordPress Installation | Nettuts+</a>  </li>



<li><a href="http://ja.wordpress.org/install-ja/">WordPress | 日本語 » 日本語リソースのインストール</a></li>
</ul>



<h3 class="wp-block-heading">追記</h3>



<p>GitHubにも同期されたリポジトリがあるので、<br />
より身近なgit環境で作業しても良いですね。</p>



<ul class="wp-block-list">
<li><a href="https://github.com/WordPress/WordPress">WordPress/WordPress</a></li>
</ul>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>サーバ管理のお手元に～VIエディタのチートシート</title>
		<link>https://blog.mach3.jp/2010/05/06/vi-cheetsheet.html</link>
		
		<dc:creator><![CDATA[mach3]]></dc:creator>
		<pubDate>Thu, 06 May 2010 01:36:00 +0000</pubDate>
				<category><![CDATA[WebClip]]></category>
		<category><![CDATA[CheetSheet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[VI]]></category>
		<guid isPermaLink="false">http://lab.mach3.jp/2010/05/06/%e3%82%b5%e3%83%bc%e3%83%90%e7%ae%a1%e7%90%86%e3%81%ae%e3%81%8a%e6%89%8b%e5%85%83%e3%81%ab%ef%bd%9evi%e3%82%a8%e3%83%87%e3%82%a3%e3%82%bf%e3%81%ae%e3%83%81%e3%83%bc%e3%83%88%e3%82%b7%e3%83%bc%e3%83%88.html</guid>

					<description><![CDATA[VIエディタと言えばサーバ管理者やLinuxユーザーにとっては手放せない存在。 そんなVIエディタのコマンドチートシートがSmashing Magazineで、配布されていました。 VI Editor / Linux T [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>VIエディタと言えばサーバ管理者やLinuxユーザーにとっては手放せない存在。<br />
そんなVIエディタのコマンドチートシートが<a href="http://www.smashingmagazine.com/">Smashing Magazine</a>で、配布されていました。</p>



<figure class="wp-block-image"><img decoding="async" src="http://lh5.ggpht.com/_JJkNs5Ixl70/S-Gd3vmdWsI/AAAAAAAAA4U/nwmHeeNVY28/s800/201005060119.png" alt="VIエディタのコマンドチートシート"/></figure>



<p></p>



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



<p><a href="http://www.smashingmagazine.com/2010/05/03/vi-editor-linux-terminal-cheat-sheet-pdf/">VI Editor / Linux Terminal Cheat Sheet (PDF) &#8211; Smashing Magazine</a></p>



<figure class="wp-block-image"><img decoding="async" src="http://lh5.ggpht.com/_JJkNs5Ixl70/S-Gd39YA-jI/AAAAAAAAA4Y/0_8GgwB__JQ/s800/201005060121.png" alt="VI Editor / Linux Terminal Cheat Sheet"/></figure>



<p></p>



<p>こんなかんじに綺麗にまとめられています。<br />
リンク先ではPDFにてダウンロード出来るので、印刷して目につくところに貼っておくと便利。<br />
私も本当に限られた機能しか使っていなかったので、重宝しそうです。</p>



<p>VIのチートシートとしては、このグラフィカルなやつも結構有名ですね。</p>



<p><a href="http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html">Graphical vi-vim Cheat Sheet and Tutorial</a></p>



<figure class="wp-block-image"><img decoding="async" src="http://lh4.ggpht.com/_JJkNs5Ixl70/S-Gd4K6aQXI/AAAAAAAAA4c/YUzxskcR1qM/s800/201005060126.png" alt="Graphical vi-vim Cheat Sheet and Tutorial"/></figure>



<p></p>



<p>これはデスクトップの壁紙にして使えそう。</p>



<p>この手のチートシートで日本語で書かれたものはあまり見かけないですが、<br />
必要とする人の多くが英語で十分だと感じているからでしょうか。<br />
それとも面倒だからでしょうか。（まぁもちろん面倒ですが！）</p>



<p>面倒くさがりやの私は感謝の気持ちを胸に、<br />
ありがたく活用させて頂きたく思います。</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
