やっつけな日常(27) Rustに入ればRustに従え、それにしても#deriveて何よ

source
Joseph Halfmoon

Rust言語の勉強の前回は「所有権」というRust独特の仕組みに触ってみました。今回は「所有権」に再び足をすくわれ(復習)つつ、構造体に触手?を伸ばしてみたいと思います。やっぱりというか、当然というかRustの構造体もクセが強いです。だいたいね、トレイトとか他の言語ではない用語/概念多すぎ。カッコイイんだけれども。

“やっつけな日常(27) Rustに入ればRustに従え、それにしても#deriveて何よ” の続きを読む

やっつけな日常(26) Jsに入ればJsに従え、JavaScriptの「巻き上げ」、御無体な

JavaScript

前回前々回と各言語の「クセが強い」ところを触ってます。今回はその流れでJavaScriptであります。JavaScriptの場合、使っている人が多いので「クセが強い」でなく「コモンセンス」なのかも知れません。必要に迫られてJavaScriptのコード断片をたまに書くような年寄りには御無体な感じがしないでもないデス。

“やっつけな日常(26) Jsに入ればJsに従え、JavaScriptの「巻き上げ」、御無体な” の続きを読む

やっつけな日常(25) Goに入ればGoに従え、そんなこと出来るの?ヒープ・エスケープ

memESC_Go
Joseph Halfmoon

前回はRust言語のヒープ管理が「クセが強い」みたいな事を書いてしまいました。「クセが強い」ことでは、Go言語のヒープ管理も負けてない、と思います(個人の感想です。)「ヒープ・エスケープ」という技?を最初みたときには、これは何?と結構驚きました。伝統的なC言語ではやっちゃいけない(やったらひどいことになる)ことがOK。 “やっつけな日常(25) Goに入ればGoに従え、そんなこと出来るの?ヒープ・エスケープ” の続きを読む

やっつけな日常(24) Rustに入ればRustに従え、メモリの管理、独特、でも安全かも。

ERROR02
Joseph Halfmoon

前回は、ラズパイ4にRust言語インストールしてお試しを始めました。今回はWSL1上のUbuntuでRust言語の「核心」メモリ管理をちと触ってみたいと思います。「クセが強い」感じがしてます。けれどもそのクセの背後には安全な操作を担保するための慮りが入っている、らしいです。受け売り。まあトレーニングあるのみ。 “やっつけな日常(24) Rustに入ればRustに従え、メモリの管理、独特、でも安全かも。” の続きを読む

やっつけな日常(23) ラズパイ4に Rust言語処理系をインストール。野望?は広がる

remoteVScode
Joseph Halfmoon

いろいろ試してみたい言語処理系が多数あります。つい数か月前からもGo言語の勉強始めたところです。しかし「年に新言語ひとつ」のペースではとても死ぬまでにカバーしきれない、というわけでペースアップと。今回新たにRust言語始めます。「何でもできる」言語みたいですが、食いつきポイントは「低レベル、組み込み」ができるらしい点。

“やっつけな日常(23) ラズパイ4に Rust言語処理系をインストール。野望?は広がる” の続きを読む

やっつけな日常(22) ラズパイ、IO Expander制御、入力モード追加

GPBinputCircuit
Joseph Halfmoon

ラズパイのI2Cバスを5V化した先に接続してあるIO Expander MCP23017、いままで全ビット出力設定でした。今回から入力ビットを「混ぜられる」ようにしたいと思います。本当は1ビット毎に方向設定可能なのですが、テスト用のコードを書くのがメンドイのでPortA/Bの8ビット単位で設定できるようにしてみました。 “やっつけな日常(22) ラズパイ、IO Expander制御、入力モード追加” の続きを読む

やっつけな日常(21) NodeRedダッシュボードからIO Expander制御

NodeRedDashboardEC
Joseph Halfmoon

前回、ラズパイ3機のI2Cバスを5V化した先に接続したIO Expander MCP23017の動作確認をPython使って行いました。今回はIO Expanderの持つA、B2つの8ビットポートのうちAポートについて、ブラウザに表示されているNode-REDダッシュボードから点灯/消灯操作を出来るようにしてみました。 “やっつけな日常(21) NodeRedダッシュボードからIO Expander制御” の続きを読む

