実名と匿名について思うこと

最近は、ソーシャルネットワークという映画の影響もあり、
FaceBook の話題が増えてきました
その中で、実名で行うため、信頼性が高いという話をよく聞きます
ただ、個人的にはこの実名がほんとうに信頼できるかは微妙ですが
基本的にほとんどの人は会社や学校で実名で過ごしますが
果たしてそこまで信頼できるかといえば
私はNOです
それはさておき、信頼性がないといわれる匿名ですが
実はこの匿名にもメリットがあると思います
1つは、いままでのレッテルが存在しないということです
匿名なので、本人かどうかわからないので
実はこういうことができるということをベースに
ネットで稼ぐということもできますし、いままでのレッテルがないため
発言する時にも、よくも悪くもゼロからの信頼性のスタートになります
もっとも発言を重ねていけば
それが信頼性を生みますので、いつまでもニュートラルではありません
質問をするときにも、これが反映されます
質問をするときに、そんなことも知らないの?ということを
言われることもあまりありませんし
質問力をつけていけば、適切に回答してくれる人もたくさんいます
他業種への転職や。新しく独立するときの相談なども
匿名であるがゆえに、トラブルを招かずに進めることもできると思います
結局は匿名、実名に限らず、本人の行動次第で信用は
積み重ねられると思います

ネットでものを売る経験を得るということ

Android アプリの開発を進めたりするのには
どうしても勉強したりするので、資金がかかってきます
そこで、ネットで収入を得てみようと考えています
とはいっても、怪しいものではなく、
オークションや、中古の売買を行ってみようと思います
ほとんどの場合、古本や使わなくなったものは
中古ショップにもっていきます
最近では、買い取りにくるというケースもありますが
ほとんど、業者の言い値となり、だめならそのまま残る
というケースです
しかし、ネットオークションや
Amazon のマーケットプレイスを使えば
自分で価格設定できるのではないのでしょうか?
ということで、まずは情報収集です
オークションといえば、ヤフオクが有名です
やり方などが詳細として載っているサイトとして
初心者のためのYahooオークション講座
を参考にして、勉強してみようと思います
また、Amazon のマーケットプレイスは
いままで中古品で買えるということで使っていましたが
これからは
販売することも考えて見ようとおもいます
ラノベなどは、中古本でもっていくと、ほとんど10円単位になってしまうので
Amazon などで販売したほうがよいのではないでしょうか
こちらについては
Amazonマーケットプレイスで儲けよう!
を参考にしていこうと思います

アプリケーションをAndroidマーケットに登録

3月になり、いつもなら、日本企業の資金還流によって
円高になるので、この機会にAndroid マーケットへの登録をして
おこうと思います
Android マーケットに登録するには
Googleアカウント
クレジットカード
そして開発者登録費用の
25ドルになります
クレジットカードの決済には最終日の為替レートで
計算されやすいので、この円高の機会に行って
おこうと思います
ちなみに、この登録は、無料アプリで
有料アプリを公開するには、また別の方法が必要のようです
アプリケーションをAndroidマーケットに登録する

書籍、Google Android アプリ開発ガイド 第2番
を参考にすすめていきます
まず。Google アカウントですが、
Androidマーケットなどに情報として公開されること
そして
もし、DevPhone を購入するときのパケットの問題を回避するために
新規にアカウントを作成したほうがよさろうです
私は、新規にアカウントを作成しました
新しくアカウントを取得したら、
http://market.android.com/publish
へアクセスし、登録を開始します
書籍情報だと古い可能性が高いので
念のため 検索し
Android Market に開発者登録してみた [日記]
も参考にしました
開発者の登録画面は、現在では日本語化されているようです
デベロッパー名には、開発者名
つまり、自分のハンドルネームでよいとおもいます
メールアドレスは、Google のアカウント
というか g-mail のアドレスがデフォルトで入っているので
そのままです
ウェブサイトは、自分のブログとかでもいいと思うのですが
(というより、私はこのブログしかありませんので)
空欄でも問題はないです
まぁ問題がでてきたら、のちのち修正しようかなと思っています
また、電話番号を登録する必要がありますが
これは国際電話の番号になります
Android Market に開発者登録してみた [日記]

