Take it easy!

OracleExpress

by achi on Dec.02, 2013, under VB.NETテクニック, プログラム

 それまで自PCが最初にメールサーバーへ接続した時間を取得して出社時間、最後のチェックをもって退社時間としていた。しかしメールサーバーの停止処置によりこの作業がとん挫。

そこで自PC内でOracleExpressを稼働させ勤怠管理してみようと言う発想からスタート。

ボタン操作が必須にはなるが、Oracleへの接続を試す意味でも有効であると認識。今回は単純に出社データ追加と退社データ追加をボタンで操作する。

クラスを丸ごと記載するが特に問題は無いと思われる。

Imports System.Data.Common
Imports Oracle.DataAccess.Client
Public Class Form1
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
‘ProviderFactoryの設定
Dim factory As DbProviderFactory = _
DbProviderFactories.GetFactory(”Oracle.DataAccess.Client”)
Dim csbuilder As DbConnectionStringBuilder = _
factory.CreateConnectionStringBuilder
csbuilder(”Data Source”) = “localhost:1521/xe”
csbuilder(”User ID”) = “OraUser”
csbuilder(”Password”) = “OraPassword”

‘データベース接続
Dim conn As DbConnection = factory.CreateConnection()
conn.ConnectionString = csbuilder.ConnectionString
conn.Open()

‘データアクセス処理
Dim cmd As DbCommand = factory.CreateCommand()
cmd.Connection = conn
cmd.CommandType = CommandType.Text
cmd.CommandText = “SELECT * FROM MyName_Table”
Dim reader As DbDataReader = cmd.ExecuteReader()
Do While reader.Read()
Label1.Text = reader.GetString(0)
Loop
‘Close
conn.Close()
conn.Dispose()

Dim My_Day As String = Format(Now, “yyyy/MM/dd”)
Dim My_Time As String = Format(Now, “HH:mm:ss”)
TextBox1.Text = My_Day
TextBox2.Text = My_Time
End Sub

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
‘Time Get
Dim My_Day As String = Format(Now, “yyyy/MM/dd”)
Dim My_Time As String = Format(Now, “HH:mm:ss”)
Dim My_Name As String = Label1.Text
Dim My_In As String = “IN”
Dim OraConn As New OracleConnection
Dim strSQL As String = “INSERT INTO K_OUTIN(K_NAME, K_DATE, INOROUT, K_TIME) ”
strSQL &= ” VALUES(’” & My_Name & “‘, ‘” & My_Day & “‘, ‘” & My_In & “‘, ‘” & My_Time & “‘) ”

OraConn.ConnectionString = _
“user id=OraUser;” & _
“password=OraPassword;” & _
“Data Source=localhost:1521/xe”
Dim OraCmd As New OracleCommand(strSQL, OraConn)
OraConn.Open()
OraCmd.ExecuteNonQuery()
OraConn.Close()
Label2.Text = “データ追加完了!”
End Sub
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
‘Time Get
Dim My_Day As String = Format(Now, “yyyy/MM/dd”)
Dim My_Time As String = Format(Now, “HH:mm:ss”)
Dim My_Name As String = Label1.Text
Dim My_Out As String = “OUT”
Dim OraConn As New OracleConnection
Dim strSQL As String = “INSERT INTO K_OUTIN(K_NAME, K_DATE, INOROUT, K_TIME) ”
strSQL &= ” VALUES(’” & My_Name & “‘, ‘” & My_Day & “‘, ‘” & My_Out & “‘, ‘” & My_Time & “‘) ”

OraConn.ConnectionString = _
“user id=OraUser;” & _
“password=OraPassword;” & _
“Data Source=localhost:1521/xe”
Dim OraCmd As New OracleCommand(strSQL, OraConn)
OraConn.Open()
OraCmd.ExecuteNonQuery()
OraConn.Close()
Label2.Text = “データ追加完了!”
End Sub

Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
Me.Close()
Application.Exit()
End Sub

End Class

Leave a Comment more...

VisualStudio2010でSQLServer2000へ接続

by achi on Sep.10, 2012, under VB.NETテクニック, プログラム

 VS2010では悲しいことにデータベースエクスプローラではSQL2000がサポートされない。

 どっこらしょ、っと二種類のDB、テーブルへ接続してレコードを取得、DataGridViewへ放り込んだソース。

 備忘録として記録。

