サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
画力アップ
www.regentechlog.com
※ 2020-09-06: 「アライメントの問題(C++17以上かつEigenバージョン3.4以上)」を追加。 線形代数ライブラリ(行列演算や行列分解などを行うライブラリ)には、有名どころだとPythonではNumpyがあり、C++ではEigenがあります。Eigenは強力なライブラリですが、気をつけなければいけないところがいくつかあるのでまとめます。 Eigenの特徴 ヘッダーオンリーでテンプレートが多用されており、汎用性が高い Expression Template(式テンプレート)を用いた遅延評価で高速(不要な計算を自動で除外する) 自動でSIMDやループ展開が適用され高速 静的にサイズを指定した行列はヒープを一切使用しない 疎行列のサポートがある 密行列・疎行列それぞれ様々な行列分解アルゴリズムが実装されている 以上のように、非常に高速で強力なライブラリですが、高速性のトレードオフ
PythonでスクレイピングをしようとするとBeautifulSoup4やlxmlを使った例が多くあります。今回はlxmlでスクレイピングするときのコツをいくつか紹介します。 lxmlはpip install lxmlでインストールできます。 parse()にはURLを直接渡せる urllibなどを使ってレスポンスをロードしてからlxmlに渡している例が多くありますが、parse()にURLを渡すとそのURLにアクセスして解析してくれます。 >>> import lxml.html >>> tree = lxml.html.parse('http://example.com/') base_urlオプションがURLをもとにセットされるので、相対リンクを絶対リンクに書き換えるでbase_urlを明示的に渡す必要がなくなります。 XPathをコンパイルして再利用する 同じXPathで複数回検索
ウェブスクレイピングの記事を書きましたが、ログインが必要なページから情報を取得するには一工夫する必要があります。 ウェブページでログインしてコンテンツを切り替える場合はCookieが使われます。ウェブサービスにログインするとサーバーからセッションIDが送られてきて、ブラウザがそれをCookieに保存し、新たなページを開くたびにセッションIDをサーバーへ送信しています。サーバーはブラウザが送ってきたセッションIDでログインしたユーザーか判断しています。 PythonにもCookieを扱う機能は含まれており、cookielibモジュールがCookieを保存する機能を担っています。CookieJarをセットしてurllib2モジュールなどを使ってログインした後、必要なページにアクセスすればログインした状態でダウンロードできます。 ただし、ログインするプロセスをPythonでもしっかり再現しなくて
Pythonで書いた処理をバックグラウンドで動かしておきたいときに、Windowsサービスとして書いておくとPC起動時の自動起動や開始・停止が簡単にできます。 PythonでWindowsサービスを書くにはpywin32モジュールを使うと簡単です。 コード 次のコードで、1秒毎に日付をファイルに出力するサービスが作れます。好きな処理をさせるにはwhileの中身を変えます。 サービスではターミナルに情報を出力できないので、ファイルやWindowsイベントログなどに出力しましょう。 コマンドラインオプション スプリクトを直接実行した場合はwin32serviceutil.HandleCommandLine()が呼ばれ、サービスの登録や開始といったいくつかのコマンドラインオプションが指定可能です。 以下の例以外のオプションもあります。オプション無しでスプリクトを実行するとオプション一覧が表示され
Micro Pythonは、マイコンに最適化されたPython3実装です。ちなみにPythonでよく使われる標準の実装はCPythonで、他にJavaで記述されたJythonや.NET上の実装のIronPythonがありますが、その一種です。 マイコンで動くプログラムを書く場合はC/C++が一般的に用いられますが、インタプリタ言語をマイコンで動かすプロジェクトもいくつかあります。マイコンはパソコン上で動かす場合と異なり使用できるメモリサイズが厳しいので省メモリで動くように実装したものがよく使われ、MicroPythonの他にRubyの実装であるmrubyが有名です。 今回、Micro Pythonが動くマイコンボードを手に入れ、実際に動かしてみたのでレポートしていきます。 ハードウェア MicroPythonが想定しているマイコンボード一覧を見ると、恐らくARM Cortex M4のマイコ
C/C++などのビルドが必要なファイルを含むPythonパッケージをWindows環境下でインストールしようとすると「Unable to find vcvarsall.bat」とエラーになることがあります。 Pythonパッケージにビルドが必要なファイル(pure Python以外のC/C++など)が指定されている場合はインストール時にコンパイルが必要です。Windows環境ではデフォルトでPython本体をコンパイルしたVC++と同じバージョンのVC++を呼ぼうとします。そのため、Python本体をコンパイルしたバージョンのVC++がないとエラーになります。 2014-07-05: VC++、Windows SDKの情報を追加しました。2014-09-28: Express Edition、9.0のvcvarsall.batの情報を追加しました。2014-11-28: Visual C+
Windows実行ファイルのアイコンやWebサイトのFaviconを作るときなど**.icoファイルが必要になるときがあります。そんなときImageMagickを使うと1枚の画像からマルチアイコンを簡単に作ることができます**。 マルチアイコンとは マルチアイコンは、複数の解像度のアイコンを1つの.icoファイルに格納したものです。実行ファイルのアイコンやFaviconは表示される場所によってサイズが異なるため、あらかじめ様々なサイズのアイコンを用意しておくことできれいに表示させることができます。 例えばマイクロソフトのガイドラインによると、アプリケーションアイコンは16、32、48、256のサイズを含めることが求められています。 ImageMagickとは ImageMagickはCUIで画像編集や変換などができるソフトウェアで、.icoファイル作成もサポートしています。icon:aut
このページを最初にブックマークしてみませんか?
『www.regentechlog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く