Archive for the ‘休日’ Category

検査結果と今後の方針?

土曜日, 7月 13th, 2013

6月末の痙攣でいくつか検査してたのですが、最後の脳波検査の結果が今朝出ました。結果としては2回目(2009年12月)と一緒なんですが、極めて長い周期とはいえ同じ結果が出ているのがやや問題という感じらしい。そのことを踏まえた結論としては、

一部分にてんかんに類似した反応が見られるが本来なら問題無いレベル。一般的なケースのように症状が日常的に現れるほどではないようだが、数年間隔での発生とはいえもう3度繰り返していることを考慮すると治療の道も考えられる。ただし、治療中(2年ぐらい)は車運転NG。

とのこと。

2回目の時点では「たまたまかもしれない」ということで不用意に投薬するよりは様子見をしようという結論だったのですが、3回目で繰り返しているし、部分的ながらてんかんに類似した結果もでているしということで治療を選択する事にしました。

治療方針は、基本的には(正確な表現じゃないと思うが)脳の反応を抑える薬を飲み続け、量の調整と効果を確認しながら「薬が無い状態で脳波の状態が全て正常のまま」になることをゆっくり目指すというアプローチらしい。服用する薬はデパケンR錠200で、まずは1日3錠の服用から初めて2週間後(7/27)に血中濃度チェックしてもらって適量かどうかの判断してもらう予定です。そのページの説明を鵜呑みにすると「抑制系を活性化」するらしい。そういう抑え方なのか。ということは「治療」というよりは「病状と付き合う」という表現が近そう。そのつもりで前回から日記に書いてたから気にしてないですが。

デパケンR錠の副作用としては「眠気、注意力・集中力・反射運動能力などの低下が起こることがありますので、車の運転や危険な作業は避けてください。」らしい。日中の眠気・注意力・集中力低下具合が気になるけど、問題にならない範疇だと期待するしかないな。

期間的にはお医者さんの話だと「2年間」とか言われちゃったけど、実際にどのぐらいの期間になるのかは大分差があるだろうし、そもそも治すのでなければこれからずっと運転はできないのかもしれないのか。運転自体は好きじゃないけど、不便という意味では悲しいか。

ということで、少なくとも半年とか1年間ぐらいの期間で車運転できないのは確定っぽいので、職場である大学付近(or 自転車圏内 or バスでアクセスしやすい場所)に引っ越すことを検討中。現状だと片道バス乗換え込みで2時間弱かかって死ねるので。どこか良い所ないかなー。

体調不良?その2

日曜日, 6月 30th, 2013

またこんな感じの症状が出ました。今年1月の時点であったのはやっぱり予兆だったということなのかしら。ものすごく長い周期だが。

前の日記にもあるように数年周期で繰り返しているので、ある意味峠は越えた(次の峠は数年後)と楽観しても良いのかな。という具合に自分的には「またか〜」というぐらいに慣れてしまったので他の人に迷惑かけまくってるのは申し訳ない。今回は「情報倫理と情報社会」の宿泊集中講義で寝てる最中に痙攣してしまっていたらしい。先生方含む現場スタッフ皆さんのおかげで救急車&家族を呼んで頂き、北部病院&豊見城中央病院での取りあえずの診察が終わりました。ありがとうございました。

今回は、深夜の寝ている最中だったらしい(やっぱり記憶は無い)。
・目をかっと見開いて足バタバタ痙攣。
・救急車が来るでの間(10分程度)には意識復活(今までの経験上これは初めて)。
・舌に大きめの出血跡がある、全身の怠さ、頭痛、微熱、筋肉痛気味なのは一緒。
・まずは(近くにあった)北部病院で検査。CTと心音だったかでは変な所見当たらず。過去にも同じ経験があるということで紹介書書いてもらい、豊見城中央病院へ。
・豊見城中央病院では血液検査、心電図、尿検査。尿酸値が高めだったようだけど、これがてんかんや痙攣等に繋がる要因とは考えにくいらしい。(が、先月受診した人間ドックではそのあたりは何も指摘されてなかった標準値に収まってたので、間接的か何かの予兆になってる可能性はあるのかしら?)