Google Android アプリ開発ガイド 第2番
によれば、
先頭に「81」をつけ、市外局番の先頭の0を取り除いた番号
とのことですが
そもそも固定電話など使わないし、携帯しか使っていないので
ここは
携帯の番号に +81
をつけてみました
この電話番号は非公開扱いで
何かトラブルとかがあった場合に Google から連絡をするためのもの
とのことです
規約は変わりますので、今後もこのままとは限りませんが
とりあえずは、携帯にしておきました
続いて、チェックアウトの画面にいきますが
このときに、念のために、Android マーケットデベロッパー販売/配布契約
のところをクリックし
画面の規約書を名前をつけて保存しておきます
(なにかあったときに、契約書は証拠にもなります)
まぁAndroid の普及具合からして問題はないとおもいますが
ただ、カード番号登録の画面で、国際電話ではなく
日本の携帯電話で普通に登録をしてしまいました
まぁ問題があれば、そのうちメールが届くでしょう
ここまでで、アプリのアップロードはできるようですが
まだ登録が完了していないようです
土日なので、もしかしたら休みなのかもしれません

拡張正規表現と egrep その3

今回は、複数の正規表現を組み合わせてみました
1:山田太郎:男:43:東京
2:井上直子:女:19:埼玉
3:山本真一:男:43:福岡
4:千葉信夫:男:16:東京
5:秋山敬一郎:男:44:秋田
100:藤本信:男:40:東京
101:藤本信:男:40:東京
102:加藤純子:女:35:千葉
103:福岡勲:男:41:香川
104:桂井昭宏:男:53:福岡
という内容の costomer.txt というファイルを使い
最初の会員番号を示すフィールドから
指定した会員番号のところを表示するようにします
egrep “^(1|5|103):” costomer.txt
とします
 
結果は
1:山田太郎:男:43:東京
5:秋山敬一郎:男:44:秋田
103:福岡勲:男:41:香川
となります
“^(1|5|103):”
というように、^ の後を囲うことで、行頭の数字になるように
設定しています
もし、”^1|5|103 とすると
最初は目論見どおりですが
後の5 103 は行頭の指定が反映されません
このため、任意のところにしたいときには()での指定が
必要になります
また、egrep のオプションで -o をつけると
マッチする部分のみ表示することも可能です
egrep -o “^(1|5|103):” costomer.txt
とすると
1:
5:
103:
となります
これは、スクリプトなどで修正したときに確認するのに使えそうです
また、このマッチする部分というところを利用して
範囲指定もできます
egrep -o “[0-9].*[0-9]” costomer.txt
とすれば、数字に囲まれている間だけを表示できます
1:山田太郎:男:43
2:井上直子:女:19
3:山本真一:男:43
4:千葉信夫:男:16
5:秋山敬一郎:男:44
100:藤本信:男:40
101:藤本信:男:40
102:加藤純子:女:35
103:福岡勲:男:41
104:桂井昭宏:男:53
応用すれば、単語で範囲指定とかもできそうです

拡張正規表現と egrep その2

引き続き、拡張正規表現 egrep についてです
今回は、会員番号で検索するというのをやってみます
使用するファイルは
costomer.txt
です
内容は
1:山田太郎:男:43:東京
2:井上直子:女:19:埼玉
3:山本真一:男:43:福岡
4:千葉信夫:男:16:東京
5:秋山敬一郎:男:44:秋田
101:藤本信:男:40:東京
102:加藤純子:女:35:千葉
103:福岡勲:男:41:香川
104:桂井昭宏:男:53:福岡
となっています
それでは、会員番号3桁のところだけを調べます
egrep “^[0-9]{3}:” costomer.txt
これで
101:藤本信:男:40:東京
102:加藤純子:女:35:千葉
103:福岡勲:男:41:香川
104:桂井昭宏:男:53:福岡
となります
まず、最初の^で行頭を意味し
次の [0-9] で 0~9まで
そして {3} で3回繰り返す
つまり、100~999までになります
また、ゾロ目の数値だけを取り出すこともできます
今回は
年齢のフィールドを対象にして年齢がゾロ目の人を表示します
ゾロ目を表示するには、
文字列を()で囲ってグループ化し
さらに
\1 を使って後方参照します
後方参照は \1 を使ってのグループ呼び出しです
egrep “:([0-9])\1” costomer.txt
を実行すると
5:秋山敬一郎:男:44:秋田
となります
この
([0-9])\1
の部分がゾロ目を意味しています

