メリークリスマス。フレンズのいない家でファミチキを一人食べる寂しさに怯えてはいませんか? フレンズは待っていてもやってきません!外に出てフレンズを捕まえよう!そう思い立ち開発されたのが今回紹介するクソアプリ、「けものぷよ」です。 Special Thanks to けものフレンズ たのしいしくみ 外に出る 手持ちの携帯でフレンズを取る フレンズが落ちてくる フレンズが3つそろうと消える たのしー! (きえてしまってはフレンズが集まらないのでは・・・という指摘は受け付けません。かれらは夢のパークへいったのだと思います)。 たのしいアーキテクチャ 写真を撮る IFTTTで画像を転送 TensorFlow Object Detection APIでフレンズを発見する 物理エンジンでフレンズが落ちてくる たのしー! たのしいを実現するフレンズ TensorFlow Object Detection
背景 仕事をしているとき、業務に関係ない情報を閲覧していることって誰でもありますよね? そんなときに背後にボスが忍び寄っていると気まずい思いをします。もちろん急いで画面を切り替えれば良いのですが、そういう動作は逆に怪しまれることになりますし、集中しているときは気がつかないこともあります。そこで怪しまれずに画面を切り替えるために、ボスが近づいてきたことを自動的に認識して画面を隠すシステムを作ってみました。 具体的にはKerasを用いてボスの顔を機械学習し、カメラを用いて近づいてきたことを認識して画面を切り替えています。 ミッション ミッションはボスが近づいてきたら自動的に画面を切り替えることです。 状況は以下のような感じです。 ボスの席から私の席まではだいたい6,7mくらいです。ボスが席をたってから、4,5秒で私の席に到達します。したがって、この間に画面を隠す必要があるわけです。時間的余裕は
はじめに 今回はPython製のWebサーバ&WebフレームワークであるTornadoを使ってチャットを作ってみます。Tornadoを使う理由は、デフォルトでWebSocketに対応しているため、リアルタイムのサービスを作りやすいからです。 使うもの 使うものは以下の2つです。 Tornado jquery.ui.chatbox サーバサイドにTornado、クライアントサイドにjquery.ui.chatboxを使います。jquery.ui.chatboxを使うと比較的楽にチャットを作れます。 コード サーバサイドでメインの処理をしているのは以下のコード。waitersとmessagesに接続している人と送られてきたメッセージを記録しています。 class ChatHandler(tornado.websocket.WebSocketHandler): waiters = set() l
以下にあげる観点から検討し、総合的に良さそうだと思ったBottleを選びました。 Python3に対応している 今回のISUCONではPython3を使いたいと思っていました。 3が出てから何年も経っていますし、主要なライブラリの2/3両対応も進んでいます。 Pythonでは2から3になっても大きく見た目や書き方が変わるようなことはなく、3系を使ったことのない2系のユーザーでも問題なく読めるし書けるという点がありました。 有名どころのフレームワークはPython3に対応していましたので、どれも使えそうでした。 依存が標準ライブラリのみ ISUCONでは短時間で問題を解決する必要があり、出題側としてもそこに集中してもらいたいので、フレームワークの学習コストが低いことが求められます。 Bottleが依存しているのは標準ライブラリだけです。標準ライブラリであれば使い慣れ把握していることが期待でき
※こちらの記事は、プロスタ編集部が現在大変人気の高いPythonの文法記事を公開することで、皆様の学習にお役に立ちたい意図で投稿しております。 参考サイト:PythonのWebフレームワーク4種比較 PythonのWebフレームワーク4種比較 Webフレームワークは、Web開発において頻繁に利用される機能をあらかじめ作ったもので、「frame work」の名のとおり骨組みや枠として利用するものになります。 フレームワークを使用することで ・記述量が減る ・プログラミングの書き方を、ある程度統一することができる ・「○○フレームワークの経験がある人」のように、人材を集めるのが容易になる といったメリットがあります。 Web開発においては、このフレームワークを使用して開発することが非常に多いです。 今回は、DjangoやBottleなど、PythonのWebフレームワークを4つご紹介します。
何度もハマるので頭に刻み込む様に調べて習得するよ 前提 検証環境 実行は全てtreeコマンドを実行したパスと同パスでREPLを起動して行っている Pythonは2.7.5 パッケージとは Pythonでは__init__.pyを含むディレクトリをパッケージと言う ただのディレクトリでは再帰的にモジュールを検索しないため、基本的には__init__.pyが必要 読み込み時に検索する範囲 実行ディレクトリと同ディレクトリ カレントディレクトリ 環境変数「PYTHONPATH」に列挙したディレクトリ sys.pathに含むディレクトリ sys.pathは絶対パスの文字列リストであり、import sys; print sys.path 等の方法で確認できる 実例 同ディレクトリのメソッドをimportする
subprocess — Subprocess management¶ Source code: Lib/subprocess.py The subprocess module allows you to spawn new processes, connect to their input/output/error pipes, and obtain their return codes. This module intends to replace several older modules and functions: Information about how the subprocess module can be used to replace these modules and functions can be found in the following sections.
Pythonのsubprocessモジュール内の機能を用いると、外部プロセスを実行して標準入出力を扱ったり終了ステータス(プロセスの戻り値)を取得したりできる。 同モジュールはバージョン2.4で追加されたものだが、これよりも新しいバージョンのPythonが既に十分普及しており、使う上でバージョンを気にする必要は基本的にはないと考えられる。ただし、バージョン3系で新しく追加された機能も一部存在し、古いバージョンでは使えない。 元の記事は2008年4月と2010年4月に書かれたが、内容を大幅に見直してサンプルコードも含めて大部分を書き直している。 Pythonの各実装(CPython/PyPy/Jython/IronPython)についてPython言語の基本文法や型などに関する個人的まとめ共通した引数指定最初の引数入出力関係の引数高レベル処理低レベル処理使用例高レベル処理の使用例低レベル処理
python でコマンドを実行するには subprocess モジュールを使う 以前にも書いたんだけど、気になったので、再度調べ直した。 os.popen があるじゃないと思われるかもしれないが、os.popen は内部的に subprocess (shell=True)を使ってるので同じことである。 後述するが、シェルインジェクションも考慮すると、shell=Falseにするべきなので、考えなしのos.popen利用は避けよう。 suprocessでコマンドを実行する 単純にコマンドを実行するには、subprocess.call を使うのが楽ですね バッククォート ` やos.system のかわりに subprocess .call() を使うようです。 import subprocess cmd = "sleep 30" proc = subprocess.call( cmd , s
フィードバックを送信 Python 開発環境の設定 コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 このチュートリアルでは、 Google Cloudで動作する Python アプリの開発など、Python 開発用のローカルマシンを準備する方法を説明します。 開発環境がすでに設定されている場合は、Python と Google Cloud を参照して、 Google Cloudで Python アプリを実行する方法の概要を確認してください。 ヒント: すぐに始める場合は、Cloud Shell Editor が Google Kubernetes Engine と Cloud Run アプリケーションの開発サイクル全体をサポートします。Cloud Shell エディタは Code OSS に基づいており、Google Cloud CLI と Cloud C
このクイックスタートでは、ショート メッセージを表示するアプリを作成してデプロイする方法を説明します。このクイックスタートのサンプル アプリケーションは、app.yaml ファイルでランタイム バージョンとオペレーティング システムを指定することで、Python のサポート対象のバージョンで使用できます。 始める前に Google Cloud アカウントにログインします。 Google Cloudを初めて使用する場合は、 アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。 In the Google Cloud console, on the project selector page, select or create a Goog
なんで今まで知らなかったし、という感じです。 pyenv global 2.7.13 3.6.0 僕は anyenv を使って複数のバージョンを切り替えて使っているのですが、 pyenv であれば、 pyenv install --list でインストール可能なバージョンを調べつつ、 pyenv install 2.7.13 などのようにバージョンを指定してインストールし、 実際にそのバージョンを表で使うときは pyenv global 2.7.13 などと入力して使ってました。 Python2 系と、 Python3 系の間には互換性がないため、 それぞれのアプリケーションで2から3にアップデートしたとかしてないとか、 色々と対応がネックになるところです。 Python3 系が使いたい時は pyenv install 3.6.0 のように、 表で使えるようにグローバルを切り替えて使ってい
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く