PCから携帯メールへの画像の添付方法

PCから携帯メールへの画像の添付は、そのままではできないことがおおいです。
調べてみると、画像の容量を、50KBとか小さくすると、送信できるようです。
(ドコモでは300KBまでだそうですが、携帯でみるのであれば大きくなくていいし、それとなにより後述するパケット代が高くなるので、せいぜい50KBや100KBにすればいいとおもいます)

画像を小さくするのは、いろんなソフトがあると思いますが、僕の一押しは下記です
縮小専用
この縮小専用は、画面のとおりファイルサイズを指定して、あとは、ドラッグアンドドロップするだけで、
画像を小さくできる秀逸のフリーソフトウェアです。作成時期は古いものの、Windows 7(64bit)でも難なく動きます。
ID45縮小専用


あくまで参考までのパケット料金(定額とかパケット割とかしてないので、実際の価格とは大幅にかわるかもしれません)

FOMAの場合ですが、ドコモのホームページによると、
なんと、100KB で71円。。。。たけええ。。。。

ソフトバンクのホームページによると、、写メール50KB で49円から122円(ソフトバンク同士だと無料のようですが)


KDDIはよくわからなかったのですが、似たようなものとして、どこもパケット代たかいだなとおもいました。

Virtual Box を使いUbuntu 12.04LTSをインストールのためのバーチャルマシン作成

Ubuntu12.04LTSが出たので、試しにVirtual Box上でインストールしてみました。
(尚、この記事では、バーチャルマシンの設定を記しました。)

個人利用ならフリーでVM WareとVirtual Boxの二つのバーチャルマシンがあります。
どちらも素晴らしいのですが、僕はVirtual Boxを使い続けています。理由は
・無償版で64bit OSもインストールできる
・ネットワークに関して自由度が高いという理由で個人的には、(最近、VMwareはいじっていないので、比較はできないのですが)

(0)Virtual Boxをインストールします。
Virtual BoxをインストールするOSをホストOSといいます。
Virtual Box上で動かすOSをゲストOSといいます。

今回は、Windows 7 (64bit)をホストOS、Ubuntu 12.04LTS(32bit)をゲストOSにしています。
尚、32bitのホストOSで、64bitのゲストOSをインストールすることはできません。
ゲストOSは何台でもインストールできます。また、メモリとCPUが許す限り、ゲストOSを複数実効できます。
僕も、ネットワークの実験で、物理マシンより、まずは、一つのマシン上で、2、3個のバーチャルマシンを実行してネットワークを組むことが多いです。こういった使い方はのちほど紹介します。

Ubuntu12.04LTS のCDイメージもダウンロードしてください。本格的なサーバ用途でなければ32bitでいいとおもいます。

(1) Virtual Boxをインストール後は、Ubuntuをインストールするためのバーチャルマシンを作成します。

ID44_01.jpg

(2)バーチャルマシン名の入力
上の新規をクリックしてください。さらに「次へ」をクリックすると、次の画面が現れます。

ID44_03.jpg

仮想マシン名に、Ubuntuと入力すると、自動的に、オペレーティングシステムがLinux に変更されます。

(3) メモリ
次にメモリです。メモリは、後からでも変更可能です(おそらくほぼすべての項目が後から変更可能です)。
メモリの割り当ては、実際のメモリのサイズに注意してください。
僕の場合、実メモリは6GBです。
ホストOSは64bitのWindows7なので、最低4GBはほしいです。
あと2GBのうち、32bitのLinuxではありますが、多めに1.5GBとりました。もし、同時に複数のバーチャルマシンを起動する場合は、後で、メモリを下げてください。(64bitのLinuxは多めにとってください)

ID44_04.jpg

(4) HDD
HDDはVDIを選択しました。次の画面で、DynamicかFixedかを選択します。
DynamicかFixedかの違いは、例えば、100GBのHDDを割り当てると、
・Fixedの場合)最初から、100GB割り当てられます。
・Dynamicの場合)最初は5GBくらいしか消費せず、必要に応じて、Virtual Boxが実際のディスクサイズを大きくしていきます。
パフォーマンスはFixedのほうがいいらしいですが、あまり感じることはなく、初期化に時間がかからないことからDynamicをいつも選んでいます。
あと、HDDのサイズはあとから変更できるのですが、面倒なので、少し多めにとっておいたほうがいいです。どうせ、Dynamicを選んだら、消費はしないので。

ID44_07-Dynamic.jpg


次のウィンドウで「create」を押せば、バーチャルマシンができあがります。

さらにバーチャルマシンの設定を行います。

