ブログ内検索

micro:bitページ
とにかく速いブログサイトを目指す

カテゴリー : Google

 

Google TV StreamerでSteam Linkを試してみた

/** Geminiが自動生成した概要 **/
Google TV StreamerでSteam Linkを試した結果、Chromecast with Google TVであったカクつきはメモリ増強により解消された。しかし、Raspberry Pi 4B 8Gと比較するとまだ動きが荒く、更なる設定調整が必要である。 動作改善にはメモリ増強が有効であることが示唆されたが、Raspberry Pi 4B 8Gとの性能差の原因はメモリ以外の部分にもある可能性がある。

 

ChromecastでSteam Linkを試してみた

/** Geminiが自動生成した概要 **/
著者は、Chromecast with Google TVでSteam Linkを使ってゲームができるか検証しました。しかし、ゲーム動作がカクカクしてしまい、原因を調査。ネットワーク速度を向上させるためにイーサネットアダプターを導入しましたが改善されず、Chromecastのスペック不足が原因と推測しました。そこでRaspberry Pi 4Bで試したところ、スムーズに動作。Chromecastのメモリ容量が影響している可能性を指摘し、他のスペックのマシンでの検証を希望しています。追記として、Chromecastの後継機であるGoogle TV Streamerでも同様の検証を行った記事へのリンクが掲載されています。

 

golangのunsafeパッケージで配列の操作をしてみる

/** Geminiが自動生成した概要 **/
## プログラミング教育で注目すべきはARM + Debian + Pythonであるはずだ**要約**近年、プログラミング教育の重要性が高まる一方で、環境構築の難しさや高額な機材が課題となっています。そこで注目すべきは、安価で入手しやすい「Raspberry Pi」を教材として活用することです。Raspberry PiはARMアーキテクチャを採用した小型コンピュータで、DebianベースのOSが動作します。Pythonは初学者にも扱いやすい言語として人気があり、Raspberry Piとの相性も抜群です。Raspberry PiとPythonを組み合わせることで、電子工作やIoTなど、実用的で興味深い教材を開発できます。さらに、Linuxやオープンソースの文化に触れることで、生徒の技術的な興味関心をさらに広げることが期待できます。

 

SOY ShopのSign In With Googleプラグインでボタンをカスタマイズする

/** Geminiが自動生成した概要 **/
SOY ShopのSign In With Googleプラグインのボタンカスタマイズ方法について解説。Googleが提供するジェネレータを使用し、クライアントID、Data Context、ID token nonce、Callback functionを設定。Nextボタンをクリック後、Enable Sign in with Google buttonをチェックし、ボタンデザインを設定後、Get codeボタンを押下。生成されたHTMLをプラグイン詳細画面に貼り付けて更新することでカスタマイズ完了。

 

SOY ShopのGoogle Sign-In for WebsitesプラグインをSign In With Googleに変更しました

/** Geminiが自動生成した概要 **/
SOY ShopのGoogleログインプラグインが、Google Sign-In for WebsitesからSign In With Googleにアップデートされました。変更に伴い、HTMLタグやスクリプトを修正する必要があります。 以前は`googleUser.getBasicProfile()`でユーザー情報が取得できていましたが、現在はJWTが返却されるため、Base64デコードが必要です。`parseJwt`関数でJWTをデコードし、`json.email`でメールアドレスを取得します。 詳細はプラグイン詳細画面とサイト(saitodev.co/soycms/soyshop/)を参照してください。

 

ARM版ChromebookにDropboxをインストールする

/** Geminiが自動生成した概要 **/
ARM版ChromebookでLinuxアプリのDropboxを使うには、.debパッケージが使えないためDbxfsを利用する。pip3でDbxfsをインストール後、Dropboxフォルダを作成し、dbxfsコマンドを実行。表示されるURLにアクセスし、Dropboxにログインして認証コードを取得、端末に入力する。パスフレーズを設定すれば、Linuxファイル配下でDropboxのファイルが操作可能になる。Android版DropboxはChromebookのFilesのLinux共有に対応していないため、この方法が必要。

 