今現在は、各病院で点滴受けて、家に戻ってご飯食べてようやく熟睡モードに入れて気だるさ感&微熱は解消しました。2回目の時は入院しましたが、今回は自宅療養+検査通いで火曜日に頭部MRIを予定してて、その結果次第で次を考えることに。この検査も含めて療養を兼ねて7/1-3は休暇を頂きました。

という感じで本人は筋肉痛気味な点以外は一応普段同様に落ち着いて、今は自宅療養で問題無いぐらいには元気になりましたという備忘録を兼ねた報告でした。


7/2(火), 頭部MRI検査するも特に問題無し。脳梗塞兆候としてのてんかんの可能性を見るという話で、その前の心電図や尿検査等では異常は見られてないため問題無いとは思うが念のためのチェックで、結果としては全く問題無し。今度(木曜日)は脳波を確認することに。


7/4(木), 脳波検査実施。光源や呼吸で負荷かけながらてんかんの傾向が見られるかをチェックするらしい。検査結果は7/13(土)に教えてもらえる予定。

(不定期コラム) 帰宅するまでが研修

土曜日, 6月 22nd, 2013

m_2013062211260451c50b3cafa4b m_2013062215342251c5456e78889

ここ数週間ぐらいは週末の夜にウォーキングが続いています。歩くこと自体は嫌いじゃないし、かといって日焼けするどころか凶器と呼べるレベルの沖縄の日中化で歩く気にはなれないので日が落ちてからのウォーキングです。少しは筋肉付けるために週に2,3回(2日に1回ぐらい)のペースでやるのがベターだと思うんですが、平日はちょっとやる気になれないし、まずは今のペースで続けられるだけ続けてみて体調にどう変化が現れるかを見てみるぐらいの気持ちでやってます。といいつつ組成計とかで何か計測してる訳じゃないですが、玉城先生からは「最近痩せた?」とか。多分痩せてないはず(単に夏で水分出てるだけ)ですが、それ以上に男に対してもそういうダンディズム溢れる話振りを貫いてるスタイルには驚きを隠せない。

コラム記事は、情報社会と情報倫理の宿泊集中講義が来週末(6/29-30)にあるので、それに向けた話を。


不定期コラム10回目は「宿泊研修は移動距離も長いので無理せずに休憩挟みながら帰ろう」というお話。

その1行で全てを言い切った感はありますが、

  • 当然ですが法定速度を遵守するだけではなく安全運転を心がけよう。
  • まだ運転免許取り立ての学生も少なくない。
  • 半徹/完徹しがちだったりするので、運転する人は集中力切れたようであれば素直に休みを入れよう。

です。20代前後のこの時期で、前日まで普通に授業入ってて、土日に友人らと一緒に長距離ドライブというシチュエーションも加わるのでアラート鳴りまくりな状況です。体が資本ですので、注意に注意を重ねて参加&帰宅しましょう。

(不定期コラム) アドレスの意味と、C言語でありがちなミスを観察してみる例題 / プログラミング1

土曜日, 6月 8th, 2013

m_2013060811582951b29dd5a1782 m_2013060815265051b2ceaa69125

写真はピーノ・ヴィーノの牛肉とキノコのボラーニャ風手打ちパスタ。パスタ本体はともかく、ともかくこういうソースを作れるようになりたいなー。

プログラミング1でポインタ周りの話に突入したらしい。ポインタ虎の巻とか参考になる情報源もいろいろありますが、代表的な鬼門だということで例題記事を一つ書いてみます。


ということで不定期コラム8回目は「アドレスの意味と、C言語でありがちなミスを観察してみる例題」を眺めてみます。

ソース: address.c

コメントやprintf()が多いので長く見えますが、char 型変数のメモリサイズを確認(step1)し、各変数のアドレスを確認(step2)、値を代入して出力確認(step3)、配列の範囲外にアクセスしてみる(step4)、範囲外も含めてアクセスした箇所のアドレスを再確認(step5)しているだけです。

環境によって実行結果も異なりますが、私の環境では以下のような結果になりました。

