CubicLouve

Spring_MTの技術ブログです。https://github.com/SpringMT (http://spring-mt.tumblr.com/ からの移転)

use strict: use warnings; を忘れない

どうもperl書いてて、use strict: use warnings;を書かない人がいるらしい。。。。。 vimはファイル作成時に、指定したファイルから雛形が自動的にできるSkeletonAuってのがある。 SkeletonAu使って.pmとか作ったら、skelton呼び出して書けるようにしておく…

rails4.1のmigrationでundefined method `add_column_options!'ってでたら

rails4.1でmigration走らせたら、 % bundle exec rake db:migrate == 20140501144914 AddColumnsForHoge: migrating ========================== -- change_column(:foo, :bar, :integer, {:unsigned=>true, :limit=>8, :null=>true}) rake aborted! Standar…

acts-as-taggable-onでMysql2::Error: Specified key was too long; max key length is 767 bytesって怒られたら

MySQLのencodingをutf8mb4にしています。 なので、 varchar(255)のカラムにindexを貼ろうとすると、MySQLから怒られます。 MySQL(InnoDB) で "Index column size too large. The maximum column size is 767 bytes." いわれるときの対策 acts-as-taggable-on…

Rails4のtransactionでハマった <- これは私の間違いでした

申し訳ありません この記事完全に自分の間違いでした。 まず、自分のrailsアプリでは、、もろもろの深淵な理由で、モデルを作るときにActiveRecord::Baseを直接継承せずに、全てのモデルに共通で使うモデルを再定義しています。 なぜこんな事をしているかと…

core dump をとった後中身を見てみた(gdbruby編)

core dumpしても中身みないとしょうもないので、中身の見方をざっくりメモ。 rubyを使ってる場合は、gdbrubyを使うのがオススメです(結局gdbを使うことになるのですが。。。) 環境は、Centos6.2です。 まずはgdbrubyを使ってbacktraceとかをざっくりとみてみ…

core dumpするまで

core dumpする設定をいつもググってるきがするので、メモしておく。 ulimitでcore file sizeを調べて、増やしておく $ ulimit -a core file size (blocks, -c) 0 . . $ ulimit -c unlimited $ ulimit -a core file size (blocks, -c) unlimited . . sysctlで…

rails 4.1.0にあげたらJSON::ParserErrorになった問題

rails 4.1.0に上げてみました。 Gemfileを書いて、 bundle update して、 bundle exec rake rails:update でひたすらYを選択しています。 ちょこちょこ直して、立ち上げてみると、 JSON::ParserError - 795: unexpected token at I"session_id: とかでた。。…

delegateを触ってみる

C#

あんまり今まで縁がなかったdelegateを触ってみる。 参照 : http://ufcpp.net/study/csharp/sp_delegate.html C#では、delegateはメソッドを代入するための変数の型、メソッドを参照するための型。 サンプル(これはクラスメソッドの例) using System; // int…

ジェネリックスを少し試す

C#

型だけ違って処理の内容が同じようなものを作るときにオーバーロードさせて書くと、同じコードを書くことになるし、メンテコストも上がる。 なので、色々な型に対応した関数を作ることができる、ジェネリックスを使う。 参照サイト : ジェネリックス ジェネ…

クラスのメンバーのアクセスレベル

C#

C#のクラスメンバーのアクセスレベルの確認 サンプルスクリプト gist9174289 コンパイル結果 % mcs Classtest.cs Classtest.cs(22,5): error CS0122: `TestA.privateHoge' is inaccessible due to its protection level Classtest.cs(33,25): error CS0122: …

capistrano 3.1.0でハマったこと

capistranoのversionを3.1.0に上げて、cap deployしたら、unicornが再起動されなくて困った。。。 で、Changelogみてみたら、 deploy:restart task is no longer run by default. って書いてあった。。。。 Changelogにこれを見て設定しろやーって書いてあっ…

rails4の日付のcast

active_record/connection_adapters/column.rb def new_time(year, mon, mday, hour, min, sec, microsec) # Treat 0000-00-00 00:00:00 as nil. return nil if year.nil? || (year == 0 && mon == 0 && mday == 0) Time.send(Base.default_timezone, year, …

英数字の正規表現

