日々徒然

プログラミングしたりお酒飲んだりする毎日

Rubyしか書けないエンジニアから脱却するためのJavaScript Primerお勉強②

はじめに 前回はこちら blog.hirovodka.com 続きからやってく 文と式 評価した結果を変数に代入できるものは式、それ以外は文っていう認識で良さそう この辺り曖昧だったから前回の記事もめちゃくちゃかも... 条件分岐 この辺りはRubyとそんなに変わらなそう…

Rubyしか書けないエンジニアから脱却するためのJavaScript Primerお勉強①

はじめに エンジニアとして就職してから1年とちょっと経ちました。 その間ほとんどずっとRuby on RailsでのAPI開発しかして来なかったため、そろそろ他の言語も勉強してみようと思いJavaScriptを一から勉強します! ちなみに現時点でのjs知識は 基本文法は何…

RubyGoldに合格しました!!

はじめに 11月末から勉強していたRubyGold試験に88点で合格しました! 既にたくさんの合格しました系の記事はあるのですが、簡単に自分も書いてみます‍♂️ Ruby歴 業務でRubyを使った開発は昨年の10月から現在までおよそ一年弱の経験があります。 勉強期間 日…

Rubyのeval三兄弟についてのまとめ(instance_eval, class_eval, module_eval)

はじめに RubyGoldのお勉強でeval三兄弟について調べたのでまとめた instance_eval オブジェクトに対する操作 インスタンスに対してinstance_evalすると、そのインスタンスの特異メソッドを作成してくれる 例 class Piyo def cry p "piyo" end end piyo = Pi…

(完全に理解する)Rubyの定数探索

はじめに RubyGoldの試験対策をしていく中で、定数探索についてかなり色々調べたのでまとめてみた はじめに 基本的な考え方 基本的なパターン 外部から呼び出すパターン 継承するパターン レキシカルスコープ VS 継承 part1 レキシカルスコープ VS 継承 part…

Rubyの特異クラス内のインスタンス変数について

はじめに Ruby Goldのお勉強中によく分からない挙動をしていたので手元で動かしてみた。 特異クラス内のインスタンス変数 まずはこのコード class A @a = 1 def call_a p @a end class << self @a = 2 def call_a p @a end end end Aクラスの中でインスタン…

RubyGold対策②

前回の記事 続きやってく。 refine 変更するクラスを与えるとusing以降から、その定義内容が反映されるみたい。 module内で定義する。 docs.ruby-lang.org class Piyo def cry puts "ぴよぴよ" end def call_cry cry end end module Hoge refine Piyo do def…

RubyGold対策①

はじめに 下半期の目標で『RubyGold取得』を掲げているものの、11月末まで全然勉強できなかった(しなかった)ので、これから本腰入れて勉強開始しようと思います。 Rubyの実行環境 分かりやすくまとまってるサイト Ruby Gold対策(実行環境) - 気軽に楽しく…

herokuで静的サイトを無料で公開する方法

概要 basic認証付きの静的サイトを無料で作成したかったので色々しらべてみたらherokuの無料枠でやるのが良さそうだったので試してみました sinatra使うのが一番簡単でお手軽かなと思います(Ruby単体でも大丈夫) ちなみにGitHubPagesは簡単だけど認証付け…

Railsのキャッシュについて雑なまとめ

railsのキャッシュの仕組み ページキャッシュ Webサーバー側でページを生成してくれる Rails4からgemに分離された https://guides.rubyonrails.org/caching_with_rails.html#page-caching アクションキャッシュ コントローラーのアクション毎に設定できるキ…

Rubyでファイルの排他制御

ファイルの排他制御 File#flock (Ruby 3.0.0 リファレンスマニュアル)でファイルへのロックを取得する File::LOCK_EXは排他ロック File::LOCK_NBをor条件で指定すると以下の時にfalseを返す 他のプロセスが排他ロックをすでに行っている場合にロックを行う …

複数条件unless撲滅のためのド・モルガン(Ruby)

Rubyのunlessを使って複数条件を書くと非常に見辛くなるので複数条件の時はifにした方が良い(人にもよりそう) 論理式はドモルガンの法則で変形できるのでパパッとまとめてみた ja.wikipedia.org そういえば高専時代に少し学んだ気もする... unless !a && b…

検証用のサイトをWeb環境に作りたいとき(ngrock)

はじめに 検証用のサイトなどをWeb上に作成したい時にパパッと作成できるツールを探していたところ、ngrockと言う便利ツールがあったので使ってみた nglock 簡単な検証用のサイトを作ってWebに公開したいときにパパッと作れるツール ローカルで立ち上げたサ…

Railsのクエリキャッシュについて

Railsのクエリキャッシュについて 仕組み ActiveRecordはクエリキャッシュという機能がある Partner.find(1)という処理が走った時に 1. ActiveRecordがPartner.find(1)をSELECT 'partners'.* FROM 'partners' WHERE 'partners'.'id' = 1という SQLクエリに変…

ActiveRecord::Relationに対してpresent?とexists?の違い

はじめに ActiveRecord::Relationオブジェクトの存在検証をする時にpresent?とexists?とする場合でパフォーマンスに違いがあるみたいなのでまとめてみました present? present?の場合、SQLが発行されてオブジェクトがメモリに読み込まれます。 users = User.…

僕と未経験エンジニア転職との365日戦争

このエントリーはフィヨルドブートキャンプ Part 2 Advent Calendar 2020の15日目の記事です。 昨日はフィヨルドブートキャンプメンターのmachidaさんの記事でした machida.hateblo.jp またpart1もあります フィヨルドブートキャンプ Part 1 Advent Calendar…

2ヶ月でタッチタイピングできるようになった話

これはタッチタイピングが出来ない男が2ヶ月でそこそこタッチタイピングが出来る男になった話です。 きっかけ 使用したタッチタイピング練習サービス e-typing 寿司打 1週間目 2週間目 3週間目 4週間目 5週間目以降 そして2ヶ月経過 おまけ まとめ き…