swift: HTTP通信フレームワークAlamofireを使ってみました

概要 HTTP通信フレームワークであるAlamofireを使ってみました。 Alamofireの記事はたくさんヒットしますが、バージョンアップ(3.0)に伴いAPI仕様が変わっています。できるだけ、開発サイト(Github)Alamofire/Alamofireを参照した方が良いです。 セットアッ…

swift:PlaygroundでNSTimerを実行する

概要 uikit - Using NSTimer in swift playground - Stack Overflowによると、playgroundでNSTimerを実行する方法は二つあります。一つは、「XCPlaygroundPageを使う」方法、もう一つは、「CFRunLoopRunを使う」方法です。 二つの方法を実際に試してみました…

Swift言語:関数

概要 swiftの関数について仕様を確認しました。The Swift Programming Language (Swift 2.1) - Functions 引数なし func hello() { print("hello World") } hello() 引き数あり 外部引き数名なし 第2引数は引き数名を付けないとコンパイルエラーになる func …

Dockerイメージでswiftを動かしてみました

概要 VirtualBoxにUbuntu 14.04をインストールしてLinux版swiftを動かしましたが、こんなに簡単に試すことができたんですね... docker便利です。勉強になりました。 Linux 版 Swift を Mac 上で Docker を使って手っ取り早く試す - Qiita 事前に、docker、Vi…

REPLモードでswiftを動かしてみました

概要 REPLモードとシェルモードでギーク開発にあるswiftスクリプトを実行してみました。 GUI付きのシェルスクリプト(コマンド)とかに使えそうですね。swiftにはこのような使い方もあるんですね。 $ cat today.swift #!/usr/bin/swift import Foundation le…

ビルドしたオープンソース版Swiftを動かしてみました

概要 OpenSource版Swiftをビルドしてみたでビルドしたswiftを動かしてみました。 $ ./build/Ninja-DebugAssert/swift-macosx-x86_64/bin/swift --version Swift version 2.2-dev (LLVM 46be9ff861, Clang 4deb154edc, Swift 98e613ea97) Target: x86_64-appl…

OpenSource版のswiftファイルをXcodeで開く

概要 apple/swiftによると、 OS X環境だけですが、Xcodeを使ったswiftファイルの編集ができるようです。 Developing Swift in Xcodeの章を参照してください。 以下のコマンドを実行します。 ここで、--skip-buildは、ビルドせず、xcodeのプロジェクトファイ…

ubuntu14.04のインストールしました

概要 ubuntu14.04を再インストールしたので、手順をまとめておきます。何度も同じようなことをしているような気がします。 OSインストール Oracle VirtualBox上にUbuntu14.04をインストールしました。 モジュールアップデート $ apt-get update $ apt-get up…

github用ssh設定

概要 いままで、githubからcloneするときにHTTPSプロトコル経由で行っていました。今回、swiftのソースをgitプロトコルで取得するときにエラーが発生したので関連資料を参考に対応しました。 $ git clone git@github.com:apple/swift.git swift Cloning into…

MacOSXで実行モジュールをさがす

概要 MacOSに入っているfindはLinuxのものと違うのでオプションが違います。もう何回も検索しているのですが、なかなか覚えられません。 Linux版のfindでは、--executableをつけると実行ファイルを検索できます。 $ find . --executable 一方、MaxOSXでは、p…

OpenSource版Swiftをビルドしてみた

概要 OpenSource版のSwiftがリリースされたのでビルドしてみました。MacOSXであれば、ここの手順を参考にすると問題なくビルドできました。 環境は、MacOSX 10.11.1(EL Captain)です。 ビルド手順 ソースコードをダウンロードする $ git clone git@github.co…

Microsoft Visual Codeのエクステンションを作成してみた

概要 @ITの記事、 特集:Visual Studio Code早分かりガイド:Visual Studio Codeのエクステンションを作成する (1/2) - @ITを参考にして、Microsoft Visual Codeのエクステンションを作成してみました。 エクステンション作成手順 ひな形を作成する extensi…

electronに触ってみた

