「require」を含む日記 RSS

はてなキーワード: requireとは

2018-10-29

anond:20181029122517

女は時間と金がかかる(girls require time and money)ので

Girl = Time × Money ・・・(1)

時は金なり(Time is Money)という諺によると

Time = Money ・・・(2)

(2)を(1)に代入すると

Girl = Money × Money

ここで、金は諸悪の根源(money is the root of all evil)だから

Money = √(Evil)

したがって

Girl = √(Evil) × √(Evil) = Evil

女=悪 (証明

みたいなやつだよな。

2018-09-22

ガチムチパンツレスリング書き起こし

空耳:あぁん、ひどぅい!

英語:Oh what are you doing!?

発音:オゥ ワタユー ドゥイン !?

意味:うおッ、なにするだアッー!

空耳:相変わらずケツ欲しい、いいな?

英語:My college kids will see. You know?

発音:マイ カレッジ キッズ ウィルシー ユーナゥ?

意味:俺の大学の坊や達に観られちゃうだろうな?

空耳あいのりBOY、あいのりBOY

英語:I no require, I no require...

発音:アイノリクワイ アイノリクワイ

意味:いらない、いらないんだ…

空耳:あの、ジャスコにバッグを…

英語:I'm just gonna back home...

発音:アィム ジャス ガナ バック ホーム

意味:家に帰るところなんだけど…

空耳:あるのかいうちに?

英語:I don't wanna hurt you.

発音:アイ ドン ワナ ハーチュ

意味:君のことを傷つけたくないよ

あんかけチャーハンについてのほぼ公式英文を見つけたので追記、文末にソース記載

空耳あんかけチャーハン

英語How do you like that, huh?

発音:ハァウ ドュ ユ ライク ザッツ、ハァン?

聴音:ハァン ュア クケ ッチアン、ハァン?

意味へぇ、これがいいんだな?

空耳:いいですか?茄子ステーキ

英語:Disobedience huh? That's a mistake...

発音:ディソビデンス ハァン? ザツ ア ミステイク

意味:逆らう気か?そうはさせないぞ

空耳:いい目してんねサボテン

英語Maybe you and I should try to start one, then.

発音:メイビュ ア シュド ライトゥ スタ ワン ゼン(ビオランテ特有出身地であるカナダ訛りが強く識別困難の為、誤りの可能性大)

意味:そんなに自信があるならおっ始めようじゃねぇか

空耳いかん…いかん!危ない危ない危ない危ない…

英語:Be calm, be calm, up right up right up right up right...

発音:ビカム、ビカム、アプライアプライアプライアプライ

意味:落ち着いて、落ち着いて、上げて上げて上げて上げて…

空耳:行けぇ!なんばパークス

英語:Give! I'll rip them a parts!

発音:ギィブ!アイリプ ゼマ パーツ!

意味:降参しろ!さもなくば腕をもぎ取ってやる!

空耳池田

英語Get up.

発音:ゲダッ プ

意味:立て

空耳:イケメーン?www

英語You get mad?

発音:ユー ゲッ マッド

聴音:ユゲ メッ~ド?

意味:怒っちゃうの?www

空耳:イッちゃいそう… or メジャーですか?

英語You gentle?

発音:ユー ジェントル

意味:優しくしてくれる?(あなたは優しい人?)

空耳田舎っぽい?

英語You like that point?

発音:ユー ライク ザッポイン?

意味:お前そこ(舐められるの)好きなのか?

空耳田舎も~ん! or リラックマァ~!

英語:Yeah, come on!

発音:イェアッ カモーン!

意味:よっしゃ、来いよ!

空耳ローマ無礼講じゃ失礼か? or ゴムが無いと失礼だ

英語Roman-Greco? just straight up?

発音ローマグレコ? ジャスト ストレイタップ

意味ローマグレコ?(※グレコローマン式レスリングのこと)正統派の?

空耳:いやぁ、スイマセーン

英語:That's what I'm saying.

発音ザッツ ワタイム セイン

意味:そのとおり(それが俺の言ってる事さ)

空耳:牛だ、モーモー

英語Push down, one more!

発音:プシ ダウン、ワンモア!

意味:押し下げろ、もう一回だ!

空耳:うんちギブアップ

英語:Won't you give up?

発音ウォンチュ ギバップ

意味ギブアップしないのか?

空耳エプロンチャーハン

英語:Hey bro, what's happenin'?

発音:ヘイブロ、ヮツァーペン

意味:よう兄貴調子はどうだい?

空耳:お~激しい(^ω^)

英語:Oh I see.

発音:オーゥ アイ シー

意味:分かった

空耳:お相撲

英語Once more?

発音ワンス モァ?

意味:もう1回?

空耳:恐ろしいぞ…

英語:I served caesar.

発音:アィ サーブ シーザー

意味:俺はシーザー(※キング石井のこと)に仕えてきた。

空耳おっぱいと茶ウンチ or I likeウンチ

英語:I like your challenge.

発音:アイ ライク ユア チャレンジ

意味:君の度胸(チャレンジ精神)は買うよ

空耳:おっほっほっほっほ~、元気だ(^ω^)

英語:Oh ho ho ho ho, get it up!

発音:オッホッホッホ ゲッ リラッ!

意味:おっほっほっほっほ~、やれやれ

空耳:オナハウス

英語:(It's) on the house.

発音:オ ナ ハウス

意味:おごりにするぜ

空耳:オビ=ワンいくつぐらい?

英語:Oh you wanna? me right?

発音:オ ユ ワナ? ミー ライト

意味:そんなにしたいのか?俺と?

空耳:お前、人のモノを・・・!

英語:Oh my shoulder!

発音:オー マイ ショルダー!

意味あぁ!肩が!俺の肩がっ…!

空耳カズヤ!

英語How's that?

発音ハウザッ?

意味:どうだ?

空耳:構わん、H行こう!

英語:Come on, let's go!

発音:カモン、レッツゴ!

意味:さあ、いこうぜ!

空耳:カモン、チンポお兄さん

英語:Come on, I wanna see more of this son

発音:カモン、アイ ワナ シー モア オブ ディス ソン

意味:来い、もっと(君の力を)見せてくれよ坊や

空耳気持ちいいもの・・・

英語:Do what you want it.

発音:ドゥ ワチュ ワネ

意味:好きにすればいいさ

空耳キャノン砲!

英語:Cannot hold!

発音:キャノット ホールド

意味:抑えられないよ!

空耳くりぃむしちゅー池田

英語:What's you doing? Get up.

発音ワッツ ユー ドゥーイン? ゲダッ プ

意味:何やってんだ?立て

空耳GAY♂BARRRRRRR!

英語:Give up!

発音:ギブ アップ!

聴音:ギィバーップ!

意味:参ったか!(降参しろ!)

空耳ゲイパレス

英語Ladies first.

発音:レディ ファースト相手を坊や呼ばわりをするのが多い兄貴なりの見下し方だと思われる)

意味レディーファーストだぜ(先に入りな)

空耳結構すぐ脱げるんだね

英語Take your souvenir, Turn around.

発音:テイクヤ スベニア、ターナラウン

意味お土産(※パンツのこと)頂いたよ。振り返って(見て)ご覧

空耳結構ヤバい本刷ったな?

英語You could grab my balls like that, huh?

発音:ユ クル グラ マイ ボー ライダッ、ハァン?(ビオランテ特有出身地であるカナダ訛りが強く識別困難の為、誤りの可能性大)

意味:お前はこんなふうに俺のタマを掴むことなんか出来たか、あぁん?

空耳:最強

英語:So how do you feel?

発音:ソー ハゥ ジュー フィール?

意味:それで、どんな気分だい?

空耳最近だらしねぇな!?

英語Like embarrassing me huh!?

発音:ライケ ンバレシン ミー ハァン!?

意味:どぎまぎさせようってのか!?(恥かかせる気か!?

空耳最近どうなん?

英語:Are you go now?

発音:アー ユー ゴー ナゥ?

意味:早く行ったら?(仕事に戻りな)

空耳:差をつけるでぇ

英語How it's gonna be.

発音:ハゥ イッツ ゴナ ビー

意味:どうなるかな

空耳:仕方ないね

英語:That's not right, man.

発音ザッツ ノッ ライッメン

意味:お前、それは違うぜ

空耳:茂美、怖いでしょう…

英語She gave me quite a show.

発音:シー ゲーヴ ミー クワイト ア ショウ

意味彼女は僕にすごいショーを見せてくれたんだ

空耳新日暮里!

英語Two can play it!

発音:トゥー キャン プレイット!

意味:二人もろともだ!(兄貴に脱がされそうなカズヤが相討ちを狙って放った言葉

空耳:そうなんでーちゅ…

英語:Son of a bitch.

発音サン オブ ア ビッチ

意味畜生

空耳:叩け!

英語Tap again!

発音:タッパゲイン!

意味:もう一回叩け!

空耳:血ぃ吸われたやろ?

英語:The chief is right there.

発音:ザ チーフィズ ライ ゼア

意味チーフ(※兄貴のこと)がすぐそこに居るぞ

空耳:ちょろ~ん★

英語It's a loan!

発音:ィッツォローン!

意味:借りるだけだよ!

空耳ちんこちっちゃい

英語:Chains are too tight...

発音:チェインズァ トゥータイト...

意味:鎖がきつ過ぎる…

空耳:チンポ♂朝勃ち

英語:(I'll show youwho's the boss of this gym.

発音:(イ ショユウ) フズザ ボスォブ ディス ジムビオランテ特有出身地であるカナダ訛りが強く識別困難の為、誤りの可能性大)

意味:このジムボスが誰なのかってのを教えてやるよ

空耳:どういう意味

英語:Do you know me?

発音:ドゥ ユゥ ノゥ ミー?

意味:俺を知ってるか?

空耳:どういう語源

英語Here we go again?

発音:ヒア ウィー ゴー アゲイン

意味:もう一回やる?

空耳:どういうことなの…

英語I know you like the bottom.

発音:アイ ノゥ ユー ライク ザ ボト

意味:お前が(俺の)下(の位置)が好きなのは知ってるよ

空耳:どうですか?

英語:Training start?

発音:トレーニン スター ト?

意味トレーニングする?

空耳:どけよおめぇ!

英語:Do get out of the way!

発音:ドゥ ゲラロ ウェイ!

意味:どけよおめぇ!(まさかの完全♂一致)

空耳:とにかくションベン

英語:Put in my shoulder baggie.

発音:プティン マイ ショルダ バギ

意味:(このパンツは)僕のショルダーバッグに入れておくよ

空耳とんがりコーン

英語:Incredible.

発音インクレディボ

意味:(カズヤに1ラウンド取られたことに対して)信じられない気分だ

空耳ナイスでーす♂

英語:Nice ass.

発音ナイス アス

聴音ナイス ェース

意味:いいケツだ♂

空耳ナウい♂息子

英語Now even score!

発音:ナウ イヴスコア

聴音:ナウ イヴ スコァ!

意味:これでおあいこだ!

空耳夏コミスティックナンバー見に行こうな?

英語SOB(Son of Bitch), Let's see if you can tolerate that, huh?

発音エスオービー、レツ シー イフ ユ キャ トレレー ザッ、ハァン?(ビオランテ特有出身地であるカナダ訛りが強く識別困難の為、誤りの可能性大)

意味:クソ野郎、お前にこれが受け切れるかどうか見せてもらおうじゃねぇか、あぁん?

空耳:何がファックだボーイ!

英語:What the fuck a boy!

発音:ワッタ ファック ア ボーイ!

意味:何がファックだボーイ!(まさかの完全♂一致)

空耳ナプキン

英語Nothing.

発音:ナッシン

意味:何も(別に

空耳はいオムツですね?

英語:ォライ ウェルヒア ズァ レスリンマット

発音:alright well here's the wrestling mat.

意味大丈夫レスリング用のマットはここにあるんだ

空耳パチュリー、ウッ!

英語:Attention!

発音:ハッテー、ショ!(戦争映画など、軍隊風演技での発音に倣ったものらしい)

意味:気をつけぇぇっ!

空耳:ハッ!痛くないねwww

英語Ha! Yeah right man.

発音:ハ! イヤー ライ メン

意味:ハッ!上等だぜ。

空耳:初エッチ

英語:Hard to do it?

発音ハード トゥイッ?

意味:それやるの嫌か?

空耳風神雷神

英語:I wasn't ready.

発音:アイ ワズン レディ

意味:準備が出来てなかったんだ

空耳:ブスリ

英語Go sleep.

発音:ゴ スリー プ

意味:おねんねしな(とどめだ)

空耳ブタカツのレストラン

英語:What's I gotta do with wrestling?

発音ワッツ アイガッタ ドゥ ウィス レスリング

意味:(優しさなんて)レスリングと何の関係があるんだよ?

空耳普通違う…

英語:Let's see what you got.

発音:レッシー ワチュ ガッ

意味:君の実力を見せてもらおうか

空耳:へい、構わん。殺すぞ♂

英語:Hey, come in. Close the door.

発音:ヘイ カムイン クロズドア

意味:おう、入れよ。ドア閉めろよ。

空耳平家BOY!

英語Take it,boy!

発音:テェイキィッ ボーイ!

意味我慢しろよ、ボーイ!

空耳マルチゲイパンツ

英語Why don't you get fucked?

発音:ワ ドゥ チュ ゲッ ファットゥ?

意味:お前何で掘られないんだ?(署の皆はお前のケツ掘りたがってるぜ)

空耳:やっつけがいいっすか?

英語Did i tell you guys to stop?

発音:ディド アイ テル ユゥ ガイズ トゥ スタップ

意味:(キス強要させたマカーイ奴隷に対して)お前らやめろだなんて言ったか

空耳:やっぱりな♂

英語Empty now.

発音:エンプリィ ナウ

意味:(部屋に)誰もいないな

空耳YouTube見ますね?

英語You too would be my slave.

発音:ユゥ トゥー ウドゥビ マイ スレイヴ

意味:お前も奴隷にしてやるぜ

空耳:歪みねぇな

英語You got me mad now.

発音:ユゥ ガット ミー マーッナウ

聴音ユガッ ミッ メーッナウ

意味:お前、俺を怒らせたな

空耳ゆきぽ派?

英語You give up, huh?

発音:ユギバップ、ハン?

意味ギブアップか、あぁん?

空耳ゆの東京

英語You know what I'm talking about.

発音:ユーノワッ ターキンァバウ

意味:俺の言ってることが分かってるはずだ

空耳リンゴコーヒーだって石井さん

英語Feel confident in position son.

発音:フィール カンフィデンティン ポジション サン

意味:好きな姿勢をとってくれよ坊や(君の自信のある体勢でかまわないよ)

空耳ロリホモ

英語:Ready for one more?

発音:レディ フォー ワン モア?

意味:もう一回、用意はいいか

空耳ワープロも出来る、レスリングも出来る、ビキビキビキニ1,2,3

英語:Well whatever you wanna do, if that's what you wanna do, if you think you can beat me 1,2,3.

発音:ワートエヴァ ユ ワナ ドゥ、イフ ザチャ ュー 

2018-03-17

anond:20180316232605

Excelを持っているならはてブJSONデータをそのまま取り込めるそうだからそのデータを使ってブクマが付いた時間グラフが描けそう。

例えばこんな感じでJSONデータが取れる。 http://b.hatena.ne.jp/entry/jsonlite/https://anond.hatelabo.jp/20180315232737

Excel持ってないならスクリプトCSVにしてしまえばいい。

rubyスクリプトだとこんな感じ。(Mechanize無し版に差し替え。なぜMechanizeを使っていたかと言うとはてブUser-Agentが空だと値を返してくれないから。ちょっと長くなるが自前でUAを渡すようにした。)

#!/usr/bin/ruby

require 'uri'

require 'net/http'

require 'json'

require 'csv'

site = ARGV[0]

json_uri = URI.parse("http://b.hatena.ne.jp/entry/jsonlite/%s" % [site])

response = Net::HTTP.start(json_uri.host, json_uri.port) do |http|

http.get(json_uri.path, "User-Agent" => "Mozilla/5.0")

end

json_data = JSON.parse(response.body)

json_data['bookmarks'].each do |bookmark|

puts [bookmark['user'], bookmark['timestamp'], bookmark['comment'], bookmark['tags'].to_s].to_csv

end

引数に取得したいページのURLを入れる。hatebuapi-csv.rbという名前で保存したとしたらこんな感じで実行。

% hatebuapi-csv.rb https://anond.hatelabo.jp/20180315######## > 結果.csv

このケースでは朝の7時から爆発的にブクマが付き始める様子が分かる。

https://imgur.com/66FlJIB

2017-09-14

引数が可変のメソッドを作りたい

引数がA,B,C,D,Eあるとして

A,Bだけ渡したら、内部でC,D,Eを自動的解釈するメソッドが作りたかった

 

これ、例えば

func hogeAll(A a, B b, C c, D d, E e) {

 全部入りメソッド

}

func hoge(A a, B b) {

 ここでhogeAllを呼べば解決する

}

 

んだけど、ABCDE全てに対して有/無のメソッドを全て定義すると果てしなくなる

これをスッキリ書ける言語ってのを知らない

 

方法があるとしたら引数Classを作ってしまう手がある

実際にこれはよくやられると思う

 

HikisuClass hikisu = HikisuClass.create(a,b)  // これで内部で自動的にc,d,eを解釈する

 

でもメソッド一個のためにクラスを作るのってクソ面倒だなと思う

もう一個方法があるとしたら、Classに値を入力したあとメソッドを実行する方法

 

Hoge hoge = new Hoge()

hoge.a = a

hoge.b = b

hoge.do()

 

しかしこれも長くなり煩雑だ、結局

hoge(a,b,null,null,null) みたいなことになりそう

 

ちなみに何でそういうことをしたいかと言えば、自然言語がそうなってるから

大抵の引数が省略されるし、省略されたりされなかったりする、非常に柔軟なんだ

もちろん受ける側の作り込みが大変になるが、ちゃんとリーダブルに作ろうとしたらそっちのほうが良いんじゃないかと思える

引数のoptional,require指定できればもっと良い

例えばコンソールで使うオプションとかって自由だよなあ

 

これってポリモーフィズムあたりの話か?

 

___

 

追記:

あ、DIコンテナみたいな話かな

でも結局煩雑だし使いたくない

2017-07-20

プログラムが動きません

#!/usr/bin/env ruby

# coding: utf-8
require 'okusan'
require 'bengoshi'

furin = 10 % 3

if futin == 0 then
  print("割り切れました¥n")
else
  print("割り切れませんでした¥n")
  print("結果は", 流出, "です¥n")
end

2017-05-25

[]一応マニュアルのとこ

http://anond.hatelabo.jp/20170524171732

id:yosukegatzさん

FAQはあくまFAQだからね。手続き正当性をなぜFAQでみているのか、どの部分を持って手続き問題がある、とツイート主がおっしゃってるのかわかりませんが、マニュアルにちゃんと書いてあって、ふつうに執り行われてる手続きであるとは思いますよ。そもそも国連特別報告者はあくまで準司法quasi-judicialで、問題提起大事だって書いてあるし、これが初動なわけだから、内容が不適切だとおっしゃるなら質問にちゃんと答えりゃいいんですよ。とりあえずツイート主が言ってることは根拠がないですよ。むしろ人権侵害がある国にこそ公開でやることで回答する動機づけをしてるのは明らかだし。

国際機関を含む多国間交渉の場は利害も考え方もまちまちだから手続き大事で、そこを外すと何も進まなくなる。日本政府問題を指摘しつつも誠実に対応する(ことが求められる)が、他の国(人権侵害のひどい国)なら「回答する前に書簡政府攻撃に使われた」として回答拒否の口実にしてくるはず。

これは実例に照らして真反対。緊急性や重大性が低く、相手がちゃんと回答してくる可能性が高い場合にこそconfidentialにしている。

今回の書簡基本的には「質問」であり、当該政府からの回答に加え、別途行ったその他の調査内容と合わせて検討し、国連人権理事会報告書を提出するのが特別ラポルトゥールへの委託内容。その報告書はまだ単なる個人作成文書であるがこの時点で公開されて議論対象となる。書簡公開はルール違反

これも事実誤認ルール違反じゃない。ちゃんと書いたように,マニュアルに認められている。

送られた書簡とそれに対する受け取った回答の文章は、受任者が対応した報告書作成するときまで機密にするか、受任者が、特定の状況によって、それ以前に行動が必要であると決定する。

37. The text of all communications sent and responses received thereon is confidential until such time as they are published in relevant reports of mandateholders or mandate-holders determine that the specific circumstances require action to be taken before that time.

プレスリリースを即座にすることも認められている。

重大な懸念や、政府書簡に対して本質的な回答が出来ない状態が続く場合などの適切な状況では、受任者は個人で、あるいは他の受任者(特別報告者、作業部会など)プレスリリースプレスカンファレンス、その他の公的意見表明などを行う場合がある。

一般的に言って、受任者は政府との対話の中で、プレスリリースなどのプレス向けの声明を発出する前にそのことを明らかにするべきである。受任者が、書簡の中で、プレスリリース等をすぐにおこなう意向を示したい時は、書簡の中にそのような意向記載することが出来る。受任者は、懸念された国からの応答に対しても公平に明らかにするべきである

49. In appropriate situations, including those of grave concern or in which a Government has repeatedly failed to provide a substantive response to communications, a Special Procedure mandate-holder may issue a press statement, other public statement or hold a press conference, either individually or jointly with other mandate-holders.

50. In general, mandate holders should engage in a dialogue with the Government through the communications procedure before resorting to a press release or other public statement. When a mandate holder sends a communication with the intention of issuing a press release shortly thereafter, such intention could be indicated to the Government in the communication. Mandate holders should indicate fairly the responses provided by concerned States.

とされているように、初動が一方的に公開であることは別に認められているし、反論公平性は、反論文を同じ場所に掲示することで保とうという意思が見える。

また前に書いたように、イギリスのSnooper's charterについては、就任直後にガーディアンインタビューでいきなり問題提起しており、不必要テロ危険性をマスコミ翼賛的に報道している状態に苦言を呈しているけど別にイギリスは「反論の機会もなしにメディアでしゃべるなんて!」とも批判もしてない。(なぜインタビューされたかというと、このケナタッチ氏の就任は、アメリカメルケルとかを盗聴してたことが明らかになったのちだったので、親アメリカ派のエストニア候補が反対されたという経緯でヨーロッパではその就任が注目されていた。)そしてイギリス政府は、ガーディアン政府見解を送り、ガーディアンもそれを掲載した。ただそれだけの話なんだよ。

 当然指摘は一方的になされるので、誤認があるなら反論すればいいだけなんだよね。我が国対応が際立ってみっともないだけ。

とりあえずツイート主はFAQじゃなくってマニュアルを読んだ方がいい。

2017-05-10

トラバ書こうとすると元増田が何言ってたか一瞬で忘れる

greasemonkey書いて戻るボタンさなくて良くした。

// ==UserScript==
// @name         anond easy track back
// @description  anond easy track back
// @namespace    http://anond.hatelabo.jp/
// @include      http://anond.hatelabo.jp/*
// @require      https://code.jquery.com/jquery-3.2.1.min.js
// ==/UserScript==

(function() {
    var url = window.location.href, isEditPage = url.slice(url.lastIndexOf('/')).startsWith('/edit');
    if (isEditPage) {
        appendTrackBackContent();
    } else {
        appendEditLink();
    }
})();

function appendTrackBackContent(){
    var postId, match = $('#text-title').val().match(/anond:(\d{14})/);
    if (match.length>1){
        postId = match[1];
    } else {
        return;
    }
    jQuery.ajaxSetup({async:false});
    var content = '';
    $.get('http://anond.hatelabo.jp/' + postId, function(data){
        var section = $(data).find('.section');
        var title = $(section).children('h3').text().slice(1);
        $(section).children('p:not([class])').each(function(idx, val){
            content += $(val).text() + "<br/>";
        });
        content = '<hr><h4>' + title + '</h4><p><small>' + content + '</small></p>';
    });
    jQuery.ajaxSetup({async:true});
    $(content).insertAfter('.post-submit');
}

function appendEditLink () {
    var masudaId = $('#bannersub .username a').text();
    $('h3').each(function (idx, val){
        var postId = $(val).children(":first-child").attr("href").slice(1);
        $(val).append(' <a href="http://anond.hatelabo.jp/' + masudaId + '/edit?title=Re: [anond:' + postId + ':title]">\u2190</a>');
    });
}

タイトルに「anond:14桁の番号」があったらそっから引っ張ってきて画面下に表示する。

大なり小なりとかがエンコードされてるけど普通に表示する方法よくわからない。ちなみに直さないと使えない。

http://anond.hatelabo.jp/20070612084049

一部これの真似

2016-07-25

gitにおけるコミットログ/メッセージ例文集100

私はコミットログの書き方に悩む英語の苦手な人間である。実際、似たような人は世の中に結構いるようで、頻出単語を集計したりまとめたものは既にあって役に立つのだけれど、これらはあくま単語の話であり、具体的な文を構成する過程でやっぱり困る部分がかなりあった。

要するに、どういう時にどういう文が使われているのか、ということを示した例文集が欲しいのであるググると他にも「例文集があればいいのに」みたいな声はあるくせして、しかし誰も作ろうとしない。何なんだお前ら。それじゃ私が楽できないじゃないか

仕方なく自分でまとめたので、増田に垂れ流しておく。

はじめに

ここで挙げているコミットログは全て実際のコミットログから転載である。当然ながら各コミットログ著作権はそれぞれの書き手にある。いずれも各英文でググれば出てくるし、フェアユース範囲なら許してくれるだろうと考え名前プロジェクト名は割愛したが、ここにお詫びと感謝を述べておきたい。

抽出条件だが、参考にできそうなコミットログを多く含んでいそうなリポジトリGitHubSTARの多い方からざっと目で見て適当に選び、それぞれ最新コミットから5000件抽出した(あわせて前処理として、コミットログ冒頭のタグ情報は消去した)。

結果として対象としたリポジトリは以下の通り。

atomのみ5400件抽出していたため、計25400件のコミットログベースである。このうち、以下の条件に合致するものは参考例にすべきでないとして一律排除した。

こうして残った8540件を眺めながら、適当に切り出したのがこの用例集である個人的に「うーんこの」と思った表現も、散見される場合は載せた。

ということで、以下用例を羅列していく。

用例集

オプションフラグメニューを追加した
ファイルを追加した
メソッド機能を追加した
実装を別のものへ切り替えた
  • Use args.resourcePath instead of args.devResourcePath
  • Use arrays instead of while loops
  • Use auto instead of repeating explicit class names
  • Use weak pointer instead of manual bookkeeping
  • Change all uses of 'CInt' to 'Int32' in the SDK overlay
  • Change Integer#year to return a Fixnum instead of a Float to improve consistency
新しく何かに対応した/機能上の制約を取り払った
何かを使うようにした
より好ましい実装に改良した
何かを出来ない/しないようにした
  • Don't bail reading a metadata instance if swift_isaMask isn't available
  • Don't exit until the parent asks for an instance
  • Don't include Parent pointer in Nominal/BoundGeneric TypeRef uniquing
  • Don't use MatchesExtension for matching filters
  • Don't use ES6 class for AutoUpdater windows class
  • Don't use MatchesExtension for matching filters
  • Avoid `distinct` if a subquery has already materialized
  • Avoid infinite recursion when bad values are passed to tz aware fields
オブジェクトの内容や挙動確認やすくした
Assertを追加した
不要コードを除去した
コードを移動した
名前修正した
さなバグタイポ修正した, 警告を潰した
バグや好ましくない挙動修正した
テストコメントドキュメントを追加した
テストを削除した
テストコメント修正した
ドキュメント修正した

表現傾向とまとめ

以上の用例をふまえ、今回の参考ログ8540件から先頭の単語を出現回数で並べると次のようになった。

Add1149
Fix1014
Update584
Remove566
Use382
Don't260
Make228
Move178
Change103
Rename85
Improve76
Avoid68
Allow65
Implement60
Handle58

コミットログの基本形はもちろん動詞 + 名詞である名詞固有名詞複数形、不可算名詞が多いが、単数形場合冠詞は a が使われるか、あるいは省略される。the はまず使われない。

何かを追加した、という表現では非常に広く Add が使われる。メソッドからテストドキュメントに至るまで大概これでまかなえる。

一方、何かを修正した、という表現では広く Fix が使われる。「何か」は typocrash といった単語からメソッド名まで幅広い名詞を取るが、動名詞はあまり取らないのと、that節は取らないのでその点は注意が必要である

Fix は「何かが正しく動くようにした」ことを示し、正しい動作内容が何かを説明しない。そこで正しい動作内容に言及したい場合Make sure が使われる(こちらはthat節が取れる)。ただし Fix よりもニュアンス的に重い表現と思われ、Fix を使わず Make sure ばかり使うのはちょっとキモいのではないかと思う(Ensure はさらに重い表現っぽい)。

また、Fixtypo 以外でのドキュメント修正に対して使われることは稀である。対して Update はドキュメントコメントテストに使われ、本体コード修正に対しては使われない。本体コード修正にあわせてテスト更新したなら Update が使われる。ただ、テスト機構それ自体バグ修正したなら Fix である

無駄な何かを単純に除去したなら Remove を使う。これまでのもの(A)からのもの(B)に切り替えたのであれば Use B instead of A か Change A to B が使われる。新たに何かを利用するようにしたのであれば Use を、利用を取りやめた場合Don't use を使うことが多い。

何かをしないようにしたなら Don't を、内部実装効率化なら Make A + 比較級/形容詞Improve が使われる。

中身の変更を伴わない単なる名前の変更なら Rename A to B、コード機能論理上の場所を移動させたなら Move A to B である

この辺はリファクタリングと呼ばれる行為と思うが、Refactor というぼんやりした動詞はあまり使われず、このように変更内容の種類に応じて動詞が使い分けられている。

余談

コミットログにはWhyを書くべきだ、というのを何かで見かけたので because とか since を使ったログがどの程度あるかを調べたが、8540件のうち22件だった。基本的に短く、シンプルに、一目で意味が取れるログが好まれる傾向がある。例えば get rid of とか2件しか使われておらず、圧倒的に remove である

一方で、シンプル単語だけど開始単語としては使われないものもある。例えば次のような単語である。Expand(9)、Extend(8)、Print(5)、Optimize(5)、Publish(4)、Append(4)、Modify(3)、Manage(2)、Revise(2)、Dump(2)、Insert(2)、Migrate(2)、Enhance(1)、Edit(1) 。いずれもカッコ内は8540件に対する冒頭での登場回数である。結局、より一般的平易な単語で表せたり、Refactor同様に抽象度が高すぎると使われないのだろう。

おわりに

8000件もログを見たおかげで、迷いなくコミットメッセージが思いつくようになったのが個人的には今回書いてて最大の収穫だった。たぶんカンニングペーパーを作る行為それ自体効率のいい学習になるという話と同じだと思う。

このまとめも100以上用例を転載してあるので、それを読むだけでも多少は効果があるんじゃないかと思う。同じようにコミットログ書きたくねぇなぁ英語わっかんねぇなぁと思っている人にとって、何か役に立つところがあれば幸いである。

2016-05-23

英語得意な増田ちょっとこい :would to ってなに?

"Without indexes, every search would to DBMS would require a scan of all recedes and be extremely costly."

DBMSはData base management systemの略

俺の解釈は、

インデックスなしの全てのサーチ(それはDBMSに対するものと想定される)は全てのレコードスキャンする必要があって、めっちゃ時間かかるわ。”

まぁ内容はなんとなくわかるんだけど、would to が謎過ぎて気になったので質問しました。

2016-04-14

detox

Toxins are everywhere. Car exhaust, secondhand smoke, flame retardants, plastic packaging, heavy metals, pesticides, BPA-coated receipts… Unless you’re living in virgin forest, you’re going to come into contact with some less-than-optimal chemicals pretty much every day.

That’s definitely no reason to panic. In fact, small doses of toxins may be good for you because of a phenomenon called hormesis – mild stress makes your cells work more efficiently. However, your body can have trouble clearing certain toxins. You eliminate most of the bisphenol-A (BPA) and other plastics you ingest, but a small percentage hides away in your fat cells, messing with your hormones and accumulating over time. It’s the same deal with several mold toxins, heavy metals like lead, nickel, cadmium, mercury, and aluminum, and with certain pharmaceuticals and drugs like THC.

A good detox protocol can help you eliminate these more stubborn toxins. The trouble is that many common detoxes don’t work. Juice and water cleanses, for example, are often actually counterproductive because they deprive your body of essential nutrients it needs to function. That said, there are a few genuine ways to detox.

Because so many toxins stay in your fat cells, one way to detox is through lipolysis – breaking down your fat cells and releasing the hard-to-reach toxins stored within them. Lipolysis is especially effective when you combine it with liver and kidney support or adsorbents that can suck up the released toxins. This article focuses on all of the above. Let’s start with saunas.

1) Sauna sessions

Sweating does more than cool you off. It also helps you get rid of both heavy metals and xenobiotics – foreign compounds like plastics and petrochemicals – in small but significant amounts. A 2012 review of 50 studies found that sweating removes lead, cadmium, arsenic, and mercury, especially in people with high heavy metal toxicity [1]. Another study put participants in both traditional and infrared saunas and found similar results [2]. Sweating also eliminates hormone-disrupting BPA, which accumulates in your fat cells [3].

There’s debate about the best kind of sauna for detoxification. A couple studies have shown that infrared saunas are the most effective for detoxing, but the research was funded by infrared sauna companies, so the results are questionable. Both traditional and infrared saunas are effective for detoxing [2]. That said, I prefer infrared saunas for a few reasons:

They don’t get as hot. Traditional saunas heat the air around you, while infrared light penetrates and heats your tissue directly. You sweat in an infrared sauna at around 130-150 degrees instead of at 180-200 degrees, so you can stay in for longer without feeling like you’re going to pass out. I’ve done 2-hour infrared sauna sessions (drinking salt water the whole time to replenish electrolytes and fluids, of course).

They’re easier on your electric bill. Again, infrared saunas require less energy, especially if you get a sauna that reflects infrared light back on you. This one, for example, costs about 15 cents an hour to run.

Infrared saunas are often cheaper.

I personally use a Sunlighten infrared sauna and love it. If you don’t want to buy an infrared sauna and there isn’t one around you, a standard sauna will work perfectly well [2]. There’s probably one in your local gym.

Keep in mind that sweating pulls electrolytes and trace minerals from your body, so it’s important to drink a lot of fluids and get plenty of salt (preferably Himalayan pink salt or another mineral-rich natural salt) if you’re going to use a sauna to detox [2].

2) Exercise

Exercise is another way to flush toxins from your body, and through more than just making you sweat. Exercise increases lipolysis (the breakdown of fat tissue), releasing toxins stored in your fat tissue. Studies show that people who exercise and lose body fat end up with higher levels of circulating hormone disruptors [4]. Increasing lipolysis through diet does the same thing [5].

Mobilizing toxins isn’t necessarily a good thing, particularly if you’re unequipped to get rid of them. You want to be sure you’re getting rid of toxins, not just moving them to a different part of your body. Working out addresses the issue to a degree: it improves circulation, providing more oxygen to your liver and kidneys so they can better filter out toxins. You can also give your system even more support and pull out bad stuff with the next two detox tools: activated charcoal and glutathione.

3) Activated charcoal

Activated charcoal is a form of carbon that has massive surface area and a strong negative charge. It’s been around for thousands of years and it’s still used in emergency rooms today to treat poisoning.

Charcoal binds to chemicals whose molecules have positive charges, including aflatoxin and other polar mycotoxins [6], BPA [7], and common pesticides [8]. Once the chemicals attach to the charcoal you can pass them normally (i.e. poop them out).

Charcoal can bind to the good stuff, too, so I don’t recommend taking it within an hour of other supplements. Try taking a couple charcoal pills along with exercise or have a sauna session. They should adsorb many of the toxins you release into your gut and GI tract.

4) Glutathione

