ヽ三・w・三ノ XDocumentの文字列出力ではまるの巻

XDocument xDoc = new XDocument();
// 省略

Response.ContentType = "text/xml";

Response.Write(new XDeclaration("1.0", "utf-8", "yes").ToString());

StringWriter writer = new StringWriter();
xDoc.Save(writer);

Response.Write(writer.GetStringBuilder().ToString());



現在のエンコードから指定したエンコードへの切り替えはサポートしていません。リソース 'http://localhost/LightPlayer/GetPlayListNames.aspx' の実行エラーです。ライン 1、位置 57


Response.Write(xDoc.ToString());
でとりあえず回避したけどなんか微妙な気分……

ヽ三・w・三ノ jQuery UIのパフォーマンス的なあれ

jQuery 1.3、1.3.1には、jQuery UI dialogをもっさりさせる呪いが混入されている模様…… 
ヽ三・w・;三ノ


jQuery 1.3 | 1.3.1
jQuery UI 1.5.3 | 1.6rc5
IE6 | 7
で確認。


jQuery1.2.6に戻してもいいけどlive関数使えなくなっちゃう
ヽ三・w・三ノコマッタ

ヽ三・w・三ノ jQueryのパフォーマンス的なあれ

<table>
  <tr class="row">
    <td><a class="lnk1" /><a class="lnk2" /></td>
  </tr>
  <tr class="row">
    <td><a class="lnk1" /><a class="lnk2" /></td>
  </tr>
  <tr class="row">
    <td><a class="lnk1" /><a class="lnk2" /></td>
  </tr>
</table

lnk1のaだけひっぱりたいときに、

var row = $("tr.row");
row.find("td a.lnk1");

とかやったら遅かったので

var row = $("tr.row");
row.children("td").children("a.lnk1");

とかにしたら結構はやくなったよ!ヽ三`・w・´三ノ

ヽ三・w・三ノ Base64エンコーディングをするときは・・・

3バイト区切りで!
3バイト区切りで!

バイナリを読むときに3バイト区切りで読み込まないと、
途中に"="が入ってるダメな感じの子にナッチャウヨー

StreamWriter writer = new StreamWriter(filePath);

using (datFile)
using (writer)
{
  BinaryReader reader = new BinaryReader(datFile);

  // 3の倍数で分割すると途中でパディングされない
  // 36KBで分割
  byte[] buffer = new byte[36864];

  long remain = datFile.Length;
  int readBytes = 0;

  while (0 < remain)
  {
    readBytes = reader.Read(buffer, 0, (int)Math.Min(buffer.Length, remain));
    String contentString = Convert.ToBase64String(buffer, 0, readBytes);
    contentStringLength += contentString.Length;

    writer.Write(contentString);

    remain -= readBytes;
  }
  reader.Close();
}