Windows10で通知領域のアイコンをすべて表示

Windows10において、初期設定では、タスクバーの通知領域の小さなアイコンが一部しか表示されず、上向きの矢印をクリックすることで残りのアイコンが見れるようになっています。

これを常に表示させるには、まずタスクバー上で右クリックをしてコンテキストメニューを表示し、その中の「プロパティ」を選択します。

タスクバーとスタートメニューのプロパティが開くので、その中の通知領域の「カスタマイズ」ボタンをクリックします。(「スタート→設定→通知とアクション」でも同じ画面に行きます。)

次に、システム設定の通知とアクションの画面に移りますので、画面中央上部の「タスクバーに表示するアイコンを選択してください」をクリックします。

一番上の「常にすべてのアイコンを通知領域に表示する」のスイッチをオンにすれば完了です。

WindowsにEclipse+Aptanaプラグインをインストール

統合開発環境のEclipseをインストールし、それに対しWeb開発環境であるAptanaプラグインを導入する手順のメモです。

JDKのインストール

Eclipseをインストールするには、事前にJDK(Java SE Development Kit)をインストールしておく必要があります。

Windows用のJDKはOracleのWebサイトからダウンロードできます。執筆時点の最新バージョンは8u92でした。「Accept License Agreement」をチェックした上で、その下のリンクをクリックします。お使いのPCが32bitであればWindows x86、64bitであればWindows x64を選択します。

ダウンロードしたexeファイルを起動すると、インストールウィザードが開始します。特に何も変更せずに「次(N) >」ボタンを押し進めます。

コピー先フォルダも既定の設定で問題ないと思います。

インジケーターが進み、以下の画面が出ればインストールは完了です。

Eclipseのインストール

次にEclipseをインストールします。EclipseはEclipseのWebサイトからダウンロードできます。昔は、zip形式のパッケージをダウンロードして、自分の好きな場所に配置するのが一般的でしたが、最近はEclipse Installerというものがあるようです。こちらを利用しましょう。ご使用のPCのbit数のリンクをクリックします。

「Download」ボタンをクリックすると、インストーラーのダウンロードが開始します。回線が遅い場合は、必要に応じて下のミラーサイトを利用すると良いでしょう。

ダウンロードしたインストーラーを実行すると、以下のような画面が開きます。まず、右上の三本線アイコンからサブメニューを開き、インストーラーの「UPDATE」を実施します。

「Remember accepted license」をチェックして、「Accept」をクリックすると、アップデートが開始します。

自動的に再起動されるので、次に、インストールしたいEclipseのタイプを選択します。ここでは「Eclipse IDE for Java Developers」を選びました。

次に、インストールしたいEclipseのバージョンと、使用するJavaランタイム、インストール先を指定します。ここでは、バージョンとJavaランタイムは既定値を使用し、インストール先はホームディレクトリ以下からProgram Filesへ変更しました。

「INSTALL」ボタンをクリックすると、ユーザー承認ウィンドウが開くので「Accept Now」ボタンをクリックして進めます。

インストールが進み、以下の画面が表示されれば完了です。

※既定ではない場所にインストールしようとすると、エラーが発生する場合があります。その場合は、インストーラーを起動する際に、インストーラーファイルを右クリックして表示されるコンテキストメニューから「管理者として実行」をクリックして起動するとよいと思います。

Aptanaプラグインのインストール

次に、Aptanaプラグインのインストールに進みます。Eclipseを起動して上のメニューから「Help -> Install New Software…」と進みます。

以下のようなウィンドウが開きますので、まずAptanaプラグインのリポジトリを登録します。「Add…」ボタンをクリックして、小ウィンドウを開き、「Name:」に適当な名前、「Location:」にhttp://download.aptana.com/studio3/plugin/installを入力して「OK」ボタンをクリックします。

そうすると、リストにAptana Studio 3が表示されるので、それをチェックし、下の「Next >」ボタンをクリックします。

リビュー画面も「Next >」で進めます。

ライセンス承認画面に進むので、確認の上「I accept the terms of the license agreement」をチェックし、下の「Finish」ボタンをクリックすることで、インストールが開始します。

インストールが完了すると、Eclipse再起動を促すウィンドウが表示されるので「Yes」ボタンをクリックします。

以上でAptanaプラグインのインストールは完了です。

WindowsにGitをインストール

Windowsでgitコマンドを利用できるようにする手順のメモです。

