覚えたら書く

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

2018-01-01から1年間の記事一覧

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"…

Solidity - コンストラクタの新しい書き方

ここ最近、ブロックチェーンやらEthereum(イーサリアム)について勉強中ですが、 Ethereumに付いてまわるSolidityのコンストラクタの書き方って新しくなったみたいですね。 たぶん、0.4.21 から??。 本によっては古い情報が載ってたりするので、一応メモ 以…

Ethereum - Ethereumに関するメモ

Ethereum(イーサリアム)について本読んだりネット見たりして見知ったことをメモしておきます Ethereumとは Ethereum Foundation を中心に開発が進められている分散アプリケーションのプラットフォームです。 2013年に Vitalik Buterin が開発を開始しました…

PostgreSQL - カラムを色々操作したい

PostgreSQLのテーブルのカラムを色々操作したい(変更したい)ことがあったりするので、 それ用のメモです カラムの型を変更する ALTER TABLE {テーブル名} ALTER COLUMN {カラム名} TYPE {新しいカラムの型}; ■実行例 ALTER TABLE dummy_table ALTER COLUMN…

nmapコマンドで対象ホストがPOODLEの脆弱性を抱えているかチェックする

nmapコマンドを利用してSSL3.0が抱えているPOODLEの脆弱性を対象ホストがかかえているのかどうかをチェックします。 nmap の準備 nmapを利用しますので使えない場合はインストールしましょう(Macなら以下のような感じとか) brew install nmap 実行するコマ…