step1: char型変数のサイズを確認。
size: c=1

step2: 各変数のアドレスを確認。
address: &c=0x7fff5b7a8487, &d[0]=0x7fff5b7a8485, &d[1]=0x7fff5b7a8486

step3: 素直に各char型変数に値を代入して出力してみる。
char: c=1, d[0]=2, d[1]=3

step4: 用意した配列の外側にアクセスしてみる。
char: c=4, d[0]=2, d[1]=3, d[2]=4

step5: アクセスした変数のアドレスを一通り確認してみる。
address: &c=0x7fff5b7a8487, &d[0]=0x7fff5b7a8485, &d[1]=0x7fff5b7a8486, &d[2]=0x7fff5b7a8487

実行結果だけでは分かりにくいので適宜ソースとにらめっこしながら眺めて欲しいですが、ここで問題なのは step4 で d[2] へ値を保存した結果、変更していないはずの c の値が変わってしまっている(上記赤字箇所)ことです。

ここで確認しておきたい点は次の3点です。
(1) char型変数は1バイトで保存されること。
(2) 配列は連続したアドレス空間(メモリ空間)を確保すること。
(3) 配列確保時の個数を越えてもアクセス自体はできてしまう(アドレスによってはアクセスした時点でプロセスが死んでしまうこともある)こと。
この3点のためC言語プログラミングでは、step4のような「不適切なアクセス方法」が実行出来てしまい、それが原因となって想定外の結果を引き起こしてしまうことが少なくありません。

上記を踏まえて、クイズです。

  • このようなミス(予め確保した領域外へのアクセス)を防ぐ、もしくはミスに気づき易くするためにはどのような方法が考えられるだろうか?
  • char型変数は1バイトで保存されるが、int, float 等他の型では何バイト必要だろうか?
  • (発展課題) メモり空間上はバイト単位で区切る敷居と値を保存する領域が用意されているだけで、どこにも「char型変数を保持している」とか「int型変数を保持している」という情報は残されていない。例えばcahr型変数を1バイト、int型変数を2バイトで保存するとした場合、「連続したメモリ空間上の0x00から始まる2バイトの領域」にchar型変数が2個保存されているのか、int型変数が1個保存されているかを直接区別することはできない。C言語においてはどのように対応しているのだろうか?

(不定期コラム) 何をやるにしても体が資本

土曜日, 6月 1st, 2013

m_2013060112464851a96ea8a8cd3 m_2013060112483551a96f13a1fc3 m_2013060113433851a97bfa2d3dd

先週の個人面談ウィークで先輩主催のプログラミング補習にお世話になってる1年生が結構いるらしいということで、お礼を兼ねて話を聞いてみるべく主な主催者を集めてもらって馬之助で食べてきました。趣旨としては、去年先輩にお世話になって助かったので「何らかの形で今年は教える立場で」、「(同学年間でも一緒だけど)互いに教え合うことで一緒に乗り切ることを伝えたい」ということで授業の復習的な位置付けで課題設定したり、習ってる所までの復習をテーマにあれこれ検討実施ししているようです。イイネ!

一方、1年生に限った話ではないですが、体調崩してる人がちらほらいるらしい。


ということで不定期コラム7回目は、シンプルに「体を労ろう」というお話。

おじさん目線からは「若い頃は多少無茶しても少し休めば何とかなってたけど、今のうちに健康管理できるようにしてた方が」みたいな話になっちゃいますが、それでもたかだか入学して高校生活までと食生活やら居住空間やらの変更で大きく体調崩しがちな人もいるのも事実なのでやっぱり体は労った方が良いですよという結論。好き嫌いせずに適度にバランス良く食べよう。それなりに体動かそう。座ってるだけじゃ絶対に体が錆びるし。そしてなるべく夜更かしは避けて規則正しい生活で過ごせるようにスケジュールしてみよう。

自分自身の問題だけじゃなく、外的要因(ホコリ/カビ/etc.)も十分あり得るので身の回りにも気を配ろう。勿論共有の自習室等は皆で綺麗に保ってください。

