日別アーカイブ: 2017年3月2日

ITにおける「置換」

ITでは「置換」が頻繁に出てきます。

ソフトエンジニアの、基礎知識であり、ITに置ける本質的な部分の一端を成すと言えば、大げさかもしれませんが。いろんなシーンで「置換」は出てきます。

特に、C言語でマクロを理解するには、多分「置換」は外せないと思うのですけど…。

と言う事で、また、検索結果を、二個ほど提示させて頂こうと思います。

プログラミング技法 置換

プログラミング技法 マクロと置換

その他、事務系では、ワードプロセッサや、スプレッドシートで、データの置換位は出来ないと、作業効率あげられないでしょうとか。

viやemacsで置換をするのは、プログラマーの基礎技術じゃなかったっけ?。

とか。

私自身は、とても未熟ですので、下記の文章を書くのは厚かましいと思っています。私の勘違いなど有りましたら、ぜひコメントに頂ければ幸です。

さて、先ほど、viやemacsと書きましたので、余談になりますが、UNIX系技術者なら、ご存知の、環境変数について書きます。

各自に払い出された個人アカウントで作業している場合は、いいのですけど、共通のアカウントで作業する場合、環境変数は、勝手に変更しては成らないのです。

各自、UNIX系技術者なら、環境変数に、あれこれ仕込んでおられるでしょう。仕込んでいると言う言い方は適切では有りません。作業効率アップを目指してカスタマイズをなさっていると思います。

ファイル削除コマンドのオプションで、「ディレクトリは消さない設定」で運用していたり、「ディレクトリも消す設定」で運用していたり。

共通のアカウントの環境変数の設定で、「ディレクトリは消さない設定」で運用している中で、誰かが、それを「ディレクトリも消す設定」に変更したりすると、困ったことが発生する事があります。変更の仕方によるのですけど、ログイン直後に読み込む環境変数設定関連ファイルをいじらずに、作業中の環境だけで設定値変更しているなら、他への影響は比較的少ないかもしれませんが、その作業環境で実行するコマンドやプログラムやスクリプトには影響が出るかもしれませんので、注意が必要です。

さて、この環境変数関連のファイルを書き換えると、以後その共通のアカウントでログインをしてくるメンバーの作業環境にも、変更が適応されます。怖いですねー。

なので、新人が入来た時に、新人の熟達度がどのくらいかによりますけど、UNIXの初歩のマニュアルを読みながら、環境変数をいじっていたりしたら、共通アカウントの設定をいじらないように指導することが大切です。

クーロンで動いているプログラムや、スクリプトやプログラムは、環境変数の影響を受けますので、環境変数をいじる場合は、その辺も考慮して、影響を出さないような変更を行うべきです。そうじゃないと、過去のソフト資産を作り直すとか修正することになり、修正や作り直しは検証作業を伴い、その分、労働が増えますので、とても大変です。

環境変数で設定可能な項目は多岐に渡りますので、どこで何が何に影響するかを知るのも、もしかすると結構大変かもしれません。

逆に、そう言う状況が予想されますので、ソフトエンジニアは、環境変数に配慮したソフトを組むべきなのかも知れません。

そうそう、Windowsにも環境変数は有ったと思いますが、そんなに意識しませんね。

ITでは、良く出る「隠蔽」

隠蔽を英語に直しますと「hide」や「hiding」になるかと思います。

さて、日本語で、「隠蔽」と言う発音を聞くと、余り良い感じがしませんが、IT業界では「隠蔽:hiding」は、ちょっと違ったニュアンスで、頻繁に使います。

その辺の事について記述されているWEBを検索しました。

要するに例えば、プログラミングと言う仕事をすると、えてして、作っている物が、複雑に成りがちで、判りにくくなりがちなので、何とか分かり易く出来たら良いね。と言う事で、一連のややこしい部分を関数として切り出す等して、必要最小限のデータだけを、関数との間でやりとりすることで、実際にその関数内部で行われる複雑でややこしい事を、関数をコール(呼ぶ)側のプログラマはそんなに意識しなくてもよくすると、仕事が楽になるよね。プログラムコードも読みやすくなるよね。生産性も上がるよね、と言うアプローチの一貫として「隠蔽」と言う事や、言葉が使われるシーンが結構有ります。

メニュー等の、プルダウンメニューとかポップアップメニューとかもそういう、ニュアンスが有りますよね。

普段なるべく見えないようにしておいた方が、画面を広く使えて良いよね、とか、べったりと画面全体に総ての機能のボタンが出てくるより、カテゴリー分類され、階層化されて、その時必要とする機能じゃないメニューは隠しておいた方が使いやすいよね、とか、そういうアプローチで、「隠蔽」と言う技法が使われています。

と言う事で、ソフト関係や、通信関係等、IT関係全般について、そういう傾向が有リますので、悪い意味での「隠蔽」と言う概念で「隠蔽」と言う言葉を使っていないことも、多いのです。

ちょっと知っておいて頂ければと思いまして。

こういうのはトリビアになるのかなー?成らないのかな?。

ITの全体像を完全に理解したいとか、完全に把握するには、隠蔽されている部分についても注目して、内部の挙動をつぶさに理解し把握することに成ると、思いますけど、並大抵の精進や努力では到達が難しいと思えます。

ギアが3枚有って、どう噛み合って居てどれが、どちらに回れば、どれがどちらに回るとか、ギア比で、どのギアをどの程度の力で回せば、それぞれのギアに、どの程度の力が加わるかとか、ぶつさに理解するような作業です。

と、ここまで書いていて、思いついたのですが、

オートマチックの自動車のシフトレバーと、
実際の変速機構における、ミッションと、
それをコントロールするソフトウェア的
制御機構をイメージするとします。

運転しているドライバーは、シフトレバーの位置くらいしか意識しないと思います。
この様にドライバーに内部の状態を隠蔽しているからこそ、内部メカニズムのタイミング制御などにドライバーは気を取られることもない。

そう言う、例え話が出来そうに思えます。

保護中: image

このコンテンツはパスワードで保護されています。閲覧するには以下にパスワードを入力してください。