「linq」を含む日記 RSS

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

2019-10-03

anond:20191003222803

組み込み.NETを使えるのは人類夢じゃない?知らんけど。

LINQを一度知ってしまうともう戻れない。

2019-09-23

重度の🤐PGだけど未来が見えない

 今年33になった。limitである35歳までもうあと2年しかない。

 これまで多数の現場アサインされてきたけど、もう全部がBANで終わった。自分が重度な🤐なのが大きい。

 精神科で発達か診断受けたけど綺麗な八角形であなた正常です言われたよ。ようするに俺はただの普通の人である

設計書が書けない

 🤐すぎて日本語不自由から文章が書けない。インデントおかし句点読点がおかしいとかは自分でもわかるから訂正してるけど、

 文章の組み立て方がおかしいのか相手意図が伝わらないことが多い。プロパーとか同僚とかすごい読みやすくて日本語文章書くんですよ。

 NTT案件プログラミングの前に基本設計詳細設計書いてください言われて、書けなかった。プログラミング始められなかった。2週間でBAN。

会話ができない

 上司質問とか突然されて頭の中が真っ白になって即座に回答できない。

 同僚とかからすごい勢いで拒絶されるんですよ。俺からしかけても相手迷惑がってるのが顔から読み取れる。

 いざ会話が始まっても、相手から聞きだしたいこと聞きだせず会話が終了するなんてこと日常茶飯事。結果要件聞き取れず頓珍漢なものが出来上がり無駄時間けが過ぎていく。

 上司に「普通じゃない人はお断りです」言われて2週間でBAN。

スクラム開発は拷問

 営業に「次はプロトタイピング案件だよ」言われてwktkしながら派遣先行ったらスクラム開発。

 念願のアジャイルじゃねえの設計書書かなくてええやんやったねたえちゃん!と思ったものスクラム開発は🤐には相当厳しかった。

 現場作業ついていけず、何をどうやって作業を進めていいのか分からないのに、週一に一回発表会みたいなのある。週一で業務感想戦を強いられる。言うことなんもねーよ

 上司に「あなた回りに溶け込めてないので今日で終わりです」言われて4週間でBAN。

プログラミングが出来ない

 33歳にもなってC#VB.NETしか知らない。LinqからいからFor文やForEachでカバーオブジェクト指向からいかNUnitデザインパターンも分からない。もといNUnit使ってる現場参画したこと1回しかいから正しい運用がわからない。

 そろそろ新しい技術学習しないといけないんだよなーと思うものの、何を勉強したら良いのか分からない。今までの経験から、どんなに技術身に着けても👄💬能力無ければBANじゃないですか。技術身に着ける意味あるんですか。

🤐障害だと思う

 👄💬能力ある健常なプログラマは、勉強会出たりライトニングトークやったりで似た優秀な技術者と技術的な話を交換したりしてる。んで得た技術身に着けて更なる高みを。

 🤐はそういうイベントには参加できない。会話自体無理だからね。🤐と健常者はそういう所で差が出てくる。超えられない差というか。

 よくネットとかで🤐だけど克服しましたみたいな文章書いてる人いるけど、真の🤐日本語不自由から文章書けません。ブログ書けません。ネトゲも会話出来ないのでフレンド作れません。全然🤐じゃないのに🤐名乗ってるファッション🤐が世の中多すぎる。

 俺はこれから人生どこに進んだらよいかからいから、似たような人探してみたものの見つからずじまい。真の🤐SNSなんてやっていなかった。学生時代俺以外にも🤐っぽい人複数いたけど俺含め彼ら相互で全く交流なかったな。🤐はどの環境でもボッチだ。

 じゃあ🤐を導いていくれるメンター的な存在を探してみたものの、見つかるのは奴隷商人ばかりで関わったらアウトみたいなオーラを醸し出している。

 

 自分🤐過ぎて打てる手が何もない。転職しようにも自分にできそうなことが何一つ思い浮かばない。どんな仕事だって人間との会話は必要。会話要らない仕事なんてこの世にない。

 新規案件アサインできなくなる35歳まであと2年。

重度の■■■■PGだけど未来が見えない

「コ○ュ○」という単語が苦手な人用:anond:20190923023222

 今年33になった。limitである35歳までもうあと2年しかない。

 これまで多数の現場アサインされてきたけど、もう全部がBANで終わった。自分が重度な■■■■なのが大きい。

 精神科で発達か診断受けたけど綺麗な八角形であなた正常です言われたよ。ようするに俺はただの普通の人である

設計書が書けない

 ■■■■すぎて日本語不自由から文章が書けない。インデントおかし句点読点がおかしいとかは自分でもわかるから訂正してるけど、

 文章の組み立て方がおかしいのか相手意図が伝わらないことが多い。プロパーとか同僚とかすごい読みやすくて日本語文章書くんですよ。

 NTT案件プログラミングの前に基本設計詳細設計書いてください言われて、書けなかった。プログラミング始められなかった。2週間でBAN。

会話ができない

 上司質問とか突然されて頭の中が真っ白になって即座に回答できない。

 同僚とかからすごい勢いで拒絶されるんですよ。俺からしかけても相手迷惑がってるのが顔から読み取れる。

 いざ会話が始まっても、相手から聞きだしたいこと聞きだせず会話が終了するなんてこと日常茶飯事。結果要件聞き取れず頓珍漢なものが出来上がり無駄時間けが過ぎていく。

 上司に「普通じゃない人はお断りです」言われて2週間でBAN。

スクラム開発は拷問

 営業に「次はプロトタイピング案件だよ」言われてwktkしながら派遣先行ったらスクラム開発。

 念願のアジャイルじゃねえの設計書書かなくてええやんやったねたえちゃん!と思ったものスクラム開発は■■■■には相当厳しかった。

 現場作業ついていけず、何をどうやって作業を進めていいのか分からないのに、週一に一回発表会みたいなのある。週一で業務感想戦を強いられる。言うことなんもねーよ

 上司に「あなた回りに溶け込めてないので今日で終わりです」言われて4週間でBAN。