(通常と違って)体調不良がやけに長引いてるとか、原因が良く分からない場合には病院なり保健管理センターなりで相談してみよう。自己判断だけで長期間放置するとそれだけ悪化してしまうこともあるので、体のためにも時間を作って労ってあげよう。

課題があるから、とかでも無理のし過ぎで体を壊してしまっては本末転倒です。そういう時には個別に担当の先生と相談してみてください。必ずしも考慮してくれるとは限りませんが、自分からそういう相談をすることも含めて社会勉強です。

(不定期コラム) 興味のあることはどしどしやろう

土曜日, 5月 25th, 2013

m_2013052512030551a029e93878c m_2013052513181351a03b85e84ba

写真のカレーは那覇高校向かいにあるゴカルナです。オススメ!

今週は、入学したばかりの学生e13に対する個人面談ウィークでした。まだ実施できてない学生もいますが、話を聞いて感じたことは「興味のあること/やってみたいことはあるけどまだ具体的には行動してない」層が結構いるという点。4月に入学してきたばかりではあるので、高校生活とは違う環境での修学スタイルに慣れるとか諸々の事情で時間が取れてない学生も少なくないらしい。けど、一方では「具体的に何か取り組んでみようか」という方向に意識が向いていないというか「やれることがあることに気づいていない」だけのケースも多々あり、面談では「その目標に近づくためにどう歩んでみたら良いか?」という話をやってました。


ということで不定期コラム6回目は、情報工学科に入学した学生なだけあって多くの学生がなんとなく興味があるプログラミング関係、中でもゲーム開発やモバイル端末でのアプリ開発についていくつか紹介してみます。なお、面談を通して少なくない学生が金曜夜に先輩が開いてくれてる補講/勉強会に助けられてるらしいことが分かりました。(誰か分からないけど)ありがとうございます。

ドットインストールは「無料の3分動画でマスターできる、初心者向けプログラミング学習サイト」とある通り、いろんな分野のプログラミング初学者に向けた動画チュートリアルです。動画なだけあって「必要に応じて止めたり遡って話を繰り返し聞いたり」ということはし易いですが、文字テキストじゃない分探したい場面に戻るというのはし難いかもしれません。1年次のC言語について予習/復習したいならC言語入門もありますし、簡単なiPhoneアプリを作るiOSプログラミング入門もあるようです。

iOSのゲーム開発チュートリアルの例としては、例えばiPhone / iOS開発者とゲーマーのためのチュートリアルではCocos2Dを使ったサンプルが多数紹介されているようです。なお、「Cocos2dxでiOS/Androidの2Dゲーム開発を始めるには」を読む限りではCocos2dxだと複数環境で動作するようです。

課題ベースの例としてはCodeIQや、CodingBatみたいなものもあるようです。CodeIQは偏ってはいるかもしれませんが、企業から「こういうことができる人材を求めている」というような課題が出ることもありますので、そういう方面での情報収集としても使えなくはないかも。

ちょっと変わった例としては、web関連技術の一例であるCSSがどのように関わってるかを可視化するのが出てるらしい。気になるデザインのサイトについてCSS調べてみる際には便利かも。開発モード付きのブラウザ使えば十分かもしれないが。

ここで列挙してみたのはあくまでも一例です。他にも山程ありますし、英語の勉強兼ねて国外のチュートリアル探してみるのも良いでしょう。例えば40+ Fantastic Game Development Tutorials From Across the Webとかいうサマリもあるようです。プログラミング関連技術に限りませんが、世の中には良くも悪くもいろんな玉石混淆な公開資料がありますので、自分がやりたいことについては貪欲に収集して手をつけてみよう。入学時に購入してもらったノートPCは皆さんの武器(ツール)です。購入費用以上のことを得るためにも、使い倒そう。使うことが目的になると元の木阿弥なので、興味のあることについて貪欲になろう。

初人間ドックという名のアトラクション体験記

金曜日, 5月 24th, 2013

m_20130524102025519ec059719e0 m_20130524110713519ecb51a2c41 m_20130524123135519edf17912ad m_20130524145116519effd441b9f

