'You can't use Gon public methods for storing ~~'って怒られて悩んだ話。

railsにてcontrollerで用意した変数をjavascriptに直接渡すことができるようになる、gem gonを使っていて、表題のエラーに遭遇しました

'You can't use Gon public methods for storing ~~'

結果 

利用していた変数名が 予約語 だった。 変数名を変更したら解決しました。

git 備忘録

git 便利コマンド。

  • git commit --allow-empty -m "empty comment" 空のコミットの作成。

  • git diff --name-only 変更したファイルの名前だけ見る。たまに使う。

git のブランチを全部もらいたい時。

qiita.com

$ for remote in `git branch -r`; do git branch --track ${remote#origin/} $remote; done
$ git fetch --all
$ git pull --all

gitでなんかやらかしと時、自分のログをみたい。

git reflog

gitの操作の全てを表示してくれる。 例えば、git reset --hard head.等をした場合であっても、みれます。そう、reflogならね。

gitにはいろいろお世話になる人多いですが、reflogでお世話になる場合大抵はミスった人。それもだいぶ悲惨なミスをした人が知っているコマンドではw。と思っております。

※便利ですが、デフォルトの保持期間は90日らしい。。。w

git 作業の際に別のブランチでhotfixしたい・

  • git stash ->git checkout / git merge / git add / git commit............etc

stashしたやつの確認。 - git stash list

stashを戻す際 - git stash pop

ちょっと別のブランチに行きたい時とかに便利。

git でmasterが更新されててマージする際にコンフリクト(した/しそう)な時

(master) git pull ### localのmasterを最新に更新する。 (develop) git rebase master ### masterの変更を受け取った開発ブランチとする。

もし、コンフリクトが起きたら。解消してcontinueする。 (develop) git rebase --continue
コンフリクトが起きまくってやる気が失せたら、 (develop) git rebase --abort

最新のrubyをインストールできない。。。。

環境

  • macOS highSierra
  • homebrew
    • rbenv でrubyを管理

背景。

昨年末にruby2.5がリリースされているので、それに伴いローカル環境2.5を試したかったのだが、

rbenv install -l としても

2.5.0-dev

という正式版じゃないものがヒットしていた。。。。。

対応

$brew upgrade ruby-build $brew upgrade rbenv

この二つをすることで、

rbenv install -l のなかに無事2.5.0の安定版がヒットしました。

2.5.0のインストール

$ rbenv install 2.5.0
$ rbenv versions
-> 入っているか確認
$ rbenv global 2.5.0
$ rbenv rehash 
$ rbenv versions 
-> 左側のアスタリスクが2.5.0の行にあればおk

$ ruby -v
とし、2.5.0が返却されれば成功!!!!!!!!

以上、rubyの最新版のインスコについてでした

alamofireでresponse headerを取得したい。 備忘録。

Alamofireを使ってAPIpostはうまくできたのだがresponseの取得方法がパッとわからなかったのでメモ。

          Alamofire.request(url, method: .post,parameters: parameters, encoding: JSONEncoding.default).responseJSON{ response in
                switch response.result {
                case .success:
                    let json = JSON(response.result.value)
                    print("==========================")
                    print(response.request)  // original URL request
                    print("==========================")
                    print(response.response) // URL response_header
                    print("==========================")
                    print(response.data)     // server data
                    print("==========================")
                    print(response.result)   // result of response serialization
                    print("==========================")
                case .failure(let error):
                    print(error)
                }
            }

git branch rename したい。

git の作成済みのブランチの名前を変えて新しく作業したい。。。

。。。git rebaseをしてmerge 作業をしていたが、コンフリクトが発生してしまって、明らかに挙動がおかしい。 。。作業内容的にさほどめんどくさい処理という訳でもないので、新しく作業した方が楽。

という訳で、

以下、ブランチ名を issue1 からissue001 に変更する例

ローカルのブランチ名変更 git branch -m issue1 isssue001 リモートのブランチを消す git push origin :issue1 変更済みローカルブランチをプッシュ git push origin issue001

git flow で base branchを developから変えたかった。

$ git flow feature start 'ブランチ名'
とすると featureブランチとして、新規に作られる。

$ git flow feature start issue1 とかでやると、 feature/issue1 のようになるが、baseブランチが git flow initをした時に決める?(わからない)ようで、developブランチから派生してしまっている。。。

新規機能開発のreview待ちや。優先度高めのissueができた時に現状のブランチから新規にfeatureブランチを切り立く、いままでは

$ git branch ~~ とgit flowからそれてしまっていた。

そこで調べて見ると、

$git flow feature start [-F] []

とすれば baseブランチが指定できるようだ、 $ git flow feature start issue1 feture/issue1より優先度高いisssu2がきたら、

$ git flow feature start issue2 feature/issue1 とすればfeature/issue2から新規にfeatureブランチとして,issue2を作成することができた。

xcode textViewにborderセットしたかった。

@IBOutlet weak var textArea: UITextView!

override func viewDidLoad() {
    super.viewDidLoad()


    textArea.layer.borderWidth = 1.0    //ボーダーの幅
    textArea.layer.cornerRadius = 10.0    //ボーダーの角の丸み
     // textArea.layer.borderColor = UIColor.lightGray.cgColor
    let borderColor : UIColor = UIColor(red: 0.85, green: 0.85, blue: 0.85, alpha: 1.0)
    textArea.layer.borderColor = borderColor.cgColor

}