Imports System.Data.SqlClient
Public Class Form1
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        If RadioButton2.Checked Then
            Dim connectionStr As String
            Dim sqlStr As String
            Dim dtsrc As New DataTable
            Dim nsda As SqlDataAdapter
            Try
                ‘接続
                connectionStr = “Server=ServerAddress;Initial Catalog=DB_Name;User ID=User;Password=password”
                Dim tnc1 As String = “”
                Dim tnc2 As String = “”
                Dim tnc3 As String = “”
                Dim tnc4 As String = “”
                Dim dbname As String = “”
                Select Case ComboBox1.Text
                    Case anyting
                        dbname = “dbname”
                End Select
                sqlStr = “Select * From  ” & dbname & ” ”
                If TextBox1.Text <> “” Then
                    tnc1 = TextBox1.Text
                    sqlStr = sqlStr & ” Where nou_tcd = ” & tnc1 & “”
                End If
                If TextBox2.Text <> “” Then
                    tnc2 = TextBox2.Text
                    sqlStr = sqlStr & ” or nou_tcd = ” & tnc2 & “”
                End If
                If TextBox3.Text <> “” Then
                    tnc3 = TextBox3.Text
                    sqlStr = sqlStr & ” or nou_tcd = ” & tnc3 & “”
                End If
                If TextBox4.Text <> “” Then
                    tnc4 = TextBox4.Text
                    sqlStr = sqlStr & ” or nou_tcd = ” & tnc4 & “”
                End If
                ‘コネクション生成
                Using con = New SqlConnection(connectionStr)
                    ‘接続
                    con.Open()
                    ‘SqlCommand生成
                    Dim cmd = New SqlCommand(sqlStr, con)
                    nsda = New SqlDataAdapter(cmd)
                    nsda.Fill(dtsrc)
                    DataGridView1.DataSource = dtsrc
                    con.Close()
                    con.Dispose()
                End Using
            Catch ex As Exception
                MsgBox(ex.Message)
            Finally
            End Try
        ElseIf RadioButton1.Checked Then
            Dim connectionStr As String
            Dim sqlStr As String
            Dim dtsrc As New DataTable
            Dim nsda As SqlDataAdapter
            Try
                ‘接続
                connectionStr = “Server=ServerAddress;Initial Catalog=DB_Name;User ID=User;Password=password”
                Dim otherdb As String = “otherdb”
                sqlStr = “Select * From  ” & otherdb & ” ”
                ‘コネクション生成
                Using con = New SqlConnection(connectionStr)
                    ‘接続
                    con.Open()
                    ‘SqlCommand生成
                    Dim cmd = New SqlCommand(sqlStr, con)
                    nsda = New SqlDataAdapter(cmd)
                    nsda.Fill(dtsrc)
                    DataGridView1.DataSource = dtsrc
                    con.Close()
                    con.Dispose()
                End Using
            Catch ex As Exception
                MsgBox(ex.Message)
            Finally
            End Try
        End If
    End Sub
    Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
        Me.Close()
    End Sub
    Private Sub Button4_Click(sender As System.Object, e As System.EventArgs) Handles Button4.Click
        Dim setcont1 As String = “使い方説明”
        Dim setcontal As String
        setcontal = setcont1 & vbCrLf
        MsgBox(setcontal)
    End Sub
End Class

Leave a Comment more...

子供のころ描いていた夢

by achi on Aug.22, 2012, under Diary

 Facebookとか言うソーシャルな関係開発、関係維持支援システムを使っていて懐かしい友人にネット上とは言え再会する事が出来たり、同級生に「○○君は今」って教えられたりするととても懐かしい気分になって思わず本人をネットで探したりしてしまう。
 そのうちの一人がとても印象的だ。
 彼は高校進学を前に私に自分の夢を語ってくれた。

 そもそも彼は他人と違うものを一つ抱えていたのだ。きっとあまり多くの人には語っていなかったと思うのだが、彼は左右の足の長さが異なることでリハビリ治療を受けていた。当時の話では治療を定期的に行わないと次第に長さの差が大きくなるそうだった。

 その彼がある日私の家で「僕はリハビリに関係する学校へ進みたい」と語ってくれた。

 当時の私はと言うと特に希望を持っている訳でもなく、何となく読んだ本に感化されて「何か国語も会話できる通訳っていいな」程度にイメージしていた。

 あれから35年くらい経っているか。ネット検索で見つけた彼は、ある大学でまさにリハビリに関係するテーマの教鞭をとっている。これは驚いた。

 自分が一貫性のある夢や希望を持たずにここまで来て、今でも目標を見失いそうになっていることに急に腹が立ってくる。
 でもまてよ、他に色々思い描いていなかったか?
 ここでさらに浮かんだのは別の同級生とのシーン。色んな遊びや会話があったはず。そんな中の一つにたぶん小学校六年生のころの話だ。
 先生が「未来をイメージして絵にしなさい」と言う課題を出して、みんながそれぞれイメージした未来を描いた。
 もちろん「何年後」なんて具体的なイメージは無いんだけど。
 その同級生が書いた未来はそれこそ「鉄腕アトム」が出てきそうで、「謎の円盤UFO」が飛んでいそうで、「サンダーバード」がすぐ駆けつけてくれそうな世界だった。
 私はきっと未来はこうなるんだろうな、って感覚でその絵を眺めていたのを思い出した。
 さて現代。
 私の事は棚に上げておいて、子供のころ描いていたような時代になっているだろうか。
 戦後の復興の勢いは確かにすさまじかったと思う。高度成長期の勢いは日本自体が最先端を突き進んだ。
 しかし今は?
 描いた未来図はまだまだ遠い未来だ。
 これがとてもさみしい。

 少しでもあの未来図のように、あるいは別の形で新しい世界が開けたら、どの人たちももっと明日に希望が持てるだろうな。
 打算的に生きたくはないな。
 夢も希望もどんどん大きくしていきたいものだ。

