タグ

developmentとQiitaに関するsuzukiMYのブックマーク (92)

  • Pythonのダイナミックな型付け - Qiita

    概要 はじめてのPython第3版の勉強メモ アジェンダ 型宣言がないPython 共有リファレンス 共有リファレンスとオブジェクトの上書き 「同等」と「同一」 変数は値が代入されると同時に作成される 作成後に代入が行われた場合、すでに代入されていた値が新しいものに入れ替わる この場合、変数はすでに作成済みのため、新たに作成されているわけではない 型情報 変数自身は型情報を持たない 型情報を持つのは変数に対応する「オブジェクト」 変数は対応しているオブジェクト(その時点で代入されているデータ)へのリファレンスだけを持つ プログラム実行時の変数の扱い 対応するオブジェクトにすべて置換えられる 対応するオブジェクトがない変数は使用できない 変数とオブジェクトはメモリの別の部分に格納されリンクされる ガーベージコレクション 変数に新たなオブジェクトが代入された場合、それまで代入されていたオブジェ

    Pythonのダイナミックな型付け - Qiita
  • OpenCV3とPython3で特徴点を抽出する(AgastFeature, FAST, GFTT, MSER, AKAZE, BRISK, KAZE, ORB, SimpleBlob, SIFT) - Qiita

    OpenCV3とPython3で特徴点を抽出する(AgastFeature, FAST, GFTT, MSER, AKAZE, BRISK, KAZE, ORB, SimpleBlob, SIFT)Python画像処理OpenCV はじめに OpenCV(Open Source Computer Vision Library)はBSDライセンスの映像/画像処理ライブラリ集です。画像のフィルタ処理、テンプレートマッチング、物体認識、映像解析、機械学習などのアルゴリズムが多数用意されています。 ● OpenCVを使った動体追跡の例 (OpenCV Google Summer of Code 2015) https://www.youtube.com/watch?v=OUbUFn71S4s ● インストールと簡単な使い方はこちら OpenCV 3(core + contrib)をPython 3

    OpenCV3とPython3で特徴点を抽出する(AgastFeature, FAST, GFTT, MSER, AKAZE, BRISK, KAZE, ORB, SimpleBlob, SIFT) - Qiita
  • Python のリファクタリングでイケてないコードを別に美しいオブジェクト指向設計ではない普通のコードにする方法 - Qiita

    Rubyのリファクタリングでイケてないコードを美しいオブジェクト指向設計のコードへ改良するための方法 - その1 その2 その3 これを Python でやってみます 元のコード 元の Ruby 版をできるだけ真似してみます。テストは py.test を使います。 #ordersreport.py from collections import namedtuple Order = namedtuple("Order", "amount placed_at") class OrdersReport: def __init__(self, orders, start_date, end_date): self.orders = orders self.start_date = start_date self.end_date = end_date def total_sales_within

    Python のリファクタリングでイケてないコードを別に美しいオブジェクト指向設計ではない普通のコードにする方法 - Qiita
  • Pythonのビルトインオブジェクト - Qiita

    概要 はじめてのPython第3版の勉強メモ アジェンダ ビルトインオブジェクト 数値 文字列 リスト ディクショナリ タプル ファイル その他の型 まとめ ビルトインオブジェクトを使うメリット プログラムが簡単に作れる ビルトインオブジェクトを基に独自オブジェクトも作れる ビルトインオブジェクトはカスタムオブジェクトよりもパフォーマンスが高いことが多い PythonのビルトインオブジェクトはC言語で書かれていて、パフォーマンスが高くなるよう予め最適化されている ビルトインオブジェクトは標準 特性、機能が変わることがない ビルトインオブジェクトの型 オブジェクトの型 リテラルの例

    Pythonのビルトインオブジェクト - Qiita
  • Jinja2の使い方がわかるとFlaskを用いた開発がよりスマートになる - Qiita

    現在Flaskを用いてwebサービス的なものを作っているのですが、サーバーサイドからクライアントサイドに値を渡した後にJinja2の記法で詰まるときがよくあるのでメモしておきます。 概要 Flaskの使い方をちゃちゃっと紹介(インストール済みならばコピペで動作) Flaskの日語版ユーザーガイドはあるけど、Jinja2のガイドは英語なのが厄介 Jinja2の構文を数種類紹介 基的な構文を組み合わせた使用例を紹介 Jinja2を活用してクライアントサイドの記述をスマートにできる Flaskとは Python用のマイクロWeb開発フレームワークです。 RubyでいうところのSinatraといっても問題ないと思います。 Flaskのインストールや使い方は他にも色々記事があると思うのでここでは割愛します。 Flaskユーザーガイドのように日語化されたガイドがあるのも嬉しいです。 Flaskは

    Jinja2の使い方がわかるとFlaskを用いた開発がよりスマートになる - Qiita
  • Qt Designer の使い方 - Qiita

    Qt Designer を使ってポトペタでウィンドウを作成しました。 そのときに調べたことをメモとして残します。 ツールバーの設定の仕方 ツールバーはウィンドウ上のコンテキストメニューの [ツールバーの追加] で追加できます。 最初はそこにツールボタンをドラッグ&ドロップで配置するのかと思ったのですが違っていました。 ツールバーにボタンを配置するために、そのボタンに対応したアクションを作ります。 そのアクションをツールバーにドラッグ&ドロップすることでボタンを配置できます。 アクションはアクションエディタの [新規] ボタンを押すことで作成できます。 ボタンに画像を表示する場合は、アイコンにリソースの画像を設定します。 ボタンに画像を設定する場合は、リソースとして画像を登録し、それを設定します。 ツールバーのボタンのイベント処理 ツールバーのボタンが押されたときのイベント処理を PySid

    Qt Designer の使い方 - Qiita
  • Python3.6の新機能 - Qiita

    はじめに 以前、Python3.5の新機能という記事を書いたが、3.6もα版が出て来たので、3.6の機能を先取りして確認してみようと思う。 開発ロードマップ(PEP-494)によると 3.6.0 alpha 1: 2016-05-17 (完了) 3.6.0 alpha 2: 2016-06-13 (完了) 3.6.0 alpha 3: 2016-07-11 (完了) 3.6.0 alpha 4: 2016-08-15 (完了) 3.6.0 beta 1: 2016-09-12 (完了・新機能追加はここまで) 3.6.0 beta 2: 2016-10-03 3.6.0 beta 3: 2016-10-31 3.6.0 beta 4: 2016-11-21 3.6.0 candidate 1: 2016-12-05 3.6.0 candidate 2: 2016-12-12 (必要であれば)

    Python3.6の新機能 - Qiita
  • パイプライン構築支援フレームワーク Pyblish 入門 その1 概説編 - Qiita

    pyblish とは 公式サイト: http://pyblish.com/ 動作ムービ: https://www.youtube.com/watch?v=j5uUTW702-U 動作ムービ: https://www.youtube.com/watch?v=-MKujcU88W8 説明: https://github.com/pyblish/pyblish/wiki/What-is-publishing 開発ガイド: https://pyblish.gitbooks.io/developer-guide/content/ Abstract Factory社 の開発する、映像・ゲーム制作向けの パイプライン構築支援フレームワーク 。単体でも、DCCにも組み込みでも動く。Shotgun / FTrack / 5th Kind / Tactic などとは 違い 大規模な管理を狙うものではない。名前

    パイプライン構築支援フレームワーク Pyblish 入門 その1 概説編 - Qiita
  • 球面上にランダムで置いたプロットをなるべく分散させたい - Qiita

    (2015/07/15 9:30 追記) 結論から言うと、球面上に一様分布する関数を使うことで分散できたので、最終的なコードも含めていちばん最後に追記しました。 最近Processingで遊んでいて、「3D空間に三角関数を使ったプロットをいっぱい置いて球面を作る」というコードを書いていたんだけど、一部にプロットが集まってきてしまうのが気になっていた(ちょっとわかりにくいけど、下の画像でいうと中心左寄りの部分)。 そこで、乱数の生成処理を工夫して、ある程度ランダムでプロットを置きつつも一部に集中してしまうのを回避しようといろいろ試してみたので、その内容をメモる。 (途中からそれって乱数なの?みたいな気分になってきたけど、考えがまとまらなくなりそうだったので気にしていません……。) 元々のコードはこんな感じ。このコード自体はこのサイトを参考にして作った。 private static fina

    球面上にランダムで置いたプロットをなるべく分散させたい - Qiita
  • pep8 が pycodestyle に変わった話 - Qiita

    概要 pep8 が pycodestyle というパッケージ名に変わってた Guido氏の提案が事の発端。 https://github.com/PyCQA/pycodestyle/issues/466 pycodelint という案も出てたが、pylint と区別がつかないので却下になってた 同時に pep257 も pydocstyle という名前に変わった https://github.com/PyCQA/pydocstyle/issues/172 自分の周りの影響範囲を軽く調べてみた。 追記(2018/02/27) ツール(ライブラリ)の pep8 の名前が pycodestyle という名前に変わったというだけで、PEP8 そのものには何も変更はないので気をつけてください。 pep8がスタイルガイドのPEP8と一緒だと混同しやすいのでツールは名前を変えようという話です。 pep2

    pep8 が pycodestyle に変わった話 - Qiita
  • ビジュアルプログラミング言語「vvvv」をはじめよう! - Qiita

    「VVVV Advent Calendar」 を作るためにアカウントを取ったので、自分のブログ記事を転載してみます。 アドベントカレンダーのルール: 「この投稿はVVVV Advent Calendar 2014の"n"日目の記事です。」 みたいに記事の先頭に書いて、http://qiita.com/advent-calendar/2014/vvvv にリンクを張ってください。 Qiita に書いた場合、アドベントカレンダーのページからリンクを張るとこの記事の上部のように自動挿入されます。 あとは自由です。ほんの少しでも vvvv に関係する事なら何でもOK! 掲載場所も自分のブログ、Youtube、SlideShare、なんでもOKです。 まだ4枠くらい空いているので、どなたでも気軽に参加してください。 vvvv ってなに vvvv とはビジュアルプログラミング言語です。 公式サイト:h

    ビジュアルプログラミング言語「vvvv」をはじめよう! - Qiita
  • Amazonがオープンソースで公開したディープラーニングのライブラリ「DSSTNE」を使ってみる - Qiita

    DSSTNEとは? DSSTNEは、Deep Scalable Sparse Tensor Network Engineの頭文字を並べたもので、読み方は“Destiny”と読むらしい。 なぜ今アマゾンがDeep Learning(DL)のオープンソースを発表したのか? DSSTNEは、既存のDeepLearningのオープンソースよりも、データがSparse(疎)なときに高いパフォーマンスを示すため、Amazonのように大量の商品データ、ユーザーデータを持ち、その二つのオブジェクトが購買、評価などの行動をした行動データを持つような疎行列データを持つ場合に強いDeapLearningのオープンソースと言える。 スパース(疎)行列データとは? 疎行列(そぎょうれつ、英: sparse matrix)とは、成分のほとんどが零である行列のことをいう。 スパース行列とも言う。 有限差分法、有限体積法

    Amazonがオープンソースで公開したディープラーニングのライブラリ「DSSTNE」を使ってみる - Qiita
  • VSCodeでPythonをデバッグする - Qiita

    { "version": "0.2.0", "configurations": [ { "name": "Python", "type": "python", "request": "launch", "stopOnEntry": true, "program": "${file}", "debugOptions": [ "WaitOnAbnormalExit", "WaitOnNormalExit", "RedirectOutput" ] }, .... 省略

    VSCodeでPythonをデバッグする - Qiita
  • pip 7.1 で追加された constraints file の使いドコロ - Qiita

    はじめに Python のライブラリをインストールするときに使用する pip に、バージョン 7.1 からある機能が追加されました。 Constraints File と呼ばれるその機能は、あまり有名ではありませんが、使い方によっては非常に便利な機能です。 Constraints File の機能 Constraints File と Requirements File の機能は非常によく似ており、そのフォーマットはまったく同一です。 違いはただ一点、Constraints File はバージョンを制御するだけで、記述したライブラリがインストールされることはありません。 例えば、次のようなファイルがあったとき

    pip 7.1 で追加された constraints file の使いドコロ - Qiita
  • 逆引きpytest - Qiita

    Python その2 Advent Calendar 2015の11日目の記事です。 はじめに 記事では、pytestを使用した際に得たTipsを逆引き形式でまとめている。 また以下のリポジトリに記事の内容を含んだサンプルプロジェクト(Python3.5.0/pytest2.8.4で確認)を置いているため、合わせて参考にして頂ければ。 https://github.com/FGtatsuro/pytest_sample pytestの特徴 pytestはその名のとおり、Pythonで書かれたテストライブラリ。同様のライブラリとしては、unittestやnoseがある。 上記2つのツールに精通していないため、それらと比較した形での評価は下せないが、個人的には以下のような点が特徴的だと感じた。 独自のassertメソッド(ex. assertEquals)を定義せずに、Python標準のa

    逆引きpytest - Qiita
  • たった1人から始める社内テストコード文化

    # -*- coding: utf-8 -*- from __future__ import absolute_import, unicode_literals # テストする関数 def add(a, b): return a + b # テストコード 関数名はtest_ から始めるのがpytestでのお作法 def test_add(): assert add(1, 1) == 2 assert add(1, 2) != 2 >>> $ py.test ../tests/test_add.py =============================================================================== test session starts ================================================

    たった1人から始める社内テストコード文化
  • Pythonのimportについてまとめる - Qiita

    何度もハマるので頭に刻み込む様に調べて習得するよ 前提 検証環境 実行は全てtreeコマンドを実行したパスと同パスでREPLを起動して行っている Pythonは2.7.5 パッケージとは Pythonでは__init__.pyを含むディレクトリをパッケージと言う ただのディレクトリでは再帰的にモジュールを検索しないため、基的には__init__.pyが必要 読み込み時に検索する範囲 実行ディレクトリと同ディレクトリ カレントディレクトリ 環境変数「PYTHONPATH」に列挙したディレクトリ sys.pathに含むディレクトリ sys.pathは絶対パスの文字列リストであり、import sys; print sys.path 等の方法で確認できる 実例 同ディレクトリのメソッドをimportする

    Pythonのimportについてまとめる - Qiita
  • プログラムの依存関係とモジュール構成のこと - Qiita

    みなさん、メンテナンスしやすいプログラムにするための設計に苦労してませんか? 次々と現れるフレームワークやデザインパターンに振り回されてませんか!? プログラムの設計については、パターン周りを中心に長い間多くの人を悩ませているように見えます。例えば MVC などは 1980 年代からあるものなのに、未だに定期的に議論に上がったり改善されたパターンなどが提案されたり、それを元にしたフレームワークが現れたりします。 僕もそういった設計に悩んだ(でる)一人なのですが、最近は新しいパターンも大事とは思いつつも単純に依存関係をきちんとコントロールする事が大事なんじゃないかと思うようになってきました。 そこで、この記事では依存関係をテーマに見通しが良く変更に強いプログラムにするために重要だと思う事を書いていきます。 この記事は大きく前半と後半に分かれています。前半は依存関係そのものの話や疎結合について

    プログラムの依存関係とモジュール構成のこと - Qiita
  • Reactを使うとなぜjQueryが要らなくなるのか - Qiita

    はじめに React(通称 React.js1)を全く知らない、あるいは幾つか記事を見たけどなんなのかピンと来ていない、という人のために書いています。 「jQuery くらいしか知らない」くらいの人に具体的に雰囲気を知ってもらうのが目的であり、すでにやる気がある人向けのチュートリアルではありません。やる気が出れば日語版ドキュメントを読んで手を動かせばあっという間なので、そこまでの興味が出ることを目標にしています。 以降では ES2015 (ES6) の文法(アロー関数とか)を使っています。この部分が怪しい人は先にアロー関数と const 文だけでも知ってから先に進んでください。 以下の説明中、このアイコンで表すのは(2023 年現在から見た)『昔話』です。新しく自分のコードを書く際には来知らなくていいことですが、古い記事を見たときに混同しないための参考情報として書いてあります。この記事

    Reactを使うとなぜjQueryが要らなくなるのか - Qiita
  • Kivyの環境構築からHello Worldと表示するまで - Qiita

    あらまし 勉強会を開催した際、環境構築に躓いてしまう例が多々あるようなのでメモ。 この方法が正解とは限らないのであしからず。 Kivyとは ちなみに。KivyとはPython製のNUI開発のためのフレームワークのこと。クロスプラットフォームで動作しマルチタッチに対応したGUIアプリケーションなどを比較的容易に開発することできます。 環境構築を行なうため http://kivy.org/#download より、それぞれのOSにあったものをダウンロードしてください。 Windows Windowsの環境構築は比較的容易です。 まず最初に、ダウンロードしたKivy-1.9.0-py*.*-win32-x**.exeを実行します。(*はバージョン番号など) そうすると、同一ディレクトリ内にKivy-1.9.0-py*.*-win32-x** というフォルダができます。中身は画像のような感じです。

    Kivyの環境構築からHello Worldと表示するまで - Qiita