MARCO's FREE MEMO

携帯フォトや備忘録などをちょこっと…

データベーススペシャリスト

2013年06月27日 22時58分14秒 | Database
毎年のように春と秋に受けている情報処理試験
しばらく合格とは無縁の日々だった
春のデータベーススペシャリストは2010年に午後Ⅱであと1点足りなくて不合格とかもあったのだが、このたびめでたく合格した!!
いまさら資格取ったからって威張れないなー
と思っていたのだが、この資格って国家資格だし過去の合格者数も2万人足らずしかいないらしく、難易度も結構高いってことらしいので自慢気に書いてみた(笑)
相変わらず午前Ⅰが鬼門だったのだが、今回はギリギリセーフで乗り越えたのが大きかった!
やっぱ合格するって嬉しいもんだなー
秋のシステムアーキテクトも頑張るぞ!
おー!

Android 4.2.2

2013年03月20日 00時39分05秒 | Android
ものはついでということで、タブレットのOSを最新の4.2.2にしてみた。
見た目もかっこいいし、動作も安定してるし、バッテリーの持ちも良くなった。
凄いじゃないか!!
もう買い替えようと思っていたので随分得した気分だ(*^^)v

タブレットのOSを変えてみる

2013年03月16日 20時53分27秒 | Android
2011年7月、発売直後に買ったAcerのiconia tab A500というタブレットのOSを変えてみた
近頃ちょっと電源の反応が悪くて、壊れてもいいやって気持ちで試してみたのだが
Android3.2から4.0に変えてみたらなかなかいい感じ☆

手順としては
1)root化してOSが操作できるようにする
 ボリュームボタンと電源ボタンを同時押しすると「ClockworkModリカバリモード」が起動する
2)Android4.0をダウンロードしてインストールする
 「ClockworkModリカバリモード」でBackupしてWipeしてInstallの順番
3)Google appをインストールする
という感じでできた

参考にしたのは下記のサイト
http://blog.livedoor.jp/kimikage_sou/archives/6591896.html

root化したので、4.1にも挑戦できるなー♪
やっぱり端末を自分好みに変更するのは楽しいものだ

Mapserver インストール

2012年09月29日 14時29分25秒 | JavaScript
先週、ノートPCを買い換えた。
Core i5でメモリが4GB(あと4GB買い足した)でWindows7(64bit)
「これからはVMだろう」ということでVM Player5を入れてそこにCentOSをゲストOSで入れてみた。
丁度、仕事でMapServerを扱うようになったので、まずMapServerのインストールに挑戦。

以下、あちこちのサイトを見ながら試行錯誤しながら構築したメモ
多くの人がノウハウを残してくれるからインストールであまり苦しまなくなった
皆さんに感謝☆
------------------------------------------------------------------------
■Apachの追加インストール
# yum -y install httpd httpd-devel

■PHPの追加インストール
# yum -y install php php-mbstring php-mcrypt php-pgsql php-devel php-gd

■GDのインストール
# yum -y install gd gd-devel

■GIF,PNG,JPEGのインストール
# yum -y install giflib giflib-devel
# yum -y install libpng libpng-devel
# yum -y install libjpeg libjpeg-devel

■LIbicuのインストール
# yum -y install libicu libicu-devel

■Xercesのインストール
# wget http://ftp.riken.jp/net/apache//xerces/c/3/sources/xerces-c-3.1.1.tar.gz
# tar zxvf xerces-c-3.1.1.tar.gz
# cd xerces-c-3.1.1
# ./configure --prefix=/usr/local/
# make
# make install
# /sbin/ldconfig -v

■geosのインストール
# wget http://download.osgeo.org/geos/geos-3.2.2.tar.bz2
# tar jxvf geos-3.2.2.tar.bz2
# cd geos-3.2.2
# ./configure --prefix=/usr/local/
# make
# make install
# /sbin/ldconfig -v

■PROJのインストール
# wget http://download.osgeo.org/proj/proj-4.7.0.tar.gz
# tar zxvf proj-4.7.0.tar.gz
# cd proj-4.7.0
# ./configure --prefix=/usr/local/
# make
# make install
#

■PostgreSQLのインストール
# yum -y install postgresql84 postgresql84-server postgresql84-libs postgresql84-devel

■初期設定
# service postgresql initdb

■起動
# service postgresql start

■PostGISをインストール
# wget http://postgis.refractions.net/download/postgis-1.5.3.tar.gz
# tar zxvf postgis-1.5.3.tar.gz
# cd postgis-1.5.3
# ./configure \
--with-geos=/usr/local/bin/geos-config \
--with-pgconfig=/usr/bin/pg_config \
--with-proj=/usr/local \
--with-proj-libdir=/usr/local/lib
# make
# make install

■GDAL/OGRをインストール
// 追加パッケージを導入 (導入済であれば不要)
# yum -y install curl curl-devel unixODBC unixODBC-devel

