- 1. 「新・明解Pythonで学ぶアルゴリズムとデータ構造」で勉強日記#24
- 2. 現役エンジニアがプログラミング学習サービス「Progate」のおすすめコンテンツを5つ+α厳選してみた
- 3. [py2rb] zip
- 4. Selenium を使わずに、Actions リクエストを送る
- 5. オイラーのφ関数とユークリッドの互除法
- 6. dockerでデータ分析用のjupyterlab環境をすばやく構築
- 7. [Ansible] 既に入ってるのに”ERROR! The ec2 dynamic inventory plugin requires boto3 and botocore.”と言われたときの対処方法。
- 8. AWS Cloudformationファイルを元にIAM Policyを生成する
- 9. ロジスティック回帰によるスパムフィルタの実装と入出力確認
- 10. [Pokémon LEGENDS アルセウス] 時空の歪みをpythonで自動検知・Discordに通知
- 11. AtCoder ABC241 B – Pasta 最大流やmapや総当たりで解いたり、unordered_mapは気を付けないと検証したり
- 12. BlenderでカメラからISBNを読みとり書影画像を作成する
- 13. 【個人開発】Python+Seleniumでソーラーパネルの原価償却を自動集計
- 14. マスク着用有無認識アプリ with Swift
- 15. Music Transformerで自動作曲してみる
- 16. # 画像処理 エッジ検出器(1)
- 17. 予測値の95%信頼区間をどうやって求めるか
- 18. BLF のダンプを取ってみた
- 19. 【Ansible Tower×python】requestsモジュールでWorkflowの実行状況を確認したい
- 20. 【初心者】IBM Cloud FoundryでのFlaskアプリのデプロイがHerokuより簡単だった
「新・明解Pythonで学ぶアルゴリズムとデータ構造」で勉強日記#24
【出典】[「新・明解Pythonで学ぶアルゴリズムとデータ構造」](https://www.amazon.co.jp/%E6%96%B0%E3%83%BB%E6%98%8E%E8%A7%A3Python%E3%81%A7%E5%AD%A6%E3%81%B6%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0%E3%81%A8%E3%83%87%E3%83%BC%E3%82%BF%E6%A7%8B%E9%80%A0-%E6%96%B0%E3%83%BB%E6%98%8E%E8%A7%A3%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E6%9F%B4%E7%94%B0%E6%9C%9B%E6%B4%8B/dp/4815603197/ref=sr_1_2?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=1BG3JS7CKMZA0&keywords=Python%E3%81%A7%E5%AD%A6%E3%81%B6%E3%82%A2%E3%83%AB%
現役エンジニアがプログラミング学習サービス「Progate」のおすすめコンテンツを5つ+α厳選してみた
# 読んで欲しい方
– プログラミングでも始めてみようかな、と思っている方
– できれば無料で勉強したいと思っている方
– 何から始めたら良いかワカンネ状態の方# Progateとは?
> Progateはオンラインプログラミング学習サービスです。「初心者から、創れる人を生み出す」ことが、私たちの理念です。[公式サイト](https://prog-8.com/)より
# なぜProgateなのか?
イラストを使った説明がわかりやすく、迷わない!
文系出身の自分でも挫折することなく、おかげさまで「創れる人」になりました!
Progateさん、ありがとう!!謝謝!!# おすすめコンテンツ一覧 (言語別コース編から厳選)
では、さっそく!
おすすめコンテンツは以下になります。* JavaScript
* Python
* Command Line
* SQL
* Git5つ上げていますが、**プログラミング言語** と **その他**に分けられます。
## プログラミング言語
* JavaScript
* Python## その他
* Command Line
[py2rb] zip
# はじめに
移植やってます。
( from python 3.7 to ruby 2.7 )
# zip (Python)
“`python
import numpy as npx = np.array([1, 2, 3])
y = np.array([4, 5, 6])for a, b in zip(x, y):
print(a, b)# output
1 4
2 5
3 6
“`
何の変哲もないように思われますが、pythonとnumpyの親密さが伺い知れます。
# 失敗(Ruby)
“`ruby
require ‘numpy’x = Numpy.array([1, 2, 3])
y = Numpy.array([4, 5, 6])x.zip(y).each do |a, b|
p [a, b]
end# output
undefined method `zip’ for array([1, 2, 3]):Numpy::NDArray (NoMethodError)
“`
`PyCall`経由とはいえエラーになります。
# 成功(Rub
Selenium を使わずに、Actions リクエストを送る
# Actions とは?
Actions コマンドは、WebDriver を使ってブラウザにローレベルアクセスをするための機能です。
オブジェクトをダブルクリックしたいとか、右クリックしたいとか、あるキーを押しながら左クリックしたい、と言う時に使用します。
「ctrl」キーを押しながら、リンクを左クリックして、新しいタブでリンク先ページを開く、という操作を例に、サンプルを提示します。
なお、対象ブラウザは Edge および Chrome です。
## Python & Selenium での、Actions の使い方
“`python:Actions の使い方
driver = webdriver.Edge(r”C:\Users\〇〇\Downloads\edgedriver_win64\msedgedriver.exe”)
# 中略
actions = ActionChains(driver) # Actionsオブジェクトの生成
actions.key_down(Keys.CONTROL) # ctrlキー押下
actions.cli
オイラーのφ関数とユークリッドの互除法
“`python:最大公約数(ユークリッドの互除法)
gcd = lambda m, n: n and gcd(n, m % n) or m
“`“`python:オイラーのφ関数
eulerphi = lambda n: sum(int(gcd(m + 1, n) == 1) for m in range(n))
“`“`python:テスト
>>> [eulerphi(n+1) for n in range(16)]
[1, 1, 2, 2, 4, 2, 6, 4, 6, 4, 10, 4, 12, 6, 8, 8]
“`
dockerでデータ分析用のjupyterlab環境をすばやく構築
# この記事について
– 研究やデータ分析を目的としたjupyterlab環境の構築方法について紹介します。
– dockerを利用しますが詳しい知識がなくてもとりあえず動かせるはずです。
– 環境はWindowsもしくはUbuntuを前提にして進めます。# 構築する環境の特徴
– とりあえず解析できる環境をすぐに構築したい
– ローカル環境を汚さない
– numpyなど基本的な拡張モジュールが導入済み
– python、julia、Rが使える# 手順
## windowsの場合はwslをインストール
windows10の場合wsl2が必要になるので各自で用意して下さい。詳細は[公式ページ](https://docs.microsoft.com/ja-jp/windows/wsl/install)を参照して下さい。
windows11ではpowershellを開いて“`wsl –install“`で簡単にインストールできます。## dockerをインストール
### windowsの場合
[Docker Desktop on Windows 公式ページ](https:
[Ansible] 既に入ってるのに”ERROR! The ec2 dynamic inventory plugin requires boto3 and botocore.”と言われたときの対処方法。
# はじめに
`aws_ec2`インベントリプラグインを使いたくて、boto3とbotocoreをインストール。
https://docs.ansible.com/ansible/latest/collections/amazon/aws/aws_ec2_inventory.html
“`
$ pip install boto3 botocore # boto3とbotocoreをインストール
“`いざansibleコマンドをすると、以下のようなことを言われる。
“`
ERROR! The ec2 dynamic inventory plugin requires boto3 and botocore.
“`boto3とbotocoreをインストールしろとのこと。
ええ……。# 解決方
yumでboto3をインストールします。
“`
$ sudo yum install python-boto3
“`botocoreに関してはインストールしなくても大丈夫です。
以下を実行しても、「既に入ってるぜ?」と言われます。どっちだよ。“`
$ sud
AWS Cloudformationファイルを元にIAM Policyを生成する
# はじめに
AWSログインユーザに払い出す権限は最小権限であるべき。
しかしながら、Cloudformationでは様々なリソースを一気に作る関係上必要最小限のIAMポリシーが分からない。
最小権限を調査する方法としては[IAM Access Analyzer](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/what-is-access-analyzer.html)を利用する。
この時、一時的にでもAdmin権限を渡してCloudTrailログを解析することになる。本記事はセキュリティ管理者に権限を申請する際、何の権限が必要なのかを調べようとしたときそのポリシーの種類と情報量に圧倒された人向けである。
# TL;DL
[cfn-giam](https://pypi.org/project/cfngiam/)を利用する
**note: 筆者作成ツールであり、2022/03/01時点でデバッグ未完了。フィードバック募集中。**1. AWS CLI実行可能環境を用意する(CloudShellやaws configur
ロジスティック回帰によるスパムフィルタの実装と入出力確認
正解付きスパムメッセージの学習データを用いて、回帰による2値分類の学習済みモデルを作成しその性能評価を行う。作成した学習済みモデルをスパムフィルタとして、実際に文書を入力し判定結果を出力するまで試みた。
# 実行環境
今回使用する環境は以下とする(Google Colab上でも動作確認済み)
以下はあくまで環境紹介のためのコードであり、本投稿記事の実装内容には不要なコードとなります。“`python
import numpy as np
import pandas as pd
import platform
import nltk
import sklearnprint(f’python : {platform.python_version()}’)
print(f’numpy : {np.__version__}’)
print(f’pandas : {pd.__version__}’)
print(f’nltk : {nltk.__version__}’)
print(f’scikit-learn : {sklearn.__version__}’)
“`
環境情報の出
[Pokémon LEGENDS アルセウス] 時空の歪みをpythonで自動検知・Discordに通知
## メニュー
* [初めに](#初めに)
* [実行画面のキャプチャ](#実行画面のキャプチャ)
* [環境](#環境)
* [プログラムの概要](#プログラムの概要)
* [ディレクトリ](#ディレクトリ)
* [ソースコード](#ソースコード)
* [参考文献](#参考文献)
# 初めに
`Pokémon LEGENDS アルセウス`では`時空の歪み`というイベントがあるのですが、発生条件がランダムであるためイベント発生までゲーム画面を注視する必要があります。
そこで、`python`で画像処理を行い`時空の歪み`を検知し`Discord`に通知を行うプログラムを作成しました。# 実行画面のキャプチャ
BlenderでカメラからISBNを読みとり書影画像を作成する
## カメラからISBNを読みとり書影画像を作成
コマンド1つで、以下のような書影画像を作成します。
対象の本は、カメラからISBNを読み取って認識します。
※ **カメラつきのmac**で確認しています。
## 準備
レンダリングはBlender3.0で行います。
「[Blenderのコマンドサンプル](https://qiita.com/SaitoTsutomu/items/6b70367455f843a979b1)」を参考に、`blender`コマンドと`blender_pip`コマンドを使えるようにしてください。コマンドプロンプトで、BlenderのPythonに下記のようにインストールします。
“`
blender_pip install -U requests openbd opencv-pyth
【個人開発】Python+Seleniumでソーラーパネルの原価償却を自動集計
# やりたいこと
自宅にソーラーパネルを設置して、専用のモニター([Aiseg2](https://www2.panasonic.biz/ls/densetsu/aiseg/aiseg2/))で発電量/売電量などをみれるのはよいが
ソーラーパネルが結局のところどれだけお金を生み出してくれているのかが分からないので、
自動集計するツールを作成する。# ソーラーパネル導入
在宅勤務が主になり、家にいる時間が長くなると家のことを考えるようになり、自宅関連の商品の売り上げが上がったそうだが
自分もまさにそれで、以前から気になっていたソーラーに手を出してしまいました。
3社相見積もりして一番安いところにお願いしました。
施工と営業を別会社で行っているところだと、お値段が倍近くになるのに驚きました。
取り付けてもらう側としては営業マージンなんて払うメリットないので、施工業者に直接お願いするのが良いですね。