Leave a Comment more...

続く災害

by achi on Jul.17, 2012, under Uncategorized

 2007年3月25日(日)の朝、寝ぼけ顔で居間に寝転がっていた時突然床と天井が揺れた。震源も影響範囲もわからずテレビをつけてニュースを待っていると 能登半島が直撃を食らった大規模地震である事がわかった。実家も影響を受けている可能性があると考え、連絡を取るために電話するが既に接続しにくい状況になっていた。

発信規制も出ているようではあったが、何度かトライして知り合いも含めて全員の無事を確認出来た。

これが能登半島地震だった。

翌日色々不安もあって七尾へ向かった。あちこちで被害が出ていた。一番驚いたのは七尾三島町の橋。橋自体が持ち上がって道路から浮いていた。

心配だったお墓はどうにか無事ではあったが、墓地のあちこちで墓石が倒れていた。

この時心の中で叫んでいた言葉がある。

「地球が怒っている」

今、もう一度叫ぶ。

「地球が、怒っている。その怒りは地上に向けられている。早く気づかないと。」

Leave a Comment more...

うるう秒

by achi on Jul.02, 2012, under Uncategorized

 三年半ぶりに一日が24時間と1秒になった2012年7月1日、なんかあるだろうと予測できたのは虫の知らせなのかも知れないしただの思いつきなんだろうけど、この1秒のズレが結構重いんじゃないかと感じてた。

 案の定7月2日の朝になっていくつものメディアで騒いでいる。

 この問題ってすでに20回くらい経験してるから、そんなに大きな問題なんだろうかと感じるんだけど、個人的にはIPv6の方が重いのなんのってとてもひ弱なボクには支えられないぜぃ。

 そもそも地球回転基準時の調整って大騒ぎするような問題なのか。

 Googleは前回の教訓を活かして無難に乗り切ったそうだけど、どこに問題があってどのように回避できたのかをきちんと明確に公表してあればどこもかしこも騒ぐ必要が無いと感じるんだが。
 何か欠けているのだ。それが何かはわからんが共有するべき情報が欠落しているから一部で問題が出る。
 クラウドだ何だと次々新しいサービスは出すくせに重要な情報はクラウドなんかにはなくて一部の企業とかプロジェクトとかが隠し持ってしまっている。そういうのが問題なのだと思う。

 有益な情報は共有しましょうぜ。
 みんなでいろんなことを活性化させようぜ。
 それが世界平和じゃないんかなぁ。

Leave a Comment more...

ファイルサーバー内の文書をnamazuで検索