豊崎にある健康管理センターにて初の人間ドックを受診してきました。予想より大分早く終わった(午前中に開放された)こともあって、午後は初めての県立美術館でのんびり過ごしてモス休憩して帰宅。ちょっとしたイベントというかアトラクション体験した気分に近くて楽しかったw

そもそも「人間ドック」というものが「良く分からないけど普段の健康診断よりは種類豊富で精密な検査するんでしょ?」ぐらいの認識しか無かったので、予約の時点で右往左往したりしましたが、次回のためも含めて備忘録メモ。

心音だったかな、何かが「一応正常なんだけどちょっと気になる波形」があったらしく、数年前に倒れて入院検査したが何も見つからなかったこととか話しました。普段の生活でもおかしくなったりしてないということで、「一応正常」ということになりました。長いサイクルで見れば後数年ぐらいで何かが出るのかなとか個人的には思ってますが、具体的な要因が良く分かってないから何とも言えないか。

胃カメラ等の写真判定は後日正式な回答が届くということでまだ正式結果は分からないですが、現時点では、「自分で把握してる点」だけがやや問題という結果らしい。項目毎に4段階評価(A=問題無し、B=正常、C=やや問題あり、D=要経過観察)ぐらいに評価されて、殆どがAorB。Cに該当したのは「体重(BMI)、視力、コレステロール」あたり。BMIやコレステロール的には「標準の閾値に対して小数点以下だけはみ出てる」ってことで、体重もあるので少し気をつけた方が良いですねぐらいの指導でした。ま、そうだよな。

ちなみに、胃カメラの結果「全く問題無いけどポリープ見つかったので、次回以降も胃カメラにしてください」とのこと。バリウムだと間接的にしか見れないので問題がある状況になっても判別できないかららしい。ということは、今後バリウムを飲む機会は恐らくないのか。一度飲んでみたかったのに。。。orz~

胃カメラの際には2種類の麻酔をやったのだけど、人によっては「マズ/苦すぎて飲み込めない」ことがあるのだろうか。初受診ということで大分心配されたっぽいのだけど、何の問題も無いレベルでちょっとがっかりです(ぇ)。

次回はまた1年後ぐらいかな。元々「一度の受診だけで把握するというよりは数回継続して判断するもの」だろうとは思ってたんですが、基本は毎年受診するものなんだろうか。あちこちで「ウン十年毎年受診してるんだけどさ〜」みたいな話し声が。1年に一度のアトラクションという意味では悪くないんだけど、毎年ずっとというのはちょっとなぁ。

  • 代理店というか文部科学省共済組合 人間ドック助成のシステム上では「Aプラン/Cプラン」とか書かれてるけどそんな分類にはなっていない。デフォルトで胃の検査があって、他は追加で選ぶ形式っぽい。良く分からないから「日帰りの基本コースで」みたいな形で取りあえずは問題無さげ。(受診後の結果次第で別途精密検査が必要かどうかもある程度は教えてくれる)
  • 最初から散歩予定で早めに向かったのだけど、天気さえ良ければかなり良い場所。館内からの長めもGood!
  • 7:15受付開始のはずだけど、実際には10分?ぐらい前には始まってたぽい。2分前に散歩から戻ったら既に10名強が受付済んでた。
  • 今回は検便1回分しか用意していかなかった(事前説明上も可能なら2日分と書いてあっただけ)けど、受付時には可能ならもう一回分提出するようにお願いされた。結局無くても大丈夫だったけど。
  • 受診前に手荷物類一切をロッカーに置く形。一度受診が始まると「空いてる場所」にどんどん回されるので、朝イチで行けば比較的スムーズに進む。今回は7:15受付、11:30前には支払い完了。
  • 胃カメラでは2種類の麻酔。1種類目のゼリータイプは、最初少量を飲み込んだ後の2回目に「口の咽奥に5分程度貯めておく」は、あまり咽奥を意識しなくても問題無さげ。麻酔後に「違和感ある?」と聞かれるけど「何かが残ってる」という感覚はが少しあるぐらい。2種類目のスプレータイプは飲み込むだけ。麻酔終了後にそれが効くのを待つ間の休憩では素で寝てしまった。当然胃カメラ実施前に起こされるけど、軽くふらつく。麻酔効果を確認してるのか麻酔後に再度血圧をチェックされたけど驚くぐらい低くなってて軽くビビる(良くあるらしいが)。休憩終了後も暫くは違和感が残ってるけど、すぐは飲食NGだし、食べれてもOKと指定された時間になる頃には普段通りに戻ってた。
  • 結果に対する説明まで含めて終わった後に食事もついてくる。それ自体が予想してなかったけど、ヘタな食堂より遥かにウマいので大満足。これだけでもまた次回来る動機になる(受診料助成金以外にも1万以上支払ってるんだけど)。
  • 受診料はカード払い可

