ブログ内検索

プログラミング教室
オンライン肥料教室を開催しています
検索キーワード:「サービス」
 

SOY Shopで郵送(クリックポスト)モジュールを作成しました

/** Geminiが自動生成した概要 **/
SOY Shop向けに、日本郵便の格安配送サービス「クリックポスト」を活用した配送モジュールがリリースされました。クリックポストは全国一律185円で、自宅でラベル作成・決済、追跡、ポスト投函が可能な手軽なサービスです。 この新モジュール導入により、SOY Shopでは以下の機能が利用できます。 * カートでの配送方法に「郵送」を追加 * 商品個数に応じた個口設定 * 合計金額に応じた送料無料設定 * 管理画面から郵送注文を抽出し、クリックポスト依頼用のCSV出力 フリマや個人取引に最適なこのモジュールは、指定サイトからダウンロード可能です。

 

岡山城の石垣

/** Geminiが自動生成した概要 **/
岡山城の石垣は、約20km離れた犬島のピンク色の花崗岩で築かれている。犬島の花崗岩は、雲母の含有率が少なく風化しにくい特徴を持つ。石垣の砂も確認された。花崗岩のピンク色は、カリ長石に含まれる鉄の酸化によるもので、犬島の花崗岩はカリ長石が多い。雲母は風化しやすい造岩鉱物であるため、雲母が少ない犬島の花崗岩は石垣に適している。

 

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

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

 

カンキツを巡る旅

/** Geminiが自動生成した概要 **/
今年の著者は、日本におけるカンキツ栽培と緑色片岩の関係に強い興味を抱いた。きっかけは、沖縄でのカカオ栽培視察で緑色片岩に出会い、その後、和歌山県のミカン農園で同様の岩を見つけたことだった。 著者は、日本の柑橘の起源とされるヤマトタチバナと沖縄のシークワーサーの遺伝的な近縁性を示す研究結果に注目し、古代、ヤマトタチバナを持ち帰った田道間守が、緑色片岩を目印に植栽地を選んだのではないかと推測する。 さらに、愛媛県のミカン産地や和歌山県のミカン農家の言い伝えからも、緑色片岩と良質なカンキツ栽培の関係を示唆する事例が見つかり、著者は古代からの知恵に感銘を受ける。

 

海水由来の塩化カリ

/** Geminiが自動生成した概要 **/
この記事は、カリ肥料、特に塩化カリウムについて解説しています。塩化カリウムは海水から食塩を精製した後の残留物から工業的に製造されるため、有機肥料へのカリウム添加に適しています。 しかし、塩化カリウムは不純物として塩化マグネシウムなどを含むため、土壌のEC上昇、塩素イオンによる反応、マグネシウム蓄積といった問題に注意が必要です。 今後は塩素イオンの影響について掘り下げ、有機肥料における塩化カリウムの安全かつ効果的な利用方法を探求していく予定です。

 

Ubuntu22.10でWiFiの接続に失敗する時の対処

/** Geminiが自動生成した概要 **/
Ubuntu 22.10 で WiFi 接続エラーが発生し、NetworkManager の再起動で解決する場合がある現象について記述されています。 エラー発生時には NetworkManager のログに "ip-config-unavailable" が記録され、IP アドレス取得のタイムアウトが原因と推測されます。 記事では、WiFi 接続時の IP アドレス取得が他のサービスの起動よりも早く行われることが原因の可能性を示唆しています。解決策として IP アドレス取得の時間を延長する方法があるようですが、記事では検証されていません。

 

OpenStreetMap API版Soil & Geoロガー

/** Geminiが自動生成した概要 **/
「Soil & Geoロガー」がOpenStreetMap APIを使って改良されました。以前はGoogle Maps APIを使用していましたが、OpenStreetMap APIに切り替え、地図表示と位置情報の取得を簡素化しました。これにより、地図上の任意の場所をクリックするだけで、その地点の緯度経度を取得し、土壌情報と地質情報へのリンクを生成します。さらに、オフライン機能を提供していたIndexedDBとサービスワーカーAPIは、インターネット接続環境の向上により廃止されました。この改良により、土壌情報と地質情報へのアクセスが容易になり、施肥設計や地域資源の活用に役立ちます。

 

SOY Shopで管理画面からの注文で0円商品の追加の設定を設けました

/** Geminiが自動生成した概要 **/
SOY Shopの管理画面からの注文機能が強化され、未登録商品を0円かつ0個で追加できるようになりました。これは、購入商品に付随するサービス品を納品書に含めるニーズに応えるための改修です。 従来、カートには0円商品は追加できましたが、在庫管理ができない点が課題でした。今回のアップデートで、サービス品も商品登録することで在庫管理が可能になります。管理画面の注文時に商品ごとの価格設定を確認する機能と合わせて、より柔軟な注文処理を実現します。最新版は公式サイトからダウンロード可能です。

 

葉緑素の分解産物が根の抵抗性を高めるらしい

/** Geminiが自動生成した概要 **/
農研機構の研究で、葉緑体分解産物であるフィトールがトマトの根のセンチュウ抵抗性を高めることが判明した。フィトールはクロロフィルの分解過程で生成されるアルコールで、土壌中のフィトールが根にエチレンを蓄積させ、抵抗性を向上させる。このメカニズムは、緑肥を刈り倒し土壌に成分を染み込ませる方法と類似しており、土壌消毒にも応用できる可能性がある。緑肥カラシナによるイソチオシアネート土壌消毒と組み合わせれば、相乗効果でセンチュウ被害や青枯病などの細菌性疾患を抑制し、根の養分吸収を維持、ひいては地上部の抵抗性向上にも繋がる可能性がある。

 

クロスサイトリクエストフォージェリを回避する方法を探る

/** Geminiが自動生成した概要 **/
記事では、SOY2HTMLでセキュアなフォームを作成する方法を解説しています。具体的には、CSRF対策としてトークンを埋め込んだフォームを生成するHTMLFormクラスの使い方を紹介しています。 buildHiddenToken()でトークンを生成し、isValidToken()で検証することで、悪意のある外部サイトからのリクエストを無効化できます。また、トークンの有効期限を設定することでセキュリティを強化できます。記事では、具体的なコード例を交えながら、これらの機能の使い方を分かりやすく説明しています。 さらに、HTMLFormクラス以外の方法として、独自にトークンを生成・検証する方法についても触れています。

 

さくらインターネットでテスト環境を作って、SOYCMSとSOYShopを動かしてみる

/** Geminiが自動生成した概要 **/
さくらインターネットの2週間お試しで、SOYCMSとSOYShopのテスト環境を構築する方法。Windows10環境で、共有サーバプレミアムプランに申し込み、Filezillaでサーバに接続する。接続情報は仮登録メールに記載されている。wwwフォルダにSOYCMSをアップロードし、「http://(ドメイン)/cms/admin」で管理画面を確認。次に、SOYShopをダウンロードし、appとSOYShopフォルダをwww/cms直下に置く。管理画面にSOY Shopログインが表示されれば完了。

 

SOY ShopでRFID在庫管理ツール ZAIKAに対応しました