Glutathione is a powerful antioxidant that protects you from heavy metal damage, according to studies in both human and rat cells [9,10,11,12]. Glutathione also supports liver enzymes that break down mold toxins and heavy metals. Your digestion will destroy normal glutathione, so opt for a liposomal glutathione supplement that makes it through your stomach. You can also supplement with N-acetylcysteine and alpha-lipoic acid, which your body can use to build glutathione on its own [13]. If you have severe heavy metal or mycotoxin poisoning, talk to a naturopath or functional medicine doctor about intravenous (IV) glutathione. It’s expensive and less convenient than an oral supplement, but it works very well.

5) Cryolipolysis

We’ve talked about how heat and exercise can increase fat burning to detox your fat cells. It turns out cold can do the same. Cryochambers are gaining popularity with professional athletes and other high performers for their ability to quell inflammation. It turns out they can help you burn fat – and release the toxins stored in itas well.

A cryochamber uses liquid nitrogen to supercool your body, stimulating mitochondrial function and decreasing inflammation. Intense cold also destroys fat cells, which has led to cryolipolysis therapy as a way to slim down [14,15]. You can use it to detox, too.

Can’t get your hands on a cryochamber? Try traditional cold thermogenesis instead.

6) Ketosis

Quick disclaimer: I haven’t found studies specifically looking at ketosis and toxin load, so you may want to take this section with a grain of (Himalayan) salt. That said, ketosis is a very effective way to induce lipolysis, particularly if you’re fasting.

