write ahead log

ロールフォワード用

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…

テキストでER図を作る記法と処理系を作った

作りました. 実装は正規表現ゴリゴリでアレですが, とりあえず動きます. github.com サンプル こんなのを書いて. system.erdot // estimate print system # Tables // master customers (顧客) id (ID) INTEGER PRIMARY KEY name (顧客名) VARCHAR(100) NOT …

minttyのロケールを設定する

msys2を入れてフォントや透過度を変えて満足して使っていたが, svnをコマンドで使うとロケールがおかしいと怒られた. $ svn update svn: warning: cannot set LC_CTYPE locale svn: warning: environment variable LANG is ja svn: warning: please check th…

SVNで証明書を使う

今更SVNを使う事になったので. 証明書ファイルのパスは絶対パスじゃないと動作しなかった. typoなのか, msys2環境だからなのかはよーわからん. ~/.subversion/serversを以下の通り編集. ssl-client-cert-file = [証明書ファイルのパス] ssl-client-cert-pass…

ubuntuでタイムゾーンの変更

ちょっと古いけど, バージョンは以下でやった. vagrant@vagrant-ubuntu-trusty-64:~$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.5 LTS" 現在のタイムゾーンを確認する. $ t…

Apple Musicへのリクエスト方法

技術ネタじゃないけど. Apple Musicを使ってるんだけど, 欲しい曲が無い時にリクエストの出し先がわからなくて困ってた. やっと見つけたので. iTunes Store Requests どんどん曲数増えればいいなぁ.

goでbrainfuckを書いた

こんな面白そうな記事があったので作ってみた. github.com 全ての最適化を実装するのはちょっとしんどかったので(というか途中で飽き始めた)2段階目まで作った. 実行速度を見ると元記事通り, 明らかに差が出るのが面白い. 試行回数1だけど. $ go test -bench…

CentOS6にOracle 11g XEを入れる

vagrantでCentOS6.7を入れて試している. (CentOS7はちょっと今回スルーで....) 1. ダウンロード ここからライセンス同意すればダウンロードできる. RPMで配布されている. 何気にアカウント登録を求められるのがめんどい... 64bit版しかないけど, 今時32bitも…

Microsoft IMEでON/OFFをCtrl+Spaceに割り当てる

Windows10で. IMEバー右クリック プロパティを開く Microsoft IMEの設定画面で詳細設定ボタンクリック 全般タブ 編集操作 => キー設定の変更ボタンをクリック GridViewのCtrl+SpaceにIME-オン/オフを設定

templateパッケージのblockアクションを使う

テンプレートが定義済みの場合と未定義の場合で処理を分けられる. 割と便利そう. とりあえずコードを置いておく. {{define "layout"}} <html> <head></head> <div> {{block "contents" .}} not found {{end}} </div> </html> {{end}} {{define "contents"}} <h1>contents</h1> {{end}} package main import …

html/templateでカスタム関数を追加する

golangのテンプレートエンジン(html/template)ではデフォルトで組み込み関数が用意されていますが, 物足りない場合は自作する事になります. 考え方 基本は以下です. template.FuncMapを作る(関数名と関数のmap) このmapをテンプレートのFuncs関数に渡して登…

Lubuntuでターミナルを透過させる

いつも小さいディスプレイで作業しているので半透明にならないと辛い. デフォルトのLXTerminalのPreferenceでOpacityを変更しても, デスクトップの壁紙がBackgroundに表示されるだけで全然意味がない. (透明にはなってるけどさ….) xcompmgrを入れる どうもxc…

golangでテンプレートエンジンを使う(その2)

以前, templateパッケージを利用する方法を調べたけど, 構成的な意味でもうちょっと実用的な例が欲しいので書き残しました. コードはgithubに置いておきます. github.com やりたいこと どのページでも使うlayoutをまとめたい 部品的なHTMLを使いまわしたい …

vimのnetrwを使う

vim

vimには標準プラグインとしてnetrwというファイラが付属している. あんまり触ってなかったんだけど,ふと思い立って使い方を調べてみた. 起動 コマンド 機能 :Ex カレントバッファでnetrwを開く :Tex タブを開いてnetrwを開く ディレクトリ移動 操作 機能 Ent…

シェルスクリプトで外部コマンドを組み立てて実行結果を得る

何度も調べたり考えたりしている気がする… 他にももっといい方法があるのかもしれない. 問題 シェルスクリプト内で引数をsha256化した結果を使いまわしたかった. コマンドラインで素直に書くとこんな感じ. echo -n 'pass'| shasum -a 256 | tr -d ' *-' これ…

gitで日本語ファイル名が文字化けする

Git

なんだこれと思いつつ放置していたけど, いい加減不便なので解消した. メモらないとどうせまた忘れる. 対処 現在のリポジトリのみの場合. $ git config --local core.quotepath false ずっと適用したいとき. $ git config --global core.quotepath false な…

Lubuntuを入れたときにやったこと

古いマシンにLubuntuをいれたのでメモ. 快適だし, メインマシンいらないんじゃないだろうか…. 1. lubuntuを入れる Lubuntu 17.0.4をディスクへ焼いてインストール. English設定で入れた. 2. パッケージを更新 $ apt-get update $ apt-get upgrade 3. 日本語…

w3mを使ってみる

テキストブラウザって意外と便利ですね. 使ったことなかったけど. vim, emacsのバインドである程度動くのでそれほど抵抗なく使えると思います. インストール こんなものを使う人はとっくに調べて入れているでしょうが… msys2環境では以下で入れました. $ pac…

vim-table-modeを使う

vim

markdown-vimを使ってみたけど, 高機能すぎたのでもうちょっとシンプルなものが欲しいなぁと. つまるところGFMのテーブルを書くのさえ楽になればmarkdown書くこと自体はそんなに苦痛じゃない. (っていうか, そういうシンプルな記法のはずだし) 良いのないか…

golangでzipを作る

archive/zipパッケージなるものがあります. The Go Programming Language - Package zip 使い方 zipアーカイブは複数のファイルが入るので, 1つのio.Writerから複数ファイルのwriterを作成する構成をとっているようです. zipWriter(io.Writerから作成) write…

curlでRESTっぽくやる時に使うオプション

毎回調べるのめんどくさい. HTTP Methodを切り替える Xオプションを使います. $ curl -X PUT [hostname] パラメータを与える dオプションを使います. GETでもPOSTでも使えるっぽいです. $ curl -d arg=param1 -d arg1=param2 [hostname] ボディへ直接データ…

golangでメールを送る

golangのメールパッケージnet/smtpはなんというか, 非常に薄いです. 他のパッケージも同じで思想がハッキリ出ていますが, smtpパッケージも例外ではありません. おかげでメールの仕組みを学ぶことが出来ました. ただまぁ, メールは外部パッケージ使ったほう…