概要 遅まきながら、atom/electronを試してみました。Microsoft Visual Codeというエディタがオープンソースになったことだし、もう少し、使ってみようと思います。 手順 gitとnode.js(npm)が入っている環境ならば、以下のコマンドで実行できます。 $ git cl…

iOS: UINavigationControllerを使ってみた

概要 swiftでUINavigationControllerを使ったサンプルがなかなか見つからなかったので、Objective-Cのサンプルを参考にしました。記事は少し古いですが、ほぼ変更なしに作成できました。感謝です。 手順 以下の手順でUINavigationBarを追加するとViewControl…

swift言語:In-Out parameters

概要 関数の引数は値コピーのため、値の変更は関数内でのみ反映されます。 もし、引数の値を変更したい場合には、引数の変数宣言の前に、inoutキーワードを追加する必要があります。 参考渡しになり関数から戻っても値の変更が保持されます。 // inoutパラメ…

visual codeをgo言語エディタとして使ってみました

概要 Microsoft Visual Codeがベータ版になり、ソースコードも公開されました。機能拡張(extension)もサポートされ、その中にgo言語のextensionが含まれていたので使って見ました。 Microsoft Visual Codeは、さくさく動作するのでしばらく使って見ようと思…

iOS:UITableViewセル内の詳細情報を別画面で表示

概要 TableViewで表示している情報の詳細を別画面で表示する時に使えます。 関連情報 [Swift] UITableView セルの選択

swiftでTextViewの行間を変更する

概要 TextViewの行間は、StoryBoardでは変更できないようです。 TextView.attributedTextにstyleを追加します。 けっこう面倒ですね。 @IBOutlet weak var textView: UITextView! override func viewDidLoad() { super.viewDidLoad() let style = NSMutableP…

Swift言語: 配列・辞書

概要 Swift 2.0の配列・辞書まとめ 配列 初期化 型付き変数を宣言するパターンと、代入する値に型を宣言する方法がある。 // 代入する値に型を宣言 // 暗黙のデータ型宣言 var todos = ["ジョギングをする", "掃除をする", "予習をする"] var array2 = [Stri…

Javaの参照について

概要 Java - もう参照渡しとは言わせない - Qiitaの指摘どおり、恥ずかしながら、C++の「参照渡し」とごっちゃになっていました。 C++言語の場合 関数に引数を渡す場合、値渡しと参照渡しがあります。 int arg = 1; methodA(arg); // argの値は、1 methodB(&…

Swift言語:制御構文(繰り返し)

制御構文(繰り返し)です。 for-in for while repeat-while 注) Swiftのバージョンは、2.0です。 for-in 制御構文(繰り返し)は、forを使って以下のように記述します。 for 変数名 in 開始値...終了値 { 処理 } 例) for i in 1...5 { print(i) } // 出力 1 2 3…

Github Pagesで静的ページ作成

概要 ブログ(日付付きの記事)ではなく(wikipedia的な)静的なページを作成したいと考えています。 YukiWikiでも良かったのですが、折角なのでGithub Pagesを使って見ることにしました。 HubPressという静的ジェネレータが面白そうなので試してみました。管理…

Spring Bootを使ってみた