When you’re in ketosis and you haven’t eaten recently, your body breaks down your fat stores into free fatty acids, which it then converts to ketones for fuel. That means that, in theory, you should be able to supercharge your detox (and fat loss) by dropping into nutritional ketosis.

The Bulletproof Diet puts you into mild ketosis, which curbs your hunger and sharpens your brain without forcing you to forego carbs entirely. If you want to try nutritional ketosis for detoxing, youll have to modify the Bulletproof Diet slightly. Skip carb reefed days for a couple weeks and limit carbs to ~30-50 grams per day. You can use keto urine strips or – even better – a blood ketone meter to test and make sure you’re becoming fat-adapted. Once your levels read around 1.5 mg/dL, you’re comfortably in nutritional ketosis. At that point, fasting will attack your fat stores and mobilize toxins, which you can mop up with activated charcoal or sweat out (or both).

7) Chelation therapy for heavy metals

Chelation therapy is the strongest way to detox heavy metals. It can also be dangerous, so many doctors don’t recommend it unless you have moderate to severe heavy metal poisoning. Chelation therapy uses compounds called chelators that form strong bonds with heavy metals, leaving them unable to further poison your body. You can then pass them normally. Chelation therapy is very effective for removing lead, mercury, aluminum, arsenic, iron, and copper.

