道化さんの言いたい話

HTMLとかもろもろの備忘録とか。

そして私のスマホは更地になった

諸君、私だ。

――というわけで謎のテンションで書き始めた本日記ですが、

まあ結論は題名の通りです。

 

日付的には昨日。感覚的には本日。

私も使用しているAndroid端末の一つ、Galaxy S21+ 5Gに待望のAndroidOS12へのアップデートが配信されました。

 

ここまではよかったんだ

 

新しいモノに目がない我が家の兄妹は「おお、きたか!」なノリで共有、S21+5Gを所有している私が更新を適用しました。

うん、ここからが悪夢だ。

 

私のスマホ

IllegalArgumentException

が起きるまでは。

 

スタックトレースに記載されていたのは

「200文字を超える引数が渡されました」。

そして関連はAccount。

 

つまりAccountなる変数にぶっこまれた文字列は200文字を超えたので、処理の例外が吐かれて私のスマホは泣く泣く標準アプリ以外のすべてをぶっ飛ばす羽目になった。という。

 

まあそのあとセーフモードで起動できたんですよ。一応。

よっしゃセーフモードまで行ったら勝利だろ!と思うでしょ?普通

「セーフモードを解除したいなら工場出荷状態まで戻してね☆(意訳 in English)」

 

ぶkkろすぞ

 

諦めて戻しましたけど。

今復旧作業で死んでます。氷雨でした。

「技術的には可能」ってなんなんだ…?

どうも、氷雨です。

備忘録ってなんだっけ?となったので「言いたいこと」にブログタイトルを変えたあたりで、ふと。

 

エンジニア(自分もですけど)特有の言い回しってなんで?って他職業に言われることって多いよな…と思いました。

エンジニアになってなければ、私ディーラーの営業職に就職しようとしていたところではありますが、そっちになってたとしたらちょっとよくわかんねーな確かに。

 

「技術的には可能です」

 

できるかできないか、プロマネとかディレクターに聞かれて答えたりしません?

私は「やろうと思えばできるでしょうけど…」っていう風に答えちゃう奴ですが、なんだその枕詞のような。ってほかの人が思ってるのを見かけて思っちゃいました。

 

私なりの解釈で言います。

簡単に言うとエンジニアは「技術屋」なので、全体調整を任されたりはしてません。それはぶっちゃけプロジェクトリーダーかマネージャーと言われる管理系の方々です。開発者には「できるかできないか」を聞いてきますが、スケジュールを加味した回答は求めていないと思っています。

というか、そういうのはプロマネと営業、営業と客先で調整したりする話なのでただの手足レベルの存在でしかない技術屋は「(スケジュールとかそんなのは知らねーよ)」という前提条件を伝えなければなりません。それ以前にもしスケジュールが決まってんなら先に教えてくれよ後だしじゃんけんすんじゃねーよというのが大体思うことじゃないでしょうか?

 

(それで私は後輩もろとも前居た現場で死にかけてるので、スケジュール管理が杜撰なPMとかPLはもう信じません。勘弁して。)

 

閑話休題

言語の種類、バージョン、フレームワーク...etcetc...

それらの基本部分の前提を考えて、スケジュールとか人員数を加味せずにできるかどうか、を答えようとすると、自分の領域内の話に限って言うなら、という意味で「技術的には」を最初に言う羽目になると思います。

 

自分の領域外を加味するなら?

 

いや知るわけないじゃないですかぁやだぁ。

 

以上、氷雨でした!

プログラミングに情操教育は必要か。

ある日、とあるツイートを見た。


なんてこった、プログラミング教育に情操教育を持ってきて『これができなければ人生終了ですよ』みたいなでかいツラをされてる。

そんなふうな感想しか出なかった。

私は自慢などではないが、(平成初期ではあったが)幸運にもPCやIT技術に理解のある家庭に生まれたし、父親や兄弟もその手の知識が豊富な方だった。(母はそういったものはあまり得意ではなかったが、ある程度理解してくれた。そんな母がくれたのはオタク心である)

閑話休題