fmfm (ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-darwin12.0]使ってます。) irb(main):054:0> /^[0-9A-Za-z]*$/.match("\naaa\nあああ") => #<MatchData ""> irb(main):055:0> /^[0-9A-Za-z]*$/.match("aaa\nあああ") => #<MatchData "aaa"> irb(main):057:0> /\A[0-9A-Za-z]*$/.ma</matchdata></matchdata>…

メモ railsのrakeタスクを作るときに、 task :hoge => :environment do ってなるんだけど、 :environmentってここのtaskのことですな。 def run_tasks_blocks(app) #:nodoc: railties.each { |r| r.run_tasks_blocks(app) } super require "rails/tasks" con…

プロファイラーについて

この記事はパーフェクトRuby Advent Calendar 2013 - Adventar の21日目です。 前の日のエントリーは パーフェクトRuby の次に読む本 です。 パーフェクトRuby Advent Calendar 2013 - Adventar 2013/12/24 Array#<<の結果が出ない件追記しました パーフェク…

gdbを使ってみる

gdbをはっきり説明せよと言われてもわからんが使ってみる。 デバッグシンボル付きでrubyをビルドしておく rbenv + ruby-buildを使ってrubyを入れていれば、デフォルトでデバッグシンボル付きでビルドしてくれている。 rubyを読み込む rbenvを使ってると、gdb…

jenkinsのIRCプラグインが通知してくれない時

IRCのニックネームがかぶってないか確認しましょう。(他のチャンネルも要確認) こんなことで、小一時間ハマるとは。。。。

KVM + Centosな環境でJenkinsを立ち上げたらパケロスが多発した件(解決済)

KVM+Centos環境でJenkinsをsetupして立ち上げたら、急にネットワークが切れて途方にくれてたら、 namikawaさんがブログってくれたこの件と似てたりしますか? http://t.co/st4Xw9cUIg RT @Spring_MT: jenkins立ち上げるとネットワークが不安定になる。。。。…

git commitでuserとmailを指定する

簡単だけど、メモ程度に git commit --author="username <mail@example.com>"</mail@example.com>

新卒メンバーに紹介する資料まとめ

社内で自分のおすすめを紹介した資料 例外設計における大罪 from Takuto Wada RESTful Web アプリの設計レビューの話 from Takuto Wada Webアプリケーションは難しい from Takafumi ONAKA tddbc tokyo 1.5 基調講演 http://www.studyinghttp.net/status_code…

isucon3本戦に参加して見事に玉砕してきました

また、この季節がやってきました。 本戦は@sonotsがRubyConfに参加しているため、@niku4iと二人での参加になりました。 今回は寝坊せずにちゃんと会場に到着してます!! お題 お題は"リアルタイム画像コミュニケーションサービス" レギュレーション お題が…

福岡でおすすめの水炊きの店を教えてもらった

福岡で水炊きがおすすめの店 長野 : http://tabelog.com/fukuoka/A4001/A400102/40000010/ いろは : http://tabelog.com/fukuoka/A4001/A400102/40000122/ 新三浦 : http://tabelog.com/fukuoka/A4001/A400106/40000986/ 一慶 : http://tabelog.com/fukuoka/…

isuconオンライン予選にチームMiamiで参戦しました!

大分遅れてのエントリになってしまいました。。。 @sonotsさん、@niku4iさんの3名でチームMiamiとして10/6(日)の2日目に参加しました。 おおよそのまとめはお二方のブログにまとまっているので、自分視点の報告を。 前日 前もってrubyを使うことを決めていた…

転職しました

2013年9月から渋谷で働いています。 今度はperlを書きます。

INSERTをまとめて実行できるモジュールを書いて使ってみたらかえって遅くなった件

深遠な理由で手を入れられないコードで、DBへのINSERTをfor文で回して入れている部分があったのでそれを一回のINSERTで済むようできないかなあと思って試しにモジュールを書いて見ました。 SpringMT/DBIx-InsertMultiTranslator まだ、全然テスト段階なので…

Rubyがアップデートされたら(ruby-2.0.0-p247の例)

メモ程度に残しておきます。 % wget ftp://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p247.tar.gz % tar zxf ruby-2.0.0-p247.tar.gz % ./configure --prefix=$HOME/.rbenv/versions/2.0.0-p247 --with-openssl-dir=`brew --prefix openssl` --with-readli…