タグ

ブックマーク / waman.hatenablog.com (28)

  • 32bit Windows マシンに Java 10 と Gradle をインストールする - 倭マン's BLOG

    前回の記事『32bit Windows マシンに Java 10 をインストールする - 倭マン's BLOG』で、32bit Windows マシンに Java 10 をインストールする方法を見ましたが、ビルドツールをインストールしていなかったので手動でコンパイルしていました(【追記】したように、JShell を使う分にはちょうどよいかと思いますが)。 今回は、Java 10 に加えてビルドツールの Gradle もインストールするようにします。 Gradle のインストール自体は wget でアーカイブzip ファイル)をダウンロードして、unzip で解凍してるだけですが。 【この記事の内容】 使用するツール Java 10 + Gradle のインストール方法 Java 10 + Gradle を使ってみる クラスファイルを非共有フォルダに出力する Gradle の他のバージョン

    32bit Windows マシンに Java 10 と Gradle をインストールする - 倭マン's BLOG
    waman
    waman 2018/04/02
    セルクマ
  • 32bit Windows マシンに Java 10 をインストールする - 倭マン's BLOG

    以前の記事『32bit Windows マシンに Docker CE をインストールする - 倭マン's BLOG』で、32bit Windows マシンに Docker CE をインストールする方法を見ましたが、Docker と同じように 64bit マシンでしか動かない Java 10 を、同様の方法を使って Vagrant の仮想マシンにインストールする方法を見ていきます。 まぁ、Java のインストール自体は wget でアーカイブ(tar.gz ファイル)をダウンロードして解凍してるだけなんですけど。 【この記事の内容】 使用するツール Java 10 のインストール方法 Java 10 を使ってみる javac/java コマンド JShell 少し Vagrant について Oracle JDK を使う まとめ 【追記・修正】 使用するツール使用するツールは『32bit Wi

    32bit Windows マシンに Java 10 をインストールする - 倭マン's BLOG
    waman
    waman 2018/03/20
    セルクマ
  • 32bit Windows マシンに Docker CE をインストールする - 倭マン's BLOG

    お恥ずかしながら未だに 32bit PC を使っておりまして、なんだかよく分からんけど流行ってる Docker をちょっと使ってみようと思ったらそもそもインストールすらできない状況で行き詰まって息詰まってたんですが、Vagrant (+VirtualBox) を使えば 32bit PC でも Docker を使えるようなので試してみました。 ただ、少し前なら Vagrant の Docker プロビジョニングで簡単に Docker が使えたようなんですが、Docker の方が Docker CE と Docker EE に分かれてしまったせいでこの方法が使えなくなったので、もう少しインストールに手間がかかります。 基的には次の GitHub リポジトリ GitHub - redgeoff/docker-ce-vagrant: Spin up a VM running docker CE

    32bit Windows マシンに Docker CE をインストールする - 倭マン's BLOG
    waman
    waman 2018/03/05
    セルクマ
  • 『実践 Vagrant』の Vagrantfile をバージョン2で書いてみる - 倭マン's BLOG

    オライリーの『実践 Vagrant』を購入して読んでみると、サンプルとして書かれている Vagrantfile のバージョンが1で現在はほとんど使われていないのでちょっと悩ましいなぁと思っていたのだけど、せっかくなので勉強と動作確認を兼ねて自分で書き換えてみることにしました。 と言っても、ほとんど Vagrant の Getting Started にそのまま載ってるものばかりなんですが。 【記事の内容】 Vagrant, VirtualBox の使用バージョン 2章 初めての Vagrant マシン 2.2 Vagrantfile (p,22) 2.4 ボックス (p.28) 2.6.3 共有ファイルシステム (p.35) 2.6.4 基的なネットワーキング (p.37) 3章 Vagrant 仮想マシンのプロビジョニング 3.4 自動化プロビジョニングの基 (p.56) 3.7.1

    『実践 Vagrant』の Vagrantfile をバージョン2で書いてみる - 倭マン's BLOG
    waman
    waman 2018/02/19
    セルクマ
  • Go 言語の io パッケージをのパッケージ関数を使ってみる - 倭マン's BLOG

    Go 言語のいろいろなパッケージを使ってみるシリーズ(目次)。 以前の2つの記事 「Go 言語の io パッケージに定義されているインターフェース型を一気見する」 「Go 言語の io パッケージにある具象 Reader, Writer を使ってみる」 で io パッケージに定義されている型や関数を使ってみましたが、今回は io パッケージに定義されている残りのパッケージ関数を使っていきます。 まぁ、関数のシグニチャ(名前や引数)を見れば大体動作は分かりそうな関数ばっかりだし、パッケージドキュメントに簡潔な説明とサンプルコードが載ってますが。 【この記事の内容】 io パッケージに定義されている関数 コピー関連 io.Copy 関数 io.CopyBuffer 関数 io.CopyN 関数 読み込み関連 io.ReadAtLeast 関数 io.ReadFull 関数 書き出し関連 io.

    Go 言語の io パッケージをのパッケージ関数を使ってみる - 倭マン's BLOG
    waman
    waman 2017/10/21
    セルクマ
  • Go 言語の io パッケージにある具象 Reader, Writer を使ってみる - 倭マン's BLOG

    Go 言語のいろいろなパッケージを使ってみるシリーズ(目次)。 今回は io パッケージに定義されている具象 io.Reader, io.Writer を見ていきます。 io パッケージに定義されているインターフェース型については「Go 言語の io パッケージに定義されているインターフェース型を一気見する」を参照。 【この記事の内容】 io パッケージに定義されている具象 io.Reader, io.Writer io.Reader を返すメソッド io.MultiReader 関数 io.TeeReader 関数 io.LimitReader 関数 io.SectionReader 関数 io.Writer を返すメソッド io.MultiWriter 関数 io.Pipe 関数 io パッケージに定義されている具象 io.Reader, io.Writerio パッケージには io.

    Go 言語の io パッケージにある具象 Reader, Writer を使ってみる - 倭マン's BLOG
    waman
    waman 2017/10/14
    セルクマ
  • Go 言語の io パッケージに定義されているインターフェース型を一気見する - 倭マン's BLOG

    Go 言語のいろいろなパッケージを使ってみるシリーズ(目次)。 今回は io パッケージにたくさん定義されているインターフェース群をザッと見ていきます。 実装には立ち入りません。 io パッケージに定義されているインターフェースと定数io パッケージに定義されているインターフェース型には以下のようなものがあります: // バイト I/O type ByteReader type ByteScanner type ByteWriter // ルーン I/O type RuneReader type RuneScanner // バイトスライス I/O type Reader type Writer type Seeker type Closer // Seeker のための定数 const ( SeekStart = 0 // ファイルの先頭から SeekCurrent = 1 // ファイ

    Go 言語の io パッケージに定義されているインターフェース型を一気見する - 倭マン's BLOG
    waman
    waman 2017/10/08
    セルクマ
  • Go 言語の ioutil パッケージを使ってみる - 倭マン's BLOG

    Go 言語のいろいろなパッケージを使ってみるシリーズ(目次)。 今回は入出力関連のユーティリティ関数が定義されている ioutil パッケージを見ていきます。 インポートパスは "io/ioutil" です。 【この記事の内容】 ioutil パッケージ ioutil.ReadAll, ioutil.ReadFile 関数 ioutil.ReadDir 関数 ioutil.WriteFile 関数 ioutil.TempFile, ioutil.TempDir 関数 ioutil.NopCloser 関数 変数 ioutil.Discard ioutil パッケージioutil パッケージには以下のような関数(と変数)が定義されています: // 一括読み込み func ReadAll(r io.Reader) ([]byte, error) func ReadFile(filename s

    Go 言語の ioutil パッケージを使ってみる - 倭マン's BLOG
    waman
    waman 2017/10/06
    セルクマ
  • Go 言語の os パッケージにある File 型を使ってみる (2) : os.File のメソッド - 倭マン's BLOG

    Go 言語のいろいろなパッケージを使ってみるシリーズ(目次)。 今回も os パッケージの os.File 関連ですが、*os.File に定義されているメソッドを見ていきます。 Linux コマンドに同名のものがある Chdir, Chmod, Chown は Windows ではサポートされておらずエラーが返されるので、ここでは扱いません。 まぁ特に使い方は難しくないと思いますが*1。 【この記事の内容】 *os.File に定義されているメソッド ファイル情報 ファイル名とファイル記述子(Name, Fd メソッド) ファイル情報(Stat メソッド) 読み書き(ファイル) 読み込み Read, ReadAt メソッド 書き出し Write, WriteAt, WriteString メソッド Seek メソッド *os.File が実装している io パッケージのインターフェース

    Go 言語の os パッケージにある File 型を使ってみる (2) : os.File のメソッド - 倭マン's BLOG
    waman
    waman 2017/10/04
    セルクマ
  • Go 言語のいろいろなパッケージを使ってみるシリーズ ~目次~ - 倭マン's BLOG

    Go 言語の標準ライブラリのいろいろなパッケージを使ってみるシリーズの目次記事。 fmt パッケージ Print 関連関数 log パッケージ os パッケージ os.File os.File オブジェクトを取得する関数 os.File のメソッド io パッケージ io パッケージに定義されているインターフェース型 Go 言語の io パッケージにある具象 Reader, Writer を使ってみる Go 言語の io パッケージをのパッケージ関数を使ってみる ioutil パッケージ プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES) 作者: Alan A.A. Donovan,Brian W. Kernighan,柴田芳樹出版社/メーカー: 丸善出版発売日: 2016/06/20メディア: 単行(ソフトカバー)この商

    Go 言語のいろいろなパッケージを使ってみるシリーズ ~目次~ - 倭マン's BLOG
    waman
    waman 2017/10/02
    セルクマ
  • Go 言語の os パッケージにある File 型を使ってみる (1) : os.File オブジェクトを取得する関数 - 倭マン's BLOG

    Go 言語のいろいろなパッケージを使ってみるシリーズ(目次)。 今回は os パッケージの os.File オブジェクトを取得するパッケージ関数を見ていきます。 【この記事の内容】 os.File オブジェクトを取得するパッケージ関数 os.Open 関数 os.Create 関数 os.OpenFile 関数 ファイルを開くときに指定するビットフラグ ファイルモード FileMode os.NewFile 関数 os.Pipe 関数 【修正】 os.File オブジェクトを取得するパッケージ関数os パッケージのパッケージドキュメントはこちら。 os.File オブジェクトを取得する関数には以下のようなものがあります: type File func Open(name string) (*File, error) // 読み込み func Create(name string) (*Fi

    Go 言語の os パッケージにある File 型を使ってみる (1) : os.File オブジェクトを取得する関数 - 倭マン's BLOG
    waman
    waman 2017/10/01
    セルクマ
  • Go 言語の log パッケージを使ってみる - 倭マン's BLOG

    Go 言語のいろいろなパッケージを使ってみるシリーズ(目次)。 今回は log パッケージ。 log パッケージには fmt パッケージのような Print 関連の関数がありますが、これらは fmt パッケージの同名の関数で書き出し時刻と改行を追加して表示します。 また、デフォルトでは標準出力ではなく標準エラー出力に書き出します。 【この記事の内容】 log パッケージ Print 関連 log.Print 関数 log.Println 関数 log.Printf 関数 Fatal 関連 Panic 関連 ログの設定 接頭辞 Prefix フラグ Flag 出力先 Output Logger 型 【修正】 log パッケージlog パッケージのパッケージドキュメントはこちら。 log パッケージに定義されている関数には以下のようなものがあります: // Print 関連 func Prin

    Go 言語の log パッケージを使ってみる - 倭マン's BLOG
    waman
    waman 2017/09/30
    セルクマ
  • Go 言語の fmt パッケージにある Print 関連関数を使ってみる - 倭マン's BLOG

    Go 言語のいろいろなパッケージを使ってみるシリーズ(目次)。 今回は fmt パッケージ。 Go 言語で標準出力に文字列を表示するには、通常 fmt.Println 関数などを使いますが、fmt パッケージのパッケージドキュメントをみると、他にも "Print" が名前に入っている関数がたくさんあってちょっと混乱しそうなので、それぞれを試しに使ってみます(ただし、"%s" などのヴァーブ (verb, 動詞) には深入りしません)。 まぁ、2~3個の関数を見れば他の関数の使い方もだいたい分かるので、全部を律儀に試す必要はない気もしますが。 あと、自分は今までほとんど JVM 系の言語を使ってたので、Java で対応するメソッドなどもメモのために付記しておきます。 【この記事の内容】 fmt パッケージ 標準出力へ書き出す関数 fmt.Print 関数 fmt.Println 関数 fmt

    Go 言語の fmt パッケージにある Print 関連関数を使ってみる - 倭マン's BLOG
    waman
    waman 2017/09/29
    セルクマ
  • 『Real World HTTP』のための Java 簡易 HTTP サーバ - 倭マン's BLOG

    ちょっと流行ってるようなので、オライリーの『Real World HTTP ―歴史とコードに学ぶインターネットとウェブ技術』を買って読んでるのですが(買って2週間くらいだけどまだ2章までしかいってねぇ)、1章・2章に載っている Go によって書かれた簡易サーバを Java で書いてみます。 ここの HTTP 簡易サーバは、「JDK付属、Undertowを使ったGroovy&Clojure、Perlでの簡単なHTTPサーバ」で紹介されている、JDK 付属の HTTP サーバの箇所を参考にしました(ほとんど Groovy コードを Java コードに直しただけですが)。 簡易 HTTP サーバGo には簡易 HTTP サーバが付属しているようですが、JDK にも com.sun.net.httpserver パッケージに簡易 HTTP サーバ用のクラスがあります。 サーバのインスタンスを生成す

    『Real World HTTP』のための Java 簡易 HTTP サーバ - 倭マン's BLOG
    waman
    waman 2017/07/10
    セルクマ
  • Scala の Seq に定義されているメソッドを試す (9) ~タプル関連~ - 倭マン's BLOG

    Scala の Seq に定義されているメソッドを試すシリーズ(目次)。 今回は Seq のタプルやタプルの Seq を返すメソッドを見ていきます。 Map はタプルの Seq なので groupBy メソッドもここで扱います。 今回扱うメソッド def splitAt(n: Int): (Seq[A], Seq[A]) def span(p: (A) ⇒ Boolean): (Seq[A], Seq[A]) def partition(p: (A) ⇒ Boolean): (Seq[A], Seq[A]) def groupBy[K](f: (A) ⇒ K): Map[K, Seq[A]] def zip[B](that: GenIterable[B]): Seq[(A, B)] def zipAll[B](that: collection.Iterable[B], thisElem:

    Scala の Seq に定義されているメソッドを試す (9) ~タプル関連~ - 倭マン's BLOG
    waman
    waman 2017/03/23
    セルクマ
  • Scala の Seq に定義されているメソッドを試す (8) ~多重コレクション~ - 倭マン's BLOG

    Scala の Seq に定義されているメソッドを試すシリーズ(目次)。 今回は Seq の Seq や Seq の Iterator に関連するメソッドを試していきます。 Seq のタプルやタプルの Seq を返すメソッドも試そうと思ったのですが、長くなりそうなのでこれらは次回に。 今回扱うメソッド // 多重コレクション関連 def flatten[B]: Seq[B] def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): Seq[B] def transpose[B](implicit asTraversable: (A) ⇒ GenTraversableOnce[B]): Seq[Seq[B]] // Seq の Iterator を返すメソッド def grouped(size: Int): Iterator[Seq[A]] def sl

    Scala の Seq に定義されているメソッドを試す (8) ~多重コレクション~ - 倭マン's BLOG
    waman
    waman 2017/03/22
    セルクマ
  • Scala の Seq に定義されているメソッドを試す (7) ~畳み込み~ - 倭マン's BLOG

    Scala の Seq に定義されているメソッドを試すシリーズ(目次)。 今回扱うのは、Seq の要素を走査して何かしらの結果を計算する、畳み込みに関するメソッドです。 今回扱うメソッド畳み込みに関するメソッドには fold, reduce, scan があり、それぞれに左右どちらかから計算していくかを指定する Left/Right がついたメソッドがあります。 Left/Right が付いていないメソッドは左畳み込みで、かつ指定できる二項演算が要素の型(もしくはそのスーパー型)に対するものだけに制限されます。 // fold 系 def fold[A1 >: A](z: A1)(op: (A1, A1) ⇒ A1): A1 def foldLeft[B](z: B)(op: (B, A) ⇒ B): B def foldRight[B](z: B)(op: (A, B) ⇒ B): B

    Scala の Seq に定義されているメソッドを試す (7) ~畳み込み~ - 倭マン's BLOG
    waman
    waman 2017/03/19
    セルクマ
  • Scala の Seq に定義されているメソッドを試す (6) ~異なる要素数の Seq を返すメソッド~ - 倭マン's BLOG

    Scala の Seq に定義されているメソッドを試すシリーズ(目次)。 今回扱うのは、元の Seq オブジェクトとは要素が異なる(場合がある)Seq オブジェクトを返すメソッドです。 まぁ大体、要素の追加や削除を行うメソッドです。 前回と同様に、Seq のコンパニオン・オブジェクトに定義されているファクトリ・メソッドで返されたインスタンスはイミュータブルなので、これらの追加・削除のメソッドを呼び出しても元の Seq オブジェクト自体はは変更されません。 今回扱うメソッド要素数を追加するメソッドには以下のようなものがあります。 def +:(elem: A): Seq[A] def :+(elem: A): Seq[A] def ++[B](that: GenTraversableOnce[B]): Seq[B] def ++:[B](that: TraversableOnce[B]):

    Scala の Seq に定義されているメソッドを試す (6) ~異なる要素数の Seq を返すメソッド~ - 倭マン's BLOG
    waman
    waman 2017/03/12
    セルクマ
  • Scala の Seq に定義されているメソッドを試す (5) ~同じ要素数の Seq を返すメソッド~ - 倭マン's BLOG

    Scala の Seq に定義されているメソッドを試すシリーズ(目次)。 今回は既にある Seq オブジェクトから新たに Seq オブジェクトを作るメソッド。 特に生成された Seq オブジェクトの要素数が元の Seq オブジェクトの要素数と一致するものを試していきます。 加えて、関数や部分関数 (PartialFunction) を返すメソッドも試します。 今回扱うメソッドまずは、要素数の等しい新たな Seq オブジェクトを生成するメソッド。 def map[B](f: (A) ⇒ B): Seq[B] def updated(index: Int, elem: A): Seq[A] def reverse: Seq[A] def reverseMap[B](f: (A) ⇒ B): Seq[B] def sorted[B >: A](implicit ord: math.Orderin

    Scala の Seq に定義されているメソッドを試す (5) ~同じ要素数の Seq を返すメソッド~ - 倭マン's BLOG
    waman
    waman 2017/03/08
    セルクマ
  • Scala の Seq に定義されているメソッドを試す (4) ~インデックス~ - 倭マン's BLOG

    Scala の Seq に定義されているメソッドを試すシリーズ(目次)。 今回はインデックスに関連するメソッドを試していきます。 今回扱うメソッド今回扱うメソッドは以下の通り。 最初の2つ以外はインデックスの Int 値を返すメソッドです。 似たようなメソッドがありますが一貫した命名・シグニチャで定義されているので分かりやすいかと思います。 def isDefinedAt(idx: Int): Boolean def indices: Range // 指定した要素のインデックスを返す def indexOf(elem: A): Int def indexOf(elem: A, from: Int): Int def lastIndexOf(elem: A): Int def lastIndexOf(elem: A, end: Int): Int // 指定した Seq が始まるインデック

    Scala の Seq に定義されているメソッドを試す (4) ~インデックス~ - 倭マン's BLOG
    waman
    waman 2017/03/08
    セルクマ