write ahead log

ロールフォワード用

Rails5でJSON APIをテストする

知らないとハマる. JSONのAPIに以下の様にしてアクセスしようとすると. get order_detail_path(@buy_new_computer) assert_response :success UnknownFormatと言われる. ActionController::UnknownFormat: ActionController::UnknownFormat app/controllers/…

Rails5でcoffeescriptを途中から排除した時にハマったのでログ

個人でコツコツ触っているRailsですが, coffeescriptの扱いは困った感じでした. 最初はデフォルトという理由で頑張って勉強しようかと思ったのですが, もうjsもES2016とか2017とかも話題になっているし流石に良いかなと排除することに. ところが消すのも以外…

vimのステータスラインに出てくるbotって何?

vim

ってふと思ったので調べてみた. StackOverflowで同じ質問をしている人がいた. stack overflow - what do “All” and “Bot” mean in vim status line? どうやら 行頭を表示している => Top 行頭も行末も表示している => All 行末を表示している => Bot という…

ubuntu 18.04でホームディレクトリのディレクトリ名を日本語から英語にする

日本語環境でインストールするとデフォルトで日本語になってしまうので. ターミナルで以下を実行. $ LANG=C xdg-user-dirs-update --force 実行後, 日本語と英語両方のディレクトリがホームに残る形になる. この時点ではちゃんと機能していないので再起動す…

ubuntu 18.04でcapslockをctrlにしたい

メモ. 以下のファイルを編集. sudo vi /etc/default/keyboard 以下の箇所を変更. ... XKBOPTIONS="ctrl:nocaps" ... 再起動する.

Rails5でDeviseを使って認証機能を作る

えらく多機能なので試しながらメモる. とりあえず使う とりあえず使ってみる. 認証をするからにはサンプルが欲しいので用意しよう. サンプルプロジェクトを考える メモを管理するサービスということにしよう. コントローラは StaticPages(トップページ管理) …

letter_opener_webを使ってメール送信をプレビューする

letter_opener_webはRailsで開発中のメールをブラウザで見れる便利なgem. WSL環境やvagrant上での開発などではブラウザでメールが見られるのは非常に便利. インストール Gemfileを編集. 開発時のみ入れるように. gem 'letter_opener_web', :group => :develo…

Rails5とCarrierWaveを使って画像アップロード機能を作る

以前はgemなしで実装したので今度はCarrierWaveを使ってみる. あとはせっかくなので画像のリサイズなんかも試す. インストール CarrierWaveで画像のリサイズなんかをやるためにはRMagickやMiniMagickが必要になります. で, これらはImageMagickのラッパーな…

Rails5で検索できるセレクトボックスを作りたい

select2というjquery-pluginがあってこれを使うと良い感じになりそう. (jQuery捨てるとか私の様な三流には無理そうです.ほとんどこれで十分だし...) これをRailsから利用するgemがあるのでこれを利用します. 適当なサンプルを用意する 都道府県を選ぶ画面を…

Rails5にはmigrationにカラムコメントを付けられるらしい

便利そう. 使ってみた. サンプルプロジェクトを作る $ rails new migration_comment --database=mysql $ rails g model user name:string email:string config/database.ymlは適宜設定. migrationファイルを編集する ハッシュでcommentを渡せばよい様です. c…

Railsでファイルアップロードを実装する

入門シリーズが続いている. CarrierWave使うサンプル多いので, 使わないで実装してみる. Railsは5.1.6 サンプルの内容 掲示板的に メッセージ 画像 のCRUDができるものにする. とりあえず足場を作る CRUD実装自体は目的ではないのでScaffoldで. $ rails g sc…

RailsのI18n色々

Rails5触ってみようとチュートリアル読んでからRailsの入門メモが増えてる... とりあえずサンプルプロジェクトを用意する scaffoldでタスクリストのページを用意します. $ rails new i18n_sample $ rails g scaffold Task title:string done:boolean $ rails…

Rails5とcocoonを使って明細のあるフォームを作る

一昔前にRailsを触っていた時にはnested_formというプラグインが良く使われていた気がするのですが,最近はcocoonというものが良いそうです. どちらを選んでもどうせ大したことはしませんし, どちらでも良いのですがnested_formの方はあまりメンテされている…

Rails5でwill_paginateを使う

ただの初心者メモ. とりあえずプロジェクトを作る $ rails new pagination Gemを導入する Gemfileに以下を追記. gem 'will_paginate' いつも通りbundleで更新する. $ bundle install サンプルページの用意 とりあえずScaffoldで準備しておく $ rails g scaff…

Rails5にbootstrapを導入する

基本は公式に従うだけ. Gemを導入する Gemfileに以下を追記. gem 'jquery-rails' gem 'bootstrap-sass', '~> 3.3.7' いつも通り更新. $ bundle install application.cssをリネーム $ mv app/assets/stylesheets/application.css app/assets/stylesheets/appl…

Visual Studio Installer Projectで上書きインストールができない

インストーラを作りたい 昔々, Visual Studio にはInstaller Projectというインストーラを作成するためのプロジェクトを作成する機能がありました. 機能が少なくても標準でついてきていたので非常に便利だったようなのですが2005くらいから消えてしまったそ…

