チラシの裏(告知欄)

・2022年10月でめでたくサイト開設20周年!!
・2006年6月~2008年10月のログは未だ段落分け未修正
・PSNetworkID、ニンテンドーネットワークID「cing-elijah」
IIDX ID「5131-8727」 IIDX28 BISTROVERで引き継ぎ忘れて9th以来のデータが遂に死亡・・・
・プリコネR プレイヤーID「372 206 298」、原神 UID「805223896」
自分用の発売日メモ

アクセスカウンター

 合計:カウンタ
 今日:今日のアクセス数
 昨日:昨日のアクセス数

「 プログラミング 」一覧

ノーモア半導体

今起こってる世界的な半導体不足は深刻だな・・・。
PCパーツやPC自体の価格が高騰してるし、PC自体ユーザに納品できない状況も。
テレビをそろそろ買い換えようと思ってるんだけど
今目を付けてる9~10万ぐらいのREGZAがいつ高騰してもおかしくないわ。

 
そうそう、スイッチのゲームプログラミングのやつ買ったんですよ。
んで早速やってみたんだけど、要はビジュアルプログラミングですね。
ゲーム内で出てくる用語は実際のプログラミング用語に脳内変換。
さすがに現役プログラマなんで、途中で詰むところはないわ。

チュートリアルでシューティングゲームまで作ったところまでだけど
イベント、メソッド、プロパティ、変数、定数、分岐、ループなどなど
一通りの機能は揃っている感じ。
なんか3Dも作れるっぽいので意外に色んなことができるかも。
作り方極めたら限界に挑戦したくなるねw

ただやっぱり一つのプログラミング言語を覚える感覚なので
なるべく間を空けずにやらないと忘れるパターンだわ。
最近はトシなのか新しいことを覚えるのがどうもしんどくてね・・・。
せっかく勉強したkotlinなんか既に忘れかけているし。
継続は力なりという言葉はバカにできんわ。


必要以上には使わない

