「Rand」を含む日記 RSS

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

2018-11-07

[][]2018年11月6日火曜日の増減

サイト\日付2018-10-312018-11-012018-11-022018-11-032018-11-042018-11-052018-11-06合計説明
Nature ttps://www.nature.com/5-667-11261-2351-2347-189218955イギリス 科学学術
Science Magazine ttp://science.sciencemag.org/00-104001532アメリカ 科学学術
Cell Press ttps://www.cell.com/10000002164アメリカ 生物学学術
Physical Review Letters ttps://journals.aps.org/0000000400アメリカ 物理学学術
Applied Physics Letters ttps://apl.aip.org/0000000231アメリカ 物理学学術
PNAS ttp://www.pnas.org/00000002108アメリカ 科学学術
Wiley Online Library ttps://onlinelibrary.wiley.com001-10023793アメリカ 科学学術
The Lancet ttps://www.thelancet.com/10008002308イギリス 医学学術
ScienceDirect ttps://www.sciencedirect.com/01100108690オランダ 学術誌、エルゼビア傘下
Taylor & Francis ttps://www.tandfonline.com/0000000847イギリス 学術
PLOS ttp://journals.plos.org/000000-1920アメリカ オープンアクセス科学学術
arXiv ttps://arxiv.org/55115-28825321アメリカ オープンアクセス科学学術
MDPI ttp://www.mdpi.com/0000000170スイス オープンアクセス学術
EurekAlert! ttps://www.eurekalert.org/080008011790アメリカ 科学ニュースサイト
PHYS.ORG ttps://phys.org/00-1-10011618イギリス 科学ニュースサイト
Science Daily ttps://www.sciencedaily.com/00000003153アメリカ 科学ニュースサイト
IEEE Spectrum ttps://spectrum.ieee.org/00111001742アメリカ 科学雑誌
Scientific American ttps://www.scientificamerican.00000021861アメリカ 科学雑誌
Popular Mechanics ttps://www.popularmechanics.co0000000435アメリカ 科学技術雑誌
Ars Technica ttps://arstechnica.com/5320010412781アメリカ テクノロジーニュースサイト
Smithsonian.com ttps://www.smithsonianmag.com/0000000477アメリカ 歴史科学芸術雑誌
NewScientist ttps://www.newscientist.com/00000003974イギリス 科学雑誌
MIT Technology Review ttps://www.technologyreview.co000-10013395アメリカ テクノロジーニュースサイト
Stanford SOCIAL INNOVATION Review ttps://ssir.org/000000027アメリカ 社会科学雑誌
National Geographic ttps://news.nationalgeographic00000008543アメリカ 地理歴史科学雑誌
Entrepreneur ttps://www.entrepreneur.com00000001376アメリカ 経営ニュースサイト
Harvard Business Review ttps://hbr.org/10010001966アメリカ 経営雑誌
The National Interest ttp://nationalinterest.org/0000010289アメリカ 国際関係雑誌
RAND ttps://www.rand.org/0000000120アメリカ シンクタンク
Brookings ttps://www.brookings.edu/0000000317アメリカ シンクタンク
treehugger ttps://www.treehugger.com/00000001306アメリカ 環境ニュースブログ
World Nulcear News ttp://www.world-nuclear-news.o000000080イギリス 原子力ニュースサイト
Quantamagazine ttps://www.quantamagazine.org/000-1000296アメリカ オンライン科学雑誌
ESPN ttp://www.espn.com/0010100269アメリカ スポーツ放送局
La Gazzetta dello Sport ttps://www.gazzetta.it/0000000256イタリア スポーツ新聞
FiveThirtyEight ttps://fivethirtyeight.com/1000100541アメリカ ABC傘下のスポーツ政治ブログ
WIRED ttps://www.wired.com/620201215096アメリカ テクノロジー文化雑誌
PC Magazine ttps://www.pcmag.com/0000000952アメリカ コンピュータ雑誌
The Register ttps://www.theregister.co.uk/03120526881イギリス テクノロジーニュースサイト
The Verge ttps://www.theverge.com/821448417186アメリカ テクノロジーニュースサイト
Jane's 360 ttp://www.janes.com/1000000353イギリス 軍事ニュース雑誌
Defense News ttps://www.defensenews.com/0000000356アメリカ 軍事ニュースサイト
People ttps://people.com/0000000225アメリカ 芸能ニュース雑誌
Vogue ttps://www.vogue.com/0100001349アメリカ ファッション雑誌
Marie Claire ttps://www.marieclaire.com/000000064フランス/イギリス ファッション雑誌
billboard ttps://www.billboard.com/00002002380アメリカ 音楽雑誌
NME ttps://www.nme.com/00000003079イギリス 音楽雑誌
FACT ttp://www.factmag.com/00000002029イギリス 音楽ニュースサイト
TED ttps://www.ted.com/13-42154725633アメリカ カンファレンス
Colossal ttp://www.thisiscolossal.com/13020003741アメリカ 芸術文化ニュースブログ
Artsy ttps://www.artsy.net/00100301455アメリカ 芸術ニュースオークション
DP Review ttps://www.dpreview.com/00000001040イギリス/アメリカ 写真ニュースサイト
Gizmodo ttps://gizmodo.com/0001-11129079アメリカ テクノロジーニュースサイト
CNET ttps://www.cnet.com/11000002501アメリカ テクノロジーニュースサイト
ZDNet ttps://www.zdnet.com/10111024483アメリカ テクノロジーニュースサイトCNET傘下
TechCrunch ttps://techcrunch.com/281013056594アメリカ テクノロジーニュースサイト
Phoronix ttps://www.phoronix.com/60931349453アメリカ ソフトウェアニュースサイト
LWN ttps://lwn.net/35010115164アメリカ ソフトウェアニュースサイト
Project Gutenberg ttps://www.gutenberg.org/00000001805アメリカ 電子図書館
Krebs on Security ttps://krebsonsecurity.com/0001030895アメリカ サイバーセキュリティブログ
Threatpost ttps://threatpost.com/11610342332アメリカ サイバーセキュリティニュースサイト
The Hacker News ttps://thehackernews.com/20200102104アメリカ サイバーセキュリティニュースサイト
Hacker News ttps://news.ycombinator.com/21-100-119063アメリカ ニュースアグリゲータ
Kickstarter ttps://www.kickstarter.com/20-413-1213303アメリカ クラウドファンディング
Khan Academy ttps://www.khanacademy.org/0000-2001357アメリカ オンライン教育
iFixit ttps://www.ifixit.com/20-101114524アメリカ 修理情報サイト
TripAdvisor ttps://www.tripadvisor.com/0000-10013096アメリカ 旅行情報サイト
PinkNews ttps://www.pinknews.co.uk/0000000233イギリス LGBTニュースサイト

