- 1 名前:仕様書無しさん [2007/02/07(水) 01:32:56 ]
- って思う
- 760 名前:仕様書無しさん mailto:sage [2008/04/03(木) 11:34:11 ]
- >>757
腐っていようが…。 WHERE句に結合条件を書いたら、もっと腐る ということが分からない時点で終わってる。
- 761 名前:仕様書無しさん mailto:sage [2008/04/03(木) 12:30:31 ]
- >>760
>腐っていようが…。 「構造化されてなんかいない腐れ構文」には同意頂けたようで。 …まあ、Oracle の旧書式は直感的だが、もっと腐ってるとは思う。 >WHERE句に結合条件を書いたら 「抽出条件」てのが「1行1項目しかない『定数』との結合条件」と考えれば 両者の間になんの違いもないわけだが。 -- そういやこないだ、 -- JOIN 〜 ON (〜 AND HOGE = 0) -- なんて記述を見かけた。
- 762 名前:仕様書無しさん [2008/04/03(木) 12:37:27 ]
- >>761
何が面白いのか解説してよ
- 763 名前:仕様書無しさん mailto:sage [2008/04/03(木) 15:50:26 ]
- LEFT JOIN
- 764 名前:仕様書無しさん mailto:sage [2008/04/03(木) 16:03:24 ]
- まちごうた。
Oracle9.1.4以前はバグでちゃんと 動かんかったけ記憶があるが。 >>761 違い分かるか? FROM table_a a LEFT OUTER JOIN table_b b ON a.key1 = b.key1 AND 0 = b.key2 FROM table_a a LEFT OUTER JOIN table_b b ON a.key1 = b.key1 WHERE b.key2 = 0 761 は文句言いながら副問合せ書く奴と見たw
- 765 名前:仕様書無しさん mailto:sage [2008/04/03(木) 17:56:22 ]
- >>764
お前は莫迦か。 後者は結合後に抽出してんだろが。
- 766 名前:仕様書無しさん mailto:sage [2008/04/03(木) 18:21:33 ]
- 文脈読めよ。
>>761の -- そういやこないだ、 -- JOIN 〜 ON (〜 AND HOGE = 0) -- なんて記述を見かけた。 に対して >>764 だ。
- 767 名前:仕様書無しさん mailto:sage [2008/04/03(木) 18:29:04 ]
- FROM
table_a a LEFT OUTER JOIN (SELECT * FROM table_b WHERE key2 = 0) b ON a.key1 = b.key1 ってインデックス外すバカがいるわな。
- 768 名前:仕様書無しさん mailto:sage [2008/04/03(木) 20:33:26 ]
- ここで悦に入って何か得られるモノがあるのだろうか・・・
- 769 名前:仕様書無しさん [2008/04/03(木) 22:56:03 ]
- >>732のようなコードのメンテをやらされてると、この仕事辞めたくなるな。
そんなもんの修正はそれに違和感感じない連中だけでやってくれって感じだ。
- 770 名前:仕様書無しさん mailto:sage [2008/04/04(金) 07:34:06 ]
- >>732
なんだこれ・・・ こんなんjavaで書いてきたらソースレビューの時点で突っ返すぜ もし下請けが書いてきたらくびになっても検収印はおさねえ!
- 771 名前:仕様書無しさん mailto:sage [2008/04/04(金) 07:37:39 ]
- 出来ない奴はとっとと氏ね
ってことだな。
- 772 名前:仕様書無しさん mailto:sage [2008/04/04(金) 09:05:47 ]
- >>769
俺は sWhere += 〜 sWhere += 〜 sWhere += 〜 : こういうのが並んでる時点で唾棄。
- 773 名前:仕様書無しさん mailto:sage [2008/04/04(金) 09:44:07 ]
- sprintf( buf, "select %s from %s\n", col, tbl );
- 774 名前:仕様書無しさん [2008/04/04(金) 09:47:30 ]
- 質問です。
各テーブルごとにテーブルクラスを作成し、 データの受け渡し受け取りには、テーブルクラス.レコードを定義して使用しています。 で、各テーブルごとの違いは、レコードクラスの違いくらいであとの処理は同じなので、 同じ処理を書いて、あまりステップ数を膨らませるのは嫌なのですが、 何かよい方法はないでしょうか?
- 775 名前:仕様書無しさん mailto:sage [2008/04/04(金) 09:55:19 ]
- >>774
>質問です。 スレの選択も満足にできないの?
- 776 名前:774 [2008/04/04(金) 10:01:21 ]
- SQL文ハードコーディングを嫌がるスレということなので、
↑の質問にも答えてもらえると思ったのですが、ちょっとスレ変えることにします
- 777 名前:仕様書無しさん mailto:sage [2008/04/04(金) 20:33:23 ]
- >>774
javaならhibernate使えよ。
- 778 名前:葉猫 ◆Jz.SaKuRaM mailto:sage [2008/04/04(金) 21:40:57 ]
- 継承も使えずにクラスを使うとはなかなかやりまつね
- 779 名前:仕様書無しさん mailto:sage [2008/04/04(金) 21:41:56 ]
- はずかしげもなくまだ生きてる貴様に比べれば誤差未満だな
- 780 名前:仕様書無しさん mailto:sage [2008/04/05(土) 19:51:35 ]
- 自作APIの最終select文作成部分のコード。
snprintf( buffer, BUFFER_MAX, "SELECT %s FROM %s %s %s %s %s %s %s", fieldStr, tableStr, whereStr, orderStr, lockStr, limitStr, offsetStr, optionStr ); それぞれの部分を、専用の関数で構造体からSQLに変換して作ってる。 メジャーないくつかのSQL DBに対応済み。SQL以外のDBにもいくつか対応済み。 基本的なテーブルのselectややinsertやupdateなら一切SQLを書くことも見ることもない。 せいぜいフィールド名と条件や値とかを指定するだけ。 必要があればSQLを直接渡せるようにもなってる。 これぐらい自作APIでやってる人いる?
- 781 名前:仕様書無しさん mailto:sage [2008/04/05(土) 19:57:42 ]
- >>780
あー、すごいねー。ほんとにすごいよー。たいしたもんだねー。 ほかにだれもまねできないよー
- 782 名前:仕様書無しさん mailto:sage [2008/04/05(土) 19:59:42 ]
- >>780
ポスグレ?オラクルで組めよ。 ちなみに SQLいんじぇくしょん ってしってまつか?
- 783 名前:仕様書無しさん mailto:sage [2008/04/05(土) 20:16:48 ]
- >>781,782
ほめてもらう or 煽りを期待してるわけじゃない。 よりいい方法を知ってる人がいたら、教えて欲しいだけ。
- 784 名前:780,783 mailto:sage [2008/04/05(土) 20:19:52 ]
- ここID表示なしか。
ついでに言うと、Oracle、DB2対応済み。 SQLインジェクションとか当たり前のように対応済み。 sprintf ではなく snprintf を使ってることから予想付いた人も多いと思うけど。
- 785 名前:仕様書無しさん mailto:sage [2008/04/05(土) 20:24:01 ]
- その関数使うと桁あふれ起こすかも知れんのじゃ?
- 786 名前:仕様書無しさん mailto:sage [2008/04/05(土) 20:24:56 ]
- こんなエサに俺様がクマー(AA略
- 787 名前:780,783 mailto:sage [2008/04/05(土) 20:31:01 ]
- >>785
いいつっこみ。ありー。 セキュリティも兼ねてSQL文に文字列制限入れてる。 最近のオープンソースのDBはほとんどSQLの長さ制限はなくなってきたから、 そろそろこのAPIの長さ制限も取り払った方がいいかもしれない。 ただ最近のMySQLに詳しくないから、調べないと・・・。
- 788 名前:仕様書無しさん mailto:sage [2008/04/05(土) 20:31:42 ]
- >>784
予想がつくのはエスパーだけだ
- 789 名前:仕様書無しさん [2008/04/05(土) 20:35:27 ]
- そのAPIは評判良いの?
俺が使わないといけない立場だったら嫌だなぁ。 俺はストアドで組むのがしょうにあってるわ。
- 790 名前:780,783 mailto:sage [2008/04/05(土) 20:38:58 ]
- >>789
いろいろ機能つけすぎて、ほとんど自分専用(笑)・・・ orz もしオープンソースにするとかなったとしたら、 もっとよく使う機能だけに絞ってとかやらないと普及しないんだろうねー。 もしくはよっぽど設計を考えて、スマートに分かりやすくするか。 もっとも今どきCでこんなAPIの需要は少ないか・・・。
- 791 名前:仕様書無しさん mailto:sage [2008/04/05(土) 20:45:13 ]
- >>790
そんな部分だけ見せられても エスパー以外には評価のしようがないがな。 見えてる部分だけだと、それやばくね?・・・ってのが正常な反応と思。
- 792 名前:仕様書無しさん mailto:sage [2008/04/05(土) 20:47:24 ]
- >基本的なテーブルのselectややinsertやupdateなら一切SQLを書くことも見ることもない。
「基本的」という言葉の意味が定義されていないので他人には使えない。
- 793 名前:仕様書無しさん mailto:sage [2008/04/05(土) 20:53:55 ]
- てか、いきなり使用例出してきてこれAPIって何?せんずり?
Cはともかく日本語で出せ。つか人に見せてないもん普及とか言うな。クズ。
- 794 名前:780,783 mailto:sage [2008/04/05(土) 20:54:38 ]
- >>791
確かに。けど、ソース公開はどこかに 未発見のセキュリティホールあったらやばいから出来ないし。 すまん。 >>792 比較演算子: OR AND = != < > <= >= like フィールド型: 文字、数値、日付、時刻など 他: () where句の組み立てなんかは、 オープンソースDBのSQL分析のソースを参考にして作ると、 もっと柔軟な検索条件に対応したAPIが出来そうな予感。 しかしそこまで行くと、検索条件をいちいち関数呼び出して登録するより、 直接SQL文を書いた方が早いぜってことにもなりそう。 もっとも拡張性やメンテナンスを考えれば、直接SQLを書くのはナンセンスなんだろうけど。 そこは開発コストと将来のコストのどっちを優先するかって話しになりそう。
- 795 名前:780,783 mailto:sage [2008/04/05(土) 21:01:22 ]
- 比較演算子 に OR AND 入ってるのは変だな。
>>793 日本語で説明するにも、面倒すぎて。 すまん、自前APIに関しては、もうスルーしてくれ(--;
- 796 名前:仕様書無しさん mailto:sage [2008/04/05(土) 21:49:27 ]
- >>793
よくコード一ステップごとに日本語コメントを書いて提出しろとほざく馬鹿SEPGがいるけど コードそのものが体を現してるのに何をほざいてるのだと。お前がまさにその典型。 これが理解できない人はさっさと尻まくって引きこもりでもしてなよ。 じゃなきゃ金払うか頭下げて教えを請うんだな。
- 797 名前:仕様書無しさん mailto:sage [2008/04/05(土) 21:54:41 ]
- >>796
ほお。じゃこれで >insertやupdateなら一切SQLを書くことも見ることもない。 もわかるわけだ。すげぇな。エスパー。
- 798 名前:仕様書無しさん mailto:sage [2008/04/05(土) 22:46:47 ]
- >>780が自作APIだって?プププ
- 799 名前:仕様書無しさん mailto:sage [2008/04/05(土) 22:52:51 ]
- >>790
自分専用って… プロジェクトメンバー各人がこんなふうな勝手な実装をしているの? 大丈夫なのか、それ?
- 800 名前:仕様書無しさん mailto:sage [2008/04/05(土) 23:37:16 ]
- 寝た子は殴るなという言葉があるだろう
- 801 名前:仕様書無しさん mailto:sage [2008/04/05(土) 23:39:43 ]
- テーブル名を元にDBからテーブル構成引っ張ってきて
処理系毎のパディングを考慮した構造体の配列に 突っ込む関数 というものは作ったが。 「SQLくらい手前で書けよ。莫迦しかいねぇのかこの会社」 と呪いの言葉を吐きながら。 (尤も、前時代的なSQLなんてもんは個人的には捨てちまいたいんだが) ま、テーブルの結合だの副問い合わせだのがなけりゃ 新人でも作れるわな。 唐突かつ自慢げにこんなところで語り始める程のもんじゃない。
- 802 名前:仕様書無しさん mailto:sage [2008/04/06(日) 00:28:28 ]
- おいそこのバーコード
SQL文ハードコードやめねぇと てめぇの頭の毛毟るぞ? っていったら先週から出社拒否ですよ なんてヘタレなんだよ
- 803 名前:仕様書無しさん [2008/04/06(日) 02:53:22 ]
- どうだこのAPIすげーだろ!一切SQLを書くことも見ることもなくてすむんだぜ!
反応 >>8
- 804 名前:仕様書無しさん mailto:sage [2008/04/06(日) 02:58:02 ]
- 誰かAPIの意味を教えてやれ
- 805 名前:仕様書無しさん mailto:sage [2008/04/06(日) 04:36:51 ]
- AんたのPリクラIりません
- 806 名前:仕様書無しさん mailto:sage [2008/04/06(日) 05:51:27 ]
- O/Rマッパー使えばいいじゃん。
- 807 名前:仕様書無しさん mailto:sage [2008/04/06(日) 05:54:04 ]
- いっさいSQL見せないAPI(?)だったら、最初からSQLのレイヤ使わなきゃいいのに、
内部でへんちくりんなSQLごりごり生成して性能落としたあげく、対応できない 複雑な処理にはSQLが直接使えて便利だぜ!ってのはなんか違うんじゃ。 もともとSQLそのものがオーバヘッド大きいのに、その上にかぶせてもなぁ いっそクエリを言語仕様にいれちまえ、っつMSの判断はアリだはと思うけど。
- 808 名前:仕様書無しさん mailto:sage [2008/04/06(日) 05:55:31 ]
- 最近複雑なSQLを書かなくなったな。
JOINとWHEREとORDER BYがすべて入るような SQLだとインデックスをうまく使いづらいんだよね。 結果的にデータ読み込みの行数が跳ね上がって 逆に遅くなってしまう。
- 809 名前:仕様書無しさん mailto:sage [2008/04/06(日) 06:00:39 ]
- これだけはいわせてくれ。
条件の数が可変で、AND とか OR とか それをつないでいく処理は 文字列結合で作っていくんじゃなく、 配列に入れておいて、最後で join(" AND ", 条件入れた配列) という風にしなさい。
- 810 名前:780,783 mailto:sage [2008/04/06(日) 07:14:09 ]
- >>799
担当分けしてる。 引き継ぎが大変だろうなと思う今日この頃。 >>801 同じく作った。 >>807 なるほど、今まで考えたこともなかった。 SQLを使わずDBサーバと直接接続する方法のヒント教えてー。調べてみる。 >>808 同意。 >>809 Cにそんな便利な関(ry
- 811 名前:仕様書無しさん mailto:sage [2008/04/06(日) 07:18:43 ]
- >>810
> >>809 > Cにそんな便利な関(ry 作れ!
- 812 名前:810 mailto:sage [2008/04/06(日) 07:24:52 ]
- >>811
ネタに(ry おそらく >>809 は検索条件は構造体に入れておき、 最後に組み立てろってことを言いたかったんじゃないかと。 ついでに言うと () とかに対応するために、 その構造体はツリー構造にしておいた方がいい。
- 813 名前:仕様書無しさん mailto:sage [2008/04/06(日) 08:07:40 ]
- >>802
それ普通に裁判沙汰になるよ 妄想もほどほどに
- 814 名前:仕様書無しさん mailto:sage [2008/04/06(日) 09:02:47 ]
- >>812
じゃなくて単にヒープの無駄遣いと文字列コピーのコストを抑えろ、ということだろ>>809は。
- 815 名前:809 mailto:sage [2008/04/06(日) 13:55:39 ]
- いや、そんなコストとかの話ではなく、
str += "where"; str += "flag=true"; str += "and value=1"; ↓ whereflag=trueand value=1 なんて間抜けをやらないですみますよということ。 条件の数が可変で引数によってつけたりはずしたりすると、 where and value=1 とかやってしまうだろ?という話。 joinのようなもので最後にくっつければ、絶対andの前後にスペース入れられるし、 whereのあとにいきなりandがでてきたりなんて事を防げる。
- 816 名前:仕様書無しさん mailto:sage [2008/04/06(日) 16:09:41 ]
- おまえはandしか使わんのか?
つか、レベル低すぎだな、この手の話題
- 817 名前:仕様書無しさん mailto:sage [2008/04/06(日) 16:10:07 ]
- もっとつまらん理由でしたとさ。
- 818 名前:仕様書無しさん mailto:sage [2008/04/06(日) 16:35:59 ]
- この手の詰まらん事を意識できない奴にはいつまでたっても最良のコードは書けないよ。
- 819 名前:仕様書無しさん mailto:sage [2008/04/06(日) 16:38:50 ]
- いや、正直>>815のレベルで最適なコードとか言われても…
- 820 名前:仕様書無しさん mailto:sage [2008/04/06(日) 16:52:04 ]
- もっとブレークスルーなやつたのむ
- 821 名前:仕様書無しさん mailto:sage [2008/04/06(日) 17:06:28 ]
- >>815
そんな低レベルの話だったのかw 期待して損したw
- 822 名前:仕様書無しさん [2008/04/06(日) 17:16:26 ]
- 809
m9(^Д^)プギャー
- 823 名前:仕様書無しさん mailto:sage [2008/04/06(日) 19:58:57 ]
- >>809
WHERE 1=1 AND xxx = :xxx AND yyy = :yyy AND zzz = :zzz これで解決じゃね?
- 824 名前:仕様書無しさん mailto:sage [2008/04/06(日) 20:51:10 ]
- おいだれか、この中国人をつまみだしてくれ
- 825 名前:仕様書無しさん mailto:sage [2008/04/06(日) 21:06:45 ]
- 823は、よく使われてるテクニックだよ。
RoRのソースにもあった希ガス。
- 826 名前:仕様書無しさん mailto:sage [2008/04/06(日) 21:08:17 ]
- Railsなんて糞に決まってるだろ
- 827 名前:仕様書無しさん mailto:sage [2008/04/06(日) 21:13:45 ]
- >>825
その使い方はここの話の本筋とは関係ない。
- 828 名前:仕様書無しさん mailto:sage [2008/04/06(日) 21:25:24 ]
- つか普通は823のテク使うだろw
- 829 名前:仕様書無しさん [2008/04/07(月) 12:44:36 ]
- 一年前そのシチュエーションでは文字列結合で作った。
反省はしていない。次回以降は823のやり方にする。
- 830 名前:801 mailto:sage [2008/04/07(月) 12:58:44 ]
- >>809 がスレのレベルを一気に下げたな。
>>810 >同じく作った。 …>>801 の後段は君に言ってんだけど。
- 831 名前:仕様書無しさん mailto:sage [2008/04/07(月) 20:51:55 ]
- ハードコーディングと表現する奴は、
プリコンパイラの仕組みも知らない初心者だな。
- 832 名前:仕様書無しさん mailto:sage [2008/04/07(月) 21:05:19 ]
- はあ???プリコンパイラなんて何の関係もないだろ・・・
- 833 名前:仕様書無しさん mailto:sage [2008/04/07(月) 21:15:17 ]
- >>832
はあ?関係大ありだよ!
- 834 名前:仕様書無しさん [2008/04/07(月) 21:35:39 ]
- >>808がよくわからん
インデックスを全て指定するのにその順番で書かない時はどんな時なの???
- 835 名前:仕様書無しさん mailto:sage [2008/04/07(月) 22:01:34 ]
- 複雑なSQLも落ち着いて分解すると
単純なSQL数個に分けられる
- 836 名前:仕様書無しさん [2008/04/07(月) 22:16:40 ]
- で、プリコンパイラがどうしたって言うんだ
- 837 名前:仕様書無しさん mailto:sage [2008/04/07(月) 22:24:03 ]
- カオスw
- 838 名前:仕様書無しさん mailto:sage [2008/04/07(月) 22:33:53 ]
- ソースコードに直接SQL文を書くことを何て言うかなんて、
入門書にも出てくる初歩的な用語なわけで、 ハードコーディングとの違いも分からないようでは情けないな。
- 839 名前:仕様書無しさん mailto:sage [2008/04/07(月) 22:34:16 ]
- 全文検索になるってことだろ
- 840 名前:仕様書無しさん mailto:sage [2008/04/07(月) 23:59:48 ]
- >>838
埋め込みSQLw
- 841 名前:仕様書無しさん mailto:sage [2008/04/08(火) 00:14:17 ]
- 話が滅茶苦茶というか
各人のイメージしているものがそれぞれ違うような気がしてきた
- 842 名前:仕様書無しさん [2008/04/08(火) 00:16:06 ]
- ダバダの人
違いを教えてよ
- 843 名前:仕様書無しさん [2008/04/08(火) 00:20:33 ]
- ホント2chって、どうでもいいSQL見たいな
素人レベルのことだとスレが伸びるのね。 ここぞって時の質問はスルーなのにねぇ。
- 844 名前:仕様書無しさん mailto:sage [2008/04/08(火) 00:26:29 ]
- ↓ここぞって時の質問
- 845 名前:仕様書無しさん mailto:sage [2008/04/08(火) 00:28:48 ]
- ↑矢印厨
- 846 名前:仕様書無しさん mailto:sage [2008/04/08(火) 00:36:53 ]
- >>844
なんで俺には彼女が出来ないの?
- 847 名前:仕様書無しさん mailto:sage [2008/04/08(火) 00:37:11 ]
- 自転車小屋議論ですから。
- 848 名前:仕様書無しさん mailto:sage [2008/04/08(火) 01:43:50 ]
- >>843
ここにはオレヨリモマイラハレベルが低いとオマイハ思いたい と書いてある。
- 849 名前:仕様書無しさん mailto:sage [2008/04/08(火) 07:02:11 ]
- プリコンパイラまだ〜?
- 850 名前:仕様書無しさん mailto:sage [2008/04/09(水) 00:19:11 ]
- >>838
で、なんて言うの?まさか >>840 じゃないよね?
- 851 名前:仕様書無しさん mailto:sage [2008/04/09(水) 01:31:19 ]
- 基礎知識が無いというのは、
プログラム書く前にマニュアルとか読まずに、 先輩に要点だけ教わって書いてるのかね?
- 852 名前:仕様書無しさん mailto:sage [2008/04/09(水) 06:54:31 ]
- シッタカ君がよく使う逃げ口上
- 853 名前:仕様書無しさん mailto:sage [2008/04/09(水) 07:02:03 ]
- スレタイが知ったかそのものなわけだがw
- 854 名前:仕様書無しさん mailto:sage [2008/04/09(水) 19:16:38 ]
- ↓↓というわけで、プリコンパイラさん、どうぞ〜 ↓↓
- 855 名前:仕様書無しさん mailto:sage [2008/04/09(水) 20:10:29 ]
- 恥を書く前に入門書からコツコツ勉強しましょう。
- 856 名前:仕様書無しさん mailto:sage [2008/04/09(水) 20:19:44 ]
- ほんと恥かしいよ、プリコンパイラさん。馬鹿まるだし。
- 857 名前:仕様書無しさん mailto:sage [2008/04/09(水) 20:37:51 ]
- "SQL"と”ハードコーディング”でググってみたことあるかい?
このスレ以外では、間違って使う奴すらいないぞ。
- 858 名前:葉猫 ◆Jz.SaKuRaM mailto:sage [2008/04/09(水) 21:30:42 ]
- このスレが上位をほぼ独占ちててワロタ
- 859 名前:仕様書無しさん mailto:sage [2008/04/10(木) 00:22:08 ]
- さっさと死ねよ屑コテ
- 860 名前:仕様書無しさん mailto:sage [2008/04/10(木) 04:11:21 ]
- ハードコーディング⊇埋め込み
だろ? EXEC SQL 〜 とかやって、プリコンパイラ(Pro*C とか)で変換するのが埋め込み SQL(ハードコーディングの一種) それ以外でも直接 SQL をソースに書くのが(埋め込みじゃない)ハードコーディング 何も難しくないだろ。
- 861 名前:仕様書無しさん mailto:sage [2008/04/10(木) 04:23:22 ]
- >>860
じゃMSのLINQは言語の一部だからハードコーディングじゃないのか。 もっともあれはSQLじゃないといえばそうだけどさ。
- 862 名前:仕様書無しさん mailto:sage [2008/04/10(木) 05:58:01 ]
- >>860
残念ながら、ググっても出てこないのだから、そういう「ハードコーディング」の解釈は一般にはないのだよ。
- 863 名前:仕様書無しさん mailto:sage [2008/04/10(木) 06:52:58 ]
- 自分の無知を棚に上げてよく言うわ
- 864 名前:860 mailto:sage [2008/04/10(木) 07:00:11 ]
- >>861
LINQ, SQL の場合に限らず、なにかコードに直接書いたら、 何でもハードコーディングと呼ばないか? 860 もコードに直接書く場合しか書いてない。
- 865 名前:仕様書無しさん mailto:sage [2008/04/10(木) 07:10:49 ]
- 「ハードコーディング」は実行時の状態も関係してるから、
プリコンパイルの仕組みを理解していれば、 「ハードコーディング」と呼ぶことはないだろう。
- 866 名前:仕様書無しさん mailto:sage [2008/04/10(木) 07:41:45 ]
- e-words.jp/w/E3838FE383BCE38389E382B3E383BCE38389.html
- 867 名前:仕様書無しさん mailto:sage [2008/04/10(木) 07:48:22 ]
- 「プリコンパイラ」はコンパイラの前に動くものなのだから、
ハードコーディングとは何かを理解していれば、 「プリコンパイラ」を持ち出すことはないだろう。
- 868 名前:仕様書無しさん [2008/04/10(木) 07:59:39 ]
- >>867
それは、プリコンパイルも実行状態も理解してないから、そう思うのだ。
- 869 名前:仕様書無しさん mailto:sage [2008/04/10(木) 09:28:40 ]
- でもさ、SQLってそもそも人間がいちいちISAMなんかのアクセスを
ハードコーディングしないように抽象化するために作ったもんだろ? それをまた関数のパラメータに押し込んで、API(笑)化するのって 全然可読性を上げてることにならないような気がするんだけど。 皆がちゃんとSQLを学べば、テキストでSQL組み上げるような無様な関数 作らなくても全然平気じゃないか?第一、SQLがまともに使えないヤツが その関数を楽々使えるとも思えないんだけどな。
- 870 名前:仕様書無しさん mailto:sage [2008/04/10(木) 13:23:44 ]
- >>869
つか、それを言い出したらO/Rマッパは…ってなるような希ガスwww 事実、O/Rマッパなんて要らないけどさ。
- 871 名前:仕様書無しさん mailto:sage [2008/04/10(木) 18:58:47 ]
- printf("Hello, World!\n");
これもハードコーディングって言うんだろうなぁ
- 872 名前:仕様書無しさん mailto:sage [2008/04/10(木) 19:41:12 ]
- if (flag & 3) ...
これもハードコーディングと言うんだろうね。
- 873 名前:仕様書無しさん mailto:sage [2008/04/10(木) 22:43:49 ]
- >>869
勉強もせず自分で勝手に想像して、「ちゃんとSQLを学べ」は自分だろw
- 874 名前:仕様書無しさん [2008/04/10(木) 23:13:19 ]
- プリコンパイラが最適化してくれるとも思ってるのか、このバカちんは
- 875 名前:仕様書無しさん mailto:sage [2008/04/10(木) 23:16:26 ]
- SQL文そのものなんてソース内で見ないまま扱えるようにクラス作りゃいいんだけど
でもねぇ
- 876 名前:仕様書無しさん mailto:sage [2008/04/10(木) 23:19:44 ]
- >>871
それは明らかにハードコーディングだ i18nって知ってる?
- 877 名前:仕様書無しさん [2008/04/10(木) 23:22:31 ]
- 物質の表面改質の為に、TiN, TiAlN, TiCN, CrN, DLCなどを
アークイオンプレーティング法などを用いて成膜し、 表面の硬度や耐摩耗性を高める。
- 878 名前:仕様書無しさん mailto:sage [2008/04/10(木) 23:23:12 ]
- それはコーティング
- 879 名前:仕様書無しさん mailto:sage [2008/04/10(木) 23:23:59 ]
- >>872
それはマジックナンバー
- 880 名前:sage [2008/04/10(木) 23:25:43 ]
- それはハードコーティング
- 881 名前:仕様書無しさん mailto:sage [2008/04/10(木) 23:28:07 ]
- >>874
さて、プリコンパイラは何をしてるのでしょうか? それが分かれば、 >>871 や >>872 との違いも分かるでしょう。
- 882 名前:仕様書無しさん mailto:sage [2008/04/10(木) 23:30:25 ]
- 降参です答えを教えてください
と言えばこういう人は確実に逃げる
- 883 名前:仕様書無しさん mailto:sage [2008/04/10(木) 23:33:04 ]
- >>882
オマエみたいに偉そうなバカに教えるわけがありません。
- 884 名前:仕様書無しさん mailto:sage [2008/04/10(木) 23:33:39 ]
- 頭の中で何となく理解しているつもりの事柄を
他人にしっかり説明しようと文章を書き始めてみる。 そのときに初めて、自分の知識がいかに曖昧で 本当は殆ど何もわかっていないということに気付く。
- 885 名前:仕様書無しさん mailto:sage [2008/04/10(木) 23:35:50 ]
- >>884
自分で考えるのではなく、マニュアルを読め。
- 886 名前:仕様書無しさん mailto:sage [2008/04/10(木) 23:36:37 ]
- まさかプリコンパイルされた後のソースを、コンパイルする前に
手で修正できるから、元ソースはハードコーディングじゃねーとか わけわけめなこと言うんじゃねーだろうな、ウンコ野郎
- 887 名前:仕様書無しさん mailto:sage [2008/04/10(木) 23:37:19 ]
- まともな RDBMS なら内部にクエリキャッシュを持っているので
実行時に SQL 文字列を毎回パーズして実行するなんていう馬鹿な処理にはならない。 そんなことは誰でも知っている常識 それとハードコーディングの問題は無関係
- 888 名前:仕様書無しさん mailto:sage [2008/04/10(木) 23:39:31 ]
- ソフトコーディングもあるのかな
- 889 名前:仕様書無しさん mailto:sage [2008/04/10(木) 23:44:25 ]
- でプリコンパイラは何をするのかな?もう逃げたか?
- 890 名前:仕様書無しさん mailto:sage [2008/04/10(木) 23:53:14 ]
- >>886
やっぱり、プリコンパイルが何するか分かってないね。 自分で勝手に考えずに、マニュアル読めよ。
- 891 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:00:32 ]
- 埋め込みSQLを展開してるだけだろ
埋め込んだSQL文が勝手に最適化されるわけじゃないし ハードコーディングじゃないということとは関係ないじゃん。
- 892 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:06:03 ]
- 知ったかぶりで上から目線で煽って、相手に文章を書かせる。
それによって自分が勉強する。技術系板の典型的厨房
- 893 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:06:38 ]
- >>891
想像で書くな。マニュアル読め。
- 894 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:09:18 ]
- なんだよ結局逃げかよ
具体的に説明してくれよ、プリコンパイラがこうするから ハードコーディングじゃないよねって
- 895 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:12:41 ]
- そもそもプリコンパイラって時点で具体的なDB製品に依存してるし…
顧客の予算やスケールに応じて組み合わせるDBを変更するとか 想像もつかないんだろうなこの人は
- 896 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:14:39 ]
- >>894
それ教えちゃったら、面白くないでしょwww
- 897 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:16:17 ]
- SELECT命令以外実行する権限が与えられていないのだ・・・
- 898 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:17:25 ]
- en.wikipedia.org/wiki/Hard_coding
- 899 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:18:41 ]
- ぐぐってもPro*Cしか出てこない。Oracle限定の話?
- 900 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:19:58 ]
- >>896
同意。教えたら「なんだそんなことか、付き合って損した放置放置」で終わっちゃうよね
- 901 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:20:36 ]
- 少なくとも、このスレ以外ではSQL文をソースに書くことをハードコーディングとは
呼んでいないという現実を真摯に受け止めて、一から勉強することだな。
- 902 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:21:49 ]
- esqlも知らんのか
- 903 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:21:57 ]
- なんでスレが900に行こうというときに用語の定義でもめ始めるんだよwww。
その時点で普通のプロジェクトならデスマーチになってる。
- 904 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:21:58 ]
- >>899
他の製品でもあるけど 基本的に埋め込みSQLをライブラリ・コールに変換するだけ 埋め込んだSQLが変化するわけではない。
- 905 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:23:22 ]
- そりゃあプログラミングの観点から言えば
ハードコードされるのは文字列だからなあ。 ハードコードされる文字列の中身がSQLだってだけ。 で、何か?
- 906 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:23:22 ]
- >>876
へー、ハードコーディングって言うんだ
- 907 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:24:03 ]
- いいから逃げないで答え言えよ
- 908 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:26:06 ]
- 変数使ってるからってことだろ
- 909 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:27:58 ]
- sql = "select * from emp where empno = ?";
これもハードコーディング?
- 910 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:28:40 ]
- >>903
実際のプロジェクトでもよくあるだろ 途中から変なのが登場して最初から全部説明させられて挙句ひっくり返される
- 911 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:29:39 ]
- >>872
マジックナンバーじゃない?
- 912 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:31:31 ]
- O/Rマッパーでも、静的に事前に解析する奴は、ハードコーディングじゃねーの?
- 913 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:33:00 ]
- resultset.column(0) ←ハードコーディング
resultset.column("id") ←ハードコーディング
- 914 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:33:51 ]
- customers.id ←ハードコーディング
ハードコーディングじゃない奴ってどんなんだw
- 915 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:34:58 ]
- static final ID = "id";
... resultset.column(property.get(ID));←ハードコーディング?
- 916 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:35:10 ]
- 要するに、真性包茎はハードコーティング
仮性包茎は動的コーティング
- 917 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:35:50 ]
- スレ流し読みしたが、prepared statement使えばハードコーディングじゃないって奴もいるみたいだな
- 918 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:37:16 ]
- DB変わっても、テーブルレイアウト変わっても、ちゃんと動くのがソフトコーディング
- 919 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:37:18 ]
- まずは、ハードコーディングの定義を何回も読むことだな。
- 920 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:37:34 ]
- 設定ファイルに書けばハードコーディングじゃないってのも意味不明
- 921 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:40:25 ]
- テキストファイルに、
0:select * from emp 1:select * from emp where empno=? 2:select * from emp where empno=? and sex=? とか書いて、それ読んで実行しろよw
- 922 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:41:23 ]
- sql = GetSQLStatement(1) ← ハードコーディング
- 923 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:41:24 ]
- 場合によってはアリかもしれぬ・・・
- 924 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:44:52 ]
- ハードコーディングするかどうかは本質じゃないってことだな
- 925 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:45:10 ]
- Railsみないなやつも、コード生成が自動ってだけで、ハードコーディングだよね
- 926 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:47:18 ]
- こりゃもうDDLから動的に生成する必要があるな
- 927 名前:仕様書無しさん mailto:sage [2008/04/11(金) 00:47:24 ]
- このスレを見ている人はこんなスレも見ています。(ver 0.20)
【DI】Java Spring Frameworkを語るスレ 2.0 [プログラム] これウケる。このスレから得るもんなんてねーぞww
|

|