53ningen.com

@gomi_ningen's Website

女性声優と自動化

この記事は「Wake Up, Girls! Advent Calendar 2019」18 日目の記事です

この記事では推しの声優の情報を自動的に収集する仕組みである @yoppinews bot の開発や運用についてご紹介します。

<a href="https://static.53ningen.com/wp-content/uploads/2020/01/05121137/https___qiita-image-store.s3.ap-northeast-1.amazonaws.com_0_56771_d6157d3e-6f06-6ed5-47c7-aa2d8b035017.png"><img src="https://static.53ningen.com/wp-content/uploads/2020/01/05121137/https___qiita-image-store.s3.ap-northeast-1.amazonaw...

Read More

LeetCode: TwoSum, BalancedStringSplit

TwoSum

https://leetcode.com/problems/two-sum/

Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9, return [0, 1].

  • 与えられた nums から数を二つ選んだ和 target の値に一致するような index を配列で返す
  • 2 つの数の和を表にすると以下のような感じ
    • つまり Pfor i in range(len(nums)); for j in range(i+1, range(len(nums)));` のループを回してあげればよさそう
|    | 11 | 7  | 2  | 15 |
|:--:|:--:|:--:|:--:|:--:|
| 11 | x  | 18  | 13 | 26 |
| 7  | -  | x   | 9  | 22 |
| 2  | -  | -   | ...
Read More

macOS で pyenv から python を導入する際 binutils が入ってるとコケる

$ pyenv install 3.7.2
python-build: use openssl from homebrew
python-build: use readline from homebrew
Downloading Python-3.7.2.tar.xz...
-> https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tar.xz
Installing Python-3.7.2...
python-build: use readline from homebrew

BUILD FAILED (OS X 10.12.6 using python-build 20180424)

Inspect or clean up the working tree at /var/folders/js/twdldwjs53l2bjpvr69prpv477bjpd/T/python-build.20190311004219.80215
Results logged to /var/folders/js/twdldwjs53l2...
Read More

python 定型処理チートシート

  • bash より python のほうがベンリだったり、FaaS で動かせたりするので、ちょっとした雑務を bash から python, ruby あたりを使うようにしていきたい
  • 同じ内容を二度ググらないよう、ググったらここにまとめる
  • 環境により python のバージョン問題があるので確認したい

統計処理

最大値・最小値・平均値・中央値

Python 3.x

$ cat ./stat_py3.py
from statistics import mean, median

values = input()

print(f"max: {max(values)}")
print(f"min: {min(values)}")
print(f"average: {mean(values)}")
print(f"median: {median(values)}")

$ python3 ./stat_py3.py "[1,2,2,3,3,3,4,4,4,4,5,5,5,5,5]"
max: 5
min: 1
average: 3.66666...
Read More

twitter のストリーミングデータで遊ぶ

Twitter のストリーミングデータを Kinesis Data Stream に流し込み、Lambda にてバッチ処理する簡単な連携の方法をまとめておきます。慣れていれば 15 分で構築できます。ベンリ。

Kinesis Data Stream を作成する

以下のようなコマンドで簡単につくれます。

$ aws kinesis create-stream --stream-name tweets --shard-count 1

オプションで指定しているシャードとは以下のような概念となります。

シャード シャードは、ストリーム内の一意に識別されたデータレコードのシーケンスです。ストリームは複数のシャードで構成され、各シャードが容量の 1 単位になります。各シャードは 読み取りは最大 1 秒あたり 5 件のトランザクション、データ読み取りの最大合計レートは 1 秒あたり 2 MB と 書き込みについては最大 1 秒あたり 1,000 レコード、データの最大書き込み合計レートは 1 秒あたり 1 MB (パーティションキーを含む) をサポート...

Read More

pyenv/virtualenv installation playbook

pyenv

For RHEL

# pyenv/pyenv: Simple Python version management
# https://github.com/pyenv/pyenv#installation
sudo yum install git gcc zlib-devel bzip2-devel openssl-devel readline-devel sqlite sqlite-devel libffi-devel -y
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_...
Read More

Copyright © 53ningen.com