今日の年月日(曜日)を1秒で入力する方法

今日の年月日と曜日を、指定の形式で素早く入力したい。日本語入力支援アプリGoogle IMEなら、「きょう」と入力するだけで変換候補に今日の日付が出てくる。これよりも早く、正確に今日を入力する方法を、AutoHotKey で実装した。

方法

AutoHotKey のHotstring を使う

Hotstring とは

ユーザーが特定の文字列をタイプしたときに、アクションを発生させられる機能

スクリプト

my_hotstring.ahk

使い方

普段使いするなら、このmy_hotstring.ahk をランチャーに入れて実行するか、Windows のスタートアップで起動時に実行されるようにする

“w[[” と入力すると、”2020年1月17日 (金)” のように出力される

解説

  • ::{}:: の{}部分が、反応するタイプ入力部分
  • FormatTime で今日の日付を取得している
  • 曜日は数字で返ってくる
    配列を使おうとしたがうまく使えなかったため、dowtable に1文字ずつ曜日をセットし、StringMid で指定位置の曜日文字を切り取っている

参考

AutoHotkey の Hotstring で曜日文字列を素早く入力する
http://stakiran.hatenablog.com/entry/2018/01/19/221444

編集履歴

  • get_dowstr() を引数指定で、本日以外の曜日を選べるように変更

追記

2020年11月27日 (金)

ファイル名に日付を入力して重複を避けるためのHotstring を追加した。

my_hotstring.ahk

使い方

“q[[” と入力すると、”20200117″ のように8桁の年月日が出力される

飲食店でローカルビジネスの構造化データを、WordPress を使って適切にマークアップする方法

拠点を持つ飲食店では、グーグルに適切な飲食店情報を伝えることで、グーグル検索やグーグルマップで検索したとき、検索内容に一致するビジネスの詳細が評されることがある。ローカルビジネスの構造化データを公式ホームページに用意することで、自社の営業時間や価格帯などをグーグルに伝えることができる。これを、WordPress に設定して、利用可能にしよう。

前提

WordPress を使う

出力する構造化データの種類

主に3種類。飲食店情報、パンくずリスト(固定ページの階層を伝える)、ブログの個別投稿情報

手順

  1. 後述のサンプルスクリプトを使って、構造化データを整理する
  2. PHP やHTML のエラーが出ないことをチェックする
  3. サイトに公開して、構造化データテストツールでエラーが出ないことを確認する
  4. サイトをGoogle Search Console で使えるよう登録し、「解析不能な構造化データ」が出ないか、「パンくずリスト」が狙い通りクロールされているか、定期的に確認する

構造化データの要点

  • 個別投稿ページの”headline”, “description”は、HTMLエスケープとバックスラッシュの削除
  • 画像はロゴ画像と、記事投稿時にアイキャッチ画像を用意する
  • 営業曜日、営業時間は自店にあわせて記載する
  • address(住所)、geo(地図座標)は自店のものを記載する

構造化データのサンプルスクリプト

下記のスクリプトを、WordPress テーマ内”header.php” HEAD タグ内(title タグの後ろあたり)に追記する。

 

Google, Facebook, Instagram, Twitter で一度に多数のキーワードでエゴサーチする方法

エゴサーチを普段からたしなむ人がいる。そのエゴサーチを楽にする方法を、AutoHotKey を使って作った。

背景

複数のブランド名のエゴサーチをする必要が出たため、いちいちキーワードを入力して検索していた。Google の検索はURL にキーワードを引数として受け渡せるので、キーワード検索結果ページをブックマークやタブを固定していつでも検索できるようにしてもよい。ただ、キーワードの足し引きの管理が面倒になると感じたので、AutoHotKey を使ってキーワード管理、および検索エンジン選択できるようにした。

ソース

 

検索方法

MoveURL(“検索ワード”, “検索するウェブサービス名”)
検索するウェブサービス名:Google, Facebook, Instagram, Twitter
検索したいキーワードを続けて実行すると、次々にタブを開いて検索を実行していく
半角スペースを入れるときはAscii文字 “%20″を使う
例) “桜の道 リボン日記” → “桜の道%20リボン日記”

備考

  • Facebook はログインしないと、検索結果が出ない
  • Instagram はハッシュタグ検索を行っているだけなので、現状複数語の検索ができない
  • Yahoo! やBing 検索も、同じ要領で機能追加できるだろう。ただ、Weibo はよくわからない(URL Encode が使われている様子がある。)
  • ブラウザは使いなれているFirefox を使っているが、別のブラウザを使ってもよい

ネットを通じて自社商品を売り込むときの表現の工夫

ブロガーやユーチューバーなら、クライアントの商品を売り込むことに長けている。だが、全くの素人が自社商品のネット宣伝担当になったらどうするか?そこで、商品紹介記事を書くとき、できる工夫を改めてまとめた。

ブランドメッセージを形成する

  • コンセプトを全文に含める
  • 他店にない長所を伝える
  • お客様のできる体験を伝える
  • 主力商品を伝える
  • 商品の特徴を伝える
  • 投稿を継続する

注意

上記を実現するには、ブランドのコンセプトや特徴、商品の使用感を現場で調査する必要がある。

AutoHotKey で、Windows アプリの表示位置を指定して開く

Smart Pomo Timer」が便利で使い倒しているのだが、アプリが簡素すぎて表示位置が保存されない。そこで、AutoHotKey を使ってアプリを開き、表示位置を気に入ったところに指定するようにした。

run_smart_pomodoro.ahk

 

解説

Run で「Smart Pomo Timer」をローカルに保存したアプリ実行パスを入力。
WinMove でそれぞれ表示エリアのX座標, Y座標を記入。マルチモニターでサブモニターが左にあるような場合、マイナス座標を入れて座標を変えられる。

あとは、ランチャーに”run_smart_pomodoro.ahk” を入れて、アプリを実行するようにAutoHotKey を実行する。

ポスターやフライヤーで印象に残るデザインをする方法

ポスターやフライヤーで印象に残るデザイン狙って行えるよう、同僚のデザイナーに教える方法を考えた。「コントラストを付ける」では足りない。「シルエットがどう見えるか。」をとらえる訓練を考えた。

何ができるか

-使える構図のバリエーションが増える
-広告をシルエットで伝えられるようになる

事前準備

クロッキー帳を用意する

方法

  • ポスター集を見る
  • 初見のものを、縦横比を合わせて構図を写し取る
    • 「〇△□|」で描く、文章やキャッチコピーも印象深いシルエットだけ描く
      • 慣れてくれば「CSI」の線を使う
  • 25分間以内に10種類/1ページ・1日描く
  • 毎週水曜日食後、およびそれ以外の日の作業中の空き時間

実践例

シルエット

たまった構図の使い方

 

ポスターデザインするとき、コンセプトやターゲット層を確認した後、ラフを作る段階で構図が描かれたクロッキー帳を眺める
その状況で使える構図をいくつか抜き出し、ラフを作る

ポスター集サイト

パンフレット&チラシ見本帳
http://desinfinity.net/pamphlet-flyer-mihon/

FLYER ARCHIVE JP
https://flyer-jp.com/

TODAY’S FLYER
https://abstract.jp/flyer/#/

typo/graphic posters
https://www.typographicposters.com/

pinterest
https://www.pinterest.jp/
利用するには登録が必要

太らず痩せずに楽に過ごせる体を作るための、食事方法、運動モチベーションの維持方法

「わたしは筋トレをはじめて、肥満で肥大化したおなかを引っ込めたい。普段から楽に生活できるようになりたい。」という友達の相談に乗った。その時まとめた指導の内容を記録する。主に食事方法、運動のモチベーションを維持する方法について書いた。

直接の運動の指導は1回行ったが、話した感じでは80日間、週2回以上のペースで指導したほうが効率がいいと感じた。段階として筋トレを知る、体感する、コントロールできるようにする、効果を実感することが大切だと考える。身に着けることはたくさんあるけれど、聞き手はそれほどたくさんの情報を1度に覚えきれないからだ。

[食事のコントロール]

何のためにするか?

リバウンドを避けて、楽に痩せるため。

〇1日5食、朝昼晩の食事と、運動による激しい空腹を抑えるため、焼いた豆、または干し芋(腹持ちが良い)を朝昼と昼夜の間に5~6粒食べる

焼いた無塩の豆

例) 素煎りアーモンド 食塩・植物油不使用

〇タンパク質、脂質、糖質をバランスよく摂取する
PFCバランスってなに?

タンパク質、脂質、糖質の割合。日本では、意識しないと糖質が多くなりがちで、タンパク質の摂取量が低くなる。米以外でもピザ、ラーメン、揚げ物、餃子、お好み焼きあたりは糖質が多くなるから注意して食べるか避ける。

〇炭水化物量のコントロール
牛丼店の場合:ライザップ牛サラダや牛丼ライトのような、低糖質メニューを食べる
定食屋の場合:「ご飯少な目」を頼む、タンパク質が足りない場合は、卵や納豆を追加する
炭水化物と炭水化物の食べ合わせ:避ける
例えば、ラーメン+ライスのPFC バランスは、それぞれタンパク質5:脂質1:炭水化物23の割合いとなり、1度の食事でタンパク質が不足し、炭水化物を過剰摂取することになる

〇腸内環境を整える
・低脂肪ヨーグルト(100gぐらい)を毎朝オリゴ糖(ラフィノース、糖純度が高いもの)と一緒に食べる
・ヨーグルトに含まれる乳酸菌が腸内のビフィズス菌のエサになって、腸内環境をよくする
・食物繊維を摂取する
・お通じをよくして腸内を腐敗させない
・火を通した緑黄色野菜を食べるのが楽、ただしお金がかかる

[運動のモチベーションを維持する方法]

何のためにするか?

運動を習慣化して、いつでも健康状態をコントロールできるようになるため。

〇筋トレメモを取る
その日に行ったトレーニングの内容を、トレーニング名、負荷(重さ)、回数(時間)、セット数を記載する
例)
SQ 30×10 3set
(スクワット 30kg かける10回 3セット)

〇毎日朝夕に、体組成計で体重と体脂肪率を記録する
運動開始した直後はうまく行くと筋肉が増量するため、体重が減らないことがある。そのため、体脂肪率を同時に図ることで脂肪と筋肉の変化を確認して、モチベーションにつなげる

Body+ Withings

Wi-Fi 連動体組成計。乗るとクラウドに体重を記録してくれる。最大8人管理可能

体組成計 BC-768

Bluetooth 通信でスマホと連動して、データを端末に転送できる。最大5人管理可能

〇筋トレの曜日を決める
例えば、月、水、土にそれぞれ、有酸素、背筋、大胸筋と足のトレーニングを分ける

〇今の裸の写真を撮影する
ボディメイクの実績を、比較できるようになる

〇直近の目標を身近な人に宣言する
「痩せてかっこよくなるとこ見てて。」と家族や友達に話しておく

[筋トレ動画で有名な人]

何のために見るか?

トレーニングジムで、道具を安全かつ効率的に使って体を育てるため。

Sho Fitness

筋トレのレッスン動画を出す人
2017九州フィジーク 176cm超級 優勝

Katochan 33

筋トレのレッスン動画を出す人
今年のオールジャパンメンズフィジーク選手権大会優勝

例)【初心者】正しいベンチプレス講座【筋トレ】

