This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
サーバ側 サーバ側のプログラムは基本的に、 socketでソケットを作成 bindでアドレスとポート番号を指定 listenでクライアントの接続を待つ acceptでクライアントの接続を受け付ける sendやrecvを使ってクライアントのデータの送受信を行う closeでソケットを閉じる の流れで行う。 tcp_server1.py from __future__ import print_function import socket from contextlib import closing def main(): host = '127.0.0.1' port = 4000 backlog = 10 bufsize = 4096 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) with closing(sock): s
photo by Ryan Johnson 自分がググり倒した成果を書き連ねています。 この記事では、主にLinux環境を前提としているので注意してください。 WindowsやMacでも同じような感じでいけるかも知れないです。 スタンドアロン アプリケーションPythonはスクリプト言語であるため、インタプリタがインストールされている環境でしかプログラムを実行することができません。さらに、プログラムに外部パッケージ(Numpy、Scipyなど)を使用している場合は、それらのインストールも必要となります。 一方、C++やJavaなどのコンパイル言語では、ソースコードをバイナリコードへコンパイルするため、大体どのような環境でも動かすことが可能です。 しかし、Pythonをメインで使っているプログラマとしては、Pythonのコードもどのような環境でも動くスタンドアロンアプリケーションに変換したい
Python: 3.3.2 win32 cx_Freeze: 4.3.2 # hoge.py print("hoge hoge hoge") # setup.py from cx_Freeze import setup, Executable setup( name='hoge', options = dict( build_exe = dict( create_shared_zip = False, ### library.zip ではなく hoge.zip を生成する append_script_to_exe = True, ### .zip を .exe に含める packages = [], excludes = ['email', 'unittest', 'doctest', 'pyreadline', 'pdb', 'bdb', 'dummy_threading'], incl
概要 先日こちらの記事でgraphvizを使って状態遷移図を作成する方法をご紹介したのですが、これでもまだ複雑で記述量も多いのでとっつきづらいと思い、このgraphvizのソースコードを自動生成して画像を出力するコマンドラインアプリケーションを作成しました。 このアプリケーションはPyagram(ぱいあぐらむ)といい、その名前から察しがつくかと思いますがPythonを使用して開発されました。開発期間は1日でした。 このPyagramを使うことで複雑な状態遷移図を比較的簡単に作成することができるようになりますので、以下でご紹介したいと思います。 状態遷移図の描き方についてはこちらの記事を参考にしています。 出来上がりの図は以下のような感じになります。 図には幾つかのオブジェクトがあります。 図のタイトル(最上段) ビュー(二重丸) サーバサイドの処理(灰色の背景の一重丸) 画面遷移(破線の矢
[django][python] 久しぶりにdjangoのORMのことについて書いてみる はじめに djangoのORMは正直好きじゃない。そもそも挙動が正確には把握しづらくてなんだか覚えにくいと感じる所がある。また、ドキュメントに書かれたとおりの書き方では不足することもあったりして、結局生のSQLを書かなければいけなかったりする場合もある。とは言え、ORMでできることはORMの機能を使ってやったりすると良い。 queryのチューニングについて select_related() と prefetch_related() について queryのチューニングについて書いてみようと思う。queryのチューニングと聞いて真っ先に思い浮かぶのは「N+1クエリーの除去」かもしれない。関連オブジェクトの取得が対象となるオブジェクトの個数だけ実行されるようなもののこと。これには、 select_relat
2016 - 06 - 01 ニューラルネットワーク及びディープラーニングについて AI シェアする Bookmark! Facebook Twitter Google+ Pocket スポンサーリンク ニューラルネットワーク コンピュータは従来計算処理は得意としますが認識技術などの学習能力を苦手とします。 そこで脳神経細胞のニューロンの仕組みをモデルにし,コンピュータに学習能力を持たせることにより様々な問題を解決するアプローチとしてニューラルネットワークと呼ばれるモデル(アルゴリズム)が確立されます。 これにより,特徴量に基づいて画像認識,文字認識を可能にする畳み込みニューラルネットワークと呼ばれるモデルが使われ始めます。 ディープラーニング 30年前からニューラルネットワークの考えは存在し,入力層,隠れ層,出力層と呼ばれる3層の構造で成り立っていました。 単純に考えれば層の数を増やせ
Many of the experiences and interactions people have on Facebook today are made possible with AI. When you log in to Facebook, we use the power of machine learning to provide you with unique, personalized experiences. Machine learning models are part of ranking and personalizing News Feed stories, filtering out offensive content, highlighting trending topics, ranking search results, and much more.
計算は、慣れない人のアタマには負担だが、規則通りに進めていけばいいという利点がある。 たくさんの要素を扱ったり、複雑に込み入った推論を進めることもまた、人には負担の大きい作業だが、計算の形に変換することができれば、途中過程を規則的な繰り返し作業に置き換えることができる。たとえば機械に手伝ってもらえる。 今回、紹介するのは、数値化/統計的処理が難しい事象や、質的研究について、計算=演算の力を導入するとどんなことができるかという一例※である。 ※ 続くかどうかわからないが Sociology on Pythonシリーズの第一弾でもある。 ブール代数アプローチ(boolean algebra approach) ブール代数アプローチは、 Ragin(1989)によって、真理表とブール代数に依拠した比較分析の手法として、質的比較分析(Qualitative Comparative Analysi
_ Rubyが今のPythonの地位にいない理由 歴史のことなんぞなんも知らんけど、「技術的には今のPythonの地位はRubyでもよかったのに、そうならなかった」のが何故か、その理由を書いてみよう。僕はRubyの歴史なんて知らないし、以下の文章は全部、まるで見てきたかのように書いてますが、適当に書いたくせに何故か断言口調になっている怪文書の類いです。 https://twitter.com/mametter/status/741950239662170112 まめさんの書いた理由リストはどれも関係ない。いやカスってるけど。難しいというのも関係ない。 僕がRubyを知ったころ…最初に書いた通りRubyの歴史なんて知らないので、別に早くもないわけだけど…Rubyというのは全く使われていない言語だった。どっかの好き者がPerlの替わりに単純な処理に使って、「ウフ、美しくかけた、グフッ」とかつぶ
Python を初めて間もない頃、自分も print デバッグしてました。効率の悪さを認識しつつも、IDEを導入してデバッグする方法を調べてセッティングして、という手順が面倒でずっと放置してました。 // 普段は vim で開発してます そうこうしてたら print デバッグではどうにもならないバグにぶち当たり、仕方なくデバッグポイントを置く方法を調べたわけです。するとどうでしょう。 ソースコード中に以下の一文を入れるだけではないですか。 import pdb; pdb.set_trace() たったこれだけで、上の一文を挿入した行で処理が停止し、コンソール上でステップ実行が出来るようになります。最高かよ。 個人的にですが、デバッガー起動中によく使うコマンドとしては以下です。 コマンド 説明 s(tep) ステップイン n(ext) ステップオーバー r(eturn) ステップアウト l(
Deep Learningの訓練終了など任意のメッセージを特定のSlackチャネルに投稿できるボットを作りました。 Yatta Kun プログラミングは不要で curl というコマンドラインツールから簡単に投稿できるので非常に便利です。可愛いくて便利なので作り方を紹介します。 職場などでみんなが使っているワークスペースで実験すると迷惑がかかる可能性があるので、最初は個人の実験用ワークスペースを作ってしまうのが良いと思います。無料でできます。 1. Incoming Webhookをインストール SlackアプリのページからIncoming Webhookをインストールします。Slackアプリページは、 https://[workspace name].slack.com/apps/ から行けます。 workspace name はワークスペース名です。 Incoming Webhook で
This page assumes that you are comfortable with using a terminal and happy to learn how to use a package manager. If you are a beginner and just want to get started with SciPy as quickly as possible, check out the beginner installation guide! The recommended method of installing SciPy depends on your preferred workflow. The common workflows can roughly be broken down into the following categories:
パッケージ† pip や easy_install によるインストールの前に多くの外部ライブラリやfortranコンパイラなどが必要になるので,numpy等の科学技術計算パッケージをインストールするには以下のようなパッケージを一般には利用する: 商用(サポートなしなら無料でも利用できる) Anaconda:無料版でもIntel MKLが使える Enthought Canopy フリー Unofficial Windows Binaries for Python Extension Packages (個人ベースの管理で非公式版) ↑ その他† pyvideo.org:PyCon, SciPy, PyData などの講演ビデオリンク集 100 numpy exercises:練習問題 Pythonidae:Python関連のライブラリのリンク集 SciPy Central:SciPy 関連コ
監訳者まえがき まえがき 1章 Pyの味 1.1 実世界でのPython 1.2 Pythonと他言語の比較 1.3 では、なぜPythonなのか 1.4 Pythonを避けるべきとき 1.5 Python 2 vs. Python 3 1.6 Pythonのインストール 1.7 Pythonの実行 1.7.1 対話型インタープリタの使い方 1.7.2 Pythonファイルの使い方 1.7.3 次は何か 1.8 Python公案 1.9 復習課題 2章 Pyの成分:数値、文字列、変数 2.1 変数、名前、オブジェクト 2.2 数値 2.2.1 整数 2.2.2 優先順位 2.2.3 基数 2.2.4 型の変換 2.2.5 intはどれくらい大きいのか 2.2.6 浮動小数点数 2.2.7 数学関数 2.3 文字列 2.3.1 クォートを使った作成 2.3.2 str()を使った型変換 2.
Pythonは書きやすくて読みやすい、使うのが楽しいプログラミング言語です。本書では、学生や生徒、プログラミングの初心者が、数学の問題を具体的に解く楽しみをPythonを用いて体験します。方程式の解を求めたり、統計や確率を計算したり、放物線運動をプロットしたり、フラクタル図形を描いたり、フィボナッチ数と黄金比の関係を探ったりします。同時に、matplotlibとSymPyの使い方も学びます。数学とプログラミングの両方の知識と技術を身につけることができる、まさに一石二鳥の一冊です。 目次 日本語版まえがき 謝辞 はじめに 1章 数を扱う 1.1 基本数学演算 1.2 ラベル:名前に数を割り当てる 1.3 さまざまな種類の数 1.3.1 分数を扱う 1.3.2 複素数 1.4 ユーザ入力を受け取る 1.4.1 例外と不当入力の処理 1.4.2 分数と複素数を入力 1.5 数学を行うプログラムを
この記事の監修者 レバテックキャリア編集部 レバテックキャリアは、IT/Web業界のエンジニア・クリエイター向けに特化した転職エージェントです。当メディアでは、エンジニア・クリエイターの転職に役立つノウハウから、日々のスキルアップや業務に活かせる情報まで、幅広いコンテンツを発信しています。 【ご自身のデータ分析スキルの価値を知りたい方はご相談ください】 ・市場価値を知りたい方の個別相談会 ・キャリアアップを目指す方の個別相談会 ・転職のタイミングや業界動向を知りたい方の相談会 10分でわかるPythonの開発環境 10分でわかるPythonの開発環境 from Hisao Soyama Pythonを書く前にやっておくべき開発環境の構築についてまとめたスライドです。 Pythonのパッケージ管理ツール「pip」のインストール、仮想環境を作成するモジュール「virtualenv」のインストー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く