2013-03-02

ABAP: Loop AT 〜 [INTO | ASSIGN]

どもです。

久々のSAPネタ。
忘れないうちに書いときます。

Loop AT <内部テーブル> INTO <構造体>.

  AT NEW .

  ENDAT.

ENDLOOP.

とした場合、 に書けるのは、<構造体>内の項目になります。
しかも、この書き方の場合、 <構造体>がこんな
 ITEM001     TYPE    C LENGTH 10
 ITEM002     TYPE    C LENGTH 10
 ITEM003     TYPE    C LENGTH 10
内容だとして、ITEM001 だとすると、
AT NEW でブレイクすると AT NEW 〜 ENDAT 内で参照できるのは、ITEM001だけで
ITEM002以降については文字項目の場合 '*' が詰められて参照できません。

これが最初分からなくって、随分ハマりましたし、恐らくABAPでAT NEW とか「使いにくい」って感じてる人はこれが原因じゃないかと思います。

ところが。
LOOP AT 〜 にはもうひとつの記法が有るのはご存知だと思います。
そう!

LOOP AT <内部テーブル> ASSIGN <フィールドシンボル>.

この書き方の場合、先程のAT NEW の書き方がチョット違ってきます。

LOOP AT <内部テーブル> ASSIGN <フィールドシンボル>.

  AT NEW <フィールドシンボル>.

  ENDAT.

ENDLOOP.

INTO では、AT NEW に書けるのは<構造体>内の1項目でしたが、
ASSIGN の場合は、<フィールドシンボル> そのものを書きます。

じゃあこれでどうなるかって言うと、<フィールドシンボル> の参照元の内部テーブルの構造全体がキーとして認識されます。

「…え?じゃあ…どうなるの?」

極端なことをいえば、<内部テーブル>内の全レコードがAT NEWの対象になります。
つまり、”必ずAT NEW”を通ります。
それじゃあ、NEWの意味が無いんですが、重要な点が2つ。
  1. INTOの場合、指定した項目(先の例で言えばITEM001)以降の項目の参照ができませんでしたが、ASSIGNの場合、全ての項目の参照が出来ます。
  2. 任意の複数項目を一つのキーとして使用することができる。
と言う事になります。

例えば、こんなの。

TYPES:
  BEGIN OF TYP001,                    " 内部テーブル構造体1
    ITEM001     TYPE C LENGTH 10,
    ITEM002     TYPE C LENGTH 10,
    ITEM003     TYPE C LENGTH 10,
    ITEM004     TYPE C LENGTH 10,
  END OF TYP001.

TYPES:
  BEGIN OF TYP00A,                    " ブレイクキー構造体
    ITEM001     TYPE C LENGTH 10,
    ITEM002     TYPE C LENGTH 10,
  END OF TYP00A.

TYPES:
  BEGIN OF TYP002,                    " 内部テーブル構造体2
    ITEM00A     TYPE TYP00A,          " ブレイクキー項目
    ITEM003     TYPE C LENGTH 10,
    ITEM004     TYPE C LENGTH 10,
  END OF TYP002.

DATA:
  TB001      TYPE STANDARD TABLE  TYP001,  " 内部テーブル1
  TB002      TYPE STANDARD TABLE  TYP002,  " 内部テーブル2(キー構造有り)
  KEY        TYPE TYP00A.             " キー退避項目
 
FIELD-SYMBOLS:
         TYPE TYP002.             " フィールドシンボル

* 既に TB001 にはデータが入っていてSORTまでされているとします
* ブレイクキー項目の有る内部テーブルにコピー
  TB002[]  =  TB001[].

LOOP AT TB002 ASSIGN .

  AT NEW  .
    IF -ITEM00A <> KEY.
*** ここにブレイク時の処理を記述(今回はWRITEします)
      WRITE: /1(10)   -ITEM00A-ITEM001,
              13(10)  -ITEM00A-ITEM002.

      KEY = -ITEM00A. " KEY項目の更新(これをしないとブレイクしない)
    ELSE.
      NEW-LINE.       " ブレイクしない場合、ただ改行だけ
    ENDIF.
  ENDAT.

  WRITE: 26(10)  -ITEM003, " 非キー項目はそのままWRITE
         39(10)  -ITEM004.

