2023年3月22日水曜日

プログラミングについて思うこと

目次

  1. 時間を費やすこと
  2. 核となる部分を追っていく
  3. 行動ルーチン
  4. ライブラリとキーバインドとキーボードショートカット

 

1. 時間を費やすこと

  •  プログラミングにおいて2年ぐらい前からずっと意識してる唯一のことが、元もこもないことだが「時間を費やすこと」。
  • ”プログラマと一般人の違いは、読んできたソースコードの量が圧倒的に違う”という言葉が印象に残ってる。
  • 時間さえ費やしてれば、自然と楽しみ方を探るようになる

 

2. 核となる部分を追っていく

  • ソースコードを目の前にしたときに特に重要だと思うのが「核となる部分を追っていく」こと
  • 50行あったらだいたい一番下の方に一番重要な1行があって、その1行のために残りの49行が上にある(引数の用意やエラー処理)

 

3. 行動ルーチン 

  1. Githubで「こういうの作れるようになりたい」と思うソースコードを探す、具体的には
    • Star Display: マリオ64のスター取得状況を表示
    • Quad64: マリオ64のレベルビューアー
    • SM64 ROM Manager: マリオ64の改造ツール
    • sm64ex: マリオ64のPC版
    • SM64 Generations: ソニックのゲームでマリオを操作できる
    • Project64: Nintendo 64エミュレータ
  2. 頑張ってビルドする
  3. 核となる部分を抜き出して模倣品を作る
    • main関数からfrom scratchで手打ちしていくが、途中から面倒くさくなってコピペフェイズに入る
    • 次の日、また一からやりたくなる(何も見ずにどこまで書けるか)
    • 日をまたいでも前回の続きから始めると新たな境地に到達できる
    • 1行書いてはデバッグ実行してエラーが出ないか確認
    • 上から攻めていくのは自滅行為、必要性が分かったら初めて書く
  4. 3を10回ぐらい繰り返す
  5. カスタマイズしたくなり、他のライブラリを導入したり、他のソースコードを覗きに行く

 

 4. ライブラリとキーバインドとキーボードショートカット

  • ライブラリという存在の重要性
    • Githubにあるソースコードを見るようになって初めてライブラリの関数がガンガン使われてることに気づいた
      • 標準ライブラリのファイル操作や3DCGのOpenGLなど
    • 知るべきことの量としてプログラミング言語が10なら、ライブラリは100
    • ライブラリの検索や導入がワンクリックで済むC#とかのNuGetは神
  • AutoHotKeyでキーバインドを変更
    • カーソルキー -> 無変換 + jikl
    • HOME, END, ENTER, BS -> 無変換 + u, o, ;, p
    • Ctrl -> 変換
    • F12(定義元にジャンプ) -> CAPS LOCK
  • キーボードショートカット
    • 単語選択: ctrl + w (visual studio), ctrl + d (vscode)
    • 行複製: ctrl + d (visual studio)
    • 行削除: ctrl + l (visual studio)
    • 行移動: alt + カーソルキー
    • 単語単位移動: ctrl + カーソルキー
    • テキスト縦選択: shift + alt

2023年3月13日月曜日

画像まとめ


最近隙あらばリアルでこのポーズをしてる
動画URL (4:15あたり)
https://www.youtube.com/watch?v=72TvejoNIn4

ゲス顔三人衆
動画URL (0:30あたり)
https://www.youtube.com/watch?v=r1yKImCGOiE

しゃーナンパするぞー!
ケンコー全裸系水泳部ウミショー 10話

ロマンを感じる
メイプルストーリー 四次転職

Super Smash Bros Crusade

ふでおろシスターズ

同人

成田きさら
白衣の天使はお世話好き

オンラインゲーム KRITIKA

戦場の真っ只中でカニ2体作った
フォートナイト

クリエイティブモードでの建築

2023年2月10日金曜日

俺が最強である理由

プログラミング C# OpenGL ROM Hack MIDI
相棒 ハッサム バクフーン
ボルシャック・ドラゴン
クラウゼ・バルキューラ
写像
ジュラキュール・ミホーク
シャーロット・カタクリ
ラクサス・ドレアー
ミストガン
必殺技 はかいこうせん エアロブラスト 紅蓮爆炎刃 ビーストアウト
側室
園崎詩音
紅美鈴
常木耀
ボア・ハンコック