「アセンブリ」を含む日記 RSS

はてなキーワード: アセンブリとは

2019-02-09

大学に通っているが不安

僕はアメリカ大学Computer Scienceをundergraduateで専攻しています

大学自体レベルTOEFLスコアが80あれば入れるぐらいです。

今は2年次ですが各学期に専攻のクラスを一つ以上取っている状況です。

基礎教養に当たるクラスが60単位ほどあるのでそれと並行して進めています

先にアメリカ大学に入った経緯を話します。

中学高校とまともに学校へ通わずに、だけど高校通信制だったので欠席分の課題を何とか終わらせ無事に卒業しました。

大学担任に勧められるまFランに入ったのですが友達も作れず一年も続かずに退学しました。

それからフリーターしながらダラダラと生活していて、二十歳を迎えます

高校友達担任とその辺りのタイミングで再開した時に自分人生方向性を深く考えられました。

唯一英語だけは人生のいろんな場面で触れる機会があり、それを活かしたいとも考え留学に決めました。

両親に掛ける負担一般的学生に比べて半端ないと思いますし、それは一生を通しても清算できません。

なのでせめて、失敗だけは絶対にしないという心構えで取り組んでいます

話を戻します。

入学当時プログラミングに関して、僕はスッキリわかるjava入門を通読した程度で、他の知識は皆無でした。

今まで取ったコンピューターの基礎クラス2つはjavaが主で、試験選択+プログラミング問題(これは10行に満たない簡単もの)でした。

もう一つのソフトウェア開発はc++を用いて、後はlinux基本的なsyntaxを覚えました。

基本的にどの講義で習うこともネットで調べれば(geeksforgeeksなど)独学は可能で、

特に日本人なら良い日本語書籍に恵まれているので学費コストを考えたらUdemyでかなり節約できるだろうなと思いました。

それ以外の雑多なクラス(日本の基礎教養カリキュラムはあまりからないのですが、歴史生物学英語理系文系関係なく取らされます。)

も新しい知識を得られる意味では楽しいと思えるのですが、それが大学を出た後にどう自分を助けてくれるのかは想像できません。

Computer Science自体カリキュラムざっと眺めると高水言語からアセンブリなどの機械語に近いもの必須クラスで学び、

後はOS機械学習プログラミン言語のprinciples、など選択で取る流れになっています

これはどの講義でも言える事だと思うのですが、1セメスターで一つの内容に対する深い理解を得るのって時間的に厳しい所があります

上辺の理解でも試験対策さえすればAを取るのはそう難しくなく、そのまま次の学期に移行してしまます

僕が懸念しているのは、このまま卒業すると間違いなくただのジェネラリストになってしまうんじゃないかって事です。

自由時間を使って書籍なりUdemyなりで技術を身に付けるのが最善策ですが、要領よく課題と並行してやるのは難しいです。

まだコンピューターに対する理解が浅く、注力したい分野を定められていないのも不安を抱く要素なのだ理解しています

ただ、モチベーションの為にも現状の学業に対する認識を改めたいという考えが強くあります

最後まで拙い文章すみません

2018-12-23

SECCON国内大会供養

SECCON国内大会お疲れ様でした

以下ツイッターなどから拾った我々の反省点となります

以上、来年もっと頑張ります

2018-05-29

クラウドのみにするって

最近クラウド流行ってるからって全部クラウドに移行するなんていうのをたまに聞く

自分で面倒なことしなくていいから楽だとは思うけど、それってインフラ面をできる人がいなくなるということじゃないの?と心配になる

ほとんどの人がクラウド使うのが当たり前になった頃に、AWSなどが値上げしても、もう1から環境作れる人がうちにいないから高いけど払うしか無いみたいなことになりそう

他にもクラウド提供してる会社がなにかの理由でやめたりしたらすごく大変そう


からクラウド使うにしても全クラウド頼りってなんか賛成できない


でも考えてみたら、今って高級言語かばかりでCとかアセンブリ書ける人は減ってると思うし、IT系会社でもC言語とか低レイヤー系を扱える人が全然いないところだって普通にあるわけだ

私自身それらの言語あんまり詳しくないが、必要になることがないから困ってはない


同じようにクラウド化もインフラの設定や環境作りなんて専門の人に任せておいて、それらに興味がある人でもなければ基本は知る必要もないことになりつつあるのかな





2018-04-02

ゲーマー友達が欲しい!!!

友達欲しい!!!!!ゲーマー友達欲しい!!!!!

ちなみにコンソール派です!!!!!PCゲーはゲーミングPC無くてプレイ出来ない!!!

ゲーミングPC欲しい!!!!!ゲーマー友達もっと欲しい!!!


どうしたらゲーマー友達できますか。別にオンラインで一緒に遊ぶとかしないでもいいんです。最近出たオススメタイトルを互いに紹介し合ったりレビューし合ったりゲーミングバー行くような関係友達が一人や二人欲しいんです。

友達別売り?いやお金で買えないよ。プライスレス

ーーーーーーーーーーーーーーーーーーーーーーー

こっちでも追記

みなさん優しくて本当に感謝感謝です。ありがとうございます

トラバに関して、少しだけ返信します。

ゲームやってる人の後ろで見ていたい

→喋りが下手くそなので多分プレイ動画の垂れ流しになるんですがそれでも需要あるならやってみようかなぁ

・ゲーミングバー?そんなのあるの?

https://goo.gl/dxvfVb こんな感じで色々ある

ゲーセンいけ

ゲーセン特有コミュニティ、ほんと憧れてる。でも貧乏なんで通えないんだわ。

コンソール派ってはじめてきいた

→語弊を生んで申し訳ない。あなたの言うコンシューマー派で捉えてもらって構わない。

 他の人も言及しているがコンシューマーというのは和製英語で、英語だとコンソールゲームと言う。

 自分職業海外情報に携わることが多くどうしてもコンソールと言ってしまう。

・俺と友達になろう 積みゲー多いけどな

→是非なって欲しい id教えてくれればコールするし、嫌だったらブクマから私のidコールして欲しい。もしくはTwitterに連絡くれても可

自分オールタイム・ベストと好きなゲームジャンルに関して

