intellista

engineer's notes about application development, data analysis, and so on

アイキャッチ画像は「ぱくたそ」で

今日はブログのチャームポイントとなる「アイキャッチ画像」についてです。

アイキャッチ画像」とは

上のような目を引く画像のことを「アイキャッチ画像」と言います。
上手くマッチする画像を使えば、読者にとっての読みやすさや理解度の助けになります。

無料サイト「ぱくたそ」

アイキャッチ画像を無料で入手できるサイトはいくつかありますが、「ぱくたそ」というフリーの写真サイトには、このブログも大変お世話になっています。
www.pakutaso.com
人物写真が多いこと、ユーモアのある写真があること、などが気に入っています。

使用許諾の知識

また、使用許諾について非常にわかりやすい説明があるところも気に入っています。信念があると思いました。
www.pakutaso.com
www.pakutaso.com

後記

なお、この記事のアイキャッチ画像は、某サイトの広告で有名になった「エンジニアなんだからFAXも直せるでしょ?と言われる」の写真です。

わかりやすいマニュアルや記事を書くには?


わかりやすくマニュアルや記事などを書く技術についてのLIVE配信を視聴しました。かなり得るものがあり、感謝しています。
配信のアーカイブ動画を貼ります。2時間ほどありますが、再生スピードを変えられるので時短できそうです。
www.youtube.com

「2時間はキツい」という場合は、スライドでチェックしても良いかもしれません。登壇者2名の方のスライドが公開されています。これでわかれば超時短です。

セッション1

speakerdeck.com

セッション2

speakerdeck.com

個人的に為になったポイント

個人的に為になったポイントのトップ3は、次の点です。

  • 記事の構成要素は、タイトル、概要、本文。
    • タイトルと概要をつける。そうすると読者が何の話か把握できるため、本文を読んでもらえる。
    • タイトルは問題や結論を簡潔に書く。タイトルが長すぎると概要になってしまい、タイトルとしてはわかりずらい。
  • 「名前を大切にする」のトピックで解説された、文章のわかりにくさの正体と改善方法
  • テクニカルライターという職種の存在

このブログも改めて見ると課題が浮き上がりました。反省とともに新鮮な気持ちになりました。

その他

セッションの中で、次の書籍が有用と紹介されました。ガイドラインとしてお薦めだそうです。使っている視聴者の方もいました。

日本語スタイルガイド(第3版)

YouTubeLIVEなので、残業で見られなかった前半部分を終了後に視聴できました。アーカイブ動画があるのはありがたいです。1.5〜1.75倍速くらいで確認できたのも時短になり助かりました。質問できない点を除けば、メリットが大きいと思いました。

なお、この配信はコンパスから申し込みました。LINE社は精力的に開催しているようです。今回のテクニカルライティングについては初回とのことで、良かったので次回4/15も申し込みました。楽しみです。

Webサイトのロゴ更新とfavicon追加


昨日は、次のように Visual Studio Code でサイト更新できるように設定しました。

今回は、ロゴの更新とfaviconの追加を行います。

ロゴの更新

あまりこだわるつもりはなかったのでタイポグラフィで行くことにしました。
次のサイトが具合が良かったです。フォントもいくつか選べます。store.jpが提供している無料サービスになります。
https://logo-maker.stores.jp/workspace/logo-maker.stores.jp

faviconの追加

ロゴを作ったときに、同じフォントで透過pngを1文字ずつ作りました。
それを3Dペイントで合成し、faviconにしました。

Windows10標準のペイントは透過pngに非対応だったので、3Dペイントを使っています。
3DペイントはWindows10に同梱されていた気がするのですが、入っていなかったのでMicrosoft Storeから入手しました。無料です。

faviconはブラウザや表示環境によってサイズや形式の種類が多く、嫌なものです。。。
次のサイトでオンライン無料サービスでいいものがあるか学びました。
kubogen.com
sdesignlabo.com

