Vagrantfile を色々いじりながらあれこれ作業をしていた(主にポート設定)所、「Connection timeout. Retrying…」が無限ループ。
vagrant destroyで環境一掃してやろうかと思ったが、本質的ではないのでしっかり解決することにした。
起きた事
Vagrantfileをいじって vagrant reload した所、以下のような感じに。
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
default: Adapter 2: hostonly
==> default: Forwarding ports...
default: 22 => 2235 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2235
default: SSH username: vagrant
default: SSH auth method: private key
default: Error: Connection timeout. Retrying...
default: Error: Connection timeout. Retrying...
default: Error: Connection timeout. Retrying...
default: Error: Connection timeout. Retrying...
default: Error: Connection timeout. Retrying...
default: Error: Connection timeout. Retrying...
default: Error: Connection timeout. Retrying...
default: Error: Connection timeout. Retrying...
default: Error: Connection timeout. Retrying...
default: Error: Connection timeout. Retrying...
default: Error: Connection timeout. Retrying...
default: Error: Connection timeout. Retrying...
default: Error: Connection timeout. Retrying...
(続きを読む…)
ご無沙汰です。連載企画を書き進めると豪語しておきながら かなり経過してしまいました。連載企画の方は時間を見つけつつ少しずつ書き進めていければと思います、申し訳ございません。
さて、最近周囲の方にGitの解説をする機会が増えてきたため、今回はGitの基本コマンドに関連する説明をします。
対象読者
・何らかの理由でGitを使う事になったが、コマンドが多くてよくわからない方。
・コマンドごとの意味は何となく理解しているけど、イマイチピンと来ない方。
(※「そもそも何故Gitを使う必要があるのか」「バージョン管理とは何か」といった点については ノンプログラマ向けの連載企画として後日記載させていただければ幸いです)
解説するコマンド
git init, git add, git commit, git status, git log, git branch, git checkout, git merge, git clone, git pull, git push, git fetch
他にも remote, cherry-pick, rebase, reset 等 色々ありますが 本記事ではまず 最もよく使うであろう上記コマンドに絞って解説します。
(続きを読む…)
久々の更新。
土曜日は これまで何となく使っていたVagrantを本格的にいじっていたけど、知れば知る程便利だなあ。
Vagrantfileって Gruntfileみたいに何となくいじるのが面倒くさそうな印象があったんだけど、実は全くそんな事がなくて 寧ろちょろっとやれば誰でも簡単にいじれるようになるくらい学習コストが低かった(まだChefと絡めていないので Chefと連携させると若干話が変わってくるかもしれないけど)。
というわけで今回は Vagrantを使ってUbuntuサーバを2台立てて MySQLでレプリケーションを構成してみた話を。
今回に関してはどちらかというとVagrantよりMySQL寄りの話になります。
Vagrantに関しては boxの構造とかVagrantfileの事とか 色々と整理できたので 後日 初心者向けにvagrantの基本的な事柄についてまとめます。
(続きを読む…)
デモ(空腹時閲覧注意)
こちら
(続きを読む…)
ここ最近 せっかくプログラミング言語の作り方を勉強している最中だし、どうにか二郎のコール(いわゆる二郎語の一部)をプログラミング言語で再現できないだろうかと頭を悩ませていたが、最近ようやく ある程度形になってきたのでシェアする。
(正直な所、タイトルは「プログラミング言語」になっているものの、「やってる事ただのコンパイルじゃねーか」という感じになっちゃってます。 極めつけに「yaccとlex使ってるだけじゃねーか」って声が聞こえてきそうですが、どうか許してください )
test.jiroファイルの用意
以下は「二郎語」で書かれたファイル「test.jiro」である。「ニンニク入れますか?」を契機に、怒涛のコールが始まる。
「ニンニク入れますか?」「ヤサイニンニクアブラ」「ヌキ」「ヤサイニンニクアブラ」「ニンニク」「ニンニクアブラ」「ヤサイカラメ」「ニンニクアブラ」「ニンニクアブラカラメ」「ヤサイニンニクアブラ」「アブラ」「ニンニクアブラ」「ニンニクアブラ」「ニンニク」「カラメ」「ニンニク」「ニンニク」「アブラ」「カラメ」「ニンニクアブラ」「ヤサイアブラ」「ニンニクアブラ」「アブラカラメ」「ニンニクアブラ」「アブラカラメ」「ニンニクアブラ」「全マシ」「ニンニク」「ヌキ」「ヤサイアブラ」「ヤサイニンニクアブラ」「ニンニクアブラ」「全マシ」「ヤサイニンニクアブラ」「ニンニク」「ニンニクアブラ」「アブラカラメ」「ニンニクアブラ」「アブラ」「ニンニク」「ニンニク」「ニンニク」「ヤサイカラメ」「ヤサイニンニク」「ヤサイニンニクカラメ」
ソースコード(コール)内容: 「ニンニク入れますか?」「ヤサイニンニクアブラ」「ヌキ」「ヤサイニンニクアブラ」「ニンニク」「ニンニクアブラ」「ヤサイカラメ」「ニンニクアブラ」「ニンニクアブラカラメ」「ヤサイニンニクアブラ」「アブラ」「ニンニクアブラ」「ニンニクアブラ」「ニンニク」「カラメ」「ニンニク」「ニンニク」「アブラ」「カラメ」「ニンニクアブラ」「ヤサイアブラ」「ニンニクアブラ」「アブラカラメ」「ニンニクアブラ」「アブラカラメ」「ニンニクアブラ」「全マシ」「ニンニク」「ヌキ」「ヤサイアブラ」「ヤサイニンニクアブラ」「ニンニクアブラ」「全マシ」「ヤサイニンニクアブラ」「ニンニク」「ニンニクアブラ」「アブラカラメ」「ニンニクアブラ」「アブラ」「ニンニク」「ニンニク」「ニンニク」「ヤサイカラメ」「ヤサイニンニク」「ヤサイニンニクカラメ」
コンパイル
前述の二郎語によって記述されたコールをコンパイルするために、linux上で以下のようにコマンドを実行する。
./jiroparse test.jiro
すると、以下のように二郎語で書かれたコード(コール)をベースに「jiro.c」というC言語のファイルが出力される。
この中身を見てみると、二郎語によるコールがC言語に正常にコンパイルされてHello world が出力されていることがわかる( int main(void){ …、 return 0; } あたりの処理は割愛しております)。
printf("Hello World");
(続きを読む…)