さぼてんの日記

さぼてんです。素人のおっさんが未経験エンジニアとして、コピペで動くプログラムを中心にログを残そうと思います。基本python使います。よろしくおねがいします。

Chromebook開発のすすめ

Google Pixelbook (i5, 8 GB RAM, 128GB) [並行輸入]

所感

「なるべくお金をかけない」というのは、このブログの趣旨であるのは確かだが、

一点だけ、お金をかけてしまったことがある。

それはこのPixelbookだ。 (注)このPixelbook以外、基本Chromebookは安くすみます。

元々私はMacbookを使っていた。 スペックだけを見れば、Macbook で良かった。 このPixelbookでないとできない、ということは本質的には無いのは確かだ。

一方、今の私はChromebook派だ。pythonを始めた頃、Macbookから始めて、ようやくプログラミングに慣れてきた頃、ちょうどMacbookのバッテリーの調子が悪くなり、新しいPCが必要になり購入した。当機種が世に出たのが2017年の末頃だろうか。未だにこのPixelbookを使っており、離せない。 i5 といえば、そんなに悪くもないが、もはや良くもないスペックだろうと思う。

しかし、これは手が離せないのだ。

単純に手と一体化してしまうのだ。 このトラックパッドとキーボードだけで購入する価値がある。 こんなにスベスベかつヌルヌルなトラックパッドと、本当に優しく柔らかくしっかりタイプできるキーボードは、恐らく世の中に存在しないだろう。会社のザラザラなパソコンなんか触りたくもないのである。できるものであれば、このPixelbookを24時間触っていたいのである。

私はこのPixelbookをこの世の中に、心より勧めたい。

しかしそれは無理だ。 特にこの日本においては。

そう、本質的なスペックに対して価格が高すぎるのである。 中古ですら高すぎるのである。

前段が長くなり過ぎたが、以上はChrombookのうちのPixelbookとしての話だった。 ようやく本題に移ろう。

結論

Chromebookは超絶便利だ。

下に Chromebook としての良いところと悪いところを列挙する。 Pixelbook でなくともChromeは買いだ。

良いところ(Chromebookとして)

・基本、Chromebook は安い。(Pixelbook は高い。) ・Linux (Beta)環境で開発可能。 ・ChromeOSでChromeによるWeb browsing が超ヌルサク。 ・上記を融合した絶妙な開発環境。結局、Google Keep や、Webサイトの技術情報を見ながら開発するので、ブラウジングがヌルサクで閲覧しやすいのは本当に楽しく、愉しい(*1)のだ。とにかく触れていたいという状態にあることは、時に苦行にもなり得るコーディングやトライアンドエラー的開発を続けるうえでも良い要素だと思う。 ・GoogleDrive と Microsoft One Drive を駆使できるStorage環境。  これでオブジェクトやコードファイルをクラウド環境で保存・移動させながら開発可能。 ・特にディスプレイタッチ可で、360度折り曲げてタブレットでも使用可能なタイプだと、超絶便利。 ※トラックパッドとキーボードの抜群の触り心地(Pixelbook限定)。 ・特にPixelbook等の米国版PCについてだが、米国式キーボードが使いやすい。(個人差あり。)  特にアンダーバーと、コロン、クォーテーションマーク、イコールマークが使いやすい。

悪いところ(Chromebookとして)

・価格が高い。(本来であれば、Chromeblookは安いのである。) ・重い。(しかし、一昔前のノートパソコンと比べれば軽いものよ。) ・たまに、というか、必ずといって良いほど起動中にLinux が一時的に固まる瞬間がある。10秒ほどだろうか。 ・ Google Assistant の機能はあるが、実質的に実用化には程遠く、ほぼ「使えない」。  これが将来的に機能し、より、ユーザーとの対話が潤滑になり、日本語に対応できるのであれば良いが、  英語ですら、実用的に「使えない」のである。本当はこの機能に過度な期待をして本機を購入したのだが。 ・あまり Android アプリは、おかざり程度にしか使えない。(使えるは使えるが、Webベースで使った方が使いやすいものがほとんど、のような気がする。)なので本質的にはアプリベースで使用する機械ではないと思う。ただしたまに使う分には便利。

