目指せプログラマー!にようこそ。 当サイトはこちらに引っ越しました。 お手数をおかけしますが、上記サイトへご移動くださいませ。
node.js のような非同期APIを使ったプログラミングに拒絶反応を示すエンジニアが多い理由の一つが、非同期APIと例外処理の相性の悪さだ。 Javascript の場合、例外処理はこんな感じに記述する。 function f(i) { try { throw new Error('an error #'+ i); } catch(e) { console.log('Error caught:', e.message); } } ところが、これに非同期APIが絡むと、とたんに分かりにくくなる。例えば下の例。 function f(i) { try { setTimeout(function() { throw new Error('an error #'+ i); }, 1000); } catch(e) { console.log('Error caught:', e.message)
はじめに こんにちは、Python界の情弱です。最近は、以前に比べてPythonを触る人が増えてきたような印象ですが、それでもやれeasy_installだ、やれvirtualenvだと言われても、どうやって設定したらよくわからない、という発言をちらほら見かけています。 でもぶっちゃけ超簡単なので、とりあえず初めてPythonの環境設定する人はこれをコピペで動かして下さい。 (2017.01.26追記) 注意:この記事はもう古いので、Python2をいまから使い始めるなんていう奇特な人以外は次の記事を読んで下さい。 ymotongpoo.hatenablog.com 要点 はまりどころは多分次のどれかだと思う Pythonのバージョンをどれ使っていいかわからない 「easy_installを使え」と言われるがeasy_installというパッケージが見つからない virtualenvの入れ
先日こんな実験をして、大量のオブジェクトを作った時にはそのオブジェクトが持っている__dict__の1048バイトが無視できなくなってくることを確認した: Pythonでメモリ消費量のプロファイルを取る 今日はその解決編。先日のコードに1行書き足してみよう。__slots__で始まる行がそれだ。 from guppy import hpy h = hpy() N = 100000 class Hoge(object): __slots__ = ['x', 'y', 'z', 'a', 'b', 'c'] def __init__(self): self.x = 1 self.y = 1 self.z = 1 self.a = 1 self.b = 1 self.c = 1 x = [Hoge() for x in range(N)] print h.heap() これによって、変更前ではH
TypeScript なる JavaScript 系の新言語が Microsoft から発表されました。既に使えるようになっていて、 npm がインストールされていればコマンド一発で使えるようになります。 この TypeScript ですが、 JavaScript のスーパーセットなので既存のコードは既に TypeScript でもあるし、 TypeScript の記法を使ってコンパイルすれば JavaScript にも変換できるという代物です。 言語自体は Class や private 修飾子などが用意されていますが、これらが JavaScript に展開されたときには function と prototype になったり、跡形も無くなったりします。つまりは、開発中のみの制約として機能します。 この手の言語が登場すると、果たして Titanium Mobile では使うことができるの
久々に記事を書くわけですが日本語を忘れています。 前置きはさておき、タイトルの通り Python 用 Web フレームワークを作ったわけです。 Shimehari : moderate framework for Python. http://shimehari.hageee.net 具体的にどういう使い方ができるのか、どういうコードを書けばいいのかといったことはドキュメントや公式サイトで解説しているので、 この記事ではなぜ作ったかだとか、今後どうして行きたいだとかそういった内部事情?的なことを書いていこうと思います。 欲しかったから作った 作った理由としてはそれに尽きます。 他の誰でもなく自分が欲しかったから自分の欲しい物を作っただけです。 Python で何か作るとき ちょっとした規模の物なら flask、 しっかり作るなら django という選択肢が割とメジャーなのでは
ここ数日、 node.js で色々と作りはじめているのだが(node.js が一番力を発揮するのは、xmpp server や、push notification server のようにソケットを開きっぱなしにして非同期通信をするケースだと思うのだが、それについては来週のメルマガで詳しく解説する)、これで思い出すのが Microsoft 時代の「"thread hog" 退治」だ。 "thread hog" とは私が作った造語で、"memory hog" (メモリをやたらと使うプログラムのこと)と同じように、thread を不必要に作るプログラムのこと。 最初に出会った thread hog は、Microsoft が作っていた proxy server だった。コネクションが1000を超すとやたらと遅くなり、しまいには落ちてしまうという欠点を持っていたため、一時は「出荷出来ないところか、
This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support. How you write your JavaScript code can have a big impact on your app's performance. Learn how to avoid common mistakes and how to architect your app for performance. Avoid unnecessary DOM interactions In the Windows Store app using JavaScript platform, t
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く