「トリッキー」を含む日記 RSS

はてなキーワード: トリッキーとは

2014-06-04

何が言いたいか?というと

Undefinedable<bool> であって

false != undefined

というのはすぐにわかるが

Nullable<bool> であって

false != NULL

というのは その言語固有の問題であって、言語仕様トリッキー

 

C/C++などの言語ではfalse==NULLだし。 他の言語を考えて false!==NULLかもしれないが、false!=NULLがどうなるかは予測できん。

falseとNULLを比較するのは定義曖昧すぎて推奨できないよ。

2014-03-06

バイオ大学院生なので、小保方博士には注目してしまう。

そんな小保方博士は、ねつ造だなんだとたたかれたので、実験手順を公開した。

確かに、突っ込みどころを見つけたくなるようなセンセーショナルな内容だし、図だって言われてみればなんだかなあ、という感じの論文

しかも再現性が取れないとの話。トリッキー研究だ。

しかしだ。

私が思うに、彼女神の手の持ち主かつ非常に自分の手の動きに敏感だから、こんなトリッキー研究ができたんだと思う。

彼女は「ピペッティングの刺激が細胞ストレスになるから幹細胞ができる」と判断したから、ここまで研究を進めた。

これはtwitterで歩弥丸さんが言及していらっしゃるが、尋常ではない

https://twitter.com/hmmr03/status/428738964174819328

ではなぜ尋常ではないのか?

それはおそらく、自他ともに認めるずばぬけた実験の正確さと、すばぬけた手の動きへの敏感さが小保方博士にはあるからだろう。

「ピペッティングの刺激が細胞ストレスになる」という判断はおそらく、

・ピペッティングマイルドだったとき幹細胞化した細胞が少なかった

・ピペッティングが粗暴だったとき幹細胞化した細胞が多かった

というデータに基づくものだろう

ではピペッティングをしてる人にお聞きしたい。

・多少の指の力や、ピペッティングスピードや丁寧さを加減することができても、各操作の力やスピードの違いを覚えているだろうか?

・その違いを数量化して、実験結果に照らし合わせられるだろうか?

さらにその違いを比べて議論できるほど、精度の高いピペッティングを普段からできているか

ちなみに私はどれにもいいえと答えますwww

皆さんはどうだろう?

私は使えない人間なので外れ値なんかも知れないが...

もし彼女のような感覚と手腕が多くの研究者にあれば、そうとう生命科学進歩するだろうなあ。

というわけで、そこまでの人間はめったにいないので、ほかの人が再現するのが難しいんじゃないのか、という気もする。

もし小保方博士神の手なら、実験手順だけでなく、全世界ダメの手にピペッティングを教えた方がいいと思う。

2014-02-22

http://anond.hatelabo.jp/20140222095130

vimの方が使い方がトリッキーで難しいので、「こんな道具を使いこなす俺すげええええええええええええええええええ」っていうエンジニア()のしょうもない虚栄心を満たすことができるよ。

2013-07-09

日本列島ゲームMAPとしての完成度は異常


今、日本舞台にしたSLGを作っているのだが、
改めて思うのは、日本列島ゲームにした時のMAPの完成度の高さだ。

舞台中央に大きな島があり、
マップの端に大・中・小の島が1つずつというバランスの良い配置。
このおかげで、ゲーム初心者四国の小さなマップスタートから慣れてもらい、
徐々に大きな島へとステップアップしていってもらう事が出来る。

そして一番大きな本州の形は円形ではなく、南北に細長い形状になっていて、
比較的何処からスタートしても生産地(注:敵に触れていない土地くらいの軽い意味合いです)が作りやすい。
この形ならば、若干の有利不利はあるかもしれないが、
201年劉備や、Civマルチプレイパンゲアど真ん中のような
圧倒的な不利な状況にはなりにくい。

しいて言えば長野岐阜滋賀奈良あたりが
地形上厳しそうに見えるが、
長野岐阜は周りの山岳が、滋賀琵琶湖トリッキー防波堤になるため、
下手な関東平野よりも守りやすかったりする。

トリッキーと言えば、その豊富な地形変化も大きい。
こんな狭い島の中に富士山という高い山があり、琵琶湖という大きな湖があり、
瀬戸内海という内海があり、平野もあれば、樹海もある。
それが自然な形で配置されており、非常にバリエーションに富んだ舞台作成してくれている。

自然という事でいうならば気候の変化もそう。
南北に長い為、北は大雪、南は台風と、舞台によって気を配る事が違ってくる。
さら時系列でいっても夏に責めるのが有利な地域、冬に責めるのが有利な地域と変化が出て、
自分スタート地点によって千差万別の戦略必要になってくる。

しいて言えば、マップサイズにもよるが、
北海道九州四国の位置がさほど本州と離れていない為、
海戦重要さが薄いマップになってしまいがちだが、
まあ、これもマップサイズを大きくすれば、問題は解決する。

このように、日本列島ゲーム舞台としては
驚きの完成度を秘めているのだが、この地形が自然に出来たのだから恐ろしい。
マップデザイナー四苦八苦して作るマップよりも変化に富んで
バランスの取れたマップがすでに私たちの足元にあるのだ。

きっと神様は相当なゲーマーだったに違いない。

2013-07-01

http://anond.hatelabo.jp/20130630165433

自分プログラム勉強したての頃はそんな感じだった。自分特にオブジェクト指向のあたり意味がわからなかったなあ…。

でも先生言葉はそういう人間には正解だと思うよ。

どちらも同じ先生で、質問してもそのうちわかってくる!って言われるからそうか…ってほっといてるけど、
言語の詳しい説明はいつになったら理解できるようになるか不安になる。

最初は「おまじない」として書いてても大丈夫。要は、動けばいい。

でもプログラムをずっと書いてるとそのうちもっとトリッキーなことがやりたくなってくる。そのときに嫌でもどんなことなのか知らなきゃいけなくなる。そういうのを繰り返してちょっとずつちょっとずつ知らないうちにぼんやりしてた概念が身についてくる。

こういう概念ってわかってる人には説明できる。でもわからない人に説明するのは用語の面でも概念の面でも難しい。一神教のひとにアニミズムの考えを理解してもらうような…(ちょっとちがうか)。だから教える側も最初は「おまじない」が限界なんだよね。

プログラムの自習は自分が作りたいものがあるとか作らざるを得ない状況だとかじゃないと課題を見つけるのが難しいかも。でもとりあえず今は習った範囲でできることをいろいろ試してみてごらん。macがあるなら試しにiPhoneアプリ作ってみてもいい。作り始めるといろいろ必要になるから勝手勉強ちゃうよ。

2013-05-14

プログラミング大好き男に「どの言語が好き?」と訊ねられたとき、女はどう答えたらいいの?

あ、まず前提として、

貴女プログラミング大好き男を夢中にさせることが、

はたして貴女幸福にするかどうか、それはまた別問題だけれど。

はいえ、プログラミング大好き男たちは玉石混交ながら、

IT系の超かしこい男なども多く、

多くっつーかIT系でないのにプログラミング大好き男っていうのは超かしこ学生まぁこれは有望株)か研究者系なんか、

