write ahead log

ロールフォワード用

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 [何らかの…

WSL(ubuntu)でRails環境を構築した時のコマンド履歴

もうずいぶん触ってないし, Railsチュートリアルやろうかと思ってハマったので. historyを加工して書き留めておく. $sudo apt install ruby-dev $sudo apt-get install libxml2 libxml2-dev libxslt-dev $sudo apt install ruby-bundler $bundle config buil…

次の指定曜日の日付を取得する

ちょいちょい使うのでメモ. ''' <summary> ''' 指定日の次の指定曜日の日付を返す ''' </summary> ''' <param name="d">次の曜日を調べる起算日</param> ''' <param name="day">日付を得たい次の曜日</param> ''' <returns>d日から始めて次のday曜日の日付</returns> Private Function getNextDayOfWeek(ByVal d As Date, ByVal day As System.DayOfWee…

フォルダパスの組立と特殊フォルダ名の取り扱い方

パスをC:\とか指定するのは流石にないだろうと. いい機会なのでまとめようと思う. パスの組立 パスの取り扱いは専用のクラスが用意されている. MS Developer Network - Pathクラス.aspx) パスの組立はCombineメソッドを使うといい感じ. path = System.IO.Pat…

CSVを読み込む・書き込む

簡単そうでエスケープ(,入力が必要な際のダブルクオーテーションによる例外化)処理やデリミタ変更(TSV)が以外と面倒なCSV処理. 標準ライブラリでやってみました. 書いてからEncoding指定もパラメータ化すれば良かったと思いましたが, そもそもクラス化してラ…

StringとIO.Streamを相互変換する

String => IO.Stream 'Encoding指定し, StringをStreamへ変換 Dim str as String = "test" Dim encoding As System.Text.Encoding = System.Text.Encoding.GetEncoding("Shift_JIS") Dim stream As New IO.MemoryStream(encoding.GetBytes(str)) IO.Stream =…

ComboBoxコントロールに表示値と値を一度に設定する

データのDictionaryを作って, DataSourceにBindingしてやると楽. ''' <summary> ''' コンボボックスに値を設定する ''' </summary> ''' <param name="combo">値を設定するコンボボックスコントロール</param> Private Sub setComboBox(ByVal combo As ComboBox) '========================================= …

CentOS7を使って雑にNATルータを作る

手っ取り早くNATルータが欲しくなった時にNICが複数あるLinuxマシンがあればラッキーだ. CentOS7でやったことがなかったのでメモっておく. nmcliをちゃんと使うべきなんだろうけど, 設定ファイルを直接触った. 1. ネットワークの設定 NICそれぞれに対して設…

gitのfirst commitをビルドする

Git C

興味わいたのでやってみたけど意外とうまくいかなかったのでメモ. ソース自体はgithubにミラーがあって, ここから手に入る. ubuntu trustyの64bit環境でやった. そのまま素直にビルドしようとすると以下のエラーが出た. vagrant@vagrant-ubuntu-trusty-64:~/…

vim-goを使う

vim-go, 使い方がよくわかっていないのでチュートリアルをやってみた. (gocodeのコード補完だけでも便利だけど) チュートリアルは作者さんのを見るのが一番だろうけど, ありがたいことにhnakamurさんが日本語訳してくれている. fatih/vim-go-tutorial hnakam…