- 1. Qtでディスプレイの拡大・縮小のスケールを取得する
- 2. pythonで青空文庫にある夏目漱石の書籍をスクレイピングする
- 3. 業界未経験のプログラミング初心者が実務で自動化スクリプトを作る際にぶつかった壁
- 4. 【python】Bookmarkしておきたいリソース3選
- 5. Flask入門③~画像の表示~
- 6. 【Colab / Python】気象庁API – 気象データの収集
- 7. 私が最近チョコチョコっとつくったSlackアプリのソースコードを全文掲載 (2021/12/11)
- 8. PyCaretまかせで回帰分析してみた
- 9. alembicのmigrationでDB情報を環境変数から取得できるようにする備忘録
- 10. DataflowのストリーミングJOBをデプロイするときの無限ループの回避
- 11. 手を抜いたプログラム
- 12. データエンジニア界隈で話題のdbt(data build tool)のまとめ
- 13. PythonでBurp Suite拡張機能の作り方
- 14. ダッシュボード作成ライブラリPanelのウィジェット紹介 ~出力系編~
- 15. 今からでも遅くない pyATS でネットワーク自動化入門 2021版
- 16. 【覚書】Pythonのバージョン管理について
- 17. 【Python】GiNZA+SudachiPyを使ってテキスト内の品詞出現頻度を解析してみた
- 18. CloudWatch Logsのログ取得で空が返ってくることがあるっていう仕様
- 19. PythonのSelenuimを用いてアカウントログイン
- 20. Pythonのdatetime比較でハマった話
Qtでディスプレイの拡大・縮小のスケールを取得する
ノートパソコンによってはスケールが200%とかなので、文字の大きさなどでレイアウトが崩れる場合がある。
スケールによらずに表示させるためにスケールを取得したいときは以下の関数を使う。“`python
from qtpy.QtGui import QGuiApplication # qtpyを使っていない場合はPyQt5などからインポートする
def get_scale() -> float:
screen = QGuiApplication.screens()[0] # メインのスクリーンを取得
return screen.devicePixelRatio()
“`ただし、Qt Applicationが走っていないと使えないので注意。
pythonで青空文庫にある夏目漱石の書籍をスクレイピングする
# はじめに
[TechCommit Advent Calendar 2021](https://qiita.com/advent-calendar/2021/tech-commit) 3日目を担当しますRyotaです!
よろしくお願いいたします。pythonで機械学習を勉強するため、書籍「Pythonによるスクレイピング&機械学習 開発テクニック 」に沿って学習していました。
自然言語処理の章で学習用のデータを収集するため、青空文庫から夏目漱石などの作家の作品を一括ダウンロードする必要がありました。
一括ダウンロードサイトとして「http://keison.sakura.ne.jp/」
からダウンロードするようにと書かれていましたが、現在はそのサイトは無い様子。そこで、自分で青空文庫から夏目漱石の書籍をダウンロードして展開するスクリプトを作成しましたので、参考になればと思い記載させていただきます。
# 注意事項
青空文庫のUIが変わると、正常にスクレイピングができなくなります。# 環境
~~~
windows 10
Python 3.10.1
業界未経験のプログラミング初心者が実務で自動化スクリプトを作る際にぶつかった壁
# はじめに
### 概要
この記事では、学習コンテンツでPythonの基礎を勉強しただけの超絶プログラミング初心者である筆者が、勢いだけで飛び込んだゲームQA業界で、実際に使う自動化スクリプトを作る際にぶつかった壁について、また、その壁の乗り越え方について振り返っていきたいと思います。### 自己紹介
・前職では携帯ショップ勤務(プログラミングなんてかけらも触ったことはなかった)
・プログラミングに興味を持ったのはお客様との何気ない会話から
・重度のゲーマー(酷いときは週2で新しいゲームを購入)
・プログラミングへの興味とゲーマーとしての興味が合体した結果、Pythonの基礎を勉強後、勢いでゲームQA業界に転職、自動化エンジニアへ# 実際に使うスクリプトを作る際にぶつかった壁
### 何をどう作ればいいか分からない
インターネット上には様々なPythonの学習コンテンツが存在しており、その殆どがプログラミング初心者でも理解できるように分かりやすく作られています。しかし実務では、用意された題材も、使う関数の指示も、行き詰った時の解説も存在しません。
なので、テストケースか
【python】Bookmarkしておきたいリソース3選
# はじめに
皆さんこんにちは!YomamaBananaでございます。
今回は皆さんにご紹介したいものがございまして、ぜひ最後まで読んでいただければと思います!今回は自分がpythonで開発する際に非常にお世話になっているサイトを3つ紹介します。
**!注意!**紹介するリソースはどれも**英語ONLY**となっております。1. Computer Visionに注力している**PyImageSearch**
1. 機械学習・深層学習全般の**Machine Learning Mastery**
1. ワシントン大学の**Steve Brunton先生**# PyImageSearch
### オススメ度: :thumbsup: :thumbsup: :thumbsup: :thumbsup:
#### ポイント:
* 全てのコードに対して説明がある。(英語)
* Notebook付き。
* 更新がこまめ。#### 概要:
CV系に関するものはたいていあります。さらに単純にソースコードと出力だけではなく、全ての手順に説明がついており、問題定義→手法提示
Flask入門③~画像の表示~
##はじめに
前回の続き。やっぱり文字だけではなく画像も扱いたいと思ったので、色々いじっていきます。https://qiita.com/dem_kk/private/39bb718ea92126f3d6e7
##環境
* windows10
* flask2.0.2
* python3.8.10##画像の表示
下記のようなファイル階層にしています。htmlファイルを利用して画像を読み込むため、templatesの下にimageディレクトリを作成しています。
“`html
directory/
|__flask~~.py
|__templates/
|__index.html
|__images/
|__~~.png
“`画像を読み込むときは、パスをきちんと通さないといけないとのことで、imgで設定しています。
“`html:index.html
【Colab / Python】気象庁API – 気象データの収集
本記事は[マイナビ Advent Calendar 2021](https://qiita.com/advent-calendar/2021/mynavi) の11日目の記事になります。
## 本記事を読んで欲しい方
– 気象データの収集をしたい方
– Python or GASを利用しデータの収集をしたい方## 目次
1. [はじめに](#はじめに)
2. [データ収集前の確認事項](#データ収集前の確認事項)
3. [対象の気象データ](#対象の気象データ)
4. [実行環境](#実行環境)
5. [ソースコード](#ソースコード)## はじめに
弊社のアドベントカレンダーへの投稿 & Qiitaへの投稿をさせて頂くのは今回で2回目になります。
不慣れな部分もあるかと思いますが温かい目でご覧に頂けますと幸いです。今回、この記事の執筆に至った経緯としては、今年(2021年)の2月16日にあった気象庁ホームページのリニューアルになります。
以前私はリニューアル前の気象庁のホームページに対しスクレイピングを行い、気象データを収集して翌日の天気をLINEやSlackへ通知す
私が最近チョコチョコっとつくったSlackアプリのソースコードを全文掲載 (2021/12/11)
https://qiita.com/advent-calendar/2021/slack
2021/12/11(土)の回です。
# はじめに
[Slack](https://slack.com/)を楽しんでいますか:bangbang::bangbang::bangbang:
「[Bolt 入門ガイド(Bolt for Python)](https://slack.dev/bolt-python/ja-jp/tutorial/getting-started)」わかりやすい! です。
ここの通りにやることで例の**完全理解**[^1]に容易に到達できます。SDKは他に[Bolt for JavaScript](https://github.com/SlackAPI/bolt-js)、[Bolt for Java](https://github.com/slackapi/java-slack-sdk)とありまして、私はなんとな〜く[Bolt for Python](https://github.com/SlackAPI/bolt-python)に飛びつきました。
[^1]: ht
PyCaretまかせで回帰分析してみた
この記事はエイチーム引越し侍 / エイチームコネクトの社員による、[Ateam Hikkoshi samurai Inc.× Ateam Connect Inc. Advent Calendar 2021](https://qiita.com/advent-calendar/2021/hikkoshizamurai-connect) 11日目の記事です。
本日の担当は@m-otsukaです。
# 1 はじめに
個人的に興味のあったPyCaretを試してみました。
PyCaretは、オープンソースの機械学習ライブラリーで、ローコードでモデル作成が行えることが特徴です。今回は、**なるべく複雑な設定などは行わずPyCaretまかせ**にして、どれくらいの精度のモデルを作成することができるのか、調べてみます。
## 1.1 学習データ
今回、学習用データとして、kaggleのコンペティション[House Prices – Advanced Regression Techniques](https://www.kaggle.com/c/house-prices-advanced-re
alembicのmigrationでDB情報を環境変数から取得できるようにする備忘録
プライベートで作成しているアプリケーションのmigrationツールとしてalembicを利用しています。
migrationのDB情報を環境変数で取得できると便利だなぁと考えてやってみたので備忘録として記事を書きました。# 環境の確認と準備
“`bash
$ python -V
Python 3.9.4
$ pip freeze | grep alembic
alembic==1.6.5
“`“`bash
$ alembic init testalembic
$ tree
.
├── alembic.ini
└── testalembic
├── README
├── env.py
├── script.py.mako
└── versions
“`今回DBはMariadb 10.5.10を利用します。
# alembic.iniの修正
`alembic init` した際に alembic.ini が作成されて、alembic initファイルには`sqlalchemy.url`セクションが存在します。
“`
sqla
DataflowのストリーミングJOBをデプロイするときの無限ループの回避
Apache BeamのJobをCloud Dataflowにデプロイするために、以下のようなコマンドを使うことができます。
“`sh
python -m apache_beam.examples.wordcount –input gs://dataflow-samples/shakespeare/kinglear.txt \
–output gs:///counts \
–runner DataflowRunner \
–project your-gcp-project \
–region your-gcp-region \
–te
手を抜いたプログラム
## Long, long ago.
プログラムはあくまで手段だ、大事なのはいかに人間の「業務」を達成するかだ、等と存在を軽視したかのような時代がありました。
## 一方
プログラムそのものが実は人間の「業務」を「いかに為すか」です。
https://qiita.com/chikuwaespresso/items/55fbde95db7ff308e5eb
https://note.nkmk.me/python-str-remove-strip/
にそのままヒントを得まして手を抜いたプログラムを書きました。
### 出力
“`
root@0230359a1b81:~/opt# python3 te.py
1: パソコンで文章を書いいると、手書きに比べどこか心が込もっいないと感じることはないでしょうか
2: パソコンで文章を書いいると、手書きに比べどこか心が込もっいないと感じることはないでしょうか
3: パソコンで文章を書いいると、手書きに比べどこか心が込もっいないと感じることはないでしょうか
4: パソコンで文章を書いいると、書きに比べどこか心が込もっいないと感じること
データエンジニア界隈で話題のdbt(data build tool)のまとめ
## 概要
データエンジニア界隈で話題となってきたdbtに関する調査内容を共有します。
OSS版のdbtでも機能が充実しており、データエンジニアの方には一部の機能の利用だけでも価値があるツールです。必要に応じて、この記事を更新します。
## dbt(Data Build Tool)とは
dbtとはData Build Toolの略であり、dbt Labs社が開発しているデータ連携のELTにおけるT(データストア内でのデータ変換)の実施をサポートするツールです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/540211b8-3883-89ec-edff-7320fc774028.png)機能をざっくり整理すると下記のものがあり、SQL文のコンポーネント化やドキュメントの自動生成に特異性があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/555a
PythonでBurp Suite拡張機能の作り方
脆弱性診断で使用しているBurp Suiteの拡張機能の作り方を簡単にメモしたいと思います。
## 環境構築
Pythonで拡張機能を使用するには、Javaで実装されたスクリプト言語のJythonをBurpに設定する必要があります。
1. [公式サイト](https://www.jython.org/download)からJython Standaloneをダウンロードします
1. Burpの Extender > Options > Python Environment を表示します
1. Location of Jython standalone jar file にダウンロードしたJythonのjarファイルのパスを指定しますこれでPythonで書かれた拡張機能を使用できるようになります。
## 作り方
Burp拡張機能のサンプルは [Burp Suite Extensibility](https://portswigger.net/burp/extender) で公開されています。
後は [Burp Extender API](https://portswigge
ダッシュボード作成ライブラリPanelのウィジェット紹介 ~出力系編~
# はじめに
以前、Jupyter上にダッシュボードを作成できるPanelというライブラリを紹介しました。
⇒ [”エコ”にダッシュボードをつくろう ~Panelライブラリの紹介~](https://qiita.com/hisakichi95/items/717b0c78c00a9de9bd5a)
学習コストが少ないというのが特徴のライブラリですが、各ウィジェットのオプション設定は色々調べないと分からないようなものも多数ありました。後学のため整理しておきます。今回は主に**処理した結果を画面表示するといった出力系ウィジェット**についてまとめます。
ちなみに入力系ウィジェットはコチラ↓
[ダッシュボード作成ライブラリPanelのウィジェット紹介 ~入力系編~](https://qiita.com/hisakichi95/items/fb3a12338d5cc8911f76)特に入力系ウィジェットと区別する必要もないのですが、以下パネルと呼びます。
出力系のパネルは基本`pn.pane.~()`でインスタンスを生成します。## 共通
Panelを扱うには、pipなどでpa
今からでも遅くない pyATS でネットワーク自動化入門 2021版
この記事はシスコの有志による Cisco Systems Japan Advent Calendar 2021 1枚目の 11 日目として投稿しています。
2021年版: https://qiita.com/advent-calendar/2021/cisco (<<<) 2021年版(2枚目): https://https://qiita.com/advent-calendar/2021/cisco2 2020年版: https://qiita.com/advent-calendar/2020/cisco 2020年版(2枚目): https://qiita.com/advent-calendar/2020/cisco2 2019年版: https://qiita.com/advent-calendar/2019/cisco 2018年版: https://qiita.com/advent-calendar/2018/cisco 2017年版: https://qiita.com/advent-calendar/2017/cisco # はじめに pyATS 開発チームに所属す
【覚書】Pythonのバージョン管理について
# はじめに
今回は、Pythonで躓きやすいバージョン管理について、覚書を兼ねて解説(?)します。
使いやすい方法は人によって変わってくると思いますので、いろいろな方法を試していただければと思います。Pythonでは、複数バージョンをインストールして、切り替えながら使うということが少し複雑になっています。メジャーバージョン(2系・3系)同士では動くのですが、マイナーバージョンを複数インストールすると思ったように動かないことが多々あります。そんなときに、使える方法をご紹介します。
なお、[こちら](https://wisteria-yt.blogspot.com/2021/08/python.html “Pythonのバージョン管理について(覚え書き)”)のリメイク版となります。
# 方法
ここからはWindowsとmacOSに分けてそれぞれのおすすめの方法をご紹介します。Windowsの方は[こちら](#pythonランチャー–venv-windows)、macOSの方は[こちら](#pyenv–venv-macos)からご覧ください。## Pythonランチャー ×
【Python】GiNZA+SudachiPyを使ってテキスト内の品詞出現頻度を解析してみた
この記事は [ZOZO #3 Advent Calendar 2021](https://qiita.com/advent-calendar/2021/zozo) 11日目の記事になります。
# はじめに
文章中に存在する品詞の頻度数を見てみたいと思い、実現方法を調べたところGiNZAとSudachiPyの組み合わせが環境構築と実装の面でも簡単そうでした。本記事では、**品詞の頻度解析の実装方法**と大量のテキストを処理する上で問題となっていた**処理時間の高速化方法**をあわせて紹介したいと思います。
# 最終的に出来ること
下記のようなワードがあったとき“`csv:input.csv
ナイロンっぽいトップス
渡せるフラワー
ピスタチオカラー
ロング
オシャレなブーツ
腕時計
セール対象商品
…
“`これらのワードをGiNZAとSudachiPyを使ったプログラムで解析し、下記のように結果を返します。
※ サンプルで用意したこれらのワードは自作したものです。#### 形態素解析結果
“`csv
keyword,token_pos
赤い靴下,赤い:ADJ
CloudWatch Logsのログ取得で空が返ってくることがあるっていう仕様
# 概要
CloudWatch Logsのログ取得で、AWS上にログが存在しているにもかかわらず空の情報が返ってくることがあり、その理由を調べた結果そういった仕様であったという話。# ログがあっても空が返ってくることがある
CloudWatch Logsの特定のログストリーム内の、指定期間内のログを取得する処理を、boto3を使ってPythonで作ったものがある。ある日、ログストリーム内に対象のログがあるのに取得されないということがあった。
いろいろ調査していると、利用しているAPI ( `get_log_events` ) のドキュメントで以下の説明を見つけた。
>This operation can return empty results while there are more log events available through the token.
>引用 : https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/logs.html#CloudWatchLogs
PythonのSelenuimを用いてアカウントログイン
#はじめに
この記事ではPythonのSeleniumを使用してQiitaのアカウントにログインしようと思います。
##開発環境
macOS BigSur Ver11.6
Python2.7.18
VisualStudioCode 1.58.2
##事前準備
まずSeleniumが必要なためpipを使用しインストールしてください。“`terminal:terminal
pip3 install selenium
“`
次に[ChromeDriver](https://chromedriver.chromium.org/downloads)をインストールします。これはスクレイピングの際に使用するものです。Chromeの種のような感じです。#開発
まずQiitaのログインは https://qiita.com/login?redirect_to=%2F から行うことができます。以下の手順となります。
1,メールアドレスを入力
2,パスワードを入力
3,ログインを押す
これをseleniumを使用し再現します。“`python:login.py
from selenium
Pythonのdatetime比較でハマった話
# この記事について
唐突ですが、[以前作成した社内ボット](https://qiita.com/Hiroki1928/items/e3e18636c1da955023f1)が動かなくなりました。。。
原因を調べてみると、Pythonのdatetime型の比較処理が原因だったので、まとめてみました。# 修正の変遷
– get_atom関数を実行してみるとこのようなエラーが出ました。“`
>python main.py
Traceback (most recent call last):
File “main.py”, line 36, in
main()
File “main.py”, line 14, in main
msg_arr = atom.get_atom()
File “C:\Users\XXX\Documents\XXX\slack-qiita-bot\bot\atom.py”, line 21, in get_atom
tdatetime = dt.strptime(d_atom[‘entries’][i]