プログラミングが出来ない

 33歳にもなってC#VB.NETしか知らない。LinqからいからFor文やForEachでカバーオブジェクト指向からいかNUnitデザインパターンも分からない。もといNUnit使ってる現場参画したこと1回しかいから正しい運用がわからない。

 そろそろ新しい技術学習しないといけないんだよなーと思うものの、何を勉強したら良いのか分からない。今までの経験から、どんなに技術身に着けてもコミュ能力無ければBANじゃないですか。技術身に着ける意味あるんですか。

■■■■は障害だと思う

 コミュ能力ある健常なプログラマは、勉強会出たりライトニングトークやったりで似た優秀な技術者と技術的な話を交換したりしてる。んで得た技術身に着けて更なる高みを。

 ■■■■はそういうイベントには参加できない。会話自体無理だからね。■■■■と健常者はそういう所で差が出てくる。超えられない差というか。

 よくネットとかで■■■■だけど克服しましたみたいな文章書いてる人いるけど、真の■■■■は日本語不自由から文章書けません。ブログ書けません。ネトゲも会話出来ないのでフレンド作れません。全然■■■■じゃないのに■■■■名乗ってるファッション■■■■が世の中多すぎる。

 俺はこれから人生どこに進んだらよいかからいから、似たような人探してみたものの見つからずじまい。真の■■■■はSNSなんてやっていなかった。学生時代俺以外にも■■■■っぽい人複数いたけど俺含め彼ら相互で全く交流なかったな。■■■■はどの環境でもボッチだ。

 じゃあ■■■■を導いていくれるメンター的な存在を探してみたものの、見つかるのは奴隷商人ばかりで関わったらアウトみたいなオーラを醸し出している。

 

 自分が■■■■過ぎて打てる手が何もない。転職しようにも自分にできそうなことが何一つ思い浮かばない。どんな仕事だって人間との会話は必要。会話要らない仕事なんてこの世にない。

 新規案件アサインできなくなる35歳まであと2年。

2019-09-22

重度のコミュ障PGだけど未来が見えない

 今年33になった。limitである35歳までもうあと2年しかない。

 これまで多数の現場アサインされてきたけど、もう全部がBANで終わった。自分が重度なコミュ障なのが大きい。

 精神科で発達か診断受けたけど綺麗な八角形であなた正常です言われたよ。ようするに俺はただの普通の人である

設計書が書けない

 コミュ障すぎて日本語不自由から文章が書けない。インデントおかし句点読点がおかしいとかは自分でもわかるから訂正してるけど、

 文章の組み立て方がおかしいのか相手意図が伝わらないことが多い。プロパーとか同僚とかすごい読みやすくて日本語文章書くんですよ。

 NTT案件プログラミングの前に基本設計詳細設計書いてください言われて、書けなかった。プログラミング始められなかった。2週間でBAN。

会話ができない

 上司質問とか突然されて頭の中が真っ白になって即座に回答できない。

 同僚とかからすごい勢いで拒絶されるんですよ。俺からしかけても相手迷惑がってるのが顔から読み取れる。

 いざ会話が始まっても、相手から聞きだしたいこと聞きだせず会話が終了するなんてこと日常茶飯事。結果要件聞き取れず頓珍漢なものが出来上がり無駄時間けが過ぎていく。

 上司に「普通じゃない人はお断りです」言われて2週間でBAN。

スクラム開発は拷問

 営業に「次はプロトタイピング案件だよ」言われてwktkしながら派遣先行ったらスクラム開発。

 念願のアジャイルじゃねえの設計書書かなくてええやんやったねたえちゃん!と思ったものスクラム開発はコミュ障には相当厳しかった。

 現場作業ついていけず、何をどうやって作業を進めていいのか分からないのに、週一に一回発表会みたいなのある。週一で業務感想戦を強いられる。言うことなんもねーよ

 上司に「あなた回りに溶け込めてないので今日で終わりです」言われて4週間でBAN。

プログラミングが出来ない

 33歳にもなってC#VB.NETしか知らない。LinqからいからFor文やForEachでカバーオブジェクト指向からいかNUnitデザインパターンも分からない。もといNUnit使ってる現場参画したこと1回しかいから正しい運用がわからない。

 そろそろ新しい技術学習しないといけないんだよなーと思うものの、何を勉強したら良いのか分からない。今までの経験から、どんなに技術身に着けてもコミュ能力無ければBANじゃないですか。技術身に着ける意味あるんですか。

コミュ障障害だと思う

 コミュ能力ある健常なプログラマは、勉強会出たりライトニングトークやったりで似た優秀な技術者と技術的な話を交換したりしてる。んで得た技術身に着けて更なる高みを。

 コミュ障はそういうイベントには参加できない。会話自体無理だからね。コミュ障と健常者はそういう所で差が出てくる。超えられない差というか。

 よくネットとかでコミュ障だけど克服しましたみたいな文章書いてる人いるけど、真のコミュ障日本語不自由から文章書けません。ブログ書けません。ネトゲも会話出来ないのでフレンド作れません。全然コミュ障じゃないのにコミュ障名乗ってるファッションコミュ障が世の中多すぎる。

 俺はこれから人生どこに進んだらよいかからいから、似たような人探してみたものの見つからずじまい。真のコミュ障SNSなんてやっていなかった。学生時代俺以外にもコミュ障っぽい人複数いたけど俺含め彼ら相互で全く交流なかったな。コミュ障はどの環境でもボッチだ。

 じゃあコミュ障を導いていくれるメンター的な存在を探してみたものの、見つかるのは奴隷商人ばかりで関わったらアウトみたいなオーラを醸し出している。

 

 自分コミュ障過ぎて打てる手が何もない。転職しようにも自分にできそうなことが何一つ思い浮かばない。どんな仕事だって人間との会話は必要。会話要らない仕事なんてこの世にない。

 新規案件アサインできなくなる35歳まであと2年。