If you’ve been exposed to a lot of heavy metals, talk to a functional medicine doctor about chelation therapy. You really want to go to a medical professional for this one, because it’s so effective that if your liver and kidneys aren’t able to process the metals (a common problem in people with heavy metal poisoning) you can get seriously ill.

Combining detox methods for maximum effect

Each of these 7 methods works well on its own, and you can stack methods for an even greater effect. Exercise and sauna sessions are a good example. Preliminary evidence suggests that exercising and then hitting the sauna afterward will detoxify you better than either one alone does [16]. With that in mind, here’s a sample detox protocol:

Take 2-3 mL liposomal glutathione and 2-3 g vitamin C an hour before exercising.

Exercise for at least 20-30 minutes (HIIT is a good option).

Take 3-4 activated charcoal pills.

Spend 45-60 minutes in a sauna. Remember to get plenty of water and salt/electrolytes.

If you have a lot of fat and you’re burning it off quickly, you’re probably getting rid of a lot of toxins in one fell swoop, and you may get a headache, digestive problems, brain fog, etc. If that happens try taking more glutathione, vitamin C, and charcoal. Be sure you take charcoal at least an hour away from other supplements, as it binds to vitamin C.

Toxins are a fact of modern life, especially if you live in a city or somewhere with poor air quality, mold, and/or a lot of petrochemical byproducts. These detox methods can give your body a little extra support dealing with pollutants and help you perform your best.

Subscribe below if you want more info about how to upgrade your body and brain. Thanks for reading and have a great week!

2015-11-29

aliexpressをrubyスクレイピング

rubyスクレイピング

aliexpressの検索結果から

検索結果のURLを抜き取るのは、

結構簡単にできた。

ここから、ページ切り替えてURL収集する処理も追加すれば、

クローロング部分は完成。

あとは、各ページに対するスクレイピング問題



require 'open-uri'

require 'nokogiri'

# スクレイピング先のURL

url = 'http://ja.aliexpress.com/category/200003482/dresses.html?spm=2114.52010108.6.7.gT0qlW&addpid=32546825642&isOnSale=yes%22'

charset = nil

html = open(url) do |f|

charset = f.charset # 文字種別を取得

f.read # htmlを読み込んで変数htmlに渡す

end

# htmlパース(解析)してオブジェクト作成

doc = Nokogiri::HTML.parse(html, nil, charset)

num=0

doc.css('a[class = "product "]').each do |product|

p product.attribute("href").text

p num = num+1

end

2015-11-18

http://anond.hatelabo.jp/20151117165233

Solving this problem is going to require a diverse set of intellectual property, technical and information assets and an inclusive attitude toward software developers.
※Intellectual property知的財産権と訳したくなるのは判るが、ここでは誰もそんな話はしていない。

"Independent developers are facing walled gardens" への対置として挙げられているのだからintellectual property は「知的財産」と訳すのが妥当

intellectual property rightsとは書かれておらず、また、権利の話をしているわけではないから、「知的財産権」と訳すべきかは微妙

Hell, start an Occupy Doubt Street movement and doubt the lot of them simultaneously.
●ったく、「オキュパイダウトストリート」の運動でも始めて、あらゆる大企業を一斉に疑えばいいさ。
◆「ダウト通り占拠」運動でも始めて、連中にまとめてダウトを突き付ければいいじゃないか。
※オキュパイはそのままだと通常の読者層は理解できないと思う。