(5) 設定
VirtualBoxマネージャー上に「Ubuntu12.04LTS」のアイコンが出現しました。つぎに、そのアイコンの上で、右クリックを押し、「設定」を押します。
ID44_10.jpg

(6) システム CPU - IO APICの有効化
このCPUの設定で、バーチャルマシンに実際にいくつのCPUを割り当てるか(それと、何%割り当てるかです)を設定します。

複数のCPUを割り当てる場合は、左のシステムのメニューをクリックした後、IO APICを有効化をチェックしてください。
ID44_11-EnableIOApic.jpg

(7) システム CPU - プロセッサ数

次に、プロセッサのタブをクリックして、CPUの数を調節してください。

最近のPCは、マルチコア化されているため、いくつものCPUを持っています。たとえば、僕のマシンは、4コアなので、4つのCPUをもっていることになります。他のホストマシンと、他のバーチャルマシンとのバランスが大事になります。とくに、Windowsがホストマシンの場合は、ホストマシンにCPUを割り当てるようにしてください。
ぼくは、4コアなので、半分の2CPUをUbuntuに割り当てました。
(尚、Virtual Box では、実際のCPUのコアX2を設定できますが、僕の経験では、実CPU以上に割り当てるといいことがありません)
複数のバーチャルマシンを使う場合は、サーバーとなるマシンにより多く割り当て、クライアントとなる、バーチャルマシンには、1CPUで、60%割り当てるということもしています。

ID44_12-CPU.jpg

(8) ディスプレイ
VRAMのサイズを調節してください。僕は 意味もなく96MBにしています。

(9) ストレージ
ダウンロードしたUbuntu12.04のCDイメージを指定することで、Ubuntu12.04をCDイメージからブートできるようになります。
ID44_14-Storage.jpg

(10)ネットワーク
ネットワークアダプタを仮想的に4台まで設定できます。これはすごい機能で、たとえ、1個の物理イーサネットアダプタしかもってなくても、4台までもってることにできます。もちろん、それぞれ、違うIPも指定できます。
この機能を使うことで、柔軟にバーチャルネットワークを構築することできます。

なお、アダプタの種類に、「ブリッジ」「NAT」とか選択できますが、ホストOSと異なるIPを使いたい場合は、
ブリッジを選んでください。そうでない場合は、NATを選んでください。内部ネットワーク等はバーチャルネットワークを構築する上で便利です。
ID44_15-Network1.jpg

これで大体おわりです。あとは、OKを押し、次に、Ubuntu12.04のアイコンをクリックしてください。
ID44_16-Ubuntu.jpg

下記、画面が出たら、(日本語をここで指定できますが、あとでもインストールできます)install ubuntuをクリックしてください。あとは、OKをくり返せば、インストールできています。

ID44_17.jpg


(11) Reboot 後のGuest Additionのインストール(絶対にしたほうがいいとおもいます)
Guest Additionをインストールすることで、自由自在に、ウィンドウを拡大、縮小、マウスも
便利になり、クリップボードも使えるようになります。

Ubuntuが無事立ち上がったら、デバイスの「Guest Additionをインストール」をクリックしてください。

つぎにUbuntuのメニューから「terminal」と入力して、ターミナルを起動します。
そして、次のコマンドを入力しください。

$ sudo sh /media/VBOXADDITION_4.1.XXXX/VBoxLinuxAdditions.run

(パスワード入力や、もしかしたら、確認を求められ、enterキーもいくつか入力、そしてしばらくまつ)

$ sync
$ sync
(おまじない)

$ sudo reboot
(rebootします)

XXXXはVirtualBoxのバージョンによってかわります。

アルゴリズム:52枚のカードのパーフェクトシャッフル

問題「52枚のカードをパーフェクトシャッフルするアルゴリズムを作れ」
この問題は、米Amazonのソフトウェアエンジニアの採用試験(電話)で出た問題で、簡単で。頻出問題であるのに、当時、うまく答えられなかった、苦い思い出の問題です。。。

解答。いろいろあるとおもうのですが、いま思いつくのは、
1から52までの数字がはいった、1次元配列をつくります。
作成したの配列の52番目の数(つまり52)と、1から51の数の中で、ランダムな数を選び、その選んだランダムの数番目の配列の数を入れ替えます。
次に、51番目の数から2番めの数まで上記のことを繰り返します。
最終的に、パーフェクトシャッフルが完成しています(きちんとランダムな数を選んでいると仮定して)。


javaでつくったちょっとしたサンプルコードです。
1から52までの配列を表示し、シャッフル後の配列を再表示します。

import java.util.Random;