レスポンス

 一晩明けました。レスポンスたくさんついたの初めてです。

 以下ブクマにご返答致します。

レベルの高い現場ばっかり行ってない?例えば学歴高いとか。ガチ仕様書描くところの仕様書ってクソ難解だよね。作るのも読み込むのも無理で頭おかしくなる。どうなってんだ?と思ったら書いてる人が東大卒だった。

私は底辺高→専門卒で低学歴です。派遣先の同僚みんな大卒頭脳明晰で羨ましいです。大学卒論とかあって文章書く能力無いと卒業自体出来ないか自然と淘汰されますね。文章書けない大卒の方見たことないです。

>この文は普通に読めますし、「迷惑がってるのが顔から読み取れる。」ならコミュ障とは少し違う気がします(適当意見ですが……)。

私は見た目がブラクラで見る者を不安に陥れる面なので、あんまり直視したくないのだと思います

>この文章問題無いので見たことのないパターンだ。逆に専門職として得意なことは何なんだろう。

今はRPAをやっています。やってて思ったのが「ちょっとした環境変更で動かなくなるマクロスクリプト作ってるだけじゃん」で、これ時限爆弾量産してるだけじゃないのと。ただ作っててこれ技術的にぬるい部分も、でもここ抜けたら次がねえよな、BANされた後の次の案件見つかるのか、という疑問も。なので死ぬ気でしがみ付かなければなりません。

>これは言語表現能力問題ではない。技術知識経験が不足していることが元凶で、相手の話について行けてないだけ。

かに技術不足の点もあります営業が見つけてくる案件がほぼ全部レベル高すぎ案件ばかりなのが原因なのかもしれません。少し簡単な所行きたいという気持ちもあり。営業相談してみます

2019-09-13

anond:20190913094054

IDとかNameとかで引くデータ構造が欲しいならDictionaryやが、データベースみたいにどの項目で引くかが定まってないならとりあえずList<>で実装して、検索用のメソッドを作ってLinq検索するのが割とスタンダードやで。

カリカリチューニングしようと思えばいくらだってやりようはあるけど、一旦は簡単方法実装しておくんがベストや!

2019-09-10

anond:20190910110247

ラムダ式は分からない。

Linq文書を読んだことがある程度で、初心者と同等だね。

anond:20190910104309

元増田文法がわからないレベルなので、先にC#入門をやっといたほうがいいと思う

無名オブジェクトコード読む分には見た目でなんとなく読めると思うけど、多分ラムダ式とかlinqとかもわからんっしょ?

2019-03-20

anond:20190320104032

if~else~やforeachは知ってていいけど、LINQラムダ式、非同期実行まで教える必要はないって話じゃないの?

2019-02-03

WEB開発がしんどい

業務システム屋勤務。

最近WEB系の開発作業がすごく嫌になってきた。

ストレスたまる

もともと今の会社ではVB.NETによるWindowsFormの案件が主流だった。

そんな中WEB割合も増えてきた。

本当はASP.NET MVCJavaでやりたいけど、上の事情によりPHPでやってる。

本来オーバーロードがないこと、LINQに代わるものがない(仕方無くGINQ使ってるけど

クエリ構文などなくFunction地獄になる)のがつらい。

それでもまぁ、サーバーサイドのロジックゴリゴリするのは楽しい

問題ViewHTML)だ。Smartyテンプレート飛んだり、CSSに飛んだり、JavaScriptファイルに飛んだり

しないといけない。IDE上で新たなエディタタブが増えるたびに嫌になる。それはNetBeans使おうが、

PHPStorm使おうが同じ。

自分が集中したいドキュメントと、デバッグ過程で開いちゃうどーでも良いドキュメントが、

とにかくごっちゃになって開かれているのがつらい。

俺が集中したいソースファイルのタブだけ、特定場所で開いてくれたら良いのに。

フォルダでもファイルでも開かれまくっている状態が大嫌い。

最近PHPファイル開くのはOKだがその次の流れでViewテンプレート開かないといけないとき

躊躇するようになった。急に世界観変わるのが嫌。Viewなんてどーでも良いじゃん。

なんでGUIなんかにこだわるんだよ、ってのが正直なところ。言えないけど。

2018-06-09

anond:20180609223008

たまたまLINQ理解できない人と仕事してしまった運の悪い人がスレに張り付いてるだけでは?

2018-03-18

[]3月17日

○朝食:サッポロ一番味噌

○昼食:ご飯、味噌汁、サバ味噌煮、ほうれん草ひじき、玉ねぎサラダ

○夕食:ビビンバ海藻サラダサラダチキン

調子

はややー。

超いい天気な上、僕が苦手な種類の花粉が飛んでなかったので、意気揚々散歩を楽しんだ。

1時間半ぐらい歩いた先にある、ゲームとかTCGとかが売っているお店のストレージで、さらに1時間ぐらい粘るなど、休日満喫した。

が、さすがに往復3時間近く歩くとヘトヘトになってしまい、帰ってきたらすぐダウンしてこの時間まで寝てしまった。

まあ、早起きできたからよしとしておこう。

TCG

ポケカ

長らく休止してたけど復帰! ではなく、部屋の片付けでポケカを整頓した。

ただ、やっぱり悪タイプポケモンたちは集めたいなあ、と思っていたので、30円ストレージを漁って大量購入

やっぱりこういうコレクション系はバインダーに入れて眺めたいので、バインダーのシートを通販で購入。

と、お金を割と使ったけど、データだけじゃなく物もやっぱり集めたいのでいい感じ。

3DS

ポケとる

Sランク700個。

おわり!

ゲンシグラードンを解禁して、メインステージ攻略は終わり!

UXステージアイテムがもらえるだけなのでプレイしません!

一応、全ポケモン捕獲目標なので、解禁したゲンシグラードンデオキシスS、色ゲノセクト捕獲しないとだけど、

とにかくメインステージ攻略は終わり! 疲れた……

○お便り返信

