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


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

SQL文をハードコーディングするやつはとっとと氏ね



1 名前:仕様書無しさん [2007/02/07(水) 01:32:56 ]
って思う

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
自分で考えるのではなく、マニュアルを読め。






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

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

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