Ajax非互換性データベース 実はこのデータベースは私が「いい出しっぺ」なのです。Ajaxのプログラムを実際作り始めてすぐ、「これは絶対に必要だ!」という確信を持ったために、周囲を巻き込んで着手させてしまったものといえます。しかし、いったいなぜこのようなデータベースが必要なのでしょうか? その理由は私の体験に沿って見ていくと分かりやすいと思います。 私がAjaxのプログラムを作り始めてすぐに遭遇したのは、いくつものWebブラウザの非互換性です。遭遇した問題は、私が駄文を書き連ねるオータムマガジンに記録を付けるようにしていきました。しかし、話はそれで終わらなかったのです。プログラムのテスト版を公開すると、私が予想もしていなかったWebブラウザで使った場合のトラブルのレポートが寄せられました。私は、せいぜいInternet Explorer、Firefox、Operaの3種類ぐらいが実際に使わ
JPOUG Advent Calendar 2013の23日目です。比較的簡単なDMLでもRDBMS間の非互換性が出てしまうという怖い話をします。 +----+------+ | id | data | +----+------+ | 1 | a | | 2 | b | | 3 | c | +----+------+BEGIN; -- IDが最も小さいレコードをロックする SELECT id, data FROM q WHERE id = (SELECT MIN(id) FROM q) FOR UPDATE; (何らかの処理) -- 処理が終わったので削除する DELETE FROM q WHERE id = (1つ目のSQLで取得したID); COMMIT;IDが最も小さいレコードをロックし、何らかの処理を行って、最後にそのレコードを削除します。IDが最も小さいレコードを取得するというの
ブラウザー拡張機能 始めましょう 拡張機能とは何か? 初めての拡張機能 2 つめの拡張機能 拡張機能の中身 拡張機能の例 次にどうするのか? 概念 JavaScript API 群 コンテンツスクリプト Background scripts マッチパターン ファイルの操作 国際化 Content Security Policy ネイティブメッセージング Differences between API implementations Chrome との非互換性 ユーザーインターフェイス ユーザーインターフェイス ツールバーボタン アドレスバーボタン サイドバー コンテキストメニュー項目 オプションページ 拡張機能ページ 通知 Address bar suggestions 開発者ツールパネル 逆引きリファレンス HTTP リクエストへの介入 ウェブページを変更する Insert extern
「3スクリーン+クラウド」戦略の下、より良い開発者体験とユーザー体験を提供するためには過去と決別する必要があったと説明している。 米Microsoftは3月4日、現行のWindows Mobile向けアプリケーションは次期OSの「Windows Phone 7 Series」では稼働しないことを正式に認めた。Windows Phone Application Platform & Developer Experienceの幹部、チャーリー・キンデル氏が「違いは開発体験の向上を意味する」と題した公式ブログの記事で開発者に対して説明した。 「初披露のデモでお見せしたようなWindows Phone 7 Seriesの素晴らしいユーザー体験を実現するために、われわれは過去と決別する必要がある。開発者が開発環境に望むものを提供するために、アプリケーションの構築方法を変える必要がある。その結果、従来
これはElm Advent Calendar 2014の3日目です。 ElmはHaskellベースの言語なので、Haskellの記事や入門書もElmの学習に使えます。しかし、実はElmにはチョコチョコHaskellと違うところがあって互換性はありません。 相違点をElm公式サイトLearnの SyntaxとFAQから抜粋して解説します。 1. Elmは遅延評価ではありません Haskellは遅延評価なのでリスト処理の効率が良いのがウリでした。 JavaScriptにもジェネレータという形で遅延評価の思想が取り入れられています。 しかし、Elmのリストや辞書等などは遅延評価ではありません。 Elmはクライアントサイドの言語なので、遅延評価があまり役立たないこと、 SignalがJavaScriptのジェネレータのような機能を持っているためのようです。 2. Elmにモナドはありません Sig
このページをSafari2(412.2)にて開くと以下のような症状が発生しました。 その時点でアドレス欄に入っているURLの末尾が"#A"ではないとき、"hashの'A'への書き換え"ボタンをクリックすると、ウィンドウのタイトルバーに「"test"を読み込み中」という表示が出たままになり、そのまま何も起こらないその時点でアドレス欄に入っているURLの末尾が"#B"ではないとき、"hashの'B'への書き換え"ボタンをクリックすると、ウィンドウのタイトルバーに「"test"を読み込み中」という表示が出たままになり、そのまま何も起こらないその時点でアドレス欄に入っているURLの末尾が"#A"のとき、"hashの'A'への書き換え"ボタンをクリックすると、"onload"というメッセージが表示され、onLoadイベントが実行されたことを示すその時点でアドレス欄に入っているURLの末尾が"#B"の
スクリプト終了イベントの捕捉と zsh の非互換性 - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog 拡張 POSIX シェルスクリプト Advent Calendar 2013、5日目の記事です。 書いているうちにネタが変わってしまいました。 trap というシェル組込みコマンドをご存じですか? シグナルを受信したときに実行する処理 (シグナルハンドラー) を設定するものです。 例えば SIGINT シグナル※を受信するとデフォルトではスクリプトが終了しますが、 trap で捕まえてやると終了せずに継続することも可能です。 (※割り込み (INTerrupt)。 端末から実行したシェルスクリプトなら Ctrl+c で送信可) $ sh -c 'trap "echo Boo!" INT; while :; do read i && e
CSS3で大幅に強化されているtext-decorationの実装状況を調べたLine Decoration (CSS3 Text)を見た時に、あんまり関係ないですがtext-shadowとtext-decorationが組み合わさったらその飾りの影は付くのか付かないのかという疑問が湧きました。テストしてみたらブラウザーによって違ったという話です。 Demo: text-decoration and text-shadow Chrome 15.0.874.120 mやSafari 5.1.1、Firefox 8.0だと下線の影も作られますが、Opera 11.52では下線の影ができません。Internet Explorer 9.0.3は……対応してないので関係無いですね! バグ……な気もしますが、ちょっと判断が難しいところ。 この現象をチェックしていた時に気づいたんですが、text-sha
IE9正式版ではなく IE9pp(IE9 Platform Preview) や IE9pp2 の現状について記載しています。 IE9ppがDOMの仕様に合わせたため、IE8までとは互換性がなくなっている部分をちょこちょこ書いていきます。 IE9pp の event イベントハンドラが受け取る event オブジェクトは DOM Level3 Event の仕様に従うようになりました。 IE9pp では event.button の値が変化 event.button の値が 0(left click), 1(mid click), 2(right click) になりました。 IE8 までは各ボタンの同時押しを判定できたため、どのボタンが押されているかはビットアンドで比較する必要がありました。 event.button & 0x1 が true なら left click event.bu
ひとつ前の記事で紹介した Java SE 7 and JDK 7 Compatibility - Oracle のなかに、面白い非互換性がありました。 Synopsis: Improved Exception Handling May Cause source Incompatibility 概要: 例外ハンドリングの改善が原因のソース非互換性 Java SE 7 and JDK 7 Compatibility どういういこと? まずは前提になる話から。 Java7 で変更された言語仕様に Rethrowing Exceptions with More Inclusive Type Checking(例外再スロー時のより包含的な型チェック) というものがあります。 この変更によって、Java7 だと以下のようなコードがコンパイルできるようになりました。*1 static class Fir
概要 § Firefox 1.5, Internet Explorer 6.0 SP2. Opera 8.5のWebブラウザのXML DOMの動作を調べてたところ、かなり深刻な非互換性があることが分かりました。 Internet Explorer 6.0 SP2はXML宣言をPI(処理命令)として処理しているOpera 8.5は、本来存在しない属性の名前空間URIと名前空間接頭辞を勝手に補っている (実行結果を比較すると深刻ではない非互換性も見いだされますが、それはひとまず扱っていません) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html LANG="ja-JP"> <head> <meta http-equiv="Content-Type" co
GPIOのコントロール ピンヘッダに出ている GPIO を簡単に使用するには、仮想ファイルシステムである Sysfs を使います。 /sys/class/gpio/export に対してGPIO番号を書き込むと対応する番号のディレクトリ ( /sys/class/gpio/gpio番号/ ) ができます。 次に /sys/class/gpio/gpio番号/direction に "in" または "out" を書き込むとGPIOを入力モードか出力モードに設定できます。LED を点滅させるためには、 /sys/class/gpio/gpio番号/direction に "out" を書き込みます。 例えば「sudo bash」して、ルートの権限で実行する必要があります。 コマンドラインから次のコマンドを実行して17番のGPIOをコントロールすることで、11番ピンの GPIO 出力を変更でき
HTML5の仕様として検討され、先日独立した仕様となったWeb Storageですが、仕様を策定するにあたりSQLの互換性が問題になっています。 Web Storageは、Webブラウザ上にデータベースを実装し、Webアプリケーションからデータベースへアクセスできるようにする、という仕様です。名前/値のペアのシンプルなデータ形式だけでなく、アプリケーションがSQLを発行して直接データベース操作する方法も提供しようとしています。 しかしデータベースをかじった人であれば誰でもご存じのように、SQLが標準化されているというのはあくまで名目上のことです。実質的には製品ごとにSQLの方言があり、実装レベルもまちまちで互換性はありません。そのため、ある製品で動作したSQL文がそのままほかの製品で動くことは期待できません。 現在のところ、Web Storageの先行実装としてグーグルが開発したGears
Java 10の変更点(JEP).md JEP レベルでの Java 10 新機能・変更点 http://openjdk.java.net/projects/jdk/10/ JEPの番号順。非互換性観点だとまだまだあるがそれは別に記載。 286: Local-Variable Type Inference var。型推論ローカル変数 var の導入。 開発者にとって一番大きい・便利な変更はこれ。 296: Consolidate the JDK Forest into a Single Repository これまで複数のコンポーネントごとに分けられていた OpenJDK リポジトリを一本化。 304: Garbage-Collector Interface HotSpot内部のGC実装のインターフェース作成。 今後ビルド時などに簡単にGC実装を導入したり外しやすくするための取組み。 現時
インターネットバンキングを安全に利用するために三菱東京UFJ銀行など複数の金融機関が利用を推奨しているセキュリティツール「Rapport」だが、このソフトがChrome 47.0.2526.73をクラッシュさせるため、Chromeは問題のDLLをブロックリストに追加した(chromiumプロジェクトのIssueトラッカー)。 このようなWebブラウザと深く連動するソフトはセキュリティが向上する一方、一般的な総合セキュリティソフトウェアと同様にWebブラウザのラピッドリリースに対応できず問題が起こることも多々ある。過去にはゆうちょ銀行などが採用している同様のセキュリティソフト「PhishWall」でも2014年8月にFirefoxのUI変更によるトラブルが多数報告されたほか(MozilaZine.jpフォーラム)、ノートンがFirefox 41への更新を見送るよう告知したこともあった。
世界の夜景が見られる Google Maps Nighttime! やはり地図の話題が出てくるのですね。はい、出てきます。 技術的にどのように構成されているのか分かりませんが、NASAの衛星写真をGoogle Mapsのシステムに載せている事例のようです。あまり高い解像度にはできませんが、世界の夜景を見ることができます。こうして見ると、日本、米国東部、西欧が特に明るく見えます。そこでエネルギーが浪費されているということでしょう。日本をアップにすると、特に東京周辺、名古屋周辺、大阪周辺が明るく見えます。この辺りが日本の主要3大都市であることがうなずけます。そして、日本からやや上の方を見ると、韓国と中国の中間領域が極端に暗いことが見て取れます。北朝鮮は、それほどエネルギー事情が厳しいということでしょうか? リクルートのAjaxで住まい探し スマッチ! プレスリリース スマッチはリクルートが運営
AMD64とEM64Tの非互換性 EM64TはAMD64と基本的に互換性があります。 ただし、互換性は100%ではありません。 例えばAMD独自の拡張である3DNow!はEM64Tにはありません。 SSE3は初期のAMD64(SledgeHammer/ClawHammer/NewCastle/Winchesterなど)では使えません。(AMD64でのSSE3はVenice/SanDiego(など)以降で利用可能。) それ以外にも相違点があります。 LAHF/SAHF AMD64では64-bit modeでもLAHF/SAHFが使えますが、EM64Tでは使えません。 インテルがEM64Tの実装を進める際に拠り所としたAMD64の仕様書が 古かったことによるものらしいです。 http://komatsuna.cocolog-nifty.com/buncho/2004/06/amd64intel
この記事では、Haskellの型クラスの互換性にまつわる問題と、それに対する緩和策を考える。 ネタとしては11月に行われた Haskell Day 2019 のLTで筆者が話したものである。その時使ったスライドは https://drive.google.com/file/d/1YGKjl8S-LlfuB8yrHnKSK5G5MGsP9xd3/view?usp=sharing で読める。 問題 Haskell標準の型クラス階層には時折、破壊的変更が加えられてきた。代表的なものをいくつか挙げる: Applicative-Monad Proposal: ApplicativeクラスをMonadのスーパークラスにする Semigroup-Monoid Proposal: SemigroupクラスをMonoidクラスのスーパークラスにする MonadFail Proposal: Monadクラスの
Mozillaは2020年12月16日(米国時間)、世界のWebデザイナーと開発者の年次ニーズ調査の結果をまとめたレポート「MDN Web Developer Needs Assessment(DNA)2020」を公開した。Web DNA調査は今回が2回目。世界137カ国の6645人のWebデザイナーと開発者が回答した。 Mozillaは調査結果について大きく3点を紹介している。(1)2019年の初回調査結果を踏まえて2020年に達成された成果、(2)2020年調査のハイライト、(3)2020年調査を受けた次のステップだ。 GoogleやMicrosoftが2019年の調査結果を役立てた 2019年の調査では、回答者の4分の3以上がWebプラットフォームに「非常に満足している」または「満足している」と答えた。 回答者が挙げた不満点の上位4つは、「特定のWebブラウザ(Internet Ex
NASメーカーQNAPの「非互換性一覧」はHDD選びの参考になるかも ちょうど1年前くらいにNASに使っていた4台のうち1台が故障したWD Redですが、他の1台がS.M.A.R.T.上で問題が出てWDのツールで物理フォーマットにて対処して、問題なく動いています。 2TBを4台でRAID5にしているので6TBが使えますが、写真もそろそろ1TBを突破しそうなので、NASの容量アップとNASのバックアップを考えている今日この頃です。 まず行うのは、今使っているQNAPのTS-469 Proに対応しているHDDを探すことです。あとは秋葉原で簡単に入手可能か、値段は手ごろかなどなどで使うHDDを決めていきます。QNAPのWebサイトには製品ごとの互換性一覧情報があり、HDD選定の参考になります。(当時、NAS向けのWD Redも発売直後にこのリストに追加されたのでNAS導入を決めたのでした) この
Java7→Java8の非互換性 JavaのJDK1.7から1.8の非互換性についてはこちらに移転しました。 Java目次へ戻る / 新機能へ戻る / 技術メモへ戻る メールの送信先:ひしだま
ヤバイですよ、奥さん。 Safari2は1つの問題について調べている間に、ぽろぽろと他の問題に出くわします。 location.hashより取得した値を再びlocation.hashへ代入すると余計な"%23"が追加される場合があります。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>test</title> </head> <body>
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く