Blank?=False

ゆるゆる仕事したいフリーランスエンジニアの記事

闘うプログラマーは評価が分かれそうな本だった。

闘うプログラマーという本を読みました。
正直、とても評価が難しい本です。

続きを読む

ソースコードの配色をJellyBeansライクにしてみました。

本ブログで表示しているソースコードの配色をJellyBeansライクにしました。
ソースコードの色設定についてはこの記事を参照ください。
orangain.hatenablog.com

ちなみに、この記事ではソースコードの各種類別のセレクタは、
.synSpecial等でクラス指定となっていますが、2016年11月現在はこの方法では指定できませんでした。
spanの子要素として,span.synSpecialとやる必要があります。(ただ、一部はspanを付けなくてもできる。)


今回のJellyBeansライク配色のCSSを張りますのでご自由に使ってください。

/*Source Code Syntax Highlight*/
.entry-content pre.code {
    background-color: #151515;
    color: #e8e8d3;
    font-size: 80%;
}
span.synSpecial { color: #dd0093 }
span.synType { color: #ffb964 }
span.synComment { color: #999}
span.synPreProc { color: #92b6fe }
span.synIdentifier { color: #fad07a }
span.synConstant { color: #d44950 }
span.synStatement { color: #c6b6fe }



サンプル(Ruby/RubyOnRails)

class User < ActiveRecord::Base
  attr_accessor :remember_token

  before_save { self.email = email.downcase }
  validates :name, presence:true, length:{maximum:50}
  VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
  validates :email, presence:true, length:{maximum:255},
            format:{ with: VALID_EMAIL_REGEX },
            uniqueness:{ case_sensitive:false}
  validates :password, presence:true, length:{ minimum: 6}, allow_nil:true
  has_secure_password

  # 与えられた文字列のハッシュ値を返す
  def User.digest(string)
    cost = ActiveModel::SecurePassword.min_cost ? BCrypt::Engine::MIN_COST :
                                                BCrypt::Engine.cost
    BCrypt::Password.create(string, cost: cost)
  end

  def User.new_token
    SecureRandom.urlsafe_base64
  end

  def remember
    self.remember_token = User.new_token
    update_attribute(:remember_digest, User.digest(remember_token) )
  end

  # 渡されたトークンがダイジェストと一致したらtrueを返す
  def authenticated?(remember_token)
    return false if remember_digest.nil?
    BCrypt::Password.new(remember_digest).is_password?(remember_token)
  end

  def forget
    update_attribute(:remember_digest, nil)
  end

end

SQLのUNIONの正しい使い所がわからない

今日、久しぶりにUNION文を使う機会があったのですが、
それはベストなテーブル設計であれば1つのテーブルになっているべきものが
2つに分かれていたので、UNIONで結合して処理する、と言うものでした。

ここで、なんとなくですが
UNIONを使うときは使いにくい設計のテーブルのデータを上手いこと使うため、ということばかりだなぁと気づきました。

逆に、ベストなテーブル設計になっているDBMSでUNIONを使うときはどんなときか、ちょっと気になったので調べてみました。

続きを読む

LPIC Lv1試験を受験します。

f:id:stonebeach-dakar:20161106101953j:plain

以前こんな記事を書きました。

stonebeach-dakar.hatenablog.com
思いっきり間違ってるんですが、反省のためそのまま残しています。

こういうことがあって、Linuxのちゃんとした知識をつけたいなーと考えていました。
それだったら、いっその事LPIC試験合格というわかりやすい目標をつくることで、
勉強に身が入るかな、という理由で、LPIC試験を受けることにしました。

今回はLPIC試験についての記事を書いていきます。

続きを読む

レガシーソフトウェア改善ガイドという新冊が気になる。

Amazonで技術本をチラチラ眺めていたら、こういう本が目に入りました。

レガシーソフトウェア改善ガイド (Object Oriented Selection)

レガシーソフトウェア改善ガイド (Object Oriented Selection)

まだ発売していない本ですが、名著と言われるレガシーコード改善ガイドと何か関連がありそうですね。

レガシーコード改善ガイド (Object Oriented SELECTION)

レガシーコード改善ガイド (Object Oriented SELECTION)

翻訳者の吉川邦夫さんは、他技術本の翻訳実績があり、わかりやすい訳と賞賛されてますので ぜひ気になる本です。

レガシーコード改善ガイドと一緒に買ってみようかな。

プリンシプルオブプログラミングは常に机の上に置いておきたい1冊だった

プリンシプルオブプログラミングを読みました。
感想としては文字通り「辞書」だったなぁ。という感じです。

続きを読む