UTALI

書き溜めておいた技術記事や旅行記のバックアップです。

Python3

【Python3】djangoでajaxのクロスドメイン通信(CORS)が可能になるよう設定する

ブラウザでの別ドメインへの非同期通信は、非同期通信のリクエストを受けるサーバー側で、特殊なヘッダを追加する必要があります。 akiniwa.hatenablog.jp このページのように直接ヘッダを属性値を追加する方法でも、非同期通信を実行することは可能ですが、…

【Python】Djangoで静的ファイルを配信するための設定について

WebアプリではCSSやJS、画像などの静的ファイルの配信を行うことが多いです。 今回はPython3でのDjangoでこれを可能にするための設定をまとめました。 参考になれば幸いです。 必要なライブラリ Djangoで静的ファイルの配信を実行するにはWhitenoiseと呼ばれ…

Python3でvenvを使って仮想環境を構築する

もしPython3を導入していない場合 Macの場合 まずはHomeBrewでインストール brew install python python3 Ubuntuの場合 sudo apt-get update sudo apt-get -y upgrade sudo apt-get install python3-pip -y この時一緒にPython3のバージョン管理ツールのpip3…

【Cython】PythonからC++のクラスを利用して爆速化する

こちらも参考に www.utali.io (adsbygoogle = window.adsbygoogle || []).push({}); Python with C++ Cythonを利用することでC++のコードをPythonから簡単に利用することができます。 C言語での使用例はたくさんあるのですが、C++はほとんど見当たらない…

PythonとC言語のディガンマ関数について

scipyに組み込まれていたdigamma()が遅いので調べました。 改善案:C言語のライブラリを利用する。 http://www2.mpia-hd.mpg.de/~mathar/progs/digamma.c これをCythonでラッピングして計測 >>>import cython >>> timeit.timeit('cython.digamma(2)',number=…

Python で日時情報を扱う - Twitterのタイムスタンプなど

Twitterのタイムスタンプ from datetime import datetime import pytz t = datetime.strptime('Thu Apr 23 13:38:19 +0000 2009','%a %b %d %H:%M:%S +0000 %Y').replace(tzinfo=pytz.UTC) 世界標準時から日本時間への変換 from datetime import timedelta t…

Pythonが遅いので高速化したい - Cythonを使う

CythonでC言語・C++の外部ライブラリを利用する Pythonは非常に生産性の高いスクリプト言語で、C言語やC++などのコンパイルが必要な静的型付き言語を使うのが面倒になってしまうほどです。 しかし、一つ問題があって、それはPythonで書かれたスクリプトの実…