素人プログラマの日記

C#,C++,Unity,UE4についてだらだら書きます。ブログ更新は気が向いたらやるスタイル

Ruby on Railsをそこそこ学習した

どうも、実は最近Rubyを始めたと言ったろう?もうフレームワークに手を出してしまったよ。Webアプリに興味が出て、ついにやらないと思っていたことを色々やっている。最初はRailsではなくSinatraで始めようと思ったけど、環境構築がわからなくてわかりやすい本もあるRailsに変えた。

まずはじめに

rails serverでlocalサーバーで環境が整ったのを実行して喜んだ。Yeah Im on Rails;)

今の学習状況

怠惰な人間なのでそんなに進んでない。恥ずかしい。たとえば基本的なRubyRailsでの使い方、html.erbの書き方とかかな。その他にもコーヒーscriptでウィンドウに組み込んで関数を使う特徴とか、Railsが勝手にセキュリティ面でプロテクトしてくれることは覚えた。大まかだがWebアプリの作り方は覚えた限りじゃこんな感じ。不足あればなんか教えてください。

  1. コマンドでアプリの箱を作る
  2. コマンドでコントローラの作成
  3. コントローラ、htmlに記述
  4. コーヒーscriptも書く時はある
  5. スタイルシートを書く
  6. ルーティングをget,set,patch,postとかで設定する。

あとはサーバーサイドだがそちらの知識は皆無なので知り合いにサーバー借りようと思ってる。あとデータベースの基本はCRUD。個人的にはhtml書くのがつらい。もっとRubyで書きたい。なかなか難しいがw

本について

最近出た入門本である。フルカラーでフレームワークの開発方法、しくみはわかりやすいが、ソースコードの誤字がすごい。変に記号を消すな、trueで動くのをfalseと堂々と書くんじゃない。俺が知らないことも多いがそれでデバッグ時間がかかってしまう。早く正誤票を作って欲しい。頼む。

今後

うーん、Railsの本だけじゃ足りない。htmlとかscss、下手すりゃJavascriptの本もいりそう。Webアプリを作る要素がゲームと比べて多いのでこれはネック。なるべく事柄が敷衍された本を探してもっと勉強がいるだろう。頑張りたい。

 

 

FirstPersonCamera Memo

どうも、今回はUnityのカメラワークについての内容を簡単に書いておこうと思う。今回のカメラの使い方は、飛行機のコックピットの視点、普通のFPS視点に使えるものだ。もともとは三人称視点用にソースを書いてたのだけども、一人称視点にハメたら案外しっくり来た(笑)マウスで操作するものだけど、マウス入力がないときはオブジェクトの動きに同期する。

using UnityEngine;
using System.Collections;

public class Sample : MonoBehaviour
{
    public Transform MovementObject; //cameraにアタッチ
    public float MouseMovementSpeed; //マウスの感度調整パラメータ
    public float ObjectDistance=0f;
    Vector3 pos;
  
    void Start()
    {  
        if (MovementObject == null) //cameraをセットしない場合
        {
            Debug.Log("PLEASE SET THE OBJECT");
            Application.Quit();
        }
    }
    private void Update()//マウス入力と視点の設定とか
    {
        var mouseX = Input.GetAxis("MouseX") * Time.deltaTime * MouseMovementSpeed; //MouseXAxis
        var mouseY = Input.GetAxis("MouseY") * Time.deltaTime * MouseMovementSpeed; //MouseYAxis

        var lookAt = MovementObject.position + pos; 

        transform.RotateAround(lookAt, Vector3.up, mouseX);

        transform.RotateAround(lookAt, transform.right, mouseY);


        transform.LookAt(lookAt); 
    }
}

PCスペックが低い人はUpdateをFixedUpdateにしてみるといいかもしれない。

Rubyをちょっと書いた感想

Rubyは以前触ったと言ってもほぼ忘れたので、実質初めて書いたようなもの。デバッグ環境は自分で簡単に作ってVSコードで書いてた。

http://qiita.com/Librorum_/items/1079aaa4c78f2a57ea32

大したものでもないけど、Ruby書いてみるだけならこれでもOK。

書いてみた感じ

なかなか楽しい。C#を触ってたのが功を奏したのか、基本はまぁ理解できた。同じオブジェクト指向型言語なのも大きいかなと思っている。データが全てオブジェクトととなるならではの書き方もなんとなくわかった。変数を作るのが楽なのもいいポイント。

環境構築が面倒

ただのテキストエディタでやるとしんどい。

Rubymineがあるけど、月1000円とかかかるし僕は懐が寒いので誇張法抜きで死ぬ。コマンドプロンプトをいじるのも初めてで大変だった。自分だけのカスタマイズですごいエディタ作れてる人尊敬する。助けて下さい。

セミコロンが…ない…だと

