misc.log

日常茶飯事とお仕事と

サイレントチェロ購入検討中……

子供用に。

一番安いモデルでもいいかな、と思ったのですが、弓が別売りなので、それも考えると……最上位モデルとの金額差がどんどん狭まる。違いが今ひとつわからない……

他にも、「NS Designs」ってところのもあるようですね。

あと、気になるのが音の響き具合。マンションでどこまで大丈夫か……。実物に触れられればいいのですが、とりあえず探してみますかね>触れるお店。


チェロの100年史 1740~1840年の技法と演奏実践

チェロの100年史 1740~1840年の技法と演奏実践

プログラムのお仕事はロジックのストックが結構ものを言う

新人さんに少し伝えたところ感動されたのでメモしておきます……。

プログラミングを行う仕事をやっていると、「これ、以前もつくったよな……」というものに遭遇することが多々あります。もちろん完全に一致というわけではないのですが、なんとなく似てる、ちょっとだけちがう。そんなものが何度も出てきます。もちろん何度もやっているうちに作り方を覚えてしまって、ソラで作れるようになるという一面もありますが、そうはいっても作るもののバリエーションがあまりに多いですから、完全一致で丸覚えすることはそうそうありません。で、活きてくるのが「以前作ったモノのストック」です。

プログラムを作っていて一番手間なのが、コンピューターに指示をする「手順」、いわゆるロジックとかアルゴリズムと呼ばれるもの。これを考えることです。どんな場合でもこの手順に沿って作業すれば上手くいくよ、というような汎用性のある手順を、作業や想定される場面の漏れなく作るのは案外難しく、それをしくじった結果出てくるのが、いわゆるバグ、不具合というやつですね。なので、一度作ったり考えたロジックは、どこかに書き留めたり保存しておくとよいですよ、という話をしました。

私の場合はこのブログ自体がそういうストックになっていて、自分で検索して過去の処理を掘り返したりしています……。

Effective C# 6.0/7.0

Effective C# 6.0/7.0

たとえばこんな……「C#で、文字列から指定した検索語を全て探す」という処理。

// 重複したものを除外する
IEnumerable<string> distinctList = targetList.Distinct<string>();

int wordPosition = 0;
// Listで指定されたNG文字それぞれについて色替え処理を行う
foreach(string targetWord in distinctList )
{
    // 1回目の検索
    wordPosition = targetText.IndexOf(targetWord);
    while (wordPosition>=0)
    {
        // 検索対象文字が見つかった場合(結果が0以上の場合)
        // wordPositionに位置が入っているので、何か処理を行うならここに書く

        // 次の文字を探す(2回目以降の検索)。検索開始位置を、見つけた文字の次の場所以降にする。
        wordPosition = targetText.IndexOf(targetWord, wordPosition + targetWord.Length);
    }
}

C#のIndexOfメソッドは、不親切なことに指定した言葉が複数対象文字列に混じっていても、最初の1個しか探してきてくれません。なので、「見つけた文字の、さらに後から再度検索」を見つからなくなるまで繰り返す必要があります。が、この「さらに後から」が「文字数を足せばいいのか」「それとも、文字が0番目から始まるから1足したり引いたりするのか……」よく分からなくなるんですね。処理の仕掛けや概要は分かっていても、こういうの細かい所の動きを逐一ためしながら作っていると案外時間が掛かるものなのです。

で、こういう場面で「以前作って、十分テストして動きも問題ない」というプログラムの断片が記録してあると楽なんですよ。もちろん、使う場面に組み込む際に再度テストはしますが、それでも安心感がちがいます。

こういう「ロジックのストック」をブログとかで公開とかしてくれるようになってくれれば、情報発信も出来るエンジニアがじわじわと育つのだけど……。どうでしょうねぇ。

アークナイツ関連ねんどろいど、出てるんですね

このところやってるスマホタワーディフェンスゲーム、「アークナイツ」のキャラクター。ちょっと欲しかったりする……

ゲーム自体は、アズールレーンなども手がけるYostar(ヨースター)が制作、運営しているもので、いわゆるタワーディフェンス。順に侵攻してくる敵に対して、防御用の砲台などを設置して迎撃するというタイプのものですが、このゲームでは設置するのは戦闘を担当する「オペレーター」と呼ばれるキャラクター。女性キャラクターが多めであるにもかかわらず、キャラクターのイラストの露出が少ないので安心感高めですw。

www.arknights.jp

f:id:frontline:20200704141500p:plain
オペレーター: プラマニクス

ゲーム画面はこんな感じ(AndroidでのGoogle Play録画だと音声はマイクで拾うしかないので残念な感じになってます……)。

youtu.be

赤いエリアから敵が沸いてきて、決まったルートを通過しつつ青い味方ゲートに向かうのを防ぎます。キャラクターごとにブロックできる敵の数や迎撃する火力、必殺技的な「スキル」が異なるので、タイミングや組み合わせを考えながら配置して敵を迎え撃つというゲーム。課金無しでも結構楽しめるのと、一度クリアしたマップは「自動戦闘」で放置しても同じ攻略法で自動対処してくれるので、マップクリアの報酬目当てで何度も繰り返す場合でも放置しておけるというのもいいですね。

ここしばらくは他のスマホゲームそっちのけで遊んでます……。