めもめも のーと

ハマったこととか、覚えたこととか

Rails7 (zeitwerk)でgRPC (Protocol Buffers)を使ったらハマった

概要 Amazon.co.jp: スターティングgRPC 技術の泉シリーズ (技術の泉シリーズ(NextPublishing)) eBook : 武上 将樹: Kindleストア こちらの書籍にあるGo(サーバ) × Rails(クライアント)のサンプルを写経していた際、zeitwerkの仕様にはまってエラーが…

Laravelアプリをサブディレクトリで動かした

ある要件でlaravelアプリをドメインURLのサブディレクトリで動かしたかったが、 ネットで調べてヒットした記事が、環境差異なのか、ことごとくハマらず動かなかったので、 最終的に動くようになった設定を公開しておく。 やりたいこと http://sample.com/lar…

ユーザをグループに追加することで別ユーザのディレクトリに書き込めるようにした話

グループに追加することで書き込み権限を得る話 やりたいこと appユーザに所有権があるディレクトリに対して、hogeユーザがファイル書き込みを行いたい。 => appユーザが属するグループにhogeユーザを追加する 手順 初期状態(ユーザ確認) # cat /etc/passwd …

iPhoneの画面が割れたので修復までの過程をまとめた

先日iPhoneの画面が割れてしまいました。 しかし思ったほど修理に時間が掛からなかったので、 誰かの参考になればと思い、過程をまとめておきます。 最初にまとめ 画面が割れてから修理済みのiPhoneを手に取るまでの時間 : 約24時間 かかった費用 : 3672円(A…

久しぶりにRailsのbundle installではまった件

windows10のホスト上にvagrantでCentOSを載せている環境。 bundle installを実行したら以下のエラー。 $ bundle install --path=vendor/bundle ~略~ Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /vagrant/pri…

Railsのrequestで取得できる情報の具体例をまとめた

Railsのリクエスト情報取得のメソッドがたくさんあってよく分からなかったのでまとめました。 例 request.path # /book/231/reg/top ----- request.fullpath # /book/231/reg/top?uid=d4f4efb0-a2dc&type=2 request.original_fullpath # /book/231/reg/top?u…

webpack-dev-serverが起動できず Unexpected token: name

webpackでローカルサーバを起動するためにwebpack-dev-serverを起動しようとしたら Unexpected token: name (urlParts)というエラーが出た。 日本語の解決記事が見つからなかったので残す。ちなみに原因はバージョン差異ということ以外は不明。。 環境 Mac O…

RailsではInteger型のカラムに0始まりの値は登録できない話

これだけ書くと至極当然の話なのだが、ハマったので自戒を込めてメモ。 DB(MySQL)でinteger型のカラムがあり、そのカラムにデータを登録する際に検証ルールを付けたかったが、何故か入力値がvalidationでうまく処理されない。 例) 入力値: 00001 検証時: 1に…

Rubyの%wを使うときは型に気を付けよう

Railsのvalidationルールにinclusionがあるが、含まれる値をinに指定する際には注意が必要。 Rails Guideでも使っているが、配列を表現するために %wを使う場合、中身は文字列になるので、数字を検証したい場合は要注意。 例えば %w(0 1 2) と [0, 1, 2]は別…

collection_check_boxesで登録済みの値にチェックをつけて表示する方法を調べた

Railsで多対多のリレーションのモデルをチェックボックスで表現する際にcollection_check_boxes と言うViewヘルパー関数を使うと便利。 しかし編集時など、登録した値は当然チェックがついた状態で表示されないと困るが、どういう仕組みかの説明が見当たらな…

bashで配列の扱い方

bashのshellスクリプトで配列の定義方法と取り出し方についてメモ。 下記のコードで確認します。 #!/bin/bash declare -A FRUITS; FRUITS=(["apple"]="100" ["banana"]="120" ["orange"]="150"); for f in ${FRUITS[@]}; do echo ${f}; done declare -a ANIM…

Rspecで undefined method `validate_uniqueness_of' が出たので対応した件

とても久しぶりにRailsでRspecを思い出しながら書いていたら、 NoMethodError: undefined method `validate_uniqueness_of' for ... が出て困って対応したときのメモ。 結論から書くと、Railsでよくあるバージョンの問題でした。 環境 ※抜粋 rails (5.0.0.1)…

FuelPHPのDB操作で「mysqli::mysqli(): (HY000/2002): そのようなファイルやディレクトリはありません」が出た件

FuelPHPのマイグレーションを実行しようとしたら、次のエラーが出て失敗したので、その時の対処法を残しておきます。 $ oil refine migrate caught exception Fuel\Core\Database_Exception: mysqli::mysqli(): (HY000/2002): そのようなファイルやディレク…

psqlのバージョンをあげた話

CentOS6系でyumでインストールしたPostgreSQLに psql で操作すると、以下のような警告が毎回出るので、対応した手順をメモします。 # psql -U postgres psql (8.4.20, server 9.3.10) WARNING: psql version 8.4, server version 9.3. Some psql features mi…

Codeigniterの数字判定validationをまとめた件

いつも忘れるので、メモ。 バージョンは Codeigniter 3.0.3 です。 ルール 小数点 マイナス 備考 numeric ○ ○ integer × ○ decimal ○ ○ 小数点表記のみ○ is_natural × × 0は○ is_natural_no_zero × × 0も× decimal は小数点しか通さないのが意外でした。 参…

