[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 03/26 12:25 / Filesize : 214 KB / Number-of Response : 985
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

スレ立てるまでもない質問はここで 85匹目



1 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 01:24:38 ]
質問する前にGoogleで検索しましょう。www.google.co.jp
プログラミングと関係ない質問はそれぞれの板の質問スレへ。

前スレ
スレ立てるまでもない質問はここで 84匹目
pc11.2ch.net/test/read.cgi/tech/1184603423/

         _,rr-―''''¨゙゙゙ ̄ ̄ ̄ ̄ ̄`゙゙゙゙゙゙゙゙''ヘi、、   ,,,,-―---、
      ,r‐'″    ._,,,,             `'lri,!'''″     ゙l
     .,,,″    ,,r'"`  ゙゙l,               ゙ヘ,     |
     !アr,   .l°.ェ'ニ,コ .|                ゚ヘ、    |
       `'i、  .く_,、vr''″ .,                  ゙'i、 .,,/
         ゙X、        ト                   ゙!,゛    .,,r‐--、
   ,、_,、 .,,,,r‐'″        |                    } .,,r‐'^’   .|゜
   め゙゚“゙゙~゛           |                     ̄`     .,l゙
   |                ,i´                       ,l゙
   ゙!、                ,i´                       ,ノ
   .'┐              ,,-°  '=,,                   /`
    .゚!,          ,,,,r'″     ゙┐                 ,l゙
      ゚'r,    .''''"`         │    .,,-''i、          /
       `''x,      .|        |  .,,r'"  .゙┐           ,i´
         ~'ヘi,,,   |           |_,r・″    'ヘ,、         l゙
           `¬--|i,,,,,,,,,,,,,,,,v、r',广        ゙ヘ=@   ,l゙
                `゙'ーぃ--r'″           `'―、,,,,/


409 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 22:02:58 ]
DirectXでいうところの頂点ストリームじゃないかとエスパー

410 名前:デフォルトの名無しさん [2007/10/06(土) 00:42:47 ]
>>409

エスパーありがとうございます。
実際の所は、↓のメソッドの役割を調べていました。

msdn2.microsoft.com/en-us/library/bb195700.aspx

流石に丸投げするのはどうかと思い、分からない語の意味だけをお願いしていました。

411 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 01:03:55 ]
> A vertex channel is a list of arbitrary data with one value for each vertex.

だそうです。
msdn2.microsoft.com/en-us/library/microsoft.xna.framework.content.pipeline.graphics.vertexchannel.aspx

頂点ごとの色、法線、テクスチャの座標等の属性データを格納するヤツってこと?

412 名前:デフォルトの名無しさん [2007/10/06(土) 01:19:03 ]
プログラムに関しては完全ド素人なのですが
VisualBasicにはいろいろなバージョンがありますよね?
例えば最新のバージョンで作ったプログラムはwindows98とか95でも
動くものなのでしょうか?
それともVistaやXPしか使えない記述とかもあるのでしょうか?
逆に昔の6とか5といったバージョンで作ったプログラムは
XPやVistaなどでも走らせることが出来るのでしょうか?


413 名前:デフォルトの名無しさん [2007/10/06(土) 01:24:12 ]
>>411
チャンネルの実態はリストだったのですね。
おかげでそれまで理解できなかったコードが理解できるようになりました。

ありがとうございます。


414 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 01:25:48 ]
>>412
基本的に、上位互換。
新しいもので作ったものは古いものでは動かないことがある。
古いもので作ったのは新しいので動く。

とはいっても、内容によっちゃ絶対とはいえないと思うけど。

415 名前:デフォルトの名無しさん mailto:age [2007/10/06(土) 03:25:51 ]
あげ

416 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 10:29:52 ]
>>412
最新のVBってVB.NETだからWin95じゃ動かない。
一応Win98は対応しているがWin98が動いているような古いPCでは重過ぎるだろう。
Win32APIなVB6.0使うのが無難。

417 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 11:17:03 ]
サーブレットを作成しているのですが、フォームのコンボボックスで値を選択した際にその値のvalueを取得するにはどうすればよいでしょうか?



418 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 14:27:52 ]
ここは学生れべるなのか・・・

419 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 14:33:38 ]
便所の落書きに文句言っても無駄

420 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 15:09:08 ]
C言語 cygwin 環境で
画面消去をしたいんですがどうすればいいでしょうか
system("cls")以外の方法はありませんか

421 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 15:09:55 ]
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");

422 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 15:55:30 ]
cygwinは知らないけどUNIX-Cで作ったソースには
printf("\x1b[2J");printf("\x1b[1;1H");
と書いてあった。何を意味してるかは忘れた。
cygwinで使えるか自信ないけどエスケープシーケンス
でググってくだせえ。

