命名って難しい

変数、関数、クラスなどなど実装より命名に毎回悩むタイプの人間による技術についてのメモ。

Windowsのpython開発で仮想環境(venv)・VSCode向けの設定・.gitignoreをセットアップしてすぐ開発できるようにするスクリプトを書いてみた

最近プライベートで勉強を兼ねてpythonで1つのツールを開発しています。

普段デスクトップで開発をしているのですが、外出先でも開発できるようにノートPCも使うようになりました。

新しい環境で開発を開始するとき、仮想環境と設定といろいろと面倒なことがあったので新しい環境下で利用できるスクリプトを書いてみました。

  • 前提とする環境
  • セットアップの内容
  • ソースコード
  • 気になるところ

前提とする環境

続きを読む

Python+SeleniumでWebDriverを自動管理してくれるクラスを作ってみたら同じような機能を持つパッケージがあったのでソースコードを供養します。

タイトルで終わり!

  • ソースコード
    • メイン
    • テストコード
  • 同じような機能を持つパッケージ、webdriver_manager
続きを読む

各ECモールの商品カテゴリ/商品分類を技術を使って一致させたい(結果確認)

前回の続きです。

前回 [https://notshown.hatenablog.jp/entry/2021/10/26/012326:e mbed:cite]

前々回 notshown.hatenablog.jp

前々回はECサイト上からのカテゴリデータの取得、前回はword2vecを利用したpython実装によるデータのマッチングです。

今回はマッチング結果のデータと思ったことをメモして終わります。 pastebinのデータ量の制限があったので、一部のみです。

  • 結論(というか思ったこと)
    • 商品カテゴリーの1:1での一致はほぼできない
    • トップ10を抽出し、人の目で選ばせればいいかも
  • 各カテゴリーのデータ
  • au Pay マーケット → yahoo!ショッピング
    • 完全一致
    • トップ1データ
  • yahoo!ショッピングau Pay マーケット
    • 完全一致
    • トップ1データ
続きを読む

各ECモールの商品カテゴリ/商品分類を技術を使って一致させたい(カテゴリーをマッチさせる)

前回の続きです。

notshown.hatenablog.jp

今回は pythonの環境と実装したスクリプトの挙動について簡単に説明します。

  • 環境設定
  • 実装
    • 流れ
    • ソースコード全体
    • 部分解説 Timer クラス
    • 部分解説 Word2VecComparer クラス
    • 部分解説 WordSeparatedCategory クラス
    • 部分解説 CompareResult クラス
    • 部分解説 関数 setup_logger
    • 部分解説 関数 conv_csv_to_ws_categories
    • 部分解説 関数 conv_results_to_dict
    • 部分解説 関数 main
続きを読む

各ECモールの商品カテゴリ/商品分類を技術を使って一致させたい(マスターデータをつくる)

ECの商品カテゴリは各ECによって粒度が違ったり表現が違ったり色々ですよね。

例えば商品を複数のECマーケットに出品したいなと思ったとき、商品カテゴリの設定は売れ行きにも影響するのでそんな雑にはできないかと思います。

【ここのECの〇〇というカテゴリは別のECの△△というカテゴリと同じ】と紐付けできたら便利だと思うんですよね。 そこで、技術でどうにかできないかなと調べてみました。

長くなるのでまずは今回はマスターデータを作るところ。

  • 商品カテゴリを探す
  • 商品カテゴリのマスターデータを作る
    • Yahoo!ショッピング
      • カテゴリー一覧ページ
      • カテゴリー2のページ
    • au Payマーケット
      • トップページ
      • カテゴリー2のページ
    • データの取得
      • 取得データ
        • au PAY マーケット
        • Yahoo! ショッピング
続きを読む

【2021/06版】Inkscapeを使いコマンドラインでSVGをPNGに変換してPowerPointに貼り付けたよ

Microsoftが公開しているAzureのアイコン画像集があります。

docs.microsoft.com

しかし、これはSVGなので弊社の利用しているPowerPoint2013では開けません。 今回、そのSVGPNGに変換してPowerPointに貼り付けるまでの流れを記事にします。

SVGPNG

Inkscapeのインストール

Inkscapeをダウンロードしてインストールします。 inkscape.org

私の試したバージョンは1.1, Released on May 24, 2021です。

f:id:NotShown:20210628094739p:plain
インストーラーのダウンロード

Inkscapeコマンドライン実行で変換を行う。

Inkscapeコマンドラインから変換を行うことができます。 Inkscape.com がコマンドライン用のバイナリです。

以下のようなコマンドで変換処理を行うことができます。

cd C:\Program Files\Inkscape\bin
inkscape.com --export-type="png" --export-width="1024" "変換対象.svg"

コマンドライン引数は以下を指定しています。

  • --export-type="png" : PNG出力
  • --export-width="1024" : 出力時の幅

参考

wiki.inkscape.org

なお、出力先はSVGと同じフォルダ になります。注意して下さい。

PowerPointに貼り付ける

このままドラッグアンドドロップで~と試したら 画質が非常に粗くなる という問題点が出てきました。

f:id:NotShown:20210628095341p:plain
アイコンの画質が粗くなる

変換していない既存のPNGと比べてサイズも同じだし何故だろうと色々調べたところ、 PowerPointの画像圧縮が原因でした。

オプションから ファイル内のイメージを圧縮しない(N) にチェックを入れましょう

f:id:NotShown:20210628095505p:plain
オプション画面

チェックを入れた後に同じPNGを貼り付けました。これで想定どおりの利用ができるようになりました。

f:id:NotShown:20210628095645p:plain
イメージ圧縮有無比較

変換をしていない既存のPNGは圧縮していてもキレイに利用できるので何故変換したものがこうなるのかの原因は分かりませんが、画質が粗くなる問題点の解決はできました。

以上です。

【雑記】AutoHotKeyを使った話とRPAを使うまでもなく業務改善できるんじゃないか?って話

普段の家計管理はMoneryForwardを使っていますが、データの変更作業にAutoHotKeyを使ったのでメモがてら雑記です。

  • AutoHotKeyって何?
  • 何に使ったのか
  • 業務改善にもつながるのでは?
    • 例1:ホームページ巡回作業
    • 例2:使いづらいソフトの繰り返し作業
    • 例3:文字入力作業
  • AHK vs RPA?

AutoHotKeyって何?

基本的にキーボードレイアウトを変えたり、特定のホットキーを作ったりすることを目的としているんですが、色々機能があってスクリプトを書けばかゆいところに手が届くソフトウェアです。

ahkスクリプトという独自言語を記述してソフトで開くことで様々なことができます。

昔脱マウスを目指してキーボードでマウスを動かすスクリプトとかも作った記憶があります。

公式ページ

www.autohotkey.com

Wikipedia

ja.wikipedia.org

続きを読む