/** Geminiが自動生成した概要 **/
SOY Shopがレンタルサービス事業者向けRFID在庫管理ツール「ZAIKA」とAPI連携できるプラグインを開発しました。ZAIKAはレンタル業務の発送・返却作業効率化と在庫単位での収益・稼働・状態管理を実現するツールです。プラグイン利用にはSOY Shopのオーダーカスタムフィールド(日付)との連携が必要ですが、現状未実装です。連携機能開発は需要に応じて対応予定。プラグイン利用希望者やレンタル業務用SOY Shop構築希望者は問い合わせください。 なお、顧客関連管理機能強化については言及されていません。

 

SOY ShopでSMBC GMO PAYMENT用の決済モジュールを作成しました

/** Geminiが自動生成した概要 **/
SOY Shop用のSMBC GMO PAYMENTクレジット決済モジュールが開発されました。このモジュールは標準機能には含まれておらず、希望者は問い合わせフォームから連絡が必要です。 また、GMOペイメントゲートウェイ用のクレジット決済モジュールも開発されています。どちらも、ECサイト構築プラットフォームであるSOY Shopで利用可能です。

 

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アカウントでキーワードプランナーが無料で使えるようになる。

 

【SEO対策】実行環境のバージョンを上げて高速化

/** Geminiが自動生成した概要 **/
PageSpeed Insightsでスコア100を目指すため、サーバー側の処理速度向上に取り組んだ。SEO対策として、PHP製CMSを使う場合、PHPバージョンを最新に保つことが重要。PHP7系はOPCacheにより高速化されており、バージョンアップだけでスコア向上も期待できる。VPSサーバでのバージョンアップ方法は過去記事を参照。PHP8ではJitコンパイラ導入で更なる高速化が見込まれる。かつてGo言語への移植も検討したが、PHPでスコア100達成できたため中止した。

 

【SEO対策】Gueztliで画像のファイルサイズの削減

/** Geminiが自動生成した概要 **/
この記事では、ウェブサイトのSEO対策として画像ファイルサイズの削減に焦点を当てています。GoogleのJPEGエンコーダGuetzliを導入することで、画像品質を維持しながらファイルサイズを大幅に削減できることを実例で示しています。具体的には、115.8kbの画像がGuetzliによって9.4kbまで圧縮され、80%以上の削減に成功しています。また、PageSpeed InsightsによるWebP等の次世代フォーマットの推奨についても触れつつ、Safari非対応やPageSpeed Module導入によるパフォーマンス低下を理由に現状では採用を見送っていることを説明しています。

 

【SEO対策】データの転送量の削減の為の圧縮

/** Geminiが自動生成した概要 **/
個人事業主がSEO対策として行ったデータ転送量削減策を紹介。コンテンツの充実を最優先としつつ、今回はデータ圧縮に着目。GoogleのPageSpeed Insightsを参考に、Brotliアルゴリズムを用いてデータ転送量の削減を試みた。Brotliは対応サーバーが限られるため、Deflateやgzipも選択肢として提示。HTMLや画像のデータ量削減は今後の課題とし、データ転送に関する更なる改善策を予告している。

 

SOY CMSでドメインが異なる複数のサイトを運営する

/** Geminiが自動生成した概要 **/
SOY CMSで異なるドメインの複数サイト(example.kyoto, other.example.kyoto)をさくらVPS上の単一サーバーで運用する手順を記述。Let's Encryptでワイルドカード証明書(*.example.kyoto)を取得し、既存証明書を削除後、お名前.comのDNS設定でTXTレコードを追加。SOY CMSでサイト毎にURLを設定し、Apacheのドキュメントルートにindex.phpと.htaccessを設置、ドメインに応じてサイトを切り替えるよう設定。ワイルドカード証明書の更新は、お名前.comでは自動化できないため手動、またはさくらのクラウドDNSへの移管が必要。

 

吉野川で緑泥片岩探し

/** Geminiが自動生成した概要 **/
緑泥石を含む緑泥片岩が吉野川に多く存在する理由を探るため、著者は大歩危下流の川辺を調査。安全な場所を地元住民の行動から判断し、川原の石を観察した。扁平な緑色の石が多く、図鑑を参考に緑泥片岩を特定。顕微鏡で確認すると緑色で、緑泥石に加え黄緑色の緑廉石も含む可能性が高いことがわかった。また、窪みのある石も見つかり、粘土鉱物である緑泥石が水に溶けやすく風化しやすい性質から、窪みが形成されたと推測。このことから、緑泥石が川の水に溶け込み、下流の土壌形成に影響を与えている可能性を示唆している。

 

SOY ShopのPAY.JP定期課金モジュールでカード情報の変更の画面を追加しました

/** Geminiが自動生成した概要 **/
SOY ShopのPAY.JP定期課金モジュールに、カード情報変更機能が追加されました。現在はマイページログイン後からの変更ですが、将来的にはメール経由でログインなしでの変更も可能になる予定です。 このアップデートにより、ユーザーは定期課金のカード情報を更新できるようになり、期限切れ等による課金停止を防ぎます。 PAY.JP定期課金モジュールは、SOY Shopでクレジットカード決済の継続課金を行うためのプラグインです。最新版はsaitodev.co/soycms/soyshop/からダウンロードできます。

 

食の知見から秀品率の向上へ

/** Geminiが自動生成した概要 **/
本記事は2019年末の振り返りとして、「食と健康」の知見を農業の肥培管理に応用し、秀品率向上を目指した取り組みを報告します。高齢化社会の医療費高騰や健康寿命延伸といった社会課題を背景に、農薬削減、食味・栄養価向上を両立する栽培方法を模索。具体的には、野菜の美味しさと健康の関係、発酵食品の製造技術からのヒント、そして菌根菌の重要性を探求しました。また、殺菌剤の使用が虫害増加に繋がる可能性を指摘し、農薬削減が品質向上に不可欠であると結論付け、持続可能で高品質な農業の実現への道筋を示唆しています。

 

アグリガーデンスクール&アカデミーさんで土壌インベントリーの活用の話をしました

/** Geminiが自動生成した概要 **/
旧福岡県立朝倉農業高等学校内に設立されたアグリガーデンスクール&アカデミーで、日本土壌インベントリーの活用法に関する基調講演を行いました。土壌の三相分布や肥料の話に加え、土壌インベントリーと地質図を活用した圃場特性の把握方法を紹介。土壌インベントリーは、新規就農地の選定だけでなく、視察先圃場の土壌特性を理解し、栽培技術の評価に活用できるツールです。土壌に助けられた栽培なのか、技術によるものなのかを見極めるのに役立ちます。講演では、土壌インベントリーを活用することで、受講生の今後の栽培技術向上に繋がるよう解説しました。

 

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

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

 

SOY Inquiryのアップロードカラムで画像のリサイズを追加しました

/** Geminiが自動生成した概要 **/
SOY Inquiryでアップロードフォームを設置した際、確認メールに画像を表示するには、PHPのメール送信機能では画像を直接埋め込めないため、HTMLメールで画像のURLを指定する必要がある。 送信メール設定でHTMLメールを利用し、メール本文にアップロードファイルへのURLを記述するSmartyタグを追加する。ただし、このURLは管理画面からのみアクセス可能なので、.htaccessでBasic認証を設定してセキュリティを確保する。 画像のURLは、SOY Inquiryのバージョンによって記述方法が異なり、古いバージョンではファイルIDを直接URLに含める方法、新しいバージョンでは専用のSmartyタグを使用する方法があるため、バージョンに合わせて適切な方法を選択する必要がある。

 

