タグ

2007年5月25日のブックマーク (18件)

  • 1つのSQL文で複数の表にINSERTする絶品テクニック(1/2) ― @IT

    連載はSQLの応用力を身に付けたいエンジニア向けに、さまざまなテクニックを紹介する。SQLの基構文は平易なものだが、実務で活用するには教科書的な記述を理解するだけでは不十分だ。連載は、著名なメールマガジン「おら!オラ! Oracle - どっぷり検証生活」を発行するインサイトテクノロジーコンサルタントを執筆陣に迎え、SQLのセンス向上に役立つ大技小技を紹介していく。(編集局) FOR...LOOP文を使って、いくつものSQL文でデータをINSERTしているPL/SQLプロシージャやプログラムをよく見掛けますが、実は1度にデータをINSERTする方法もあるんです。マルチテーブル・インサート(Multitable Insert)とはその名のとおり、1つのSQL文で複数の表にINSERTが可能になります。この最大のメリットは、やはりパフォーマンスです。では早速ご紹介します。 マルチテーブ

    1つのSQL文で複数の表にINSERTする絶品テクニック(1/2) ― @IT
  • アシアルブログ

    2018-12-21 経済産業省『未来の教室』実証事業の一環として宮崎県立日南振徳高等学校で『農業IoTシステム自作』講座を開催しました MonacaEducation担当の岡です。経済産業省『未来の教室』実証事業の一環として宮崎県立日南振徳高等学校の生徒達とビニールハウスなどの温度湿度をクラウドに記録、スマートフォンやタブレットなどのモバイル端末からグラフとして情報を確認できるようなシ… 経済産業省『未来の教室』実証事業の一環として宮崎県立日南振徳高等学校で『農業IoTシステム自作』講座を開催しました 2018-12-14 IT健保(関東ITソフトウェア健康保険)のお得な活用方法について調べてみた はじめまして、諸井です。 マーケティングや営業のフロント・バックオフィス全般を担当しています。 入社して3年弱、嬉しかったことはいくつかあるのですが、そのひとつは関東ITソフトウェア健康保険

  • DAOパターンですっきりコーディング!(1/4) ― @IT

    連載第5回「MySQLの基礎を学ぼう [サンプル開発編]」では、MySQLサーバと連携した簡易オンラインストアを作成しました。 ただし、固定された商品アイテムの取り扱いのみで、商品の追加や価格の変更を柔軟に行うことができませんでした。今回からは、商品アイテムもMySQLで管理できるよう『簡易在庫管理システム』の作成に取り掛かります。 各商品アイテムをデータベースに登録するため、オンラインストア開発以上にデータベースへのアクセスが発生します。そこで、データベース操作を一まとめにしたクラスを作成して、そのクラスを利用してデータベースへアクセスするようにします。 クラスを利用する ご存じのとおり、PHP5はJavaに匹敵する十分なオブジェクト指向性を有しています。「クラス化」「継承」「オーバライド」……。 こうした用語に「げっ!」と思った方、ご安心ください。今回は、簡単なサンプルを例に、最低限必

    DAOパターンですっきりコーディング!(1/4) ― @IT
  • CodeZine:Rubyを使ってWebアプリケーションの脆弱性を早期に検出する(Web, テスト, Ruby)

    Scaffoldで生成したアプリケーションは出発点にすぎず、自立した完成品のアプリケーションではありません。このため、開発者がプロジェクトに適した形になるように手を加える必要があります。しかし、毎回似たような修正を行うのであれば、生成した時点でその修正が反映されている方が、より生産性も向上します。そこで稿では、Scaffoldをカスタマイズする方法を紹介します。

  • SQLで集合演算:CodeZine

    はじめに SQLが集合論に立脚する言語であるということは、この連載で一貫して強調してきたテーマの一つです。その特性のゆえに、SQLは「集合指向言語」と呼ばれていますし、実際、集合的な観点から見たときに初めて、その強力さが理解できると私は考えています。しかし現実には、SQLのこの側面は長らく無視されてきました。 その背景には、SQLにも責任の一端があります。というのも、SQLはちょっと前まで、高校で習う程度の基的な集合演算子すら持っていなかったからです。和(UNION)こそSQL-86からの古参ですが、交差(INTERSECT)と差(EXCEPT)が標準に入ったのはSQL-92ですし、除算(DIVIDE BY)が未だに標準化されていないことは、前にも述べました。だから、SQLが言語として不完全だという批判は、理由のないものではなかったのです。 しかし、現在では標準SQLに基的な集合演算子

  • [Ruby] EXIFのGPS情報も取得できるExtExif 1.0をリリースした

    extexif RubyにはEXIF(Exchangeable image file format)を扱うための実装がいくつかあるが、全て開発がとまっている。Pure Rubyで実装されたruby-exifは、Ruby1.8だとパッチを当てないとコンパイルが通らない。二つ目はCで書かれたlibexifをRubyから呼び出せるように拡張ライブラリで実装されたruby-libexifであるが、2007年5月23日現在サーバが落ちている。幸いローカルにキャッシュがあったためコンパイルを試みたが、Ruby1.8.5ではコンパイルが通らない。Debainパッケージではコンパイルが通るように修正が施されているが、このライブラリはEXIFのGPSデータの取得をサポートしていない。 exif.c #if 0 /* GPS tags are not supported in this library */

  • 秋元@サイボウズラボ・プログラマー・ブログ: reCAPTCHA - キャプチャを利用した人力高性能OCR

    reCAPTCHA という新サービスはすごい。その構想力には感動させられた。 念のためにCAPTCHA(キャプチャ)について説明しておくと、スパムプログラム(bot)と人間のユーザを見分けるための簡単な(しかし機械にとっ […] reCAPTCHA という新サービスはすごい。その構想力には感動させられた。 念のためにCAPTCHA(キャプチャ)について説明しておくと、スパムプログラム(bot)と人間のユーザを見分けるための簡単な(しかし機械にとっては難しい)クイズのことだ。ある程度ウェブを使っている人なら、ネットサービスの登録時やコメントの書き込み時などに、読みにくく加工されたアルファベットを読まされたりした経験があるだろうと思う。 それらのサイトでは、あなたが人間にしかできないクイズを解いたのを見て、ユーザ登録やコメントの投稿を受け付けたりする仕組みになっているわけだ。文字を読む以外のC

  • RSSリーダーのクローラーが提供すべき User-Agent の値 : 管理人@Yoski

    ブラウザで使える RSS リーダーが増えてきました。 ブラウザで使える(いわゆる Web 型と呼ばれる)RSS リーダーは、複数人で共有して使われるため、RSS フィード提供者からしてみれば「何人の人に読まれているか分からない」といった問題点があります。 そこで、ひそかに進められている(というか、もう公然のルール)になっているのが「クローラーの User-Agent に 購読者数を送信する」というものです。 Web 型 RSS リーダーからのアクセスについては、この「User-Agent」に含まれている情報を見ることで、その先何人の人に購読されているかというのが簡単に把握できるようになっています。 ある意味、これは「RSS 配信者に知る権利がある」情報だと思いますので、これからも対応が進められるといいなぁ、と思います。 ということで、Web 型 RSS リーダーの User-Agent 一

  • Linux I/O のお話 write 編 - naoyaのはてなダイアリー

    write はページに dirty フラグを立てるだけなので決してユーザープロセスを待たせない って、当にそうなんでしょうか?(否定しているわけではなく、純粋な疑問です。) と質問をもらったので、最近追ったことをここでまとめます。かなり長文です、すいません。また、まだまだ不勉強なので間違っているところもあるかもしれません。ツッコミ大歓迎です。 まず、オライリーのカーネルの 15章 ページキャッシュ 15.3 汚れたページのディスクへの書き込み から引用。 ご存知のように、カーネルは、ブロック型デバイスのデータを含むページをページキャッシュに蓄えています。プロセスが何らかのデータを更新した場合は、必ず対応するページに汚れている印をつけます。すなわち、PG_dirty フラグを設定します。 UNIX システムでは、汚れたページのブロック型デバイスへの書き込みを遅延することができます。この方

    Linux I/O のお話 write 編 - naoyaのはてなダイアリー
  • RSpec を使うための4つの語彙 - moroの日記

    年末年始にスライドを作ろうと思って挫折しました。 RSpec のテストコードは見慣れない "should" なんかが出てきて難しそうに見えますが、実は覚えなきゃいけないのは 4つ程の語彙だけです。*1 Object#should_xxx [args] Object#should_have(n).items Object#should_not_xxx Proc#should_raise() Object#should_xxx [args] 超基の書き方です。should_ の後に続いたメソッドを呼び出し、その結果が真ならパスします。args で、そのメソッドヘの引数も与えられます。これだけだとイメージし辛いと思いますのでいくつか例を。 "?"は付いても付かなくても OK だったと思います。 1.should_equal 1 Fixnum#equal を呼び出してます。上記の例では下記の判定

    RSpec を使うための4つの語彙 - moroの日記
  • SeleniumRC spec - 世界線航跡蔵

    Selenium on Railsもいいけど、やっぱり、Rspecに全部統合したいわけですよ。あと、全部Rakeから自動でやりたい。で、SeleniumRCの呼び出しをRSpecに統合してみた。 2007-03-05追記。@selenium.stopを忘れてました。 2007-11-20追記。RSpecの新記法/新実装に対応した 新しいバージョン を作りました。 script/selenium/にselenium-server.jarを置いておいて、 def selenium_context(*args, &block) context(*args) do context_setup do @selenium_pid = Process.fork do $stdin.reopen(File.open('/dev/null')) $stdout.reopen(File.open(File.j

    SeleniumRC spec - 世界線航跡蔵
  • ウノウラボ Unoh Labs: rubyで手軽に暗号化文字列やハッシュ値を生成

    こんにちは django派閥とrails派閥の争いが激しい最近のウノウです。ちなみに若干railsが優勢です。 require 'openssl' def encrypt(aaa, solt = 'solt') enc = OpenSSL::Cipher::Cipher.new('aes256') enc.encrypt enc.pkcs5_keyivgen(solt) ((enc.update(aaa) + enc.final).unpack("H*")).to_s rescue false end def decrypt(bbb, solt = 'solt') dec = OpenSSL::Cipher::Cipher.new('aes256') dec.decrypt dec.pkcs5_keyivgen(solt) (dec.update(Array.new([bbb]).pa

  • ラシウラ - RSpecのspecの書き方

    (5/27: はてブ5人付いてたので、読みやすく直した) BDDツールとしてRSpecは使えたとしても、実際どうspecを書いていいかで悩むだろう。検索で引っかかるのは、動作解説が中心で、どうspecを書くべきかについてまで触れているものはほとんどない。そこで、物になるspecの書き方を分析してみる。 まず、Exampleを見て分析してみる。 http://rspec.rubyforge.org/examples.html http://rspec.rubyforge.org/documentation/index.html http://rspec.rubyforge.org/documentation/mocks/mocks.html これらを眺めて感じたこと あるまとまった性質ごとに :shared=>true で describeを書く 別途、クラスごとにコンテキストを作るdesc

    ラシウラ - RSpecのspecの書き方
  • REXML:RubyによるXML処理

    Scaffoldで生成したアプリケーションは出発点にすぎず、自立した完成品のアプリケーションではありません。このため、開発者がプロジェクトに適した形になるように手を加える必要があります。しかし、毎回似たような修正を行うのであれば、生成した時点でその修正が反映されている方が、より生産性も向上します。そこで稿では、Scaffoldをカスタマイズする方法を紹介します。

  • Yahoo! が PHP エンジニアを雇う時に聞く質問

    via.Yahoo!PHPエンジニアを雇う時に聞く質問 | IDEA*IDEA とりあえず適当に訳してみました。間違いがあれば指摘をお願いします :-) 1.配列usersに「john」を追加しないのはどれか? 1. $users[] = ‘john’; 2. array_add($users,’john’); 3. array_push($users,‘john’); 4. $users ||= ‘john’;2. sort(), assort(), ksort()の違いを述べよ。また、どういった状況で利用するかを述べよ。 3. 以下のコードは何を出力するか?それはなぜか? $num = 10; function multiply(){ $num = $num * 10; } multiply(); echo $num;4. 参照と通常の変数の違いを述べよ。また、どのように参照渡しをす

    Yahoo! が PHP エンジニアを雇う時に聞く質問
  • 個人事業にかかる税金あれこれ - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 個人事業をはじめると、どうしても意識しなければならないのが税金です。サラリーマンなら、ほとんどの税金が天引きされるのであまり考える必要はないのですが、個人事業主ともなれば、すべて自分で処理しなければなりません。私も個人契約で仕事をすることになってから頑張って調べましたが、いやー大変ですね。源泉徴収精度のない米国などでは、すべての納税者がこんなことやっているわけです

  • MySQL/Ruby

    [English] これは MySQLRuby API です。MySQL の C API とほぼ同等の機能があります。 ダウンロード RubyForge tmtm.org 必要なもの MySQL 5.0.67 Ruby 1.8.7, 1.9.1 これら以外でも make できるかもしれませんが、確認してません。 ライセンス このプログラムは Ruby ライセンス に従います。 インストール 次を実行してください。 % ruby extconf.rb または % ruby extconf.rb --with-mysql-dir=/usr/local/mysql または % ruby extconf.rb --with-mysql-config それから % make extconf.rb には次のオプションを指定できます。 --with-mysql-include=dir MySQL

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知