2018-10-31

[][]2018年10月30日火曜日の増減

サイト\日付2018-10-242018-10-252018-10-262018-10-272018-10-282018-10-292018-10-30合計説明
Nature ttps://www.nature.com/120292135763イギリス 科学学術
Science Magazine ttp://science.sciencemag.org/00019001529アメリカ 科学学術
Cell Press ttps://www.cell.com/01000002163アメリカ 生物学学術
Physical Review Letters ttps://journals.aps.org/0000000400アメリカ 物理学学術
Applied Physics Letters ttps://apl.aip.org/0000000231アメリカ 物理学学術
PNAS ttp://www.pnas.org/000-10002108アメリカ 科学学術
Wiley Online Library ttps://onlinelibrary.wiley.com20200203791アメリカ 科学学術
The Lancet ttps://www.thelancet.com/10008002299イギリス 医学学術
ScienceDirect ttps://www.sciencedirect.com/00000108687オランダ 学術誌、エルゼビア傘下
Taylor & Francis ttps://www.tandfonline.com/0000000847イギリス 学術
PLOS ttp://journals.plos.org/0000100921アメリカ オープンアクセス科学学術
arXiv ttps://arxiv.org/296422725281アメリカ オープンアクセス科学学術
MDPI ttp://www.mdpi.com/0100000170スイス オープンアクセス学術
EurekAlert! ttps://www.eurekalert.org/808080711774アメリカ 科学ニュースサイト
PHYS.ORG ttps://phys.org/01000001619イギリス 科学ニュースサイト
Science Daily ttps://www.sciencedaily.com/00001003153アメリカ 科学ニュースサイト
IEEE Spectrum ttps://spectrum.ieee.org/00000001739アメリカ 科学雑誌
Scientific American ttps://www.scientificamerican.00010001859アメリカ 科学雑誌
Popular Mechanics ttps://www.popularmechanics.co0000000435アメリカ 科学技術雑誌
Ars Technica ttps://arstechnica.com/422401312757アメリカ テクノロジーニュースサイト
Smithsonian.com ttps://www.smithsonianmag.com/0100000477アメリカ 歴史科学芸術雑誌
NewScientist ttps://www.newscientist.com/00000003974イギリス 科学雑誌
MIT Technology Review ttps://www.technologyreview.co20100013395アメリカ テクノロジーニュースサイト
Stanford SOCIAL INNOVATION Review ttps://ssir.org/000000027アメリカ 社会科学雑誌
National Geographic ttps://news.nationalgeographic00000008543アメリカ 地理歴史科学雑誌
Entrepreneur ttps://www.entrepreneur.com00000011376アメリカ 経営ニュースサイト
Harvard Business Review ttps://hbr.org/20200201964アメリカ 経営雑誌
The National Interest ttp://nationalinterest.org/1000000288アメリカ 国際関係雑誌
RAND ttps://www.rand.org/0100000120アメリカ シンクタンク
Brookings ttps://www.brookings.edu/0000000317アメリカ シンクタンク
treehugger ttps://www.treehugger.com/00000001306アメリカ 環境ニュースブログ
World Nulcear News ttp://www.world-nuclear-news.o000000080イギリス 原子力ニュースサイト
Quantamagazine ttps://www.quantamagazine.org/0000000297アメリカ オンライン科学雑誌
ESPN ttp://www.espn.com/0010000267アメリカ スポーツ放送局
La Gazzetta dello Sport ttps://www.gazzetta.it/0000000256イタリア スポーツ新聞
FiveThirtyEight ttps://fivethirtyeight.com/0001000539アメリカ ABC傘下のスポーツ政治ブログ
WIRED ttps://www.wired.com/200001015083アメリカ テクノロジー文化雑誌
PC Magazine ttps://www.pcmag.com/0000000952アメリカ コンピュータ雑誌
The Register ttps://www.theregister.co.uk/04200216868イギリス テクノロジーニュースサイト
The Verge ttps://www.theverge.com/106171151417155アメリカ テクノロジーニュースサイト
Jane's 360 ttp://www.janes.com/0001000352イギリス 軍事ニュース雑誌
Defense News ttps://www.defensenews.com/0000000356アメリカ 軍事ニュースサイト
People ttps://people.com/0000000225アメリカ 芸能ニュース雑誌
Vogue ttps://www.vogue.com/0000000347アメリカ ファッション雑誌
Marie Claire ttps://www.marieclaire.com/000000064フランス/イギリス ファッション雑誌
billboard ttps://www.billboard.com/10100002378アメリカ 音楽雑誌
NME ttps://www.nme.com/00000003079イギリス 音楽雑誌
FACT ttp://www.factmag.com/00000002029イギリス 音楽ニュースサイト
TED ttps://www.ted.com/850-121225605アメリカ カンファレンス
Colossal ttp://www.thisiscolossal.com/10000123735アメリカ 芸術文化ニュースブログ
Artsy ttps://www.artsy.net/00018001451アメリカ 芸術ニュースオークション
DP Review ttps://www.dpreview.com/00000001040イギリス/アメリカ 写真ニュースサイト
Gizmodo ttps://gizmodo.com/000100129077アメリカ テクノロジーニュースサイト
CNET ttps://www.cnet.com/11010102499アメリカ テクノロジーニュースサイト
ZDNet ttps://www.zdnet.com/72311104477アメリカ テクノロジーニュースサイトCNET傘下
TechCrunch ttps://techcrunch.com/284301356579アメリカ テクノロジーニュースサイト
Phoronix ttps://www.phoronix.com/3303520139427アメリカ ソフトウェアニュースサイト
LWN ttps://lwn.net/20121105153アメリカ ソフトウェアニュースサイト
Project Gutenberg ttps://www.gutenberg.org/00-200001805アメリカ 電子図書館
Krebs on Security ttps://krebsonsecurity.com/0000000891アメリカ サイバーセキュリティブログ
Threatpost ttps://threatpost.com/13210232316アメリカ サイバーセキュリティニュースサイト
The Hacker News ttps://thehackernews.com/01000012099アメリカ サイバーセキュリティニュースサイト
Hacker News ttps://news.ycombinator.com/2-1020219061アメリカ ニュースアグリゲータ
Kickstarter ttps://www.kickstarter.com/6333141013300アメリカ クラウドファンディング
Khan Academy ttps://www.khanacademy.org/00000001359アメリカ オンライン教育
iFixit ttps://www.ifixit.com/10022014520アメリカ 修理情報サイト
TripAdvisor ttps://www.tripadvisor.com/001000013097アメリカ 旅行情報サイト
PinkNews ttps://www.pinknews.co.uk/0000000233イギリス LGBTニュースサイト

