swift-layoutのSwift2.0対応

githubで公開中のswift-layoutをSwift 2.0ようにUpdateしました。https://github.com/grachro/swift-layoutswift-layoutは、SwiftでのAuto Layoutコーディングを助けるためのフレームワークです。

iPhoneアプリのサクサク感が出ない件について

先週は、製作中のアプリが画面遷移が遅かったり、操作がひっかかかる状態でしたが、今週3日ほどかけて幾つか修正をおこないました。先週の仮説から、画面遷移・サーバ通信・画面表示といった行程で分けて一つ一つ原因を見ていったのですが、ブラウザ上のWeb…

iPhoneアプリとWebサイトの違い

稼働中のWebサービスをiPhoneアプリ化していて、苦戦してることなど。話の前提としている移植元のWebサービスは、ストリーム放送とかフラッシュサイトではない普通のHTMLのECサイトです。苦戦しているのはサーバアクセス中にアプリが固まったり、多少キャッ…

Sqliteで既に存在するかもしれないprimary keyを持つ複数valesを一括insert

久しぶりにSwift以外の話題を。Sqlite3で大量データを一括でinsert,updateしてみます。 以下全て、ターミナルでsqlite3 [tablename]コマンドでdbに入ってからの作業。 テーブル構成 create table tblA (id text,message text,flg boolean,primary key (id));…

Auto LayouでUIScrollViewにいれたUILabelを自動改行させる

Auto Layoutを使用して、Windowいっぱいに広げたUIScrollViewに自動改行するUILabelをいれてもうまく改行されませんでした。解決方法は簡単で、Labelのレイアウト指定の仕方をScrollViewのTop,Left,Right,Bottomから、Top,Left,Width,Bottomに変えればいいだ…

AutoLayoutでUITableViewCellに異なる高さを設定する

先週の勉強会#swiftwozに来てくださった方ありがとうございました。自分のパートは準備不足ですみませんでした。何人かの方にGithubのswift-layoutを使っていただき、重ね重ねありがとうございます。 今日はUITableViewのcellでAuto Layoutを使ってみました…

SwiftでAuto Layout設定した直後に一部を角丸表示

Auto Layout後に一部を角丸表示 UIViewで一部を角丸にするにはUIBezierPathとCAShapeLayerでmaskを使用するとできますが、Auto Layout設定後にこの方をそのまま使うと角丸表示されません。例によって、view.layoutIfNeeded()を読んでやる必要があるようです…

SwiftでUISegmentedControlのフォントと文字色を設定する方法

