読者です 読者をやめる 読者になる 読者になる

ダメでしょ!

プログラミングとか怒られた話とか…

Rails のルーティングに使用する id を別の内容に変更する方法

通常、edit 等に使用する URI に設定される id を、別のキー等で置き換えたい場合があります。 $ be rake routes Prefix Verb URI Pattern password_resets POST /password_resets(.:format) password_resets#create new_password_reset GET /password_reset…

Perl でパスワードZipを求められた際の対応方法

前提 Perl は初めて触りました。 対応を求められたサーバの環境は古いです。 $ perl -v This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi QBK (急にボールが来たので) 他にヘルプできそうな人間がいなかったということで、触ったことのない P…

ActiveRecord に対する scope は条件に一致するレコードが存在しない場合 .all の結果を返却する

scope を利用していたところ、思わぬところでハマってしまいました。。 指定の条件で検索を行い、返却された結果が nil かどうかで条件分岐させようと思っていたのですが、scope を利用すると常に nil ではなく、.all の結果が返却されてきます。 scope :sea…

Sqaleがサービス終了するとのことです

PaaSとして柔軟に利用していたGMOペパボのサービスであるSqaleですが、終了するとのこと。 【サービス終了のお知らせ】 | Sqale Information 安価であったため、結構使い勝手がよく、ちょこちょこ利用させてもらっていたんですが、rubyのバージョンアップに…

iBatis で LIKE 文を使うときの注意点

はじめに…SQLインジェクション発生! 現在対応中の案件で、なぜか iBtais の利用が指定されている案件があるのですが、ここでSQLインジェクションを発生させてしまったので、自戒として記載します。 iBatis の動的パラメータ受け渡し iBtaisには # と \$ が用…

コード整形のために積極的に利用したい拡張機能 CodeMaid

Visual Studio でのコーディング時の悩み C# での開発を行っていると、Visual Studio がいろいろな機能を持っていてデフォルトでもかなり使いやすいと感じています。(atom での開発と比較して) しかしながら、atom のパッケージで実現できていた機能で、Visu…

Zabbix3.0系における、各種OS毎の Zabbix-agent のインストール方法 (CentOS6系・CentOS7系・Ubuntu系・Windows系)

