neura’s blog

ブログの一言説明 (Description)

CoCo壱番屋 攻略(24/3/12)

 

 

今の環境はトッピングなしポークカレーが最安で¥570
f:id:neura:20240312163814j:image

 

まずは今回、自分が頼んだメニューどーん!


f:id:neura:20240312170047j:image


f:id:neura:20240312170028j:image

 

 

いや高すぎるだろw

ってことでレビューいきま! 

 

ーーーーーーーーーーーーーーーーーーーーーーー

★ポークカレーのルー 

甘口にしたはずなのに市販だと中辛〜辛の間の辛さで来た

夏なら汗をかけてカロリープラマイゼロ!(ならない)

ポークカレーだけどほぼ肉は言ってない。ルーだけ

ドロドロしすぎずみずみずしすぎずだけど普通の味


f:id:neura:20240312170517j:image

 

★カツ

ハムカツさん太郎を厚くした感じで変わってなかった

衣が平坦なのがだめ。厚さは普通のカツの半分くらい。


f:id:neura:20240312170506j:image

 

★ササミトッピング

これは普通にうまい。値段に見合っているからおすすめ

普通のササミ

オプションなら¥249でやすい。


f:id:neura:20240312170451j:image

 

★攻略法

ポークカレー¥570

トッピング 手仕込みささみカツ ¥249

計 ¥819 

最安のポークカレーにトッピングがコツ

 

 

〜最後にトッピングメニュー一覧〰

攻略の参考になれば


f:id:neura:20240312165732j:image


f:id:neura:20240312165727j:image


f:id:neura:20240312165755j:image


f:id:neura:20240312165815j:image


f:id:neura:20240312165826j:image


f:id:neura:20240312171602j:image

 

★総評

5年はいかなくていっかなw

全部1000超えてて高過ぎだしタブレットがおすすめしてくるので機会があればポークカレーを基本にトッピングでリベンジ

プログラミング初心者がデバッグで詰んだときに確認するべきこと まとめ

この記事ではプログラミング初心者、現場未経験の自分が個人開発でのプログラミングをしたときに躓いたところの改善点を洗い出しています。

 

デバッグ時に一日、本気で液晶に向き合っているのに、棒巨人漫画よろしく「なんの成果もえられませんでした」ってなるのが一番疲弊します

 

それどころか大抵、別の正常な部分をいじったり、どこかをいじると、依存関係が破綻するのでバグが増えていきます。

 

で、この問題はいくら調べても解決しないし、周りの人に聞けないときもあります。

そうなったら一旦視点を変えないと解決できません。

 

改善点は洗い出して改善していかないと成長できないので、デバッグ大全のようにここにまとめていきます。

 

文章がおかしいところもありますが自分向けで言語化したものをメモのようにまとめているのでご了承ください。

 

環境、ライブラリ、設計、コーティング これらはすべて連動していて、これらのどれか一つでもおかしいと、全てが破綻し、どこがおかしいかを探し出すことは困難になってしまいます。

 

デバッグで引っかかるなら、まずコードがおかしいこと、そもそも設計がおかしいこと、そもそも環境(外部ライブラリやモジュールなどの前提)がおかしいことがあります。

その場合、いくらしらべて解決方法を探してすべての修正方法を試しても、エラー箇所の行だけ直しても治るはずがないです。

 

重要なのは、殆どの場合、デバッグでエラーを読み、解決方法を調べてすべて試したのに解決しないから詰んでいるのではなく、どこかが破綻しているから成り立っていないと考えましょう。それがエラーメッセージを読み取って改善する能力に繋がってくると思います。

 

 

また、完全に理解できないライブラリ、関数はなるべく組み込まないほうがいいです(ユニットテストのようにとりあえず単体で書いて動作を見て、組み込めるかを考えたり理解して使えるようにすることは重要。しかしライブラリを使わないと実現できないことが殆どで、すべてのライブラリを理解、知っている人なんていない)

 