UISegmentedControlでフォントを設定するにはsetTitleTextAttributes。 文字色は、tintColor。 背景はbackgroundColorで良いが角丸の外まで色がつくのでclipsToBoundsを指定する必要あり。 let segmentedControl = UISegmentedControl(items: ["aaa","bbb","…

SwiftでAuto Layoutした時の座標の取り方

SwiftでAuto Layoutを設定した場合、その直後ではframeやboundsプロパティから正しい座標が取得できません。例えば、ViewControllerにこんな感じでUIViewを作ると、4辺が全て0のRectが返されます。 override func viewDidLoad() { super.viewDidLoad() let v…

SwiftでAuto Layout v0.2

先週作ったswift-layoutの機能拡張と修正をしました。https://github.com/grachro/swift-layout swift-layoutの使用例 //UIViewControllerでの記述例 //UILabelを画面中央に配置 let lblA = UILabel() Layout.regist(lblA, superview: self.view) .horizonta…

SwiftでAutoLayoutを楽に書くには

「JavaプログラマがXcodeでiPhoneアプリを作ってみる」の9週目です。社内開発でSwiftでアプリを作っていて、デザイナーチームからいい感じのレイアウトが渡されてくるようになりました。今度出るはずのワイドなiPhoneを見据えて密かにStoryboardでAutolayout…

Swift開発用簡易ランチャ

「JavaプログラマがXcodeでiPhoneアプリを作ってみる」の8週目です。Swiftの開発でビジネスロジック寄りのコードの動作をさっとしたい場合があります。デバッグ用のViewをストーリーボードに作って毎回新しいボタンを付けていたのですが、画面が手狭になった…

JavaプログラマがXcodeでiPhoneアプリを作ってみる.7週目

無限リストを作成する練習をしてみました。 具体的なコードは最後に載せています。実際に動作するプロジェクトもGitHubにあげました。動作 最初に10データ表示 リストの最後が表示されると、最後尾に自動で5行追加 リストの最初で引っ張られると、先頭に自動…

JavaプログラマがXcodeでiPhoneアプリを作ってみる.6週目

せっかくなので関数型で書いてみる 何も考えずにSwiftを書いているといつものオブジェクト指向で書いてしまいます。せっかくなのでArrayクラスで関数型の書き方を試してみます。 Array.map() map()は配列の各要素に同じ処理を繰り返す場合に使用します。 メ…

JavaプログラマがXcodeでiPhoneアプリを作ってみる.5週目

今週は調査段階で解決できなかったトピックスがいろいろあります。 Xcode 6 beta 5にバージョンアップ 2週間単位でbeta版がバージョンアップしていき、その度に何かしらのSwiftの言語仕様が変更されていきます。今回は、コンストラクタでinitの前にrequired…

JavaプログラマがXcodeでiPhoneアプリを作ってみる.4週目

慣れないMacで、Xcode 6 betaとSwiftを使ってiPhoneアプリを作り出して4週間が立ちました。長らく安住の地だったEclipseを離れてiPhoneアプリを作り出した頃は違和感がすごくありましたが、今は騙し騙し動かせるようになってきています。Xcode6とSwiftに特化…

JavaプログラマがXcodeでiPhoneアプリを作ってみる.3週目

今週は、iPhoneのコーディングには直越関係しない、サーバサイドのJava開発環境をWindowsからMacに移動させる作業がメインでした。Windowsでは割と古いJBossを使っているのですが、MacのJava8 JDK上で同じJBossのバイナリを走らせたら、あっさりなんの障害も…

JavaプログラマがXcodeでiPhoneアプリを作ってみる.2週目

Eclipse使いのJavaプロラマが、Xcode+SwiftでiPhoneアプリを作ってみるの2週目です。(1週目は、http://d.hatena.ne.jp/grachro/20140713)。アプリ内容はまだ書けません。 Xcode 6 beta3 エディタの動作が重くなってきた。一文字打つごとに数分固まる。タイ…

JavaプログラマがXcodeでiPhoneアプリを作ってみる.1週目

普段はJava+Eclipseでプログラムをしているのですが、いろいろあってXcode 6 beta + Swiftを初めることになりました。学んだことを書いてみます。Xcode 5もObjective-Cもほぼ触ったことがありません。周りに経験者もいないので先生はGoogleです。間違ってい…

WikipediaのバックアップXMLをMySQLに入れてみる

前回まで 日本版Wikipediaで配布されているXMLを取得して、自宅PCのmediawikiに全記事を入れようとした。 配布されているphp版プログラムだと遅すぎ、Java版だと早いが途中で落ちてソースも見つけられなかったのであきらめた。ネタ元サイト:http://dumps.wi…

UbuntuでMediaWikiをインストールしてWikipedaの記事を取り込んでみる

0.最初に Wikipediaの下記ページを元に作業を進めていきます。Wikipedia:データベースダウンロード 1.Apache,MySQL,PHPをインストール sudo apt-get install apache2 sudo apt-get install mysql-server sudo apt-get install php5 sudo apt-get install…

NoSQL本読み比べ

最近NoSQL本4冊を読む機会があったので、各本の紹介をしてみます。 前知識 NoSQLとは、リレーショナルデータベース(RDB)以外のすべてをさします。そのため、NoSQLに含まれるデータベースには様々な種類があり、RDBではないとう事を除いて、すべてのデータ…

JUNG 2.0.1のサンプル

概要 JUNG 2.0.1のサンプル動かしてみたのでメモ 公式サイト http://jung.sourceforge.net/ 2010年のv2.0.1が最後のバージョンっぽいのでプロジェクトはもう不活性なのかも。 サンプルの入手方法 公式サイトからソースをダウンロードする http://sourceforge…

EnvjsでjQuery

「サーバサイドJavaScriptとjQueryでスクレイピング」http://sakuratan.biz/archives/2972 を参考に、Envjs環境を作ろうとしたのですが、手元の環境ではなかなか動かなかったのでメモです。手元の環境はMacのLionです。EnvjsはJavaScriptで書かれたブラウザ…

ExcelからSQLのINSERT文を作成するマクロ

エクセルのデータからRDB用のSQLを作成するマクロです。シート名をテーブル名、1行目をテーブルのフィールド名として処理します。サンプル 作成されるSQL INSERT INTO bookmark (ID,URL,TITLE) values (0,'http://www.google.co.jp/','GOOGLE'); INSERT INTO…

MySQLで任意のデータベースの全テーブルのレコード数を一覧表示

MySQLで任意のデータベース内の全テーブルのレコード数を一覧表示させるシェルプログラムです。「show tables」コマンドで全テーブル名を取得して、各テーブルをSelect count(*)した結果をUNIONで繋げてます。シェル MYSQL_USR=xxx MYSQL_PASS=xxx MYSQL_DB=…

データ比較用エクセルマクロ(バージョン2)

概要 改修前の調査やテスト時にDBの情報がどう変化したのか見たい事があります。処理の前と後でテーブルのデータをExcelに貼り付けて変化したセルを探したりするのですが、データ数が多いと目視では見つけられなくなります。式で「=[セルA]=[セルB]」と書…

SvgColorName

JavaのColorクラスの定数値だとバリエーションが少ないので、W3CのCSS(?)の文章を元に色の定義を作ってみた。 import java.awt.Color; /** * http://www.w3.org/TR/css3-color/ */ public class SvgColorName { public final static Color ALICEBLUE = new C…

Seasarプロジェクト見学(その2)

昨日の続き サイトのSAStrutsの情報だけだと環境が作れなかったので、「Seasar2入門」(2009/2/23初版)を買ってきました。 P176-177に、こんな内容が書かれています。 ・Teedaを作ったが、JSFが思ったより受け入れられなかった。 ・KuinaDaoを作ったが、JPA…

Seasarプロジェクト見学(その1 SAStruts)

概要 未だ未体験のSeasarプロジェクトを見学してみます。 まずは、DIがどのような作りか体験したっかのですが、 プレゼンテーションだけで12プロジェクトもあってどれを試せばいいのかいきなり迷います。 ググッてヒット件数を比較。 Cubby の検索結果 約 1,…

JS Button Editor

JS Button Editor HTML5になってCanvasで絵が描けるようになったので、試しにボタン画像のエディタを試作してみました。 JS Button Editor Windows+FireFox3.5 or Safari or Chromeで動きます。 ちなみに、ボタン画像は右クリックで手動で保存してください。…

Wicketの認証機能

概要 前回、Wicketに認証機能を追加しようとしてSpring Securityを導入してみたのですが、そもそも方向性が間違っていました。Wicketには、wicket-auth-rolesという認証機能のサブプロジェクトがあります。 情報源 Wicketの公式サイトでwicket-auth-rolesの…

iBATIS3

概要 iBatis3を導入する目的で評価用のサンプルコードを書いてみました。 参考にしたサイト 記載は書かれた日時が新しい順です。 Oboe吹きプログラマの黙示録 「iBATIS3 と Google guice」(2010/04/10の記事) http://blogari.zaq.ne.jp/oboe2uran/ SqlSessio…

豆知識 Pleiades(Eclipse)のXMLエディタの属性値が斜体で読みにくい件

[ウィンドウ]メニュー > 設定 を選択 [設定]ダイアログ > XML > XML ファイル > 構文の色の指定 を選択 構文要素:属性値の斜体のチェックを外す

Eclipse3.5 + Maven(m2eclipse) + WTP

概要 EclipseでMavenプラグインのm2eclipseを使用した場合、WTPとの連携が悪いのか、mavenプロジェクトを作ってもサーバに追加できるプロジェクトとしては認識されていませんでした。今までは「動的Webプロジェクト」をMavenのディレクトリ構成にあわせて作…

Spring Security 3.0.x

概要 Wicketで作っているアプリにSpring Securityのログイン機能を追加する方法を調査中しています。WicketがURLを自動生成するのに対し、Spring SecurityはURLのパターンでアクセス制御をするので、このアンマッチがまだうまく解決できていませんが、Spring…

JavaからZipファイルの作成&解凍[Java]

JavaでZipファイルの作成というと、クラスの使い方が複雑だとか、日本語ファイルが化けるとかいろいろ面倒な印象でしたが、Apach Commonsのcompressを使うといいみたいです。簡単なコードを書いて、Windows環境で3階層ぐらいのディレクトリを圧縮、解凍して…

ActiveObjectsのCreate文生成機能

JavaのO/RマッパーにActiveObjectsというものがあります。RailsのActiveRecordライクな機能をJavaでも使おうという趣旨のライブラリです。Railsのことはよくわかりませんが、JavaのO/Rマッパーにしては、手軽に使えて便利です。インタフェースにgetter、sett…

WindowsXP + Ruby1.8.6 + Redmine

WindowsXPでRedmineをインストールしたときのメモ (いろいろ失敗しながらインストールしたので、どこか手順が間違っている可能性あり) Rubyのインストール rubyinstaller-1.8.6-p383-rc1.exe (rubyinstaller-1.9.1-p243-rc1.exeだと後々うまく行かない箇所…

Ubuntu9.10にEclipseをインストール

Windows7がインストールされているPCに、Ubuntu9.10を同居させ、Eclipseの環境構築をしたときの履歴です。 PCがインターネット接続されている必要があります。 Ubuntuのインストール 最初はWindows7を使って処理を行います。 Windows7を立ち上げて、Ubuntuの…

環境構築3「Servlet HelloWorld in Eclipse + Maven 編」

Java ServletのHello Worldプログラムを作ります。 Servletを使用するにはservlet.jarを入手してクラスパスに通す必要がありますが、 この作業はMavenで対処します。 servlet.jar追加 Eclipseのプロジェクトエクスプローラ上で、プロジェクト直下の「pom.xml…

環境構築2「動的Webプロジェクト in Eclipse + Maven 編」

2010/04/07追記 このページは2009/06/23に書かれた古い情報です。 更新版→http://d.hatena.ne.jp/grachro/20100407 目的:Eclipse上でTomcatを起動させ、新規作成したプロジェクトのファイルをブラウザ上で表示させる 以下、環境構築1「Eclipse + Mavenプラ…

環境構築1「Eclipse + Mavenプラグイン編」

2010/04/07追記 このページは2009/06/23に書かれた古い情報です。 更新版→http://d.hatena.ne.jp/grachro/20100407 概要 Eclipseで環境構築をしたとき記録です。 今回はEclipseをダウンロードしてMavenプラグインを導入するまで。 Javaのインストール サイト…