2018-10-24

[][]2018年10月23日火曜日の増減

サイト\日付2018-10-172018-10-182018-10-192018-10-202018-10-212018-10-222018-10-23合計説明
Nature ttps://www.nature.com/387632376621025116135746イギリス 科学学術
Science Magazine ttp://science.sciencemag.org/02104111519アメリカ 科学学術
Cell Press ttps://www.cell.com/00012002162アメリカ 生物学学術
Physical Review Letters ttps://journals.aps.org/0000000400アメリカ 物理学学術
Applied Physics Letters ttps://apl.aip.org/0000000231アメリカ 物理学学術
PNAS ttp://www.pnas.org/11100002109アメリカ 科学学術
Wiley Online Library ttps://onlinelibrary.wiley.com00000313785アメリカ 科学学術
The Lancet ttps://www.thelancet.com/000010012290イギリス 医学学術
ScienceDirect ttps://www.sciencedirect.com/00201128686オランダ 学術誌、エルゼビア傘下
Taylor & Francis ttps://www.tandfonline.com/010847イギリス 学術
PLOS ttp://journals.plos.org/0101100920アメリカ オープンアクセス科学学術
arXiv ttps://arxiv.org/876-146725249アメリカ オープンアクセス科学学術
MDPI ttp://www.mdpi.com/0000000169スイス オープンアクセス学術
EurekAlert! ttps://www.eurekalert.org/070804011743アメリカ 科学ニュースサイト
PHYS.ORG ttps://phys.org/00100111618イギリス 科学ニュースサイト
Science Daily ttps://www.sciencedaily.com/00000003152アメリカ 科学ニュースサイト
IEEE Spectrum ttps://spectrum.ieee.org/01000101739アメリカ 科学雑誌
Scientific American ttps://www.scientificamerican.01100001858アメリカ 科学雑誌
Popular Mechanics ttps://www.popularmechanics.co1000000435アメリカ 科学技術雑誌
Ars Technica ttps://arstechnica.com/620202112741アメリカ テクノロジーニュースサイト
Smithsonian.com ttps://www.smithsonianmag.com/0110100476アメリカ 歴史科学芸術雑誌
NewScientist ttps://www.newscientist.com/00000003974イギリス 科学雑誌
MIT Technology Review ttps://www.technologyreview.co00010003391アメリカ テクノロジーニュースサイト
Stanford SOCIAL INNOVATION Review ttps://ssir.org/000000027アメリカ 社会科学雑誌
National Geographic ttps://news.nationalgeographic00000008543アメリカ 地理歴史科学雑誌
Entrepreneur ttps://www.entrepreneur.com0-1100001375アメリカ 経営ニュースサイト
Harvard Business Review ttps://hbr.org/22012221958アメリカ 経営雑誌
The National Interest ttp://nationalinterest.org/0000000287アメリカ 国際関係雑誌
RAND ttps://www.rand.org/0000001119アメリカ シンクタンク
Brookings ttps://www.brookings.edu/0000000317アメリカ シンクタンク
treehugger ttps://www.treehugger.com/00000001306アメリカ 環境ニュースブログ
World Nulcear News ttp://www.world-nuclear-news.o000000080イギリス 原子力ニュースサイト
Quantamagazine ttps://www.quantamagazine.org/0100010297アメリカ オンライン科学雑誌
ESPN ttp://www.espn.com/0012100266アメリカ スポーツ放送局
La Gazzetta dello Sport ttps://www.gazzetta.it/0000000256イタリア スポーツ新聞
FiveThirtyEight ttps://fivethirtyeight.com/0000000538アメリカ ABC傘下のスポーツ政治ブログ
WIRED ttps://www.wired.com/221-110115080アメリカ テクノロジー文化雑誌
PC Magazine ttps://www.pcmag.com/0000000952アメリカ コンピュータ雑誌
The Register ttps://www.theregister.co.uk/201002116859イギリス テクノロジーニュースサイト
The Verge ttps://www.theverge.com/610587101717101アメリカ テクノロジーニュースサイト
Jane's 360 ttp://www.janes.com/0000000351イギリス 軍事ニュース雑誌
Defense News ttps://www.defensenews.com/0000000356アメリカ 軍事ニュースサイト
People ttps://people.com/0000000225アメリカ 芸能ニュース雑誌
Vogue ttps://www.vogue.com/0000001347アメリカ ファッション雑誌
Marie Claire ttps://www.marieclaire.com/000000064フランス/イギリス ファッション雑誌
billboard ttps://www.billboard.com/00011322376アメリカ 音楽雑誌
NME ttps://www.nme.com/000010-13079イギリス 音楽雑誌
FACT ttp://www.factmag.com/00010002029イギリス 音楽ニュースサイト
TED ttps://www.ted.com/312732625588アメリカ カンファレンス
Colossal ttp://www.thisiscolossal.com/00110103731アメリカ 芸術文化ニュースブログ
Artsy ttps://www.artsy.net/10100101442アメリカ 芸術ニュースオークション
DP Review ttps://www.dpreview.com/00000001040イギリス/アメリカ 写真ニュースサイト
Gizmodo ttps://gizmodo.com/11-1001129075アメリカ テクノロジーニュースサイト
CNET ttps://www.cnet.com/0010-1002495アメリカ テクノロジーニュースサイト
ZDNet ttps://www.zdnet.com/11011564462アメリカ テクノロジーニュースサイトCNET傘下
TechCrunch ttps://techcrunch.com/1637-213556558アメリカ テクノロジーニュースサイト
Phoronix ttps://www.phoronix.com/70690889380アメリカ ソフトウェアニュースサイト
LWN ttps://lwn.net/20250355146アメリカ ソフトウェアニュースサイト
Project Gutenberg ttps://www.gutenberg.org/100000-11807アメリカ 電子図書館
Krebs on Security ttps://krebsonsecurity.com/0000000891アメリカ サイバーセキュリティブログ
Threatpost ttps://threatpost.com/43510232304アメリカ サイバーセキュリティニュースサイト
The Hacker News ttps://thehackernews.com/00000002097アメリカ サイバーセキュリティニュースサイト
Hacker News ttps://news.ycombinator.com/23300219055アメリカ ニュースアグリゲータ
Kickstarter ttps://www.kickstarter.com/213675413270アメリカ クラウドファンディング
Khan Academy ttps://www.khanacademy.org/00000001359アメリカ オンライン教育
iFixit ttps://www.ifixit.com/33-120004514アメリカ 修理情報サイト
TripAdvisor ttps://www.tripadvisor.com/000001013096アメリカ 旅行情報サイト
PinkNews ttps://www.pinknews.co.uk/0000000233イギリス LGBTニュースサイト

