ページ

2013年7月16日火曜日

Chrome アドオン開発 No.1 ポップアップアドオンを作成

Google Chromeのアドオンを作ろうと思い調べたことをメモしていきます。
様々なことが可能なアドオンですが、複雑のため勉強がてらのまとめとなります。
動作イメージは下記です。

アドオン動作イメージ

簡単なポップアップですが楽ではありますが
マニュアルを自力で読解は面倒です。


環境
環境情報 構築日 ソフトウェア
Google Chrome【mac版】 2013/07/16 27.0.1453.116

とりあえずアドオンにアイコンが必要なのでicon.pngを用意
19×19のサイズで用意します。

icon.png




続いてマニフェストファイル「manifest.json」を用意します

{
  "name": "アプリ名称",
  "manifest_version" : 2,
  "version": "1.0", 
  "description": "アドオンの説明.", 
  "browser_action": { 
    "default_icon": "icon.png", 
    "default_title": "サンプル", 
    "default_popup": "popup.html"
  },
  "permissions": [
    "http://localhost/"
  ]
}

上記がマニフェストとなる。
「manifest_version」はおまじないで無視した方が良い
chromeのバージョンに依存するみたいである。

マニフェストファイルでの注目点は下記2つである

  • browser_action
    • 指定したアイコンをクリックするとポップアップが洗われる
  • permissions
    • 有効なサイトを固定する

permissionsはセキュリティの意味で利用しますがすべてのサイトが
対象の場合は必要ありません。

続いてpopup.htmlとなります。

<html>
<style>
body {
  min-width:357px;
  overflow-x:hidden;
}
</style>
<body>
adin test
</body>
</html>


これで準備が完了です。
続いて、chromeで動作させるための行いかたです
「設定」>>「機能拡張」>>「パッケージ化されていない拡張機能を読み込む」
を選択肢、上記3ファイルが保存されているディレクトリに移動させれば
アドオンが動作します。

とりあえず第1弾のアドオン開発メモです。

2013年7月6日土曜日

postgresで一次テーブルをトランザクションで利用

postgresの一次テーブルについてのメモ
一次テーブルを利用しようとしたが仕様がいまいち
わからなかったのですこしまとめました。
大きく2点のまとめです。
1.一次テーブルをとりあえず作ったらどのタイミングで消えるのか
2.BEGIN,COMITのトランザクション間で一次テーブルを利用するにはどうすれば良いのか

この2つについて記載いたします。


環境
環境情報 構築日 ソフトウェア
CentOS 6.3 2013/07/06 postgresql8.4



1.一次テーブルをとりあえず作ったらどのタイミングで消えるのか
こちらについては、とりあえず一次テーブルを作る意味合いのメモです。


$ psql 
-- 以下SQL文を記載

-- 一次テーブルを作成
CREATE TEMP TABLE temptable1(id numeric(9,0));

-- この時点ではtemptable1は残っている
INSERT INTO temptable1 VALUES(1);
-- この時点ではtemptable1は残っている
BEGIN;
INSERT INTO temptable1 VALUES(2);
INSERT INTO temptable1 VALUES(3);
-- この時点ではtemptable1は残っている
SELECT * FROM temptable1;
COMMIT;
-- この時点ではtemptable1は残っている
SELECT * FROM temptable1;
-- この時点ではtemptable1は残っている
¥q
-- この時点でtemptable1は削除される
$ psql 

-- この時点でtemptable1は存在しない
¥d temptable1

と、上記のようになります。
特に意識せずに一次テーブルを作成すると、¥qで全体を抜けるまで
一次テーブルが有効です。ちなみにコンソールを2つ表示し
それぞれpsqlコマンドで同じDBに入っても作った方意外からは見えません。
これが一次テーブルです。


2.BEGIN,COMITのトランザクション間で一次テーブルを利用するにはどうすれば良いのか
こちらの使い方を自分で使いたかったのでまとめました。

$ psql 
-- 以下SQL文を記載

BEGIN;
-- 一次テーブルを作成 COMMIT DROPオプションがつきます
CREATE TEMP TABLE temptable1(a numeric(9,0)) ON COMMIT DROP;

-- テーブルが存在します。
¥d temptable1

COMMIT;

-- テーブルが存在しません。
¥d temptable1

このようにトランザクションを張る場合は、COMMIT DROPが有効です。
重たい動作をされる際にご利用ください。

CentOS6にmonoをインストール

C#などの.NET系をLinuxで利用するためにmono projectがあります
2013/07/06現在最新版が3.0.12でありまたこちらをCentOSにインストールしようと思ったのでメモします。
ソースコードは70M程度の容量があるのでサイズに注意です

環境
環境情報 構築日 ソフトウェア
CentOS 6.3 2013/07/06 yum,make

結構いろいろ必要なのでOSをインストールしてすぐの想定で行います
$ su -
# とりあえずdev環境を整えるために必要そうなものをインストール
$ yum install bison gettext glib2 freetype fontconfig libpng libpng-devel libX11 libX11-devel glib2-devel libgdi* libexif glibc-devel urw-fonts java unzip gcc gcc-c++ automake autoconf libtool make bzip2 wget
$ wget http://download.mono-project.com/sources/mono/mono-3.0.12.tar.bz2
$ bunzip2 mono-3.0.12.tar.bz2
$ tar xvf mono-3.0.12.tar 
$ cd mono-3.0.12.tar 
$ ./configure --prefix=/usr/local
$ make && make install
$ mono --version

手順自体は単純ですが、ちょっと面倒ですね。 大体の時間はMac上にVMを立てて動かしましたが10分程度でした。 とりあえず動かす環境ができたので実際にexeなど作って今度動作させる予定

2013年7月2日火曜日

deteコマンドの使い方

dateコマンドは日付を確認するための機能ですが思いのほかオプションが
あり覚えられないのでよく利用するものをメモ
自分でよく利用するのはyyyy/MM/ddなので原則こちらのフォーマットにあわせています.

主に自分で利用するのは、今日、昨日、今月末、30日前などがよく利用します.


dateコマンド例(yyyy/MM/dd)
目的 コマンド
今日 date +'%Y/%m/%d'
明日 date -d '1day' +'%Y/%m/%d'
昨日 date -d '1day ago' +'%Y/%m/%d'
月初 date +'%Y/%m/01'
月末 date +'%Y/%m/%d' -d "1 day ago `date +'%Y/%m/01' -d'1 month'`"
前月 date -d '1month ago' +'%Y/%m/%d'
前月末 date +'%Y/%m/%d' -d "1 day ago `date +'%Y/%m/01'`"
来月末 date +'%Y/%m/%d' -d "1 day ago `date +'%Y/%m/01' -d'2 month'`"
来月末 date +'%Y/%m/%d' -d "1 day ago `date +'%Y/%m/01' -d'2 month'`"
1年前 date +'%Y/%m/%d' -d '1 year ago'
30日前 date +'%Y/%m/%d' -d '30day ago'


ついでに簡単な時間も出してみます。


dateコマンド例(hh:mm:ss)
目的 コマンド
現在時刻 date +'%H:%M:%S'
1時間前 date -d '1hour ago' +'%H:%M:%S'
1時間後 date -d '1hour' +'%H:%M:%S'

dateコマンドは意外と利用するがよく利用するのをメモするべきですね