あとはまったくかしこくもないクセに頭いいつもりして「Lispやってます(キリッ ハローワールドくらいですが」とか言っちゃうアホしかいないわけで、

したがって、釣り師たる女たちにとっては、

なかなかあなどれない釣り場です。

では、プログラミング大好き男に「どの言語が好き?」と訊ねられたとき

貴女は、どう答えれば理想的でしょう?

まず最初に、その男COBOLのようなタイプレガシーコード

あとはC/C++、そして(TechEdに参加するほどではないけれど)VisualBasicが大好きな、

そんなタイプ場合は、

貴女はかれの目を見て、微笑みとともに質問など無視して、こう言いましょう、

「わたしが、仕様書を作ってあげる♪」

これこそまさに必殺の答えです。

そこでプログラミング大好き男が、えへへ、とやにさがったならば、

貴女は、ひそかに、「コピペ量産しやすい技術的ポイントを抑えた仕様書」あたりを

ひそかに練習しておきましょう。これで成功まちがいなしです。

しかし、ここでは、もう少しハイブロウな(?)いわゆるプログラミング好きの男の

落とし方をお伝えしましょう。

この場合貴女は、こう答えましょう、

「わたしは、JVM上のScalaが好き。

型推論もあるしラムダ式クロージャスクリプト言語みたいに書けるの、豊富組み込みのコレクションメソッドはいつも便利だし、

XMLリテラルCaseクラスによるパターンマッチもTraitベースMixi-inも、大好き♪」

もしも貴女がそう答えたならば、

その瞬間、プログラミング大好き男の目はきらりと輝き、

かれの貴女への恋心は、

20%増量になるでしょう。

なぜって、Scalaは、

ちょっぴりお洒落Ruby風味に記述できて、

Maybeモナド差し込んで、

コンパイルは遅いながらも、そこがまた

ちょっぴりメモリを多く積めばいい富豪プログラミングみたいなふんいきをかもしだしていて。

しか関数型言語としての不変変数・不変Listを実装して

質高くふるまっていて、なおかつ、

JVM上で動くくせにJavaが「やるやる」と言ったまま実装してなかったラムダ式と仮想拡張メソッド型推論を実装した功績もあって。

したがってScalaこそは、

本来なんの接点もないまったく縁もゆかりもない別々の世界に生きている、

インタプリタ言語大好きな綺麗系OLと、玉もあれば石も混じっている、そんなプログラミング大好き男たちが、

この世界で唯一(いいえ、JVM系列のJRubyClojure と並んで唯三)遭遇しうる場所です。


では、参考までに、危険な回答を挙げておきましょう。

プログラミング大好き男に「どの言語が好き?」と訊ねられたとき

貴女がこう答えたとしましょう、

MicrosoftVisual Basic for Applicationが好き♪ 週3回は Excelコーディングするの。」

その瞬間、プログラミング大好き男の貴女への恋心は消えます、

なるほどMicrosoftは、世界最大のOS供給メーカー

特にOfficeは平凡ながら、ま、無難にまとめてあるものの、

しかし、「新UIのリボンUI!」「メトロUI対応!」とかなんとか無意味な自慢を吹聴し、

VBAはさらプログラミングについての謬見を撒き散らした罪がありますからプログラミング大好き男にとっては天敵なんです。

ティーガー戦車乗りのオットー・カリウスは「ティーガー乗りなら誰でも片側の履帯がはずれ僚車に牽引されて帰ってきた経験を持つはずだ」 って言ったけど

社内SESIerなら誰でもクソみたいな前任者が書いたクソみたいなExcel-VBAコードを直した経験があるはずなんです。

また、もしも貴女が「PHPが大好き♪ あたしが書いたPHPのWebサイトが、さくらサーバに7件あるよ♪」

と答えたとしても、同様の効果をもたらすでしょう、

なぜって、PHPは、1990年代にはWeb系を目指す人にとっては簡単で要件を満たすWebサイトが簡単に作れる輝きの道だったものの、

しかし2000年代うそうからセキュリティ関係の問題で転落し、

いまや、あの貧弱な言語能力では、Rubyの魅力に遥かに及びません。

(注1)

またもしもたとえあなたプログラミング言語が大好きで、

「わたし、.NET FrameworkのC#が好き、フォームアプリでも書くけど、

最高に好きなのはASP.net♪ SQLServer連携も、ajax control toolkitもすっごくおいしいの。」

と、答えたとしたらどうでしょう

なるほど、貴女の趣味は高く、

しか.NET Frameworkは、C# が cool であるのみならず、

.NET Framework上で動く F# や IronPythonIronRubyマネーJScriptも最高においしいんですけれど、

しかし、貴女の答えを聞いて、プログラミング大好き男はきっとおもうでしょう、

(なんだよ、MS信者な女だな、カネかかりそう)って。

(注2)

貴女が、プログラミングが大好きで、言語の名を挙げるにしても、

たとえば、JavaScript(node.js)ならば安心でしょう、

なぜならば、JavaScriptは、かけだしのプログラミング初心者にもマニアにもともに愛されるめずらしい言語で、

貴女がその名前を挙げても必ずしも、(jQueryがやっとの初心者と思われることはあっても)あなたプログラミング言語おた宣言をしているとは受け取られないでしょう。

しろへぇ。ちゃんとprototypeは使ってる?」と聞かれたら「当たり前じゃない。むしろnode.jsでいいMVCフレームワークが分からないんだけど…」と話を振ってみましょう。

男は嬉々として、30個くらいのnode.jsフレームワークを教えてくれることでしょう。(まぁどれもどれで帯に短し襷に長しなんですが)

あるいはRighno上で動かしたコードをnodeへ移植する話とか、CoffeeScript、甚だしきはClojureScriptを振ってみてもいいかもしれません。

しかし、たとえば、世界が(つーか竹内先生ポール・グレアムが)誇る超絶関数型言語の名作、Common Lispにせよ、

selfと書きまくることと海外で使われてることに定評のあるPythonにせよ、

バージョンアップごとに言語仕様が変わり、かなり素敵なものではあるもののobsolatedな罠にはまりやすRubyにせよ、

まったく読めない$_だらけで頭悪い仕様リセットしてPerl6にする(そしてまた全く読めない)Perlにせよ、

気さくなクジラ飛行机さんがふるまう素敵においしい日本語プログラミング言語ひまわりなでしこにせよ、

基地外トリッキー言語の代表BrainFxck・Glass・Missa・WhiteSpaceにせよ、

そういう言語名前をいきなり挙げるのは、ちょっぴり微妙。

ましてや貴女が、「Haskellが大好き♪ わたし、プロジェクトオイラーの問題もうほとんどHaskellで、解いちゃった♪」

と答えたならば、どうでしょう

これはかなり博打な答え方で、

なるほど、Haskellは、純粋関数型でありつつも副作用のある操作が行える超絶名言語ゆえ、

あなたがそう答えた瞬間、プログラミング大好き男がいきなり超笑顔になって、

へぇ、やっぱりHaskellなら大抵の問題は4行以内くらいで解いちゃった?」とか言いながら

鼻の下がだら~んと伸びちゃう可能性もあるにはありますが、

しかし、逆に、(なんだよ、この女、プログラミングおたくかよ)とおもわれて、どん引きされる可能性もまた大です、

なぜって、必ずしもプログラミング大好き男がプログラミング大好き女を好きになるとは、限らないですから

しかも、この答えには、もうひとつ問題があって、

男たちは、女を導き高みへ引き上げてあげることが大好きゆえ、

もしも貴女が、「Haskellが大好き♪」なんて言ってしまうと、

そこにはもはや、男が貴女圏論モナド教育する余地がまったく残されていません、

したがって貴女のその答えは、

プログラミング大好き男の貴女への夢を潰してしまうことに他なりません。

ま、ざっとそんな感じです、貴女の目にはプログラマーたちはバカでスケベで鈍感に見えるでしょうが

しかし、ああ見せて、プログラマープログラマーで繊細で、おざなりに扱われると傷つきやすく、ローカル変数名前一つにも気を使い、女と自分の将来に夢を持っています、

貴女の答え方ひとつで、プログラマー貴女への夢は大きくふくらみもすれば、

一瞬で、しぼんでしまいもするでしょう。


では、スキットを繰り返しましょう。

「わたしは、JVM上のScalaが好き。

型推論もあるしラムダ式クロージャスクリプト言語みたいに書けるの、豊富組み込みのコレクションメソッドはいつも便利だし、

XMLリテラルCaseクラスによるパターンマッチもTraitベースMixi-inも、大好き♪」

そして、その瞬間、プログラミング大好き男の目がらんらんと輝いたなら、

貴女はこう重ねましょう、

それからね、いま、わたしが使ってみたいWebアーキテクチャは、

Play Framework、素敵なリアルタイム嗜好のアーキテクチャって噂を聞いたから。

あなたのお暇なときがあったら、わたしをPlayへ連れてって♪」

これでもう完璧です。

PlayFrameworkと、Play(遊ぶ・じゃれる)のダブルミーニングでかれの股間も刺激しちゃえます。

そうなったらこっちのもの

デートの日には、ペアプロ用に Happy Hacking Keyboard をばっちり決めて、かわいい下着をつけて(注3)、

github.comの通販で売ってるoctcatのTシャツか、facebookの「いいね!ボタンがムネのところにあるTシャツ、 あるいは初音ミク(ないし彼のお気に入りアニメキャラ。北米ならMyLittlePonyで鉄板なんだけど)のコスプレを着てゆきましょう。

その日からプログラミング大好き男は貴女の虜になるでしょう。

では、釣り師としての貴女の、愛の幸運幸福をお祈りします!

注1:

(と、書いたもののPHPの現状をよく知りません。グローバル変数だらけになるのとか旧ASPみたいなもんなのかなぁ。count($array); とか書くのアホと思うがpythonも同じだった)

(あと、マジで機能とかTwitter連携とか診断メーカー的なのでもPHPで7つも作ってる女子居たら付き合いたい)

注2:

もっとも。objective-Cなんていう言語をやることに比べれば個人で行う程度なら金のかからない手法もなくはないのですが。

注3:

プログラマーにとっての「かわいい下着」と、女性にとっての「かわいい下着」の定義にずれがあるので注意。

半数くらいのプログラマーしましまぱんつが可愛いと思ってる気がするので、妙齢の女性が着用するには抵抗あると思うが、ボーダー柄のコットンショーツ(ただしキャラ絵のは除く)とか、

過度でないていどにフリルがついたものオススメ。また、色は、レッドだとプログラミング大好き男は引いてしまう(だってそれはコンパイルエラーときの色だ)ので、薄ピンクホワイト、薄ブルー、せめて黒(に差し色でピンクとか)あたりに留めたい。

補記:

 元ネタhttp://tabelog.com/tokyo/A1301/A130101/13002457/dtlrvwlst/3464106/

補記2:

  「プログラマー」か「プログラマ」かの問題については、特に意味は無いが前者を採用した。

補記3:

 言うまでも無いけど、ネタです。 

 また、COBOLとVB、C++ではまったくもって難易度が違うことも分かっています。後者になるほど圧倒的に難しい。

2013-05-06

キリンの泡

コンビニにふらっと出かけて、なんか炭酸系の飲みたいなーと思って手に取りました。

炭酸系で定番以外のものって大概地雷で、最終的におかしのまちおかとかで30円ぐらいで投げ売りされているタイプなんだけど、これは結構好き。

飲むとホップ香りがふわっとして、ほのかな甘味と超微炭酸。この手にありがちなうえってなる後味がなくすっきり。

発酵エキスやらが入っているのと、ホップ香りが入っているのとでお酒好きな人は好きかもしれない。

ただ、二日酔いの状態で飲むと香りでうっときて吐いてしまうかも。

こういうトリッキーなやつって3ヶ月ぐらいすると店先からなくなってしまうから、なんとか生き残って欲しいです。

2013-02-24

http://anond.hatelabo.jp/20130223144152

ぶっちゃけ言うとそれはない

x86で今の構成でも同じ事ができない道理はない

しろPS2とかPS3とか結構トリッキーなことをしてたか

性能が高くて使いづらかったが

一般PCと同じ構成をとってしまった現在、激的にPCを上回ることはできないよ。

2012-12-04

コートの2重襟の間にクリーニングタグが留められていた

トリッキーなことをするなあ。

丸2日気づかんかったわ。

2012-01-20

まりが0になる場合だけ、商を一つ減らし、あまりを26と考える理由

ちょっと古いエントリーだけれど。

http://d.hatena.ne.jp/JunichiIto/20111231/1325311566

0をA, 1をB, 2をC, ..., 25をZにすれば、そんなトリッキーなことしなくても良いと思う。

はっきり言っちゃうと、「問題作った人の答案がこんなんで良いの?」って思ってしまうんだ。

教えてエロい人。

2011-09-18

Going Going Home

ハマちゃんTKの15年くらい前の曲、モトカノが好きだったんだ。

カラオケ行くと勝手に選曲されて毎回一緒に歌ってたわ。

  

  

俺30モトカノ35。

6年付き合って、その内の3年間は一緒に暮らして、その内の2年間は俺が欝でヒモになってて。

付き合った当初、25にもなってもまともな社会人ではなかった俺をここまで導いてくれた。

付き合って2年後くらいに欝になった時に一緒に住んでくれて支えてくれた。

そんな彼女と1ヶ月前に別れてしまった。

別れてしまったんではなく俺からフってしまった、つらい。

もうあんな彼女とは一生付き合えないんじゃないか

俺のことを大切に思ってくれる女性はもう他にはうちの母やんと婆やんくらいしかいなんじゃないか

それも分かってたけどフってしまった、更に上を見てしまった、欲が出てしまった。

恋人として見てほしかった、結婚したいと一緒に思ってほしかった。

ヒモ時代に払ってくれたお金を返した時に、

もうお金は返してくれたんだからヒモ時代はなかったことにしよう、とか言ってほしくなかった。

近くにかわいそうな人がいたから助けたと言ったけどそれが嫌だった。

そんなに気にするな、ということを言いたかったんだと思うが、

俺にとっては「恩を受けたからその金額を返して終わり」じゃないんだ。

これでチャラになったとかそういうのじゃないんだ。

今度は一緒にお金貯めて住みやすいところに引っ越したかった。

俺はずっと今のままは嫌だった、次に行きたかった。

ステップアップかどうかはわからないけど、引越しなり結婚なり今までより大きな決断を一緒にしたかった。

いや、別に結婚引越しもしなくても良い、ただ、あなた人生に俺がいるんじゃなくあなたと俺の二人で一緒の人生を歩みたかったんだ。

それは確かにリスクかもしれないし、それの定量的意味価値はわからないんだけど、

あなたとだけは理屈抜きでそうしたかった、俺にとってあなたは唯一理屈抜きに一緒に考えたい相手だった。

  

  

更に言い訳する。

俺の欝は甘えだった、4年前の当時あなたはいつも甘えじゃなくこれは病気だと言っていたが、俺の欝は甘えだ。

診断書も出されて薬も飲んでたけどアレは欝じゃない、病気じゃなかったんだ。

確かに当時の職場ブラック企業だったかもしれん、でも全ては俺の甘い性格が招いたことだ。

そして、そんな俺をあなたが隣で叱咤激励してくれたから、俺はまともになれた。

あなたのおかげで何も考えずにダラダラと生きていては駄目だと分かったんだ。

あなたと別れずに一緒に無双したりHAGEX話で盛り上がったりしながらとりあえず付き合っていくことも出来たけど、

考えて考えてクリティカル決断をしていくことで俺はまともになれたんだから、今になってまた決断をせずにいることは出来ない。

俺にとってそれは昔への逆戻りなんだ、仕事はしてるし給料も月40近くまで増えて貯金もできたけど精神的にはまた元に戻ってしまう。

それが怖いんだ、すごく怖いんだ、元に戻るのがすごく怖いんだ。

もうあなたに迷惑かけたくなかったんだ。

  

  

別れてから一度夢に出てきたよ、あなたには彼氏が出来てた。

彼は真面目そうで誠実そうで朴訥としていて、俺とは違って全くトリッキーではなかった。

すごい悲しかったけどホッとした、幸せそうでホッとした。

35の女子を、とても世話になった女子をフッた罪悪感から逃れたかたから見た夢かもしれない。

でも、でも幸せになってほしい、あなたのことだからやっぱり彼氏はいらないと思ってるかもしれない。

とにかく、どんな形でも良いか幸せになってほしい。

  

  

たまたまGoing Going Homeを聞いて色々と思い出した。

この1ヶ月間、胸に溜めてたものを出したよ。

もう勝手に選曲されることも一緒に歌うこともないけど、、、

もうないけど、ないけど、ないんだけど、、、がんばるよ。

2010-08-15

http://anond.hatelabo.jp/20100815180817

いや、仕事の時にトリッキーな読みにくいコード書いていたら、そっちのほうをDisるがなwww仕事趣味じゃないって。

なにかというと、逆に、趣味で、増田に平凡なコード書いても仕方ないじゃん。増田に書くならトリッキーにだよ。

なんつーか、そこが、アレなんだけどね。仕事向けのコードってBlogとか増田向けじゃないから、結局、一般的には使わない変なコードばかりがWebでは目立つんだよね。アレだね。

2010-07-27

可読性が悪いにもほどがある・・・と思った1関数

http://blog.livedoor.jp/dankogai/archives/51490675.html

inline U64 powmod(U64 base, U64 power, U64 mod){

return base >= UINT_MAX ? powmod_gmp(base, power, mod)

: power >= UINT_MAX ? powmod_gmp(base, power, mod)

: mod >= UINT_MAX ? powmod_gmp(base, power, mod)

: powmod_64(base, power, mod);

}

3項演算子を連打とか・・・

if(base  >= UINT_MAX){
 return powmod_gmp(base, power, mod);
}else if(base  >= UINT_MAX){
 return powmod_gmp(base, power, mod);
}else if(mod   >= UINT_MAX ){
 return powmod_gmp(base, power, mod)
}else{
 return powmod_64(base, power, mod);
}

って事で、要するに

if(base < UINT_MAX && power <  UINT_MAX && mod < UINT_MAX){
 return powmod_64(base, power, mod);
} else {
 return powmod_gmp(base, power, mod)
}

って事じゃないのか?実際Cは左辺優先評価で1つ目がFALSEの場合2つめ以後は評価されない(してはいけない)でelseにジャンプ だからif演算の回数だけなら等価

まぁ、確かに、パイプラインを考えればthen節とelse節は等価ではないので、データによって真ん中の書き方のほうが下より早いとか遅いという差はでるけど・・・

 

なくても、真ん中か、下の書き方でいいよなぁ。

まかり間違って

if(base >= UINT_MAX || base  >=  UINT_MAX || mod >= UINT_MAX){ 
 return powmod_gmp(base, power, mod)
}else{
 return powmod_64(base, power, mod);
}

と書いても、おそらく、コンパイラ先生がただしく最適化してくれればおなじになるだろう。正しく最適化しないと、コレは遅い可能性もあるが、そんなことはまず無いだろう。

 

いや?演算子が悪いとは言わないけど、チーム組んで初級の若いプログラマがこういうコードを読めるとは思わないし、読む必要があるとも思わないんだが・・・

ジェネリックに、みんなに分かりやすく。

トリッキーに書くのもいいけど、それは、速度かメモリかで恩恵が受けられる場合で、メリットがないなら、初心者でも読みやすく、メンテしやすくする。って間違ってるのかなぁ?

?連打の方が世の中読みやすいのか?

 

どうでもいいけど・・・UINT_MAX って、最大値+1じゃなくて、最大値だよなぁ・・・。確か>=の=の有り無し逆じゃね?

もっと、どうでもいいけど、mmレジスタとxmmレジスタmod演算ってクロック数違うんだっけ?だれか、教えて。ifでパイプライン崩すのとどっちがいいんだろう。

2010-06-19

初心者フェンサーに捧ぐ,高校2.5年間で培った俺のフェンシングのコツ

某県の某高校で,何年か前にフェンシング部に所属していた俺が,高校生活2.5年をかけて会得した技術を書いてみる。

というのも,あれからフェンシングに関わることなく過ごしてきたせいで,せっかく汗水流して会得した知識が,どんどん頭から消え去ってしまっているので,ひとまずここにまとめてみる。といっても別に大した成績もろくに残しちゃいないんだがね…。初心者とか現役フェンサーで初心者に毛の生えた程度の高校生が,ちょっと暇つぶしにでも読んでくれて,なおかつ参考にでもしてくれれば本望です。ちなみに,ルール改正前だから,振り込みとか,ばんばん使ってました。あと,用語は適当に使っていたので,細かいところは勘弁してくれ。ここではフルーレを主に解説して,オマケ程度にサーブルについても書いた。

フルーレ

ファントは2種類用意する

短い(速い)ファントと,長い(遅い),伸びのあるファントね。前者は相手の反撃が期待される時,もしくはコントアタックを予期した時など,わざと隙の小さいアタックをして相手の反撃を誘い,それから攻撃権を得て攻撃できるメリットがある。具体的にはピスト端に追い詰めての最初からコントルリポスト狙いのアタックなど。手数を用意した攻撃もこれの組み合わせがいいだろう。長いファントは隙が多すぎるので,あまり使わない方がいい。疲れるし。長いファントは,その伸びがメリットだが,初心者はただ遅くなりがちなことが多いからだ。闇雲に打つと疲労の原因になって自爆しちゃうから,相手より早く動けないうちは,相手を追い詰めて短いファントで仕留めよう。ただ,スピードが加算されてきたらこのファントは一発で仕留めるのに有効になる。振り込みと組み合わせてもいいし,ただ突くのもいい。オススメオクターブ。これはガチで,カルトなんぞいくなら最初からオクターブ狙いでいった方がいい。フェンシングは相手の意表をつけ,というのが俺の師匠の言った言葉。まあ問題はその攻撃範囲にたどり着くまでなんだが…。

何が言いたいかというと,初心者は短いファントを主軸にしつつ,長いスパンスピードのある長いファントをものにして,最後には使い分けようということ。

パラードは払うでなく,「叩く」

パラードはいつからか完全に払ってから攻撃するという習慣が身についてはいないだろうか?思い出して欲しい,攻撃権を得るためには,審判にわかるように相手の剣を払う動作(バッテ)をすればいいということを。相手の剣を音がするくらいの小さい力でちんと叩くだけでいいのだ。そのほうが隙も小さいし,動作も素早い。大きな振りがフェンシングでは致命的なのはお分かりと思う。あとパラードは攻撃が来てから,では遅いと思う。攻撃が来そうな時を把握して,来た瞬間に叩く位が調度いい。懐近くまで剣先が来てからでは遅いのだ。これからは来てから払うでなく,相手の攻撃に先行して攻撃権を取るように防御をして欲しい。ちなみにこの最小のパラードは時に振り込みの餌食となることがあるが,大きなパラードで防ぐのも,相手に付け入らせる隙を与えるようなものだ。これは後に書くコントルパラードで対処をするなどした方がいい。パラードで隙を作るな,である。

コントルパラードを通常防御に使う

大多数の人が使うデフォルトのパラードはカルトパラードだと思う。したがってカルトパラードに対するフェイクと,そこからのアタックがまず最初に練習されると思う。つまりいかにデフォルトとしてのカルトパラードを崩すか,に焦点がおかれることが多い。つまり,デフォルトのパラードをちょっと変えてやるだけで,相手のいつもの技が通じない,という状態にでき,大きなアドバンテージを得ることができる。そこでおすすめするのがコントルパラードである。時計回りに回すアレである。あってたかな?まあとにかく,コントルパラードで全て引っ掛ける,単純ながら大きな効果のある防御をしよう。円の大きさは意外と大きくても隙が小さいので,オクターブに来たアタックでさえ引っ掛けることができる。しかもそれが攻撃権取得に有効であるから,万能である。見た目はカチャカチャ汚くなるが,キレイな防御をしろなどというルールはどこにもない。海外選手を見てみればいい。

誰よりも早く逃げる

ここで話しているいくつかのテクニックは,相手と同等か,もしくはより早く動けることを前提としている。つまり相手のアタックを見極めて叩いたり,逃げながらコントアタックができたりするのは少なくともその瞬間は相手より早く動けることが必要なのだ。相手の突進を受けるにも,スピードを変えながらフェイクをするにはこちらには余裕がなければできないことだ。だから,よく足を鍛えることをおすすめする。

コントアタックを得意技にする

コントアタックは「逃げ」の行動として時にタブー的な指導を受けることがある。確かにフェンシングでは攻めの姿勢重要視されることが多い。しかし,相手の意表をつく,という俺の勧める戦法で言えばコントアタックは実に有効な攻撃の手段だ。それにコントアタックが得意であれば,相手の攻撃の抑止力ともなりうる。コントアタックはいくつか種類があるが,どれもコンスタントに使えるのがいい。まあそのシチュエーションに適したのがあるだろうが,同じ技は次は効かない,という心構えで繰り出そう。個人的におすすめなのは,相手が突進バカみたいなやつ(剣先を大きく外すなど,胴体ガラ空き君)に対して,突いてからすぐに引くやりかたである。名称は悪いけれどしらない。初心者だと,こういう追い詰め型に苦戦することがあると思うが,このコントルさえマスターしていれば怖くはない。特に日本ではコントアタックタブーな風潮から,相手の意表をうまくつく有効な技として活躍すると思う。概して初心者フェンシングでは変な攻撃パターンに苦戦しがちであるが,それぞれの攻撃法に対する,攻略法を学ぶことも大切である。柔軟な戦法も大事だが,こういう奴にはこの型のコントル,こういうヤツにはひたすら攻める,などお決まりの対処をするのも,下らない戦法に苦戦してぐずぐずするよりは何倍もいい。

フェイントアタックは「上→下」がやりやすい

つまり,カルトフェイントからオクターブ,シクストフェイント(振り込み)からセプティムへなど,上半身へのフェイントから下半身に深く突き込む戦術で,相手の意表をつくという点で有効である。下を突くのは必ずしも長いファントである必要はなく,フェイントをうまく使えば短いファントで十分に脇腹を突ける。ただ,攻撃後はすぐ戻るか,そのままもつれ込む形にするなど,失敗した時の対処も考えておくのがいい。ちなみにこのフェイントの回数は1回にとどめておくのが言いだろう。2回なんて器用なことできやしない。

ただで逃げない

先程解説した,相手の突進に対処するやり方である。あいてのプレパラーションにびびってただ下がれば,当然ピストの端に追い詰められ,仕留められるのがおちだ。なので,下がるときにも相手の剣をバッテする,ボディフェイントで相手をビビらせる,コントアタック(突き逃げ・ダッキングなど織りまぜて)をするなど,単純に逃げるのはお勧めできない。そこに戦術戦略があれば別であるが,下がって下がってリポスト,というのはあまりにも攻撃権がないターンで無力すぎる。ただ,相手のファントの伸びやスピードがある場合,相手の攻撃範囲に入らないように注意すべきだ。あえて入り,攻撃を誘うにしても,こちらの動きが相手より速い必要がある。下がってリポストなりしなきゃならないからね。だから,さきほど言ったように相手よりスピードの面で上回っている事が重要なのだ。

縦→横OR横→縦のアタック

これは攻撃の戦術で,プレパラーションフェイントの動きと,二番目のアタックの動きを変えることである。縦というのは,剣先を大きく動かすプレパラーションや,クーペフェイントのことであり,横はというのは剣先をくるくるとしたり,小さな動きのプレパラーションや,デガジェのフェイントのことである。この,異なる動きの組み合わせが相手の意表をつき,うまくアタックが決まることが多い。大きく動いてあまり見えなかった剣が急に小さなフェイントを繰り出す,もしくは頻繁な小さなフェイントをしていた剣先が急に姿を消す,というのはされる側にとっては嫌なものだ。この原則を覚えて,実践で試してみて欲しい。

2回下がって3回目でアタック

単純な技。ステップを使いながら攻め,ピスト端近くに追いつめたところで,相手に攻撃をするぞ!と二歩迫る仕草をして一歩下がるのを2回繰り返す。相手は2回目くらいでこないのか…?と思うので,3回目で攻撃をする。コツは2回のフェイントでは力を入れていかにも攻撃をする姿勢をつくり,3回目は急にスピードを落とすなりして,あきらかに戦意をなくしたフリをしつつ迫ることだ。そうすると3回目に相手は誘われて単純にアタックをすることがあり,そこに合わて突いてやるだけでいい。なぜなら攻撃権がこちら側にあるからである。

ファント→ルミーズ→フレッシュ

これも一つの技的なもの。ピストの端に追い詰める前にファントをうつ。あーあ届かなかった…的な感じでルミーズしつつ,そのままの姿勢フレッシュに持っていくと相手の意表を突ける。

気持ちで負けない

気持ちで勝った方が試合にも勝つ。お願いします!と声を出し,相手の目を真っ直ぐに見る。

もち手はドイツのアレ

個人的にはビスコンチがオススメ。振り込みしやすいし,手首が自由に動く分接近戦で有利。

形を崩す

プレパラーションや,普段の姿勢は常に動くようにする。剣道より動きに幅のある分,相手に動きを読まれないように心がけたい。コツはステップをふみつつ剣先も揺らしておくこと。攻撃に入る瞬間をフェイントでごまかすようにするとよい。

トリッキーに振舞う

これまでちょこちょこ解説してきた意表をつくこと。つまりトリッキーな動きや戦略を積極的に用いよう。フェンシングはリポストやファントを100回練習したところで試合に勝ち進めるとは限らない。それよりもルールを熟知し,技を考え出し,トリッキーに振舞う,頭を使う方が有効なことが多い。特に高校生から始めたフェンサーは技術的に経験者より劣るところが大きいので,人がやらないようなことを積極的にとりいれつつ,相手と同じ土俵で戦わない戦法をするのがいいと思う。ファントの速いやつにファントで挑んでも負けるのがオチなのは明白だよね。あと相手にあわせて戦法を変えるのも重要リーチの長い相手に遠くからちょこちょこやってもうまくいかないだろう。特に背の高い相手に対しては剣先をいつもより高めにして上をカバーし,ステップを多めに使って懐に飛び込むのが有効だったと思う。

試合経験を積む

いくら形の練習をしたりルール勉強をしたところで,実際に試合で勝たなければ意味がない。古来の剣術においても,試合で使われる複雑な技よりも,単純で気迫のある攻撃のほうが意外と有効であったりしたらしい。技に溺れず,本当に役に立つ技を磨き,試合で十分に扱えるようにならなければ意味がない。あと本番では練習の8割とかそれくらいの実力しか出せないなどと言われるが,そのギャップを埋めるためにも練習試合はどんどんやるべきである。試合でしか分からないこともあるだろうし,試合の中で編み出される技術というものもある。試合においては練習でしたこと以上の挑戦は控えるべきという人もいるが,本番試合は最も経験値を稼げるいい機会だ。余裕があるなら色々試してみるのもいいだろう。

サーブル

突く

サーブルはやったけど,特に活躍できなかったので一つだけ。サーブルは「切れる」競技だけど,実際突く方が早いので,手首とか顔面を突くのが相手の意表をついて良いだろう。

2010-01-28

再利用しやすいコード

書こうね、って言ってたのはどこのどいつだよ…

1: 全然コード規約に従ってない -- ok 100歩譲って、規約口約束だからまぁそこまで気にするな、ということを認めても、だ。script/***/foo.js は .apply を使うスタイルじゃなかったの…?

2: open/close principle に全然沿ってない。これ、どうやって拡張するの?押し付けてきたこのコードだと、僕の問題は全然解決できないんですが…

ライブラリと呼ぶからには、

a) めんどくさいことは全部透過的に解決

