自動化無しに生活無し

WEBとかAIとかLinux関係をひたすら書く備忘録系ブログ

  • 【Selenium X Python】フォーム入力やクリックをする時は明示的な待機をする【Webdriverwait】

    Seleniumでブラウザ操作の自動化をする時、クリックやフォーム入力などは頻繁に行われる。 だが、それがもしtimeモジュールを使用した暗黙的待機の場合、動作に再現性はなく、たびたび不具合に見舞われるだろう。 本記事では、再現性を高めるため、明示的な待機を行うWebdriverwaitを使用したクリックとフォーム入力を行う。 前提 使用しているPythonとライブラリのバージョン、ブラウザなどをまとめる ...
  • コマンド一発で動画をmp3に変換する

    .mkv動画 → .mp3 find . -type f -name "*.mkv" -print0 | perl -pe 's/\.mkv\0/\0/g' | xargs -0 -I% ffmpeg -i %.mkv -acodec libmp3lame -ab 256k %.mp3 .mp4動画 → .mp3 find . -type f -name "*.mp4" -print0 | perl -pe 's/\.mp4\0/\0/g' | xargs -0 -I% ffmpeg -i %.mp4 -acodec libmp3lame -ab 256k %.mp3 結論 よく使うので、備忘録として。 ...
  • 【Python】openpyxlで棒グラフ・折れ線グラフを表示させる【公式から引用】

    コードは公式から引用し、一部編集している https://openpyxl.readthedocs.io/en/stable/charts/bar.html https://openpyxl.readthedocs.io/en/latest/charts/line.html ソースコード from openpyxl import Workbook from openpyxl.chart import BarChart, Reference #書き込みモードでワークブックを作る wb = Workbook(write_only=True) #シートを作る ws = wb.create_sheet() #データ rows = [ ['番号', '算数', '国語'], [1, 50, 70], [2, 60, 30], [3, 40, 60], [4, 50, 70], [5, 20, 40], [6, 60, 40], [7, 50, 30], ] #書き込み for row in rows: ws.append(row) #棒グラフを作る chart1 = BarChart() chart1.type = "col" chart1.style = 10 #タイトル、横軸・縦軸の指定 chart1.title = "グラフタイトル" chart1.y_axis.title = "点数" chart1.x_axis.title = " ...
  • 【HUGO】作成日時と最終更新日時を表示させる【SEO対策】

    • 作成日時:
    • 最終更新日時:
    • Categories: others
    • Tags: hugo tips SEO対策
    SEO対策として、記事の更新日を記録することにした。 これまでは作成日時と最終更新日時が兼ねられていたが、これにより、いつ更新したかがひと目でわかるようになるだろう。 前提 このギミックが動作するHUGOのバージョン。 ローカルでのバージョン Hugo Static Site Generator v0.68.3/extended linux/amd64 BuildDate: 2020-03-25T06:15:45Z デプロイ先のNetlifyのHUGOのバージョン hugo v0.85.0-724D5DB5+extended linux/amd64 BuildDate=2021-07-05T10:46:28Z VendorInfo=gohugoio 記事ヘッダーにlastmodを追加する 記事ヘッダーにこのようにlastmodを追加する。 --- title: ...
  • 【matplotlib】フォントファイルを用意して日本語の豆腐化を修正する

    • 作成日時:
    • 最終更新日時:
    • Categories: others
    • Tags: Python matplotlib tips
    カレントディレクトリにNotoSansJP-Light.otfを配置する。 import matplotlib.font_manager as fm import numpy as np import matplotlib.pyplot as plt fprop = fm.FontProperties(fname='NotoSansJP-Light.otf') x = np.linspace(0, 1, 100) y = x ** 2 plt.plot(x, y) plt.title("タイトル" ,fontproperties=fprop, fontsize=40) plt.show() これで豆腐化の修正ができる ...
  • 【Pandas】DataFrameをループして取り出す【列ごと、行ごとに取り出すにはdf.items()とdf.itertuples()でOK】

    よくあるpandasの行ごと、列ごとにデータを取り出す方法。 環境 Python 3.8.10 numpy==1.23.4 pandas==1.5.1 python-dateutil==2.8.2 pytz==2022.5 six==1.16.0 列ごとにループして取り出す .iteritems()は後のバージョンで廃止される可能性があるので、列ごとのループには.items()を使う import pandas as pd data = {} data["month"] = [ str(i)+"月" for i in range(1,13) ] data["page_view"] = [ i*1000 for i in range(12) ] data["earnings"] = [ i*100 for i in range(12) ] index = [ str(i) for i in range(12) ] df = pd.DataFrame( data, index=index ) ## 列ごとにループする for column_name, item in df.items(): print(column_name) print(item) print(item["0"]) print(item["1"]) print(item["2"]) index ...
  • Pycharmを使う前にやっておきたい設定と覚えておくと良い操作方法

    Pycharmはデフォルトではやや使いづらい。そのため、本記事ではなるべく使いやすくする設定と覚えておくとよい操作方法を記す。 設定 日本語化 https://mergedoc.osdn.jp/ にアクセス。Pleiadesプラグイン・ダウンロードからOSにあった日本語用のzipをDL。 zipを展開した後、WindowsやMacの場合はマウスクリックでインストーラーを起動させれば良い。 ※日本語の表記ゆれなどを考慮し、以降の設定はインストールしてすぐの英 ...
  • 要件定義書の書き方

    開発者になるために必要な要件定義書の書き方と必要なものを解説する。 そもそも要件定義とは? システムを作るために決めるべきこと。 とりわけ、システムにおける5W1Hに基づいて、取り決めを行う必要がある。 この取り決めが曖昧であれば、受注者と顧客間での認識に食い違いが生まれる。 要件定義書に必要なもの 要件定義書に正解はない。 必ずしも下記の全ての項目を作る必要はない。必要に応じて省略し、簡潔に済ませることもわか ...
  • UbuntuにWordpressをインストールする【MariaDB+Apache】

    手元のPCにWordpressをインストールして試したいが、OSに直にインストールするのは避けたい。 そういう時、VirtualBoxにインストールしたUbuntuへ、Wordpressをインストールすると良いだろう。 流れ Apacheのインストール MariaDBのインストールとDB・ユーザーの作成 PHPのインストール Wordpressのインストール Apacheのインストール インストール sudo apt install apache2 自動起 ...
  • 【git/GitHub】コマンドと使い方の一覧

    • 作成日時:
    • 最終更新日時:
    • Categories: others
    • Tags: git GitHub
    後に追記予定あり。 必要と思われるものから順に、解説サイトから抜粋して並べている。 基本操作編 これができれば、作ったコードをGitHubに公開できる。 リポジトリを作る git init インデックスする(コミットするファイルを記録) 全てのファイルをインデックスする場合はこうする git add . コミットする git commit -m "ここにコミットのメッセージを記録する" 【補足1】ユーザー情報を入力していないため、コミットできな ...