public class PerfectShuffle {

private final static int MAX = 52;
  
  public static void main(String[] args) {
    int[] iArray = new int[MAX];
    for (int i=0;i<MAX;i++){
      iArray[i]=i+1;
    }
    PerfectShuffle pShuffle = new PerfectShuffle();
    print_r(iArray);
    pShuffle.getShuffle(iArray);
    print_r(iArray);

  }
  public void getShuffle(int[] iArray){
    Random rndGen = new Random( ); //ランダムジェネレータを生成します。
    for (int i=iArray.length-1;i>=1;i--){
      int rndIndex = rndGen.nextInt(i); // 0からi-1までの乱数を発生させます
      /* 2変数をXORを用いて、スワップします */
      iArray[i] ^= iArray[rndIndex];
      iArray[rndIndex] ^= iArray[i];
      iArray[i] ^= iArray[rndIndex];
    }
    return;
  }
  public static void print_r(int[] iArray){
    for (int i=0; i<iArray.length;i++){
      System.out.print(iArray[i]+" ");
    }
    System.out.println("");
  }

}

アルゴリズム 第3変数を使わないswap

アメリカの会社の採用試験は、実際に口頭試験をしてきます(日本は心意気をきくだけのような気がしますが)大手のIT系の会社でソフトエンジニアだと、アルゴリズムをメインに基本的な問題をだしてくるようです(GoogleとMicrosoftは例外ですが。。。)
その手の人には常識かもしれませんが、おもしろいなと思った問題を紹介します。


問題:「第3変数を使わずにswap関数を作りなさい」


僕はなるほどなあと思いました。


答えは、XORを使って、二つの変数をスワップできます。
A = A XOR B
B = B XOR A
A = A XOR B
で、AとBがスワップしました。


簡単な証明(ベン図を使ったら視覚的にもわかります)は、
A = A XOR B
B = B XOR A = B XOR (A XOR B) = B XOR (B XOR A) = (B XOR B) XOR A = 0 XOR A = A
ポイントはB XOR B が定義に基づき、0になることです。
A = A XOR B = (A XOR B) XOR A = (B XOR A) XOR A = B

C言語でのサンプルコードです。

void swap(int* a, int* b)
{
    *a ^= *b;
    *b ^= *a;
    *a ^= *b;
}
int main()
{
    int a=1, b=10;
    printf("Before swap a=%d, b=%d\n",a,b);
    swap(&a,&b);
    printf("After swap a=%d, b=%d\n",a,b);
    return 0;
}

jQuery: TEXTAREAでTABキーでタブのインデント入力

TEXTAREAで入力していると、ついTABキーでインデントしようとして、次の入力ボックスにフォーカスが移ってしまいます。これはうっとおしいです。何とか、ならないのかと調べてみると、
ted devito さんという方がjQueryの素敵なライブラリを公開していました。

使い方は至って簡単で、そのライブラリをインクルードして、単に textareaのオブジェクトに.tabby() とつけるだけです。
下記がサンプルコードです。textareaは、row. colを使うより、width, heightを使った方がいいとならったので、それらを使っています。
ライブラリは、http://teddevito.com/demos/js/jquery.textarea.jsからダウンロードしてください。


<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<script type="text/javascript" src="./js/jquery.textarea.js"></script>
<!-- 上記はtabbyライブラリへのパスです。-->

<script>
$(document).ready(function(){

   $("#TextArea1").tabby();

}); // End of ready
</script>

<textarea id="TextArea1" style="width:500px; height:400px;">

jQuery: 視覚効果(エフェクト)を使ってみる

jQuery には様々な視覚効果の関数が用意されています。

ためしにfadeOutを使ってみました。


ささいなことですが、おもしろいです。他にも show(), hide(), toggle(), fadeIn(), fadeOut(), fadeTo(), slideDown(), slideUp(), slideToggle()といった関数があるようです。

下記はをクリックするとfadeOutするコードです

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js" type="text/javascript">
</script>

<script>
$(document).ready(function(){   
   $('#fadeOutButton').click( function(){ 

     $(this).fadeOut(500);

   }); // End of fadeOutButton 
}); // End of ready
</script>

<button id="fadeOutButton">Click</button>

jQuery CTR+Sのブラウザの保存機能を無効化 

フォームで、データを入力し終わると、ついくせで、CTRL+Sを押して、
入力データの一時保存をしようとするのですが、CTRL+Sを押すと、
ブラウザの機能であるの、ページの保存がでて非常にうっとおしいです。
jQueryを使って。その機能を無効にしてみました。


<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js" type="text/javascript">
</script>

