「関数」を含む日記 RSS

はてなキーワード: 関数とは

2017-03-27

http://anond.hatelabo.jp/20170327161234

オブジェクト指向言語であることとstaticおじさんが発生しうる余地についてはほとんど関係がないと思うが。

どんな言語でもstaticおじさんは出現しうるし、逆にどんな言語でもオブジェクト言語ナイズドすることは可能やし。

つうか今時「オブジェクト指向言語」みたいなくくりの言語存在せえへんぞ。

RubyだってJavaだってPHPだって関数型っぽく書くことが可能やで。

staticおじさんじゃなくて関数型おじさんとして売り出してればこんなに馬鹿にされなかったんではないか

え、jQueryってプログラミングなの?

コーディングだろ。あれ要素を表示をするか、しないかみたいなCSSレベルのことばっかりだろ。やることって言っても。

じゃあExcelのIF関数を使うのはプログラミングなのかって話。

2017-03-20

http://anond.hatelabo.jp/20170319092732

これ、アニメとかスマホゲームの分野でも特にひどいね

 

おそらく、要因のひとつは娯楽の低年齢化。

単純に精神年齢がひくくなるからビジネス視点評論してみせるのがカッコイイ、

みたいな子どもじみた発想が幅をきかせやすくなる。

 

もう一つの要因は、ネットによる感動の共有が強くなったことが影響しているんだと思う。

ビッグタイトルはそれで指数関数的に、「良さ」が膨れ上がる。

多様化たからこそ、逆に「みんなが観てる・プレイしてる」ことに価値を感じるんだよね、今はみんな。

これは少し昔からネットゲーム世界でも起きていたこと。

テンプレ量産型ネトゲ粗製乱造されるようになって、ネットゲーム愛好者たちは、

少しでも大型のゲームに次から次へと飛びついて、ベータ期間が終わったあたりで

祭りは終わった」と言って去っていく。賑やかな時期が一番盛り上がる。

逆に、正式サービス後のゆるやかに衰退していく状況、過疎をひどく忌み嫌って、

一処に住み着いてやり込んでいく楽しさを享受しない。

結局、そういう「盛り上がり」の指標が、ネトゲでは過疎であり、

映像書籍のような売上が見えるコンテンツでは売上である、という話だと思う。

2017-03-17

なかったらつくるメソッド

あるかないか確認して無ければ新しく作成してその値を返す関数名前って

どう名付ければいいのかな

andで繋げるのはやっぱりダサいかな

http://anond.hatelabo.jp/20170317202149

1番目の質問への応答のなかの「概念適合の解釈には恣意性があるが概念自体恣意性は無い」について。

(1a) 俺の主張は、「概念恣意性があるからだめ」ではなく、「概念をどう解釈するかに恣意性があると意味論として完結できなくて困りそう」であって、べつに「概念がまずいのでは」とは言っていない。なので、増田の応答がどう質問への答えになっているのかがよくわからない。