フリーウエイトのベンチプレス講座。

[ビッグ3]

何のために行うのか?

大きい筋肉を日常的に使うことで、筋肉を増やし、基礎代謝を高めて太りにくくするため。

〇ベンチプレス、デッドリフト、スクワットの3種目を指す。大きい筋肉が鍛えられる
バーベルではなく、ダンベルを使うこともできる
・懸垂(またはラットプル)は広背筋を鍛えられるので、4種目を行う人もいる

〇ジムに行き始める時期
・運動開始直後が最も効率が良くなる
・「プッシュアップのような自重トレーニングから体を作る」みたいな話はたびたび話題に上がるが、プッシュアップの負荷が自重の2/3ほどに比べて、ジムだと5キロ刻み、軽いものだと2キロ刻みで負荷を調整できるので、初心者にも適している

[トレーニング用のツールやギア]

何のために使うのか?

ケガや故障を避けて、安全に運動するため。

水分補給のボトル

口をロックできて飲みやすい

・自分で作る経口補水液
水500ml+塩3g+砂糖20g

ベルト

背中やバーベルスクワットなどのウエイトトレーニング中に、腰椎を守る道具。腹圧をかけて、体幹を安定させる

パワーグリップ

主に、プル系(手を引く動作)のとき、握力低下しても器具を保持しやすくなる道具。高重量の操作が安定する