書いてくれという方がいたのでとりあえず3本書きます

◯桜国ガイスト

ポケモン流行った当時量産された、いわゆる「ポケモンlikeゲー」の中でも個人的に良作と思えた一本。

相棒であるモンスター武器に変化させ、トレーナーも一緒に闘うというゲームシステムが斬新だったのと、それ活かしたラスボス戦が最高だった。妖怪和風)とSFを融合させたかのような世界観も秀逸で、小話付きなサブミッションなどやりこみ要素も豊富。色々と惜しいゲームだったが、作品を購入した当時の自分は狂ったように遊んだのを覚えている。リメイク版とかでないかなぁ

メタルギアソリッド3

戦争×歴史×SFロマン大作『メタルギアソリッドシリーズ』の第3作。東西冷戦の中に生きた伝説特殊部隊を描いたスニークアクションゲームストーリーラインこそシンプル王道スパイ映画のような筋書きだが、小島監督ならではの演出も相まって噛みごたえ抜群の味わいを誇る。スネーク〜イーター♪〜や「人生最高の10分間にしよう」以降の演出は今でも忘れられない。

いわゆるメタ演出というものゲームで触れたのも私はこの作品からだった。文字通り腹筋が崩壊したのを覚えている。

合わない人は合わないが、合う人はドハマリすること請け合いゲームだ。ちなみにこの作品のおかげで、私はスニークアクションゲームが大好きになった。アサクリシリーズ、HITMANシリーズDishonoredetc

アーマード・コア for Answer

ロボット3DSTAG「アーマード・コアシリーズ」4作目続編。個人的には集大成という感じでシリーズ内で一番好き。安易に語らないことで自己矮小さと対する世界の壮大さを無意識に感じさせる物語プレイヤーの選択次第で変化する世界と、それでも全てが明らかにならない真実。爽快感抜群の超高速戦闘自由度の高いマシンアセンブリゲーム難易度を上げるとそれに応じて物語真相に近づくという演出もよかった。これ以上好きの気持ち文字に起こすとなんだか安っぽくなってしまうように思えてならない。言葉不要か…


こんな感じです。基本的アクションアドベンチャー大好物です。最近遊んだものだとアサクリオリジンズやニーアオートマタベヨネッタ2スイッチ版)とかですかね。あとはいわゆるコマンド選択JRPGADVも大好きです。FFドラクエポケモンLIFE is Strange、テキスト主体ポイント・アンド・クリック系(シュタインズ・ゲートさよならを教えてマブラヴオルタネイティヴなど)。FPSエンジョイ勢。Dota2とかやってみたいがPCが無い。ソシャゲグラブルハースストーンしてる。

2018-03-18

プログラミング歴とプログラミング能力ほとんど関係無い件について

ほとんどの人はもう既に気付いていると思うけど、あえてこの表題言及している人はあまり多くないんじゃないかと思ったので書く。炎上したら💩なのでここに書く。

結論から言うと、プログラミングを何年やったかプログラミング能力はこのぐらいと言うことは絶対にできない!

これは何もIT業界だけでなく他の分野でもそうだ。たとえば野球とか絵画かにも言えることで、ただ年数を重ねればいいってわけではない。勘違いしてほしくないのは、他の業種ではただ年数を重ねればいいといっているわけではない。

コンビニだったら始めはレジ打ちから入るだろうが、だんだん品出し、他者とうまく調整できv、何が売れるか・何が利益率を叩き出すかを把握し、接客態度は絶えず磨き……というように、能動的にスキルを身につけるなければあっという間に「経験した年数」などというものは何の武器にもならないであろう。(「やっても給料変わんない」とかそういうのは抜きにしても)

IT業界でもこれが言えるのだ。

その証

個人的経験によるサンプルしか無いが、ぼくの経験上では年数が高ければ高いほどいいと思ったことは全くない。もちろん2ヶ月の新人と5年目の人での比較はなかなか難しいが、情熱ある新人プログラマ半年で5年目を追い越すなどということはありふれた話だ。あたか大人小学生中学生さらっと数学英語能力で負けるように負ける。

残念ながらしっかりした実証などはないので、周りの環境がそうではない場合は納得できないかもしれないが、以下は明らかであろう。

経験年数とは時間であり、重要なのは時間を代入すると成長度合を求められる関数(ここではFとする)の違いである。(F: time -> ability)

Fの方が大事理由も明らかだ。timeケチをつけようとする例外を除けば誰にとっても同じであり、おもしろくもなんともない。

Fの次元が違う場合は、能力次元文字通り違う。そのため、かなり重要だ。

プログラミング歴が増えることは恥だと思いたい

プログラミング歴2年だからこんなことを知っている」と周りから評価されるというのは、要は「プログラミング2年生」だということだ。これははっきり言って侮辱である。2年プログラミングをやったから知っているんじゃなくて、2年の間で勉強したことたまたま別の箇所で出現したということだ。決して2年やったからではない。2年の間に獲得したスキルがいっぱいあるからだ。2年は重要じゃない。どれだけやったかだ。2年という期間それ自体は全く重要ではない!

プログラミング歴2年なのにそんなことまでできるのか」というのが真の評価なのだ

これはまあまあ高い評価である。「プログラミングを始めてまだ半年なのにそんなことできるのか」という評価はより容易く得られる。年数を重ねれば重ねるほどこの評価に達するのは難しくなる。したがって「プログラミング10年なのにそんなことまでできるのか」という評価ほとんど得られない。ほとんどの場合、「10年やってるからできるんだな」とか、ひどい場合10年やってるのにこんなこともできない」という評価になる。

これもある種、年数というもの全然重要じゃないとみなされている証左であろう。みんな知らず知らずのうちに周囲の人々の経験年数と能力とでおのおの相関図を作り上げて、標準偏差をなんとなく作り出して、「45歳……クソコード……チーン!こいつは偏差値37!落第!死刑!」みたいなことをやってるんだろう。

プログラミングも慣れてくると、特に新しいことを勉強しなくてもなんとなくできるようになってきはじめる。これが危険シグナルだm

謙虚でありたい

