Tech」カテゴリーアーカイブ

Youtube api でキーワード検索に引っかかった動画リスト作成にトライ中。

少し分かってきた。

キーワード検索のためには、Search.list()を使って、

評価つきの動画情報を引っ張るには、ビデオIDで情報を引っ張れば良いから、Video.list()を使う。

Search.list()でビデオIDを引っ張って、そのビデオIDごとにVideo.list()を使って対象動画の情報を引っ張って、リストを作成したら良いのではないか。

コツコツとYoutube devのサイトで調べて、少しずつ理解できてきた気がする。

コツコツやるって本当に大事。行ったり来たりしてるけど、そのおかげて覚えている氏ちゃんと理解しているという気がするので気持ち良い。

さて、まだまだ先は長いかもしれないが、コツコツ、だが着実に前に進んでいこう。

python の json.load() と json.loads() の違い。

json.loads() は文字列を、

json.load() はファイルオブジェクト型を、

それぞれ引数として使う、という点が違う。

即ち、読み込ませる対象のJSON形式データが、スクリプト中に直接記載しているなど文字列として扱っている場合は「json.loads(str)」を、

JSON形式のデータを詰め込んだファイルをスクリプト中に読み込ませる場合は「json.load(f)」を使う。

ちなみに、json.loads の s は、strings の s みたい。真偽はともかく、覚えやすいので参考にする。

【参考サイト】https://zenn.dev/milkystack/articles/a5b94da6ab6542

YouTube の API を学習中。

YouTubeのAPIについて、公開されているページを参照しているのだけど、関係する情報のリンクの山と、専門用語?の山で、どうしても情報を構造的・体系的に整理できない。

https://developers.google.com/youtube/v3?hl=ja

慣れたらサクサク読めるようになるのだろうか。修練が足りないのは明らかなので、まだまだ頑張って読み進める。きっとそのうちサクサク読めるようになる。

世界のトップ・プログラマは、このくらいサクッと読んで、サクッと素晴らしいコードを書くんだろうな、と思いつつ、人と自分を比べるのではなく、比べるなら昨日と今の自分を比べるべきだと、自分を奮い立たせている今日この頃。

なんだかんだでやっぱりvi/vimに落ち着く。

プログラム開発する上で、開発環境はとても大切。今の世の中ではVScodeが人気があるっぽいけど、せっかちだしCUI大好きな僕は、結局viに落ち着く。

少し前からLinux Mintを使っていて、もちろんviを使っているんだけど、デフォルトだとゴリゴリのviだから、カーソル移動も、コマンドモードと入力モードを入れ替えないといけなくて、ちょっと面倒と思ってしまった。

だからといって環境設定すると、マシン依存(マシンごとに設定が必要)なので避けたい。面倒だ。僕は基本はデフォルトのままで使うたちなのだ。

ということで、超々今更ながら、vimを入れてみた。結果、非常にとても超快適。

sudo apt install vim の結果

上図は、「 sudo apt install vim 」の結果だ。

中段を見ていただくと分かるが、たったの34.6MBしかない。感激以外の何者でもない。

インストール容量も少ないし、サクッと動くし、そして便利。小規模開発ならこれで十二分。

vi/vimってやっぱり最強だな、と痛感した。

code for ** に挑戦するために学習コストの低いプログラム学習法を検討した。

前提となる考え

コーディングスキルを身につけるためには、実践が一番。実践のためには、何を作るかがポイントになる。机上学習では限界があるし、何かを作ろうと考えたら、自分がワクワクするものを作ることが一番だと思うからだ。

世の中にはたくさんのプログラミング言語があるが、デプロイや公開、そして保守運用まで検討してから、一番手のかからない、かつ、将来性や身につけた自分の市場価値がより高まるものに取り組みたい。

また、学習コストを考えると、経験したことがある言語を選択することがより良いと考えた。

自分のスキル棚卸し

ということで、自分のスキルを振り返って整理する。かなり年月が経過しているので、おそらくほぼリセット状態だろうが、自己肯定感をアップさせるためにも、事実は事実として記載した。

<現在所持しているスキル>
・C、C++、PHP、Pythonの経験あり
・Linux系サーバ(CentOS)をゼロベースから導入しサーバを構築できる
・CUI大好き、基本的なコマンドならサクサク叩けるレベル
・独自ドメインの取得からDNS設定し公開までサクッとできる
・PostgresのDB操作経験あり
・RFIDを使った応用研究として図書管理システムをゼロから構築の経験あり
・PostfixなどのメールソフトをソースからDLしてメールサーバ構築の経験あり
etc etc,,,

これから学ぶべき言語の選定

上記のスキルを所有している(ということにする)自分を考慮しつつ、将来性のありそうなプログラミング言語を選定する。候補は2つ。GASとPython。

GASの特徴

GASはGoogleサービスを活用してクラウドベースで開発できるし、GmailやGoogle mapなど含めてGoogleのWebサービスとの連携が簡単そうな気がする。調査して把握できた特徴は以下のとおり。

※凡例: ○:メリット、×:デメリット