by admin on Jun.21, 2012, under プログラム

 社内ファイルサーバーはFreeBSD4.7Rにて2003年頃に構築。当初は17GB+9GBの構成でスタートした。
 部署ごとに格納エリアを限定したが、共有モードでの開始であったため操作性が程よく、効率的な運用に見えて保存量が日増しに増加。
 2005年には容量不足を解消するために20GBを増設した。

 2010年にはディレクトリ構成の工夫も打つ手が無くなり根本的な容量不足となった。
 そこでOSのバージョンアップ(FreeBSD8.1R)と環境再構築を決意。筐体は同一だがメモリ容量を倍以上(168MB->384MB)にし、HDDも36GB+20GB+20GBとかなり余裕を持たせた。
 これにより安定運用が可能となったが、逆に保存されているファイルがあまりに多く、利用者が保存したファイルを見つけられない現象も発生するようになった。

 一時的にファイル一覧をリアルタイムで作成しファイル名を検索するcgiを用意したが利用頻度は低いと思われる。

 これらの事情からnamazuの導入を検討。
 namazuについては2000年頃にメールマガジンをDB化した実績があった。

 必要なモジュールやライブラリも含めて改めてインストールし、環境を整備した。稼働が可能な状況になったところで全文書のindex作成手順へ進む。
 しかしここで問題が発生。
 sambaによるファイルサーバーではクライアントが全てWindowsであることからCP932で統一している。ディレクトリ名やファイル名はほぼ自由に設定されていた。
 しかしnamazuはディレクトリ名やファイルを基本的にhtml化してwebでの扱いが可能な構成を前提としてデータを作成する。そうなるとCP932のディレクトリ名は環境依存文字が含まれた場合に正常な動作が期待できなくなる。この原因にたどり着くまで試行錯誤を繰り返した。
 ISO-2022JPでの検索が可能な環境でないとファイルはおろかディレクトリも掘り下げることが出来ない。namazuの制限もあって非常に苦しい状況であることがわかった。
 こうなるとサーバー内でnamazuのindex作成は不可能と言うことになる。

 そこでindex作成だけをWindowsのPCで実施出来ないか検討を始める。
 これはファイルサーバーの文書保存領域は基本的に共有であるため、アクセスが可能であることが前提となる。問題は共有エリアにある文書のindexをファイルサーバー内のどこかに格納できればいいだけとなる。

 まずはWindowsPCにnamazu環境を整える。幸いなことにMS-Officeのフィルター、PDFのフィルターが用意されていたことからPC-UNIXとそん色なく環境構築が可能になると判断。
 ファイルサーバー共有領域をnamazu作業用PCからアクセスできるよう共有設定を見直してマウント。同じくnamazuのindexを格納する領域もマウント。
 mknmzの設定でそれぞれのディレクトリへ接続して作業開始。この際の肝は–decode-base64 -Uのおまじないであった。

 ファイルサーバー内は実際には各部署を統括するエリアごとにディレクトリを配置し、その配下に各拠点のディレクトリが存在する。
 検索作業や結果表示をよりわかりやすくするため、indexもエリアごとに配置する事に決定。
 namazuのindexディレクトリをエリア単位に分けて配置する。indexはエリアを選択して検索できるように構成する。

 indexの作成が完了した段階でTopサイトの情報には更新日などの情報がないため、各indexディレクトリのlogから更新日情報だけを更新するcgiを用意。これによりいつの時点のファイルが検索対象かわかるようにした。

 ○WindowsPCでの作業
  ファイルサーバーの文書保存領域へ接続しドライブを割り当てる。
  ファイルサーバーnamazuのindex作成領域へ接続しドライブを割り当てる。
  文書保存領域内の文書を対象にmknmzを実行しindexを作成する。
 ○FreeBSDファイルサーバーでの作業
  全てのエリアのindex作成が完了次第、各エリアindexのlogから最終更新日を取得しTopページのheaderを書き換える。

 以上でファイルサーバー文書の検索サイト構築完了

 なお以降文書の追加や更新に対応するため、毎週一回mknmzを自動実行させる。
 mknmzはindexが既に存在すれば更新モードとして稼働し、index作成履歴を参照しながら差分を更新する。

Leave a Comment more...

大災害

by achi on Mar.17, 2011, under Diary



 史上最大とも思われる未曾有の大地震に見舞われた日本列島。実はまだNZ南部地震の傷も癒えていない。

 地震に津波に放射能。余震は依然としておさまらず連鎖地震も続く。

 こんな中でニュースやSNSに触れていると様々な想いがめぐって夜も眠れなくなる。



 被災地の救済活動が活発化して次第に笑顔が増えている気がするが、時間の経過と共に深刻になって行くのは未だ発見されていない被災者や未だ着手されていない捜索地域。

 それにも増して原発の状況が刻々と変化して行く。



 東電には色んな意見が投げかけられ、隠蔽体質や事故報告の高飛車な態度など、状況を悪化させる問題が増加傾向だ。



 しかし被災地に入っている自衛隊や消防団や救急士や医師団、国外からの援助など彼らのたゆまぬ努力と忍耐も忘れてはいけない。

 それにも増して福島原発の真っただ中でわずかの可能性にかけながら必死に努力している人たちもいる。



 そんな話題に触れながら微力な自分が情けなくなったり、まだまだ何か出来ると思案してみたり。

 全国民、全世界の人たちが自問自答を繰り返しているものと信じる。







 今現在一番気になっているのは被災地の一つではあるが関東地域の買い占め・買いだめの問題だ。

 政府からも自重を促すよう啓蒙活動に必死だが、果たして問題は全て見えているのだろうか。



 個人的には販売する側にも問題があると感じる。

 ガソリンスタンドでは残ったガソリンをより多くの人に利用してもらおうと緊急車両、支援物資運搬車両以外は制限を設けている。

 では何故コンビニエンスストアは出来ないのか?



 つい最近、勤務先の近くにコンビニがオープンした。

 勤務先は外販店舗向けのサービスも行っているため契約伺いに訪問した。

 まずは条件を突きつけて来た。要するに売上に貢献しろ、と。

 これはこれで普通の事かも知れないが、その条件が異様とも取れる内容だった。

 禁煙運動が盛んになっており、勤務先でもいくらか活動は浸透している。

 それにも関わらず「煙草をカートンで買え」がまず最初に出てきた条件だった。



 このような高飛車な戦略でコンビニエンスストアは拡張しているのか。

 だとすると今回の買い占めや買いだめの問題は消費者に責任は無い。

 誰もが不安なのだから必然で発生する。

 どこかで歯止めをかけるべきだが、これはモラルを維持する為にも販売側、供給側がきちんと規律を作成し運用ルールを設けるべきだ。



 トイレットペーパー12ロールで被災地のどれだけの人が救えるか。

 それだけ考えても真剣に取り組むべき問題だ。



 大手コンビニよ、貢献の意味をはき違えていないか。




