はてなキーワード: DBIとは
本業はネットワーク屋なんだけど、無線LAN周りのトラブルで「いや~電波ってそういうものなんでこの環境じゃあムリっすよ」「そういうものって??」みたいなやり取りが客とあってそもそも「電波ってなんなんだ?」と思ったのでぐぐって調べた。高校では物理取ってたはずなのに欠片も記憶にないので深い睡眠学習をしていたのだと思う。
電波法では「3THz以下の周波数の電磁波」を「電波」と呼ぶ。間違っても「電磁波」の略では無いし、電磁波の中の一部を電波と呼んでいるだけ。
導体を電流が流れると磁界が生じる(右ねじの法則)→電流の向きが変わると磁界の強さが変わり電界が生じる→電界の強さが変わると磁界が生じる→…の繰り返しで空間を媒体にして飛んでいくものが電磁波。ただし電界と磁界がリングのように繋がっていく絵(が高校物理の教科書に載っているらしいが全く記憶に無い)は厳密には間違い。電界と磁界は直交して発生し位相が一致するため。
electric fieldの訳語なので同じ。慣習的に工学系は電界、大学の理学系では電場。
コンデンサの応用。コンデンサの電極を棒状にしたイメージ(=ダイポールアンテナ)。アンテナに交流を掛けると電極間で電荷が流れ(ていないが後述の通り流れていると見做す)、電界が生じる→磁界が生じる→電界が生じるのループによって電磁波が空間を伝っていくのが電波の送信。電荷が行ったり来たりする速さが周波数、流れる電荷量(電流の大きさ)が生じる電界の強さになる。
逆に、磁界がアンテナに当たりアンテナ周辺の磁界が変化すると電流が流れる(ファラデーの電磁誘導の法則)ので、それを良い感じに拾い上げるのが受信…なのだと思うが正直この辺は欲しい情報が探せず自信なし。
絶縁体を電極で挟んだもの。絶縁体なので電荷を通さず蓄えることができる。ただし交流の場合、電荷の流れる向きが変わるので見た目上電荷が流れると言える(らしい)。
「電気」のミクロな表現。原子の周りを回っている電子が飛び出すと正電荷、飛び込まれた方の原子は負電荷で異なる電荷同士は反発し合い同じ電荷同士は引き合う(静電気力)。
この静電気力が働く場を「電界」と呼び、電荷から延びる静電気力の働く方向を線にしたのが電気力線。
電荷の移動で磁界に磁力線が生じ、正電荷と負電荷の間で電界に電気力線が生じる。
電波の送信で電界と磁界が生じていくという説明は電気力線と磁力線が生じていくとも言える。磁力線は磁石のNからSへ延びる線。
送信機のアンテナ端子に電力計を繋いで測った電力。送信電力とほぼイコールだが、厳密にはアンテナまでのケーブル減衰を差し引いてアンテナに掛かる電力。よって「送信電力-ケーブル減衰」が空中線電力。
指向性アンテナによって見かけ上、エネルギーをマシマシにしてくれることをアンテナの利得と呼ぶ。アンテナに増幅作用はないので送信電力が増える訳では無い。
等方性アンテナ(指向性を持たず全方向へ等しい強度で放射される仮想的なアンテナ)と同エネルギーのアンテナ利得を基準(0dB)とする利得を絶対利得と呼び 0 dBi とする。あまりよくわかってない。
等価等方放射電力。アンテナからある方向へ放射されるエネルギーを等方性アンテナによる送信電力としたもの。
アンテナ利得 20dBi のある指向性アンテナに送信出力 30dBm(1W) を掛けると送信出力 30dBm + アンテナ利得 20dBi = EIRP 50dBm (=100W) 。これは等方性アンテナ(アンテナ利得 0dBi)に送信出力 50dBm (100W)を掛けたといういう意味になる。
1mW = 0dBm として、1mWより大きいか小さいかを対数で表現した絶対値の単位。
電波の世界ではめっちゃ小さい桁数の数字の数字になるので、常用対数を用いることで使いやすい数字にする。
対数なので 3dBm の増減は2倍または0.5倍、10dBmの増減は10倍または0.1倍。
・23dBm = 10dBm + 10dBm + 3dBm = 10mW x 10mW x 2mW = 200mW
・-60dBm = -10dBm + -10dBm + -10dBm + -10dBm + -10dBm + -10dBm = -0.1mW ^6 = 0.000001mW
といった計算が出来る。
何処まで正しいのか全くわからんが、知識皆無からぐぐって読み比べたらなんとなーくわかったような気がする段階まで持って行くことができるのは単純に凄くねと思った。
便利な時代になったんだなあ。
http://anond.hatelabo.jp/20120917013417 の続き。
前回は、使ってるモジュールしか書かなかったんで、具体的な使い方を、
my $condition = SQL::Maker::Condition->new; $condition->add('colom1' => "$value1"); # colum1 = $value1 $condition->add('colom2',{'like' => "%$value2%"}); # colum2 like '%$value1%' $condition->add('colom3',{'between' => ["$value3","$value4"]}); # colom3 between $value3 and $value4 my $q = SQL::Maker::Select->new(driver => 'XXXXX'); # XXXXXは、MySQL等の指定をする # where句に条件を設定 $q->set_where($condition); # where句を抽出。select項目やテーブルの指定を全くしてないので、$sql_conditionには # "FROM WHERE (colum1 = ?) and (colom2 like ?) and (colom3 between ? and ?)" という文字列がセット my $sql_condition = $q->as_sql(); # "FROM" を消して、WHERE句だけにする $sql_condition =~ s/FROM//; # 設定した条件の配列 my @binds = $q->bind; # SQLの読み込み(条件部分をのぞく) open my $fh, "<", "./sql.txt"; my $sql = do{ local $/; <$fh>}; close $fh; # 生成したWHERE句とソート順をSQLに追加 $sql = $sql.$sql_condition; # コネクションを取得 my $conection = DBI->connect($datasource) or die ( 'could not connect' ); my $sth = $conection->prepare($sql); # 条件に値を埋め込む for(my $i = 0; $i<= $#binds; $i++){ $sth->bind_param($i+1,$binds[$i]); } # SQLの実行 $sth->execute;
という形でやってます。
(増田だとpre記法でも「<」「>」が正しく変換されないんで、読み替えてください。
やろうと思えば、select項目や読み込むテーブルもPGの中で指定して組み立てることも
出来るんだけど、そこまでやると面倒くさいし、そこまで動的にコントロールする必要が
当サイトでは無かったんで、条件部分のみ動的に変更できるようにしてます。
動的SQLをperlで作ろうと思っている人の参考になれば幸いです。
参考
http://search.cpan.org/~chiba/SQL-Maker/lib/SQL/Maker/Select.pm
http://search.cpan.org/~chiba/SQL-Maker/lib/SQL/Maker/Condition.pm
【お知らせ】2011/09/07
http://d.hatena.ne.jp/uniqueweb/20110906/1315285545
プログラムは全く得意じゃないけれど最近よく見かけるようになったエロ動画検索を自分でも作ってみたくて頑張ってみました。
近年、インターネットの普及によりエロ動画が自宅で簡単に見れるという素晴らしい時代になりました。
自分が若い頃はインターネットなんてものはなくエロビデオが主流でドキドキしながらレンタルビデオ屋に行き、可愛い女の子がレジにいない隙を見計らってお兄さんにパッケージを伏せて空箱を渡しビデオを借りたものでした。
お兄さんにビデオの空箱を渡そうとした時に可愛い子がレジに戻ってきて焦って渡すのをやめてものすごく変な動きをしながらエロビコーナーに引き返していくなんてことも多々ありましたw
僕のお気に入りといえば「白石ひとみ」や「あいだもも」といった女優でよく借りてました。エロビを借りるということがものすごく恥ずかしい時代?年頃?でカモフラージュに普通のビデオと一緒に借りるということもしていました。それはそれは大変な思いでオナニーしてたんです!
しかも、ビデオデッキ自体が貴重な時代でリビングに一台しかないのが当たり前でした。
深夜家族が寝静まってからヘッドフォンとビデオを抱えリビングに行き暗がりの中でヘッドフォンをテレビに差し込んでビデオの再生ボタンを期待に胸をふくらませながら押したものです。いいシーンを何回も見るためにビデオを巻き戻すんですが、ビデオを巻き戻すガチャンガチャンという機械音で家族が起きてこないか?とかそれはそれはドキドキしながら見てました。一仕事終えたあとヘッドフォンを外したらジャックが外れていて大音量で喘ぎ声が響き渡っていたなんてこともありました。誰も起きてこなかったのは優しさなんでしょうか?w
さて、大分前置きが長くなりましたがエロというものはものすごい技術発展させるものだと思います。エロのおかげで日本でビデオは普及しエロのおかげで日本でインターネットはものすごく普及したと言っていいと思います。自分もエロを通して技術の発展に貢献し自分自身のスキルアップになれば。という高い志を持ってこのサイトを制作しました。決して自らのオナニーライフの充実と性癖を充たすため作ったわけではありません・・・w
※2011.08.07 利用中のサーバーに障害が発生しているようで現在サーバーに接続できない状態となっています・・・
サイト名の由来は抜きネタからきています。抜きネーター、ヌキネーターという感じですw
エロサイトの制作工程を日記にしてみたんで良かったら読んで下さい。そしてこのサイトを使って夜いろいろと励んでくれたら嬉しいです。
まず前提条件としてお金をほとんどかけたくない。アダルトサイトであるということから
月の予算は5000円以内で考えていたのでけっこう探すのが大変でした。
日本でアダルトサイトを許可している所はかなり限られていてさらにやりたいことができるのは
専用サーバーかVPSしかないのでそうなると専用サーバーは予算オーバーなので
VPSで探すことになり検索しまくってはじめに見つけたVPSはKAGOYAのVPSだったのですがβ版で募集を締め切っていて泣く泣く諦めました。
KAGOYAはかなり評判がいいみたいなので使ってみたかった。
次に見つけたのが○○○VPS。海外サーバーで日本語サポートがあり転送量の制限なしディスク容量100G
月1300円程度で借りれるということで初期設定費用に5000円程度かかりましたが借りてみました。
結果、ここは最悪でした。
あまりの酷さに1ヶ月で解約。
よく調べてみたら評判がものすごく悪い某VPSの再販らしいです。
もう失敗したくないと思い今度は比較的有名な海外サーバーLINODE。
iptablesの設定でどうしてもうまくいかなくて拙い英語でメールしてみたら
10分しないうちに返信がきました!
メールに書かれているとおりにコマンドを入力したらあっさり解決。
担当のブライアンはなぜか分からないけどとてもフレンドリーで親切に感じましたw
LINODEは複数のディストリビューションから好きなものを選択できるので
とりあえず、64bit版を選択。
一番面倒だけど重要だということで
Tripwire
ほんとに面倒でした。
はじめはmysqlにストレージエンジンgroongaを使おうと思ったのですが
初めに借りた最悪なVPSはOSが32bit版だったのでgroongaがのソースが見つからずなぜかと思っていたら
どこかで見つけた記事で32bit版ではgroongaの性能を発揮しきれないということで32bit版の提供をやめてしまったらしいと書いてたので
じゃあ、sennaにするかということで最悪VPSでsennaをインストール。
その後LINODEに変更したのでOSに64bit版を選択し念願のgroongaをインストール。
しかし、調べてみると
プログラムもそれに合わせてその都度書き換えたので2度手間どころか3度手間4度手間でした・・・
まず
そして下記の順番でインストール
rpm -ivh mecab-0.98-tritonn.1.0.12a.x86_64.rpm
rpm -ivh mecab-ipadic-2.7.0.20070801-tritonn.1.0.12a.x86_64.rpm
rpm -ivh senna-1.1.4-tritonn.1.0.12a.x86_64.rpm
rpm -ivh MySQL-shared-5.0.87-tritonn.1.0.12a.x86_64.rpm
rpm -ivh MySQL-client-5.0.87-tritonn.1.0.12a.x86_64.rpm
rpm -ivh MySQL-server-5.0.87-tritonn.1.0.12a.x86_64.rpm
rpm -ivh MySQL-devel-5.0.87-tritonn.1.0.12a.x86_64.rpm
my.cnfの設定をして終了
で肝心の全文検索ですがデータ件数が5万件程度で少ないせいなのか、あいまい検索と比べてそれほど速さを実感できなかったです・・・
でもきっとすごく速くなったはず!
ちなみに「麻美ゆま おっぱい」で検索した場合、0.01 secで結果が返ってきました。
さて、動画データの作成ですがいくつかのエロサイト等制作記事でもあるようにスクレイピングということをします。
スクレイピングとはWEBサイトから特定の情報だけを取得することでネット上にあるサイトをクロールして必要なデータだけを拾ってデータを作るといった感じでしょうか。
スクレイピングのプログラム自体は以前にTidy関数を使って為替データを10分おきに取得するような物を作ったことがあったのでそれほど時間はかからないかなと思ったのですがけっこう時間かかりました。
スクレイピングにはTidyとhtmlSQL、それにPHP Simple HTML DOM Parserを使いました。
SQL みたいな文法で HTML を抽出する PHP のライブラリ
htmlSQLよりアツい!?jQueryみたいにセレクタでHTMLをparse(解析)する「PHP Simple HTML DOM Parser」
3つの中で抜群に使えるのはPHP Simple HTML DOM Parserだったんですが
ループ処理させるとメモリがすごいことになって今回のようなスクレイピングに向いてないみたいで
結局、htmlSQLとTidyの両方を使ってスクレイピングしました。
両方ともPHP Simple HTML DOM Parserに比べるとうまくデータの取得ができないことが多く残念な感じなんですが他に選択肢がないので・・・
使える順に並べると
といった感じかもしれません。
おおまかにデータを取得して正規表現で特定データを抜き出しました。
http://affiliate.dmm.com/link.html
利用可能な物はパッケージ画像、サンプル画像(縮小)と書かれていたのでそれに従い画像を利用。
注記に※ユーザーレビューは引用いただけません。とだけ書かれているのでそれ以外は引用ありと判断して説明文とタイトルなどを利用
女優データとジャンルデータ、DVDデータ、を紐付けたデータベースを作成し検索ワードに応じて検索結果に関連する商品を表示させるようにしました。
現状、売り上げ0で意味があるのか分かりませんけどw
エロサイトということで多少はチューニングとか設定とかしないとまずいかもと思い色々調べて設定しました。
やったこと
KeepAlive On MaxKeepAliveRequests 60 KeepAliveTimeout 3 <IfModule prefork.c> StartServers 7 MinSpareServers 5 MaxSpareServers 10 ServerLimit 30 MaxClients 30 MaxRequestsPerChild 4000 </IfModule>
様子見ということで2日間で設定してみました。
query_cache_limit=1M
query_cache_min_res_unit=4k
query_cache_size=16M
query_cache_type=1
とりあえずこんなところを設定してみましたが、爆発的なアクセスがあるわけでもないので有効なのか今のところ分かりません(-_-;)
Apache Benchでテストはしてみましたけど問題はない感じですが実際にチューニングができているか分かりません。
プログラマーとして有名なゆうすけさんのサイトとgoogleを参考にしました。
シンプルで使いやすいようにしようと思いこのデザインにしました。
クロスブラウザはIE7、firefox3、chromeで行いました。
可変ものって作ったことなかったんですがけっこう面倒なんですね。
ブックマーク機能とメニューの折りたたみ機能、検索結果の表示方法切替を作りました。
まず、ブックマーク機能ですがログインなしで気に入った動画をブックマークできるようにしました。
ブックマークに追加した動画はブックマークページで確認できるようにしました。
cookie機能を利用したらいけると思い色々調べてjquery.cookie.jsを利用。
保存したクッキー情報を呼び出してphpに渡して処理し指定要素にブックマーク一覧をloadメソッドで表示させるという感じです。
$(function(){ $("#youso").load("xxx.php"); });
メニューの折りたたみ機能は人気AV女優やAV女優別、人気タグなどをそのまま表示させるとずらっと長くなって邪魔だったのでつけました。
これには同じくjquery.cookie.jsを利用しました。
参考サイト:http://blog.caraldo.net/2009/03/newjqqookiemenu.php
検索結果の表示方法切替にはZoomer Galleryを利用しました。
参考URL:http://phpjavascriptroom.com/?t=ajax&p=jquery_plugin_zoom#a_zoomergallery
検索結果ページで表示される
[ここの画像]
××× の検索結果
44件中 1~10件目を表示
ここの画像の部分をクリックするとgoogleイメージ検索みたいに一覧でイメージ表示できるようにしてみました。
基本的に動画の埋め込みを許可しているサイトのみプレイヤー表示をしそれ以外は画像を表示し動画データへリンクするようにしました。
埋め込み部分はあらかじめそれぞれのサイトに対応したプレーヤー部分のコードを記述しVIDEOIDの部分に置き換えるような形にしました。
XVIDEOSを例にすると
XVIDEOSの場合かならず動画のurlがhttp://www.xvideos.com/videoXXXXXX/のようになりますのでXXXXXXの部分を
VIDEOID部分に置き換えるようにプログラムを組みました、
埋め込み部のソース
>||<object width="510" height="400" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" ><param name="quality" value="high" /><param name="bgcolor" value="#000000" /><param name="allowScriptAccess" value="always" /><param name="movie" value="http://static.xvideos.com/swf/flv_player_site_v4.swf" /><param name="allowFullScreen" value="true" /><param name="flashvars" value="id_video=VIDEOID" /><embed src="http://static.xvideos.com/swf/flv_player_site_v4.swf" allowscriptaccess="always" width="510" height="400" menu="false" quality="high" bgcolor="#000000" allowfullscreen="true" flashvars="id_video=VIDEOID" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>
||<
その他の動画サイトもURLの一部分のデータを使っているので同様の処理をしました。
実際の作業は2、3週間ですが色々調べる時間が多くて制作に2ヶ月くらいかかりました。
自分でエロ動画検索を作ってみて有名プログラマーさん達がいかに優秀なのか思い知らされました。
全くWEBの知識がない人で4、5ヶ月ですごいの作っちゃう人とかもいるみたいですし世の中広いな~と思います。
大分、色んな知識を得ることができました。
これからプラグラムを勉強しようと思う人はぜひエロサイトから入ってみて下さい。
そんなこんなで?頑張って作ってみたエロ動画検索、良かったら使ってみて下さい。
これで少しは技術の発展に役立てたでしょうか?w
P.S エロサイトを作っていてはじめは楽しくて興奮しながら作ってたのですが最後の方はエロい物を見ても全く反応しなくなりましたw
不能ではないんですけど・・・今現在も性欲が著しく減退しております・・・
そしてスーパーpre記法がうまういかないのはなぜ?はてな匿名ダイアリー初投稿で全然分からない・・・
そしてそしてプログラマーさんとかデザイナーさんとかエロい人とかお気軽にお声をおかけ下さい。
【お知らせ】2011/09/07
http://anond.hatelabo.jp/20080601175525
他の有料レンタルサーバを使ったことないので、あてにはできないけど。
プラン変更は出来ない。変更したい場合は別プランで新規登録後、データを移すことになる。
公式にはこちら
以下私の環境。これは割り当てられたサーバにより多少の違いがあり得る。その他詳細はアカウント毎に確認できる。
CPU | Intel(R) Pentium(R) M processor 2.00GHz |
メモリ | 2GB |
OS | FreeBSD 6.1-RELEASE-p23 i386 |
Apache | Apache/1.3.39 |
Perl | 5.8.8 |
Ruby | 1.8.5 |
Python | 2.4.5 |