<script>
$(document).ready(function(){

  $(window).keydown(function(event) {

    var code = (event.keyCode ? event.keyCode : event.which);
    // 上記コードはブラウザによってキーコードを取得するプロパティが異なる問題をかいけつするものです。

    if (!(code == 83 && event.ctrlKey)) return true;
    // code 83 は Sです。
  
    event.preventDefault();
    // ctrl+S に割り当てられているデフォルトの機能を無効化します。

    $("form input[name=Save]").click();
    // かわりに、formのsaveというボタンをクリックしたことにできます。

    return false;
  }); // End of Keydown
}); // End of Ready
</script>

Firefox CPU占有率が100%近くになる現象を回避

Firefox を使っていると、CPU占有率が100%近くになってほとんどフリーズしたような状態(とくに、動画を再生しているときに頻繁に起こるように思えます)になり、タスクマネージャで、Firefoxのプロセスを切らざるを得ないことが多々ありました。 

実際には、メモリ使用量を減らす設定ですが、その設定を行うと、メモリだけでなく、CPU占有率も低くなり、フリーズのような現象を確かに回避することができました。

続きを読む

テーマ : ソフトウェア
ジャンル : コンピュータ

SSH Teraterm LogmeTT パスフレーズ+秘密鍵で自動ログイン

OpenSSH (Linux上)で公開鍵・秘密鍵を作成し、LogmeTTで、パスフレーズ+秘密鍵をつかって自動ログインをできるようにしました。

続きを読む

テーマ : 自宅サーバー構築日記
ジャンル : コンピュータ

マイネットワークの出し方 (Windows XP/ネットブック DELL Inspiron mini 9)

DELL Inspiron mini 9で、マイネットワークがないのに気づき、これではWebDAVができないと焦りました。。。

続きを読む

Ubuntu 9.04 Apache 2.2 + WebDAV /SSL/ Digest 認証の設定

Ubuntu 9.04 Apache 2.2 上で WebDAV Digest 認証 (またはBasic認証)の設定をしました。

続きを読む

ネットブック DELL inspiron mini 9 のSDHCのHDD化

ネットブック DELL inspiron mini 9 のSDHC(16GB)のHDD化をしました。
目的は、通常だと、SDHCカード類はリムーバルディスクとして認識され、一部のアプリケーションソフトをインストールできないようです。そのため、HDD化することによって、SDHCのドライブにアプリケーションソフトをインストールできるようになります。現在、ぼくのinspiron mini 9は7GのSDDしかないため、死活問題です。

続きを読む

テーマ : Windows 全般
ジャンル : コンピュータ

Excel 便利関数 sumproduct関数 複数の条件で集計

エクセルの関数ってVBAを使わなくても結構すごいことができます。
(VBAだと、他人に渡すとき、セキュリティーがなんたらで面倒なので、なるべく使わないようにしています)

この関数って便利ってものを紹介します。 まずは、sumproduct関数です。

続きを読む

テーマ : ソフトウェア
ジャンル : コンピュータ

Administratorのパスワードを解読!! 驚異のフリーソフト ophcrack

研究室にあるいくつかのWindowsマシンのAdministratorがパスワードがわからず、困っていました。KNOPIXXで、パスワードファイルを消去するという技もあるのですが、他の人もパスワードも消えてしまうのではないかとの懸念で躊躇していました。

パスワードってクラックできないのかなと思い調べてみると、できるんですね、簡単に!!オープンソースのOphcrack(http://ophcrack.sourceforge.net/)を使って、わずか数分で。。。問題のマシンもAdministratorのパスワードも開始からわずか2分少々で、解読してしまいました。。。

続きを読む

ATOKを導入後、英語キーボードを認識せずに、日本語配列に。。。

英語キーボードを使うようになって、1ヶ月、なぜか気がつかなかったのですが、配列(レイアウト)が日本語キーボードでした。。。
(たとえば「@」を入力するつもりが、「”」になっていたり。。。最大の疑問はなぜ今まで気がつかなかったのかなのですが。。。)

さて、これを直そうとおもって、コントロールパネルのキーボードレイアウトをいじっても、ATOKを使用する場合、英語配列に変更できません。 そこで、googleで、変更方法を探してみました。

続きを読む

プロフィール

Author:あき
Web: Craps!!(このブログのまとめサイトです。) 

スポンサードリンク
最近の記事
月別アーカイブ
最近のコメント
最近のトラックバック
カテゴリー
ブロとも申請フォーム

この人とブロともになる

全記事表示リンク

全ての記事を表示する

ブログ内検索
RSSフィード
リンク