GitにはWindow用のインストーラーが用意されています。GitのWebサイトのダウンロードページから「Download for Windows」ボタンをクリックしてダウンロードします。

画面は次のページに切り替わりますが、同時にダウンロードが始まります。ダウンロードしたインストーラーを実行すると、インストールためのウィザードが表示されます。「Next >」ボタンをクリックして次へ進めていきます。

「Use a TrueType font in all console windows」をチェックすると、日本語が文字化けしてしまうのでチェックしないよう注意します。

PATHを汚したくなくGit Bashを使ってのみgitコマンドを実行する方は、「Use Git from Git Bash only」を選択するのが良いと思います。通常は既定の「Use Git from the Windows Command Prompt」で問題ないと思います。パッケージが提供する追加のUnixコマンドもコマンドプロンプト上て利用したい場合は、3つ目を選びます。

次に、ファイルのコミット時やチェックアウト時に、改行コードを自動的に変換するかの設定を行います。既定では、一番上の自動変換が選択されていますが、最近のIDEやテキストエディタはUNIXのスタイルであるLFに対応していますので、不要な混乱を避けるために「Chekout as-is, commit as-is」を選択することをおすすめします。開発の際は、常にLFを使用するようにします。

次に、Git Bashで使用するターミナルエミュレーターを選択します。特にこだわりがなければ、規定値で高機能な「Use MinTTY」で良いと思います。

最後に追加オプション設定をします。一つ目は、パフォーマンスの向上を図るためのキャッシュ機能を利用するかの設定です。二つ目は、リモートリポジトリに接続する際に使用する認証情報を、バックエンドで保存する機能を有効化するかの設定です。通常は、どちらも選択して問題ないと思います。「Install」ボタンをクリックするとインストールが開始します。

以下の画面が表示されれば、インストールは完了です。

WindowsにRuby on Rails環境をセットアップ

Windows10においてRubyおよびRailsフレームワークをインストールする手順についてのメモです。

Rubyのインストール

WindowsでRubyをインストールする手段はいくつかあるようですが、RubyInstallerを使うのが簡単なようです。

RubyInstallerのダウンロード

RubyInstallerをダウンロードするには、http://rubyinstaller.org/にアクセスをして、Downloadボタンをクリックします。

左側のRubyInstallersの中から、インストールしたいバージョンのリンクをクリックします。ここでは、最新安定版であるv2.2.4の64ビットマシン用のインストーラを選択しました。リンクをクリックするとダウンロードが開始します。

 

インストーラの実行

ダウンロードしたインストーラを起動すると、まず言語の選択ウィンドウが表示されます。ここでは日本語を選択しました。

次に、使用許諾契約書に同意をし、「次へ」ボタンをクリックします。

次に、インストール先とオプションを指定するための画面に進みます。インストール先は初期値とし、「Rubyの実行ファイルへ環境変数PATHを設定する」にチェックを入れ、「インストール」ボタンをクリックします。

インストールのインジケーターが進み、以下の画面が出たら「完了」をクリックしてインストールは終了です。

DevKitのインストール

Windows上でネイティブC/C++拡張を利用するためのツールで、Railsを利用するために必要となります。ダウンロードは、RubyInstallerと同じページです。左側のメニューのDEVELOPMENT KITから、インストールしたRubyに合ったパッケージをクリックします。

ダウンロードしたファイルは、自己解凍アーカイブになっているため、先ほどRubyをインストールしたフォルダにdevtoolsというサブフォルダを作成し、そこを選択します。

次のようなインジケーターが進み、100%になると自動的にウィンドウが閉じます。

次に、コマンドプロンプトを開き、DevToolsを展開した場所に進みます。(エクスプローラで対象のフォルダを開き、Shift + 右クリックで表示されるコンテキストメニューから「コマンドウィンドウをここで開く」を選択すると楽です。)

コマンドプロンプト上で以下のコマンドを実行します。

>ruby dk.rb init
>ruby dk.rb install

以上でDevKitのインストールは完了です。インストール後もdevtoolsフォルダは消さないよう注意してください。

Railsのインストール

Railsをインストールする準備が整いましたので、gemを利用してインストールします。gemはRubyのパッケージマネージャで、RubyInstallerを使ってRubyをインストールすると、一緒にインストールされています。Railsをインストールするには、以下のコマンドを利用します。

>gem install rails

完了までに数分かかります。正しくインストールできていることを確認するために、railsコマンドを実行します。