安満遺跡公園で高槻の土についての話をしました

/** Geminiが自動生成した概要 **/
高槻市の安満遺跡公園で「高槻の土を攻略する」と題して土に関するセミナーが開催され、講師が土壌の成分や形成について説明した。 また、講師は前日に高槻の本山寺を訪問し、土の母岩による風化の違いを視察した。本山寺は土の教材として優れており、高槻市の環境が学習の機会を提供していることを認識した。 講師は、ファームプロ社の支援を受け、高槻の土壌の特徴を把握し、農業や環境保全に役立てることを目指している。

 

SOY Shopでキャンセルが頻繁に発生する事業向けの予約アプリを開発しました

/** Geminiが自動生成した概要 **/
SOY Shopの顧客管理機能を活用し、キャンセル発生頻度の高い就学前児童向けWebサービスの予約カレンダーを開発。Googleアカウントログイン機能、仮登録による会員限定アクセス制限、運営者による本登録承認フローを実装。スマホで空き状況確認・予約を簡素化し、クリック操作で予約完了までスムーズな導線を構築。Bootstrapテンプレートのカスタマイズにより操作性を向上。兄弟利用を想定した予約時情報入力機能も搭載。キャンセル発生時の迅速な空き状況更新にも対応。

 

ビタミンB12を合成する細菌を求めて

/** Geminiが自動生成した概要 **/
海苔のビタミンB12含有量の違いに興味を持った著者は、ビタミンB12産生菌について調査。論文検索で*Propionibacterium freudenreichii*と*Pseudomonas denitrificans*という2種の細菌を発見した。後者は脱窒菌として知られる。前者は土壌細菌で、エメンタールチーズの穴を作る際に働く。エメンタールチーズにもビタミンB12が含まれることから、*P. freudenreichii*由来の可能性が示唆されるが、確証は得られていない。

 

ワードやエクセルファイルの編集はDropboxフォルダで行おう

/** Geminiが自動生成した概要 **/
IT関連以外の方との共同作業で、Wordファイルの消失を恐れる相手にDropboxの活用を提案した体験談。Dropboxにファイルを置くことで自動保存・共有、バージョン管理による変更履歴の保持が可能となり、ファイル消失や変更差し戻しへの不安を解消できる。バージョン管理はGit利用者には必須の機能で、DropboxのWebサイト上で過去のバージョンに戻せる。Dropbox利用でファイル名の変更によるバージョン管理の手間も省ける。ただし、企業によってはセキュリティ上の懸念からDropboxのような外部サービス利用を禁止している場合もある。競合他社はこうしたサービスを活用し、事務コスト削減で商品開発に注力し、競争優位に立つ可能性があるため、時代遅れにならないようWebサービス導入と個人スキルの向上が重要。

 

SOY CMS ASP版運営プラグイン

/** Geminiが自動生成した概要 **/
SOY CMSのASP版を提供するためのプラグインが開発されました。このプラグイン「SOY CMS ASP版運営プラグイン」は、SOY CMSのマルチサイト機能を活用し、利用登録フォームからアカウントと紐付いたサイトを自動作成します。ASP運営者はサーバーにSOY CMSとプラグインをインストールし、利用登録フォームを設置するサイトを作成。フォーム設置後、公開側からの登録でアカウントとサイトが作成されます。これにより、簡単にSOY CMSのASPサービスを提供可能になります。パッケージはsaitodev.co/soycms/からダウンロードできます。

 

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

/** Geminiが自動生成した概要 **/
Go言語でGoogle Search Console APIから検索クエリデータを取得する方法を解説しています。必要な手順として、Google Cloud ConsoleでSearch Console APIを有効化し、認証情報を作成、Search Console側でユーザー権限を設定します。Goのコードでは、`golang.org/x/oauth2`、`google.golang.org/api/webmasters/v3`ライブラリを使用し、認証情報`secret.json`を用いてSearch Console APIにクエリを送信、過去7日間の検索クエリデータを取得・表示します。

 

抗ガン剤としてのサナギタケのコルジセピン

/** Geminiが自動生成した概要 **/
サナギタケ由来の物質コルジセピンは、抗腫瘍効果を持つ。コルジセピンはアデノシンと構造が酷似しており、ガン細胞のDNA複製時にアデノシンの代わりに取り込まれる。しかし、コルジセピンはアデノシンとは異なり3'位にヒドロキシ基を持たないため、DNAの二重螺旋構造が不安定化し、ガン細胞の増殖が抑制される。興味深いことに、コルジセピンは正常細胞や有益な微生物には影響を与えない選択的増殖抑制作用を示す。これは、昆虫に寄生するサナギタケが、宿主の防御反応に対抗するために産生した物質であるコルジセピンが、昆虫の細胞増殖のみを阻害するよう進化したためと考えられる。実際に、昆虫に感染したサナギタケの子実体の方が、人工培養されたものよりもコルジセピンを高濃度で含む。

 

サナギタケの人工培養について知りたい

/** Geminiが自動生成した概要 **/
ヨトウガ対策としてサナギタケの活用を検討する筆者は、サナギタケの培養方法を調べた。専門書によると、培養法は昆虫生体培養、個体培地栽培、液体培地発酵の三種類。中でも個体培地栽培では、穀物などを培地として子実体を収穫し、液体培地発酵では、化学薬品を用いて菌糸体を収穫する。重要なのは、サナギタケの菌糸が生きた昆虫を必要とせず、穀物や糖質があれば増殖できること。落ち葉に胞子がいるという既存情報と合わせ、畑に落ち葉とデンプン質などを供給すれば、サナギタケの菌糸が増殖する可能性があると考え、次は培養条件の把握に進む。

 

SOYCMSのブログでデータベースをMySQLからSQLiteに変更する

/** Geminiが自動生成した概要 **/
SOY CMSブログで表示速度低下に悩んでいたところ、MySQL版が遅い共有サーバ環境のため、SQLiteに移行するプラグインを開発しました。ベンチマークは1.3倍改善、表示速度は2秒以下に。MySQL→SQLite、SQLite→MySQLの切り替えが可能で内部SEO対策にも有効です。Gravatar連携など一部プラグインは未対応ですが、カスタムフィールド等は対応済み。使用前にバックアップと注意点記事の確認を推奨。ダウンロードはsaitodev.co/soycms/から。この開発を通して、MySQL専用CMSは共有サーバではSEO的に不利になりやすいと感じました。

 

SOY ShopでSTORES決済(旧Coineyペイジ支払い)モジュールを作成しました

/** Geminiが自動生成した概要 **/
SOY ShopにCoineyペイジ決済モジュールが追加されました。Coineyは、カードリーダー(Coineyターミナル)を用いた決済に加え、Coineyペイジを利用したオンライン決済にも対応しています。モジュール導入により、SOY Shop上でCoineyペイジへの遷移によるクレジットカード決済が可能になります。実店舗とネットショップ両方でCoineyを利用したい場合に最適です。設定方法はモジュール設定画面に記載されています。Coineyは交通系電子マネー決済にも対応しており、導入によりSuica等の電子マネー決済を簡便に導入できます。Coineyペイジは新機能のため、現時点ではテスト環境は未対応ですが、順次対応予定です。

 