お便り返信です。

ワンチャン増田とはてブしかやることがないような現場もあるからポジティブに行くんや - oooooo4150のコメント / はてなブックマーク

なんにしても残れたのでよかったですが、2連続でいいところを引ける可能性は少なそうです。

ATはデレステのトレチケタイムくらいの感覚じゃないかしら。だいぶ違うか。 - msdbkmのコメント / はてなブックマーク

アサルトタイムに頑張るの、そんなにこだわらなくてよいと思いますよー - linqのコメント / はてなブックマーク

そのデレステ? のトレチケタイム? というのはちょっとよくわからないのですが、

かに、やってみるとそこまで重要じゃなかったです。

(このわからないキャラに関していつまで続けるかは、ゲーム日記4月1日が周年記念なので、そこあたりで)

グラブルは共闘をこなせる仲間がいるなら一気に楽しくなりそう。 - anmin7のコメント / はてなブックマーク

友達友達友達

はあああああ。

ゲームをするときは1人で孤独な方が好きなんですよね、いやお前、ポケモンかいコミュニケーションツールじみたゲーム毎日しとるやんけ、ですけども!

やさいくえよー - kettkettのコメント / はてなブックマーク

いいいい、一週間のバランスはとれてる…… ような…… とれてないような……

助六おいしいよねー。 - thnnのコメント / はてなブックマーク

美味しい!

「無事に残れることになった。」「万事解決してめでたい。」 しんどいはずなのにキレッキレなので逆にちょっと心配だったんですが、そういう事情だったんですねw よかったよかったw - AQMのコメント / はてなブックマーク

こいつの場合追い出し部屋じゃなくて東京に送り込めば辞めてくれるだろう..

増田ちゃんはやめへんでー!

2015-11-16

.NET Framework ( C# ) LINQ の Count

Where やら Select などのメソッドのうしろメソッドチェーンでくっつける Count は、プロパティではなくて、メソッドなのだね。

なので Count() と記述する必要がある。でないと

エラー 演算子 '==' を 'メソッド グループ' と 'int' 型のオペランド適用することはできません。

といったようなエラーが表示される。

2015-10-31

貯金百万貯まったので高卒21歳が人生相談します。

海より深い人生経験をお持ちの皆様に、相談します。

タイトルの通り、貯金額が百万に達しましたが、

僕の人生における目標抽象的で、どう使っていけばいいのかわかりません。

目標は「楽に生きて天寿を全うしたい」です。

楽に生きるためなら、ある程度の苦労をすることと投資が可能な性格です。

皆さんなら、百万をどう使うことでこの目標を達しようとしますか?

以下はスペック(自分語り)です。

自分がこういう奴だったら~」と思って考えてくださるとありがたいです。

以上です。自己顕示気持ちえがったー!!!相談について答えてくださると嬉しいです。

株でもやったらいいのかな。田舎で何かビジネスチャンスありませんかね。

商材考えてねーけど学校役所相手で一人で出来る仕事ねーかな。証左得意よ、僕ちん証左が得意ダヨ。

2015-10-15

C# LINQ ラムダ式デリゲート型ではないため...

var val = list.Aggregate((a,b) => {});

コードを書いた時点で発生。

var val = list.Aggregate((a,b) => { return a; });

のように、戻り値指定すれば、型を推論できるようになって、エラーは消える。

関連として、こちらのページ重宝しそうっす。

http://csharp30matome.seesaa.net/article/129993518.html

2015-03-03

LINQ to Object の Distinct ... IEqualityComparer は

Distinct対象オブジェクトインターフェイスとして実装させるのではなくて、Distinctの比較用のクラスを作るのに使うんだってさ。

めんどくさいなあ。

http://gushwell.ldblog.jp/archives/51566221.html 感謝申し上げる

2014-06-04

http://anond.hatelabo.jp/20140604150117

C#でもVB.NETでもLINQを使うときには、結局RDB的な考え方をするからね。おのずとNullableな変数必要なシーンがでてくるわけだ。

http://msdn.microsoft.com/ja-jp/library/bb738687.aspx

条件式 FALSE=FALSE と NULL=NULL での違いも、NULL の存在意義かも。

2013-12-30

http://biz-journal.jp/2013/12/post_3716.html

ねえねえ、フェミの人たちはこんな話はどう思うの?アイドルって公開見世物市で、お金持ちが可愛い子見つけて結婚するためのものなんだって

地方アイドルは、地元イベントなどでは、ギャラが安いので重宝されていますが、テレビ番組なら地方局でも『出してもらう』という立場福岡だと、アイドルファンでは有名なLinQリンク)などでも、グループ単位だと東京での仕事もありますが、メンバー個人の認知には至りません。年端もいかない若い娘さんが、学業をおろそかにしてアイドル業に精を出しても、せいぜい地元でいい結婚相手が見つかる程度なんです」

2012-01-19

Python vs Ruby vs PHP vs HaskellRubyistネクラオタクキモメン」 part2

Python vs Ruby vs PHP vs Haskell プログラミング言語バトル part1

http://anond.hatelabo.jp/20120118220204

441 : デフォルト名無しさん : 2011/12/14(水) 00:34:54.13

Rubyistってなんであんな小学校の図書室で毎日読書してそうな

いじめられっこネクラチビメガネみたいな色黒とかキモオタ

顔面オジサン、オバサンばっかなの?

445 : デフォルト名無しさん : 2011/12/14(水) 00:47:59.11

Javaer: 傲慢プライド高い、土方

Scalaer: 鼻持ちならない、モヒカン

Lisper: マジキチ

Rubyist: ネクラオタクキモメンいじめられっこネクラチビメガネ、色黒、キモオタ、顔面オジサン、オバサン

PHPer: 土方、DQN

Pythonista: イケメンリア充

473 : デフォルト名無しさん : 2011/12/16(金) 22:06:14.45

Python厨のRubyネガキャンは異常だなwww

608 : デフォルト名無しさん : 2011/12/28(水) 09:29:20.74