そもそも、小中学校などの基礎教育課程におけるプログラミング教育に要求されるのは、
あくまで
『Aを前提とし、そこにBと言う条件が追加された結果Cである』
という数学の証明に近い【論理的な思考】を育むことであって、決して誰かを笑わせたり考えさせたりするための【情緒的思考】などではないはずだ。
そういった事は【道徳】の授業でやるべきだと思う。
実際、文科省のプログラミング教育の実施事例では算数や理科、総合の授業が挙げられている。
つまり、文系的な情緒は不要ということがここでもわかるだろう。

総合の授業では道徳的な勉強や『考える力』に関する授業をやるじゃないか!という指摘はご尤もだ。
確かにやることもあるが、是非『教育者』と名乗る方々には、純粋なプログラミングというモノに、『人間の感情は介在しない』ことを前提として理解して欲しい。
プログラミングは機械と人間の会話であって、機械を通した人間と人間の会話ではない。後者は、サービスのように仕事などでそれを利用しようとした人間の思惑で発生するモノのはすだ。

そして、
『勉強ができる子ほど表示するだけのここで何も打てなくなる』と前述のツイートをした人は言うが、
発信する前の思考過程でそれを否定しないで欲しい。
子供の語彙力というのはバカにならない。

教育者が言う、『勉強ができる子ほど』みんなに見せるものに『みんなを笑わせることを書け』と言われて、書けなくなる事象はいくらでもある。

「これを書けばAくんは笑うだろう、しかしBちゃんは怒るかもしれない」
「読んだCちゃんから聞いたらCちゃんのお母さんはどう考えるだろう、もしかしたら先生に言って問題になってしまうかも」
「Dくんは?Eちゃんは??」

勉強に関する出来の有無にかかわらず、『頭がいい子』は上記のようなことをいくらでも思いつくかもしれない。
更には、情緒的な思考、情報の伝達による広がりを考えられる子は『万人受けする』言葉なんてないことに気づいてしまうだろう。
それを考えたら何を書けばいいのかなんてわからなくなって当然だ。それを『考える力がない』なんて、それは嘲弄や愚弄、むしろ子供に対する罵倒である。


こんなことを書いている私はプログラムをメインとしているSEであるけれど、
情緒系や発想の教育を重要視されている美術系の短大出身でwebデザインが専攻なのでそれに近い仕事もする。
残念ながら、情緒や発想を大事にしているからこそ仕事でデザインをする人は曖昧模糊な指示など聞けない。
いい感じでやってくれなんて言われたら脳内で5,6回は殴っている。

長々と続けてしまったが、冒頭のような考えが広範囲にいる一定層に素晴らしいなんて言われてしまうから、論理的考えを持ってる人が軽視される世の中なんじゃないかと、そう思ってしまうのだ。

今でも思い出す、もうやりたくはない仕事(1)

最初にこのブログを作ってからすでに2年だと思ったら7年が経過しています。氷雨です。

作った当初はまだ学生でしたね…ということで、すっげぇ久しぶりに書いた気がしますが、まぁ備忘録の目的で作ったブログなんで予想できた話でしたわこれ。

 

そういや、備忘録とは言えなぜ書かなかったんだろうなぁと思って…2年弱ほど昔の案件で某テスト用ソフトウェアを使った時の話でも。

当時の案件で1時間定量情報をぶっこんで負荷チェックをするっていう仕事(でも対象サーバーは高級品で1時間に18000件ほどぶちこんでも目的の負荷がかからないという謎)をやっていました。

 

その時にしんどかったのがかのソフトウェアのキモ、テスト用スクリプト作成でした。

 

…プロフィールでも書いてるんですが、私出身は情報デザイン系の大学でして、かつ新卒で入社したのはメインがソフトウェア開発の会社だったためにC言語触ってなかったんですね。

Webデザイン専攻だったので、メインで使用する言語はjavascriptPHP、HTML(当時はまだ4.2が主流)、CSSとなります(当時私は学科で唯一PHPMySQLの構築用環境があれば、コマンドをたたいてWeb環境を構築するという珍獣だったので、IT系エンジニアになるにはまだマシな方だったんですが)。