b) インターフェイスは極力簡単に

c) トリッキーなことはオプションで触れるように

するだろ普通。このスタイルだと、めんどくさいことは全部個別にラッパーを書いて解決しなきゃだめじゃん…

2009-06-18

http://anond.hatelabo.jp/20071103150024

意味がわからんね。

誰もトリッキーコードコードゴルフが絶対悪い滅すべきなんて言ってないし、

「遊び」や「芸」としてはそれなりにやられてるのを知らないのか。

そういうので競うためのサイトがあったり、

LLのイベントで公式にコードゴルフの解説がされたり、

わざと難解に書いたコードネタプレゼンやって賞賛されてたりするのに。

本当にそういう価値観に憧れてるんならそのくらい調べてきなよ。

てか、「可読性が高いコード」が賞賛されるのは「成果物としての」コードに関しての話だろ。

プログラムを書くこと」ではなくて「プログラムを書いて何かを作り出すこと」を目的とした場合の価値基準だろ。

それに異を唱えたら「アホか現場の苦労を知れ」って言われるのは当然で、

それに対して「現場のことなんか一切興味がない」って返しは筋違いだろ。

あとね、「可読性の高いコード」を「愚直」とか言うのって、

「写実的な絵画など面白くもなんともない、ピカソを見ろ!あれこそが芸術だ!」って言ってるような感じがする。

