どもです。
生存確認です。
今度、もうチョッとまともに書きますね。
因みに、この投稿はBlogger App からの投稿です。
では~。
Loop AT [内部テーブル] INTO [構造体].
AT NEW [コンポーネント].
ENDAT.
ENDLOOP.
LOOP AT [内部テーブル] ASSIGN <フィールドシンボル>.2013/4/1記
AT NEW [コンポーネント].
ENDAT.
ENDLOOP.
AT NEW <フィールドシンボル>-[コンポーネント].なんて書いちゃった。当然コンパイラからはエラーメッセージ出されます。
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.
Loop AT <内部テーブル> INTO <構造体>.
AT NEW.
ENDAT.
ENDLOOP.
LOOP AT <内部テーブル> ASSIGN <フィールドシンボル>.
AT NEW <フィールドシンボル>.
ENDAT.
ENDLOOP.
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.
apt-get install squid3
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としての設定。
# PARENTPROXY localhostを環境に合わせて修正が必要になります。
# PARENTPORT 3128
apt-get install squidguardで、/etc/squidguard/squidGuard.conf の修正。なんですが取り敢えず以下の部分だけ修正します。
dbhome /usr/local/squidGuard/dbこれでどのディレクトリにフィルタリング用DBが有るのかを指定します。
sudo tar -xvzf shallalist.tar.gz
#
# 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
}
sudo squidGuard -C allこれで、squidGuard.conf に記述した内容に従って必要なdomains/urlsのdbを構築します。
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
ERROR: Going into emergency mode
squidGuard: FATAL: ACL destination mixed_adult is not defined in configfile /etc/squidguard/squidGuard.conf
chown -R proxy:proxy /usr/local/squidGuard/db/*user:groupは任意ですがここは"proxy:proxy" にしてます。
sudo /etc/init.d/squid3 restart
sudo /etc/init.d/havp restart
http://www.smith-wesson.com/(ご存知、銃器メーカーのS&Wのサイトです。)
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"
sudo chmod ug+x /etc/cron.daily/shalla_update.v2.sh一応、これで日次(でやるべきかと言う疑問はあるけど)でDB更新を行います。
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結んでね」という事になっています。
大事なことなので。 SSH Keyを作成してGitHubなどに接続してみる - Qiita : GitHubやGitLab上のリポジトリへgitコマンドでファイルをpushする時に、上手く接続出来なかったのでSSH Keyの作成からやり直してみました。これはその作業ログなので自分...