この問題は例えるなら、数学の文章問題は答えをみても公式や考え方がわかっていないととけません。また、考え方を理解せずに暗記して答えを書いてその時は得点になっても、応用で2つの公式や概念を組み合わせる問題は解けません。

その応用問題が試験に出て解けないという壁にぶつかったとき、改善するべきことは基本の2つの概念の理解と考え方をまず理解することです。決してその問題単体を解けるようにすることではありません。

これを放置したまま学年が上がってしまうとどんどんついていけなくなります

プログラミングの場合、理解できないコードが例えば2つ混ざっているとエラーを治す際に、その2つの理解できないコードが原因となったとき、複合的概念による問題がエラーとしてでているので、問題の認識、改善方法がわからないため、治すことができません

 

で、一番ベストなのは分かる人に聞くことだと思います。失敗の原因を探すときに、問題の焦点がちがった場合、それを自分自身で認識することは困難です。そのためにも人に聞けるようにコードを書きましょう

 

 

①コード

・打ち間違いや定義した変数名、関数名と違うケース(neura→neiraなど)

→コピペ、copirot、ideプラグインでの予測などで正確さを保証、随時見直し

デバッグ時のエラーメッセージから予測

→コメントで必ず関数ごとに説明を入れる 他の人、中学生でもわかるように(聞ける状態、誰かに見せたときにその人が理解できるようにしておく)

 

・文法上のミス、型が違う、nullなど、使い方を間違えているケース

→随時見直し、参照先の可視化と確認、ジェネリクスアノテーション、コメントを入れてどのような役割をしているかわかるように

デバッグ時のエラーメッセージで判断可能な状態にするためにコメントなどで説明を絶対に入れる。

 

②環境

・環境構築でフォルダのディレクトリの配置がおかしい

→なるべくチュートリアルやデフォルトのパスにインストールしておく

ディレクトリの管理ツールを使う、どこに何をインストールしたかまとめる

 

③外部ライブラリ

・最新バーションに未対応のライブラリを使ってしまっている

→ダウンロードする際にバージョンの対応状況の確認、注意書きを読む

 

・ライブラリ自体が新しく、様々な用途を想定されていないライブラリ

→ダウンロードする際にバージョンの対応状況の確認、注意書きを読む

→なるべく使用率が高い外部ライブラリのみを使う

→そもそも外部ライブラリは標準ではなく、バグはあることを肝に銘じて使う

 

④設計

・依存関係が複雑でバグが増える。多すぎて原因がわからない

→親クラスをいじると当然子クラスは破綻するし、関数を呼び出して使っているなら呼び出し元の関数をいじると連鎖的に破綻する。モジュールやライブラリも同様。

依存関係は極力、個人開発の場合は減らすこと。

→チームでやる場合、部分ごとに責任を振り分けることで動作保証が高くなるはず。

その場合でも全てを連結して動作をさせるときは一発で動作することはないと考える。

 

 

・無理な設計

→自分の知識の範囲内で使う。内部処理を完全に理解していないクラス、関数をなるべく使わない(関数が動いているからといって組み込んでも、あとでエラーが出た際の問題の発生原因、問題の発生箇所がこの部分だとわからなくなるため)

→構造化プログラミングのような設計を考える

→勉強しても完全に理解できていないクラス、関数を使わない(例えばラムダ式などの難しい概念の内部処理を理解できていないのに使用することなど)

 

 

・依存関係を記載しているファイルやライブラリの配置などがおかしい

importや依存関係を記載しているファイルがおかしい可能性

→エラー時にvscode上で該当のファイルが自動で開かれるのでそこから逆算

 

 

★まとめ

依存関係をすくなく

ライブラリは説明をよむ、バージョンを確認

よくわからないコードは書かない

他人が読めるように意識

人に聞く

使用する技術をデバッグしやすいか?をまず第一に考えて設計する

 

 

 

 

 

 

 

 

 

 

マジで面白そうなインディーゲームみつけた