(不定期コラム) 「情報」って何だろう?

土曜日, 5月 18th, 2013

m_2013051819403451975aa25c67e

梅雨最中の貴重な晴れ間という一日で外出しやすい日でしたが、気温的には20度前後が過ごしやすいので早く冬が来ないかなという思いで綴る不定期コラム5回目は、大分古いですが「新世紀デジタル講義」からの引用出題です。10年以上前の情報教育関連講義をまとめた文庫本ということもあって古いキーワード/トピックもありますが、「積極的に拾い読み、トバシ読みををすすめるのは、それが、情報が氾濫する現代社会において、情報リッチに生き抜いていくためにまず身につけなければならない情報摂取の基本ワザであるからだ(同書, p.17)」など、現在でも通用する内容も豊富です。

ということで、書籍紹介を兼ねて宿題を引用してみます。

 情報学講義の最初の講義として、そもそも情報とは何なのかという問題を考えてみたいと思います。しかし、実はこれは大変むずかしい問題なんです。むずかしいけど大事な問題です。
 情報の確立された定義はありません。ーーということをまずしっかり認識してください。
 宿題を提出してください。

[宿題が三題提出されている]
 (1) 今日の日経新聞朝刊を読んで、何らかの意味で情報に関係がある記事を赤ペンで囲ってみる。
 (2) 情報という言葉がちがう意味で使われている短文を五つ考える。情報を含む四字熟語を五つ考える。
 (3) 自分なりの情報の定義を考えてみる。

 宿題は、本当にやったかどうか知りたいだけで、内容をチェックするようなことはしません。
こういう作業を自分でやってみることが大事なんです。目的は、情報という概念の広がり、情報と社会の接点の多さ、情報という言葉の定義のしにくさを知ってもらうことです。

(「新世紀デジタル講義」, pp.89-90 より引用)

この宿題は、第1章の講義「情報原論」の導入部分で出てきています。「情報」についての多数の定義例や歴史的背景を踏まえ、情報理論、デジタル、ノイマン型コンピュータ、人間という情報マシン、非ノイマン型、物質・エネルギーと並んで自然を構成する二大要素としての情報、、、と話が進み、「情報原論は、情報というものをこれくらい深くとらえるところからはじめるべきです。」と結んでいます。

斜め読みで構わないので一度は読んでみると良いんじゃないかな。>e13の皆さん

読書&映画を堪能した一日

金曜日, 5月 17th, 2013

m_201305171447055195c459ebc5f m_201305171727265195e9ee21c74

お休みですが普段通りに起きて普段通りに外出。梅雨なので屋内メインなのは確定するとして何しようかと考えたあげく久しぶりに映画鑑賞した以外は、のんびり読書してました。映画は映画館で見なくてもよいやと思う質ではあるんですが、気分転換という意味で年に数回ぐらいは映画館で見てるんじゃないかと。とはいえレンタルショップで探すのは怠いので、ネット宅配で見る方が多いです。

今日見たのは図書館戦争。3月の出張シーズン中に小説版を読んだばかり(当時、帯だかPOPに映画化とか書かれてたような気がしなくもない)の新参者ですが、新参者なりに復習もしてから臨んだこともあって映画冒頭数分で目頭が熱くなる塩梅。ちょっとしたシーンで小説版のあちこちが想起されます。実際には設定変わってたり想像してた人物像と違ってたりもしますが十分堪能できる範疇で楽しめました。続きやるなら絶対見る。アニメ版はまだ見てないのでそれはそれで楽しみにしておこう。