ピカソ絵すげー上手いし写実的な絵も書けてこそのあの絵なんだけどなぁ、それで芸術語っちゃうんだ、みたいな。

最後に言っておくけど「トリッキーコード」と「スパゲティコード」は別物な。

「何故君たちは街中にゴミを撒くのを止めてしまったんだ!ゴミに復権を!」

「なにをふざけたことを言ってるんだ。誰が掃除してると思ってんだよ。」

「いや、僕が言ってるのは街を美しく飾る、利用価値のある、素敵なゴミの話であってですね…」

「それはゴミじゃねーだろ。」

みたいな話に見えた。スパゲティーはスパゲティーなんだよ、ただのゴミ

2009-04-20

最近はてなハイクの一幕

などとタイトルをつけてはいますが、どんなことが起こっているのかを説明するつもりはさらさらありません。あしからず。以下のお題に投稿するには余りに長くなったので、勝手ですがこちらを借りました。

漢字はいらない!でひとこと - はてなハイク

http://h.hatena.ne.jp/keyword/%E6%BC%A2%E5%AD%97%E3%81%AF%E3%81%84%E3%82%89%E3%81%AA%E3%81%84%EF%BC%81

上のようなお題がハイク内で立てられ、ちょっと盛り上がったので、以下、全力で釣られてみます。