# wget http://download.osgeo.org/gdal/gdal-1.9.0.tar.gz
# tar zxvf gdal-1.9.0.tar.gz
# cd gdal-1.9.0
# ./configure \
--with-libtiff=internal \
--with-pg \
--with-pymoddir=/usr/lib/python2.4/site-packages \
--with-python \
--with-xerces=/usr/local/ \
--with-odbc \
--with-geos=/usr/local/bin/geos-config
# make
# make install

■MapServerをインストールする
// 追加パッケージを導入 (導入済ならば不要)
# yum install freetype freetype-devel

# wget http://download.osgeo.org/mapserver/mapserver-5.6.8.tar.gz
# tar zxvf mapserver-5.6.8.tar.gz
# cd mapserver-5.6.8
# ./configure \
--with-tiff \
--with-zlib \
--with-jpeg \
--with-png \
--with-freetype \
--with-gd \
--with-geos \
--with-postgis=/usr/bin/pg_config \
--with-proj \
--with-sos \
--with-threads \
--with-wcs \
--with-wfs \
--with-wfsclient \
--with-wmsclient \
--with-wmsserver \
--with-gdal=/usr/local/bin/gdal-config \
--with-ogr=/usr/local/bin/gdal-config \
--with-agg \
--with-php=/usr/include/php \
--with-httpd=/usr/sbin/httpd
# make

■makeでエラーが出たら足りないライブラリを追加
/usr/bin/ld: cannot find -lxslt
/usr/bin/ld: cannot find -lpam
# yum -y install libxslt libxslt-devel
# yum -y install pam pam-devel

// イントーラーは付属しないので、手動で設置する
# cp legend mapserv mapserver-config msencrypt scalebar shp2img shp2mysql.pl shp2pdf shptree shptreetst shptreevis sortshp tile4ms /usr/local/bin

■mapservモジュール確認
# /usr/local/bin/mapserv -v
/usr/local/bin/mapserv: error while loading shared libraries: libproj.so.0: cannot open shared object file: No such file or directory
というエラーが出た場合は、Libraryを追加
# echo '/usr/local/lib' > /etc/ld.so.conf.d/mapserver.conf
# /sbin/ldconfig -v
再度、モジュール確認
# /usr/local/bin/mapserv -v
MapServer version 5.6.5 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=SVG SUPPORTS=PROJ SUPPORTSWFS_CLIENT SUPPORTS=WCS_SERVER SUPPORTS=SOS_SERVER SUPPORTS=THREADS SUPPORTS=GEOS INPUT=EPPL7 INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE
とりあえずOK

mapservを/cgi-binディレクトリにコピー
# cp ./mapserv /var/www/cgi-bin/


■ブラウザで確認
http://localhost/cgi-bin/mapserv
「No query information to decode. QUERY_STRING is set, but empty」のメッセージで動いている

*ローカルPCからゲストOSにhttpがとどかなかったら
# system-config-securitylevel-tui
でfirewallの設定を無効にすればよい


■PostGISのデータベースを作成
# -su postgres
$ createdb -EUTF-8 -Upostgres template_postgis
$ createlang plpgsql template_postgis
$ psql -Upostgres -f /usr/share/pgsql/contrib/postgis-1.5/postgis.sql template_postgis
$ psql -Upostgres -f /usr/share/pgsql/contrib/postgis-1.5/spatial_ref_sys.sql template_postgis
$ createdb -EUTF-8 -Upostgres -Ttemplate_postgis mapdb


■shapeファイルをテーブルにインポートする
# shp2pgsql -s 4612 -D -i -I -W cp932 N03-12_12_120401.shp gyousei > gyousei.sql
$ psql mapdb -f gyousei.sql

■PostgreSQLに外部から接続するための設定
/var/lib/pgsql/data/postgres.confを修正
listen_addresses = '*' # what IP address(es) to listen on;

/var/lib/pgsql/data/pg_hbs.confに接続可能なセグメントを追加
local all all trust
host all all 192.168.xxx.1/32 trust
host all all 192.168.yyy.1/32 trust


金環日食

2012年05月21日 22時13分11秒 | Weblog
世紀の天体ショーを見ることができたので、久しく放置していたブログも更新している
3年前の日食は厚い雨雲に遮られて全然見ることができなかったが、今年は良かった!
3月から買って用意していた日食グラスもフル活躍したし、金環日食の時間帯は雲が出てたけど、おかげで雲のフィルター越しに素晴らしいリングを見ることが出来た
あーよかった!
ちなみに今日は私の誕生日でもある
宇宙からの素晴らしいバースデープレゼントだ
幸せだなー
ありがとうっ!!

ペントミノ

2011年09月12日 23時41分10秒 | Android
アンドロイドマーケットに二つ目のアプリを公開した

https://market.android.com/details?id=com.marco.Pentomino

私は中学生の頃、このゲームで遊んでて完成するたびに広告のウラに記録してた想い出がある
たぶん15くらいは出来たと思う
やっぱり出来た成果をデータベースに記録できるようにしておきたいな

別のアプリでデータベースの練習してから組み込んでみようかな

今夜は15夜?




さめがめ

2011年08月29日 22時03分40秒 | Android
室伏選手、金メダルおめでとう!!