Leave a Comment more...

否定先行と肯定先行

by achi on Feb.23, 2011, under コーチング

否定先行と肯定先行

 日頃の会話の中で常に否定から話が始まる人と何でも試してみたい様子をあからさまに見せる肯定的な人と対象的な行動をみせる。
 これらが啓発モデルにどのように影響しているのか興味を持った。



 P.D.C.A.の管理サークルを自己啓発に利用した場合に、本来は要素を捉える手法として否定法の方が網羅しやすいように見える。

 ところが否定先行だと事象を捉えた際に否定的な思考を繰り返すのみで前進しない事が多い。



 方や肯定先行だと捉える要素に不足を感じるものの、圧倒的にP.D.C.A.の回転が速い。

 P.D.C.A.は何度も繰り返し行われる事で精度を向上させる事が本来の目的。「何故の繰り返し」要素がその中にあるのだが、実はこのサークル自体が「なぜ」から組み上げられていると思えば肯定先行の方が問題解決能力が高くなる。



 これは単に”ポジティブである”と片づけるものでは無い。

 単純に前向きに見えて一つ「これだ」と見えると突き進むのではなく、時折小休止を挟んでじっくりそのポジションを捉えてみる事が大切なのである。



 自己啓発は大きな課題ではあるが、根本的な問題は当人のモチベーションにある。

 個人のやる気は他人には制御できない。これを上手に利用するチームワークが発揮できるプロジェクトこそが成功のカギを握る。



 独りよがりでは無く協調的で、肯定的で否定的では無く、常にチームのポジションを意識できる。

 これがプロジェクトの要であると確信する。



キーワードはP.D.C.A. 自己啓発 自己研鑚 ジレンマ モチベーション


Leave a Comment more...

P.D.C.A.とか自己啓発とか

by achi on Feb.15, 2011, under プログラム

 既に二年以上前に自己啓発支援と位置付けてP.D.C.A.の思考サークルを回すお手伝いが可能なようにとプログラムを作成した。

その後一部利用している声も聞いたが、果たして効果が上がっているのか大いに疑問であった。
そもそも「自己啓発」であるから、個人の意識やモチベーションに依存する。それでも支援ツールなのだから少しは貢献して欲しいと願っていた。

今見直しを進めようとしている。前回はP.D.C.A.の思考管理サークルに「なぜの繰り返し」をアドバイスした。しかしP.D.C.A.に対して「何故」を盛り込もうとすると通常の思考経路からは外れてしまう側面も持つようだ。
そこで今回は「なぜの繰り返し」に主眼を置いて開発して行こうかと考えている。
名付けて「なぜなぜヘルパー」。事象の発生に対して追記がしやすく、自分自身の「気づき」を支援することを目標にしたい。リリースはいつになるか分からないが自分なりに納期を決めている。

キーワードはP.D.C.A. 自己啓発 自己研鑚 ジレンマ モチベーション

Leave a Comment more...

カレンダプログラム

by achi on Oct.29, 2010, under プログラム

 ちょうど一年ほど前の2009/10に出かけた先で急に三か月先のカレンダを見たくなって急きょ作ったプログラム。
 その後仕事でも使えないかと試行錯誤を繰り返して、ある程度形になったところでリリース。

 このプログラムは、今月から六カ月間のカレンダを表示し、指定した日付で情報を保存できる機能を持たせた。
 一年経過すると記録したファイルもかなり増えている。

 今回「どこかに書いたなぁ」と不確かな記憶でファイルを保存しているフォルダを開いてみるものの、ファイルの一覧を見ただけでげっそりしてしまい、結局中身まで確認できないでいた。
 もちろんこのファイルの中には不要なものも存在するはずだが、きっと重要な記録もはるはず。
 そこでこのカレンダプログラムを少しだけ改良する事にした。端的に言えば機能を追加した訳だが。

 カレンダを表示しながら決められたボタンを押すと保存されているファイルの一覧が表示される。
 どれかファイルを選択すると内容を表示する、と言う単純なものだ。
 もちろん選択ファイルの削除も実施する。
 とりあえず一旦保存した情報の価値を考えて内容を更新する事は考えていない。

 と言う事で久しぶりのリリース。
  MyCalenderVer.2.0 

Leave a Comment more...

奇貨居くべし

