r/Pythonで話題になったポストにあーだこーだ言うだけ

The Incredible Growth of Python - Stack Overflow Blog 書き出しだけ抜き出す。 We recently explored how wealthy countries (those defined as high-income by the World Bank) tend to visit a different set of technologies than the rest of the wor…

今やっていること

cを理解したいと思ったのでkiloを読み始めた。 github.com READMEは読みます写経しますといっているが、現状Build Your Ownを読みながらやっている。コードを1行1行読み込んだ方が力はつくのかもしれないが、現状rawモードの使い方もよく分かっていないので…

Pythonのどうしてこうなるの?トリッキーコード集 (part 6)

午前0時は存在しない (Python 3.5以前限定) from datetime import datetime midnight = datetime(2018, 1, 1, 0, 0) midnight_time = midnight.time() noon = datetime(2018, 1, 1, 12, 0) noon_time = noon.time() if midnight_time: print("Time at midnig…

Pythonのどうしてこうなるの?トリッキーコード集 (part 5)

連鎖演算には注意しよう >>> True is False == False False >>> False is False is False True >>> 1 > 0 < 1 True >>> (1 > 0) < 1 False >>> 1 > (0 < 1) False 解説 https://docs.python.org/2/reference/expressions.html#not-in より 形式的には、 a, b…

Pythonのどうしてこうなるの?トリッキーコード集 (part 4)

同じオペランド、異なる結果 解説 変更不能オブジェクトを変更する 解説 スコープ中に定義されていない変数を使う 解説 外側のスコープから消える変数 解説 どこでreturnしても帰ってくる! 解説 真が偽であるとき (Python 2.x系限定) 解説 同じオペランド、…

Pythonのどうしてこうなるの?トリッキーコード集 (part 3)

is not ...はis (not ...)とは異なる 解説 ループ中で定義した関数が、同じ出力しかしない 解説 ループ変数がローカルスコープ外に漏れる! 解説 ○×ゲーム、初手でいきなり勝利! 解説 デフォルト可変引数にご用心 解説 is not ...はis (not ...)とは異なる …

Pythonのどうしてこうなるの?トリッキーコード集 (part 2)

文字列 解説 でっかい文字列を作ろう! 解説 文字列連結のインタプリタによる最適化 解説 こんなところにelse節? 解説 isの不思議な挙動 解説 isと==の違い 256はすでに存在するオブジェクトであり、257はそうではない しかし、同じ値を同じ行で初期化する…

Pythonのどうしてこうなるの?トリッキーコード集 (part 1)

satwikkansal/wtfPython: A collection of subtle and tricky Python examples 原文のライセンスは煮るなり焼くなり自由なアレ 前文雑要約 Pythonはいい言語。 でも初心者には一見わかりにくい挙動をすることもある。 ここでは古典的でトリッキーな例を集め…

Pythonの起動速度問題

Reducing Python’s startup time [LWN.net] Pythonの起動時間は遅い。コア開発者もわかっちゃいる。 起動時間は特にコマンドラインプログラムの実行時間に影響する。他のスクリプト言語より遅いので困る。 Python 3.7の起動時間は2.7より2倍遅い。 基本いろ…

Pythonの裏知識:infのhash値は円周率になっている

redditから拾ってきたネタだよ。独自性もクソもないね(ヘラヘラ) www.reddit.com Pythonで無限大を表す値を得るにはfloat()を使えばよいことが知られている。 >>> float('inf') inf infのhash()を取ると、円周率を表す値になっていることが確認できる。 >>…

Rustでコード補完(Windowsにracer, vim-racer導入)

GitHub - racer-rust/racer: Rust Code Completion utility (この記事はマニュアルの転載と作業ログからなっています。特に引っ掛かったところはありませんでした。) インストール cargoで一発インストールできます*1。 $ cargo install racer rustのバー…

Rustで素数を手軽に求める(primalライブラリ)

この記事は24 days of Rustの内容をなぞったものです。原文はMIT license. Day 2 - primal | 24 days of Rust primalは素数判定、素数列挙、素因数分解、そしてn番目の素数の上界・下界推定を行うことができるライブラリである。アルゴリズムはエラトステネ…

Rustでワールドマップ生成(パーリンノイズ)

概要 プログラミング言語Rustとライブラリ(image + noise)を用いてRPGのワールドマップのようなものを生成した。 このポストではimageとnoiseを使って、以下の画像を作る方法を雑に述べる。マップ生成に本質的な役割を果たすパーリンノイズはライブラリに…

LDR終了のお知らせをStylishで消す

【重要】Live Dwango Reader/LDR Pocketサービス終了のお知らせ|LDR / LDRポケット 開発日誌 モチベーション 期限は8月31日と短く、取りつく島もない。livedoor->dowangoの時のように身請けが起こるのも望み薄と思われる。さっさとinoreaderなど代替に移行…

【翻訳】RustとCSV解析(csv crateチュートリアル):後編

Dual-licensed under MIT or the UNLICENSE. Rust and CSV parsing - Andrew Gallant’s Blog 前編はこちら 翻訳のライセンスはMIT LICENSE パイプライニング 検索によるフィルタ 人口によりフィルタする パフォーマンス アロケーションを償却する Serdeとゼ…

【翻訳】RustとCSV解析(csv crateチュートリアル):前編

記事をqiitaに転載しました。アクセス的にこちらを見ている人はほぼ皆無と思われますが、修正がある場合qiitaでかけていくのでどうぞ… qiita.com Dual-licensed under MIT or the UNLICENSE. Rust and CSV parsing - Andrew Gallant's Blog 後編はこちら 翻…

翻訳について

【翻訳】Rustにおけるパフォーマンスの落とし穴 - $ Read \overset{\mbox{me}}{\rightarrow} Blog$ 以下、上のやつを翻訳している時考えたことを思いつくまま羅列する。まともな英語教育を自分に施していないので、こういう書き方をしていいものかと悩んだ。…

【翻訳】Rustにおけるパフォーマンスの落とし穴

Public Domain Mark 1.0 Rust Performance Pitfalls — Llogiq on stuff 全体的に見ると、Rustのパフォーマンスはとてもよいと言える。最も単純な書きかたでコードを書いても、最適化されたC/C++プログラムより2倍遅くなることはないだろう。しかしながら、Ru…

10分

from functools import reduce for _ in range(11): x, y = map(int, input().rstrip().split(' ')) r = [x << i for i, k in enumerate(reversed(bin(y)[2:])) if int(k) == 1] if r: r = reduce(lambda x,y: x^y, r) else: r = 0 print('%d@%d=%d' % (x, y…

brson氏のcookbook

他になんもやる気が起きないのでとりあえず目を通した。error_chain!マクロを使ってunwrap()(a.k.a panic!)の弊害を避けたコードを書いている。雰囲気では読めるのだが、雰囲気以上の理屈がわからないのでよくわからない。そもそもbookのエラー処理の項すら…

Pythonでインスタンス変数を初期化するだけの`__init__`を省略する

こんなクラスを作るとします。インスタンス変数を初期化するだけの退屈なコードです。 class Foo: def __init__(self, a, b, c): self.a = a self.b = b self.c = c foo = Foo(1, 2, 3) だるいですね。 namedtupleを使うと__init__を捨てて楽に初期化できま…

MathJaxをMarkdownと混在させると正しく描画されない現象

MathJax.Hub.Config({ tex2jax: { inlineMath: [ ['$','$'], ["\\(","\\)"] ], displayMath: [ ['$$','$$'], ["\\[","\\]"] ] } }); MathJax.Hub.Config({ tex2jax: { skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'] } }); はてなで数式が正…

Friends (CheckIO)

iterableなsetの対で友人関係を表現するデータ構造Frindsクラスを作る。 Friendsは以下のメソッドをサポートする。 友達の追加add, 同じデータすでに存在するときFalse, そうでないときTrueを返す。 削除remove, データが存在しないときFalse, 存在するならT…

ghosts age (CheckIO)

雑にフィボナッチ数列を作り、雑にゆうれいちゃんの不透明度の数列を作り、indexを取ると答えが合っていた。 ハロウィンネタなのでscaryな解求むということらしいが面白みのない凡庸なクソコードである。 def checkio(opacity): opcs = [10000] fibs = [1, 2…

2つの日付の差分を取る(CheckIO)

2つの日付がタプルで与えられる(year, month, day)。その差分を日数で取り絶対値を返す問題。 from datetime import datetime, timedelta def days_diff(date1, date2): return abs((datetime(*date2) - datetime(*date1)).days) if __name__ == '__main__':…

古諺:もっとも安全なプログラムはコンパイルされないプログラムである

Maniष Goregaokar on Twitter: "The safest program is the program that doesn't compile -- ancient Rust proverb"

2系では使えないPython 3の優れた機能

Python 3で新たに導入された機能であっても、dict内包/set内包、setリテラル、そして__future__.print_functionについてはPython 2.7にバックポートされ未だに使える。 しかしながら、Python 3でしか使えない有用な機能は多く存在する。この記事はそれを紹介…

エネルギー利用図

LLNL がsankey diagramにして出してる。 Energy Flow Charts アメリカだとこんな感じ。 https://flowcharts.llnl.gov/content/assets/images/charts/Energy/Energy_2016_United-States.png ここでのquadの意味について:BTUという熱量単位がある。エネルギー…

clippy入れようとしたらエラー

clippy v0.0.130 build failure on May 3rd nightly · Issue #1723 · Manishearth/rust-clippy · GitHub crxppy.

Chromeで見ているページのURLリンクをすべてコピーする方法( devtoolsを利用して)

想定読者は中途半端だがJS知らないHTML知ってるくらいの人。 $$, map, filterくらいだったら何となく雰囲気で使えるはず(ムリか) devtoolsのconsoleを開く(WindowsならCtrl+Shift+J, MacならCtrl+Option+Jがショトカキー) $$が document.querySelectorAl…