サイトで業者を選ぶのに、何を参考にする?

/** Geminiが自動生成した概要 **/
不用品回収業者を探す際、検索上位の「最安値」を謳う業者に惹かれたが、高額な見積りに遭遇。その後、「くらしのマーケット」で人柄が伝わるコメントや高評価の口コミのある業者を選び、満足のいく結果を得た。 この経験から、価格競争の激しいサービス業のサイト構築においては、価格ではなく人柄をアピールすることの重要性を学んだ。ブログで個性を出し、顧客とのエピソードを交え信頼感を醸成する。最安値を謳うより、他社との差別化を明確にする。そして、顧客との良好な関係構築に基づく口コミ獲得とアフターフォローが、成功の鍵となる。

 

SOY Shopでクレジットマスターの対策を強化しました

/** Geminiが自動生成した概要 **/
SOY Shopがクレジットカード情報の不正取得攻撃対策を強化。クレジットカード入力画面への不自然なリダイレクトを検知した場合、該当IPアドレスからのアクセスを遮断する機能を追加。さらに、PAY.JPクレジットモジュールでは、モジュール内でカード情報送信の試行回数を記録し、一定回数を超えるとカート利用を禁止する。これらの対策により、ネットショップが不正利用の踏み台となるリスクを大幅に低減。今後もセキュリティ強化を継続していく。最新版は公式サイトからダウンロード可能。

 

Soil & Geoロガーで現在地の土質と地質を調べよう

/** Geminiが自動生成した概要 **/
Android端末で現在地の土壌と地質を調べるWebアプリをHTML5、Service Worker、IndexedDBを用いて開発。GPSで緯度経度を取得し、オフラインでも動作。取得した情報は農研機構の土壌図、産総研の地質図、Googleマップへのリンク生成に利用。現在Android Chromeのみ対応で、ログは10件保持。Service Worker使用による位置情報取得の不具合調査中。開発中のロガー機能の一部公開で、正式版は非公開。機能追加要望や不具合報告は受け付けていない。Githubでソースコード公開中。

 

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

/** Geminiが自動生成した概要 **/
自作PHPアプリでGoogle検索結果を集計する際、cURLで検索を実行したところ「503 Service Unavailable」エラーが発生した。Googleはスクリプトからの自動検索を制限しており、エラーメッセージは異常トラフィックの検出を示していた。解決策として、`curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"]);`をcURLに追加し、ブラウザのユーザーエージェントを送信するように変更した。これによりエラーが解消し、検索結果の集計が可能になった。単に適当なユーザーエージェントを設定するだけでは解決せず、実際に使用しているブラウザの情報を送ることが重要だった。

 

SOY ShopのPAY.JPクレジットカード支払いモジュールでカード情報非通過化対応をしました