うまくインストールできているようですね。

Windows10で英語キーボードに切り替える

日本語環境のWindows10をインストールすると、英語キーボードを接続していても、標準で日本語キーボードとして認識されるようです。英語キーボードに切り替えるには、以下のステップで行います。

1. スタートメニューから「設定」をクリック

2. 設定ウィンドウの中から「時刻と言語」をクリック

3. 左のメニューから「地域と言語」をクリック。

4. 言語の中から「日本語」をクリックし、さらに「オプション」ボタンをクリック。

5. 「レイアウトを変更する」ボタンをクリックすると、小ウィンドウが開くので、「英語キーボード」を選択し、「サインアウト」ボタンをクリック。この際、ただちにサインアウトが発生するため、作業中のデータは事前に保存するよう注意してください。

Bowerを使ってみる

はじめに

Bowerとは、Twitter社謹製のフロントエンド用のパッケージ管理ツールです。Bowerを利用すると、JavascriptやCSSのライブラリをコマンド一つでインストールすることができます。

Bowerのインストール

BowerはNode.jsで実装されており、Node.jsのパッケージ管理ツールであるnpmを利用してインストールすることができます。Node.jsおよびnpmのインストールに関しては、ここでは割愛いたします。

$ npm install -g bower

Bowerの利用

Bowerの初期化

まず、Bowerを利用したいプロジェクトのディレクトリでbower initコマンドを実行し、そのプロジェクトでBowerを利用するための初期化を行います。

$ cd /path/to/project
$ bower init

プロンプト上で、いくつか設定情報の入力を求められますが、後から変更も可能ですので、不明であればすべてEnterで大丈夫です。完了後、フォルダ内に、bower.jsonという設定ファイルが作成されていることを確認できると思います。

パッケージのインストール

準備が整ったので、パッケージのインストールに進みます。ここでは、例としてjQueryをインストールします。パッケージをインストールするにはbower installコマンドを実行します。

$ bower install jquery --save

コマンド実行後、bower_componentsというディレクトリが作成され、その中にjqueryディレクトリが作られていることが確認できると思います。ここで、–saveオプションを指定するこで、dependenciesとしてjqueryがbower.jsonに登録されます。bower.jsonに登録されたパッケージは、追加引数なしのbower installコマンドを実行することで、一気にインストールすることが可能なため、仮にbower_componentsディレクトリが失われても、プロジェクトに必要なパッケージをいつでも綺麗に揃えることができます。

$ bower install

ちなみに、テストのみに利用するJavascriptライブラリは、最終的な成果物に含める必要がありません。そのような場合は、–saveの代わりに–save-devを指定します。

bower_componentsディレクトリの場所を変更

bower_componentsディレクトリの場所は標準でプロジェクトの直下になります。ブラウザからアクセスができるpublicディレクトリの下などに変更したい場合は、プロジェクトの直下に.bowerrcというファイルを作成し、JSON形式でdirectoryキーに対してパスを指定します。

{
  "directory": "public/bower_components"
}

 

Gulpを使ってみる

はじめに

Gulpは、Javascriptの圧縮やSassのコンパイル等を自動化するための、タスクランナーツールです。各種OS上で動作をし、主にWebアプリケーションのクライアントサイドのファイルの処理に利用されています。同様なツールとして先発のGruntがありますが、Gulpの方が設定ファイルが書きやすいと言われており、より人気を集めています。

Gulpのインストール

Node.jsの導入

GulpはNode.js上で動作するため、Node.jsとそのパッケージマネージャーであるnpmを事前にインストール必要があります。インストールの方法は多くのサイトで説明されていますので、ここでは割愛します。Windowsへのインストールに関しては、こちらを参照ください。

npmを利用したインストール

GulpはNode.jsのパッケージとして提供されているため、npmコマンドを利用して簡単にインストールすることができます。npmでは、インストールしたパッケージをマシン全体で利用できるグローバルインストールと、特定のフォルダ内でのみで利用できるローカルインストールの両方をサポートしています。ただし、Gulpを利用するには、その両方にインストールをする必要があります。

グローバルインストール

Gulpをグローバルインストールするには、-gオプションをつけてnpm installコマンドを実行します。

$ npm install -g gulp

ローカルインストール