2017-02-22

http://anond.hatelabo.jp/20170222195031

rand()で数千とか座標を作って大量にプロットすると模様ができるとおもう。

その程度には質は悪い。

でも、6面サイコロとか敵の出現率とかダメージ計算とかで使っても、周期性は感じられない程度の質はある。

http://anond.hatelabo.jp/20170222193043

高校プログラミングに強い(笑)先輩がrand()の質の悪さを説明するために点描するプログラム書いてくれたな。

ものの見事に濃淡が偏ってて、「ああ確かに質が悪いんだな」と思ったけど、今思うとどうなんだろうあれは。

カルドセプト乱数問題

当時ドヤ顔で、標準関数rand()を使ってるからって指摘してる連中多かったな。

大昔に書かれたC FAQってドキュメントに、rand()は質が悪いって書かれてる影響でだろう。

でもカルドセプト事件が起きたときにはすでに21世紀でそんなrand()の質の悪い処理系なんてなかったはず。

しろrand()を使わずに、自作たから失敗したんだろ。

あとだいぶ前に2chプログラム板を見てたけど、初心者乱数関係質問をするたびに、乱数の質が悪いから加工して使えとか、メルセンヌ云々でとか言う連中が常駐してたな。

でもその初心者に教えてる乱数を加工するコードバグってたりするの。

