はてなキーワード: 完全に理解したとは
親戚が置いていったのを借りて遊んだ。キノピオが扱いやすくて好きだった。
SFCの楽しさを知ったのでブックオフで買ってもらった。当時は確かスペシャルコースで挫折したが、後にリメイク版(GBA)で裏世界到達を果たして満足し、カートリッジをステージ中央に置いて引退。
「ロクヨン」というやつが面白いと聞いてクリスマスに買ってもらう。(トイザらス限定の金色)
当時小学校の近くに住んでおり、「スマブラ」があると聞きつけた同級生たちが連日押し掛け、人生の絶頂期を迎える。
同年、ゲームボーイカラーとポケモン金に出会い、ビデオゲーム好きを決定づけられる。相棒オーダイルの背中に乗って旅する夢を見る。
その後、銀・クリスタル・赤・ピカチュウとプレイして金のポケモン図鑑をコンプリート。
ドラゴンクエストⅠ・Ⅱ
ファンタジーの高揚感と旅の寂寥感を知る。ロンダルキアの雪原でアークデーモンと対峙する夢を見る。
あまりにもハマりすぎたためある日親がブチ切れ、ビデオゲームの類はすべて鍵付きトランクに収監、プレイも土日のみに制限され、スマブラ目当ての同級生たちも遠ざかり、人生の絶頂期が早くも終焉。
念願の「スマブラDX」を買ってもらうも、既に非社交性を存分に発揮していたため64時代の栄光を取り戻すことかなわず。
加えて、ある日帰宅するとビデオゲームが全てブックオフに売却されており、その夜焼肉に連れて行かれた。母は「ゲームを売ったお金よ」と言ったが、あれが事実なのか質の悪いジョークなのかは未だに分からない。泣きながら口に押し込んだタン塩はどこか塩辛く、しかし胃袋は正直であった。
(追記)
上記の事件は私が「ゲームは土日のみ」という約束を破り、トランクの鍵をハックしてこっそり遊んでたことが発覚したせいなので、普通に私が100%、いや99%悪いです。あと親子仲は普通に良いです。
このブックオフ焼肉事変の影響で「時のオカリナ」「ムジュラの仮面」「マリオ64」「バテン・カイトス」など任天堂据え置き機の名作をプレイする機会を失ったのが個人的にコンプレックスになっている。Switchにバーチャルコンソールはよ(今ややる時間がない)
2003~2008年
中高時代、懲りずにお小遣いを貯めてこっそりゲームボーイアドバンスSP(名機)を購入。買い漁った中古ソフトを、バックライトの恩恵にあずかって布団に隠れてプレイし、ド近眼になる。ファミコンミニシリーズでレトロゲームにも触れる(初代ゼルダ、スーパーマリオブラザーズetc)。
大学受験日程を全て消化した瞬間、ニンテンドーDS Liteとポケモンプラチナを購入し欲望のままに徹夜プレイ。DS版クロノトリガーに大感激してゲーム音楽に目覚め、光田康典繋がりでソーマブリンガーをプレイし、DS版ドラクエ5でデボラ派に鞍替えする。
初めてのソニー機・PSPとMHP2Gを購入。大剣太刀片手剣を1000時間振り回し無事留年。
この頃ニコニコ動画でThe Elder Scrolls 4: Oblivionの存在を知る。PC洋ゲーとのほぼファーストコンタクト。初めての日本語化・初めてのmod導入(受験英語でもそこそこちゃんと勉強していた過去の自分に感謝)、初めてのオープンワールドRPG。RAM4GBオンボード最低画質でも20FPS前後だったのにようやってたなほんとに。
Fallout3もプレイし、Bethesda神とHavok神への信仰心を獲得する。
ゲーミングPCへの憧れを抱く。
ゼノブレイドの評判を聞きつけてWiiを購入。ダンバンのあまりのかっこよさにJRPG熱が再燃する。
この頃から心身を病みビデオゲームから離れたため、Wii UやPS3の流行に乗れず、第2のコンプレックスを抱える。
精神に凪が訪れ、Newニンテンドー3DSLLを購入しポケモンやモンハンを一通りプレイするも、さすがにもう限度を弁えていたため事なきを得る。
なんやかんやあって卒業・就職し初任給を全額はたいてBTOゲーミングPCを買うも、なぜか初任給がなくなってしまったのでPCを抱いたまま餓死しかける。
最高画質modマシマシでTES4やFallout3を遊び直したり、
帰宅後の限られた時間でも遊べるインディーゲームを買い集める。
Nintendo Switch購入。ゼルダの伝説 ブレス オブ ザ ワイルドにドハマりし、続けてスプラトゥーン2にドハマりする。プライムデュアル時々スシコラ洗濯機。
Steam、Origin、Uplay、Nintendo Switch、PS4 Proその他諸々に囲まれてあへあへ積みゲーオタクなう
―――――――――――――――
プログラマじゃないけどプログラミング完全に理解した()おばさんが理解してる基礎知識書くよ。
(追記 この文章はプログラミングの勉強をしたいけどその周辺にある基礎知識になかなか触れる機会がない人向けに書きました。これらの基礎知識があると、困ったときに調べ方すら分からないという状況は回避しやすくなるはず)
ターミナル、いわゆる黒い窓からCUI(コマンドユーザーインターフェース)でコンピュータを使う方法を覚えよう。これは大学のコンピュータリテラシーで習った。MacOSXで復習すると捗った。(追記 すごく間が抜けてたけどMacOSXはUnix系OSです)
まずはファイル操作。Macでターミナルを使って、cd Desktopって打ってからecho ohayou > aisatsu.txtって打ってみて、cat aisatsu.txtってやる。そうすると何が表示されるのか?とりあえずやってみよう。ここで>は増田の都合上大文字全角にしてるけど、ちゃんと半角にしてね。なんで増田の都合上半角がダメなのか、そのうち想像できるようになろう。(追記 ブコメ指摘感謝)
そして、実際にデスクトップを見に行ってみると、aisatsu.txtってファイルがあるはずなんで、開いてみよう。これで何が起こったのか7割くらいはわかるはず。
こういうファイル操作の基本をまず覚えよう。これこそ空気みたいなものだから。
(追記 ここも間が抜けてたけど確かにhogeって何かわからないね。直しました)
最近は何も考えなければ文字コードはとりあえずUTF-8でなんとでもなるようになってるけど、バックスラッシュとかは環境設定で出てくるように設定しないと出てこないし、その意味合い、つまりエスケープとしての使い方を頭に入れておくと後々困らないと思う。あとEOF(エンドオブファイル)とか改行コードとかもそういうものがあるよ程度には覚えておこう。これ頭の片隅にはいってないと分からん殺し的な罠にはまることがある。
これは使いたいプログラミング言語の公式サイトに行くと大抵書いてある。
でもMacだとだいぶ楽。とりあえずターミナルからgccって打ってみるとなんかCUIツールとか書いてあるものをインストールしろって言われるのでインストールする。これだけでCとかC++とかRubyとかPythonとか一通り使えるようになる。もしかしたら最近はこのインストールすらいらないかもしれないけど。
あと、シェルのコマンドとかプログラミング言語を実際に使うときはいろんなライブラリをインストールする必要があるけど、そのライブラリは管理がすごく面倒なので管理をまとめてくれるコマンドがあったりする。aptとかhomebrewとかがそういうのだから、そんなものの使い方も覚えておこう。
(追記 言語の文法を追うだけなら環境構築なんてしなくてCloud9とか使ってもいいかもだけど、プロダクトを作ろうとした時にはまだまだ手元で環境作って必要なライブラリを入れてとやった方が後々応用がきくと思うのですよ。それにそうしていくとDockerの有り難みなんかも理解できるようになっていくのではと思います)
最初に勉強するプログラミング言語は、Javaだけはやめておけ。
なんでかっていうと、Javaはオブジェクト指向言語ってやつなんだけどオブジェクト指向的にしか書けないから。古い人間だと言われそうだけど、最初は手続き型言語から始めるべきだと思ってる。少なくとも、手続き型的に書ける言語から始めるべき。
なぜそう思うのかも含めて、とりあえずおばさんが理解しているプログラミング言語の発展の経緯を軽く解説する。
最初の頃のプログラミング言語は、手続き型と呼ばれるものが多かった。
この〇〇型ってのはプログラミングをするときの考え方によって名前がついているんだけど、手続き型はまず0を作って、0に1を100回足して、最後にその結果を表示してください、みたいな、上から書いた順番通りに動くのが基本のルールである考え方。プログラムは基本的にはこうやってデータをアルゴリズムを使って変化させていって望む結果を得ている。でもこのやり方は問題も多かった。プログラム全体がひとかたまりになってしまっているので、数千行とかになるともう普通の人では手がつけられないし、人間のミスでデータを間違って扱ってしまうことがバグの温床になった。
なので、この手続き型の考えに構造化という考えが加わって、関数というものが生まれた。関数っていうのは料理のレシピに例えるとわかりやすいかも。
5:豚こまを入れて色が変わるまで炒めます。
9:火を消して8をお皿に盛り、野菜炒めの出来上がりです。
B:肉に味付けをします。
2:Bを入れて色が変わるまで炒めます。
3:Aを入れてしんなりするまで炒めます。
4:火を消して3をお皿に盛り、野菜炒めの出来上がりです。
って書ける。ここではAとBが関数。
この程度だとあまり意味を感じないかもしれないけど、これがもっと複雑なものを想像してみると、なんとなくありがたみが分かって来ないだろうか?こうすると、多人数でプログラミングをするときに、Aを書く人、Bを書く人、1〜4にまとめる人って感じで作業分担ができる。それに、バグが起きた時もAの領域でバグったのか、Bの領域でバグったのかとか、全体にまとめると上手くいかないのかとか、原因の切り分けがしやすい。
でも、プログラムがとっても複雑化すると、これでも手に負えなくなる。料理の例えを拡大すると、料理店を運営することを考えるといいかも。
料理店でたくさんの料理をさばくときに、レシピを完全に1から作ることってないと思う。Aさんが野菜の仕込み担当、Bさんがスープの仕込み担当、というように各人に仕事が割り振られているはず。AさんもBさんもそれぞれの仕込みのレシピを持っていて、最終的に出てくる仕込みがちゃんとしてればAさんBさんの仕事の詳細までいちいちシェフが細かくチェックしない体制になっていると思う。大雑把にいうとそういう考え方をプログラムで再現したのがオブジェクト指向型言語。
なので、本気で料理の初心者がいきなり厨房の仕切りを任されて上手くいくのは難しいように、構造化プログラミングのありがたみすらわからない段階でオブジェクト指向型プログラミングに手をつけても意味がわからんだろうと思うのがおばさんの立場です。
(追記 おばさんはRubyを勧めておきます。オブジェクト指向型言語ですが、手続き型的に書き下すことも出来るからです。一つの言語で手続き型構造化オブジェクト指向、全部勉強できます。メソッドも便利なのが一通りあるし、日本語を扱うのにも問題が少ないです)
次に問題を分解できるようになろう。
例えば、クイズゲームを作りたいと考えたときにクイズゲームを作りたいです、って問題は大きすぎる。
クイズゲームに必要な要素は、問題文を表示する、回答を入力してもらう、正誤判定をする、正誤判定の結果を表示する、ということだなぐらいにまず分解する。
これを実際にプログラミングしようとすると、もっと分解できてさらに問題が見えてくると思う。
コンピュータってのは創造的なことはできない代わりに、とても簡単なことをとても階層的に重ね合わせて大きな問題を解けるように作られてる。それを心するといいと思う。
これ超大事。プログラミングって本当に自分で1からものを考えなきゃいけないことってあまりない。大きな問題はあなただけの問題かもしれないけれど、それを構成する小さな問題は大抵他の誰かが解いている問題なので、調べてみれば答えが見つかると思う。
エラーメッセージが出てきたらまずググってみる。翻訳しても初心者には意味がわからないし、ググったら誰かが解説付きで紹介してくれているのでその解説を読んだりしながらエラーメッセージとの付き合い方を覚えていけばいい。
メソッドの使い方がわからなかったら言語の公式サイトに行ってみる。メソッドの使い方で大事なのは呼び出し方、返ってくる値の型とかそういうのだから、こういうところはググるよりも公式サイトに書いてあることをしっかり読んで理解する。
あと、アルゴリズムの勉強もしてみるといいと思う。アルゴリズムとデータ構造と計算量の勉強。大学の学部レベルの教科書をちゃんと読んでみると、例えばデータベースを操作するSQLというものを書くことになった時とかに効いてくる。あとは作ったプログラムが遅すぎてどうしようとかいうのを解決する時とか。
なんか深夜までいろいろ書いてしまったけど、あくまでもプログラマじゃないおばさんが書いたものなので、みんなでツッコミとか入れてくれると大変助かります。
20世紀最高の頭脳といわれたホンノイマンは原爆は京都に落とすべきと進言した男です。
その理由は、日本人の精神のよりどころであり、日本文化のシンボルとしての京都を破壊することで日本人・日本国へのダメージを最大化できるからだそうです。ついでに町全体がグリッドになっているので爆撃の目標を見つけやすいということも言っています。
ホンノイマンは世界中の歴史や文化に精通しましたから、日本人の大切にしているものを完全に理解した上でそういうことを言っているわけです。
米軍の将校達はこのあまりに恐ろしい案を却下して広島を選びました。
知能が高いということは人類にとってそんなに大切なことでしょうか。
どこもかしこも妙ちくりんな図で混乱させてくるのうざい
自分で書いてみる
gitなんてクソ難しいんだから、きちんと概念を理解させようとかすんなよ
だから細かに変更の差分を管理したり、変更を戻せたりしなきゃきつい
うるせぇgit使え
そんなの来年考えろ
branch:
いきなり説明が難しいが、branchがわかればどうにかなる。
例えば、今編集しているプログラムに対して、RPGのセーブデータがあると思ってほしい。
セーブデータが1枠しか無いと、難しいだろ?何があるかわからない、戻ったり、試したりしたいからな。
セーブデータと少し違うのは、1個のブランチでも過去の特定のポイントまで戻れるところだ。
だから実は1人で使うなら最初のブランチ(master)だけでも割とどうにかなる。
commit:
ブランチに新しい変更を追加する
上の例だとセーブすること
マージ:
そんなことできるのか??と思うだろうが、できるんだこれが。すげーだろ。
マージ失敗
できてねーじゃねぇか
add:
何かコミットの前にやらないと怒られるやつ
push:
ローカルPCに保存したブランチを、githubとかそこらへんに送信するやつ
pull:
pushの逆(嘘)
fetch:
お前にはまだ早い
checkout:
変更をリセットするときにも使う、リセットボタンみたいなやつ、間違って使うと死にたくなる
log:
.gitignore:
面倒だけどやらないと余計に面倒になる
お前にはまだ早い
死ぬぞ
git initする
addする
commitする
pushする
本当はこれだけじゃない
ここらへんで大勢が詰むと思う
githubで新しいリポジトリを作ると、「このようにやってね!」みたいな説明が出てくるから、参考にするといい
あれ好き好き
git clone
git commit -m "編集内容"(もしくは、git commitで)
または
git branch
Q.SourceTreeをおすすめされた
A.初手でツール使うほうが詰むと思うんだけど、どうなの。WindowsとMacで違いそうだが
A.git status
A.git checkout .
Q.前のcommitに戻したい
A.お前にはまだ早い
Q.コンフリクトを解消したい
A.お前にはまだ早い
Q.じゃあマージを取りやめたい
A.git merge --abort
Q.何かエラー文出た
A.ググれ
Q.本とか買ったほうがいいのかな?
A.そうやってお前がやる気を出すとチームの誰かが不幸になる。かっこよく解決しようとするな。
一般的に git を学ぶ最適な方法は、最初はごく基本的なことだけを行い、基本を習熟して自信が持てるようになるまでは、その他のできることには目もくれないという方法です。
引用:https://jp.linux.com/news/linuxcom-exclusive/428524-lco2015041401
これで1年は誤魔化せる
恋愛に興味が無い訳では無い。今まで何回か人を好きになったことはあるし、告白されたこともある。
最後に恋をしたのは中学生の時だったと思う。告白してないし、なんだかおままごとの延長みたいな恋だった気がする。中学、高校、大学と告白もされた。付き合ったことはないが、数が少ないなりに、恋愛というものには触れてきたと思う。
いつからこう思ってたのか分からない。初恋を経験した中学生の時から思ってたかもしれない。自覚して、なんとなくそうかもしれないと思い始めたのは多分高校。大学で完全に理解した。
例えば、好きな人からLINEが来たとする。私は浮かれて、なんて返そうと悩む。送り返した後に、何度もそれを読み返して、これでよかったのかなあともやもやしながら返信を待つ。
この一連の流れを、自分がやってると考えるだけで吐き気がする。実際、高校の時にやってしまったんだけど、やりながら頭の中の冷静な自分がずっと吐いてたと思う。気持ち悪すぎて、後からめちゃくちゃ自己嫌悪した。
これが恋愛ドラマの中だったらいい。綺麗な女優さんが相手の俳優さんにときめいてるシーンなんて、こっちの方がドキドキして、目が釘付けになる。
ただ、自分に置き換えることができない。自分が恋愛している、という状況が恥ずかしくて気持ち悪い。「私が恋愛って(笑)」と自分で自分を嘲笑う、みたいな感情。
社会人になって、変にこじらせてしまったのか、「自分に好きな人がいる」という状況が無理になってしまった。私が恋愛感情を持つこと自体が無理。気持ち悪い。私何考えてんの?って気持ちがつきまとう。
付き合ったことがないから、恋人という存在に憧れはある。だけど、自分が恋人というものになるのが気持ち悪い。恋愛感情を他人に向けて、同じくらいの感情が返ってくる、という状況が耐えられない。頭の中の自分が想像すら拒否してる。
よく日本の人権を議論するときに、「日本の人権は欧米から輸入した借り物の概念だ。
だから、自分たちで独自にそこにたどり着いたわけではないので、人権の本質を理解していないんだ。
決められたルールさえ守っていれば良いと勘違いしているからこんなひどいことができるのだ」といった揶揄をよく見る。
では借り物ではない欧米において、公共・税金・納税といった概念が生まれたにもかかわらず、
米国大企業がダブルアイリッシュ、ダッチサンドイッチといった税金ハックをしていることは
どのように理解されるべきなんだろうか?
彼らは公共という概念を理解し、国家および社会を運営していくにあたって税金の必要性も完全に理解した上で