Python で数学と仲直り! これなら分かる最小二乗法と直線の当てはめ問題

どうしたの? なんかふるえてるけど。

いや…… ある日 LINE で遊んでいたら、相手の隠していた爪が露わになって戦慄しているのです。

高校最初のテストで世界トップクラスの成績……。


f:id:tercel_s:20200229200808j:plain:w350

……なんか、定期的にガチぜいに出会うよね。

文系だろうが理系だろうが 100点は 100点だし世界の頂点だし神

おわかりいただけただろうか。

なんでキミがそんなに偉そうなんだよ!

まぁでも、たーせるくんもつねづね数学と仲直りしたがっているみたいだし、今日は軽く数学のお話でもしようか。

わーい。

数式だけだと退屈だから、後半ちょっとプログラミングもやろう。


続きを読む

はじめからはじめる @ngrx/data 第4話(たぶん完結編)

NgRx にビビってたみんなゴメン。

もう難所はだいたい抜けました。

麻酔の注射が痛いだけであとは大したことないパターンでしたね。

どうした? 手術でも受けたの?

前回の話
tercel-tech.hatenablog.com

今日はいよいよフロントエンドを構築して、これまで作ってきたすべてを繋ぐよ。

今まで地味だったからね。

結局、バックエンドをいくら作り込んでも、実際にフロントから動かせるようにならないといまいち面白くないよね。

今回はコンポーネント周りの実装がメインなんだけど、いかんせん HTML と TypeScript のしんこっちょうな部分なだけあって、書くコード量は今までで一番多いと思う。

たしかにビューまわりは SPA フレームワークの最も得意とするところだね。

今回は、削除・追加・更新処理で章を分けていて、それぞれ各章の冒頭に完成イメージの GIF アニメを載せているよ。

無味乾燥な仕様書をそのまま載せるよりビジュアル的だし、これから何をしようとしているか予め分かった方が不安にならずに済むかと思って。

はじめからそうしてくれていればよかったのに。

続きを読む

はじめからはじめる @ngrx/data 第3話(Angular In Memory Web API 設定編)

@ngrx/data の連載も 3 回目を迎えました。

前回は、エンティティの CRUD 操作に必要な NgRx まわりのコーディングを終えたのですが(実質10行)、肝心の DB 環境がないというところで終わってしまっていました。

今回は簡単のため、Web API と DB をエミュレートする Angular In Memory Web API を使って、続きをすすめていきたいと思います。

前回の話
tercel-tech.hatenablog.com

Angular In Memory Web API とは

山田よしひろ著『Angular アプリケーションプログラミング』によると、DB や API 用にサーバを用意できない開発の初期段階で使えるお手軽な API エミュレータだよ。

(略) Angular では、Web API をエミュレートするためのライブラリ (angular-in-memory-web-api) を提供しています。 これを使うと、Http / Json サービス[原文ママ]が利用するバックエンドを置き換え、(ネットワーク上のデータではなく)メモリ上のデータを読み書きするようになります。 本来の Web API に代わって擬似データを返す、テストダブルの一種と言っても良いでしょう。

f:id:tercel_s:20200215125243j:plain:w400
Angular In Memory Web API の仕組み

外部環境に依存せずに Web API が試せるのはいいね。

そうだね。

たとえばチュートリアルに出てくる DBMS が自分のよく知らないやつだったりすると、認知負荷が上がってやる気なくすでしょ。

確かに。。。

続きを読む

はじめからはじめる @ngrx/data 第2話(NgRx 激闘編)

今日も、@ngrx/data の続きです。

前回は @ngrx/data が何なのかをくどくど説明して、プロジェクトをセットアップして、ライブラリをブチ込んだところで時間切れでした。

今日はいよいよ本格的に @ngrx/data に挑戦します。


前回の話
tercel-tech.hatenablog.com

例題

次のエンティティに対する CRUD 処理を @ngrx/data で実装してみよう。ちなみに主キーは id だよ。

エンティティ名: Hero

項目名
id number
name string

まずはこのエンティティを表現するクラスが必要だね。 DTO みたいなやつが。

続きを読む

はじめからはじめる @ngrx/data 第1話(プロジェクト作成編)

@ngrx/data は、アプリケーションの CRUDクラッド 処理を強力にアシストしてくれる魔法のようなライブラリです。

2019年に公式リリースされたばかりですが、やはり後発だけあって非常に使いやすいので、ぜひこの場でご紹介したいな、と思った次第です。


Angular アプリの CRUD 処理は、@ngrx/data で決まり!

今回のテーマは @ngrx/data だよ。

かなりのながちょうになるので、いくつかに分けて話そうと思う。

あれ??

先日、NgRx は難しいって話してなかったけ?

したよ。

NgRx シリーズには、もともと Redux をベースにした @ngrx/store, @ngrx/effects などがあって、これらは確かに使いこなすのが大変なんだ。

でも、@ngrx/data だけは毛色が違う


@ngrx/data を使用すると、非常に少ないコードで、NgRx をまったく知らなくても、大規模なエンティティモデルを迅速に開発できます。

【原文】
With NgRx Data you can develop large entity models quickly with very little code and without knowing much NgRx at all.

【出典】


ちなみに、NgRx にありがちな リアルタイム Web とか、プッシュ通知とか、状態管理とか、そういうおしゃれな話は一切出てきません。

業務アプリケーションにおいてとても普遍的な CRUD 処理をラクに実装するためのアプローチとして、@ngrx/data を使ってみませんか、という趣旨です。

うーん、CRUD は分かるけど、NgRx が唐突すぎてさっそく話についていけないのだが?

言い換えよう。 この際、NgRx の知識は要らないんだ。

すごく便利なライブラリがあるからステップバイステップで試していこう!

続きを読む

団体競技ってどんなもの?

たーせるくんは、学生時代どんな部活に入ってたの?

いろいろ転々としましたが、だいたい楽器コンピュータのどちらかでしたね。

ていうか全部ユルユルの文化部でした。

運動部じゃないんだね。

うん……。 僕、うんだから。

続きを読む

FlexGrid のカスタムエディタでお友達のグリッドに差をつけよう! (同時上映: 続・パフォーマンスの話)

Wijmoウィジモ の FlexGrid には、セルの入力コンポーネントの種類を変更できるカスタムエディタという隠し機能があります。

ちょっとクセはあるのですが、使いこなせばお友達に差をつけることができます!

TL; DR

  • FlexGrid のカスタムエディタを導入すると入力のバリエーションが広がる
  • 一方で、カスタムエディタを(Angular アプリケーションに)導入すると処理性能が劣化する
  • カスタムエディタを NgZone で性能改善するにはトリッキーなコーディングが必要

ナイスな導入

グリッドの中で、「この項目だけはコンボボックスにしたいのに」って思うこと、あるよね。

あるあるだね。

Wijmo ならカスタムエディタでできるよ。
公式サイトのサンプルをキャプってみた。

f:id:tercel_s:20200122200522p:plain
カスタムエディタを搭載した FlexGrid

そうそう、こういうのがやりたかった。

サンプルソース一式はこちらの公式サイトから zip でダウンロードできるので、興味のある人はぜひ解析してみよう。

初心者向け解説は無いのか……orz

続きを読む

Copyright (c) 2012 @tercel_s, @iTercel, @pi_cro_s.