- 1. [記事紹介] PythonのWhoisライブラリの闇
- 2. Visualising intersection-over-union relationship via Venn Diagrams
- 3. Pythonによる統計分析を応用した実践レシピ 20本ノック
- 4. 【Sphinx拡張】索引と用語集のかな文字対応
- 5. 【Python】PyPI登録のコツ
- 6. Python(Flask)とA3RT Talk APIを使ってLINEのチャットボットを作る
- 7. Slack-sdk準備編(slack-sdkインストールとbotの準備)
- 8. Slack-sdkから新しい投稿をする
- 9. Python 色認識
- 10. ABC199 C – IPFL が解けた
- 11. Slack Bolt for Pythonを使ったBot作成のハマりどころ
- 12. Bolt+CDK+PythonでSlackBotを作る
- 13. Web サービスのサーバー構築で躓いたところ(日本語を表示)
- 14. mecab-python で no such file or directory: c:\mecab\mecabrc
- 15. Pythonを用いてツイートデータからWord Cloudの作成
- 16. [Python]Page Object Modelパターンを用いたPlaywright E2Eテスト記述方法 メモ
- 17. 【python】内包表記について①(リストと辞書)[py_01_20210927]
- 18. 自動で多種多様な質問を生成できるオープンソースライブラリ「Questgen」を試してみる。
- 19. PyCaretを使ったデータ前処理の自動化
- 20. atcoderで入緑したのでやったことをまとめる
[記事紹介] PythonのWhoisライブラリの闇
@qualitia_cdevの中の一人、@hirachanさんが書いた記事をみなさまにご紹介します。
### PythonのWhoisライブラリの闇
https://qiita.com/hirachan/items/6787cb146838aade2d56
Visualising intersection-over-union relationship via Venn Diagrams
In my work, I sometimes have to explain how certain datasets changed over time. For example, recently I had to crawl the portion of [OSM dataset](https://planet.openstreetmap.org/) containing the data related to Japan, and upload it to BigQuery. The last time this task was done in our company, was around three years ago, and by a different method. So, naturally, the resulting set turned out to be a bit different, with some roads present only in recently created dataset, some present only in orig
Pythonによる統計分析を応用した実践レシピ 20本ノック
# はじめに
Axrossの広報を担当している松田です。
**[Axross](https://axross-recipe.com/recipes)** は、エンジニアの”教育”と”実務”のギャップに着目し、「学んだが活用できない人を減らしたい」という想いで、ソフトバンク社内起業制度にて立ち上げたサービスです。
現役エンジニアによる実践ノウハウが”レシピ”として教材化されており、Pythonプログラミングを活用して実際の業務に近いテーマで、動くものを作りながら学ぶことができます。
「AIを学ぶために勉強する」や「Pythonプログラミングを勉強する」ではなく、「何か具体的な目的を成し遂げるために、テーマを持ってAIを勉強できる」点が特長です。AIを中心にしたテーマで、様々な業務やビジネスの課題解決に応用できる実践的な学習教材を200以上揃えています。(2021年9月時点)
Axross:https://axross-recipe.com
公式Twitter:https://twitter.com/Axross_SBiv最近は受講者の皆様から『AI・Pythonの実践的な教
【Sphinx拡張】索引と用語集のかな文字対応
#~開発者向けのアレコレ雑記~
次の記事は利用者向けとして、こちらは開発者向けの記事。
https://qiita.com/koKekkoh/items/4563b63fdb8eaa3ef4f9
※と言っても、要点は全てdocstringに書いてあります。
###?開発環境
– Windows10/cygwin64
– pip 21.2.4
– Sphinx 4.2.0 (当時は4.1.2)#1.きっかけ
書き貯めたreSTファイルの量が増えて来て、それぞれのファイルにある情報を繋げたり、横断的に渡り歩きたいと考えるようになりました。
「Sphinx 索引 日本語」で探して見つけたページで紹介されていたのが「Yogsyu(用語集)」でした。
https://qiita.com/koKekkoh/items/e7801c0e567c4f41dbe5
この時は気づいていませんでしたが、“.. glossary::“ でのソート機能はあくまでも同じディレクティブ内に留まります。索引ページとは別です。
そのままでは使えずエラーには対処したのですが、索引では思う通りに
【Python】PyPI登録のコツ
#~sphinxcontrib.xxxの場合~
“pypi“ を「ぱいぱい」と読んでしまうのは私だけでしょうか…
#1.はじめに
人生初めてのPyPi登録を果たしました。梃子摺った点を中心に、PyPi登録の勘所を紹介します。
###登録内容の特徴
– pythonコードのみ
– site-packages以下にあればよく、etc, binにコピーする必要はない
– site-pakcages直下ではなく、site-packages/sphinxcontrib以下に登録したい#2.コツの一覧
###?バージョン表記
我流のバージョン表記で登録しようとしたら早速注意されました。PEP440ですが、こちらの記事がわかりやすいです。
https://zenn.dev/shinsa82/articles/pep-440-overview
これを押さえた上での私の流儀。
– “x.y.z“
– “x“ とりあえず最初は0
– “y“ 機能追加なりの仕様の変更
– “x“ 不具合の修正
– “0.16.9“ 「現在の版」の例とし
Python(Flask)とA3RT Talk APIを使ってLINEのチャットボットを作る
##概要
FlaskとMessaging API、あとリクルートが無料で配布しているA3RT Talk APIを使用して、LINEのチャットボットを作成しました。“`tex:各種キーを.envファイルに設定する(gitignoreする事)
A3RT_API_KEY = XXXXXXXXXXXXXXXXXXXX
CHANNEL_ACCESS_KEY = XXXXXXXXXXXXXXXXXXXX
CHANNEL_SECRET_KEY = XXXXXXXXXXXXXXXXXXXX
“`##実装
###各種API KEYの発行
A3RT Talk API
https://a3rt.recruit-tech.co.jp/product/talkAPI/LINE Developers
Messaging API
https://developers.line.biz/ja/###各モジュールをインストール
“`
pip install python-dotenv
pip install flask
pip install flask_ngrok
pip insta
Slack-sdk準備編(slack-sdkインストールとbotの準備)
この記事ではSlack-sdkのインストール方法を説明します。
pipとcondaの両方の方法がありますが、いずれも多くのライブラリ同様に1行コマンドを叩くだけで実行されるので特に難所はありません!# Slack-sdkのインストール
### 必要な環境
– Python 3.6以上
以上### pipでインストールする
“`
pip install slack_sdk
“`
[公式Git](https://github.com/slackapi/python-slack-sdk#installation)ではpipを利用してインストールするように指定されています。### condaでインストールする
“`
conda install -c conda-forge slack-sdk
“`
公式ではpipが推奨されていますが、自分はAnaconda環境使っていてpipしたくないという人もいるでしょう。そういった人も安心してください。conda-forgeに準備があるためこちらのコマンドを利用することでcondaでインストールできます。
筆者もこちらで実施しまし
Slack-sdkから新しい投稿をする
# 環境変数を設定する
実コードを作成していく前に、環境変数にappのトークンを登録します。1. スラックのアプリ設定ページのOAuth&Permissionsのページ最上部の__Tokens for Your workspace__の__Bot User OAuth Access Token__にトークンが発行されていているのでコピーします。
1. 自分の環境変数に追加します。以上で環境変数の設定は終了です。
#投稿する
それでは早速投稿していきます。コードは下記のとおりです。“`Python
from slack_sdk import WebClientclient = WebClient(token=os.environ[‘SLACK_BOT_TOKEN’])
client.chat_postMessage(channel=’#random’, text=”Hello world!”)
“`
– 1行目
– ライブラリのインポート– 2行目
– 投稿先の設定のためのおまじない。
– 上で設定した環境変数の登録先にパスが通っていない
Python 色認識
### メモ
個人的に残しておきたいリンクを貼っているだけです.https://ichi.pro/python-de-iro-ninshiki-kino-o-kochikusuru-78631720658006
ABC199 C – IPFL が解けた
https://atcoder.jp/contests/abc199/tasks/abc199_c
![abc199_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/737344/1bd34349-9639-9b9a-0035-1fb9264ba390.png)
![abc199_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/737344/9b69cd8e-08d0-2e9a-bb45-843595afaa9c.png)
![abc199_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/737344/838f30b3-e9b0-753d-72d5-5ff8e15fc080.png)出来たが、WA x2 を引いてしまった。
“`IPFL.py
n = int(input())
S = input()
front = lis
Slack Bolt for Pythonを使ったBot作成のハマりどころ
色々とやってきた中で、ちゃんとドキュメント読めばわかるけど、なんとなくで実装してるとハマっちゃうよねというネタをちょこちょこと追加していくページ
## ログに何も流れてこないとき
スコープの理解が浅いときに起こりがちな奴。
コード的には問題なくても、スコープが適切に振られていないと全くデータを読み取れません。
[この部分](https://github.com/geeorgey/vue_flask_template/blob/8ded48898c7cda79bc8743f29984859f59e6a1c4/.env#L12)をしっかりと設定してから、インストールしましょう。自社アプリの場合は管理画面インストールしてしまうので意識する必要ほとんどないのですが、他のワークスペースへのインストールができる様な実装にするときちんと実装しないと動きません。
スコープ自体はアプリ管理画面のここで追加します。
![Slack_API__Applications___Leave_a_Nest_Co__ltd__Slack.png](https://qiita-image-store.s3.ap
Bolt+CDK+PythonでSlackBotを作る
# この記事はなに?
前回こんな記事を書きました。
https://qiita.com/sisii00/items/4e82d672b0ed63abfc7d
そして、このまえBoltのコードを読んでたらずっとシンプルに作れることがわかったので記事にしました、という話です?
# 使うライブラリー
– [AWS CDK](https://aws.amazon.com/jp/cdk/)
– [Bolt](https://github.com/slackapi/bolt-python)# 実際のコードはこんな感じ
## Stack側
“`python:app.py
import osfrom aws_cdk import core
from aws_cdk.aws_apigateway import LambdaIntegration, RestApi
from aws_cdk.aws_lambda import Runtime
from aws_cdk.aws_lambda_python import PythonFunctionclass CdkBoltHell
Web サービスのサーバー構築で躓いたところ(日本語を表示)
#日本語出力
これ、本当につまづきました…
Hello,Worldは英語なので問題なかったのですが、
こんにちはと出力させるのが大変でした…#失敗したコード
教本にあるのをそのままコピーしたのですが、全然ダメでした
改行を変えたり、属性を変えてもダメで…“`python
#!/usr/local/bin/pythonimport sys
sys.stdin = open(sys.stdin.fileno(), ‘r’,
encoding=’UTF-8′)
sys.stdout = open(sys.stdout.fileno(), ‘w’,
encoding=’UTF-8′)
sys.stderr = open(sys.stderr.fileno(), ‘w’,
encoding=’UTF-8′)print(“Content-Type: text/html; charset=UTF-8”)
print(“”)print(“
“)
pri
mecab-python で no such file or directory: c:\mecab\mecabrc
# 発生事象
以下のようなスクリプトを書いて実行。
“`python:sample.py
import MeCabmecab = MeCab.Tagger()
sent = “プログラミングスクール詐欺に騙されないための教育って何が必要なんだろう?”
print(mecab.parse(sent))
“`実行時に以下のエラーが出て止まってしまう。
> [ifs] no such file or directory: c:\mecab\mecabrc
# 環境
* Python 3.9.6
* mecab-python 1.0.0
* mecab-python3 1.0.4※mecab-pythonをインストールすると依存関係でmecab-python3がインストールされるので、`pip install mecab-python`だけでOK。
# 原因・対策
このエラーメッセージだとさっぱりわからないが、辞書がインストールされていないために出ているエラー。
辞書をインストールする必要がある。“`
pip i
Pythonを用いてツイートデータからWord Cloudの作成
# はじめに
Twitterのデータを取得し,Word Cloudを作成することで,そのアカウントがどのようなツイートをしているのかを可視化します.# 開発環境
– macOS
– Python 3.9.2# 事前準備
ツイートのデータを取得する際にTwitter APIを使用するため,[APIを取得](https://www.torikun.com/entry/twitter-developer-api/)しておきます.# ツイートデータの取得
はじめに必要なライブラリをインストールします.“`
pip install requests-oauthlib
pip install janome
pip install wordcloud
pip install emoji –upgrade
pip install python-dotenv
“`次に,Twitter APIキーを環境変数に設定します.APIキーをソースコード中に直に記述するのは良くないため,環境変数に設定します.「[.env](https://qiita.com/harukikaneko/i
[Python]Page Object Modelパターンを用いたPlaywright E2Eテスト記述方法 メモ
* Page Object Modelパターンを利用して、PlaywrightでE2Eテストを記述する方法についてメモしておく。
* Google検索を行い、検索結果を確認するテスト([過去にSeleniumで書いた内容](https://qiita.com/KWS_0901/items/9afd8f70c9f863436432))をPlaywrightで書いてみる。## POM(Page Object Model)とは
* ページをクラスオブジェクトとして扱うブラウザ自動化テストのデザインパターンの一つ。
* 主な概念
* テストクラス:対象ページのテストケース。
* ページオブジェクト
* 各Webページオブジェクトを作成することを目的としたクラス。
* テスト用コードとWebページアクセス用コードを分離。
* ロケータ:ページ要素を取得させる。* 利点
* 可読性の高いテストケースを書くことができる。
* 複数のテストケース間で共有できる再利用可能なコードを作ることができる※コード重複を防ぐことができる。##
【python】内包表記について①(リストと辞書)[py_01_20210927]
###はじめに
pythonではリストの作成などの繰り返し処理を1行で表現できます。###実行環境
pycharm 2021.2(python3.10)###コード1
加算した数値の乗算したリストを作成します。通常の書き方と内包表記の違いを見ていきます。“`python
l = []
for i in range(1, 11):
l.append(i ** 2)
print(l)
実行結果>>>[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
“`内包表記の例
“`python
[i ** 2 for i in range(1, 11)]
“`#####一応解説
rangeメソッドを使用してリストを作成。
内包表記では操作対象のリストを表す変数、また、appendメソッドを書くことなく、繰り返し対象とリストに追加される内容を記述するだけでリストを作成することができます。###コード2
リストを組み合わせて辞書を作成します。“`pytho
自動で多種多様な質問を生成できるオープンソースライブラリ「Questgen」を試してみる。
#1. 概要
自動で作問ができる方法をインターネットで調べていたところ、__「Questgen」__というオープンソースライブラリを見つけました。【参照記事】
__・[Questgen – An open source NLP library for Question generation algorithms.](https://towardsdatascience.com/questgen-an-open-source-nlp-library-for-question-generation-algorithms-1e18067fcdc6)__
__・[Questgen](https://questgen.ai/)__【GithHub】
__・[Questgen AI](https://github.com/ramsrigouthamg/Questgen.ai)__記事を読んでみると、__Google Colaboratory__ で簡単に利用できるということだったので実際に利用してみました。
利用した結果、__様々な出題形式__かつ__高精度__な問題文を生成すること
PyCaretを使ったデータ前処理の自動化
# はじめに
+ PyCaretは僅かなコーディングで機械学習ができるライブラリです。
+ 非常に便利なライブラリですが、TensorFlowやPyTorchのようなニューラルネットワークモデルには対応していません(scikit-learnのMLPは実装可能)。
+ 本稿ではPycaretを前処理用ツールとして使い、ニューラルネットワークモデル(TabNet)を構築する手法を紹介します。# 前処理の自動化
PyCaretの基本的な使い方は割愛します。
初めて使う方は以下の記事を参照ください。https://qiita.com/shuhigashi/items/0fb37468e64c76f4b245
https://qiita.com/Asagumo63/items/99357d4b472a9219040e
https://qiita.com/tomiyou/items/e1842775e7aaee04ada3
※環境はgoogle colaboratoryで実行しています。
今回はボストン不動産価格データを使います。
from pyca
atcoderで入緑したのでやったことをまとめる
自分はpython3(PyPy)を主に使用して競技プログラミングをしています。またAtcoderClans等の拡張機能はGoogle ChromeのTamper Monkeyを用いております。
1年以上かかって入緑しました!
緑がどれくらいの指標なのかはchokudaiさんの[記事](https://chokudai.hatenablog.com/entry/2019/02/11/155904)を見て下さい。![atcoderprofile2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/942938/65974d5a-8ba4-4292-00b3-0a3436da8f83.png)
#1.atcoder(競プロ)のメリット
####人のコードを読む癖ができる
自分は大学でDeepLearning関係の研究をし始めたところですが、github等に載っている他者のコードを読む際に同じゼミの人は苦労してたりするのでやっててよかったとつくづく感じます。競プロを始めたからDeepLerning等に