/** Geminiが自動生成した概要 **/
SOY ShopのPAY.JPクレジットカード支払いモジュールがカード情報非通過化に対応しました。2018年8月1日以降、加盟店はカード情報を直接扱うことが禁止され、トークン化が必須となりました。 そのため、モジュールはカード情報をPAY.JPサーバーに送信し、トークンを受け取って処理するように改修されました。既存モジュール利用者は、サイトのセキュリティ維持のため早急にバージョンアップが必要です。最新版はサイト(https://saitodev.co/soycms/soyshop/)からダウンロード可能です。詳細は「SOY CMSのバージョンアップについて」を参照ください。

 

うどんの茹で汁は飲まないけれども、そばの茹で汁は飲む文化

/** Geminiが自動生成した概要 **/
蕎麦アレルギーの原因物質は蕎麦殻に含まれるタンパク質であり、蕎麦粉にわずかに混入することでアレルギー反応を引き起こす。蕎麦殻を蕎麦粉から完全に除去するのは難しく、製粉方法や蕎麦の種類によって混入率が変わる。蕎麦アレルギー患者は、十割蕎麦であっても殻の混入によるアナフィラキシーショックのリスクがあるため注意が必要。アレルギー症状は皮膚のかゆみ、じんましん、呼吸困難など様々で、重篤な場合は死に至る可能性もある。蕎麦殻アレルゲン除去の研究も進んでいるが、現時点ではアレルゲンの完全除去は困難であり、蕎麦アレルギー患者は蕎麦の摂取を控えることが推奨される。

 

kintoneで指定の個所だけ印刷範囲にしてみる

/** Geminiが自動生成した概要 **/
kintoneでカレンダーアプリを印刷する際、標準機能ではカレンダー部分のみを選択できない問題を、jQueryプラグイン「printElement」を用いて解決する方法を紹介。kintoneアプリにカレンダー形式の一覧ページを作成し、printElementとjQueryを読み込むよう設定。カスタマイズ用JavaScriptで印刷ボタンを配置し、クリックイベントにprintElementでカレンダー部分(id="view-list-data-gaia")を指定。これにより、ヘッダー/フッターを除くカレンダー部分のみが印刷範囲となる。kintoneのカスタマイズ性の高さとjQueryプラグインの活用例を示している。

 

やまどうぐレンタル屋さんで顧客関連管理の機能の強化を行いました

/** Geminiが自動生成した概要 **/
登山用品レンタルの「やまどうぐレンタル屋」は、SOY Shopで運営しつつSalesforceを用いて顧客管理を行っていたが、SOY Shop内で完結させたいという要望からCRM機能強化を実施。オーダーカスタムフィールドや拡張ポイントを活用し、レンタル特有の発送・返却管理、納品書・検品書出力管理、配送状況連携、電話注文対応、実店舗受取管理などをSOY Shop内で実現。プラグインによる拡張のみでSalesforce並みの機能を実現し、本体のカスタマイズは行わずバージョンアップへの影響を排除。管理画面の表示速度最適化も実施。この機能強化は拡張ポイントを活用したプラグイン作成で再現可能。

 

Apache上で利用しているLet's Encryptの失効

/** Geminiが自動生成した概要 **/
旧サーバーでLet's Encrypt証明書の失効、新サーバーで新規発行の手順を解説。 旧サーバーでは、`certbot`を使わず、`/opt/letsencrypt/letsencrypt-auto revoke`コマンドで証明書を失効、`delete`コマンドで関連ファイルを削除。ドメイン名(saitodev.co)を指定して実行。 新サーバーでの証明書発行手順は別記事を参照。

 

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

/** Geminiが自動生成した概要 **/
Googleドキュメントの音声入力とGoogle Apps Scriptを連携させ、チャットワークへの投稿を音声で行う方法を紹介。 「チャットワーク(投稿内容)終了」と話しかけると、内容がチャットワークに送信されるスクリプトを作成。1分毎にスクリプトが実行され、ドキュメントの内容をチェック、投稿後ドキュメントはクリアされる。APIトークン、ルームIDの設定が必要。音声入力はドキュメントのツールから利用可能。Androidスマホでは音声入力の設定を事前に確認する必要がある。この方法で、両手が塞がっている状況でもチャットワークに投稿可能。実用時はタスク登録ルールやToの指定が推奨される。

 

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

/** Geminiが自動生成した概要 **/
Google Apps Script (GAS)を使ってChatWorkに投稿する方法を紹介。ChatWorkClient for Google Apps Scriptライブラリを利用し、APIトークンとルームIDを指定することで簡単にメッセージを送信できる。GASのトリガー機能と組み合わせれば、Gmail受信やGoogleカレンダーの予定に基づいて自動投稿するなど、業務効率化に役立つアプリを簡単に作成可能。ChatWorkとG Suiteの連携で業務改善を実現できる。

 

SOY ShopでTrackingmore連携プラグインでwebhookに対応しました

/** Geminiが自動生成した概要 **/
SOY Shopで国際荷物追跡サービス「Trackingmore」と連携するプラグインを開発し、「webhook」機能を追加しました。webhookでは、配送業者が発送を開始するとTrackingmoreからSOY Shopに通知が届きます。これにより、リアルタイム追跡の手間を省きつつ、SOY Shopの注文状態や発送メールの自動更新が可能になります。この連携により、出荷予定日前に代行業者から発送情報を受け取れなくても、配送状況を監視し、集荷や発送が確認され次第、発送済みメールを自動送信できます。これにより、確認業務が大幅に削減されます。リアルタイム追跡も併用することで、変更情報の確度が向上します。

 

PHPでチャットワークAPIを介してメッセージを投稿してみる

/** Geminiが自動生成した概要 **/
ChatWork APIを使用してPHPからマイチャットに投稿するスクリプトを作成。投稿は成功し、マイチャットに「PHPからテスト投稿」のメッセージが送信された。 また、ChatWorkでは電話代行サービスを開始しており、電話対応を減らす取り組みが進んでいる。仕事における電話が嫌煙される傾向が高まっている。

 

SOY ShopでTrackingmore連携を試作中

/** Geminiが自動生成した概要 **/
SOY Shopと荷物の追跡サービスTrackingmoreを連携するプラグインが作成されました。このプラグインにより、代行倉庫サービスを利用して出荷された商品の発送状況をリアルタイムで確認できるようになります。ただし、現時点では連続でAPIを叩く制限があるため、トラッキング件数の制限や実行間隔の調整が必要です。今後、Webhookを使用した配送状況確認機能が追加される予定です。この機能により、サーバのリソース占有が軽減されることが期待されています。利用に際しては、課題点に留意してください。

 

レバテックキャリアさんの技術ブログで当ブログのGo言語の記事が紹介されました

/** Geminiが自動生成した概要 **/
レバテックキャリアの技術ブログで、筆者のGo言語のユニットテスト記事が紹介された。紹介記事はGo言語学習者向けのおすすめ記事まとめで、筆者の記事はテストコード作成フローの実例紹介が評価された。IT・Web系転職サイトに栽培系ブログが掲載されたことは、デジタルとアナログ業界の橋渡しとして意義深い。筆者は今後、両業界の利点を融合させる役割を目指している。 追記として、レバテックキャリアと同じ運営会社が、フリーランス向け案件紹介サイト「フリーランスHub」を立ち上げたことが紹介されている。フリーランスHubでは、地域やリモートワークなど様々な条件で業務委託案件を検索できる。

 

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

/** Geminiが自動生成した概要 **/
社会人・学生向けプログラミング教室で、Google Apps ScriptのHTML Serviceを使ったGoogleドキュメント連携の勉強会が行われました。前回のスプレッドシート拡張の勉強会に続き、今回はHTML Serviceを用いてGoogleドキュメントのUIをどこまでカスタマイズできるかを検証しました。これにより、業務改善に繋がる新たなアイディア創出を期待しています。 関連として、Google Apps ScriptでJPEG画像からOCRで文字列を取得する内容も扱われました。

 

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

/** Geminiが自動生成した概要 **/
Google Apps Script (GAS)のHTML Serviceでファイルアップロード機能を実装する方法を紹介。サンプルコードでは、HTMLフォームでファイルを選択・送信し、GAS側でGoogleドライブに保存、生成されたURLをHTMLに返す非同期処理を行っている。`google.script.run.withSuccessHandler()`でGAS側の関数を実行し、成功時の処理をHTML側で記述。フォーム送信イベント`onsubmit`でこの処理を呼び出し、アップロード後のURL表示を実現。この仕組みにOCR処理を組み合わせることで、画像アップロードと文字列抽出を同一画面で行うWebアプリ開発が可能になる。

 

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

/** Geminiが自動生成した概要 **/
Google Apps ScriptでJPEG画像からOCRで文字列を取得する方法を検証。GoogleドキュメントでのOCRをGASで自動化する方法を紹介している。 Drive APIを有効化し、画像URLを指定して`Drive.Files.insert`メソッドでGoogleドライブに挿入、`ocr:true`オプションでOCRを実行。 生成されたGoogleドキュメントには画像とOCR結果のテキストが含まれる。日付や画像中の文字認識は難しいが、本文は高精度で取得できた。以前試したGoogleドキュメント直接OCRより精度は高い。

 

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

/** Geminiが自動生成した概要 **/
Google Apps Script (GAS) のHTML Serviceを利用して、HTMLファイルとGASのコードを連携させる方法を紹介しています。 具体的な手順として、Googleドライブ上にGASプロジェクトを作成し、index.htmlファイルに"Hello, World!"と記述、コード.gsファイルにはdoGet関数でHTMLファイルを読み込むコードを記述します。 その後、ウェブアプリケーションとして公開することで、ブラウザでHTMLの内容が表示されることを確認しています。 さらに、GASを学ぶ上でJavaScriptの知識が重要であることを補足し、関連技術としてNode.js、NW.js、GoogleドキュメントのOCR機能についても言及しています。

 

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

/** Geminiが自動生成した概要 **/
社会人・学生向けプログラミング教室で、Googleスプレッドシートの拡張機能を活用した業務アプリ作成の勉強会を実施。備品管理表を作成し、GAS(JavaScript)で毎週金曜日に備品不足をチェック、関係者へ調達指示メールを自動送信する仕組みを構築した。Googleスプレッドシートの複数人管理機能とGASによるGmail連携で、備品調査とメール送信を自動化。GoogleドライブとGASで業務効率化を図り、クリエイティブな作業時間を増やすという狙い。

 

ファームプロさんから緑茶の品種で作られた紅茶の茶葉を頂きました

/** Geminiが自動生成した概要 **/
ファームプロから緑茶品種で作った紅茶を頂いた。緑茶は未発酵茶、紅茶は発酵茶で、発酵は葉の酵素による。茶葉を揉むことでタンニンが紅茶特有の色や香りに変化する。ファームプロによると、緑茶品種は三番茶でタンニンが増加し、旨味成分テアニンも多い。この三番茶を使うことで味、見た目、香りの良い紅茶ができる。試飲したところ、緑茶の旨味と紅茶の特徴を併せ持つ仕上がりだった。テアニンはタンニンの前駆体で、遮光でタンニンへの変化が抑えられる。三番茶は遮光しないため、テアニン含有量が多い。発酵でタンニンが分解されてもテアニンには戻らない。紅茶の呈色成分はテルフラビン等、香気成分はリナロール等。

 

SOY ShopのPAY.JP定期課金モジュールで管理画面でプランの変更を追加しました

/** Geminiが自動生成した概要 **/
SOY ShopのPAY.JP定期課金モジュールがアップデートされ、管理画面から顧客の定期課金プラン変更が可能になりました。顧客詳細画面でプラン変更やキャンセル操作が行えます。プランは商品情報としてSOY Shop内で作成・管理します。ただし、商品情報の編集回数が多い場合、プラン一覧取得に不具合が生じる可能性があります。 このモジュールを活用することで、SOY CMSと連携した会員制有料ブログや、SOY Mailと連携した有料メルマガの運営が容易になります。最新版はsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

SOY ShopでPAY.JP定期課金モジュールを作成しました

/** Geminiが自動生成した概要 **/
SOY ShopでPAY.JP定期課金に対応した決済モジュールが作成されました。クレジットカード決済モジュールと同様の設定方法で、有料ブログやメルマガ運営が可能になります。設定方法は既存のPAY.JPクレジットカード決済モジュールと同様で、SOY CMSのブログ、SOY Shopの顧客名簿、SOY Mailとの連携によって実現します。ダウンロードはsaitodev.coから可能です。ただし、本番環境での運用実績はまだないため、使用前に問い合わせフォームへの連絡が推奨されています。管理画面からプラン変更も可能になりました。

 

SOY ShopでPAY.JPクレジットカード支払いモジュールを作成しました

/** Geminiが自動生成した概要 **/
SOY Shop用のPAY.JPクレジットカード支払いモジュールが開発され、無料で簡単にクレジットカード決済を導入できるようになった。PAY.JPは初期費用・月額固定費不要のプランもあり、導入障壁が低い。モジュールの利用には、PAY.JPでアカウント作成後、APIキーを取得し、SOY Shop管理画面のモジュール設定に入力する。設定完了後、購入画面でクレジットカード支払いが選択可能になる。カード情報非通過にも対応済み。詳細はサイト(saitodev.co/soycms/soyshop/)で確認できる。定期課金モジュールも提供されている。

 

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

/** Geminiが自動生成した概要 **/
社会人・学生向けプログラミング教室で、GoogleフォームをGASでカスタマイズする勉強会を実施しました。前回に続き、今回はGoogleフォームで作成したお問い合わせフォームに、複数人への通知機能を追加しました。具体的には、Googleスプレッドシートの名簿に記載されたメールアドレス宛にも、お問い合わせ通知メールが送信されるようGASで機能拡張を行いました。次回は、お問い合わせ内容に基づきメール文面を動的に生成する方法を学ぶ予定です。

 

SOY Shopの管理画面の顧客検索でユーザーカスタムサーチフィールドの項目を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの管理画面の顧客検索に、ユーザーカスタムサーチフィールドが追加されました。管理画面でフィールドを追加すると、検索フォームが生成され、顧客情報の絞り込みが可能になります。CRMと連携せずとも、ある程度の顧客管理が可能になります。試作版のため対応漏れがあり、使用したいフィールドの種類が動作しない場合は問い合わせフォームから連絡できます。パッケージはサイトからダウンロード可能です。

 

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

/** Geminiが自動生成した概要 **/
Tera schoolで開催している社会人・学生向けプログラミング勉強会で、業務改善を目的としたGAS(Google Apps Script)入門講座を実施しました。今回はGoogle Driveの共有フォルダのアクセス権限者一覧をスプレッドシートに自動出力するスクリプトを作成。JavaScriptの知識を活かし、数行のコードで名簿作成を自動化し、大幅な生産性向上を体感しました。次回は、作成した名簿を活用し、スプレッドシートとGmailを連携させた定期通知メール送信機能の実装を予定しています。

 

農研機構の日本土壌インベントリー

/** Geminiが自動生成した概要 **/
農研機構の「日本土壌インベントリー」は、緯度経度で土質を検索し、詳細情報を提供する画期的なWebサービスです。これにより、訪れたことのない地域の土壌特性を把握し、栽培計画に役立てることが可能になります。 さらに、産業技術総合研究所の「日本シームレス地質図」と組み合わせることで、土壌の母岩や地下水に溶け込む養分まで推測でき、より深い土壌理解に繋がります。記事では、土壌データのアプリケーション連携の課題に触れつつ、京都・京北地域の黒ボク土を例に、地質情報との連携による詳細な土質分析の可能性を具体的に考察しています。

 

SOY CMSでGravatar連携プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMSのブログ機能強化のため、Gravatar連携プラグインを作成しました。このプラグインは、Gravatarのプロフィール情報をSOY CMSで利用できるようにするものです。Gravatarでプロフィールを作成しメールアドレスと紐づけることで、SOY CMS側でその情報を表示できます。複数人の著者情報を取得・出力し、著者ごとの記事一覧ページも作成可能です。プラグインブロックを活用することで、著者プロフィールをブログページに容易に組み込むことができます。パッケージはsaitodev.co/soycms/からダウンロード可能です。

 

メモリーの監視

/** Geminiが自動生成した概要 **/
本ブログ記事は、Webサービス監視ツールMuninのメモリグラフ項目を理解するため、「詳解 システム・パフォーマンス」を参考に作成された学習メモです。freeコマンドの出力も踏まえ、apps(使用メモリ)、page_tables(OSとCPUが使うメモリ単位のアドレスマッピング)、slab_cache(カーネルキャッシュ)といった主要項目を詳細に解説。さらに、CPU高速化のためのキャッシュや一時データ用のバッファの概念、active/inactiveメモリの役割も説明しています。最終的に、現在のサーバーメモリはオーバースペックであると結論付けています。

 

常時SSL化はSEO上効果はあるか?

/** Geminiが自動生成した概要 **/
常時SSL化はSEOに効果があると考えられる。理由は、常時SSL化で利用可能になるHTTP/2がページ表示速度を劇的に向上させるため。Googleは表示速度をSEOの評価基準にしているため、HTTP/2対応は間接的にSEO向上に繋がる。著者のサイトもHTTP/2導入後、PageSpeed Insightsのスコアが99点を記録、PV数も右肩上がりだ。 HTTP/2の恩恵を受けるにはVPSや専用サーバー等が必要で、相応の知識も求められる。しかし、HTTP/2を抜きにしても、フォームからの情報漏洩防止の観点から、特にログインや問い合わせフォームを持つサイトは常時SSL化が推奨される。専門知識を持つユーザーはSSL化されていないサイトのフォームは利用しないだろう。つまり、常時SSL化はセキュリティ面でもユーザー獲得に繋がるため、SEO効果があると結論付けられる。

 

当サイトをMackerelで監視するようにしてみた

/** Geminiが自動生成した概要 **/
筆者はWebサービスのサーバー監視にMackerelを導入した。Muninを導入したVPSはあったが、個人サイト用に別途VPSを借りるのは負担だったため、Mackerelの5ホスト無料枠を利用することにした。導入手順は非常に簡単で、Ubuntuサーバーへのインストールはコマンド一行で済んだ。Mackerelはサーバーを即座に認識し、ロール設定後すぐに監視が開始された。監視による不安の解消に加え、メール、ChatWork、LINEなど豊富なアラート通知設定も魅力的だと感じた。

 

日本シームレス地質図で見えることが増えたはず

/** Geminiが自動生成した概要 **/
「日本の石ころ標本箱」を参考に、栽培の成功/失敗と地質の関係を探る試み。成功地は酸性岩土壌、失敗地はチャート主体で規則性を持つ母岩だった。サンプル数は少ないが、地質を事前調査することで栽培適地の判断材料になると考えた。産総研の日本シームレス地質図を用いて、ミネラル欠乏がない地域は超塩基性岩/塩基性岩地帯、鉄過剰症の地域は塩基性岩地帯と判明。事例は少ないが、今後各地で地質と栽培結果を比較することで、より精度の高い事前予測が可能になると期待している。関連として海底火山の痕跡についても言及。

 

自由を求めてオープンソースのネットショップパッケージへ。軌道に乗った頃に遭遇する問題について

/** Geminiが自動生成した概要 **/
SOY CMSを利用したネットショップ運営において、初期段階では自由度の高さがメリットとなるが、注文データの増加に伴い表示速度の低下という課題に直面する。これはGoogle検索ランキングにも影響する。記事では、表示速度低下の原因としてデータベース設計の冗長化、特にTEXTカラムの多用を指摘。SOY CMS/Shopでは不要な機能をインストールしない、外部データベースの活用などで冗長化を回避しているものの、注文データテーブルでのTEXTカラム使用は課題として残る。解決策として、サイト高速化とデータベースチューニングの必要性を提示している。具体的な対策は後述としているが、別記事ではPageSpeed Insightsのスコア99達成についても言及している。

 

ネットショップの開発に関わっていて一番すごいと感じたサイトについて

/** Geminiが自動生成した概要 **/
オープンソースのネットショップパッケージは自由度が高い反面、軌道に乗った後に様々な問題に直面する。初期の低コストは魅力だが、カスタマイズの自由が仇となり、複雑化・属人化しやすい。機能追加や修正に開発者への依存度が高まり、コストも増加。また、セキュリティ対策やバージョンアップの手間も発生する。さらに、事業拡大に伴うアクセス集中や多言語対応など、予期せぬ課題への対応が必要となる。結果として、運用コストが肥大化し、当初のメリットが失われる可能性がある。長期的な視点で、拡張性・保守性・運用コストを考慮したプラットフォーム選びが重要となる。

 

元CMSの開発として、CMSの過剰カスタマイズは止めた方が良いと伝えたい

/** Geminiが自動生成した概要 **/
CMS開発経験者として、CMSの過剰カスタマイズは避けるべきだと主張しています。標準機能で不足する場合はプラグイン活用を推奨し、どうしてもカスタマイズが必要なら汎用化し開発元に取り込んでもらうべきです。 成功するネットショップは過剰なカスタマイズを避け、標準機能のバージョンアップによる恩恵を最大限に活用しています。HTMLやPhotoshopを使いこなし、小規模な修正を繰り返すことで魅力的なLPページを作成し売上向上を実現しています。 カスタマイズ依頼の際は、標準機能への実装可能性や他サイトでの汎用性を重視し、CMSカスタマイズが難しい場合はAPI連携可能な外部サービスを検討します。この柔軟な姿勢がサイトの急成長を支えています。

 

Muninで監視用サーバを構築する2

/** Geminiが自動生成した概要 **/
外部サービス監視のため、対象サーバ(192.168.80.80)にmunin-nodeをインストールし、監視サーバ(192.168.100.120)のIPを許可するよう設定ファイルを編集。ファイアウォールで4949ポートを開放する。次に、監視サーバ側でmunin.confに監視対象のホスト名(hoge.com)とIPアドレスを追記。Apacheを再起動後、Munin画面に新しいリンクが表示されれば設定完了。

 

Muninで監視用サーバを構築する1

/** Geminiが自動生成した概要 **/
Webサービスの利用者増加に備え、Ubuntu 16.04サーバにMuninを導入して監視環境を構築した。Apacheのインストールと設定、muninとmunin-nodeのインストール後、アクセス制限を解除し、Basic認証を設定した。最後にファイアウォールでポート80, 443, 4949を開放し、セキュリティを強化した。今回は監視サーバ自体の設定を行い、次回は監視対象サーバの設定を行う。

 

SOY CMSのサイトのバックアップをDropboxで行う

/** Geminiが自動生成した概要 **/
SOY CMSサイトのDropboxバックアップ方法を紹介。まずDropboxアカウントを作成し、サーバーに64ビット版CLI版Dropboxをインストール。サーバをDropboxアカウントにリンク後、バックアップスクリプト(dbbackup.sh)を作成し、cronで毎朝3時にサイトディレクトリをzip圧縮してDropboxへ同期させるよう設定。自動起動設定としてcrontabの@rebootを利用。debファイル経由のインストール方法も追記。再起動しない場合はdropbox start -iコマンドを試す。パスワード付きzip化などの関連記事へのリンクも掲載。

 

耕作放棄地の解消を掲げている団体の就農支援を受けてはいけない

/** Geminiが自動生成した概要 **/
就農希望者は耕作放棄地の解消を掲げる団体の支援を受けるべきではない。なぜなら、耕作放棄地は収益性が低いため放棄されたのであり、そこで農業を始めるのは非常に不利だからだ。そうした団体は放棄地を誰かに管理させようとするだけで、経営ノウハウのない就農希望者を不利な条件の土地に送り込むことになる。結果的に、彼らは新たな耕作放棄地を生み出す可能性が高く、団体は美談として賞賛されながらも、実際には多くの就農者の将来を危険に晒している。真の農業発展は、既に成功している農家が土地を集約し、規模を拡大していく中で、雇用や暖簾分けによって実現する。耕作放棄地解消を美談視するのではなく、現実的な農業経営の支援こそが必要だ。

 

私にとっての農業とSOY Shop

/** Geminiが自動生成した概要 **/
新規就農者は、野菜の栽培で手一杯のため、販売に割く時間がない。そのため、野菜の価格決定権が市場に握られ、価格が下がった際に収入が不安定になりやすい。この問題を解決するために、営業不要で販路を確保できるネットショップ活用が有効だ。研修中に開発したECサイト構築システム「SOY Shop」を導入し、自ら販売サイトを構築。ブログやSNSで情報発信し、顧客との直接的な関係を築くことで、安定した経営を実現した。この成功事例は他の新規就農者にも参考になるだろう。

 

GitHub Pagesでページを作成してみた

/** Geminiが自動生成した概要 **/
GitHub PagesでWebページを公開する方法を解説した記事です。まず、GitHubでリポジトリを作成し、ローカルでindex.htmlを作成、プッシュします。次に、GitHub上でブランチをgh-pagesに切り替えることでページが公開されます。記事では画像付きで手順を説明し、最終的にhttps://{username}.github.io/{repository}でアクセスできることを示しています。

 

SOY Shopでドットインパクトプリンタで伝票印刷に対応しました

/** Geminiが自動生成した概要 **/
SOY Shop用ドットインパクトプリンタ伝票印刷プラグインが開発されました。管理画面の注文一覧から印刷したい注文を検索し、条件を設定して実行すると、連続印刷用ページが出力されます。1ページ1伝票で、PDF保存すればドットインパクトプリンタで使用可能です。現在はクロネコヤマトのみ対応。代引きの場合は宅配便コレクトサービス伝票、それ以外は発払伝票として背景が変化します。プラグインはGitHub上のパッケージ(https://github.com/inunosinsi/soycms/tree/master/package)に同梱されています。

 

IPアドレスで接続元の情報がどれだけわかるか調べてみた

/** Geminiが自動生成した概要 **/
IPアドレスから接続元の情報がどこまで特定できるか検証した結果、固定回線ではプロバイダと大まかな位置情報が判明し、身元の特定は容易であることが分かった。 Y!mobileのポケットWiFiを使用した場合、位置情報は偽装され東京と表示されたが、プロバイダ情報は依然として取得可能であり、プロバイダへの問い合わせで身元が特定される可能性は残る。 検証には「What Is My IP Address?」が使用され、プロバイダ情報に加え、地図上で位置情報まで表示された。OSやブラウザの種類も特定可能であると示唆されている。ポケットWiFiは位置情報の偽装に有効だが、プロバイダ情報から身元特定の可能性は排除できない。 筆者はプロバイダでの勤務経験がないため、詳細な情報提供はできないとしている。

 

接続元IPアドレスを知られたくない時にすること

/** Geminiが自動生成した概要 **/
SOY CMSで総当たり攻撃への対策として、ログイン試行回数制限とアカウントロック機能を実装する方法が解説されている。記事では、PHPでログイン処理をカスタマイズし、データベースにログイン試行回数を記録、一定回数を超えるとアカウントをロックする仕組みを構築している。具体的なコード例も示され、ログイン試行回数の記録方法、ロック時間の管理、管理画面からのロック解除方法などが説明されている。これにより、総当たり攻撃による不正ログインを防ぎ、サイトのセキュリティを高めることができる。さらに、ログイン画面にCAPTCHAを導入することで、ボットによる自動攻撃への対策も強化できる。

 

WordPressのウィジェットを作ってみた1

/** Geminiが自動生成した概要 **/
WordPressプラグインのPHP記述を簡略化するため、ウィジェットを作成する方法を紹介。ウィジェットとは、プラグイン的な機能をサイドバーなどに挿入できる機能。HogeWorldウィジェットを作成し、hoge_world_widget.phpにWP_Widgetクラスを継承したコードを記述。プラグインを有効化し、ウィジェットをサイドバーに挿入することで"hoge world!!"と表示されることを確認。設定画面の追加については次回へ続く。

 

WordPressのプラグインを作ってみた1

/** Geminiが自動生成した概要 **/
WordPressプラグイン作成の入門記事。REST APIサービスのWordPress対応のため、プラグイン「hoge_world」を作成する例を紹介。プラグインファイル(/wp-content/plugins/hoge_world/hoge_world.php)を作成し、コメントと`HogeWorld::call()`関数を定義。管理画面のプラグイン一覧に表示され、テーマファイル(例:sidebar.php)に`<?php HogeWorld::call(); ?>`を記述することで「hoge worldだー!」と表示されることを示している。

 

SOY CMSでインストーラを削除せずにいたらどうなるか?

/** Geminiが自動生成した概要 **/
SOY CMSのインストーラを削除しないと、再インストールが可能になり、サイトデータが消去される危険性がある。攻撃者は用意したデータベース情報で再インストールし、初期管理者権限を奪取できる。管理画面URLが判明していれば、インストーラ経由でサイトを初期化・乗っ取りが可能。他CMSでもインストーラが残っていれば同様の危険があるため、インストール後は必ず削除する必要がある。

 

SOY CMSのソーシャルボタン設置プラグインでPocketに対応しました

/** Geminiが自動生成した概要 **/
SOY CMSのソーシャルボタン設置プラグインがPocketに対応しました。Pocketは後で読む記事を保存するサービスです。 専用タグを挿入することでPocketボタンを設置でき、記事ページなどに表示されます。修正ファイルはSOY CMSフォーラムで配布中。

 

お名前.comで取得したドメインをさくらのVPSとさくらのメールボックスに当てる

/** Geminiが自動生成した概要 **/
お名前.comドメインをさくらVPSとさくらのメールボックスに適用する方法。共有サーバーからVPSへの移行に伴い、メールサーバーは共有サーバーを継続利用するため、ドメインを両方に割り当てる必要がある。お名前.comのDNSレコード設定で、AレコードにVPSのIPアドレス、MXレコードに共有サーバーのメールサーバーのドメインを設定する。MXレコードにはIPアドレスではなくドメインを指定する点が重要。設定後、MX lookupサービスで確認し、さくらの共有サーバーのコントロールパネルでドメインを追加する。Aレコードの反映には時間がかかる場合がある。

 

サイバー攻撃の前にパスワードの管理を

/** Geminiが自動生成した概要 **/
Facebook乗っ取り広告をきっかけに、パスワード使い回し問題の危険性を指摘。FacebookやTwitterで盗まれたパスワードがGmail等の重要サービス不正アクセスに繋がり、個人情報漏洩やサイト乗っ取り、踏み台攻撃に発展する可能性を解説。さらに、知人PCにログイン状態のGmailから重要書類を発見した事例を紹介し、ログアウトの重要性とパスワード管理の徹底を強調。Webサービス利用時は、サービス毎に複雑なパスワードを設定し、メモ帳等での管理を避けるべきだと警鐘を鳴らしている。

 

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

/** Geminiが自動生成した概要 **/
SOY ShopでGoogle+の投稿を表示するウィジェットを作成する方法を紹介しています。Google+は投稿表示ウィジェットを公式に提供していないため、自作する必要があります。 SOY Shopのパーツモジュール機能を利用し、PHPで記述することで実現しました。`http://rss2lj.net/g+/{Google+ID}` からGoogle+の投稿をXML形式で取得し、PHPの`simplexml_load_file()`関数で解析、整形して表示します。具体的には、日付とタイトル、リンクを取得し、リスト形式で5件まで表示する処理を実装しています。

 

Goで一方向ハッシュ関数によるパスワードの暗号化を書いてみた

/** Geminiが自動生成した概要 **/
SHA-2は、SHA-1の後継として開発された暗号学的ハッシュ関数群です。SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256といったバリエーションがあり、それぞれ異なるハッシュ値の長さを生成します。SHA-2は、メッセージダイジェストを作成することでデータの整合性を検証し、改ざんを検出できます。内部構造はSHA-1と類似していますが、より安全で攻撃に対する耐性が高いとされています。現在、SHA-256とSHA-512が広く利用されており、SSL/TLSやデジタル署名など、様々なセキュリティアプリケーションで重要な役割を果たしています。

 

SOY Shopにステップメールを追加してみた

/** Geminiが自動生成した概要 **/
SOY Shopで売れるネットショップ構築を目指す中で、ステップメール機能を追加。ステップメールとは、登録されたメールアドレスに、設定した順番と送信日で複数メールを自動配信する仕組み。高額商品や定期購入など、購入前に段階的な情報提供が必要な場合に有効。ブログ記事やメルマガでは難しい、順序立てた情報提供と継続的な顧客接点を可能にする。オフライン閲覧、サイトへの継続アクセス促進といったメリットも。SOY ShopではSOY Mail連携でステップメール後のメルマガ配信も可能。古典的な手法ながら、アプリ連携で強力な販促ツールとなる。

おすすめの検索キーワード
おすすめの記事

Powered by SOY CMS   ↑トップへ