画像の縦横比を維持したままレスポンシブ化するように、div のようなブロック要素の縦横比を維持するCSSをFLOCSS で書く

何ができるか?

div のようなブロック要素の縦横比を維持するCSSをFLOCSS で書ける。

普通にCSS を書くなら、参考にしたこちらの記事の方がわかりやすい。ありがとうございます。
CSSだけでアスペクト比を固定するテク
https://qiita.com/ryounagaoka/items/a98f59347ed758743b8d

背景

レスポンシブデザインで、複数カラムの一部を画像ではなくテキストの入るブロック要素にして、PC サイズのみカラムの縦横比を維持しようとした。

縦横比を維持したテキストボックスのイメージ

ソース

あとは、維持したい縦横比を計算して、.p-boxratio__XX のクラスを作成し、HTML を作る。

WordPress 更新画面が真っ白になる

WordPress のサイトを複数管理していて、1つのサイトだけ管理画面の更新ページが真っ白になる症状が出た。コードを読む人なら“/wp-admin/update-core.php” に問題があることに気づくだろうが、わたしは解決に結構な時間をかけてしまった。類似した症状は出ないと思うが、一応記録して残す。

時間のない方に、手元で起こった症状と解決策を前述する。

症状

FTP アプリ”Filezilla” で、ローカルからサーバーの特定のディレクトリに”/wp-admin/update-core.php” をアップロードすると、エラーが発生してファイルが破損する。公開サーバーではエラーが出ないので、真っ白になる。

