「フードテック革命 世界700兆円の新産業 「食」の進化と再定義」の感想

コロナ禍でデリバリーサービスが一気に普及しましたよね。

私がフードテックと言われて、思い浮かぶものはこれぐらいのことでした…

本書を読むまでは、です。

本書を読み、世界で進んでいる「食」×「テクノロジー」のことを幅広く知ることができました。

また、フードテックに取り組んでいる方の多くは、人間や動物の「幸福」を実現するために活動されています。「○○」×「テクノロジー」は効率性を追いかけるだけではないのか、という驚きがありました。

そして、本書の最後の章の「自分ゴト化して働ける食産業」の項目に次のような文章がありました。

食づくりの民主化が始まろうとしているが、それは誰もが料理を作れるということではなく、「誰もが自分が欲しいと思う食体験をつくることができる」ということなのだ。

これは自分にとても刺さりました

「食体験」とすると少し話が大きいので、「普段の食のこだわり」に個人的に解釈してみると、

自分が持っている食のこだわりをフードテックで実現し、それを多くの人と共有することが可能になっている

ということだと考えました。

「食べること」は生きることの土台です。その土台を理想の形にでき、かつ同じ価値観を持つ人とつながることができるのはとても素敵だと思いませんか。

本書にはフードテックの全体像を俯瞰できるフード・イノベーション・マップ2.0が付録されており、フードテック企業・新サービスも多く記載されています。

これらは、自分の食のこだわり・価値観を実現する手段を考える際の参考にすることや、食体験やこだわりを思い浮かべにくい方がイメージを広げることにとても役に立つと思います。

本書中で著者は、日本はフードテックの分野で行動しなくてはいけない、と強いメッセージを発しています。

その行動の際の羅針盤になる、そんな本だと感じました。

www.amazon.co.jp

「クリーンミート 培養肉が世界を救う」の感想

培養肉といわれて、ピンときますか?

私は本書を読むまでは

「培養肉って何??」

「それが世界を救う??」

という感じで、何も知りませんでした。

そもそも培養肉とは、動物から摂取した筋細胞を培養し、肉にすることです。 そして、もう一つ大きなくくりとして、「細胞農業」という言葉もでてきます。

細胞農業とは、動物には手を触れず(中略)本物の肉をはじめとしたさまざまな畜産品を研究室で生産する手法だ。(引用元:本書)

また、日本細胞農業協会の説明も記載しておきます。

