Rodhos Soft

備忘録を兼ねた技術的なメモです。Rofhos SoftではiOSアプリ開発を中心としてAndroid, Webサービス等の開発を承っております。まずはご相談下さい。

2017-09-01から1ヶ月間の記事一覧

Unicode block

Unicode block - Wikipedia Basic Latin UTF8では1バイトで表現される。 Basic Latin (Unicode block) - Wikipedia Latin-1 Supplement U+0080–U+00FF Halfwidth and fullwidth forms Halfwidth and fullwidth forms - Wikipedia U+FF00–FFEF U+FF01–FF5EはA…

UTF、Unicode

Unicode ユニコードスカラ値(非負。16進数で書く。prefixにU+) 例 U+143FC 基本多言語面(BMP)は4桁。補助多言語面は5,6桁使用。 ユニコードスカラ値のシーケンスが文字列。スカラの値のある場所が符号ポイント。符号ポイントのつらなりをブロックと呼ぶ。 …

性能

Mac

MacBookPro 13inc Mid 2012 2.5GHz Intel Core i5 8GBメモリ 1600MHz DDRそれなりによく動く。

Hello World 4回目

アプリ作る。cakephp 3.5 composer create-project --prefer-dist cakephp/app MyApp2017 中に入る cd MyApp2017/ sqlite3のdb作成 sqlite3 MyApp2017.db sqlite> .tables sqlite> .q コンフィグでデータベースをsqlite3に。atomは好きなエディタで。 atom .…

型を消す

親クラスはジェネリクスをもたない。メソッドがジェネリクスになっている。 子クラスはジェネリクスになっている。書いてみた。実行時エラーになるのはいやだ。。 import Foundation class A { let b:B init<T>(_ v:T) { self.b = C(v) } /// 問題点 なんでも良</t>…

右辺値参照

cpp

参照とは 宣言と同時に値を入れる必要がある。 右辺値参照 値型をコピーせずに持っておくことができる。 ユニバーサル参照 テンプレートを使う際にそれが右辺値参照なのか参照なのかが展開されるかわからない。 そこで展開に応じてよしなに右辺値参照、参照…

メソッド交換

デバッグではまったのでメソッドの交換を試してみた。以下はそのコード。 extension CLLocationManager { func my_requestWhenInUseAuthorization() { print("requestWhenInUseAuthorization") } func my_requestAlwaysAuthorization() { print("requestAlwa…

framework作成

フレームワーク作成 1. CocoaTouch frameworkを作る。Objective-C, 名前はSampleと仮定。 2. クラスを作成。(MyServiceとする。) 3. 公開するヘッダーをProjectのTargetsのBuild PhasesのHeaderにHeadersのPublicに加える。 4. Sample.h(アンブレラヘッダー)…

lipo 複数アーキテクチャのライブラリをまとめる

iOSシミュレータ用と実機用の2つのスタティックライブラリを一つにまとめる。 lipo -output sample.a -create ./Debug-iphoneos/libSample.a ./Debug-iphonesimulator/libSample.a labs.torques.jp daybysay.hatenablog.com結合後、ファイルタイプを見る fi…

file

ファイルタイプを調べる。 file libSample.a libSample.a: current ar archive random library file include include: directory

RootViewController

WindowのRootViewControllerをすげ替えるとUIViewControllerを変えられるがWindowにくっつけていたViewも消える。。orz。以下実験コード import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do a…

class名を抜き出す

色々他のサイトを検索しつつやってみたができた感じがする。 #coding:utf-8 import os.path # ファイル操作 import shutil # 再帰的削除 import glob # ファイル一括 import re # 正規表現 # http://quzee.hatenablog.com/entry/2015/08/15/151210 # ファイ…

基本

パイプライン コマンド1|コマンド2 コマンドの標準出力がコマンドの標準入力になる。 コマンドリスト 左から コマンド1; コマンド2 前が成功(終了コード0)で後も実行 コマンド1 && コマンド2 前が成功以外(終了コード0以外)で後も実行 コマンド1 || コマンド…

chmod

実行権限等を与える。 chmod a+x hoge.sh aはすべて、xは実行権限、+は与える。1. x実行 r読み込み w書き込み 2. aはすべての人, oは所有者, gはグループ, oはその他ユーザLinuxコマンド集 - 【 chmod 】 ファイルやディレクトリのアクセス権を変更する:ITp…

2分木

2分木らしきものを作った。あっているかはさておき。 import Foundation class N { static var count:Int = 0 var identifier:Int = 0 var v:Int = 0 var small:N? = nil var big:N? = nil func add(_ n:N) { if self.v > n.v { if let small = self.small {…

自動テスト

エレメントがあるかを待つ。作りかけ。これが使えるかは謎。 func waitForElementAppear(element: XCUIElement, time:TimeInterval = 5, file: String = #file, line:UInt = #line) -> Bool { //let exp = XCTKVOExpectation(keyPath: "exsits", object: ele…

テスト環境の追加とprovisioning

テスト環境を後から追加しようとしてprovisioningでエラーになっていた。 Build SettingのProvisioning(Deprecated)をautomaticにし、generalタブでprovisioningをautomaticにチェックを入れると動いた。参考 qiita.com

importされたのかコマンドで実行されたのか

if __name__ == '__main__': で判断できる。

migration

テーブルを作る ./bin/cake bake migration CreateProducts name:string description:text created modified Migrations - 3.xマイグレーション実行 ./bin/cake migrations migrate これでproductsテーブルができた。 現在のスナップショット bin/cake bake …

bake

次のものがbakeできるようだ。 $ ./bin/cake bake - all - behavior - cell - component - controller - fixture - form - helper - mailer - middleware - migration - migration_diff - migration_snapshot - model - plugin - seed - shell - shell_helpe…

ローカルサーバ

./bin/cake server で立ち上がる。

icu4c

文字コード変換ライブラリ unicode brewでinstallできる。 site.icu-project.org文字コード変換ライブラリICUの紹介 - Goto_youthKの徒然日記

基本的メモ

php

php -a で対話モード phpinfo(); でphpの情報が見れる。php.iniの場所もわかる。もしくはコマンド実行 php -r "info();" でも良い。というか php -i で良い。 php -i | grep php.ini というか php --ini で良いようだ。今回はphp_intlのextensionを使うため…

ファイル操作

ファイル名変更に一時間以上費やしている.. 使い方を調べるためにラッパークラスを書いてみた。直接使えば良いのであまり意味はない。 #coding:utf-8 import os.path # ファイル操作 import shutil # 再帰的削除 import glob # ファイル一括 import re # …

find等

findしたものをフォルダにコピー find ./ -name "hoge*.swift" | xargs -I {} cp {} ./dest

正規表現

BSDのsedでiオプションで大文字小文字の区別なくヒットができなかったのでpythonを使ってみることにした。 import sys # use argv import re argvs = sys.argv # 引数リスト # argc = len(argvs) # 引数の個数 target = argvs[1] #print target result = re.…

拡張正規表現

sed

Eで使える。 グループ化が\(\)だったのが()ですむ。