両方のサイトで紹介されている「Favicon Generator. For real.」を利用しました。
ある程度の種類を一発で作成できるところが気に入りました。
realfavicongenerator.net

少し手こずったのが、デフォルトブラウザにしているChromium版 Edgeでファビコンを表示させるところです。
結論からすると、下記のようにすることで表示できました。1行目ではChromium版 Edgeでfaviconを表示できませんでした。(IE11とChromeは1行目で表示できました。)

<link rel="shortcut icon" href="favicon/favicon.ico"><!-- for IE11, Chrome -->
<link rel="icon" href="favicon/favicon-32x32.png"><!-- for Edge(Chromium) -->

Visual Studio CodeでWebサイトのソース修正を保存時に自動反映させてストレスから開放


2014年頃から全く更新できていないサイトを持っています。
無料スペースということもあり、数ヶ月未更新だと広告が表示されてしまいます。
このサイトを久しぶりに更新して、放置すると出てしまう広告を消すことにします。

Visual Studio Code を使う

今回から Visual Studio Code を使うことにしました。
理由は、

  • 軽い
  • 使い慣れている
  • 疲れない色合い

です。
市販のホームページ作成ソフトで出力したソースなので無駄が多いコードですが、デフォルトで適宜色分けされ見やすいです。

「SFTP」を選ぶ

リモートサーバーと通信するためのFTPクライアントを選びます。
過去にはサイト作成アプリに付属のFTPクライアントや、FFFTPFileZillaなどのフリーのFTPクライアントを使っていました。
Visual Studio Codeでできれば便利だし、Extensionにありそう、と少し確認しただけですぐに出てきました。
いくつかありましたが、標準でインストール済み、かつ評価も高そうな「SFTP」を使うことにしました。
Visual Studio Code と「SFTP」で、サイトを更新することにします。

SFTP

「SFTP」の設定と使い方

「SFTP」は、次のサイトで設定方法と使い方を学びました。非常にわかりやすく感謝です。
www.karelie.net

上記サイトにあるとおり、「SFTP」で同期設定すると、Visual Studio Codeで保存してブラウザを開いて最新化する、もう反映されている、といった軽やかさです。
「Ctrl+S」「Alt+Tab」「F5」、でササッと確認して「Alt+Tab」でサッと戻る、といった軽快さが気に入りました。

Visual Studio Codeのコマンドパレットの開き方

なお、「SFTP」を設定する際の操作について、Visual Studio Codeのコマンドパレットの開き方を地味に知らなかったので、下記で確認しました。「Ctrl+Shift+P」です。
medium.com

アップロードする前の「SFTP」の設定

また、アップロードする前に、ignoreの設定をしたほうが良さそうです。次のサイトで学びました。
arrown-blog.com

サイトの更新準備(リソースのダウンロード)

まずはリモートからリソースをダウンロードしてみます。
Visual Studio Codeワークスペースに空フォルダを登録し、そのフォルダの右クリックメニューから「Sync Remote -> Local」を実行しました。
すると、下記のようにログインエラーとなりました。

Login incorrect

「FC2ホームページ」のFTPアクセス設定

更新対象のサイトは「FC2ホームページ」なのですが...
web.fc2.com
どうもツールからのFTPアクセスがデフォルトでブロックされるように、いつの頃からか設定が追加されていたようです。
こちらをオフにすると、無事にエラーがなくなり、めでたくリモートとローカルが同期しました。

Trun the setting of FTP-lock off

後記

IDE上でソースを保存するともうWEBに反映されている、というのは本当にストレスフリーだと思いました。

Power Automate Desktop for Windows 10

f:id:parupuntist:20210305193328p:plain
ちょっと嬉しいニュースがありました。
今週の火曜(3/2)に、MicrosoftからWindows10をRPAする無料ツールが公式リリースされました。
「Power Automate Desktop for Windows 10」です。
flow.microsoft.com

