タグ

programmingとtipsに関するdoe11のブックマーク (12)

  • ActionScript3 ブロックスコープの ABC - てっく煮ブログ

    as3, tamarin※ AS3 にはブロックスコープがないよ、という内容です一時変数の効率化|_level0.KAYAC という記事に怪しいことが書いてあったので突っ込んでおきます。この記事によると、for の中で変数を宣言するよりも // 中バージョン function foo1():void{ for(var i:int = 0; i { var a:Object = new Object(); } } 外で宣言をしたほうが // 外バージョン function foo2():void{ var a:Object; for(var i:int = 0; i { a = new Object(); } } a が宣言される回数が少ないので効率的だとしています。けれども、これは間違いです。for の中で宣言しても、ブロックのあとでも生き残ります。もっと言ってしまえば、var 宣言する前

  • サイボウズで学んだこと - IT戦記

    はじめに 2010 年 9 月 15 日を持ちまして、サイボウズ・ラボを退職いたしたました。 報告も兼ねて、久しぶりにブログを書いてみたいと思います。 (写真はゆうすけべーさんです) この会社に入って、たくさんの学びと思い出がありました。 その一つ一つをまとめていければ、素晴らしい記事になるのかもしれませんが、僕は文章が苦手です。 ですので、うまく退職のエントリを書き上げることができません。 言葉にできない。そんな感じです。 なので、このエントリはサイボウズ・ラボやサイボウズ社の仲間たちへのありがとうの気持ちをこめて、自分らしく最後まで JavaScript のことを書きたいと思います。 サイボウズでの最後の仕事 僕にとって、サイボウズでの最後の仕事は「JavaScript で新しいユーザーインタフェースを作ること」でした。 そして、その中で始めて複数人による大規模な JavaScrip

    サイボウズで学んだこと - IT戦記
  • Google JavaScript Style Guide 和訳 — Google JavaScript Style Guide 和訳 v0.1 documentation

    この和訳について¶ この文章は Google JavaScript Style Guide を非公式に和訳したものです. 内容の正確性は保証しません. ライセンスは原文と同じく CC-By 3.0 とします. フィードバックは Issue への登録 , あるいは Kosei Moriyama (@cou929 または cou929 at gmail.com) へ直接お願いします. この和訳のリポジトリは こちら です.

  • 文字コード(UTF-8,Shift_JIS,EUC-JP,ISO-2022-JP)についての俺的まとめ - 今日もスミマセン。

    「プログラマのための文字コード技術入門」を読んで自分なりに理解した点をザックリとまとめてみる。 それほど正確性を求めて書いているわけではないので、間違ってる可能性大です。 間違いなどあればコメントなど頂けるとありがたいです。 それぞれの文字コードはどう違うのか? 日語の文字コードは大きく以下の2つに分けられる JIS X 0208 文字集合をベースにしたもの Unicode文字集合をベースにしたもの JIS X 0208 文字集合をベースにした文字コードには、EUC-JP, Shift_JIS, ISO-2022-JP がある。 Unicode文字集合をベースにした文字コードには、UTF-8, UTF-16 などがある。 上で挙げた「文字コード」とは正確には「エンコーディング(文字符号化方式)」の事を指す。 文字符号化方式 文字集合って? 読んでそのまんま”文字の種類の集まり”。「キャラ

    文字コード(UTF-8,Shift_JIS,EUC-JP,ISO-2022-JP)についての俺的まとめ - 今日もスミマセン。
  • 効率的な JavaScript - Opera Developer Community

    This is a translation of Efficient JavaScript, written by Mark 'Tarquin' Wilton-Jones. 効率的な JavaScript ECMAScript eval や Function のコンストラクタを使うのはやめよう eval や Function のコンストラクタにソースコードの文字列を渡して呼び出すとき, スクリプトエンジンはソースコードを実行ファイルに変換する機能を呼び出してしまう. これは性能の上で高くつく. たとえば, 単なる関数呼び出しの数百倍はかるくかかる. eval 関数は特に性質が悪い. eval に渡される引数は前もってわからない. eval は呼び出された環境で評価されるから, 結果としてその周辺環境は最適化できない. その結果ブラウザは周辺コードを実行時にまるまる解釈しないといけない. こ

  • アルゴリズムの紹介

    ここでは、プログラムなどでよく使用されるアルゴリズムについて紹介したいと思います。 元々は、自分の頭の中を整理することを目的にこのコーナーを開設してみたのですが、最近は継続させることを目的に新しいネタを探すようになってきました。まだまだ面白いテーマがいろいろと残っているので、気力の続く限りは更新していきたいと思います。 今までに紹介したテーマに関しても、新しい内容や変更したい箇所などがたくさんあるため、新規テーマと同時進行で修正作業も行なっています。 アルゴリズムのコーナーで紹介してきたサンプル・プログラムをいくつか公開しています。「ライン・ルーチン」「円弧描画」「ペイント・ルーチン」「グラフィック・パターンの処理」「多角形の塗りつぶし」を一つにまとめた GraphicLibrary と、「確率・統計」より「一般化線形モデル」までを一つにまとめた Statistics を現在は用意していま

  • 他プロセスのメモリへのちょっかい@タブコントロール

    2010年12月(1) 2010年10月(1) 2010年09月(1) 2010年08月(2) 2010年05月(1) 2010年03月(1) 2010年01月(1) 2009年12月(1) 2008年07月(1) 2008年04月(2) 2008年03月(3) 2008年02月(1) 2007年10月(1) 2007年08月(1) 2007年03月(3) 2006年12月(1) 2006年10月(1) 2006年06月(1) 2006年05月(1) 2006年04月(6) さて今回は毎度おなじみ@ITの会議室より、タスクバーのタスクボタンの情報を取得したいスレッドをネタに話を進めましょう。 私も以前タスクバーから特定アプリのタスクボタンを隠したいとか思って色々調べてみたことがあります。で、まず初めに知ったのがWindows XPからはタスクバーで使用されるコモンコントロールが変更され、も

    他プロセスのメモリへのちょっかい@タブコントロール
    doe11
    doe11 2010/05/05
    VirtualAllocEx、WriteProcessMemory、ReadProcessMemory
  • ビットを数える・探すアルゴリズム

    作成日:2004.05.04 修正日:2012.09.01 このページは 2003年の9/11、9/28 の日記をまとめて作成。 はじめに PowerPC 系や Alpha などには population count と呼ばれるレジスタ中の立っているビット数を数える命令が実装されている。 集合演算を行うライブラリを実装したい場合などに重宝しそうな命令である。 職場でこの population count 命令について話をしているうちにビットカウント操作をハードウェアで実装するのは得なのか?という点が議論になった。 CPU の設計をできるだけシンプルにするためには、複雑で使用頻度の低い命令は極力減らした方がよい。 例えば SPARC は命令セット中にビットカウント演算があるが、CPU 内には実装しないという方針をとっている(population 命令を実行すると不正命令例外が発生し、それを

  • Shift_JIS では、htmlspecialchars() を使用しても XSS が可能な場合がある - t_komuraの日記

    以下のページに関連して、htmlspecialchars() を使用している場合でも XSS が可能かどうか少し調べてみました。 http://www.tokumaru.org/d/20090930.html その結果、いくつかのブラウザで文字エンコーディングに Shift_JIS を使用していた場合、XSS が可能なことを確認しました。 テストコードは以下の通りです。リンクにマウスポインタを乗せると埋め込んだ Javascript が実行されます。 <?php $_GET['a1'] = "\xf0"; // \xf0 - \xfc で可能 $_GET['a2'] = " href=dummy onmouseover=alert(document.title) dummy=dummy"; header( "Content-Type:text/html; charset=Shift_JIS

    Shift_JIS では、htmlspecialchars() を使用しても XSS が可能な場合がある - t_komuraの日記
  • note.x

    Away3D 2.2出てた。 メジャーバージョンアップ時の恒例行事になったデモは、相変わらず完成度高し。 主なバージョンアップ内容は以下。 Collada のボーンをサポート Triangle キャッシュ機能追加(よくわからんけど、△ポリの情報をキャッシュするんだろうか) バウンディングボックスとバウンディングスフィアの演算機能追加(これもよくわかんねーけど、コリジョン関係かも) PathExtrude, PathAnimator と PathDuplicatorの追加 Simple shadowsの追加 Object based renderers追加(よくわからん) 「.Obj」形式でのエクスポート ElevationModifierの追加 Elevationで作成した形状を AS3 コードでのエクスポート 詳細は、フォーラムの Robによるアナウンス Away3d 2.2: the

  • オーダーを極める思考法

    プログラムの実行に掛かる時間を把握しておくのは、プログラミングを行う上で基的な注意点です。今回は、計算量のオーダーについて学びながら、TopCoderのMedium問題を考えてみましょう。 プログラムの実行時間 業務としてプログラミングをされている方には釈迦に説法かもしれませんが、プログラムの実行に掛かる時間を把握しておくのは、プログラミングを行う上で基的な注意点です。そしてこれは、TopCoderなどのコンテストでプログラムを組む際にもよく当てはまります。通常、こうしたことは感覚的に理解している方がほとんどだと思いますが、具体的にどれくらいのループを回すと何秒掛かる、といった基準を持っている人は少ないのではないでしょうか? 非常に基的なことですが、プログラムの実行時間に関して再確認しておきたいと思います。 TopCoderの制限に関して TopCoderでは、実行時間およびメモリ使

    オーダーを極める思考法
  • 連載:C# 3.0入門 第1回 ラムダ式 − @IT

    C# 3.0とは何か? C#も順調にバージョンアップを重ね、ついに「3.0」である。連載を開始するに当たり、前置きとしてこの連載で扱うC# 3.0とは何かを簡単に紹介しておこう。 C# 3.0は、動的かつタイプセーフなオブジェクト指向プログラミング言語である。「動的」とは、実行するまで内容が確定しない要素が多いことを意味し、「タイプセーフ」とは、あらゆるデータに「型」が存在し、コンパイル時、あるいは実行時にそれが厳格にチェックされることを意味する。そして「オブジェクト指向プログラミング言語」とは、データとプログラムの入れ物である「オブジェクト」を前提とした言語であることを示す。 しかし、これらの特徴はC# 2.0から継承されたものであって、必ずしもC# 3.0固有のものではない。C# 3.0ならではの特徴とは何だろう? 筆者の個人的な印象だが、C# 3.0は言語が持つ個々の機能について技術

  • 1