今後は技術的な記事もメインアカウントの新庄 航のアメブロに移行します。。
いままでありがとうございました(゜∀゜)
便利なプログラムを作りたいです(`・ω・´)ゞ
あけおめ・・・だった(汗)
filetype plugin indent on "ファイルタイプ別の設定(インデント)
~/.vim/after/ftplugin/c.vim (C言語ソースファイルの場合)
~/.vim/after/indent/c.vim (C言語ソースファイルの場合)
setlocal tabstop=4
setlocal expandtab setlocal shiftwidth=2 setlocal softtabstop=2
![]() |
| タブ幅を4桁にした例 |
最近iPadを買った・o・
技術者には「大きなiPhone」より「小さなMacBook」が適してるという思いがあってずっと敬遠してたんだけど、小さなプレゼン用にKeynoteだけでも使ったら便利かなとおもって…
そしたらけっこう使い道があることに気づいて、たとえばMacBook Airで作業しながら ついっぷる でツイッターを眺めたり、メールを確認したり…
僕は紙派?なのでけっこう紙に印刷して参照したりするんだけど、まさにそのときの紙感覚でiPadって使えるんだぁ〜という贅沢な(笑)
この前、総務省の任意団体の作り方のPDFがあまりにもページ数多すぎて「もう印刷はやめよう」と、とりまpdf-notesを入れてiPadで読むことにしたんだけど…
読んでると今度はどうしてもここだけはプリントしたいっていうページが出てきて、全然、気にもとめてなかったiPadの印刷機能に注目し始めた☆
どうやらAirPrintっていうWi-Fi経由の印刷機能が備わっているってことだったんだけど、僕のプリンタには対応してない…というかbluetoothだし(汗)
そこで発見したのが(前置き長げぇーよ!笑)
Printopia for Mac
MacBook Airのほうでプリンタを共有しておけば、iPadから直接プリントアウトできる☆
PDFファイルにしてMacに送信することもできるんだ。
これってウィンドウズのプリンタ共有にも対応してるんだろうか…
ま、どっちにしても僕がMacを持たずに外に出ることは当分なさそうだけど。
わたる兄(中の人は同じとかw)が考えた
フィルタリング機能付きツイッター・ブログパーツ
『自分のことは語らないったー』を僕が作っていくことになりました(`・ω・´)ゞ
wikiページを作ったのでよろしくね★
そうそう、わたる兄はアメブロ用こえ部パーツも作ってるけど…Bloggerにはフツーに貼れちゃうのかな?
ファイル、ディレクトリだけを chmod する方法
ファイル:
find . -type f -print | xargs chmod 664
ディレクトリ:
find . -type d -print | xargs chmod 775
Javaで、ローカル変数にfinalを付けると、その変数は変更されないということを保障します。
では、変更しないローカル変数には全てfinalを付けるべきなのでしょうか?
今回は、必ずfinalを付けざるを得ない、以下のコードのような場合を考えてみたいと思います。
class DisplayImpl implements Display {
private JFrame frame;
public DisplayImpl(int width, int height) {
final Dimension size =
new Dimension(width, height);
// ① finalで宣言
frame = new JFrame() {
Dimension getPrefferedSize() {
return size;
// ② finalでないと参照できない
}
};
size.height = 5; // ③ OK
size = null; // ④ コンパイル・エラー
}
}
削除したいディレクトリに移動して、以下のコマンドを実行。
for /R %i in (.svn) do rd /Q /S "%i"
↑普段はsvn exportを使えば良いのですが、バックアップの削除のときなどに。
メイリオというフォントがあるようですね。Windows Vistaのフォントだそうで…
Vistaは仕事関係でもまったく縁がないので触ったこともないですが、このフォントだけ欲しいなと思い探しました。
理由は、前々からWindowsにはClearTypeというフォントを滑らかにする機能があるのを知っていて、使いたかったのですが、ビットマップフォントには効かないのだそうで…
MS明朝やMSゴシックでは、16ポイント以下のフォントがビットマップになってしまうので(回避する方法はあるようですが)、メイリオならと思った訳です。
それともうひとつ、こちらのほうが大事ですが、Emacs-22の日本語フォントが汚くて…いろいろ物色していたらメイリオに出会ったという訳です。
nobさんのサイトを参考に設定しようとしましたが、Windows版のEmacs-22の設定ファイル(.emacs)がどこにあるのか(どこに作るのか)分からなくて断念。
ブラウザのデフォルトフォントをメイリオにして気分を変えてみましたが、今日はここまで^^;
実は、Emacsを自宅のMacBookにもインストールしたのでそのレポートを書きたかったのですが、自宅でゆっくりブログを書く時間がなくてなかなか進まなかったのです^^;
昨日から客先の僕のPCが新しくなって、今、入れ替え作業中です。
この前まで、C#.NETにどっぷり浸かっていた僕ですが、今週からは一転、Javaの仕事になります。
流行でいうとEclipseを使うところなのですが、NetBeans IDEが無償になっているので、一度、検証してみました…
が、無償で付いてきてリバース/フォワードエンジニアリングも対応しているUMLエディタに期待していたのに、モデリングツールとしても並以下(根拠はまたいずれ…)だし、何といっても印刷機能が貧弱すぎる。
バグじゃないのかとすら思えます。
まず、まともに印刷できないですから。。なんかちっちゃくなります^^;
画像出力にも対応しておらず、コピーしてワードに貼り付けたりしてみましたが、文字が潰れてしまってまったく駄目!
今、次のUMLデザイナを探してますが、Eclipseプラグイン形式のものが多く、やはり開発環境としてもEclipseを使うことになりそうです。
そんな中でも、テキストエディタというのは必要なもので、なんでもかんでもEclipseのエディタで開くわけにいかないですし、Eclipseプロジェクトとは紐付かないテキストファイルを開いたり、検索したり、編集したりするのに、軽くて便利なテキストエディタは欠かせません。
いつもWindowsのときは秀丸エディタを使っているのですが、マシンの入れ替えを機にEmacsにチェンジしようかなと考えています。
かなり、突飛な考えですが、そうでもしないとEmacsの操作を覚えられないだろうと思うので…
『プログラミング in OCaml ~関数型プログラミングの基礎からGUI構築まで~』買ってしまいました。
できるだけお金をかけないで…と思っていたのですが、言語を覚えるのに何か一冊、やはり、書籍としてまとめられたものがないと辛いと感じました。
(インターネットが普及してからプログラマになった世代の人たちには不要なのでしょうか?)
Obtaining/Downloading GNU Emacsにアーカイブの取得方法が書いてあります。
Windows用のバイナリはFTPサーバのwindowsディレクトリにあります。
そのときの最新は、22.2でしたのでemacs-22.2-bin-i386.zipをダウンロードしました。
因みに、emacs-22.2-barebin-i386.zipは、LispコードとドキュメントがないバージョンだということがREADMEに書かれています。
(Windows版に関しては、GNU Emacs FAQ For MS Windowsを参照するようにも書かれています...まだ、読んでません(^_^; 個人的にはCombined on one pageのほうが見やすいと思います)
ダウンロードが完了すれば、あとはインストールと言っても、好きなフォルダに解凍するだけ。
「Program Files」など空白を含むフォルダだと無用なトラブルに巻き込まれないとも限らないので、僕は「C:\usr\emacs-22」に解凍して使ってます。
binフォルダ内のemacs.exeをダブルクリックで起動するのですが、ショートカットを作っておくといいでしょう。
余談ですが、僕はアンチ・マイクロソフトです! いや、本当に...
さっき、他人のサンプル見てて、見つけたんですが、
C#で、
public interface IPlugin
{
void InitializePlugin();
}
public void InitializePlugin()
void IPlugin.InitializePlugin()
void IPlugin.Initialize()
DataColumn.Expression プロパティ (System.Data)に記されているのですが、分かりづらいのでまとめてみました。
(実際のコードでしまします)
class EscapePair
{
public EscapePair(char specialChar, string prefix, string surfix)
{
SpecialChar = specialChar;
Prefix = prefix;
Surfix = surfix;
}
public char SpecialChar;
public string Prefix;
public string Surfix;
}
// ~ ( ) # \ / = > < + - * % & | ^ ' " [ ]
private EscapePair[] EscapePairs = new EscapePair[]
{
new EscapePair('~', "[", "]"),
new EscapePair('(', "[", "]"),
new EscapePair(')', "[", "]"),
new EscapePair('#', "[", "]"),
new EscapePair('\\', "[", "]"),
new EscapePair('/', "[", "]"),
new EscapePair('=', "[", "]"),
new EscapePair('>', "[", "]"),
new EscapePair('<', "[", "]"),
new EscapePair('+', "[", "]"),
new EscapePair('-', "[", "]"),
new EscapePair('*', "[", "]"),
new EscapePair('%', "[", "]"),
new EscapePair('&', "[", "]"),
new EscapePair('|', "[", "]"),
new EscapePair('^', "[", "]"),
new EscapePair('\'', "[\'", "]"), // 注意:シングルクォーテーションは二つ並べる
new EscapePair('"', "[", "]"),
new EscapePair('[', "[", "]"),
new EscapePair(']', "[", "]"),
};
private string EscapeSpecialChar(string text)
{
StringBuilder src = new StringBuilder(text);
StringBuilder dst = new StringBuilder(text.Length * 2);
for (int i = 0; i < src.Length; i++)
{
bool escaped = false;
foreach (EscapePair ep in EscapePairs)
{
if (src[i] == ep.SpecialChar)
{
dst.Append(ep.Prefix);
dst.Append(src[i]);
dst.Append(ep.Surfix);
escaped = true;
break;
}
}
if (!escaped)
{
dst.Append(src[i]);
}
}
return dst.ToString();
}
HaloScanをインストールしました。
Blogger(このブログ)にはトラックバックの機能がないのです(・oT)
さっき参考にさせてもらったピーコ@げてもの...ぢゃない...おすぎ@にせものさんのブログに愛のトラックバックを送りたかったのですが、そういえば、Wikipediaにそう書いてあったような(^_^;
という訳で、「blogger trackback」とググって、同じBloggerらしき@akaさん(カスタマイズばりばりでカッコいいんだから(*^o^*))の記事に辿り着きました!
@akaさんいわく、「打つのが面倒」だそうですが、何とか僕のラブコールはおすぎさんに届いたようで...あ、@にせものさんね(^_^;
承認していただけるかどうか...
プラグインベースのシステムを作っていて、
あるプラグインから別のプラグインにビットマップオブジェクトを渡す必要ができました。
GUIは基本的にC#で組んでいるのですが、システム全体がC言語も含むので、
プラグイン同士のデータの受け渡しは、(もちろんカプセル化して)メモリブロックを使っています。
メモリレイアウトを規約で決めて、お互いがレイアウトを知っているという前提で読み書きしているのですが、やっぱり、予想通り、.NETのオブジェクトをそのまま渡したいケースが出てきてしまったという訳で、
「C# .NET Bitmap シリアライズ」でググってみたところ、
おすぎ@にせものさんのブログに「XMLシリアライズ時にビットマップも含める」という記事があり、参考にさせてもらいます。
なんだか、スマートな感じにbyte配列に変換しています。
無論、逆変換もできるのでしょう♪
真似して以下のようにしてみました。
(Load and Save objects to XML using serializationを参考にされたということです...時間と気力があれば見てみたいとおもいます(^_^;)
public Bitmap Picture{ get { return _picture; } set { _picture = value; } }
private Bitmap _picture;
public byte[] PictureByteArray {
get {
if (Picture != null) {
TypeConverter BitmapConverter =
TypeDescriptor.GetConverter(Picture.GetType());
return (byte[])BitmapConverter.ConvertTo(Picture, typeof(byte[]));
} else {
return null;
}
}
set {
if (value != null) {
Picture = new Bitmap(new MemoryStream(value));
} else {
Picture = null;
}
}
}
OCamlというのは今はやりの関数型言語(Objective Caml-Wikipediaをみてね)。
オキャムルと読むらしい。
ラクダの表紙の入門書があったりするのは、その発音がCamel(ラクダ)と同じだからとか違うとか...たしかにCamelのeはあいまい母音だから本当はキャメルじゃなくて、キャムルのほうが近いのかな?
それならば、僕はOCamlはオゥキャムルと発音したいと強く主張する!
主張はするけど、検索に引っ掛からなくなるので、ま、オキャムルということで(^_^;
ところで、今日から勉強開始なのに、今、Emacs Tutorial(Emacs入門ガイド)やってます(^_^;
前出のラクダ本『プログラミング in OCaml ~関数型プログラミングの基礎からGUI構築まで~』を著された五十嵐先生のウェブサイト「Objective Caml入門」を羅針盤に、いざ出航!
って、意気込んでたら、「Emacsエディタでのプログラム編集/実行のための設定を行う」と...