Operating System Chrome OS Display 12.3" LCD 2400x1600 (235 ppi) Dimensions & Weight 290.4 mm x 220.8 mm x 10.3 mm, 1.1kg バッテリー: 最長 10 時間

*1

*2

*1:愉しい たのし・い [3] 【楽しい】 ( 形 ) [文] シク たの・し 〔「愉しい」 「娯しい」とも書く〕 ①心が満ち足りて,うきうきするような明るく愉快な気分である。 「家族そろっての-・い夕食」 「 - ・く遊ぶ」 「旅行は-・い」 ②食物などが十分にあって快い。 「忽に餓の苦び皆止みて-・しき心に成りぬ/今昔 2」 ③富んでいる。豊かである。 「堀川相国は美男の-・しき人にて/徒然 99」 〔主に自分の行動を通して持続的に感じる快さをいう語。その快さが物質的な裏付けを伴った場合③ の意に転ずる〕 → 嬉しい(補説欄) [派生] -が・る ( 動ラ五[四] ) -げ ( 形動 ) -さ ( 名 ) -み ( 名 ・形動 )

*2:Pixelbook以外のChromebookでは、 Linuxに対応していない機種もある模様。 確認のうえ、購入しましょう。

Head First Python

こんな人におすすめ

  • とりあえずpythonをやってみたい
  • でもどこから始めて良いかわからない
  • プログラミングの文法を一からすべてをやりたくない(かいつまんでやりたい)
  • 基本をすっ飛ばしてでも、まずはモノを作ってみたい

よかった点

pythonを使ってWeb アプリケーションを作れるし、その一連で必要な知識を必要十分にまさに、頭より先に手を動かして学ぶことが可能。 pythonの文法だけでなく、FlaskやDB、HTMLにわたり、サーバーに関することや、Webアプリケーションの仕組みまでを、頭だけでなく体で学べたのが非常に良かった。

悪かった点

少し古い点。完全に初学者として本書を読み始めたのだが、当時、開発環境に関する知識がない中で本番環境にpythonを入れて学習し始めた。開発環境構築の段階でかなりつまづいていた記憶が蘇るのだが、最初からDocker環境で開発ができる本日現時点においては、この教科書どうりに進めなくても良い箇所があり、少し遠回りすることになる恐れがあるようにも思う。同時平行でDockerを理解しながら本書を読み進める余裕がもしあれば、ぜひ Docker関連書籍と合わせて、Dockerを使いながら学ぶと良いと思う。また、近年ではクラドプラットフォームを理解した方がやりたいことが早く、しかも低コストでできることを理解して読み進めたい。

その他所感

基本的にはどの書籍からでも、学べるものはあると思う。 が、プログラミングは「何を作るか」という目的が先立つべきで、その目的のために必要なコードの書き方がわかれば動く。 文法を一から覚える必要はないし、特に非職業エンジニアにとっては、文法を一つずつ頭に入れることは無駄が多いし続かない可能性がある。

非職業エンジニアにとって、少なくとも目的達成のうえで、 この本では基本を押さえながら必要なコードや知識を必要十分なレベルで学ぶことができるし、大事な基本と応用のバランスや重要度の軽重を学ぶことができると思う。

もちろんプログラミングスクールに通うという手もありだと思うが、「なるべくお金をかけない」という本ブログの趣旨からすると、あくまで独学で十分に学べる手段を提示したい著者としては、スクールよりも本書をいち押しする。

参考(その他、著者がpythonを無料で学ぶうえで、役に立ったもの。)

・Crash Course on Python | Coursera Pythonを使用したGoogle ITオートメーション プロフェッショナル認定に属するコース。 www.coursera.org

「Head First Python」を理解した後に受講したGoogle公認のpythonクラス。英語のクラスだが、期間限定で修了すればこれも無料。しかも修了証というおまけ付き。 communityの助けを借りながら質問しまくっていれば、(本当は駄目だが)理解できてなくとも解答にたどりつくことは可能。 初学者でもなんとか課題をこなすことができた。解答のコードから学びつつ、実行したり修正したりを繰り返すことで理解を深めることができた。

