アフィリエイト広告を利用しています
ファン
最新記事
写真ギャラリー
カテゴリーアーカイブ
日別アーカイブ
<< 2016年06月 >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

2016年03月17日

RHEL6.4でresolv.confが書き換わる件

この記事
環境構築中に遭遇した事象の備忘録。

遭遇した事象

DNSサーバの参照先を変更しようとして、viエディタで/etc/resolv.confを直接編集。
編集後は、問題なく反映されていたが、osリブート後に設定が元に戻って(書き換わって)しまう。

編集前
[root@mx-ns ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.3.1
[root@mx-ns ~]#


vi エディタで編集後
[root@mx-ns ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.3.21
[root@mx-ns ~]#


OSリブート後
[root@mx-ns ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.3.1
[root@mx-ns ~]#


参照URL

http://mrs.suzu841.com/mini_memo/numero_21.html

環境の状態


参照URLの方の事象とほぼ酷似。
自分の環境の状態はというと、下記の通り。

・ネットワークインターフェースファイル(ifcg-eth0)にDNS1=192.168.3.1が設定されている。
DEVICE=eth0
TYPE=Ethernet
UUID=a31cbd35-6ff3-456c-ad14-2e2a765e9e9a
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=00:15:5D:03:04:05
IPADDR=192.168.3.21
PREFIX=24
GATEWAY=192.168.3.1d
DNS1=192.168.3.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"


・NetworkManagerは起動していない
[root@mx-ns network-scripts]# chkconfig --list NetworkManager
サービス NetworkManager に関する情報の読み込み中にエラーが発生しました: そのようなファイルやディレクトリはありません
[root@mx-ns network-scripts]#


対応方法

以下のとおり対応した。

・ネットワークインターフェースファイル(ifcg-eth0)にDNS1=192.168.3.1を削除
・network restart
・vi /etc/resolv.confを編集
・OSリブート
・ /etc/resolv.confがOSリブート前の状態であることを確認

・ネットワークインターフェースファイル(ifcg-eth0)にDNS1=192.168.3.1を削除
[root@mx-ns network-scripts]# cat ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
UUID=a31cbd35-6ff3-456c-ad14-2e2a765e9e9a
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=00:15:5D:03:04:05
IPADDR=192.168.3.21
PREFIX=24
GATEWAY=192.168.3.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
[root@mx-ns network-scripts]#


・network restart
[root@mx-ns network-scripts]# service network restart
インターフェース eth0 を終了中: [ OK ]
ループバックインターフェースを終了中 [ OK ]
ループバックインターフェイスを呼び込み中 [ OK ]
インターフェース eth0 を活性化中: Determining if ip address 192.168.3.21 is already in use for device eth0...
[ OK ]
[root@mx-ns network-scripts]#


・vi /etc/resolv.confを編集する(編集後は下記)
[root@mx-ns network-scripts]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.3.21
search simalab.com
[root@mx-ns network-scripts]#


・OSリブート
[root@mx-ns network-scripts]# reboot


・ /etc/resolv.confがOSリブート前の状態であることを確認

[root@mx-ns ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.3.21
search simalab.com
[root@mx-ns ~]#


タグ:OS

2016年03月13日

RedHatEnterpriseLinux6.4インストール(on LVM)

会社で、メールサーバやDNSサーバなどの諸々の
検証を行う必要が生じたため、その検証環境を用意するために、
RedHatEnterpriseLinuxのインストールをLVMの構成で行ってみる。

なお、検証のターゲット環境は、本番環境に合わせてRedHatEnterpriseLinux6.4を使用する。

サブスクリプション・OSダウンロード

yumなどを実施するため、OSのメディアと評価用ライセンス(30日間)の取得を行う。

[RHEL6.4サブスクリプション取得・OSダウンロード手順]
https://drive.google.com/file/d/0B2yjG8delT8WLURHR1dGcUNzbU0/view?usp=sharing


OSインストール

OSのインストールにあたり、下記のパーティションを設定する。
  • swap(非LVM)
  • /(LVM)
  • /var(LVM)
  • /boot(LVM)



[RHEL6.4インストール手順]
https://drive.google.com/file/d/0B2yjG8delT8WajNJcXJEdUZPZTg/view?usp=sharing

rhn_registerコマンド実行


この後、yumなどを使用するため、「rhn_registerコマンド」でRedHatNetwork上に、
対象システムを認識させる。

[rhn_registerコマンド実行手順]
https://drive.google.com/file/d/0B2yjG8delT8WMURVN3hPNjE4U3M/view?usp=sharing

SELinux無効化


検証環境のため、セキュリティを緩和するため、SELisxを無効化する。

[root@mx-ns ~]# vi /etc/selinux/config
#下記に変更
SELINUX=disabled

[root@mx-ns ~]# 再起動実施
[root@mx-ns ~]# reboot

[root@mx-ns ~]# 再起動後確認
[root@mx-ns ~]# getenforce
Disabled
[root@mx-ns ~]#


ファイアーウォール無効化


検証環境のため、セキュリティを緩和するため、ファイアーウォールも無効化する。

[root@mx-ns ~]# service iptables stop
iptables: チェインをポリシー ACCEPT へ設定中filter [ OK ]
iptables: ファイアウォールルールを消去中: [ OK ]
iptables: モジュールを取り外し中: [ OK ]
[root@mx-ns ~]#
[root@mx-ns ~]# chkconfig iptables off
[root@mx-ns ~]# chkconfig --list iptables
iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@mx-ns ~]#






タグ:OS

2016年03月12日

若者よ、外資系はいいぞ

コンビニで、本書が目に留まり、思わず購入。




著書は、インテルなどでキャリアを築いた方で、
タイトルからは、外資系企業はいいぞ、日本企業はけしからんという
内容を想像するが、内容はそういった単純な二元論ではなく、
それぞれの企業の背後にある組織の考え方や果ては、人生論にまで及び、
価格、ボリュームに比して、なかなかの読み応え。

特に個人的に良いと思ったのは、外資系のもつチーム観の記述箇所で、

外資系では、個人が自分の能力を発揮することで、組織が動いていく。外資系企業でも、日本企業でも組織の目的はビジネスで勝つことで同じだが、組織を構成するプレーヤーに対する期待には大きな違いがある。外資系では、働く人は与えられた役割で、能力を発揮できる個人であることが大前提で、経営陣、プレーヤーが個々人の能力をチームの成果につなげるように協力し合って組織作りをする。
一方、日本企業では、働く人はまず良きチームプレーヤーであることが求められ、個人は集団との一体感と貢献にやりがいを見出す。その結果、外資系では、能力を持った個人が作り上げられていくのに対して、日本企業では、組織のルールと暗黙の了解の下で成果をだせる組織固有の人材が育てられる。
※もちろん、本書では、上記の解釈をすべての一般論とすることは否定しているので誤解なきよう。

これを読んで、思い出したのが、イチローのチーム観だ。

イチローのチーム観がとかく、個人主義として受け取られる傾向にあるが、
個人的には、下記のようなイチローのチーム観は大好きだ。

・イチロー
http://systemincome.com/14898

強いチームというのは、個人があってチームがあると思うんです。個々が持っている力を発揮して、役割をはたして、それが結果としてチームとしての力となる。でも、弱いチームは、個々が持っている力を発揮されない。だから勝てない。「チームのために」という言葉でごまかして個人の力を発揮できないことへの言い訳を探す、そうしたらもっと勝てなくなる。悪循環ですよね


本田圭佑も、イチローに近いチーム観のようで、
チームの前に「個」があるというメンタリティーは、共通のものなのだろう。

・本田圭佑

http://blogs.yahoo.co.jp/nonakajun/62651157.html

シンプルに言えば個だと思います。(中略)結局、
最後は個の力で試合が決することがほとんどなので。日本のストロングポイントはチームワークですが、
それは生まれ持った能力なので、どうやって自立した選手になって個を高められるかというところです。

以前、読んだ下記の本にも、「協調性」について、下記の通り、記載されている。



伸びる人には、協調性があります。
仕事の場において、協調性があるということはみんなと仲良くできるということではありません。仲良くするのはいいことですが、それだけでは、ただの仲良しクラブです。
協調性があるということは、複数の技術者が、それぞれ割り当てられている独立した職務と役割を果たし、かつ他の技術者と連携を取りながら仕事を進めることができるということです。


それぞれ、分野の違いはあれど、何かを成し遂げた人には、共通したチーム観が
根底にあるのだろう。

posted by nowlogging at 22:41| Comment(0) | TrackBack(0) | 読書

2016年03月10日

ruby on rails(4.1.0)環境構築をやってみた

職場でちょっとした運用ツールを開発したい思い、
いまさらながらruby on railsのお勉強。

まずは、勉強の素材を探しに、本屋へ。いろいろ読んだ結果、下記を購入。



いままで、PHPをメインに開発していたが、小生Ruby on railsの初心者だが、とりあえず、環境構築からトライする。

構築前時点で環境

普段使っている自宅の開発環境に予め、下記がインストールされていたので、この環境からの構築を始めた。
  • OS:CentOS6.4
  • ruby 2.1.2p95
  • mysql-5.1.69-1

ruby on rails4.1.0インストール

購入した書籍が4.1.0ベースの解説だったので、4.1.0のバージョン指定で、インストールしてみた。
下記の通り、バージョン指定で、インストールしたが・・・
gem install rails --version="4.1.0"

長い・・
PHPの開発になれているものにとっては、これが衝撃。ひたすらインストールが終わるのを待つ。
終わるときはこんな感じ。
〜略〜
Installing ri documentation for tzinfo-1.2.2
Done installing documentation for actionmailer, actionpack, actionview, activemodel, activerecord, activesupport, arel, builder, bundler, concurrent-ruby, i18n, mail, minitest, polyglot, rack, rack-test, rails, railties, sprockets, sprockets-rails, thread_safe, treetop, tzinfo after 1270 seconds
23 gems installed


ただ、後に知ったが、下記の通り、ドキュメントを入れないオプションを入れなければ、
劇的に早いらしいので、次回はこちらのオプションを使うことにしよう。
http://qiita.com/ginpei/items/49f2c749c2b12098718e

gem install rails ---no-ri --no-rdoc


railsアプリの登録


とりあえす、/var配下に登録することを前提に、下記を実行。
IPアドレス管理ツールを作成する予定なので、アプリケーション名「ip_manage 」とした。
また、DBをmysqlに指定。

[root@Linux ~]# cd /var/
[root@Linux var]# rails new ip_manage -d mysql


DB設定ファイル編集

[root@Linux config]#  cd config
[root@Linux config]# ls
application.rb database.yml environments locales secrets.yml
boot.rb environment.rb initializers routes.rb
[root@Linux config]# vi database.yml

パスワードを直書きすることは推奨されないことはわかっているものの、とりあえず、ここはパスワード直書きで編集
#
default: &default
adapter: mysql2
encoding: utf8
pool: 5
username: root
password: パスワード直書き

DBの作成

下記で、DBを作成した。
# rake db:create

下記のエラーが発生。(ここからがカオス状態のスタート)

rake aborted!
Bundler::GemRequireError: There was an error while trying to load the gem 'uglifier'.


「rails server で There was an error while trying to load the gem 'uglifier'.と言われる解決方法。」を参考に、
http://qiita.com/pugiemonn/items/11a2bc8403e5947a8f13

下記を実行。
#vi /var/ip_manage/Gemfile
gem 'therubyracer', platforms: :ruby ※先頭のコメント外す


再度、下記で、DB作成
# rake db:create


今度は、下記のエラーが発生。
Specified 'mysql2' for database adapter, but the gem is not loaded. Add `gem 'mysql2'` to your 
Gemfile (and ensure its version is at the minimum required by ActiveRecord).


文字通り、「mysql2」がインストールされていないという初歩的なミスを犯していたので、
下記の通り、インストール。

[root@Linux config]# gem install mysql2

インストール確認。
[root@Linux config]# gem search --local mysql2
*** LOCAL GEMS ***
mysql2 (0.4.3)
[root@Linux config]#

再度、下記で、DB作成
# rake db:create


引き続き、下記のエラーが発生。
Specified 'mysql2' for database adapter, but the gem is not loaded. Add `gem 'mysql2'` to your 
Gemfile (and ensure its version is at the minimum required by ActiveRecord).


[Rails mysql2でrake db:createがエラー問題]を参考に、
http://qiita.com/shizuma/items/0f9660d5d46a0012eb9e

まずは、バージョンの低い、mysql2をインストール
[root@Linux config]# gem install mysql2 -v '0.3.20' 


その後、Gemfileを下記の通り、編集。
[root@Linux config]# vi /var/ip_manage/Gemfile
gem 'mysql2', '~> 0.3.20'※左記のように書き換える


再度、下記で、DB作成
[root@Linux config]# rake db:create
(in /var/ip_manage)
[root@Linux config]#


やっとエラーが解消!
mysql上もデータベースが作成されたことを確認

mysql> show databases;
+-----------------------+
| Database |
+-----------------------+
| ip_manage_development |
+-----------------------+


Railsの起動


[root@Linux config]#  rails s
=> Booting WEBrick
=> Rails 4.1.0 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Notice: server is listening on all interfaces (0.0.0.0). Consider using 127.0.0.1 (--binding option)
=> Ctrl-C to shutdown server
[2016-03-06 17:41:55] INFO WEBrick 1.3.1
[2016-03-06 17:41:55] INFO ruby 2.1.2 (2014-05-08) [i686-linux]
[2016-03-06 17:41:55] INFO WEBrick::HTTPServer#start: pid=7407 port=3000


http://railsが稼働する:3000/にアクセスし、下記が表示されていることを確認する。



やっと環境構築完了(と思われる)

2016年03月09日

DNSのSPFレコードについてあらためて学習してみた

DNSのSPFレコードとは

SPFは、メール送信における送信元ドメインの偽装を防ぐための
技術(送信ドメイン認証)。迷惑メールは、送信元ドメインを偽装していることが
多く、偽装されたドメインとそれを所有する組織は、SPAMメールの送信に当たっては、
あてずっぽうなメールアドレス宛に大量に送信するといったことがよく行われ、
その場合には、大量のエラーメールがSPAMメールを送信したサーバではなく、
偽装されたドメイン側に返送されることになる。

このような事態を防止するために、SPFを利用して、送信元ドメインをの偽装を
防ぐ。これらは迷惑メール対策の一環ではあるが、ドメイン偽装メール対策というのが
より適切な見方で、受信側への気配りとしてもSPFを登録することが推奨される。

SPFは、メールの送信を許可(または禁止)しているサーバのリストをDNSで公開し、
受信サーバ側メールサーバでそのリストを確認して、正当なメールサーバからの
メールかどうか判断する仕組み。

偽装されたメールの場合


SPFを使うとできること



SPFレコードを理解する

SPFレコードはドメイン名をレコード名とするTXTレコードとして公開する。
ゾーンファイルの記述例。
example.com. IN TXT "v=spf1 +ip4:100.AAA.0.1 +ip4:200.BBB.0.1 ~all"

SPFレコードの各項目は、空白で区切られ、上記例では、次の4つに分けられる。

  • v=spf1
  • +ip4:100.AAA.0.1
  • +ipv4:200.BBB.0.1
  • ~all


最初の部分(v=spf1)は、どのバージョンのSPFを使っているかを相手に伝える。
それ以降の各部(+ipv4:100.AAA.0.1 +ipv4:200.BBB.0.1 ~all)で、サーバのIPアドレスと
そのサーバに対する許可、禁止を記述していく。この各部分を「ディレクティブ」と呼ぶ。

SPFレコードで記述できる内容の一部

クオリファイア(許可/禁止を示す)
表記内容
+許可
-指定なし
~禁止(ソフトフェイル)
-禁止(ハードフェイル「~よりも強い禁止」)

メカニズム(対象IPアドレスを示す)

表記内容
100.AAA.0.1100.AAA.0.1というIPアドレス
200.BBB.0.1200.BBB.0.1というIPアドレス
allすべてのIPアドレス


ディレクティブの記述順序と意味


「~all」自体の意味は、「すべてのIPアドレスからのメール送信は、許可されていない」という意味。
受信側メールサーバはSPFレコードに基づいて、処理を行う際、左側に書かれているディレクティブほど優先
される。基本的には、許可されているものすべて書いた後、~allまたは、-allというディレクティブを右に記載する。

受信側メールサーバの処理


送信者のメールアドレスがuser@example.comだったとして、
  1. 送信者のメールアドレスからドメインを取り出す(@example.com)
  2. example.comという名前のTXTレコード(SPFレコード)を問い合わせ、結果を得る。レコードが存在しなければ、検証を打ち切りそのまま配送する。
  3. SPFレコードの内容とメール送信元IPアドレスを照合し、正当なメールサーバからかどうかを検証する。
  4. 判断に基づいて、判断結果を表すヘッダを付け加えて届ける、届けずに破棄する、などの処理を行う。
として。

クオリファイア


この部分は、省略可能で、省略した場合は、「+」を指定したものとみなされる。「?」を指定した場合は、判断をせずにメールを届ける。これは、SPFレコードが存在しない場合と同じ。禁止については、主にallと組み合わせて「それ以外のものは禁止」を表すために使用する。2種類ある禁止の使い分けとしては、実施にメールアドレスに使われているドメインについては、「~」を指定し、絶対に使用されていないドメインについては、「-」を使用するとよい。

メカニズム


メカニズムは、すでにIPアドレスの直接指定(ip4)と、指定された以外のすべてのIPアドレス(all)以外に、Aレコード、MXレコード、PTRレコードなどが指定可能。

・Aレコードによる指定
送信者メールアドレスからドメイン名(@より後)を取り出し、そのドメインのAレコードの値(IPアドレス)得て、そのIPアドレスを送信者側IPアドレスと比較する。

・MXレコードによる指定
送信者メールアドレスからドメイン名(@より後)を取り出し、そのドメインのMXレコードの値を得て、そのホスト名のAレコードを引き、これによって得たIPアドレスを送信者側IPアドレスと比較する。

・PTRレコードによる指定
送信者メールアドレスを逆引きし、ホスト名を得て、そのホスト名と送信者側IPアドレスとを比較する。

レコードの例


表記内容
Aレコード"v=spf1 +a ~all"
mxレコード"v=spf1 +mx~all"
PTRレコード"v=spf1 +ptr ~all"
組み合わせ"v=spf1 +a +mx +ipv:x.x.x.x ~all"


ドメインの指定


a,mx,ptrの後ろに「:ドメイン」を付け加えると、送信者メールアドレスドメインの代わりにそのドメインが使用される。

ドメイン意味
aドメイン名のAレコードの値(IPアドレス)を得て、そのIPアドレスを送信側IPアドレスと比較する。
mxドメイン名のMXレコードの値(IPアドレス)を得て、そのIPアドレスを送信側IPアドレスと比較する。
ptrドメイン名のPTRレコードの値(IPアドレス)を得て、そのIPアドレスを送信側IPアドレスと比較する。


・Aレコードとの組み合わせ
+a:example.com

・MXレコードとの組み合わせ
+mx:example.com

・PTRレコードとの組み合わせ
+ptr:example.com

ネットマスクの指定

・IPアドレス + ネットマスク(先頭30ビットと一致すれば許可
+ip4:100.AA.0.0/30

・送信元ドメイン名のAレコードのIPアドレスの先頭30ビットが送信元IPアドレスの先頭30ビットに一致すれば許可
+a/30

そのほかの設定例

・メールを一切送信しないドメインの場合
example.com.  IN TXT "v=spf1 -all"


・送信専用のSMTPサーバ(MSA)と受信用SMTPサーバ(MX)からのエラーメールを許可する場合
example.com.  IN TXT "v=spf1 +a:msa.example.com +mx ~all"


SPFレコードのテスト

$dig @DNSサーバのIPアドレス example.com TXT


参考文献





2016年02月14日

BIG-IP VEの学習@(VmwareEsxi5.1デプロイ)

前回に続き
BIG-IP VEについての学習記録。

まず、こちらより、F5ネットワークスのログインアカウントを作成する。

https://login.f5.com/resource/registerEmail.jsp

その後、アクティベーションを取得する画面で、
アクティベーションコード(最大の4つ)を取得し、
「BIGIP-11.3.0.39.0-scsi.ova」をダウンロードする。

ダウンロードした「BIGIP-11.3.0.39.0-scsi.ova」を
VmwareEsxi5.1へのデプロイした際の検証手順は、
下記の通り。

[BIG-IP VirtualEdition〜@.VmwareEsxi5.1デプロイ編〜]
https://drive.google.com/file/d/0B2yjG8delT8WOGZlQXNJaEx2eWs/view?usp=sharing

BIG-IP VEの学習書籍購入

仕事でBIG-IPを使用するので、改めてお勉強。
以前、VMWarePlayerを使用して、BIGIP-10.1.0 VirtualEdirionを
勉強したことはあったが、環境も進化しているので、
今回は、BIGIP-11.3.0VirtualEdirionを使用して学習することにした。

まず、体系的に書籍で勉強ということで、BIG-IPVer10の内容ではあるものの、
日本語書籍だとが下記が一番良いのは間違いないので、購入。



出版社に在庫がないというので、はじめてペーパーバックの形式のものをAmazonから購入した。
ペーパーバック形式がどんなものか、少し不安だったが、




着いてみたら、印刷の粗さは多少あるものの、出版社発行物と
遜色はなく、それでいて、値段も多少割引されているので、購入して正解。
出版社発行物と違い、環境構築を支援するためのCD−ROMの付属はないが、
それらは、自分で検証しながら、補足で構築すればよい。







清原逮捕に思う

清原逮捕という衝撃は、自分なんかのアラフォー世代の元野球少年には、
計り知れないほどの出来事で、一つの時代が終わったともいえるものだ。

野村克也や広岡達郎が「清原は上司に恵まれなかった」といった記事を見た。
それが正しいかどうかまでは、わからないが、清原の野球選手としの
資質や将来性を、入団当時から一貫して厳しく、時には優しい目で
見てきた人といえば、落合博満だと思う。

落合自身、PL学園時代の清原を絶賛し、自らの後継者として
清原を認めていたことはいろいろな書籍などで確認でき、
それらの書籍に書かれている「打者清原評」は非常に説得力があるものだ。




しかし、清原は主要打撃タイトルを取ることはできず、引退。
その引退特集の雑誌「Number」での落合のコメントが
今となっては、とにかくしみる。

「今までもっとできるのになと思うヤツをいっぱい見てきた。一番もったいないと思ったのは清原だよ。今の中田と一緒だ。普通にやっていればこれだけ勝てるというのを自分から捨てたんだ。レベルアップするのにも段階を踏んでいかないといけないんだよ。
巨人にきて1、2年目にあいつを見て、これは苦労するだろうなと思った。誰が吹き込んだんだろうな。いいものが崩れるのは簡単だよ。でも、元に戻すのは難しいんだ」

巨人にFA移籍して1年目の97年、落合の目には清原が本塁打を求めるあまり、
広角に打てる技術を発揮できていないと映っていた。では落合は清原に何を望むのか。
清原を語る時、いつも最後に付け加える言葉がある。

「まわりが悪いんだよ・・・」

「俺はな。職人なんだよ。野球をとことん突き詰めたいんだ。でも、この世界にはとくに知りもしないのに野球を食い物にしようとする政治家みたいな連中がいる。そういうやつらには負けたくない」

落合は清原にも職人でいてほしかったのだ。


清原和博という長嶋茂雄にもなれた逸材の逮捕は、
ただただ悲しいものだ。
タグ:野球

2016年02月09日

AdremNetCrunchのマイナーバージョンアップ

前回のsFlow・NetFlow監視の不具合発覚を受けて、
「NetCrunch8.7.1.3450」⇒「NetCrunch8.7.3.3472」のマイナーバージョンアップを行い、検証を行う。

基本的には、下記のドキュメントの

http://www.johokobo.co.jp/download/NetCrunch8_Installation_Manual.pdf

「 6.2 マイナーバージョンアップの手順」に
従い、「NetCrunch8.7.1.3450」⇒「NetCrunch8.7.3.3472」の
マイナーバージョンアップを行い、シュミレータを通してだが、
監視ができることを確認した。

その際の検証した手順は下記の通り。

https://drive.google.com/file/d/0B2yjG8delT8WblVZNnhRTUwwTUE/view?usp=sharing

2016年01月06日

ソフトウェア・グラフィティ

毎年正月は、ブックオフで20%引きで本が買えるため、
本を物色しては、乱読をして過ごすことが多い。

今年も、何冊か購入してその第1弾。



内容は、日本のコンピュータ産業の黎明期から活躍された岸田孝一さんのソフトウェアエッセー集といったところ。岸田孝一さんについては、こういった本で過去読んだことがあったが、






自ら語られた内容の本は初めて読んだ。内容は哲学的なものも含んでいて、難しい部分もあるが、語り口が人柄もあるだろうが、良い意味で嫌味ではなく、上から目線の説教臭さもないので、読んでて面白い。印象に残ったところとしては、
(※囲み部分は本書からの引用。見出しは、私が勝手につけている)

ソフトウェア論


「ソフトウェアは、(かたちのないかたち)をもっている」という立場をとり、「無形労働」という表現が使われている。
見えないものを形にするという点で、美術とソフトウェアとの共通点について言及している。下記は
美術家のパウロ・クレーという人の言葉を引用し、

「美術とは、目に見えるものを再現するのではない。見えないものを目に見えるようにするのである。」この言葉を背景とするクレーの講義は、のちにソフトウェアの世界に足を踏み入れて、「目に見えない」ソフトウェアを相手にしたとき、大いに役に立ったものである。

ソフトウェア開発論


若い時に演劇をやっていたようで、演劇活動とソフトウェア開発活動との共通点について言及している。

会社でのソフトウェア開発プロジェクトの企画や運営が演劇活動に代わる機能を果たしてくれたように思う。開発システムの仕様書がシナリオにあたる。役者たち(プログラマ)のキャスティングを決め、それぞれの演技(開発活動)をうまく、取りまとめて、顧客(ユーザー)の満足を勝ち取るという形である。


以前、下記の本で、ソフトウェア開発とハリウッド映画製作についての共通点を読んだことがあったので、
それと似ていて、面白い。こういった感覚は万国共通といったところか。


論文「Managing the Development of Large Software Systems」


普段何気に、使っているウォータフォール・モデルについて、よく引用される
「Managing the Development of Large Software Systems」についての、正確な解釈についても書かれている。

この会議での収穫は世界のソフトウェアコミュニティにウォータフォール型プロセスモデルの概念を紹介したウィンストン・ロイスの論文"Managing the Development of Large Software Systems"の発表を聴いたことであった。

この論文は、ウォータフォール・モデルの概念を推奨したものだと世の中では、みなされているが、それは大きな誤解である。原論文を読めばわかることだが、ロイスがハード・ソフトを複合した大規模システム開発における自身の経験に基づいて、主張したのは、軍や政府との契約にしたがって行われるハードウェア・システムの開発に利用されるウォータフォール型のプロセスモデルは、ソフトウェアシステムの開発にはうまく適用できないという事実の指摘だったのである。


※上記と同様の認識について、書かれているようだ。
「ウォーターフォールモデルの起源に関する考察 ウォーターフォールに関する誤解を解く」
http://barrel.ih.otaru-uc.ac.jp/bitstream/10252/5163/1/ER_64(1)_105-135.pdf

仕事観


会社でも、とかく生産性の向上活動のようなものが行われるが、
それについても、書いてあって参考になる。

われわれの行動原理は、とにかくまず楽しい仕事をしたい。そして、第2に自分の好きなことをしたい。この2点に尽きると思います。何が面白くて、プログラマをやっているかといえば、決してお金儲けが目的ではありません。ただ、お金を儲けたいだけなら、ほかにもっと楽な道がたくさんある。プログラミングという仕事は、ときに徹夜作業が続いたりして、つらいこと苦しいこともありますが、それでも自分のやりたいこと、あるいは趣味にあっていることだ。そういう人間が、開発環境という自分の仕事のための道具立てを改善しようとするさいの本音は、要するにみんなが、そして特に自分自身が楽しく好きなことをできるようにしようということにつきるでしょう。
そうすれば、結果として、生産性の向上や品質の改善は自動的についてくる。そうでなければおかしい。
逆に、生産性向上や品質改善を第一義の目的にしてしまうと、楽しくないことを好きでないこともやらなければならなくなります。そういう環境づくりはたいていうまくいきません。例えば、「ソフトウェア・ファクトリー」なんていう考え方がありますが、これはたとえてみれば、どうやって駅弁を安く早く作るかを目指したものです。料理人にとってはあまり楽しい仕掛けではありません。


下記は、Unix導入の創世記にまつわるあるプロジェクト運営方針についてのもの。

「プログラマたちの遊園地を」という発想だった。旧来の大型パッケージツールの考え方を捨てて、小さな単機能ツールを自在に組み合わせて自分たちの仕事を支援する環境を構成するというUnixの考え方に慣れ親しむためには、プログラマたちにまずはそうした仕掛けの楽しさを自分で体験してもらう必要がある。


この発想をある国際的な講演で発表し、
「遊園地の思想」について、語ったのだが、後日きいたところでは、私の講演を聴いたドイツの研究者が「日本恐るべし」という感想をいただいたとのことであった。


組織論


組織を運営していくうえでの、オープンマインドの重要性について。

技術革新のマネジメントを行う上で、1つ重要なことは、組織を閉じたものにするのではなく、つねに外部の新しい風(情報や人材、あるいは両方)が流れ込んでる来るように、オープンな窓口を維持することだといわれる。


人生観


自分自身を常に客観視する必要性について。大学生との討論会を実施した際に、

かれらが、何気なく口にする「ウチの大学」という物言いに引っかかるものを感じた。きっとこの人たちは、サラリーマンになると、「ウチの会社」うんぬんという議論を展開するのだろうなと思った。そうではなく、「この会社は」とか「この国は」という観点で、自分が所属する社会組織を他所として、見ることが必要なのにと思った。


せっかく、育てた人が会社を去っていくことに対して、なぜ引き止めないかについて、

別にだれがどこの会社で働こうと、それが世の中のためになればいいではないかというのが私の考えなのだが、組織志向の強い日本ではあまり理解されないようだ。


人材育成


人材育成や今後のことについて。

これから先のこと?なるようにしかならないでしょ。でも、今の状態では駄目だと思っている人がいる限り、何かが起きる。そういう「芽」が出てきたときに、それを皆で育てていくことが大切だと思います。


自分なんかの凡人とは、考えの次元が違うので、語るに値しないが、参考になる本だった。

posted by nowlogging at 03:18| Comment(0) | TrackBack(0) | 読書
検索
最新コメント
タグクラウド
プロフィール
さんの画像

アラフォー世代です。コンピュータ関連を中心に、戯言をグダグダと書き綴ってます。
プロフィール
×

この広告は30日以上新しい記事の更新がないブログに表示されております。