細胞農業とは、従来のように動物を飼育することなく、生物を構成している細胞そのものをその生物の体外で培養することによって行われる新しい生産の考え方です。( 引用元:日本細胞農業協会 - 細胞農業とは

この本はタイトルに培養肉とあるのですが、メインの話は食肉に限らず、細胞農業の話です。

本書を読むと、現在の畜産業の不都合な真実と、それらを細胞農業で解決しようとしている団体やスタートアップ企業について知ることができます。

団体やスタートアップ企業については具体的に

  • ビジョン(解決したい課題、実現したい世界)
  • 成り立ちとこれまでの軌跡
  • 現在取り組んでいること
  • 今後、直面するであろう課題

などが挙げられます。

私が本書を通じて、培養肉の知識や企業の情報を得ただけではありません。 この真実でもある課題を解決するんだ、と立ち上がり行動されている方の熱い気持ちや、姿勢が一番強く伝わってきました。

この本を読み終わった後に「自分にも何かできるだろうか」と考え、大豆ミートをアマゾンで購入しました。

私自身、すぐにベジタリアンヴィーガンになることは難しいと思っています。 ですが、今の自分にできることをしよう、と考えさせられ、行動につながった本でした。

https://www.amazon.co.jp/%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%83%9F%E3%83%BC%E3%83%88-%E5%9F%B9%E9%A4%8A%E8%82%89%E3%81%8C%E4%B8%96%E7%95%8C%E3%82%92%E5%A4%89%E3%81%88%E3%82%8B-%E3%83%9D%E3%83%BC%E3%83%AB%E3%83%BB%E3%82%B7%E3%83%A3%E3%83%94%E3%83%AD/dp/4822288617

PDFのType 3フォントにハマった記録

完全に自分向けの備忘録です。

論文を提出しようとすると、pdf testから 「4ページ目と5ページ目にType 3のフォントが使われているからダメだよ」 と言われてしまいました。

そこで「Tex type 3」で調べてみると、Tex

\usepackage{lmodern}

 を追加するとType 3フォントがなくなるとあった( TeX ソースの PDF に type 3 フォントが残るという話 & 対策 - Bunta's computing memorandum )ので、試してみましたがpdf testからは同じテスト結果が返される…

つまり、Tex文書の中ではType 3フォントを使用していない、ということでした。

私が作成した論文はTexで作成していて、図は全てPDFで挿入していたので、4ページ目と5ページ目にあるPDF図のフォントをAdobeで調べてみると、

あった…Type 3フォント...

f:id:totopepe:20210526091413p:plain
PDF図に使われているフォントを調べた結果

ちなみに、使われているフォントの調べ方は

pdf ファイルのフォント埋め込みについて - JSIAM

を参考にしました。

Adobe(無料版)でPDFを開く⇒ホームを選択

⇒プロパティ⇒フォント

をすると開いたPDFで使われているフォントが分かります。

このPDF図をCubePDFを用いてアウトライン化しました。

埋め込めないフォントを埋め込みたい(PDF変換/CubePDF) | 印刷通販ときどき猫 blog

ただ、なぜかChromeやEdgeでPDFを開いて「印刷」を実行してもプロパティが出てこなかったです。 Adobeでなら問題なくできました。

これで一旦は片付いたのですが、PDF図をPythonのmatplotlibで作成したことを思い出して調べてみると、matplotlibではデフォルトでType 3フォントが使われているようでした。

PythonのグラフのType3フォント回避 - Qiita

matplotlibでType1のフォントを使う方法 | Yuuki Nishiyama

もう少し早く気が付くべきだった…

5Gの周波数についてのまとめ

5Gの周波数について

5G に割り当てられているのは、3.6GHz~6GHz帯の「Sub-6」と30~300GHz帯の「ミリ波帯」です。

 

また、5Gでの通信を考える際に帯域幅という周波数の幅が重要になってきます。

帯域幅とは、周波数の最小値と最大値の差です。例えば、100MHz~200MHzなら帯域幅は100MHzです。

 

帯域幅は4Gでは最大20MHz、5GのSub-6 では最大100MHzになっています(ちなみに3Gは5MHzです)

 

この帯域幅はチャネルというものに影響を与えます。

 

ケータイ会社が政府から割り当てられている周波数の中で、帯域幅分の細切れの周波数帯をいくつも用意します(図1)。

この細切れの周波数帯をチャネルといい、チャネルを用いて通信します。

f:id:totopepe:20210525101605p:plain

図1. 帯域幅とチャネルのイメージ図(書き手作)

 

 

5Gの通信の方法について

そもそも、どうやって情報を送受信しているのかについて考えます。

送受信したい情報は0と1のビット情報で表現されている。

しかし、電波という波で基地局とやり取りをする必要があるため、ビット情報を波に変換する必要があります。

 

このビット情報を波に変換することを「変調」といいます。

 

5Gは4Gと同じ変調方式であるOFDMというものを採用しています。

これは波の周波数の違いで情報を表現するもので、イメージをつかむには以下のサイトを参考にしました。

https://wa3.i-3-i.info/word13236.html

 

OFDMでは帯域幅が広く、扱える周波数が多いほど多くの情報を一度にやり取りすることにつながります。

5Gは4Gよりも広い帯域幅を確保できていることから、高速大容量の通信が実現できています。

 

5Gが広い帯域幅を確保できる理由

では、なぜ4Gから5Gになることで帯域幅の最大値が大きく増加したのでしょうか。

 

それは5Gに割り当てられている高周波数帯は「不人気な」周波数帯だからです。

 

このことは、波の周波数が低いほど波は遠くまで伝播し、そして障害物の影響を受けにくいという性質が関係しています。

 

高校物理で習う「波の回折」というものです。

 

通信は離れた場所と情報のやりとりをするために行うため、距離が離れていても確実にやり取りができる低周波数帯の方が人気です。

800MHz付近の周波数帯は「プラチナバンド」という呼ばれ方もしています。

 

そのため、低周波数帯は多く用途で使われ空きが少なくなってきており、政府も携帯電話会社に小さな周波数の幅しか割り当てていません。

 

一方、高周波数帯は不人気なので、携帯電話会社に割り当てることができる周波数の幅は大きいです。

そのため、仮に5Gと4Gのチャネルの数をほとんど同じとすると、5Gの方が一つのチャネルあたりの帯域幅を大きくすることができます。

 

5Gで採用している変調方式から、帯域幅の広い方が一度に多くの情報をやり取りできるようになるため、5Gでは高速大容量な通信が可能になっているわけです。

 

まとめ

5Gの対応している高周波数は不人気

⇒ケータイ会社が扱える周波数の幅が大きい

帯域幅を大きくできる

⇒一度に多くの情報をやりとりできる

 

最後に

多くのサイトでミリ波のメリット・デメリットについて書いてあり、参考にさせてもらいました。下にいくつか掲載しておきます。

www.itmedia.co.jp

hameefun.jp

 

 

 

きれいなプログラミングコードを書けない時の対処法

プログラミングをしていると数か月前に自分で作成したコードが読めない...ってことよくありますよね。

あるいは、お仕事でプログラマーをされている方はコードレビューでレビュワーから手痛い指摘を受ける方も多いのではないでしょうか。

 

そして、Googleで「コード きれいに書くコツ」などと調べて、「なるほど、そうするのか」と知識は得ても、一生懸命コードを書いていると気がつけばまた読めないコードに...

 

 

これ全部、自分自身のことです…

 

 

そんな中で、私が取り組んで少しはマシなコードが書けるようになったことをお伝えできればと思います!

 

目次

  1. なぜ知識だけではうまくいかないのか
  2. コードへの考え方を少し変えてみる

  3. まとめ

 

なぜ知識だけではうまくいかないのか

ここでは

 

きれいなコード

=可読性の高いコード

=他人が見て処理内容が分かりやすいコード

 

として、私自身が知識を得てもきれいなコードを書けない理由について考えてみたところ、二つあると思いました。

 

一つ目はこれらの多くはコードを実際に作成している時のことについて述べられています。

 

そして、二つ目は調べて得た知識の多くが、気を付けることや注意することだったからです。

例えば、

  • 変数名はルールにもとづいて分かりやすくつける
  • 適切なコメントを残す

といったことが挙げられます。

  

いや分かっている、分かっているけど、コードを書いていて気がついたら可読性の低いコードになってしまう...というのが私の思いでした。

 

じゃあ、どうするか ?

 

コードへの考え方を少し変えてみる

 良いコード、きれいなコードは「可読性の高い」コードと定義されている方が多いので、ここでもそのようにして考えています。

つまり、コードはソフトウェアなどを動かすモノであるとともに、誰かから読まれる「資料」でもあるわけです。

 

コードを処理内容の説明資料として使えるようにすることが、「きれいなコード」にすることにつながると考えました。

 

きれいなコードは誰が読んでも分かる可読性の高いコードです。

それを目指す前に

自分の説明付きでなら誰でも理解できるコードを作成しましょう

というスタンスです。

 

資料(文章)を作成する際に大切なのは、

  • 構成を考えてから書き始めること
  • 書き終わった後の手直し

だと言われていますし、自分でもそうだと感じてます。

これらを気を付けコードを作成するときに、私がやったことを説明していきます!

 

コードを書く前

事前の準備として「どんなコードにしようか」と考えるようにしました。例えば、関数やクラスはこんなのが必要そうだな、とかです。

 

そして、それを手書きで書き起こします。

 

ポイントは手書きです。

まとめるのは後でいいので、自分の頭に思ったことをどんどん書き出してみてください。

 

こういった作業は、きれいで整った資料を作成できるパソコンよりも、早く・ダイレクトに表現できる手書きの方がいいと思います!

 

こうすることで、「こんな機能をもった関数が必要だ」となれば、「こんな機能」を英語にすれば、最低限分かる関数名になると思います。

 

このやり方の利点は2つです。

  • ある程度、整理できた状態でコードを書き始められる
  • 書いている途中の確認や書き終わった後のフィードバックに使える

 

そして、下で紹介しているような記事にあることを気を付けながら、コードを作成します。

ただ、完璧に出来ていなくて大丈夫です!

qiita.com

qiita.com

 

コードを書いた後

ここで思い出してください。コードは説明資料です。

 

説明資料を作成したら、一回ぐらいは説明する練習しますよね(自戒)

 

ということで、上司なり、友人なりに自分の書いたコードを見せながら説明する練習をしてみてください。

聞き手がいるといいですが、いなくても全く構いません。

 

こういう時に、変数名が直感的で分かりやすいとすごく説明しやすいですし、再びその変数がでてきたときに、「何を表す変数だっけ??」と戻らなくて済みます。

 

コードに書かれたコメントも多すぎると説明しづらいですし、少なすぎると説明資料としては未完成です。

 

この練習をしてみて、読みにくいと感じた所は修正していくと、コードがきれいになっていくと思います。

修正する際には、他の方がブログで書かれていることを是非参考にしてください!

 

まとめ

コーディング前に、構想を紙に書き出す

コーディング中は、できるだけ気を付ける

コーディング後は、コードを使って内容を誰かに説明する練習をする

 

まとめてみると当たり前のことですが、当たり前が一番大事です。

 

ぜひ、みなさんもやってみてください!