『 Link: RH 』



プレイ動機が「インディーゲームだから」プレイしたいってやつじゃなくてマジで買ってやりたいヤツ。

 

ジャンルはハイスピード3Dアクション

 

ソニックとかゴッドイーターとかファンタシースターオンラインとか好きな人は刺さるんじゃないかな

 

まだリリースされてないですがSteamでWish登録できます

 

開発期間は一人で5年らしいです、凄すぎ。

この投資が報われますように。

 

[:enbed]

YouTubeの動画埋め込みは↓のようにすることでスマホ版からでも埋め込みできます

[YoutubeのURL:embed]

 

 

 

 

 

flutter初心者のレスポンシブデザイン

初心者がflutterでのAndroidアプリの開発で躓いた所を書きます

 

flutterの環境構築をしていざアイデアを具現化してアプリを作ろう!ってなったときまず設計でuiを考えますが、レスポンシブデザインについてどのように対応するか考えてしまいませんか?

 

特にAndroid端末は機種が無限にあり、解像度が豊富なだけでなく、機種依存の独自機能が盛り込まれていることも多いです。

 

ContainerやCardの親ウィジェットが配置が自由だしとりあえず殆どContainarで配置できれば楽だと思ったんですがレスポンシブに対応していません。解像度が変わると配置が全て変わってしまいます。

 

そのためRow(行) Column(桁)のような親ウィジェットで作る必要があるのですが当然UI設計が難しくなります。

複雑なUIにするとデバッグも大変になって詰みます。

 

まずエラーは出る前提なのでいかにデバッグが必要な範囲を減らせるか?という点は設計段階から考えてください。

 

ウィジェットを増やせば増やす程、ビルドできる可能性が低くなります。詰んだら最後、解決方法が記載されているサイトが少ない上、エラーメッセージを読んでその通りに改善してもバグが取れないことがあります。そのような事が起きてしまうとデバッグ神社を立ててビルド出来ることを祈るしかなくなります…

 

まず初心者はポートフォリオのように一旦ビルドまで進むためにも自分の端末だけでも綺麗に表示されれば良いのではないでしょうか?

 

 

 

他の方法も考えてみましょう。

 

★SwiftUIで開発する方法

iosアプリのみの開発の場合はswiftだとswiftuiというfluttwrflowのようなフレームワークがあり、エミュ上で視覚的にuiを作れるみたいなのでiosのみのアプリ開発ならこちらの方がいいかもしれません。

以前からストーリーボードといった視覚的に開発できるフレームワークがありましたが、この新しいフレームワークが出てきた事により、さらに開発しやすくなりました。

flutterflowよりはまだ、解説記事も豊富です。しかしかなり新しめのmacosが入ったmacが必要なので開発には初期投資が必要です。(flutterでの開発でもビルド時はmacが必要です)

iphone端末は数が少ないのでレスポンシブデザインに対応しやすいです。

またiosSafariが端末に組み込まれている仕様など、設計思想からしデバッグもflutterより楽だと考えられます。

 

★webviewでサイトを表示する方法

ストアに出すならwebviewに価値を依存しすぎると審査落ちリスクがあります。またwebviewだとgoogle.comなど表示ができないサイトは多いです。サイト上でGoogleのアカウントを使ってログインする事もできません。

このような機能はfirebaseやGCPなどで対応する必要があります

普通にhtml,css,jsでウェブサイトを作ってレスポンシブ対応をしたほうがいいかもしれません。アプリより必要工数も少ないと思います。ios,android全機種,pc全対応のサイトを作ることも狙えます。

 

 

 

なにかあればコメントいただけると嬉しいです。

 

 

 

 

 

 

写真だけでリアルな緊張感を伝える方法

最近のネット新聞の表現力は凄い。

https://www.yomiuri.co.jp/s/ims/2022inhigharchery/

 

これはアーチェリーのインターハイの記事だが、

