kikeda1104's blog

備忘録・技術に関することを書いています。(webエンジニア)

gem install gemspec ( Symbol not found: _SSLv2_client_method (LoadError) )

Gem

gem buildで作成したgemファイルをinstallする際に、エラーメッセージがでてinstallに失敗してしまったので、対応・・?しました。 エラーメッセージ $ gem install recruit_api.gemspec $ ERROR: Loading command: install (LoadError) dlopen(/Users/Kiked…

tmuxでrbenvが上手く動作しない

こんにちは。kikeda1104です。 tmuxを利用していると、多々動かないツールなどがあり、対処する必要があったので、その備忘録です。 rbenv rbenvは、Rubyのバージョン管理ツールです。 tmuxで、ruby -vコマンドを実行すると、Mac OS Xでは、デフォルトのRuby…

コードの見直し(Ruby)

kikeda1104です。自宅の周りで騒音がひどくいらついて切れましたヽ(`Д´#)ノ ムキー!!。 近所の人が自分の職業を知っているのが、「プログラマ」だと知られているのがなぜですし。 「ゾンビ脳」とかふざけたこと言われていることもあるので、良い加減ここ出て行…

Gemのテンプレート作成(Ruby)

こんにちは。サービスで利用するAPIを使うライブラリを開発しているのですが、Gemしておいたほうが保守しやすそうだったので こちらを進めています。Gemを開発する上でのテンプレートの作成方法について、記事を書いておきたいと思います。 Gemのテンプレー…

Rubyのevalの利用例

割とRubyだと動的にメソッドを定義することで、evalを利用することがあります。 gem Faradayでは、structクラスと併用することで使われています。 ただし、evalを利用する事は、非常に可読性が落ちたりや、デバックがしにくくなることから、とにかく 批判を…

class << self( Ruby )

豆知識。 class << self class << self ... endに囲まれた宣言をクラスメソッドを定義することができます。 class << self def output_message puts "メッセージ" end end 以上。 るびま読むと参考になりますねぇ。 参考 Rubyist Magazine - Ruby 初級者のた…

Chefのエラー( Error executing action `install` on resource 'package[kernel-devel]' )

こんばんは。ツールに慣れるの一苦労しているkikeda1104です。 掲題のエラーが発生して対応したので、メモしておきます。 Vagrant provision エラーメッセージ長いですが、書いておくと。 [Kikeda@10/16 22:22:03] vagrant provision [~/work/vagrant/site-c…

vagrant provisionのエラー対応(vagrant-omnibus)

下記のエラーが出て対応したので、備忘録です。 The chef binary (either chef-solo or chef-client) was not found on the VM and is required for chef provisioning. Please verify that chef is installed and that the binary is available on the PATH…

秘密鍵のコピー (Mac OS X)

pbcopyとpbpasteがいい感じに使えたので、メモ。 秘密鍵をauthorized_keysに入力 $ cat ~/.ssh/hoge.pem | pbcopy $ pbpaste > authorized_keys 以上

rbenvのcookbook(Chef)

kikeda1104です。 VMにrbenvをインストールしたいので、これをChefのcookbookに記述することで定義したいと思います。 Berksfile githubのURLを指定します。 cookbook 'rbenv', :git => 'git://github.com/fnichol/chef-rbenv', :ref => 'v0.7.2' Vagrantfil…

ChefのBerksfile

こんにちは。 メールを見ていたりしたら、あっという間に時間が過ぎて手を動かしていない状況のkikeda1104です。 今回は、プロビジョニングツール「Chef」のBerksfileについて、書いていきます。 Chefって何美味しいの? Chefとは何かを説明するのに、「プロ…

Gemfileのテンプレートの作成

こんにちは。kikeda1104です。 書籍を読んでいて、簡単なTipsがありましたので、記事にしておきます。 ※Rubyとgem bundlerをインストールさせておく必要があります。 Gemfileの作成 $ bundle init 以上です。

Rubyのインストールに必要なパッケージ(Cent OS 6)

kikeda1104です。Rubyをインストールする際に、コンパイルとビルドで使われるパッケージを メモしておきます。 自分の備忘録ですね。検索すると使えますね。 Package $ yum -y install gcc zlib-devel openssl-devel sqlite sqlite-devel 参考 Rubyを最新ソ…

unicornの利用

記録しておきたいネタが増えてきたkikeda1104です。 次やるときに、思い出すキーワードになるので、ぜひ記述しておきたい。 間に合うか....φ(・ω・` ) では、RailsのAppサーバとして、gem unicornを利用したいと思います。 次回は、nginxとの連携について書…

Clipboardへのコピー(Mac OS X)

掲題のことがTerminalから操作できることを知って、便利だなぁと。 OSは、Mac OS Xです。 pgcopy クリップボードにコピーするコマンドです。 $ ls -la | pgcopy pgpaste クリップボードからペーストするコマンドです。 $ pbpaste > text.txt 参考 【ひとりSt…

Nginxのディレクティブ一覧

最近インフラの記事ばかり書いていますが、興味あるし、楽しいからやっています。 プログラマで、インフラからアプリ開発までする方もいるの知っていますが、珍しいんでしょうか。 Nginxの設定 Nginxのインストールを終えているので、設定周りを進めていきた…

Nginxのインストール(Cent OS)

人と会うのに、眠れずに疲れ顔をしているkikeda1104です。 Vagrantで作成したboxに、環境を構築していきたいと思っていて、まずNginxです。 仮想マシンのOSは、CentOSです。 ちなみに、vagrantユーザのパスワードは、vagrantになります。 nginxのインストー…

ホストとゲストの共有ファイルシステム(Vagrant)

相変わらずVagrantの設定を進めているkikeda1104です。 開発環境をゲスト側で持ちたいけれども、ゲスト側にterminalでつなぐ都合、IDEや、テキストエディタは利用ができません。 そこでソースコードなどは、ホストとゲストで共有するファイル、フォルダにす…

boxの作成方法(Vagrant)

日々、コードを書く事が重要だと思うし、日々コード書きたいと願っているkikeda1104です。 今回は、Vagrantで、利用している仮想マシンからboxを作成する方法です。 boxとは Vagrantはベースのイメージを使い、そのクローンを作って利用可能なマシンを素早く…

Vagrantのインストール( Mac OS X )

こんにちは。MBPを修理にだしたところ、マザーボードとHDDのケーブルの交換かHDDの交換になりそうと言われたkikeda1104です。 手痛い出費でしたが、修理に出した夜に修理完了のメールが届き、翌日には受け取りました。 ケーブルの問題でした。はい。 今回、V…

アーキテクチャ調べる(Cent OS 6)

OSのアーキテクチャを知りたくて、調べていたんで備忘録として記事にします。 arch # 32ビット $ arch $ => i686 # 64ビット $ arch $ => x86_64 おまけバージョン確認コマンド 参考にした記事に書いてあったのでおまけです。 $ cat /etc/redhat-release # …

String#chomp (Ruby)

プログラムを書くときに、毎回ぐぐる癖がついていそうで、効率が悪いので簡単なメソッドでもアウトプットしていきたいと思います。 String#chomp 文字列に含まれる改行コードを除去するメソッドです。 body = "hoge\r\n" puts body.chomp # => "hoge" ファイ…

wheelグループにsudoの権限を付与

数分の作業でしたが、記録しておきます。 ユーザアカウントを作成して、wheelグループに追加したけれども、sudoerの記述のコメントアウトから外していなかったので、これをはずしました。 ユーザとグループ 言葉の定義も書いておきます。 ユーザとは システ…

virtualboxのインストール(Cent OS 6)

やっとcapistranoの設定とvagrantの設定の前段階まで来たkikeda1104です。 capのデプロイ先をVMで構築しようと思い、VirtualBoxをインストールします。 VirtualBoxのダウンロードとインストール yumリポジトリを追加 $ su $ vim /etc/yum.repos.d/virtualbox…

tmuxのインストール(Cent OS)

tmuxのインストールで、makeコマンドが失敗していたので放置していましたが、やはりtmuxが利用できないのは我慢できなくなってい たので、調べて対応しました。その時の記録です。 tmuxのインストール libeventパッケージの削除 $ sudo yum remove libevent …

スクリーンショットに必要なパッケージ(Cent OS 6)

スクリーンショットをとりたくて、Print Screenキーを押したが、エラーメッセージがでて 「gnome-screenshot が動作中にエラーがありました。 gnome-screenshot を子プロセスとして起動できませんでした:そのようなファイルやディレクトリはありません。」 …

アウトプットについて

以前から、アウトプットは自分のキャリアとしても、人にどれだけできるのかを判断してもらうのに、必要だと思っているけど、それほどの量と質を出しきれていなかったと思える。 理想 記事を書いていたけれども、日々、OSSの活動する(Github上で)か、ブログを…

MySQLの環境作り(Cent OS 6)

代替機で、Railsアプリを開発する際に、MySQLを使っていたので、インストールする必要になったので、DBの環境を構築する。 MySQLって何? ここはwikipediaから引用すると MySQL(マイエスキューエル)は、オラクルが開発するRDBMS(リレーショナルデータベー…

gitからaliasを定義

Git

gitを使う際に、aliasを使っていますが、bashrc,zshrcにaliasを記述することもしていましたが gitについては、gitのaliasを使う方がスマートに見えたので、こちらの方法を記述しておきます。 git alias $ git config alias.hoge fuga $ git hoge # git fuga…

zshを利用する(Cent OS系)

shellをbashから、zshに切り替えたかったので、手順を買いていきます。 zshのインストールを確認 $ zsh --version これでインストールされていなければ、bash: zsh: コマンドが見つかりませんとメッセージが出力されます。 インストールされているならば、zs…

suコマンド

代替機の環境設定のTodoがたまってきているので、これを備忘録としてブログに書くと記事数が稼げるなと思っているkikedaです。 suコマンド (Unix OS系では、suコマンドを実行すると、CUI環境でログインしているユーザから別のユーザに切り替えることが可能で…

CentOSでのランダムパスワード生成

以前、Macでランダムパスワードを生成する方法というのを書きましたが、手元のMBPが故障しまして代替機として、Cent OSの端末を利用しています。それでCent OS上でパスワードを生成したということがありましたので、記録です。 ランダムなパスワードの生成 …

Railsの並び替え

railsでのソート処理 簡易的ソートで数値、文字列の昇順、降順の方法を記述しておきます。 引数の書き方について、忘れることが多いのでメモです。 並び替え order("col_name asc or desc") col_nameを昇順で並び替えたければ、asc 降順で並び替えたければ、…

アコーディオンリスト(jQuery)

アコーディオンリストの作成 最近、アコーディオンリストの作成の依頼が上げられてきているので記録のために書いておく。 アコーディオン jQueryを利用します。 $("#my_id").slideToggle('speed', 'callback'); - speed: デフォルトでは、normal、指定できる…

jQueryのdata属性の利用について

jQueryのdata属性の利用について data属性を定義することで、タグの関連を表しやすかったので使いました。 jsのノウハウも蓄積していきたいので、書いていきます。 data属性とは 独自データ属性は、適切な属性や要素がない場合に、ページやアプリケーション…

社内でCDP試験勉強会を開催

最近、社内でCDPの制度が導入されました。 それに伴って、試験勉強に取り組むのですが、制度自体初めてであり、CDP試験も過去に 作成されたことがなく、試験を受験する人にとっては、配布されたシラバスをもとに あてを付けて勉強するしかない状況でした。現…

最近アウトプットについて

短めに、アウトプットの量が最近気になりだしてきた。 ブログや、twitter、githubでの活動など最近は余り芳しくはない。 社内ブログにも、最近手をだしていないのでこれはまずいと思い、改善したいと思った。 CDPの試験もあり、インプットもあり、作業能率ア…

rbenv install(irbでの日本語の文字化け対策) Mac

掲題の件で調べていたので、まとめておきます。 私の環境は、Macです。あと、gitは既に入っていますし、rubyをインストールする上で必要な パッケージも入っています。gcc,openssl,readlineなどなど。これ以外にもあるかと思います。 1.rbenvをインストール …

ActiveSupport::Dependencies.autoload_path

Railsでautoload_pathsに追加されている一覧がみたかったので使いました。 bundle exec rails console ActiveSupport::Dependencies.autoload_path # => 一覧が出力される environments/development.rb,productionで追加したディレクトリが 正しく読み込まれ…

gemの公開(get_github_pub_keys)

とりあえず、動作できるくらいまでコードがかけたので公開してみました。 github apiを利用して、ユーザの公開鍵を.sshにファイルとして保存するgemです。 指摘できる部分が多く残っていると思いますので、優しくissueとpull requestおくってくれればビビら…

git tagコマンド(タグ登録と削除)

Git

githubのリポジトリにタグをつけたくて調べたので書いておきます。 ローカルでのタグの作成とリモートリポジトリへのタグを送る ローカル git tag -a 'v0.0.1' -m "gem version 0.0.1" リモート git push --tag origin ※ なお、このコマンドだとローカルのリ…

git tagコマンド

Git

備忘録。 git tag はcommitにtagをつける。 mkdir hoge && cd hoge touch huga.txt git init git add . git commit -m "first commit" git tag "start" "start"tagの commitまでresetしたい場合 g log --decorate (commit idを記録しておく) g reset (commit…

attr_accessorメソッド

たびたびコードを読んでいると以前調べたけど覚えていないで毎回調べていることがある。これをやめたいので備忘録として書いておきます。 attr_accessorアクセサメソッドで、 setter, getterを定義する。 参照URLにも同じ内容で記述されていますが、自分でま…

rspecの型チェック

テストで型チェックのテストを書いていたので備忘録 messages = Hoge.messages expect(messages.is_a? Array).to be_truthy be_true/be_falseは3.00で廃止されたようですね。 be_true/be_false => be_truthy/be_falsey Change log: https://www.relishapp.co…

modelにクラスメソッドを定義

またまた備忘録。 modelクラスからstatusとstatusの意味の一覧を配列で返したくて、クラスメソッドにしました。 statusの全ての値を返したい訳でもなかったので、メソッドで必要なstatusだけ返すようにしてます。 class hoge def self.hoge [ { status: 'pen…

rspecのマッチャー(assigns)

Controllerでインスタンス変数名が変わりテストを書き換える必要があったので、さくっと備忘録。 assigns => controllerで使われるとインスタンス変数の検証で扱われる 例 expect(assings(hoge)).to eq(Hoge.new) => インスタンス変数 = Hoge.newが成り立つ…

社内のCrafting Rails 4 Application読書会を終えて

タイトルの通り、社内で有志を募って読書会が開かれました。 自分もぜひ参加したいと、希望を出し参加しましたが英語でありさらにRailsの内部仕様に触れる著書であり 読むのと、発表資料を作成するのにかなりの労力を使うことになりました。 参加者は4人で、…

Hash#reverse_mergeとHash#reverse_merge!

タイトルのClass#Methodをransack gemで見かけたので、調べてみました。 ActiveSupport::CoreExtensions::Hash::ReverseMergeのソースは下記になります。 https://github.com/rails/rails/blob/master/activesupport/lib/active_support/core_ext/hash/rever…

(JavaScript) form内でformを使う

よくあるECサイトの数量変更の対応で調べていたのですが、おもいのほか時間を取られました。 結論から言えば、formタグの中にformタグを埋め込んでも望んだ動作が得られないです。 form内にaタグを置き、aタグをクリックしたイベントにより外部(aタグのおか…

java scriptでaタグにclassを追加する.

classを追加するためにjava scriptを書くことがあったの記事してみる。 jQueryのセレクタを使うことで簡単に実現できたけれども、 あるhrefを含むaタグにclass=" active"を加えたかった。 jQuery htmlへの埋め込み <script type="text/javascript"> $(document).ready(function() { $("a.cla…