また、学部違いにコンピュータ系の理工学部があったため、夏季休暇の集中講義でLaTeXを使ったりという何ともな学生ではありましたが、そちらの学部生ではないためC++C言語には触れていません。

前職の企業に新卒入社した時も、C#(とASP.NET)、VB.NETJavaなんかがメインでしたし、現職の企業に転職した時もPythonが追加で入ってきましたが、基本はC#。今やってる案件はPHP(Laravel)ですけども。

 

だのに入っていきなりC言語をやれという。しかもノウハウは0。というか私が女性だからってちょっと小馬鹿にした感じのおっさんしかノウハウ持ってないので聞きたくなかった。

そもそも、件(くだん)のソフトウェアってライセンス料がバカ高い(当時の同僚に聞いた限りでは100kを超えるとか。今は確か安くなってんじゃなかったでしたかね…)上に、

スクリプト言語C言語のためJUnitなどよりも取り回しが悪いといわれることが多いです。

(実際Javaとかの言語がメインだった私がスクリプトのメンテをやることになったので抱いた感想は「なんでテストでこんな使い勝手の悪いソフトを使うことに決めてんじゃお前ら」でした。おかげでこれを使う提案をした某社に対する嫌悪感が増しちゃって今でも関連企業が案件でポカるたびにキレます)

実際に作ったスクリプトは、データはcsvに外出ししてそれを読み込む形にしていたんですがまあよくポカりました。当時20代前半がやったことだから許して。

あとは環境的な問題ですが、一般的にコードを書いて動かすくらいのことはできるスペックのPCを貸与されているはずなのにコードを動確してたら5,6回はフリーズまたはソフトウェアがクラッシュするっていう。

なんで。

本番のもっといいスペックのPCでもクラッシュするという。

しかも計画していたテストが終了した時に提出されるレポート(PDF)も開こうとするとデータが破損してるという。

なんで。

当時の上司にチェックしてもらいましたが、何をやってもクラッシュしっぱなし。

しかも復元できてもデータがなんかおかしいという。

若干あきらめた案件の話でした。

(※私が担当したのは負荷テストだけで、動作テストはほかの人の手できちんと行われています。さらに、負荷をどれだけかけてもミリ単位も負荷扱いされなかったことだけ付記しておきます。)

最後に某社の社員で当時策定に携わった人に言いたい。

なんでこのソフトの使用を提案したの。

 

以上、氷雨でした。

次は今流行病ですっごく忙しいところに入っていた前職時代の話でも書こうかな!

PHPからHTMLへの出力方法

大学の講義でPHPの分野が始まったのですが、丁度そこに「print」があったのでまとめます。

 

* PHP

(引数…指定された変数や、パラメーターを指す。)

print

 使用方法

  print '文字列';

 ※ただしprint は複数の引数を指定することはできない。

(: print($str); ×:print($str,$language);)

echo

使用方法

 echo '文字列';

 ※echoはprintと違い、複数の引数を使うことができる。

 

これはビューファイルで主に使われるので、CodeIgniterなどの

フレームワークで、コントローラーファイルを作成中に

変数に格納したデータを吐き出させる場合は

echoよりは var_dumpの方が多かったりするかも…。

(影華本人の仕事先ではvar_dumpが多いです。)

HTMLの基礎とか。

友人に「そもそもHTMLって何なの?」って言われたのでまとめます。

 

HTMLって言うのは

Hyper Text Markup Langageの略で、Web上に論文を掲載するための

プログラミング言語でした。つまりは、

Webは元々は論文発表の場だったと言うことですね。

 

インターネットが一般に普及するにつれて、デザインをする必要が出てきました。

まぁ、デザインとかは人間が豊かになった証明でもありますからね。

必要に応じて改訂が重ねられてきたHTMLは、今は第五改訂版である「HTML5」になりました。

 

…おっと、何かまとめからはずれてるような…。

まぁ、概要はまとめられたので良しとしましょうか。