例外クラスを外部定義して共通化してみた

Codeignierで開発をしていて、例外処理を書くとき、例外の種類に応じた処理をするために、独自の例外クラスを作りたくなりました。 例) try{ }catch(UnauthorizedException $e){ //独自 }catch(NotFoundException $e){ //独自 }catch(Exception $e){ //PHPに…

vagrant up が起動しなくなったので対処した件

vagrant up をするとtimeoutまでエンドレスにdefault: Warning: Connection timeout. Retrying...といわれ続ける問題に直面したので、対応したときのメモを残します。 環境 ホストOS:Windows7 ゲストOS:CentOS6.7 VirtualBox5.0.2 vagrant 1.7.4 対応 C:\U…

heroku Cedar-10をアップデートしたら動かなくなった件

こんなメールがherokuから来てたので、いまさらながらアップデートしてみたら、動かなくなったので対応した時のメモを残します。 On November 4th 2015, the Cedar-10 stack will reach its end-of-life. Cedar-14 is Heroku’s most modern stack and when w…

RedmineとGitlabを連携してみた件

git

よくある記事ですが、自分の作業履歴的な感じで書き残します。 環境 Redmineサーバ - redmine3.0.4を使用。 (この記事で作った環境です) l-light-note.hatenablog.com Gitサーバ - GitLab Omnibusでrpmインストール。バージョンは7.14.3。 手順 redmine_gith…

Basic認証をかけた上で、特定のディレクトリにはIP制限もしたくなった件

Apacheで以下のようなディレクトリ構成をしているときに、 ユーザ画面はBasic認証だけ 管理画面はBasic認証+IP制限 ※サイトオープン時にBasic認証は解除する。 ということをやりたくなったので、そのときのメモを残します。 /var/www/html/ # DocumentRoot …

CentOS6 + Apache2.4 + Redmine3を構築した時のメモ

以下の環境でRedmineを立てた時の手順を記します。 CentOS 6.6(64bit) Apache 2.4.6 Ruby 2.2.2p95 Rails 4.2.3 MariaDB 10.1 Redmine 3.0.4 Apache インストール centos6系はyumでインストールするとApache2.2.15になるので、2.4系を入れるためにリポジトリ…

Apache2.4でmod_sslの名前が違った件

Apache2.4をyumでインストールしたときにmod_sslが入っていなかったので、個別にインストールしようとしたら、 yum -y install mod_ssl では入りませんでした。その時の対応を記します。 結論 httpd24-mod_ssl.x86_64 とかいうモジュール名になっていた! の…

PostgreSQLで加算した日付を更新する件

INSERTやUPDATEで、とあるカラムに「今日から1ヵ月後の日付を更新したい」、といった要件があったのですが、 文法エラー多発でハマったので、備忘録としてメモ。 環境 PostgreSQL 9.3 例 こんなテーブルに対して、start_atを今月1日、end_atを3ヵ月後といっ…

document.formname.submit is not a functionが出る件

aタグでsubmitするときに、document.formname.submit is not a function が出たので、調べてみました。 結論は、 document.forms.formname.submit is not a function とする必要があるそうです。(formsをつける!) <form action="#" id="example" name="example"> <a href="javascript:void(0); onclick="document.forms.example.submit(); return false;"> </a></form>

git pushしたら"does not appear to be a git repository" と言われた件

git

Githubにある自分のソースをcloneしてきて、pushしようとしたら"does not appear to be a git repository"というエラーになりました。 $ git push origin master fatal: 'git@github.com/xxx/phpsample.git' does not appear to be a git repository fatal: …

vagrant起動で"Failed to mount folders in Linux guest"のエラーが出た件

Windows7でvagrant環境を作ってあったので久々に起動したら以下のエラーが出たので、その時の対処法をメモしておきます。 Failed to mount folders in Linux guest. This is usually because the "vboxsf" file system is not available. Please verify that…

youtube-dlを使ってみた話

youtube の動画をコマンドラインからダウンロードできるという素晴らしいものを見つけたので、早速試してみることに。 環境 Ubuntu12.04 その前に。 最初以下のコマンドで実行したらエラーになってしましました。 $ sudo apt-get install youtube-dl $ sudo …

Atomの使い方メモ

おなじみ dotinstallさんで公開されていたAtomの使い方をまとめてみました。 主にショートカットキーの使い方ですが、環境によって異なるものがあります。 ここでは下記の環境で確認しました。 Ubuntu 12.04.5 LTS(ホストOS Windows7のVMWareのゲストOS) ato…

Rails4.1にてBundler could not find compatible versions for gem "sprockets" が出る件

Rails4.1.8(2014年11月24日現在で安定版最新)のプロジェクトを作る際に下記のエラーが出たのでメモ。 バージョン ruby 2.1.5p273 rails 4.1.8 Gemfile source 'https://rubygems.org' gem 'rails', '~>4.1.8' Gemfileがあるディレクトリに移動して、rails …

Rspecで "@controller is nil が出た件

タイトルのように、Rspec2でテストを書いて実行したら、以下のようなエラーが出ました。 @controller is nil: make sure you set it in your test's setup method. 結論から言うと、ここが間違ってました。 誤 describe "HogeController" do 正 describe Hog…