私は今日はお休みだったので、androidアプリ開発を行っていた
さめがめの基本部分はおとといの土曜日にほぼ出来たので今日は最終調整とテスト
そして思い切ってアンドロイドマーケットに公開してみることにした

公開手順もなかなかスムーズにいかなくてIEだとアップロード出来なくてcromeならうまくいったり、でも公開ボタンを押してもエラーが出たり
四苦八苦(笑)
ハンマー投げの室伏優勝が決まった頃にやっと公開できたのだけど、なんか表示されないんだなー・・・
まだ問題をかかえているのかもしれないけど、よくわからないので寝ることにした

さめがめのソースは前に作ったJavaアプレットがほぼ流用できたので開発は楽だった
この方式でいけば、オセロとか7ならべもすぐ作れそうだな(ニヤリ)
とりあえず今度はペントミノを作ってみたいと思う



フェルマーの誕生日

2011年08月17日 13時52分42秒 | Android
Googleのロゴを見て「フェルマーの最終定理」という本を数年前に読んだのを思い出した
サイモン・シンという人が書いたドキュメンタリー小説だったが数学がテーマの物語にしては読みやすく面白かった
もともとはイギリスのドキュメンタリー向けだったらしいのだが、その動画を掲載している人がいるので後で拝見してみよう
http://www.rerefa.com/archives/66722839.html

さて、Androidアプリ開発は、まず自作のアプリをひとつ作ることを達成した
以前perlで作った月齢計算のプログラムだ


画像の部分は割愛してソースを貼っておこう

package com.marco.MoonAge;

import java.util.Calendar;

import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.view.View;

public class MoonAgeActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new GraphicsView(this));
}

private class GraphicsView extends View{
public GraphicsView(Context context){
super(context);
}
@Override
protected void onDraw(Canvas canvas){
Paint paint = new Paint();
paint.setColor(Color.argb(0, 0, 0, 0));
canvas.drawLine(0, 0, 100, 50, paint);

//現在の日付を取得する
Calendar calendar = Calendar.getInstance();
int yy = calendar.get(Calendar.YEAR);
int mm = calendar.get(Calendar.MONTH) + 1;
int dd = calendar.get(Calendar.DAY_OF_MONTH);

//月齢を計算
int moonage = (int) Math.ceil(((((yy - 1740) * 210) / 19) - 2 + mm + dd)) % 30;

//結果を表示
String text = yy+"年"+mm+"月"+dd+"日の月齢は "+moonage+" です";
paint.setColor(Color.argb(255, 255, 255, 255));
canvas.drawText(text, 10, 10, paint);
}
}
}

次はさめがめに挑戦する予定

◇◇◇メモ◇◇◇
実機の画面をキャプチャする方法
1)\android-sdk-windows\tools\ddms.batを起動する
2)デバイスを選択してメニューバーから「Device」>「Screen Capture」をクリック


仙台七夕

2011年08月07日 22時41分17秒 | Weblog
仙台七夕だそうだ。
8月6日から8日までの3日間
しんどいことが多い年だけど、祭が盛況になって活気が出てくればいいな。

私は土日はボチボチとアンドロイド開発を試している。
昨日はサンプルソースを打ち込んで期待通りにエミュレータで動くことが確認できた。
今日は実機(Acer Iconia Tab A500)をPCにUSB接続して、実機でプログラムを動かすことができた。
実機のほうがエミュレータより断然早いしわかりやすい。
これでひとまず開発環境は整備された感じだ。
来週までに何か簡単なアプリを動かせるようにしたいな。

★★★
USB接続のメモ
1)A500の設定画面で「アプリケーション」>「開発」で「USBデバッグ」にチェックを入れる
2)A500とPCをUSBケーブルで接続すると「MTP」デバイスを認識しないエラーが出たが、AcerのサイトからA500のUSBドライバをダウンロードして「SETUP.EXE」を実行した後に接続したら認識した
3)eclipseで実行したいプロジェクトを選択して「Run As」から「Android Application」をクリックすると2,3秒でA500の画面に表示される


信号旗

2011年07月31日 21時02分37秒 | JSP(Java)
「コクリコ坂から」を観に行って、海ちゃんが揚げている船の信号旗っていうものにちょっと興味を引かれた。
WEBを回ってみると写真もいくつかあったので、ちょっと載せてみた。
今度横浜に行く時は船の信号旗も見てみようと思ってる。

あ、あと、鎌倉に行ったら豆やさんに行こうと思ってます。


7月の初めに「アンドロイド開発をやろう」と開発環境を作ったのに、その後エミュレータの画面がちゃんと表示されないのでそのまま停滞してたのだが、月が変わる直前に表示に成功した。
ゆうべ最新のAndroid-sdk-windowsを入れ直してみたら、エミュレータを起動して待つこと5分でアンドロイド端末の画面が表示された

ブラウザ起動するとちゃんとGoogleが表示されるし電卓も使える

ではさて、Javaをコーディングしてみようかな?と新しいプロジェクトを作ったところでエミュレータを起動したら、なんかとりあえず表示できたっぽい。


これが最初の一歩ってことで♪

エミュレータの画面は「Android2.2」で試してみた。
ちょっとだけ進んで良かった良かった。