まず、プロジェクトフォルダに移動して、npm initコマンドを実施することで、そのプロジェクトをnpmによるパッケージ管理の対象とさせます。プロンプト上で、いくつか設定情報の入力を求められますが、後から変更も可能ですので、不明であればすべてEnterで大丈夫です。

$ cd /path/to/project
$ npm init

コマンド実行後、フォルダ内にpackage.jsonというnpmの設定ファイルが作成されていることが確認できると思います。次に、npm installコマンドを実行し、Gulpをインストールします。この際、–save-devオプションをつけることで、開発用パッケージとしてインストールすることができます。

$ npm install gulp --save-dev

先ほどのpackage.jsonにdevDependenciesとしてgulpが追加されます。

{
...
  "devDependencies": {
    "gulp": "^3.9.0"
  }
}

設定ファイルの作成

タスクの追加

gulpfile.jsという名前のファイルを作成し、その中に実行させたいタスクを記述していきます。例えば、Hello, World!と表示させるタスクhelloを定義するには、以下の様に記述します。先頭のrequire文は常に必要となります。

var gulp = require('gulp');

gulp.task('hello', function() {
    console.log('Hello, World!');
});

これを実行するには、gulp helloコマンドを実行します。

$ gulp hello

複数のタスクをまとめる

一度に複数のタスクを実行したい場合があると思います。その場合は、複数タスクを実行するためのタスクを定義し、taskメソッドの第二引数に対象のタスクを配列で指定します。gulp helloコマンドを実行すると、指定した順にタスクが実行されます。

var gulp = require('gulp');

gulp.task('hello1', function() {
    console.log('Hello, Tokyo!');
});

gulp.task('hello2', function() {
    console.log('Hello, Japan!');
});

gulp.task('hello3', function() {
    console.log('Hello, World!');
});

gulp.task('hello', ['hello1', 'hello2', 'hello3']);

デフォルトタスクを指定する

taskメソッドの第一引数に’default’と指定したタスクを作成すると、そのタスクはgulpコマンドを引数なしで実行した場合に呼び出すことができます。

var gulp = require('gulp');

gulp.task('hello', function() {
    console.log('Hello, World!');
});

gulp.task('default', ['hello']);

プラグインの利用

Gulpで利用できる多くのプラグインが公開されています。ここでは、Javascriptのコードを圧縮するためのgulp-jsminというプラグインを例にとって説明したいと思います。

プラグインのインストール

プラグインのインストールには、gulp本体のインストールにも利用したnpmコマンドを利用します。

$ npm install gulp-jsmin --save-dev

プラグインの読み込み

gulpfile.js内でプラグインを読み込むにはrequire関数を利用します。

var gulp = require('gulp');
var jsmin = require('gulp-jsmin');

タスクの定義

以下は、src/javascripts内にあるJavascriptファイルを圧縮し、public/javascriptsに配置するためのタスクの例です。

var gulp = require('gulp');
var jsmin = require('gulp-jsmin');
var rename = require('gulp-rename');

gulp.task('js', function() {
    gulp.src('src/javascripts/*.js')
        .pipe(jsmin())
        .pipe(rename({suffix: '.min'}))
        .pipe(gulp.dest('public/javascripts'));
});

srcメソッドで対象となるファイルを指定し、pipeを連ねることで、その対象に対して順次処理を実行します。ここでは、gulp-renameプラグインも利用することで、圧縮後のファイル名にminという文字列を入れ込んでいます。一般に、この例のように、

  1. srcで対象のファイルを指定
  2. pipeでそのファイルに対して複数の処理を実行
  3. destで処理後のファイルを出力

といった流れで、タスクを定義する場合が多いと思います。

タスクの自動実行

実際の開発において、編集のたびにgulpコマンドを実行するのは不便です。そのため、Gulpにはファイルを監視し、そのファイルに変更があった場合に自動的にタスクを実行するwatchという枠組みが備えられています。以下は、src/javascriptsフォルダ以下を監視し、ファイルに変更があった場合に上記のjsタスクを自動的に実行するための設定となります。

var gulp = require('gulp');
var jsmin = require('gulp-jsmin');
var rename = require('gulp-rename');

gulp.task('js', function() {
    gulp.src('src/javascripts/*.js')
        .pipe(jsmin())
        .pipe(rename({suffix: '.min'}))
        .pipe(gulp.dest('public/javascripts'));
});

gulp.task('watch', function() {
    gulp.watch('src/javascripts/*', ['js']);
});

この例の場合、実際に監視を開始させるためにはgulp watchコマンドを実行します。