ChromebookのLinuxアプリで日本語入力をできるようにする

/** Geminiが自動生成した概要 **/
ChromebookのLinuxアプリで日本語入力をするために、MozcとFcitxをインストール・設定する方法を解説。locale設定後、MozcとFcitxをインストールし、設定ファイルを編集してFcitxを自動起動するように設定。fcitx-configtoolでMozcを追加し、geditで日本語入力を確認。geditでは挙動が怪しかったが、他のアプリでは正常に動作。Javaアプリでも日本語入力可能になった。cros-imを使う方法もあるが、geditでは漢字変換できない問題がある。

 

【SEO対策】Google Analyticsのスクリプトをページ読み込み直後にする

/** Geminiが自動生成した概要 **/
HTMLScriptElement は `<script>` タグを制御するインターフェース。`src` 属性で外部スクリプトを読み込み、`async` 属性を設定すると解析を妨げずに非同期でスクリプトを実行、`defer` 属性はHTML解析完了後に実行、`type` 属性でスクリプト言語を指定。`text` 属性に直接コードを記述も可能。`onload` イベントで読み込み完了を検知、`onerror` でエラー処理。`crossorigin` 属性はCORSリクエストを制御。`integrity` 属性はSubresource Integrity を使用し、読み込んだスクリプトの整合性を検証。`referrerpolicy` はリファラーヘッダーを制御。`nomodule` はES Modulesをサポートしないブラウザでスクリプトを実行。

 

郵便番号を入力したら半径3km内のすべての町名を取得する

/** Geminiが自動生成した概要 **/
Google Geocoding APIを用いて、指定住所(安岡寺)から半径3km以内の町名を取得する方法を検証した。APIで中心座標を取得後、緯度経度を0.01(約1km)ずつずらした地点の逆ジオコーディングを繰り返し、町名を収集した。しかし、1kmグリッドでは範囲内の全町名を網羅できず、グリッドを細かくするとAPI使用回数が増加する問題点が残った。より効率的な方法の検討が必要。

 

さくらのメールボックスからのメールをGmailで受信した際の?のアイコンを回避

/** Geminiが自動生成した概要 **/
さくらのメールボックスからGmailへメール送信時、送信元認証がされていないため「?」アイコンが表示される問題を解決する方法。お名前.comで取得したドメインのDNS設定で、さくらのメールボックスのホスト名を用いてSPFレコード `v=spf1 a:ホスト名 mx ~all` をTXTレコードとして追加する。設定後、mxtoolbox.comでSPFレコードを確認し、Gmailで受信したメールのアイコンが「?」から人物アイコンに変われば成功。

 

gRPC for PHPのインストール

/** Geminiが自動生成した概要 **/
この記事はUbuntu 19.10環境でGoogle Ads APIを使用するためのgRPC for PHPのインストール手順を解説しています。PEAR/PECL、Composerをインストール後、`pecl install grpc`、`pecl install protobuf`コマンドでgRPCとprotobufをインストールします。その後、`/etc/php/7.4/cli/php.ini`と`/etc/php/7.4/fpm/php.ini`両方に`extension=grpc.so`と`extension=protobuf.so`を追加し、`phpinfo()`や`php -m`でインストールを確認します。記事ではComposerのインストール手順も解説していますが、gRPCのインストール自体はComposerを使わずPECL経由で行っています。

 

Google AdsのMCCアカウントでキーワードプランナーを無料で使えるようにするまで

/** Geminiが自動生成した概要 **/
Google Ads APIを利用するにはMCCアカウントが必要で、キーワードプランナーを無料で使う方法を解説。MCCアカウント作成後、キーワードプランナーは有効な広告アカウントがないため使えない。そこで、エキスパートモードで「キャンペーンなしでアカウントを作成」し、生成されたお客様IDをメモ。MCCアカウントに戻り、サブアカウント設定で「既存のアカウントをリンク」し、お客様IDを入力してリクエストを送信、承認する。これでMCCアカウントでキーワードプランナーが無料で使えるようになる。

 