拡張正規表現と egrep

拡張正規表現は、標準の正規表現にメタキャラを追加し
より柔軟なパターンを追加したものです
以下は、egrep だけで使える正規表現の一例です
?
直前の正規表現の0回もしくは1回の繰り返し
+
直前の正規表現の化言い条の繰り返し
{n}
直前の正規表現のn回の繰り返し
{n,}
直前の正規表現のn回以上の繰り返し
{n,m}
直前の正規表現のn回~m回の繰り返し
正規表現1|正規表現2
いずれかのパターンにマッチ
(正規表現)
正規表現のグループ化
\n
グループ化された n番めの正規表現に
マッチした文字列を呼び出す
というようになります
日経 Linux 2011-03
に例題が載っていますので、明日以降
また例題をみながらやっていきます

正規表現で grep 検索を便利に その5

引き続き、正規表現です
正規表現にはメタキャラがあります
主なものとして
^
行の始まり

行末
.
任意の1文字
*
直前の正規表現
もしくは
0回以上の繰り返し
[文字列]
いずれかの文字
例:[abc]
ならa か b か c になる
[^文字列]
この文字列以外の文字
例:[^abc]
ならabc を含まない行をしめす
\b
単語の区切り
\< 単語のはじまり \>
単語の終わり
\w
すべての英数字
[[:alnum:]]
と同じ意味になる
\W
すべての英数字以外
[^[:alnum:]]
と同じ意味
というようになります
一番使えそうなのが、みたところ単語なのですが
この単語とは
スペースや Tab , ; などで区切られた文字列なので
なれないと使い勝手はよくありません
試しに、FTPサーバー構築のために、ファイルを grep で調べてみたのですが
grep “\” /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
local_enable=YES
write_enable=YES
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
xferlog_std_format=YES
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
#deny_email_enable=YES
# directory. If chroot_local_user is YES, then this list becomes a list of
#chroot_local_user=YES
#chroot_list_enable=YES
#ls_recurse_enable=YES
listen=YES
#listen_ipv6=YES
userlist_enable=YES
tcp_wrappers=YES
としてYESを含む単語はでますが
ascii の単語を含む行をだそうとしてもでませんでした
また、単語で調べるときには、日本語だとうまく動作しないようです

正規表現で grep 検索を便利に その4

今回は、メタキャラをつかってみようと思います
とくに一番使う * を使ってみます
* は端末で一番使うことが多いと思います
例えば grep *.txt
として .txt の拡張子のものを調べたりといろいろ活用できます
ただし、正規表現になると意味が変わっていますので要注意です
^が行頭だったのに、正規表現にしたら 否定になっているように
*も、~を含むすべて、というような意味合いから
正規表現では
直前の文字、もしくは0回以上のパターンの繰り返し
という意味になっています
0回もカウントしてしまうので、空文字も含みます
まずは、わかりやすく、サンプルを用意しましょう
vi sample.txt
でファイルを作成し
内容を
aa lx
laaaax
lbx 13
11 lax
345
4444456
laas
lbbx
という内容にします
この中から、l で始まりaの繰り返しが何個からあり
最後はx で終わるものを検索するには
grep “laa*x” sample.txt
とします
結果は
laaaax
11 lax
となります
間違えて
grep “la*x” sample.txt
とすると、空白入りの行がでてきます
この応用で、数字だけの行をだせます
grep “^[0-9][0-9]*$” sample.txt
これで
345
4444456
となります
. と * を組み合わせて任意の文字列とマッチさせるというのが
よく使われるそうです
ただし、1個以上の任意の文字列にするなら
.*
ではなく
..*
としますのでご注意

正規表現で grep 検索を便利に その3

