It’s now or never

IT系の技術ブログです。気になったこと、勉強したことを備忘録的にまとめて行きます。

【Ethereum】【Solidity】low-level callを使ってコントラクトの関数を実行する

Solidityには、アカウント(アドレス)に対して直接バイトコードを実行する為に、address型の変数に対してcallという関数が用意されています。(low-level callと呼ばれるようです。) http://solidity.readthedocs.io/en/develop/types.html#members-of-address…

【Ethereum】【Solidity0.4.16】viewとpure修飾子

Solidity 0.4.16からviewとpureという関数の修飾子が新たに追加されました。 view 修飾子 pragma solidity ^0.4.16; contract C { function f(uint a, uint b) view returns (uint) { return a * (b + 42) + now; } } 内部で状態を変更しないことを宣言しま…

【Ethereum】コンストラクタから外部のコンストラクタの関数を実行する

EthereumのContractにおいて、 Contract内部から他のContractの関数を呼び出したいケースがあります。 その時に考えられる方法としては主に以下の2つかと思います。 ①Contract内で別のContractをnewする ②既にデプロイされている外部のContractを使う 今回は…

【Ethereum】【Solidity】OpenZeppelinのDayLimitのソースを読んでみる

OpenZeppelinというフレームワークのソースコードを引き続き読んでいます。 過去はこちら inon29.hateblo.jp 今回は、DayLimitというContractのソースを読んでみました。 DayLimitコントラクトは、関数に日付の実行制限を付与するためのコントラクトです。 …

【Ethereum】【Solidity】OpenZeppelinのShareableのソースを読んでみる

Solidity言語を使って実装された、 基本的なContractをフォーマット化したOpenZeppelinというフレームワークが開発されています。 このフレームワークに含まれるShareableというContractのソースを読んでみたので、メモを記載します。 Shareableコントラクト…

【Ethereum】Contractをネットワークにデプロイする

Ethereumの勉強を引き続きしています。 Contractをネットワークへデプロイする場合、 今までは、Ethereum WalletやRemix経由で行っていたのですが、ソースをコンパイルしていデプロイする方法がよくわからなかったので調べてまとめてみました。 古いバージョ…

【Ethereum】Ethereumで独自のトークンの作成してみる

Ethereumのトークンとは Ethereum上でトークンとよばれるコントラクトを作成することで独自の暗号通貨を作成することが可能です。 トークンを使うことで、コイン、ポイントなど様々な仮想的な価値をEthereumの仕組みの上で利用することができます。 トークン…

【Ethereum】Solidityを使ってSmartContractの作成してみる

引き続き、Ethereumを勉強中です。 前回はEthereumのプライベートネットワークを構築する方法について調べました。 inon29.hateblo.jp 今回は、Ethereumのコアな機能であるSmartContractについて実際に動かしてみたいと思います。 実行環境 Ubuntu14.04 on d…

【Ethereum】EthereumでPrivateNetworkを作ってみる

仕事の関係でブロックチェーンのプラットフォームであるEthereumを調べることになり、 簡単な動作確認を行うためにプライベートのEthereumのネットワークを作成してみました。 ※ 調べながらのものなのでところどころ間違っているかもしれません。 ※ ブロック…

Kerasのサンプルソースが何をやっているか読んでみる

前回は、Kerasのインストールを行い機械学習を行うための環境を構築しました。 inon29.hateblo.jp しかし、今の状態だと何をどうすればどう使えるのかも全く分からないため、とりあえずKerasのサンプルソースを読んで理解を深めていこうと思います。 その前…

Kerasの環境をMacに構築する

最近、今更ながら機械学習の勉強をしてみようと思い、色々調べていました。 僕は行列計算などの高校数学もほとんどわからないのですが、最近はPythonでのエコシステムがかなり充実してきているようで、頑張れば簡単なもの位は作れるようになるかなと思い、1…

独自のDockerImageを作成する

Dockerでは、自分で独自のimageを作成することが可能です。 独自のdocker imageを作成する方法は主に2つあります。 ① docker container commitコマンドを使う ② Dockerfileからビルドする 今回は、①の起動中のDockerコンテナから新しいイメージを作成する方…

Docker for Macを使ってみる

現状は、Vagrantを使って開発環境を構築することが多いのですが、最近はDockerを使って開発しているという話をよく聞きます。 DockerだとマシンスペックをVMほど使用しないというのがメリットの一つらしく、素早く軽量に開発環境を整えるため役立つのかな?…

CentOS7にJavaをインストール

jdkをオラクルページからをダウンロード ダウンロードページ rpm経由でインストールするため Linux x64のrpmファイルをダウンロード インストール sudo rpm -ivh jdk-8u121-linux-x64.rpm 確認 java -version

Oracle Database ExpressをCentOSにインストールする

Oracle Databaseは、基本的には商用(有償)のDBMSですが無償で使えるパッケージが有るみたいなので試してみます。 環境 CentOS 7.1 (Vagrant) パッケージのダウンロード ダウンロードページから Oracle Database Express Edition 11g Release 2 for Linux x64…

さくらVPSにOSをインストールしてroot以外のUserを作成する