PHPのexec関数でセッションの値の引き継ぎに苦戦した時のメモ

/** Geminiが自動生成した概要 **/
Amazon Linux 2のLAMP環境で、PHPの`exec`関数を使ってGoogle Analytics APIにアクセスする際にセッションの引き継ぎに失敗した。`exec`で実行した`cmd.php`内で`session_start()`してもセッション情報が取得できなかった。調査の結果、`cmd.php`内では`session_save_path()`の戻り値が空文字列になっていた。`session_save_path("/var/lib/php/session");`を`session_start()`前に追加することでセッション情報が取得できるようになり、APIアクセスも成功した。`php.ini`の`session.save_path`の設定が原因と考えられるが、未検証。

 

Ubuntu19.10でGoogle Photoでデジカメの画像のアップロードがエラーになる時の対応

/** Geminiが自動生成した概要 **/
Ubuntu 19.10でGoogleフォトにUSB接続のデジカメ画像をアップロードしようとしたら、「Permission denied」エラーが発生。原因はChromiumブラウザの設定でリムーバブルメディアへのアクセスが許可されていなかったため。UbuntuソフトウェアからChromiumの詳細設定を開き、「リムーバブルストレージデバイスのファイルの読み取り/書き込み」を有効化することで解決。

 

Google Analytics APIの承認で苦戦したので、承認されるまでの流れをまとめてみた

/** Geminiが自動生成した概要 **/
Google Analytics APIの承認取得に苦労した著者が、その過程を詳述。OAuth同意画面の設定から始まり、Googleからの度重なるメールでの指摘に対応していく。 ホームページ、プライバシーポリシーの設置、アプリ操作動画の提出を求められ、動画はクライアントIDの表示や言語設定など細かい指示に従い作成し直した。最終的に承認を得るまで、動画の翻訳やスコープ設定の不備など、多くの修正を余儀なくされた。

 

SOY InquiryでGoogleのreCAPTCHA v3に対応しました

/** Geminiが自動生成した概要 **/
SOY InquiryがGoogle reCAPTCHA v3に対応しました。reCAPTCHA v3は、ユーザーの行動を分析してボットを判別する仕組みで、従来の文字入力やチェックボックス操作は不要です。SOY CMSのプラグインとして提供され、有効化するとサイト右下にreCAPTCHAロゴが表示されます。v3は学習ベースで精度が向上するため、初期は精度が低い可能性があります. 現時点ではJavaScript無効環境への対策は未対応です。最新版は公式サイトからダウンロード可能です。関連記事では、同一IPからの連続問い合わせをブロックする方法を紹介しています。

 

Go言語でSearch Consoleの値を取得してみる

表題にある通り、Go言語でGoogle Search Consoleの値を取得してみる。https://search.google.com/search-console/aboutGoogle Search Consoleというのは、運営しているサイトがどのような検索ワードで訪問してくるか?を調べることが出来るWebサービス。早速、Search Consoleの値をGo言語で取得する為の手続きを見てみる。https://console.clou

 

自作アプリを介してのGoogle検索でService Unavailableになった

Google検索の結果を集計したいという要望があり、こんな感じで検索フォームを設置し、集計結果をフォームの下に出力する簡易的なページをPHPで書いてみた。検索結果を取得するあたりのコードは下記の通り$word = "hoge"; //何らかの検索ワードを挿入する$url = "https://www.google.co.jp/search?q=" . str_replace(array(" ", " "), "+", $word);//cURLセッシ

 

チャットワークとGoogle Apps Scriptで音声入力で投稿してみる

Google AppsのGoogleドキュメントでは音声入力という機能がある。Googleドキュメントで画像ファイルから文字列を抜き取ってみるGoogle ドキュメント - オンラインでドキュメントを作成、編集できる無料サービス前回紹介したGoogle Apps Scriptでチャットワークに投稿するライブラリと組み合わせて、音声入力でチャットワークに投稿するコードを書いてみる。Google Apps Scriptからチャットワークに投稿してみる音声入力のルールと

 

