免責事項フリーランスエンジニア→法人化した人の技術ブログ。フリーランス事情や会社の作り方、経営などについても徒然なるままに書いていきます。主な使用言語はRuby、JavaScript。2019年4月24日TweetRubyでは、全てが大文字の変数は定数を表します。定数とは、変更することが出来ず、再代入もできない、という性質を持つはずです。#警告は出るけど代入されてしまったなんと。再代入も変更もできてしまいました。実際には、「大文字で書かれた変数は定数だから参照専用として取り扱ったコードを書け」というのは暗黙の了解になっている気がしますが、それでもプログラマの良心に依存した、仕組みとしては不完全なつくりになっていますね。するかObject#freezeを使うObject.freezeは、そのレシーバへの破壊的な操作に対して例外を発生させ、処理をストップさせるようにできるメソッドです。"fuga"破壊的なメソッドにはエラーを返すようになりましたが、これでも再代入はできてしまいます。それでは再代入を防ぐ方法はあるのか?moduleに突っ込んで両方freezeする定数をConstモジュールに閉じ込めて、モジュールとその中の定数両方にfreezeをかけます。`<main>'irb(main):007:0>この方法なら、無事定数への破壊行動(?)を阻止することができました。Rubyでは、このようにRuby言語仕様のワナや、それを踏まえたベストプラクティスが提示されています。Ruby言語そのものに対する理解をさらに深めたいという方は、勉強してみても良いのではないでしょうか。プログラミングrbenvを使っても、MacのRubyのバージョンが切り替えられずハマった。iOS開発をいろいろいじっていて、CocoaPodsをインストールしようとした時にハマりました。プログラミング利用規約とプライバシーポリシーをMarkdownで管理する方法Webサービスに必ず存在するのが、利用規約とプライバシーポリシーです。これのメンテが前職で大変だったので、解決するソリューションを考案したので共有します。新しいフロントエンドFWを試すときのajaxサンドバッグを秒速で立てたいときに使います。Rubyの薄いフレームワーク、sinatraを使ってみましょう。unpackが便利お久しぶりです。yukito_ohiraです。年末年初忙しくて更新が滞ってしまいました。いえば年始、開発をお手伝いしている株式会社ジラフさんの企業ブログでも1記事描かせて頂きました。5がリリースされました。5.1でrails-react-webpack環境を作って動かしてみるNEXTString#to_iは数値に変換できない文字列に対しても例外を返さないyohira_dev正社員になるも80時間以上のサービス残業により過労退職→フリーランスエンジニア→月商100万突破、2017年法人成り。RailsとVue.jsを用いた高速実装・改善が強み。BeanはSingletonだから、状態持たせるとバグるよ。views最近の投稿フリーランスエンジニアに請負契約がオススメできない理由【準委任契約にしましょう】コロナウイルスのせいで投資信託が一週間で20万溶けました。SESで簡単なログイン認証を実装する【法人化3年目の体験談】今年の売上は1300万程度で着地しそうです。投資2020/02/02コロナウイルスのせいで投資信託が一週間で20万溶けました。SESで簡単なログイン認証を実装するオピニオン2020/1/27【法人化3年目の体験談】今年の売上は1300万程度で着地しそうです。免責事項フリーランスエンジニア→法人化した人の技術ブログ。フリーランス事情や会社の作り方、経営などについても徒然なるままに書いていきます。主な使用言語はRuby、JavaScript。AFFINGER5.。