・Docker関連Webサイト datawokagaku.com このサイトでDockerを理解することができた。いま思えば特に初学者こそDockerを使うべきで、早く環境構築の過程で出会う無駄なエラーから開放される手段を知るべき。本当にもっと早く出会いたかったサイト。Docker の他、 Jupyter Notebookなど、pythonをより、楽しく使う分野を知る手がかりになったし、本サイトを理解したおかげでDocker関連書籍の理解が進んだ。

追伸

pythonを始めた当初は、本書「Head First Python」を図書館で無料で借りていたが2週間しか借りられないため、借りては返却するのを繰り返していた。あまりに借りる頻度が多くなったため結局購入した一冊。ある程度頭に入れた後、最終的にはメルカリで売却できたのでコストパフォーマンスがかなりよ良かった印象がある。なお技術系書籍は、良いものであれば古くても割と高値で取引されている実感がある。電子書籍で購入するモノも一部あるが、将来的に売却を見据えて現物を綺麗に使い、不要になったら売るのが結果としてコスパが良いと思う。

文字起こしするならどっちが使える?SpeechRecognition?それともGCP(Google Cloud Platform)のAPI?by python

f:id:sabotengine:20210607000126p:plain

ライブラリのSpeechRecognitionを無料で使うか。GCPでSpeech to text API を有料覚悟で使うか。

結論、個人利用で、気軽に使うケースで求める結果がゆるいものであれば無料のライブラリでも十分使えると思う。

結局、何に使うのか?手を加える必要がどれだけあるのか?お金をどれだけかけられるか?による。

いずれにせよ、今日現時点では精度の差は微々たるものだと思う。 (わずかではあるが、制限を超えると有料のAPIの方が精度は確かに良い。)

先に利用時のコードを示すが、さらに下段で、ひろゆきの切り抜きyutube動画音声を、それぞれの手段でテキストに変換した例を示す。 差異はわずかなものであることがわかるはずだ。

コード例

pip install SpeechRecognition
import speech_recognition as sr
 
r = sr.Recognizer()
 
with sr.AudioFile("xxxxx.flac") as source:               
    audio = r.record(source)
 #XXXXにファイル名を入れる。

text = r.recognize_google(audio, language='ja-JP')
 
print(text)

SpeechRecognitionについてはこちら。

pypi.org

https://pypi.org/project/SpeechRecognition/

出力例

◯SpeechRecognitionの出力テキストの例

日本であまり情報立ありますか 今でも他人の電話番号とかをネット上にかけまくっても 法に触れないとかっていうのはかわいそうだなと思いますね はい YouTube してます Twitter にて 捨て垢のリプの本名 ばらしてきて住めるんですが 苗木裕子の対象はありますか あ あの本を書くって実は 法律 触れないですよね あのね もうあのその人にバレないようにやるしかないんじゃないすかねひろきと遊びたいんですがどうすればいいですか じゃんけ

APIで出力例

日本で甘い行列ありますかまあでも他人の電話番号とかをネット上に書きまくっても法に触れないとかっていうのはかわいそうだなぁと思いますねはい YouTube してま Twitter にて捨て垢のリプのホームばらしてきてくれるんですがないゆうこの対処法はありますかありませんあの本を書くって実は法律触れないすよねあのねもうあのその人にバレないようにやるしかないんじゃないかねひろきと遊びたいんですがどうすればいいですかじゃんけんぽん
Confidence: 0.9549635648727417

※おわかりのとおり、「甘い法律」を、「あまり情報立」とか「甘い行列」と認識されてしまうぐらい、精度はまだまだ。どちらかといえばAPIの方がまだましか。

注意点

・長い音声ファイルは分割しないと変換しにくい。

APIの方は使いすぎると課金されるので注意が必要。

・また、APIGCPの課金設定もろもと設定やAPI鍵、bucketの設定、サービスアカウントの設定など、設定項目は多い。

・逆に、GCPを使い慣れている場合で、課金に注意を払えるならAPIの方が便利かも。

・本ケースでは、ライブラリのSpeechRecognitionとGCPでSpeech to text API この2つの手段で検討したが、他にもクラウドサービス等手段は あるので色々試してみると良いだろう。

参考

◯今回使わせていただいたyoutube音声

youtubeのURLから音声ファイル作成  ※いかがわしい広告まじ多いけど、ちゃんとかいくぐって使えば便利 www.y2mate.com