漢字使用によるデメリット

既にいくつか指摘のあるとおり、表意文字としての漢字日本語から引き算して表音文字としてのひらがな/カタカナへ統一することは、朝鮮半島でのハングル使用が少なくない同音異義語を産出し混乱を招いている現況と同様の事態を引き起こすだろうマイナスの側面がある。

弱者とは誰のことなのか

漢字使用によって抑圧される弱者として日本語母語としない外国人を想定するのなら、その弱者の補助ツールとして各種翻訳サービスを挙げることができようが、ひらがな/カタカナのみで表記された文章の翻訳は、日本語において多量に存在する、しかし漢字による表記で区別可能な同音異義語を、前後の文脈から判断して行わなければならなくなる事態を引き起こす。現在の提供されている無償の翻訳サービスですらまともなものではないのに、余計に使えないものになるだろう。

弱者として視覚障害者を想定するのであれば、視覚障害者と晴眼者の差異、視覚障害者能力が障害と見做される由縁は、「読む」ことと「聞く」ことにおける「読む」ことの利便性に他ならない。ここで、書記言語から口語言語の優位性を説くのであれば、文字を拒否するという極端な姿勢もあり得ようが、一方では、漢字使用をやめたところで、「読む」ことと「聞く」ことの差異が縮まるというものではないことも容易にわかる。漢字の不使用に「わかちがき」の使用を追加したところで事態は変わらない。ところで、書記言語から口語言語の優位性が説かれるときに、今度は聴覚障害者や構音障害者が抑圧されているかのようにみえるのは、一体どういうことだろうか。

