Skip to content

Instantly share code, notes, and snippets.

View knknkn1162's full-sized avatar

Kenta Nakajima knknkn1162

View GitHub Profile
class IVisitor
{
public:
virtual ~IVisitor() {}
virtual void visit(Circle& node) = 0;
virtual void visit(Triangle& node) = 0;
};
class Shape
{
@knknkn1162
knknkn1162 / file0.txt
Last active November 7, 2016 01:02
Windows7でJupyterのDockerイメージにbash_kernelを導入するまでのメモ ref: http://qiita.com/knknkn1162/items/30ec5ee4fffa203221e3
# Dockerホストマシンを作成する
${DOCKER_MACHINE} create -d virtualbox "${VM}"
# Docker machineを起動する。2回目以降はここから
${DOCKER_MACHINE} start "${VM}"
# 環境変数no-proxyの設定
${DOCKER_MACHINE} env --shell=bash --no-proxy ${VM}
bash --login -i
@knknkn1162
knknkn1162 / file0.txt
Last active November 10, 2016 12:44
rail tutorial 勉強メモ (1~7章) ref: http://qiita.com/knknkn1162/items/209f3c4b975438a1a8d7
GemfileにいれたいGemパッケージをかきかき
==> Gemfileを`bundle install`
==> 依存ファイルもろとも、バージョンがGemfile.lockに書き込まれる。
<== Gemfile.lockがない状態で、他の環境で後日`bundle install`
==> 依存ファイルのバージョンが違ってしまい、同一環境で開発ができない!
@knknkn1162
knknkn1162 / file2.cpp
Last active November 16, 2016 23:40
いっつも忘れるC++ ファイル入出力関数を図にしてみた ref: http://qiita.com/knknkn1162/items/47736785a3e472db5525
dec // 10 進表記
endl // 改行文字の出力
ends // 空白文字の出力
flush // ストリームのフラッシュ
hex // 16 進表記
oct // 8 進表記
resetioflags(long f) // f で指定されたフラッグを off
setbase(int base) // 基数を base にする
setfill(int ch) // 文字 h で埋める
setioflags(long f) // f で指定されたフラッグを on
@knknkn1162
knknkn1162 / file0.txt
Last active November 18, 2016 01:54
gitに慣れるためのgit入門 ref: http://qiita.com/knknkn1162/items/dedb97da0c96adceb973
git init
@knknkn1162
knknkn1162 / Lazy.js
Created November 20, 2016 15:57
JavaScript遅延評価の練習(yet finished)
function LazyChain(iter)
{
//push each function
this._calls = [];
this._target = iter;
}
// アロー演算子は使えない(thisがグローバルオブジェクトをさしてしまうから)
LazyChain.prototype.invoke = function(methodName, ...args)
{
@knknkn1162
knknkn1162 / file0.cs
Last active November 21, 2016 06:26
C#における参照型と値型のはまりどころ ref: http://qiita.com/knknkn1162/items/aa088d4cc22f25c893fb
static void Main(string[] args)
{
int i = 1;
int j = i; //iの値が複製されて、jに格納される(intは値型)
j = j + 1;
List<int> arr = new List<int>{ 1, 2, 3 };
Console.WriteLine("{0} {1}", i, j); //1 2
var newArr = arr; // List<int>は参照型なので、値自体ではなく、値のアドレスが複製される。
newArr[0] = 10; //arrの参照情報とnewArrの参照情報は同じなので、arr[0]も変更される
arr.ForEach(c => Console.WriteLine(c)); //10 2 3
@knknkn1162
knknkn1162 / file0.js
Last active November 23, 2016 05:33
JavaScriptにおけるthisの挙動まとめ(Node.js) ref: http://qiita.com/knknkn1162/items/0fa7dcb6a735125d21db
console.log(this);//{} : module.exports Object
this.obj = "a"
console.log(this); // { obj: 'a' }
//cf) 2 : 関数呼び出しも参考にしてください
var func = function()
{
console.log(this);
};
@knknkn1162
knknkn1162 / file0.js
Last active November 23, 2016 08:18
Node.jsにおけるuse strictの挙動 ref: http://qiita.com/knknkn1162/items/495b2b767f48d83a6ea5
function foo() {
console.log(typeof this);
}
function bar() {
"use strict";
console.log(typeof this);
}
@knknkn1162
knknkn1162 / file0.js
Last active November 24, 2016 13:33
とっても短いJavaScript入門と関数型プログラミングへの入り口 ref: http://qiita.com/knknkn1162/items/377d193eeab218c8b4e4
//i, jはvar宣言
for(var i = 1; i < 11; i++)
{
var j = i+1;
if(j%3 === 0)
{
console.log(i*j);
}
}
//ブロックスコープの外でも参照できる。