初心者が作るゲームに使う乱数なんてrand()で十分だろって言っても、ぜんぜん通じなかったな。

この前のtoto乱数の件で思い出したから書いた。

2016-11-25

日本にchokudai先生以外に乱数を力説できる人は限られている

Imagine Cup 2008のアルゴリズム部門世界3位のchokudai先生ならVimrand()とsrand()の必要性を力説してくれるはずだ。

あとは数学バカとかセキュリティエンジニアも力説できる?

その筋の人ならbramを説得できるはずだ

残念な事にchokudai先生Vimを使ってない。

我々はchokudai先生を早急にVimワールドに引きずり込むべきだ。

vimmerVim使ってみませんか?おすすめエディタです」

chokudai「VimVisual Studioで間に合ってま〜す」

vimmervimプラグインのomnisharp-vimを入れたらVimC#書けますよ」

vimmer「中でもおすすめなのがShougoさんのVimプラグインです。これがあれば暗黒の力が簡単に手に入りますよ」

vimmer「neobundle.vimを入れるとプラグイン管理が楽になります

vimmerunite.vimを使えばもっとVim操作が楽になります

vimmer「更に開発中のdein.vimやdenite.nvimやdeoplete.nvimを使えばさらに強い暗黒の力が手に入りますよ」

chokudaiは唾液をゴクリと飲み込む

vimmer「ククク・・・興味を持ったようだな」

vimmer「もうひとつ情報を与えてやろう」

vimmer「暗黒に染まったプラグイン更新する度にパワーがはるかに増す・・その更新無限にオレは残している・・その意味がわかるな?」

震えるchokudai「いきなり意味がわからないことを言いやがって!!でも怖いっ!!!!」

震えるchokudai「tanakhさん!助けて!!!