そのうちInsider Programに入るらしいのですが、先立ってインストールしてみました。
次の記事で、ブラウザ操作の記録方法がわかります。
gigazine.net

触った感想

早速試して見ました。かなり簡単に自動化タスクを作れました。
インストールしたアプリのメニューを見る限り、ブラウザに特化しているわけではなく、CMDなどいろいろな自動化できるようです。
人間が張り付かずにPCにやらせておけばいいような単純作業を本当に簡単に自動化できそうで、ワクワクします。

勉強会

後日、勉強会に参加したのでリンクします。

Pythonでk-meansによるクラスタリング


Pythonでk-meansによるクラスタリングを実施してみました。
データの性格から、あまり面白い結果にはならなかったのですが(散布図にすると人間が見ても分類できるようなデータだったので...)、実装の練習としてはちょうど良かったです。

下記のような記述で、簡単にクラスタリングできるのはちょっと衝撃でした。

from sklearn.cluster import KMeans

km = KMeans(
    n_clusters=5, # クラスタ数
    init="k-means++", # 初期値の与え方(randomかk-means++のいずれか)
    n_init=10 # k-meansの実行回数
)

km.fit_predict(df)

上記で分析まではできますが、分析結果を可視化するにはMatplotlibなどに渡す必要があります。
このあたりは、ネット検索やPythonエンジニア育成推進協会の推薦図書でもある「Pythonによるあたらしいデータ分析の教科書」を見ながら実装しました。

Pythonによるあたらしいデータ分析の教科書

上記図書は、データ分析に必要な数学のおさらい(微積分、行列、確率統計、の知識のうち、データ分析での実装に必要そうな初歩)が簡単にまとまっているのと、Numpy, pandas, Matplotlib, scikit-learnといった定番ライブラリの事始めがまとまっている点が気に入っています。
なお、2021年3月末までなら、Pythonエンジニア育成推進協会で受検宣言を報告すると無料でもらえるキャンペーンをやっているようです。
www.pythonic-exam.com

先月の2/19にconnpassでデータ分析ハンズオンに参加しまして、そこでもk-meansを取り扱っていました。
そのおかげもあって、実装イメージがついていた点が役に立ちました。
ハンズオンのときは早々に脱落していたのですが(pandasは初心者、Matplotlibやscikit-learnは触ったことなし、という初心者だったので...)、うまくいかなくても一度経験しておくというのは良いことだと思いました。

なお、データ分析のデファクトスタンダードのひとつとなっている技術にPythonがあります。
Python、Pandas、データ分析、に関するコツなどを次の記事にまとめてありますので、是非読んでみてください!
intellista.hatenablog.com

Chromium版Edge用のWebDriver

f:id:parupuntist:20210303181649p:plain
1年ほど前、EdgeがChromiumエンジンに変わったタイミングでChromeから乗り換えました。
使用感はあまり変わらないと思っています。
乗り換え後、PythonSelenium経由でスクレイピングするのに使っていた「chromedriver-binary」もEdgeのドライバに差し替えました。

差替前の「chromedriver-binary」はpipして、次のようにimportすればすぐSeleniumに渡せました。

from selenium import webdriver
import chromedriver_binary
...
wd = webdriver.Chrome()
...
wd.get("http://www.xxx.xxx...")
...

一方、差替後のEdgeのドライバはダウンロードしたものを任意のパスに解凍し、そのパスを次のようにソースで指定する必要があります。
(次の例ではC:/xxx/driver/edgedriver_win64/msedgedriverに回答した想定です。)

from selenium import webdriver
...
wd = webdriver.Edge(executable_path="C:/xxx/driver/edgedriver_win64/msedgedriver")
...
wd.get("http://www.xxx.xxx...")
...


ブラウザのバージョンアップに合わせて頻繁にアップデートされるので入れ替えは少し面倒ですが、メンテされている点には安心感があります。