"Occupy Doubt Street" が "Occupy Wall Street" をもじったものであることは明らか。同語の日本語訳としては「オキュパイウォール・ストリート」もしくは「ウォール街占拠」が妥当

したがって、この場合は「オキュパイダウトストリート」あるいは「ダウト街占拠」が採るべき訳と考えられる。「ダウト通り」という訳語は「ウォール街から離れてしまうので不適当

2015-11-17

http://anond.hatelabo.jp/20151117013422

ぼくのかんがえたただしいやくw

◇Solving this problem is going to require a diverse set of intellectual property, technical and information assets and an inclusive attitude toward software developers.

●この問題を解くには、さまざまな知的資質や、技術的・情報的な資産、そしてソフトウェア開発者に対する包括的な態度が必要だ。

●この問題を解決するには、さまざまな知的財産権技術的・情報的な資産、そしてソフトウェア開発者制限を受けずに仕事を進められる環境必要になるだろう。

問題の解決には多彩な知的資質技術情報資産、そしてソフトウエア開発者を束縛しない姿勢要求される(だろう)。

Intellectual property知的財産権と訳したくなるのは判るが、ここでは誰もそんな話はしていない。

※inclusive attitude最近社会適応に絡んで「包摂的」の訳を充てている場合が多いが、対象読者に通じるかは疑問。原文で言っているのは明らかに「エンジニアの好きにやらせろという主旨」なのでこの訳。

◇I was a professor for ten years and spent a great deal of my time doing research and consulting.

教授10年やったこともあるし、研究コンサルティングにもだいぶ時間を使ったよ。

教授10年やって、研究コンサルティングにもだいぶ時間を使ったよ。

◆十年に及ぶ教授勤めをして、研究コンサルティング大分時間を費やしてきた。

※明示されてないが教授をやりながら並行的に研究コンサルティングを(その一貫もしくは副業的に)していたと(も)とれるので、教授研究コンサルティングは明確に分断してはダメ。その反面、教授を辞めてから研究コンサルティングをしていなかったとは書いてないので、添削版もニュアンス的にはいささか問題がある。

◇[M]any of today's most successful companies were written off at one time or another as having an empty pot. If you'd like, buy me a Starbucks and you can have an Apple while we discuss them.

●今最も成功している会社の多くが、鍋が空だと思われてしまったことがある。もしその気があれば、スターバックスをおごってくれたら、アップルに関する話でもするよ。

●今とても成功している会社の多くが、過去のある時期にはもう鍋は空だと見限られてしまったことがある。どうだろう、「スターバックス」をおごってくれたら「リンゴ」をあげるけど、食べながら低迷した大企業の話でもしようか。

今日、隆盛を極めている企業の多くは、どこかの段階で命運が尽きたと噂された経験をしてきている。暇ならスターバックスで一杯侈ってくれないか。アップルの話でもしてあげようじゃないか。

empty pot、中国故事とされている逸話空鍋と訳すのは間違い。

スターバックスアップルも落目の時期があったという、業界方面共通認識に基づく、ものすごく捻った文章なので注意。

Hell, start an Occupy Doubt Street movement and doubt the lot of them simultaneously.

●ったく、「オキュパイダウトストリート」の運動でも始めて、あらゆる大企業を一斉に疑えばいいさ。

◆「ダウト通り占拠」運動でも始めて、連中にまとめてダウトを突き付ければいいじゃないか。

※オキュパイはそのままだと通常の読者層は理解できないと思う。

ここまでにEmpty potの原典スターバックスアップルの業績凋落およびオキュパイ関連の資料当たるのも含めて一時間。飽きた。

もうちょっと調べて、考えような。

2015-11-12

[]Node.jsイベントリスナーが呼ばれません

下記のようなファイルを用意してOKボタンを押下してもgettxt.jsのOnOKが呼ばれません。

誰か教えて下さい。

gettxt.js

var http = require('http')

,fs = require('fs');

http.createServer(function (req, res) {

fs.readFile('./HTMLPage.html', 'UTF-8', function(err, data) {

res.writeHead(200, {'Content-Type': 'text/html'});//text/plainから変更

res.end(data); // 「Hello, world!」から変更

});

}).listen(8124);

function OnOK(){

var text = document.getElementById("text").value;

// textを使って何か処理を行う

}

HTMLPage.html

※<>は全角にしてます

<head>

script src="gettxt.js"></script

</head>

body

<input type="text" id="text" size=50></input>

<button onClick=javascript:OnOK() >OK</button>

<div id="log"></div>

</body

2015-08-25

IT関係ないサラリーマンコミュニティサイト作っちゃいました。

私ごとですが、この度コミュニティサイト作成いたしました。

私の持てる知識を絞り出してなんとか完成しました。

**************************************************************************************

完成したサイトがこちらです。

LapyNetニュース

http://lapynetz.net/

**************************************************************************************

私は普段webとは関係ない仕事してます。なんとか休日を利用して、

webサービス作成しました。

メインのコードはこんな感じ

----------------------------------------------------------------------------------------------------------------------



App::uses('Sanitize', 'Utility');
class RssfeedsController extends AppController {

public $helpers = array('Html','Form','Session','Number','Cache');

public $uses = array(
'Rssfeed',
'Tweet',
'Wadai',
'Rank',
'Oracle'
);
 **************************************************************************************
public function index() {

$title_for_layout = "LapyNetニュース";
$content = "Hello World!!";

$this->set(compact('title_for_layout','content'));
if(date("G")>0 and date("G") < 7){
$today = date("Y-m-d", strtotime('-1 day'));
}else{
$today = date("Y-m-d");
}

$params = array(
'conditions' = > array(
'and' = > array(
'Rssfeed.time' = > $today,
)),
'order' = > 'tweets desc',
'limit' = > '50'
);
$this- >set('posts',$this- >Rssfeed- >find('all',$params));

$paramz = array(
'order' = > 'Rssfeed.id desc',
'limit' = > '10'
);
$this->set('posts2',$this->Rssfeed->find('all',$paramz));

$paramz = $this- >Rssfeed- >query('SELECT id,title FROM rssfeeds order by id desc limit 10');

$this->set('posts2', $paramz);

$parapara = $this- >Oracle- >query('SELECT id,title FROM oracles order by id desc limit 10');

$this- >set('postx', $parapara);

$funking = $this- >Rank- >query('SELECT id,frank FROM ranks where creation=(select max(creation) from ranks)');

$this- >set('funking', $funking);


}

 **************************************************************************************
public function mizuno() {
$parapara = array(
'order' => 'Oracle.id desc',
'limit' => '30'
);
$recent_posts = $this->Oracle->find('all',$parapara);
return $recent_posts;

}


 **************************************************************************************
public function wadai() {
if(date("G")>0 and date("G") < 7){
$today = date("Y-m-d", strtotime('-1 day'));
}else{
$today = date("Y-m-d");
}

$params = array(
'conditions' => array(
'and' => array(
'Rssfeed.time' => $today,
'Rssfeed.kubetu' => 4
)),
'order' => 'tweets desc',
'limit' => '100'
);
$this->set('posts',$this->Rssfeed->find('all',$params));





$this->set("title_for_layout","2CHニュース-LapyNetニュース");


$paramz = array(
'order' => 'Rssfeed.id desc',
'limit' => '10'
);
$this->set('postyy',$this->Rssfeed->find('all',$paramz));

$parapara = array(
'order' => 'Oracle.id desc',
'limit' => '10'
);


$this->set('postyx',$this->Oracle->find('all',$parapara));

$funking = $this->Rank->query('SELECT * FROM ranks where creation=(select max(creation) from ranks)');

$this->set('funking', $funking);



}
 **************************************************************************************
public function hot() {
if(date("G")>0 and date("G") < 7){
$today = date("Y-m-d", strtotime('-1 day'));
}else{
$today = date("Y-m-d");
}

$params = array(
'conditions' => array(
'and' => array(
'Rssfeed.time' => $today,
'Rssfeed.kubetu' => 3
)),
'order' => 'tweets desc',
'limit' => '20'
);
$title_for_layout = "LapyNetニュース";
$this->set("title_for_layout","ニュース-LapyNetニュース");
$this->set('posts',$this->Rssfeed->find('all',$params));

$parapara = array(
'order' => 'Oracle.id desc',
'limit' => '10'
);
$this->set('postxx',$this->Oracle->find('all',$parapara));

$paramz = array(
'order' => 'Rssfeed.id desc',
'limit' => '10'
);
$this->set('postsxxx',$this->Rssfeed->find('all',$paramz));

$funking = $this->Rank->query('SELECT * FROM ranks where creation=(select max(creation) from ranks)');

$this->set('funking', $funking);


}

 **************************************************************************************
public function newnew() {
if(date("G")>0 and date("G") < 7){
$today = date("Y-m-d", strtotime('-1 day'));
}else{
$today = date("Y-m-d");
}

$params = array(
'conditions' => array(
'and' => array(
'Rssfeed.time' => $today,
'Rssfeed.kubetu' => 2
)),
'order' => 'tweets desc',
'limit' => '20'
);
$this->set("title_for_layout","エンタメニュース-LapyNetニュース");
$this->set('posts',$this->Rssfeed->find('all',$params));

$paramz = array(
'order' => 'Rssfeed.id desc',
'limit' => '10'
);
$this->set('postszz',$this->Rssfeed->find('all',$paramz));

$paramz = $this->Oracle->query('SELECT id,title FROM rssfeeds order by id desc limit 10');

$this->set('postszz', $paramz);

$parapara = $this->Oracle->query('SELECT id,title FROM oracles order by id desc limit 10');

$this->set('postzy', $parapara);


$funking = $this->Rank->query('SELECT * FROM ranks where creation=(select max(creation) from ranks)');

$this->set('funking', $funking);



}
 **************************************************************************************
public function top() {
if(date("G")>0 and date("G") < 7){
$today = date("Y-m-d", strtotime('-1 day'));
}else{
$today = date("Y-m-d");
}
$params = array(
'conditions' => array(
'and' => array(
'Rssfeed.time' => $today,
'Rssfeed.kubetu' => 1
)),
'order' => 'tweets desc',
'limit' => '20'
);
$this->set('posts',$this->Rssfeed->find('all',$params));

$param = array(
'conditions' => array('times > current_timestamp + interval -600 minute and Kubetu = 4'),
'order' => 'tweets desc',
'limit' => '30'
);
$this->set('posts2',$this->Rssfeed->find('all',$param));
}