見出しにするほど僕にとっては大きい。違和感あるけど慣れていかなくてはと思ってる。

これで何を作るのを目指すか

Webをちょっと開発するつもり。ゲームはおやすみしてます。

こんなところかな。もっとRubyに触れて、Rubyの良さをもっと知ってRubyと友達になるくらいでプログラミングを楽しみたいものだ。

変な物作った

ども、windowsフォームのGUI周りいじって遊んでみようと思ったので、作ってみた。もっと改良策ないか誰かに教えて貰いたい。正直改良の余地が思いつかないしこれでいいかと思ってはいるんだけどまだ気になる。githubのリンクは以下に貼っておく。

https://github.com/Kekun321R/Kekun/tree/master/WindowsFormsAPP/QuickProcessStartTool

あと最近の悩みはGitが覚えられないこと。ほんとどうっすかなー

END

やっぱり君(C#)が大好きだ

どうも。なんか書きたくなったから勢いで記事書くぞ。今日も今日とてコードを書いてたけど、C#はいいぞ。

書いてて楽しい

ほかの言語はあまり触ったことのない僕だが、C#はその構文とか、理路整然としたコードを書けばその見た目は美しいし、見てて何をしたいかはだいたいわかってくる。それに加え、なんと言えばいいのかは僕のボキャブラリー不足で言葉を適格に選べないのだが、書いてると実装するものを作り上げていく感覚が感じられる。こんな言語は他に類を見ない筈だ。(個人の感想) ちなみに初めて触った言語もC#だ。

実行速度

これも大きい。しかしながら速ければいいってわけじゃない実装物はあって、その場合には動的言語Rubypython辺りを使えばいいだろう。でも、僕の作りたいものは速いものがいいに越したことはないのでC#を選ぶ。C++だって速いじゃないかって言われそうだがC#の方が書きやすいからC#で。

まだまだ寿命のある言語

本で読んだものだ。新しく様々な言語の機能を統合したもの、普通に誕生した言語は結局のところ欠点もあって人気のないものとなっているそうだ。そんな時代の変遷の中でも、C#オブジェクト指向型言語の最高峰として色褪せない魅力があると言えるだろう。また、実装されたアプリケーションなどは数多くあるし、これからももっと増える事だろう。最近はXamarinとかいうものも出てきたな。負けるなC#

最後に

今更な感じだが、プログラミング言語はあくまで手段にすぎない。何か作りたいものがあったら、その言語の信者のような人間に惑わされず、自分で一番最適解だと思ったものを使おう。よきプログラミングライフを送るためにも、今言ったことを覚えても損は無いはずだ。

 

プログラミングやって3か月が過ぎたので雑感をまとめてみる

さてさて、またこのグダグダブログを更新するか。3か月だ、3か月。個人的にも節目の期間のような感じがするので、日記を書くような雰囲気(?)でこれまでやってみての感想とか感じたことを書こう。

とにかくやってて楽しい

これは紛れもなく事実だ。人によって感じ方は違うと思うんだけど、HelloWorldですら動いたときは自分で書いたものが動くことに感動を感じたね。そこからいろいろ派生して行って、僕の場合最初に書いてたのはUnityのC#スクリプトだったんだが、「自分のさせたい動きをこう考えて、このメソッドを使って書くんだ」みたいなのがわかってきて簡単なシューティングゲームを作れたときは面白かった。まぁそこからは別の事、例えばUE4弄ってみたり、C#自体を普通に触ってみたりして進捗は出なかったけどなかなかいい機会だったと思う。

プログラムを書いてる方々と関わって

Twitterでしか絡んではいないんだけど、僕のガバガバな呟きが結構最初のころは笑われたのが記憶にある(笑)でもまぁ優しくいろいろ教えてくれたり、普通にリプライの交わしあいで気さくに絡んできてくれたりしたのでうれしいものだ。申し訳ないが、細かい人も当たり前だけど結構いると思ったのは秘密。線引いたとこは俺がざっぱすぎるだけだなw

好きな言語ができた

C#C++Ruby(2つは超少しだけかじったようなもん)を書いてみたけど、C#は書いてて楽しい。処理も早いし僕的にとてもかきやすい言語だ。これからもC#は書き続けたいと思うよ。

今後は

自分の経験が浅く、技術がないので、抽象的な目標になってしまうが、何かしら自作で開発してみたいと思う。

 

まぁこんなところかなぁ。これからも続けて頑張っていきたい。ではでは

WPFでテトリス(C#)

久しぶりの更新だ。と言ってもリンクを張るだけw

qiita.com

これはWPFテトリスを自己記録的に作ってみた感じだ。書き方に関しては

いろいろ調べてみた。そのソースをqiitaに貼っておく。ちなみにXAML弄んないと動かないからXAMLだけここに置いておこう。

続きを読む