$ gulp watch

 

Ansibleを使ってみる

AnsibleはChefやPuppetと同じく構成管理ツールですが、管理対象のサーバーにエージェントアプリケーションをインストールしなくていい点や、YAMLを利用したシンプルな設定ファイルに特徴があり、最近人気を集めています。ここでは、CentOS7に対するAnsibleのインストール方法と基本的な使い方をお伝えしたいと思います。

Ansibleのインストール

CentOS7にAnsibleをインストールするのに一番簡単な方法はyumを利用することです。

EPELリポジトリの追加

AnsibleはCentOS7の標準リポジトリには含まれていないため、まずyumでEPELリポジトリを利用できるようにします。そのための設定もyumでインストールすることができます。

$ sudo yum install epel-release

yumを利用してAnsibleをインストール

EPELのリポジトリからAnsibleをインストールします。特にリポジトリ名の指定は必要ありません。

$ sudo yum install ansible

 

Perlの基本文法

はじめに

備忘録の意味も含めて、Perlの基本文法をまとめたいと思います。Perlでは、同じ目的を達成するために様々な書き方が存在します。ここでは、標準的(と私が考える)なものを極力選びました。

スクリプトの実行

Perlで書かれたスクリプトを実行するには、コマンドライン上でperlコマンドを利用します。

$ perl test.pl

構文チェックのためにコンパイルのみを行うには-cオプションを付けます。

$ perl -c test.pl

デバッガを利用するには-dオプションを付けます。

$ perl -d test.pl

また、スクリプトの先頭のシバン(Shebang)でperlインタプリタを指定すれば、スクリプト名だけで実行できます。ファイルに実行権限を与えることをお忘れなく。

#!/usr/bin/perl
...
$ chmod u+x test.pl
$ ./test.pl

コメント

一行コメント

一行をコメントアウトするには#を利用します。行の途中から利用することもでき、#から行末までがスクリプトの実行中に無視されます。

# Comment here
if ($x > 50) {
...
}

my $x = 100; # Comment here

複数行コメント

複数行を同時にコメントアウトするには、対象の行を=podと=cutで囲みます。ただ、通常は複数行であっても#を利用する場合が多いと思います。

=pod
Multiple lines
can be commented
like this.
=cut

変数

スカラー変数

スカラー変数とは、文字列や数値など、一つの値を格納するために使う変数です。変数名は必ず「$」で始め、半角英数および「_」(アンダースコア)が利用できますが、命名規則としてスネークケース(小文字の英語と数字だけを使用し、文字間の連結にアンダースコアを利用する方法)にするのが一般的です。

$number = 10;
$site_url = 'http://blog.codebase.co.jp';

配列変数

配列変数とは、複数の値を順番に格納するために使う変数です。変数名は「@」で始め、それ以降はスカラー変数と同様です。

@fruits = ('Apple', 'Orange', 'Banana');

上記のように、複数の値を同時に格納することもできますし、以下のように何番目に格納するか番号で指定することも可能です。

$fruits[0] = 'Apple';
$fruits[1] = 'Orange';
$fruits[2] = 'Banana';

この場合は、変数名の先頭が「$」になることに注意してください。

ハッシュ変数

ハッシュ変数とは、連想配列変数とも呼ばれ、複数の値をキーを指定して格納するために使う変数です。変数名は「%」で始め、それ以降はスカラー変数と同様です。

%profile = ('Name' => 'Taro', 'Gender' => 'Male', 'Tel' => '090-xxxx-xxxx');

配列と同様、個別にキーを指定して代入することもできます。

$profile{'Name'} = 'Taro';
$profile{'Gender'} = 'Male';
$profile{'Tel'} = '090-xxxx-xxxx';

制御構文

条件分岐

if – elsif – else

条件分岐にはifを使います。

my $fee;
if ($age >= 20) {
    $fee = 1800;
} elsif ($age >= 12) {
    $fee = 1000;
} else {
    $fee = 0;
}

繰り返し

for (foreach)

指定した回数分繰り返すにはforが便利です。

for (my $i = 0; $i < 10; $i++) {
    print $i;
}

また、配列の中身を展開する場合にも利用することができます。

my @fruits = ('Apple', 'Orange', 'Banana');
foreach my $fruit (@fruits) {
    print $fruit;
}

ちなみに、forもforeachも文法上区別はありませんが、私は上記のような使い分けをしています。

Top