- 1. マルウェア自衛のためのちょっとしたスクリプト
- 2. 暇だったのでカラオケ作ってみた(未完)
- 3. Pythonで螺旋本!螺旋本でPython!(14章〜)
- 4. 株価データ取得Tips
- 5. 一番シンプルなWindowsによるSpleeter使用方法
- 6. Pythonアルゴリズム
- 7. 競プロ精進日記31日目(7/25)
- 8. Pythonの高階関数と内包表記
- 9. 【Python】1行で1次元フーリエ変換する関数を書いたのでもっと洗練されたコードください
- 10. DeepRunning ~Level4.7~
- 11. 【Python】ModuleNotFoundError: No module named ‘urlparse’
- 12. 【Python】NameError: name ‘urlparse’ is not defined
- 13. PythonのURL結合にはos.path.joinではなくurlparse.urljoinを使う
- 14. pythonのrequestsでAPIGateWayをAPIKeyを使って呼び出す
- 15. 昼飯データベースを作りたい 【EP1】はじめてのDjango勉強編
- 16. AtCoder Beginner Contest 174 参戦記
- 17. バイバイ Python。 ハロー Julia!
- 18. 【Python】データサイエンス100本ノック(構造化データ加工編) 019 解説
- 19. プログラミング未経験者にPython教えてみた
- 20. Pythonで.zipの中の画像をPDFにする
マルウェア自衛のためのちょっとしたスクリプト
皆様、在宅ワーク万歳な日々を過ごしでしょうか?
先週は久々に現場に駆り出されましたが、
電車内はコロナ禍なんて嘘のような様子でしたコロナとは…:thinking:
# セキュリティ需要の高まり
それはさておき、在宅の増えた昨今では端末のセキュリティについて
考えることも増えたのではないかと思います。最近だとEMOTETなどのようなマルウェアなどのニュースを見聞きして
怖いなと警戒心が一時的に高まったりすることもあるかとおもいます。でも日時が立つとそんな警戒心なども薄れて、変なサイトにアクセスしてしまったり、
行きつけのサイトに変なものを埋め込まれたりする可能性も
無きにしも非ずです。そんなマルウェアが私たちの端末で悪さをするには
自動起動登録する必要があります。
なので、日々自動起動されるプログラムを確認することで、
うちに忍び込む不審な輩に気づくきっかけになったら…!![bouhan_camera_dorobou[1].png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/26065
暇だったのでカラオケ作ってみた(未完)
はじめに
—
初投稿です。なにか至らぬ点があるかもしれませんがご容赦ください。
誤字、脱字、質問、改善案等々ありましたら教えていただければ幸いです。全体の内容
—
###予定
– ボーカルをカットする
– 音の高さを表すグラフを表示する([DAM](https://www.clubdam.com/app/damStation/page.do?type=damstation&source=seimitsusaiten_dx&subType=dscontents)とかでよく見るやつ)
– 得点化
– ガイドボーカル(カットしたボーカルを薄く追加)###可能なら
– 歌詞が流れるやつ(良いAPIが見つからない…)
– 動画が流れる(Youtubeだと利用規約的に難しい… [TextAlive](https://textalive.jp/)の埋め込み?)
– ビブラート、こぶし等の音程以外の採点基準(正直違いが判らない)今回の内容
—
とりあえず必要なライブラリのインストール使用するライブラリ
– pyaudio
音声入力に使用
– pyworld
Pythonで螺旋本!螺旋本でPython!(14章〜)
#この記事は随時更新していきます。
#螺旋本(14章〜)
螺旋本(〜13章)は[こちら](https://qiita.com/merry1221/items/81fa92f0611099b8d6db)をご覧ください。
##14章 高度なデータ構造
Union Find Tree
“`python
class UnionFindTree():def __init__(self, n):
#木全体の要素数
self.n = n
#root[x]<0ならそのノードが根でありその値が木の要素数 self.root = [-1] * (n+1) #ランク self.rank = [1] * (n+1) def find_root(self,x): if self.root[x] < 0: return x else: self.root[x] = self.find_root(self.
株価データ取得Tips
# はじめに
今回は株価データの取得方法についてまとめておく。
身近なサイトでは、Yahoo!ファイナンスの時系列データがお手軽そうではあるがYahoo!ファイナンスはスクレイピング、すなわちWebページから株価データを抽出することは禁止されているようなので、Pandas DataReaderを利用するとよい。
以下の記事を参考にした。
https://ntk-lab.com/import_stock_data/
Pythonで株価データを取得する方法# Pandas DataReader
ここにPandas Dat
一番シンプルなWindowsによるSpleeter使用方法
#前書き
Windows用Spleeterの環境構築にGitをインストールしたりと不要な手順が含まれている記事が多く公開されているので、簡単な手順をまとめてみました。##準備
1. 下記サイトよりMiniconda(Python3.xのWindows installers)をダウンロードします。
https://docs.conda.io/en/latest/miniconda.html2. テキストエディタで「spleeter-cpu.yaml」を作成します。
“`
name: spleeter-cpu
channels:
– conda-forge
– anacondadependencies:
– python=3.7
– tensorflow=1.14.0
– ffmpeg
– pandas==0.25.1
– requests
– pip
– pip:
– museval==0.3.0
– musdb==0.3.1
– norbert==0.2.1
– spleeter“`
##
Pythonアルゴリズム
元ネタ
https://towardsdatascience.com/10-algorithms-to-solve-before-your-python-coding-interview-feb74fb9bc27#文字列の操作
##1. 逆整数
整数が与えられた場合, 桁を逆にした整数を返します.
注意: 整数は正負のどちらでも構いません.“`python
def solution(x):
string = str(x)
if string[0] == ‘-‘:
return int(‘-‘+string[:0:-1])
else:
return int(string[::-1])
print(solution(-231))
print(solution(345))Output:
-132
543
“`
まずはスライスの練習。
負の整数を入れることがポイント##2. 平均語数の長さ
与えられた文について、平均的な単語の長さを返します。
注意: 最初に句読点を削除することを忘れないでください.“`
競プロ精進日記31日目(7/25)
#感想
あげるタイミングを逃していました?
現在(8/3)はCodeforcesのバチャやyukicoderを中心に取り組むようにし、一旦AtCoderの過去問埋めから離れています。昨日のコンテストも大失敗しました。実力は伸びてきているはずでメンタルの問題だとは思うのですが、かなりしんどいです…。これまでは特に壁を感じたことはなかったので、今は壁にぶつかっているだけなのかもしれません。
##[ABC086-D Checker](https://atcoder.jp/contests/abc086/tasks/arc089_b)
###かかった時間
20分考えて分からず、解説AC###間違えた原因
解いたことのない問題で曖昧な方針しか思い浮かびませんでした。
今後、そのような問題が増えてくるので、対応力をつけたいです。
[先日のyukicoderのC問題](https://qiita.com/DaikiSuyama/items/07a0b496310481c2fc80)で類題をコンテスト中に解き切ることができうれしかったです。###考察
まず、**どの盤面でも必ず同じ色
Pythonの高階関数と内包表記
質問にした方が良いのかもしれないが,必要に応じて追記していきたいのと,質問だと何かに負ける気がするので記事にしてみる(自己中).
もともとScheme使いだが,[諸般の理由で](https://qiita.com/ytaki0801/items/a761f661f4a3cf79fae0)代替言語としてのPythonを使用している都合上,Schemeでよく表現していた高階関数の記述をPythonに置き換える方法を模索している.Schemeではとにかく`map`+`lambda`等を多用し,Pythonでもそのまま書けることは書けるが,やはり微妙に異なるところがあるのと,可読性・処理速度の観点でリスト内包表記等の方が推奨されているようなので,内包表記(comprehension)で表現できるものはしていきたいと考えている.
この記事では,無理矢理(?)内包表記で表現した記述を晒して,備忘録と情報交換用の資料とする.なお,Schemeの処理系は[Gauche](https://www.jdoodle.com/execute-scheme-online/),Pythonの処理系は[Pyth
【Python】1行で1次元フーリエ変換する関数を書いたのでもっと洗練されたコードください
“`python
from numpy import arange,exp,pidef ft(x):return exp(-2j*pi*arange(len(x))/len(x))**arange(len(x)).reshape(len(x),1)@x
“`
DeepRunning ~Level4.7~
#Level4.機械学習講座(理論と実践)
![alt](http://ai999.careers/bnr_jdla.png)
[3ヵ月で現場で潰しが効くディープラーニング講座とは](http://study-ai.com/jdla/)##4-7.サポートベクターマシン(SVM)
###4-7-1.サポートベクターマシンとは
●2クラス分類のための機械学習手法●線形判別関数と最も近いデータ点の距離を“マージン”と呼ぶ。
マージンが最大となる線形判別関数を求める。●サポートベクター
分離超平面を構成する学習データは、サポートベクターだけで残りのデータは不要である。●ソフトマージンSVM
サンプルを分離できない時、誤差を許容し、誤差に対してペナルティを与える。
線形分離できない場合でも対応し、パラメータCの大小で決定境界が変化する。●非線形分離
線形分離できない時、特徴空間に写像し、その空間で線形分離する。●カーネルトリック
高次元ベクトルの内積をスカラーで表現する。
特徴区間が高次元でも計算コ
【Python】ModuleNotFoundError: No module named ‘urlparse’
Pythonのスクレイピングで、URLを結合させたいときに出たエラー `ModuleNotFoundError: No module named ‘urlparse’`
## 原因
urlparseのモジュールが見当たらない(**import**ができていない)
“`py3:sample.ry
from urllib.parse import urlparse
from urllib.parse import urljoin# ModuleNotFoundError: No module named ‘urlparse
“`## 解決策
“`py3:sample.ry
try:
import urlparse
except ImportError:
import urllib.parse as urlparse# OK
“`参考
https://www.it-swarm.dev/ja/python/python%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%ABurlparse%E3%82%92%E3
【Python】NameError: name ‘urlparse’ is not defined
Pythonでスクレイピングしていたら `NameError: name ‘urlparse’ is not defined` が出たので解決策をメモ
## 原因
urlparseメソッドを使用するためのモジュールがないから、このエラーを履いているようです。
https://stackoverflow.com/questions/58347029/fail-nameerror-name-urlparse-is-not-defined## 解決策
`urlparse`を使用するためのモジュールをインストール
“`
$ pip install urlparse3
“`(Python2の方はこちら)
“`
$ pip install urlparse2
“`参考
https://www.it-swarm.dev/ja/python/python%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%ABurlparse%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3
PythonのURL結合にはos.path.joinではなくurlparse.urljoinを使う
PythonでcsvファイルからURL一覧を取得して、そのURLを結合させたいときに躓いたのでメモ
### うまくいかなかった方(os.path.join)
“`py3
import os.pathchannel_urls = [‘/channel/UCVrJcoR8hUN9Rn7uPI4z6NQ’]
for i in channel_urls:
root_url = ‘https://www.youtube.com’
channel_url = (‘%s’ % i)
channel_about_url = urlparse.urljoin(youtube_url, channel_url, ‘about’)
print(self.open_channel_url)# /channel/UCVrJcoR8hUN9Rn7uPI4z6NQ/about // 「https://www.youtube.com」が入らない
“`### うまくいった方(urlparse.urljoin)
まずはモジュールをインストール
(
pythonのrequestsでAPIGateWayをAPIKeyを使って呼び出す
## 概要
ローカルのpythonのプログラムからリクエストを送信してAPI Gateway を呼び出せるかを試してみました。
APIKeyを設定することで呼び出しを制限できるので呼び出しを制限することができます。
処理呼び出し用の画面でも作ってそこのアクセス制限をしてしまう方が楽な方が気もしますが・・・## APIGateWayの設定
* Lambda関数を作成し、トリガーにAPIGateWayを設定するときに↓のように `REST API` を指定してセキュリティを `API Key` にします
![コメント 2020-08-02 235214.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657697/eaaac17a-b09a-3f84-0570-f858bc40d54a.png)* APIGateWayの方では `メソッドリクエスト` から `APIキーの必要性` を `true` に変更します。
![コメント 2020-08-02 235424.png](https://qiit
昼飯データベースを作りたい 【EP1】はじめてのDjango勉強編
#Webアプリを作りたい
ということでPythonのDjangoを勉強しようと思った次第です。
DjangoとはPythonのWebフレームワークのことらしいです。
フレームワークって何?という感じですが、公式サイトには”Django makes it easier to build better Web apps more quickly and with less code.”とあるのでたぶんそういうものなんでしょう。
有名なところではYoutubeやDropbox、instagramもDjangoで作られているらしいです。
すごい、、、注)この記事は「Djangoの公式プロジェクトのチュートリアルやってみた」です。
#環境構築
兎にも角にもまずは環境構築から、* Pythonを用意します
* Djangoを入れます
* 適当なテキストエディタを入れておきますこの3点を抑えれば、Djangoのスタートはできると思います。
私の場合はWindows10 1909で* Anaconda-1.7.2
* Django-3.0.8
* Visual Studio Code
AtCoder Beginner Contest 174 参戦記
# AtCoder Beginner Contest 174 参戦記
9ペナの大爆死. 終了1分半前にギリギリE問題を通したおかげで、レーティングが小ダウンで済んだ.
## [ABC174A – Air Conditioner](https://atcoder.jp/contests/abc174/tasks/abc174_a)
1分で突破. 書くだけ.
“`python
X = int(input())if X >= 30:
print(‘Yes’)
else:
print(‘No’)
“`## [ABC174B – Distance](https://atcoder.jp/contests/abc174/tasks/abc174_b)
2分半で突破. 書くだけ.
“`python
N, D = map(int, input().split())result = 0
for _ in range(N):
X, Y = map(int, input().split())
if X * X + Y * Y <= D * D:
バイバイ Python。 ハロー Julia!
> こちらの記事は、[Rhea Moutafis](https://towardsdatascience.com/@rheamoutafis) 氏により2020年5月に公開された『 [Bye-bye Python. Hello Julia!](https://towardsdatascience.com/bye-bye-python-hello-julia-9230bff0df62) 』の和訳です。
本記事は原著者から許可を得た上で記事を公開しています。# バイバイ Python。 ハロー Julia!
Pythonの勢いに歯止めがかかると同時に新しい競争相手の登場だ—
![日没の前に彼女の顔を覆っている帽子の女](https://miro.medium.com/max/6000/1*jJCYqdN8a0xJ3iYa9PFT-g.jpeg)
> Juliaがまだあなたにとって未知であっても、心配しないでほしい。 Photo by [Julia Caesar](https://unsplash.com/@juliacaesar?utm_source=unsplash&ut
【Python】データサイエンス100本ノック(構造化データ加工編) 019 解説
##Youtube
[動画解説](https://youtu.be/lmXvBTeS0J0)もしています。##問題
P-019: レシート明細データフレーム(df_receipt)に対し、1件あたりの売上金額(amount)が高い順にランクを付与し、先頭10件を抽出せよ。項目は顧客ID(customer_id)、売上金額(amount)、付与したランクを表示させること。なお、売上金額(amount)が等しい場合は同一順位を付与するものとする。##解答
“`:コード
df_amount_rank = pd.concat([df_receipt[[‘customer_id’, ‘amount’]] \
,df_receipt[‘amount’].rank(method=’min’, ascending=False)], axis=1)df_amount_rank.columns = [‘customer_id’, ‘amount’, ‘amount_ranking’]
df_amount_rank.sort_values(‘amount_ranking’, ascendin
プログラミング未経験者にPython教えてみた
# 心がけたこと
* 型とか変数とか宣言とか、お作法の話は後回し
* とにかくプログラムを実行してもらってエラーに遭遇してもらう
* 一度にたくさん詰め込まない# 前提
## 職場
* 製造業
* 色々あって僕も初心者も違う会社だけど同じチーム## ぼく(ざっくりいうと技術サイド)
* プログラミング経験は学生時代7年、業務で5年
* Python経験は学生時代2年、業務で1年
* 社内研修でプログラミング講師を2ヶ月経験済み## 初心者(ざっくりいうと営業サイド)
* プログラミング経験なし(そもそも異業種)
* Pythonは自身では書かないが、業務で実行する機会はたまにある。
* 元会社からプログラミングを学ぶように言われているものの手も足も出ない。
*
Pythonで.zipの中の画像をPDFにする
## 概要
– 同じディレクトリ内の.zipを対象に、その中の画像をPDF化するコードです
– A4のPDFにします(可変)## コード
まずは.pyファイルの場所にカレントディレクトリ(cd)を移動“`python:zip2pdf.py
import osos.chdir(os.path.dirname(os.path.abspath(__file__)))
“`cd内のzipを全て取得
ここではglobモジュールを使用します“`python:zip2pdf.py
import globzips_ = glob.glob(“./*.zip”)
“`個別の.zipに対してそのファイル名(拡張子除く)を取得
ファイル名からcd下に解凍用ディレクトリを作成“`python:zip2pdf.py
for zip_path_ in zips_:
filename_ = os.path.split(zip_path_)[1].split(“.”)[0]
unzip_dir_ = os.path.join(“.”, filename_)
`