 **************************************************************************************
public function view($id = null ) {
$this->Rssfeed->id = $id; //驥崎ヲ√↑荳譁・i縺励>
$user = AuthComponent::user();

$TwimStatus = ClassRegistry::init('Twim.TwimStatus');


$TwimStatus->getDataSource()->setToken(AuthComponent::user());

$statuses = $TwimStatus->tweet();
$rairai = $this->Rssfeed->read(title,$id);
$alcol = $this->Rssfeed->read();
$this->set('post', $alcol);

$this->set('post2', $user);
$this->set('post3', $statuses);
$this->set("title_for_layout",$rairai[Rssfeed][title]."-LapyNetニュース");

$paramz = array(
'order' => 'Rssfeed.id desc',
'limit' => '20'
);
$this->set('postszz',$this->Rssfeed->find('all',$paramz));

$parapara = array(
'order' => 'Oracle.id desc',
'limit' => '30'
);
$this->set('postzy',$this->Oracle->find('all',$parapara));

}
 **************************************************************************************
public function add() {

if($this->request->isPost()){
if($this->Tweet->save($this->data)) {
$this->Session->setFlash('seikou');
$this->redirect(array('controller'=>'rssfeeds','action'=>'view',$contents11));

}else{
$this->Session->setFlash('sipai');
$this->redirect(array('controller'=>'rssfeeds','action'=>'view',$contents11));
}
}
}
 **************************************************************************************
public function delete($id = null) {
$this->Rssfeed->id = $id; 
$this->set('set', $this->Rssfeed->read());
$this->redirect(array('controller'=>'tweets','action'=>'delete',$this->data['tweet']['rssfeed_id']));


}
 **************************************************************************************
public function oracle() {
if($this->request->is('post')) {

$user = AuthComponent::user();

$TwimStatus = ClassRegistry::init('Twim.TwimStatus');


$TwimStatus->getDataSource()->setToken(AuthComponent::user());

$contents1 = $this->request->data['Rssfeed']['contents'];
$contents2 = $this->request->data;
$statuses = $TwimStatus->tweet($contents1);


if($this->Rssfeed->save($contents2)) {
$this->Session->setFlash('成功です。');
$this->redirect(array('controller'=>'rssfeeds','action'=>'view',$contents11));
$this->redirect($this->referer());
}else{
$this->redirect(array('controller'=>'rssfeeds','action'=>'view',$contents11));
$this->Session->setFlash('失敗です。');
}
}


}
 **************************************************************************************
public function makelist() {
$rssfeeds = $this->paginate();
if ($this->request->is('requested')) {
return $rssfeeds;
} else {
$this->set('rssfeeds', $rssfeeds);
}
}

}

----------------------------------------------------------------------------------------------------------------------

rssフィードはこんな感じです。
----------------------------------------------------------------------------------------------------------------------

#!/usr/bin/php
<?php

header('Content-type: text/html; charset=UTF-8');


require_once ('/var/www/html/s/magpierss/rss_fetch.inc');


define('MAGPIE_CACHE_AGE', 60*5);

define('MAGPIE_CACHE_DIR', '/var/www/html/s/cache/');

define('MAGPIE_OUTPUT_ENCODING','UTF-8');


$urls = array(
'*********************************');

$items = getRssList($urls);

echo '<ul>';
foreach ($items as $item) {

$href = mb_convert_encoding($item['link'], "UTF-8", "auto");

$title = mb_convert_encoding($item['title'], "UTF-8", "auto");
$description = mb_convert_encoding($item['description'], "UTF-8", "auto");
$megami = mb_convert_encoding($description, "UTF-8", "auto");

 

 **************************************************************************************


$all = 'http://urls.api.twitter.com/1/urls/count.json?url='.$href;
$Rits = file_get_contents($all);
$Olfe = mb_convert_encoding($Rits, 'UTF-8', 'auto');
$data = json_decode($Olfe);
$tweets = $data->count;

 **************************************************************************************

$checkman = db_check_urls($href);
$checkman2 = db_check_pr($title);

$nowtimes = date('Ymd');

 


if($checkman == 0 && $checkman2 == 0){
#$hrefs = urlencode($href);
db_put_urls($nowtimes,$href,$title,$description,$tweets);
echo "<li><a href=$href>$title</a><br>$megami<p>$tweets</p><p>$checkman</p></li>";
}else{

}


}
echo '</ul>';

 

 

 **************************************************************************************
function getRssList($urls)
{
$rssitems = array();
foreach ($urls as $url) {
$obj = fetch_rss($url);
$rssitems = array_merge($rssitems, $obj->items);
}
return $rssitems;
}

 **************************************************************************************
function db_check_pr($japanese){

$moji = mb_substr($japanese,0,2);
if($moji == 'PR'){
return 1;
}else{
return 0;
}
}
 **************************************************************************************

function db_check_urls($href){

require '/var/www/html/s/database_conf.php';

try {

$db = new PDO($dsn, $dbUser, $dbPass);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);


$sql = 'SELECT count(*) AS count FROM rssfeeds WHERE urls = :language';
$prepare = $db->prepare($sql);


$languages = array($href);
foreach ($languages as $language) {

$prepare->bindValue(':language', $language, PDO::PARAM_STR);
$prepare->execute();

$result = $prepare->fetchColumn();
if ($result > 0) {
return true;
}else{
return false;
}
}

} catch (PDOException $e) {
echo 'エラーが発生しました。内容: ' . h($e->getMessage());
}

function h($var) 
{
return htmlspecialchars($var, ENT_QUOTES, 'UTF-8');
}
}

 **************************************************************************************
function db_put_urls($nowtimes,$href,$title,$description,$tweets){
require '/var/www/html/s/database_conf.php';
try {

$db = new PDO($dsn, $dbUser, $dbPass);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sikibetu = 5;
$moto = "アニゲー速報VIP";

$sql = 'insert into rssfeeds (id, time,urls,title,contents,tweets,times,kubetu,teikyo) values (?, ?, ?, ?, ?, ?, ?, ?, ?)';

$prepare = $db->prepare($sql);

$prepare->bindValue(1, 0, PDO::PARAM_STR);
$prepare->bindValue(2, $nowtimes, PDO::PARAM_STR);
$prepare->bindValue(3, $href, PDO::PARAM_STR);
$prepare->bindValue(4, $title, PDO::PARAM_STR);
$prepare->bindValue(5, $description, PDO::PARAM_STR);
$prepare->bindValue(6, $tweets, PDO::PARAM_STR);
$prepare->bindValue(7, 'cast( now() as datetime)', PDO::PARAM_STR);
$prepare->bindValue(8, $sikibetu, PDO::PARAM_STR);
$prepare->bindValue(9, $moto, PDO::PARAM_STR);
$prepare->execute();

} catch (PDOException $e) {
echo 'エラーが発生しました。内容: ' . h($e->getMessage());
}
}
?>

---------------------------------------------------------------------------------------------------------------------

**************************************************************************************

参考にした書籍

CakePHP2 実践入門 (WEB+DB PRESS plus)

CakePHP2 実践入門 (WEB+DB PRESS plus)

作者: 安藤祐介,岸田健一郎,新原雅司,市川快,渡辺一宏,鈴木則夫

出版社/メーカー: 技術評論社

発売日: 2012/09/29

メディア: 単行本ソフトカバー

購入: 5人 クリック: 165回

この商品を含むブログ (9件) を見る

Webアプリ開発を加速する CakePHP2定番レシピ119

Webアプリ開発を加速する CakePHP2定番レシピ119

作者: 長谷川智希,デジタルサーカス

出版社/メーカー: 秀和システム

発売日: 2013/09/28

メディア: 単行本

この商品を含むブログ (1件) を見る

**************************************************************************************

一番難しいところはtwitterログインwebサイト連結でした。

cakephp直感できに操作できていいです。

素人のわたしでも操作できましたので。

cakephpを使用しています

webからニュース収集してきます

ツイート数でランキングしてますネット話題を見つけられます

twitterアカウントログインできます

ニュースに対するコメントもできるし、

自分記事投稿できます。(画像も可)

デザインはよくわからないので、

ホームページビルダーを使用しています

今のホームページビルダーは昔と違って高機能ですね。

テンプレートも何種類もあって今はすごいです。

アマゾンawsを使用してます

サーバーWebサーバーデータベースサーバmysql)

に分かれています

今更cakephpを使っている人は少ないかもしれませんが、

データベースとの接続などは楽でした。

twitterアカウントあるといつでも参加できますので、

ニュースを通してコミュニケーション目的としたサイトを目指します。

2015-01-18

http://anond.hatelabo.jp/20150118021616

なるほどと思ってSpaceTimeのコード読んでみたけど、

あんだけ関数関数型言ってるのに書いてるコードは下手なオブジェクト指向プログラミングなのが泣ける。

そのrequireオブジェクトをnewするように書きなおした方がきれいになるよ!

2014-07-18

http://anond.hatelabo.jp/20140718201324

自分で読めよめんどくせーな.

  • A resource is a source or supply from which benefit is produced.
  • Typically resources are materials, energy, services, staff, knowledge, or other assets that are transformed to produce benefit and in the process may be consumed or made unavailable.
  • The concept of resources has been applied in diverse realms, including with respect to economics, biology and ecology, computer science, management, and human resources, and is linked to the concepts of competition, sustainability, conservation, and stewardship. In application within human society, commercial or non-commercial factors require resource allocation through resource management.
  • Resources have three main characteristics: utility, limited availability, and potential for depletion or consumption.



このくらいでわかるだろ.

2013-07-24

http://anond.hatelabo.jp/20130724162534

// ==UserScript==
// @name        anondNoAdd
// @namespace   http://http://anond.hatelabo.jp/
// @include     http://anond.hatelabo.jp/*
// @require     http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js
// @version     1
// ==/UserScript==
$("#afc_footer").remove();

2012-09-18

http://anond.hatelabo.jp/20120918173309

書き捨て

https://github.com/tdtds/massr

bundle install --path vendor/bundle
Gemfile syntax error:
/h/massr/Gemfile:14: syntax error, unexpected ':', expecting kEND
	gem 'sinatra-reloader', require: 'sinatra/reloader'
	                                ^
/h/massr/Gemfile:16: syntax error, unexpected ':', expecting kEND
	gem 'pit', require: 'pit'
	                   ^

sudo gem install sinatra
Successfully installed sinatra-1.3.3
1 gem installed
Installing ri documentation for sinatra-1.3.3...

