Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

CSS読み込みの<link rel="stylesheet">は同期なので、レンダリングブロックします。 どういうことかというと、CSSファイルの読み込み・パースが終わるまで画面描写が止まってしまいます。 これに対策する方法としてpreloadというものが策定されましたが、対応状況が微妙です。 2019年7月時点でもブラウザシェアが8割しかなく、Firefoxは当面対応するつもりがないようです。 とはいえ残り2割のためにloadCSSを突っ込んだりとか始めると本末転倒感に溢れます。 全ブラウザ対応のためには、なんにしろ結局JavaScriptをこりこり書くしかない状況でした。 が、なんかすっごい簡単な対処法があったので紹介してみます。 以下はScott Jehlによる記事、The Simplest Way to Load CSS Asynchronouslyの日本語訳です。 ちなみにSco
(訳注:2016/9/28、頂きましたフィードバックを元に記事を修正いたしました。) C言語の規格のリビジョン間には微妙な違いがありますが、このことを利用して「C90、C99、C11のどれとしてコンパイルされたかどうかにより、違う挙動をする」というプログラムを作ることが可能です。同様に、C++はほぼC言語の上位互換ですが、C言語とC++で違った結果を生み出すプログラムも存在します。 これは2015年の International Obfuscated C Code Contest (難読Cコード・国際コンテスト)への Don Yangの投稿 において、 C89、C99、C11、C++98、C11のどれとしてコンパイルされるかによって異なる出力を生成するプログラムを作成するのに使われています。C90の場合は、以下のような星形を出力します。 **************************
そういえば、ラムダ式って継承できるのかーと思いつつ書いてみた。 [ソース] #include <utility> template<typename ...Args> struct overload; template<typename T> struct overload<T> : T{ using T::operator(); template<typename TT> overload(TT&& t) : T(std::forward<TT>(t)){} }; template<typename T, typename U, typename ...Args> struct overload<T, U, Args...> : T , overload<U, Args...>{ using T::operator(); using overload<U, Args...>::opera
こーいう方法があるようです。 http://okwave.jp/qa/q6902744.html ちょと読みにくかったので書き直します。 namespace myLib { namespace { // privateな実装 namespace prv_impl { void hoge_impl() { /* ほにゃらら */ } } // publicな定義 void hoge() { prv_impl::hoge_impl(); } } namespace prv_impl {}; // 実装が書いてある方のprv_implへのアクセス殺し。 }void func() { myLib::hoge(); // これはOK。 // でも myLib::prv_impl::hoge_impl(); はNG! }これはVC2010でコンパイル通りました。最初さっぱり意味がわからなかったので、さ
2009/09/07 毎年夏に開催される軽量プログラミング言語(LL:Lightweight Language)をテーマにした「LLイベント」。第7回目となる「LLTV」が、2009年8月29日に東京・中野で開催された。この記事ではプログラムの一部、「大改善!!劇的ビフォーアフター」をレポートする。前編では、Rubyによるfortuneコマンドの“増築”と、Firefox拡張によるslコマンドの実装というネタ系発表をレポートした。中編となる本記事では、C言語にLisp風のマクロを取り入れ、lsコマンドのソースコードを約半分に“修繕”する匠の技をレポートする。後編では、売り場業務が滞りがちだった販売管理システムをbashコマンドで“建て直した”という劇的ビフォーアフターの発表をレポートする。 Cで書かれたlsのソースコードの問題点 「Real/Macro Metaprogramming On
CSS3がいくらパワフルとはいえ、さすがにここまで凝ったものが作れるとは思いませんでした。 まずはChromeでこちらを遊んでみてください。 CSS3 OF THE DEAD - jsdo.it - share JavaScript, HTML5 and CSS まるでJSをバリバリ使ったゲーム、のように見えますが、実は「Only CSS」。上のSTOPボタンを押すとコードを確認することができます。 jsdo.itでCSSプログラミングが流行中! ええ、どう考えても無茶なんです。CSSはプログラミング言語じゃないですからね。 CSSの機能を巧みに組み合わせて作成されています。 ということで、投稿作品のほんの一部を紹介したいと思います。 CSS PANIC CSSだけで作られたワニワニパニック。 このコードは海外のユーザーにも大きな反響を呼びました。
\閉鎖予定のサイトも売れるかも?/ アクセスがないサイトもコンテンツ価値で売れる場合も… ドメインの有効期限を更新してサイト売却にトライしてみましょう
Last-modified: Fri, 25 Jul 2008 14:29:55 JST (83d) Link: アップローダー(64d) FAQ(205d) リンク(756d) MenuBar(38d) FrontPage(60d) Modified by Mutaguchi "PukiWiki" 1.3.6 Copyright © 2001,2002,2003 PukiWiki Developers Team. License is GNU/GPL. Based on "PukiWiki" 1.3 by sng Powered by PHP 4.4.8 HTML convert time to 0.122 sec.
Windows Script Programming でよく使われているイディオムに以下のようなものがあります。 @if(0)==(0) ECHO OFF CScript.exe //NoLogo //E:JScript "%~f0" %* GOTO :EOF @end WScript.echo("こんにちは") : これは本体を .CMD (.BAT) ファイルとして保存しておきながら、実行の際は自分自身を JScript として実行するというものです。 んで、なんでこれがうまく動作するのかがよくわからなかったので調べてました。 まず前半の CScript 実行の部分はなんとなく理解。 コマンドの先頭には @ を付けてコマンドエコーを抑止する機能があるので、if にも付けられる。 普通に (0) == (0)は true だから echo off。 CScript で自分自身を引数つきで
PHP では以下のように new してすぐメソッドを呼べない <?php new DateTime()->getOffset(); なので、引数をそのまま返す関数を作ってやると <?php function expr($a) { return $a; } expr(new DateTime())->getOffset(); // OK! 便利だなー おまけ 配列アクセス用のも作っておくと便利 <?php function expr($a) { return $a; } function idx($array, $i) { return $array[$i]; } echo idx(idx(expr(new DateTimeZone('Asia/Tokyo'))->getTransitions(), 0), 'abbr') . "\n"; おまけ2 無名関数をそのまま呼ぶときにも使える。 <
結構趣旨が違うものもありますが、どこからが違うか微妙なので全部載せてあります。 並び順は言語名アルファベット順、同一言語内は概ね時系列順。 言語 リンク AWK http://gauc.no-ip.org/awk-users-jp/blis.cgi/DoukakuAWK_033 ActionScript3.0 ゆの in ActionScript3 - #生存戦略 、それは - subtech ActionScript3.0 ゆの in ActionScript3.0 - BeInteractive!@g1986 - ハチロク世代 ActiveBasic ゆの in ActiveBasic - イグトランスの頭の中 Ada ゆの in Ada | 指向性メモ - 技術 Apache 2008-07-16 AspectJ おくむらたんぶら - ゆの in Java feat. AspectJ
23:24 07/10/23 はすける 昨日の id:MaDさんの発表、 直線距離にして10mくらいのとこでやってたはずなのに行けなかったよ残念。まったく、 「ドラスはアイアンヘッド出にくすぎだろ」とか「さすが締切前はゴルフがはかどるなあ」とか 言っている場合ではなかった。いやそんなこと決して言ってませんが。 パラメトリシティ Parametricity(住井さんの記事に詳しいです)を最初に知ったときに面白いなーと思った記憶について徒然なるままに。 # let rec my_reverse lst = ... ;; - : 'a list -> 'a list = <fun> 「なんかリストのreverseする関数を自前で実装したんだけど正しく実装できたか自信がない。とりあえず型は合った」 というときに、1個具体例を喰わせてみて # my_reverse [0; 1; 2; 3; 4];;
C#の場合 class Object { public int Value { get{ return mValue;} set{ mValue = value;} } private int mValue; } obj.Value = aValue; get/setメソッドの中にデバッグ出力などの処理を入れることができる。それならC++でもできる話だが,これが obj.Value = aValue; のように変数への代入のように書けるのがポイント。 これを C++でも実現できないか?というのが主題。最終的に次のようなコードを書けるようにする。 int main(int argc, char* argv[]) { A a; a.Visible = false; if (a.Visible) printf("a is visible?n"); else printf("a is n
2005-09-21 関数の引数の正当性は、可能な限り確認した方が、信頼性の高いプログラムになることはいうまでもありません。しかし、引数の確認に伴うオーバーヘッドも馬鹿にならないため、デバッグ時のみ確認を行うようにし、最終出荷時には確認を省略することがよくあります。そんなときに役立つのがおなじみのassertマクロ*1です。 さて、Cの場合には、引数といえば関数ぐらいしかない(厳密には関数形式マクロもある)わけですが、C++には、もうひとつ重要な引数を持つ言語機能があります。それはテンプレートです。関数の引数の正当性を確認すべきであるとするなら、当然、テンプレート引数の正当性も確認すべきです。 ところが、テンプレート引数はコンパイル時に作用するものですから、assertマクロで実行時に確認するのは純粋なオーバーヘッドになってしまいます。何とかコンパイル時に確認する方法があれば、実行時には全
JavaScriptリンク要素のアドレスなどをユーザーが訪れたことがあるか否かをJavaScriptから知る方法を以前調べたがわからなかった。多分、プライバシーの問題の絡みで存在しないのだと勝手に合点した。今日、CSS(display:none) + 擬似セレクタ(:hover) + 要素の高さ(offsetHeight) の組み合わせを思いつき書いた。 function isVisited(link){ if(!isVisited.initialized){ isVisited.initialized = true; addRule("#check_visited:visited", "display:none"); } var a = document.createElement("a"); a.href = link; a.id = "check_visited"; documen
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く