- 0.0.1. 2020年の開発者が知っておくべき11の必須技能(回答編)
- 0.0.2. コアラとクマの画像を自動生成する
- 0.0.3. django-storage で Google Cloud Storages へのファイル upload と delete
- 0.0.4. PYTHON環境構築するなら絶対に理解しておかないといけない注意点
- 0.0.5. 言語処理100本ノック-95(pandas使用):WordSimilarity-353での評価
- 0.0.6. Pythonを用いた基盤地図情報 数値標高データのgeotiff変換
- 0.0.7. YouTubeAPIを利用して動画をアップロードする
- 0.0.8. Djangoのチュートリアルやってみた。Part5
- 0.0.9. Djangoのチュートリアルやってみた。Part4
- 1. {{ question.question_text }}
- 1.0.1. Porting MicroPython
- 1.0.2. [GCP]Cloud Functionsでお手軽Webアプリ作成(Flask)
- 1.0.3. Djangoのチュートリアルやってみた。Part3
- 1.0.4. 0.1は浮動小数点で正確に表せないのに、printしたときに0.1と表示されるのはなぜか
- 1.0.5. Python ImageDataGeneratorで画像の水増し
- 1.0.6. Djangoのチュートリアルやってみた。Part2
- 1.0.7. 書籍「15Stepで踏破 自然言語処理アプリケーション開発入門」をやってみる – 2章Step04メモ
- 1.0.8. 文字を画像化してslackに投稿 (python slackbot)
- 1.0.9. GCSのファイルをBigQueryにロードするジョブをPythonで実装したメモ
- 1.0.10. オンライン周波数解析アプリを作ってみた
- 1.0.11. [Python]メモ帳Twitterを作る(タイムライン表示編)
2020年の開発者が知っておくべき11の必須技能(回答編)
2020年の開発者が知っておくべき11の必須スキル
https://qiita.com/rana_kualu/items/c79a16ff503c86b2748311 Essential Skills Software Developers should Learn in 2020
https://dev.to/javinpaul/11-essential-skills-software-developers-should-learn-in-2020-1bioTop 11 Essentials Skills for Software Developers in 2020
11の技能を自己評価してみる。
0:知らない、触ったことがない
1:知ってる。使ったことがあるかもしれない。
2:誰かに相談できれば仕事で使える。
3:仕事に使っている。
4:改良に取り組んでいる。点数を書いたら、その数だけURLを示す。
| category | examples | value |
|:–|:–|–:|
| Containers | Docker and Kubernetes
コアラとクマの画像を自動生成する
機械学習、特にディープラーニング(深層学習)ではよく、画像の分類が題材として用いられます。ですがそこで用いる題材は、決まったものばかりな印象がありますので、新しい題材を提供すべく、コアラとクマの画像を大量に自動生成するためのスクリプトを書いてみました。
以下がそのコードです。
“`python
from PIL import Image, ImageDraw
from IPython.display import HTML
import randomdef koala_or_bear(bear=False, rotate=False, resize=False, gray=True, black=True, others=False):
r = random.randint(100, 255)
g = random.randint(100, 255)
b = random.randint(100, 255)
if gray:
r = g = bim = Image.new(‘RGB’, (500, 5
django-storage で Google Cloud Storages へのファイル upload と delete
# 背景
Djangoのライブラリである[django-storages](https://django-storages.readthedocs.io/en/latest/)を使った[Google Cloud Stoarge](https://cloud.google.com/storage/)ファイルのdelete方法を試行錯誤で解決したので、upload方法もふくめてそのメモをまとめておきます。# 方法
[django-storages](https://django-storages.readthedocs.io/en/latest/backends/gcloud.html)のページに基本的な設定方法が書かれています。“`settings.py
DEFAULT_FILE_STORAGE = ‘storages.backends.gcloud.GoogleCloudStorage’
GS_BUCKET_NAME = ‘YOUR_BUCKET_NAME_GOES_HERE’
“`と、
“`settings.py
from google.oauth2 import
PYTHON環境構築するなら絶対に理解しておかないといけない注意点
#インストール形式は3種類ある
普段みなさんがpythonの開発環境を構築するためには下記の公式ページからインストーラーをダウンロードすることでしょう。
***Python Releases for Windows***
https://www.python.org/downloads/windows/例えば2020年1月21日付ではpython3.8.1が下記の形式で配布されている
※webの内容をコピペ– Download Windows help file
– Download Windows x86-64 embeddable zip file
– Download Windows x86-64 executable installer
– Download Windows x86-64 web-based installer
– Download Windows x86 embeddable zip file
– Download Windows x86 executable installer
– Download Windows x86 web-based in
言語処理100本ノック-95(pandas使用):WordSimilarity-353での評価
[言語処理100本ノック 2015](http://www.cl.ecei.tohoku.ac.jp/nlp100/)の95本目「WordSimilarity-353での評価」の記録です。
前のノック結果に対して**スピアマン相関係数**を計算します。自作プログラムでの結果は約23%、Gensim使用時の結果は52%とこれまた大きく水をあけられています。# 参考リンク
|リンク|備考|
|:–|:–|
|[095.WordSimilarity-353での評価.ipynb](https://github.com/YoheiFukuhara/nlp100/blob/master/10.%E3%83%99%E3%82%AF%E3%83%88%E3%83%AB%E7%A9%BA%E9%96%93%E6%B3%95%20(II)/095.WordSimilarity-353%E3%81%A7%E3%81%AE%E8%A9%95%E4%BE%A1.ipynb)|回答プログラムのGitHubリンク|
|[素人の言語処理100本ノック:95](http://qiita.com/segavvy
Pythonを用いた基盤地図情報 数値標高データのgeotiff変換
# はじめに
表題に記載のデータは、[こちらのサイト](https://fgd.gsi.go.jp/download/menu.php)で配布されているもの。
日本における非常に詳細かつ精度の高い標高データ(DEM)が手に入る。
ダウンロードされるのは、総務省統計局にて定義されている2次区画地域メッシュごとのzip形式ファイル。その中には、xml形式の標高データが入っている。地域メッシュについては後述する。コードは本記事の最後にある。用例は下記の通り。
**(ファイル名もメタ情報として使用しているため、ダウンロードしたままのものに適用してください)**
“`:コマンド
python zdem2tif.py FG-GML-1234-56-DEM10B.zip FG-GML-6543-21-DEM5A.zip …
“`各zipファイル(=2次区画地域メッシュ)ごとに1枚のgeotiff画像が出力される。
5m、10mのいずれの解像度にも対応。
python3系で動作確認をしています。gdalパッケージがインストールされている必要があります。この度は、[こちらのサイ
YouTubeAPIを利用して動画をアップロードする
## 概要
youtubeのAPIを利用して動画をアップロードする記事です。言語はPython3です。
以下の公式ドキュメントに沿って進めれば良いのですが、一部ハマった点などを追記しています。[YouTube API – 動画のアップロード](https://developers.google.com/youtube/v3/guides/uploading_a_video?hl=ja)
## 環境
– MacOS
– Python3.8
– Pycharm前提として、GCPでプロジェクトは作成済みとします。
## 事前準備
### google-api-python-clientのインストール
googleのAPIを利用するためのライブラリをインストールします。
“`bash:
$ pip install google-api-python-client
“`### GCPでのアプリケーション登録
#### 1. 承認情報の作成
以下のリンクを開き、GCPのコンソールから認証情報を作成します。今回はOAuth2.0を利用します。
[GCPコンソール – 認
Djangoのチュートリアルやってみた。Part5
実際のチュートリアルのテストは一旦飛ばします。
なのでチュートリアル 6をやります。
今回のテーマは静的データ(CSS,JavaScript,画像)# 1 静的データを保存するところを作成
polls/staticファイルを作成する。# 2 静的データの作成
“`polls/static/polls/style.css
li a {
color: green;
}
“`# 3 静的データとテンプレートの紐付け
“`
“`polls/templates/polls/index.html
{% load static %}# 4 背景に画像を設定する
polls/static/polls/images/ に画像を置きます。さらに、スタイルシート (polls/static/polls/style.css) に次のコードを追加します。
“`polls/static/polls/style.css
Djangoのチュートリアルやってみた。Part4
今回はフォームについて解説してあります。
# 1 フォームの作成
polls/index.htmlを更新します。
“`polls/templates/polls/detail.html
{{ question.question_text }}
{% if error_message %}
{{ error_message }}
{% endif %}
Porting MicroPython
ふと思い立ったのでやってみました。
# 用意
GitHubでforkしたものを持ってきてブランチまで作ります。“`
git clone git@github.com:ysat0/micropython.git
cd micropython
git checkout -b rx
“`
大まかな全体像を把握します。とりあえず動けばいいので、CPU依存部をまずは見つけます。“`
$ ls
ACKNOWLEDGEMENTS CONTRIBUTING.md docs/ extmod/ mpy-cross/ tests/
CODECONVENTIONS.md LICENSE drivers/ lib/ ports/ tools/
CODEOFCONDUCT.md README.md examples/ logo/ py/
“`
野生の勘がportsを見ろと言ってきたので、そこを見ます。“`
$ ls ports
bare-arm/ esp8266/ nrf/ q
[GCP]Cloud Functionsでお手軽Webアプリ作成(Flask)
# はじめに
Flaskをさわれる人向けに、Cloud Functionsを用いた超単純なWebアプリの作成・公開・削除方法をまとめています。# 手順
## 1. Cloud Shell起動
https://console.cloud.google.com にアクセスし、画面右上にあるプロンプトのアイコン(下図でいう左から2番目)をクリックしてください。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/402872/9cd55a27-8138-c797-29da-33b2006b7456.png)
その後、Cloud Shellが表示されますので以下のコマンドを実行してください。
“`
gcloud config set project <プロジェクト名>
“`するとプロンプトにプロジェクト名が追加されます。
“`
username@cloudshell:~ (プロジェクト名)$
“`プロジェクトについて不明な方は以下をご覧ください。
https://cloud
Djangoのチュートリアルやってみた。Part3
今回は、ビュー(view) の作成を焦点に解説します。
# 1 Viewの追加
question_idはURLのパラメータ部分。
“`polls/views.py
def detail(request, question_id):
return HttpResponse(“You’re looking at question %s.” % question_id)def results(request, question_id):
response = “You’re looking at the results of question %s.”
return HttpResponse(response % question_id)def vote(request, question_id):
return HttpResponse(“You’re voting on question %s.” % question_id)
“`# 2 URLとViewの紐付け
question_idを定義している。
“`polls/urls
0.1は浮動小数点で正確に表せないのに、printしたときに0.1と表示されるのはなぜか
“x“に“0.1“を代入し、コンソールに表示すると“0.1“と表示されます。
“`python
x = 0.1
print(x)
# => 0.1
“`当たり前のことに感じますが、“0.1“は浮動小数点(IEEE 754)では正確に表現できません。
なのに“print“をしたときに“0.1“と表示されるのは不思議です。
このことについて分かったことを書いておきます。# 環境
この記事ではPython 3.7を使用しています。# 【前提】浮動小数点
この記事で、以降”浮動小数点”という場合は、”IEEE 754 倍精度”のことを指します。浮動小数点のフォーマットは、数を以下の形式に変換し、“sign“、“exp“、“frac“を順に並べたものです。
“`math
(-1)^{sign} \times 2^{exp – 1023} \times (1 + frac \times 2^{-52})
“`それぞれの記号の名前と範囲は以下の通りになります。
|記号|日本語名|英語名|範囲|
|—|—|—|—|
Python ImageDataGeneratorで画像の水増し
# Pythonで画像の水増し
pythonで画像を水増しする際に便利なImageDataGeneratorを紹介します。
関数内の詳細はhttps://keras.io/ja/preprocessing/image/ をご覧ください。#####以下ソースコード
“`data_augumentation.py
# -*- coding: utf-8 -*-
from keras.preprocessing.image import load_img, img_to_array
from keras.preprocessing.image import ImageDataGenerator
import matplotlib.pyplot as plt
import numpy as np
import os
import glob
import argparse
import cv2
from scipy import ndimagedef data_augumentation(input, output, size, ex, ran):
files = glob
Djangoのチュートリアルやってみた。Part2
Part2では、
データベースをセットアップ
最初のモデルを作成
Django が自動的に生成してくれる管理 (admin) サイトについての簡単なイントロダクションをします。# 1 DataBaseの準備をする。
下記のコマンドを行います。“`
$ python manage.py migrate
“`# 2 モデルの定義
モデル(データの構造のようなもの)を定義します。
polls/models.pyに下記のコードを写す。
これにより投票するための質問と選択肢が定義される。“`polls/models.py
from django.db import modelsclass Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField(‘date published’)class Choice(models.Model):
question = models.ForeignKe
書籍「15Stepで踏破 自然言語処理アプリケーション開発入門」をやってみる – 2章Step04メモ
# 内容
[15stepで踏破 自然言語処理アプリケーション入門](https://www.amazon.co.jp/dp/4865941320) を読み進めていくにあたっての自分用のメモです。
今回は2章Step04で、自分なりのポイントをメモります。# 準備
– 個人用MacPC:MacOS Mojave バージョン10.14.6
– docker version:Client, Server共にバージョン19.03.2# 章の概要
これまでに作成した対話エージェントではBoWを用いて特徴抽出していたが、TF-IDF,BM25,N-gramといった様々な特徴抽出法について学び、文字列を適切な特徴ベクトルに変換することを目指す。# 04.1 Bag of Words再訪
## Bag of Wordsの性質
BoWは単語の出現頻度をベクトル化したもので、「私」や「好き」といった単語が含まれる「私の嗜好を表す」文意の類似性をある程度捉えられている。一方、語順情報を含んでいないことからそれぞれメリデメがある。
次節以降の04.2と04.3では文全体の単語頻度や文の長さを考
文字を画像化してslackに投稿 (python slackbot)
前回(かなり前ですが)に書いたhubotの文字を画像化して投稿するスクリプトですが、
最近は、Pythonをさわる機会が多いのと、
python slackbot が使いやすいと思うので、pythonで書き直してみましたpythonだと、ImageMagicを入れなくていい代わりに、pip で Pillow を入れる必要があります
Pythonは3以降を使用しています、
環境によっては下記コマンドはpipではなく、pip3だったりします# Pillowをインストール
“`
pip install Pillow
“`# 文字を画像化してslackに投稿するスクリプト
“`Python
# -*- coding: utf-8 -*
from slackbot.bot import respond_to
from slackbot.bot import listen_to
from slackbot.bot import default_replyfrom PIL import Image, ImageDraw, ImageFont
import random
GCSのファイルをBigQueryにロードするジョブをPythonで実装したメモ
# サンプルコード
“`py
# sevice account の設定しないと認証エラー出ます
# export GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentialfrom google.cloud import bigquery
client = bigquery.Client(‘project’)table_ref = client.dataset(‘dataset’).table(‘table$20200101’) # partition指定する
job_config = bigquery.LoadJobConfig()
job_config.write_disposition = bigquery.WriteDisposition.WRITE_TRUNCATE # 上書き
job_config.source_format = bigquery.SourceFormat.NEWLINE_DELIMITED_JSON # JSON
# job_config.ignore_unknown_values = T
オンライン周波数解析アプリを作ってみた
# 背景
今回、周波数解析アプリを作ってみた経緯として、現在私が所属している大学の研究室では、脈波や心電図について研究している班が複数あるのですが、それらを解析するためのソフト(WaveLab有料ソフト)が入っているPCが1台しかないという現状です。
この現状により一つの班がソフトを使用している時に別の班は解析できないので、自分で作ってみようと思いました。
また、オンラインで周波数解析ができるようになると、ネットに繋がってさえいれば、わざわざソフトをインストールせずにどこでも解析ができるようになり、とても便利になると考えています。# 使用した言語について
このWebアプリケーションを作成するのにPythonを使用しました。理由として、Pythonで有名なライブラリのNumpyとScipyを使って作成しようと思ったからです。この2つのライブラリは、周波数解析をするための機能がたくさん入っているので、これらを使って作成していきます。
フレームワークでDjangoを使用した理由はPythonのFWと言えば、Djangoなのかなと思ったので使用しました。# 周波数解析モジュールの作成
[Python]メモ帳Twitterを作る(タイムライン表示編)
[[Python]メモ帳Twitterを作る(ツイート編) – Qiita](https://qiita.com/higuratu/items/1cf5d54a8925f0860262)の続編です。
上記の記事を投稿して1年以上経ってしまいました。
前回はツイートするところまで出来たので、今回はタイムラインを表示してみたよという備忘録。PythonでTkinterというGUI作れるライブラリ使ってメモ帳twitter作るよ!
#前回のを少し修正
前回はツイート時に認証を通していたが、何度も認証通すのが面倒くさいので起動時に認証通すようにしてしまいました。
あとは可変があるキーはあとから修正しやすいように別ファイルに隔離しました。“`python:config.py
#twitterの認証に必要なキー一覧
CONSUMER_KEY = “XXXXXXXXXXXXXXX”
CONSUMER_SECRET = “XXXXXXXXXXXXXXX”
ACCESS_TOKEN = “XXXXXXXXXXXXXXX”
ACCESS_TOKEN_SECRET = “XXXXXXXXXXX