Rubyブロックが便利すぎて、Pythonをやめたくなった。

いちいちtemporaryな関数作成してから目的関数に渡していたのがばからしくなった。

609 : デフォルト名無しさん : 2011/12/28(水) 09:43:17.83

リストやジェネレータ式の内包表記が便利過ぎて

PythonからRubyには移行できないな

610 : デフォルト名無しさん : 2011/12/28(水) 11:03:14.91

日本人が開発の中枢にいるような言語はやめとけ。

どうせ廃れる。

611 : デフォルト名無しさん : 2011/12/28(水) 11:58:14.38

Pythonさんは、どうしてこう排他的かなぁ

626 : デフォルト名無しさん : 2011/12/28(水) 15:08:51.86

609

リストやジェネレータ式の内包表記が便利過ぎて

おれもそう信じてたけど、Rubyの、メソッド呼び出しを続けて書けるほうが便利だわ。

まるでjQueryみたい。といってもjQueryのほうが後発だけど。

たとえば「xsから0以上のものを選んで、その二乗の和を求める」場合

sum([ x*x for x in xs if x > 0 ])

これだと、後ろから読まないといけないんだよね。でも

xs.select{|x| x > 0}.map{|x| x*x }.sum

これなら頭からひとつずつ読めばいいから、わかりやすいし、考えたとおりに書きやすい。

まさにスクリプトって感じがする。

629 : デフォルト名無しさん : 2011/12/28(水) 15:55:19.77

Rubyメソッドチェーンって内包表記より弱いと思う

ネストするmapとかflattenとかわかりくいよ

Python: [[x,y] for x in xs for y in xs]

Ruby: xs.map{|x| xs.map{|y| [x,y] } }.flatten(1)

632 : デフォルト名無しさん : 2011/12/28(水) 17:25:29.75

いっぽうメソッドチェーンは

orz.sage().hage().hoge().hige() タイプの問題には向いている

まり向いている方向がちがう

(まあHaskellなら hige . hoge . hage . sage と書くだけだというのは置いといて)

強い弱いということで言うと、問題を解くのに必要な一番能力が弱い

(限定された)道具を使うという考え方があるようだよ

ベタ再帰は強い(汎用的)、がそれゆえ読むのに注意を必要とする

foldrは再帰よりは弱いが、foldrで表現可能な問題のクラス(原始再帰)はかなり

広いので、mapやfilterで済むならもちろんそのほうが望ましい

ではこの問題は弱いmapやfilterを結合させるほうがいいかというと、

俺はlist comprehensionのほうが集合表記そのもの=whatを表現していて好きだな

Pythonのlist comprehensionのsyntaxはあまり好きではないが

それは大きな問題じゃない

640 : デフォルト名無しさん : 2011/12/28(水) 19:56:09.23

メソッドチェーンってバグをわかりにくくするだけだと思うなあ。もちろん性能面もあるし。linqとかは良いと思うけど。

642 : デフォルト名無しさん : 2011/12/28(水) 20:28:45.92

同じメソッドチェーンでも、linqなら良いけどrubyなら悪い .....

一言で言うと「俺はRubyが大嫌いなんだぁーー」ということですな

663 : デフォルト名無しさん : 2011/12/28(水) 22:45:30.53

メソッドチェインなんてライブラリ設計次第でどうにでもなる

PythonどころかJavaでもできる

内包表記は構文でサポートしないと難しい(マクロがあれば別だが)

680 : デフォルト名無しさん : 2011/12/29(木) 00:07:41.77

メソッドチェーンが関数型の方法に比べて特に優れている点があるようには思えないが

パイプ順に書きたければ書けるし

682 : デフォルト名無しさん : 2011/12/29(木) 00:30:35.72

680,663

Pythonには関数型として致命的な弱点があるからメソッドチェーンでは簡潔なコードが書けない

たとえば「(1) Rubyは 条件判定が(文ではなく)式」だから以下のようなコードが書ける

 ys = xs.select { |x|

   if test

     if test_1 then test_1_1 else test_1_2 end

   else

     if test_2 then test_2_1 else test_2_2 end

   end

 }

あるいは「(2) Rubyブロック内で局所宣言が可能」だから上のコードを以下のように書き換えてもいい

 ys = xs.select { |x|

   cond_1 = if test_1 then test_1_1 else test_1_2 end

   cond_2 = if test_2 then test_2_1 else test_2_2 end

   if test then cond_1 else cond_2 end

 }

関数型言語であれば「(1) 条件判定(if/case)が式」で「(2) 局所宣言(let .. in .. end)が可能」なの当たり前

ところが残念な事に、どちらもPythonには欠落しているから、上の例はストレートコード化できない

からPythonではメソッドチェーンは使われないし、「酸っぱい葡萄」に見える

684 : デフォルト名無しさん : 2011/12/29(木) 00:37:06.68

Rubyでもリスト内包表記が言語として組み込まれてくれると嬉しい

リスト内包表記はトップダウン思考

メソッドチェーンはボトムアップ思考

だと思う

頭に浮かんだロジックをすばやくコード化するのはメソッドチェーンが適しているし、

じっくり腰を据えてコード設計するならリスト内包表記のほうが美しい

自分は、たぶんこのスレRubyコアの中の人も見ているだろうから

そのうちRubyにもリスト内包表記が実装されるんじゃないかと期待しているw

766 : デフォルト名無しさん : 2011/12/30(金) 10:04:41.40

メソッドチェーンは書き易い

内包表記は見た目が整ってて綺麗、最終的な型がわかり易い

いじょ。

2011-11-29

交換用CDリスト

2011-05-19

今頃.NET Framework3.5のアプリ作る事になったけど

データベースアクセスには、LINQ to SQLっていうの使うのがいいのかな。

Entity Frameworkって3.5 SP1から導入されたみたいだけど、アップデートは4.0でしか行われていないみたいだし。

それにしても、ネット上にあるMicrosoftプログラム開発に関する情報って少なくなったような気がするのは気のせいかな。

