spring of life

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

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で引数にマッチする要素を取り出して、その数を数える感じ

mysqlテーブル変えちゃった

RubyのコードでMySQLとか書いて実行させてたら間違えてmysqlテーブルのスキーマを変えてしまったwなんかヤバイことをした気がして再起動したら直るかなとか思ってやってみたら # sudo service mysqld restart mysqld を停止中: [ OK ] MySQL Daemon failed t…

AsyncTaskLoader

Androidアプリを作った時にAsyncTaskLoader使って非同期でHTTP通信させたら変なことになったのでメモ画面上のボタンを押したらHTTP通信を発生させるように実装したんだが2つほど不具合発生。。。 2回目以降はボタンを押しても通信が発生しない ただ、↓のよう…

capybara-webkitのインストール

RSpecでビューを操作しながらテストしたい時に、capybaraとか使ったりするけど、capybaraだけだとjavascriptが動かないらしいそこでちょっと困ったので動くようにしようとcapybara-webkitをインストールしたんだが、めちゃくちゃ面倒くさかった。。。やった…

ビューの状態の保存

Railsとかでselect_tagとか使って実装した時に、選択状態を保存したいなぁとか思った時に調べたことをメモ 一番良さそうだったのはdataメソッドを使うやり方 値の保存 $('#hogehoge').val()で選択中のoption要素のidを取得できる $('#element').data('select…

フォームの作成

ちょっと最近書いてなかったので更新! Railsでform_forを使って入力フォームの作成をやったので、ちょっと詰まったとこをメモ パラメータの名前を変更する 普通に実装するとモデル名が決まっているのでパラメータ名も決まる <%= form_for @hoge do |f| %> <…

インデックスの作成

ちゃんとインデックスをはらないと、レコードが増えたら検索とかにめちゃくちゃ時間かかる ということで、ちょっとインデックスはるのに必要そうなSQLを調べてみた CREATE INDEX <インデックス名(任意)> ON <テーブル名>(<カラム名>) または ALTER TABLE <テ…

文字列以外の型でテーブルをソートする

またまたswingだよー 何にも設定しないでテーブルのヘッダ部分をクリックすると文字列でソートされるので、 [1, 5, 10, 6]だったら[1, 10, 5, 6]になっちゃう 数値でソートしたいなら、getColumnClassをオーバーライドしてカラムのクラスを変える new Defaul…

テーブルの幅を変更する

swingなんて使ってる人いるのかな。。。 DefaultTableModelを使ってる時のテーブルの幅の設定方法 String[] columnNames = {"aaa", "bbb", "ccc"}; int[] columnWidths = [10, 20, 30]; DefaultTableModel tableModel = new DefaultTableModel(columnNames, …

配列になっている数の和を求める

injectを使う [1, 2, 3].inject(:+) #=> 6 :-(差)や:*(積)なども使える

正規表現の最短一致

ちょっとレベルが低い気もするけど、書くことで覚えられる気もするから書く。 普通にこういう場合、正規表現でマッチングすると 'hoge hoge'.match(/h.*e/)[0] #=> 'hoge hoge' 最長一致なので全部引っかかるけど、"?"を入れると最短一致になる 'hoge hoge'.…