ENDLOOP.

これを実行するとこんな感じに出力される(はず)。

aaaaa   aaaaa  xxxxx yyyyy
               xxxxx yyy00
               xxxxx yyy01
aaaaa   bbbbb  xxxxx yyyyy
               x00xx yyyyy
abbbb   bbbbb  xxxxx yyyyy

キー部分がブレイクした時だけ出力されて、非キー項目はレコード毎に出力されます。

ちょっと面倒な感じもあるし、比較項目を2つ用意してLOOPさせながらIFで比較するって言う旧来のやり方と殆ど変わらない気もするんですが、 フィールドシンボルの場合AT NEW 内で
「全項目へのアクセスができる」
って所が個人的には
すげーーーーー!Σ(・ω・;|||
って単純に思っちゃたんです。(^^;

まあ、覚えておいて…どっかで使うこと…あるかな????


では〜。

2013-02-02

Webコンテンツのフィルタリングについて。(その2)

どもです。

前回(Webコンテンツのフィルタリングについて。(その1))について書かせてもらいましたが、
  • マシンパワーを喰わない
と言う利点が有るものの、
  • フィルタリング対象のサイトの追加ができない。
と言う欠点もあります。
やはり、OpenDNS自体アメリカのものなので海外のサイトに対しては十分でも、国内サイトについてどこまでが対象とiなっているのかが分かっていません。てか、調べてません。ゴメンナサイ。

で、この「Blacklistをこっちでメンテしたい」って言う観点で調べたところ、"squidGuard"が出てきました。
以下は、そのインストール周りについてです。

参考にしたのは次のsite。
大体、こんなトコですかね。他にもアリますがそれは各自で…テヘ。
 
さて始めましょう。

0.前準備

とりあえず、環境の確認等々。

 こんな感じで構築していきたいと思います。

 既にhavpは動いているので、その次段にsquidを置きたいと思います。

1.squidのInstall

まずは、squidのinstallを行います。(既に稼働中のならここは要りません)
apt-get install squid3

2./etc/squid/squid.confの修正

修正箇所としては基本次の箇所

cache_peer 127.0.0.1 parent 8080 0 no-query no-digest no-netdb-exchange default

url_rewrite_program /usr/bin/squidGuard -c /etc/squidguard/squidGuard.conf
最初のヤツは、suquidのcache proxyとしての設定。
2つ目のヤツがsquidGuardとの連携に必要な記述。
 
このsquid.confには大量のコメント&設定記述がありますが、殆ど触っていません。基本Local(と言うかPC本体だけ)でしか使わないからIP アドレスの制限とかも必要ないと思ってます。


3.havpの設定(/etc/havp/havp.confの修正)

AntiVirus Proxyのhavpもうちでは既に稼働中なので、こちらとの連携の設定を行います。

って言いたいトコなんですが、実は修正箇所って無いんですね。これが、squid - havp の形になるとすると/etc/hapv/hapv.confの次の箇所
# PARENTPROXY localhost
# PARENTPORT 3128
を環境に合わせて修正が必要になります。

4. squidGuardのInstall

次にquidGuardをInstallします。

apt-get install squidguard
で、/etc/squidguard/squidGuard.conf の修正。なんですが取り敢えず以下の部分だけ修正します。
dbhome /usr/local/squidGuard/db
これでどのディレクトリにフィルタリング用DBが有るのかを指定します。
それ以外の所謂Policy については次の5.blacklist のDownload の後に行います。


5. blacklist のDownload

squidGuardのofficial page(http://www.squidguard.org) の"Blacklists"にある配布siteからBlackListをDownloadします。

今回は、Shalla's Blacklists(http://www.shallalist.de/) を使います。

調べてみると、ここのblacklistには日本のsiteも登録されている様です。


a.web page右側の"Download"から"shallalist.tar.gz" をdownloadします。
b.squidGuard.conf の "dbhome" に書いたPath(今回の場合、/usr/local/squidGuard/db)にdownloadしたファイルを展開します。

sudo tar -xvzf shallalist.tar.gz

6./etc/squidguard/squidGuard.conf の修正。 

ここで、squidGuard.confの修正を行います。先にもチラと書きましたがPolicyなので
  • 何をBlockする。
  • 何をBlockしない。
と言う観点で記述します。
取り敢えず、自分の場合は以下の通り。

#
# CONFIG FILE FOR SQUIDGUARD
#
# Caution: do NOT use comments inside { }
#

dbhome /usr/local/squidGuard/db
logdir /var/log/squidguard

#
# DESTINATION CLASSES:
#

dest porn {
        domainlist     BL/porn/domains
        urllist     BL/porn/urls
}

dest adult {
        domainlist     BL/dating/domains
        urllist     BL/dating/urls
}

dest drugs {
        domainlist     BL/drugs/domains
        urllist     BL/drugs/urls
}

dest gambling {
        domainlist     BL/gamble/domains
        urllist     BL/gamble/urls
}

dest sexeducation {
        domainlist     BL/sex/education/domains
        urllist     BL/sex/education/urls
}

dest sexlingerie {
        domainlist     BL/sex/lingerie/domains
        urllist     BL/sex/lingerie/urls
}

dest weapons {
        domainlist     BL/weapons/domains
        urllist     BL/weapons/urls
}

dest alcohol {
        domainlist     BL/alcohol/domains
        urllist     BL/alcohol/urls
}

dest education {
         domainlist      BL/education/schools/domains
         urllist         BL/education/schools/urls
}

dest white-add {
         domainlist      usr/whitelist/domains
         urllist         usr/whitelist/urls
}

dest black-add {
         domainlist      usr/blacklist/domains
         urllist         usr/blacklist/urls
}


#
# ACL RULES:
#
acl {
    default {
                pass white-add education !black-add !porn !adult !drugs !gambling !sexeducation !sexlingerie !weapons !alcohol all
                redirect http://localhost/block.html
    }
}

記述内容としては、
dest <カテゴリ> {
        domainlist    
        urllist             

        expressionlist   
}
な感じですかね。

  • 元々Downloadして来たBlackListがカテゴリ分けされているので、それに合わせるのが吉かと思います。各々のlistは$dbhomeからの相対Pathで記述して有ります。
  • white-add,black-addは、こちらで独自にBlockしたいsiteのlistになります。
  • acl 〜 でそれぞれのカテゴリをどうするかを記述します。
  • "pass" にdest〜で記述したカテゴリを列挙します。この時カテゴリ名の前に"!" がついているものは"否定"つまりBlock対象となります。
  • "redirect" でBlock対象となったカテゴリのdomainlist,urllist,expressionlistのいずれかにHitした場合、redirectされる先になります。ここに気の利いたPageを置くといいのかも知れません。

さて、ひとつ注意。このsquidguard.confの"{} "で囲まれたパラメータ部分にコメントを示す"#"を書かないように。どうもsquidguardは解釈できない様でDB構築時にエラーとなります。
てか、止まっちゃうんですね。これが。

7.DB構築

a.次のcommandを実行。 < 暫らく時間がかかる。
sudo squidGuard -C all
これで、squidGuard.conf に記述した内容に従って必要なdomains/urlsのdbを構築します。

プロンプトが返って来たら、Logを確認

sudo gnome-system-log &
この中で、
2013-02-02 01:29:02 [31053] INFO: squidGuard 1.5 started (1359736127.062)
2013-02-02 01:29:02 [31053] INFO: db update done
となっていれば、OK。
もし、先のsquidGuardのコマンドでしばらく待っても何も返って来て無くて、Logに
ERROR: Going into emergency mode
と有ったら、何らかのエラーが有ることになります。
例えば、
squidGuard: FATAL: ACL destination mixed_adult is not defined in configfile /etc/squidguard/squidGuard.conf
と有った場合、 squidGuard.confの記述(この場合、ACL に記述されている"mixed_adult"が"dest"に存在していない。)を確認する必要が有ります。

b.構築したDBのpermissionを変更。
chown -R proxy:proxy /usr/local/squidGuard/db/* 
user:groupは任意ですがここは"proxy:proxy" にしてます。


8.squid,havpの再起動

sudo /etc/init.d/squid3 restart
sudo /etc/init.d/havp restart

9.Ubuntu側のProxyの設定

さて、ここまで出来れば後は、ネットワーク周りの設定。
”システム設定”


”ネットワーク”

”ネットワークプロキシ”

自分の場合、

 メソッド:手動
 HTTP プロキシ:localhost 3128
 以下同じ

と言う設定。
設定後、”システム全体に適用する” をClick

8. Firefox側のProxy設定

次に、ブラウザ(Firefox)側の設定
”設定”

”詳細”

”ネットワーク” タブ > ”接続設定”

 ”システムのプロキシ設定を利用する” を選択

これで、OK。

10.確認

意図したように出来たかどうかを確認。

ブラウザのアドレスバーに以下のように入力。
http://www.smith-wesson.com/
 (ご存知、銃器メーカーのS&Wのサイトです。)
で、画面がこうなればOK。



ふぅ。取り敢えずご苦労様。

もうひと踏ん張り。

11.DBのメンテナンス

こういう環境って、構築して終わりじゃなくってメンテしなきゃなんもならんわけです。

という訳でDBのメンテナンスなんですが、BlacklistをdownloadしたShalla Secure Servicesのsiteにupdate用のshell scriptがいくつか用意されているのでこれを使います。
(実は、このsiteを選んだのもこれが理由の一つだったり)

a.Shalla Secure ServicesのShalla's Blacklists (http://www.shallalist.de/)の右側の"Contributions"の"Download Helpers"をClick。

今回は、"shalla_update.v2.sh"を使うのでこれをDownload。

数カ所変更点が有るので変更します。
squidGuardpath="/usr/bin/squidGuard"
squidpath="/usr/sbin/squid3"

dbhome="/usr/local/squidGuard/db"     # like in squidGuard.conf
squidGuardowner="proxy:proxy"
workdir="/usr/local/squidGuard/tmp"
httpget="/usr/bin/wget"
shallalist="http://squidguard.shalla.de/Downloads/shallalist.tar.gz"
$httpget $shallalist -o shalla-wget.log -O $workdir/shallalist.tar.gz || { echo "Unable to download shallalist.tar.gz." && exit 1 ; }
CATEGORIES="alcohol dating drugs education/schools gamble porn sex/education sex/lingerie weapons"

基本的にversionが上がっていたり、ubuntuの場合なのかsquidGuardのPathが違っていたりの修正です。
workdirも自分の場合dbhomeに合わせましたが、どこか別のpathでも構いません。
あと、CATEGORIESですが使っているものだけを設定した方が時間節約になると思います。

httpget,shallalistについては、定義されてなかったので追加しました。

b.scriptのコピー
a.で修正したscriptを"/etc/cron.daily"にコピーします。
コピーした後、実行権限を付与します。
sudo chmod ug+x /etc/cron.daily/shalla_update.v2.sh
一応、これで日次(でやるべきかと言う疑問はあるけど)でDB更新を行います。

これでホントに終わり。

12.最後に

実は説明してなかった"usr/whitelist/domains", "usr/blacklist/domains"ですが、ここにはdownloadして来たDBとは別に「個人的にblockしたい/したくない」ドメイン等を設定します。
ShallaのBlacklistには見た感じ"jp"なドメインも登録されているようですが内容的にブロックしたいSiteが有った場合"usr/blacklist/domains"に記述することで対応できると考えてこのようにしました。

実際、日本独自にBlacklistを提供してくれてるところは無いようで、チョット残念。
今回のShallaについて言えば
Shalla's Blacklists are free of charge for personal and partly for commercial usage. Anyway, commercial usage requires signing a usage contract. See our licence for details. Please contact info (at) shalla.de for information about gaining this contract.
て書かれていて、「個人利用についてはfreeだけど商用利用するにはlicence結んでね」という事になっています。

国内のこういったコンテンツフィルタリングのソフト等も有りますが殆どが企業向けだったりして個人で利用するには高価すぎるものばかりです。
せめてBlacklistだけでもShallaの様に「個人利用はfree」で使わせてくれればと思ったりします。

さてさて、取り敢えずはこれでホントのホントに終わり。


では〜。

2013-01-24

金魚の水槽

どもです。

本来なら、Webコンテンツのフィルタリングについてお届けする予定でしたが…まだできてません。^^;

なので、今回は小ネタを。


ウチには今、金魚が居ます。一昨年の夏に縁日で貰ってきた奴が一匹。その後ペットショップで買ってきた一匹。そして、昨年の秋に大学の学祭でやってた金魚すくいで貰ってきた三匹。の計五匹。
元々は20cm程のサイズの虫カゴ兼用の水槽で飼っていたのですが、流石に最初の一匹が大きくなって(今は5〜6cm程)なので現在は30cmサイズの水槽で飼っています。

で、金魚なり熱帯魚を飼ったりする際に、水の浄化と空気の供給の目的でフィルター等を使うと思うんですが、これも調べると色々あって選ぶのに苦労するんですが、うちの場合「なるべく手間と金を掛けない」とう言う方針で、所謂投げ込み式のフィルターを使ってました。

それがコイツ。
 
GEXの「ロカボーイ コンパクト」



色々見た中で、一番小さかったのでコイツを選びました。Amazonのレビューとか見ると、「濾過機能はおまけ」みたいに書かれてますが、それでも随分助かりました。

でも、使っていると気になるのがフィルターの目詰まり。
どうにかして、フィルターを長持ちさせられないのか < そこか!

で、金魚が五匹になった時点で30cmの水槽にしたんですが、その際に底砂利も一緒に購入して入れてみたんですね。最初は装飾のつもりだったんですが、ふとこのロカボーイを底砂利に埋めてみたんです。
うん。正解!底砂利がフィルター代わりになってロカボーイのフィルターの汚れ方がゆっくりに成って来た。よしよし。


んでも、待てよ。
そう言えば、水槽の底にスノコ状のものを置いて使うようなフィルターがあったはず…。

で、調べてみるとそれは「ボトムフィルター」とか呼ばれてるものでした。
原理は、
  1. 水槽底面にスノコをひいて、
  2. その上に砂利をひいて
  3. 水槽底面から上に向けてエアーポンプで空気を供給
  4. と同時に下から上への水流ができる。
  5. 結果、底砂利で濾過された水が循環する。
と言う形。

絵にするとこんな感じ。へへ。
ボトムフィルター自体中空になっているので、人によってはここに活性炭のフィルターを入れたりしてるみたいです。

で、購入したのがこれ。
コトブキ工芸の「BOTTOM IN FILTER」
って、そのまんまやん!

ロカボーイのGEX製も有ったんですが、こっちのほうがセットアップが楽かと思ったのが選択のPOINT。

で、既にコイツで稼働してるんですが、なかなかどうして十分すぎる。
 このボトムフィルターの一番の利点は、ろ過材を使っていないこと。底砂利がろ過材になっているのでどっかのタイミングで底砂利の洗浄でOK。

で、逆に言えば底砂利の洗浄が大げさになるのでそこがデメリットでも有るのかと思っています。

その内、
  • 底砂利に備長炭砕いたのを混ぜてやろうかとも思ったり。
  • ボトムフィルター内に活性炭のパックを入れてやろうかと思ったり。
してます。
そん時はまた、レポートしますねぇ。

てな訳で、またーーー。

では〜。

2013-01-07

Webコンテンツのフィルタリングについて。(その1)

どもです。
今回2回に分けてWebコンテンツのフィルタリングについて書いて行きたいと思います。

0.そもそもの話し。

ずっとPCについては、使うのが自分だけだったのでそれほど頓着はしていなかったのですが、現在中2の長男君が学校の授業の調べ物や、趣味の手品についてPCを使う機会が多くなって来ています。
で、親としては「大丈夫だろう」とは思いつつも”見せたくないWebコンテンツ”もあるので、前々からフィルタリングについては考えていました。
実際、自宅のNet環境については、プロバイダがCATVのJ:COMの環境(ZAQ)になっています。このプロバイダ自体実は「ペアレント・アイ」と言うサービスを提供してくれて居るのですが…残念!これ、Windows or Macのソフトなんですね。つまり、Linuxは対象外.。
まあ、これはしょうがない。Linux系なんて一般のPCでそんなに使われてるわけじゃないし…。

で、ここから本題。

2013-01-05

2013年ご挨拶

どもです。

2013年になりました。

旧年中は、色々とお世話になりました。こんなBlogでも読んでくださる方が居るとは…。

まあ、なんにしても今年もゆるゆると更新いたしますので、よろしくお願いいたします。

 

と、軽くご挨拶をば。

 

では〜。

2012-12-17

衆院選についての感想などなど

どもです。

2012/12/16の衆院選。

2012/12/17 02:11時点でのNHKでの報道では、
自民:293
民主:56
公明:30
維新:51
共産:8
みんな:18
社民:2

てな感じ。

まあ、テレビの報道で当選した自民の候補者が口々に言っていた
「自民に風が吹いたわけじゃなく、民主にとって大逆風だった」
ってのはその通りでしょうな。
だって、悪く言えば消去法で行ったら自民しか残ってない訳だし。

個人的には、今回の選挙が菅さんや鳩山さんが総理だった時じゃなくってよかったと思いますよ。
もし、その時だったら、もっと負けてたと思う。

維新は…基盤と各候補の知名度がイマイチだったのが災いしたかな〜。
あとは、まあ、マスコミのネガキャンかね。

テレビも新聞も日頃、竹島や尖閣諸島についてあれだけ報道しておきながら、国防軍の文字が出た途端、「戦争反対」に絡めての話し。

でも、それを言うなら代替発電について何のビジョンも無いままに「脱原発」「原発停止」を言うのもおかしいはずなのに、「それが争点」とばかりにその点でどうなのかを問うと言うのはそれこそおかしくは無いだろうか?

投票率は、日経によると59.21%前後らしい前回(2009年)が69.28%。
前回の民主党への期待感から大きかったんだろうけど、目に見える争点が無い上に、「…あーあ。結局、自民かぁ」みたいな半ば諦め感が作用したのかも知れない。
(雨降っていたら、もっと悪かったろうね。)

まあ、何がどうであっても、これで決まりました。

前回の選挙で、変わることを望んで投票した結果については、有権者として期待通りだったのか否かは個人個人で違うと思いますが、少なくとも、
「我々は選択した」
ということを覚えておかなければならないと思います。

でも、不満があればぶつけても良いと思いますよ。
その為の「私たちの代表」としての国会議員なんだから。



P.S.
同日行われた、東京都知事選挙。
おそらくは大方の予想通りの猪瀬直樹氏の圧勝(3,818,268票(得票率:67.6%))ってホントに圧勝すぎる。
副知事としての行動力と実績は都民皆んなが知る所。だから、個人的にも全然心配してませんでした。



てな訳で、衆院選についての感想などなどでした。

では〜。

2012-12-16

「アメリカに対する神の希望」 (1973/10/21 ワシントン)より

どもです。

今回はクリスマスも近いってことで、「アメリカに対する神の希望」(1973/10/21 ワシントン)からイエス・キリストに関する部分の抜粋をお送りいたします。


 マリヤは結婚する前にイエスをはらみました。ユダヤの法律では、そのような女は石打ちの刑によって死ぬ運命にありました。ヨセフはマリヤのことで憤りを感じ、彼女と離婚する適当な時をひそかに待っていたのでした。その時天使がヨセフに現れ、彼にこう言ったのです。「マリヤを妻としてめとりなさい。彼女を責めてはいけません。彼女は神の特別な使命をもっているからです。」もし、ヨセフが全き人でなかったらマリヤは必然的に石打ちによって死に追いやられていたでしょう。
 さて、皆さんはヨセフがこのことを両親に向かって、「お父さん、お母さん、私の妻となる人、私の婚約者は妊娠しました。しかし、天使がこれは神の意志によるものであると言いましたから、私は彼女を妻とし、彼女の面倒をみなければなりません。」などと相談できたと考えますか?ヨセフの両親は何と言ったでしょう?この中には年配の御夫婦がおられます。ヨセフの両親の立場になって考えてみてください。ヨセフがそのようなことを言っても信じようとはしないでしょう。ここでヨセフは孤独な決定をしなければならなかったのです。誰にも相談することなく、彼は婚約者をある秘密の場所に連れて行ったのです。
 私はヨセフがマリヤに対して大きな疑いを持つような極めて苦しい時を通過したということを確信しています。ヨセフは妻となるべき人にこう聞いたに違いありません。「マリヤ、私たちは心が通じ合っているのだからお互いに秘密は持っていないはずだ。何が本当にあったか私に話してくれるね。お前のおなかの子の本当の父親は誰なのか?」。どんな夫もこのことに関してはとても知りたがるものなのです。しかし、マリヤが夫に対して、「この子供の父親が誰であるのかは私は本当に知らないのです。私は神によって妊娠したからです」と彼女は真実を言ったのです。何人の人が彼女の言葉を信ずることができるでしょう。
 今、信ずることはより簡単です。私たちはイエスが誰であるかを知っているからです。しかし、これはイエスが生まれてからの問題ではありませんでした。それ以前の問題なのです。
 ですから、ヨセフは確実に疑いをもち心に傷ついた心情を持っていたのです。彼は”私の妻は真実をいっていない”と考えました。このような状態から、彼が生まれる以前からイエスの家庭には感情的な食い違いや動揺があったのです。
 こうした事実に良い証の場面があります。ある日、イエスがカナで結婚の祝があった時、そこで母親に会いました。マリヤはイエスに「ブドウ酒がなくなった」と言いました。彼は母親に向かってこう言ったのです。「婦人よ、あなたはわたしとなんの係わりがありますか」(ヨハネ 2.4)重要なことは、彼がお母さんと言わずに「婦人よ」と言ったことです。のちにイエスの弟子の一人が彼の所にやって来て、「あなたのお母さんと兄弟たちがあなたに会いに来ておられます」と言うのを聞いて「わたしの母、わたしの兄弟とは、だれのことか。………ここにわたしの母、わたしの兄弟がいる。神のみこころを行う者はだれでも、わたしの兄弟、また姉妹、また母なのである」(マルコ 3.33 〜 35)と言っています。これは、イエスの目からは、彼の家族が神のみ旨を行なっていないということを示しているのです。
 イエスは彼の家族に対して非常に大きな憤りを感じていたのでした。まだ明かされない多くの隠された話があります。彼の怒りの事実の多くがまだ知られていません。聖書はイエスの公生涯前の三十年はほとんど記録されていないのです。もしこれが栄光ある記録でしたら、神やイエスの弟子たちがそれを表したことでしょう。しかし、イエスは嘆きと悲しみのうちに生きたのです。すなわち彼は三十年の目立たない存在であったのです。だから人々は彼が、「私は律法を成就するためにやってきた。モーセは私について書いているのである」と言うのを聞いて、ある日突然、ショックを受けたのです。彼はこう言いました。「私は神の息子であり、天の父が私を送られたのである」「私は道であり、真理であり、命である。誰でも私によらないでは、父のみもとに行くことはできない」。その時代に私たちが生きていたとして、ここにいる何人がそのような途方もない言葉を信じることが出来たでしょう。イエスは人々を困惑させました。彼はそんなにもけたはずれであったのです。洗礼ヨハネでさえ、イエスを神の息子として見ることは難しかったのです。そしてヨハネは人々の心を準備させ、主の道をまっすぐにするため来るはずでした。
 今日、イエス・キリストを神の息子として受け入れることは非常に簡単なことです。なぜなら二000年の間、キリスト教は彼を神としてたたえてきたからです。しかし、その当時は年上の者たちは彼を受け入れず、また祭司たちも彼を受け入れなかったのです。彼らは、今日の我々に勝るとも劣らないほどインテリでありました。事実、我々がもしナザレのイエスの時代に生きていたら、多分彼ら以上の過ちを犯したかも知れません。彼らは単に、見捨てられた、不敬な、無法な異端者を見たにすぎないのです。彼らは率直に神の息子を見ることができなかったのです。
 イエスは、長い間待ち望まれてきました。メシヤは二000年の間、その到来を待たれてきたのであります。しかし彼がついに現れた時、彼を受け入れることができなかったのです、ユダヤ人のその当時の信仰が力なかったのではありません。今日のクリスチャンの信仰に劣らず献身的でありました。しかし、我々は、イエスが関係を持った人たちは意外な売春婦、取税人そして、漁夫たちであったということを知っています。
 我々は、ある日若い女が高価な香油をイエスの体に注ぎ、彼女の髪の毛で足を洗った話を知っています。もし、私たちがこれらのことを見たとしたら、皆さんのうちの何人が敬虔にイエスを神の息子として受け入れると言うのでしょうか。
 イエスの三年の公生涯は待ち望まれたメシヤの立場からは程遠い叫びでした。誰一人としてキリストの真の使命を理解することができなかったのであります。人々は彼らの地上の基準で、神の息子を罪深い目でもって裁いたのであります。彼らはイエスを自分たちの思うままに取り扱いました。この罪の世界はキリストの清さには決して相いれられません。彼は人々に近づきました。しかし、人々は彼を受け入れなかったのです。
 既に申し上げましたように歴史上のすべての聖人、義人はまず第一に完全なる自己否定をし、神に自分を捧げました。神が彼らを呼び集められた時、彼らは自分の家や財産、家族、また国までも捨てました。神は神の闘士を個人的な立場において、また家庭的、民族的、国家的、世界的な立場において必要としました。そしてどの立場においても、神の闘士の資格は常に同じでありました。神はどのような使命が下されてもついていくことのできる、完全なる疲れを知らない信仰者を要求しているのです。神は神のみ旨に完全に服従することを要求しています。
 それでは、我々は神のみ旨とは何であるかを調べてみなくてはなりません。なぜ神は人間にそのような困難な時を与えるのでしょう。個人的な救いは確かに、神の側においては重要なことです。神はそれをないがしろにはされません。しかしながらそれが神のなされる仕事の最終的な目的ではないのです。神は世界の救いのために、一つの家庭をその手段として呼ばれました。神は世界の救いを完成するため、人々を呼び集められるのです。神は世界救済の最終的な成就のために、神の闘士として一つの国を必要としています。
 イエスの時代の人々はメシヤの到来を切望していました。しかし彼らはイスラエルとして、神の選民として、彼らの国家的栄光のみを考えていました。彼らはイエス・キリストの世界的な使命を理解していませんでした。メシヤを選民に送るのは神の目的でありました。そしてメシヤは選民と一つになるのでした。そして彼らは信仰を持つ戦士となり、世界の救いのために戦い、成就するのです。



ふぅぃーーーー。
実は、この「アメリカに対する神の希望」 の前に「人間に対する神の希望」と言うのもあるんですが、それはまた別の機会に…。

まあ、世間的は「クリスマス = 目出度い」イメージが強いんですが。
その神のひとり子が何故、馬小屋で生まれて、そして、誰からも迫害されながら死んで行かなければならなかったのか、を考えて見てもいいんじゃないでしょうか。

因みに、キリスト教の公式見解では、「十字架上で死ぬことで、この世の罪を贖ってくださった。」と言う事なんですが、これについては文先生はハッキリ「なら生まれた時に死んでいればいいんじゃないか。なぜわざわざ十字架上で死なくても良いだろう」みたいなことを他の御言葉内で語られてますね。


てな訳で、またお会いしましょう。

では〜。

SSH Keyを作成してGitHubなどに接続してみる - Qiita

大事なことなので。 SSH Keyを作成してGitHubなどに接続してみる - Qiita : GitHubやGitLab上のリポジトリへgitコマンドでファイルをpushする時に、上手く接続出来なかったのでSSH Keyの作成からやり直してみました。これはその作業ログなので自分...