サーバー設定に便利になりそうだったので、
正規表現をあれこれやっていますが
文字クラスの範囲指定が思いつかないので
日経Linux 2011-03 の記事を参考にします
そして、今回はサンプルファイルとして、costomer.txt
というファイルを使います
内容は
1:山田太郎:男:43:東京
2:井上直子:女:19:埼玉
3:山本真一:男:43:福岡
4:千葉信夫:男:16:東京
5:秋山敬一郎:男:44:秋田
101:藤本信:男:40:東京
102:加藤純子:女:35:千葉
103:福岡勲:男:41:香川
104:桂井昭宏:男:53:福岡
というものです
ここから、東京に住んでいる人だけを調べます
grep “:[東].$” costomer.txt
これを実行すると
1:山田太郎:男:43:東京
4:千葉信夫:男:16:東京
101:藤本信:男:40:東京
となります
$ は行末、そして . は任意の文字数になります
今回は :[東].$ なので、
意味は行末より2つ左の文字で、東を含むものを検索するという意味になります
また、通常は ^ は行頭を意味しますが
[] の中に記述すると、~でないという意味になります
例えば
grep “:[^東].$” costomer.txt
とすると、
2:井上直子:女:19:埼玉
3:山本真一:男:43:福岡
5:秋山敬一郎:男:44:秋田
102:加藤純子:女:35:千葉
103:福岡勲:男:41:香川
104:桂井昭宏:男:53:福岡
というように、東京に住んでいない人がでます
また、年齢で検索するという場合には
grep “:[3][0-9]:” costomer.txt
とすることで、30代の人を割り出すこともできます
最初の [3] で3を含む
そして
[0-9] で0~9までの数値、つまりこれで30代になります
もちろん複数指定も可能です
grep “:[13][0-9]:” costomer.txt
とすれば、10代と30代がでてきます
2:井上直子:女:19:埼玉
4:千葉信夫:男:16:東京
102:加藤純子:女:35:千葉
あまり使い道はないように見えますが
テキストエディタで、メモしたときには検索するときに役立つと思います
例えば、お小遣いの記録とかには使えそうです
ちなみに、指定する時には名前付文字クラスで代用できます
主なものとして
[:alnum:]
すべてのアルファベット、10進数を示す
つまり
0-9A-Za-z を指定したのと同じ意味
[:alpha:]
すべてのアルファベット
つまり
A-Za-z と同じ
[:blank:]
空白文字
これは
スペースやタブなど
[:digit:]
10進数の文字
0-9 と同じ
[:lower:]
アルファベットの小文字
a-z と同じ
[:upper:]
アルファベットの大文字
A-Z と同じ
[:space:]
空白文字
こちらは、スペース、タブ、そして改行
[:xdigit:]
16進数につかう文字
0-9A-Fa-f と同じ
ちなみに、使うときには
[] で囲って
[[digit:]] というように使います
今回のように10~30代を調べるには
grep “:[13][[:digit:]]:” costomer.txt
とします
もちろん意味は変わらないので
2:井上直子:女:19:埼玉
4:千葉信夫:男:16:東京
102:加藤純子:女:35:千葉
と表示されます

正規表現で grep 検索を便利に その2

引き続き、正規表現をつかった grep の操作です
今回は、行頭をしめす ^
そして行末を示す $
これらを使った便利な検索を行っていこうと思います
まずは ^ からです
設定ファイルに追記し、記述があっているかわからない
もしくはエラーメッセージで何行目にエラー
となったときに、ファイルを開かずとも
該当するところを grep で表示できます
例えば
SetEnvIf Request_URI default.ida no_log
SetEnvIf Request_URI cmd.exe no_log
SetEnvIf Request_URI root.exe no_log
SetEnvIf Request_URI Admin.dll no_log
SetEnvIf Request_URI NULL.IDA no_log
を追記し、その確認をしたいのなら
行頭が SetEnv で始まっているので、今回の ^を使います
$ grep -n “^SetE” /etc/httpd/conf/httpd.conf
511:SetEnvIf Request_URI default.ida no_log
512:SetEnvIf Request_URI cmd.exe no_log
513:SetEnvIf Request_URI root.exe no_log
514:SetEnvIf Request_URI Admin.dll no_log
515:SetEnvIf Request_URI NULL.IDA no_log
これで行番号もでますので、ミスがあれば
sed コマンドで置き換えすれば修正できます
また、行末の単語で検索すれば、かなり便利に検索できます
例えば
Webサーバー構築(Apache)
にあるように、最後の文字が80ならば
$ grep -n “80$” /etc/httpd/conf/httpd.conf
133:#Listen 12.34.56.78:80
134:Listen 80
262:ServerName www.example.com:80
980:#NameVirtualHost *:80
というように、 vi でテキストを開いて / で単語をいれて検索するよりも
より効率的に調べることができます