自分プログラミング歴が長いのに、HTTPSの仕組みもTCPの仕組みも詳しく知らず、JavaScriptもまともに書けず、WebAssemblyは全く知らないし、RDBのことは知らないし、もちろんRDB以外のDBちんぷんかんぷんで、デスクトップアプリは作ったことがない、サーバサイドはRailsしか知らない。Railsがどう作られているかも知らない、gitの触りぐらいしか知らない、AWSGCP全然使いこなせない、公開鍵暗号方式もよく知らないし、アルゴリズム簡単ものしかからない。デザインパターン勉強してないし、関数型言語もわからないし、C言語全然読めない、アセンブリはやろうと思ったことすらない、正規表現も複雑なものはいまいちわからないし、機械学習はわからないし、そもそも数学不安で、AndroidアプリiOSアプリもまともなものリリースしたことがなく、エディタは人が作ってくれたプラグインをただインストールするだけで、英語ほとんどできず、セキュリティに関してはザルもいいとこ」

のように自分を見直すべきである。もちろんほとんどの人はそうしているとは思う。そもそも自分プログラミング歴が長いのに」という部分はもはや要らないだろう。

あとはただ穿つだけである能力は、どれだけ、何を、どうやったかとの方と強い相関を持つ。能力とは現在状態であるのだから、強い相関を持つのは最最もである

結論

少年老い易く学成り難しである

一刻も早く「プログラミング歴」でなんとなくの判定するのをやめて、プログラミング歴1秒の人に対しても、プログラミング1000年の人に対しても、そのFを見るようにし、自分はとっとと次元を越えて昇華したいものである

結局、「いっぱいやればいっぱい成長する」という自明結論自体は変わらないんだが(高)

2017-09-30

C言語最初に学ぶべきではないが最初に学ぶことのメリット

私は今とある大学の4年生です.

本格的にプログラミングを始めとしてコンピュータ科学を学び始めたのは大学入学してからです.

今では幸運なことにインターン都内ベンチャー企業golangpython, scalaを用いた大規模なシステム構築に携わっています.

給料日本大学生にしては破格といえるのではないでしょうか. それも大学で真面目に勉強したお陰であると胸を張って言えます.

大学の方の卒業研究では組み込み系のセキュリティに関して研究しています. 正直テーマ選びに失敗したなと思っているので大学院にいったらシステムプログラミング系の方にシフトしようと思っています.

無駄話が過ぎました. 表題に関して話しましょう.

私が大学の授業で初めて習ったプログラミング言語C言語でした. 理由教授に聞くと, 並行して座学で教えるコンピュータ科学系の専門授業全般と結びつけやすいからだそうです.

最近TwitterQiita, StackOverflowなどでは「初学者最初に学ぶべきプログラミング言語はなに?」という質問に対して, JavaScriptPythonから入るのがベストだと言う人を沢山見かけます.

私自身こういった意見には賛成です.

JavaScriptブラウザというものが有る限り20年は消えなさそうですし, Python機械学習を始め, Webシステムでも使え, 非常にクレバー言語です.

javaオススメだと思います. 30億?ものデバイスで動く言語ですしドキュメント豊富です. 色々な分野にも応用が効くでしょう.

さて, そんな中でC言語という悪い評判しか聞かない, でもやたら色々なところで使われているらしい言語最初に学ぶメリットとは一体なんなのでしょう.

一つ, 私が思いついたのはコンピュータと仲良くなれる.

というのもC言語アセンブリ機械語に比べれば, 人間にわかやすく, かつコンピュータ側にも近いという顔をもちます.

真面目にプログラミングしようとするとどうしてもそのコンピュータの仕組み(主にメモリ) について学ぶ必要が出てきます. これらの知識現代の開発に置いて役立つ分野比較的限られると思います.

しかし, それらは思わぬバグ特定意図していない動作改善に役立つことがあるかもしれません(実際に私もいくつか出会いました)

二つ目は他の言語を学ぶ時のハードルが非常に低くなる. これはどの言語を学んでも同じだとは思います.

そして, 他の言語の高級な機能に思わず涙ぐみながら感謝すること間違いなしでしょう(javaのsplitとか他の言語にもあるHashとか)

ただ, 私はC言語構造体やポインタのお陰でオブジェクト指向プログラム言語を低レイヤ実装的な面と概念的な面ですんなりと理解することができました.

そしてよく挫折ポイントとなるポインタ(ダジャレじゃないですよ?). これもメモリの住所だと考えればそれほど難しくはないのです.

メモリ管理を適切に設計した時あなたプログラムボルト並みに早く走ってくれるかもしれません.

他の言語では味わえないやりがいがあるのもこの言語の魅力でしょう.

書いているとこれぐらいしか思いつきませんでした.

それでもコンソールに初めて Hello World! が出力された時の感動はやはり忘れられません.

昨今, 高機能言語が沢山ありますが, あなたプログラミング生活ささやかアクセントとしてC言語を学び直してみてはいかがでしょうか?

きっと今使っている言語普段言わない感謝言葉を述べること間違いなしです.

それではこんな駄文に付き合っていただきありがとうございました.

一刻も早く世界からC言語が消えることを祈っています.

2017-09-28

anond:20170927223119

AI翻訳で確かにこの手の文章が苦手なやつ多いし、もっといえば産業翻訳でこの構文苦手による人間誤訳を見かける。

 

アミラーゼという酵素グルコースがつながってできたデンプンを分解するが、同じグルコースからできていても、形が違うセルロースは分解できない。

★ セルロースは(  )と形が違う。

デンプン  B アミラーゼ  C グルコース  D 酵素

は相当の悪文で特に二個目の句点に迷う。

2ch書きだったら

アミラーゼという酵素グルコースがつながってできたデンプンを分解するんだ。しかし、セルロースは同じグルコースからできていても形が違うのだ。

からアミラーゼセルロースは分解できないんだ!(ナンダッテー)」

ラノベ書きのモノローグだったら

アミラーゼという酵素グルコース連鎖したデンプンを分解(ディスアセンブリー)する。しかセルロースは同じ原料でも形が違う・・・

まるで将棋じゃないか!」(すまんネタに走ったしこれはテレビ版だった)

くらいまでかみ砕いてやったほうがいい(と編集にも言われるだろう)。