ググっても全然引っかからない。

VB6やらAccessの開発全盛時代はちょっと検索すると掲示板やら個人サイトやらの情報がわらわら出てきた記憶があるんだけど。

今そういう人はWebに流れてしまったのかなぁ。

2011-03-03

ブログの問題を解いてみた

http://okajima.air-nifty.com/b/2011/01/2011-ffac.html

ぷよぷよを解く問題をやってみた

かかった時間はおおよそ1時間

途中でわからないところがあったのでくぐってしまった

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            StringBuilder[] blocks = {
                new StringBuilder("**GYRR"),
                new StringBuilder("RYYGYG"),
                new StringBuilder("GYGYRR"),
                new StringBuilder("RYGYRG"),
                new StringBuilder("YGYRYG"),
                new StringBuilder("GYRYRG"),
                new StringBuilder("YGYRYR"),
                new StringBuilder("YGYRYR"),
                new StringBuilder("YRRGRG"),
                new StringBuilder("RYGYGG"),
                new StringBuilder("GRYGYR"),
                new StringBuilder("GRYGYR"),
                new StringBuilder("GRYGYR")
            };

            bool updated = true;
            while (updated)
            {
            breaked:
                DumpBlock(blocks);
                for (int i = 0; i < blocks.Length; i++)
                {
                    for (int j = 0; j < blocks[i].Length; j++)
                    {
                        char c = blocks[i][j];
                        if (c == '*')
                            continue;
                        updated = false;
                        if (KillBlocks(blocks, i, j))
                        {
                            updated = true;
                            goto breaked;
                        }
                    }
                }
            }
            DumpBlock(blocks);
            Console.Read();
        }
        struct Point
        {
            public int x, y;
            public Point(int x, int y)
            {
                this.x = x;
                this.y = y;
            }
        }
        static bool KillBlocks(StringBuilder[] blocks, int x, int y)
        {
            bool[,] visted = new bool[blocks.Length,blocks[0].Length];

            MarkBlock(visted, blocks, x, y);

            Queue<Point> queque = new Queue<Point>();
            for (int i = x; i < blocks.Length; i++)
                for (int j = y; j < blocks[i].Length; j++)
                    if(visted[i,j] == true)
                        queque.Enqueue(new Point(j,i));

            if (queque.Count < 4)
                return false;

            while (queque.Count > 0)
            {
                Point p = queque.Dequeue();
                RemoveBlock(blocks, p.x, p.y);
            }
            return true;
        }
        static void MarkBlock(bool[,] visted, StringBuilder[] blocks, int x, int y)
        {
            if (x < 0 || y < 0 || x >= blocks.Length || y >= blocks[0].Length || visted[x, y] == true)
                return;
            char c = blocks[x][y];
            visted[x, y] = true;
            if (x + 1 < blocks.Length && blocks[x + 1][y] == c) MarkBlock(visted, blocks, x + 1, y);
            if (y + 1 < blocks[0].Length && blocks[x][y + 1] == c) MarkBlock(visted, blocks, x, y + 1);
            if (x > 0 && blocks[x - 1][y] == c) MarkBlock(visted, blocks, x - 1, y);
            if (y > 0 && blocks[x][y - 1] == c) MarkBlock(visted, blocks, x, y - 1);
        }
        static void DumpBlock(StringBuilder[] blocks)
        {
            foreach (StringBuilder s in blocks)
                Console.WriteLine(s);
            Console.WriteLine();
        }
        static void RemoveBlock(StringBuilder[] blocks,int x,int y)
        {
            int i;
            if (y == 0)
            {
                blocks[y][x] = '*';
                return;
            }
            for (i = y; i > 0; i--)
            {
                blocks[i][x] = blocks[i - 1][x];
            }
            blocks[i][x] = '*';
        }
    }
}

2011-01-11

人材獲得作戦・4 試験問題ほか

http://okajima.air-nifty.com/b/2010/01/post-abc6.html

迷路の最短経路を求める問題が出たので解いてみた

幅優先探索を使えばいいのがわかっていたのですんなりかけたのだが無限ループになる個所があったので動くようになるまで時間がかかった

using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;

namespace MazeFind
{
    class Point
    {
        public int x;
        public int y;
        public Point before;
        public Point(int x, int y,Point before)
        {
            this.x = x;
            this.y = y;
            this.before = before;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            const char BreakChar = 'B';
            const char GoalChar = 'G';
            const char WallChar = '*';
            const char BeforeChar = '.';

            StringBuilder[] maze = new StringBuilder[]{
                new StringBuilder("**************************"),
                new StringBuilder("*S* *                    *"),
                new StringBuilder("* * *  *  *************  *"),
                new StringBuilder("* *   *    ************  *"),
                new StringBuilder("*    *                   *"),
                new StringBuilder("************** ***********"),
                new StringBuilder("*                        *"),
                new StringBuilder("** ***********************"),
                new StringBuilder("*      *              G  *"),
                new StringBuilder("*  *      *********** *  *"),
                new StringBuilder("*    *        ******* *  *"),
                new StringBuilder("*       *                *"),
                new StringBuilder("**************************"),
            };
            Point start = new Point(1, 1,null);

            //最短経路を探索する
            Queue<Point> queque = new Queue<Point>();
            queque.Enqueue(start);

            while (queque.Count > 0)
            {
                Point now = queque.Dequeue();
                if (maze[now.y][now.x] == BreakChar)
                    Console.WriteLine("break");
                if (maze[now.y][now.x] == WallChar || maze[now.y][now.x] == BeforeChar)
                    continue;
                else if (maze[now.y][now.x] == GoalChar)
                {
                    Point p = now.before;
                    while (p != null)
                    {
                        maze[p.y][p.x] = '@';
                        p = p.before;
                    }
                    break;
                }

                if (maze[now.y - 1][now.x] != '#')
                {
                    queque.Enqueue(new Point(now.x, now.y - 1, now));
                    maze[now.y][now.x] = '.';
                }
                if (maze[now.y][now.x + 1] != '#')
                {
                    queque.Enqueue(new Point(now.x + 1, now.y, now));
                    maze[now.y][now.x] = '.';
                }
                if (maze[now.y + 1][now.x] != '#')
                {
                    queque.Enqueue(new Point(now.x, now.y + 1, now));
                    maze[now.y][now.x] = '.';
                }
                if (maze[now.y][now.x - 1] != '#')
                {
                    queque.Enqueue(new Point(now.x - 1, now.y, now));
                    maze[now.y][now.x] = '.';
                }
            }

            //結果を出力する
            foreach (StringBuilder s in maze)
                Console.WriteLine(s.ToString().Replace(BeforeChar,' '));

            Console.ReadLine();
        }
    }
}
<||

