2012-02-16

「宣言」じゃなくって「定義」しよう!

どもです。

早くも2月も半ばに…早いっすねぇ。

この調子じゃあ、今年1年なんてあっ………………………………………って間ですぜ、お客さん。 って誰やねん!


は、置いといて。

この仕事(システム開発)をしてて特にプログラマで参画してる場合にありがちなのが、

ろくにメンテされていないドキュメント、或いはドキュメント自体が存在しないプログラムの改修又は、バグつぶし
だったりします…よねぇ。

まあね、やってって言われればブツクサ言いながらもやりますよ。
基本そういうの嫌いじゃないし。
はい。

でもね。もうチョットどうにかならんもんかなぁとも思ったり。

やってて困るのは、
  • 変数の定義が適当
  • ローカル定義すればいいものをグローバル定義して使いまわす。
  • 意味のある定数値にも関わらず、名前の付け方に意味を持たせていない
ってヤツ。

ロジックはね、あくまでも「手順」だから何とかなるんです、何とか。
でもその為の手がかりは変数、構造体、定数値の定義なんです。
ここに一番ある意味気を使って欲しいのにそうなっていない事が以外に多い。

で、ここまで読んで気が付かれた方もいるかも知れませんが、
変数の「定義」って書いてます。
ここ、普通は「宣言」って書きます。

「宣言」と「定義」は違います。

個人的なイメージで申し訳ないけど、
  • 「宣言」は、使用を表明する。
  • 「定義」 は、意味を限定する。
 と言う感じ。どっちがより強い意味合いかは分かりますよね。

そもそもプログラミング言語の世界で、「宣言」って全然ロジカルじゃない気がするんです。
本来ならデータの「定義」である所を「宣言」って言っちゃったのは失敗じゃないか?
「定義」とすればもっと使い方、意味付に慎重になるんじゃないか。

辞書に意味を定義する

このイメージが出来れば、先に書いた3つの「やられて困る」は減るんじゃないか、
ひいては(極論すれば)ドキュメント無くってもプログラムの解析は楽になるんじゃないかと思うんですよ。

そう言えば、JavaのToolで「難読化」させる奴が有ったよな。
Javaってコンパイルしても元のソースのイメージが残るらしくって、意味の分かる変数名がそのまま残ってるとjarファイルを直接解析して、ソースに起こすことが出来るらしい。
「難読化」ってのはソース上付けられた意味のある名前を無意味な名前(それこそ'a'とか'a1'とか)に変更するToolらしいです。

うーん。
でも結局は、プログラマのポリシーだよな。
そういう所に拘れるプログラマってのは総じて「良いプログラマ」だと思う。
で、そう言うプログラマを育てて行かなきゃいけんのよ。

あーーーっ、そこに落ち着いたかぁ。



では〜。



2012-01-29

Ubuntu: kernel compile "undefined reference to `amd_get_mmconfig_range'" について

どもです。

2日ほど前に、Ubuntu 11.10のkernel updateが来たので今日rebuildしたんですが、こんなエラーが出てきました。

