2014年09月16日

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

2014年06月22日

Updated Ruby/GTK API reference with Ruby

    I updated almost all of wiki pages of Ruby/GTK API reference(Japanese version) on the official Ruby-GNOME2 web site several days ago.

    I wrote three Ruby scripts doing three tasks below:

  • Downloading the wiki pages in edit-mode. (They have class members documented)

  • Listing up members of each classes implemented in the library for MS Windows itself.

  • Comparing the pairs of class members lists above, and adding missing members on the documents to the wiki data.


    Some useful methods made automating the second task possible for this time. They are "singleton_methods", "instance_methods", "constants" and "included_modules" methods built in Ruby, and "properties" and "signals" methods Ruby/GTK classes have. All of them will accept an option parameter representing whether returning members list includes inherited members or not.

    I made new wiki data for uploading with the three scripts above. Then made some adjustments to the data and uploaded it to the web manually.
posted by chrono at 08:58| Comment(0) | TrackBack(0) | Ruby