VPNパススルー
だいぶ前に、自宅から会社のVPN経由でサーバにつなげる話しをしました。
これで自宅からも社内ネットワークに入れるようになり、自宅から仕事ができるようになって便利になります。
前回はrouteコマンドで解決したと記事を書いたのですが、実は別にもうひとつ難関があったのです。 どうしても自宅ネットワークでは繋げなかったのです。
我がスマホのテザリングをONにしそれで試してみると…、routeコマンドで経路を設定すると…、つながった! じゃ、やっぱり自宅ネットワークに問題ありそう。
色々調べているとルーターが「VPNパススルー」に対応していないとダメらしい。
でも自宅で使っているのは「NetGenesis SuperOPT100E」です。なかなか立派なルーターです。対応してないはずがない。 「VPNパススルー」が有効になっていないっぽいなあ。
というわけでネットからマニュアルを見て設定箇所を調べてみました。 「PPPoE変換を有効にする」のチェックをつけないとダメみたいだ。
チェックつけてルーター再起動したら社内ネットワークに無事につながりました~。
一般企業も、在宅ワークができるようにVPNを導入している会社が増えてますが、結構ここでつまずいていることが多いみたいです。 自宅のルーターなのでもちろん対応方法はバラバラ。 素人がやるのはハードル高いですね。
第1回CodeEW(エモーションウェーブプログラミングコンテスト)のお題はFizzBuzz
お久しぶりです。中原です。
先日社内でプログラミングコンテスト(CodeEW)を行いました。
プログラミングコンテストを行ったきっかけ
今回プログラミングコンテストを行ったきっかけは、 弊社のエンジニアからYammerで「あそこのコードがちょっと気持ち悪いんですけど、もっと良い書き方ないですかねー?」という話を受けて色々と意見交換をしていたのですが、最終的に「こういう話をみんなでしたいですね」という感じになりました。 確かにディスカッションしながらコーディングするっていうのはとても勉強になるなあという実感もありました。
弊社にはスラスラとコードが書ける人もいるのですが、まだ思い通りにコードが書けない人もいます。 また、それぞれ経験してきたプロジェクト、得意なプログラミング言語は違いますので、コードの書き方に関しても様々だと思います。
スラスラ書ける人も書けない人もみんなでコードを共有し意見交換し、みんなで色々なコーディングスタイルを学んで、みんなでカッコよくなろうよということで、 第1回エモーションウェーブプログラミングコンテスト(CodeEW)を開催しました。
お題は、第1回ということで比較的有名な「FizzBuzz」に決定。
FizzBuzz問題とは
FizzBuzz問題とは下記のようなものです。
1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。
FizzBuzzをどれだけ少ないバイト数で書けるか
単純なFizzBuzzでも良かったのですが、ゲーム性を持たせたほうが良いと言う意見があったので、今回は「1番少ないバイト数で書いた人が優勝」というルールにしました。
ということで、以下のルールとなりました。
- FizzBuzz問題を1番少ないバイト数で書いた人が優勝です
- 言語は問いません
- 優勝した人にはAmazonギフトカード500円分を進呈します
みんなの解答
ということで、みんなの解答です。(参加は任意で行いました)
言語も色々ですし書き方も色々なのでとても面白いですね。
まとめ
弊社ではYammerでの情報共有や開発ミーティングなどを行っていますが、みんなが1つのお題に対してコーディングするということは初めてでした。 解答に関して来月みんなで集まって色々と話しをする予定ですが、みんなのコードを見ると一つ一つが個性的で個人的にはとても勉強になりました。 DB設計のお題とかも面白いかもですね。
と言うことで第2回も開催したいと思います!
VirtualBoxのディスクサイズを増やそう!Windows編
仮想マシンのディスクがいっぱいになってしまいました。 「可変ディスク」ってしてるので勝手に拡張すると思ってたんですけどどうも違うっぽい。
拡張したいときはそれなりの手続きが必要みたいです。 Linuxで似た記事はあるけどWindowsではあまり見かけないので書いてみました。
今現在はこんな感じ。 25GBを30GBに容量増やしたいとします。
これはコマンドから行います。
C:\Program Files\Oracle\VirtualBox\VBoxManage.exe modifyhd [仮想ディスクファイル名] --resize [増加サイズ]
※仮想ディスクファイル名には、vdi ファイルを指定する。 ※増加サイズはMB単位で指定してください。(1GBなら1024です)仮想ディスクファイルはどこにあるの?と調べたいときはここに書いてますよ↓。
早速コマンドを流しましょう。VBoxManage.exeも仮想ディスクファイル名もフルパスで指定しましょう。
C:\Program Files\Oracle\VirtualBox\VBoxManage.exe modifyhd D:\vbox\win7_32clone\win7_32clone.vdi --resize 30720
実行!
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
すぐ終わった。これでいいのか?
VirtualBoxの管理画面で見ると!増えてますね!
じゃあこれで完了、というわけではありません。 増やした分はWindows上では未使用な領域のままです。
仮想マシンを立ち上げましょう。 そしてコントロールパネルからディスクの管理を開きます。
ボリュームの拡張を行います。
これでディスク容量が増えました!
まとめ
仮想内のディスクを使うほどvdiファイルのファイルサイズは大きくなっていきます。 ディスク容量は後から増やせるが面倒くさいので仮想マシン作る段階で多めのディスク容量でスタートしたほうがいいでしょう。 100GBにしても実際のvdiファイルはもっと小さいので大丈夫です。 それでも仮想内のディスクが足りなくなったときは今回の方法で増やしましょう。
データベース設計の話し
仕事ではほぼデータベースを使ったアプリケーションを作っています。 経験上、データベース設計がよろしくないとアプリケーションも引きずられて複雑になってしまうことが多い気がします。
当たり前なことばかりだと思いますが、 データベース設計する時に個人的に気をつけているポイントです。
今必要ない列は削除する
今不要ない列はサックリ削除しちゃいます。 いつか使うかもしれないとかいう理由で残していると、そんなこと知らない人がそれを見た時に混乱します。 質問して説明を受ければ結果的には問題ないかもしれませんが、そもそもそんなこと質問する時間が無駄です。 YAGNI的にも必要になった時に追加すれば良いことですし、今要らないのであればサックリ削除しちゃいましょう。
テーブル、列の命名
物理名をローマ字で付けるか英語で付けるかとか、例えば日付の列名の最後には「_date」を付けるとか、 統一しとかないと実装する時に余計な混乱をします。 実際は数秒の混乱かもしれませんけど、その数秒の混乱が勿体無いです。 そもそも最初から統一しておけばそんな混乱は発生しません。
型、桁数
マスタのコードが入るトランザクションテーブルの列の型と桁数はそのマスタの列の型と桁数と同じにしときましょう。 同じであれば、マスタとトランザクションを見た時にここにはこのマスタのコードが入るんだなと認識できます。 もちろんマスタの列名とトランザクションの列名が合っているという前提です。 また、数値しか入らないのであれば数値型にし、日付しか入らないのであれば日付型にというように可能な限り型を明確にしておきたいですね。
まとめ
あと、外部キーとかもしっかり使っておくとリレーションが分かっていいですね。
データベース設計の細かな不統一などは実装時にじわじわとマイナスに効いてきます。 このじわじわが後に大きなマイナスになる気がします。 メンテナンスのし辛さとか。
データベースについては面倒臭がらずにしっかりとレビューをしながら設計をして行きたいですね。 (当然ですね)
photo credit: Tim Morgan via photopincc
意外と知らないショートカット!!
最近、作業効率を上げるためによく使うブラウザのショートカットをまとめてみた。
よく使うもの
ホームページに移動 | Alt+Home |
前のページに移動 | Alt+← |
次のページに移動 | Alt+→ |
ページの先頭に移動する | Home |
ページの末尾に移動する | End |
全画面表示 | F11 |
Webページの更新 | F5 |
新規ウィンドウ | Ctrl+N |
新しいタブを開く | Ctrl+T |
お気に入りに追加 | Ctrl+D |
ズーム | Ctrl+スクロール |
ズームリセット | Ctrl + 0 |
意外と知らないが、よく使うもの
アドレスバーの文字列選択 | F6 |
履歴の消去 | Ctrl+Shift+Delete |
直前に閉じたタブを開く | Ctrl+Shift+T |
現在のタブを閉じる | Ctrl+W |
開発者ツールの表示 | F12 |
ページのコード表示 | Ctrl+U |
ショートカット作成 | アドレスバーの左側(アイコン)をドラック |
別ブラウザへのタブの移動 | タブを移動したいブラウザへドラッグ |
ファイル指定検索 | 「filetype:pdf」というようにファイル形式を指定して検索 |
調べると意外と知らないものもあって結構おもしろかった!! どのツールでもショートカットはあるので、調べてみるといいかも。