CentOS7上にApache + PassengerでSinatraの動く環境を作る

Rubyを入れる(rbenvの導入) rbenvで入れます. rootへrbenvを入れますが, まずは環境を整えます. $ sudo yum install git gcc gcc-c++ openssl-devel readline-devel rbenvのリポジトリをclone. システム全体へ導入するので/usr/localへ入れます. $ sudo git …

Sinatraを使う

久しぶりにRubyを触っているこの頃ですが, Railsはやはり覚える事が多いのでまだまだSinatraの方が私には楽です. 遠い記憶になっているので少しまとめました. 基本的にClassicスタイルで書いていきます. 書いてて思ったのは大体は公式に記載があるということ…

UbuntuにrbenvでRubyを入れる

手っ取り早くaptでも入れられるんだけど, かなり古くてMRIだとバージョンが2.0.0のrc版しかない. (14.04.5 LTS, Trustyで試した自分が悪いとは思うけど) これはいかがなものかということで, GitHubから入れる事にしたが, ハマっちゃったのでメモ. rbenvを入…

Ubuntu(17.10)上で手っ取り早くRuby + Apache2でCGIを使う

CGIなんて久しく使っていなかったのでメモっておく. Apache2を入れる. とりあえずコレ的な. $ sudo apt install apache2 Rubyも入れる $ sudo apt install ruby CGIを有効にする Debian系の設定は初めてで戸惑った. $ sudo a2enmod cgid apacheを再起動. $ s…

VB.NET(Windows Forms)で見積管理システムを作った

昨今の技術動向をガン無視ですが, ここ2,3ヶ月ほど深夜にぼちぼちやっていたのが形になったので. github.com Releaseにインストーラを入れてみました. TravisCIが使えるかと思いましたが, 流石にWinformは無理でした.(VBはサポートしてるんですね) 目的 一応…

dbext.vimの使い方

vim

vimからDBアクセスできるという素晴らしいプラグイン. 導入 面倒なのでVundle使う. この辺は個人のお好みで. 以下をvimrcに記述. Plugin 'vim-scripts/dbext.vim' 設定 プロファイル(接続情報)を書く必要がある. MySQLの場合 当然だけど, MySQLクライアント…

WSLのUbuntuにsqlplus(Oracle client)を入れる

何でも動いてビビっちゃうWSLですが, sqlplusを入れてみました. ますますWSL環境に引きこもりそうです. ダウンロード この辺からどうぞ. Oracle Database 12c Release 1 (12.1.0.2.0) ユーザ登録が要るの, 面倒ですけど. libaio1とalienをインストール oracl…

WSL上のUbuntuのターミナル色テーマを変更する

色テーマを、変えたい Ubuntu on WSL(bash on windows)は非常に使い勝手が良くて, すっかりこれ無しでは仕事ができなくなってしまった. しかし色テーマ, これだけが不満だった. (赤が見づらい) まぁ, プロパティからポチポチ変えりゃいいんですが, あまりに…

psqlコマンド自分用チートシート

PostgreSQLのコマンド, psql. バージョンは9.6 個人的にはMySQLより分かりやすい気がする. インストール $ sudo apt install postgresql-client 9.6限定にするには以下. $ sudo apt install postgresql-client-9.6 WSL上だとUbuntu Xenialだった. 9.5までし…

MySQLコマンド自分用チートシート

インストール ubuntuの場合(WSL可) $ sudo apt install mysql-client 接続 WSLのUbuntu上からローカルへ接続する場合は[127.0.0.1]と指定が必要だった. (localhostではダメだった) 長いので開発時はalias組んだ方がいい. 普通につなぐ $ mysql -h [ホスト名]…

lsの色付けを変更する

Ubuntu(on WSL)で試した. lsで色付けされるのは便利だが, 色によってはかえって見にくい. 色を変えたいのだが, どうも.bashrcで.dircolorsというファイルを読み込もうとしている. 知らなかったのだが, dircolorsコマンドというのがあって設定できるらしい. …

Test::Unitでテストを定義順に実行する

Test::Unitはデフォルトではテストを名前順に実行する. require 'test/unit' class TestSample < Test::Unit::TestCase def test_B puts "B" end def test_A puts "A" end end $ ruby sample.rb Loaded suite sample Started A .B . Finished in 0.0011721 s…

Test::Unitでテスト群の最初と最後にだけメソッドを呼びたい

あんまりよろしくないやり方な気がするけど, 便利な時には便利なので. 標準で用意されているsetupとteardownは各テストケースの呼び出し前後に呼び出される. require 'test/unit' class TestSample < Test::Unit::TestCase def setup puts "setup" end def t…

Dynamic DNS環境でzoneファイルをバックアップ/移行したい

bind9.xでは動的更新はすぐにはzoneファイルへ反映されず, jnlファイルへ書き込まれる. 移行とかバックアップとかどうやんだと思っていたが, どうも一度freezeすればzoneへ書き戻しされそう. # 一度動的更新を止める rndc freeze ddns.example.com [何らかの…