やっつけな日常(20) Raspberry Pi 3、5V IO Expander動作確認

DUT_schematic
Joseph Halfmoon

前回、ラズパイ3機からとりだしたI2C配線を5V化するところの配線の接続確認で疲れてハードだけで終わってました。今回は動作確認用のソフトウエア(Python スクリプト)を走らせてIO Expander MCP23017が動作OKなことを確認します。動作確認方法は吉例LEDの点滅です。

“やっつけな日常(20) Raspberry Pi 3、5V IO Expander動作確認” の続きを読む

やっつけな日常(19) Raspberry Pi 3で5VのI2C, 配線抜けてた動かない

RpiPCA9306
Joseph Halfmoon

ブレッドボードとジャンパ線で実験用の回路をこさえるのはお手軽で良いです。ただ時折、思わぬところで足をすくわれます。今回はラズパイ3のI2C信号を5V化した先に5V電源のIO Expanderを取り付けようとしてハマりましたです。「ちょろい」などと不埒なことを考えて手を抜いたバチがあたりました。

“やっつけな日常(19) Raspberry Pi 3で5VのI2C, 配線抜けてた動かない” の続きを読む

やっつけな日常(18) いまさらゲートレベル回路図で論理シミュレーションでもあるまいが

LogisimEC
Joseph Halfmoon

別シリーズでゲートレベルの小さな論理回路図の動作を確認したかったのです。HDLからもっと高級な方へ動いている世の中でゲートレベルの回路図の論理シミュレーションなど今は昔?しかたないのでアナログシミュレータLTspiceのロジック使いで切り抜けました。牛刀割鶏。その後なにか無いかとNetを探しまわった結果がコレです。

“やっつけな日常(18) いまさらゲートレベル回路図で論理シミュレーションでもあるまいが” の続きを読む

やっつけな日常(17) スマホでGo!GoのポインタはCとは違うケド、ちょっとだけよ。

result
Joseph Halfmoon

Go言語を始めて喜んだことの一つにポインタがあります。一瞬、ポインタがあれば「やりたい放題」と思ったのですが違いました。Goのポインタはほぼ安全。Cのように不作法な操作は許してくれないことが分かりました。でもねえ、やっぱり「危ない」ポインタ操作をやりたい人はいたみたい。その名もunsafeモジュール。

“やっつけな日常(17) スマホでGo!GoのポインタはCとは違うケド、ちょっとだけよ。” の続きを読む

やっつけな日常(16) スマホでGo!じゃない。「外部コマンドを実行」でコケたトホホな理由

execEC
Joseph Halfmoon

スマホでGo言語を動かす筈が、Ubuntuで実行してます。やっぱりキーボードが使える方がお楽。そうはいっても同じソースがスマホでもパソコンでも走るのでご勘弁。さて今回は、ツマラヌ間違いで上手く動かなかった件を反省。よく見れば直ぐに気が付く話、トホホ。

“やっつけな日常(16) スマホでGo!じゃない。「外部コマンドを実行」でコケたトホホな理由” の続きを読む

やっつけな日常(15) スマホでGo!じゃない。ヒルベルト曲線

Hilbert
Joseph Halfmoon

今回はヒルベルト曲線っす。フラクタルの定番。ダフィット・ヒルベルト大先生の御発見。空間を埋め尽くす空間充填曲線のひとつであります。勿論埋め尽くすところまで描かないけれど。プログラムは簡単。そのうえGWだし、ということでスマホ上でプログラムせず、Ubuntu20.04LTS上のGo言語で実習。手抜き。

“やっつけな日常(15) スマホでGo!じゃない。ヒルベルト曲線” の続きを読む

やっつけな日常(14) スマホでGo!パラメータを変えると飽きない2分木?を描く。

test13_30
Joseph Halfmoon

前回のローレンツアトラクタは不思議。しかし初期値を変更しても結局同じような絵で飽きました。今回は値を変更するといろいろ変化が楽しめる?樹木的な図形を描いてみたいと思います。ちょうど2進木を図形化したような。ただ変化が大きい裏返しでちょっとの変化で計算量が爆発します。設定に注意しないとなかなか帰ってこなくなります。

“やっつけな日常(14) スマホでGo!パラメータを変えると飽きない2分木?を描く。” の続きを読む