気まぐれにプログラム(C#)のお話。

TryParseメソッドって便利なんだけど
このためだけの一時変数をいちいち宣言しなきゃいかんのが俺的にはモヤモヤする。
TryParse後の処理が一行しかない場合は特に。

int resNumber;
string strNumber = “123”;

int numberX;
bool result = int.TryParse(strNumber, out numberX);
if (result)
{
  resNumber = numberX;
{
else
{
  resNumber = 0;
}

上記でいうとoutに入れるための「numberX」と、
TryParseの結果を入れる「result」がそれにあたる。
TryParseは割かし頻繁に使うので多用すると冗長なコードになってしまう。
これを何とかしたい!

 
んでふと思ったんだけどこれって三項演算子でイケんじゃね?

int resNumber;
string strNumber = “123”;

resNumber = int.TryParse(strNumber, out resNumber) ? resNumber : 0;

こうすることでコードがごっそり削れた!
たぶんこれで問題ないよね?実際実行してみたら動作したし。
でもoutでresNumberには既に入ってるのにそれをresNumberに入れるのは変な気がするけど
とりあえずはこれでいってみっか!
可読性がよくないと言われたら考え直す。

 
あの伝説のブラウザゲー「人生オワタの大冒険」の正統続編「人生オワタの大冒険2」がまさかの公開!Flashがもうすぐ終わるのにwwwwww

伝説は大げさだと思うし、VIP見てた人ぐらいしか知らないと思うけど
まさか続編が出るとは思わなかったわw
初代はうちのサイトでも紹介した覚えがあるぞこれ。
探したらあった。この日記だわ。
ひぇーこんな前の話かよ!FLASH自体がもはや懐かしい。


かんりしょくはつらいよ

今の自分は中間管理職でして、資料作りの機会がうんと増えてるんだけど
何よりもイヤなのは社内向けの会議の資料作り。
俺って本当にパワポ作りのセンスないなーと思わされる。
どういうデザインにしようか悩んでる時間がムダ。
それよりもコーディングしたい。

・プログラミングの話

Kotlinも大体分かったところでAndroid Studio使って
ちょいちょいテストアプリ作ってます。
アプリつっても機能を試す程度のサンプルプログラム。
リストビューとか画面遷移とかイベントハンドラ・リスナとか。
なんとなくAndroidアプリ開発の暗黙のルールみたいなものが分かってきた。

イベントハンドラ周りがめんどくさいなーと思った。
VisualStudioだとデザインモードで機能をダブルクリックするだけで
イベントハンドラとか勝手に作ってくれるからなぁ。
Androidだと自分でコードを書かなきゃいけない。
自動でやってくれないもんかね。

本格的にアプリリリースするんだったら
やっぱりAndroid用とiOS用両方作るのが必須になってくるんですよ。
iOSアプリ開発はやはりどう頑張ってもMacがいるらしい。
VMでどうにかなるんじゃない?と思うけどどうもダメらしい。

さらに開発のためにObjective-CSwiftも習得しなければいけない。
また新たにプログラミング言語習得するのは面倒なんだけど・・・。
やはりXamarinを使うしかないのか・・・。
あれ触ったことがあるけどクセが強くて扱いにくいんだよなぁ。
あと日本語の解説情報も少なすぎる。
今はマシになってるだろうか。


ことりんちゃん

プログラミング言語「kotlin」を勉強中。
通勤中とかちょっとした空き時間にコソコソやってます。

やっぱり勉強はネットより書籍に限るね。
ネットだと何度も同じところを読み返すのがとても不便。
「戻る」押したりスクロールしたりがめんどいのよね。
本だったら読みたいページ抑えといて読み返したくなったら1秒で開ける!

kotlinは見た感じJavaを簡単に記述できるようにした感じかな?
バックグラウンドでJavaが動いているので、Javaの派生なのは間違いない。
習得もそんなに難しくない感じだわ。
さすがに長年プログラミングやってるから直感的に理解できるのはいいね。
継承、オーバーライド、抽象クラス、ポリモーフィズム、なんでもこい!
でも、ラムダ式は今でもちょっと自信ないな・・・。

 
GoToキャンペーン、22日から開始 宿泊代割引から

ようやく詳細決まったか。待ってたんですよ!
まぁコロナがこのまま増え続けちゃうとまた旅行に行きづらい雰囲気になっちゃうけど・・・。
コロナの薬はまだ増えないのかね?


スパゲティコードに注意

OneDrive上でWordやExcelを編集すると
自動保存機能が有効になるのはいいんだけど
ただ開いただけでもタイムスタンプが勝手に更新されてしまうのが意外に厄介だわ。
タイムスタンプでいつ頃に更新されたドキュメントなのかを見ることが多いんだよね。

そうそう、今日は別の企業が書いたソース(C#)を直す作業してたんだけど
こんなコードがあったんですよ。

public const char _char1 = ‘1’;
public const char _char2 = ‘2’;
public const char _char3 = ‘3’;
 :

いや、こんな定数を作る意味なくね?
何かの区分だとしてもその定数名は正直どうかと思うんだけど・・・。

自分だったら以下みたいにその区分専用のクラス作って列挙型にするかな。

public enum HogeType
{
  TypeA,
  TypeB,
  TypeC,
  TypeD
}

列挙型を使うかどうかはまぁ規約とかお好みになるとは思うけど
自分は管理しやすいので列挙型を結構使う方。
別に多用してもいい・・・よね・・・?


気にならない話題

三連休が二週連続で続いたけど、個人的には三連休2回よりも四連休1回の方がよくてですね。
今年の祝日の配置の関係でそうなっちゃったから仕方ないね。

プログラムの話になっちゃうんだけど
C#やVB.NETでいつも迷うのがArrayやList形式の初期化について。
値がない場合はNullじゃなくて空白にしたいんだけど、いつもどうすればいいのか迷っちゃう。
要素数は不確定だから予め空白を入れることもできないし、いちいちif文で判定するのはめんどいし。
もっとこう、簡潔なプログラムが書きたいんですよ。

簡潔なプログラムにこだわりすぎて結局ムダに時間を食っちゃうという俺の弱点。
A型気質の人はプログラマやんない方がいいと思うw
いや、それはそれでメリットがあるかもねー。

 
・変な情報

対魔忍までがソシャゲになったと聞いて笑ったわw
ダメだって俺「対魔忍」という言葉を聞いただけで笑っちゃうんだけど。
散々2chとかでイジられてきたからなぁ。

「クッパ姫」とかいう単語が急上昇してます。
まぁ女体化は今どき珍しいジャンルじゃないけど、どうして流行ってんの?
インターネットは難しいな!


WebRequestでどはまり

ちょっと仕事の話。

WebサーバからAPIでテキストをBasic認証で引っ張ってくるプログラムを書いてたんだけど
いくらやっても認証エラー(401エラー)となるんでお手上げになりそうだった。
ユーザとパスはもちろん正しいし、ちゃんとCredentialsに正しく設定しているはずだし
ヘッダも送っているのになぜだー!!

んで解決したのでメモ。
悪いのはヘッダの書き方だったわ。
“Basic”の文字列の後にユーザとパス(Base64に変換したもの)を付けて送ってるんだけど
Basicの後に半角スペース1つ入れたら通った。

気付いたきっかけとしては、ブラウザでWebAPI実行すると問題なく処理できるので
ブラウザの開発ツール開いてネットワークモニタでヘッダ解析してたらそこしか違いが無かったので
まさかと思って半角スペース入れてリクエストしたらこれですよ!
いやーこんなので半日も潰してしまうとは。
でも勉強になりました。

 
モンハンが面白くて止まりません。
おかげで寝不足でございます。
やってる間は眠くないんだけど、終わって布団入ったら5分以内には爆睡とか大丈夫か俺。


どうしてこうなったのか

こんなときに職場の後輩が入院しちゃってもうシャレにならんすよ。
仕事の波がドドドドッって押し寄せた感じ。
また終電祭りになってしまうのか。

 
ビックカメラのニンテンドースイッチ抽選販売に応募したけど
やっぱりというか落選しちゃったわ。
まぁしょうがない。当選確率すげー低そうだしね・・・。
デレステでSSR及川雫を引く確率よりも低そうだわ。

 
今年の始めぐらいのニュースで
2020年以降に小学校でプログラミングが必修化されるのを見て気になった事を書こう。
自分もIT系ということで、嫁さんの弟家族からちょいちょい聞かれるんだよね。
だけどどのようなカリキュラムなのかは全く予想できない。
まさか小学1年生がいきなりJavaとかやらないだろうね?
中1ならまだ分かるけどさー。

プログラミングするんだったら全生徒にPCは必須でしょう。
座学だけで身に付くほどプログラミングは甘くないよ?
あれは実際に触らんとホント理解できないと思う。

自分の初プログラミングは小学6年の頃でした。
その年に「パソコン部」というのが学校で初めてできて即入部し、
そこで「LOGO」という教育用プログラミング言語に触れた。
亀さんに命令して線を引いたりするシンプルな言語だったけど
分岐(if)や繰り返し(loop)やプロシージャ等の基本構造も備えられていて、
突き詰めれば結構いろいろできるんだよね。
車を十字キーで操作しオバケにぶつかったら負けというゲームを作った覚えがあるわ。
もちろん本を見ながら作ったんだけどね!

という経験を得て今でもIT系をやっているわけですはい。