2010-03-12

とりあえずIT下請け企業はやめておけ

そういう会社で○年目(5年以下とだけ)がそろそろ終わるのですが、正直転職ばかり考えている。

というのも、自ら設計した仕様書プロジェクトに火がついたことはないが、下請け案件では殆ど火災だらけ。

国内王手のうちのある会社が主要取引先なのだが、はっきり言おう。

仕様書の質が低すぎる。

業界王手がこの様か!と言いたくなるほど仕様書の質が低い。

以下に私の食った仕様書をお教えしよう。

一つのメソッド「仕様書」が1000行を超える

はい、メソッド?なにそれ?おいしいの?と言わんばかりの超大作。

上から下まで流すだけ。保守性皆無。

しかも無理やりループを一まとめにするから、もはや何処で何をしてるのか、、、、。

Basic/Cobol ならまだ分からんでもないが JavaC#

概要設計がない

作ってないんですねきっと。何がしたいのかさっぱり分からない。

それで実装用の設計起こすんだから、そりゃぁ全体で動くわけねーわ。

(このときにクレーム付けられるのって下請けなんですが、でも下請けでは発言権無いですからね、、、|||orz)

メソッドの名前があり、SQL があるだけ

いや本当に何がしたいのか、、、、どういう分岐条件かも分からない。

いやむしろ書いてない!?

これでお金取ってるんだから詐欺だよなぁと。

主要技術無駄遣い

DI, AOP, O/R Mapper いずれも基本となる技術なんですよね、でも。

「何でこんな意味の無いところに使うの?」という使い方で逆に労力を増やしてくれる。

例えば O/R Mapper はテーブルとマッピングを行い、プログラム側で処理しやすく、、、、

とのことで、C# には LINQ まで装備されている。

で、仕様書の指定「すべてのSQL結果に対して対応するO/Rを作成する」ってwwww

ちょっと待て!テーブルじゃなくてSQL単位!?

当然従えば大量にオブジェクトができて、SQL仕様が変わるたびに、、、、以下略

「元のプロジェクトが○位の規模なのにどうしてその倍以上の規模なってんだゴルァ」

とブーたれてくることも、、、、自分設計に言って下さい。

「すべてのオブジェクトシングルトンで実装し、Interface用意してね、DIで使うから」

ってどれだけ無駄すれば気が済むのか、、、、。

(Test 時にMock入れるだけならここまでする意味って無いよな…)

そしてこんなことをして下請けをいじめた挙句「弊社には最新技術ノウハウがございます」とか言う。

素敵、、、、、。

これでは国内生産無理だわ

こんな人海戦術しかないような仕様を書いてるようでは、そりゃ安価海外に流れるなと、、、、。

本当に自分技術を信じる人は、独立系、海外系、自社製品開発に行ってください。((もしくは王手企業でまともな仕様書書いてください))

間違っても下請けプログラマーなんてゴミ押し付けられる仕事場行っちゃダメよ。

2010-03-02

セックスに自信が無いはてなユーザーリスト(2010/3/2版)

はてなで人気記事になってるけど、これをブクマして手放しで褒めてるような男は全員、

セックスがどうしようもなく下手な奴だから気を付けた方がいい。

ある意味あの記事のブクマは、下手なセックスをする男のブラックリストとして有効だ。

http://anond.hatelabo.jp/20100302033234

id:fctirol

id:tomone02

id:serpico

id:koro28

id:ravenclaw

id:noburin2007s

id:Hexane

id:unproblematic

id:natuki_aya

id:toller

id:sarahono

id:shunt_i

id:birdtail

id:kijou

id:ysadaharu

id:jori_ds

id:dance777

id:Elie

id:daysleeeper

id:shuri419

id:Byaco

id:hatesyu

id:highcampus

id:grass7269

id:araken1970

id:suzuki8it

id:wonderwall221

id:mako0320

id:remsy

id:tobina

id:sleeper666

id:tori_mt

id:healthysun

id:linklist

id:cake_holl1515

id:iriso

id:nikutetu

id:candy296

id:memoclip

id:ginnang7

id:hatsukoi-boyz

id:zgmf-x20a

id:Xenophias

id:ancy

id:yamasin1129

id:gyu-tang

id:turu_crane

id:banal0802998

id:rxh

id:more_white

id:bomb-pon

id:fj93ri239

id:tramega

id:antenna_nu

id:scoops

id:satorun1519

id:kusigahama

id:mog1394

id:nkm69

id:jijinman

id:raf00

id:japonium

id:maro2315

id:naoking190

id:eriko315

id:yu_kichi_110

id:panchoo

id:narayuni

id:rh2035

id:relations

id:kisiritooru

id:yukiastheair

id:kaeru333

id:boom-boom-boom

id:hiroyukiegami

id:timetrain

id:MrD

id:nht734ht4

id:iii309

id:bigtomahook

id:memonga2

id:s-tomo

id:boonies

id:yoshimoto311

id:itacchi

id:sentaro0525

id:lesser28

id:shotime0909

id:jimoop

id:souhei64

id:kamekamehaaa

id:sayi

id:love46kaede

id:ureyubo

id:hiroakisan

id:GORIATH

id:tzk_works