unrecognized option `--encoding=UTF-8'

For help on options, try 'rdoc --help'

ERROR:  While generating documentation for sinatra-1.3.3
... MESSAGE:   exit
... RDOC args: --ri --op /Library/Ruby/Gems/1.8/doc/sinatra-1.3.3/ri --line-numbers --inline-source --title Sinatra --main README.rdoc --encoding=UTF-8 lib README.de.rdoc README.es.rdoc README.fr.rdoc README.hu.rdoc README.jp.rdoc README.ko.rdoc README.pt-br.rdoc README.pt-pt.rdoc README.rdoc README.ru.rdoc README.zh.rdoc LICENSE --title sinatra-1.3.3 Documentation --quiet

アホか

2012-06-17

宇宙において美しい構造を実現しようと思ったら整数環についてよく知るように素数判定や素因子分解のアルゴリズムを発展させたり,計算機を開発したり,諸学の発展を素数論に結びつけるようにしていくのがよいではないだろうかと思った.

the dignity of the science itself seems to require that every possible means be explored for the solution of a problem so elegant and so celebrated

ラテン語から英訳

2012-01-05

Types of digital cameras

Digital cameras are made in a wide range of sizes, prices and capabilities. The majority are camera phones, operated as a mobile application through the cellphone menu. Professional photographers and many amateurs use larger, more expensive digital single-lens reflex cameras (DSLR) for their greater versatility. Between these extremes lie digital compact cameras and bridge digital cameras that "bridge" the gap between amateur and professional cameras. Specialized cameras including multispectral imaging equipment and astrographs continue to serve the scientific, military, medical and other special purposes for which digital photography was invented.

[edit]Compact digital cameras

Subcompact with lens assembly retracted

Compact cameras are designed to be tiny and portable and are particularly suitable for casual and "snapshot" uses. Hence, they are also called point-and-shoot cameras. The smallest, generally less than 20 mm thick, are described as subcompacts or "ultra-compacts" and some are nearly credit card size.[2]

Most, apart from ruggedized or water-resistant models, incorporate a retractable lens assembly allowing a thin camera to have a moderately long focal length and thus fully exploit an image sensor larger than that on a camera phone, and a mechanized lens cap to cover the lens when retracted. The retracted and capped lens is protected from keys, coins and other hard objects, thus making it a thin, pocketable package. Subcompacts commonly have one lug and a short wrist strap which aids extraction from a pocket, while thicker compacts may have two lugs for attaching a neck strap.

Compact cameras are usually designed to be easy to use, sacrificing advanced features and picture quality for compactness and simplicity; images can usually only be stored using lossy compression (JPEG). Most have a built-in flash usually of low power, sufficient for nearby subjects. Live preview is almost always used to frame the photo. Most have limited motion picture capability. Compacts often have macro capability and zoom lenses but the zoom range is usually less than for bridge and DSLR cameras. Generally a contrast-detect autofocus system, using the image data from the live preview feed of the main imager, focuses the lens.

Typically, these cameras incorporate a nearly silent leaf shutter into their lenses.

For lower cost and smaller size, these cameras typically use image sensors with a diagonal of approximately 6 mm, corresponding to a crop factor around 6. This gives them weaker low-light performance, greater depth of field, generally closer focusing ability, and smaller components than cameras using larger sensors.

Starting in 2011, some compact digital cameras can take 3D still photos. These 3D compact stereo cameras can capture 3D panoramic photos for play back on a 3D TV.[3] Some of these are rugged and waterproof, and some have GPS, compass, barometer and altimeter. [4]

[edit]Bridge cameras

Sony DSC-H2

Main article: Bridge camera

Bridge are higher-end digital cameras that physically and ergonomically resemble DSLRs and share with them some advanced features, but share with compacts the use of a fixed lens and a small sensor. Like compacts, most use live preview to frame the image. Their autofocus uses the same contrast-detect mechanism, but many bridge cameras have a manual focus mode, in some cases using a separate focus ring, for greater control. They originally "bridged" the gap between affordable point-and-shoot cameras and the then unaffordable earlier digital SLRs.

Due to the combination of big physical size but a small sensor, many of these cameras have very highly specified lenses with large zoom range and fast aperture, partially compensating for the inability to change lenses. On some, the lens qualifies as superzoom. To compensate for the lesser sensitivity of their small sensors, these cameras almost always include an image stabilization system to enable longer handheld exposures.

These cameras are sometimes marketed as and confused with digital SLR cameras since the appearance is similar. Bridge cameras lack the reflex viewing system of DSLRs, are usually fitted with fixed (non-interchangeable) lenses (although some have a lens thread to attach accessory wide-angle or telephoto converters), and can usually take movies with sound. The scene is composed by viewing either the liquid crystal display or the electronic viewfinder (EVF). Most have a longer shutter lag than a true dSLR, but they are capable of good image quality (with sufficient light) while being more compact and lighter than DSLRs. High-end models of this type have comparable resolutions to low and mid-range DSLRs. Many of these cameras can store images in a Raw image format, or processed and JPEG compressed, or both. The majority have a built-in flash similar to those found in DSLRs.

In bright sun, the quality difference between a good compact camera and a digital SLR is minimal but bridgecams are more portable, cost less and have a similar zoom ability to dSLR. Thus a Bridge camera may better suit outdoor daytime activities, except when seeking professional-quality photos.[5]

In low light conditions and/or at ISO equivalents above 800, most bridge cameras (or megazooms) lack in image quality when compared to even entry level DSLRs. However, they do have one major advantage: their much larger depth of field due to the small sensor as compared to a DSLR, allowing larger apertures with shorter exposure times.

A 3D Photo Mode was introduced in 2011, whereby the camera automatically takes a second image from a slightly different perspective and provides a standard .MPO file for stereo display. [6]

[edit]Mirrorless interchangeable-lens camera

Main article: Mirrorless interchangeable-lens camera

In late 2008, a new type of camera emerged, combining the larger sensors and interchangeable lenses of DSLRs with the live-preview viewing system of compact cameras, either through an electronic viewfinder or on the rear LCD. These are simpler and more compact than DSLRs due to the removal of the mirror box, and typically emulate the handling and ergonomics of either DSLRs or compacts. The system is used by Micro Four Thirds, borrowing components from the Four Thirds DSLR system.

[edit]Digital single lens reflex cameras

Cutaway of an Olympus E-30 DSLR

Main article: Digital single-lens reflex camera

Digital single-lens reflex cameras (DSLRs) are digital cameras based on film single-lens reflex cameras (SLRs). They take their name from their unique viewing system, in which a mirror reflects light from the lens through a separate optical viewfinder. At the moment of exposure the mirror flips out of the way, making a distinctive "clack" sound and allowing light to fall on the imager.

Since no light reaches the imager during framing, autofocus is accomplished using specialized sensors in the mirror box itself. Most 21st century DSLRs also have a "live view" mode that emulates the live preview system of compact cameras, when selected.

These cameras have much larger sensors than the other types, typically 18 mm to 36 mm on the diagonal (crop factor 2, 1.6, or 1). This gives them superior low-light performance, less depth of field at a given aperture, and a larger size.

They make use of interchangeable lenses; each major DSLR manufacturer also sells a line of lenses specifically intended to be used on their cameras. This allows the user to select a lens designed for the application at hand: wide-angle, telephoto, low-light, etc. So each lens does not require its own shutter, DSLRs use a focal-plane shutter in front of the imager, behind the mirror.

[edit]Digital rangefinders

Main article: Rangefinder camera#Digital rangefinder

A rangefinder is a user-operated optical mechanism to measure subject distance once widely used on film cameras. Most digital cameras measure subject distance automatically using electro-optical techniques, but it is not customary to say that they have a rangefinder.

[edit]Line-scan camera systems

A line-scan camera is a camera device containing a line-scan image sensor chip, and a focusing mechanism. These cameras are almost solely used in industrial settings to capture an image of a constant stream of moving material. Unlike video cameras, line-scan cameras use a single row of pixel sensors, instead of a matrix of them. Data coming from the line-scan camera has a frequency, where the camera scans a line, waits, and repeats. The data coming from the line-scan camera is commonly processed by a computer, to collect the one-dimensional line data and to create a two-dimensional image. The collected two-dimensional image data is then processed by image-processing methods for industrial purposes.

Further information: Rotating line camera

[edit]Integration

Many devices include digital cameras built into or integrated into them. For example, mobile phones often include digital cameras; those that do are known as camera phones. Other small electronic devices (especially those used for communication) such as PDAs, laptops and BlackBerry devices often contain an integral digital camera, and most 21st century camcorders can also make still pictures.

Due to the limited storage capacity and general emphasis on convenience rather than image quality, almost all these integrated or converged devices store images in the lossy but compact JPEG file format.

Mobile phones incorporating digital cameras were introduced in Japan in 2001 by J-Phone. In 2003 camera phones outsold stand-alone digital cameras, and in 2006 they outsold all film-based cameras and digital cameras combined. These camera phones reached a billion devices sold in only five years, and by 2007 more than half of the installed base of all mobile phones were camera phones. Sales of separate cameras peaked in 2008. [7]

Integrated cameras tend to be at the very lowest end of the scale of digital cameras in technical specifications, such as resolution, optical quality, and ability to use accessories. With rapid development, however, the gap between mainstream compact digital cameras and camera phones is closing, and high-end camera phones are competitive with low-end stand-alone digital cameras of the same generation.

[edit]Waterproof

A Canon WP-1 waterproof 35 mm film camera

Waterproof digital cameras are digital cameras that can make pictures underwater. Waterproof housings have long been made but they cost almost as the cameras. Many waterproof digital cameras are shockproof and resistant to low temperatures; one of them is Canon PowerShot D10, one of the first underwater digital cameras.

These cameras become very popular during the holiday season, because many people want to save the best moments from their holidays at the seaside. Waterproof watches and mobile phones were produced earlier. Most makers of digital cameras also produce waterproof ones and every year they launch at least one new model, for example Sony, Olympus, Canon, Fuji.

Healthways Mako Shark, an early waterproof camera,[8] was launched in 1958 and cost around 25 dollars. It was a huge camera and pictures were black and white.

___________________________

http://www.gobatteryonline.com/canon-nb-9l-digital-camera-battery-gose.html

http://www.gobatteryonline.com/canon-lp-e5-digital-camera-battery-gose.html

http://www.gobatteryonline.com/canon-powershot-sd500-battery-charger-gose.html

2011-12-28

Summer scenery to take pictures of small skills

Undesirable cameras benefits us many 100 % satisfaction, leading to numerous spectacular images, as well as the hot months is operating relating to dependable summertime. This specific classmate through break free will be able to figure out any tons in addition to waterways, downtown along with far-away beautiful gardening, and yet may these pure attractiveness to become a memento playing hit decrease, apart from skin color boil due to the high-end digicam purpose, a great deal more simple could be to evaluation whatever taking pictures competency as well as having photos. The amount, smaller try to make your work latest many of the summer season harvesting powerful see to it, typically the classmate need to next image have a go through, you become this confidently unexpected wonder.

Digital cameras would bring us lots of enjoyment, leaving a myriad of unique images, and summertime is journeying in wonderful summer season. The classmate throughout the getaway can recognize that reams together with estuaries and rivers, metropolitan and also countryside attractive panoramas, yet take place all these charm being a memento opportunity straight down, together with steam as a result of a camcorder operation, a lot more crucial is usually to examine ones own taking functionality and also taking photographs. That period, the little generate your choice have quite a few summer months firing effective be mindful, the particular classmate may as well within the next snapshot have a shot at, you will get the particular total surprising stun.

Household landscapes

By out of doors firing indoors panoramas, basic will need throughout the Windows 7, out-of-doors mild typically currently have more substantial indoors light-weight, now a couple of challenges ought to be sorted out, is the particular coverage time frame, a couple of it truly is in order to avoid a display reflective, when pics of any camera through hands-on management operate, might take number of years coverage setting up, when photographic camera goes so that you can twit style, can easily will likely be ISO level of sensitivity Surroundings bump up, this ISO 2 hundred or perhaps ISO six hundred aiming.

Inside panorama 's best golf shot employing a tripod, in any other case, wants a spot to guide, one example is in opposition to any divider and entry, and even the true reason for executing it is because very long coverage is quite effortless construct any digital camera protein shake, producing photographs regarding fluffy envision. It's best to utilize the shutter launch, or perhaps utilize to get center-weighted avoiding relocate a video camera. Notice: except if absolutely necessary, tend not to available the particular pen, stay clear of a lot more reflective.

Out-of-doors landscapes

Bring that landscape designs from the probability with the photo may well schedule some individuals or even factors, and this also may help the room inside the operation of your view photos. Get a large surfaces area photos, as an example the veranda as well as the roof top, hillside, for example. Typically inside the mid-day is without a doubt the most suitable time frame filming this landscapes. Filming, having a polarizer to adjust a illumination with the stars, produce the particular heavens develop into dreary quite a few, well known from the glowing blue stars the white kind of fog up, as a way to boost the space or room repeatedly.

Several virtually no guidebook vulnerability management of any camera together with location form, as well as the landscape designs way is completely features on the list of manner, you are able to use landscape designs way to adopt shots. Together with handbook vulnerability restrain photographic camera might opt for aperture goal option that will movie, aperture to help acquired far better pick out F8 to help you photograph or maybe F11, this photo will be extra management concentrations senses.

houses

The particular modify on the urban center is without a doubt switching, specifically together with a lot of approach large establishing intended for symbolize, and also this are at recent many portrait digital photography buffs including firing template.

Yet typical photographic camera through simply how much suitable container distortion, hence as a way to make an effort to reduce the photograph of your deformation belonging to the accumulating " up ", thus you ought to pick around substantial thoughts and opinions filming. One example is inside the steps, or perhaps some other might help the beliefs with area. If you fail to find the correct destination for a reside, you can from the again, clear of the particular lead entity to cut back a distortion. Maybe you've employed the greatest wide-angle standard zoom lens. Vivid stars will be able to replace with a developing with the darkish. Having a polarizer to cut back or perhaps wipe out construction with reflective a glass. In addition to, certainly, consume an excellent know with the can make one of a kind imaginative results.

mineral water

Firing apply or maybe a aerosol in waters, incorporate the use of part mild and also backlight try to make waters intended for introducing see through pattern. Several novices all of coveted by a really "splash with photos, in truth, I am able to effortlessly applied for, so the hurrying h2o glance alot more downy, have got a form of passionate blur. Shutter possibly inside 1/10 so that you can 1/6 erinarians regulate might get move cosmetic perception for splash pics.

At night and also night time

Local plumber to be able to sunset taking scenario regarding is usually 15-30 moments, next the stars always possess some colouring failed to ends. As a way to raise the graphic with the amount with subject, can easily on the ending with the passage and also uncover several regarding an individual's special world. It is as well the location where the tripod on has to be, commonly programmed coverage is definitely o . k ., yet you should attempt to utilize hands-on visibility, and also the employment of the particular shutter put out restrain taking, respectively for 2, 5, 8, 12 and also of sixteen secs shutter tempo so that you can capture some photo contrast.

Needless to say now and again continue to are able to use ISO200 to help you photograph, yet so that you can be aware of an electronic camcorder with disturbance handle is normally adequate, when pixels will be overweight, or maybe together with ISO100 contrasting by using base style to help motion picture.

In truth firing night time scenarios, at times to be able to as well do not require that filming with step-by-step developing oh, this streets these kinds of, a small amount convert tips plus aiming design and style, might get the result of experiencing a specialized pattern.

_____________________________________________

http://www.gobatteryonline.com/canon-powershot-sd850-is-battery-charger-gose.html

http://www.chargerbatteryshop.co.uk/panasonic-lumix-dmc-tz7-battery-charger-cbbs.html

2010-07-24

google発のProtocol Buffersについて

オブジェクトシリアライズツールであるプロトコルバッファについて書きます。

プロトコルバッファって何って方はこちらへ

Protocol Buffers 本家

http://code.google.com/apis/protocolbuffers/

XMLはもう不要!? Googleシリアライズツール「Protocol Buffer」

http://journal.mycom.co.jp/articles/2008/07/18/protocolbuffer/index.html

Protocol Buffers (Protocol Buffers の内部解説記事。とても参考になります)

http://dodgson.org/omo/t/?date=20080712

内容

プロトコルバッファは異種言語間でオブジェクトのやりとりをするための規格です。

独自の言語によりオブジェクトインターフェースを規定することで、多言語対応を行っています。

例えばこんな感じ。

  • address.proto
package tutorial;

message Person {
  required string name = 1;
  required int32 id = 2;        // Unique ID number for this person.
  optional string email = 3;

  enum PhoneType {
    MOBILE = 0;
    HOME = 1;
    WORK = 2;
  }

  message PhoneNumber {
    required string number = 1;
    optional PhoneType type = 2 [default = HOME];
  }

  repeated PhoneNumber phone = 4;
}

// Our address book file is just one of these.
message AddressBook {
  repeated Person person = 1;
}

以上のようなprotoファイルから各言語ソースコード、または何らかのデータ操作ライブラリを使いオブジェクトの処理を行います。

googleによってC++, Java, Python用のライブラリ作成されましたが、他の言語対応したサードパーティー製のライブラリがいくらでもあるので、実質的にほぼすべての言語で使えると言っても過言ではありません。

以下はこのライブラリを使ってみた感想などです。

整数型はVarintという可変長型でバイナリに保存される

数字が多きければ大きいほど、長いバイト長で保存されます。ただし、負数の場合符号ビットが立つ関係で、ほとんど常に変換後のバイト数が最長バイト数(10)になってしまいます。フィールドの型をsint32, sint64で宣言しると、各数値にzig-zags変換が行われるため、負数であってもその値の絶対値で使用バイト数が決まるようになります。

保存されるデータは各メッセージID/型/値のみ

バイナリに保存されるデータは各メッセージID/型/値のみです。なので、同じ定義の二つのメッセージ型は、プロトコルバッファ上では全く同じように扱うことが出来ます。例えば、片方からシリアライズしたデータを、もう片方の型でデシリアライズすることが可能です。

またオブジェクト連続シリアライズ/デシリアライズすることもできます。

継承されたクラスマッピング

すでに存在する継承関係のあるクラスを、Protocol Buffersでシリアライズ/デシリアライズしたい場合は次のようにします。

(Base, Derived はすでに存在するとします)

(ソースコード中になぜか日本語が書けないので、コメントはすべて英語になっています)

message PbBase {
        require int32 id = 1;
        require int32 value = 2;

        require Derived derived = 10; // - Point !!!
}

message PbDerived {
        require string string_value = 1;
}

継承元のメッセージ定義に、継承先のメッセージを持たせます。Base継承するクラスシリアライズ/デシリアライズしたい場合は、PbBaseメッセージを中心に処理を行うことで、比較的簡単に処理を実装することが出来ます。

例えばこんな感じ

Base *Base_DeserializeFrom(PbBase &pbobj)
{
    // Arrange the classes which inherits from Base.
    if (pbobj.has_derived()) {
        return new Derived(pbobj);
    }
    else
    ...
}

class Base {
    ...
    virtual void Base::SerializeTo(PbBase &pbobj) {
        // Set the fields of 'pbobj',
    }
    ...
};

class Derived {
    ...
    virtual void Base::SerializeTo(PbBase &pbobj)
    {
        PbDerived *derived = pbobj.mutable_derived();

        Base::SerializeTo(pbobj);
        // Set the fields of 'derived',
        ...
    }
    ...
};

protoファイルを以下のように書くと、メッセージの扱いが非常に難しくなります。

message PbBase {
        require int32 id = 1;
        require int32 value = 2;
}

message PbDerived {
        required PbBase base = 1; // - Here is the point !!!
        require string string_value = 2;
}

2010-06-24

Obama is controlled by Japan Goverment?

Possibly, my following story surprise you.

However, we, Japanese have a duty toward world people(included future generation)that tell the truth.


In 1998, when Obama was still just a lawyer, he came to Japan.

Then, Obama dealt with a lawsuit that was involved in Ford employer and Honda employer.

The content of this affair is following; in 1995, Ford employer stole the confidential report of Honda

(http:/nikkei.com/article=19951001_23), and this affair was disclosed by Japanese Police and Japanese Monopoly Commission.


This affair is responsible to Ford. And Honda was the victim.

But, in 1997 Obama was asked by Ford as their company lawyer. Then, Obama didn't know the true.

In this time, Obama was regarded as one of the best lawyer and Candidate. So he couldn't miss this lawsuit.

However, he had gradually understood his position and revealed his failure that undertook this lawsuit.


If this lawsuit occurred, Obama maybe didn't become Candidate and President of U.S.A.

But, the lawsuit didn't occur.In 1998, in Tokyo, Obama met some Japanese politicians, some Honda's boards.

Instead of giving up this lawsuit, they require Obama to accept a condition:

"If U.S.A government try to oust Japanese auto company, Obama and Ford should rescue Honda".

And Honda have been devoting a lot of money to Obama.


You must rethink 2009's situation.

Who is winner?

In 2009, when GM's problem occured, when Toyota's problem occured, who did get this benefit?



Some people maybe think this story is nonsense. Rethink.

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん