spring of life

技術、ときどき日常のブログ(予定)

javascript の I18n 対応

Rails に含まれてる javascript に日本語が入ってたので多言語化対応してみたこういう gem があるみたいなので使ってみた!github.com まずは gem をインストール # Gemfile gem 'i18n-js' application.jsを修正 ... //= require i18n //= require i18n/tran…

rails で bootstrap3-datetimepicker を使ってみた

しばらく新しいことをしてなかったので、ブログが書けなかった。。。7月0回か〜まぁいろいろ忙しかったしなぁ さてさて今回は、家計簿の登録画面で、日付を入力する時にカレンダーから選択できるようにしたということで、bootstrap3-datetimepckerの使い方…

ビューの作成

jenkins の cli でビューを作ってみたまぁジョブを作った時と同じで設定ファイル(xml)を入力すればいいだけ。 execute 'create view' do command <<-EOF cat /path/to/config.xml | java -jar #{node[:jenkins][:cli_path]} -s #{node[:jenkins][:host]} cre…

Robotium でダイアログの操作

AndroidのテストでUIの操作する時にRobotium使ってて、今回ダイアログの操作をする必要が出てきたのでちょっと調べてみた。 まぁ大した話じゃないんだけどw solo.clickOnView(solo.getView(R.id.select_category)); // ダイアログを表示するボタンを押下(ビ…

Android + Mockito でテスト

また家計簿のアプリの話で、WebAPIを実行する時に使うHTTPクライアントのテストをする時にモックを使ってみた インストール 下記のページを参考にjarを3つlibsに追加y-anz-m.blogspot.jpただ、記事がちょっと古くて?dexmakerとかのダウンロードページへのリ…

複数選択ダイアログ作成

Android 初心者すぎてちょっと機能足すのにも結構時間かかる。。。 家計簿のアプリで、費目(食費、交通費とか)を今まではキーボードで入力してたけど、選択できるようにした 費目の入力欄のところにボタンを付けて、それを押すとダイアログが出てきて、表…

シーケンス図・クラス図の書き方 etc

自分で仕様書書くときに sphinx で plantuml 使ってて、主にシーケンス図・クラス図を書いてるので、参考にしたページをペタペタ貼っておきます(と言っても同じサイトですが。。。) シーケンス図 yohshiy.blog.fc2.com クラス図 yohshiy.blog.fc2.comとい…

テストのスキップ判定

RSpecで、itのオプションに:ifやら:unlessやらあるらしくて、それを使うことでスキップの判定ができるらしい。知らんかった。。。ちなみにRSpecのバージョンは3.4.1でした % bundle exec rspec -v 3.4.1書き方は普通に条件判定する文を値に持ってくる感じでO…

jbuilder の使い方2

前に こういう記事を書いたんだけど、結構見られてるんだよね笑leonis.hatenablog.comで、1つ前の記事で多対多の関連を作ったというのを書いて、同時にレスポンスの json の形式も↓のように変えてみた # 変更前 { "payment_type": "income", "date": "2017-0…

多対多の関係のモデル作成

今回はhas_and_belongs_to_manyを使う方法で実装してみた 例として、というか自分が家計簿のアプリで実装したのは、収支情報(payment)とカテゴリ(category)の関連の作成 まずはスキーマの作成 中間テーブルのファイル名はアルファベット順という規則(categor…

.tar.gz の作成(圧縮)

ruby で圧縮処理しようと思ったんだが、あんまり記事がなかったので自分でメモ唯一(と言ってもいいくらい無かった)見つかったのが↓の記事d.hatena.ne.jpまぁでもこれもけっこう古い記事で、今は gem の名前が変わってるっぽい。今は minitar という gem と…

NFS を使ったマウント

前にこっちでCIFSを使ってWindowsサーバーのフォルダをマウントする方法を書いたけど、今度はNFSを使って別のLinuxのサーバーのディレクトリをマウントする機会があったから方法をメモちなみに、OSは サーバー側: CentOS 6.6 クライアント側: CentOS 7.2 で…

emacs の json-mode の設定

しばらく書いてなかった。。。ネタがなかったというとウソだがけっこう細かいリファクタみたいなことをいろいろしてた。まぁ今回書くのも細かいけどw chef のコードを書いてると json を書くことが多くて、 emacs の json の設定を変えたのでメモ まず json-…

chef で jenkins 環境構築

jenkins の環境構築を chef でできないかな〜といろいろ調べてある程度できたのでメモ jenkins のインストール インストールするだけなら簡単 rpm をダウンロードしてインストールするだけでOK rpm は http://pkg.jenkins-ci.org/redhat/jenkins-2.40-1.1.no…

CSV ライブラリを使ってみた

Ruby には標準で CSV を扱うための CSV ライブラリがあって、使うことがあったのでメモ CSV の読み込み 基本的にはCSV.readかCSV.table CSV.readは1行を配列として読み込む CSV.tableは全体がオブジェクトになる CSV.read require 'csv' csv = CSV.read(<csvファイルへのパス>) 基</csvファイルへのパス>…

samba で windows のフォルダをマウント

明けましておめでとうございますm(_ _)m今年もぼちぼち書いていきますかね〜更新頻度はどうなるか分からないけど、継続したいね で、今年1発目は samba のことをちょっとだけ。というか忘れそうなのでメモ程度のことを。まずやりたいことは、Windows Server…

Base64エンコード

最近平日も開発作業とかしたりしてて、書くことが溜まってきてて大変 笑ちょっと寝るの遅くしたんだよね〜昔から寝てる時間てなんかもったいないな〜とか思うタイプの人間で、できるだけ寝たくないんだが、仕事し始めてからは寝坊が恐いので寝る時間を早くし…

bootbox でエラーを通知する

家計簿のアプリで bootstrap は前から使っててお世話になってるんだけど、入力エラーを通知しようとした時の alert を bootstrap で作ろうとしたら意外とめんどかった(´・_・`)まぁ http://getbootstrap.com/components/#alerts とかあるんだけど、ポップアッ…

kaminari のテンプレートでローカル変数を使う

今日はもう1つ書くよ!kaminari を使って、テンプレートの中で <%= paginate @objects %> みたいにページングする時、第2引数にハッシュを指定して値を_paginator.html.erbに渡せるっぽい例えば、 # hoge.html.erb ... <%= paginate @objects, {:hoge => '…

ブロックの上下中央寄せ

CSS

少し前から bootstrap を使ってるけど、ブロックの上下中央寄せって用意されてない気がしていろいろ調べてみた。 やっぱり自分で作らないといけないっぽい?みたいで↓のような感じでできた <div class="row row-center"> <div> ... </div> <div> ... </div> </div> .row-center { display: flex; align-items: center;…

plantuml のいろいろ調査メモ

sphinx + plantuml で UML 作ったりしてて、いろいろ使い方とかを調べたのでちょっとまとめとこう UML を別ファイルに記述 .. uml::の下に UML を書いてると1ファイルが長くなっちゃう時がある .. uml:: umls/hoge.umlとファイル名を指定すると、 hoge.uml …

Selenium-WebDriver のインストール

前にこんな Capybara-Webkit のインストール方法の記事を書いたんだけど leonis.hatenablog.com Selenium-WebDriver も使ってみることにした。最近は 3.x にアップデートされてるみたいだけど、CentOS 6 だと無理っぽかった。 Firefox を使ったんだけど、Sel…

before(:all) 内でスタブ作成

RSpec でスタブを作ろうとしたら before(:each)の中でしか作れなくて、before(:all)の中で作れないのかな〜といろいろ調べてたらこういうのがあるらしいrelishapp.com例えばこんな感じ before(:all) do RSpec::Mocks.with_temporary_scope do allow(HogeClas…

認証機能を作った時のあれこれ

クライアントアプリの認証機能を作ったんだけど、その時に調べたことをまとめる!アプリが認証とは、だけど、 サーバ側のアプリにあらかじめIDとキーを発行してもらう 発行してもらったIDとキーをAuthorizationヘッダに付けてリクエストを送る ぐらいの簡単…

twitter-bootstrap-rails を使ってみた

しばらく書いてなかったから更新しとこ。。ビューがあんまりイケてなかったので twitter-bootstrapの力を借りてみたRails なので、js をダウンロードしてそのまま使う方法じゃなくて、gem を使ってみた詳しくはこのあたりかな〜あとは好きなように html を作…

PlantUML のインストール

最近あんまり書くことがないな。。。これもあんまり大した話じゃないし。。。まぁ、Sphinx で PlantUMLを使えるようにしたって話 Javaのインストール PlantUML を使うにはJavaが必要で、使うにはインストールが必要 まぁ自分のPCには既に入っているのでスキ…

Web サーバーのモック

雨が降るか降らないか微妙なところでどんよりしててあんま外に出る気が起きない。。。おかげで作業が捗るわー(´・_・`)(せっかくの3連休だし出かけたい。。。 今回もテストの話で、モックを使ってみた。HTTPクライアントとか作っててそのクラスのテストをし…

JUnit でパラメーターを変えながらテストする

あるメソッドのテストで、引数のパターンをいろいろ変えながらテストする時に、パラメーターごとに @Test public void testHoge1() { assertEquals(hoge(pattern1), fuga); } @Test public void testHoge2() { assertEquals(hoge(pattern2), fuga); } @Test …

jbuilder の使い方

使い方、というか自分用にこういう時はどう書けばいいか、というのをメモしておくまぁ、WebAPI で json を返す時もビューと同じように処理しようかな〜と考えてて、そういう風に実装したんだけど、まだまだ慣れなくていろいろ調べながらやってしまって時間が…

ActiveRecord の Date型の検証

Date型の検証がうまくいってない。。 class Account < ActiveRecord::Base ... validates :date, :presence => true, :format => {:with => /\A\d{4}-\d{2}-\d{2}\z/} ... な感じで日付のフォーマットを指定してるんだが、 2.2.0 :004 > a = Account.new(:ac…

rails 用の emacs の設定

rails でビューのコードとか編集したりするけど、.erb とかのモードを入れてなくて見にくかったので emacs を更新~/.emacs.elに以下を追加した! (require 'package) (add-to-list 'package-archives '("melpa" . "http://melpa.org/#/")) (add-to-list 'pac…

ページネーションの ajax 対応

kaminari の ajax 対応にかなり時間かかった。。。いわゆるページネーションのリンクをクリックしたら(例えば)次のリソース一覧が表示される、とかじゃなくてページ上部にリソース登録画面があって、submit ボタン押したらリソース一覧とページネーション…

sshfs のインストール

Mac

scp とかでリモートサーバーにファイル送るのは面倒だっていう人は sshfs とか使ってみるといいかもね自分はそんなに送ったりすることは今はないけど、なんとなく入れてみたwでも、brew install sshfsでは入らないみたいね $ brew install sshfs [16-08-30 2…

複数種類の通信をする

WebAPIを2種類以上使って、onCreateLoader, onLoadFinished 内でそれぞれ違う処理したい場合今までクラスにこうしてた↓ public class ... implements LoaderCallbacks<HogeClass> { ... getLoaderManager().initLoader(LOADER_ID, args, this); ... @Override public L</hogeclass>…

Android画面のレイアウト

Android アプリを作る時はだいたい RelativeLayout 使ってるけど、なかなか使いこなせない(´Д` )今日は1つ覚えたことをメモxml に android:layout_below とか使って何かの View の下とか(上とか横とか)に別の View を作りたい時に、ちょっと間隔を空けた…

kaminariを使ったページング

今日はもう1つ書くよーw今度は Rails で、リソースが多くてビューをページングしたい時に使う gem の紹介kaminari っていう gem を使ったけど、かなり有名なやつだよね。。。紹介してる人けっこういると思うのであんま細かい事は書かないかな〜たぶん、基本…

INSERT時の重複エラー対応

PRIMARY KEYやUNIQUEキーが重複してエラーが出る場合の対処方法 ON DUPLICATE KEY UPDATE を使う これは前から知ってたんだけど INSERT INTO hoge (a, b, c) VALUES (1, 2, 3) ON DUPLICATE KEY UPDATE a = VALUES(a), b = VALUES(b), c = VALUES(c); みたい…

シェルのTIPS

テストとかデプロイするのにjenkinsを使ってスクリプトを実行してるんだけど、そのスクリプトを変更した時にいろいろ使ったのでメモ シンボリックリンクの上書き lnコマンドでシンボリックリンクを作成する時 上書きする場合 ln -fs [to] [from] さらにディ…

その他の設定

しばらくの間環境構築のこと書いてきたけど、他にもまだ細かい設定をしてるんだよね〜主にzshrcとかemacsの設定かな。まぁ順番に書いていくかな git に 補完機能追加 blog.qnyp.comこのあたりを参考にして設定したかな〜これがないと結構ツライよね〜(´Д` )…

CentOS7 のインストール

さてと。。今回はCentOS7を書こうかなまず、isoイメージをUSBに入れたんだっけ、ていうかここら辺は前に書いたなうん、diskutil使って書き込んだとこまでは書いたな まぁiMacほどいろいろやったわけじゃないからすぐ終わるかな。まぁ順番に書いてくか〜 ロー…

おまけ

Mac

環境構築の続きで、emacsでsphinx使ってる人向けにもう1つターミナルの背景を黒くしてる人は見出しがかなり見にくくなるんだよね(^_^;)emacsのバージョンを上げて、ReSTモードが入っちゃってる人は見出しの文字と背景が白っぽくなって、何書いてるかわから…

iMacの環境構築2

Mac

じゃあ今日は残りを書くとしますか Eclipse のインストール mac book airの方にはKeplerが入ってたんだけど、最新がNeonになってたからそっちをインストールしたそうそう、ここでjavaのバージョンが古いって言われたから1.8にしたんだったjavaのバージョンア…

iMacの環境構築1

Mac

後で細かいことを書くと書いたので忘れないうちに書きます(・ω・)やったことは Parallels Desktop をインストール Windows10 のインストール java のアップデート Eclipse のインストール git のアップデート Android の開発環境構築 sphinx のインストール …

文字列のエンコーディング

今日はちょっと小ネタを入れて休憩String.encodeを使ってて、Encoding::UndefinedConversionErrorが出てエンコード失敗する時はオプションを付ければ対応できる 'hoge'.encode('UTF-8', 'Shift_JIS', :undef => :replace, :replace => '?') # Shift_JISをUTF…

りにゅーある

ちょっと記事の幅を広げてみた。自分のPCでは見やすくなったけど、どうなんだろ?で、今回はちょっとプライベートなことかもまぁ何やったかというと iMacを購入 CentOS7をインストール iMacにCentOSを入れたのではなくて、2年前くらいに買ったデスクトップ…

RailsとD3.jsを組み合わせる

D3.jsはブログ初登場かな?D3.jsはデータを可視化する時に使うjavascriptライブラリで、汎用性がめちゃくちゃあるけど使いこなすのに時間がかかるっていうやつgithub.com これをRailsアプリといっしょに使ってみた。だいたいこんな感じ1. 可視化するデータを…

$(document).ready が実行されない件

タイトルの通り、RailsでTurbolinksとかいれてるとリロードしても$(document).readyの中の処理が実行されなくてちょっと困ってた$(document).readyの中で関数を定期実行させる処理と、その関数を最初に1度実行させる処理を書いてたんだけど、リロードしても…

テーブルのソートとswingのテスト

今日は久しぶりのJavaですよっと テーブルのデフォルトのソート設定をする テーブルのsorterとして、TableRowSorterを使っている場合、こんな感じでデフォルトのソート設定ができる sorter = new TableRowSorter<DefaultTableModel>(tableModel); ArrayList<RowSorter.SortKey> keys = new ArrayList<RowSorter.SortKey></rowsorter.sortkey></rowsorter.sortkey></defaulttablemodel>…

例外のテスト

RSpecで、ちゃんと例外が発生しているかをテストする時に、 expect{ hoge() }.to raise_error(HogeError) みたいな感じで書くけど、もうちょっと中身も確認したいって時はブロックを作ればいいみたい expect{ hoge() }.to raise_error(HogeError) do |e| exp…

テーブルの数をカウント

Capybaraの話ですテストとかでビューに表示されているテーブルの数の数え方 page.all('table tr').count page.allで引数にマッチする要素を取り出して、その数を数える感じ