Google Apps Scriptからチャットワークに投稿してみる

チャットワーク(ChatWork) | ビジネスが加速するクラウド会議室PHPでチャットワークAPIを介してメッセージを投稿してみるでPHPからチャットワークに投稿する内容を記載した。が!おそらく普段の業務ではPHPでコードをゴリゴリ書くよりも、Google Apps Script(以後、GAS)で書いた方が様々なWebアプリを簡単に利用できるGoogle Appsの恩恵を預かれるため有効だろう。社会人・学生向けプログラミング教室でGASで業務改善の勉強会を行いま

 

社会人・学生向けプログラミング教室でHTML Serviceの勉強会を行いました

社会人・学生向けプログラミング教室でGoogleスプレットシートの拡張の勉強会を行いましたの続きで、HTML ServiceとGoogleドキュメントとの連携でできる事を行いました。Google Apps ScriptのHTML Serviceを試してみたGoogle ドキュメント - オンラインでドキュメントを作成、編集できる無料サービスGoogleドキュメントでUIをどこまでカスタマイズできるのか?可能性を確認した上で業務改善の検討会等で新たなアイディ

 

Google Apps ScriptのHTML Serviceでファイルアップロードを行う

今まで、Google Apps Script(以後、GAS)で他のWebサービスと連携したり、OCRで画像から文字列を取得してみた。Google Apps ScriptのHTML ServiceでGoogle Calendarの予定を取得してみるGoogle Apps ScriptでJPEGの画像からOCRで画像内の文字列を取得してみたあと、Webアプリ開発として把握しておきたいことと言えば、ファイルのアップロード等を行うためのフォームだろう。というわけでマニュアルを

 

Google Apps ScriptでJPEGの画像からOCRで画像内の文字列を取得してみた