さくらVPSで新規に環境をインストールしたときにroot以外の作業ユーザーを構築する方法をメモ 環境構築には、Chef zero(Knife zero)を使用する 1.さくらVPSにOSをインストール 各種設定 > OSのインストール > 標準OSインストール 今回は、CentOS7を選択 root…

【iOS, swift】swiftコーディング規約

※ Swift 2.3をベースに記載 自分がswiftを書くときのコーディング規約を記載します。 クラス Pascal記法 (大文字で始まる) で記述する // ◯ class ViewController: UIViewController { } // ☓ snake case class view_controller: UIViewController { ・・・ …

【Swift 2.0】クラスのプロパティ名を取得する

swiftでクラスからプロパティ名のリストを取得する方法です。 static func propertyNames() -> Array<String> { var names: Array<String> = [] var count: UInt32 = 0 self.classForCoder() let properties:UnsafeMutablePointer<objc_property_t> = class_copyPropertyList(self.classForCod</objc_property_t></string></string>…

【Rails4】GrapeをつかってAPIを作成する

Grapeとは REST-likeなAPIを作成する為のフレームワークです。 詳しくは、Grape githubを参照してください。 今回は、サンプルアプリケーションを作成し、jsonを返すAPIを動かしてみます。 サンプルプロジェクトにGrapeをインストール 任意のRailsアプリケー…

【cocos2d-x】【CocoStudio】CocoStudioを使って画面のレイアウトを読み込む

環境 cocos2d-x 3.2 CocoStudio for Mac 1.0.0 Bata CocoStudioでレイアウトを作成する まずは、CocoStudioにて任意の画面を作成します。 以下では、画面に一つボタンを置いています。 上記、赤枠の名前は、各UIパーツのをソースコード上から取得する時に必…

【cocos2d-x】cocos2d-x 3.X系を使ってみる① (セットアップ)

最近、ゲーム開発に携わる機会があり、 ゲーム開発の大手プラットホームであるcocos2d-xについて触れてみました。 cocos2d-xは、2Dゲームをつくることに優れたプラットホームで、 開発の方法はわかり易いのです。 ただ、2.X系と3.X系で大きな違いがあったり…

Apache用のVirtualHostの設定メモ(for Mac)

■ 環境 Mac OSX 10.9.3 (Mavericks) ■ Apacheの関連ファイルパス httpd.conf /private/etc/apache2/httpd.conf アクセスログ /private/var/log/apache2/access_log エラーログ /private/var/log/apache2/error_log 各ユーザー設定ファイル /private/etc/apac…

【Android】他のアプリケーションの上にViewを表示する

Androidのアプリの中には、 何かのアプリを起動中もずっと画面上に残り続けるアプリがあると思います。 今回は、上記のように他のアプリケーション上で、 自分のアプリケーションのViewを表示する方法について試して見ました。 Androidのviewは、複数のレイ…

初めてのRuby On Rails③ (メールを送る)

Railsには、メールを送信するための仕組みとしてActionMailerという機能があります。 今回は、ActionMailerを使用して、Gmailのメール送信を試してみます。 1.環境設定 設定ファイルにGmailの設定を記入します。 config/environments/development.rb config.…

初めてのRuby On Rails② (scaffoldジェネレータ)

Rubyには、コードを自動生成するジェネレータが用意されています。 今回は、データベースのCRUD、 データの作成(Create)、読み出し(Read)、更新(Update)、削除(Delete) の処理をを自動的に作成してくれる scaffoldジェネレータを使ってみました。 1.…

初めてのRuby On Rails①(環境構築)

Webアプリケーション作成のためのフレームワークであるRuby On Railsの勉強を始めました。 まずは、ローカルでRailsが動く環境を作ってみたいと思います。 Rubyの準備 1.rbenvのインストール ローカルでの開発環境なので、色々と柔軟に作りたいと思い、 Ruby…

rbenvのインストール(Mac)

Rubyのバージョン管理ツールであるrbenvを使って、 Rubyの実行環境をつくってみました。 1.rbenvをインストール brew install rbenv インストールが完了したらrbenvの初期設定を行います。 以下の設定を.zshenvや.bashrcに記載します。 この設定で、[user_ho…

【Android】youtubeの動画を再生する

Androidで、youtubeの動画を再生するには大きく分けて2つの方法があります。 1つは、youtubeアプリに対してIntentを飛ばす方法で、 例えば下記のように記載することで直接youtubeアプリを起動することができます。 Intent intent = new Intent(Intent.ACTION…

Appiumを使ってRubyでAndroidアプリのテストを行う①

Appiumをインストール sudo npm install -g appium npm install wd appium & Appiumリポジトリをクローン git clone https://github.com/appium/appium.git テスト実行環境を確認 以下のスクリプトを実行して、テストに必要な環境の構築を行います。 ビルド…

【Android】NFCを使ってみる① (読み込み処理)

NFC(Near Field Communication)は、近距離無線のテクノロジーで、 Android 2.3からサポートされている技術です。 また、Android 4.0からは、Android Beamという機能が加わり、 2つのAndroid搭載のデバイス間でのピアツーピアのデータ交換が可能となりました…