あるいは、単に漢字の読みがわからない、また付随して意味がわからない者を弱者として想定するならば、キッズgooなどの検索先ページへの仮名振り機能は強力なツールとして既に存在しているし、オンライン辞書ツールなどの使用による「学習啓蒙」がなされて穏当、かつ然るべきではないか。

また、補助ツールを用いずに弱者への配慮をhtml/xml記述されたページ内で完結させることを考えるならば(大体、html/xml記述されたページがメディア媒介なのだが)、例えばhtml/xmlruby関連タグを備えているが、投稿においてタグ使用できないはてなハイク仕様が抑圧的だという見方もあり得よう。しかしながら、これは視点を変えれば、タグ使用することができない弱者への配慮でもあることは付記しておくべきだろう。

それどころか、ruby関連タグxml1.1でようやく認められるに至ったのであり、この点でいえば現状のhtml/xmlが抑圧的であるという判断すらあり得よう。引き算の態度を貫徹するのであれば、漢字を拒否する前に、はてなハイクでの、いや、ネット上の書き込みを拒否する態度というのも、ひとつ考えられよう。あるいは、html/xmlにおける扱いについて問題の多い日本語使用をやめて、問題の少ないラテン系言語使用に踏み切るという態度もあり得よう。

弱者とまた別の弱者

