まーぽんって誰がつけたの?

iOS→Scala→インフラなおじさん技術メモ

2014-01-01から1年間の記事一覧

Play Framework 2.3 For Java ことはじめ #4 データベース接続(EBean)編

Play Framework 2.3 For Java 入門記事一覧 第4回は、JDBCではなく、Play標準装備のORMであるEBeanを使ってデータベース接続します。 EBeanとは、JavaのオープンソースのORMで主にPlay Frameworkで使われてるみたいです。 Ebean is an open source (LGPL lic…

Play Framework 2.3 For Java ことはじめ #3 データベース接続(JDBC)編

Play Framework 2.3 For Java 入門記事一覧 今回は第3回です。 Webアプリケーションといえばやっぱりデータベースはなくてはならない存在です。とりあえずデータベースに接続できなきゃ始まらない。 ってことで、やってみます。まずは、基本を理解したいので…

Play Framework 2.3 For Java ことはじめ #2 テンプレートエンジン編

Play Framework 2.3 For Java 入門記事一覧 第2回はPlayで最初にプロジェクト内のファイルを見て何が起きてるか一番意味が分からなかったviewのテンプレートエンジンについてです。 ルーターの仕組みとかMVCの仕組みとかはRailsとかCakePHPとかと同じような…

Play Framework 2.3 For Java ことはじめ #1 開発環境作成編

Play Framework 2.3 For Java 入門記事一覧 要約 簡単にまとめるとJDKとactivatorがあればPlay Frameworkは起動する。activatorがScala、sbt、ivy2とか必要なものは落としてきてくれるから。 IDEは色々詰まったScala IDE for eclipseというのがあって、プロ…

Play Frameworkを使ってみて知ったScalaの正体

Scalaは使った事もないけどいいものなんだろうという雰囲気は感じていた。 Javaを極めたわけでもないのに、みんながScalaがナウいというとScalaにしなきゃいけないんじゃないかと思ってしまうタイプです。 よく分かんないけどScala使ったほうがいいんでしょ…

CentOS6でMySQL5.1を起動するだけのDockerfile

最低限動くだけのすごく雑なやつ。 それでも、Docker初心者脳にとっては、最後の、 service mysqld startとかじゃないところがミソ。最後のコマンドがデーモンで起動だとその時点でDockerのコンテナが終了しちゃいます。 FROM centos:latest RUN groupadd -r…

開発環境作るのにVagrantを使ったら非常にコレダ感になった話

Dockerでvsftpdだけを動かす開発環境作ってみたらなんか違うとなった話の続編です。 開発環境のFTPサーバーをboot2dockerでコンテナとして作ろうとしたらなんかコレジャナイ感じになった - まーぽんって誰がつけたの? ※ Vagrantで立てた仮想サーバーにファ…

開発環境のFTPサーバーをboot2dockerでコンテナとして作ろうとしたらなんかコレジャナイ感じになった

Dockerがローカルの開発環境に使えるのかを検証してみようと思って、ただのFTPサーバーを作ってみました。 コンテナの考え方とboot2dockerのネットワークがよく分かってなかったので、苦労しました。ただ、がんばって環境ができたはいいけど、なんか、全然便…

Mac OS Xのboot2dockerでproxyを設定する方法

起動スクリプトを見てみると、/var/lib/boot2docker/profileに書けばよさそう。 boot2docker/rootfs/rootfs/usr/local/etc/init.d/docker at master · boot2docker/boot2docker · GitHub #import settings from profile (e.g. HTTP_PROXY, HTTPS_PROXY) test…

dockerを勉強するために色々いじってみたときの作業ログ

インストールにはEPELがいる http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86_64/repoview/epel-release.html インストール&起動。デーモンなのか # yum -y install docker-io # service docker start Starting cgconfig service: [ OK ] Starting dock…

「docker とは」 dockerがよく分からなかったので使ってみた

「docker とは」とかで調べれば色々出てくるからそれ読んで分かった気になっちゃうんだけど、 やっぱり使ってみないと分からないなーということでインストールして、色々いじってるうちに曖昧だったところが理解できた。 開発合宿の発表用の資料にちょうどい…

Mac OSX 10.9 Mavericksでマウスジェスチャのページ間スワイプがおかしい

ChromeとかSafariでブラウザバックしたりするあれです。 PC起動時はいい感じなんだけど、ちょっと時間がたつと突然きかなくなったりする。なんか、マウスの電源ON、OFFでいけるぜとかあったけど、ダメでその度再起動とかしてたけど、やっと見つかりました。 …

swiftのvarとletってどっち使えばいいの?

varは変数で、letは定数ってことだと思ってるけど、 じゃあ、letで宣言した変数のプロパティを変更するのはOKなの? という疑問があったので、調べた。 letで宣言したやつは、インスタンスのプロパティは変更してもOK。 letで宣言したやつに、再代入するのが…

NSDateを例にSwiftの初期化を理解してみる

Objective-Cならこう書くよね。 // クラスメソッド NSDate *date1 = [NSDate date]; // インスタンスメソッド NSDate *date2 = [[NSDate alloc] init]; // objcではこれはあんまり使わないけど じゃあSwiftは? var date1 = NSDate.date() var date2 = NSDat…

swiftのdesignated initializerとconvenience initializer

NSDateのreference見てると、こういうところが出てくる。 extension NSDate { class func distantFuture() -> AnyObject! /* NSDate * */ class func distantPast() -> AnyObject! /* NSDate * */ init() /* designated initializer */ init(timeIntervalSin…

開発合宿の題材としてISUCON3を使ってみる

会社の同僚たちで開発合宿(というかまぁ普段業務であんまりプログラミングできないやつもいるし、温泉でプログラミングしようぜ!)をやってるんだけど、その題材を何にしようかなという話。 スキルもバラバラだし、新人や普段プログラミング業務ができない…

iBeaconのエントリポイント

1. Beaconに関するCLLocationManagerを作成する // 以下のメソッドの内容をinit系の処理で呼び出す - (void)initLocaitionService { // CLBeaconRegionを作成 // このとき、ProximityUUIDは、beacon製品で提供されたUUIDを使用する。 // identifierについて…

Objective-Cでレビューしたときの指摘事項メモ

プロパティにアクセスするときに、_hogeなのか、self.hogeなのか統一した方がよくて、readonlyのプロパティだとか、setter、getterがよく分かってないなら基本的にself.hogeでアクセスする。 やたらとNSLogの書き残しが多いから、ちゃんと自分が見たいログが…

TableViewのコードをクリーンにまとめる

Clean table view code - Lighter View Controllers - objc.io issue #1 の訳です。 TableViewはiOSアプリにおいて色々なことができるパーツです。 それゆえ、直接的、あるいは、間接的なテーブルビューのタスクに関するコードが多くなってしまいます。例え…

ViewCotrollerを軽くする

objc.io何がいいかと言うと、数日間APIをいじくり回してやっとわかる使い方のコツとか内部的な動きがサラっと書いてたり、実装のアプローチを複数紹介してたり、実際にアプリにいかすとこにトコトンフォーカスしてて、なんかスゲー編集力を感じる。— Taku Ok…

iOS7のUITableViewでセルの下のボーダーが右側に少しずれる

セルの左側20pxぐらいぶんだけ、右側にずれちゃうんだけど、Storyboardのseparator Insetで解決しました。 直し方は、stackoverflowに書いてありました。 uitableviewcell - Is there a way to make UITableView cells in iOS 7 not have a line break in th…

iOSでアプリケーションのディレクトリ名が変わってしまう

フルパス名をキーに利用していたら・・・ ダウンロードした画像をキャッシュするクラスの設計と実装について - 24/7 twenty-four seven のエッセンスを参考にしながら、画像をキャッシュするアプリを作っていてはまったのでメモ。 画像のフルパス名のハッシ…

UITableViewでアニメーション付きで行を削除しつつ表示を更新するやり方

1行ごとに色を変えてたり、セルに行番号とか表示してるとdeleteRowsAtIndexPaths:だけでは、表示が更新されないことに気づきreloadData呼んだ。 でも、reloadData呼ぶと削除アニメーションが消えちゃうのであれーどうやるのかなーと思って調べたけど、意外と…

Objective-CでAOP (アスペクト指向) ができるライブラリ

※ 今回は試しにQiitaにも投稿してみました。 Aspects Objective-Cでインターセプター入れて横断的に処理入れてみたいなことってしたいなと思う場面はあったけど、共通処理を行うクラスを使ってそれを継承するみたいなやり方してた。共通の処理ってどんなもの…

特定のレポジトリのローカル環境だけgitignoreする

Git

プロジェクトごとの環境ファイルなんかで、自分のローカル環境のみの設定が入っちゃう場合に、ローカル環境だけで.gitignoreしたくなるときがある。 あとは、社内ではgit-svnしか使えないような環境で、gitignoreをコミットできない肩身の狭い人にも。。 ロ…

削除してしまったはてなブログの記事をMac OS XのChromeのキャッシュからhtmlとして復元する方法

勉強会に行ったときPCを忘れてしまったので、iPhoneのはてなブログアプリで下書き書いてみようと思ってやってみました。 家に帰って、PCで引き続き編集してブログに公開。iPhoneアプリではkillしても更新されず下書きが残ったままだから、えいやっとその下書…

iphone_dev_jp 東京 feat. Ben Zotto にいってきた #idevjp

iphone_dev_jp 東京 feat. Ben Zotto (Penultimate開発者) - connpass に行ってきました。 英語の発表だったけど、同時通訳の人がうまくて結構理解できました。 (まぁ、こんな画像最適化するようなアプリ作ることはないとは思うけどw) 画像とは関係ない質…

iOS Simulatorをコマンドライン (terminal) から終了する

Jenkinsで自動テストしてると、たまにiOS Simulatorがなんか固まってしまって、 次のビルドがこけてしまうときがある。 なので、ビルド開始時に起動しているiOS Simulatorを終了させたかった。次のコマンドでOK killall "iPhone Simulator"

NSDecimalNumberで整数なのか小数なのかチェックする

色々やり方はあるかもしれないけど、これでいいか。 整数は小数点をもたないので切り上げても、切り捨てても同じ値になるのを利用。 - (BOOL)isInteger:(NSDecimalNumber *)num { // 少数第1位を切り捨て NSDecimalNumber *floorNum = [num decimalNumberByR…

XCTestのtestメソッド名に日本語をつけてはダメ

XCTestでtestがfailedしているのに、XCodeはTest Succeedと元気に通知してくるので、 なんじゃらほいと思ってたら、test名に日本語を使っていたのがダメな原因でした。 テスト名が半角英語の場合 - (void)testFail { XCTFail(@"失敗"); } このように、ちゃん…