対処方法

  • Filezilla で、[ファイル] → [サイトマネージャ] でサイトマネージャを開き、該当サイトの [転送設定] タブを選択。
  • 表示された画面右側にある [転送モード(T)] の [アクティブ] にチェックを入れて [了解] をクリック。
  • 該当ファイルをアップロードする
  • 「Windows セキュリティの重要な警告」ウインドウが出て、「このアプリの機能のいくつかがWindows Defender ファイアーウォールでブロックされています。」と表示される。「プライベートネットワーク」にチェックを入れて、「アクセスを許可する」ボタンを押す。
  • ファイルが正しく転送されるのを確認する。

次に、経緯の記録を後述する。

WordPress 更新画面が真っ白になる

現状

WordPress を利用している

問題点

WordPress の管理画面から、左メニュー「更新」ボタンを押すと真っ白になる

調査

  • 最新のWordPress をクリーンインストールする
    →同じ症状が出た
  • サーバーのWordPress インストールサービスを使ってインストールする
    →症状が出ない
  • 正しくインストールされたデータをローカルで復元し、ローカルで編集したデータを再度サーバーに復元する
    →同じ症状が出た
  • サーバーで症状が出たWordPress をローカルに復元
    →エラーが表示された。
    C:\xampp\htdocs\site\wp-admin\update-core.php
    プログラム90行目以降のデータが欠損していた
    正常なWordPress の”/wp-admin/update-core.php” を、Filezilla でアップロードすると、転送エラーが表示される。

    エラー: 接続タイムアウト
    エラー: ファイル転送に失敗しました

  • Filezilla の転送タイムアウト時間を200秒に変更
    →同じエラーが発生
  • Filezilla で、[ファイル] → [サイトマネージャ] でサイトマネージャを開き、該当サイトの [転送設定] タブを選択。
  • 表示された画面右側にある [転送モード(T)] の [アクティブ] にチェックを入れて [了解] をクリック。
  • 該当ファイルをアップロードする
  • 「Windows セキュリティの重要な警告」ウインドウが出て、「このアプリの機能のいくつかがWindows Defender ファイアーウォールでブロックされています。」と表示される。「プライベートネットワーク」にチェックを入れて、「アクセスを許可する」ボタンを押す。
  • 正しく転送された

複数の外部WordPress の最新記事を取得し、更新日でソートして降順に並べる

何ができるか

複数の外部ブログの最新記事を取得し、更新日でソートして降順に並べられる

背景

カテゴリが異なるサイトの更新情報を、それぞれのWordPress 記事として投稿している。大本のサイトでは、全情報を表示できるようにしたい。なおかつ、時系列でソートしたい。

技術情報

  • jQuery の$.getJSON(url, function(results){…}) で各店のWordPress ブログ記事を取得
    • getJSON()は非同期通信なので、データ取得後にHTML の描写を行うようにする
  • 取得したJSON データで必要なものをallArticles.push() で格納
    • 配列”allArticles” にオブジェクトを追加している
  • 全データ取得後、underscore.js を使い、allArticles をsortBy() で時系列降順にソート
    • 各店のJSON 読み込みにばらつきがあるので、setTimeout() で2秒の待機時間を付けている
    • allArticles をHTML として書き出す

配列を指定した項目でソートする

事前準備

jquery および、underscore.js を事前に読み込んでおく

underscore.js のsortBy() を使って、数字を降順に並べる

出力結果

year を比較して、降順に並び変わった

JavaScript で、複数の外部WordPress の最新記事を取得し、更新日でソートして降順に並べる

HTML

JavaScript

解説

  • getBlogInfo() で指定されたWordPress のJSON を取得して、ブログ最新記事を変数に格納
  • showBlogInfo() で記事をHTML に書きだす
  • 取得した記事をソートするとき、配列”allArticles”が空だった時が一番作業が煮詰まった。
    jQuery.getJSON() が非同期通信するため、読み込みが終わっていないタイミングで配列を参照していたのが原因だった。
  • 取得した記事のソートはこの部分。”-item.datenum” のマイナスを記載すると、降順になる。

参考

sortBy()
http://www.elder-flower.com/blog/2015/04/sortby.html
sortBy() の使い方