Python の repr(float) は、 float(repr(float)) が保証される最短の表現を返します。 実装には netlib の dtoa を使っています。 この dtoa より速い実装が世の中にはあって、 V8 なんかで使われているようです。 github.com float の repr の実装をこの速…
会社のBlogにも書いたのですが、ISUCON 8 予選で負けてきました。 さて、 ISUCON の初期実装の定番として、初心者が書いたようなSQLやコードになっている点が挙げられます。 今回の Go の初期実装もその定番にもれず、初心者がやりがちな、Goの良さを殺して…
OSSメンテナをしていると他人のPRやブランチをチェックアウトして何かを確認したいということは頻繁にあって、いちいち git remote add して fetch してってのが面倒なので Github 製の Github CLI クライアントである hub を愛用している。 でも hub コマン…
Google I/O 2018 で GAE/node.js Standard Environment が発表されました。 www.youtube.com 以下、「Python 3 早く来い!」の視点で注目点をピックアップしていきます。 9:00 頃から、 node.js Standard Environment が in a few weeks で登場すると発表 13…
Red Hat Enterprise Linux 7.5 がリリースされ、そのリリースノートで "Python 2 has been deprecated" とアナウンスされました。 Chapter 54. Deprecated Functionality - Red Hat Customer Portal Python 2 has been deprecated Python 2 will be replaced…
rcmdnk.com 大分混乱した状態になってしまったので、今年何が変わってきたのか、今回の変更でどこまでもどったのかを整理しておきます。 1/19 python という formula が python コマンドをインストールしなくなりました。 python コマンドを起動すると、通常…
以前からアナウンスされていた 通り、 3/1 (日本時間では 3/2 になるかも)にデフォルトの Python が Python 3 に切り替わる予定です。 現在そのプルリクエストがレビュー中です。 github.com 具体的には、今まで "python" という formula は Python2.7 で…
今のメイン端末は Zenfone 3。 会社の補助制度が使えたのと、最近アズールレーンなるゲームをやっててローディングや一覧画面のスクロールの重さに耐えかねて。 ZF3 の Snapdragon 625 はなかなかいいバランスのSoCではあるのだけれど、シングルスレッド性能…
Python 3 で文字列が Unicode になりました。というだけで感のいい人は分かるかもしれません。 はい、大文字小文字の判断も ASCII じゃなくて Unicode になります。 In [6]: re.match("[a-z]", 'ı', re.I) Out[6]: <_sre.SRE_Match object; span=(0, 1), match='ı'> この文字は LATIN SMALL LETTER DOTLESS I</_sre.sre_match>…
ジェネリクスの話題になると常に出てくるのが、 for ループの代わりに関数型スタイルで書きたいという要望です。 for ループで書くのは、可読性が悪く、筋力がいるとまで言う人もいます。 しかし、ジェネリクスが追加されても、このスタイルのプログラミング…
kmizu.hatenablog.com Twitterである程度レスをしたのですが、やはり繰り返される話題なので残る形で書いておきたいと思います。 Goユーザーの中で、ジェネリクスがなくても構わないと主張するユーザーへの批判はしたけど、Goユーザー全てがそうだと思ってい…
なんども繰り返される話でうんざりなんだけど、繰り返されるたびに反論するのもアレなので、URL貼れるように記事にしておく。 Goが頑なにジェネリクスいらないというだけ他の言語勢から失笑買ってるというのは自覚して— {{alert()}} (@mizchi) 2017年9月19日…
requestsなどの作者として有名な、HerokuのKenneth Reitzさんが、とてもうれしいグラフを公開してくれていたのでシェアさせていただきます。 % of Heroku builds using Python 3: (it's the blue) pic.twitter.com/clUiZd0b01— Kenneth Reitz (@kennethreit…
XPS13のQHD+モニターはグレア液晶で、FullHD液晶ならアンチグレア液晶です。 ノートPCを使うのがリビングでベランダを背にする位置が多く、明るい時間帯はかなり反射が眩しくなるのでアンチグレアの方が良かった。 Dellに限らず、2-in-1じゃないクラムシェル…
DELLアンバサダープログラムでXPS13のモニターに当選し、今日届きました。これから約1か月モニターしていきます。 モニターに応募した理由は、ちょうど今使っている ThinkPad X 250 の次のノートを物色していたからです。 XPS 13 以外の候補は、 X1 Carbon (…
リリース日が去年の12月なんでもう時間経っちゃってるんだけど、一応日本語でアナウンスしておきます。 MySQLドライバの go-sql-driver/mysql が、 Go 1.8 の新機能サポートの前に安定版リリースしようということで、 v1.3 のタグが打たれました。 master ブ…
昨日 mysqlclient 1.3.10 をリリースしました。 今までは Windows 版の wheel は Python 2.7 だけに提供していたのですが、 1.3.10 からは 3.5 と 3.6 だけに提供して 2.7 はドロップしました。 そもそも今まで Python 3 に wheel を提供できてなかったのは…
Adopt cachecontrol 0.12.0 with msgpack support というコミットがありました。 どうやら CacheControl というのが pip が使っている requests 用のキャッシュライブラリで、その最新版が msgpack を使っているようです。 前のバージョンはバイナリデータを…
ISUCON の練習で、Azureの「開発者プログラム特典」という1年間限定で毎月3000円の無料枠を使い始めたのと、副賞でさらに無料枠を貰えそうなので、最近一番 IaaS を使ってる Python のベンチマーク環境として Azure も使ってみています。 ラップトップPCだけ…
Python 3.6 に取り込まれた dict の新実装などでコアコミッターに興味を持ってもらい、 Core Developer (要するにコミッター) に推薦しようか?という提案をもらいました。 最初はコミッターとか面倒そうだし、コミットメッセージとかNEWSエントリー(通常パ…
Python 3.6b1 がリリースされましたね。(フライング) beta1 ということで、 3.6 に向けた新機能の追加は (provisional package を除いて) 終了です。ただし、仕様が確定したと言うわけではなくて、beta版に対するフィードバックを元に新機能を修正したり、…
うーん、structural subtypingとダックタイピングは同じものなんだろうか。— Yukihiro Matsumoto (@yukihiro_matz) 2016年9月8日 https://t.co/5Rv86piThCwikipediaによると似て非なる物のようですね。 https://t.co/VwIg39h5M0— INADA Naoki (@methane) 201…
会社のBlogに書いた通り、現在新しい dict の実装を試しています。 また、 shared key を削除して実装を削れた分、別の効率のいい特殊化 dict を実装して、 compact + shared よりも高い効率を狙うこともできます。 今はあるアイデアのPOCを実装中なので、採…
先日の記事 で紹介した、 manylinux1 wheel を作ってみます。 manylinux1 docker image ビルド環境を Docker image として公開してくれています。 Github manylinux Docker (amd64) Docker (x86) docker pull quay.io/pypa/manylinux1_x86_64; docker pull q…
paulownia.hatenablog.com 文字列型が immutable な言語では、文字列にループで文字を追加していくようなコードは、 Java でいえば StringBuilder などの方法を使えというのが昔から言われていた。しかし、 Java でも Python でも、文字列の右側に追加してい…
PEP 0513 -- A Platform Tag for Portable Linux Built Distributions | Python.org 今まで Windows と Mac では、ビルド済みのバイナリ形式の拡張モジュールを wheel にして配布することができました。 WindowsやMacに比べてLinuxは環境の差が激しいのでバ…
japan.zdnet.com JS界隈が大騒ぎになった事件だけど、こういった事件自体は完全に防ぐことは不可能だと思う。 今回は依存ライブラリが削除されるだけで済んだけど、 npm install するだけで ~/.ssh ディレクトリを zip にしてどこかに送信するような悪質な攻…
今日、 GAE が Ruby と node.js をサポートするという発表がありましたが、実際のところ、今まであった Managed VM が GAE flexible environment と名前を変えたようです。 そして GAE flexible environment の公式イメージとして、 Ruby, node.js などに加…
1冊めは入門書。結城さんの Tweet を見て知った。 www.amazon.co.jp プログラミング自体が初めてという人向けの入門書なので真面目に読む気は無いんだけど、応援のために買ってみた。 中身をかいつまんで読んでみたんだけど、例えばよくある間違いのコードを…
このブログで何度か紹介している TechEmpower FrameworkBenchmarks では、フレームワークごとにテストを Travis で回している。 Python をビルドするときには速度重視で make profile-opt でビルドしたいのだが、ビルド時間が長くなり、 Python 2 と 3 の両…