◯その他、もっと詳しくPythonで音声からテキストへ変換  self-development.info

Google Cloud Platform の Cloud Speech to Text API f:id:sabotengine:20210607000117p:plain

cloud.google.com どこかでもっと詳しくやりたい。

まじめに、はじめに

以下ちょっとまじめに。

昨今のIT環境、とりわけプログラミングに関する環境は、初学者やノンプログラマーにとって非常に良い環境になっていると感じます。

私が言うまでもなく、パソコンのOS環境に依存せず、Dockerを駆使してPythonを操り、機械学習や深層学習などの高度かつ様々なプログラムを実行したり、Linuxとオープンソフトウェアを自在に活用することができるようになっています。 インターネット環境とある程度のスペックの実行機(PC)さえあれば、お金をかけずとも楽しみを追求することができます。

しかし、一言で「プログラミング」や「IT」と言っても敷居が高く、自分には縁の遠いものと感じている方も多いかもしれません。また一度門をくぐってみたものの、難解な壁にぶちあたり、学ぶのをあきらめているという方もいらっしゃるかもしれません。

私自身ノンプログラマーとして、コードを学び、Linuxを学び、Pythonを学んできましたが、何度挫折しそうになったでしょうか。エラーに次ぐエラーに遭遇し、解決しては新たに未知な用語や壁にぶち当たり、、、実際に挫折しパソコンに触れなくなった時期もありました。

本ブログは、ノンプログラマーであり職業的にはITとは無関係な私自身が、ノンプログラマーがプログラミングに触れる作法、ひと味違った日常の楽しみ方や学び方を提示するものにするつもりです。