423 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 16:19:07 ]
エスケープシーケンスはbashから起動した時にしか機能しないけどな。
cmd.exeから直接cygwinでコンパイルしたexe起動すると駄目。
それでよければ問題ないが。

424 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 10:03:46 ]
Windows限定の話になってしまうのですが、
exeなどのバイナリにデジタル署名を付ける場合、どのような手順を踏むのでしょうか?
殆ど情報がないので、日曜プルグラマァには通常必要がない作業なのだろうとは思いますけど、
教えていただけると嬉しいです。

425 名前:デフォルトの名無しさん [2007/10/07(日) 11:21:56 ]
signtoolでググレ

426 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 13:34:28 ]
>>425
ググったらいろいろ出てきた サンクスです

427 名前:デフォルトの名無しさん [2007/10/07(日) 19:43:24 ]
素朴な質問だが

Cの<math.h>の中に階乗を計算する関数なかったっけ?
とっくの昔に自作してはあるんだが
ライブラリにあるのにいちいち自作の使ってたらコード長くなるやん?



428 名前:デフォルトの名無しさん [2007/10/07(日) 19:48:52 ]
www.opengroup.org/onlinepubs/009695399/basedefs/math.h.html
を見た感じではないな。32bit intじゃ確か13!くらいで越えてしまうし、使いどころがなさげだが?

429 名前:427 mailto:sage [2007/10/07(日) 20:14:19 ]
>>428
ありがd!
やっぱりそうか
検索しても見つからない訳だ

繰り返しと再帰の違いを勉強させるために
わざと階乗の関数は外してるのかも???

俺はfactorial()どころか
combination()やpermutation()も標準で入れておいてほしいくらいなんだが

430 名前:428 mailto:sage [2007/10/07(日) 20:15:20 ]
>>429
C++でSTL使え。

431 名前:427 mailto:sage [2007/10/07(日) 20:20:41 ]
>>430
今回はC legathyでってことなんでSTLは_

STLもlistやvectorは頻繁に使うがcombinationやpermutationはまだ使ったことねぇなぁ

432 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 20:24:20 ]
legathy
legathy
legathy
legathy
legathy

433 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 20:29:19 ]
yarathy
ヤラスィー
"th"噛みます

sukevay
スケヴェィー
"v"噛みます

434 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 21:29:50 ]
ここに「うほっ」と「moon」という脈絡のない二つの文字がある
   うほっ ( ゚д゚)  moon
    \/| y |\/

二つ合わせると「うほっmoon」になるが、これでは意味が不明だ
      ( ゚д゚)うほっmoon
      (\/\/

そこでExciteの英日翻訳で「英→日」に訳してみる
www.excite.co.jp/world/
      ( ゚д゚ )********
      (\/\/


なんで?

435 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 23:31:59 ]
moonの前に何かしらあるとそうなるね。

436 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 23:34:56 ]
>>434-435
辞書引いてみれば分かる

moonっていうのは動詞として使われると
「(車の窓などから)ケツを見せる」っていうスラングになるんだ
まるで「お月さん」のようだろ?

このスレで訊く質問か?

437 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 23:42:27 ]
いやお前がスルーしろよ



438 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 23:44:47 ]
>>438
分かった、次回からスルーするー

439 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 23:54:22 ]
ツマンネ

440 名前:デフォルトの名無しさん [2007/10/08(月) 00:56:10 ]
きっと >>436>>438 の書き込みで、
己が己を示すという再起の説明をするための布石として、 >>434-435 に答えたんだよ。

441 名前:デフォルトの名無しさん [2007/10/08(月) 14:22:46 ]
スレ違いかもしれないけど
見当たらなかったのでココで聞かせてください
www.vipper.net/vip358926.gif.html
PW:check
このようなプログラムが
Aの友人→A(俺の友達)→俺
と来て
ネットに接続するウィルスみたいだから
どんなのかわからんかなっていう話で
全くわからんかったのでどなたかどういうウィルスかわかりませんか?

442 名前:デフォルトの名無しさん [2007/10/08(月) 14:24:10 ]
あ、拡張子のgif→exeで

443 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 14:28:14 ]
Win32/Parite

444 名前:デフォルトの名無しさん [2007/10/08(月) 14:32:13 ]
ググったらどんなんか大体把握できました
あざっす!

445 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 00:49:20 ]
moon. -> お尻を出してください。
moon? -> お尻を出しますか?


446 名前:デフォルトの名無しさん [2007/10/09(火) 04:56:23 ]
19インチワイド縦900
17インチSXGA

どっちがいいと思いますか?17インチの方はすでに持ってます

447 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 08:05:39 ]
自分で買う物すらママのお伺いを立てないと決められないの?



