『スクリプト言語間における「lexical closure」の違い』の整理。 http://d.hatena.ne.jp/karasuyamatengu/20101008/1286568265 http://d.hatena.ne.jp/karasuyamatengu/20101007/1286477371 matz 2010/10/09 16:07 えーとですね。まだ、言語ごとにやってることが違うんですよ。 つまり、PerlとRubyはブロック内だけで毎回新しい変数localvarを作ってる(の で、closure間で変数を共有していない)のに対して、Python(関数レベルしかス コープがない)などはもっと広いスコープでlocalvarが有効でclosure間で同じ 変数を共有しています。localvarのスコープがループの中だけの言語 (Ruby,Perl)とclosuresとloc
I want to send a datetime.datetime object in serialized form from Python using JSON and de-serialize in JavaScript using JSON. What is the best way to do this?
ここ数日、Twitter上で appengine に関する発言をたくさん目にする。それを見る限り、「注目をされてはいるが、手を出しかねている人が多い」というのが現状だろう。そこで、私からもひと言。 App Engine は純粋なソフトウェア・エンジニアにとっての天国 私自身、色々な開発環境を試して来たが、私のようにプログラミングが大好きで、新しい言語や環境を学ぶのが楽しくて仕方が無いエンジニアにとっては、「App Engineは天国」というのが正直な感想。SQLやRailsのように一見開発効率を良くしてはくれるが、直感的に実行効率とかが把握できない「補助輪付きプログラミング」と違い、App Engine上でのプログラミングは、ちょっと手を抜くとすぐに実行効率の悪さとして跳ね返ってくる「一輪車プログラミング」。 新しい言語を学ぶのが苦ならApp Engineは避けた方が良い 現時点で、Pyt
はじめまして、gumiの津村です。 現在は解析系の仕事をしたり、ツールを作ったりしています。 今回の話は高速化についてです。 結構長めの文章です。 目次 実行速度の高速化 Python/C API ctypes Pyrex Cython SWIG その他 纏め 実行速度の高速化 高速化といっても色々ありますが、今回は実行速度の高速化についてです。 弊社ではPythonを全面的に採用していますが、そもそもLLは実行速度が遅い言語です。特にC言語のようなコンパイラ系の言語と比べると非常に遅いです。 それでもLL系の言語がここまで使われるようになったのは、開発効率が良いからです。 もはや常識ですね。 しかし、それでも特定の領域ではどうしてもPythonのようなLL系言語では厳しい部分も出てきます。 アルゴリズムを変更しても、ハードウエアを変えても、無理な物は無理です。 速度に問題がある場合の最適
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー 元記事 : Farewell To Microsoft IronPythonを開発していたJim Hugnin氏がMicrosoftを去り,Googleに行くようです。 彼はJava VM上でPythonの実行環境を実装したJythonの作者でもあります。Microsoftで氏は,IronPythonだけでなく,.NET上で軽量言語を走らせるためのDynamic Language Runtime (DLR)も作っていました。IronRubyなどもDLRの恩恵があって実装されています。 また,ほぼ同時に,MicrosoftがIronPython,IronRubyへの直接投資を打ち切ること
22:56 10/09/04 階乗を求める 去年聞いた中で、私が一番感動した式の話。 k! = limn→∞ nk / nCk kの階乗は、「nのk乗 ÷ n個のものからk個選ぶ組み合わせの数」という式で n を無限に大きくしていったときの収束先、である。 特に難しい証明が要るとかではなくて、nCk = n(n-1)(n-2)...(n-k+1) / k! であることを使うと、 limn→∞ nk / nCk = limn→∞ nk k! / n(n-1)(n-2)...(n-k+1) で、n が k に比べて十分大きければ n も n-k+1 もほとんど同じ値なので、 分子も分母もだいたい n を k 個かけているわけでして、 その部分が相殺して、k! が残るという寸法。 (厳密な表現ではないので、気になる人は厳密に証明してください。) 実装 と、この式自体はそんなに不思議ではないのです
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Pythonのメタプログラミング手法の一つ「メタクラス」は,初心者にとっては「なんか強そう/経験値たくさんもらえそう」なアイテムの最右翼だと思う。反面「どうすればいいか/なにができるか」ということがなかなか理解しづらい。 英語のブログを見ていたら,メタクラスの理解に役立ちそうなちょうどよいサンプルを見つけたので,紹介がてら独自の解説を付け加えたいと思います。 メタクラスを簡単に説明すると,「本来コードを書かなければ実現できないような処理を黒魔術的な処理でなんとかしちゃう」ためのテクニックです。コード量を(時には劇的に)減らすことができたり,すっきりした見通しの良いクラス設計を実現できま
Get Ready for macOS Mojave macOS Mojave was designed with advanced technologies to provide cutting-edge performance and robust security. Core ML 2 and the new Create ML framework let your apps deliver intelligent functionality faster and more easily than ever. Maximize the graphics and compute potential of your apps using advancements in Metal 2. Build richer web experiences in Safari. And with up
このドメインは お名前.com から取得されました。 お名前.com は GMOインターネットグループ(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。
Python Numpyの覚書 numpyは行列計算を用いる科学計算に用いるライブラリを用いて色々やってみる。 arrays † arrayは、pythonのlistに対して、色々と数値的な計算が直観的にできるようなもの。 具体的な違いは、 [1,2,3] * 3 >>[1,2,3, 1,2,3, 1,2,3 ]] numpy.array([1,2,3]) * 3 >>> array[ 3, 6, 9 ] となる。同様に、+,-,/などの四則演算を用いることが可能。 ↑ shape † Shapeは行列が何行何列かを教えてくれる。 >> a = numpy.matrix( [ [1,2],[3,4],[5,6] ) >> print a.shape() >> (2, 3) ↑
Spr: The Ramblings Building Cocoa GUIs in Python with PyObjC, Part One / Jun 11, 2008 Introduction Building GUIs for Apple OS X traditionally meant you would code in Objective C. To overcome this issue people have made programming bridges to allow development in other languages. PyObjC is the project that enables Python programmers to take advantage of Cocoa, Apple's development environment. I rec
2010年09月03日05:30 カテゴリLightweight LanguagesMath Algorithm - 0と1を次々と返す簡単なお仕事 ごもっとも。 0と1を次々返す方法 - a2c.get.diary TrueだったらFalseで、FalseだったらTrueにしたい。 なんかそんなことそこかしこで必要で、その為の便利なものが あるのかなぁと思ったんだけど無いぽい Closure 本来は一番おすすめなのだが… JavaScript ()が煩わしいが、perlやrubyよりは自然。 #!/usr/bin/js var flipflop = function(p){ p = !p; return function(){ return p = !p; }; }; var fl = flipflop(); console.log(fl()); console.log(fl()); c
TrueだったらFalseで、FalseだったらTrueにしたい。 なんかそんなことそこかしこで必要で、その為の便利なものが あるのかなぁと思ったんだけど無いぽい。 あれかな、TrueとかFalseを1とか0とかで表現してる時点で情腹な気もする 初めのやつ x = a = (a - 1) * -1 n氏につっこまれる x = 1 - x (修正) n氏のクラス化 class MyInt(int): def toggle(self): return MyInt(1 - self) x = MyInt(1) x >> 1 x.toggle() >> 0 m氏の提案 import itertools i = itertools.cycle([hoge, fuga]) i.next() 最後の思いつき >>> a = [1,0] >>> b = 0 >>> b = a[b] >>> b 1 >>>
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く