by achi on Nov.12, 2009, under Books



 書きたい事は実はままあるものの、時間の作り方と文字の起こし方がへたくそで、こう書くとかなり不器用な人間に見えると思いますが実はその通りなんです(-_-;)

 出かけるたびにデジカメの威力を発揮してはPCに画像を保存する。その繰り返しでたまった写真は眺めているだけ。ちょっと気に入ったのがあれば印刷してパネルにでも入れればいいのに・・・と自問自答してみたり。。。



 だけど、このところのこの怠慢とも言えるブログ放置は、実はこれらの影響なんです。



奇貨居くべし―春風篇 (中公文庫)



奇貨居くべし―火雲篇 (中公文庫)



奇貨居くべし―黄河篇 (中公文庫)



奇貨居くべし―飛翔篇 (中公文庫)



奇貨居くべし―天命篇 (中公文庫)



 最初に春風編を手に入れたのは2003年頃だったと思いますが、そもそも当時は読書にさほど興味がわかず、ずっと放置されていました(放置フェチ?)

 最近四書から菜根譚、史記、諸子百家と読み進めて、一休みのつもりで春風編を最初から読みなおしました。



 実は寄り道のつもりで読みだしたこの物語が、本当はとても魅力的な物語で虜になってしまったのでした。

 一日に読書する時間はほんのわずかなんですが、一冊読むのに一週間もかかりません。熱中すると時間の経過も忘れますね。



 秋だから?


Leave a Comment more...

賢書、良書

by achi on Jul.25, 2009, under Books

言志四録 1 (講談社学術文庫 274)


言志四録 2 (講談社学術文庫 275)


言志四録 3 (講談社学術文庫 276)


言志四録 (4) (講談社学術文庫 (277))


大学 (講談社学術文庫 (594))


孔子・老子・釈迦「三聖会談」 (講談社学術文庫 (574))


中庸 (講談社学術文庫 (595))



2009年7月約一ヶ月間に読みふけった書籍。  賢書、良書と出会うのはほぼ偶然なのかも知れないが、結果的に四書と出会うことが出来たのは幸せな事なのかも知れない。

 悩み憂いているからこそ考え、向上する。儒教の原点も未だ見えないところではあるが、ここから「論語」「孟子」と進むに当たって書き記しておこう。

 もっと早くに出会えれば、とも感じたが、今だからこそ出会えた本ではないだろうか。




 全てのことに感謝せねばならないと痛感。

4 Comments more...

乱れた社会

by achi on Jul.15, 2009, under コーチング

 よく訪問するファシリテーターさんのブログで「人々が病んでいる」と言う投稿を目にした。

 まさに私自身が今感じていることとマッチしていると痛感し、「やはり俺だけでは無かった」と心強く思った。


 人が、社会が病んでいる実態にみんな気付いているのだけれど、何をどう対処すればよいのかわからず、悶々としているうちに悪化が進む。

 ごく当たり前に人間が人間らしく生きることだけを心掛ければよいのだろうけれど。



人に対しても自分に対しても「敬い」を心掛けよ、と書いてある書がある。人に対しては「思いやり」であり、自分に対しては「つつしむ」ことであると言う。

まさに今の社会で欠けているものではないだろうか。

言志録にある五倫(仁・義・礼・智・信)をしっかりと学び伝えるべき時代であるとさらに痛感する。




心の目を養いたい。

Leave a Comment more...

賢書

by achi on Jun.18, 2009, under Books



 良書に出会うと次々読みたくなるのは誰も同じか。学生時代は国内各受賞作品に没頭したが、何れも作家さんたちの処女作が多かった。

 このところ良書を探すことに興味を抱いてきた。

奇貨居くべし

 ジャンルとしては好みが分かれるではあろうが、じっくり読むにはふさわしいと感じる作品。言葉の意味もかみしめて登場人物と付き合ってみたい。


言志四録


 どちらかと言うと学術系か宗教系か判断は難しいだろうが、生きて行く上で特にビジネスにはヒントが多いと感じる書籍。

 古人と会話する方法が伝授される。


1 Comment more...

環境変化と思考変化

by achi on May.27, 2009, under コーチング


あらゆる職種で業務上あらゆる物事は通常一人だけでは発生せず流れも起きない。
特にルーチンワークは必ず複数の人が介入する。
販売管理や顧客管理などの中でも、データのみを扱うプロセスではさほど思考を必要としないが、イレギュラーな作業ではほぼ確実に複数人の思考が入り込み、フローの分岐によって結果が異なる事も多い。

注意点として、「他人の思考は常に変化する」ととらえねばならない。

 以下、部下に告げた内容。
先に稟議書の件で「一旦承認を受けているので」と言う話が出て、「その時の経済状況と同一かどうかを客観的にも判断した上で妥当な結果へ導くことが大切」と教えた。
これは企業の経営状況ももちろんだが、管理体制や人事配置に関しても変化を伴っている可能性がある中で、同一案件が同一処理で流れる事はあり得ないと言う発想である。