日本人は長い文章がえらいとおもってるのが輸入文化おバカさんで、

英語ではむしろ同じ文章でも入れ子構造をこんなにわかりにくくできない気がする。

2016-09-02

情報系の学科に通っています

学問の徒として生きるのは完全に諦めてるし、大学もはや無駄と思ってるけど、無能でない俺ですら無理と思う道であってこんな補助金出してガバガバ教育してる日本金の使い方無駄すぎ……とは思う 

もっとちゃんとした就職予備校設置してほしいけどそういう変革は無理なんだろう。

そういう話じゃないのか。今回はそういう話ではないです。

パソコンのご本を読めるようになるのが難しい、という感じのお話。独学? が難しい。

パソコンのご本、あんまり知識がちゃんとしてない人は読めないようになっているっぽい。

後述するけど、わかりやすいように作られたスクショまみれの本とか。

全体的なビジョンがないわけ。実際の世界がそれで動いてるようなビジョンが。だから読めない。

僕は社会の役に立つことを直接学びたかったよ。社会がどういう風に動いてるかみたいな話をさア

そういうのがあれば、パソコンのご本を読めるようになるんだろうなという感覚がある。

実務の話!! 実際に「IT系のおしごと」というのがやってるような話で、特にコーディングに直接絡んでくるようなもの

技術実態みたいなやつ。そういうのは学校で教わらないんですよね。

優秀な人はバイトとかやって知ってるっぽいけど、それみんなバイトでやるの? みんなはやらんでしょ。

というかバイトみたいな形で社会参画しないと学べない知識だったら、それはそれでやばくないですか? という提起でもあります

はてな民の人IT系で働いてる人多そうだけど、そういうところ、そういうところなんですよね。

そういう知識があれば、大学図書館に置いてあるような「技術本」っぽいやつ? の扱い方がわかるんだろうなーと思う。

いや別にやってきたことは何も無駄にはなってないんだけど。ハードよりの話もしたり、基本的数学とか物理とか電子とか論理学とかシャノンの話とか。

でも、パチョコンは実学も以前に学問というか、実際に使えてナンボな部分が(いまこの想定してる話では)デカすぎるのに、

そんな環境的な、Linuxサバ建てしましょーねーみたいな話も三年後期になるまでやらなくて、そんなん人が立ててるの見たら一発で覚えられることだし、みたいな。

みたいな。

そう、なんというか本が読めないんですよね。これ人がいたら一発なのに……というようなことだらけで、絶対間違った道に来ちゃってるよという感じがする。

(焦ってるんじゃないのか?一冊だけをしっかりやれよ。と思ったりするし、言われそうだけど、それが一番の正解なのかな…やっぱり)

つーか本読みながらチンタラチンタラ比較するの嫌になるわけですよな。わかる。

スクショがいっぱい貼ってあったからといってわかりやすくなるわけではないし……。

てかスクショ貼ってあると古くなるとすぐ対応できなくなるから本当に困りますわよね、という話もあります

僕が何を期待しているのかって?それは実務のうちで難しいお話が出てこない、環境の話、という感じ。

プログラミングをやれと言われても、それIDEはなによ?っつー話ですわな。WindowsだとVisual Studioとかになるのかな。

Eclipseはよくわからない。Javaアプリ作るっていうのそんなに真剣にやったことないし……

っていうかそもそもプログラミングお仕事??がよくできる人たちはプログラミングで何をしているの?

アプリを作っているんですか?それだったらヴィジュアルモードのチェックが簡単なやつ必要だよね、という話で。

あるいは別にアプリなんか作ってないのかもしれないよな。とすると何かしらサーバーを使って捌くようなシステムサービスの細かい調節のお手伝いをしてたりするわけだ。

その具体的なトラフィックがどうだからどうのこうの、というお話をしたり、アクセスの仕方がどうの脆弱性がどうの、新しい技術がどうの、という話だと思うんですけど、

端的に言ってそういう話がぜんぜんわからない。そういう話がわかるとスンナリ進めるはずなんだけどな~と思いながら。

親の金大学行ってるのに、なんかもっとこううまくできるはずなのに……という感じでつらい。

僕は人の役に立つ仕事のおべんきょおがしたいんですよ。なのに図書館で借りられる本、自分が何を知らないか理解できないのかもよくわからない感じで……

日経Linuxとか読んでみて、去年のやつにプロセスとかスレッド説明あったけど、僕はまだOS基本的な話もマトモに理解できていないなので、

そういう人間には難しすぎる (というか抽象的すぎてかなりわからなかった) スケジューリングの話はされたので、プロセス対象なの?とか、そもそもCPUアセンブリ命令ADDとか?を実行しつつ、

OSがそのアセンブリ命令をセットにした実行単位を用意して、OSスケジューリングしてくれる、みたいな話なのかな……? と思った

(でも明らかにプロセススレッドがわからない人間には伝わらないような程度のフワフワ説明しかなくて、これ、誰向けだ?とか思ったけど、やっぱり身近に聞ける人間がいる人のための本なのかもしれないですなあ)。

そういうの、本とか、自分の足りない知識とか、おそらくその辺にあるんだろうな~と思いながら、でもバイトで働くにも微妙プログラミング知識必要で、「これまで何作ってきましたか?」と言われても、

そういう、あんまりしっかりしたものを作ったことないし、C言語gccで可変引数までやって、でもアセンブリがどう実行されるんですか、という話はよくわからない。

Javaも習って、まあそれっぽいお話はいっぱいされたんですけど、アプリ作るの難しかったし、GUIはクソだね、というか、手打ちでやったんですけど、こんなん絶対手打ちより良いやり方ありますやろと思いながらやっていた。

絶対手打ちより良いやり方あるはずだけど、僕は知らんし、知らない以上何が効率的に作れるのかもよくわからないし、わからないことにはできるだけ手を出さない方がいいな、と思う。

いや~なんつーかこういうことばっか書いてると「甘えんなカス氏ね」とかコメントされて、2000回くらいは殺されちゃうんですけど、それは甘んじるとして、でも何というか……みんなそうなんですかね。