448 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 08:32:38 ]
洋画の吹き替えみたいな台詞だな(藁

449 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 08:32:42 ]
今家にある12台のCRTは、すべてQXGA
俺はQXGAでないと仕事が出来ないし、家でPC使うとゆう心持ちにもなれぬ。
あまりに狭すぎて

が、いい加減置場に困るので売ろうかと思っている

450 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 08:53:11 ]
>>439よ。
おまえ、「ツマンネ」とか書いてて恥ずかしくないのか?
ほかのスレをみてみろよ。
ネタ、まじめな回答、そのほか何かを主張したくて、頭を使ってかいてるよ。
それをおまえは何だ。
考えた結果が

「ツマンネ」

か?
なにそれ?

「ツマンネ」とかかいて、それがスレの役に立ったか?
だれがおまえのレスに共感するんだ。

むかしのことはいいたくないが、「ツマンネ」なんてかいてるやつはいなかったよ。
なんか驚かそう。笑わそう。なんか考えてたよ。

その歴史を踏まえて、おまえが書きこむレスは

「ツマンネ」

なんだな。
わかった。おまえのことはわかった。
これからおまえのことを、哀れな人間として認識することにしたよ。

451 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 13:12:17 ]
でもそんなの関係ねー。

452 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 15:45:31 ]
俺の彼女は風呂釜にリレイティブな方のジャバを使うとき、
「ジャバをインストールしています・・・・」と独りごちるのだ。

453 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 15:48:28 ]
そして洗い終わって流すときに
「インストールを完了しています…」

454 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 18:14:40 ]
「予期せぬエラーが発生しました。」

455 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 18:27:57 ]
排水溝に引っ掛かったのガベージをコレクションしてる>>452が目に浮かぶようだ。

456 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 20:32:01 ]
先週秋葉原でガベコレしてるおじさんに
「そこどけよ!」って怒られたよ

457 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 22:13:59 ]
むしろ渋谷



458 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 23:35:21 ]
>>456
回収されなくて良かったな

459 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 23:41:48 ]
落ちをつけんでよろしい

460 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 04:42:59 ]
おあとがよろしいようで。

461 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 17:34:36 ]
今年は両親に年賀状出したらヌルポインタだって叩かれた

462 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 18:37:50 ]
ヒモ生活してたら弱参照だった件

463 名前:デフォルトの名無しさん [2007/10/10(水) 22:48:58 ]
異なる言語で全く同じ処理を行うコードをコンパイルした場合
実行ファイルの中身は同じと考えていいんですか?

464 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 22:49:53 ]
だめです

465 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 23:13:12 ]
同じコンパイラで同じファイルを2回コンパイルした時ですら
実行ファイルの中身は変わることが多い

466 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 23:44:05 ]
そんなことあるわけ

467 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 23:50:34 ]
あるよある。



468 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 23:51:08 ]
タイムスタンプが入ってたら変わりそうだね。

469 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 23:54:58 ]
言語のライセンスコードが埋め込まれていてウイルス作者が特定されて逮捕されてた事もあったよね

470 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 00:07:04 ]
へぇ〜

471 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 00:09:43 ]
やっぱりそういうの埋め込んでるのか

472 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 00:13:42 ]
過去形だけどな
さすがに近年の言語でライセンス埋め込みは聞いたことが無い

473 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 00:18:22 ]
__DATE__ とか __TIME__ とか使うと、コンパイルし直すだけで変わるな

474 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 00:18:26 ]
いやいや

475 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 00:26:58 ]
タイムスタンプなんかはデフォルトで埋め込む処理系は少なくない。

476 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 00:39:13 ]
純粋なtextはコンパイルし直しじゃ変わらんだろ

477 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 00:47:27 ]
別のプロセスがメモリ持って行ったせいで、アプティマイザが途中でねを上げて
で、違うコードが吐き出された、って事は、体験したことがある。



478 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 00:57:09 ]
なるほど。
あと、実行時のプロファイリングをフィードバックするタイプのコンパイラならtextも変わりうるな。

479 名前:デフォルトの名無しさん [2007/10/11(木) 07:15:09 ]
タスクマネージャーでアプリを強制終了すると
使用していたメモリは開放されるんでしょうか?

480 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 07:24:17 ]
まともなOSなら開放する

481 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 07:38:00 ]
ありがとうございました。安心しました。

482 名前:デフォルトの名無しさん [2007/10/11(木) 10:14:59 ]
×開放
○解放

483 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 10:42:59 ]
IDEでのビルドではバージョンの最下桁にビルド番号入れてくれたりとかもあるな

484 名前:クラッカー mailto:sage [2007/10/11(木) 17:10:15 ]
>>483
いらんことしてくれるなよ!

485 名前:デフォルトの名無しさん [2007/10/11(木) 18:28:30 ]
初心者です。
スレッドセーフではないDLL っていうのを使う場合、
他のアプリケーションでDLLが実行されてる場合も使わないほうがいいんですか?
それとも、同じアプリケーションで使わなければ問題無しって事なんですか?