話は変わるが、歩道に敷かれている視覚障害者用の点字ブロックがいかに妥協の産物であるか、病院等の公共施設採用されるユニバーサルデザインがいかに試行錯誤の、過渡の形象であるか、ということに目をやるのが良い。そこに横たわる根幹的問題のひとつは、弱者とまた別の弱者の利害不一致である。漢字の排除が同音異義語の混乱を招くという形式は、弱者とまた別の弱者の差異を捨象するという形式と相同的なのである。これは、弱者とまた別の弱者の双方に潜在する、共通する性質を汲み取り問題解決へ向かわんとする繊細な作業――それは、不十分とは言え、点字ブロックユニバーサルデザインを産み出す過程で行われている作業である――とは全く相反した暴力的行為に他ならない。ユニバーサルデザインが足し算の思考であるとは、確かに足し算の部分も引き算の部分もあるだろう。しかし、足し算と引き算しかできない小学一年生であれば、最小公倍数と最大公約数の思考の部分についてわからないのも無理はない。

見え隠れする幼稚なユートピア幻想

さらに、より根本的には、スピヴァク古典サバルタンは語ることができるか』で指摘したのは、サティー寡婦殉死)の実行者を被抑圧者としてカテゴライズすることだったが、スピヴァクはそれを決して否定したり退けたりなどしていない。外部の視点を持ちこんで、ある彼/彼女を被抑圧者として規定すること、これこそが抑圧以外の何物でもないが、しかしこの規定によって被抑圧者を被抑圧者と認識し、被抑圧者たる彼/彼女に語りかけることが、彼/彼女の身になって考えることができる。抑圧なしのユートピアなど幻想である。抑圧なしのユートピアがお好みならば、まずもって「私」という拭い切れない自己同一性を捨て去ってみればよい。想像はできる。「お前」と同定されることのない、「私」を「私」と呼ぶことのできない、抑圧なしのユートピアがそこに拡がっているだろう。まさに、「サバルタンは語ることができない」。かつてフーコーが打ち出した『魂は身体の牢獄である』という、一見したところトリッキーテーゼに込められていたかもしれない苛立たしさには、同意するに吝かではない。この種の原初的抑圧の暴力性には敏感であるべきだし、しかし、しばし躊躇いながらも、この暴力から笑いを産み出す昇華の方法を探るべきなのである。この昇華幻想ではない。理不尽に突き付けられた、尽きることのない、終わりのない、仕事だからだ。

終わりに

僕が何を言いたいのかというと、お題ができたら全力で釣られて、あーでもないこーでもないと盛り上がり、次第に飽きては、パロディ化して派生した別のお題で盛り上がり――そんな楽しいところがはてなハイクです。

――落ち込むこともあるけれど、私は元気です――

2009-01-02

[]はてな大学社会科学部学科)

まだ志望校が決まっていない受験生にすごい情報をやる。

妄言学部よそ行きキャンパス

はてなブックマーク - ブックマークで妄想をよそ行きに。

id:chnpk教授

偏差値 59

科目 社会学政治学経済学

資本主義について勉強できる。

政策関連も少々勉強する。

学生は、ファーストネームがチュンプク○○になる。 

非コミュ学部非モテキャンパス

E.L.H. Electric Lover Hinagiku

id:y_arim教授

偏差値 63

科目 コミュニケーションデザイン政治学

東大卒はてなを代表するカリスマ教授

人が傷つく事とはどういうことなのかを学ばされる。

毎週、非コミュ非モテを救う方法をレポート10枚分提出しなければならない。

猫にゃん学部地下室キャンパス

地下生活者の手遊び

id:tikani_nemuru_M教授

偏差値 75 

科目 政治学歴史学社会学

語尾が「にゃー」で統一された教科書を使って勉強する。

近代思想は必修科目で、これを受けていないと講義の内容がわからない。

犬派は基本的に入学できない。

入試面接試験一本勝負で、猫の魅力について40分間喋り続けなければならない。

歴史学部過ぎ去ったキャンパス

過ぎ去ろうとしない過去

id:hokusyu教授

偏差値 77

科目 歴史学政治学哲学

歴史修正主義賛否両論」という有名なゼミがある。

はてなを代表する歴史学偉人

歴史学卒論は必修。

歴史学の文献が難読で厳しいキャンパスライフになるが

人生を通じて役に立つ知識を持つことができる。

毒舌学部消毒キャンパス

消毒しましょ!

id:AntiSeptic教授

偏差値 44

科目 政治学経済学英文学

4年間を通じて毒舌に耐える忍耐力を鍛えることができる。

他人を罵るためのコミュ力も高まる。

そして、表面的な罵倒用語に惑わされずに本質を見抜く眼を養うことができる。

卒業すると、「消毒液処理」という免許がもらえる。

狐学部フォックスキャンパス

狐の王国

id:KoshianX教授

偏差値 54

科目 プログラミング犯罪学、教育学

犯罪に対して若干センセーショナルな面もあるが、

制度や技術について、人に流されない姿勢を持ち続けることの

重要さを勉強することができる。

メディア学部魔道図書キャンパス

はっはっは

id:magician-of-posthuman教授

偏差値 73

科目 社会学文化人類学メディア論

ポスト○○」や「魔術」等のキーフレーズ釣りを書くこともあるが

基本的にその学術レベルトップクラス

ただし、分厚い長文の教科書は持ち歩くことができないくらい重たいので、

教室用と自宅用とで二つ以上は購入しておく必要がある。

怠けたはてブコメントを書くと退学処分になる。眉毛が太いと合格率が上がる。

雑草学部草原キャンパス

雑種路線でいこう

id:mkusunok教授

偏差値 75

科目 政治学経済学、制度

政治財政について、

コンスタントに安定した思考能力を養える。

はてなー学部越後キャンパス

ekken?

id:ekken教授

偏差値 63

科目 コミュニケーションメディアウェブ社会学

1学年は「無断リンク未来」が必修科目となる。

2学年に進級すると、「oredoco」という科目が必修になる。

3学年になると、「はてブの魅力」という科目が必修になる。

そのほか、はてブブログの使い方を勉強できる。