Zabbix3.0系は安定版 www.zabbix.com 上記のサイトを見ていただければわかるのですが、Zabbix3.0系はフルサポートの期限が2019/2、リミテッドサポートが2021/2となっており、現状の最新安定版となっています。 Zabbix社は1年半ごとにLTS(長期サポート: Long …

DELL サーバ系の Alert! Cover Was Previously removed. エラー

サーバにエラーが!! 今日はLinuxサーバを準備しようと思い、転がっているサーバを適当に選定して、HDDやらメモリやらを載っけて準備していました。 いざ準備ができたんで、起動してみると、見慣れないエラーが。 Alert! FRONT_FAN failure... Alert! Cover W…

require する際の指定文字列が大文字/小文字で挙動が変わる? → Macの大文字小文字区別の問題でした

ローカル環境で問題なく実行されたコードが別の環境でうまく動作しない 私の開発環境はMacなのですが、そこで以下のように記載したコードを作成しました。 require 'CSV' 自分のローカル環境での単体テストが問題なく終了したため、Linuxの実行環境で上記の…

rails_admin と devise を導入したプロジェクトで、root_path と rails_admin_path が異なる場合のログアウト遷移先設定方法

前提 rails_admin devise 困っていたこと 一般向けサイトと管理サイトを作成し、管理サイトのみ devise でログイン処理を作成しました。 プロジェクト自体の root_path は一般向けサイトを指定したのですが、そうすると、管理サイトからログアウトした際に r…

複数選択可能なチェックボックスやリストボックスで選択された内容を一つのカラムに保存する方法

前提 Rails 4系 haml 4.0系 どういう場面で使うか 入力画面で複数チェックボックスやリストボックスを表示するのは以下のようにかけます。(例としてリストボックス) = m.select :answer, [['ア', 'ア'], ['イ', 'イ'], ['ウ', 'ウ'], ['エ', 'エ']], {}, { m…

rails_admin 導入時の 管理サイトタイトル変更方法

rails_admin を導入してカスタマイズ rails アプリケーションを作成していて、管理サイトがほしい、と言われることが結構あります。 あんまりこだわりがないお客様の場合、rails_admin を導入することが多いです。 rails で良く利用されている管理画面の gem…

simple_form を利用している時にsubmit ボタンにボタン名と value をセットする方法

前提 導入gem simple_form haml 普通の書き方だと、ボタン名が value の値になってしまう 通常、submit ボタンは以下のように記載すると思います。 = f.button :submit, 'ボタン名' { name: "#{f.object_name}[completed]", value: '1', class: 'btn btn-pri…

simple_form と bootstrap を利用した環境で f.collection_select をどう書くか

前提 rails 4系 simple_form 3.2.1 bootstrap-sass 3.3.7 そのままだと(非bootstrap になる) 通常、collection_selectは以下のように記載しています。 = f.collection_select :option_id, OptionMaster.all, :id, :option_name, { prompt: true, class: 'for…

ruby において pry を利用している際に、binding.pry を強制的に停止する方法

ちょっと知らなかったので、小ネタですがご紹介。 pry を利用している場合、 ソースコード中に binding.pry と記載することで、記載した場所でデバッグが可能です。 これをループ中に利用し、どのように値が変わっていくかをチェックすることがあるのではな…

ActiveRecord から取得した1レコードから配列を作成する

例として、option_mastersというテーブルが存在していた場合 # # Table name: option_masters # # id :integer not null, primary key # option_name :string # option1 :string # option2 :string # option3 :string # option4 :string # option5 :string #…

Visual Studio でのリファクタリングに効果的な幾つかのショートカット

対象 Visual Studio 2015 Visual Studio には機能がたくさん たくさんありすぎて、使い始めの人間には到底把握することができません。 使いこなすことができれば、生産性が格段に高くなるのでしょうが、学習コストも高いです。 自分が必要としていることを少…

C\# と Visual Studio による開発に着手

ほぼ初学者 仕事でC#のデスクトップ・アプリケーションに取り組まなくてはならなくなりました。 2年前くらいに1ヶ月ほど同じような仕事を行ったのですが、すでに遠い記憶の果て。。 ほぼ蓄積なし、一からの対応をしています。 C# のよさ それはそれとして、C…

rails でログイン認証されていない場合にログイン画面へ遷移させる方法(と、Active Admin を利用して管理画面を作成する際に除外する方法)

ログイン認証チェックを全画面に対応させる ./app/controllers/application_controller.rb に以下の様な形で認証チェックを入れます。 # ./app/controllers/application_controller.rb class ApplicationController < ActionController::Base before_action …

ruby の eachメソッドでループ回数が必要な場合 (for文のiのような)

each するときに、ループ回数を利用したい C言語とかで for (i=0; i >10; i++) { ... } とかやると思いますが、このループ変数 i を利用したい時がありますよね。 ruby だとどうするのがいいのか、わかっていなかったので調べてみました。 結果、rubyには便…

rails における enum型の注意点

当たり前の話なのかもしれませんが、rails アプリで enumを使用した際にハマったので、備忘として記載します。 前提 enum_helpをインストールしています (試していませんが、enum_helpを導入していないと、そもそもviewでうまく呼び出せないとか) 参考 : Act…

ruby の環境更新(アップデート)の手順まとめ

なんで更新? 利用しているPCは1年半くらい利用しており、ごちゃごちゃしてきていました。 今回、新しいWebサイト開発に着手するに当たり、環境を整理したくなりました。 前提 CUIアプリケーションはhomebrewで管理しています。 (GUIアプリケーションはhomebr…

hamlとslimの比較

一年くらい前に、railsを利用したとある業務アプリケーションの開発において、テンプレートエンジンを比較してhamlを導入しました。 その際に候補として挙がったのが、hamlとslimでした。 いろいろ比較して結果hamlを導入することに決定し、その業務アプリケ…