2018年9月30日日曜日

オンライン英単語勉強アプリEnglish World

https://itunes.apple.com/us/app/english-world/id1437732954?l=ja&ls=1&mt=8 オンラインで英単語の勉強ができるアプリを作って見ました。 他の人が登録した英単語を解いたり、自分で英単語を登録したりできるアプリです。

2015年10月17日土曜日

Swift2でjoinの方法が変わった

今までの書き方

let list = ["a", "b", "c", "d"]
let str  = join(",", list)

上記だと「Cannot invoke `join` with an argument list of type (String, [String])」 というエラーになる

以下のように変更する必要がある

let list = ["a", "b", "c", "d"]
list.joinWithSeparator(",")

なんで変更したんだAppleさん・・・

2015年9月23日水曜日

【Swift】指定された範囲内で乱数を生成する方法

指定した範囲内でランダムな値を生成するには、以下のような関数で実装できます。


func getRandomNumber(Min _Min : Float, Max _Max : Float)->Float {        
    return ( Float(arc4random_uniform(UINT32_MAX)) / Float(UINT32_MAX) ) * (_Max - _Min) + _Min
}

使用例 : - 0.1〜9.9までの範囲で乱数を生成


getRandomNumber(Min: -0.1, Max: 9.9)

2015年9月20日日曜日

【Swift】【Spritekit】 SKSpriteNodeを継承したクラスでinitを宣言する場合

SKSpriteNodeの子クラスでコンストラクタであるinitを普通にオーバーライドしようとしたら、こんなエラーメッセージが表示されてしまった。

「must call a designated initializer of the superclass SKSpriteNode」

init()は子クラスから呼べないみたいです。
対処方法として、init(texture, color, size)を呼ぶことにします


import UIKit
import SpriteKit

class Man: SKSpriteNode {
    

    init() {
        let texture = SKTexture(imageNamed: "man")
        super.init(texture: texture1, color: nil, size: texture.size())
    }
    
    required init(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

}
    
ちなみに、init(coder aDecoder: NSCoder)はrequired initとして指定されているので、こいつもオーバーライドしてあげないとエラーになります。
基本的に呼ばれることはないので、中身はxcodeで自動生成されたエラー処理が入っています。

2015年9月16日水曜日

【Swift】Expected identifier in function declaration

Swiftのコンパイルエラー「Expected identifier in function declaration」
init()にfuncをつけてしまうとエラーになるみたいです。

まだまだswiftに慣れないなー。

2015年4月25日土曜日

【Docker】フロントエンドの開発環境をDockerで構築してみた。

Javascript+PHPのwebアプリの開発環境のDockerfileを書いてみました。

OS                        : CentOS6
セッション           : Redis
言語                      : PHP、Node.js
サーバー               : Apache
パッケージ管理    : composer、bower

PHPは5.4系を使用。
Nodeはnodebrewで入れています。

とりあえずこれでフロントアプリを扱う必要最低限が整うので、ちょっとした検証をしたりする時に使い捨ての環境として使ったりしてます。

Dockerfileはこんな感じです。
https://github.com/fuku2014/docker-php-and-node/blob/master/Dockerfile


2015年4月20日月曜日

【VBAFormatter】ExcelVBAのインデント自動調整ツール

最近のIDEやエディタでは標準装備のフォーマット機能ですが、ExcelVBAのエディタには無いんですよねー。

素人が作ったマクロとかをよくメンテするんですが、インデントがちゃんとしてなくて読みにくいんですよね。
そんな時に、フォーマットを一括でできる機能が欲しいなと思ってアドインを作って見ました。

ロジックはシンプルで、CodeModuleaオブジェクトを使ってVBAコードを参照し、「If」「For」等があればインデントをつけて、「End If」「End For」等でインデントを戻すって感じでやってます。

アドインはgithubで公開してるんで、ソースも載せてあります。
インデントの他に、Asの位置や行末コメントを整形したりするオプションも用意してあります。

よかったらこちらからダウンロード、Cloneして使ってみてください

https://github.com/fuku2014/VBAFormatter