概要 Seasarプロジェクトのサポートが来年(2016年)に終了することになったため、次期JavaベースFrameworkについて調査しています。 @ITの記事によると、以下の3つが候補のようです。このうちの、Springフレームワークについて、調べてみました。 Java EE(E…

HTML figure要素で画像一覧

概要 タイトル付きの写真を横並び表示しようとして見つけたHTML5 figureタグ。もともとは、論文などの図(表)を表現する要素だと思います。figure要素内に、img要素とfigurecaption要素を含むことができます。cssファイルを使えば横並びにするのも簡単です。 …

postgresqlでスリープ処理

概要 CentOS 6.6上のpostgresバージョンは9.4で確認しました。 postgresでは関数pg_sleepを使ってsleep処理を実行することができます。 test=# select CURRENT_TIMESTAMP; select pg_sleep(10); select CURRENT_TIMESTAMP; now ----------------------------…

Dockerファイルの作成について

概要 WEB+DB No.86のDocker特集「ビルド環境の構築とDockerイメージのビルド」のDockerファイルの作成についてまとめてみました。AUFSファイルシステム、Dockerファイル(Layer, Image)について知ることがDockerファイルの作成方法を知解するのに役立つと思い…

MacOS X上にDocker環境を構築する(Vagrant + Centos7編)

概要 MacOS Xに仮想マシン(centos7)をインストールし、その上でDockerイメージを実行する。centos7は、それ自身がdockerコンテナなので、コンテナ管理ツール(Docker Tool)などは不要。 Centos7をインストール $ vagrant box add centos7 https://github.com/…

MacOS X上にDocker環境を構築する(Docker Toolbox編)

概要 Dockerエキスパート養成読本の第2章「Dockerfileの基礎知識」を参考にして、Docker Imageの作成をしました。 以下の手順で作成から削除までを行います。 Dockerfileを作成します Dockerイメージを作成します 実行します コンテナを削除します イメージ…

dockerをインストールした

概要 MacOS X 10.10.5 YosemiteにDockerの実行環境をインストールしました。 VirtualBoxのバージョンは、5.0.4 r102546。 Docker Toolboxインストール boot2dockerが非奨励になり、docker-machineを使うようになっています。 Docker Toolboxをインストールし…

Webページの画面キャプチャ比較

概要 Seleniumなどのツールを使ってWebページの自動試験が行われることが多くなってきました。試験のエビデンスとして画面キャプチャをとることがあると思います。文字列ベースで行うことができるHTMLソースの比較は自動化できますが、ブラウザの表示差異を…

elixir/phonixを動かしてみた

概要 仮想環境(Centos6.6)に Elixir/Phoenixを実行してみるを参考にしてElixir/Phoenixを動かしてみました。 erlang nodejsは、epelレポジトリからインストールしました。 $ sudo yum install epel-release $ sudo yum install nodejs npm --enablerepo=epel…

go1.5でテスト作成

概要 go言語でのテスト方法を調べるために、Goによるテスト例を参考にして、テストを作成しました。 作成するファイルは、テストコード(gotest_test.go)と被テストコード(gotest.go)です。パッケージ名はgotestです。作成する場所(ディレクトリ)はどこでも…

golang1.5でMySQLを使ってみた

golang 1.5でMySQLを使ってみました。ActiveRecordみたいなORマッパー経由でアクセスするのが良いのだろうか? 使い方 他のスクリプト言語と大体同じような使い方。DB依存しないSQLを使う範囲内であれば、ドライバを入れ替えるだけでデータベースを切り替え…

MySQLでrootパスワードを再設定した

久しぶりにMySQLを使おうと思ったら、rootのパスワードを忘れていたので再設定した。 手順 MySQLを停止する パスワードを再設定する MySQLを起動する MySQLを停止する # service mysql stop パスワードを再設定する MySQLをsafeモードで起動する。 # mysqld_…

ターミナル出力をログに残す

概要 ターミナル出力をブログに書く場合コピペしていましたが、操作が多いと面倒なのでログ出力するようにしました。 ログ出力する方法はいくつかあるようですが、過去に使ったことがあるscreenを使うことにしました。 環境 Mac OS X yosemite(10.10.5) 設定…

ターミナル操作をgit画像化(MacOSX)

概要 端末操作がgif画像になっているのを見かけることが多くなったので、作成できる環境を構築しました。 インストール ttyrecを使ってターミナルの操作を録画し、ttygifでアニメーションgifに変換します。ttygifはgo言語で作られたツールなのでgoのインスト…

FirebaseでEmail/Password認証(Android編)

概要 Androidアプリを使ってFirebaseのEmail/Password認証を試してみました。 Androidアプリは、Android Studioを使って作成しました。 Firebaseアプリを作成する Firebase用Androidアプリを作成する データを書き込む Firebaseアプリを作成する Firebase管…

Android Fragment再入門

以前、Androidの開発を行った時は、2.x系がメインだったため、Fragmentについてあまり調べていませんでした。Androidアプリを開発するにあたり、使い方を調べ直しました。 Activity Androidアプリは少なくとも一つのActivity(Main Activity)を持ちます。Main…

Firebase概要

概要 Firebaseは、昨年10月にGoogleが買収したモバイルBaaSで、リアルタイム通知機能を持つオブジェクトデータベース(データ構造はJSON形式)です。 特長 リアルタイムデータベース 認証 ホスティング リアルタイムデータベース 自動スケール セキュア 2048…

Google Compute EngineのTODOアプリチュートリアルを試してみました

概要 Google Developers ConsoleでCompute Engineのクイックスタート「MongoDBを使用したTodoアプリ構築チュートリアル」を試してみました。 かなりな部分をブラウザからの操作で実現できるため、非サーバサイドエンジニアの方がクラウドサービスの勉強をす…

RubyMineでRailsデバッグ環境構築

概要 RubyMineでRailsデバッグ環境を構築する手順です。 【Windows7】VirtualBox + Vagrant + Ruby + Rails4 開発環境の構築【初心者必見】 - Qiitaの記事を参考にしています。 Railsの環境構築 RubyMineによるRailsデバッグ環境構築 Railsの環境構築 以下…

仮想環境にshirasagiインストール

概要 「シラサギ」は、Ruby、Ruby on Rails、MongoDBで動作する中・大規模サイト向けCMSです。 自治体向けサイトでは「アクセシビリティ」が要件として含まれていることが多いです。shirasagiは、ふりがなをつける、音声出力する機能を簡単に実装することが…

初めてのraspberry

raspberry Pi 2 Model Bの性能が大分上がったので遅まきながら使ってみることにしました。CPU: Quad Core, メモリ: 1GB。このスペックで約5,000円というのは本当に素晴らしい。 一応、使えるようになったが、次に何をしようかなと思案中。電子工作は得意では…

Google Translate API入門 概要編

概要 Google Traslate APIを使うと、テキストの翻訳と言語検知ができます。 Translate APIは有料のサービスのため、サービスを使用開始する前に支払い情報を入力する必要あります。 Google Translate API はデフォルトで 1 日 2,000,000 文字に制限されてい…

go1.5でGOMAXPROCS

go1.5では、GOMAXPROCSの値(デフォルト)がCPU数に設定されるようになります。従来は1。 以下のコードで調べてみました。 $ cat maxproc.go package main import ( "fmt" "runtime" ) func main() { fmt.Printf("cpu: %d\n", runtime.NumCPU()) fmt.Printf("G…

go1.5でtracing

前回作成したテストを使ってtracingしてみた。パフォーマンスチューニングとかの分析時に役立ちそう。 データの可視化にHTML/ブラウザ使うのは(よくある方法だけど)うまい方法だなぁと思う。 $ cd gotest $ go test -trace=trace.out . ok _/パス.../gotest …

go 1.5でgomobile(android)

GoだけでAndroidアプリを作る その1 〜インストール編〜 : KLabGames Tech Blogに刺激を受けてgomobileのサンプルandroidアプリを動かしてみました。 android端末上で実際に動くところを見ると楽しいです。 go 1.5インストール githubからソースを取得してビ…

golang1.5について

go/doc/go1.5.htmlとThe State of Goの内容をベースにgo1.5の変更点をまとめた。 調査が足らない項目(Execution Tracing)は後日調査しよう。 大きな変更点 No more C 並列実行GC GOMAXPROCSのデフォルト値変更 internal packagesサポート "vendoring" extern…

go1.5のbuildmodeについて

概要 前回、go1.5のshared library機能を使ってみました。今回は、他のビルドモードについても調べてみました。 Mac OS X Yosemite(10.10.4)上で実行しています。goはgithubのソースをビルドしています。 $ go version go version devel +a7e81c3 Tue Jul 28…

go1.5のshared library機能を使ってみた

概要 go 1.5からshared library作成用ビルドモードが追加された。 shared libraryを作成する方法と、アーカイブを作成する方法がある。 Golang で Shared Library を出力する。 - Qiita 上記リンクのサンプルコード(libgofib.go)を使ってshared library、ア…