React 環境構築メモ

忘れないようにメモ。

# Typescript でアプリケーションを生成
$ npx create-react-app app-name --template typescript

# Storybookのセットアップ
$ npx -p @storybook/cli sb init
$ yarn add -D @storybook/preset-typescript ts-loader fork-ts-checker-webpack-plugin

コンポーネントのスタイルは foo.module.css という風に 〜.module.css という名前で作成すると、コンポーネントからCSS Module としてインポートできる。

レベルアップPHP ~言語を理解して中級者へ~

PHPの中級者を目指している人向けの本ということで読んでみた。 もともとは「技術書典」で頒布された同人誌だったもの。 内容は網羅的だが、記述はあっさりしかもので詳しい内容についてはポインタを示してそっちで勉強してねという感じ。コードを示しての具体的なノウハウについての記述はなくあまり実践的な内容ではなく、あくまで初心者が最初の入門書を読んだ後の補足とポインタを示すというのが本書の立ち位置なのだろう。

独習PHP 第3版

土曜日にやってる仕事、PHPで書かれたサーバーサイドの比重が増えてきた。PHPは5.4あたりで触れる機会がなくなってしまっていたので、とりあえずPHP7の情報をキャッチアップしておこうと思い購入。

PHPの入門書は一時に比べて下火になった感はあるけれど、それでも結構な数は出ている。でも、バージョンが未だに5.xで止まってたり、内容があまりに初心者向けだったりして実用的なものとなるとあまり数はない。「独習PHP 」の山田祥寛は言語や環境を問わず入門書を沢山書いている人だが、その手のライターの中ではかなり信頼性の高い人、それにちょうど翔泳社のセールで電子書籍だと半額だということもありこの本に決めた。

内容的には(自分にとっては)物足りない部分はあるものの、基礎的な部分はコンパクトに網羅していてリファレンス的な使い方をするには十分かなという感じ。初心者向けの入門書ながらセキュリティ絡みの記載もちゃんとあるのも高感度高い。

しかし、改めてPHPの言語仕様などを確認したけど、2020年現在に使う言語としては物足りないものがあるなぁ。積極的に使いたいものではないな。

独習PHP 第3版

独習PHP 第3版

  • 作者:山田 祥寛
  • 発売日: 2016/04/09
  • メディア: 単行本(ソフトカバー)

Power Apps Portal 続き

コロナ騒動の所為で案件の次期が伸びてしまい、特にやることがないので Power Apps Portal とその周辺のMSのプロダクトの調査と学習をだらだら続けている。

Power Apps Portal はCommon Data Serviceという情報基盤をベースにノーコード、ローコードで外部ユーザー向けにポータルサイトを構築できるってのが売りなんだが、自動生成されるフォーラムとかの掲示板的な機能は一見、Power Apps Portal の機能で実装してそうなんだけど、実際はASPXで実装されててユーザーがPortalで似たような機能を一から実装しようと思ってもできなかったりしてうんざりする。

もともと Dynamics365のアドオンだったのが出世して、キャンバスアプリ、モデル駆動型アプリとならぶPower Appsの主力となった?ようだけど、現状の出来栄えは、Common Data Serviceで生成したビューやフォームを利用する部分と、Liquidを利用してテンプレートをゴリゴリ書いていく部分も乖離してたり、いろいろ微妙な感じだ。

JoyC

f:id:tricogimmick:20200414084011j:plain

M5StickC用のジョイパッドを試してみている。 左右それぞれ、X軸Y軸を0〜200の分解能で取得できる。あとスティック自体が押し込み式のスイッチになっていてそのON/OFFも取れる。 データの取得は、サンプルコードを見ると、I2C経由で読み出すだけでOKみたい。

// Y軸の値を取得する
uint8_t JoyC::GetY(uint8_t pos)
{
    uint8_t value;
    uint8_t read_reg;
    read_reg = (pos == 0) ? JOYC_LEFT_Y_REG : JOYC_RIGHT_Y_REG;
    M5.I2C.readByte(JOYC_ADDR, read_reg, &value);
    return value;
}

パッドの状態を取得するだけなら簡単そう。 問題は取得した値を通信してやりとりするトコだな。

M5StickC

f:id:tricogimmick:20200412095343j:plain
M5StickC

休日なので、週明けにスイッチサイエンスから届いて放置していたM5StickCを開梱。
とりあえず、ArduinoIDEからサンプルを転送して動作確認。ケーブル繋いだらエラー画面になって驚いたけどプログラムを転送したら問題なく動作した。実際に触ってみると想像以上に小さい。
RoverCとJoyCも買ったので繋いで遊びたいけど、M5StickC間で通信(WiFiBluetoothどっち?)しないといけないので、まずそこら辺の下調べからだなぁ。

PowerApps Portal

4月から次の案件で利用するため、MicrosoftのPowerAppsの勉強をしている。
ノーコード、ないしローコードで主に業務向けのアプリケーション開発を行うことができる環境で、今回、主に学んでいるのは顧客などの外部ユーザーに対して情報提供などを行うWebサイトを構築できる Portal というもの。

カタログスペックだけみると、いろいろやれる便利な仕組みに見えるが、実際に手を動かしていじってみると例のよってお仕着せの機能を使っている分には簡単だが、それ以外のことをしようとすると泥沼といういつもの奴であることが判る。提供元からすれば、そういうトコは目指してないからということなんだろうけど、実際の顧客はそんな制限は知ったことではないし、売る方はこれさえ入れときゃ何でもできると思ってるし、いつも泣かされるのは僕のような下っ端開発者である。

今回だと、顧客向けに製品の取説などのドキュメントをダウンロードさせるポータルサイトを作るという案件なのだが、カタログには SharePoint Online と統合されておりSharePointに保存されたドキュメントをダウンロードしたり、アップロードしたりできると書かれてはいるけれど、実際に試してみるとカタログ通りに連携したSharePointのライブラリの一覧を表示させてそこにアップロードとかダウンロードはできるんだけど、(見落としているだけかもしれないが)細かいハンドリングがどうもできそうにない。Portalの場合、細かい制御が必要な場合はテンプレートエンジンであるLiquidを利用してごちょごちょやるようになっているけれど、SharePointに対応したオブジェクトは提供されていないようで、お仕着せの部品を表示することしかできない。確かにSharePointに保存したドキュメントはダウンロードできるかもしれないけれど、とてもじゃないが顧客に提供するWebサイトとしてのクオリティではない。

どないせーちゅう話だが、今の所、五里霧中でどうしたものかさっぱり見当もつかない。