複数メディアで出ている作品として思いつくのは「ブレイブ・ストーリー」。「映画->漫画->小説(原作)」という順番で遡って見るのが個人的にはオススメというか自分がそうだったからそう楽しんだんですが、それぞれの作者・編集者がどこをどういう風に表現したかったかが見れたのが楽しかったです。そういう意味で、順番は違いますが図書館戦争のアニメ版も楽しみ。

合間の時間で読んでたのはやや古めのブルーバックス「変化をさぐる統計学―データで「これから」をどう読むか」。データをグラフ化して見やすくするところから始まり、時系列的なサイクルやトレンドを見つけやすくする均しとかを具体例出しながら回帰モデル、構造変化、ニューラルネットといったアプローチについて「イメージできる」レベルで対話が進んでいきます。タイトルにある「変化をさぐる」ことに興味が持てる人なら副読本として良いんじゃないかと。

(不定期コラム) やって欲しいことを噛み砕いて伝える / プログラミング1

土曜日, 5月 11th, 2013

m_20130511113021518dad3d6e905 m_20130511114630518db1064a7d9 m_20130511115723518db393d84e9

ちょっと長めのコラム記事に対する印象を和らげる(?)ためのお食事写真は、久しぶりの tida cafe でパスタランチ。平日だとご飯ものしかないですが、週末は前菜が固定になる分メニューの幅が広がってて嬉しいです。平日でもランチタイムを外せばいろいろあるんだろうけど。

ということで、閑話休題。


プログラミング1で既に課題が出ているレベルに入ってきているようなので、不定期コラム4回目は趣向を変えてプログラミングを取り上げてみます。

何か仕事を頼む際、頼む相手が人間であれば言語や身振り手振り等を交えて指示を与える(お願いする)ことで目標を達成しようとします。例えば頼みたい仕事が「お茶を買ってきて欲しい」だとして、それを頼んだ相手に「ついでにお茶買ってきて」と伝えた状況を想定してみましょう。このぐらいの「アバウトな指示」でも、友人なり頼まれた人は外出ついでに何かしらお茶をどこかで手に入れて帰ってくることができます。そのお茶をどのように手に入れたら良いのか、販売しているならどこで購入したら良いのか、そこにどうやって辿り着けば良いのか、辿り着いたとして商品をどう探せば良いのか、探せたとしてどう商品を購入したら良いのか、etc., といった細々とした指示を与えることなく、目標を達成してくれるはずです。これは人間が普段の体験から構築蓄積した常識に頼っているからと言えますが、相手がコンピュータだとそのような常識がないため、コンピュータが理解できる言語で一つ一つ噛み砕いて指示する必要があります。

この「コンピュータが理解できる言語」が「プログラミング言語」です。普段使用している「日本語」と勝手が違うため様々な約束事を学ぶ所から出発しているはずですが、仕事を頼む手段は以下の3つが基本になります。

  • 逐次処理
  • 条件分岐
  • 反復処理

どのようなプログラミング言語であっても頼み方は上記3つのみで、これらを組み合わせることで指示を組み上げていきます。そのため、「仕事(やって欲しいこと)」を「3タイプの指示の組み合わせとして考え直す作業=設計(デザイン)」が必要になってきます。

上記を踏まえて、クイズです。

  • プログラミング以外にも「何かを作る」場面では設計が関わってくる。どのような設計手法があるだろうか?
  • 実装(プログラミングでいうならコーディング)の手間を省くため、設計段階でその良し悪しが分かると嬉しい。設計物(設計段階)においてその良し悪しをどのように評価することができるだろうか?
  • 同様にコストダウンという観点からは可能な限り再利用性を高めたい。すなわち、一連のコードを部品とみなして再利用したり、テンプレート化したい。再利用しやすい形で設計、またはコーディングするためにはどのような方法があるだろうか?

参考: プログラミングとはどのような作業か