まずRails new
まずは rails newをしてみる。
もちろんバージョンは
Rails 6.0.0
チュートリアルの内容なので、ざっと手順を紹介。今回はSimpleNoteというサンプルアプリを作ってみる。
# railsのインストール sudo gem install rails # create project rails new SimpleNote . cd SimpleNote # 昔はなかったと思うが、webpackerのインストールが必要そう。 rails webpacker:install # bunder install自体はnewの中でされるが、追加gemについては改めてインストール vim Gemfile bundler install # passはいらなかったかも。。。予定ではMD5のハッシュ値を保存して認証に使おうかと rails g scaffold user name:string email:string pass:string rails g scaffold article title:string contents:text rails db:migrate
とりあえずここまででUserとArticleのモデルとRouteなどの一式が作成。
次はRouteを設定して、Userが複数のArticleを持つ構造を表現し、かつ認証なんかも着手したい。
まずRails new
まずは rails newをしてみる。
もちろんバージョンは
Rails 6.0.0
チュートリアルの内容なので、ざっと手順を紹介。今回はSimpleNoteというサンプルアプリを作ってみる。
# railsのインストール sudo gem install rails # create project rails new SimpleNote . cd SimpleNote # 昔はなかったと思うが、webpackerのインストールが必要そう。 rails webpacker:install # bunder install自体はnewの中でされるが、追加gemについては改めてインストール vim Gemfile bundler install # passはいらなかったかも。。。予定ではMD5のハッシュ値を保存して認証に使おうかと rails g scaffold user name:string email:string pass:string rails g scaffold article title:string contents:text rails db:migrate
とりあえずここまででUserとArticleのモデルとRouteなどの一式が作成。
次はRouteを設定して、Userが複数のArticleを持つ構造を表現し、かつ認証なんかも着手したい。
まずRails new
まずは rails newをしてみる。
もちろんバージョンは
Rails 6.0.0
チュートリアルの内容なので、ざっと手順を紹介。今回はSimpleNoteというサンプルアプリを作ってみる。
# railsのインストール sudo gem install rails # create project rails new SimpleNote . cd SimpleNote # 昔はなかったと思うが、webpackerのインストールが必要そう。 rails webpacker:install # bunder install自体はnewの中でされるが、追加gemについては改めてインストール vim Gemfile bundler install # passはいらなかったかも。。。予定ではMD5のハッシュ値を保存して認証に使おうかと rails g scaffold user name:string email:string pass:string rails g scaffold article title:string contents:text rails db:migrate
とりあえずここまででUserとArticleのモデルとRouteなどの一式が作成。
次はRouteを設定して、Userが複数のArticleを持つ構造を表現し、かつ認証なんかも着手したい。
まずRails new
まずは rails newをしてみる。
もちろんバージョンは
Rails 6.0.0
チュートリアルの内容なので、ざっと手順を紹介。今回はSimpleNoteというサンプルアプリを作ってみる。
# railsのインストール sudo gem install rails # create project rails new SimpleNote . cd SimpleNote # 昔はなかったと思うが、webpackerのインストールが必要そう。 rails webpacker:install # bunder install自体はnewの中でされるが、追加gemについては改めてインストール vim Gemfile bundler install # passはいらなかったかも。。。予定ではMD5のハッシュ値を保存して認証に使おうかと rails g scaffold user name:string email:string pass:string rails g scaffold article title:string contents:text rails db:migrate
とりあえずここまででUserとArticleのモデルとRouteなどの一式が作成。
次はRouteを設定して、Userが複数のArticleを持つ構造を表現し、かつ認証なんかも着手したい。
Rails 6.0
Rails 6.0がリリースされたようです。
version 4くらいからあまり真面目に追っていなかったので、改めてRailsを再入門したいと思います。
Rails 6の主な変更点
Action Mailbox
Action Mailboxは、受信メールをコントローラ的なメールボックスにルーティングできます。Action Mailboxの詳細はAction Mailboxの基礎を参照してください。
Railsアプリでメールを受信して、DBに格納できたりするらしい。確かに、例えばEvernoteみたいにメールを受け取ってそのままノートに登録したり、Webサービスでメールを受け取りたいシチュエーションはある気がする。
Rails6で導入されるAction Mailboxを試してみた - bagelee(ベーグリー)
調べていると、メールって簡単にハンドリングできるんだなと妙に感心してしまいました。昔はメールサーバ立てて、色々設定して、大変そうだなーってイメージしかなかったんだけど。。。
Action Text
Action Textは、リッチテキストコンテンツと編集機能をRailsで使えるようにします。Trixエディタは、リンク/引用/リスト/画像埋め込み/ギャラリーなどあらゆるものを扱えます。Trixエディタで生成されるリッチテキストコンテンツは独自のRichTextモデルに保存され、アプリ内にある既存のActive Recordモデルに関連付けられます。 埋め込み画像などの添付ファイルは自動的にActive Storageを用いて保存され、RichTextモデルに関連付けられます。
サンプルにあるような、リッチテキストをブラウザで編集する環境が簡単に(セットアップはいくつかいる模様)実装できるコンポーネントのよう。
ただ、エディタ機能が常にいるかというと、ちょっとニッチな気もするので、Rails本体にいるのか?bundlerインストールでも良いのでは?と思わなくもない。(何か理由があるんだろうなと思いつつ)
とはいえ、APIサーバではなくサイトを簡単に(1パッケージで)作る人からすると嬉しいのかな。それよりも認証系がもっと簡単に扱えないかな。
触ってみる(これから)
勉強も兼ねて、久しぶりに簡単なサービスを作ってみようと思います。
以前は、herokuを使いましたが、できればAWSかAzureも使ってみたいな。
挫折する可能性も高いですが、とりあえず頑張ろう。
囲碁プログラミング
- 作者: Max Pumperla,Kevin Ferguson,山岡忠夫
- 出版社/メーカー: マイナビ出版
- 発売日: 2019/04/22
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
少し前から、囲碁プログラミングの本を読んでいる。
読んでいるだけではわからないので、pythonの勉強も兼ねて実装もしているのだが、なかなか道のりは遠そうだ。
まずは、3章までのところは一通り終わり、ランダムに着手するbotを作り、多少の高速化(Zobristハッシュ)も適用し、bot対bot、人間対botが動くようになった。
とはいえ、ランダムに置きまくってくるので、途中まで対局してみたけど、疲れてあまりやる気はしなかった。
どうも、初版ということもあり、ちょいちょい誤字などがあるようで、詰まったら元々のソースコードを読み、確認しながら進めている。
特に、pythonの場合、関数の区切り(rubyのbegen〜end)が、空白やタブで表現されているので、本にした場合にインデントがずれるとそれだけで意味が大きく変わってしまう。
個人的に、関数などの区切りが明確でない表記は、あまり好きになれないなぁ。
あと逆に、サンプルソースコードがどう考えても本とあっていないところもあって、例えばzobristのハッシュを作るところ。各盤面にhashをあらかじめ割り当てることで、盤面が繰り返されている場合(囲碁で言うコウ)の判定を高速化するコードが、サンプルコードと本記載とでは結構違った。(白黒の状態だけでなくNoneにもハッシュを割り当てていたり、何もない盤面のハッシュ値など)
次はモンテカルロ法などの実装に進む予定(説明はすでに読んだ)
OSSへのコントリビュート
このモチベーションは自分と同じで、すごくよくわかる。
でも、それを実際に行動に移して、目標を達成している、それが違う。
とはいうものの、心理的障壁が高くて、自分のような技術力でできる気がしなかったのと、ソースを読み進めようとしても、全然わからんということが多く、いつも断念していた。
ここ数年、自分はこの辺で立ち止まっている。
もちろん、この方と比べて自分はさらに何もできないので、比べるだけ失礼かもしれない。
それはそれとしても、最近エンジニアとして自信をなくすことが多かったので、こういう話で少し気が楽なったのは事実。
素直に、もうちょっと自分も頑張らなきゃと思えました。
ちなみに、OSSにコントリビュートすることにフォーカスするのであれば、このようなイベントがあるらしい。
すごく興味はあるので、ぜひ一度行きたいなと思っている。(でも勇気がない)