○マルチデバイス・マルチOSに対応(操作PCを変更しても同じ環境で開発できる)
○Googleのサービスを活用・連携することが用意そう(TensorflowなどGoogleの技術を活用できる点はとても魅力的)
○Googleサービスはデプロイなどの開発コストが低いイメージあり。UIも分かりやすい。

×Googleのサービスはある程度のレベルになれば有料
×Googleしばりになるの(汎用性・応用性に欠ける?)
×Google独自のスクリプトで経験が薄いから頑張って勉強する必要あり

Pythonの特徴

Pythonは言わずもがな、現在ではとても有名なプログラミング言語だ。覚えやすさ(コーディングのしやすさ)や、ライブラリの豊富さ=開発の幅が広いことがメリットと認識している。

○ライブラリが豊富
○企業の縛りがないので自由度が高い
○世の中の公開APIはPythonに対応しているものがほとんど(なんで、Pythonを学習しておけば将来性・汎用性等が高そう)

×サーバやドメインなどの構築・設定が必要(GASより時間かかる?)
×Pythonは初心者レベルなので頑張って勉強する必要あり

結論

Pythonで頑張ろうと思う。今の自分のスキルであれば、Pythonの方が将来的に役に立つ可能性が高い気がする。

それに、デプロイまでの開発コストがGoogleよりも高いかもしれないが、Herokuなどの外部サービスを活用することでクリアできる気がする。

こうやって文字化すると、少なからず頭が整理できて良い。

よし決まった。Pythonでがんばる。

自治体DXの現状(2022年7月版)

仕事で自治体DXの話をさせていただくと、まだまだ機運醸成の段階にあることが痛感される。

デジタル庁が2021年9月1日に発足されて1年が経過しようとしているが、DXという言葉を、現場は「認識」しているものの「理解半分」で、情報担当の原課さんが「理解している」という印象を受ける。

やはり、現状の業務だけでも大変な原課の方々にとっては、「また仕事が増える…」という受け取りになってしまうのだろう。

なんでもそうだが、新しいことをやるには時間がかかるし、面倒な点もあるだろう。メンタルバリアを外すために、どうしたら良いのか考える必要がある。

どうせやるには、楽しくできないだろうか?

ワークショップ形式にするとか、クイズ形式にするとか、ゲーム形式にするとか、動画を活用するとか。

できるだけ難易度下げるというか、敷居を下げて、まずは実施してもらうことから始めることが良い気がしている。

ワークショップと、クイズから試してみようかな。

Linux Mint のデザインの美しさ。

Linux Mintを使いだして約半年。ヤフオクにて8,000円で落札した10年前のPCに、Linux Mintを入れてみたが、期待以上の動作サクサク度合いにプラスして、デザインがとても美しくて満足している。

それに、Libre Office の「MS Office互換性」も上がっていて、遜色なくファイルを開ける点も、ついつい嬉しい悲鳴を上げてしまった。

Linux MintはフリーのOSだから、インターネットがあればいつでも入手できるし、自分の好きにPCにインストールして使えるようになるから、もはや、近い将来訪れるであろう、OSフリーの世界を先に実現している感じだ(Linux誕生からそうなのだが)。

フォント含めてUIの美しさ、操作性の良さ、MS Officeとの互換性、どれをとっても使いやすい。惚れてきた。

デスクトップ壁紙
アップデートマネージャの画面

Google日本語入力の変換候補の出現位置

変換候補がかぶる…

時々、Google日本語入力の変換候補が、入力部分にかぶってしまい、何を入力しているのかが見えなくなるときがある。

変換候補とかサジェスト候補?というみたいだけど、結局、公式の対策は分からず。Googleの関連タスクをKillする方法があるようだけど、非公式っぽい。

とは言うものの、コミュニティであーだこーだとやり取りしている模様を拝見することができたし、お互いに助け合う仕組みって、いつ見ても良いな、と思うので紹介のために投稿してみる。

当該トピックの投稿画面キャプチャ

参考サイト

【Gboard ヘルプ】Google日本語入力の変換候補の出現位置

Google’s Coding Competitions へのチャレンジを検討中。

Googleがプログラミングコンテストを実施するようだ。正直、全然スキルなくて、初心者レベルも良いところだが、チャレンジしてみようと考えている。

失うものは何もない。チャレンジしたら少しでも得られるものがある、と言った方が感覚に近い表現な気がする。

兎にも角にも、やってみる、だ。行動あるのみ。

Google’s Coding Competitions の画面

【Windows】タッチパッドのタップでクリックを無効にする方法

少し戸惑ったので、備忘録を兼ねて記載しておく。

<結論>
設定>タッチパッド>追加の設定>設定>タップ>タップ機能を使用するのチェックを外す

設定画面

「追加の設定」は、タッチパッドの画面中段くらいにある。

ちなみに、僕の環境は以下の通り。

・Let’s note CF-SZ5

Let’s note のタッチパッドは、残念ながら使いにくいので、タップでクリックを無効にしておいた方が、僕は使いやすい。