もっと具体的に述べるなら、たとえば営業所の誰かからExcelを使った資料作成の依頼が入ったとしよう。
その時点では「何と何を見たい。こういう風に並べて表を作ってくれないか」と言う依頼だった。
数日間資料作成にいそしみ、依頼人が要求するものは網羅したと確信して資料を提示した。
ところが気持ちよく渡したはずだが、本人の表情には満足感は無かった。

これは何故か?

人間というものは極端な話、数秒単位で思考が変化する。
依頼した時点でイメージしていた目標物とその目的に関して、依頼後に新たに蓄積された知識や情報から、依頼物に対する期待感が変化する事が多い。
次に人間の思考は常に自分の意識の中で自然に相関関係を作り上げてしまう。
依頼した資料は、依頼時点のものではなく、今現在の知識や情報が加えられて既に変化しているのだ。

だから提示した際に満足出来なくなっている。本人はこの意識の変化には気づいていない。

これを依頼時に細かく記録を取って、提示した際に不満を述べられても「こう依頼されたのだから、結果は要望通りです」と告げるのは果たして適切か?

実はこれは相互関係を崩している典型なのである。

依頼を受ける際に、目標物や目的、期待した効果や結果をきちんと説明する責任がある。
受ける側もしっかり理解する必要がある。
その上で双方がこの”目的物”の完成度を高める努力をするべきなのだ。

そうすることで双方の成長度合いが増し、結果的に期待以上の効果が出る頻度が高まる。

これが正しい相関P.D.C.A.の実践方法であると確信する。

3 Comments more...

Just break as your time.

by achi on May.18, 2009, under Diary

Komatsu Airport.

All Nippon Airways

Japan Air Lines

Japan Air Lines

Leave a Comment more...

CIntとRoundの予想外結果

by achi on May.14, 2009, under プログラム

 ごく常識的に利用してきたCInt関数とRound関数。

ある日部下から指摘を受けて妙な現象に遭遇。

計算結果が期待どおりになっていないと報告を受ける。

調べてみると、「まるめ」を行っている為に期待した四捨五入とは異なる結果が格納されている事が判明した。MS-KBで調べてみると、独自の誤差を調整する目的で偶数に近い方でまるめ処理が行われているような事が記載されている。

ここでCIntとRoundが使えないことになる。

これまで信頼して利用していただけに、この結果には残念な思いが残るが、それだけ浮動小数点の扱いは慎重に行うべきだと言う事か。

ASPも.NETもオリジナルの四捨五入関数が必要だな。

念のため、現役SEにも尋ねてみた。すると返答は、

「業界では常識だよ」との事。もっと早く教えてくれよ。。。

2 Comments more...

効率を追求すると逆効果

by achi on Apr.28, 2009, under プログラム

  2009年1月に着手したプログラムがある。
社内で利用するものだが、一旦社外のサーバーへ接続してデータを取得。その後データを自動編集して全銀フォーマットに成形するものである。

初期段階で基幹データ処理を委託している業者のサーバーへの接続手続きがあって、そこで当然IDとパスワードをエントリする必要が発生する。
利用する部署はその手の管理に疎い(と勝手に想像・・・)人が多いため、それらの管理はこちらで実施する事としてまず当面はIDもパスワードもプログラム内に埋め込もうと考えた。
もちろん本稼働時には仕組を変えたい。

最初に接続して圧縮されたデータを取得し、取得完了後に圧縮ファイルの解凍までを操作せずに流すようにしてみた。
この時作られたプログラムファイルを逆アセンブリとダンプで解析したところ・・・

 なんと!!!
IDもパスワードも丸見え!!!

予想はしていたものの、実際に見えるとびっくりするもんだ。。。
いくら内部だけで利用するとは言え、こんな仕様ではあまりに危険だと感じて、何とかせねば、とずっと試行錯誤していたわけである。

数日前に「文字を別のコードなどで置き換えてはどうかな」と考え始め、まずはChr関数を使ってダイレクトに表記しない方法を試してみる。
しかし変数に格納する段階で変数が定数的に確定扱いになっているようで、コンパイルするとまんま記述されてしまう事が判明。

う~ん、と悩んで部下にも正直に相談して、何と部下から一つのヒントが出てきた。

「変数と言う物は可変扱いですから、構造的に二段階くらいで変数を置き換えてはどうでしょう」

う~ん、何だか意味がよくわかんねぇけど、とにかくやってみるか。。。

自己流の二層変数(そんな名称でいいんかい・・・)をつくり出した。
こんな感じ。