tanakh「だめだ!暗黒の力が強烈過ぎて僕のemacsの力では太刀打ち出来無い(´・_・`)」

震えるchokudaiとtanakh「きさま!まさか!!(((((((( ;゚Д゚))))))))ガクガクブルブルガタガタブルブル」

暗黒美夢王「フハハハハ!!!!!!!!!!!そのまさかだ!」

https://github.com/vim/vim/pull/1277

2016-04-17

論理的思考???

小中でプログラミング必修に…政府の新成長戦略 : 政治 : 読売新聞YOMIURI ONLINE

http://www.yomiuri.co.jp/politics/20160416-OYT1T50044.html

id:uxlayman プログラミングやらんでいいから論理的思考をちゃんとおしえてくれ

id:bigburnbigburn 移り変わりの激しいプログラム言語子供に教えてどうするんだ…義務教育では論理的思考を教えればいいのに

id:aya_momoaya_momo プログラミングを教える前に論理的思考を教えるべき。あと、数学にも力を入れるべき。

このへんのブコメ死ぬほど違和感があるんだけど、論理的思考力がどうこうって、プログラミングを教えるかどうかという話題あんまり関係なくない?論理的思考力って学問でもビジネスでもあらゆる分野で必要もので、プログラミング特別必要とされるものでもないだろ。コンピューターサイエンスを教えろみたいな話ならまだわかるけど。

print 'うんこ'

って書けば「うんこ」って表示されて、

if rand(3)
  print 'うんこ'
end

って書けばたまにうんこが表示される、とかそういうレベルで知ってるだけでも、知識ゼロとはそれなりの違いがあるじゃん。こんなん小学生でもわかるし、世の中のソフトウェアなんてこういうのの積み重ねでしかないよ。もっと複雑なものを作るには、もちろん論理的思考力がないと苦労するだろうけど、そんなんプログラミングじゃなくても他のことでも一緒だよ。逆に論理的思考力が高いだけでうまくいくもんでもないよ、ソフトウェア開発って。

そもそも論理的思考を教えろって具体的にどういうことを教えてほしいんだ?プログラミングを学ばせることで論理的思考力を伸ばすという方法全然ありなのでは?小中学生もっと効率よく論理的思考力を伸ばせる方法があるというなら提案してほしい。小さい子に抽象的な知識だけ学ばせたってつまらからどうせ頭に入らないし、教師だって正誤が明確に出るプログラミングのほうが教えやすい面もあるのでは?(教師が生徒の書いたものデバッグできなくて困ることは多々ありそうではあるけど)

あと、プログラム言語が移り変わり激しいって本当に知ってて言ってるのか?CとかC++とか何年使われてると思ってるんだ?JavaとかRubyだってもう20年以上の歴史がある言語で、未だに衰退の気配はまったくない。新しい言語もあるけど、現場で実際に使われてる言語平均寿命は相当長いぞ。今Javaとかやったとして、子供らが社会に出る頃に使われなくなっている可能性が高いとはあまりいえないのでは。最先端現場で細かい部分が変わっていくのはどの業界でも一緒だし。

2015-05-10

妄想

1.エクセルFB友達になってる異性の名前リストを作る

2、rand関数順位付け

3、上位7人と、1週間毎日1人ずつと…という妄想

2014-10-30

Cの乱数ルーチン

掲示板初心者rand()の使い方を質問してると、

rand() % N はいかん。下位ビットは偏りがでる」

かいまだにドヤ顔で教えてる人がいるね。

C FAQに書いてあるからだろうけど、あれ20年以上前文章で、いまどき下位ビットから極端に周期が短い処理系とかないと思うんだけどね。

初心者が使う用途ならたいがい rand() % N で十分なはず。

しろrand() % Nのかわりにって教えてるコード

「(int)((double)rand() / RAND_MAX * N)」 とか 「rand() >> 16」 とかバグってたりすることがあって、素直に rand() % N 使えよって感じになる。

むかしカルドセプトってゲーム乱数ルーチンバグって、偶数奇数が交互にでるって現象があってネット上でやっぱり「こう書け」みたいに乱数ルーチン書いてる人がいたけど、そういう人たちもバグってるの多かったね。

変に工夫するからバグるんだわ。

ゲーム程度なら素直に rand() % N 使っとけよって感じ。

2014-01-17

http://anond.hatelabo.jp/20140116013407

モデルで発生するイベントが多く、複雑になるほど、ビューとの関連は密になる。

ここの所は、今回の例ではいまいち見えづらい気がする。今回の例で複雑になっているのはモデルだけである。ビューがやる事は、「納刀する」「変色した血が飛び散る」イベントをlistenして画面に描画するだけのはず。MVCイベント機構は、モデル→ビューとコントロールモデルメッセージ通知を行うためのもので、モデル同士の通信についてはノータッチモデル内での相互作用に、単なるメソッド呼び出しを超えたあれこれが必要なら、DSLを作るなり自前でイベント機構を作るなり好きにして下さい、というスタンスかなあと思われ。

といってもQtsignal/slotなんかはモデル同士の通信にも使えるわけで、そういう意味最近GUIエンジンMVCの範囲を超えつつある。具体的に「Controllerから入力Modelの自発的な状態遷移も、同じイベント機構で扱いましょう」というのはMOVEの考え方に非常に近い。

http://blog.neo.jp/dnblog/index.php?module=Blog&action=Entry&blog=pg&entry=3442&rand=9193a

MOVEの考え方からいえば、モデルの責務が吸い出されて単なるデータになってしまうのは、むしろコンセプト通りであるとも言える。

なお、単純な例を超えてRPGの実装を自分が考えるなら、オブジェクト指向設計としては攻撃方法型や特殊作用型(毒とか呪いとか)同士の相互作用を主眼に置いた感じになって、モンスター勇者は単なるデータに近付いていくだろうなあ、と予想してみる。組んでみないと分からない事もあるだろうけれども。

2009-12-10

PHPのあの関数Perlでやるには?

元ネタ http://phpspot.org/blog/archives/2009/12/phpjavascriptph_1.html

面白そうだと思ったので僕もやってみた。モジュールPerl5.8系の標準モジュールのみ利用可という制限。

全部はキツイので関数処理関係の関数(http://php.benscom.com/manual/ja/ref.funchand.php)だけ実装してみた。

use strict;
use warnings;

=head2 call_user_func

 $ret = call_user_func($function,@param);
 $ret = call_user_func([$class,$method],@param);

example1

 sub plus { $_[0] + $_[1] }
 print call_user_func('plus',10,20); # 30

example2

 package Foo;
 sub plus { $_[1] + $_[2] }
 package main;
 print call_user_func(['Foo','plus'],10,20); # 30

=cut

sub call_user_func {
    my $proto = shift;
    if ( ref $proto eq 'ARRAY' ) {
        return $$proto[0]->${\$$proto[1]}(@_);
    }
    else {
        require Pod::Functions;
        if ( $Pod::Functions::Flavor{$proto} ) {
            return eval qq{$proto(\@_)};
        }
        else {
            no strict 'refs';
            return $proto->(@_);
        }
    }
}

=head2 call_user_func_array

 $ret = call_user_func_array($function,\@param);
 $ret = call_user_func_array([$class,$method],\@param);

example

 sub plus { $_[0] + $_[1] }
 print call_user_func_array('plus',[10,20]); # 30

=cut

sub call_user_func_array {
    return call_user_func(shift,@{+shift});
}

=head2 create_function

 $code = create_function($args_str,$code_str);

example

 $code = create_function('$c,$d=1','print $c+$d');
 $code->(10); # 11

=cut

sub create_function {
    my $args = shift;
    my $code = shift;
    my $default = 0;
    my @args = split /,/,$args;
    my $code_str = 'sub {';
    for my $arg (@args) {
        if ( $arg =~ /^\s*(\$[a-zA-Z][\w]*)\s*(?:=\s*(.+))?\s*$/ ) {
            my $val = $1;
            my $def = $2;
            if ( defined $def ) {
                $default = 1;
                $code_str .= qq{my $val = \@_ ? shift : $def;\n};
            }
            else {
                die 'parse error' if $default;
                $code_str .= qq{my $val = shift;\n};
            }
        }
    }
    $code_str .= $code . '}';
    my $sub = eval $code_str;
    die $@ if $@;
    return $sub;
}

=head2 forward_static_call

 $ret = forward_static_call($function,@param);
 $ret = forward_static_call([$class,$method],@param);

=cut

sub forward_static_call {
    call_user_func(@_);
}

=head2 forward_static_call_array

 $ret = forward_static_call_array($function,\@param);
 $ret = forward_static_call_array([$class,$method],\@param);

=cut

sub forward_static_call_array {
    call_user_func_array(@_);
}

=head2 func_get_arg

 $arg = func_get_arg($no)

example

 sub foo { print func_get_arg(1) }
 foo(100,200); # 200

=cut

sub func_get_arg {
    my $n = shift;
    package DB;
    @DB::args = ();
    () = caller(1);
    return defined $DB::args[$n] ? $DB::args[$n] : undef;
}

=head2 func_get_args

 @args = func_get_args()

example

 sub foo { print join ':', func_get_args() }
 foo(11,22,33); # 11:22:33

=cut

sub func_get_args {
    my $n = shift;
    package DB;
    @DB::args = ();
    () = caller(1);
    return @DB::args;
}

=head2 func_num_args

 $arg_count = func_num_args()

example

 sub foo { print func_num_args() }
 foo(11,22,33); # 3

=cut

sub func_num_args {
    my $n = shift;
    package DB;
    @DB::args = ();
    () = caller(1);
    return scalar @DB::args;
}

=head2 function_exists

 $bool = function_exists($func)

example

 sub foo {}
 print function_exists('foo');  # 1
 print function_exists('bar');  # 0
 print function_exists('rand'); # 1

=cut

sub function_exists {
    my $func = shift;
    return 1 if exists &$func;
    require Pod::Functions;
    return $Pod::Functions::Flavor{$func} ? 1 : 0;
}

=head2 get_defined_functions

 $funcs = get_defined_functions()

=cut

sub get_defined_functions {
    require Pod::Functions;
    return {
        internal => [ keys %Pod::Functions::Flavor ],
        user     => [ grep { exists &$_ } keys %:: ],
    };
}

=head2 register_shutdown_function

 register_shutdown_function($func,@param);
 register_shutdown_function([$class,$method],@param);

=cut

{
    my $REGISTER_SHUTDOWN_FUNCTION = [];
    sub register_shutdown_function {
        my $proto = shift;
        push @$REGISTER_SHUTDOWN_FUNCTION, [
            do {
                if ( ref $proto eq 'ARRAY' ) {
                    $$proto[0]->can($$proto[1]);
                }
                else {
                    require Pod::Functions;
                    if ( $Pod::Functions::Flavor{$proto} ) {
                        sub { eval qq{$proto(\@_)} };
                    }
                    else {
                        no strict 'refs';
                        \&$proto;
                    }
                }
            },
            [@_]
        ]
    }
    END {
        $_->[0]->(@{$_->[1]}) for @$REGISTER_SHUTDOWN_FUNCTION;
    }
}

思ったよりも難しかった。標準関数一覧を取る手段がなかったので標準モジュールを利用して標準関数の一覧を取得した。

あと文字列から標準関数を呼び出すスマートな手段が思いつかなかったのでeval便りに。

create_functionはかなりゴリ押し。myを勝手に付けたりデフォルト引数にも対応してたり細かい芸が光る(自分で言うな)

forward_static_callはぶっちゃけPerl的にcall_user_funcと殆ど処理が変わらないのでそのまま利用。

func_get_arg系は結構クリティカルだなー。@DB::argsをリアルに使ったの初めてだよ。

register_shutdown_functionはちょっとねー。ENDブロックを利用してるわけなんだけど当然mod_perlとかではうまく動かない。あとシグナルとか使った方が良いのかもしれない。

ヒマがあったら他の関数とかも実装してみたいかも。

プログラ増田のあなぐら

2009-10-04

グーグルマップ壁紙にしてみる

10/18 改訂

グーグルマップ航空写真をつなげて一枚にするスクリプト

なお、取得した画像著作権グーグル他各社が保持しています。

ご利用は計画的に私的範囲でどうぞご利用ください。

#!/usr/bin/perl

use strict;
use warnings;
use Getopt::Long;
use LWP::UserAgent;
use GD;

my $cmdline = join(" ", $0, @ARGV);
my $usage = "usage: $0 -sx=116423 -sy=51603 -ex=116426 -ey=51605 -dx=4 -dy=3 -z=17 -size=300 -get=30 -dir=cache -output=output.jpg -nodebug";
my ($sx, $sy) = (0, 0);
my ($ex, $ey) = (0, 0);
my ($dx, $dy) = (4, 3);
my $z = 17;
my $size = 300;
my $get = 30;
my $dir = "cache";
my $output = "output.jpg";
my $debug = 0;
GetOptions("sx=i" => \$sx, "sy=i" => \$sy,
	   "ex=i" => \$ex, "ey=i" => \$ey,
	   "dx=i" => \$dx, "dy=i" => \$dy,
	   "z=i" => \$z,
	   "size=i" => \$size, "get=i" => $get,
	   "dir=s" => \$dir, "output=s" => \$output,
	   "debug!" => \$debug) or die "$usage\nDied";
if ($ex == 0) {
    $ex = $sx + $dx;
} else {
    $ex++;
    $dx = $ex - $sx;
}
if ($ey == 0) {
    $ey = $sy + $dy;
} else {
    $ey++;
    $dy = $ey - $sy;
}
$sx>0 and $dx>0 and $sy>0 and $dy>0 and $z>0 and $dir and $output
    or die "$usage\nBad arguments";
$dx*$dy > $size and die "Getting too large.";

$debug and print "debug: mkdir $dir\n";
mkdir $dir;
-d $dir or die "can't make dir $dir: $!";

my $base = sprintf("http://khm%d.google.co.jp/kh/v=46&z=%d", int(rand(4)), $z);
my $ua = LWP::UserAgent->new;
printf "now get %d images...\n", $dx*$dy;
for (my $x=$sx; $x < $ex; $x++) {
    for (my $y=$sy; $y < $ey; $y++) {
	my $file = sprintf("%s/%02dz%06dx%06d.jpg", $dir, $z, $x, $y);
	$debug and print "debug: check of $file\n";
	-s $file and next;
	--$get < 0 and last;
	my $req = HTTP::Request->new(GET=>+"$base&x=$x&y=$y");
	$debug and print "debug: fetch from ".$req->uri."\n";
	my $res = $ua->request($req);
	unless ($res->is_success) {
	    print "fail fetch from $file: ", $res->status_line, "\n";
	    next;
	}
	if (open(my $fh, ">", $file)) {
	    $debug and print "debug: write of $file\n";
	    binmode $fh;
	    print $fh $res->content;
	    close $fh;
	} else {
	    print "fail open in $file: $!\n";
	}
    }
}
$get < 0 and print "reach the getting limit, skip after all.\n";

printf "creating %dX%d image...\n", 256*$dx, 256*$dy;
my $image = new GD::Image(256*$dx, 256*$dy);
for (my $x=$sx; $x < $ex; $x++) {
    for (my $y=$sy; $y < $ey; $y++) {
	my $file = sprintf("%s/%02dz%06dx%06d.jpg", $dir, $z, $x, $y);
	$debug and print "debug: check of $file\n";
	-s $file or next;
	$debug and print "debug: read of $file\n";
	my $part = GD::Image->newFromJpeg($file);
	$debug and print "debug: image copy\n";
	$image->copy($part, 256*($x-$sx), 256*($y-$sy), 0, 0, 256, 256);
    }
}
#$image->string(gdSmallFont, 0, 0, $cmdline, $image->colorAllocate(255, 255, 255));
open(my $fh, ">", $output) or die "fail open $output: $!";
$debug and print "debug: write of $output\n";
binmode $fh;
print $fh $image->jpeg();
close $fh;

例えば秋葉原とか

perl gmwall.pl -sx=116423 -sy=51603 -ex=116427 -ey=51606

駅だけとか

perl gmwall.pl -sx=465701 -sy=206420 -ex=465705 -ey=206423 -z=19

使う数値はfirebugなどで拾ってください。

ログイン ユーザー登録
ようこそ ゲスト さん