年代で「めちゃくちゃプログラミングできちゃいます!(漠然)」みたいな人間いるけど、僕が例えばどういう本読んでどういう道筋を歩んだらそういうカンジになれるか、かなり見えなくてつらいし、

そもそもそういうのを職業にできるスキル高く磨けるような人って、いったいどういう生き方してきたらそうなるんだろう、と思っている。

これで情報系の研究室いって、なんとか乗り切って就活して、プログラムがんばって書きましょうー!というような職場に行ったら、

それはもう「学生じゃないんだから。もう社会人なんだから自分で調べて」となるんですよね。マンガとかでたくさん読みました。それは死ぬほどつらいでしょ。現に人死んでるじゃないですか。

結局周りに聞ける人間がいる環境ってなに? 今もいないし、大人になってもいないんでしょ? だからはてブで「プログラマーはやっぱ自分で本読んでスキルアップしなきゃ死ぬぞ!」みたいなやつがホッテントリになったりするわけでしょ?

それはつらい。ご本読んで理解できないの、というか読めてないの、ウチにあるだけで目が上滑りして「全体像がよくわからいからな~ しょうがないよな~~」と言いながらろくに読む気も起きなくて、

「でも本当に役に立つ本って開いた瞬間に読みやすいのでは?」みたいな信念がある。 これが原因なのかな。でも、この信念、少なくともこれまでめちゃくちゃ役に立ってきたものなんだよなあ……。

学生の今、自分が考えてて不安に感じてることが、「追いつけない」みたいな不安が、イマイチわかり切ってないし、

から具体的な質問として一言で言える話の羅列としてわかってないわけじゃなくて、もっと漠然とわからない。こういうこと感じてるの、僕だけじゃなくてパソコン知りてえ~~となって大学に来た人のうちけっこう多いような気がするんですよね。なんか生半可に甘えた環境から

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

とりあえずこれ書いてたら少し気分落ち着いたので、要点をまとめると、

「本で勉強するのつらいよなあ~ そんなんじゃどんな分野行ってもつらいだろうなあ~」

ということです。

そういう有象無象の本をスパスパッと切って、「この辺のこの本読んどくとこういうことができるようになるだろうな~」というモデルがまだあんまりできてない。

そういうのができるようになるのかと思ってたらあんまり学校でも学べる感じじゃない。全体像とは……となっているけど、こういう悩み、自然解決したりしなかったりするんだろうな。

とりあえず、これは自分メモの今後の方針です。OSより下の階層、たとえばALUとメモリの組み合わせで、program counterを進めながら動いてるんだよーという感覚はあるので、

それがOSとどういう風につながってるのか、とか、100均で売ってる電卓、あのデジタル表示の部分がどういう仕組みで動いてるの、ということを考えたり、

インターネットプロトコルパソコンが具体的にどういうパケット送信しているんだろう、というような話を攻めて、これが全体像とやらが見えるようになる一助になるかはわからないけど、

できるところからできるところだけ勉強していきたいと思います。それが、僕にとって、よくわからない本をじっと読まなきゃいけない義務から抜け出した罰の引き受け方っぽいので。

2016-08-04

[] [ASP.NET] Microsoft.Web.Infrastructure が見つからない場合

ファイルまたはアセンブリ 'Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。 」

http://stackoverflow.com/questions/4742894/mvc3-deployment-dependency-problems

IIS を実行させているサーバの GAC に Microsoft.Web.Infrastructure.dllアセンブリキャッシュ存在しないようです。