アーチェリーをやったことが無くても大会の緊張感が伝わってくる。

 

スライドフリック型のウィジェットで大会の全体の場面を分割して切り抜き、全体をイメージできるだけでなく、一つ一つの画像の下にはその画像の説明、キャプションをつけることで何をしている画像なのか理解できる。

 

動画よりこの表現のほうがリアルな没入感で感情移入ができるしスライド画像だけの方が動画以上の情報量を短時間で伝えられるってのは気が付かなかったな

 

そんな感じで業界のプロを見ると素人の先入観をぶち壊してくれるし、ブログでもなんでも色々なプロを見て吸収していきたい

 

 

簡単にやる気を出す方法

やる気は工夫しないと出てきません。どのようにすればやる気がでるのでしょうか?

 

様々な方法がありますが

【とりかかるまでのハードルを限りなく低くすること】

でやる気がでてきます。

 

 

例として勉強に取り掛かるためのやる気について考えてみます。 

 

まず、やる気とはドーパミンのことです。

ドーパミンを出す方法は対象の作業に取り掛かる事です。

 

SNSウェブ広告、ニュースなど不意に興味を刺激され、無意識的にタップしたあと、サイトをじっくり見てしまったり、ニュースを見たあとに関連情報をググってしまうことってありませんか?

 

疲れていると掃除は面倒だと思うときもありますが、部屋の掃除を始めたら元々は掃除するつもりがなかった場所も掃除をしたくなってしまいますよね、あの感じです。

 

しかし、もし掃除機が物置の奥にしまってあったらどうでしょうか?または、パーツがバラバラにされていて組み立てる必要があったら掃除を始めること自体、億劫になってしまいますよね?

 

そのようなワンステップを置かなければ実行できないような環境自体が、実行コストを上げてしまっており、結果的にハードルが高くなってしまいます。

 

それと同じく、最初から机の上で勉強しなくてもゴロゴロしながらスマホで勉強していればいつのまにか、【続きが気になる】状態にできる可能性が高まります。

 

当然、そのような状態なら、より効率のいい大きなデバイスや机をつかって勉強したくなるかもしれません。

 

重要なのは効率を求めるあまり、開始すること自体のハードルを最初から高く設定すると本末転倒で始めることすらままならない ということを肝に銘じておくことです

 

まずは2分、スマホで興味のある分野だけを調べてみてみるだけでハマる可能性が高まります。また、興味を生み出す方が優先度が高いので、最初の方から順番に学習しようとする必要もありません。

殆どのコンテンツは最初の方は理解しやすいかわりにつまらないことがほとんどです。

理解しやすいことは興味に繋がりますが、理解以上に興味のほうが実行力の観点では重要となります

反面、理解出来ない事は興味がもてない事が多いのもまた注意が必要です

 

 

★その他の方法

勉強以外でも対象物について興味が持てそうなことについて動画でみる予習になったり興味をもてたり、実行するためのハードルを下げられます

 

また、報酬が設定されていて現在の自身が乗り越えられそうなものでもドーパミンがでます。

ゲームならクリアできる可能性があるゲームである必要があります。

 

そのタスクをこなしたとき、将来のメリットが想像できる事(自身が得する可能性があると信じていることを実行することでもドーパミンが出ます)

 

疲れすぎていないこと(実行コストは払える状態である必要があります)

 

やる気を出したいものより優先度が高いこと、気になることがないこと(あらかじめ区切りをつけておきましょう)

 

SNSやニュース等、情報テロによって余計な興味とエネルギーを奪われたりしないこと

 

なども関係ありますが、これらも最初の2分に取り掛かるために必要なものです。

 

 

 

 

 

★メモがこまめにできるようになるには?

有名なメモアプリ、notionは起動が遅くて面倒なので簡易的なことは触れやすいLINEにメモしています。

簡易メモは現状、googleホームやアレクサでの音声入力が最も楽です。

notionは便利ですがメモを取るには起動が早いアプリがおすすめです。