前回。
Amazonで注文したメモリが届きました。
4GB×2枚です。

装着。

問題無く動きました。
メモリもきちんと8GBになっています。

さて、これで何を作るか・・・
ちなみに、ブラウザ立ち上げると1.2GB、
Eclipse立ち上げると0.6GB使用するので、
まぁ、使い切ることは無いと思うけど、
念のためスワップ領域も用意しておく。
前回。
Amazonで注文したメモリが届きました。
4GB×2枚です。
装着。
問題無く動きました。
メモリもきちんと8GBになっています。
さて、これで何を作るか・・・
ちなみに、ブラウザ立ち上げると1.2GB、
Eclipse立ち上げると0.6GB使用するので、
まぁ、使い切ることは無いと思うけど、
念のためスワップ領域も用意しておく。
前回はこちらに書いたのですが。
新たな気づきを書いていきます。
属人化とは、例えば「この作業はこの人にしか出来ない」という状態です。
この状態を作ってしまうと、その人が不在の場合、完全に作業が止まってしまいます。
それを防ぐ取り組みとして、情報を共有する時間を設定したり、ひとつの作業を複数のタスクに分けて複数人で取り組めるようにしたりして属人化しないように工夫しています。
特に、一つのPBIアイテムを一人で作業しないようにあえて他の人にやらせる、というのも、なるほど、と思いました。
POとは、まぁ、プロダクトを発注して、受け入れる側のプレイヤーですが、
POはプロダクトを受け入れる役割があるのと同時に、開発メンバーにプロダクトの内容をきちんと説明できなければなりません。
さらに、スクラム開発の性質上、POと開発メンバーは対等な立場なので、
POの説明が分からないと、「こんなんじゃ作れねーよ!」と、逆に開発メンバーから怒られるという現象が発生します。
いままでの現場では考えられませんよね。お客様の要求は絶対なので。
なので、PO側も開発メンバーにきちんと説明できるだけのスキルが求められます。
スクラムマスターは常に開発メンバーと一緒にいるのですが、
開発メンバーではないので、開発には参加しません。
開発者どうして、開発について議論するにしても、スクラムマスターは一切口出ししません。
が、開発メンバーの取り組みを常にチェックして、振り返りのネタを作成します。
俺だったら眠くなりそう。
でも、スクラムマスターは、スクラム開発の状態維持の監視と同時に、POや他部門との調整を行う、いわば窓口的な存在なので。
スクラムマスターも大変そうだなぁ。
お、言う感じで。
また気がついたことを書いていきたいと思います。
前回。
まずはケースを開けて換装が可能かどうかを確認します。
手前がDVDドライブ、奥がHDDです。
これ、どうやって取り出せば良いねん。
でもケーブルがSATAなので、SSDも問題無く取り付けられそうです。
装着されていたメモリです。
種類が異なるのはなんでだろう?
まぁ動いているから、まあいいや。
で、早速SSDを購入してきました。およそ6000円。本体と同じ値段です。
装着。
設置するスペースがないからここに固定する。
HDDはケーブルを取り外して取り付けたままの状態です。
そして、AlterLinuxを再インストール。
感触としては、立ち上がりまでの時間が大幅に短縮されました。
この状態で環境構築をしています。
Eclipseの起動も初回は時間が掛かったものの、2回目以降はほぼ瞬間起動できるようになりました。
これは思った以上に快適。
アジャイルはよくウォーターフォールと比較されるのですが、
その中で、アジャイルはウォーターフォールより優れているんでしょ?
とよく言われるようです。
その誤解を解いていきたいと思います。
そんなことはないですw
アジャイルでも得意としているケースと得意じゃないケースがあります。
例えば、常にニーズが変化し、それらをプロダクトに取り込んでいかなくちゃいけない、というケースはアジャイルが得意としているケー死ですが、
逆に、作る物があらかじめ決まっていて、変更されることがないケースはアジャイルにするメリットは無く、逆にウォーターフォールが得意とするケースです。
このプロダクトがどちらのケースに当てはまるか、を役考えて開発手法を選ばなければなりません。
そんなわけありませんw
ジャイルソフトウェア宣言というのがあるのですが。
https://agilemanifesto.org/iso/ja/manifesto.html
その中に、「包括的なドキュメントよりも動くソフトウェアを、」「左記のことがらに価値があることを
認めながらも、私たちは右記のことがらにより価値をおく。」
とあります。
ドキュメントなんて不要とはどこにも書いてませんよね?
アジャイルでもドキュメントは書きます。でも、それにかける工数はコーディングやテストよりも遙かに少ないです。
アジャイルとはソフトウェア開発の状態を表す言葉で、開発手法ではありません。
アジャイルなソフトウェアを実現する開発手法は沢山あるのですが、代表的なのはスクラム開発です。
スクラム開発という手法を取り入れることにより、ソフトウェア開発の状態がアジャイルである、と言うことです。
ま、それを維持するためにスクラム開発とは何か、を関係者全員が理解しないといけませんし、
オイラも今の現場が初めてのスクラム開発ですが、初めて知ることが多く、なかなか面白いな、と思いました。
こちらでも少し書きましたが、
これ以外にも新たな気づきがありました。また別の機会にまとめたいと思います。
でん。
ヤフオク!で5980円で購入しました。
CPUはインテル Corei3-2120 プロセッサー
メモリ4GB(2GB×2枚)
ストレージはHDD250GBです。
一応、Windows10Proが入っていますが、このまま使うつもりはありません。
LinuxのISOイメージをダウンロードして、DVDに焼いて上書きインストールしました。
デストリビューションはAlterLinuxを選びました。
フォロワーさんの中にAlterLinuxの開発者がいたので、完全に興味本位です。
感覚的にサクサク動きます。
やっぱりLinuxだからね。
メモリも、アイドル状態でも半分も使用していません。
と、ここまではいいのですが。
このまま使用するつもりはありません。
まずはHDDをSSDに換装したい。
あと、メモリも4GB×2枚まで増やせるらしいので、そちらもやりたい。
Googleストアにもラインナップされました。
予約可能です。
スペックをPixel5と比較してみました。
ディスプレイは大型化されています。
Proの方がリフレッシュレートが120Hzと高くなっているので、スクロールがスムーズに動くようになっています。
バッテリーも大容量化されていますね。
RAMはProが12GBです。
下手なPCより多いです。
ストレージは128GBと256GBから選べます。
プロセッサーは、以前から予告されていましたが、独自のプロセッサーTensorを使用しています。
Pixel5(Snapdragon765G)より80%早いと言われています。
カメラも大幅にパワーアップされていますね。
カメラ機能にも、機能追加されているようです。
映ってしまった余計なものを消す消しゴムマジック等々。
Android12が搭載されています。
Android12は他のPixel端末にも提供されると思います。
お値段は、Pixel6が74800円、Pixel6Proが116600円です。
うーん、今はPixel5a購入を目指しているから、ちょっと手が届かないか。
7セグLEDの桁を4桁に変更しました。
それに伴い、回路も修正。
さて、実際にプログラミを作成していきます。
まずは初期化。
def initialize():
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)
GPIO.setup(27, GPIO.OUT)
GPIO.setup(22, GPIO.OUT)
GPIO.setup(10, GPIO.OUT)
GPIO.setup(9, GPIO.OUT)
GPIO.setup(11, GPIO.OUT)
GPIO.setup(5, GPIO.OUT)
GPIO.setup(14, GPIO.OUT)
GPIO.setup(15, GPIO.OUT)
GPIO.setup(18, GPIO.OUT)
GPIO.setup(23, GPIO.OUT)
GPIO.setup(24, GPIO.OUT)
def clear():
GPIO.output(17, GPIO.LOW)
GPIO.output(27, GPIO.LOW)
GPIO.output(22, GPIO.LOW)
GPIO.output(10, GPIO.LOW)
GPIO.output(9, GPIO.LOW)
GPIO.output(11, GPIO.LOW)
GPIO.output(5, GPIO.LOW)
GPIO.output(14, GPIO.LOW)
GPIO.output(15, GPIO.LOW)
GPIO.output(18, GPIO.LOW)
GPIO.output(23, GPIO.LOW)
GPIO.output(24, GPIO.LOW)
LEDを点灯させるのですが、GPIOの番号では分かりづらいので、LEDの番号に置き換え。
def ledA():
GPIO.output(17, GPIO.HIGH)
def ledB():
GPIO.output(27, GPIO.HIGH)
def ledC():
GPIO.output(22, GPIO.HIGH)
def ledD():
GPIO.output(10, GPIO.HIGH)
def ledE():
GPIO.output(9, GPIO.HIGH)
def ledF():
GPIO.output(11, GPIO.HIGH)
def ledG():
GPIO.output(5, GPIO.HIGH)
これを使って、数字0~9を点灯する処理を作っていきます。
def output0():
clear()
ledA()
ledB()
ledC()
ledD()
ledE()
ledF()
def output1():
clear()
ledB()
ledC()
def output2():
clear()
ledA()
ledB()
ledG()
ledE()
ledD()
def output3():
clear()
ledA()
ledB()
ledG()
ledC()
ledD()
def output4():
clear()
ledF()
ledB()
ledG()
ledC()
def output5():
clear()
ledA()
ledF()
ledG()
ledC()
ledD()
def output6():
clear()
ledA()
ledF()
ledG()
ledC()
ledE()
ledD()
def output7():
clear()
ledA()
ledB()
ledC()
def output8():
clear()
ledA()
ledB()
ledC()
ledD()
ledE()
ledF()
ledG()
def output9():
clear()
ledA()
ledB()
ledC()
ledD()
ledF()
ledG()
久しぶりのラズパイ。
以前は、温湿度計の測定結果をLCDに表示されていたのですが、
配線が壊れまして、
直巣のめんどくさい、となって、そのまま放置していました。
しかし、7セグLEDを使用したらどうだろう?と思いまして、試してみることにしました。
これを実際に回路に組み込んでみた。
思った以上に配線汚い。
7セグLEDの回路図はこんなかんじ。
下の7端子はラズパイのGPIOに接続。
上の3端子は、トランジスタのコレクタに接続します。
トランジスタのベースには、GPIO14,15,18を接続します。
エミッタはGNDに接続します。
これは、フラッシュ型になっていまして、3桁を異なる値にするためには、出力を点滅するように操作することによって、表示を実現する仕組み。
トランジスタはその出力をコントロールするためのスイッチです。
この回路でLED点灯を確認したので、実際の処理を作っていきます。
最後のエラーはこれ。
この App Bundle にはネイティブ コードが含まれ、デバッグ シンボルがアップロードされていません。クラッシュや ANR を簡単に分析、デバッグできるよう、シンボル ファイルをアップロードすることをおすすめします。
これはででバッグ用のデータをアップロードしてください、ということなんですが、
そもそも、このデータを作成するには、
ビルド設定でsynbols.zipを作成にチェックを入れてビルドを行います。
これをネイティブデバッグシンボルにアップロードすればいいのですが。
300MBを越えるとファイルが大きすぎると怒られます。
この現象は、zipファイルを一度展開し、サイドzipファイルに固めるとファイルサイズが小さくなって、アップロード出来るようになります。
こちらの記事を参考にしました。
https://qiita.com/ShortArrow/items/854a9f7e855dd937fee2
これでエラーは全て解消されました。
長かった・・・
その5
次のエラーは、
この App Bundle に関連付けられている難読化解除ファイルはありません。難読化コード(R8 / ProGuard)を使用している場合、難読化解除ファイルをアップロードすると、クラッシュと ANR をより簡単に分析、デバッグできるようになります。R8 / ProGuard の使用は、アプリサイズの縮小につながります。
参考にしたサイトはこちら。
そもそもの話、ビルドの時にR8オプションをつけると、難読・圧縮化されて、ファイルサイズが小さくなるというメリットがあるのですが、
難読化しているので、デバッグ情報が出力されないという問題があり、それを解決するためにマッピングファイルをアップロードしておくと良いですよ、という話です。
Unityの設定は、プロジェクト設定で行います。
「R8を使用」という項目にチェックをつけます。
これでビルドするときに、マッピングファイルも出力されます。
アップロードするところはこちら。
ReTraceマッピングファイルの所に、aabファイルと一緒に出力されるマッピングファイルをアップロードします。
これで、このエラーは解消されました。
まだ続きます。