id:Taniken

id:mitsuxyz

id:tpsm

id:aionarap

id:neotokyo

id:ak2

id:hurikake

id:tanipro

id:zichao

id:mumei

id:PIKEY

id:prince_nepia

id:deadpro

id:solunaris149

id:murocchi

id:xotakk2

id:minoru-n

id:remsleepless

id:MD-list

id:kaz21hb

id:tuka8s

id:Ken_Yamada99

id:caraldo_k

id:hideya_s

id:fumysan

id:n_isam

id:kenjikby

id:yyysawty

id:tsutomura

id:compile

id:taishow

id:Tarouxx7

id:fantasticplastic

id:yo-11-06

id:oknacky

id:ramune_cap

id:hokkaido_bear

id:jiddi

id:moncha7777

id:sp200385

id:kagomizu

id:yuichi0613

id:Takito1

id:mi2ru

id:nasuhiko

id:hk1226

id:eijiozasasilva1226

id:xevra

id:tottey

id:masato611

id:olive043

id:AJYA

id:susue

id:tadakitisan3

id:TempFile

id:k_wizard

id:siromado

id:kaitoster

id:pitworks

id:tunaguinfo

id:u-c-h-i

id:eyeshield21

id:way_to_goal

id:hiroomi

id:kiyo3206

id:takanii

id:masami-t

id:gesho

id:wady

id:API

id:beatana

id:mixvox-j

id:pycol

id:elegantronica

id:akhk14

id:usagirabit

id:osakana110

id:oishin0140

id:ryunosukekun

id:tsubonobu

id:fu_flowers

id:momoco-f

id:percusshon

id:yamakozawa

id:whitelie1060

id:Nowhereman

id:rnrtossy13

id:kwsmhideki

id:Q-DICE

id:mizugu-f

id:hard_liquor

id:itooooda

id:fgujijklnn

id:yutamoty

id:y-mat2006

id:keano

id:tlayboy

id:polyphonic

id:nostalvic10

id:guldeen

id:footwork_x

id:gingasc

id:nora3l

id:kaionji

id:janba

id:lovecall

id:pinzolo

id:gem_meg

id:te106149

id:robeht

id:radiocat

id:hirosuii

id:yatt

id:prototypemoaisan

id:chronyo

id:atakish7

id:tittea

id:washburn1975

id:bioweb

id:hataichi

id:mythm

id:shibudqn

id:ashuto

id:jessicaalba

id:pochi-p

id:wartanenemon

id:KumaCrow

id:kzykz

id:uzuki-first

id:r0fi69j

id:mobileac01

id:zyun1109

id:rockstyle

id:h1romi

id:mikankanikan

id:harax

id:boshi

id:arienaindaze

id:garisi

id:miku3m9

id:Marlone82

id:mt_mkhr

id:tm_universal

id:sutaruku

id:kato_tatsuya

id:srutty

id:sononon

id:s_ryuuki

id:linq

id:uemtgraph

id:FestinaLente

id:ensign

id:nike1125

id:nobby81

id:strangesoulbox

id:t298ra

id:tqxburton

id:non_taro

id:mogemura

id:hatesenID

id:mintpafe

id:TZK

id:KEi

id:soi27

id:no-sugar-n

id:Naruhodius

id:machicolony

id:lonelyman

id:WinterMute

id:ukabu

id:Makkon810501

id:pluma

id:zenibuta

id:selim

id:AR30

id:hikken_305

id:Eis

id:junta1999

id:kabakiyo

id:sytfap

id:a3sw

id:hnkn

id:justsize

id:nobukn

id:fk206

id:bigarade

id:mikomiko77

id:dkoji

id:Makots

id:zephyros

id:takatakakun

id:minazuki6

id:kawase07

id:akiraman_club

id:orenimoiwasero

id:kanimaster

id:Pasta-K

id:qp365

id:bosuneko224

id:k-yanase

id:haborym

id:pita-gora

id:slidewondersmoke

id:asmblr

id:fujii_isana

id:zizouxx

id:happymercus

id:teriamon

id:takezou

id:ka2hik0

id:malark

id:tuisumi

id:hide_surf

id:czblue

id:oor

id:rin1024

id:beautymaquia

id:serupi9

id:tomo31415926563

id:daisuk-com

id:zelda07

id:morita_y

id:cardboarder

id:misa_meisha

id:vanish_l2

id:c-pete

id:namicky

id:ns101977

id:dododod

id:pkpkbrother

id:yukky2001

id:jagging

id:RAVERAVER

id:georgew

id:pane

id:tinpui893

id:yuma_sun

id:kazu_the_kuzu

id:AltNight

id:mobojp

id:mjolnir2k

id:kitakyudai

id:saponel

id:ysync

id:hidekichi999

id:fusiontypex

id:dai_simajima

id:tanashot

id:Lif

id:bambaataa

id:yb25hh

id:g-25

id:yasai_014

id:turnX

id:kaw0909

id:badpiero

id:masasan

id:triceratoppo

id:thyself2005

id:taizouzo

id:ks1988

id:t4nch0

id:Kamekiti

id:kurimax

id:tecepe

id:ameyoko

id:tako-steak

id:toooooma

id:a6w6a

id:tender_apricot

id:nyoron0128

id:tadasi17

id:syoh11

id:forever_blue

id:gigabyte525

id:lionwind

id:arcno404

id:errantry

id:rizenback000

id:tknzk

id:hatanaoki

id:PinkMoon

id:massaro743

id:y-kawaz

id:kakku22

id:oshujisensei

id:tama3333

id:A410

id:dradxjp

id:tyunno

id:akishin999

id:batti-8

id:Okky

id:belka1009

id:yotaroh8889

id:mvsw

id:separateways86

id:lisp719

id:tester000

id:n41

id:chiqashi

id:hard_boiled06

id:elogizy

id:komomo1966

id:hiro123hiro

id:kazkin7

id:jyusoushin

id:kazunoricc

id:zeri

id:adgt

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