覚えたら書く

IT関係のデベロッパとして日々覚えたことを書き残したいです。twitter: @yyoshikaw

2018-08-01から1ヶ月間の記事一覧

ASCII文字列の16進数表記を取得する

JavaでASCII文字列の16進数表記の値(Hex Dump)を取得するサンプルです。 以下のようなメソッドを用意します。 import java.util.stream.Collectors; static String asciiHexDump(String ascii, String delimiter) { return ascii.chars() .mapToObj(b -> S…

Nクイーン問題を扱ってみる

8クイーンと呼ばれるパズルが存在しています。 チェスのクイーン(上下左右斜めに何マスでも進める)を、チェスボードの8×8マスに、8つのクイーンを互いに利きに入らないように配置するパズルです。 8×8マスの盤面の中に、縦・横・斜めにクイーンが重複しな…

Java - 配列をシャッフルする

Javaで配列をシャッフルするサンプルです。 Listをシャッフルする Javaで、List内部の要素をシャッフル(ランダムに入れ替え)するには、 Java標準で用意されている Collections.shuffle のAPIを利用すればよいです。 コードサンプル import java.util.Array…

フィボナッチ数を扱う - 再帰呼出し

再帰についてのメモがてらフィボナッチ数(フィボナッチ数列)をJavaでサンプル的に扱ってみました。 フィボナッチ数 (フィボナッチ数列) 番目のフィボナッチ数を で表すと、 と定義される漸化式です。 この数列はフィボナッチ数列(Fibonacci sequence)と…

Solidity - RemixでHello World

Solidityでのスマートコントラクト開発を行う上で、 統合開発環境としてはブラウザベースのRemixを利用するのが一番お手軽なようです。 とりあえずRemix を利用して Hello Wolrd を実行してみます。 Remixの起動 以下URLのアクセスします。 https://remix.et…

Ethereum - トランザクションの実行の流れ

ビットコインのトランザクションはTXOモデルとなっています。 しかし、Ethereum(イーサリアム)ではアカウント情報を保存しているState Tree の中に残高情報を保持しているためトランザクションの実行フローが異なっています。 トランザクションが満たす必…

Ethereum - ブロック構造

Ethereumのブロックはヘッダとトランザクション、トランザクション実行結果の3要素で構成されています。 各要素の例と項目の説明をメモしておきます(初学者なので、以下の内容もどこまで正確なのかは不安あり・・・) ブロックヘッダ ブロックヘッダの例は…

Ethereum - Gethコンソールのコマンドを試す

Gethコンソールのコマンドをいくつか試してみます。 以下エントリの続きという感じになっています。 Gethを起動した状態で以下色々コマンドを実行しています。 ブロック内容の確認 eth.getBlock コマンドでブロックの内容を書くにすることができます。 引数…

Ethereum - Ethereumクライアントのインストールと実行

Ethereum(イーサリアム)用のクライアントをPC(macOS)にインストールして実行してみます Ethereumクライアントにはいくつか代表的なものが存在しています go-ethereum (Golang) cpp-ethereum (C++) ethreumj (Java) pyethapp (Python) parity (Rust) 今回は…

Ethereum - ネットワークの種類

Ethereum(イーサリアム)では、用途に応じてネットワークが複数種類存在しています。 各ネットワークの特徴は以下の通りです。 メインネット 本番環境のネットワーク。全世界に公開されているパブリックな環境。 etherを取得するためにはマイニングもしくは取…

Go言語 - 開発支援ツール

Go言語での開発を行う際にお世話になる開発支援ツールがいくつか存在しています。 そこまで猛烈に意識しなくてもいい気もしますが、自分用のメモとしてコマンドラインでの入手方法等を記載しておきます gofmt gofmt は、Go標準で付属しているコードフォーマ…

Go言語 - Windows上でのプロセス存在チェック

Windows上のプロセスの存在チェックをしたい場合のサンプルコードです。 前回記事のgo-psを利用すれば十分にチェック可能だと思いますが、今回のサンプルでは tasklist.exe に思いっきり頼っています。 package main import ( "bytes" "fmt" "os" "os/exec" …

Go言語 - プロセスの情報出したり、プロセスの一覧出したり

安直なのかもしれないですが、go-psライブラリのお世話になると簡単です 以下で取得しましょう go get github.com/mitchellh/go-ps 実行したプロセスの情報取得 実行したプログラムそのもののプロセス情報を取得する例です package main import ( "fmt" "os"…