10bace LOG

ターニングポイントさん!?

10bace LOG

カテゴリー: 技術 Page 1 of 8

【C#小ネタ】LINQのエラーをtry-catchできない

◆結論

うほーーーーー!が出力される。

◆なんの話だよ

以下のリストをごらんくださぁい。

        private static void Main()
        {
            var hoge = new List<int> { 1 };

            var fuga = Enumerable.Empty<int>();
            try
            {
                fuga = hoge.Select(x =>
                {
                    throw new Exception("こらーーーー!");
                    return 0;
                });
            }
            catch (System.Exception)
            {
                Console.WriteLine("ほげーーーーー!");
            }

            try
            {
                fuga.Any();
            }
            catch (System.Exception)
            {
                Console.WriteLine("うほーーーーー!");
            }

            Console.ReadLine();
        }

このコードでは うほーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー! が出力されるのですね。

◆解説

try-catchの動きの話です。

続きを読む

【WordPress】Gutenbergで「<」とか「>」にリンク張るとレイアウトこわれる

こわれる^~ にゃ^~

yield returnについての記事を一本書いたんだけど、「IEnumerable<T>」という文字列にリンクを貼ったら、プレビューのレイアウトがぶっ壊れた。文字が消えた。

◆結論

あきらめろ

続きを読む

【C#】EnumのNameをAttributeに設定したいマン

◆結論

nameofはコンパイル時に評価されるでよ。かたやToStringとか文字列リテラルはdynamicだでよ。

◆経緯

こういうEnumがあったとして。

    public enum Animal
    {
        Duck,
        Cock,
        Dick
    }

    public enum Action
    {
        Kick,
        Hack,
        Lick,
        Suck,
        Pick,
        Pack,
        Fuck
    }

こういったコードを書くと

[Authorize(Policy = $"{Animal.Dick}:{Action.Kick}")]

続きを読む

OSSを知らない子供たち

「モノの豊かさは本当の豊かさじゃないのだよ嬢ちゃん」というのは良く言われる話で、それを理解した上で所有しすぎているのが俺です。

所有するとスペースがなくなるし、管理にお金がかかるし、価値の高いものだと神経を使うことになるし。なかなか気苦労が多いものだ。

所有できるものはモノだけじゃ無くて、人間関係も繋ぎ過ぎると結構大変だし、スマホゲーも並行し過ぎてわけわかんなくなったり。

例えば共産圏では人民に所有する権利はなく、すべてが公共物として扱われる。

嫌です。俺の大事なミソ付きパンツを隣の家のオヤジが履いたりするわけでしょ?(認識齟齬)

続きを読む

MySQLでDATETIMEの秒がずれる

◆結論

ミリ秒付けてクエリを飛ばすと、丸められます。四捨五入される。

◆経緯

DapperFastCRUDを使ってレコードをInsertしていたんだけど、DateTimeが1秒増えたり増えなかったりしていた。

「Dapper、あるいはFastCRUDがパラメータのmillisecondをまるめとるんじゃなかろうか」と思ったんだけど、違った。ミリ秒までそのままぶん投げてた。

クエリを受けたMySQLが悪さをしていて、バージョン5.6からミリ秒のあつかいが切り捨てじゃなく丸めになったらしい。

◆結論(にかいめ)

MySQLマジで消えろ。MariaDB試したいけど、やっぱ元が同じだし駄目なんだろか。

バグチケットの書き方

ほんともー呆れた。から記事にしてみよう。

バグチケットっていうのは、あるシステムにバグが見つかったときに、担当者に向けて「これこれこういうバグがあったよ」という報告をするものだ。バグ報告。

例えば、花火大会で発生した事故を想像してみてくれ。

筒に発射火薬を入れ、花火玉をつめ、落とし火を入れた。

そうしたところ、花火が横に射出され、観客席に飛び込んでから爆ぜた。

バグは「筒が横に倒れていた」ことだ。じゃあ、これについてバグチケを起こしてみる。

続きを読む

システム障害なニュースを読むとき

軽減税率で「えきねっと」が障害を起こしましたな。えきねっとは紛うことなきクソ使いづらげシステムなんだけど、例えば、システム開発を知らない君らよ。使いづらいWebサービスを見た時とか、システム障害が発生したときに何を感じるだろうか。

「技術力が無いんだな」と思うかもしれないな。あるいは個人情報の流出があったときに「ITは危ない」とか。それはそれで正しいんだけど、そこまで単純ではない。その辺を紐解くための参考情報を提示させていただく。

一般の人が使うシステムと、会社で働く人が使うシステムがあるな。どちらもそりゃシステム障害が発生する。困るね。使いづらいシステムも困る。どうしてイレギュラーは発生するんだろう?

◆開発者に技術力が無い

これが一番わかりやすいのかもしれない。

続きを読む

axiosのgetメソッドでdateをISO8601形式にoffset付きで変換

◆結論

qs : [New] stringily: Add serializeDate option to customize Date serialization.

◆やりかた

  • dayjsyarn add(あるいはnpm install)
  • qsyarn add
  • ふつうTypeSciptを使ってるはずなので、「yarn add @types/qs」もする。
  • ここを眺めて、ある程度理解する。
  • 下の感じにする。

※ほぼJavaScriptと変わらんが、TypeScriptの書き方だよ。

baseAxios.interceptors.request.use((config) => {
  config.paramsSerializer = (params) => qs.stringify(params, {
    serializeDate: (date: Date) => dayjs(date).format('YYYY-MM-DDTHH:mm:ssZ') });
  return config;
})

続きを読む

Postmanからcurlコマンドを出力する

API適当に叩くときに、全脊椎動物がPostman的な兵器を使って戦ってると思うんだけど、たとえばCUIしかないVMとかで同じ内容叩きたい時にcurl使うしかないっすよね。

それについて。

※おまけもあるよ💖

◆結論

POSTMAN Learning Center : Generate code snippets

続きを読む

いいコードを書けない人も居るかもしれない

ちょっと心おれるわ。誰しも修練次第でいいコードを書けるようになると思っていた。ちょっと考え甘かったかもしれん。

いずれもっとちゃんと書くけど、つまり、「コードのヤバさ」を感じられない人がいる。

「とっちらかってるなー」とか、「いまオレ読めねぇコード書いてんなー」とか、「これ負荷やばいなー」とか、思うじゃないですか普通。そこんところの感覚が無いというかなんというか。

続きを読む

Page 1 of 8

Powered by WordPress & Theme by Anders Norén