近年において書籍や教材も多種多様で、プログラミングスクールも増えてきました。(一部怪しげなスクールもあるやに聞きますが。。。)。また従来からQiita(https://qiita.com/)などでインターネットで簡単に技術情報を参照できますし、stackoverflow(https://stackoverflow.com/)、teratail(https://teratail.com)質問したり、スクリプトもコピー&ペーストで利用できるので、プログラミングに精通していなくとも基本的な理解さえあれば、オープンソースとなっているプログラムファイルを少しカスタマイズできれば、用途に合わせて使うことが可能です。

ひと昔前では、高額で個人ではなかなか利用できないようなものまで無料で利用できるような環境と言われています。

で、あるにも関わらず、ノンプログラマーにとっては、やはりまだまだ敷居が高いのも事実と思います。

実際、プログラムのコードを学ぶにせよ、「どの言語から学べば良いのか」」「開発環境をどのように構築すれば良いのか」「PCやOSは何を選べば良くて、どの程度のスペックが必要なのか」など、一つひとつ堀り下げるだけでも大変な作業かもしれません。

それぞれの問いに応えるべく、専門書も山のようにあり、どれから手をつければ良いのか、道先案内人がいなければ途方に暮れるという方もいるかもしれません。また、そもそも、ITの環境や知識を体系的に学び、実践するにあたり、まとまった書籍は多くないかもしれません。

そこで、IT環境を実践しながら有機的に学び、楽しむためのささやかな指南書として本ブログを位置づけ筆を取ろうと決意しました。

本ブログを読んで、人生の暇つぶしの一手段を学び、お一人でもつまらない時間が1分1秒でも無くなるのであれば本望です。

本ブログの対象読者

・「プログラミング」を通じて何かを創ることに興味がある方

 *スマートフォンのアプリケーションやゲームを使って遊ぶ専門の方は対象としておりません。

・プログラミングをはじめとしたIT全般に、苦手意識を持っているすべての方

・会社の仕事ではおきまりの管理が行き届いたWindowsにしか触れる機会がない。(仕事のスキルにならない。)

・学んだことをすぐに仕事で使えない方(家で存分に楽しんでください!)

本ブログは、ノンプログラマー、主に初学者の方向けに書かれています。 とりわけ職業として、プログラミングに縁がない方、むしろプログラミングを不要と思っている方に向けて書かれています。 専門的に、職業としてプログラマーを選択している人には、残念ながら向いていないブログだと思います。 私自身、職業としてプログラミングはやっていませんし、今後もやるつもりはありません。 しかしそれでもプログラミングやその関連知識が、人生を豊かにすることが有り得るということを確信していますが、本ブログで実践して提示していければと思います。

2021年6月6日      さぼてん

くだけて、はじめに

はじめに

このブログを通じて「未経験でもここまでやれるぜ」的にIT後進国日本を盛り上げていきたいところですが、まずは自分を啓発するところから自身の成長を日々日記にゆるく残していき、わずかではありますが、動くコードや、初学者がつまずきやすいポイント、お金をかけずともプログラミングで楽しめることなどを提示していきたいと思います。

将来的にはITリテラシー低いおっさんが「おっワシでもこんなんできるんか!」と、ミジンコほどの希望を抱いてもらったり、小さいガキンチョ達に、「学校の遅れたIT授業なんか受けるよりもこのブログ見た方がはえーわ」と、このブログを見てもらえるようにするのがささやかな夢です。

基本的にはpythonを使い、コピペするだけでも動かすことができたり、それらを組み合わせ、またはわずかな調整で使い勝手をよくする工夫など、提示していく所存です。

どうか本物のエンジニアさんには、スルーしていただくか、素人のお遊びを奪わない程度に、素人の素人による素人のための領域を少しでも残しておいていただくよう、どうぞ温かくお見守りください。

プライバシーポリシーについて

目次

当サイトに掲載されている広告について

当サイトでは、第三者配信の広告サービス(GoogleアドセンスA8.netAmazonアソシエイトバリューコマース、もしもアフィリエイト、afb、アクセストレード)を利用しています。(現時点で利用できていないサービスについては利用を予定しています。)

このような広告配信事業者は、ユーザーの興味に応じた商品やサービスの広告を表示するため、当サイトや他サイトへのアクセスに関する情報 『Cookie』(氏名、住所、メール アドレス、電話番号は含まれません) を使用することがあります。 またGoogleアドセンスに関して、このプロセスの詳細やこのような情報が広告配信事業者に使用されないようにする方法については、こちらをクリックしてください。

当サイトが使用しているアクセス解析ツールについて

当サイトでは、Googleによるアクセス解析ツール「Googleアナリティクス」を利用しています。 このGoogleアナリティクスはトラフィックデータの収集のためにCookieを使用しています。 このトラフィックデータは匿名で収集されており、個人を特定するものではありません。

この機能はCookieを無効にすることで収集を拒否することが出来ますので、お使いのブラウザの設定をご確認ください。 この規約に関して、詳しくはこちら、またはこちらをクリックしてください。

当サイトへのコメントについて

当サイトでは、スパム・荒らしへの対応として、コメントの際に使用されたIPアドレスを記録しています。

これはブログの標準機能としてサポートされている機能で、スパム・荒らしへの対応以外にこのIPアドレスを使用することはありません。

また、メールアドレスとURLの入力に関しては、任意となっております。 全てのコメントは管理人であるredoが事前にその内容を確認し、承認した上での掲載となりますことをあらかじめご了承下さい。

加えて、次の各号に掲げる内容を含むコメントは管理人の裁量によって承認せず、削除する事があります。

特定の自然人または法人を誹謗し、中傷するもの。 極度にわいせつな内容を含むもの。 禁制品の取引に関するものや、他者を害する行為の依頼など、法律によって禁止されている物品、行為の依頼や斡旋などに関するもの。 その他、公序良俗に反し、または管理人によって承認すべきでないと認められるもの。

免責事項

当サイトで掲載している画像の著作権・肖像権等は各権利所有者に帰属致します。権利を侵害する目的ではございません。記事の内容や掲載画像等に問題がございましたら、各権利所有者様本人が直接メールでご連絡下さい。確認後、対応させて頂きます。

当サイトからリンクやバナーなどによって他のサイトに移動された場合、移動先サイトで提供される情報、サービス等について一切の責任を負いません。

当サイトのコンテンツ・情報につきまして、可能な限り正確な情報を掲載するよう努めておりますが、誤情報が入り込んだり、情報が古くなっていることもございます。

当サイトに掲載された内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。

プライバシーポリシーの変更について

当サイトは、個人情報に関して適用される日本の法令を遵守するとともに、本ポリシーの内容を適宜見直しその改善に努めます。

修正された最新のプライバシーポリシーは常に本ページに開示されます。

運営者:さぼてん