2017/02/03 JaSST’17 Tokyo

Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 1. はじめに インターネット上のほとんどのトラフィックは,**TCP(Transmission Control Protocol)によって制御されていると言われています.TCPの特徴の一つとして,送信ノードが各々輻輳1制御アルゴリズム(Congestion control algorithm)**に基づき,一度に送信するデータ量を調整する,という点があります.本記事では,ns-3で各アルゴリズムの動作をシミュレートし,NumPy + matplotlibで視覚化します. TCPの輻輳制御アルゴリズムを比較するために,ns-3にはtcp
連載目次 2016年12月23日にPythonの最新版であるバージョン3.6がリリースされた。本稿ではその中でも特徴的な新機能を幾つか紹介していく。 Python 3.6で追加された主要な新機能 Pythonのドキュメント「What's New In Python 3.6」や、そのリリースノート(英語)にはPython 3.6で追加された機能や、変更点がまとめられている。 大まかなところを拾っていくと、構文的には以下のような機能が追加されている。 フォーマット文字列リテラル: いわゆる文字列補間 数値リテラルでのアンダースコアの使用: 「123456」を「123_567」などと記述可能 型注釈: 関数のパラメーター/戻り値の型に加えて、変数にも型注釈を付加可能に 非同期ジェネレータ: Python 3.5の非同期イテレータに加えて、非同期ジェネレータもサポートされた 非同期内包表記: 「a
uuidはそれぞれ衝突しないIDを実装者が自由なタイミングで生成できる仕組みです。 iOSアプリを開発してる人なんかだと、ベータ版ユーザさんからかき集める例の16進数文字列というと分かり易いかも? 一応、理論上は衝突し得ますが 仮に毎秒数億個以上のスピードでUUIDを作ったとしても,人の一生どころか宇宙が誕生してから現在に至るまでの年月(約137億年)作り続けても重複などまずありえないほど UUID | 日経 xTECH(クロステック) との事なので、まぁあまり気にしなくて良さそう。 バージョンは1,3,4,5とあり用途によって使い分けができます。 実際のところ たとえば、SHA1を使ってUUIDを出すバージョン5だとこんな感じで動きます。 uuid.uuid5(uuid.NAMESPACE_DNS, 'shuzo_kino') #>> UUID('6ba7b810-9dad-11d1-8
時は戦国 Python には作図ライブラリがたくさんあります。 最もデファクトスタンダードに近く歴史も古い作図ライブラリは matplotlib で間違いないでしょうが、それでも R における ggplot2 ほどの地位は確立していないように思います。 特に、Jupyter-notebook 上ではインタラクティブなグラフを表示するニーズがあり、そこでは静的なグラフよりもさらにライブラリが割拠している印象があります。何がどう違うのかよくわかりません。 そこで今回は代表的な作図ライブラリの Jupyter-notebook 上での 違いについて簡単にまとめます。 注意 各ライブラリはいずれも細かくグラフのスタイルを設定可能で、やろうと思えば同じような見た目のグラフを生成することも可能ですが、今回はできるだけ何も設定せずにプロットした時のグラフを使います。 今回試すライブラリたち matplo
仕事上Pythonでスクリプトをよく書くので、雛形コードを備忘録も兼ねて載せておきます。 python3系の雛形 python 3.3以降を対象としています。 概要 この雛形では以下のことをしています。 コマンドライン引数のパース(clickの利用) 設定クラスの読み込み ログ出力(loggingの利用) ライブラリ読み込み ライブラリの単体テスト ファイルの配置 import logging import os import sys from pathlib import Path import click # 親ディレクトリをアプリケーションのホーム(${app_home})に設定 app_home = str(Path(__file__).parents[1]) # ${app_home}をライブラリロードパスに追加 sys.path.append(app_home) # 自前のライ
Python製インフラテストライブラリTestinfraの環境を構築した 背景 社内ではサーバ系のテストは、手動メインで行われているようなので自動化の仕組みを導入して効率化したい。 以前の職場ではサーバテストツールとしてRuby製のServerspecとInfratasterを取り入れようとしたが、構成管理ツールのAnsibleやFabricと合わせてPython製に統一したいと思った。調べるとTestinfraというテストツールが見つかった。 公式サイトでもTestinfraはRubyのServerspecのようなツールと書かれていたたため使ってみた。 今回は環境構築から動作テストまでの導入部分の手順を記した。 1. インストール手順 1-1. 前提条件 下記環境ができていることとする pipがインストールされていること SSHで接続できるサーバが最低2台あること 1-2. 流れ tes
PIL/Pillowはコンパクトで高速なPython用の画像ライブラリです。 よく使う処理をまとめました(随時更新) PILとPillowの違い 基本的にPILを使う理由はありません、Pillowの方がリサイズフィルタのバグフィックスがされており高品質です。 Pillowの速度について Pillowは非常に高速にチューニングされており、同様なライブラリであるImageMagickよりも常に高速に動作します。 ただし、getpixel/putpixelは非常に低速です、画像生成以外には使わないようにしましょう。 更に高速なpillow-simdもあります。概ねオリジナルのPillowの4〜5倍の速度が出るようです。 pillow-simd https://github.com/uploadcare/pillow-simd 参考 Imageモード一覧 モード 説明
本ページでは、Jupyter Notebook の概要と基本的な使い方について紹介します。 Jupyter Notebook とは Jupyter Notebook (読み方は「ジュパイター・ノートブック」または「ジュピター・ノートブック」) とは、ノートブックと呼ばれる形式で作成したプログラムを実行し、実行結果を記録しながら、データの分析作業を進めるためのツールです。 プログラムとその実行結果やその際のメモを簡単に作成、確認することができるため、自分自身の過去の作業内容の振り返りや、チームメンバーへ作業結果を共有する際に便利なほか、スクール形式での授業や研修などでの利用にも向いています。 このようなノートブック形式で分析作業を行うためのツールとしては、微分積分などの科学技術系計算ソフトウェアの Mathematica (マセマティカ) や Spark, Hadoop などの並列分散処理シ
Private content!This content has been marked as private by the uploader.
エンジニアの島袋です。 DjangoのパッケージであるDjango REST frameworkを使用したWeb APIの開発について、何回かに分けて書いていきたいと思います。 日本語での資料が少なかったので公式ドキュメントとソースコードを見ながら、なんとかかんとか確率させたノウハウっぽいことを紹介していきます。 今回の導入編はほぼほぼ公式チュートリアルの簡略だけど、きっと需要はある...はず。 ちなみに爆速なのは開発スピードであって、APIのレスポンスタイムではないです。 環境構築 さらっと環境を構築します。それぞれの詳しい説明が欲しい人は検索しましょう。 Mac前提で書いてはありますが、WindowsでPytonの環境を入れている人であれば問題ないはずです。 Mac OS X El Capotan 10.11.6 Python 3.5.1 Django 1.10.2 Django RE
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに Python入門系の記事では概して、Pythonのロギング機能の紹介で最初にlogging.debug()といったloggingモジュール付属の関数を呼ぶ方法を案内しています。 Python本家が提供するloggingの「基本チュートリアル」でもこの点で大差ありません。Python本家の基本チュートリアルでは、print()関数を使用する方法もロギングの手段として有効であるとし、タスクに応じてprint()やlogging.debug()を使いわけよう、という流れで記述されています。 コマンドラインスクリプトやプログラムで普通
とりあえずすぐ動く!Dockerを使い、Python3, Flask, MySQL開発環境を構築する!MySQLFlaskDockerPython3 はじめに 「優しいIT」という理念の基、ITコンサルタントをしている亀井亮介と申します! 主な仕事は要求分析・要件定義の上流工程から、開発のマネジメントまでしていますが、プライベートでウェブシステム開発をしています! 目的 細かい説明は抜きにして、Git cloneし、"docker-compose up -d"するだけで、Python3, Flask, MySQL開発環境を構築します! Dockerをインストールしていることが、前提となります! 「とりあえず動くところが見たい!」というせっかちな(私のような)方は、「1. 動作するまでの手順」を見てくださいね! 2章以降は、各項目の説明をしています! Githubにファイルを上げているので、
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 元記事: Awesome Python Awesome List in Qiita Awesome Ruby Awesome Java Awesome JavaScript Awesome Node.js Awesome Go Awesome Selenium Awesome Appium 管理パネル 管理インタフェース用ライブラリ ajenti - サーバ用管理パネル. django-grappelli - Django 管理インターフェースのためのジャズスキン. django-jet - 改良された機能を備えた Django 管理イ
公式サイトは日本語がおかしい Pythonを学習するに当たって、環境構築を行なったあとはPython公式サイトのチュートリアルを用いて学習を進めていこうと考えていました。 ですが、公式サイトのチュートリアルは英語から翻訳されたものなので、ところどころに違和感のある日本語が使用されており、とても読みにくく感じました。 そこで公式サイトで学習を進めるのはとりあえずやめにして、他にいい方法がないかと探しました。 http://biosciencedbc.jp/gadget/human/20150728_hattori.pdf まず、ネット上に転がっていたPythonについて書かれたPDFファイルを拾ってきて、学習を進めました。 Perlというプログラミング言語と比較しながらPythonの良さが説明されています。 しかし僕自身Perlはわからないのですが、Perlを知らない人でも十分に理解しやすい
Python 3.6では、長年に渡って使われてきた、Python の基本的な実装に関わる部分で、重要な変更が行われている。 辞書オブジェクトのレイアウト変更 Raymond Hettingerのアイデア を元に、稲田さん が実装したもので、古くから使われてきたPythonの辞書オブジェクトが修正され、よりメモリ効率の良い形式でデータを格納するように変更された。 この修正により、辞書オブジェクトのメモリ使用量が20〜25%程度改善されている。 バイトコードからワードコードへ Pythonインタープリタは、ソースコードを バイトコード と呼ばれる中間言語に変換し、実行する仕組みになっている。従来、バイトコード はその名の通り8bit長のデータの集まりだったが、Python3.6では、バイトコードのサイズは8bitから16bitに拡張された。 これまでのバイトコードでは 命令コード+可変長の引数
はじめに、この記事は「マルチスレッドで気を付けるべきnの項目」のような、よくまとまったまとめ記事ではないのでご了承ください。 とある条件でマルチスレッドの挙動が意図しないものになり、その後によくよく考えると「なるほど!」となったのでメモしておきます。 というか内容もあってるかわかりません、独自の考察です。詳しい人ツッコミください。 マルチスレッドで問題が発生する条件とある条件では、マルチスレッドを使ってしまうと意図しない挙動が発生すると思っています。 それはめちゃくちゃ重い、Pythonを考慮していないような外部ライブラリを使った場合です。 どういうことか、文字だけでうまく説明できる自信がないので、次のコードで説明しましょう。 ちなみに、今回の記事で説明する検証コードの完全版は以下のURLにアップしてありますので、よろしければご確認ください。 bonprosoft/python_multi
追記 2017/01/29 突っ込み記事を書いていただきました。ありがとうございます。 Pythonの仮想環境構築 2017.01版 コメント欄で@shibukawaさんも述べられていますが、virtualenvとvenvはほぼ同じなので、実質はpyenv or virtualenv(venv)の2択だけど、virtualenvが既にデファクトスタンダードとして地位を確立しているとのこと。 記事内ではpyenv推しをしていますが、virtualenvを使うことにします。僕はライトPythonユーザなので周辺環境はできるだけデファクトに乗っかって楽をしたいので。 はじめに Pythonの環境構築について調べていると、タイトルに挙げたツール名を見かけることがあると思います。要は環境の隔離ツールなのですが、こういったツールは移り替わりが激しく、初級者にとっては何が何やらわかりません。僕自身そこま
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く