Dim Str1 As String = “0123456789.”
Dim Str2 As String = “abcdefghijklmnopqrstuvwxyz”
Dim Str3 As String = “ABCDEFGHIJKLMNOPQRSTUVWXYZ”
Dim ipad1 As Integer = 2, ipad2 As Integer = 10, ipad3 As Integer = 3, ipad4 As Integer = 11
Dim ipad5 As Integer = 2, ipad6 As Integer = 7, ipad7 As Integer = 9, ipad8 As Integer = 11
Dim ipad9 As Integer = 4, ipada As Integer = 5, ipadb As Integer = 3, ipadc As Integer = 4
Dim ServAdr As String = “”
ServAdr = Microsoft.VisualBasic.Mid(Str1, ipad1, 1) & Microsoft.VisualBasic.Mid(Str1, ipad2, 1) & Microsoft.VisualBasic.Mid(Str1, ipad3, 1) & Microsoft.VisualBasic.Mid(Str1, ipad4, 1) & _
Microsoft.VisualBasic.Mid(Str1, ipad5, 1) & Microsoft.VisualBasic.Mid(Str1, ipad6, 1) & Microsoft.VisualBasic.Mid(Str1, ipad7, 1) & Microsoft.VisualBasic.Mid(Str1, ipad8, 1) & _
Microsoft.VisualBasic.Mid(Str1, ipad9, 1) & Microsoft.VisualBasic.Mid(Str1, ipada, 1) & Microsoft.VisualBasic.Mid(Str1, ipada, 1) & Microsoft.VisualBasic.Mid(Str1, ipad8, 1) & _
Microsoft.VisualBasic.Mid(Str1, ipadb, 1) & Microsoft.VisualBasic.Mid(Str1, ipadc, 1)

これは接続先のIPアドレスだけを定義する部分だが、同じ理論でIDもパスワードも格納してみて、ランタイムには平文では記述されていないことは確認できた。
もちろんこれで完璧なセキュリティ対策ではないのだが。。。

こんな風に考えると、効率を求めてロジックを組むことに慣れていると、意外な落し穴に気づかない事になる。

Leave a Comment more...

社員総出

by achi on Apr.08, 2009, under Diary

 数ヵ月前から大きなプロジェクトで出張が続く息子。

苦労の連続で失敗も多い様子でかなりめげていた。責任感も強いのでなおさらだとは思うが、どんどん仲間や上司に相談するようアドバイスしていた。

チーム構成までは知らないが、とても追い付く状況では無いだろうと案じていた。

「いよいよ社員総出で取り組むことになった」とメッセージが入った。

どんなに大変でも、社員総出を可能に出来る企業の体質とはどういうものだろう。

恥ずかしい話だが、私の勤務先では不可能では無いかと感じている。

それぞれの社員が受け持っている業務は確実に異なり、納期も限られているものも多い。もし自分が「だれそれの応援にすぐ行ってくれないか」と依頼されて動けるかと言うと難しいと思う。

こんな連携が出来る企業が実際に存在する。

問題はそれなりにあるだろうが、こうやって動ける企業に魅力を感じる。

動いてくれる社員さんにも魅力を感じる。

とても素晴らしい事だと感じた。

Leave a Comment more...

迷い

by achi on Mar.22, 2009, under コーチング

 P.D.C.A.だの暗黙知だのと指導育成・コーチングを学ぶにつれて悩みが大きくなって来る。

上層からは「作業項目をマニュアル化して、誰でも引継ぎ出来るようにせよ」と指示が出た。

SEとしても無論の事、ネットワークやサーバーの運用監視作業に携わる人間として、これまで小規模で不安定な環境から、ある程度の規模で安定性を維持出来るまでに育てあげて来た経験から言える事は一つ。

「学習も経験も重要ではあるが、統合管理システムが存在しない中で、手作りや手作業で培って来たものはこの種の職人技である。」と言う事。

これをマニュアルと呼ぶ手順書にまとめる事など本当は不可能では無いのだろうか。

だから世に言うナレッジマネジメントやグループウェアなどがその本来の機能を発揮できないのでは無いだろうか。

極論を言うと、技術系の労働者だけでは無く、営業に携わる人達だって、それはその域の達人では無いか。彼らも無意識に職人として独自に築き上げてあげて来た物も少く無い為に、後継の育成には苦労しているのでは無いか。

ではどうすればよいのか。

職人の技を学び取る為には”弟子入り”が近道であろうと考える。

人事異動計画も師匠の技が本当に必要かどうかをきちんと判断した上で、必要であれば弟子の成長目標を設定した上で、期限つきの人事異動を実施するべきである。

具体的な「職人の技を企業の資産にする仕組」が無い為に、悪循環がはびこると感じてならない。

簡単に「お前の仕事を整理して部下に教えろ」と言う企業は淘汰されて行くのでは無いだろうか。

Leave a Comment more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...

Archives

All entries, chronologically...