誰も思いつかない奇をてらったマッチョ論や、

逆転の発想など、トリッキーな発案ができるようになる。

応用すれば、どんなところでも役立つtips

アルファ学部アーティファクトキャンパス

ARTIFACT@ハテナ系

id:kanose教授

偏差値 64

科目 コミュニケーション戦争論、オタク文化

1年まではオタク文化論の基礎を学ぶ。

2年になると、揉め事の分析が主流になる。

3年になると、「アルファブロガー品格」が必修科目になる。

どちらもウェブについての重要考察になるので

ぜひとも受講しておきたい。

メンタル学部ヘルスキャンパス

xevraの日記

id:xevra教授

偏差値 34

科目 精神分析学、心理学コミュニケーション

全ての問題をメンヘラの問題として対処する実技を学ぶ。

ただし、メンヘラの問題としてしか対処できなくなるので、

その手の分野に就職する予定の学生を受け入れている。

インスパイア元→2009年に起こりそうなスーパーはてな対戦

2008-12-30

http://anond.hatelabo.jp/20081230163552

そ〓、だから、スキルの断絶を埋めれる様な規約は無理なんじゃないかね?と

再帰や多重継承を禁止の規約とか、トリッキーコード量産して欲しいんですか?って感じだし

それぞれ使うべきところがある

使うべきところで使うべきアルゴリズムコードを書くことを禁止する規約は守ったとしても

あんまり意味のある結果にならないと思う

で、高スキルな人のコードで読みにくいのは、使うべきじゃないところでも

無駄に面倒くさい書き方してる点が問題だとおもう

で、これをパラノイア的な書き方と書いたつもり

2008-04-17

でもすっごく合理的なコード見て

トリッキーだとか分かるわけねえとか言ってた奴もいるからな。。。

http://anond.hatelabo.jp/20080417132240

トリッキーソースコードコンテストとかあるよな。ああいうのは芸術じゃないかな。

仕事ソースは別に芸術的な方向にこらなくていいから普通に書いてくれ、ということなんじゃないか?

2007-11-10

関数プログラミングにおけるFizzBuzz問題

いくつか考えてみた

(問1)高階関数再帰関数を必ず使って数値を要素とするリストの要素の総和を求める関数を書け。ただし高階関数を使うという要件と再帰関数を使うという要件は同じ関数で満たしてもよい。

(問2)二つの引数をとり二つのうち大きいほうを返す関数高階関数再帰関数をつかって数値のリストの最大値を求める関数を書け。ただし高階関数を使うという要件と再帰関数を使うという要件は同じ関数で満たしてもよい。

というのは簡単すぎるか?簡単すぎるなら

(問3)高階関数再帰関数を必ず使ってある数値に5を足し、10かけて2で割った数を求める関数を書け。ただし高階関数を使うという要件と再帰関数を使うという要件は同じ関数で満たしてもよい。

こっちの方がいいかな。でもトリッキーすぎる気もする。

一応問題を出したので、SchemePythonで自分で想定している答えを書いておいた。はてなではSchemeが人気のようなので、あまり知らなかったけど関数言語ではSchemeで書いておいた。Pythonで書くのはSchemeだけだとわかりにくいので、なにかスクリプト言語で書いておこうと思ったから。Rubyの方が人気なので、はじめはRubyで書こうと思ったけど挫折した。だれかRubyで書いてくれないかな・・・。コードオブジェクトってなによ。というか関数オブジェクトなのに引数にできないの?なんで?(以下疑問と愚痴の嵐なので略)Perlは古株が多くてユーザー数も多そうだけど、・・・その・・・無理です・・・。あの言語仕様はやる気がしない。ぶっちゃけ理解できない。Pythonを知らないひとは多そうだけど、知らなくてもSchemeよりは感じは掴めると思うのでPythonでも書いておくことにした。

Scheme

http://anond.hatelabo.jp/20071110215936

Python

http://anond.hatelabo.jp/20071110220132

これで大部分のひとがこの問題に興味をもたなくて解答するひとがいなくても、興味を持ったひとは安心だね!

追記:

問3で次のは無しとしておきたい。

Scheme

(define continuous-apply
    (lambda (lst obj)
        (cond
            ((null? lst)
                obj)
            (else
                (continuous-apply (cdr lst) ((car lst) obj))))))

(define plus5
    (lambda (num)
        (+ num 5)))

(define times10
    (lambda (num)
        (* num 10)))

(define divide2
    (lambda (num)
        (/ num 2)))

(define plus5-times10-divide2
    (lambda (num)
        (continuous-apply (list plus5 times10 divide2) num)))

(plus5-times10-divide2 2)

Python

def continuousApply(lst, obj):
    if lst:
        return continuousApply(lst[1:], lst[0](obj))
    else:
        return obj

def plus5(num):
    return num + 5

def times10(num):
    return num * 10

def divide2(num):
    return num / 2

def plus5_times10_divide2(num):
    return continuousApply([plus5, times10, divide2], 2)

plus5_times10_divide2(2)

2007-11-03

http://anond.hatelabo.jp/20071103150024

スパゲッティはうまかろうがまずかろうがスパゲッティなんだ。本来トリッキーコードこそ環境や状況が生み出した「やむなし」とされるべきものなんだよ。平易な表現に置き換えられるものを無意味にややこしくして楽しんでるのは"奥が深い症候群"の連中じゃないか?

プログラミングの楽しさはまず書いたものが動くことだろう。

スパゲッティに美しさはない。

読みやすさを追求して設計されたコードを読んで感動したことがないのならば残念なことだ。

http://anond.hatelabo.jp/20071103133112

難解だが愉快スパゲッティコード

こないだこんなのがあったんだぜ?

というような話題話しにはできても、愉快だったためしは一度もない。

助けてくれ!というどう考えても死亡フラグヘルプに駆けつけたことがある。

メーカー子会社だ。コードスタイルを見るに多分以前はコボルとかをやっていた連中だと思う。

コードを見てこれほど唖然としたことはない。

言語は…なんだったかな…時代的にaspだったような気がする。

コードを見て泣いた。functionのひとつもありはしない。

一晩の徹夜の後、3000行あったコードは300行になっていた。

難読すぎてスパゲッティーを解いた結果がこれだ。

何か機能を盛り込み忘れたのではないのかと目をゴシゴシした。

10人ぐらいをつっこんで数十の主要なコードを直した。

目をごしごしして2日間の貫徹だ。

成果物はなぜかボリュームが減っていた。

普段だったら絶対に許されない修正方法だが、

緊急に緊急を要したためコードを見てからの説得はかなり強引だった。

ただのスパゲティは修正するのがムリだと判断したからだ。

このプロジェクトを進行した連中無駄努力をただ恨みながら。

それ依頼、コードレビューを煩くするようになった。

自分のところのメンバーであんなコードを生み出されちゃ適わない。

他の協力会社にもずいぶん口うるさくいうようになった。

バグ出しで工数かけるまえにコードレビューだ。

君が苦労して実装しているところは既に**が**で実装している。

こういうだけで相当数工数が稼げた。

テクニカルな一行は分解されただの部品になった。

部品にしておけばみんながそれを利用できるからだ。

1人で組み上げるならいくらトリッキーでも構わない。

2人以上でやるならルールを作れ。

話しはそれからだ。

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