Skip to content

Instantly share code, notes, and snippets.

package main
import (
>......."fmt"
>.......fakeerror "github.com/yoppi/fakeerror"
)
func main() {
>.......fmt.Printf("fakeerror: %p\n", fakeerror.FakeError)
@yoppi
yoppi / oosc_35.md
Created June 2, 2015 08:43
オブジェクト指向入門 35章

35章 SimulaからJavaへ、そしてその先へ: 主なオブジェクト指向言語とその環境

  • 1967年Simulaを皮切りに多くのオブジェクト指向言語が生まれた
  • Simula、Smalltalk、C++と他のC拡張、Javaを調査する
  • この章では、言語に関する詳細な比較評価はせず、問題概念 について学ぶことである

35.1 Simura

  • クラス家の創立者
  • 1967年に完成
@yoppi
yoppi / nokogiri.md
Created April 14, 2015 08:08
nokogiriのあれこれ

nokogiriでトラブル

nokogiriのバージョンがちょっと異なり、libxmlの共有ライブラリが見つからなくて落ちる。 xml4r/libxml-ruby#70

TL;DR

うんちくとかどうでもいい人は以下で解決します。

@yoppi
yoppi / eval_hash_key.rb
Created March 26, 2015 06:10
2.2からこんなことできる
HOGE = 'hoge'
{"#{HOGE}": { foo: 'foo', bar: 'bar' }}
#=> {:hoge=>{:foo=>"foo", :bar=>"bar"}}
@yoppi
yoppi / oosc_29.md
Last active August 29, 2015 14:16
オブジェクト指向入門29章

29章 オブジェクト指向という手法を教える

これからオブジェクト指向を適用しなければならない人を教育するにはどうするのが良いのか、教育の原則を提示して、一般的な間違いを指摘する。

29.1 企業でのトレーニング

教育する側の仕事は、1980年代にオブジェクト技術が関心を集め始めた頃よりも今の方が難しいかもしれない。 すでにわかっていると思っていることについて学ぶことのできる人はいないからだ。

@yoppi
yoppi / ghost.c
Created March 1, 2015 03:29
ghostチェッカー
#include <netdb.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#define CANARY "in_the_coal_mine"
struct {
char buffer[1024];
@yoppi
yoppi / oop_24-6_24-9.md
Created February 3, 2015 10:09
オブジェクト指向入門 24.6 〜 24.9

24.6 1つのメカニズムにするか、複数のメカニズムにするか

継承の使い方の種類は幅広いので、基礎となる概念を実現するためには、複数の言語機構が必要なのでは

  • モジュール継承(新しいモジュールで既存の特性を再利用するためのツール)
  • 型継承(型の分類機構) このように分けることは利益になるより、害になる
  • 2つのカテゴリだけを認識することは継承のさまざまな使い方を表すことにはならない
  • 無駄な方法論的な議論を招くことになる
@yoppi
yoppi / oop_23_1.md
Last active August 29, 2015 14:11
オブジェクト指向入門 23章 1節

オブジェクト指向入門 23.1

クラス設計の原則

ソフトウェア開発において、モジュールインタフェースを適切に設計すること以上に根本的に重大な課題はあまりない。 クラスの成功を左右するのは、顧客からどう見えるかなので、重要なことはクラスのインタフェースをいかに単純に、わかりやすく、覚えやすく、時間と変化の試練に耐えられるかということである。

検討するのは、

@yoppi
yoppi / oop_19.md
Last active August 29, 2022 13:39
オブジェクト指向入門 - 19章

19章 方法論について

19.1 ソフトウェアの方法論: なぜとなに

人は導いてくれるものを欲する。成功するためにはそれにしたがっていさえ入れば良いというような、「真実の法則」の探求は、ソフトウェアにおいて新しいものでもないし、また、ソフトウェアに限定されるものでもない。
  • ソフトウェアの方法論から得られるものは何か、その方法論の限界はなにかを知っておくことが重要
  • 良いソフトウェアを作り出す絶対確実な方法というものはない
@yoppi
yoppi / func_call.go
Created October 12, 2014 02:59
関数は、呼び出し元の型が使われる(呼び出された側の型情報はなくなる)
package main
import (
"fmt"
)
type Parent struct{}
type Child struct {
*Parent
}