(1a') ところでこれは本題ではないのだけど、「概念恣意性がある」という状況が理解できない。恣意性ってふつうヒトの行為に対してあたえられる評価軸だと思う(まあ本題ではないので適宜スルーしてほしい)。

1番目の質問への応答のなかの「概念定義づけについては集合の内側外側辺、また内側外側辺における動きという風に説明されている」について。

(1b) 「集合の内側外側辺、また内側外側辺における動き」という増田言語意味論を与える行為と、いわゆる日本語意味論を与える行為、どっちのほうが簡単かっていうと、少なくとも俺は増田じゃないからどっちも同じくらい難しいように見える(他方でここが鮮やかに説明できるとかっこいいことは間違いないけども)。俺にとってはこの説明は(少なくとも現状では)自然言語と同じくらい謎めいている。

2番目の質問への応答について。

(2) まず、増田がもしかしたら俺が言ってることを誤解してるかも、と思ったので(そう思った理由は(2')に書く)「桃」と「も」の例をもうちょっと具体的に書いてみる。日本語の音に概念を割り当てる関数をSと書くことにする。まず、言語としての「桃」および「も」がある。これらを母音と子音に分解することで、「m o m o」と「m o」を得る。これらの音に概念を割り振ることで、「S(m) S(o) S(m) S(o)」と「S(m) S(o)」を得る。両者は(数学的な意味で)集合としては一致している:{S(m), S(o), S(m), S(o)} = {S(m), S(o)}。集合として一致しているから、S(m)とS(o)がどのような概念であろうと、またこの集合に対してどのような解釈を行おうと、{S(m), S(o), S(m), S(o)}と{S(m), S(o)}を区別することはできない;どっちも{S(m), S(o)}だから。だから言語としての「桃」と「も」の意味の違いは増田意味論においては潰れるのでは、と思ったってことね。まあ、順番の情報を保てばいいのでは、という話ではある。つまり集合ではなくsequenceとして(S(m), S(o), S(m), S(o))を考えれば少なくとも「桃」と「も」の区別は保てる。けどまあこの場合でも同音異義語問題は苦しいんじゃないかな、と思ったという話でした。

(2') (2)に対して「んなことわかった上でリンク貼ってんだよ、ちゃんと読め」と思ったらごめん。でもリンク先は概念側、つまり関数Sの「行き先」側の説明であるように読めて、他方で俺の質問はSの行き先がどのようなものであろうと特に変わらなくて、ってことは俺の質問がきちんと伝わってなかったのかな、と思ったので。どっか俺が誤解してたら教えてほしい。

(2'') (2)を読んでもらえればわかる通り、俺は「(概念としての)桃は言語から生成される」という仮定を取っていない。そうではなくて、自然言語として使われている、「桃」という言葉をとってきただけのこと(こっちも本題ではないけど一応…)。

2017-03-16

Reactは馬鹿には理解できないからなー

ごめんごめん、言いすぎだ

Reactは関数をちゃんと使えないと難しいからなー

Cの時も居たでしょ

ポインタがわからない」って人

あれは理解するもんじゃないよ

新しい概念を覚えるようなものだよ

から理解するとかではなく、使えるようになるもの

九九を覚えるのと同じ

それと同じ様に関数プログラムも使えるようになるだけだよ

手続き型で考えたのを翻訳して関数型にするんじゃないよ

最初から最後まで関数型で考えて使えるようにするもの

日本語で考える→英語に訳す→英文を書く

じゃなくて

英語で考える→英文を書く

そんな感じ

2017-03-09

http://anond.hatelabo.jp/20170309042831

この話は、途中で「危ない」の意味がすり替わっているので混乱してるんじゃないかな?

1. クロスドメイン制約で他ドメインサーバリクエスト投げられません ← わかる

これが許可された場合攻撃危険性にさらされるのは「リクエストを受ける側」のサーバだ。

この場合攻撃である可能性を持つ「リクエストを投げる側」は不特定多数である


2. <script src="">なら他ドメインも取れるよ ← まあわかる

3. じゃあここを動的に変えて、実体スクリプトファイル(JSONP)で関数呼んでデータ貰おう ←!?

ただのJSONだったころよりもっとあぶねーじゃん?

関数実行しちゃってんだぜ?

これが許可された場合攻撃危険性にさらされるのは「リクエストを投げる側」であり、先ほどとは攻撃者と被攻撃者が逆転している。

この場合攻撃である可能性を持つ「リクエストを受ける側」は、「リクエストを投げる側」が明示的に指定したサーバだ。

この問題は信用できないドメインに対して自分からリクエストを送らないようにする、という明確な対策可能である



JSONPは、「リクエストを受ける側」にとってXMLHttpRequestWebAPIを叩かれるよりも安全からドメインを超えた通信が出来るわけ。

まりこういうことね。

XMLHttpRequest危険性 (実際にはこの動作禁止されている)】
ブラウザ←ーーー「攻撃WEBサーバ」(悪意あるリクエストを投げるコードブラウザに渡す)
    ーーー→「被攻撃WEBサーバ」
        (悪意あるリクエストに答えてしまう)

【JSONP危険性】
ブラウザ←ーーー「WEBサーバ」(攻撃WEBサーバリクエストを投げるコードブラウザに渡す。※このサーバは、攻撃WEBサーバに悪意があることを知らない)
    ーーー→「攻撃WEBサーバ」(レスポンスとして悪意あるコードブラウザに渡す)
ブラウザ←ーーー
(悪意あるコードを実行してしまう)

JSONPなんて考えてるやつは頭おかし

1. クロスドメイン制約で他ドメインサーバリクエスト投げられません ← わかる

2. <script src="">なら他ドメインも取れるよ ← まあわかる

3. じゃあここを動的に変えて、実体スクリプトファイル(JSONP)で関数呼んでデータ貰おう ←!?

なんでそうなるの?

ただのJSONだったころよりもっとあぶねーじゃん?

関数実行しちゃってんだぜ?

リクエストだってドメインに飛んじゃってるし、クロスドメイン制約とかなんだったの?って話なんだけど・・・大丈夫か?

2017-02-26

人工知能意思を持って人間を滅ぼす」という言説が子供妄想しか思えない

そりゃ100%ありえないとは言い切れないけど,今の人工知能なんて目的関数最適化するだけじゃん.「意思」なんてものを持てるとは到底思えない.SFの見すぎで僅かな可能性がが過大評価されてるよ.

人工知能に詳しい人で意思を持つまでのプロセスを思い描ける人がいたら説明して欲しい.

httphttp://anond.hatelabo.jp/20170226153940anond.hatelabo.jp/20170226153940

言語仕様上、マルチバイト文字変数名に利用できる場合でも、変数名は半角英数字を使う。

グローバル変数はなるべく使わない。

・1関数に100行以上書かない。

主に、PHP使ってる。

http://anond.hatelabo.jp/20170226153940

2017-02-25

http://anond.hatelabo.jp/20170224152614

プログラミングで省略語、って、仕様の話なのかコメントの話なのか、省略されすぎていてよくわからない。

関数名や変数名の話じゃないよね。

http://anond.hatelabo.jp/20170224152614

プログラミングで省略語、って、仕様の話なのかコメントの話なのか、省略されすぎていてよくわからない。

関数名や変数名の話じゃないよね。

2017-02-23

.iniファイル

このまえSIerPHPプロジェクトで、パラメーターを設定ファイルに外だししようって話になって「.iniファイルの読込ルーチンはどうする? だれか作れる? ○○さんがもってるかも」って話になってたから、PHPなら標準でxmljsonの読込関数がありますよって言ってみたけど「あ、こいつまた小難しいこと言ってる」みたいな空気になって流されたな。

ホットエントリ内閣府CSVやばいって記事で思い出した。

2017-02-22

カルドセプト乱数問題

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

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

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

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

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

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

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

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

2017-02-20

JavaScriptのthisってこないだ増えたよね?

いまだにthisが4種類とか言ってる人がいるけど最近this増えたよね?なんかアロー記法レキシカルになるやつ

これでthisは5種類になるのかな?

それともアロー関数にうっかりnewした時のthis、アロー関数をうっかりメソッド呼び出しした時のthis、アロー関数をうっかりapply/callした時のthisも追加して8種類になるのかな?

それともアロー関数トップレベルのケースとメソッド内のケースを場合分けして12種類になるのかな?

2017-02-18

役員やってる会社上場した

10年くらい前に新卒で入って今では取締役を務めている会社が少し前に上場した。

私自身が一番の下っ端から役員まで広く経験した来たのだが、あまり経営実態とかけ離れている「経営とはこういうもの」みたいのが世の中で常識になってることが、従業員として働く上での不満及び経営者負担無駄に上げてるように感じていて、少しでも実態を知ってもらうことで、割とうまくいってる方の会社であっても「実態」は本とは全然違うんだと知ってる人が増えるといいなと期待して記す。

①「上場したぐらいなんだから社長凄いんでしょ?」

そんなことはない。もう10年の付き合いになるので良く知ってるし、年の離れた兄貴みたいな感じで親しみは感じているけど、明確にこの人能力高いなあと思うのは「諦めない力」くらい。空気読めないというか人の気持ちが分からないので、今ですら社長が何か発信すれば発信するほど社員モチベーションが下がるので、いつも役員同士でため息ついてる。元々エンジニア出身なんだけどエンジニアとしても決して優秀ではなかった。社長の書いたソースコードが残ってたりするんだけど、関数すらまともに使われてない超直書きの酷いクソコード

②「上場したぐらいなんだから経営幹部は凄いんでしょ?」

そんなことはない。例えば私で言えば、そもそも大学受験マーチの1個に何とか潜り込めたくらいの学力しかないし、仕事自体もそんなにできるわけじゃない。当時採用されたのも、ハローワーク求人出してくる求職者レベルが酷すぎて、面接時間通りに来た&まともに読める履歴書を提出したのが優秀そうに見えたからという酷い理由で、また出世していったのもはじめは上司が突然バックレて代わりになりそうな人がいなかったので私に回って来ただけ、その後についても昇進はだいたい上のポストにいる人が辞めるたびに穴埋めのためのたらい回し。だから経理のこと全く知識なかったのに経理部長とかやってたこともあるw

他の役員についても、正直私に劣らないとも勝らないレベル能力に過ぎないし、取引先の大企業東大卒サラリーマンとかと仕事すると、世の中にはこんなに優秀な人がいるんだあ、としみじみと感じてたりする。唯一経営幹部共通しているのは、社長悪口愚痴もいうけど、とは言ってもだらしない社長幹部以上で唯一朝定時に来ない)を生暖かい目で見れるくらいには嫌いじゃないことと、無茶な注文をつけられても、とりあえず前向きにやってみようかと思えるポジティブさくらい。入社3か月で辞めたとある国立大学法学部卒の新卒に言わせれば「無能イエスマン集団」とのことで、まあ事実無根ではないと思う。

③「上場したぐらいなんだから社員は凄いんでしょ?」

そんなことはない。そもそも上記のような私たち役員出世するくらいなわけで、逆にいうと他の社員もっと酷いわけですよ。大して優秀でもない我々よりも更に劣っているか、優秀だけど無駄反抗的だったり否定的だったりか、批判するだけで自分は何も行動しないやつか。そういうレベルは決して高いとは言えない社員たちだけど、その一方で、twitter会社悪口を書きながらではあっても、現場をしっかり支えてる人たちではある。

④「じゃあなんで成功したの?」

まず運が良かったことは間違いない。私が入ってから10年間でも3回は主力事業は変わっていて、その最後の変更がとてもうまくいった、上場できるくらいにはうまくいった。変更を主導した社長の目利きが優れていた、と言いたいところだけど、その前の2回は大失敗に終わってるし、最後のもうまくいったのは社長が言ってたのとまったく違う要因・まったく違う顧客層でうまくいったので、目利きが正しかったとは言えない。

ただ、同じようにうまくいってる会社経営者と飲みにいって話を聞くと、時価総額1000億を超えてるような会社ですら、経営マネージメントにおいては日々問題噴出・失敗ばかりみたいで、そういう酷い状況においても諦めずなんとかしようとあがき続けるうちに、なんかよく分からないけど結果的にうまくいった、みたいなのが多いようで、はじめの社長の話や、我々イエスマン集団の話に戻るけど、

チャレンジングな高い目標に向かって、とりあえず前向きにやってみて、その中で日々諦めずに奮闘すること』をやったか成功したんじゃないかと。

少し前に「HARD THINGS」という本を読んでいたく共感したんだけど、その本の記載で「CEOの成績を統計に取れば、その平均値100点満点で22点くらいだろう」「特に問題を難しくするのは、誰も平均点が22点だと教えてくれないことだ」「すべてのことに責任を負い、その結果の成績が22点では、良心に非常な負担がかかる」という話があって、なんかとても救われた気持ちになったんだよね。

経営者もまた「1人の凡庸人間」にすぎない

私が下っ端サラリーマンとして・また中間管理職として働いているときに一番苦しかったのは、ちゃんとしていてくれないと困る上司経営者がぜんぜんちゃんとしてくれなくて、そのせいで現場の実務に支障が出ることへのストレスだったんだよね。ただきっかけがなんだったか忘れてしまったんだけど、あるとき「あれ、うちの上司社長って変わってるだけでただの普通の人じゃない?」って気が付いたんだよね。気が付いて振り返ったとき上司社長に求めていたのは、とてもじゃないけど「普通の人」に求めるのは無理な「ちゃんと」だった。じゃあ、「普通の人」に求めてもちゃんと応えてくれそうな上司/経営者役割ってなんだろう、と考えるようになってから、働くのがとても楽になった。

一方で私自身が出世すれば出世するほど、昔は全然問題にならなかったような私の日々の振る舞いが、これまた部下(直接の部下だけじゃなくて他部門の部下も含む)から非難されるようになって、社長がなぜ自分取締役に抜擢するくらい信頼してくれてたのかが分かったんだよね。抜擢されなかった人たちは確かに私より優秀だったかもしれないけど、社長に「凄い人」であることを求めてて、社長からしたらそれが苦痛だったんだなと。なんせいま私が部下から同じように求められててとても苦痛なのでw

上司も部下も、もっとお互いに「普通の人」であることを許容できるように

なれば世の中の会社は今よりずっと働きやすくなるんじゃないかなあと思いつつ〆

2017-02-05

勉強は役に立たない

なんで勉強するのか? 多くの子供たちの疑問であることと思います。 大人になったら勉強したこと役に立つの?はっきり言います 勉強なんて大人になって役に立ちません。 昔は勉強しとけば将来仕事に役にたつって思われてきましたが ネット上で高学歴ニートを見かけることができるようになったためちょっとずつイメージも変わりつつあると思います。 東大京大からニートネットには何人かいますから


自分の今や前の職場を見てみると 若いころぜんぜん勉強して来なかった人がいます。私は中学高校勉強ばっかりです。どっちが仕事できるかって?

そう 勉強して来なかった方たちです。 周りの方がなぜ こいつ勉強できるのはずなのに仕事できないんだろうって疑問に思うことが多いのですが、理由簡単 勉強で得た知識仕事必要いから。私は中学高校と人と話すことも 運動もろくにせず勉強ばっかり ネトゲ廃人ならぬ勉強廃人でした。別に楽しいこともなかったけど ただ追い詰められて勉強してきた。 そしてそれがやっぱり無駄だったと・・・ 大学中退してやりました。 大学入試までは勉強だけでいけます

ただ就職となった時不思議なことが起こります。 大学名は重視されるが学力は重視されない。 学力テストはあってもネット上で行われるため頭いい人に教えてもらえればバカでも余裕です。そして勉強できても面接で落ちます特に女なんて顔で落ちますよ 会社かわいい女の子ほしいですから・・・


そして、仕事もないままいろんな会社採用試験に行くわけですが 20歳という若さでもなかなか採用されない、35過ぎたらダメって言われてたが20でもダメみたいです。 そしてとあるさな会社採用試験 なんと自分の得意な数学だけテストをやって 数ⅡBあたりの内容だったかな?これこの会社の人もわからないとか言ってたけど・・ 満点とっちゃった(数学問題数すくなく満点になりやすい) そして面接どう答えていいのかよくわから・・・不採用でした\(^o^)/ 


そうこう言っても 県内零細企業金属加工系)とあれば自分卒業した高校名で驚かれることも多いのです。県内公立偏差値2位だからかこういう会社採用試験では珍しいのかな 就職難でこういう人間いくらでも余ってるはずだが その日だけで面接に5人 一人ずつ順番に そして、それを期待した社長が私を採用しちゃいました。馬鹿じゃねーのその社長ww 他に使えそうな人いたと思うけどなあ

体力的にきつい仕事でしたが、やってれば慣れるだろうと思い 無理をしながら働いてました。 他に行く当てないからね 零細企業正社員でも仕方ない。みんな定時で帰ってる会社でした。他行けばここから残業かなみたいに思ってました。 なお当たり前だが勉強はここでも役に立たない

そして1か月弱でクビになりました。 社長さん私の何を期待したんでしょう 勉強できる人ってこういうとこでは珍しいんだろう、見たことない生き物だから期待しちゃうとこもあるんだろうか。

自分にも問題はあるだろう ただ直前に採用した人がクビになったがやめたんだろう だから次の求人が出て私が採用された そして次の求人・・・

こんなことを何度か繰り返しました 今の会社でしぶしぶ・・・  勉強って何の意味あるの? その答えはいまだ見つかりません。

微分積分二次関数 一応自分はできるのですが何に使うんだろうね? 世の中にはこれを使う仕事もあるのでしょうけど それができてもそういうとこで採用されないのです。 


中高生諸君 勉強なんて役たたんよ

2017-01-22

ownership とシステムプログラミングその他に関する怪文書

この会話ログフィクションであり、実在人物地名団体とは一切関係ありません。

坂木

わろた

Rust vs. Go に対する @tanakh さんの発言まとめ

https://togetter.com/li/1072495

坂木

自分理解できないもの意味がないと思いこみたがるタイプの人だということがよく分かったので原文を読まずに済んだ。ありがたいまとめだ。

安原

NTPsec が,ownership を理解していない開発者たちの声が大きくなるようなコミュニティによって開発されているということが分かって大変有意義でした(こなみかん

宮森

今までCで開発してきたプロジェクトを移すなら極端な話ownershipを理解しなくても良いわけで、悪くないのではと思う。

宮森

……が、理解できないものに対して、理解を試みず~すべきだ~と設計しろ、っちゅう人が作るソフトとはちょっと関わりたくないと思う。

安原

いや,私は C で開発してきたプロジェクトであるならばなおさら ownership を理解していないといけないと思います. ownership に理解を示さなコミュニティが関わってきた一定規模以上の C によるプロジェクト……私の第一感は「こわ…近寄らんとこ…」です.

宮森

いや、Cで開発してきた人たちって、ownershipを自前でコントロールできると思っている(思い込んでいる)人たちですんで……こわちかは同意

安原

いや,私は C で開発してきた人たちの多くは,そもそも ownership の概念を獲得していないのではないか危惧しています.元々,私はもっと楽観的で,多くの C プログラマは ownership の概念を獲得していると思っていました.

宮森

あ、それはそうだと思います概念を獲得していない

リソース人間管理をすれば適切に管理できる、という思想の下に皆さん書いていらっしゃるので……。

安原

OpenSSL騒動の時,関数の途中で return したことによるリソース漏れ揶揄したことがありますOpenSSL のようなインターネットの基盤を支えるオープンソースプロジェクトにおいてさえ, ownership の概念を獲得していれば脊髄反射で気づくであろうバグが随所に見られたことには本当に絶望しました.

安原

ああ,はい人間を信頼しすぎているというのはいかにもありそうですね.

藤堂

C++er の方がその辺もっときちんとしているように見える

安原

しろ C++ によって ownership という概念が明確になり,その重要性が認知されるようになったのではないでしょうか? これについては,私は歴史的なことが分からないので真偽のほどは何とも言えませんが.

宮森

シニア開発者しかC++/Rustが受けないと思うの、まさにその点だと思っていて、人類を信頼したがために足どころか頭を吹き飛ばす経験を積んでいないからだろうなー、とか。

宮森

OSとかシステム系のプログラマの人々、基本的リソース人間が適切に管理するし管理できると考えている人が多い印象([検閲削除]社時経験)。言語側で安全を確保したい、的な話をしても相容れなかった記憶が。

坂木

[検閲削除] のコードには、間違って自分の足どころか頭を撃ち抜いてしまった偉大な先人たちの知恵が詰まっていて、開発していてとても勉強になります。なお [検閲削除] は頭がなくなっていることに気づかずゾンビとして生きている模様。

今井

自分が知っている C 「しか」書けない職業プログラマ基本的地雷だなぁ...。

今井

リソースどうこう以前に、そもそもちゃんと構造化されてるコードが書けるかも怪しい(個人の感想です。見識にバイアスがかかっている可能性があります)

安原

うーん,数値計算系のチームやコミュニティも ownership の概念の獲得,重要性の理解,その管理自動化することへの理解,これらを期待するのは難しいだろうなあ…….そもそも高度なリソース管理必要になる場面少ないし…….

坂木

コード品質が強く求められるプロジェクトとそうでもないプロジェクトがあるからなあ。クライアントサイドソフトウェアは割と品質が求められる気がする。

安原

OS 実装とかシステムプログラミングって,クライアントに直接接しないだけで,その上にクライアントサイドソフトウェアが載るわけで,コード品質が強く求められると思うのですがそれは…….まあ, API とかで切り離されているので,そこだけしっかりしていれば,という話はあるか.

宮森

そこはコードレビューテスト等でカバーっちゅう。まぁ確かにコードには実際assertが入りまくったりするわけですが。

坂木

品質が強く求められるからといって品質が高いわけではないのが問題ですね

今井

あとは、デモが作れればいい、的なのも同じかなぁ。

宮森

メモリ管理、freeせずに終了してOSに全て回収させれば管理しなくて良い。

宮森

メモリ管理コンパイル時に全て静的なサイズで確保すれば管理しなくて良い。(FORTRAN77並の感想)

安原

OSGC してくれる論, TPO をわきまえているならば普通にありですよね(TPO をわきまえているならば!).

今井

まー、 offline で動くバッチ、的なのはそこまでメモリ管理とか / パフォーマンスとかにもシビアにならなくていいし(最悪オーダーがほどほどならよい、的な)、そいう文化にいると、雰囲気にのまれる人が多い、というのはまぁわかる。

坂木

私は基本その文化で過ごしてきたので現在進行形でわりかし困ってますね……

今井

あれ、そうなんです? 私がかかわった人のなかでは、コード見ててもむしろカッチリしてるほうだと思ってたのですが...。

(つまり、ここから坂木さんのハードルめっちゃ高いという帰結が...)

宮森

いろいろ言っていますがワタクシ、そういう管理必要プログラムは全く書けなくなりましたので今書くと死にますプログラム顧客大事データが)

安原

しかし,システムプログラミング界隈に「人間リソースを適切に管理できる」という悪しき信仰がはびこっているの,何か構造的な原因があったりするのかなあ?

宮森

システム系、基本的に生のハードウェアが透けて見える言語を使う必要があって、そのために選択肢がCしかなくて、手段が限られているからこそ信仰が発生した、という認識

宮森

実際、Linuxカーネルとか、規模からすれば驚異的に少ない数のバグで動いているので、信仰心が生まれ気持ちも分かる。

宮森

他の言語OS書くっていうのも研究レベルではあるけど、実用になっているのは見たこと無いですねぇ……。

坂木

Linux カーネル、一体どうやったらあの規模のコードクオリティコントロール出来るのか本当に不思議

安原

Linux カーネルのアレは,属人性依拠しすぎていて全然スケールしないのでは…….

坂木

Linux カーネル属人性高そうではあるけどそれでも実際に十分スケールしているからなあ…… ヤバいレビュアーごろごろしているのかな

宮森

属人性依拠しさえすればできるので十分な数の開発者がいれば問題になりません(キリッ

安原

私も [検閲削除] のコミュニティを見てましたから,各々必要ドメインにおける圧倒的なタレント性を持った人たちが1ヶ所に集結して奇跡アンサンブルを奏でうる場合がありうるのは理解しているんですが,本当にただの奇跡しかないと思っています

宮森

つーても機械エンジニアリング町工場職人芸を必要であれば使うように、属人性を求めるのも一個の正しい戦略だと思うんですよね。

宮森

なおその対極がみずh(省略されました

安原

Linux カーネルにおけるスケール云々は, Linux カーネルコミュニティ自体におけるスケーラビティではなくて,(システムプログラミングコミュニティ全体(他のプロジェクト)へスケールするかどうかを言ったつもりでした.

坂木

まあ人外を集めるという手法一般にはスケールしないですからね……

宮森

C系がシステム系で優先されるの、ツールを変えるとツール独特の罠があるので、罠が全て分かっているツールを使う、っつうのもあるな。

安原

システム系、基本的に生のハードウェアが透けて見える言語を使う必要があって、そのために選択肢がCしかなくて、手段が限られているからこそ信仰が発生した、という認識

これが原因だとすると,やはり Rust だ……Rust しかない…….ツール周りとか,まだまだ未整備な部分たくさんあるけれど……そこをクリアすれば…….

坂木

Rust は 1.0 が出る直前くらいにちょっと触ってイテレータが作れなくて敗北したっきりだな。

坂木

イテレータっていうか Java でいう Scanner を作ろうとしたんだっけ。サードパーティライブラリも探してみたけどその頃は I/O 周りの API が unstable でビルドが軒並み壊れていたりしたな……

藤堂

1.0 以前のことは忘れましょう (本当に unstable)

安原

Rust,型でエラーを弾くだけではなくて質の低いプログラマまでも弾く印象.

坂木

一般に型の強い言語は質の低いプログラマを弾きますね(Haskell などを思い浮かべながら)

安原

「Rust 経験者」という条件でプログラマ募集して,それで入ってきた人材に C を書かせればよいのでは!(ピコーン!

藤堂

犯罪ですよそれは

安原

はい

藤堂

haskell 経験者を集めて php 書かせようとした会社がどこかにあったような (ヘイトけがたまる)

安原

まさにそれをイメージしていました.

宮森

どういう顛末になったか詳しく知りたいw

藤堂

うーん、それ以降の話は知らず

今井

Rust そして誰もいなくなった、にならないかが一番心配だったりする

安原

それな

宮森

もしかして、NTPsecの人がRustでミニサーバーを起こすのにすら苦労していたの、普段からバグありのコード生産しているからなのでは、という気がしてきた……。

(この辺で一同寝落ち

2017-01-21

情報活用能力調査について

先日、高校生情報活用能力調査についての結果が発表された。

http://www.mext.go.jp/a_menu/shotou/zyouhou/detail/1381046.htm

その結果について、「高校生表計算ソフト苦手 情報活用調査 正答16%どまり」と見出しを付けて報じた記事がある。

記事の本文では「表計算ソフトを正しく使えるかをみる問題の正答率は16.3%。」と書かれていることから文部科学省報告書の32ページの表にある「不正請求」の「S25-02」の問題を指していることがわかる。この問題は「数年間の認知件数1件当たりの平均被害額を,表計算ソフトを用いて計算することができる。」かどうかを調査する問題である

この問題は、結果概要にも報告書の94ページにも公開されていて、単に表計算ソフトの使い方を調査しているものではないことがわかる。「2008 年から 2012 年まで の認知件数 1 件当たりの平均被害額を求める」ために、正しい計算式を考え、その式を表計算ソフト入力して求めるという一連の処理ができるかどうかを調査する問題である。単に平均を求める関数を使えるかどうかという問題ではない。

この問題について、文部科学省の結果概要では「5年間の認知件数1件当たりの平均被害額を,表計算ソフトを用いて計算する問題」と書いている。しかし、問題本質をとらえず「表計算ソフトを正しく使えるかをみる問題」としてしまっている。ミスリードだ。

高校情報科では、「文書作成プレゼンテーション表計算指導する教科」との誤った認識のまま授業が実施されている現状がある。(リンク先の35ページ(PDFファイルの5ページ目)参照)

https://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0ahUKEwjpiv-BitHRAhUME7wKHdxMDLQQFggaMAA&url=https%3A%2F%2Fipsj.ixsq.nii.ac.jp%2Fej%2Findex.php%3Faction%3Dpages_view_main%26active_action%3Drepository_action_common_download%26item_id%3D144709%26item_no%3D1%26attribute_id%3D1%26file_no%3D1%26page_id%3D13%26block_id%3D8&usg=AFQjCNGk_y9QJn8Oq9xY2nFwrhWWwnZUgg&sig2=KsKirJMrLkfAbZqaTD_UWA

この誤った認識助長する見出しになってしまっている。記事見出しだけを見た人が、「表計算ソフト指導を強化しなければならない」と短絡的に考えることにつながり、オフィスソフト操作に終始している高校情報科の現状を認めることになってしまう。その結果として、報告書の76ページから77ページにかけて書かれているように、情報科を履修した生徒とまだ履修していない生徒との差が生じないのではないか。言い換えると、情報活用能力を育成できていない情報科の授業を認めてしまうのではないか。その観点からも、この記事問題である

このような記事掲載してしまうのは、情報活用能力について理解していると考えられない。また、高校生情報活用能力調査の結果として「複数情報がある多階層ウェブページから目的に応じて特定情報を見つけ出し,関連付けることに課題がある」という指摘が、新聞記者になっても身についていないと言わざるをえない。

2017-01-18

(A)isBigThan(B) のような関数はなぜ書けないの?

後ろにまとめて引数を書くのが普通だと思うけど(というかそういう形しか知らない)、

別に先頭や真ん中に引数受け口を作っても良いのでは?

自分JavaPHPしかしらないけど、その2つはそういう実装はできない。

正直値の比較なんて、どっちが基数かで結果が変わってくるし、文章っぽいほうが可読性も上がると思うんだけど。。。

http://anond.hatelabo.jp/20170118103221

コーディング規約はあるけど、フォーマットとかイディオムレベル

モジュールクラス)の分割の基準とか、機能(関数)の配置とかまでは規約になってないから、結局空気を読む必要があるよ

2017-01-17

言語の良さなんてあるのだろうか

プログラミングの達人はプログラムをどのように組むべきかを知っていて、

どんな言語であろうと自分の中の組み方に合わせて構文を選ぶ。

ただし関数型を除く。



初心者は手当たり次第に機能を試して自分にあった構造を探さないといけないので、言語の特徴による恩恵は受けられない。

ただし関数型を除く。



なんだかんだいってどの言語も素晴らしい出来であることは間違いない。

ただし関数型を除く。



素晴らしい利点を持つ言語は万人から評価され利用される。

ただし関数型を除く。

2017-01-14

http://anond.hatelabo.jp/20170114155348

明確な目標があるのに、もったいない

ネットだと、情報が多すぎるのかな

javascriptかな?と思ったけど、ruby

ifもforもでてこなくてスマ

eachが形を変えたforです

いろんなとこからコピペ量産して、2時間近くかかりました^^

api取得はすぐだったけど、json、hash、arrayでごにゃごにゃ)

rubyソース

# ライブラリ
require 'net/http';
require 'uri'
require 'json'

# 検索文字
$q = 'http://ci.nii.ac.jp/books/opensearch/search?q=%E7%B3%9E&format=json'

# web-apiから取得
# https://support.nii.ac.jp/ja/cib/api/b_opensearch
def search(q)
    uri = URI.parse(q)
    json = Net::HTTP.get(uri)
    result = JSON.parse(json)
end

=begin
取得データ1件サンプル
{"title":"糞土",
"link":{"@id":"http://ci.nii.ac.jp/ncid/AN00094249"},
"@id":"http://ci.nii.ac.jp/ncid/AN00094249",
"@type":"item",
"rdfs:seeAlso":{"@id":"http://ci.nii.ac.jp/ncid/AN00094249.json"},
"dc:date":"1953",
"dc:creator":"糞土会",
"dc:publisher":["糞土会"],
"prism:publicationDate":"1953",
"cinii:ownerCount":"8"},
=end

# データ整形
#
# 入力データ構造
# {"@id":"http://ci.nii.ac.jp/books/opensearch/search?q=%E7%B3%9E&format=json",
#  "@graph":[ { "items":[ ,,,
#
# 出力(ハッシュ)
# {title => dc:date ,,, }
def format(hash)
    title_date = Hash.new

    # ハッシュキー"@graph"の値の配列の先頭のハッシュキー"items"のハッシュ配列を取得
    items = hash['@graph'][0]['items']

    # タイトル出版年を取得して、戻り値ハッシュへ追加していく
    items.each do |item|
        title = item['title'].chomp
        date  = item['dc:date']
        title_date.store(title, date)
    end

    return title_date
end

# 並び替え
def sort(hash)
    hash.sort_by do |key, value|
        value
    end
end

# 出力
def print(hash)
    hash.each do |key, value|
        puts "#{value}年 #{key}"
    end
end

# メイン関数
def main
    # web-api検索して、
    result1 = search($q)
    # データを整形して、
    result2 = format(result1)
    # 出版年で並び替えて、
    result3 = sort(result2)
    # 出力する
    print(result3)
end

# 実行
main

rubyスクリプトの実行結果

C:\Users\unko\Desktop\prog>ruby webapi.rb
1848年 人欲辨 (じんよくべん)
1870年 雀糞論説
1920年 青瓷説
1933年 管内ニ於ケル鶏糞ノ利用状況
1947年 糞尿譚 : 小説1953年 糞土
1955年 黒い裾
1955年 形成
1959年 石糞
1972年 糞 : 海田真生個人文芸誌
1972年 乳幼児糞便図譜
1987年 糞尿と生活文化
1991年 皇居と糞尿と大嘗祭 : 皇居「糞尿」裁判を支える会ニュース
1995年 糞袋
2000年 糞尿史 : 遷都は糞尿汚染からの逃避だった
2005年 「糞尿」大全
2007年 糞虫たちの博物誌
2008年 うんちのはなし : う~んとげんきになる
2009年 糞神
ログイン ユーザー登録
ようこそ ゲスト さん