486 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 18:29:29 ]
変数1に格納した文字列から指定した文字数を切り出して
変数2に格納したいのですが、どうすればよいですか?言語はCです。

487 名前:デフォルトの名無しさん [2007/10/11(木) 18:32:25 ]
msdn2.microsoft.com/en-us/library/microsoft.xna.framework.matrix.left.aspx

↑にあるような、行列の Left Vector とは
具体的には行列のどの部分の値を指し示してのことなのでしょうか?

1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1

他にも Right Vector, UpVector ForwardVector 等色々あるようですが、さっぱりです。




488 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 18:33:09 ]
>>485
たいていはプロセスが別なら大丈夫

489 名前:デフォルトの名無しさん [2007/10/11(木) 18:35:15 ]
C++でtimerを使いたい(もう部分的に使ってる)んですが
実行速度が速いとはいえ、処理にかかる時間は0じゃないですよね?

例えば、実行開始から12秒後にtimerをセットして
そこから10秒後に任意の命令が作動するように組んだとします。

もし、その「実行開始から12秒後」の時点で処理がたくさんあったとしたら
そのtimerは「実行開始から12.2秒後」にセットされてしまう危険性はないですか
(そして、任意の命令は22.2秒後に動作してしまう危険性も)?

更に下手したら「実行開始から13秒後に突入」なんてこともあり得ますか?


490 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 18:45:52 ]
C++にtimerなんかあったか?

491 名前:デフォルトの名無しさん [2007/10/11(木) 18:53:46 ]
>>490
質問に質問で答えるスレはここですか?

ttp://www.mint.se.ritsumei.ac.jp/contest/text/6/VCtimer.html

492 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 18:55:02 ]
>>489
どういう環境でやってるのか知らんが、WindowsやLinuxといったPC用のOSは、応答時間を保証するようには作られていないので、充分ありえる
本当に時間保証が必要なら、そういう設計で作られたリアルタイムOSを使う必要がある

493 名前:デフォルトの名無しさん [2007/10/11(木) 18:57:30 ]
>>491
ないじゃん

494 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 18:58:35 ]
>>491
頭大丈夫か?

495 名前:デフォルトの名無しさん [2007/10/11(木) 19:02:25 ]
>>492
ありがとうございます。
環境はWindowsとLinuxの両方です。
それでは実時間ではなく、コンピューターの中での仮時間で作動させることにします。

496 名前:デフォルトの名無しさん [2007/10/11(木) 19:03:16 ]
>>493-494
カスは引っ込んでいてください

497 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 19:04:05 ]
ageてるやつ必死すぎです…



498 名前:デフォルトの名無しさん [2007/10/11(木) 19:08:06 ]
質問者よりも馬鹿な回答者、もう涙目www

499 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 19:13:56 ]
>491
そのURLはC++じゃなくてVCぽいが

500 名前:デフォルトの名無しさん [2007/10/11(木) 19:17:08 ]
>>499
カスは引っ込め、って日本語読めないですか?

自分は英語で参照してるんで
さっきのURLは適当にググって貼っただけですが?

##################################################
C/C++言語で、タイマーを扱う方法のうち、
もっとも普遍的な方法はANSIで定められている標準ライブラリのtime.hに含まれる関数群を利用する方法です。
Visual C++は、ANSI Cに準拠しているため、普通にtime.hを使用できます。
##################################################

501 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 19:23:38 ]
>500
それタイマーか?
内容理解して貼ってる?
ぐぐって見つかったやつ貼っただけだろ

502 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 19:26:13 ]
Cをやってる人だと分かると思うけど
一言でタイマーと言っても多種の実装があるの。
そこで具体名をしかも英名でtimerを使いたい、と言われれば
まずtimer()を思い浮かべるの。
質問はタイマーの精度に関するものだけど、これら複数の実装でも精度が違うの。
だから何を使うかが重要なんです。

503 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 19:35:11 ]
目覚まし時計が欲しいのに普通の壁掛け時計持ってこられてもなあ。

504 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 19:36:29 ]
その喩えはどうかと

目覚まし時計が欲しいのに日時計持ってこられてもなあ。なら桶

505 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 19:41:50 ]
大麻を扱うスレはここですか?

506 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 19:42:08 ]
>Cをやってる人だと分かると思うけど 
なにのCをやってるのだろか?少なくとも標準ランタイムのtime.hにtimer()はないと思うが。

507 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 19:45:27 ]
そういうつもりで書きました。



508 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 19:47:31 ]
実際のプログラミングではタイマー自体の精度はそれほど重要視されない
不必要な精度を求めるのは馬鹿がやること

509 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 19:51:20 ]
厳密にやりたいならRTOSにでもしないと






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<214KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef