2014年10月25日

アスキーの『プロフェッショナル シェルプログラミング』電子化

 1996年に出版された、アスキーの書籍『プロフェッショナル シェルプログラミング』が電子化されてます。

プロフェッショナル シェルプログラミング

 先日まで、特別の割引価格で販売されていたようで、自分はKindle版を700円で購入できました。

 合わせて、Windows用のフリーウェアをひとつ紹介します。UNIX系OS環境ではおなじみのコマンドラインシェルのbashを、Windows NT以降のOSで利用できるwin-bashです。公式サイト



 win-bashは、別途DLLを入手する必要なく単独のバイナリで動作する、bashのWindows移植版のひとつです。インタラクティブに使えるのはもちろんシェルスクリプトの実行も可能です。というよりも、開発の主な目的はむしろ、Windowsでシェルスクリプトを実行するできるようにすることらしいです。シェル自体のバイナリに加えて、多数の外部コマンドが添付されています。

 主な特徴はまず、ドライブレターを含めてファイルパスを記述できることです。例としては、"c:/user/foo"などとします。UNIX系OS環境でのように"/"からパスを始めることもできますが、その場合は、カレントドライブのルートディレクトリからのパスとみなされます。

 さらにもうひとつの特徴は、シェルスクリプトのいわゆるshebangの扱いについてです。shebangでインタプリタが指定されている場合には、パス末尾のコマンド名に".exe"を付加した名前のファイルを、PATH環境変数に記述されているディレクトリから検索してそのプログラムでシェルスクリプトを実行します。

 win-bashは、シェルプログラミングの勉強目的などで気軽にインストールして使えるプログラムだと思います。ただし、日本語ファイル名を扱えないようなので注意してください。

関連リンク一覧:
 win-bash公式サイト
 『プロフェッショナル シェルプログラミング』Kindle版
posted by chrono at 19:17| Comment(0) | TrackBack(0) | プログラミング全般

2014年09月17日

AutoHotKeyでWindows Media Playerの[リストの表示]/[リストの非表示]コマンドにキーボードショートカットを設定する

 下のコードをahkファイルとして保存しておいて、Windowsの起動時などにAutoHotKeyで実行すると、Windows Media Playerがアクティブな時に[F12]/[F6]キーでコマンドを実行できるようになります。(プレイビュー表示時)



 このノウハウは、ある程度ユニークなウィンドウタイトルを持つプログラムの、標準のメニューバーやコンテキストメニューから実行するコマンドであればどれにでも適用することができます。個々のメニューのIDは、たとえばWinspectorというプログラムを使って調べます。

 ちなみにこの記事のコードはGistというサービスで保存したものを貼り付けています。Gistでコードを保存すると、それを色分け表示機能付きでウェブページに埋め込むためのタグを同時に生成してくれるので便利です。
posted by chrono at 17:36| Comment(0) | TrackBack(0) | AutoHotKey

2014年09月16日

How to show links to your Gists in your GitHub account page

1. Create new "MyGists" repository on your GitHub account.
2. Write links to your Gists on the README.md of the repository.
タグ:Github Gist
posted by chrono at 17:42| Comment(0) | TrackBack(0) | プログラミング全般

2014年08月31日

テキストエディタのMeryをアップデートしてみた



 自分はRubyプログラミング用のエディタとしてフリーウェアのMeryを使わせてもらってるんですが、なぜか開発停止になっていると思い込んでいて、ずっとバージョン1系を使っていました。ところがついさっき、まだバージョンアップされ続けていると偶然知って、喜んでアップデートしてみました。

 バージョン(ビルド)2系に上げてみて一番目についた変更は、コード色分け(ハイライト)機能のパワーアップです。色設定を8個まで登録でき、それぞれに対して自由に文字列を追加できます。しかも文字列に正規表現を含めることができます。

 自分は、インスタンス変数・クラス変数の色分けとRuby-GNOME2プログラミング用に、「編集モードの設定」コマンドから以下の文字列を追加しました。色の割り当ては、個々の項目の色設定番号をクリックすることで変更できます。

@[a-zA-Z_] #単語のみ・正規表現 オン
@@[a-zA-Z_] #単語のみ・正規表現 オン
Gtk[a-zA-Z_:]* #単語のみ・正規表現 オン
Gdk[a-zA-Z_:]* #単語のみ・正規表現 オン
GLib[a-zA-Z_:]* #単語のみ・正規表現 オン


 2系は他にも、開発環境が新しいためなのか、Windows7での動作時にメニュー項目のレイアウトが窮屈でなく操作しやすかったり、「アウトプットバー」という機能が搭載されていたりします。

MeryWiki
posted by chrono at 11:15| Comment(0) | TrackBack(0) | プログラミング全般

2014年08月30日

Gistの第一印象



 Gistの特徴って、バージョン管理とコード色分けと記事をウェブページに埋め込めるってだけ? 書いた人のGitHubアカウントのページから辿れればいいのに。公開記事ならGitHubアカウントの方に露出してほしいなあ。別個に探さなきゃいけないの?っていう。Gistの方からはリンクで辿れるけど。
タグ:Github Gist
posted by chrono at 17:31| Comment(0) | TrackBack(0) | 日記、雑文

2014年08月15日

自分も初めてPull Requestしてみた



 先日、初めてGitHubのPull Request機能を使ってみました。

 リクエストしたのは、とあるライブラリ添付の、そのライブラリの使い方を示すためのごくシンプルなサンプルスクリプトの修正だったので、無事マージしていただきましたが、ただgitやGitHubの勝手があまりよくわかっていなかったので、その辺で、リクエストのタイトルを後から変更するなど、バタバタと手際の悪いことをやってしまいました。

 はてブの数を見ると既にかなり知られているようではありますが、Pull Requestのお手本になりそうなページを一つ紹介します。ここには、今回自分がやってしまったことが、ほぼそのまま、ダメなやり方、ブログ主さんの失敗談として書いてあったので思わず苦笑してしまいました。

GitHubへpull requestする際のベストプラクティス

 あともう一つ、gitを勉強するならまずここを見ろ、と(たぶん)言われているサイトも書いておきます。ここには、書籍として販売されているものの内容がそのまま公開されています。

Git - Book

 自分はこれらのサイトに加えて、以下のKindle本でも勉強させてもらいました。こういう基礎の基礎をコンパクトにまとめたものが手元にあるとやっぱり便利です。

わかる Git
posted by chrono at 19:30| Comment(0) | TrackBack(0) | 日記、雑文

2014年08月06日

ソフト開発関連Podcastがよりどりみどりのポータルサイト: PlayerFM(英語)



PlayerFM

 サイト全体としてはIT関連限定というわけではないのですが、ソフト開発関連だけでも非常に多くのPodcastが登録されています。

 PlayerFMでは、まずメインカテゴリのひとつに"Technology"があり、その下に"IT Industry"、"Operating Systems"、"Software Development"というサブカテゴリがあります。そして、メイン、サブそれぞれのカテゴリで、テーマごとにさらに分類された形で個々のPodcastがリストされています。

 まずはBGM代わりに気楽に聴いてみてはいかがでしょうか。(今のところ自分も完全にこの目的で聴いています)

 ちなみに、PlayerFMはアンドロイドアプリとしてもサービスを提供しているようなので、気になる方は公式ブログを覗いてみてください。

Player FM Blog
posted by chrono at 12:25| Comment(0) | TrackBack(0) | プログラミング全般

2014年07月14日

[読書メモ] "Thinking in JavaScript"



 無料のKindle本"Thinking in JavaScript"を読んだ。

Thinking in JavaScript

 JavaScriptとjQueryについて習熟への道の入口に立たせてくれる本。

 あくまでそれだけの本だが、短時間で読み切ることができ、途中で道に迷うことはない。

 ぶっちゃけ、出版社の名前を覚えてもらうための販促物でもあるが、初めの一歩を踏み出すとっかかりにはなる。

 内容は、JavaScriptについては、ウェブページへの組み込み方法、変数のスコープ、いくつかの演算子、基本的な制御構文、関数の書き方、オブジェクトの基本構造、配列の基本的な使い方、などを説明している。

 jQueryについては、導入方法、jQueryでのDOM要素へのアクセス方法、などを説明している。

Thinking in JavaScript
posted by chrono at 14:08| Comment(0) | TrackBack(0) | JavaScript

2014年07月07日

Enable to scroll web pages dragging in the blank area with Javascript

This is the code.

var in_dragging = false;
var posx = 0;
var posy = 0;

document.onmousedown = onMousedown;
document.onmousemove = onMousemove;
document.onmouseup = onMouseup;
document.onselectstart = function(){return false;}; // disable selection (for Chrome)

function onMousedown( event ) {
posx = event.clientX;
posy = event.clientY;
if ( event.button == 0 ) {
in_dragging = true;
// return false; // disable selection (for FireFox)
}
}

function onMousemove( event ) {
if ( in_dragging == true ) {
window.scrollBy( 0, ( event.clientY - posy ) * 2 );
posx = event.clientX;
posy = event.clientY;
}
}

function onMouseup( event ) {
in_dragging = false;
}

posted by chrono at 10:09| Comment(0) | TrackBack(0) | JavaScript

[Javascript] ウェブブラウザでページの余白を引っぱってスクロール

 Adobe Readerみたいに文書の上でドラッグしてスクロールできるようにするためのJavascript。ChromeとFirefoxで動作を確認。Firefoxではコメントアウト部分を有効にする。

var in_dragging = false;
var posx = 0;
var posy = 0;

document.onmousedown = onMousedown;
document.onmousemove = onMousemove;
document.onmouseup = onMouseup;
document.onselectstart = function(){return false;}; // disable selection (for Chrome)

function onMousedown( event ) {
posx = event.clientX;
posy = event.clientY;
if ( event.button == 0 ) {
in_dragging = true;
// return false; // disable selection (for FireFox)
}
}

function onMousemove( event ) {
if ( in_dragging == true ) {
window.scrollBy( 0, ( event.clientY - posy ) * 2 );
posx = event.clientX;
posy = event.clientY;
}
}

function onMouseup( event ) {
in_dragging = false;
}
posted by chrono at 09:43| Comment(0) | TrackBack(0) | JavaScript