/usr/src/linux-source-3.0.0/arch/x86/pci/amd_bus.c:189: undefined reference to `amd_get_mmconfig_range'
 まあ、メッセージ自体は読んだ如くで検索すれば一応パッチも在るようなのですが…、うーん、Officialなのを待つ…かなぁ。

ぶっちゃけ、ここ[PATCH 1/2] x86, amd: factor out MMCONFIG discovery とかは、まあ、なんとなく分かりはするんですが、これでハマるのは嫌だなと思ったりしてます。

てな訳で、今回はスルー。しばらくはGeneric Kernelを使います。


同じ問題抱えてて、ここ観に来た方には後ろ向きで申し訳ないけどね。

では〜。

2012-01-22

成してきた事

どもです。

こんな時間だからか、それともやっぱりチョットショックだったからなのか…。

先日来たDMに自分の年齢が書かれていて、それを見た自分自身が「アレッ?!」って思っちゃいました。
”49”
そう書かれていた。

自分自身、そうは思っていなかったので(おいおい)もう50に手が届くところまで来ていた事を改めて考えてみると「今までの人生って、どうだったんだろう?」って考えざるを得なくなりました。

”50”…。人は、産まれた環境も、育った環境もそれぞれだし双子と言えども違っている事を考えると「自分の人生って、これでも良いのかな」とも思ったりしている。ただ、やっぱりそれは「何も知らなければ」の話。

少なくとも、20代で統一教会に来て、(それなりではあるけど)歩んできた身としては、神と自分の関係性に於いて「神様にがっかりさせっぱなし」だとしか思えなかったりしている。
「人には神様から与えれれた責任分担がある」という考え方からすれば、”大事をなす人”と”小事をなす人”とが居るんじゃないかとも思うが、それだって単なる言い訳の様な気もする。
そんなこんなで、ある意味あっという間に歳を重ねてきた感もある。

「ある所で出来なかったことは、やはり1回りして同じ様な状況を与えられる」と言う事を以前から感じていた。
それは例えば、住む所。
名古屋から出てきた時以降で言えば、
  神奈川 -> 埼玉 -> 東京 -> 大阪 ->
  -> 神奈川 -> 東京 ->
  -> 神奈川(今ここ)

と言う具合。
まあ、単なる偶然と言われればそれまでだけど、その時々が転換点だった事は確か。
特に大阪に行った時。
神奈川に住んでいた時に一度教会には来ていたんだけど色々と有って行くのを止めてしまっていた。
「関東で駄目だったからと関西に行かせてそこでまた(教会に)来てもらおう。」
と神様が考えたかどうかは判らないけど、自分としてはそういう意図みたいなものを感じざるを得なかったりした。それ以外にも自分が気が付いてないだけでもっと在るのかも知れないけどね。

さて、この一年はどうしようか?
自分の手の届く範囲で頑張るしか無いと思ってる。
自分の事以上に子供たちの事の方が心配。
どうやって責任をもっていくのか。

考えは尽きないけど、やっていくしか無い…よねぇ。

ま、そんな訳ですので、よろしく!(誰に向かって言ってる?)


あ、因みに。
「自分の手の届く範囲で頑張る」
って、仮面ライダーオーズの火野映司のセリフを思い浮かべる人が多いとおもうけど。
自分としては、士郎正宗のアップルシードの中で主人公の一人、ブリアレオスが言ってた方を思い浮かべます。



てな訳で、またねゅ!

短信

どもです。

前回の更新から3ヶ月位開いちゃいました。テヘ

時間が取れなかったという以上にPCのキーボード不調で長文入力がし難かったこともあってネタはそれなりに有ったのですが更新できませんでしたぁっ。



今年はまあ昨年の影響を色々と引きずりながら始まりましたが、どんな1年になるのやら…。

これからもボチボチとユルく更新してきますのでよろしく。  ネッ。

2011-10-13

Memo: Ubuntu 11.10 (Oneric)でのmozcのBuild について

どもです。

久々の更新。

これを書いている時点では、Ubuntu 11.10(Oneric)のリリースはされていませんが、既にカウントダウン状態なので、ホントにMemoにしかならないと思います。


OnericのBeta環境が前提です。正式リリース後には状況は変わると思いますので。悪しからず。


OnericのBetaをインスコして、mozcのBuildを使用とした時、端末から debuildをたたいてしばし。
こんなメッセージが。

dpkg-checkbuilddeps: Unmet build dependencies: libibus-dev

最初は、 libibus-dev がインストールされていないというメッセージだと言うので、
apt-get install libibus-dev
したのだけど、 "libibus-devが無い"と言われる。
???

Onericになって、パッケージ名が変更になったのか、正しくは、
"libibus-1.0-dev"

さて、これで…と思って、先のaptを

apt-get install libibus-1.0-dev

でやって見ると、"既に最新版"と言われる。
 ???


さらに探してみると、lunchpad.comにbugとしてこれ、あがってました。

んで、ここにパッチがありました。(あわしろさんThanks!)

本来なら、このパッチをDownloadして適用するんだろうけど、チト面倒だったので、パッチの内容をそのまま、geditでやっちゃいました。

具体的には、

~/src/mozc/src/debian/contorl の中、最初の方に

Source: mozcSection: utilsPriority: extraMaintainer: Yusuke Sato <yusukes>Build-Depends: debhelper (>= 4.0.0), libibus-dev, libcurl4-openssl-dev, pkg-config, libprotobuf-dev, protobuf-compiler, libgtest-dev, libqt4-dev, scim, libscim-dev, gyp, libzinnia-devStandards-Version: 3.6.2
があります。
この中の "libibus-dev" を "libibus-1.0-dev" に修正 > 保存 で、OK

あとは、通常通り、debuild すれば、めでたく完了!



で。
最初にも書いた通り、Onericのリリース目前、しかもlunchpadにパッチがある状態なので、正式リリース時には、役に立たないかもです。

では〜。

2011-08-08

SAP APOの事

どもです。

えと、どこ行っても悪口言われる、APOです。 ^^;

結局、APOって「何してるの?」って聞かれた時に、「えと、PPとMM-MRPを専門にやってます」みたいなこと言うと、決まって「じゃあ、PPとMMでいいじゃン」て事、言われます。
「わざわざ、サーバー1つ立てて運用しているのに、既存のモノで賄えるのに…。」

まあ、そうなんですね。 ^_^;
それについて、反論できない自分が居たりして。

ところが、先日、SAP の Online Helpを見てた時の事、こんな図を見つけました。



この図は、『複数のR/3とデータ連携するAPO』 って図なんですが、これ見て、
「ああ、なるほど、そうなのか」と妙に納得してしまいました。

例えば、R/3単独で、導入した場合は、こんな感じ。


この場合、MM-MRPもPPもその中だけで動いていれば良いんですね。

ところが、複数の事業所(or 工場)でR/3を導入した場合。





この場合、各々のR/3と言うよりは、MRPやPPがそれぞれ個別に動く事になります。

ここで問題になるのは、それぞれで生産する製品が重複している場合、または、製品で使用する部品(構成部品)が重複する場合。

例えば、部品が重複する場合、
  • その部品の仕入先に対して個別に発注が発生する。
  • 部品の在庫管理もそれぞれでやらなきゃいけない。
  • それ以前に、会社としての生産管理って観点で見れば、1つの製品を複数の工場で生産する際の分散(割り振り)をどうするか?

やりようは有ると思います。常に中央(例えば本社)が取り纏めて逐次工場に対して指示をする…。

でも、これだって工場が1つ2つ。製品や部品点数が少なければOKだと思いますが、複数の工場に対する複数の生産品と部品点数が両手で数えられない位になったら、はっきし言って「担当者…死にます」。
(まあ、それでも何とかやっちゃうとは思いますけどね、R/3からの出力をExcel使って…って)

で、それに対する回答がAPO(あるいはSCM)。


はい、何が違うのか一目瞭然。
今まで(R/3単独)でやっていたMRPとPPを外に出して、かつ、複数のR/3との間で連携しながら動作する…のが、APO。

こうする事によって、何が嬉しいかと言えば、
  • 構成部品の発注を一括して行える。
  • 生産の割り振りの分散がしやすい。
  • 在庫管理は工場毎だが、在庫状況に合わせて発注が出来る。
  • 場合によっては、在庫状況に合わせて、部品などの移動も出来る。

ってトコでしょうか。
生産計画や需給予測がまとめて出来るのは結構大きいんじゃないかと思います。

逆に言えば、
「複数の工場に対しての生産指示/購買を本社から直接行っている。」
様な会社さんではAPO入れるメリットって殆ど無いと言っても良いと思います。
こんな感じ。







って言うか、APO導入にかかるコストの事を考えると、こういう所の方が多いのかも知れない。



自分自身、APOってものについて”機能の限定的な利用”ではあるけれどもやって来て思うのは、
導入してるトコがあんまりないせいなのか、ノウハウの蓄積が無い様にも感じます。
特に、データ連携のキモとも言うべき、"CIF" については…。 (-_-;)

使いこなせれば、すごく良いんだろうけど、そこまでトンガッた使い方してるトコって有るんだろうか?
(まあ、Microsoftも入れてるみたいですけど)

APOもSCMに格上げ(?)されて、BWとの連携も出てきて、この辺も、まだまだ面白くなりそうでは有ります。

まあ、

その前に…、

「APO = MRP, PP だけ。」
って認識を、システムベンダ側から取り除くのが先だな。
この認識だけである限り、APO(SCM)の正当な評価は期待出来そうにないしィ〜。


て、事で、

では〜。

2011-08-02

ゴーカイシルバー名乗り口上 & おまけ

どもです。

7/31の「題名のない音楽会」をご覧になった方も多いかと思います。
ウチもいつもなら、スイプリ終わったら即、テレ東の爆丸に行っちゃうんですが、その日はたまたま、もたもたしてたところで
オーズ & ゴーカイジャーが出てるトコを観た娘が、「こっち見る」と言って、しばらく観たんですが、
その中で、ささき いさおさんが「進め!ゴレンジャー」を歌っていて、
「あれ?この歌詞と言うか言い回しっていうか最近、聞いた気が…」
と思って、しばらく考えてんですが、そうなんですよ、ゴーカイジャー 17話「凄い銀色の男」でのゴーカイシルバー初登場時の名乗り口上
真っ赤な太陽背に受けて
青き心に正義は宿る
黄色い歓声浴びまくり
プニプニほっぺをピンクに染める
緑の若葉のニューヒーロー

金銀輝く
その名も!ゴーーーーカイシルバー!
って感じ。
で、ゴレンジャーの歌ってのが

ささきいさお/堀江美都子さん『進め!ゴレンジャー』の歌詞 via うたまっぷ.com
(著作権やらなんやらで面倒なんでLinkでご容赦)

これの1番なんて、まんま名乗りと同じじゃない?

まあ、ゴーカイシルバーこと猪狩 鎧って「誰よりもスーパー戦隊を愛する男」って設定だから、
あの名乗りも初代 スーパー戦隊である、ゴレンジャーに敬意を表してって感じなんだろうね。
逆に、それくらいスーパー戦隊が好きだというキャラクター設定にもなっている。
ってそんな事、普通に見てたら誰も分からんて!


おまけ。twitterで呟いたけど、だれも突っ込んでくれないので、ここに書いちゃう。
# スイートプリキュアネタです。

今回、新しく4人目(?)のキュア・ビートが登場したけど、それに絡んでの話し。

その1:
フェアリートーンの割り当て。
変身  ベルティエ
メロディ: ドリー  ミリー
リズム  : レリー  ファリー
ビート  : ラリー  ソリー

これで、残っているのは シリー だけ。
これの使い道が、「合体技」なのか、ミューズが使うのかはまだ分からない。

面白いのは、メロディ、リズムとビートでは、フェアリートーンの使い方の順番が逆って所。
メロディ: ド -> ミ
リズム  : レ -> ファ
ビート  : ラ <- ソ

あ、でも今気が付いたけど、
(メロディ) ド -> ミ -> (ビート)ソ
(リズム) レ -> ファ -> (ビート)ラ
で、和音になってる。

ホントは、メロディ、リズムのベルティエのクロスロッドの時もありそうだけど、
どっちがどっちにクロスしてるのか分かんないんだな。


その2:
メロディ、リズムのミュージック・ロンドと、ビートのハートフルビートロックで出されるリングの色が、
メロディ: 赤
リズム  : 黄
ビート  : 緑
で、ネガトーンにロック(?)した時の並びが(上から順に)
赤、黄、緑



ってこれ、\タカ! トラ! バッタ!/ \タ! ト! バ!/ \タトバ!/ \タ! ト! バ!/ じゃない!(ここ、響の声でね)

これは、まあ…ねらった…訳じゃ無い…よ…ね?


オーズも佳境に入ってますます目が離せなくなってますねぇ、どんな着地点を見出すのか、見せてくれるのか。


では〜。





Powered by ScribeFire.

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

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