プロジェクト参照設定にある Microsoft.Web.Infrastructure のプロパティを開いて「ローカルコピー」を True に設定して、発行(デプロイしましょう。

(C#でもVB.NETでもほかでも同じ...)

2016-04-12

[]4月12日

○朝食:なし

○昼食:おにぎり三つ

○夕食:納豆ご飯(納豆二つ使い)、水餃子焼きそば

調子

むきゅー!

お仕事は、なんか大変になりそうで、普通だった。

ブコメ返信

oooooo4150 “へろへろくんはボンボン漫画”←ボンボンはポンコッツがめっちゃエロかった記憶しかないや。

http://b.hatena.ne.jp/entry/284873507/comment/oooooo4150



ロボットポンコッツを始め、クロスハンターとかメダロットとかのポケモンになれなかった銀メダリスト達が多くいましたね。

まあただ、これは辞めなければ勝ちみたいなもので、そもそもの続ける企業体力みたいなものの差でしかない気もします。

ちなみに、ボンボン父親が重度のガノタだったため、プラモウォーズや、ときコミカライズのために父親が買ってましたね。

oooooo4150 “Quantum Break”←なんでWin7プレイさせてくれんのや。。。

http://b.hatena.ne.jp/entry/284883715/comment/oooooo4150




oooooo4150さんが、どれだけのゲーム知識やパソコン知識を持っているかからないので、

出来る限り丁寧に言葉を尽くそうと思います

Microsoftが何のためにゲームを作るのか、そして今なぜWindows10を押し進めているのか、の理由を書きます


まず「DirectX」というライブラリがあります

もちろん例外は山ほどありますが、Windowsの多くのゲームはこの「DirectX」というライブラリが無いと動きません。

Xboxゲームも同様です。

この「DirectX」を使うと、スーパープログラマゴリゴリ機械語だのアセンブリだので描画を書かなくても、ライブラリを使って簡単お手軽に3Dゲームを作れます

Quantum Breakのような大規模ゲームにおいては、如何に多くの人間が関われるか? が重要なため、このような汎用的なライブラリを使って作業標準化を行っています

また、Quantum Breakでは「銃の弾道の軌跡」や「時間の巻き戻りや進みや停止によるエフェクト」などが非常に美しく、

静止画」としての美しさより「ゲーム」としての美しさを優先しています

その証拠に、現行世代機では解像度は劣っています。(720p30fps)

ただ、その分、ゲーム動作のエフェクトにとても力を入れていて、「時は力」を体現する見た目を見事に描画しています

このエフェクトは、同時多発的にかつリアルタイムに描画されるため、非常に高度な技術必要なのは素人目にもわかると思います

そのため、Quantum Breakは「DirectX12」という最新のライブラリ

さらにそれに最適化された「Northlight Engine」というこのゲーム独自エンジンも使っています

この「DirectX12」は、最新のWindows10しか対応していないため、Quantum BreakはWin7では遊べないのです。

じゃあ、今度は「DirectX12」はどうしてWin7対応しないのか?

という疑問がわくかもしれません。

それは、Microsoftがそもそも何のためにゲームを売るのか、ゲームを売ることで何を成し遂げたいのか? を説明しないといけません。

Microsoftが初代Xbox(旧箱)の時代から掲げているのが「リビング」です。

ココで言うリビングは、家族が揃っている部屋、程度の意味で、要するに「テレビがある部屋」みたいな意味です。

で、Microsoft世界中の「テレビがある部屋」に、自社の製品を置いてもらいたいと思っています

では、そのためにはどうすればよいのか?

面白いゲームを作れば良いのか?

いやいや、実はそれだけじゃ駄目です。

当然人間には金銭的な理由やスペース的な理由などで「他社製品」との比較をして、Microsoft製品を置くかどうか決めるわけです。

そこで、Microsoftは「他社製品」に勝つ必要があるわけですね。

もちろん、プレステ任天堂より面白いゲームを作るのは大前提です。

けれど、歴史的事実としてSEGAは今ハード事業をしていませんし、ATARIもしていません。

SEGAが他社と比べて劣っていたわけでないことは、僕以外の誰かが詳しいので誰かに聞いてください。はてなには多分山ほどこの辺のゲーム事情に詳しい人がいるので。

また、リビングには「スティックPC」や「ApplTV」といった、ゲーム機以外の「他社製品」も参入してきています

そんな状況でMicrosoftは、自社製品の要であるWindows」と未だ世界二位だか三位だかに甘んじている「Xbox」を融合させようと考えています

まり仕事場や個人の部屋を制した「Windows」が「Xbox」が未だに制覇できていない、リビングに乗り込もうとしているのです。

さらには、モバイル端末機器の話とかも絡むのですが、省略します。

それの一端として、UWPアプリといって、Xboxでも、Windows10でも、Windows10Mobileでも、動くもの凄く汎用性のあるプラットフォームを作ろうとしています

UWPアプリAndroidiOSでも動かす事ができる予定で、かの5pbさんが掲げた「1コード7プラットフォーム」は計らずとも現実の物になろうとしているのが、現状です。

(本題とは離れるので深くは触れませんが、自社製品だけでなく、他社製品であるAndroidやらiOSやらに向けても色々な施策がありますXamarinとかでググってください)

このUWPアプリによって「あっ自分の部屋でやったゲームの続きを、そのままリビングでやろう」とか、その逆であるとか、

電車の中でプレイしたゲームの続きを、リビングや自室の大きなテレビでやろう」みたいな動線を作ろうとしているんですね。

Quantum BreakはUWPアプリではないものの、Windows10版もXboxOne版もほぼ同じ体験ができ、セーブデータも共有できます

インストリー家族と一緒に楽しみ、やり込みは自室のパソコンで遊ぶ、なんて体験提供しているわけです。

そして、こういう新たな施策は、ユーザー数がついてこないと意味がないんですよね。

良い”物”を売るなら、後から評価されるかもしれないけど、

良い”体験”を売るのは、今この世だからこそ評価されるんです。

Quantum Breakは30年後も評価されるゲームですが、Quantum Breakを取り巻くXboxOneやWindows10体験は今でないと評価できないんです。

任天堂ディスクシステムなんか典型的ですよね。あの時だから評価できる。今ならインターネットからダウンロードじゃない理由がないですもの

そのために、Microsoftとしては「Windows10」の普及率を上げる必要があるんです。

なのでWin7は切り捨てないといけない、今更Win7に最新ゲーム対応したら、何時までたってもゲーマーWindows10に移行してくれないんです。

からWindows10無料アップデートをしつこくするんです。

Win7でそのUWPアプリの構想はできないのかって? この構想はモバイル端末、ゲーム機PCなど様々なOSが一本化できるからこそ意味があるので、それはちょっと厳しいかもしれませんね。何よりMicrosoftは、iOSのAppSotreやスチームのような「販売する場」を作ろうとWindows8辺りから一生懸命なので、ソフトウェアのようなDL販売が主のものは、なおさらWin7では出せないんです)

長々と書きましたが、どうしてWin7で遊べないか理解していただけたでしょうか?

二行でまとめると、

ゲーム的にはライブラリDirectX12だから

商売的にはWindows10を中心としてゲーム機PCモバイル端末を売りたいから

って感じです。

とまあ、理屈を述べたところで、Windows10搭載のPCを買ったり、Win7アップデートしたりすることの後押しにはならないと思います

キラーインスティンクトのシーズン3はWindows10XboxOneのクロスプラットフォームで盛り上がって行くし、

ケイバウンドみたいな完全新作の和ゲーも出るし、

ギガンテックも多分出るし(フェイブルレジェンドのアレのせいで運営ゲームは怖いけどね)

将来的にそこまで悪いハードだとは思わないので、是非とも、XboxOneやWindows10をよろしくお願いします。

バッジとれ〜るセンター

ログボをとっただけの日はとくに書かない事にします。

ゲームニュース

スマホ向けボードゲームポケモンコマスターAndroid版が本日サービスイン。AI活用してデュエルを勝ち抜こう

http://www.4gamer.net/games/336/G033671/20160412029/

大好きなポケモンシリーズだけど、これはちょっとプレイするのを辞めておこうと思う。

理由は簡単で、月五万円上限一杯まで課金する自分を止められそうにないからです。

うーむ、恐怖していたことが現実になってしまったなあ。

この日記で度々話題に出してるけど、ポケモンガチャは相性が悪すぎると思う。

僕の愛する悪ポケたちをコンプしたいという欲を、抑えられる自信が全くないので、触らぬが吉ですね。

大金持ちにでもなったらやります

2015-12-10

化粧を逆アセンブリする程度の能力

女の化粧後の姿を見て、化粧前の姿を想像する。

たいていはブスになる。

このブス像から目の前の化粧後の女の態度のでかさの差を取る。

この差こそが、相手へ漬け込む隙だ。

2015-09-18

ネット書籍学校でも会社でもArduinoでもBasicでもプ

ITの大航海時代がはじまって20年ほどがたち

ブルーオーシャンへとみな船の帆をあげ遭難していくのであった (完

さてプログラムを船にたとえて話をしてみよう

船の大きさは君に任せる。

湖面に浮かぶ小型ボートからタイタニックから空母まで。

船っていろいろあるからね。

君が仮に完璧な船をつくったとしよう。

だがその船は誰がどうやっていつまで運行するんだ? 

船大工船長は別のスキル必要なはずだ。

船長になるためにカンナユンボアセンブリなりクラウドなり)の使い方を知っている必要がはたしてあるだろうか

とある言語XやとあるハードウェアYの良さを語ったりdisったり

LEDチカチカさせたりgithubコミットしたり。

大いに今日明日もたぶん議論されることであろう。

だがそれは、船の甲板にブナの木をつかうかクスノキをつかうかの違いか

田舎商工会議所お茶会議論にでてきましたー☆を言い換えただけにすぎない。

人月神話船大工の話であって

東京ーLA間を航海する話ではないし

所詮セキュリティの話は船底についたフジツボのとり方の話でしかない。

いい加減目を覚ますべきだ。

君は・・・

立派な船があっても

主砲を実戦で使うことのなかった大和のように沈む無かれ。

いいかい 船大工船長は違う仕事だよ んじゃITは?

海関係の仕事 しか無免許運転 遭難したらしかるべき情報を届けるところも無く

ハットヒヤリなどすら残らず・・・ また誰かが繰り返していくんだ。

2014-08-30

IT黎明期日本IT文化に携わってた人達ってさ

どうしてあんな馬鹿なの?

アセンブリとかソースとかコードとか、どうして中途半端カタカナ英語なんかにして、和名を付けてあげなかったの?

ノムリッシュじゃないけど、ファルシのルシがコクーンパージみたいに字面見てるだけで拒絶反応バリバリ出るんだけど?

たまーに構造とかちょっと分かりやす和名つけてるけど、基本カタカナの羅列で頭痛くなってくる。お前はルー大柴か。

フールプルールとかフェールセーフとかフォールトトレラントとか、こんなもんカタカナ表記にするよりまだ英語表記にした方が覚えやすいだろ。

そもそもソースコード全部英語なんだからさ。解説でわざわざカタカナ表記にする必要ないじゃん。ややこしいんだよ。

というわけで、プログラムが肌に合わなくてぶん投げてしまった男です。何アレ、イミワカンナイ。

2014-03-26

http://anond.hatelabo.jp/20140326173352

ゲーム開発って未だにアセンブリなの?

てっきりC#とかになってるもんだと思ってたわ。

http://anond.hatelabo.jp/20140326152453

手で書いたアセンブリに追いつくのは難しいかもしれないが、自動的に並列化してくれる方向には期待してる。

2013-03-23

プロテクト強化後のもふったーも予想以上に酷かった件(追記あり)

ことのあらまし
  1. Twitterクライアントもふったーの作者「TweetDeckのconsumer secret簡単に抜ける、終わってる」(http://blog.livedoor.jp/blackwingcat/archives/1760823.html)
  2. 別の誰か「もふったーのconsumer secretも簡単に抜ける」(http://d.hatena.ne.jp/kusano_k/20130318/1363640368)
  3. もふったーの作者「プロテクト強化した」(http://blog.livedoor.jp/blackwingcat/archives/1762970.html)

プロテクトかけたアルゴリズムを実装したバージョン差し替え」たなんて言われると本当に「プロテクト」がかかっているのか確かめてみたくなるのが人情というもの。というわけで、プロテクト強化後のもふったー(v0.9.6b)からconsumer secretが抜けるか試してみた。結論から言うと、あっけなく取り出せた。以下に手順を記す。

手順

動作がよくわかっていないアプリケーションを解析して仕様を明らかにすることをリバースエンジニアリングと呼ぶ。ソフトウェアリバースエンジニアリングは基本的に対象を逆アセンブルしてひたすら読むことによって行う(その補助に1命令ずつ実行してレジスターやメモリーの様子を観察することもある)。しかし、よっぽど小規模なものでなければオブジェクトコード全体を逆アセンブルして最初から最後まで読むなんてのは不可能だ。人間の読速度には限界があるし、時間も有限だからだ。そして、詳しい動作を知りたい部分というのは全体のごく一部であることが多いので全逆アセンブリを読むのには非常に無駄が多い。

からリバースエンジニアリングはいかに詳らかにすべき動作を行っているコードを絞り込むか(=読むべき逆アセンブリを少なくするか)が重要になる。

この場合も同様だ。TwitterGUIクライアントを頭から読むのは到底無理なので、どうやって解析すべきコードの範囲を狭めるかを考えた。それにはOAuth認証においてconsumer secretがどのような役割を果たすのかを知る必要がある。

OAuth認証で、consumer secretはそのままサーバーに送信されたりはしない。signatureの生成にHMAC-SHA1が使われ、その鍵にconsumer secretが使われる。HMACは次のように算出される。

HMAC (K,m) = H ((K ⊕ opad) ∥ H ((K ⊕ ipad) ∥ m))

ここで

である

まずはこのあたりから攻めようと思った。SHA-1計算はいくつか特徴的な定数が使われるので、そこからSHA-1計算に使われているであろう関数444190を特定する。この関数エントリーポイントに中断点(ブレークポイント)を設定してOAuth認証をさせるべくもふったーの「ブラウザ認証ボタンを押す。狙い通り中断するので関数を抜けるまで実行する。関数401100の4012DAに出た。少し下を見るとこのようになっている。

CPU Disasm
Address   Hex dump          Command                                      Comments
00401311  |.  33F6          xor     esi, esi
00401313  |   8D8C24 A40000 /lea     ecx, [local.54]
0040131A  |.  394C24 14     |cmp     dword ptr ss:[local.90], ecx
0040131E  |.  75 0E         |jne     short 0040132E
00401320  |.  3BF5          |cmp     esi, ebp
00401322  |.  73 29         |jae     short 0040134D
00401324  |.  0FB68434 A400 |movzx   eax, byte ptr ss:[esi+esp+0A4]
0040132C  |.  EB 21         |jmp     short 0040134F
0040132E  |   3BF5          |cmp     esi, ebp
00401330  |.  73 1B         |jae     short 0040134D
00401332  |.  8B5424 18     |mov     edx, dword ptr ss:[local.89]
00401336  |.  52            |push    edx                                 ; /Arg1 =  [LOCAL.89]
00401337  |.  8D8C24 FC0000 |lea     ecx, [local.33]                     ; |
0040133E  |.  8BD6          |mov     edx, esi                            ; |
00401340  |.  E8 CB4D0000   |call    00406110                            ; \mofooter.00406110
00401345  |.  83C4 04       |add     esp, 4
00401348  |.  0FB6C0        |movzx   eax, al
0040134B  |.  EB 02         |jmp     short 0040134F
0040134D  |   33C0          |xor     eax, eax
0040134F  |   34 5C         |xor     al, 5C
00401351  |.  888434 B80000 |mov     byte ptr ss:[esi+esp+0B8], al
00401358  |.  83C6 01       |add     esi, 1
0040135B  |.  83FE 40       |cmp     esi, 40
0040135E  |.^ 72 B3         \jb      short 00401313
00401360  |.  895C24 3C     mov     dword ptr ss:[local.80], ebx
0040134F  |   34 5C         |xor     al, 5C

が注意を引く。もしかしてこれはopadとのxorではないか?

00401351  |.  888434 B80000 |mov     byte ptr ss:[esi+esp+0B8], al

xorした結果を格納している。

先ほどの中断点は無効化しこのループを抜けた地点である401360まで飛ばす。この時点でesp+0B8を見ると次のようになっている。

Hex dump
64 2E 16 64|37 04 32 6D|0F 0D 26 29|3A 37 1F 2F|
18 69 6E 6E|0D 25 29 33|11 34 29 69|12 36 24 1E|
05 16 33 6A|04 3B 0E 68|7A 5C 5C 5C|5C 5C 5C 5C|
5C 5C 5C 5C|5C 5C 5C 5C|5C 5C 5C 5C|5C 5C 5C 5C|

あとはこれと5Cとをxorすればconsumer secretが手に入る。終わり。

追伸

はてな増田スーパーpre記法で半角の<>が含まれていると投稿が出来ないのを早く直してください。

3/23 18:45追記

もふったーの作者から反応があった。「本気だったつもりのもふったーのデバッグ処理が残ってた」らしい(http://blog.livedoor.jp/blackwingcat/archives/1763951.html)。修正したとのことなので最新版(v0.9.6e)を見てみた。確かに若干変更されているが何の問題もない。SHA-1の呼び出しに中断点を設置して渡されているバイト列を見るだけ。

CPU Disasm
Address   Hex dump          Command                                  Comments
00401324  |.  8D4424 20     |lea     eax, [local.102]
00401328  |.  50            |push    eax                             ; /Arg1 = 
00401329  |.  E8 623A0400   |call    00444D90                        ; \mofooter.00444D90

ここでeaxが指すメモリーを見ると以下のようになっている。

01 23 45 67|89 AB CD EF|FE DC BA 98|76 54 32 10|
F0 E1 D2 C3|00 02 00 00|00 00 00 00|40 00 00 00|
40 4F 73 53|62 54 5C 7E|59 57 53 42|55 45 7A 57|
61 47 7A 5B|42 4F 7B 61|5D 66 5E 7A|42 7F 40 63|
79 66 05 55|79 4C 60 42|02 10 36 36|36 36 36 36|
36 36 36 36|36 36 36 36|36 36 36 36|36 36 36 36|

先頭32バイトゴミ無視して0x36とxorすればconsumer secretが得られる。

2010-07-02

XmlSerializer vs SoapFormatter

.NETオブジェクト永続化によく使われる、この二つのクラスの違いについて書きます。サンプルコードなどは書きませんので必要ならリンクを参照してください。ずいぶん古いネタだけど、許してね。

全体的に速度が重要場合永続化するオブジェクトが単純な場合XmlSerializerを、それ以外の場合SoapFormatterを使うのが良いと思う。なるべく短いコード量で行きたいならSoapFormatterの方がベター

あと、細かいことだけどTypeConverterは便利なので使うべし。シリアライズ不可能な小さなクラスとか特に有効。

2010-06-10

http://anond.hatelabo.jp/20100610123415

アセンブリ禁止手段がない、という現状だと押さえる手段はないかなあ、と。

出発点がずれてましたねw

アセンブラ禁止ってマジコン禁止以上に無理があるんじゃないかなあ

http://anond.hatelabo.jp/20100610122408

人間が読める状態のテキストファイルである「ソースコード」と、実行可能な「バイナリ」は別物です。

もちろん判ってますよー。

「正規品から引っこ抜いたバイナリデータを逆アセンブリしたソースを、指定コンパイラでリビルドしてキー付加する」

のはそんなに難しくないし、防ぎようがないんじゃないの? と思ったのですがそうでもないんですか?

http://anond.hatelabo.jp/20100610120722

それは、ばら撒く人がゲームの正規コードを持っているとか、逆アセンブリしたコードとかと言う意味かな。

そうです。P2P界隈の状況とか無知なんですが、最初にばらまく人って正規品持ちですよね?

正規品がメディア存在する、逆アセンブリ禁止手段がない、という現状だと押さえる手段はないかなあ、と。

http://anond.hatelabo.jp/20100610114611

それは、ばら撒く人がゲームの正規コードを持っているとか、逆アセンブリしたコードとかと言う意味かな。

まぁ、ゲームの正規コードを持ってる場合、それはもう仕方が無いとして、逆アセンブリが問題になるなら、アセンブラ禁止とかしても良いね。

組み込み関連では最近チップが高機能化してきて、アセンブラで直接制御するなと言ってくるメーカーも増えたし。

2010-06-03

14 :以下、名無しにかわりましてVIPがお送りします []:2010/06/01(火) 20:42:50.52 ID:wdnhS0np0

C

JAVA

アセンブリ

この3つやっとけばOK

なんとなく日本プログラマ給料社会的地位が欧米とかと比べて低いわけが分かった気がする。

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