表題の通り、Google Apps Script(以後GAS)で、指定の画像から文字列を取得できるか?試してみた。Google Apps ScriptのHTML ServiceでGoogle Calendarの予定を取得してみる先に画像から文字列を取得あたりだけど、以前、Googleドキュメントで画像ファイルから文字列を抜き取ってみるの記事でGoogleドキュメントを活用して、画像から文字列を取得してみた。この技術を光学文字認識(Optical character r

 

Google Apps ScriptのHTML ServiceでGoogle Calendarの予定を取得してみる

Google Apps ScriptのHTML Serviceで自作した関数の結果を出力してみるで自作した関数の実行結果をHTML Serviceから出力されたページに表示してみた。これを踏まえた上で、Google Calendarの予定の表示を試してみる。コード.gsfunction doGet() {var html = HtmlService.createTemplateFromFile('index');return html.evalua

 

Google Apps ScriptのHTML Serviceで自作した関数の結果を出力してみる

詳解! Google Apps Script完全入門 ~Google Apps & G Suiteの最新プログラミングガイド~ - 秀和システム前回のGoogle Apps ScriptのHTML Serviceを試してみたでGoogle Apps Script(以後、GAS)のスクリプトエディタで作成したHTMLを出力したことを記載した。今回はGoogle Apps Scriptの可能性を知るために、HTMLを読み込み実行しているコード.gsの方で作成した自

 

Google Apps ScriptのHTML Serviceを試してみた

昨年末に出版された詳解! Google Apps Script完全入門 ~Google Apps & G Suiteの最新プログラミングガイド~ - 秀和システムが素晴らしいということで早速読んでみた。Google Apps Script(以後、GAS)は社会人・学生向けプログラミング教室でGoogleスプレットシートの拡張の勉強会を行いましたにあるようにプログラマでない人が大幅な業務改善を行う上で重要な技術となると確信している言語である。GASはJavaScri

 

社会人・学生向けプログラミング教室でGoogleスプレットシートの拡張の勉強会を行いました

社会人・学生向けプログラミング教室でGoogleフォームの拡張の勉強会を行いましたの続きで、Google DriveのGoogleスプレットシートを活用して、備品の管理と足りなければ調達の指示をメールで送信するといった業務アプリのようなものを作成してみました。Google ドライブ - 写真やドキュメントなど、ファイルのクラウド ストレージとバックアップGoogle スプレッドシート - オンラインでスプレッドシートを作成、編集できる無料サービスGoogleス

 

Googleドキュメントで画像ファイルから文字列を抜き取ってみる

Faxで送られてくる書類から文字列を抜き出したいということで、光学文字認識(Optical character recognition:OCR)ができるオープンソースを探していたところ、光学文字認識 - WikipediaGoogleドライブのGoogleドキュメントでできるよという情報を見つけ、早速試してみることにした。早速このように適当な位置に名前を書いた画像ファイルを用意する。このファイルをGoogleドライブ内でOCR用で作成したフ

 

SOY ShopでGoogle Sign-In for Websitesプラグインを作成しました

表題の通りなのですが、SOY Shopのマイページのログイン画面にGoogleのアカウントでも会員登録やログインできるGoogle Sign-In for Websitesのログインボタンを設置できるプラグインを作成しました。Google Sign-In for Websites  |  Google Developersこのプラグインを管理画面に記載されている手順で設定を行うと、※画面左下のログインボタンSOY Shopサイトの公開側のマ

 

社会人・学生向けプログラミング教室でGoogleフォームの拡張の勉強会を行いました

社会人・学生向けプログラミング教室でGASで業務改善の勉強会を行いましたの続きで、Google DriveのGoogleフォームをGAS(Google Apps Script)で自分好みにカスタマイズするという勉強会を行いました。Google ドライブ - 写真やドキュメントなど、ファイルのクラウド ストレージとバックアップGoogle フォーム - アンケートを作成、分析できる無料サービスGoogleフォームでお問い合わせフォームを設置すると、お問い

 

SOY Shopの顧客詳細と顧客グループでGoogle Mapsとの連携を追加しました

表題の通り、SOY Shopの顧客詳細の編集画面と顧客グループの各グループでGoogle Mapsとの連携を行いまいした。SOY Shopで顧客グループプラグインを作成しました具体的な内容は、顧客詳細の編集画面では住所の入力フォームの下顧客グループプラグインでは地図付き住所のフィールドを追加顧客情報は管理画面でのみ使用するデータなのに、何故、緯度経度を含む情報を扱えるようにしたのか?それは近々詳細を投稿する予定です。今回

 

社会人・学生向けプログラミング教室でGASで業務改善の勉強会を行いました

社会人・学生向けプログラミング教室でコードレビューをしてみましたにも記載したとおり、以前からTera schoolで中学生向けのプログラミング教室と平行して、大学生・社会人向けにプログラミングの勉強会を行っています。今までJavaScriptで色々と触れてきたので、そろそろ日々の業務改善のためにGAS(Google Apps Script)に触れてみました。Apps Script | Google DevelopersGASを簡単に説明すると、

 

ApacheサーバでBrotliを使用してみた

前回、圧縮の性能が高いと言われるBrotliを試してみた。Googleの圧縮アルゴリズムBrotliを試してみた性能は圧縮後のファイルサイズで確認して、容量が標準のgzipよりも少なくなっていることを確認した。これはApacheサーバにも入れてみたい!ということでサーバにインストールしてみた。はじめにサーバの環境だけど、さくらのVPS 512Ubuntu 14.04Apache 2.4.25当サイトをHTTP/2対応して表示の爆速化して

 

Googleの圧縮アルゴリズムBrotliを試してみた

Brotli - WikipediaオライリーのReal World HTTPを読んでいたら、ブラウザからサーバにリクエストを送信して返ってくるレスポンスでBrotliで圧縮できると記載があった。Brotliはよく使われているgzipよりも20%ちかく圧縮率を改善させたアルゴリズムらしい。最近のブラウザであれば、httpsから始まるURLでサーバにリクエストを送信すれば、Brotliで圧縮したレスポンスを返すことができるとのことで、Brotliを試してみること

 

SOY CMSのブログで地図アプリを作ろう3

SOY CMSのブログで地図アプリを作ろう2でhttps://saitodev.co/walk2eat/マップを表示させたブログトップページで詳細ページへのリンク付きのインフォウィンドウを表示できるようにした。ここの記載されているリンクから詳細ページへ遷移するわけだけど、詳細ページでもhttps://saitodev.co/walk2eat/restaurant/農場の家こんな感じでコンテンツの一つとして、店舗の位置を示した地図と、閲覧者が

 

SOY CMSのブログで地図アプリを作ろう2

SOY CMSのブログで地図アプリを作ろう1でSOY CMSのブログページを活用して、投稿型の簡単な地図アプリを作成しました。ただ、これだと地図にマーカーを設置しただけで、このマーカーが何と言う店を指していて、どのような情報があるかわからない。せっかくブログページを使っているのにそれではつまらない。というわけで今回は、https://saitodev.co/walk2eat/マーカーをクリックしたら店名とリンクを表示して、詳細(紹介)ペ

 

SOY CMSのブログで地図アプリを作ろう1

https://saitodev.co/walk2eat/どこに行ったかがすぐにわかるように、地図を表示して簡単にマーカーを設置したいということになりまして、Google Maps APIを利用したページを作ることになりました。Google Maps APIに対応したSOY Appを作成しても良かったのですが、作成直前で非常にめんどくさくなってきたので、SOY CMSのブログを利用することにした。はじめにGoogle Maps APIを利用でき

 

SOY CMSの画像のリサイズでJPEGのロスレス圧縮を追加した

内部SEOのためにサーバ側で画像をリサイズしてから送信する様にした。PNGで透過している場合は、背景が黒にならないような対策もした。SOY CMSの画像のリサイズ時にPNGの透過を無効にするこの状態で、再度、GoogleのPageSpeed Insightsで測定してみると、PageSpeed Insights画像を最適化のところで、https://saitodev.co/…e/files3/yabugarashi_negi3.jpg&width=150

 

SOY CMSの画像のリサイズ時にPNGの透過を無効にする

SOY CMSで表示直前で画像のリサイズ表示を行う先日、ページの表示速度を向上するために、トップページのサムネイルの生成をサーバ側でやらせてみたけんだけど、ところどころ、黒いサムネイルが生成されていた。本来ここに表示されるべき画像が、陰イオン交換容量AECこれで、GIMPで作成した画像はリサイズしちゃいけないのかなぁ…なんていろいろ考えみたら原因がわかった。GIMP - GNU Image Manipulation Programこの画像は

 

さくらのVPSにGoの環境を構築してみた

Goで立ち上げたサーバを停止した後、再度同じポートで立ち上げるまだまだ課題は多いけど、最低限の機能は実装できてるので、さくらのVPSを借りて、アプリケーションサーバを立ち上げてみた。その時行ったことをメモに記す。さくらのVPSを借りて、Ubuntuを入れた。Ubuntuでファイアウォール等の設定は下記の、さくらのVPSでSOY CMSを動かした時のメモで記載したものを参考にして進め、今回は練習も兼ねて、この先はデプロイツールを使わず、一つ一つ丁寧に行ってみた。

 

SOY ShopでGoogle+の投稿ウィジェットを作成してみた

コトブキ園というサイトがあって、このサイトはSOY Shopで商品カタログを表示している。ここのサイトはGoogle+で新着情報を表示しているのだが、Google+は他のSNSと異なり、投稿を表示するウィジェットを公開していない。農場の家 - Google+ということで、Google+の投稿を表示するモジュールを作成してみた。SOY ShopにはPHPの記述を許可しつつ、テンプレートのHTMLにコメントのみで実装できるパーツモジュールというものがあるので、


Powered by SOY CMS  ↑トップへ